diff --git a/autopackage/default.apspec b/autopackage/default.apspec index 020962a68..57bef1f61 100644 --- a/autopackage/default.apspec +++ b/autopackage/default.apspec @@ -9,7 +9,7 @@ Packager: Filippos Papadopoulos Summary: Gajim is a Jabber client written in Python. URL: http://www.gajim.org/ License: GNU General Public License, Version 2 -SoftwareVersion: 0.10 +SoftwareVersion: 0.11.1 AutopackageTarget: 1.0 PackageVersion: 1 @@ -28,13 +28,7 @@ File tranfers, Emoticons, URL grabber, Systray icon, GPG support, Multiple accou [BuildPrepare] -echo "-------==========$USER i am making the package...===============------" -export build_root="/tmp/build-root.$$" -echo "Build root is $build_root" -mkdir "$build_root" -make PREFIX=$build_root CC=apgcc CXX=apg++ || exit 1 -make install PREFIX=$build_root CC=apgcc CXX=apg++ || exit 1 - +prepareBuild [BuildUnprepare] @@ -44,24 +38,28 @@ unprepareBuild [Imports] echo '*' | import import < - - + + + - - - 12 - Gajim: Account Creation Wizard - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - False - False - True - False - False - GDK_WINDOW_TYPE_HINT_NORMAL - GDK_GRAVITY_NORTH_WEST - True - - - - - True - False - 6 - - - - True - False - False - GTK_POS_TOP - False - False - - - - True - False - 12 - - - - True - You need to have an account in order to connect + + 12 + Gajim: Account Creation Wizard + False + + + + True + 6 + + + True + False + False + + + True + 12 + + + True + 0 + You need to have an account in order to connect to the Jabber network. - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - True - 0 - 0.5 - GTK_SHADOW_NONE - - - - True - 0.5 - 0.5 - 1 - 1 - 5 - 0 - 12 - 0 - - - - 6 - True - False - 6 - - - - True - True - I already have an account I want to use - True - GTK_RELIEF_NORMAL - True - False - False - True - - - 0 - False - False - - - - - - True - True - I want to _register for a new account - True - GTK_RELIEF_NORMAL - True - False - False - True - use_existing_account_radiobutton - - - 0 - False - False - - - - - - - - - - True - <b>Please choose one of the options below:</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - label_item - - - - - 0 - False - False - - - - - False - True - - - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - 6 - True - False - 12 - - - - True - <b>Please fill in the data for your new account</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - True - 6 - 3 - False - 6 - 12 - - - - True - True - True - True - True - 0 - - True - * - False - - - - - 1 - 2 - 0 - 1 - - - - - - - True - _Server: - True - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - fill - - - - - - - True - False - True - True - - - - 1 - 2 - 1 - 2 - fill - fill - - - - - - True - Click to see features (like MSN, ICQ transports) of jabber servers - True - Servers Features - True - GTK_RELIEF_NORMAL - True - - - - 2 - 3 - 1 - 2 - fill - - - - - - - True - _Password: - True - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - pass1_entry - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 2 - 3 - fill - - - - - - - True - If checked, Gajim will remember the password for this account - True - Save pass_word - True - GTK_RELIEF_NORMAL - False - True - False - True - - - - 2 - 3 - 2 - 3 - fill - - - - - - - True - True - True - False - 0 - - True - * - True - - - 1 - 2 - 2 - 3 - - - - - - - True - _Username: - True - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - username_entry - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - fill - - - - - - - True - True - True - False - 0 - - True - * - True - - - 1 - 2 - 3 - 4 - - - - - - - True - _Retype Password: - True - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - pass2_entry - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 3 - 4 - fill - - - - - - - True - True - False - 0 - - - - 5 - True - 4 - 2 - False - 5 - 5 - - - - True - _Host: - True - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - proxyhost_entry - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - fill - - - - - - - True - _Port: - True - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - proxyport_entry - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - fill - - - - - - - True - _Username: - True - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - proxyuser_entry - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 2 - 3 - fill - - - - - - - True - Pass_word: - True - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - proxypass_entry - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 3 - 4 - fill - - - - - - - True - True - True - True - 0 - - True - * - False - - - 1 - 2 - 0 - 1 - - - - - - - True - True - True - True - 0 - 3128 - True - * - False - - - - 1 - 2 - 1 - 2 - - - - - - - True - True - True - True - 0 - - True - * - False - - - - 1 - 2 - 2 - 3 - - - - - - - True - True - True - False - 0 - - True - * - False - - - - 1 - 2 - 3 - 4 - - - - - - - - - True - _Use proxy - True - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - label_item - - - - - 0 - 3 - 5 - 6 - fill - - - - - - True - Your JID: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 4 - 5 - fill - - - - - - - True - True - - False - True - GTK_JUSTIFY_LEFT - False - True - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 1 - 3 - 4 - 5 - fill - - - - - - 0 - True - True - - - - - False - True - - - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - True - False - 0 - - - - True - <b>Account is being created</b> + + + False + False + + + + + True + 0 + GTK_SHADOW_NONE + + + True + 5 + 12 + + + True + 6 + 6 + + + True + True + I already have an account I want to use + True + True + + + False + False + + + + + True + True + I want to _register for a new account + True + True + use_existing_account_radiobutton + + + False + False + 1 + + + + + + + + + True + <b>Please choose one of the options below:</b> + True + + + label_item + + + + + False + False + 1 + + + + + False + + + + + True + + + tab + False + False + + + + + True + 6 + 12 + + + True + 0 + <b>Please fill in the data for your new account</b> + True + + + False + False + + + + + True + 4 + 3 + 12 + 6 + + + + + + + + + True + True + 0 + True + True + + + 1 + 3 + 3 + 4 + GTK_FILL + + + + + + True + 0 + Your JID: + + + 3 + 4 + GTK_FILL + + + + + + True + 0 + _Username: + True + username_entry + + + GTK_FILL + + + + + + True + True + False + * + True + + + 1 + 2 + 2 + 3 + + + + + + True + True + If checked, Gajim will remember the password for this account + Save pass_word + True + False + True + True + + + + 2 + 3 + 2 + 3 + GTK_FILL + + + + + + True + 0 + _Password: + True + password_entry + + + 2 + 3 + GTK_FILL + + + + + + True + + + + + + + + 1 + 2 + 1 + 2 + GTK_FILL + GTK_FILL + + + + + True + 0 + _Server: + True + + + 1 + 2 + GTK_FILL + + + + + + True + True + True + * + + + + + 1 + 2 + + + + + + 1 + + + + + 1 + False + + + + + True + + + tab + 1 + False + False + + + + + True + 6 + 12 + + + True + 0 + <b>Please select a server</b> + True + + + False + False + + + + + True + 6 + + + True + 0 + _Server: + True + + + False + False + + + + + True + + + + + + + 1 + + + + + True + True + Click to see features (like MSN, ICQ transports) of jabber servers + Servers Features + True + + + + False + False + 2 + + + + + False + False + 1 + + + + + True + True + + + True + 5 + 3 + 3 + 5 + 5 + + + True + False + 6 + + + True + 0 + _Hostname: + True + custom_host_entry + + + False + False + + + + + True + True + + + 1 + + + + + True + 0 + _Port: + True + custom_port_entry + + + False + False + 2 + + + + + True + True + 6 + 5222 + + + False + 3 + + + + + 3 + 2 + 3 + GTK_FILL + GTK_FILL + + + + + True + True + Use custom hostname/port + True + True + + + + 3 + 1 + 2 + + + + + + True + True + Manage... + True + + + + 2 + 3 + + + + + + + True + None + + + 1 + 2 + GTK_FILL + + + + + True + 0 + Prox_y: + True + + + GTK_FILL + + + + + + + + True + _Advanced + True + + + label_item + + + + + 2 + + + + + 2 + False + + + + + True + + + tab + 2 + False + False + + + + + True + + + + + + 3 + False + + + + + True + + + tab + 3 + False + False + + + + + True + + + True + <b>Connecting to server</b> Please wait... - False - True - GTK_JUSTIFY_CENTER - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - True - False - - - - - - True - GTK_PROGRESS_LEFT_TO_RIGHT - 0 - 0.10000000149 - PANGO_ELLIPSIZE_NONE - - - 0 - False - False - - - - - False - True - - - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - True - False - 0 - - - - True - False - 12 - - - - True - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - - False - True - GTK_JUSTIFY_LEFT - True - False - 0.10000000149 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - True - True - - - - - 0 - True - True - - - - - - True - True - Connect when I press Finish - True - GTK_RELIEF_NORMAL - True - True - False - True - - - 0 - False - False - - - - - - True - True - Set my profile when I connect - True - GTK_RELIEF_NORMAL - True - True - False - True - - - 0 - False - False - - - - - False - True - - - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - 0 - True - True - - - - - - True - GTK_BUTTONBOX_END - 12 - - - - True - True - True - gtk-cancel - True - GTK_RELIEF_NORMAL - True - - - - - - - True - False - True - True - gtk-go-back - True - GTK_RELIEF_NORMAL - True - - - - - - - True - True - True - True - gtk-go-forward - True - GTK_RELIEF_NORMAL - True - - - - - - - True - True - GTK_RELIEF_NORMAL - True - - - - - True - 0.5 - 0.5 - 0 - 0 - 0 - 0 - 0 - 0 - - - - True - False - 2 - - - - True - gtk-preferences - 4 - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - _Advanced - True - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - - - - - - True - True - GTK_RELIEF_NORMAL - True - - - - - True - 0.5 - 0.5 - 0 - 0 - 0 - 0 - 0 - 0 - - - - True - False - 2 - - - - True - gtk-apply - 4 - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - _Finish - True - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - - - - - 0 - False - True - - - - - - + True + GTK_JUSTIFY_CENTER + + + False + + + + + True + 0.10000000149 + + + False + False + 1 + + + + + 4 + False + + + + + True + + + tab + 4 + False + False + + + + + True + + + True + 12 + + + True + gtk-missing-image + + + False + False + + + + + True + 0.10000000149011612 + True + True + + + 1 + + + + + + + True + True + Connect when I press Finish + True + True + True + + + False + False + 1 + + + + + True + True + Set my profile when I connect + True + True + True + + + False + False + 2 + + + + + 5 + False + + + + + True + + + tab + 5 + False + False + + + + + + + True + 12 + GTK_BUTTONBOX_END + + + True + True + True + gtk-cancel + True + + + + + + True + False + True + True + gtk-go-back + True + + + + 1 + + + + + True + True + True + True + gtk-go-forward + True + + + + 2 + + + + + True + True + + + + True + 0 + 0 + + + True + 2 + + + True + gtk-preferences + + + False + False + + + + + True + _Advanced + True + + + False + False + 1 + + + + + + + + + 3 + + + + + True + True + + + + True + 0 + 0 + + + True + 2 + + + True + gtk-apply + + + False + False + + + + + True + _Finish + True + + + False + False + 1 + + + + + + + + + 4 + + + + + False + 1 + + + + + diff --git a/data/glade/account_modification_window.glade b/data/glade/account_modification_window.glade index 6ed71d58c..06898adcd 100644 --- a/data/glade/account_modification_window.glade +++ b/data/glade/account_modification_window.glade @@ -99,7 +99,7 @@ 6 True - 4 + 5 3 False 6 @@ -134,27 +134,6 @@ - - - True - True - True - True - 0 - - True - * - True - - - 1 - 3 - 0 - 1 - - - - True @@ -260,50 +239,6 @@ - - - True - 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) - True - True - True - 0 - Gajim - True - * - False - - - 1 - 2 - 2 - 3 - expand|shrink|fill - - - - - - - True - Click to change account's password - True - Chan_ge Password - True - GTK_RELIEF_NORMAL - True - - - - 2 - 3 - 2 - 3 - fill - - - - True @@ -379,6 +314,134 @@ + + + + True + True + False + 0 + + + + True + True + 11 + + + + True + Click to request authorization to all contacts of another account + True + Synchronise contacts + True + GTK_RELIEF_NORMAL + True + + + + 0 + False + True + + + + + + True + Click to change account's password + True + Chan_ge Password + True + GTK_RELIEF_NORMAL + True + + + + 0 + False + True + + + + + + + + True + Administration operations + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + 3 + 4 + 5 + fill + fill + + + + + + True + True + True + True + 0 + + True + * + True + + + 1 + 3 + 0 + 1 + + + + + + + True + 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) + True + True + True + 0 + Gajim + True + * + False + + + 1 + 3 + 2 + 3 + expand|shrink|fill + + + False diff --git a/data/glade/advanced_menuitem_menu.glade b/data/glade/advanced_menuitem_menu.glade index 93d21d083..b331dbb3e 100644 --- a/data/glade/advanced_menuitem_menu.glade +++ b/data/glade/advanced_menuitem_menu.glade @@ -11,7 +11,7 @@ True - + True gtk-new 1 @@ -31,6 +31,27 @@ + + + True + _Blocked Contacts + True + + + + + True + gtk-stop + 1 + 0.5 + 0.5 + 0 + 0 + + + + + _Privacy Lists @@ -58,7 +79,7 @@ True - + True gtk-new 1 @@ -100,7 +121,7 @@ True - + True gtk-clear 1 diff --git a/data/glade/blocked_contacts_window.glade b/data/glade/blocked_contacts_window.glade new file mode 100644 index 000000000..9b2e870b0 --- /dev/null +++ b/data/glade/blocked_contacts_window.glade @@ -0,0 +1,147 @@ + + + + + + + True + Blocked Contacts + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + True + False + True + False + False + GDK_WINDOW_TYPE_HINT_NORMAL + GDK_GRAVITY_NORTH_WEST + True + False + + + + + 5 + True + False + 0 + + + + 3 + 250 + 300 + True + True + GTK_POLICY_NEVER + GTK_POLICY_AUTOMATIC + GTK_SHADOW_IN + GTK_CORNER_TOP_LEFT + + + + True + True + False + True + False + True + False + False + False + + + + + + 0 + True + True + + + + + + 3 + True + True + GTK_RELIEF_NORMAL + True + + + + + True + 0.5 + 0.5 + 0 + 0 + 0 + 0 + 0 + 0 + + + + True + False + 2 + + + + True + gtk-remove + 4 + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + _Unblock + True + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + + + + 0 + False + False + + + + + + + diff --git a/data/glade/chat_control_popup_menu.glade b/data/glade/chat_control_popup_menu.glade index 8219a42b2..b6a696355 100644 --- a/data/glade/chat_control_popup_menu.glade +++ b/data/glade/chat_control_popup_menu.glade @@ -13,7 +13,7 @@ True - + True gtk-justify-fill 1 @@ -42,7 +42,7 @@ - + True gtk-file 1 @@ -83,7 +83,7 @@ - + True gtk-add 1 diff --git a/data/glade/data_form_window.glade b/data/glade/data_form_window.glade index 7cc9d8803..2d73ee5dd 100644 --- a/data/glade/data_form_window.glade +++ b/data/glade/data_form_window.glade @@ -584,7 +584,7 @@ - + True False 0 diff --git a/data/glade/gc_control_popup_menu.glade b/data/glade/gc_control_popup_menu.glade index af8dba982..1f5918e80 100644 --- a/data/glade/gc_control_popup_menu.glade +++ b/data/glade/gc_control_popup_menu.glade @@ -1,133 +1,131 @@ - - - + + + - - - - - - Click to see past conversation in this room - _History - True - - - - True - gtk-justify-fill - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - Configure _Room - True - - - - True - gtk-preferences - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - _Destroy room - True - - - - True - gtk-delete - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - Change _Subject - True - - - - True - gtk-edit - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - Change _Nickname - True - - - - True - gtk-redo - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - _Bookmark This Room - True - - - - True - gtk-add - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - _Compact View Alt+C - True - False - - - - + + + + Change _Nickname + True + + + True + gtk-redo + 1 + + + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + _Manage room + True + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + Change _Subject + True + + + True + gtk-edit + 1 + + + + + + + Configure _Room + True + + + True + gtk-preferences + 1 + + + + + + + True + + + + + True + _Destroy room + True + + + True + gtk-delete + 1 + + + + + + + + + + + _Compact View Alt+C + True + + + + + True + _Minimize + True + + + True + gtk-goto-bottom + 1 + + + + + + + True + + + + + _Bookmark + True + + + True + gtk-add + 1 + + + + + + + Click to see past conversation in this room + _History + True + + + True + gtk-justify-fill + 1 + + + + + diff --git a/data/glade/gc_occupants_menu.glade b/data/glade/gc_occupants_menu.glade index 43e9d0a57..15a90c35b 100644 --- a/data/glade/gc_occupants_menu.glade +++ b/data/glade/gc_occupants_menu.glade @@ -1,163 +1,132 @@ - - - + + + - - - - - - True - _Occupant Actions - True - - - - - - - True - _Voice - True - False - - - - - - True - Mo_derator - True - False - - - - - - True - - - - - - True - _Member - True - False - - - - - - True - _Admin - True - False - - - - - - True - _Owner - True - False - - - - - - True - - - - - - True - _Kick - True - - - - - - True - _Ban - True - - - - - - - - - - True - gtk-info - True - - - - - - True - _History - True - - - - True - gtk-justify-fill - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - _Add to Roster - True - - - - True - gtk-add - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - _Send Private Message - True - - - - True - gtk-jump-to - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - + + + + True + _Send Private Message + True + + + True + gtk-jump-to + 1 + + + + + + + True + _Add to Roster + True + + + True + gtk-add + 1 + + + + + + + True + Occupant Actions + True + + + + + True + _Voice + True + + + + + True + Mo_derator + True + + + + + True + + + + + True + _Member + True + + + + + True + _Admin + True + + + + + True + _Owner + True + + + + + True + + + + + True + _Kick + True + + + + + True + _Ban + True + + + + + + + + + True + + + + + True + gtk-info + True + True + + + + + True + _History + True + + + True + gtk-justify-fill + 1 + + + + + diff --git a/data/glade/history_window.glade b/data/glade/history_window.glade index bdf6bd9c1..b475f03b4 100644 --- a/data/glade/history_window.glade +++ b/data/glade/history_window.glade @@ -87,6 +87,25 @@ + + + True + True + _Log conversation history + True + GTK_RELIEF_NORMAL + True + True + False + True + + + 0 + False + False + + + True diff --git a/data/glade/message_window.glade b/data/glade/message_window.glade index 56a2c3d74..ad23fad7b 100644 --- a/data/glade/message_window.glade +++ b/data/glade/message_window.glade @@ -79,7 +79,7 @@ 0.5 0.5 0 - 0 + 5 5 diff --git a/data/glade/roster_contact_context_menu.glade b/data/glade/roster_contact_context_menu.glade index 2dddcefa6..4352365ef 100644 --- a/data/glade/roster_contact_context_menu.glade +++ b/data/glade/roster_contact_context_menu.glade @@ -1,341 +1,331 @@ - - - + + + - - - - - - True - Start _Chat - True - - - - True - gtk-jump-to - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - Send Single _Message - True - - - - True - gtk-new - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - In_vite to - True - - - - True - gtk-go-back - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - _Rename - True - - - - True - gtk-refresh - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - Edit _Groups - True - - - - - - True - - - - - - True - Send _File - True - - - - True - gtk-file - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - Assign Open_PGP Key - True - - - - - True - gtk-dialog-authentication - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - Add Special _Notification - True - - - - True - gtk-info - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - Execute Command... - True - - - - True - gtk-execute - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - - - - - - _Subscription - True - - - - True - gtk-dialog-question - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - - True - _Allow him/her to see my status - True - - - - True - gtk-go-up - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - A_sk to see his/her status - True - - - - True - gtk-go-down - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - _Forbid him/her to see my status - True - - - - True - gtk-stop - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - - - - - _Add to Roster - True - - - - True - gtk-add - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - _Remove from Roster - True - - - - True - gtk-remove - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - - - - - - gtk-info - True - - - - - - _History - True - - - - True - gtk-justify-fill - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - + + + + True + Start _Chat + True + + + True + gtk-jump-to + 1 + + + + + + + True + Send Single _Message + True + + + True + gtk-new + 1 + + + + + + + True + Send _File + True + + + True + gtk-floppy + 1 + + + + + + + True + In_vite to + True + + + True + gtk-go-back + 1 + + + + + + + True + + + + + True + Send cus_tom status + True + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + + + + + True + Execute Command... + True + + + True + gtk-execute + 1 + + + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + _Manage contact + True + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + _Rename + True + + + True + gtk-refresh + 1 + + + + + + + Edit _Groups + True + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + gtk-edit + + + + + + + Assign Open_PGP Key + True + + + + True + gtk-missing-image + 1 + + + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Set Custom _Avatar + True + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + gtk-orientation-portrait + + + + + + + True + Add Special _Notification + True + + + True + gtk-info + 1 + + + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + + + _Subscription + True + + + + + True + _Allow him/her to see my status + True + + + True + gtk-go-up + 1 + + + + + + + True + A_sk to see his/her status + True + + + True + gtk-go-down + 1 + + + + + + + True + _Forbid him/her to see my status + True + + + True + gtk-stop + 1 + + + + + + + + + True + gtk-dialog-question + 1 + + + + + + + True + _Unblock + True + + + + True + gtk-yes + 1 + + + + + + + True + _Block + True + + + + True + gtk-stop + 1 + + + + + + + _Remove + True + + + True + gtk-remove + 1 + + + + + + + _Add to Roster + True + + + True + gtk-add + 1 + + + + + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + gtk-properties + + + + + + + True + + + + + gtk-dialog-info + True + True + + + + + _History + True + + + True + gtk-justify-fill + 1 + + + + + diff --git a/data/glade/search_window.glade b/data/glade/search_window.glade new file mode 100644 index 000000000..6a3e6133a --- /dev/null +++ b/data/glade/search_window.glade @@ -0,0 +1,191 @@ + + + + + + + 12 + Search + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + True + False + True + False + False + GDK_WINDOW_TYPE_HINT_NORMAL + GDK_GRAVITY_NORTH_WEST + True + False + + + + + + True + False + 6 + + + + True + False + 0 + + + + True + Please wait while retrieving search form... + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + True + False + + + + + + True + GTK_PROGRESS_LEFT_TO_RIGHT + 0 + 0.10000000149 + PANGO_ELLIPSIZE_NONE + + + 0 + True + False + + + + + + + + + 0 + True + True + + + + + + True + GTK_BUTTONBOX_END + 6 + + + + True + True + True + GTK_RELIEF_NORMAL + True + + + + + True + 0.5 + 0.5 + 0 + 0 + 0 + 0 + 0 + 0 + + + + True + False + 2 + + + + True + gtk-find + 4 + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + _Search + True + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + + + + + + + True + True + True + gtk-close + True + GTK_RELIEF_NORMAL + True + + + + + + 0 + False + True + + + + + + + diff --git a/data/glade/service_registration_window.glade b/data/glade/service_registration_window.glade index b53f6a8f1..b9a79cb43 100644 --- a/data/glade/service_registration_window.glade +++ b/data/glade/service_registration_window.glade @@ -2,6 +2,7 @@ + 6 Register to @@ -18,6 +19,7 @@ GDK_WINDOW_TYPE_HINT_NORMAL GDK_GRAVITY_NORTH_WEST True + False @@ -25,31 +27,6 @@ False 6 - - - True - - False - False - GTK_JUSTIFY_LEFT - True - False - 0.5 - 0.5 - 0 - 4 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 4 - False - True - - - True @@ -232,4 +209,5 @@ + diff --git a/data/glade/synchronise_select_account_dialog.glade b/data/glade/synchronise_select_account_dialog.glade new file mode 100644 index 000000000..e75ed5d7e --- /dev/null +++ b/data/glade/synchronise_select_account_dialog.glade @@ -0,0 +1,131 @@ + + + + + + + 12 + Synchronise contacts + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + 350 + 300 + True + False + True + False + False + GDK_WINDOW_TYPE_HINT_NORMAL + GDK_GRAVITY_NORTH_WEST + True + False + True + + + + True + False + 6 + + + + True + GTK_BUTTONBOX_END + + + + True + True + True + gtk-cancel + True + GTK_RELIEF_NORMAL + True + -6 + + + + + + + True + True + True + gtk-ok + True + GTK_RELIEF_NORMAL + True + -5 + + + + + + 0 + False + True + GTK_PACK_END + + + + + + True + Select the account with which you want to synchronise + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + 150 + True + True + GTK_POLICY_ALWAYS + GTK_POLICY_ALWAYS + GTK_SHADOW_IN + GTK_CORNER_TOP_LEFT + + + + True + True + True + False + False + True + False + False + False + + + + + 0 + True + True + + + + + + + diff --git a/data/glade/synchronise_select_contacts_dialog.glade b/data/glade/synchronise_select_contacts_dialog.glade new file mode 100644 index 000000000..e5f2a67f7 --- /dev/null +++ b/data/glade/synchronise_select_contacts_dialog.glade @@ -0,0 +1,131 @@ + + + + + + + 12 + Synchronise : select contacts + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + 400 + 300 + True + False + True + False + False + GDK_WINDOW_TYPE_HINT_NORMAL + GDK_GRAVITY_NORTH_WEST + True + False + True + + + + True + False + 6 + + + + True + GTK_BUTTONBOX_END + + + + True + True + True + gtk-cancel + True + GTK_RELIEF_NORMAL + True + -6 + + + + + + + True + True + True + gtk-ok + True + GTK_RELIEF_NORMAL + True + -5 + + + + + + 0 + False + True + GTK_PACK_END + + + + + + True + Select the contacts you want to synchronise + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + 150 + True + True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + GTK_SHADOW_IN + GTK_CORNER_TOP_LEFT + + + + True + True + True + False + False + True + False + False + False + + + + + 0 + True + True + + + + + + + diff --git a/data/glade/vcard_information_window.glade b/data/glade/vcard_information_window.glade index ef505d44e..ad55ab284 100644 --- a/data/glade/vcard_information_window.glade +++ b/data/glade/vcard_information_window.glade @@ -9,7 +9,7 @@ GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False - False + True False True False @@ -392,7 +392,57 @@ True False - 0 + 6 + + + + True + User avatar: + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + None + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + @@ -417,6 +467,65 @@ False + + + + True + Configured avatar: + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + True + + True + GTK_RELIEF_NORMAL + True + + + + 0 + False + False + + + + + + True + True + Click to force avatar + True + GTK_RELIEF_NORMAL + True + + + + 0 + False + False + + 0 @@ -432,25 +541,6 @@ - - - True - True - _Log conversation history - True - GTK_RELIEF_NORMAL - True - True - False - True - - - 0 - False - False - - - True diff --git a/data/iconsets/Makefile.am b/data/iconsets/Makefile.am index 6dbd09b71..c609e3df6 100644 --- a/data/iconsets/Makefile.am +++ b/data/iconsets/Makefile.am @@ -9,28 +9,28 @@ ICONSET_FILES = **/{16x16,32x32,48x48}/{*.gif,*.png} \ transports/**/{16x16,32x32,48x48}/{*.gif,*.png} install-data-local: - @for d in $(ICONSET_DIRS);do \ - if test -d $$d;then \ + @for d in $$(cd $(srcdir); echo $(ICONSET_DIRS));do \ + if test -d $(srcdir)/$$d;then \ echo " $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/data/iconsets/$$d"; \ $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/data/iconsets/$$d || exit 1; \ fi; \ done - for f in $(ICONSET_FILES);do \ - if test -f $$f; then \ - echo " $(INSTALL_DATA) $$f $(DESTDIR)$(pkgdatadir)/data/iconsets/$$f"; \ - $(INSTALL_DATA) $$f $(DESTDIR)$(pkgdatadir)/data/iconsets/$$f || exit 1; \ + for f in $$(cd $(srcdir); echo $(ICONSET_FILES));do \ + if test -f $(srcdir)/$$f; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(pkgdatadir)/data/iconsets/$$f"; \ + $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(pkgdatadir)/data/iconsets/$$f || exit 1; \ fi; \ done; dist-hook: - @for d in $(ICONSET_DIRS);do \ - if test -d $$d;then \ + @for d in $$(cd $(srcdir); echo $(ICONSET_DIRS));do \ + if test -d $(srcdir)/$$d;then \ echo " $(mkdir_p) $(distdir)/$$d"; \ $(mkdir_p) $(distdir)/$$d || exit 1; \ fi; \ done - for f in $(ICONSET_FILES);do \ - if test -f $$f; then \ + for f in $$(cd $(srcdir); echo $(ICONSET_FILES));do \ + if test -f $(srcdir)/$$f; then \ echo " cp -pR $(srcdir)/$$f $(distdir)/$$f"; \ cp -pR $(srcdir)/$$f $(distdir)/$$f || exit 1; \ fi; \ diff --git a/data/iconsets/transports/icq/16x16/away.png b/data/iconsets/transports/icq/16x16/away.png index ad6782bb6..7c6935236 100644 Binary files a/data/iconsets/transports/icq/16x16/away.png and b/data/iconsets/transports/icq/16x16/away.png differ diff --git a/data/iconsets/transports/icq/16x16/chat.png b/data/iconsets/transports/icq/16x16/chat.png index 4895a8cdc..e07261b27 100644 Binary files a/data/iconsets/transports/icq/16x16/chat.png and b/data/iconsets/transports/icq/16x16/chat.png differ diff --git a/data/iconsets/transports/icq/16x16/dnd.png b/data/iconsets/transports/icq/16x16/dnd.png index ce9355928..9ba3e6906 100644 Binary files a/data/iconsets/transports/icq/16x16/dnd.png and b/data/iconsets/transports/icq/16x16/dnd.png differ diff --git a/data/iconsets/transports/icq/16x16/not_in_roster.png b/data/iconsets/transports/icq/16x16/not_in_roster.png index d1ceb3705..5517fafce 100644 Binary files a/data/iconsets/transports/icq/16x16/not_in_roster.png and b/data/iconsets/transports/icq/16x16/not_in_roster.png differ diff --git a/data/iconsets/transports/icq/16x16/offline.png b/data/iconsets/transports/icq/16x16/offline.png index 713ff1ea5..260dd8592 100644 Binary files a/data/iconsets/transports/icq/16x16/offline.png and b/data/iconsets/transports/icq/16x16/offline.png differ diff --git a/data/iconsets/transports/icq/16x16/online.png b/data/iconsets/transports/icq/16x16/online.png index 7347b54cf..427c5afe2 100644 Binary files a/data/iconsets/transports/icq/16x16/online.png and b/data/iconsets/transports/icq/16x16/online.png differ diff --git a/data/iconsets/transports/icq/16x16/xa.png b/data/iconsets/transports/icq/16x16/xa.png index a3d0b2fa5..d2d589b2d 100644 Binary files a/data/iconsets/transports/icq/16x16/xa.png and b/data/iconsets/transports/icq/16x16/xa.png differ diff --git a/data/iconsets/transports/icq/32x32/away.png b/data/iconsets/transports/icq/32x32/away.png index c8420c7dc..e1cd5b78f 100644 Binary files a/data/iconsets/transports/icq/32x32/away.png and b/data/iconsets/transports/icq/32x32/away.png differ diff --git a/data/iconsets/transports/icq/32x32/chat.png b/data/iconsets/transports/icq/32x32/chat.png index c90cdfbe9..d1e5d48ea 100644 Binary files a/data/iconsets/transports/icq/32x32/chat.png and b/data/iconsets/transports/icq/32x32/chat.png differ diff --git a/data/iconsets/transports/icq/32x32/dnd.png b/data/iconsets/transports/icq/32x32/dnd.png index 5fc7acbbb..ede09e4b2 100644 Binary files a/data/iconsets/transports/icq/32x32/dnd.png and b/data/iconsets/transports/icq/32x32/dnd.png differ diff --git a/data/iconsets/transports/icq/32x32/not_in_roster.png b/data/iconsets/transports/icq/32x32/not_in_roster.png index 76cecc2d8..ce89631e6 100644 Binary files a/data/iconsets/transports/icq/32x32/not_in_roster.png and b/data/iconsets/transports/icq/32x32/not_in_roster.png differ diff --git a/data/iconsets/transports/icq/32x32/offline.png b/data/iconsets/transports/icq/32x32/offline.png index ab8438a49..25b8d50c8 100644 Binary files a/data/iconsets/transports/icq/32x32/offline.png and b/data/iconsets/transports/icq/32x32/offline.png differ diff --git a/data/iconsets/transports/icq/32x32/online.png b/data/iconsets/transports/icq/32x32/online.png index 56f38a89d..1023343a2 100644 Binary files a/data/iconsets/transports/icq/32x32/online.png and b/data/iconsets/transports/icq/32x32/online.png differ diff --git a/data/iconsets/transports/icq/32x32/xa.png b/data/iconsets/transports/icq/32x32/xa.png index 535d58afa..0be3ad515 100644 Binary files a/data/iconsets/transports/icq/32x32/xa.png and b/data/iconsets/transports/icq/32x32/xa.png differ diff --git a/data/other/servers.xml b/data/other/servers.xml index e4c6dcafe..5fa55d236 100644 --- a/data/other/servers.xml +++ b/data/other/servers.xml @@ -70,6 +70,9 @@ + + + diff --git a/data/pixmaps/agents/icq.png b/data/pixmaps/agents/icq.png index 5dd943cf6..1023343a2 100644 Binary files a/data/pixmaps/agents/icq.png and b/data/pixmaps/agents/icq.png differ diff --git a/po/LINGUAS b/po/LINGUAS index eee59578b..0bf5641a2 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -1,2 +1,2 @@ # available languages -fr pt el pl es ru bg de nb cs nl pt_BR sv it eu sk no zh_CN br eo hr en_GB be sr +fr pt el pl es ru bg de nb cs nl pt_BR sv it eu sk no zh_CN br eo hr en_GB be sr gl_ES diff --git a/po/de.po b/po/de.po index 2fad3b11f..a4a641ec6 100644 --- a/po/de.po +++ b/po/de.po @@ -4,16 +4,12 @@ # Fridtjof Busse , 2005, 2006. # Benjamin Drung , 2007. # -#: ../src/gajim-remote.py:203 ../src/gajim-remote.py:210 -#: ../src/gajim-remote.py:236 ../src/gajim-remote.py:237 -#: ../src/gajim-remote.py:243 ../src/gajim-remote.py:244 -#: ../src/gajim-remote.py:245 ../src/gajim-remote.py:246 msgid "" msgstr "" "Project-Id-Version: gajim 0.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-01-24 23:57+0100\n" -"PO-Revision-Date: 2007-01-25 21:10+0100\n" +"POT-Creation-Date: 2007-03-29 13:38+0200\n" +"PO-Revision-Date: 2007-03-29 13:41+0100\n" "Last-Translator: Benjamin Drung \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -45,7 +41,8 @@ msgstr "Kontakt _hinzufügen..." msgid "_Discover Services..." msgstr "_Durchsuche Dienste..." -#: ../data/glade/account_context_menu.glade.h:4 ../src/disco.py:1145 +#: ../data/glade/account_context_menu.glade.h:4 +#: ../src/disco.py:1145 msgid "_Execute Command..." msgstr "_Befehl ausführen..." @@ -89,9 +86,7 @@ msgstr "Bitte geben Sie die Daten für Ihr neues Konto ein" #: ../data/glade/account_creation_wizard_window.glade.h:6 msgid "Click to see features (like MSN, ICQ transports) of jabber servers" -msgstr "" -"Klicken, um die Fähigkeiten (z.B. MSN-, ICQ-Transporte) auf Jabber-Servern " -"zu sehen." +msgstr "Klicken, um die Fähigkeiten (z.B. MSN-, ICQ-Transporte) auf Jabber-Servern zu sehen." #: ../data/glade/account_creation_wizard_window.glade.h:7 msgid "Connect when I press Finish" @@ -110,7 +105,7 @@ msgid "I want to _register for a new account" msgstr "Ich möchte ein neues Konto _erstellen" #: ../data/glade/account_creation_wizard_window.glade.h:11 -#: ../data/glade/account_modification_window.glade.h:18 +#: ../data/glade/account_modification_window.glade.h:19 msgid "If checked, Gajim will remember the password for this account" msgstr "Falls aktiviert, speichert Gajim das Passwort für dieses Konto" @@ -120,7 +115,7 @@ msgid "Pass_word:" msgstr "Pass_wort:" #: ../data/glade/account_creation_wizard_window.glade.h:13 -#: ../data/glade/account_modification_window.glade.h:38 +#: ../data/glade/account_modification_window.glade.h:39 msgid "Save pass_word" msgstr "Pass_wort speichern" @@ -159,7 +154,7 @@ msgid "_Host:" msgstr "_Server:" #: ../data/glade/account_creation_wizard_window.glade.h:22 -#: ../data/glade/account_modification_window.glade.h:47 +#: ../data/glade/account_modification_window.glade.h:49 msgid "_Password:" msgstr "_Passwort:" @@ -209,226 +204,206 @@ msgid "Account Modification" msgstr "Kontoänderung" #: ../data/glade/account_modification_window.glade.h:6 +#, fuzzy +msgid "Administration operations" +msgstr "Administratorliste" + +#: ../data/glade/account_modification_window.glade.h:7 msgid "Auto-reconnect when connection is lost" msgstr "Automatisch neu verbinden, wenn die Verbindung abbricht" -#: ../data/glade/account_modification_window.glade.h:7 +#: ../data/glade/account_modification_window.glade.h:8 #: ../data/glade/zeroconf_properties_window.glade.h:3 msgid "C_onnect on Gajim startup" msgstr "Beim Pr_ogrammstart verbinden" -#: ../data/glade/account_modification_window.glade.h:8 +#: ../data/glade/account_modification_window.glade.h:9 msgid "Chan_ge Password" msgstr "Pass_wort ändern" -#: ../data/glade/account_modification_window.glade.h:9 -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 "" -"Aktivieren Sie diese Option, damit Gajim auf Port 5223 verbindet, auf dem " -"veraltete Server SSL-Fähigkeiten haben. Beachten Sie, dass Gajim " -"standardmäßig TLS-Verschlüsselung benutzt, wenn sie vom Server verwendet " -"wird und sie TLS mit dieser Option deaktivieren" - #: ../data/glade/account_modification_window.glade.h:10 +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 "Aktivieren Sie diese Option, damit Gajim auf Port 5223 verbindet, auf dem veraltete Server SSL-Fähigkeiten haben. Beachten Sie, dass Gajim standardmäßig TLS-Verschlüsselung benutzt, wenn sie vom Server verwendet wird und sie TLS mit dieser Option deaktivieren" + +#: ../data/glade/account_modification_window.glade.h:11 #: ../data/glade/zeroconf_properties_window.glade.h:4 msgid "Choose _Key..." msgstr "_Schlüssel wählen..." -#: ../data/glade/account_modification_window.glade.h:11 +#: ../data/glade/account_modification_window.glade.h:12 msgid "Click to change account's password" msgstr "Klicken, um das Konto-Passwort zu ändern" -#: ../data/glade/account_modification_window.glade.h:12 +#: ../data/glade/account_modification_window.glade.h:13 msgid "Connection" msgstr "Verbindung" -#: ../data/glade/account_modification_window.glade.h:13 +#: ../data/glade/account_modification_window.glade.h:14 msgid "Edit Personal Information..." msgstr "Persönliche Details bearbeiten ..." -#: ../data/glade/account_modification_window.glade.h:14 -#: ../data/glade/roster_window.glade.h:5 ../src/notify.py:458 -#: ../src/notify.py:480 ../src/notify.py:492 ../src/common/helpers.py:914 +#: ../data/glade/account_modification_window.glade.h:15 +#: ../data/glade/roster_window.glade.h:5 +#: ../src/notify.py:458 +#: ../src/notify.py:480 +#: ../src/notify.py:492 +#: ../src/common/helpers.py:914 msgid "Gajim" msgstr "Gajim" -#: ../data/glade/account_modification_window.glade.h:15 +#: ../data/glade/account_modification_window.glade.h:16 #: ../data/glade/preferences_window.glade.h:51 #: ../data/glade/zeroconf_properties_window.glade.h:7 -#: ../src/roster_window.py:346 ../src/roster_window.py:1225 -#: ../src/roster_window.py:1436 ../src/roster_window.py:2112 -#: ../src/roster_window.py:2154 ../src/common/contacts.py:284 +#: ../src/roster_window.py:347 +#: ../src/roster_window.py:1225 +#: ../src/roster_window.py:1435 +#: ../src/roster_window.py:2114 +#: ../src/roster_window.py:2156 +#: ../src/common/contacts.py:284 msgid "General" msgstr "Allgemein" -#: ../data/glade/account_modification_window.glade.h:16 +#: ../data/glade/account_modification_window.glade.h:17 msgid "Hostname: " msgstr "Hostname: " -#: ../data/glade/account_modification_window.glade.h:17 -msgid "" -"If checked, Gajim will also broadcast some more IPs except from just your " -"IP, so file transfer has higher chances of working." -msgstr "" -"Wenn aktiviert, wird Gajim von mehr IPs als nur Ihrer eigenen senden, " -"wodurch Datentransfers eine höhere Erfolgswahrscheinlichkeit bekommen." - -#: ../data/glade/account_modification_window.glade.h:19 -msgid "" -"If checked, Gajim will send keep-alive packets to prevent connection timeout " -"which results in disconnection" -msgstr "" -"Wenn aktiviert, sendet Gajim regelmäßig Keepalive-Pakete, um einen " -"Verbindungsabbruch durch eine Zeitüberschreitung zu verhindern" +#: ../data/glade/account_modification_window.glade.h:18 +msgid "If checked, Gajim will also broadcast some more IPs except from just your IP, so file transfer has higher chances of working." +msgstr "Wenn aktiviert, wird Gajim von mehr IPs als nur Ihrer eigenen senden, wodurch Datentransfers eine höhere Erfolgswahrscheinlichkeit bekommen." #: ../data/glade/account_modification_window.glade.h:20 -#: ../data/glade/zeroconf_properties_window.glade.h:8 -msgid "" -"If checked, Gajim will store the password in ~/.gajim/config with 'read' " -"permission only for you" -msgstr "" -"Wenn aktiviert, wird Gajim das Passwort in ~/.gajim/config mit Lese-Rechten " -"nur für Sie speichern" +msgid "If checked, Gajim will send keep-alive packets to prevent connection timeout which results in disconnection" +msgstr "Wenn aktiviert, sendet Gajim regelmäßig Keepalive-Pakete, um einen Verbindungsabbruch durch eine Zeitüberschreitung zu verhindern" #: ../data/glade/account_modification_window.glade.h:21 -#: ../data/glade/zeroconf_properties_window.glade.h:9 -msgid "" -"If checked, Gajim, when launched, will automatically connect to jabber using " -"this account" -msgstr "" -"Wenn aktiviert, wird Gajim während des Startvorgangs automatisch zu diesem " -"Konto verbinden" +#: ../data/glade/zeroconf_properties_window.glade.h:8 +msgid "If checked, Gajim will store the password in ~/.gajim/config with 'read' permission only for you" +msgstr "Wenn aktiviert, wird Gajim das Passwort in ~/.gajim/config mit Lese-Rechten nur für Sie speichern" #: ../data/glade/account_modification_window.glade.h:22 -#: ../data/glade/zeroconf_properties_window.glade.h:10 -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 "" -"Wenn aktiviert, wird jede Änderung des globalen Status (verwaltet von der " -"Combobox am Fuße des Kontaktfensters) auch den Status dieses Kontakts " -"entsprechend ändern" +#: ../data/glade/zeroconf_properties_window.glade.h:9 +msgid "If checked, Gajim, when launched, will automatically connect to jabber using this account" +msgstr "Wenn aktiviert, wird Gajim während des Startvorgangs automatisch zu diesem Konto verbinden" #: ../data/glade/account_modification_window.glade.h:23 +#: ../data/glade/zeroconf_properties_window.glade.h:10 +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 "Wenn aktiviert, wird jede Änderung des globalen Status (verwaltet von der Combobox am Fuße des Kontaktfensters) auch den Status dieses Kontakts entsprechend ändern" + +#: ../data/glade/account_modification_window.glade.h:24 msgid "Information about you, as stored in the server" msgstr "Informationen über Sie, wie sie auf dem Server gespeichert sind" -#: ../data/glade/account_modification_window.glade.h:24 +#: ../data/glade/account_modification_window.glade.h:25 msgid "Manage..." msgstr "_Verwalten..." -#: ../data/glade/account_modification_window.glade.h:25 -#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1608 -#: ../src/config.py:3405 +#: ../data/glade/account_modification_window.glade.h:26 +#: ../data/glade/zeroconf_properties_window.glade.h:16 +#: ../src/config.py:1623 +#: ../src/config.py:3301 msgid "No key selected" msgstr "Kein Schlüssel gewählt" #. None means no proxy profile selected -#: ../data/glade/account_modification_window.glade.h:27 ../src/config.py:1188 -#: ../src/config.py:1193 ../src/config.py:1377 ../src/config.py:1598 -#: ../src/config.py:1607 ../src/config.py:1667 ../src/config.py:1741 -#: ../src/config.py:3395 ../src/config.py:3404 ../src/dialogs.py:281 +#. GPG Key +#: ../data/glade/account_modification_window.glade.h:28 +#: ../src/config.py:1196 +#: ../src/config.py:1201 +#: ../src/config.py:1385 +#: ../src/config.py:1613 +#: ../src/config.py:1622 +#: ../src/config.py:1682 +#: ../src/config.py:1756 +#: ../src/config.py:3291 +#: ../src/config.py:3300 +#: ../src/dialogs.py:281 #: ../src/dialogs.py:283 +#: ../src/roster_window.py:1539 +#: ../src/roster_window.py:1546 +#: ../src/roster_window.py:1553 msgid "None" msgstr "Kein" -#: ../data/glade/account_modification_window.glade.h:28 +#: ../data/glade/account_modification_window.glade.h:29 #: ../data/glade/profile_window.glade.h:26 #: ../data/glade/zeroconf_properties_window.glade.h:17 msgid "Personal Information" msgstr "Persönliche Informationen" -#: ../data/glade/account_modification_window.glade.h:29 +#: ../data/glade/account_modification_window.glade.h:30 msgid "Port: " msgstr "Port: " -#: ../data/glade/account_modification_window.glade.h:30 +#: ../data/glade/account_modification_window.glade.h:31 msgid "Priori_ty:" msgstr "Priori_tät:" -#: ../data/glade/account_modification_window.glade.h:31 -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 wird von Jabber verwendet, um festzustellen, wer die " -"Ereignisse des Jabber-Servers bekommt, wenn zwei oder mehr Clients mit dem " -"selben Konto verbunden sind. Der Client mit der höchsten Priorität bekommt " -"die Ereignisse" - #: ../data/glade/account_modification_window.glade.h:32 +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 wird von Jabber verwendet, um festzustellen, wer die Ereignisse des Jabber-Servers bekommt, wenn zwei oder mehr Clients mit dem selben Konto verbunden sind. Der Client mit der höchsten Priorität bekommt die Ereignisse" + +#: ../data/glade/account_modification_window.glade.h:33 msgid "Priority will change automatically according to your status." msgstr "Die Priorität wird sich automatisch gemäß des Status ändern." -#: ../data/glade/account_modification_window.glade.h:33 +#: ../data/glade/account_modification_window.glade.h:34 msgid "Proxy:" msgstr "Proxy:" -#: ../data/glade/account_modification_window.glade.h:34 +#: ../data/glade/account_modification_window.glade.h:35 msgid "Resour_ce:" msgstr "Ressour_ce: " -#: ../data/glade/account_modification_window.glade.h:35 -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 Resource wird zum Jabber-Server geschickt, um die selbe JID in zwei oder " -"mehr Teile zu trennen, abhängig von der Anzahl der Clients die mit dem " -"selben Konto auf dem selben Server verbunden sind. Daher kann man " -"gleichzeitig mit den Ressourcen \"Heim\" und \"Arbeit\" auf das selbe Konto " -"verbinden. Die Ressource mit der höchsten Priorität wird die Nachrichten " -"erhalten (siehe unten)." - #: ../data/glade/account_modification_window.glade.h:36 +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 Resource wird zum Jabber-Server geschickt, um die selbe JID in zwei oder mehr Teile zu trennen, abhängig von der Anzahl der Clients die mit dem selben Konto auf dem selben Server verbunden sind. Daher kann man gleichzeitig mit den Ressourcen \"Heim\" und \"Arbeit\" auf das selbe Konto verbinden. Die Ressource mit der höchsten Priorität wird die Nachrichten erhalten (siehe unten)." + +#: ../data/glade/account_modification_window.glade.h:37 #: ../data/glade/zeroconf_properties_window.glade.h:18 msgid "Save _passphrase (insecure)" msgstr "_Passphrase speichern (unsicher)" -#: ../data/glade/account_modification_window.glade.h:37 +#: ../data/glade/account_modification_window.glade.h:38 #: ../data/glade/zeroconf_properties_window.glade.h:19 msgid "Save conversation _logs for all contacts" msgstr "Unter_haltungsverlauf für alle Kontakte dieses Kontos speichern" -#: ../data/glade/account_modification_window.glade.h:39 +#: ../data/glade/account_modification_window.glade.h:40 msgid "Send keep-alive packets" msgstr "Sende Keepalive-Pakete" -#: ../data/glade/account_modification_window.glade.h:40 +#: ../data/glade/account_modification_window.glade.h:41 #: ../data/glade/zeroconf_properties_window.glade.h:20 msgid "Synch_ronize account status with global status" msgstr "Konto-Status mit globalem _Status abgleichen" -#: ../data/glade/account_modification_window.glade.h:41 +#: ../data/glade/account_modification_window.glade.h:42 +#, fuzzy +msgid "Synchronise contacts" +msgstr "_Abgemeldete Kontakte anzeigen" + +#: ../data/glade/account_modification_window.glade.h:43 msgid "Use _SSL (legacy)" msgstr "_SSL verwenden (veraltet)" -#: ../data/glade/account_modification_window.glade.h:42 +#: ../data/glade/account_modification_window.glade.h:44 msgid "Use custom hostname/port" msgstr "Verwende benutzerdefinierten Hostnamen und Port" -#: ../data/glade/account_modification_window.glade.h:43 +#: ../data/glade/account_modification_window.glade.h:45 msgid "Use file transfer proxies" msgstr "Verwende Datentransfer-Proxies" -#: ../data/glade/account_modification_window.glade.h:44 +#: ../data/glade/account_modification_window.glade.h:46 msgid "_Adjust to status" msgstr "Mit dem Status _abgleichen" -#: ../data/glade/account_modification_window.glade.h:45 +#: ../data/glade/account_modification_window.glade.h:47 msgid "_Jabber ID:" msgstr "_Jabber ID:" -#: ../data/glade/account_modification_window.glade.h:46 +#: ../data/glade/account_modification_window.glade.h:48 msgid "_Name:" msgstr "_Name: " @@ -438,26 +413,15 @@ msgstr "Konten" #: ../data/glade/accounts_window.glade.h:2 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." +"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 "" -"Wenn aktiviert, werden alle lokalen Kontakte, welche einen zu Bonjour " -"kompatiblen Chat-Client (Wie z.B. iChat, Trillian oder Gaim) nutzen, in " -"Ihrer Kontaktliste angezeigt. Dafür müssen Sie nicht mit einem Jabber-Server " -"verbunden sein.\n" -"Dies ist nur möglich, wenn python-avahi verfügbar ist und avahi-daemon läuft " -"(Automatische Diensterkennung)." +"Wenn aktiviert, werden alle lokalen Kontakte, welche einen zu Bonjour kompatiblen Chat-Client (Wie z.B. iChat, Trillian oder Gaim) nutzen, in Ihrer Kontaktliste angezeigt. Dafür müssen Sie nicht mit einem Jabber-Server verbunden sein.\n" +"Dies ist nur möglich, wenn python-avahi verfügbar ist und avahi-daemon läuft (Automatische Diensterkennung)." #: ../data/glade/accounts_window.glade.h:4 -msgid "" -"If you have 2 or more accounts and this is checked, Gajim will list all " -"contacts as if you had one account" -msgstr "" -"Wenn Sie zwei oder mehr Konten haben und diese Option gewählt ist, wird " -"Gajim alle Kontakte auflisten, als hätten Sie nur ein Konto" +msgid "If you have 2 or more accounts and this is checked, Gajim will list all contacts as if you had one account" +msgstr "Wenn Sie zwei oder mehr Konten haben und diese Option gewählt ist, wird Gajim alle Kontakte auflisten, als hätten Sie nur ein Konto" #: ../data/glade/accounts_window.glade.h:5 msgid "Mer_ge accounts" @@ -574,9 +538,7 @@ msgstr "Beschreibung" #: ../data/glade/advanced_configuration_window.glade.h:2 msgid "NOTE: You should restart Gajim for some settings to take effect" -msgstr "" -"HINWEIS: Sie sollten Gajim neu starten, damit alle Änderungen in " -"Kraft treten" +msgstr "HINWEIS: Sie sollten Gajim neu starten, damit alle Änderungen in Kraft treten" #: ../data/glade/advanced_configuration_window.glade.h:3 msgid "Advanced Configuration Editor" @@ -664,7 +626,8 @@ msgid "All statuses" msgstr "Alle Status " #: ../data/glade/advanced_notifications_window.glade.h:8 -#: ../src/common/commands.py:91 ../src/common/helpers.py:243 +#: ../src/common/commands.py:91 +#: ../src/common/helpers.py:243 msgid "Away" msgstr "Abwesend" @@ -731,11 +694,8 @@ msgid "When " msgstr "Wenn " #: ../data/glade/advanced_notifications_window.glade.h:27 -msgid "" -"_Activate window manager's UrgencyHint to make chat window in taskbar flash" -msgstr "" -"_Aktivere den UrgencyHint des Fenstermanagers, um das Chatfenster in der " -"Taskleiste blinken zu lassen" +msgid "_Activate window manager's UrgencyHint to make chat window in taskbar flash" +msgstr "_Aktivere den UrgencyHint des Fenstermanagers, um das Chatfenster in der Taskleiste blinken zu lassen" #: ../data/glade/advanced_notifications_window.glade.h:28 msgid "_Disable auto opening chat window" @@ -893,7 +853,7 @@ msgid "_Compact View Alt+C" msgstr "_Kompakte Ansicht Alt+C" #: ../data/glade/chat_control_popup_menu.glade.h:6 -#: ../data/glade/gc_control_popup_menu.glade.h:7 +#: ../data/glade/gc_control_popup_menu.glade.h:8 #: ../data/glade/gc_occupants_menu.glade.h:5 #: ../data/glade/roster_contact_context_menu.glade.h:13 #: ../data/glade/zeroconf_contact_context_menu.glade.h:6 @@ -926,8 +886,7 @@ msgstr "Bricht den ausgewählten Dateitransfer ab" #: ../data/glade/filetransfers.glade.h:4 msgid "Cancels the selected file transfer and removes incomplete file" -msgstr "" -"Bricht den ausgewählten Dateitransfer ab und löscht unvollständige Daten" +msgstr "Bricht den ausgewählten Dateitransfer ab und löscht unvollständige Daten" #: ../data/glade/filetransfers.glade.h:5 msgid "Clean _up" @@ -947,27 +906,22 @@ msgstr "Entferne Dateitransfer von Liste" #: ../data/glade/filetransfers.glade.h:9 msgid "Removes completed, cancelled and failed file transfers from the list" -msgstr "" -"Entfernt beendete, abgebrochene und fehlgeschlagene Dateitransfers von der " -"Liste" +msgstr "Entfernt beendete, abgebrochene und fehlgeschlagene Dateitransfers von der Liste" #: ../data/glade/filetransfers.glade.h:10 msgid "Shows a list of file transfers between you and others" msgstr "Zeigt eine Liste von Dateiübertragungen an" #: ../data/glade/filetransfers.glade.h:11 -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 einen Dateitransfer von der Liste. Falls der Transfer " -"aktiv ist, wird er erst gestoppt, dann entfernt" +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 einen Dateitransfer von der Liste. Falls der Transfer aktiv ist, wird er erst gestoppt, dann entfernt" #: ../data/glade/filetransfers.glade.h:12 msgid "When a file transfer is complete show a popup notification" msgstr "Zeige eine Benachrichtigung, wenn die Datei komplett übertragen wurde." -#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:769 +#: ../data/glade/filetransfers.glade.h:13 +#: ../src/filetransfers_window.py:761 msgid "_Continue" msgstr "_Fortsetzen" @@ -975,7 +929,8 @@ msgstr "_Fortsetzen" msgid "_Notify me when a file transfer is complete" msgstr "_Benachrichtige mich, wenn der Dateitransfer abgeschlossen ist" -#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:190 +#: ../data/glade/filetransfers.glade.h:15 +#: ../src/filetransfers_window.py:188 msgid "_Open Containing Folder" msgstr "_Öffne Ordner" @@ -1083,6 +1038,11 @@ msgstr "_Raum einrichten" msgid "_Bookmark This Room" msgstr "Raum zu _Lesezeichen hinzufügen" +#: ../data/glade/gc_control_popup_menu.glade.h:7 +#, fuzzy +msgid "_Destroy room" +msgstr "_Neuer Raum" + #: ../data/glade/gc_occupants_menu.glade.h:1 msgid "Mo_derator" msgstr "Mo_derator" @@ -1123,12 +1083,14 @@ msgstr "_Stimme verleihen" msgid "Create new post" msgstr "Neue Nachricht" -#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:268 +#: ../data/glade/groups_post_window.glade.h:2 +#: ../src/common/helpers.py:268 msgid "From" msgstr "Von" #. holds subject -#: ../data/glade/groups_post_window.glade.h:3 ../src/history_manager.py:142 +#: ../data/glade/groups_post_window.glade.h:3 +#: ../src/history_manager.py:142 #: ../src/history_manager.py:173 msgid "Subject" msgstr "Betreff" @@ -1140,17 +1102,14 @@ msgid "" "You can select logs from the left and/or search database from below.\n" "\n" "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." +"If you plan to do massive deletions, please make sure Gajim is not running. Generally avoid deletions with contacts you currently chat with." msgstr "" "Willkommen zum Gajim Verlaufsmanager\n" "\n" "Sie können Logs links auswählen und/oder unten die Datenbank durchsuchen.\n" "\n" "WARNUNG:\n" -"Wenn Sie massiv Daten löschen möchten, stellen Sie sicher, dass Gajim nicht " -"läuft. Vermeiden Sie generell Löschungen von Kontakten, mit denen Sie gerade " -"chatten." +"Wenn Sie massiv Daten löschen möchten, stellen Sie sicher, dass Gajim nicht läuft. Vermeiden Sie generell Löschungen von Kontakten, mit denen Sie gerade chatten." #: ../data/glade/history_manager.glade.h:7 msgid "Delete" @@ -1201,7 +1160,8 @@ msgstr "Ablehnen" msgid "Invitation Received" msgstr "Einladung empfangen" -#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1148 +#: ../data/glade/join_groupchat_window.glade.h:1 +#: ../src/dialogs.py:1208 msgid "Join Group Chat" msgstr "Betrete Gruppenchat" @@ -1230,7 +1190,8 @@ msgstr "Kürzlich:" msgid "Room:" msgstr "Raum:" -#: ../data/glade/join_groupchat_window.glade.h:7 ../src/disco.py:1163 +#: ../data/glade/join_groupchat_window.glade.h:7 +#: ../src/disco.py:1163 #: ../src/disco.py:1546 msgid "_Join" msgstr "_Betreten" @@ -1301,7 +1262,8 @@ msgstr "Verwende Authentifizierung" msgid "Click to insert an emoticon (Alt+M)" msgstr "Klicken Sie, um ein Emoticon einzufügen (Alt+M)" -#: ../data/glade/message_window.glade.h:2 ../src/chat_control.py:1109 +#: ../data/glade/message_window.glade.h:2 +#: ../src/chat_control.py:1109 msgid "OpenPGP Encryption" msgstr "OpenPGP-Verschlüsselung" @@ -1315,7 +1277,7 @@ msgstr "_Aktionen" #. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector) #: ../data/glade/message_window.glade.h:6 #: ../data/glade/xml_console_window.glade.h:11 -#: ../src/filetransfers_window.py:253 +#: ../src/filetransfers_window.py:245 msgid "_Send" msgstr "_Senden" @@ -1376,9 +1338,7 @@ msgstr "Sende _Betriebssystem-Information" #: ../data/glade/preferences_window.glade.h:17 msgid "Allow popup/notifications when I'm _away/na/busy/invisible" -msgstr "" -"Popups/Benachrichtigungen _zulassen, wenn ich abwesend/NA/beschäftigt/" -"unsichtbar bin" +msgstr "Popups/Benachrichtigungen _zulassen, wenn ich abwesend/NA/beschäftigt/unsichtbar bin" #: ../data/glade/preferences_window.glade.h:18 msgid "Also known as iChat style" @@ -1389,15 +1349,8 @@ msgid "Always check to see if Gajim is the _default Jabber client on startup" msgstr "Beim Starten überprüfen, ob Gajim der _Standard-Jabber-Client ist" #: ../data/glade/preferences_window.glade.h:20 -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 "" -"Ein Beispiel: Wenn Sie eine Status-Nachricht für Abwesend aktiviert haben, " -"wird Sie Gajim nicht noch einmal nach einer Status-Nachricht fragen, wenn " -"Sie Ihren Status zu Abwesend ändern; es wird die hier definierte Nachricht " -"verwendet." +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 "Ein Beispiel: Wenn Sie eine Status-Nachricht für Abwesend aktiviert haben, wird Sie Gajim nicht noch einmal nach einer Status-Nachricht fragen, wenn Sie Ihren Status zu Abwesend ändern; es wird die hier definierte Nachricht verwendet." #: ../data/glade/preferences_window.glade.h:21 msgid "Ask status message when I:" @@ -1424,20 +1377,13 @@ msgstr "" "Immer KDE Standard-Anwendungen verwenden\n" "Benutzerdefiniert" -#: ../data/glade/preferences_window.glade.h:29 ../src/chat_control.py:852 +#: ../data/glade/preferences_window.glade.h:29 msgid "Chat" msgstr "Chat" #: ../data/glade/preferences_window.glade.h:30 -msgid "" -"Check this option, only if someone you don't have in the roster spams/annoys " -"you. Use with caution, because it blocks all messages from any contact that " -"is not in the roster" -msgstr "" -"Aktivieren Sie diese Option nur, wenn jemand, der nicht in ihrer Liste ist, " -"Spam an Sie verschickt oder Sie belästigt. Verwenden Sie diese Option mit " -"Vorsicht, da sie alle Nachrichten von allen Kontakten blockiert, die nicht " -"in ihrer Liste sind." +msgid "Check this option, only if someone you don't have in the roster spams/annoys you. Use with caution, because it blocks all messages from any contact that is not in the roster" +msgstr "Aktivieren Sie diese Option nur, wenn jemand, der nicht in ihrer Liste ist, Spam an Sie verschickt oder Sie belästigt. Verwenden Sie diese Option mit Vorsicht, da sie alle Nachrichten von allen Kontakten blockiert, die nicht in ihrer Liste sind." #: ../data/glade/preferences_window.glade.h:31 msgid "Configure color and font of the interface" @@ -1475,7 +1421,7 @@ msgstr "Zeige die Status_nachrichten von Kontakten im Roster" #: ../data/glade/preferences_window.glade.h:40 msgid "Displayed Chat state noti_fications:" -msgstr "Zeige Benachrichtigung über Chatstadien:" +msgstr "Zeige Benachrichtigung über Chatstatus:" #: ../data/glade/preferences_window.glade.h:41 msgid "E_very 5 minutes" @@ -1490,112 +1436,56 @@ msgid "Events" msgstr "Ereignisse" #: ../data/glade/preferences_window.glade.h:44 -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 Meta-Information, die eine Unterhaltung mit einem Kontakt " -"betrifft, empfangen und versenden. Hier können Sie definieren, welche " -"Chatstatus Sie in Ihrem Chatfenster anzeigen möchten." +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 Meta-Information, die eine Unterhaltung mit einem Kontakt betrifft, empfangen und versenden. Hier können Sie definieren, welche Chatstatus Sie in Ihrem Chatfenster anzeigen möchten." #: ../data/glade/preferences_window.glade.h:45 -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 Meta-Information, die eine Unterhaltung mit einem Kontakt " -"betrifft, empfangen und versenden. Hier können Sie definieren, welche " -"Chatstates Sie Ihrem Gegenüber senden möchten." +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 Meta-Information, die eine Unterhaltung mit einem Kontakt betrifft, empfangen und versenden. Hier können Sie definieren, welche Chatstates Sie Ihrem Gegenüber senden möchten." #: ../data/glade/preferences_window.glade.h:46 -msgid "" -"Gajim will automatically show new events by popping up the relevant window" -msgstr "" -"Gajim wird neue Ereignisse automatisch anzeigen, indem das betreffende " -"Fenster geöffnet wird" +msgid "Gajim will automatically show new events by popping up the relevant window" +msgstr "Gajim wird neue Ereignisse automatisch anzeigen, indem das betreffende Fenster geöffnet wird" #: ../data/glade/preferences_window.glade.h:47 -msgid "" -"Gajim will notify you for new events via a popup in the bottom right of the " -"screen" -msgstr "" -"Gajim wird Sie über neue Ereignisse mit einem Popup in der rechten unteren " -"Ecke des Bildschirms benachrichtigen" +msgid "Gajim will notify you for new events via a popup in the bottom right of the screen" +msgstr "Gajim wird Sie über neue Ereignisse mit einem Popup in der rechten unteren Ecke des Bildschirms benachrichtigen" #: ../data/glade/preferences_window.glade.h:48 -msgid "" -"Gajim will notify you via a popup window in the bottom right of the screen " -"about contacts that just signed in" -msgstr "" -"Gajim wird Sie über ein Popup-Fenster in der rechten unteren Ecke des " -"Bildschirmes über Kontakte informieren, die sich gerade angemeldet haben" +msgid "Gajim will notify you via a popup window in the bottom right of the screen about contacts that just signed in" +msgstr "Gajim wird Sie über ein Popup-Fenster in der rechten unteren Ecke des Bildschirmes über Kontakte informieren, die sich gerade angemeldet haben" #: ../data/glade/preferences_window.glade.h:49 -msgid "" -"Gajim will notify you via a popup window in the bottom right of the screen " -"about contacts that just signed out" -msgstr "" -"Gajim wird Sie über ein Popup-Fenster in der rechten unteren Bildschirmecke " -"über Kontakte informieren, die sich gerade abgemeldet haben" +msgid "Gajim will notify you via a popup window in the bottom right of the screen about contacts that just signed out" +msgstr "Gajim wird Sie über ein Popup-Fenster in der rechten unteren Bildschirmecke über Kontakte informieren, die sich gerade abgemeldet haben" #: ../data/glade/preferences_window.glade.h:50 -msgid "" -"Gajim will only change the icon of the contact that triggered the new event" -msgstr "" -"Gajim wird nur das Symbol des Kontaktes ändern, von dem die neue Nachricht " -"kommt" +msgid "Gajim will only change the icon of the contact that triggered the new event" +msgstr "Gajim wird nur das Symbol des Kontaktes ändern, von dem die neue Nachricht kommt" #: ../data/glade/preferences_window.glade.h:52 -msgid "" -"If checked, Gajim will also include information about the sender of the new " -"emails" -msgstr "" -"Wenn aktiviert, wird Gajim auch Informationen über den Absender von neuen E-" -"Mails hinzufügen." +msgid "If checked, Gajim will also include information about the sender of the new emails" +msgstr "Wenn aktiviert, wird Gajim auch Informationen über den Absender von neuen E-Mails hinzufügen." #: ../data/glade/preferences_window.glade.h:53 -msgid "" -"If checked, Gajim will display avatars of contacts in roster window and in " -"group chats" -msgstr "" -"Wenn aktiviert, wird Gajim einen Avatar im Roster-Fenster und in " -"Gruppenchats einblenden" +msgid "If checked, Gajim will display avatars of contacts in roster window and in group chats" +msgstr "Wenn aktiviert, wird Gajim einen Avatar im Roster-Fenster und in Gruppenchats einblenden" #: ../data/glade/preferences_window.glade.h:54 -msgid "" -"If checked, Gajim will display status messages of contacts under the contact " -"name in roster window and in group chats" -msgstr "" -"Wenn aktiviert, wird Gajim für jeden Kontakt unter dem Kontaktnamen im " -"Roster und im Gruppenchat-Fenster die Statusnachricht anzeigen" +msgid "If checked, Gajim will display status messages of contacts under the contact name in roster window and in group chats" +msgstr "Wenn aktiviert, wird Gajim für jeden Kontakt unter dem Kontaktnamen im Roster und im Gruppenchat-Fenster die Statusnachricht anzeigen" #: ../data/glade/preferences_window.glade.h:55 -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 "" -"Wenn aktiviert, erinnert sich Gajim an die Position und Größe der " -"Kontaktliste auf dem Bildschirm beim nächsten Start" +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 "Wenn aktiviert, erinnert sich Gajim an die Position und Größe der Kontaktliste auf dem Bildschirm beim nächsten Start" #: ../data/glade/preferences_window.glade.h:56 -msgid "" -"If checked, Gajim will use protocol-specific status icons. (eg. A contact " -"from MSN will have the equivalent msn icon for status online, away, busy, " -"etc...)" -msgstr "" -"Wenn Sie diese Option aktivieren wird Gajim Protokoll-spezifische Symbole " -"verwenden (Ein Kontakt aus MSN wird z.B. das äquivalente MSN-Symbol für den " -"Status \"Anwesend\", \"Abwesend\", \"Beschäftigt\", etc. haben)" +msgid "If checked, Gajim will use protocol-specific status icons. (eg. A contact from MSN will have the equivalent msn icon for status online, away, busy, etc...)" +msgstr "Wenn Sie diese Option aktivieren wird Gajim Protokoll-spezifische Symbole verwenden (Ein Kontakt aus MSN wird z.B. das äquivalente MSN-Symbol für den Status \"Anwesend\", \"Abwesend\", \"Beschäftigt\", etc. haben)" #: ../data/glade/preferences_window.glade.h:57 -msgid "" -"If not disabled, Gajim will replace ascii smilies like ':)' with equivalent " -"animated or static graphical emoticons" -msgstr "" -"Wenn nicht deaktivert, wird Gajim ASCII-Smilies wie ':)' mit äquivalenten " -"graphischen Emoticons ersetzen" +msgid "If not disabled, Gajim will replace ascii smilies like ':)' with equivalent animated or static graphical emoticons" +msgstr "Wenn nicht deaktivert, wird Gajim ASCII-Smilies wie ':)' mit äquivalenten graphischen Emoticons ersetzen" #: ../data/glade/preferences_window.glade.h:58 msgid "Ignore rich content in incoming messages" @@ -1635,7 +1525,7 @@ msgstr "Ein _Nachrichtenfenster:" #: ../data/glade/preferences_window.glade.h:68 msgid "Outgoing Chat state noti_fications:" -msgstr "_Sende Chatstadien:" +msgstr "_Sende Chatstatus:" #: ../data/glade/preferences_window.glade.h:69 msgid "Play _sounds" @@ -1670,13 +1560,8 @@ msgid "Sign _out" msgstr "a_bmelden" #: ../data/glade/preferences_window.glade.h:77 -msgid "" -"Some messages may include rich content (formatting, colors etc). If checked, " -"Gajim will just display the raw message text." -msgstr "" -"Einige Nachrichten könnten formatierten Inhalt enthalten (Farben, " -"Schriftarten etc.). Wenn aktiviert, wird Gajim nur den puren Nachrichtentext " -"anzeigen." +msgid "Some messages may include rich content (formatting, colors etc). If checked, Gajim will just display the raw message text." +msgstr "Einige Nachrichten könnten formatierten Inhalt enthalten (Farben, Schriftarten etc.). Wenn aktiviert, wird Gajim nur den puren Nachrichtentext anzeigen." #: ../data/glade/preferences_window.glade.h:78 msgid "Status" @@ -1711,29 +1596,16 @@ msgid "Use t_rayicon (aka. notification area icon)" msgstr "Verwende _Trayicon (Benachrichtigungs-Icon)" #: ../data/glade/preferences_window.glade.h:86 -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 "" -"Wenn ein neues Ereignis (Nachricht, Dateitransferanfrage usw.) empfangen " -"wird, können die folgenden Methoden zur Benachrichtigung verwendet werden. " -"Bitte beachten Sie, dass Ereignisse über neue Nachrichten nur auftreten, " -"wenn Sie eine Nachricht von einem Kontakt erhalten, mit dem Sie nicht " -"bereits chatten" +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 "Wenn ein neues Ereignis (Nachricht, Dateitransferanfrage usw.) empfangen wird, können die folgenden Methoden zur Benachrichtigung verwendet werden. Bitte beachten Sie, dass Ereignisse über neue Nachrichten nur auftreten, wenn Sie eine Nachricht von einem Kontakt erhalten, mit dem Sie nicht bereits chatten" #: ../data/glade/preferences_window.glade.h:87 msgid "When new event is received" msgstr "Wenn neue Nachricht empfangen wird" #: ../data/glade/preferences_window.glade.h:88 -msgid "" -"Works for Rhythmbox and Muine players. For more players, please visit http://" -"trac.gajim.org/wiki/GajimAndMusicPlayer" -msgstr "" -"Funktioniert mit Rhythmbox und Muine. Für weitere Wiedergabeprogramme " -"besuchen Sie bitte http://trac.gajim.org/wiki/GajimAndMusicPlayer (Englisch)" +msgid "Works for Rhythmbox and Muine players. For more players, please visit http://trac.gajim.org/wiki/GajimAndMusicPlayer" +msgstr "Funktioniert mit Rhythmbox und Muine. Für weitere Wiedergabeprogramme besuchen Sie bitte http://trac.gajim.org/wiki/GajimAndMusicPlayer (Englisch)" #: ../data/glade/preferences_window.glade.h:89 msgid "_Advanced Notifications Control..." @@ -1855,7 +1727,8 @@ msgstr "Jabber-ID:" msgid "Order:" msgstr "Reihenfolge:" -#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:1862 +#: ../data/glade/privacy_list_window.glade.h:11 +#: ../src/dialogs.py:2052 msgid "Privacy List" msgstr "Privatliste" @@ -2012,7 +1885,8 @@ msgid "Prefix:" msgstr "Präfix" #: ../data/glade/profile_window.glade.h:32 -#: ../data/glade/vcard_information_window.glade.h:38 ../src/vcard.py:273 +#: ../data/glade/vcard_information_window.glade.h:38 +#: ../src/vcard.py:273 msgid "Role:" msgstr "Rolle:" @@ -2065,17 +1939,17 @@ msgstr "Open_PGP-Schlüssel zuweisen" #: ../data/glade/roster_contact_context_menu.glade.h:4 #: ../data/glade/zeroconf_contact_context_menu.glade.h:3 -#: ../src/roster_window.py:2076 +#: ../src/roster_window.py:2078 msgid "Edit _Groups" msgstr "_Gruppen bearbeiten" #: ../data/glade/roster_contact_context_menu.glade.h:5 -#: ../src/roster_window.py:2211 +#: ../src/roster_window.py:2213 msgid "Execute Command..." msgstr "_Befehl ausführen..." #: ../data/glade/roster_contact_context_menu.glade.h:6 -#: ../src/roster_window.py:2034 +#: ../src/roster_window.py:2036 msgid "In_vite to" msgstr "_Einladen zu" @@ -2099,14 +1973,15 @@ msgstr "_Verbiete Kontakt, meinen Status zu sehen" #. Remove group #: ../data/glade/roster_contact_context_menu.glade.h:14 -#: ../src/roster_window.py:2028 ../src/roster_window.py:2125 -#: ../src/roster_window.py:2232 +#: ../src/roster_window.py:2030 +#: ../src/roster_window.py:2127 +#: ../src/roster_window.py:2234 msgid "_Remove from Roster" msgstr "Entfernen von _Kontaktliste" #: ../data/glade/roster_contact_context_menu.glade.h:15 #: ../data/glade/zeroconf_contact_context_menu.glade.h:7 -#: ../src/roster_window.py:2220 +#: ../src/roster_window.py:2222 msgid "_Rename" msgstr "_Umbenennen" @@ -2154,8 +2029,9 @@ msgstr "In_halte" msgid "_Discover Services" msgstr "_Dienste durchsuchen" -#: ../data/glade/roster_window.glade.h:14 ../src/disco.py:1284 -#: ../src/roster_window.py:2203 +#: ../data/glade/roster_window.glade.h:14 +#: ../src/disco.py:1284 +#: ../src/roster_window.py:2205 msgid "_Edit" msgstr "_Ändern" @@ -2252,12 +2128,8 @@ msgid "Authorize contact so he or she can know when you're connected" msgstr "Kontakt autorisieren, so dass er Ihren Status sehen kann" #: ../data/glade/subscription_request_window.glade.h:3 -msgid "" -"Deny authorization from contact so he or she cannot know when you're " -"connected" -msgstr "" -"Autorisierung des Kontakts verweigern, so dass er nicht sehen kann, wann Sie " -"verbunden sind" +msgid "Deny authorization from contact so he or she cannot know when you're connected" +msgstr "Autorisierung des Kontakts verweigern, so dass er nicht sehen kann, wann Sie verbunden sind" #: ../data/glade/subscription_request_window.glade.h:4 msgid "Subscription Request" @@ -2307,7 +2179,8 @@ msgstr "Kontakt-Information" #: ../data/glade/vcard_information_window.glade.h:24 #: ../data/glade/zeroconf_information_window.glade.h:4 -#: ../data/glade/zeroconf_properties_window.glade.h:13 ../src/dialogs.py:416 +#: ../data/glade/zeroconf_properties_window.glade.h:13 +#: ../src/dialogs.py:416 msgid "Jabber ID:" msgstr "Jabber-ID:" @@ -2386,13 +2259,10 @@ msgstr "Persönlich" #: ../data/glade/zeroconf_properties_window.glade.h:11 msgid "" -"If the default port that is used for incoming messages is unfitting for your " -"setup you can select another one here.\n" +"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 "" -"Wenn 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" +"Wenn 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" "Möglicherweise ist es von Nöten, Ihre Firewall-Einstellungen zu ändern." #: ../data/glade/zeroconf_properties_window.glade.h:15 @@ -2468,7 +2338,8 @@ msgid "Bulgarian" msgstr "Bulgarisch" #: ../src/chat_control.py:52 -msgid "Briton" +#, fuzzy +msgid "Breton" msgstr "Briton" #: ../src/chat_control.py:52 @@ -2496,7 +2367,8 @@ msgid "Spanish" msgstr "Spanisch" #: ../src/chat_control.py:52 -msgid "Basc" +#, fuzzy +msgid "Basque" msgstr "Baskisch" #: ../src/chat_control.py:52 @@ -2539,6 +2411,10 @@ msgstr "Brasilianisch" msgid "Russian" msgstr "Russsich" +#: ../src/chat_control.py:52 +msgid "Serbian" +msgstr "Serbisch" + #: ../src/chat_control.py:52 msgid "Slovak" msgstr "Slovakisch" @@ -2551,39 +2427,32 @@ msgstr "Schwedisch" msgid "Chinese (Ch)" msgstr "Chinesisch" -#: ../src/chat_control.py:208 ../src/dialogs.py:1516 +#: ../src/chat_control.py:207 +#: ../src/dialogs.py:1706 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" +"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 "" -"Wenn das nicht die Sprache ist, für die Sie falschgeschriebene Wörter " -"hervorheben möchten, setzen Sie bitte Ihre $LANG entsprechend. Z.B. für " -"Französisch: export LANG=fr_FR oder export LANG=fr_FR.UTF-8 in ~/." -"bash_profile or global in /etc/profile.\n" +"Wenn das nicht die Sprache ist, für die Sie falschgeschriebene Wörter hervorheben möchten, setzen Sie bitte Ihre $LANG entsprechend. Z.B. für Französisch: export LANG=fr_FR oder export LANG=fr_FR.UTF-8 in ~/.bash_profile or global in /etc/profile.\n" "\n" "Falschgeschriebene Wörter werden nicht hervorgehoben" -#: ../src/chat_control.py:247 +#: ../src/chat_control.py:246 msgid "Spelling language" msgstr "Sprache für die Rechtschreibprüfung" #. we are not connected -#: ../src/chat_control.py:270 ../src/chat_control.py:476 +#: ../src/chat_control.py:269 +#: ../src/chat_control.py:475 msgid "A connection is not available" msgstr "Keine Verbindung verfügbar" -#: ../src/chat_control.py:271 ../src/chat_control.py:477 +#: ../src/chat_control.py:270 +#: ../src/chat_control.py:476 msgid "Your message can not be sent until you are connected." msgstr "Ihre Nachricht kann erst gesendet werden, wenn Sie verbunden sind." -#: ../src/chat_control.py:852 -msgid "Chats" -msgstr "Chats" - #: ../src/chat_control.py:1034 #, python-format msgid "%(nickname)s from group chat %(room_name)s" @@ -2593,8 +2462,7 @@ msgstr "%(nickname)s aus Gruppenchat %(room_name)s" #: ../src/chat_control.py:1123 #, python-format msgid "%s has not broadcast an OpenPGP key, nor has one been assigned" -msgstr "" -"%s hat keinen OpenPGP-Schlüssel verbreitet und es wurde keiner zugewiesen" +msgstr "%s hat keinen OpenPGP-Schlüssel verbreitet und es wurde keiner zugewiesen" #: ../src/chat_control.py:1259 msgid "Encryption enabled" @@ -2605,306 +2473,321 @@ msgid "Encryption disabled" msgstr "Verschlüsselung deaktiviert" #. add_to_roster_menuitem -#: ../src/chat_control.py:1406 ../src/conversation_textview.py:495 -#: ../src/dialogs.py:629 ../src/gajim.py:845 ../src/gajim.py:846 -#: ../src/gajim.py:1190 ../src/roster_window.py:332 -#: ../src/roster_window.py:410 ../src/roster_window.py:1498 -#: ../src/roster_window.py:1508 ../src/roster_window.py:1684 -#: ../src/roster_window.py:1890 ../src/roster_window.py:2475 -#: ../src/roster_window.py:3900 ../src/roster_window.py:3902 -#: ../src/common/contacts.py:73 ../src/common/helpers.py:43 +#: ../src/chat_control.py:1408 +#: ../src/conversation_textview.py:497 +#: ../src/dialogs.py:629 +#: ../src/gajim.py:850 +#: ../src/gajim.py:851 +#: ../src/gajim.py:1196 +#: ../src/roster_window.py:333 +#: ../src/roster_window.py:411 +#: ../src/roster_window.py:1497 +#: ../src/roster_window.py:1507 +#: ../src/roster_window.py:1686 +#: ../src/roster_window.py:1892 +#: ../src/roster_window.py:2477 +#: ../src/roster_window.py:2678 +#: ../src/roster_window.py:3916 +#: ../src/roster_window.py:3918 +#: ../src/common/contacts.py:73 +#: ../src/common/helpers.py:43 #: ../src/common/helpers.py:255 msgid "Not in Roster" msgstr "Nicht in der Liste" #. %s is being replaced in the code with JID -#: ../src/chat_control.py:1550 +#: ../src/chat_control.py:1552 #, python-format msgid "You just received a new message from \"%s\"" msgstr "Sie haben eine neue Nachricht von \"%s\"" -#: ../src/chat_control.py:1551 -msgid "" -"If you close this tab and you have history disabled, this message will be " -"lost." -msgstr "" -"Wenn sie das Fenster schließen und der Verlauf abgeschaltet ist, geht die " -"Nachricht verloren." +#: ../src/chat_control.py:1553 +msgid "If you close this tab and you have history disabled, this message will be lost." +msgstr "Wenn sie das Fenster schließen und der Verlauf abgeschaltet ist, geht die Nachricht verloren." -#: ../src/config.py:137 ../src/config.py:586 +#: ../src/config.py:139 +#: ../src/config.py:588 msgid "Disabled" msgstr "Deaktiviert" -#: ../src/config.py:231 +#: ../src/config.py:233 #, python-format msgid "Every %s _minutes" msgstr "Alle %s _Minuten" -#: ../src/config.py:351 +#: ../src/config.py:353 msgid "Active" msgstr "Aktiv" -#: ../src/config.py:359 +#: ../src/config.py:361 msgid "Event" msgstr "Ereignis" -#: ../src/config.py:682 ../src/gajim.py:2225 +#: ../src/config.py:684 +#: ../src/gajim.py:2237 #, python-format msgid "Dictionary for lang %s not available" msgstr "Wörterburch für Sprache %s nicht verfügbar" -#: ../src/config.py:683 ../src/gajim.py:2226 +#: ../src/config.py:685 +#: ../src/gajim.py:2238 #, python-format -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 zu nutzen." +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 zu nutzen." -#: ../src/config.py:1000 +#: ../src/config.py:1008 msgid "status message title" msgstr "Statusbetreff" -#: ../src/config.py:1000 +#: ../src/config.py:1008 msgid "status message text" msgstr "Statusnachricht" -#: ../src/config.py:1036 +#: ../src/config.py:1044 msgid "First Message Received" msgstr "Erste empfangene Nachricht" -#: ../src/config.py:1037 +#: ../src/config.py:1045 msgid "Next Message Received" msgstr "Nächste empfangene Nachricht" -#: ../src/config.py:1038 +#: ../src/config.py:1046 msgid "Contact Connected" msgstr "Kontakt verbunden" -#: ../src/config.py:1039 +#: ../src/config.py:1047 msgid "Contact Disconnected" msgstr "Kontakt nicht verbunden" -#: ../src/config.py:1040 +#: ../src/config.py:1048 msgid "Message Sent" msgstr "Nachricht gesendet" -#: ../src/config.py:1041 +#: ../src/config.py:1049 msgid "Group Chat Message Highlight" msgstr "Gruppenchat Nachrichten-Hervorhebung" -#: ../src/config.py:1042 +#: ../src/config.py:1050 msgid "Group Chat Message Received" msgstr "Gruppenchat-Nachricht empfangen" -#: ../src/config.py:1049 +#: ../src/config.py:1057 msgid "GMail Email Received" msgstr "E-Mail über Googlemail empfangen" -#: ../src/config.py:1252 +#: ../src/config.py:1260 msgid "OpenPGP is not usable in this computer" msgstr "OpenPGP kann auf diesem Computer nicht genutzt werden" -#: ../src/config.py:1298 +#: ../src/config.py:1306 msgid "You are currently connected to the server" msgstr "Sie sind mit dem Server verbunden" -#: ../src/config.py:1299 +#: ../src/config.py:1307 msgid "To change the account name, you must be disconnected." msgstr "Verbindung muss beendet werden, um Kontonamen zu ändern." -#: ../src/config.py:1302 ../src/config.py:1901 +#: ../src/config.py:1310 +#: ../src/config.py:1916 msgid "Unread events" msgstr "Ungelesene Ereignisse" -#: ../src/config.py:1303 +#: ../src/config.py:1311 msgid "To change the account name, you must read all pending events." msgstr "Um Kontonamen zu ändern, müssen Sie alle neunen Ereignisse lesen." -#: ../src/config.py:1307 +#: ../src/config.py:1315 msgid "Account Name Already Used" msgstr "Kontoname wird bereits verwendet" -#: ../src/config.py:1308 -msgid "" -"This name is already used by another of your accounts. Please choose another " -"name." -msgstr "" -"Dieser Name wird bereits für einen anderen Ihrer Accounts verwendet. Bitte " -"wählenSie einen anderen Namen." +#: ../src/config.py:1316 +msgid "This name is already used by another of your accounts. Please choose another name." +msgstr "Dieser Name wird bereits für einen anderen Ihrer Accounts verwendet. Bitte wählenSie einen anderen Namen." -#: ../src/config.py:1312 ../src/config.py:1316 +#: ../src/config.py:1320 +#: ../src/config.py:1324 msgid "Invalid account name" msgstr "Ungültiger Kontoname" -#: ../src/config.py:1313 +#: ../src/config.py:1321 msgid "Account name cannot be empty." msgstr "Kontoname darf nicht leer sein." -#: ../src/config.py:1317 +#: ../src/config.py:1325 msgid "Account name cannot contain spaces." msgstr "Kontoname darf keine Leerzeichen enthalten." -#: ../src/config.py:1325 ../src/config.py:1331 ../src/config.py:1341 -#: ../src/config.py:3004 +#: ../src/config.py:1333 +#: ../src/config.py:1339 +#: ../src/config.py:1349 +#: ../src/config.py:2900 msgid "Invalid Jabber ID" msgstr "Ungültige Jabber ID" -#: ../src/config.py:1332 +#: ../src/config.py:1340 msgid "A Jabber ID must be in the form \"user@servername\"." msgstr "Jabber ID muss in der Form \"user@servername\" sein." -#: ../src/config.py:1391 +#: ../src/config.py:1399 msgid "Invalid entry" msgstr "Ungültiger Eintrag" -#: ../src/config.py:1392 +#: ../src/config.py:1400 msgid "Custom port must be a port number." msgstr "Proxy Port muss eine Portnummer sein." -#: ../src/config.py:1520 ../src/common/config.py:366 +#: ../src/config.py:1528 +#: ../src/common/config.py:367 msgid "Be right back." msgstr "Bin gleich zurück." -#: ../src/config.py:1530 +#: ../src/config.py:1538 msgid "Relogin now?" msgstr "Jetzt neu einloggen?" -#: ../src/config.py:1531 +#: ../src/config.py:1539 msgid "If you want all the changes to apply instantly, you must relogin." -msgstr "" -"Wenn die Änderungen sofort übernommen werden sollen, müssen Sie sich neu " -"einloggen." +msgstr "Wenn die Änderungen sofort übernommen werden sollen, müssen Sie sich neu einloggen." -#: ../src/config.py:1557 +#: ../src/config.py:1565 msgid "No such account available" msgstr "Account nicht verfügbar" -#: ../src/config.py:1558 +#: ../src/config.py:1566 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" +msgstr "Sie müssen ein Konto erstellen, bevor Sie die persönlichen Informationen ändern können" -#: ../src/config.py:1565 ../src/dialogs.py:1130 ../src/dialogs.py:1316 -#: ../src/disco.py:419 ../src/profile_window.py:323 +#: ../src/config.py:1573 +#: ../src/dialogs.py:1190 +#: ../src/dialogs.py:1326 +#: ../src/dialogs.py:1506 +#: ../src/disco.py:419 +#: ../src/profile_window.py:323 msgid "You are not connected to the server" msgstr "Sie sind nicht mit dem Server verbunden" -#: ../src/config.py:1566 +#: ../src/config.py:1574 msgid "Without a connection, you can not edit your personal information." -msgstr "" -"Sie müssen angemeldet sein, um Ihre persönlichen Informationen zu bearbeiten" +msgstr "Sie müssen angemeldet sein, um Ihre persönlichen Informationen zu bearbeiten" -#: ../src/config.py:1570 +#: ../src/config.py:1578 msgid "Your server doesn't support Vcard" msgstr "Ihr Server unterstützt vCard nicht" -#: ../src/config.py:1571 +#: ../src/config.py:1579 msgid "Your server can't save your personal information." msgstr "Ihr Server kann keine persönlichen Informationen speichern." -#: ../src/config.py:1595 ../src/config.py:3392 +#: ../src/config.py:1610 +#: ../src/config.py:3288 msgid "Failed to get secret keys" msgstr "Holen der geheimen Schlüssel fehlgeschlagen" -#: ../src/config.py:1596 ../src/config.py:3393 +#: ../src/config.py:1611 +#: ../src/config.py:3289 msgid "There was a problem retrieving your OpenPGP secret keys." msgstr "Es gab ein Problem beim Holen ihres geheimen OpenPGP-Schlüssels." -#: ../src/config.py:1599 ../src/config.py:3396 +#: ../src/config.py:1614 +#: ../src/config.py:3292 msgid "OpenPGP Key Selection" msgstr "OpenPGP Schlüssel-Auswahl" -#: ../src/config.py:1600 ../src/config.py:3397 +#: ../src/config.py:1615 +#: ../src/config.py:3293 msgid "Choose your OpenPGP key" msgstr "Wählen Sie Ihren OpenPGP Schlüssel" #. Name column -#: ../src/config.py:1835 ../src/disco.py:740 ../src/disco.py:1495 -#: ../src/disco.py:1733 ../src/history_window.py:78 +#: ../src/config.py:1850 +#: ../src/dialogs.py:1338 +#: ../src/dialogs.py:1402 +#: ../src/disco.py:740 +#: ../src/disco.py:1495 +#: ../src/disco.py:1733 +#: ../src/history_window.py:78 msgid "Name" msgstr "Name" -#: ../src/config.py:1838 +#: ../src/config.py:1853 +#: ../src/dialogs.py:1341 msgid "Server" msgstr "Server" -#: ../src/config.py:1902 +#: ../src/config.py:1917 msgid "Read all pending events before removing this account." msgstr "Alle ungelesenen Ereignisse lesen, bevor der Account entfernt wird." -#: ../src/config.py:1939 +#: ../src/config.py:1954 #, python-format msgid "You have opened chat in account %s" msgstr "Sie haben mit Account %s einen Chat geöffnet" -#: ../src/config.py:1940 +#: ../src/config.py:1955 msgid "All chat and groupchat windows will be closed. Do you want to continue?" msgstr "Alle Chatfenster werden geschlossen. Fortfahren?" -#: ../src/config.py:1999 +#: ../src/config.py:2014 msgid "Account Local already exists." msgstr "Ein Konto mit dem Namen 'Local' ist bereits vorhanden" -#: ../src/config.py:2000 +#: ../src/config.py:2015 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." +msgstr "Bitte benennen Sie es um oder entfernen es, bevor Sie LAN-Kontakte aktivieren." -#: ../src/config.py:2234 +#: ../src/config.py:2111 #, python-format msgid "Edit %s" msgstr "%s ändern" -#: ../src/config.py:2236 +#: ../src/config.py:2113 #, python-format msgid "Register to %s" msgstr "Auf %s registrieren" #. list at the beginning -#: ../src/config.py:2302 +#: ../src/config.py:2179 msgid "Ban List" msgstr "Sperrliste" -#: ../src/config.py:2303 +#: ../src/config.py:2180 msgid "Member List" msgstr "Mitgliedsliste" -#: ../src/config.py:2304 +#: ../src/config.py:2181 msgid "Owner List" msgstr "Listenbesitzer" -#: ../src/config.py:2305 +#: ../src/config.py:2182 msgid "Administrator List" msgstr "Administratorliste" #. Address column #. holds JID (who said this) -#: ../src/config.py:2338 ../src/disco.py:747 ../src/history_manager.py:155 +#: ../src/config.py:2231 +#: ../src/disco.py:747 +#: ../src/history_manager.py:155 msgid "JID" msgstr "JID" -#: ../src/config.py:2346 +#: ../src/config.py:2239 msgid "Reason" msgstr "Grund" -#: ../src/config.py:2351 +#: ../src/config.py:2244 msgid "Nick" msgstr "Spitzname" -#: ../src/config.py:2355 +#: ../src/config.py:2248 msgid "Role" msgstr "Rolle" -#: ../src/config.py:2376 +#: ../src/config.py:2273 msgid "Banning..." msgstr "Verbanne ..." #. You can move '\n' before user@domain if that line is TOO BIG -#: ../src/config.py:2378 +#: ../src/config.py:2275 msgid "" "Whom do you want to ban?\n" "\n" @@ -2912,11 +2795,11 @@ msgstr "" "Wen möchten Sie verbannen?\n" "\n" -#: ../src/config.py:2380 +#: ../src/config.py:2277 msgid "Adding Member..." msgstr "Füge Mitglied hinzu ..." -#: ../src/config.py:2381 +#: ../src/config.py:2278 msgid "" "Whom do you want to make a member?\n" "\n" @@ -2924,11 +2807,11 @@ msgstr "" "Wen möchten Sie zum Mitglied machen?\n" "\n" -#: ../src/config.py:2383 +#: ../src/config.py:2280 msgid "Adding Owner..." msgstr "Füge Besitzer hinzu ..." -#: ../src/config.py:2384 +#: ../src/config.py:2281 msgid "" "Whom do you want to make an owner?\n" "\n" @@ -2936,11 +2819,11 @@ msgstr "" "Wen möchten Sie zum Besitzer machen?\n" "\n" -#: ../src/config.py:2386 +#: ../src/config.py:2283 msgid "Adding Administrator..." msgstr "Füge Administrator hinzu ..." -#: ../src/config.py:2387 +#: ../src/config.py:2284 msgid "" "Whom do you want to make an administrator?\n" "\n" @@ -2948,7 +2831,7 @@ msgstr "" "Wen möchten Sie zum Administrator machen?\n" "\n" -#: ../src/config.py:2388 +#: ../src/config.py:2285 msgid "" "Can be one of the following:\n" "1. user@domain/resource (only that resource matches).\n" @@ -2957,185 +2840,179 @@ msgid "" "4. domain (the domain itself matches, as does any user@domain,\n" "domain/resource, or address containing a subdomain." msgstr "" -"Kann eines der folgenden sein:\"1. benutzer@domain/resource (nur die " -"Resource trifft zu).\n" +"Kann eines der folgenden sein:\"1. benutzer@domain/resource (nur die Resource trifft zu).\n" "2. benutzer@domain (jede Resource trifft zu).\n" "3 domain (die Domain selbst trifft zu, als auch jeder benutzer@domain,\n" "jede domain/resource oder Adresse, die eine Subdomain enthält." -#: ../src/config.py:2493 +#: ../src/config.py:2389 #, python-format msgid "Removing %s account" msgstr "Entferne Konto %s" -#: ../src/config.py:2510 ../src/roster_window.py:2733 +#: ../src/config.py:2406 +#: ../src/roster_window.py:2737 msgid "Password Required" msgstr "Passwort benötigt" -#: ../src/config.py:2511 ../src/roster_window.py:2729 +#: ../src/config.py:2407 +#: ../src/roster_window.py:2733 #, python-format msgid "Enter your password for account %s" msgstr "Geben Sie ihr Passwort für %s ein" -#: ../src/config.py:2512 ../src/roster_window.py:2734 +#: ../src/config.py:2408 +#: ../src/roster_window.py:2738 msgid "Save password" msgstr "Passwort speichern" -#: ../src/config.py:2526 +#: ../src/config.py:2422 #, python-format msgid "Account \"%s\" is connected to the server" msgstr "Konto \"%s\" ist mit Server verbunden" -#: ../src/config.py:2527 +#: ../src/config.py:2423 msgid "If you remove it, the connection will be lost." msgstr "Wenn Sie es entfernen, wird die Verbindung beendet." -#: ../src/config.py:2612 +#: ../src/config.py:2508 msgid "Default" msgstr "Standard" -#: ../src/config.py:2612 +#: ../src/config.py:2508 msgid "?print_status:All" msgstr "?print_status:Alle" -#: ../src/config.py:2613 +#: ../src/config.py:2509 msgid "Enter and leave only" msgstr "Nur betreten und verlassen" -#: ../src/config.py:2614 +#: ../src/config.py:2510 msgid "?print_status:None" msgstr "?print_status:Nichts" -#: ../src/config.py:2682 +#: ../src/config.py:2578 msgid "New Group Chat" msgstr "Neuer Gruppenchat" -#: ../src/config.py:2715 +#: ../src/config.py:2611 msgid "This bookmark has invalid data" msgstr "Dieses Lesezeichen hat ungültige Daten" -#: ../src/config.py:2716 -msgid "" -"Please be sure to fill out server and room fields or remove this bookmark." +#: ../src/config.py:2612 +msgid "Please be sure to fill out server and room fields or remove this bookmark." msgstr "Bitte Serverfeld und Raumfeld ausfüllen oder Lesezeichen löschen." -#: ../src/config.py:2979 +#: ../src/config.py:2875 msgid "Invalid username" msgstr "Ungültiger Benutzername" -#: ../src/config.py:2980 +#: ../src/config.py:2876 msgid "You must provide a username to configure this account." -msgstr "" -"Sie müssen einen Benutzernamen angeben, um diesen Account zu konfigurieren." +msgstr "Sie müssen einen Benutzernamen angeben, um diesen Account zu konfigurieren." -#: ../src/config.py:2990 ../src/dialogs.py:1335 +#: ../src/config.py:2886 +#: ../src/dialogs.py:1525 msgid "Invalid password" msgstr "Ungültiges Passwort" -#: ../src/config.py:2991 +#: ../src/config.py:2887 msgid "You must enter a password for the new account." msgstr "Sie müssen ein Passwort für das neue Konto eingeben." -#: ../src/config.py:2995 ../src/dialogs.py:1340 +#: ../src/config.py:2891 +#: ../src/dialogs.py:1530 msgid "Passwords do not match" msgstr "Passwörter stimmen nicht überein" -#: ../src/config.py:2996 ../src/dialogs.py:1341 +#: ../src/config.py:2892 +#: ../src/dialogs.py:1531 msgid "The passwords typed in both fields must be identical." msgstr "Die Passwörter in beiden Feldern müssen identisch sein." -#: ../src/config.py:3015 +#: ../src/config.py:2911 msgid "Duplicate Jabber ID" msgstr "Doppelte Jabber ID" -#: ../src/config.py:3016 +#: ../src/config.py:2912 msgid "This account is already configured in Gajim." msgstr "Dieser Kontakt bwurde in Gajim bereits konfiguriert." -#: ../src/config.py:3033 +#: ../src/config.py:2929 msgid "Account has been added successfully" msgstr "Account wurde erfolgreich hinzugefügt" -#: ../src/config.py:3034 ../src/config.py:3069 -msgid "" -"You can set advanced account options by pressing the Advanced button, or " -"later by choosing the Accounts menuitem under the Edit menu from the main " -"window." -msgstr "" -"Sie können die erweiterten Kontooptionen durch Klicken des Erweitert-Buttons " -"oder durch Klicken des Konto-Menüpunktes im Bearbeiten-Menü des " -"Hauptfensters erreichen." +#: ../src/config.py:2930 +#: ../src/config.py:2965 +msgid "You can set advanced account options by pressing the Advanced button, or later by choosing the Accounts menuitem under the Edit menu from the main window." +msgstr "Sie können die erweiterten Kontooptionen durch Klicken des Erweitert-Buttons oder durch Klicken des Konto-Menüpunktes im Bearbeiten-Menü des Hauptfensters erreichen." -#: ../src/config.py:3068 +#: ../src/config.py:2964 msgid "Your new account has been created successfully" msgstr "Ihr neues Konto wurde erfolgreich erstellt" -#: ../src/config.py:3086 +#: ../src/config.py:2982 msgid "An error occurred during account creation" msgstr "Während der Konto-Erstellung ist ein Fehler aufgetreten" -#: ../src/config.py:3144 +#: ../src/config.py:3040 msgid "Account name is in use" msgstr "Kontoname ist schon vergeben" -#: ../src/config.py:3145 +#: ../src/config.py:3041 msgid "You already have an account using this name." msgstr "Sie haben bereits ein Konto mit diesem Namen." -#: ../src/conversation_textview.py:273 -msgid "" -"Text below this line is what has been said since the last time you paid " -"attention to this group chat" -msgstr "" -"Text unterhalb dieser Linie stellt dar, was seit ihrem letzten Besuch in " -"diesem Gruppenchat gesagt wurde" +#: ../src/conversation_textview.py:275 +msgid "Text below this line is what has been said since the last time you paid attention to this group chat" +msgstr "Text unterhalb dieser Linie stellt dar, was seit ihrem letzten Besuch in diesem Gruppenchat gesagt wurde" -#: ../src/conversation_textview.py:342 +#: ../src/conversation_textview.py:344 #, python-format msgid "_Actions for \"%s\"" msgstr "_Aktionen für \"%s\"" -#: ../src/conversation_textview.py:354 +#: ../src/conversation_textview.py:356 msgid "Read _Wikipedia Article" msgstr "_Wikipedia-Artikel lesen" -#: ../src/conversation_textview.py:359 +#: ../src/conversation_textview.py:361 msgid "Look it up in _Dictionary" msgstr "Im Wörterbuch _suchen" #. we must have %s in the url if not WIKTIONARY -#: ../src/conversation_textview.py:375 +#: ../src/conversation_textview.py:377 #, python-format msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" msgstr "In Wörterbuch URL fehlt ein \"%s\" und ist nicht Wiktionary" #. we must have %s in the url -#: ../src/conversation_textview.py:388 +#: ../src/conversation_textview.py:390 #, python-format msgid "Web Search URL is missing an \"%s\"" msgstr "In Websuche URL fehlt ein \"%s\"" -#: ../src/conversation_textview.py:391 +#: ../src/conversation_textview.py:393 msgid "Web _Search for it" msgstr "Im _Internet suchen" -#: ../src/conversation_textview.py:397 +#: ../src/conversation_textview.py:399 msgid "Open as _Link" msgstr "Als _Link öffnen" -#: ../src/conversation_textview.py:754 +#: ../src/conversation_textview.py:760 msgid "Yesterday" msgstr "Gestern" #. the number is >= 2 #. %i is day in year (1-365), %d (1-31) we want %i -#: ../src/conversation_textview.py:758 +#: ../src/conversation_textview.py:764 #, python-format msgid "%i days ago" msgstr "Vor %i Tagen" #. if we have subject, show it too! -#: ../src/conversation_textview.py:792 +#: ../src/conversation_textview.py:798 #, python-format msgid "Subject: %s\n" msgstr "Thema: %s\n" @@ -3206,15 +3083,14 @@ msgstr "Yahoo!-Adresse" #: ../src/dialogs.py:457 #, python-format msgid "Please fill in the data of the contact you want to add in account %s" -msgstr "" -"Bitte füllen Sie die Daten für den Kontakt aus, den Sie dem Konto %s " -"hinzufügen wollen" +msgstr "Bitte füllen Sie die Daten für den Kontakt aus, den Sie dem Konto %s hinzufügen wollen" #: ../src/dialogs.py:459 msgid "Please fill in the data of the contact you want to add" msgstr "Bitte geben sie die Daten des neuen Kontakts ein" -#: ../src/dialogs.py:609 ../src/dialogs.py:615 +#: ../src/dialogs.py:609 +#: ../src/dialogs.py:615 msgid "Invalid User ID" msgstr "Ungültige Benutzer ID" @@ -3277,62 +3153,84 @@ msgid "Unable to bind to port %s." msgstr "Konnte nicht mit Port %s verbinden." #: ../src/dialogs.py:909 -msgid "" -"Maybe you have another running instance of Gajim. File Transfer will be " -"cancelled." +msgid "Maybe you have another running instance of Gajim. File Transfer will be cancelled." msgstr "Möglicherweise läuft Gajim bereits. Dateitransfer wird abgebrochen." -#: ../src/dialogs.py:1060 +#: ../src/dialogs.py:1120 #, python-format msgid "Subscription request for account %s from %s" msgstr "Abonnement-Anforderung für Konto %s von %s" -#: ../src/dialogs.py:1063 +#: ../src/dialogs.py:1123 #, python-format msgid "Subscription request from %s" msgstr "Abonnement-Anforderung von %s" -#: ../src/dialogs.py:1123 ../src/roster_window.py:687 +#: ../src/dialogs.py:1183 +#: ../src/roster_window.py:687 #, python-format msgid "You are already in group chat %s" msgstr "Sie sind bereits im Gruppenchat %s" -#: ../src/dialogs.py:1131 +#: ../src/dialogs.py:1191 msgid "You can not join a group chat unless you are connected." msgstr "Sie können einem Gruppenchat erst beitreten, wenn Sie verbunden sind." -#: ../src/dialogs.py:1146 +#: ../src/dialogs.py:1206 #, python-format msgid "Join Group Chat with account %s" msgstr "Betrete Gruppenchat mit Account %s" -#: ../src/dialogs.py:1214 ../src/dialogs.py:1220 +#: ../src/dialogs.py:1274 +#: ../src/dialogs.py:1280 +#: ../src/groupchat_control.py:1469 msgid "Invalid group chat Jabber ID" msgstr "Ungültige Jabber-ID für den Gruppenchat" -#: ../src/dialogs.py:1215 ../src/dialogs.py:1221 +#: ../src/dialogs.py:1275 +#: ../src/dialogs.py:1281 +#: ../src/groupchat_control.py:1470 msgid "The group chat Jabber ID has not allowed characters." msgstr "Die Jabber-ID für den Gruppenchat enthält nicht erlaubte Zeichen." -#: ../src/dialogs.py:1227 +#: ../src/dialogs.py:1287 msgid "This is not a group chat" msgstr "Das ist kein Gruppenchat" -#: ../src/dialogs.py:1228 +#: ../src/dialogs.py:1288 #, python-format msgid "%s is not the name of a group chat." msgstr "%s ist kein Name eines Gruppenchats." -#: ../src/dialogs.py:1267 +#: ../src/dialogs.py:1327 +#, fuzzy +msgid "Without a connection, you can not synchronise your contacts." +msgstr "Sie müssen verbunden sein, um Ihr Passwort zu ändern" + +#: ../src/dialogs.py:1374 +#, fuzzy +msgid "This account is not connected to the server" +msgstr "Konto \"%s\" ist mit Server verbunden" + +#: ../src/dialogs.py:1375 +#, fuzzy +msgid "You cannot synchronize with an account unless it is connected." +msgstr "Sie können einem Gruppenchat erst beitreten, wenn Sie verbunden sind." + +#: ../src/dialogs.py:1399 +msgid "Synchronise" +msgstr "" + +#: ../src/dialogs.py:1457 #, python-format msgid "Start Chat with account %s" msgstr "Starte Chat mit Account %s" -#: ../src/dialogs.py:1269 +#: ../src/dialogs.py:1459 msgid "Start Chat" msgstr "Chat starten" -#: ../src/dialogs.py:1270 +#: ../src/dialogs.py:1460 msgid "" "Fill in the nickname or the Jabber ID of the contact you would like\n" "to send a chat message to:" @@ -3341,231 +3239,261 @@ msgstr "" "an den Sie eine Chat-Nachricht schicken wollen:" #. if offline or connecting -#: ../src/dialogs.py:1295 ../src/dialogs.py:1654 ../src/dialogs.py:1785 +#: ../src/dialogs.py:1485 +#: ../src/dialogs.py:1844 +#: ../src/dialogs.py:1975 msgid "Connection not available" msgstr "Verbindung nicht verfügbar" -#: ../src/dialogs.py:1296 ../src/dialogs.py:1655 ../src/dialogs.py:1786 +#: ../src/dialogs.py:1486 +#: ../src/dialogs.py:1845 +#: ../src/dialogs.py:1976 #, python-format msgid "Please make sure you are connected with \"%s\"." msgstr "Vergewissern Sie sich, dass Sie mit \"%s\" verbunden sind." -#: ../src/dialogs.py:1305 ../src/dialogs.py:1308 +#: ../src/dialogs.py:1495 +#: ../src/dialogs.py:1498 msgid "Invalid JID" msgstr "Ungültige JID" -#: ../src/dialogs.py:1308 +#: ../src/dialogs.py:1498 #, python-format msgid "Unable to parse \"%s\"." msgstr "Kann \"%s\" nicht parsen." -#: ../src/dialogs.py:1317 +#: ../src/dialogs.py:1507 msgid "Without a connection, you can not change your password." msgstr "Sie müssen verbunden sein, um Ihr Passwort zu ändern" -#: ../src/dialogs.py:1336 +#: ../src/dialogs.py:1526 msgid "You must enter a password." msgstr "Sie müssen ein Passwort eingeben." #. img to display #. default value -#: ../src/dialogs.py:1383 ../src/notify.py:212 ../src/notify.py:416 +#: ../src/dialogs.py:1573 +#: ../src/notify.py:212 +#: ../src/notify.py:416 msgid "Contact Signed In" msgstr "Kontakt hat sich angemeldet" -#: ../src/dialogs.py:1385 ../src/notify.py:220 ../src/notify.py:418 +#: ../src/dialogs.py:1575 +#: ../src/notify.py:220 +#: ../src/notify.py:418 msgid "Contact Signed Out" msgstr "Kontakt hat sich abgemeldet" #. chat message -#: ../src/dialogs.py:1387 ../src/notify.py:239 ../src/notify.py:420 +#: ../src/dialogs.py:1577 +#: ../src/notify.py:239 +#: ../src/notify.py:420 msgid "New Message" msgstr "Neue Nachricht" #. single message -#: ../src/dialogs.py:1387 ../src/notify.py:224 ../src/notify.py:420 +#: ../src/dialogs.py:1577 +#: ../src/notify.py:224 +#: ../src/notify.py:420 msgid "New Single Message" msgstr "Neue einzelne Nachricht" #. private message -#: ../src/dialogs.py:1388 ../src/notify.py:231 ../src/notify.py:421 +#: ../src/dialogs.py:1578 +#: ../src/notify.py:231 +#: ../src/notify.py:421 msgid "New Private Message" msgstr "Neue private Nachricht" -#: ../src/dialogs.py:1388 ../src/gajim.py:1285 ../src/notify.py:429 +#: ../src/dialogs.py:1578 +#: ../src/gajim.py:1291 +#: ../src/notify.py:429 msgid "New E-mail" msgstr "Neue E-Mail" -#: ../src/dialogs.py:1390 ../src/gajim.py:1438 ../src/notify.py:423 +#: ../src/dialogs.py:1580 +#: ../src/gajim.py:1444 +#: ../src/notify.py:423 msgid "File Transfer Request" msgstr "Dateitransfer Anfrage" -#: ../src/dialogs.py:1392 ../src/gajim.py:1257 ../src/gajim.py:1414 +#: ../src/dialogs.py:1582 +#: ../src/gajim.py:1263 +#: ../src/gajim.py:1420 #: ../src/notify.py:425 msgid "File Transfer Error" msgstr "Dateitransfer-Fehler" -#: ../src/dialogs.py:1394 ../src/gajim.py:1477 ../src/gajim.py:1499 -#: ../src/gajim.py:1516 ../src/notify.py:427 +#: ../src/dialogs.py:1584 +#: ../src/gajim.py:1483 +#: ../src/gajim.py:1505 +#: ../src/gajim.py:1522 +#: ../src/notify.py:427 msgid "File Transfer Completed" msgstr "Dateitransfer beendet" -#: ../src/dialogs.py:1395 ../src/gajim.py:1480 ../src/notify.py:427 +#: ../src/dialogs.py:1585 +#: ../src/gajim.py:1486 +#: ../src/notify.py:427 msgid "File Transfer Stopped" msgstr "Dateitransfer gestoppt" -#: ../src/dialogs.py:1397 ../src/gajim.py:1154 ../src/notify.py:431 +#: ../src/dialogs.py:1587 +#: ../src/gajim.py:1160 +#: ../src/notify.py:431 msgid "Groupchat Invitation" msgstr "Gruppenchat-Einladung" -#: ../src/dialogs.py:1399 ../src/notify.py:204 ../src/notify.py:433 +#: ../src/dialogs.py:1589 +#: ../src/notify.py:204 +#: ../src/notify.py:433 msgid "Contact Changed Status" msgstr "Kontakt hat Status verändert" -#: ../src/dialogs.py:1584 +#: ../src/dialogs.py:1774 #, python-format msgid "Single Message using account %s" msgstr "Einzelne Nachricht mit Account %s" -#: ../src/dialogs.py:1586 +#: ../src/dialogs.py:1776 #, python-format msgid "Single Message in account %s" msgstr "Einzelne Nachricht in Account %s" -#: ../src/dialogs.py:1588 +#: ../src/dialogs.py:1778 msgid "Single Message" msgstr "Einzelne Nachricht" #. prepare UI for Sending -#: ../src/dialogs.py:1591 +#: ../src/dialogs.py:1781 #, python-format msgid "Send %s" msgstr "Sende %s" #. prepare UI for Receiving -#: ../src/dialogs.py:1614 +#: ../src/dialogs.py:1804 #, python-format msgid "Received %s" msgstr "%s empfangen" #. we create a new blank window to send and we preset RE: and to jid -#: ../src/dialogs.py:1686 +#: ../src/dialogs.py:1876 #, python-format msgid "RE: %s" msgstr "RE: %s" -#: ../src/dialogs.py:1687 +#: ../src/dialogs.py:1877 #, python-format msgid "%s wrote:\n" msgstr "%s schrieb:\n" -#: ../src/dialogs.py:1731 +#: ../src/dialogs.py:1921 #, python-format msgid "XML Console for %s" msgstr "XML Konsole für %s" -#: ../src/dialogs.py:1733 +#: ../src/dialogs.py:1923 msgid "XML Console" msgstr "XML Konsole" -#: ../src/dialogs.py:1856 +#: ../src/dialogs.py:2046 #, python-format msgid "Privacy List %s" msgstr "Privatliste %s" -#: ../src/dialogs.py:1860 +#: ../src/dialogs.py:2050 #, python-format msgid "Privacy List for %s" msgstr "Privatsphären-Liste für %s" -#: ../src/dialogs.py:1908 +#: ../src/dialogs.py:2098 #, python-format msgid "Order: %s, action: %s, type: %s, value: %s" msgstr "Sortierung: %s, Aktion: %s, Typ: %s, Wert: %s" -#: ../src/dialogs.py:1911 +#: ../src/dialogs.py:2101 #, python-format msgid "Order: %s, action: %s" msgstr "Sortierung: %s, Aktion: %s" -#: ../src/dialogs.py:1953 +#: ../src/dialogs.py:2143 msgid "Edit a rule" msgstr "Eine Regel bearbeiten" -#: ../src/dialogs.py:2040 +#: ../src/dialogs.py:2230 msgid "Add a rule" msgstr "Eine Regel hinzufügen" -#: ../src/dialogs.py:2136 +#: ../src/dialogs.py:2326 #, python-format msgid "Privacy Lists for %s" msgstr "Privatliste für %s" -#: ../src/dialogs.py:2138 +#: ../src/dialogs.py:2328 msgid "Privacy Lists" msgstr "Privatlisten" -#: ../src/dialogs.py:2208 +#: ../src/dialogs.py:2398 msgid "Invalid List Name" msgstr "Ungültiger Listenname" -#: ../src/dialogs.py:2209 +#: ../src/dialogs.py:2399 msgid "You must enter a name to create a privacy list." -msgstr "" -"Sie müssen einen Namen eingeben um eine Privatsphären-Liste zu erstellen." +msgstr "Sie müssen einen Namen eingeben um eine Privatsphären-Liste zu erstellen." #. Don't translate $Contact -#: ../src/dialogs.py:2243 +#: ../src/dialogs.py:2433 #, python-format msgid "$Contact has invited you to group chat %(room_jid)s" msgstr "$Contact hat Sie in den Gruppenchat %(room_jid)s eingeladen" #. only if not None and not '' -#: ../src/dialogs.py:2255 +#: ../src/dialogs.py:2445 #, python-format msgid "Comment: %s" msgstr "Kommentar: %s" -#: ../src/dialogs.py:2317 +#: ../src/dialogs.py:2507 msgid "Choose Sound" msgstr "Sound wählen" -#: ../src/dialogs.py:2327 ../src/dialogs.py:2372 +#: ../src/dialogs.py:2517 +#: ../src/dialogs.py:2562 msgid "All files" msgstr "Alle Dateien" -#: ../src/dialogs.py:2332 +#: ../src/dialogs.py:2522 msgid "Wav Sounds" msgstr "Wav Dateien" -#: ../src/dialogs.py:2362 +#: ../src/dialogs.py:2552 msgid "Choose Image" msgstr "Bild auswählen" -#: ../src/dialogs.py:2377 +#: ../src/dialogs.py:2567 msgid "Images" msgstr "Bilder" -#: ../src/dialogs.py:2434 +#: ../src/dialogs.py:2624 #, python-format msgid "When %s becomes:" msgstr "Wenn %s wird:" -#: ../src/dialogs.py:2436 +#: ../src/dialogs.py:2626 #, python-format msgid "Adding Special Notification for %s" msgstr "Füge speziellen Hinweis für %s hinzu" #. # means number -#: ../src/dialogs.py:2507 +#: ../src/dialogs.py:2697 msgid "#" msgstr "Nr." -#: ../src/dialogs.py:2513 +#: ../src/dialogs.py:2703 msgid "Condition" msgstr "Bedingung" -#: ../src/dialogs.py:2634 +#: ../src/dialogs.py:2824 msgid "when I am " msgstr "wenn Ich bin " @@ -3573,12 +3501,20 @@ msgstr "wenn Ich bin " msgid "Others" msgstr "Andere" -#: ../src/disco.py:104 ../src/disco.py:105 ../src/disco.py:1281 -#: ../src/gajim.py:599 ../src/roster_window.py:271 ../src/roster_window.py:329 -#: ../src/roster_window.py:368 ../src/roster_window.py:451 -#: ../src/roster_window.py:483 ../src/roster_window.py:485 -#: ../src/roster_window.py:3896 ../src/roster_window.py:3898 -#: ../src/common/contacts.py:267 ../src/common/contacts.py:282 +#: ../src/disco.py:104 +#: ../src/disco.py:105 +#: ../src/disco.py:1281 +#: ../src/gajim.py:604 +#: ../src/roster_window.py:272 +#: ../src/roster_window.py:330 +#: ../src/roster_window.py:369 +#: ../src/roster_window.py:451 +#: ../src/roster_window.py:483 +#: ../src/roster_window.py:485 +#: ../src/roster_window.py:3912 +#: ../src/roster_window.py:3914 +#: ../src/common/contacts.py:267 +#: ../src/common/contacts.py:282 #: ../src/common/helpers.py:43 msgid "Transports" msgstr "Transports" @@ -3606,21 +3542,17 @@ msgid "The service could not be found" msgstr "Der Dienst konnte nicht gefunden werden" #: ../src/disco.py:642 -msgid "" -"There is no service at the address you entered, or it is not responding. " -"Check the address and try again." -msgstr "" -"Es existiert kein Dienst an der Adresse, die sie angegeben haben oder er " -"antwortet nicht. Überprüfen Sie die Adresse und versuchen Sie es erneut." +msgid "There is no service at the address you entered, or it is not responding. Check the address and try again." +msgstr "Es existiert kein Dienst an der Adresse, die sie angegeben haben oder er antwortet nicht. Überprüfen Sie die Adresse und versuchen Sie es erneut." -#: ../src/disco.py:646 ../src/disco.py:927 +#: ../src/disco.py:646 +#: ../src/disco.py:927 msgid "The service is not browsable" msgstr "Der Dienst ist nicht durchsuchbar" #: ../src/disco.py:647 msgid "This type of service does not contain any items to browse." -msgstr "" -"Dieser Art von Dienst enthält keine Objekte, di edurchsucht werden können." +msgstr "Dieser Art von Dienst enthält keine Objekte, di edurchsucht werden können." #: ../src/disco.py:727 #, python-format @@ -3635,7 +3567,8 @@ msgstr "_Durchsuche" msgid "This service does not contain any items to browse." msgstr "Dieser Dienst enthält keine keine durchsuchbaren Objekte." -#: ../src/disco.py:1155 ../src/disco.py:1286 +#: ../src/disco.py:1155 +#: ../src/disco.py:1286 msgid "Re_gister" msgstr "Re_gistrieren" @@ -3687,136 +3620,142 @@ msgstr "Zeit" msgid "Progress" msgstr "Fortschritt" -#: ../src/filetransfers_window.py:163 ../src/filetransfers_window.py:223 +#: ../src/filetransfers_window.py:161 +#: ../src/filetransfers_window.py:215 #, python-format msgid "Filename: %s" msgstr "Dateiname: %s" -#: ../src/filetransfers_window.py:164 ../src/filetransfers_window.py:298 +#: ../src/filetransfers_window.py:162 +#: ../src/filetransfers_window.py:290 #, python-format msgid "Size: %s" msgstr "Größe: %s" #. You is a reply of who sent a file #. You is a reply of who received a file -#: ../src/filetransfers_window.py:173 ../src/filetransfers_window.py:183 +#: ../src/filetransfers_window.py:171 +#: ../src/filetransfers_window.py:181 #: ../src/history_manager.py:463 msgid "You" msgstr "Sie" -#: ../src/filetransfers_window.py:174 +#: ../src/filetransfers_window.py:172 #, python-format msgid "Sender: %s" msgstr "Gespeichert in: %s" -#: ../src/filetransfers_window.py:175 ../src/filetransfers_window.py:572 +#: ../src/filetransfers_window.py:173 +#: ../src/filetransfers_window.py:564 #: ../src/tooltips.py:573 msgid "Recipient: " msgstr "Empfänger: " -#: ../src/filetransfers_window.py:186 +#: ../src/filetransfers_window.py:184 #, python-format msgid "Saved in: %s" msgstr "Absender: %s" -#: ../src/filetransfers_window.py:188 +#: ../src/filetransfers_window.py:186 msgid "File transfer completed" msgstr "Dateitransfer abgeschlossen" -#: ../src/filetransfers_window.py:204 ../src/filetransfers_window.py:212 +#: ../src/filetransfers_window.py:200 +#: ../src/filetransfers_window.py:206 msgid "File transfer cancelled" msgstr "Dateitransfer abgebrochen" -#: ../src/filetransfers_window.py:204 ../src/filetransfers_window.py:213 +#: ../src/filetransfers_window.py:200 +#: ../src/filetransfers_window.py:207 msgid "Connection with peer cannot be established." msgstr "Verbindung zum Teilnehmer kann nicht hergestellt werden" -#: ../src/filetransfers_window.py:224 +#: ../src/filetransfers_window.py:216 #, python-format msgid "Recipient: %s" msgstr "Empfänger: %s" -#: ../src/filetransfers_window.py:226 +#: ../src/filetransfers_window.py:218 #, python-format msgid "Error message: %s" msgstr "Fehlermeldung: %s" -#: ../src/filetransfers_window.py:227 +#: ../src/filetransfers_window.py:219 msgid "File transfer stopped by the contact at the other end" msgstr "Gegenseite hat Dateitransfer gestoppt" -#: ../src/filetransfers_window.py:244 +#: ../src/filetransfers_window.py:236 msgid "Choose File to Send..." msgstr "Datei auswählen ..." -#: ../src/filetransfers_window.py:263 +#: ../src/filetransfers_window.py:255 msgid "Gajim cannot access this file" msgstr "Gajim kann auf diese Datei nicht zugreifen" -#: ../src/filetransfers_window.py:264 +#: ../src/filetransfers_window.py:256 msgid "This file is being used by another process." msgstr "Diese Datei wird von einem anderen Prozess verwendet." -#: ../src/filetransfers_window.py:296 +#: ../src/filetransfers_window.py:288 #, python-format msgid "File: %s" msgstr "Datei: %s" -#: ../src/filetransfers_window.py:301 +#: ../src/filetransfers_window.py:293 #, python-format msgid "Type: %s" msgstr "Typ: %s" -#: ../src/filetransfers_window.py:303 +#: ../src/filetransfers_window.py:295 #, python-format msgid "Description: %s" msgstr "Beschreibung: %s" -#: ../src/filetransfers_window.py:304 +#: ../src/filetransfers_window.py:296 #, python-format msgid "%s wants to send you a file:" msgstr "%s möchte ihnen eine Datei senden:" -#: ../src/filetransfers_window.py:318 ../src/gtkgui_helpers.py:748 +#: ../src/filetransfers_window.py:310 +#: ../src/gtkgui_helpers.py:750 #, python-format msgid "Cannot overwrite existing file \"%s\"" msgstr "Kann existierende Datei \"%s\" nicht überschreiben" -#: ../src/filetransfers_window.py:319 ../src/gtkgui_helpers.py:750 -msgid "" -"A file with this name already exists and you do not have permission to " -"overwrite it." -msgstr "" -"Eine Datei mit diesem Namen existiert bereits und Sie haben nicht die Rechte " -"sie zu überschreiben." +#: ../src/filetransfers_window.py:311 +#: ../src/gtkgui_helpers.py:752 +msgid "A file with this name already exists and you do not have permission to overwrite it." +msgstr "Eine Datei mit diesem Namen existiert bereits und Sie haben nicht die Rechte sie zu überschreiben." -#: ../src/filetransfers_window.py:326 ../src/gtkgui_helpers.py:754 +#: ../src/filetransfers_window.py:318 +#: ../src/gtkgui_helpers.py:756 msgid "This file already exists" msgstr "Diese Datei existiert bereits" -#: ../src/filetransfers_window.py:326 ../src/gtkgui_helpers.py:754 +#: ../src/filetransfers_window.py:318 +#: ../src/gtkgui_helpers.py:756 msgid "What do you want to do?" msgstr "Was möchten Sie tun?" -#: ../src/filetransfers_window.py:338 ../src/gtkgui_helpers.py:764 +#: ../src/filetransfers_window.py:330 +#: ../src/gtkgui_helpers.py:766 #, python-format msgid "Directory \"%s\" is not writable" msgstr "Verzeichnis \"%s\" ist nicht schreibbar" -#: ../src/filetransfers_window.py:338 ../src/gtkgui_helpers.py:765 +#: ../src/filetransfers_window.py:330 +#: ../src/gtkgui_helpers.py:767 msgid "You do not have permission to create files in this directory." -msgstr "" -"Ihre Benutzerrechte erlauben es Ihnen nicht, in diesem Verzeichnis Dateien " -"anzulegen." +msgstr "Ihre Benutzerrechte erlauben es Ihnen nicht, in diesem Verzeichnis Dateien anzulegen." -#: ../src/filetransfers_window.py:348 +#: ../src/filetransfers_window.py:340 msgid "Save File as..." msgstr "Datei speichern unter ..." #. Print remaining time in format 00:00:00 #. You can change the places of (hours), (minutes), (seconds) - #. they are not translatable. -#: ../src/filetransfers_window.py:429 +#: ../src/filetransfers_window.py:421 #, python-format msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" @@ -3824,32 +3763,35 @@ msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" #. This should make the string Kb/s, #. where 'Kb' part is taken from %s. #. Only the 's' after / (which means second) should be translated. -#: ../src/filetransfers_window.py:505 +#: ../src/filetransfers_window.py:497 #, python-format msgid "(%(filesize_unit)s/s)" msgstr "(%(filesize_unit)s/s)" -#: ../src/filetransfers_window.py:544 ../src/filetransfers_window.py:547 +#: ../src/filetransfers_window.py:536 +#: ../src/filetransfers_window.py:539 msgid "Invalid File" msgstr "Ungültige Datei" -#: ../src/filetransfers_window.py:544 +#: ../src/filetransfers_window.py:536 msgid "File: " msgstr "Datei: " -#: ../src/filetransfers_window.py:548 +#: ../src/filetransfers_window.py:540 msgid "It is not possible to send empty files" msgstr "Es nicht möglich, leere Dateien zu versenden" -#: ../src/filetransfers_window.py:568 ../src/tooltips.py:563 +#: ../src/filetransfers_window.py:560 +#: ../src/tooltips.py:563 msgid "Name: " msgstr "Name: " -#: ../src/filetransfers_window.py:570 ../src/tooltips.py:567 +#: ../src/filetransfers_window.py:562 +#: ../src/tooltips.py:567 msgid "Sender: " msgstr "Absender: " -#: ../src/filetransfers_window.py:758 +#: ../src/filetransfers_window.py:750 msgid "Pause" msgstr "Pause" @@ -3884,19 +3826,12 @@ msgstr "GTK+ runtine fehlt libglade-Unterstützung" #: ../src/gajim.py:137 #, python-format -msgid "" -"Please remove your current GTK+ runtime and install the latest stable " -"version from %s" -msgstr "" -"Bitte entfernen Sie Ihre derzeitige GTK+ Laufzeitumgebung und installieren " -"Sie die aktuelle Version von %s" +msgid "Please remove your current GTK+ runtime and install the latest stable version from %s" +msgstr "Bitte entfernen Sie Ihre derzeitige GTK+ Laufzeitumgebung und installieren Sie die aktuelle Version von %s" #: ../src/gajim.py:139 -msgid "" -"Please make sure that GTK+ and PyGTK have libglade support in your system." -msgstr "" -"Bitte stellen Sie sicher, dass GTK+ und PyGTK auf Ihrem System libglade-" -"Unterstützung besitzen." +msgid "Please make sure that GTK+ and PyGTK have libglade support in your system." +msgstr "Bitte stellen Sie sicher, dass GTK+ und PyGTK auf Ihrem System libglade-Unterstützung besitzen." #: ../src/gajim.py:144 msgid "Gajim needs PySQLite2 to run" @@ -3908,19 +3843,15 @@ msgstr "Gajim benötigt pywin32 zum Laufen" #: ../src/gajim.py:153 #, python-format -msgid "" -"Please make sure that Pywin32 is installed on your system. You can get it at " -"%s" -msgstr "" -"Bitte stellen Sie sicher das Pywin32 auf Ihrem System installiert ist. Sie " -"können es unter folgender URL herunterladen: %s " +msgid "Please make sure that Pywin32 is installed on your system. You can get it at %s" +msgstr "Bitte stellen Sie sicher das Pywin32 auf Ihrem System installiert ist. Sie können es unter folgender URL herunterladen: %s " #. set the icon to all newly opened wind -#: ../src/gajim.py:296 +#: ../src/gajim.py:300 msgid "Gajim is already running" msgstr "Gajim läuft bereits" -#: ../src/gajim.py:297 +#: ../src/gajim.py:301 msgid "" "Another instance of Gajim seems to be running\n" "Run anyway?" @@ -3928,84 +3859,88 @@ msgstr "" "Eine andere Instanz von Gajim schein bereits zu laufen\n" "Trotzdem starten?" -#: ../src/gajim.py:403 +#: ../src/gajim.py:408 #, python-format msgid "HTTP (%s) Authorization for %s (id: %s)" msgstr "HTTP (%s) Autorisierung für %s (id: %s)" -#: ../src/gajim.py:404 +#: ../src/gajim.py:409 msgid "Do you accept this request?" msgstr "Akzeptieren Sie diese Anfrage?" -#: ../src/gajim.py:450 ../src/notify.py:435 +#: ../src/gajim.py:455 +#: ../src/notify.py:435 msgid "Connection Failed" msgstr "Verbindung fehlgeschlagen" -#: ../src/gajim.py:770 +#: ../src/gajim.py:775 #, python-format msgid "Subject: %s" msgstr "Thema: %s" #. ('MSGNOTSENT', account, (jid, ierror_msg, msg, time)) -#: ../src/gajim.py:815 ../src/gajim.py:828 +#: ../src/gajim.py:820 +#: ../src/gajim.py:833 #, python-format msgid "error while sending %s ( %s )" msgstr "Fehler beim Senden von %s ( %s )" -#: ../src/gajim.py:861 +#: ../src/gajim.py:866 msgid "Authorization accepted" msgstr "Autorisierung akzeptiert" -#: ../src/gajim.py:862 +#: ../src/gajim.py:867 #, python-format msgid "The contact \"%s\" has authorized you to see his or her status." msgstr "Kontakt \"%s\" hat Sie autorisiert seinen oder ihren Staus zu sehen." -#: ../src/gajim.py:870 +#: ../src/gajim.py:875 #, python-format msgid "Contact \"%s\" removed subscription from you" msgstr "Kontakt \"%s\" hat das Abonnement zurückgezogen" -#: ../src/gajim.py:871 +#: ../src/gajim.py:876 msgid "You will always see him or her as offline." msgstr "Sie werden den Kontakt ab sofort als offline sehen." -#: ../src/gajim.py:914 +#: ../src/gajim.py:920 #, python-format msgid "Contact with \"%s\" cannot be established" msgstr "Kontakt mit \"%s\" konnte nicht hergestellt werden" -#: ../src/gajim.py:915 ../src/common/connection.py:418 +#: ../src/gajim.py:921 +#: ../src/common/connection.py:434 msgid "Check your connection or try again later." -msgstr "" -"Überprüfen Sie die Verbindung oder versuchen Sie es später noch einmal." +msgstr "Überprüfen Sie die Verbindung oder versuchen Sie es später noch einmal." -#: ../src/gajim.py:1064 ../src/roster_window.py:1218 +#: ../src/gajim.py:1070 +#: ../src/roster_window.py:1218 #, python-format msgid "%s is now %s (%s)" msgstr "%s ist jetzt %s (%s)" #. No status message -#: ../src/gajim.py:1067 ../src/groupchat_control.py:944 +#: ../src/gajim.py:1073 +#: ../src/groupchat_control.py:962 #: ../src/roster_window.py:1221 #, python-format msgid "%s is now %s" msgstr "%s ist jetzt %s" -#: ../src/gajim.py:1164 +#: ../src/gajim.py:1170 msgid "Your passphrase is incorrect" msgstr "Ihre Passphrase ist falsch" -#: ../src/gajim.py:1165 +#: ../src/gajim.py:1171 msgid "You are currently connected without your OpenPGP key." msgstr "Sie wurden ohne ihren GPG-Schlüssel verbunden" -#: ../src/gajim.py:1268 +#: ../src/gajim.py:1274 #, python-format msgid "New mail on %(gmail_mail_address)s" msgstr "Neue E-Mail auf %(gmail_mail_address)s" -#: ../src/gajim.py:1270 +#: ../src/gajim.py:1276 #, python-format msgid "You have %d new mail conversation" msgid_plural "You have %d new mail conversations" @@ -4015,7 +3950,7 @@ msgstr[1] "Sie haben %d ungelesene E-Mail-Nachrichten" #. FIXME: emulate Gtalk client popups. find out what they parse and how #. they decide what to show #. each message has a 'From', 'Subject' and 'Snippet' field -#: ../src/gajim.py:1279 +#: ../src/gajim.py:1285 #, python-format msgid "" "\n" @@ -4024,53 +3959,52 @@ msgstr "" "\n" "Von: %(from_address)s" -#: ../src/gajim.py:1435 +#: ../src/gajim.py:1441 #, python-format msgid "%s wants to send you a file." msgstr "%s möchte ihnen eine Datei senden." -#: ../src/gajim.py:1500 +#: ../src/gajim.py:1506 #, python-format msgid "You successfully received %(filename)s from %(name)s." msgstr "Sie haben %(filename)s erfolgreich von %(name)s erhalten." #. ft stopped -#: ../src/gajim.py:1504 +#: ../src/gajim.py:1510 #, python-format msgid "File transfer of %(filename)s from %(name)s stopped." msgstr "Dateitransfer %(filename)s von %(name)s wurde gestoppt." -#: ../src/gajim.py:1517 +#: ../src/gajim.py:1523 #, python-format msgid "You successfully sent %(filename)s to %(name)s." msgstr "Sie haben%(filename)s erfolgreich an %(name)s gesendet." #. ft stopped -#: ../src/gajim.py:1521 +#: ../src/gajim.py:1527 #, python-format msgid "File transfer of %(filename)s to %(name)s stopped." msgstr "Dateitransfer von %(filename)s an %(name)s wurde gestoppt." -#: ../src/gajim.py:1634 +#: ../src/gajim.py:1640 msgid "Username Conflict" msgstr "Benutzernamenkonflikt" -#: ../src/gajim.py:1635 +#: ../src/gajim.py:1641 msgid "Please type a new username for your local account" -msgstr "" -"Bitte geben Sie einen neuen Benutzernamen für Ihr lokales Konto ein" +msgstr "Bitte geben Sie einen neuen Benutzernamen für Ihr lokales Konto ein" #. it is good to notify the user #. in case he or she cannot see the output of the console -#: ../src/gajim.py:1975 +#: ../src/gajim.py:1987 msgid "Could not save your settings and preferences" msgstr "Konnte Einstellungen nicht speichern" -#: ../src/gajim.py:2173 +#: ../src/gajim.py:2185 msgid "Network Manager support not available" msgstr "Unterstützung für Network Manager nicht verfügbar" -#: ../src/gajim.py:2252 +#: ../src/gajim.py:2264 msgid "Session Management support not available (missing gnome.ui module)" msgstr "Sitzungsmanagment-Unterstützung nicht verfügbar (Modul gnome.ui fehlt)" @@ -4096,17 +4030,21 @@ msgid "Pops up a window with the next pending event" msgstr "Zeige Popup-Fenster mit dem nächsten ungelesenen Ereignis" #: ../src/gajim-remote.py:81 -msgid "" -"Prints a list of all contacts in the roster. Each contact appears on a " -"separate line" +msgid "Prints a list of all contacts in the roster. Each contact appears on a separate line" msgstr "Gibt eine Liste aller Kontakte im Roster aus. Eine Zeile je Kontakt" -#: ../src/gajim-remote.py:84 ../src/gajim-remote.py:99 -#: ../src/gajim-remote.py:109 ../src/gajim-remote.py:122 -#: ../src/gajim-remote.py:136 ../src/gajim-remote.py:157 -#: ../src/gajim-remote.py:187 ../src/gajim-remote.py:196 -#: ../src/gajim-remote.py:203 ../src/gajim-remote.py:210 -#: ../src/gajim-remote.py:221 ../src/gajim-remote.py:237 +#: ../src/gajim-remote.py:84 +#: ../src/gajim-remote.py:99 +#: ../src/gajim-remote.py:109 +#: ../src/gajim-remote.py:122 +#: ../src/gajim-remote.py:136 +#: ../src/gajim-remote.py:157 +#: ../src/gajim-remote.py:187 +#: ../src/gajim-remote.py:196 +#: ../src/gajim-remote.py:203 +#: ../src/gajim-remote.py:210 +#: ../src/gajim-remote.py:221 +#: ../src/gajim-remote.py:237 #: ../src/gajim-remote.py:246 msgid "account" msgstr "Konto" @@ -4132,7 +4070,8 @@ msgstr "Status" msgid "one of: offline, online, chat, away, xa, dnd, invisible " msgstr "Eins von: offline, online, chat, away, xa, dnd, invisible " -#: ../src/gajim-remote.py:98 ../src/gajim-remote.py:119 +#: ../src/gajim-remote.py:98 +#: ../src/gajim-remote.py:119 #: ../src/gajim-remote.py:133 msgid "message" msgstr "Nachricht" @@ -4142,67 +4081,54 @@ msgid "status message" msgstr "Statusnachricht" #: ../src/gajim-remote.py:99 -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 "" -"Ändere Status vom Konto \"account\". Falls nicht angegeben, ändere Status " -"aller Konten für die \"Kontostatus mit globalem Status abgleichen\" " -"aktiviert ist" +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 "Ändere Status vom Konto \"account\". Falls nicht angegeben, ändere Status aller Konten für die \"Kontostatus mit globalem Status abgleichen\" aktiviert ist" #: ../src/gajim-remote.py:105 msgid "Shows the chat dialog so that you can send messages to a contact" -msgstr "" -"Zeige Chatfenster, so dass eine Nachricht an einen Kontakt gesendet werden " -"kann" +msgstr "Zeige Chatfenster, so dass eine Nachricht an einen Kontakt gesendet werden kann" #: ../src/gajim-remote.py:107 msgid "JID of the contact that you want to chat with" msgstr "JID des Kontakts mit Sie chatten möchten" -#: ../src/gajim-remote.py:109 ../src/gajim-remote.py:187 +#: ../src/gajim-remote.py:109 +#: ../src/gajim-remote.py:187 msgid "if specified, contact is taken from the contact list of this account" msgstr "falls angegeben, wird der Kontakt von der Liste dieses Kontos gewählt" #: ../src/gajim-remote.py:114 -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 "" -"Sende neue Chat-Nachricht zu einem Kontakt im Roster. OpenPGP-Schlüssel und " -"Konto sind optional. Falls nur 'Konto' gesetzt werden soll, ohne OpenGPG-" -"Schlüssel, setzen Sie 'OpenGPG-Schlüssel' einfach auf ''." +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 "Sende neue Chat-Nachricht zu einem Kontakt im Roster. OpenPGP-Schlüssel und Konto sind optional. Falls nur 'Konto' gesetzt werden soll, ohne OpenGPG-Schlüssel, setzen Sie 'OpenGPG-Schlüssel' einfach auf ''." -#: ../src/gajim-remote.py:118 ../src/gajim-remote.py:131 +#: ../src/gajim-remote.py:118 +#: ../src/gajim-remote.py:131 msgid "JID of the contact that will receive the message" msgstr "JID des Kontakts, der die Nachricht empfängt" -#: ../src/gajim-remote.py:119 ../src/gajim-remote.py:133 +#: ../src/gajim-remote.py:119 +#: ../src/gajim-remote.py:133 msgid "message contents" msgstr "Nachrichteninhalt" -#: ../src/gajim-remote.py:120 ../src/gajim-remote.py:134 +#: ../src/gajim-remote.py:120 +#: ../src/gajim-remote.py:134 msgid "pgp key" msgstr "PGP-Schlüssel" -#: ../src/gajim-remote.py:120 ../src/gajim-remote.py:134 +#: ../src/gajim-remote.py:120 +#: ../src/gajim-remote.py:134 msgid "if specified, the message will be encrypted using this public key" msgstr "falls angegeben, wird die Nachricht damit verschlüsselt" -#: ../src/gajim-remote.py:122 ../src/gajim-remote.py:136 +#: ../src/gajim-remote.py:122 +#: ../src/gajim-remote.py:136 msgid "if specified, the message will be sent using this account" msgstr "falls angegeben, wird die Nachricht über dieses Konto gesendet" #: ../src/gajim-remote.py:127 -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 "" -"Sende neue einzelne Nachricht an einen Kontakt im Roster. OpenPGP-Schlüssel " -"und Konto sind optional. Falls nur 'Konto' gesetzt werden soll, ohne OpenGPG-" -"Schlüssel, lassen Sie 'OpenGPG-Schlüssel' einfach leer." +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 "Sende neue einzelne Nachricht an einen Kontakt im Roster. OpenPGP-Schlüssel und Konto sind optional. Falls nur 'Konto' gesetzt werden soll, ohne OpenGPG-Schlüssel, lassen Sie 'OpenGPG-Schlüssel' einfach leer." #: ../src/gajim-remote.py:132 msgid "subject" @@ -4216,8 +4142,10 @@ msgstr "Nachrichten-Betreff" msgid "Gets detailed info on a contact" msgstr "Zeige detaillierte Informationen über Kontakt" -#: ../src/gajim-remote.py:143 ../src/gajim-remote.py:156 -#: ../src/gajim-remote.py:186 ../src/gajim-remote.py:195 +#: ../src/gajim-remote.py:143 +#: ../src/gajim-remote.py:156 +#: ../src/gajim-remote.py:186 +#: ../src/gajim-remote.py:195 msgid "JID of the contact" msgstr "JID des Kontakts" @@ -4295,16 +4223,11 @@ msgstr "Fügt neuen Kontakt zu diesem Konto hinzu" #: ../src/gajim-remote.py:201 msgid "Returns current status (the global one unless account is specified)" -msgstr "" -"Gibt derzeitigen Status zurück (der globale Status, außer, es wird ein " -"Account spezifiziert)" +msgstr "Gibt derzeitigen Status zurück (der globale Status, außer, es wird ein Account spezifiziert)" #: ../src/gajim-remote.py:208 -msgid "" -"Returns current status message(the global one unless account is specified)" -msgstr "" -"Gibt derzeitige Statusnachricht zurück (der globale, außer, es wird ein " -"Account angegeben)" +msgid "Returns current status message(the global one unless account is specified)" +msgstr "Gibt derzeitige Statusnachricht zurück (der globale, außer, es wird ein Account angegeben)" #: ../src/gajim-remote.py:215 msgid "Returns number of unread messages" @@ -4327,12 +4250,8 @@ msgid "XML to send" msgstr "Zu sendender XML-Code" #: ../src/gajim-remote.py:228 -msgid "" -"Account in which the xml will be sent; if not specified, xml will be sent to " -"all accounts" -msgstr "" -"Konto, an welchen XML gesendet wird; wenn nicht spezifiziert, wird XML an " -"alle Konten gesendet" +msgid "Account in which the xml will be sent; if not specified, xml will be sent to all accounts" +msgstr "Konto, an welchen XML gesendet wird; wenn nicht spezifiziert, wird XML an alle Konten gesendet" #: ../src/gajim-remote.py:234 msgid "Handle a xmpp:/ uri" @@ -4441,295 +4360,247 @@ msgstr "Sie können ihr derzeitiges Theme nicht löschen" msgid "Please first choose another for your current theme." msgstr "Bitte wählen Sie zuerst einen anderen Namen für ihr derzeitiges Theme." -#: ../src/groupchat_control.py:106 -msgid "Private Chat" -msgstr "Privater Chat" - -#: ../src/groupchat_control.py:106 -msgid "Private Chats" -msgstr "Private Chats" - -#: ../src/groupchat_control.py:123 +#: ../src/groupchat_control.py:122 msgid "Sending private message failed" msgstr "Senden privater Nachricht fehlgeschlagen" #. in second %s code replaces with nickname -#: ../src/groupchat_control.py:125 +#: ../src/groupchat_control.py:124 #, python-format msgid "You are no longer in group chat \"%s\" or \"%s\" has left." -msgstr "" -"Sie sind nicht mehr im Gruppenchat \"%s\" oder \"%s\" hat den Gruppenchat " -"verlassen." +msgstr "Sie sind nicht mehr im Gruppenchat \"%s\" oder \"%s\" hat den Gruppenchat verlassen." -#: ../src/groupchat_control.py:144 -msgid "Group Chat" -msgstr "Gruppenchat" - -#: ../src/groupchat_control.py:144 -msgid "Group Chats" -msgstr "Gruppenchat" - -#: ../src/groupchat_control.py:318 +#: ../src/groupchat_control.py:322 msgid "Insert Nickname" msgstr "Spitzname einfügen" #. do not print 'kicked by None' -#: ../src/groupchat_control.py:829 +#: ../src/groupchat_control.py:844 #, python-format msgid "%(nick)s has been kicked: %(reason)s" msgstr "%(nick)s wurde rausgeschmissen: %(reason)s" -#: ../src/groupchat_control.py:833 +#: ../src/groupchat_control.py:848 #, python-format msgid "%(nick)s has been kicked by %(who)s: %(reason)s" msgstr "%(nick)s wurde von %(who)s rausgeschmissen: %(reason)s" #. do not print 'banned by None' -#: ../src/groupchat_control.py:840 +#: ../src/groupchat_control.py:855 #, python-format msgid "%(nick)s has been banned: %(reason)s" msgstr "%(nick)s wurde gebannt: %(reason)s" -#: ../src/groupchat_control.py:844 +#: ../src/groupchat_control.py:859 #, python-format msgid "%(nick)s has been banned by %(who)s: %(reason)s" msgstr "%(nick)s wurde von %(who)s gebannt: %(reason)s" -#: ../src/groupchat_control.py:852 +#: ../src/groupchat_control.py:867 #, python-format msgid "You are now known as %s" msgstr "Sie heißen nun %s" -#: ../src/groupchat_control.py:854 +#: ../src/groupchat_control.py:869 #, python-format msgid "%s is now known as %s" msgstr "%s heißt jetzt %s" -#: ../src/groupchat_control.py:937 +#: ../src/groupchat_control.py:955 #, python-format msgid "%s has left" msgstr "%s ist gegangen" -#: ../src/groupchat_control.py:942 +#: ../src/groupchat_control.py:960 #, python-format msgid "%s has joined the group chat" msgstr "%s hat den Gruppenchat betreten" -#: ../src/groupchat_control.py:1063 ../src/groupchat_control.py:1081 -#: ../src/groupchat_control.py:1174 ../src/groupchat_control.py:1191 +#: ../src/groupchat_control.py:1082 +#: ../src/groupchat_control.py:1100 +#: ../src/groupchat_control.py:1193 +#: ../src/groupchat_control.py:1210 #, python-format msgid "Nickname not found: %s" msgstr "Spitzname nicht gefunden: %s" -#: ../src/groupchat_control.py:1097 +#: ../src/groupchat_control.py:1116 msgid "This group chat has no subject" msgstr "Dieser Gruppenchat hat kein Thema" -#: ../src/groupchat_control.py:1110 +#: ../src/groupchat_control.py:1129 #, python-format msgid "Invited %(contact_jid)s to %(room_jid)s." msgstr "%(contact_jid)s in %(room_jid)s eingeladen" #. %s is something the user wrote but it is not a jid so we inform -#: ../src/groupchat_control.py:1117 ../src/groupchat_control.py:1145 +#: ../src/groupchat_control.py:1136 +#: ../src/groupchat_control.py:1164 #, python-format msgid "%s does not appear to be a valid JID" msgstr "%s scheint keine gültige JID zu sein" -#: ../src/groupchat_control.py:1228 +#: ../src/groupchat_control.py:1247 #, python-format msgid "No such command: /%s (if you want to send this, prefix it with /say)" -msgstr "" -"Kein Kommando: /%s (wenn Sie dies senden wollen, setzen Sie /say voran)" +msgstr "Kein Kommando: /%s (wenn Sie dies senden wollen, setzen Sie /say voran)" -#: ../src/groupchat_control.py:1251 +#: ../src/groupchat_control.py:1270 #, python-format msgid "Commands: %s" msgstr "Kommandos: %s" -#: ../src/groupchat_control.py:1253 +#: ../src/groupchat_control.py:1273 #, python-format -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 "" -"Bedienung: /%s [Grund], bannt die JID aus dem Gruppenchat. " -"Der Spitzname eines Teilnehmers kann hinzugefügt werden, aber nicht, wenn es " -"ein \"@\" enthält. Wenn die JID derzeit im Gruppenchat ist, wird er/sie/es " -"ebenfalls gebannt. Unterstützt KEINE Leerzeichen im Spitznamen." +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 "Bedienung: /%s [Grund], bannt die JID aus dem Gruppenchat. Der Spitzname eines Teilnehmers kann hinzugefügt werden, aber nicht, wenn es ein \"@\" enthält. Wenn die JID derzeit im Gruppenchat ist, wird er/sie/es ebenfalls gebannt. Unterstützt KEINE Leerzeichen im Spitznamen." -#: ../src/groupchat_control.py:1260 +#: ../src/groupchat_control.py:1280 #, python-format -msgid "" -"Usage: /%s , opens a private chat window with the specified " -"occupant." -msgstr "" -"Verwendung: /%s , öffnet ein privates Nachrichtenfenster mit dem " -"Inhaber des angegebenen Spitznamens." +msgid "Usage: /%s , opens a private chat window with the specified occupant." +msgstr "Verwendung: /%s , öffnet ein privates Nachrichtenfenster mit dem Inhaber des angegebenen Spitznamens." -#: ../src/groupchat_control.py:1264 +#: ../src/groupchat_control.py:1284 #, python-format msgid "Usage: /%s, clears the text window." msgstr "Bedienung: /%s, leert das Textfenster." -#: ../src/groupchat_control.py:1266 +#: ../src/groupchat_control.py:1286 #, python-format -msgid "" -"Usage: /%s [reason], closes the current window or tab, displaying reason if " -"specified." -msgstr "" -"Bedienung: /%s [Grund], schließt das aktuelle Fenster oder Tab, mit Anzeige " -"eines Grundes, falls angegeben." +msgid "Usage: /%s [reason], closes the current window or tab, displaying reason if specified." +msgstr "Bedienung: /%s [Grund], schließt das aktuelle Fenster oder Tab, mit Anzeige eines Grundes, falls angegeben." -#: ../src/groupchat_control.py:1269 +#: ../src/groupchat_control.py:1289 #, python-format msgid "Usage: /%s, hide the chat buttons." msgstr "Verwendung: /%s, versteckt die Chatbuttons." -#: ../src/groupchat_control.py:1272 +#: ../src/groupchat_control.py:1292 #, python-format -msgid "" -"Usage: /%s [reason], invites JID to the current group chat, optionally " -"providing a reason." -msgstr "" -"Bedienung: /%s [Grund], lädt die JID in den aktuellen Gruppenchat ein, " -"optional mit der Angabe eines Grundes." +msgid "Usage: /%s [reason], invites JID to the current group chat, optionally providing a reason." +msgstr "Bedienung: /%s [Grund], lädt die JID in den aktuellen Gruppenchat ein, optional mit der Angabe eines Grundes." -#: ../src/groupchat_control.py:1276 +#: ../src/groupchat_control.py:1296 #, python-format -msgid "" -"Usage: /%s @[/nickname], offers to join room@server optionally " -"using specified nickname." -msgstr "" -"Bedienung: /%s @ [/Spitzname], bietet den Beitritt zu " -"Raum@Server an, optional mit Spitznamen." +msgid "Usage: /%s @[/nickname], offers to join room@server optionally using specified nickname." +msgstr "Bedienung: /%s @ [/Spitzname], bietet den Beitritt zu Raum@Server an, optional mit Spitznamen." -#: ../src/groupchat_control.py:1280 +#: ../src/groupchat_control.py:1300 #, python-format -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 "" -"Bedienung: /%s [Grund], verweist den Inhaber des Spitznamen des " -"Gruppenchats und zeigt optional einen Grund. Unterstützt KEINE Leerzeichen " -"im Spitznamen." +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 "Bedienung: /%s [Grund], verweist den Inhaber des Spitznamen des Gruppenchats und zeigt optional einen Grund. Unterstützt KEINE Leerzeichen im Spitznamen." -#: ../src/groupchat_control.py:1285 +#: ../src/groupchat_control.py:1305 #, python-format -msgid "" -"Usage: /%s , sends action to the current group chat. Use third " -"person. (e.g. /%s explodes.)" -msgstr "" -"Bedienung: /%s , sendet die Aktion im aktuellen Gruppenchat. " -"Verwende dritte Person, z.B. /%s explodiert)." +msgid "Usage: /%s , sends action to the current group chat. Use third person. (e.g. /%s explodes.)" +msgstr "Bedienung: /%s , sendet die Aktion im aktuellen Gruppenchat. Verwende dritte Person, z.B. /%s explodiert)." -#: ../src/groupchat_control.py:1289 +#: ../src/groupchat_control.py:1309 #, python-format -msgid "" -"Usage: /%s [message], opens a private message window and sends " -"message to the occupant specified by nickname." -msgstr "" -"Verwendung: /%s [Nachricht], öffnet ein privates " -"Nachrichtenfenster und sendet die Nachricht zum Inhaber des angegebenen " -"Spitznamens." +msgid "Usage: /%s [message], opens a private message window and sends message to the occupant specified by nickname." +msgstr "Verwendung: /%s [Nachricht], öffnet ein privates Nachrichtenfenster und sendet die Nachricht zum Inhaber des angegebenen Spitznamens." -#: ../src/groupchat_control.py:1294 +#: ../src/groupchat_control.py:1314 #, python-format msgid "Usage: /%s , changes your nickname in current group chat." -msgstr "" -"Bedienung: /%s , ändert den Spitznamen im aktuellen Gruppenchat." +msgstr "Bedienung: /%s , ändert den Spitznamen im aktuellen Gruppenchat." -#: ../src/groupchat_control.py:1298 +#: ../src/groupchat_control.py:1318 #, python-format msgid "Usage: /%s , display the names of group chat occupants." msgstr "Benutzung: /%s , zeigt die Namen der Gruppenchatbesucher." -#: ../src/groupchat_control.py:1302 +#: ../src/groupchat_control.py:1322 #, python-format msgid "Usage: /%s [topic], displays or updates the current group chat topic." -msgstr "" -"Benutzung: /%s [topic], zeigt oder aktualisiert das derzeitige Gruppenchat-" -"Thema." +msgstr "Benutzung: /%s [topic], zeigt oder aktualisiert das derzeitige Gruppenchat-Thema." -#: ../src/groupchat_control.py:1305 +#: ../src/groupchat_control.py:1325 #, python-format -msgid "" -"Usage: /%s , sends a message without looking for other commands." -msgstr "" -"Benutzung: /%s , sendet eine Nachricht ohne andere Befehle zu " -"beachten." +msgid "Usage: /%s , sends a message without looking for other commands." +msgstr "Benutzung: /%s , sendet eine Nachricht ohne andere Befehle zu beachten." -#: ../src/groupchat_control.py:1308 +#: ../src/groupchat_control.py:1328 #, python-format msgid "No help info for /%s" msgstr "Keine Hilfe vorhanden für /%s" -#: ../src/groupchat_control.py:1359 +#: ../src/groupchat_control.py:1391 #, python-format msgid "Are you sure you want to leave group chat \"%s\"?" msgstr "Möchten Sie den Gruppenchat \"%s\" wirklich verlassen?" -#: ../src/groupchat_control.py:1361 -msgid "" -"If you close this window, you will be disconnected from this group chat." -msgstr "" -"Wenn Sie dieses Fenster schließen, wird die Verbindung zu diesem Gruppenchat " -"geschlossen." +#: ../src/groupchat_control.py:1393 +msgid "If you close this window, you will be disconnected from this group chat." +msgstr "Wenn Sie dieses Fenster schließen, wird die Verbindung zu diesem Gruppenchat geschlossen." -#: ../src/groupchat_control.py:1365 ../src/roster_window.py:4036 +#: ../src/groupchat_control.py:1397 +#: ../src/roster_window.py:4058 msgid "Do _not ask me again" msgstr "_Nicht noch einmal fragen" -#: ../src/groupchat_control.py:1399 +#: ../src/groupchat_control.py:1431 msgid "Changing Subject" msgstr "Thema ändern" -#: ../src/groupchat_control.py:1400 +#: ../src/groupchat_control.py:1432 msgid "Please specify the new subject:" msgstr "Bitte bestimmen Sie ein neues Thema" -#: ../src/groupchat_control.py:1409 +#: ../src/groupchat_control.py:1441 msgid "Changing Nickname" msgstr "Spitzname ändern" -#: ../src/groupchat_control.py:1410 +#: ../src/groupchat_control.py:1442 msgid "Please specify the new nickname you want to use:" msgstr "Bitte geben Sie an, welchen Spitznamen Sie verwenden möchten:" -#: ../src/groupchat_control.py:1435 +#. Ask for a reason +#: ../src/groupchat_control.py:1457 +#, fuzzy, python-format +msgid "Destroying %s" +msgstr "Beschreibung: %s" + +#: ../src/groupchat_control.py:1458 +msgid "" +"You are going to definitively destroy this room.\n" +"You may specify a reason below:" +msgstr "" + +#: ../src/groupchat_control.py:1460 +msgid "You may also enter an alternate venue:" +msgstr "" + +#: ../src/groupchat_control.py:1490 msgid "Bookmark already set" msgstr "Lesezeichen existiert schon" -#: ../src/groupchat_control.py:1436 +#: ../src/groupchat_control.py:1491 #, python-format msgid "Group Chat \"%s\" is already in your bookmarks." msgstr "Der Gruppenchat \"%s\" ist schon in den Lesezeichen." -#: ../src/groupchat_control.py:1445 +#: ../src/groupchat_control.py:1500 msgid "Bookmark has been added successfully" msgstr "Lesezeichen wurde erfolgreich hinzugefügt" -#: ../src/groupchat_control.py:1446 +#: ../src/groupchat_control.py:1501 msgid "You can manage your bookmarks via Actions menu in your roster." -msgstr "" -"Sie können ihre Lesezeichen über das Aktionen-Menü in der Kontaktliste " -"bearbeiten" +msgstr "Sie können ihre Lesezeichen über das Aktionen-Menü in der Kontaktliste bearbeiten" #. ask for reason -#: ../src/groupchat_control.py:1574 +#: ../src/groupchat_control.py:1629 #, python-format msgid "Kicking %s" msgstr "%s rausschmeißen" -#: ../src/groupchat_control.py:1575 ../src/groupchat_control.py:1858 +#: ../src/groupchat_control.py:1630 +#: ../src/groupchat_control.py:1913 msgid "You may specify a reason below:" msgstr "Sie können eine Begründung angeben:" #. ask for reason -#: ../src/groupchat_control.py:1857 +#: ../src/groupchat_control.py:1912 #, python-format msgid "Banning %s" msgstr "%s verbannen" @@ -4739,12 +4610,8 @@ msgid "A programming error has been detected" msgstr "Es wurde ein Programmfehler entdeckt" #: ../src/gtkexcepthook.py:42 -msgid "" -"It probably is not fatal, but should be reported to the developers " -"nonetheless." -msgstr "" -"Es ist vermutlich nicht fatal, aber der Fehler sollte trotzdem den " -"Entwicklern gemeldet werden" +msgid "It probably is not fatal, but should be reported to the developers nonetheless." +msgstr "Es ist vermutlich nicht fatal, aber der Fehler sollte trotzdem den Entwicklern gemeldet werden" #: ../src/gtkexcepthook.py:48 msgid "_Report Bug" @@ -4755,7 +4622,8 @@ msgid "Details" msgstr "Details" #. we talk about file -#: ../src/gtkgui_helpers.py:156 ../src/gtkgui_helpers.py:171 +#: ../src/gtkgui_helpers.py:156 +#: ../src/gtkgui_helpers.py:171 #, python-format msgid "Error: cannot open %s for reading" msgstr "Fehler: Kann %s kann nicht zum Lesen öffnen" @@ -4773,36 +4641,31 @@ msgstr "Fehler bei der Dateianalyse:" #: ../src/gtkgui_helpers.py:376 #, python-format msgid "Could not write to %s. Session Management support will not work" -msgstr "" -"Konnte nicht an %s schreiben. Sitzungmanagment-Unterstützung wird nicht " -"funktionieren" +msgstr "Konnte nicht an %s schreiben. Sitzungmanagment-Unterstützung wird nicht funktionieren" #. xmpp: is currently handled by another program, so ask the user -#: ../src/gtkgui_helpers.py:692 +#: ../src/gtkgui_helpers.py:694 msgid "Gajim is not the default Jabber client" msgstr "Gajim ist nicht Ihr Standard-Jabber-Client" -#: ../src/gtkgui_helpers.py:693 +#: ../src/gtkgui_helpers.py:695 msgid "Would you like to make Gajim the default Jabber client?" msgstr "Möchten Sie Gajim zu Ihrem Standard-Jabber-Client machen?" -#: ../src/gtkgui_helpers.py:694 +#: ../src/gtkgui_helpers.py:696 msgid "Always check to see if Gajim is the default Jabber client on startup" -msgstr "" -"Immer beim Programmstart prüfen, ob Gajim der Standard-Jabber-Client ist" +msgstr "Immer beim Programmstart prüfen, ob Gajim der Standard-Jabber-Client ist" -#: ../src/gtkgui_helpers.py:793 +#: ../src/gtkgui_helpers.py:795 msgid "Extension not supported" msgstr "Erweiterung wird nicht unterstützt." -#: ../src/gtkgui_helpers.py:794 +#: ../src/gtkgui_helpers.py:796 #, python-format msgid "Image cannot be saved in %(type)s format. Save as %(new_filename)s?" -msgstr "" -"Bild kann nicht im %(type)s-Format gespeichert werden. Als %(new_filename)s " -"speichern?" +msgstr "Bild kann nicht im %(type)s-Format gespeichert werden. Als %(new_filename)s speichern?" -#: ../src/gtkgui_helpers.py:803 +#: ../src/gtkgui_helpers.py:805 msgid "Save Image as..." msgstr "Bild speichern unter ..." @@ -4816,41 +4679,36 @@ msgid "Contacts" msgstr "Kontakte" #. holds time -#: ../src/history_manager.py:121 ../src/history_manager.py:161 +#: ../src/history_manager.py:121 +#: ../src/history_manager.py:161 #: ../src/history_window.py:86 msgid "Date" msgstr "Datum" #. holds nickname -#: ../src/history_manager.py:127 ../src/history_manager.py:179 +#: ../src/history_manager.py:127 +#: ../src/history_manager.py:179 msgid "Nickname" msgstr "Spitzname" #. holds message -#: ../src/history_manager.py:135 ../src/history_manager.py:167 +#: ../src/history_manager.py:135 +#: ../src/history_manager.py:167 #: ../src/history_window.py:94 msgid "Message" msgstr "Nachricht" #: ../src/history_manager.py:187 -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 "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)" #: ../src/history_manager.py:189 msgid "" -"Normally allocated database size will not be freed, it will just become " -"reusable. If you really want to reduce database filesize, click YES, else " -"click NO.\n" +"Normally allocated database size will not be freed, it will just become reusable. If you really want to reduce database filesize, click YES, else click NO.\n" "\n" "In case you click YES, please wait..." msgstr "" -"Der reservierte Datenbankspeicherplatz wird nicht freigegeben, er wird nur " -"wiederverwendbar. Wenn Sie wirklich den Speicherplatz reduzieren möchten, " -"klicken Sie JA, ansonsten NEIN.\n" +"Der reservierte Datenbankspeicherplatz wird nicht freigegeben, er wird nur wiederverwendbar. Wenn Sie wirklich den Speicherplatz reduzieren möchten, klicken Sie JA, ansonsten NEIN.\n" "\n" "Falls Sie JA klicken, warten Sie bitte einen Augenblick ..." @@ -4869,7 +4727,8 @@ msgid_plural "Do you really want to delete logs of the selected contacts?" msgstr[0] "Möchten Sie wirklich alle Logs des ausgewählten Kontakts löschen?" msgstr[1] "Möchten Sie wirklich alle Logs des ausgewählten Kontakte löschen?" -#: ../src/history_manager.py:518 ../src/history_manager.py:554 +#: ../src/history_manager.py:518 +#: ../src/history_manager.py:554 msgid "This is an irreversible operation." msgstr "Dies ist ein unwiderruflicher Vorgang." @@ -4879,7 +4738,8 @@ msgid_plural "Do you really want to delete the selected messages?" msgstr[0] "Möchten Sie die ausgewählte Nachricht wirklich löschen?" msgstr[1] "Möchten Sie die ausgewählten Nachrichten wirklich löschen?" -#: ../src/history_window.py:103 ../src/history_window.py:105 +#: ../src/history_window.py:103 +#: ../src/history_window.py:105 #, python-format msgid "Conversation History with %s" msgstr "Unterhaltungs-Verlauf mit %s" @@ -4889,7 +4749,8 @@ msgstr "Unterhaltungs-Verlauf mit %s" msgid "%(nick)s is now %(status)s: %(status_msg)s" msgstr "%(nick)s ist jezt %(status)s: %(status_msg)s" -#: ../src/history_window.py:262 ../src/notify.py:199 +#: ../src/history_window.py:262 +#: ../src/notify.py:199 #, python-format msgid "%(nick)s is now %(status)s" msgstr "%(nick)s ist jetzt %(status)s" @@ -4905,10 +4766,22 @@ msgid "Status is now: %(status)s" msgstr "Status ist jetzt: %(status)s" #: ../src/message_window.py:273 +msgid "Chats" +msgstr "Chats" + +#: ../src/message_window.py:275 +msgid "Group Chats" +msgstr "Gruppenchat" + +#: ../src/message_window.py:277 +msgid "Private Chats" +msgstr "Private Chats" + +#: ../src/message_window.py:279 msgid "Messages" msgstr "Nachrichten" -#: ../src/message_window.py:274 +#: ../src/message_window.py:280 #, python-format msgid "%s - Gajim" msgstr "%s - Gajim" @@ -4963,8 +4836,7 @@ msgstr "Informationen empfangen" #: ../src/profile_window.py:324 msgid "Without a connection you can not publish your contact information." -msgstr "" -"Sie müssen angemeldet sein, um Kontakt-Informationen zu veröffentlichen" +msgstr "Sie müssen angemeldet sein, um Kontakt-Informationen zu veröffentlichen" #: ../src/profile_window.py:336 msgid "Sending profile..." @@ -4979,30 +4851,30 @@ msgid "vCard publication failed" msgstr "vCard Veröffentlichung fehlgeschlagen" #: ../src/profile_window.py:359 -msgid "" -"There was an error while publishing your personal information, try again " -"later." -msgstr "" -"Bei der Veröffentlichung Ihrer persönlichen Informationen ist ein Fehler " -"aufgetreten, versuchen Sie es später nochmals." +msgid "There was an error while publishing your personal information, try again later." +msgstr "Bei der Veröffentlichung Ihrer persönlichen Informationen ist ein Fehler aufgetreten, versuchen Sie es später nochmals." -#: ../src/roster_window.py:171 ../src/roster_window.py:226 +#: ../src/roster_window.py:172 +#: ../src/roster_window.py:227 msgid "Merged accounts" msgstr "Alle Konten" -#: ../src/roster_window.py:344 ../src/common/helpers.py:43 +#: ../src/roster_window.py:345 +#: ../src/common/helpers.py:43 msgid "Observers" msgstr "Beobachter" -#: ../src/roster_window.py:692 ../src/roster_window.py:3201 +#: ../src/roster_window.py:692 +#: ../src/roster_window.py:3215 msgid "You cannot join a group chat while you are invisible" -msgstr "" -"Sie können einem Gruppenchat nicht beitreten, wenn Sie unsichtbar sind." +msgstr "Sie können einem Gruppenchat nicht beitreten, wenn Sie unsichtbar sind." #. new chat #. for chat_with #. for single message -#: ../src/roster_window.py:884 ../src/systray.py:187 ../src/systray.py:192 +#: ../src/roster_window.py:884 +#: ../src/systray.py:206 +#: ../src/systray.py:211 #, python-format msgid "using account %s" msgstr "mit Konto %s" @@ -5045,317 +4917,285 @@ msgstr "_Verlaufsmanager" msgid "_Join New Group Chat" msgstr "_Gruppenchat betreten" -#: ../src/roster_window.py:1398 ../src/roster_window.py:3394 -#: ../src/roster_window.py:3401 +#: ../src/roster_window.py:1397 +#: ../src/roster_window.py:3410 +#: ../src/roster_window.py:3417 msgid "You have unread messages" msgstr "Sie haben ungelesene Nachrichten" -#: ../src/roster_window.py:1399 +#: ../src/roster_window.py:1398 msgid "You must read them before removing this transport." msgstr "Sie müssen sie alle lesen, bevor der Account entfernt wird." -#: ../src/roster_window.py:1402 +#: ../src/roster_window.py:1401 #, python-format msgid "Transport \"%s\" will be removed" msgstr "Transport \"%s\" wird entfernt" -#: ../src/roster_window.py:1403 -msgid "" -"You will no longer be able to send and receive messages from contacts using " -"this transport." -msgstr "" -"Sie können nun keine Nachrichten mehr mit Kontakten von diesem Transport " -"austauschen." +#: ../src/roster_window.py:1402 +msgid "You will no longer be able to send and receive messages from contacts using this transport." +msgstr "Sie können nun keine Nachrichten mehr mit Kontakten von diesem Transport austauschen." -#: ../src/roster_window.py:1406 +#: ../src/roster_window.py:1405 msgid "Transports will be removed" msgstr "Transporte werden entfernt" -#: ../src/roster_window.py:1411 +#: ../src/roster_window.py:1410 #, python-format -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 von diesen Transporten " -"austauschen:%s" +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 von diesen Transporten austauschen:%s" #. it's jid -#: ../src/roster_window.py:1431 +#: ../src/roster_window.py:1430 msgid "Rename Contact" msgstr "Kontakt umbenennen" -#: ../src/roster_window.py:1432 +#: ../src/roster_window.py:1431 #, python-format msgid "Enter a new nickname for contact %s" msgstr "Geben Sie einen Spitznamen für den Kontakt %s ein" -#: ../src/roster_window.py:1439 +#: ../src/roster_window.py:1438 msgid "Rename Group" msgstr "Gruppe umbenennen" -#: ../src/roster_window.py:1440 +#: ../src/roster_window.py:1439 #, python-format msgid "Enter a new name for group %s" msgstr "Geben Sie einen neuen Namen für die Gruppe %s ein" -#: ../src/roster_window.py:1515 +#: ../src/roster_window.py:1514 msgid "Remove Group" msgstr "Gruppe entfernen" -#: ../src/roster_window.py:1516 +#: ../src/roster_window.py:1515 #, python-format msgid "Do you want to remove group %s from the roster?" msgstr "Möchten Sie wirklich die Gruppe %s von Ihrer Kontaktliste entfernen?" -#: ../src/roster_window.py:1517 +#: ../src/roster_window.py:1516 msgid "Remove also all contacts in this group from your roster" msgstr "Auch alle Kontakte dieser Gruppe von Ihrer Kontaktliste entfernen" -#: ../src/roster_window.py:1546 +#: ../src/roster_window.py:1547 msgid "Assign OpenPGP Key" msgstr "OpenPGP-Schlüssel Zuweisen" -#: ../src/roster_window.py:1547 +#: ../src/roster_window.py:1548 msgid "Select a key to apply to the contact" msgstr "Weisen Sie dem Kontakt einen Schüssel zu" -#: ../src/roster_window.py:1782 ../src/roster_window.py:2043 +#: ../src/roster_window.py:1784 +#: ../src/roster_window.py:2045 msgid "_New group chat" msgstr "_Neuer Gruppenchat" -#: ../src/roster_window.py:1913 +#: ../src/roster_window.py:1915 msgid "I would like to add you to my roster" msgstr "Ich würde dich gerne in meine Liste aufnehmen" -#: ../src/roster_window.py:2088 ../src/roster_window.py:2135 +#: ../src/roster_window.py:2090 +#: ../src/roster_window.py:2137 msgid "Send Group M_essage" msgstr "_Sende Nachricht an Gruppe" -#: ../src/roster_window.py:2114 +#: ../src/roster_window.py:2116 msgid "Re_name" msgstr "_Umbenennen" -#: ../src/roster_window.py:2141 +#: ../src/roster_window.py:2143 msgid "To all users" msgstr "An alle Benutzern" -#: ../src/roster_window.py:2144 +#: ../src/roster_window.py:2146 msgid "To all online users" msgstr "An alle angemeldeten Benutzer" -#: ../src/roster_window.py:2180 +#: ../src/roster_window.py:2182 msgid "_Log on" msgstr "_Anmelden" -#: ../src/roster_window.py:2190 +#: ../src/roster_window.py:2192 msgid "Log _off" msgstr "_Abmelden" -#: ../src/roster_window.py:2312 ../src/roster_window.py:2383 +#: ../src/roster_window.py:2314 +#: ../src/roster_window.py:2385 msgid "_Change Status Message" msgstr "Ändere _Statusnachricht" -#: ../src/roster_window.py:2455 +#: ../src/roster_window.py:2457 msgid "Authorization has been sent" msgstr "Autorisierung wurde erneut gesendet" -#: ../src/roster_window.py:2456 +#: ../src/roster_window.py:2458 #, python-format msgid "Now \"%s\" will know your status." msgstr "\"%s\" kennt jetzt ihren Status." -#: ../src/roster_window.py:2476 +#: ../src/roster_window.py:2478 msgid "Subscription request has been sent" msgstr "Abonnement-Anforderung wurde gesendet" -#: ../src/roster_window.py:2477 +#: ../src/roster_window.py:2479 #, python-format msgid "If \"%s\" accepts this request you will know his or her status." msgstr "Wenn \"%s\" diese Anfrage akzeptiert, erfahren Sie dessen Status." -#: ../src/roster_window.py:2489 +#: ../src/roster_window.py:2491 msgid "Authorization has been removed" msgstr "Autorisierung wurde entfernt" -#: ../src/roster_window.py:2490 +#: ../src/roster_window.py:2492 #, python-format msgid "Now \"%s\" will always see you as offline." msgstr "\"%s\" wird Sie nun immer als offline sehen." -#: ../src/roster_window.py:2680 +#: ../src/roster_window.py:2684 #, python-format msgid "Contact \"%s\" will be removed from your roster" msgstr "Kontakt \"%s\" wird von ihrer Kontaktliste entfernt" -#: ../src/roster_window.py:2684 -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." +#: ../src/roster_window.py:2688 +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." -#: ../src/roster_window.py:2689 -msgid "" -"By removing this contact you also by default remove authorization resulting " -"in him or her always seeing you as offline." -msgstr "" -"Durch das Entfernen dieses Kontaktes entziehen Sie ihm auch standardmäßig " -"die Berechtigung Ihren Status zu sehen, wodurch der Kontakt Sie nur noch als " -"offline sehen wird." +#: ../src/roster_window.py:2693 +msgid "By removing this contact you also by default remove authorization resulting in him or her always seeing you as offline." +msgstr "Durch das Entfernen dieses Kontaktes entziehen Sie ihm auch standardmäßig die Berechtigung Ihren Status zu sehen, wodurch der Kontakt Sie nur noch als offline sehen wird." -#: ../src/roster_window.py:2692 +#: ../src/roster_window.py:2696 msgid "I want this contact to know my status after removal" -msgstr "" -"Ich möchte, dass dieser Kontakt meinen Status auch nach dem Entfernen sieht" +msgstr "Ich möchte, dass dieser Kontakt meinen Status auch nach dem Entfernen sieht" #. several contact to remove at the same time -#: ../src/roster_window.py:2696 +#: ../src/roster_window.py:2700 msgid "Contacts will be removed from your roster" msgstr "Kontakte werden von Ihrer Kontaktliste entfernt" -#: ../src/roster_window.py:2700 +#: ../src/roster_window.py:2704 #, python-format 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." +"entziehen Sie ihnen auch die Berechtigung Ihren Status zu sehen, wodurch die Kontakte Sie nur noch als offline sehen werden." -#: ../src/roster_window.py:2732 -msgid "" -"Gnome Keyring is installed but not correctly started (environment variable " -"probably not correctly set)" -msgstr "" -"Gnome Keyring ist installiert, aber nicht korrekt gestartet " -"(Umgebungsvariablen wahrscheinlich falsch gesetzt)" +#: ../src/roster_window.py:2736 +msgid "Gnome Keyring is installed but not correctly started (environment variable probably not correctly set)" +msgstr "Gnome Keyring ist installiert, aber nicht korrekt gestartet (Umgebungsvariablen wahrscheinlich falsch gesetzt)" #. TODO: make this string translatable #. %s is the account name here -#: ../src/roster_window.py:2760 ../src/common/connection.py:672 +#: ../src/roster_window.py:2764 +#: ../src/common/connection.py:687 #: ../src/common/zeroconf/connection_zeroconf.py:158 #, python-format msgid "You will be connected to %s without OpenPGP." msgstr "Sie werden ohne OpenPGP mit %s verbunden." -#: ../src/roster_window.py:2777 +#: ../src/roster_window.py:2781 msgid "Passphrase Required" msgstr "Passphrase benötigt" -#: ../src/roster_window.py:2778 +#: ../src/roster_window.py:2782 #, python-format msgid "Enter GPG key passphrase for account %s." msgstr "Geben Sie die GPG-Passphrase für das Konto %s ein." -#: ../src/roster_window.py:2783 +#: ../src/roster_window.py:2787 msgid "Save passphrase" msgstr "Passphrase speichern" -#: ../src/roster_window.py:2791 +#: ../src/roster_window.py:2795 msgid "Wrong Passphrase" msgstr "Falsche Passphrase" -#: ../src/roster_window.py:2792 +#: ../src/roster_window.py:2796 msgid "Please retype your GPG passphrase or press Cancel." -msgstr "" -"Bitte geben Sie Ihre GPG-Passphrase erneut ein oder klicken Sie auf " -"Abbrechen." +msgstr "Bitte geben Sie Ihre GPG-Passphrase erneut ein oder klicken Sie auf Abbrechen." -#: ../src/roster_window.py:2849 ../src/roster_window.py:2909 +#: ../src/roster_window.py:2853 +#: ../src/roster_window.py:2913 msgid "You are participating in one or more group chats" msgstr "Sie nehmen an einem oder mehreren Gruppenchats teil" -#: ../src/roster_window.py:2850 ../src/roster_window.py:2910 -msgid "" -"Changing your status to invisible will result in disconnection from those " -"group chats. Are you sure you want to go invisible?" -msgstr "" -"Wenn Sie Ihren Status auf unsichtbar setzen, werden sie von diesen " -"Gruppenchats getrennt. Sind Sie sicher, dass sie unsichtbar werden möchten?" +#: ../src/roster_window.py:2854 +#: ../src/roster_window.py:2914 +msgid "Changing your status to invisible will result in disconnection from those group chats. Are you sure you want to go invisible?" +msgstr "Wenn Sie Ihren Status auf unsichtbar setzen, werden sie von diesen Gruppenchats getrennt. Sind Sie sicher, dass sie unsichtbar werden möchten?" -#: ../src/roster_window.py:2867 +#: ../src/roster_window.py:2871 msgid "No account available" msgstr "Kein Konto vorhanden" -#: ../src/roster_window.py:2868 +#: ../src/roster_window.py:2872 msgid "You must create an account before you can chat with other contacts." -msgstr "" -"Sie müssen ein Konto erstellen, bevor Sie sich zum Jabber-Netzwerk verbinden " -"können." +msgstr "Sie müssen ein Konto erstellen, bevor Sie sich zum Jabber-Netzwerk verbinden können." -#: ../src/roster_window.py:2966 +#: ../src/roster_window.py:2974 #, python-format msgid "\"%(title)s\" by %(artist)s" msgstr "\"%(title)s\" von %(artist)s" -#: ../src/roster_window.py:3395 ../src/roster_window.py:3402 -msgid "" -"Messages will only be available for reading them later if you have history " -"enabled." +#: ../src/roster_window.py:3411 +#: ../src/roster_window.py:3418 +msgid "Messages will only be available for reading them later if you have history enabled." msgstr "Um Nachrichten später lesen zu können, muss der Verlauf aktiv sein." -#: ../src/roster_window.py:3986 +#: ../src/roster_window.py:4008 msgid "Metacontacts storage not supported by your server" -msgstr "" -"Das Speichern von Metakontakten wird von Ihrem Server nicht unterstützt" +msgstr "Das Speichern von Metakontakten wird von Ihrem Server nicht unterstützt" -#: ../src/roster_window.py:3988 -msgid "" -"Your server does not support storing metacontacts information. So those " -"information will not be save on next reconnection." -msgstr "" -"Ihr Server unterstützt leider nicht das Speichern von Metakontakt-" -"Informationen. Aus diesem Grund werden diese Informationen bei der nächsten " -"Neuverbindung nicht gespeichert werden." +#: ../src/roster_window.py:4010 +msgid "Your server does not support storing metacontacts information. So those information will not be save on next reconnection." +msgstr "Ihr Server unterstützt leider nicht das Speichern von Metakontakt-Informationen. Aus diesem Grund werden diese Informationen bei der nächsten Neuverbindung nicht gespeichert werden." -#: ../src/roster_window.py:4030 -msgid "" -"You are about to create a metacontact. Are you sure you want to continue?" -msgstr "" -"Sie sind dabei einen Metakontakt zu erstellen. Wollen Sie wirklich " -"fortfahren?" +#: ../src/roster_window.py:4052 +msgid "You are about to create a metacontact. Are you sure you want to continue?" +msgstr "Sie sind dabei einen Metakontakt zu erstellen. Wollen Sie wirklich fortfahren?" -#: ../src/roster_window.py:4032 -msgid "" -"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." -msgstr "" -"Metakontakte sind eine Möglichkeit, mehrere Kontakte in einer Zeile zu " -"gruppieren. Normalerweise benutzt man Sie, wenn eine Person mehrere Jabber- " -"oder Transport-Konten hat." +#: ../src/roster_window.py:4054 +msgid "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." +msgstr "Metakontakte sind eine Möglichkeit, mehrere Kontakte in einer Zeile zu gruppieren. Normalerweise benutzt man Sie, wenn eine Person mehrere Jabber- oder Transport-Konten hat." -#: ../src/roster_window.py:4199 +#: ../src/roster_window.py:4132 +#, fuzzy, python-format +msgid "Do you want to send that file to %s:" +msgid_plural "Do you want to send those files to %s:" +msgstr[0] "%s möchte ihnen eine Datei senden:" +msgstr[1] "%s möchte ihnen eine Datei senden:" + +#: ../src/roster_window.py:4237 #, python-format msgid "Drop %s in group %s" msgstr "Setze %s in Gruppe %s" -#: ../src/roster_window.py:4206 +#: ../src/roster_window.py:4244 #, python-format msgid "Make %s and %s metacontacts" msgstr "Mache %s und %s Metakontakte" -#: ../src/roster_window.py:4393 +#: ../src/roster_window.py:4431 msgid "Change Status Message..." msgstr "Ändere Statusnachricht ..." -#: ../src/systray.py:144 +#: ../src/systray.py:163 msgid "_Change Status Message..." msgstr "Ändere _Statusnachricht..." -#: ../src/systray.py:232 +#: ../src/systray.py:251 msgid "Hide this menu" msgstr "Versteckt dieses Menü" -#: ../src/tooltips.py:309 ../src/tooltips.py:492 +#: ../src/tooltips.py:309 +#: ../src/tooltips.py:492 msgid "Jabber ID: " msgstr "Jabber-ID:" -#: ../src/tooltips.py:312 ../src/tooltips.py:496 +#: ../src/tooltips.py:312 +#: ../src/tooltips.py:496 msgid "Resource: " msgstr "Ressource: " @@ -5364,7 +5204,8 @@ msgstr "Ressource: " msgid "%(owner_or_admin_or_member)s of this group chat" msgstr "%(owner_or_admin_or_member)s dieses Gruppenchats" -#: ../src/tooltips.py:430 ../src/tooltips.py:610 +#: ../src/tooltips.py:430 +#: ../src/tooltips.py:610 msgid "Status: " msgstr "Status: " @@ -5403,7 +5244,8 @@ msgstr "Typ: " msgid "Transferred: " msgstr "Übertragen: " -#: ../src/tooltips.py:588 ../src/tooltips.py:609 +#: ../src/tooltips.py:588 +#: ../src/tooltips.py:609 msgid "Not started" msgstr "Nicht gestartet" @@ -5411,7 +5253,8 @@ msgstr "Nicht gestartet" msgid "Stopped" msgstr "Angehalten" -#: ../src/tooltips.py:594 ../src/tooltips.py:597 +#: ../src/tooltips.py:594 +#: ../src/tooltips.py:597 msgid "Completed" msgstr "Abgeschlossen" @@ -5448,7 +5291,8 @@ msgstr "Unbekannt" msgid "?OS:Unknown" msgstr "Unbekannt" -#: ../src/vcard.py:247 ../src/vcard.py:449 +#: ../src/vcard.py:247 +#: ../src/vcard.py:449 #, python-format msgid "since %s" msgstr "seit %s" @@ -5458,41 +5302,29 @@ msgid "Affiliation:" msgstr "Zugehörigkeit: " #: ../src/vcard.py:285 -msgid "" -"This contact is interested in your presence information, but you are not " -"interested in his/her presence" -msgstr "" -"Dieser Kontakt ist an Ihren Anwesenheitsinformationen interessiert, aber Sie " -"sind nicht an seiner/ihrer Anwesenheit interessiert" +msgid "This contact is interested in your presence information, but you are not interested in his/her presence" +msgstr "Dieser Kontakt ist an Ihren Anwesenheitsinformationen interessiert, aber Sie sind nicht an seiner/ihrer Anwesenheit interessiert" #: ../src/vcard.py:287 -msgid "" -"You are interested in the contact's presence information, but he/she is not " -"interested in yours" -msgstr "" -"Sie sind an den Anwesenheitsinformationen des Kontakts interessiert, aber er/" -"sie ist nicht an ihren interessiert" +msgid "You are interested in the contact's presence information, but he/she is not interested in yours" +msgstr "Sie sind an den Anwesenheitsinformationen des Kontakts interessiert, aber er/sie ist nicht an ihren interessiert" #: ../src/vcard.py:289 msgid "You and the contact are interested in each other's presence information" -msgstr "" -"Sie und der Kontakt sind an den Anwesenheitsinformationen des Anderen " -"interessiert" +msgstr "Sie und der Kontakt sind an den Anwesenheitsinformationen des Anderen interessiert" #. None #: ../src/vcard.py:291 -msgid "" -"You are not interested in the contact's presence, and neither he/she is " -"interested in yours" -msgstr "" -"Sie sind nicht an der Anwesenheit des Kontakts interessiert, und er/sie ist " -"nicht interessiert an ihrer" +msgid "You are not interested in the contact's presence, and neither he/she is interested in yours" +msgstr "Sie sind nicht an der Anwesenheit des Kontakts interessiert, und er/sie ist nicht interessiert an ihrer" #: ../src/vcard.py:299 msgid "You are waiting contact's answer about your subscription request" msgstr "Sie warten auf die Antwort des Kontaktes auf ihre Abonnement-Anfrage" -#: ../src/vcard.py:311 ../src/vcard.py:338 ../src/vcard.py:482 +#: ../src/vcard.py:311 +#: ../src/vcard.py:338 +#: ../src/vcard.py:482 msgid " resource with priority " msgstr " resource mit Priorität " @@ -5500,14 +5332,17 @@ msgstr " resource mit Priorität " msgid "creating logs database" msgstr "Erstelle Log-Datenbank" -#: ../src/common/check_paths.py:89 ../src/common/check_paths.py:100 +#: ../src/common/check_paths.py:89 +#: ../src/common/check_paths.py:100 #: ../src/common/check_paths.py:107 #, python-format msgid "%s is a file but it should be a directory" msgstr "%s ist eine Datei, aber es sollte ein Verzeichnis sein" -#: ../src/common/check_paths.py:90 ../src/common/check_paths.py:101 -#: ../src/common/check_paths.py:108 ../src/common/check_paths.py:116 +#: ../src/common/check_paths.py:90 +#: ../src/common/check_paths.py:101 +#: ../src/common/check_paths.py:108 +#: ../src/common/check_paths.py:116 msgid "Gajim will now exit" msgstr "Gajim wird nun beendet" @@ -5588,8 +5423,7 @@ msgstr "Sie haben folgende Gruppenchats verlassen:" #: ../src/common/config.py:56 msgid "Use D-Bus and Notification-Daemon to show notifications" -msgstr "" -"Verwende D-Bus und Notification-Daemon, um Benachrichtigungen zu zeigen" +msgstr "Verwende D-Bus und Notification-Daemon, um Benachrichtigungen zu zeigen" #: ../src/common/config.py:61 msgid "Time in minutes, after which your status changes to away." @@ -5608,11 +5442,8 @@ msgid "Not available as a result of being idle" msgstr "Nicht verfügbar, da untätig" #: ../src/common/config.py:83 -msgid "" -"List (space separated) of rows (accounts and groups) that are collapsed." -msgstr "" -"Liste (leerzeichengeteilt) von Reihen (Kontos und Gruppen), die eingeklappt " -"sind." +msgid "List (space separated) of rows (accounts and groups) that are collapsed." +msgstr "Liste (leerzeichengeteilt) von Reihen (Kontos und Gruppen), die eingeklappt sind." #: ../src/common/config.py:88 msgid "Enable link-local/zeroconf messaging" @@ -5633,64 +5464,32 @@ msgstr "" "'never' - Zeige nie die Zeit." #: ../src/common/config.py:93 -msgid "" -"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'." -msgstr "" -"Zeige die Zeit in Chats mittels ungenauer Uhr an. Werte für die " -"Ungenauigkeit sind 1 bis 4 oder 0, um die ungenaue Uhr zu deaktivieren. 1 " -"ist am Genauesten, 4 ist am Ungenaueste. Dies wird nur verwendet, wenn " -"print_time auf 'sometimes' gesetzt ist." +msgid "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'." +msgstr "Zeige die Zeit in Chats mittels ungenauer Uhr an. Werte für die Ungenauigkeit sind 1 bis 4 oder 0, um die ungenaue Uhr zu deaktivieren. 1 ist am Genauesten, 4 ist am Ungenaueste. Dies wird nur verwendet, wenn print_time auf 'sometimes' gesetzt ist." #: ../src/common/config.py:96 msgid "Treat * / _ pairs as possible formatting characters." msgstr "Behandle * / _ Paare als mögliche Formatierungszeichen." #: ../src/common/config.py:97 -msgid "" -"If True, do not remove */_ . So *abc* will be bold but with * * not removed." -msgstr "" -"Wenn aktiviert, wird */_ nicht entfernt. So wird *abc* fett gedruckt, aber * " -"* wird nicht entfernt." +msgid "If True, do not remove */_ . So *abc* will be bold but with * * not removed." +msgstr "Wenn aktiviert, wird */_ nicht entfernt. So wird *abc* fett gedruckt, aber * * wird nicht entfernt." #: ../src/common/config.py:100 -msgid "" -"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)" -msgstr "" -"Wenn aktiviert, wird reStructuredText für die HTML und ASCII-Formatierung " -"verwendet (falls dies erwünscht ist, installieren Sie docutils). " -"Informationen zur Syntax finden Sie unter http://docutils.sourceforge.net/" -"docs/ref/rst/restructuredtext.html (Englisch)" +msgid "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)" +msgstr "Wenn aktiviert, wird reStructuredText für die HTML und ASCII-Formatierung verwendet (falls dies erwünscht ist, installieren Sie docutils). Informationen zur Syntax finden Sie unter http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html (Englisch)" #: ../src/common/config.py:109 -msgid "" -"Character to add after nickname when using nick completion (tab) in group " -"chat." -msgstr "" -"Zeichen, das hinter Spitznamen angezeigt wird, wenn " -"Spitznamenvervollständigung (Tab) im Gruppenchat verwendet wird." +msgid "Character to add after nickname when using nick completion (tab) in group chat." +msgstr "Zeichen, das hinter Spitznamen angezeigt wird, wenn Spitznamenvervollständigung (Tab) im Gruppenchat verwendet wird." #: ../src/common/config.py:110 -msgid "" -"Character to propose to add after desired nickname when desired nickname is " -"used by someone else in group chat." -msgstr "" -"Zeichen, das hinter den gewünschten Spitznamen gehängt wird, falls der " -"gewünschteName im Gruppenchat bereits vergeben ist." +msgid "Character to propose to add after desired nickname when desired nickname is used by someone else in group chat." +msgstr "Zeichen, das hinter den gewünschten Spitznamen gehängt wird, falls der gewünschteName im Gruppenchat bereits vergeben ist." #: ../src/common/config.py:133 -msgid "" -"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" -msgstr "" -"Hiermit lässt sich der Zeitstempel anpassen, der in den Unterhaltungen " -"verwendet wird. Zum Beispiel wird \"[%H:%M] \" zu \"[Stunde:Minute] \". " -"Weitere Informationen finden Sie in der Python-Dokumentation zu 'strftime' " -"unter http://docs.python.org/lib/module-time.html (Englisch)." +msgid "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" +msgstr "Hiermit lässt sich der Zeitstempel anpassen, der in den Unterhaltungen verwendet wird. Zum Beispiel wird \"[%H:%M] \" zu \"[Stunde:Minute] \". Weitere Informationen finden Sie in der Python-Dokumentation zu 'strftime' unter http://docs.python.org/lib/module-time.html (Englisch)." #: ../src/common/config.py:134 msgid "Characters that are printed before the nickname in conversations" @@ -5705,25 +5504,16 @@ msgid "Add * and [n] in roster title?" msgstr "Füge * und [n] in die Kontaktleiste?" #: ../src/common/config.py:143 -msgid "" -"How many lines to remember from previous conversation when a chat tab/window " -"is reopened." -msgstr "" -"Wie viele Zeilen von der vorherigen Unterhaltung gespeichert werden, wenn " -"ein Chat Tab/Fenster wieder geöffnet wird." +msgid "How many lines to remember from previous conversation when a chat tab/window is reopened." +msgstr "Wie viele Zeilen von der vorherigen Unterhaltung gespeichert werden, wenn ein Chat Tab/Fenster wieder geöffnet wird." #: ../src/common/config.py:144 msgid "How many minutes should last lines from previous conversation last." -msgstr "" -"Wie viele Minuten die Zeilen vom vorherigen Chat angezeigt werden sollen." +msgstr "Wie viele Minuten die Zeilen vom vorherigen Chat angezeigt werden sollen." #: ../src/common/config.py:145 -msgid "" -"Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ " -"Client default behaviour)." -msgstr "" -"Sende Nachricht mit Strg+Enter und mache bei Enter einen Zeilenumbruch " -"(Mirabilis ICQ-Client Standardeinstellung)." +msgid "Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ Client default behaviour)." +msgstr "Sende Nachricht mit Strg+Enter und mache bei Enter einen Zeilenumbruch (Mirabilis ICQ-Client Standardeinstellung)." #: ../src/common/config.py:147 msgid "How many lines to store for Ctrl+KeyUP." @@ -5731,81 +5521,45 @@ msgstr "Wie viele Zeilen für Strg+BildAuf gespeichert werden." #: ../src/common/config.py:150 #, python-format -msgid "" -"Either custom url with %s in it where %s is the word/phrase or 'WIKTIONARY' " -"which means use wiktionary." -msgstr "" -"Entweder eine spezielle URL mit %s, wobei %s das Word/Phrase ist oder " -"'WIKTIONARY', was bedeutet, dass das Wörterbuch Wiktionary verwendet wird." +msgid "Either custom url with %s in it where %s is the word/phrase or 'WIKTIONARY' which means use wiktionary." +msgstr "Entweder eine spezielle URL mit %s, wobei %s das Word/Phrase ist oder 'WIKTIONARY', was bedeutet, dass das Wörterbuch Wiktionary verwendet wird." #: ../src/common/config.py:153 msgid "If checked, Gajim can be controlled remotely using gajim-remote." -msgstr "" -"Falls aktiviert, kann Gajim von Außerhalb mittels gajim-remote kontrolliert " -"werden." +msgstr "Falls aktiviert, kann Gajim von Außerhalb mittels gajim-remote kontrolliert werden." #: ../src/common/config.py:154 -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 "" -"Wenn aktiviert, reagiere auf D-Bus-Signale vom NetworkManager und ändere den " -"Status von Konten (vorausgesetzt, sie haben listen_to_network_manager nicht " -"auf False gesetzt und sie synchronisieren sich mit dem globalen Status) " -"basierend auf dem Status der Netzwerkverbindung." +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 "Wenn aktiviert, reagiere auf D-Bus-Signale vom NetworkManager und ändere den Status von Konten (vorausgesetzt, sie haben listen_to_network_manager nicht auf False gesetzt und sie synchronisieren sich mit dem globalen Status) basierend auf dem Status der Netzwerkverbindung." #: ../src/common/config.py:155 -msgid "" -"Sent chat state notifications. Can be one of all, composing_only, disabled." -msgstr "" -"Chat-Statusbenachrichtigungen gesendet. Kann eine von allen sein, " -"composing_only deaktiviert." +msgid "Sent chat state notifications. Can be one of all, composing_only, disabled." +msgstr "Chat-Statusbenachrichtigungen gesendet. Kann eine von allen sein, composing_only deaktiviert." #: ../src/common/config.py:156 -msgid "" -"Displayed chat state notifications in chat windows. Can be one of all, " -"composing_only, disabled." -msgstr "" -"Angezeigte Chat-Status Benachrichtigungen im Chatfenster. Kann all, " -"composing_only oder disabled sein." +msgid "Displayed chat state notifications in chat windows. Can be one of all, composing_only, disabled." +msgstr "Angezeigte Chat-Status Benachrichtigungen im Chatfenster. Kann all, composing_only oder disabled sein." #: ../src/common/config.py:158 -msgid "" -"When not printing time for every message (print_time==sometimes), print it " -"every x minutes." -msgstr "" -"Wenn die Uhrzeit nicht für jede Nachricht angezeigt werden soll " -"(print_time==sometimes), zeige sie alle x Minuten." +msgid "When not printing time for every message (print_time==sometimes), print it every x minutes." +msgstr "Wenn die Uhrzeit nicht für jede Nachricht angezeigt werden soll (print_time==sometimes), zeige sie alle x Minuten." #: ../src/common/config.py:159 msgid "Ask before closing a group chat tab/window." msgstr "Fragen, bevor ein Gruppenchat Tab/Fenster geschlossen wird." #: ../src/common/config.py:160 -msgid "" -"Always ask before closing group chat tab/window in this space separated list " -"of group chat jids." -msgstr "" -"Immer fragen, bevor ein Gruppenchat-Fenster/Tab aus der Leerzeichen-" -"seperierten Liste von Gruppchatnamen geschlossen wird." +msgid "Always ask before closing group chat tab/window in this space separated list of group chat jids." +msgstr "Immer fragen, bevor ein Gruppenchat-Fenster/Tab aus der Leerzeichen-seperierten Liste von Gruppchatnamen geschlossen wird." #: ../src/common/config.py:161 -msgid "" -"Never ask before closing group chat tab/window in this space separated list " -"of group chat jids." -msgstr "" -"Niemals fragen, bevor ein Gruppenchat-Fenster/Tab aus der Leerzeichen-" -"seperierten Liste von Gruppenchatnamen geschlossen wird." +msgid "Never ask before closing group chat tab/window in this space separated list of group chat jids." +msgstr "Niemals fragen, bevor ein Gruppenchat-Fenster/Tab aus der Leerzeichen-seperierten Liste von Gruppenchatnamen geschlossen wird." #: ../src/common/config.py:164 -msgid "" -"Overrides the host we send for File Transfer in case of address translation/" -"port forwarding." -msgstr "" -"Überschreibt den Host für Datenübertragung für den Fall von NAT/Port-" -"Forwarding" +#, fuzzy +msgid "Comma separated list of hosts that we send, in addition of local interfaces, for File Transfer in case of address translation/port forwarding." +msgstr "Überschreibt den Host für Datenübertragung für den Fall von NAT/Port-Forwarding" #: ../src/common/config.py:166 msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." @@ -5828,73 +5582,36 @@ msgid "Show close button in tab?" msgstr "Schließen-Button im Tab anzeigen?" #: ../src/common/config.py:189 -msgid "" -"A semicolon-separated list of words that will be highlighted in group chats." -msgstr "" -"Eine mit Semilkolon seperierte Liste von Worten, die in einem Gruppenchat " -"hervorgehoben werden." +msgid "A semicolon-separated list of words that will be highlighted in group chats." +msgstr "Eine mit Semilkolon seperierte Liste von Worten, die in einem Gruppenchat hervorgehoben werden." #: ../src/common/config.py:190 -msgid "" -"If True, quits Gajim when X button of Window Manager is clicked. This " -"setting is taken into account only if trayicon is used." -msgstr "" -"Falls aktiviert, wird Gajim beendet, wenn der X-Button des Fenstermanagers " -"geklickt wird. Diese Option wird nur beachtet, wenn die Trayicon-" -"Unterstützung aktiv ist." +msgid "If True, quits Gajim when X button of Window Manager is clicked. This setting is taken into account only if trayicon is used." +msgstr "Falls aktiviert, wird Gajim beendet, wenn der X-Button des Fenstermanagers geklickt wird. Diese Option wird nur beachtet, wenn die Trayicon-Unterstützung aktiv ist." #: ../src/common/config.py:191 -msgid "" -"If True, Gajim will check if it's the default jabber client on each startup." -msgstr "" -"Wenn aktiviert, wird Gajim beim Starten überprüfen, ob Gajim der Standard-" -"Jabber-Client ist." +msgid "If True, Gajim will check if it's the default jabber client on each startup." +msgstr "Wenn aktiviert, wird Gajim beim Starten überprüfen, ob Gajim der Standard-Jabber-Client ist." #: ../src/common/config.py:192 -msgid "" -"If True, Gajim will display an icon on each tab containing unread messages. " -"Depending on the theme, this icon may be animated." -msgstr "" -"Falls aktiviert, wird Gajim ein Icon auf jedem Tab mit ungelesenen " -"Nachrichten anzeigen. Abhängig vom Thema kann dieses Icon animiert sein." +msgid "If True, Gajim will display an icon on each tab containing unread messages. Depending on the theme, this icon may be animated." +msgstr "Falls aktiviert, wird Gajim ein Icon auf jedem Tab mit ungelesenen Nachrichten anzeigen. Abhängig vom Thema kann dieses Icon animiert sein." #: ../src/common/config.py:193 -msgid "" -"If True, Gajim will display the status message, if not empty, for every " -"contact under the contact name in roster window." -msgstr "" -"Falls aktiviert, wird Gajim für jeden Kontakt die Statusnachricht, falls " -"nicht leer, unter dem jeweiligen Kontaktnamen im Roster anzeigen." +msgid "If True, Gajim will display the status message, if not empty, for every contact under the contact name in roster window." +msgstr "Falls aktiviert, wird Gajim für jeden Kontakt die Statusnachricht, falls nicht leer, unter dem jeweiligen Kontaktnamen im Roster anzeigen." #: ../src/common/config.py:195 -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 fragt Gajim nach einem Avatar für jeden Kontakt, der beim " -"letzten Mal keinen hatte oder einen veralteten hat." +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 fragt Gajim nach einem Avatar für jeden Kontakt, der beim letzten Mal keinen hatte oder einen veralteten hat." #: ../src/common/config.py:196 -msgid "" -"If False, Gajim will no longer print status line in chats when a contact " -"changes his or her status and/or his or her status message." -msgstr "" -"Falls deaktiviert, werden Sie keine Statuszeile im Chat sehen, wenn ein " -"Kontakt seinen Status und/oder seine Statusnachricht ändert." +msgid "If False, Gajim will no longer print status line in chats when a contact changes his or her status and/or his or her status message." +msgstr "Falls deaktiviert, werden Sie keine Statuszeile im Chat sehen, wenn ein Kontakt seinen Status und/oder seine Statusnachricht ändert." #: ../src/common/config.py:197 -msgid "" -"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." -msgstr "" -"Kann \"none\", \"all\" oder \"in_and_out\" sein. Falls \"none\", wird Gajim " -"keine Status-Zeilen mehr in Gruppenchats anzeigen, wenn ein Mitglied seinen " -"Status oder seine Statusnachricht ändert. Falls \"all\", wird Gajim alle " -"Statusnachrichten anzeigen. Falls \"in_and_out\", wird Gajim nur einen " -"Status anzeigen, wenn jemand den Gruppenchat betritt oder verlässt." +msgid "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." +msgstr "Kann \"none\", \"all\" oder \"in_and_out\" sein. Falls \"none\", wird Gajim keine Status-Zeilen mehr in Gruppenchats anzeigen, wenn ein Mitglied seinen Status oder seine Statusnachricht ändert. Falls \"all\", wird Gajim alle Statusnachrichten anzeigen. Falls \"in_and_out\", wird Gajim nur einen Status anzeigen, wenn jemand den Gruppenchat betritt oder verlässt." #: ../src/common/config.py:199 msgid "Background color of contacts when they just signed in." @@ -5905,11 +5622,8 @@ msgid "Background color of contacts when they just signed out." msgstr "Hintergrundfarbe von Kontakten wenn sie sich gerade noch abmeldeten." #: ../src/common/config.py:202 -msgid "" -"If True, restored messages will use a smaller font than the default one." -msgstr "" -"Falls aktiv, werden wiederhergestellte Nachrichten mit einer kleineren " -"Schrift als der Standard dargestellt." +msgid "If True, restored messages will use a smaller font than the default one." +msgstr "Falls aktiv, werden wiederhergestellte Nachrichten mit einer kleineren Schrift als der Standard dargestellt." #: ../src/common/config.py:203 msgid "Don't show avatar for the transport itself." @@ -5920,24 +5634,12 @@ msgid "Don't show roster in the system taskbar." msgstr "Kontaktliste nicht in der System-Taskleiste anzeigen." #: ../src/common/config.py:205 -msgid "" -"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." -msgstr "" -"Wenn aktiviert und die installierten GTK+ und PyGTK Versionen wenigstens 2.8 " -"sind, lasse das Fenster bei neuen Ereignissen aufblitzen (Standardverhalten " -"in den meisten Window-Managers) " +msgid "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." +msgstr "Wenn aktiviert und die installierten GTK+ und PyGTK Versionen wenigstens 2.8 sind, lasse das Fenster bei neuen Ereignissen aufblitzen (Standardverhalten in den meisten Window-Managers) " #: ../src/common/config.py:207 -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 mag keine SHA-Informationen wenn ein passwortgeschützter " -"Gruppenchat betreten wird. Deaktivieren Sie diese Option um keine SHA-" -"Informationen in Gruppenchats zu senden" +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 mag keine SHA-Informationen wenn ein passwortgeschützter Gruppenchat betreten wird. Deaktivieren Sie diese Option um keine SHA-Informationen in Gruppenchats zu senden" #. always, never, peracct, pertype should not be translated #: ../src/common/config.py:210 @@ -5946,23 +5648,17 @@ msgid "" "'always' - All messages are sent to a single window.\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. Note, changing this option requires restarting Gajim before " -"the changes will take effect." +"'pertype' - Each message type (e.g., chats vs. groupchats) are sent to a specific window. Note, changing this option requires restarting Gajim before the changes will take effect." msgstr "" "Kontrolliert das Fenster in dem neue Nachrichten platziert werden.\n" "'always' - Alle Nachrichten landen in einem einzelnen Fenster.\n" "'never' - Alle Nachrichten bekommen ihr eigenes Fenster.\n" -"'peracct' - Nachrichten für jeden Account landen in einem speziellen " -"Fenster.\n" -"'pertype' - Jede Nachrichtentyp (z.B. Chat vs. Gruppenchat) landet in in " -"einem speziellen Fenster. Falls Sie diese Option ändern, muss Gajim neu " -"gestartet werden, damit die Änderungen übernommen werden" +"'peracct' - Nachrichten für jeden Account landen in einem speziellen Fenster.\n" +"'pertype' - Jede Nachrichtentyp (z.B. Chat vs. Gruppenchat) landet in in einem speziellen Fenster. Falls Sie diese Option ändern, muss Gajim neu gestartet werden, damit die Änderungen übernommen werden" #: ../src/common/config.py:211 msgid "If False, you will no longer see the avatar in the chat window." -msgstr "" -"Wenn deaktiviert, werden Sie den Avatar nicht mehr im Chatfenster sehen." +msgstr "Wenn deaktiviert, werden Sie den Avatar nicht mehr im Chatfenster sehen." #: ../src/common/config.py:212 msgid "If True, pressing the escape key closes a tab/window." @@ -5989,214 +5685,179 @@ msgid "Hides the group chat occupants list in group chat window." msgstr "Versteckt die Gruppenchat-Benutzerliste im Gruppenchat-Fenster." #: ../src/common/config.py:218 -msgid "" -"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." -msgstr "" -"Zeige in einem Chat den Spitznamen nur dann am Beginn einer Linie, wenn es " -"nicht die selbe Person ist die schon die letzte Nachricht geschrieben hat." +msgid "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." +msgstr "Zeige in einem Chat den Spitznamen nur dann am Beginn einer Linie, wenn es nicht die selbe Person ist die schon die letzte Nachricht geschrieben hat." #: ../src/common/config.py:219 msgid "Indentation when using merge consecutive nickname." -msgstr "" -"Einrückung, wenn das Zusammenführen nachfolgender Spitznamen verwendet wird." +msgstr "Einrückung, wenn das Zusammenführen nachfolgender Spitznamen verwendet wird." #: ../src/common/config.py:220 msgid "List of colors that will be used to color nicknames in group chats." -msgstr "" -"Farbliste, die für die Einfärbung von Spitzenamen im Gruppenchat verwendet " -"wird." +msgstr "Farbliste, die für die Einfärbung von Spitzenamen im Gruppenchat verwendet wird." #: ../src/common/config.py:221 msgid "Ctrl-Tab go to next composing tab when none is unread." -msgstr "" -"Strg-Tab, um zum nächsten Reiter zu gehen, wenn kein Anderer neue " -"Nachrichten enthält." +msgstr "Strg-Tab, um zum nächsten Reiter zu gehen, wenn kein Anderer neue Nachrichten enthält." #: ../src/common/config.py:222 -msgid "" -"Should we show the confirm metacontacts creation dialog or not? Empty string " -"means we never show the dialog." -msgstr "" -"Soll der Bestätigungsdialog beim Erstellen von Metakontakten angezeigt " -"werden oder nicht? Bei leerer Zeichenfolge wird der Dialog nie gezeigt." +msgid "Should we show the confirm metacontacts creation dialog or not? Empty string means we never show the dialog." +msgstr "Soll der Bestätigungsdialog beim Erstellen von Metakontakten angezeigt werden oder nicht? Bei leerer Zeichenfolge wird der Dialog nie gezeigt." #: ../src/common/config.py:223 -msgid "" -"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." -msgstr "" -"Wenn aktiviert, werden Sie in der Lage sein eine negative Priorität für Ihr " -"Konto im Konto-Bearbeiten Fenster zu setzen. SEIEN SIE VORSICHTIG, wenn Sie " -"mit einer negativen Priorität angemeldet sind: Sie werden KEINE Nachrichten " -"mehr von Ihrem Server erhalten." +msgid "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." +msgstr "Wenn aktiviert, werden Sie in der Lage sein eine negative Priorität für Ihr Konto im Konto-Bearbeiten Fenster zu setzen. SEIEN SIE VORSICHTIG, wenn Sie mit einer negativen Priorität angemeldet sind: Sie werden KEINE Nachrichten mehr von Ihrem Server erhalten." #: ../src/common/config.py:224 -msgid "" -"If True, Gajim will use Gnome Keyring (if available) to store account " -"passwords." -msgstr "" -"Wenn aktiviert, wird Gnome Keyring (falls verfügbar) verwendet, um die " -"Passwörter der Konten zu speichern." +msgid "If True, Gajim will use Gnome Keyring (if available) to store account passwords." +msgstr "Wenn aktiviert, wird Gnome Keyring (falls verfügbar) verwendet, um die Passwörter der Konten zu speichern." #: ../src/common/config.py:225 -msgid "" -"If True, Gajim will show number of online and total contacts in account and " -"group rows." -msgstr "" -"Wenn aktiviert, wird Gajim die Anzahl der angemeldeten und gesamten Kontakte " -"in den Konto- und Gruppenreihen anzeigen." +msgid "If True, Gajim will show number of online and total contacts in account and group rows." +msgstr "Wenn aktiviert, wird Gajim die Anzahl der angemeldeten und gesamten Kontakte in den Konto- und Gruppenreihen anzeigen." #: ../src/common/config.py:226 -msgid "" -"Can be empty, 'chat' or 'normal'. If not empty, treat all incoming messages " -"as if they were of this type" -msgstr "" -"Kann leer, 'chat' oder 'normal' sein. Wenn nicht leer, dann werden alle " -"eingehenden Nachrichten so behandelt, als wären sie von diesem Typ." +msgid "Can be empty, 'chat' or 'normal'. If not empty, treat all incoming messages as if they were of this type" +msgstr "Kann leer, 'chat' oder 'normal' sein. Wenn nicht leer, dann werden alle eingehenden Nachrichten so behandelt, als wären sie von diesem Typ." -#: ../src/common/config.py:237 -msgid "" -"Priority will change automatically according to your status. Priorities are " -"defined in autopriority_* options." +#: ../src/common/config.py:227 +msgid "If True, Gajim will scroll and select the contact who sent you the last message, if chat window is not already opened." msgstr "" -"Die Priorität wird automatisch dem Status entsprechend geändert. Prioritäten " -"sind in den autopriority_* Optionen definiert." + +#: ../src/common/config.py:238 +msgid "Priority will change automatically according to your status. Priorities are defined in autopriority_* options." +msgstr "Die Priorität wird automatisch dem Status entsprechend geändert. Prioritäten sind in den autopriority_* Optionen definiert." #. yes, no, ask -#: ../src/common/config.py:266 +#: ../src/common/config.py:267 msgid "Jabberd2 workaround" msgstr "Jabberd2 Workaround" -#: ../src/common/config.py:270 -msgid "" -"If checked, Gajim will use your IP and proxies defined in " -"file_transfer_proxies option for file transfer." -msgstr "" -"Wenn aktiviert, wird Gajim Ihre IP und die in der file_transfer_proxies " -"Option definierten Proxies für den Datentransfer verwenden." +#: ../src/common/config.py:271 +msgid "If checked, Gajim will use your IP and proxies defined in file_transfer_proxies option for file transfer." +msgstr "Wenn aktiviert, wird Gajim Ihre IP und die in der file_transfer_proxies Option definierten Proxies für den Datentransfer verwenden." -#: ../src/common/config.py:329 +#: ../src/common/config.py:330 msgid "Is OpenPGP enabled for this contact?" msgstr "Ist OpenPGP für diesen Kontakt aktiviert?" -#: ../src/common/config.py:330 ../src/common/config.py:333 +#: ../src/common/config.py:331 +#: ../src/common/config.py:334 msgid "Language for which we want to check misspelled words" msgstr "Sprache für, die nach falsch geschriebenen Wörtern gesucht werden soll" -#: ../src/common/config.py:339 +#: ../src/common/config.py:340 msgid "all or space separated status" msgstr "alle oder Leerzeichen-getrennter Status" -#: ../src/common/config.py:340 +#: ../src/common/config.py:341 msgid "'yes', 'no', or 'both'" msgstr "'ja', 'nein' oder 'beide'" -#: ../src/common/config.py:341 ../src/common/config.py:343 -#: ../src/common/config.py:344 ../src/common/config.py:347 +#: ../src/common/config.py:342 +#: ../src/common/config.py:344 +#: ../src/common/config.py:345 #: ../src/common/config.py:348 +#: ../src/common/config.py:349 msgid "'yes', 'no' or ''" msgstr "'ja, 'nein' oder ''" -#: ../src/common/config.py:354 +#: ../src/common/config.py:355 msgid "Sleeping" msgstr "Schlafen" -#: ../src/common/config.py:355 +#: ../src/common/config.py:356 msgid "Back soon" msgstr "Bin gleich wieder da" -#: ../src/common/config.py:355 +#: ../src/common/config.py:356 msgid "Back in some minutes." msgstr "Bin in ein paar Minuten zurück." -#: ../src/common/config.py:356 +#: ../src/common/config.py:357 msgid "Eating" msgstr "Essen" -#: ../src/common/config.py:356 +#: ../src/common/config.py:357 msgid "I'm eating, so leave me a message." msgstr "Ich esse gerade, also hinterlasst eine Nachricht." -#: ../src/common/config.py:357 +#: ../src/common/config.py:358 msgid "Movie" msgstr "Film" -#: ../src/common/config.py:357 +#: ../src/common/config.py:358 msgid "I'm watching a movie." msgstr "Ich sehe mir einen Film an." -#: ../src/common/config.py:358 +#: ../src/common/config.py:359 msgid "Working" msgstr "Arbeiten" -#: ../src/common/config.py:358 +#: ../src/common/config.py:359 msgid "I'm working." msgstr "Ich arbeite." -#: ../src/common/config.py:359 +#: ../src/common/config.py:360 msgid "Phone" msgstr "Telefon" -#: ../src/common/config.py:359 +#: ../src/common/config.py:360 msgid "I'm on the phone." msgstr "Ich telefoniere." -#: ../src/common/config.py:360 +#: ../src/common/config.py:361 msgid "Out" msgstr "Draußen" -#: ../src/common/config.py:360 +#: ../src/common/config.py:361 msgid "I'm out enjoying life." msgstr "Ich bin draußen und genieße das Leben." -#: ../src/common/config.py:364 +#: ../src/common/config.py:365 msgid "I'm available." msgstr "Ich bin angemeldet." -#: ../src/common/config.py:365 +#: ../src/common/config.py:366 msgid "I'm free for chat." msgstr "Ich bin frei zum Chatten." -#: ../src/common/config.py:367 +#: ../src/common/config.py:368 msgid "I'm not available." msgstr "Ich bin nicht verfügbar." -#: ../src/common/config.py:368 +#: ../src/common/config.py:369 msgid "Do not disturb." msgstr "Bitte nicht stören." -#: ../src/common/config.py:369 ../src/common/config.py:370 +#: ../src/common/config.py:370 +#: ../src/common/config.py:371 msgid "Bye!" msgstr "Auf Wiedersehen!" -#: ../src/common/config.py:379 -msgid "" -"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." -msgstr "" -"Abzuspielender Ton, falls eine Gruppenchat-Nachricht eines der Wörter aus " -"der muc_highlights_works-Liste oder Ihren Spitznamen enthält." - #: ../src/common/config.py:380 -msgid "Sound to play when any MUC message arrives." -msgstr "" -"Ton der beim empfangen einer Gruppenchat-Nachricht abgespielt werden soll" +msgid "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." +msgstr "Abzuspielender Ton, falls eine Gruppenchat-Nachricht eines der Wörter aus der muc_highlights_works-Liste oder Ihren Spitznamen enthält." -#: ../src/common/config.py:389 ../src/common/optparser.py:193 +#: ../src/common/config.py:381 +msgid "Sound to play when any MUC message arrives." +msgstr "Ton der beim empfangen einer Gruppenchat-Nachricht abgespielt werden soll" + +#: ../src/common/config.py:390 +#: ../src/common/optparser.py:195 msgid "green" msgstr "grün" -#: ../src/common/config.py:393 ../src/common/optparser.py:179 +#: ../src/common/config.py:394 +#: ../src/common/optparser.py:181 msgid "grocery" msgstr "gemüse" -#: ../src/common/config.py:397 +#: ../src/common/config.py:398 msgid "human" msgstr "menschlich" -#: ../src/common/config.py:401 +#: ../src/common/config.py:402 msgid "marine" msgstr "Marine" @@ -6205,27 +5866,28 @@ msgstr "Marine" msgid "Unable to load idle module" msgstr "Konnte Idle-Modus nicht laden" -#: ../src/common/connection_handlers.py:177 -#: ../src/common/zeroconf/connection_handlers_zeroconf.py:233 +#: ../src/common/connection_handlers.py:180 +#: ../src/common/connection_handlers.py:215 +#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236 msgid "Wrong host" msgstr "Falscher Host" -#: ../src/common/connection_handlers.py:177 -#: ../src/common/zeroconf/connection_handlers_zeroconf.py:233 -msgid "" -"The host you configured as the ft_override_host_to_send advanced option is " -"not valid, so ignored." -msgstr "" -"Der Host, den Sie für die erweiterte Option ft_override_host_to_send angeben " -"haben ist ungültig und wird ignoriert." +#: ../src/common/connection_handlers.py:180 +#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236 +#, fuzzy, python-format +msgid "The host %s you configured as the ft_add_hosts_to_send advanced option is not valid, so ignored." +msgstr "Der Host, den Sie für die erweiterte Option ft_override_host_to_send angeben haben ist ungültig und wird ignoriert." -#: ../src/common/connection_handlers.py:590 +#: ../src/common/connection_handlers.py:216 +msgid "Invalid local address? :-O" +msgstr "" + +#: ../src/common/connection_handlers.py:607 #, python-format msgid "Registration information for transport %s has not arrived in time" -msgstr "" -"Registrierungsinformation für Transport %s sind nicht rechtzeitig angekommen" +msgstr "Registrierungsinformation für Transport %s sind nicht rechtzeitig angekommen" -#: ../src/common/connection_handlers.py:1543 +#: ../src/common/connection_handlers.py:1544 #, python-format msgid "Nickname not allowed: %s" msgstr "Spitzname nicht erlaubt: %s" @@ -6233,195 +5895,183 @@ msgstr "Spitzname nicht erlaubt: %s" #. password required to join #. we are banned #. group chat does not exist -#: ../src/common/connection_handlers.py:1605 -#: ../src/common/connection_handlers.py:1608 -#: ../src/common/connection_handlers.py:1611 -#: ../src/common/connection_handlers.py:1614 -#: ../src/common/connection_handlers.py:1617 -#: ../src/common/connection_handlers.py:1620 -#: ../src/common/connection_handlers.py:1628 +#: ../src/common/connection_handlers.py:1609 +#: ../src/common/connection_handlers.py:1612 +#: ../src/common/connection_handlers.py:1615 +#: ../src/common/connection_handlers.py:1618 +#: ../src/common/connection_handlers.py:1621 +#: ../src/common/connection_handlers.py:1624 +#: ../src/common/connection_handlers.py:1632 msgid "Unable to join group chat" msgstr "Fehler beim Betreten des Gruppenchats" -#: ../src/common/connection_handlers.py:1606 +#: ../src/common/connection_handlers.py:1610 msgid "A password is required to join this group chat." msgstr "Für das Betreten dieses Gruppenchats ist ein Passwort nötig." -#: ../src/common/connection_handlers.py:1609 +#: ../src/common/connection_handlers.py:1613 msgid "You are banned from this group chat." msgstr "Sie sind von diesem Gruppenchat gebannt." -#: ../src/common/connection_handlers.py:1612 +#: ../src/common/connection_handlers.py:1616 msgid "Such group chat does not exist." msgstr "Dieser Gruppenchat existiert nicht." -#: ../src/common/connection_handlers.py:1615 +#: ../src/common/connection_handlers.py:1619 msgid "Group chat creation is restricted." msgstr "Gruppenchaterstellung ist beschränkt." -#: ../src/common/connection_handlers.py:1618 +#: ../src/common/connection_handlers.py:1622 msgid "Your registered nickname must be used." msgstr "Sie müssen Ihren registrierten Spitznamen verwenden" -#: ../src/common/connection_handlers.py:1621 +#: ../src/common/connection_handlers.py:1625 msgid "You are not in the members list." msgstr "Sie sind nicht in der Mitgliedliste" -#: ../src/common/connection_handlers.py:1629 +#: ../src/common/connection_handlers.py:1633 msgid "" "Your desired nickname is in use or registered by another occupant.\n" "Please specify another nickname below:" msgstr "" -"Der gewünschte Benutzername wird bereits verwendet oder ist von einem " -"anderen Benutzer registriert.\n" +"Der gewünschte Benutzername wird bereits verwendet oder ist von einem anderen Benutzer registriert.\n" "Bitte geben Sie einen anderen Benutzernamen an:" -#: ../src/common/connection_handlers.py:1679 +#. Room has been destroyed. see +#. http://www.xmpp.org/extensions/xep-0045.html#destroyroom +#: ../src/common/connection_handlers.py:1676 +#, fuzzy +msgid "Room has been destroyed" +msgstr "Autorisierung wurde entfernt" + +#: ../src/common/connection_handlers.py:1683 +#, python-format +msgid "You can join this room instead: %s" +msgstr "" + +#: ../src/common/connection_handlers.py:1709 msgid "I would like to add you to my roster." msgstr "Ich würde dich gerne zu meiner Liste hinzufügen." #. BE CAREFUL: no con.updateRosterItem() in a callback -#: ../src/common/connection_handlers.py:1700 +#: ../src/common/connection_handlers.py:1730 #, python-format msgid "we are now subscribed to %s" msgstr "wir haben jetzt %s abonniert" -#: ../src/common/connection_handlers.py:1702 +#: ../src/common/connection_handlers.py:1732 #, python-format msgid "unsubscribe request from %s" msgstr "Anfrage zur Kündigung des Abonnements von %s" -#: ../src/common/connection_handlers.py:1704 +#: ../src/common/connection_handlers.py:1734 #, python-format msgid "we are now unsubscribed from %s" msgstr "%s hat das Abonnement beendet" -#: ../src/common/connection_handlers.py:1874 +#: ../src/common/connection_handlers.py:1851 #, python-format -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 ist nicht RFC-konform. Sie wird nicht zu ihrem Roster hinzugefügt. " -"Verwenden Sie ein Roster-Managment-Tool wie , " -"um ihn zu entfernen" +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 ist nicht RFC-konform. Sie wird nicht zu ihrem Roster hinzugefügt. Verwenden Sie ein Roster-Managment-Tool wie , um ihn zu entfernen" -#: ../src/common/connection.py:182 +#: ../src/common/connection.py:193 #: ../src/common/zeroconf/connection_zeroconf.py:196 #, python-format msgid "Connection with account \"%s\" has been lost" msgstr "Verbindung mit Konto \"%s\" abgebrochen" -#: ../src/common/connection.py:183 +#: ../src/common/connection.py:194 msgid "Reconnect manually." msgstr "Manuelle Neuverbindung." -#: ../src/common/connection.py:194 ../src/common/connection.py:221 +#: ../src/common/connection.py:205 +#: ../src/common/connection.py:232 #, python-format msgid "Transport %s answered wrongly to register request: %s" -msgstr "" -"Transport %s beantwortete unsere Registrierungsanfrage nicht korrekt: %s" +msgstr "Transport %s beantwortete unsere Registrierungsanfrage nicht korrekt: %s" #. wrong answer -#: ../src/common/connection.py:220 +#: ../src/common/connection.py:231 msgid "Invalid answer" msgstr "Ungültige Antwort" -#: ../src/common/connection.py:417 ../src/common/connection.py:516 -#: ../src/common/connection.py:974 +#: ../src/common/connection.py:379 +#, fuzzy +msgid "Connection to proxy failed" +msgstr "Verbindung fehlgeschlagen" + +#: ../src/common/connection.py:433 +#: ../src/common/connection.py:531 +#: ../src/common/connection.py:984 #: ../src/common/zeroconf/connection_zeroconf.py:217 #, python-format msgid "Could not connect to \"%s\"" msgstr "Konnte nicht mit %s verbinden" -#: ../src/common/connection.py:431 +#: ../src/common/connection.py:447 #, python-format msgid "Connected to server %s:%s with %s" msgstr "Verbunden mit Server %s:%s mit %s" -#: ../src/common/connection.py:445 +#: ../src/common/connection.py:460 #, python-format msgid "Security error connecting to \"%s\"" msgstr "Konnte nicht mit %s verbinden" -#: ../src/common/connection.py:446 -msgid "" -"The server's key has changed, or someone is trying to hack your connection." -msgstr "" -"Der Schlüssel des Servers wurde geändert oder jemand versucht ihre " -"Verbindung zu hacken." +#: ../src/common/connection.py:461 +msgid "The server's key has changed, or someone is trying to hack your connection." +msgstr "Der Schlüssel des Servers wurde geändert oder jemand versucht ihre Verbindung zu hacken." -#: ../src/common/connection.py:453 +#: ../src/common/connection.py:468 #, python-format msgid "Unable to check fingerprint for %s. Connection could be insecure." -msgstr "" -"Konnte Fingerabdruck von %s nicht überprüfen. Die Verbindung ist " -"möglicherweise unsicher." +msgstr "Konnte Fingerabdruck von %s nicht überprüfen. Die Verbindung ist möglicherweise unsicher." -#: ../src/common/connection.py:495 +#: ../src/common/connection.py:510 #, python-format msgid "Missing fingerprint in SSL connection to %s" msgstr "Fehlender Fingerabdruck in der SSL-Verbindung zu %s" -#: ../src/common/connection.py:501 +#: ../src/common/connection.py:516 #, python-format msgid "Fingerprint mismatch for %s: Got %s, expected %s" msgstr "Fingerabdruck von %s stimmt nicht überein: Erhalten %s, erwartet %s" -#: ../src/common/connection.py:517 +#: ../src/common/connection.py:532 msgid "Check your connection or try again later" msgstr "Überprüfen Sie die Verbindung oder versuchen Sie es später noch einmal" -#: ../src/common/connection.py:543 +#: ../src/common/connection.py:558 #, python-format msgid "Authentication failed with \"%s\"" msgstr "Authentifizierung mit \"%s\" fehlgeschlagen" -#: ../src/common/connection.py:544 +#: ../src/common/connection.py:559 msgid "Please check your login and password for correctness." msgstr "Bitte überprüfen Sie ihren Benutzernamen und Passwort." -#: ../src/common/connection.py:571 +#: ../src/common/connection.py:586 msgid "Error while removing privacy list" msgstr "Fehler beim Entfernen der Privatliste" -#: ../src/common/connection.py:572 +#: ../src/common/connection.py:587 #, python-format -msgid "" -"Privacy list %s has not been removed. It is maybe active in one of your " -"connected resources. Deactivate it and try again." -msgstr "" -"Privatliste %s wurde nicht entfernt. Möglicherweise ist die Privatliste noch " -"in einer Ihrer Verbindungen aktiv. Deaktivieren Sie diese und versuchen Sie " -"es erneut." +msgid "Privacy list %s has not been removed. It is maybe active in one of your connected resources. Deactivate it and try again." +msgstr "Privatliste %s wurde nicht entfernt. Möglicherweise ist die Privatliste noch in einer Ihrer Verbindungen aktiv. Deaktivieren Sie diese und versuchen Sie es erneut." #. We didn't set a passphrase -#: ../src/common/connection.py:670 +#: ../src/common/connection.py:685 #: ../src/common/zeroconf/connection_zeroconf.py:156 msgid "OpenPGP passphrase was not given" msgstr "Keine OpenPGP-Passphrase gewählt" -#. do not show I'm invisible! -#: ../src/common/connection.py:712 -msgid "invisible" -msgstr "unsichtbar" - -#: ../src/common/connection.py:713 -msgid "offline" -msgstr "abgemeldet" - -#: ../src/common/connection.py:714 -#, python-format -msgid "I'm %s" -msgstr "Ich bin %s" - #. we're not english #. one in locale and one en -#: ../src/common/connection.py:805 +#: ../src/common/connection.py:814 msgid "[This message is *encrypted* (See :JEP:`27`]" msgstr "[Diese Nachricht ist *verschlüsselt* (Siehe: JEP:`27`)]" -#: ../src/common/connection.py:861 +#: ../src/common/connection.py:870 #: ../src/common/zeroconf/connection_zeroconf.py:397 #, python-format msgid "" @@ -6431,7 +6081,7 @@ msgstr "" "Thema: %s\n" "%s" -#: ../src/common/connection.py:1000 +#: ../src/common/connection.py:1010 msgid "Not fetched because of invisible status" msgstr "Nicht abgeholt aufgrund eines Unsichtbar-Status" @@ -6450,14 +6100,11 @@ msgstr "Gajims D-BUS-Möglichkeiten können nicht genutzt werden" #: ../src/common/exceptions.py:22 msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..." -msgstr "" -"pysqlite2 (auch python-pysqlite2 genannt) Abhängigkeit fehlt. Beende ..." +msgstr "pysqlite2 (auch python-pysqlite2 genannt) Abhängigkeit fehlt. Beende ..." #: ../src/common/exceptions.py:30 msgid "Service not available: Gajim is not running, or remote_control is False" -msgstr "" -"Dienst nicht verfügbar: Gajim ist nicht aktiv oder remote_control ist " -"deaktiviert" +msgstr "Dienst nicht verfügbar: Gajim ist nicht aktiv oder remote_control ist deaktiviert" #: ../src/common/exceptions.py:38 msgid "D-Bus is not present on this machine or python module is missing" @@ -6467,9 +6114,7 @@ msgstr "D-Bus auf diesem Computer nicht vorhanden oder das Python-Modul fehlt" msgid "" "Session bus is not available.\n" "Try reading http://trac.gajim.org/wiki/GajimDBus" -msgstr "" -"Sitzungsbus ist nicht verfügbar.\"Bitte lesen Sie http://trac.gajim.org/wiki/" -"GajimDBus (Englisch)" +msgstr "Sitzungsbus ist nicht verfügbar.\"Bitte lesen Sie http://trac.gajim.org/wiki/GajimDBus (Englisch)" #: ../src/common/fuzzyclock.py:42 msgid "one" @@ -6521,55 +6166,68 @@ msgstr "Zwölf" #. Strings to use for the output. %0 will be replaced with the preceding hour (e.g. "x PAST %0"), %1 with the coming hour (e.g. "x TO %1). ''' #. A "singular-form". It is used when talking about hour 0 -#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55 +#: ../src/common/fuzzyclock.py:47 +#: ../src/common/fuzzyclock.py:55 msgid "$0 o'clock" msgstr "%0 Uhr" -#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55 +#: ../src/common/fuzzyclock.py:47 +#: ../src/common/fuzzyclock.py:55 msgid "five past $0" msgstr "fünf nach %0" -#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:56 +#: ../src/common/fuzzyclock.py:48 +#: ../src/common/fuzzyclock.py:56 msgid "ten past $0" msgstr "zehn nach %0" -#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:56 +#: ../src/common/fuzzyclock.py:48 +#: ../src/common/fuzzyclock.py:56 msgid "quarter past $0" msgstr "viertel nach %0" -#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:57 +#: ../src/common/fuzzyclock.py:49 +#: ../src/common/fuzzyclock.py:57 msgid "twenty past $0" msgstr "zwanzig nach %0" -#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:57 +#: ../src/common/fuzzyclock.py:49 +#: ../src/common/fuzzyclock.py:57 msgid "twenty five past $0" msgstr "fünfundzwanzig nach %0" -#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:58 +#: ../src/common/fuzzyclock.py:50 +#: ../src/common/fuzzyclock.py:58 msgid "half past $0" msgstr "dreißig nach %0" -#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:58 +#: ../src/common/fuzzyclock.py:50 +#: ../src/common/fuzzyclock.py:58 msgid "twenty five to $1" msgstr "fünfundzwanzig vor %1" -#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:59 +#: ../src/common/fuzzyclock.py:51 +#: ../src/common/fuzzyclock.py:59 msgid "twenty to $1" msgstr "zwanzig vor %1" -#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:59 +#: ../src/common/fuzzyclock.py:51 +#: ../src/common/fuzzyclock.py:59 msgid "quarter to $1" msgstr "viertel vor %1" -#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60 +#: ../src/common/fuzzyclock.py:52 +#: ../src/common/fuzzyclock.py:60 msgid "ten to $1" msgstr "zehn vor %1" -#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60 +#: ../src/common/fuzzyclock.py:52 +#: ../src/common/fuzzyclock.py:60 msgid "five to $1" msgstr "fünf vor %1" -#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:61 +#: ../src/common/fuzzyclock.py:52 +#: ../src/common/fuzzyclock.py:61 msgid "$1 o'clock" msgstr "%1 Uhr" @@ -6848,7 +6506,8 @@ msgid_plural " %d unread private messages" msgstr[0] " %d ungelesene private Nachricht" msgstr[1] " %d ungelesene private Nachrichten" -#: ../src/common/helpers.py:918 ../src/common/helpers.py:920 +#: ../src/common/helpers.py:918 +#: ../src/common/helpers.py:920 #, python-format msgid "Gajim - %s" msgstr "Gajim - %s" @@ -6859,15 +6518,16 @@ msgstr "Gajim - %s" msgid "error: cannot open %s for reading" msgstr "Fehler: %s kann nicht zum Lesen geöffnet werden" -#: ../src/common/optparser.py:179 +#: ../src/common/optparser.py:181 msgid "gtk+" msgstr "gtk+" -#: ../src/common/optparser.py:188 ../src/common/optparser.py:189 +#: ../src/common/optparser.py:190 +#: ../src/common/optparser.py:191 msgid "cyan" msgstr "cyan" -#: ../src/common/optparser.py:306 +#: ../src/common/optparser.py:308 msgid "migrating logs database to indices" msgstr "migriere Logdatenbank zu Indices" @@ -6877,32 +6537,24 @@ msgid "Gajim account %s" msgstr "Gajim-Konto %s" #: ../src/common/zeroconf/client_zeroconf.py:189 -msgid "" -"Connection to host could not be established: Incorrect answer from server." -msgstr "" -"Verbindung zum Host konnte nicht aufgebaut werden: Fehlerhafte Antwort vom " -"Server." +msgid "Connection to host could not be established: Incorrect answer from server." +msgstr "Verbindung zum Host konnte nicht aufgebaut werden: Fehlerhafte Antwort vom Server." #: ../src/common/zeroconf/client_zeroconf.py:205 msgid "Connection to host could not be established" msgstr "Verbindung zu Host konnte nicht hergestellt werden" -#: ../src/common/zeroconf/client_zeroconf.py:334 -msgid "" -"Connection to host could not be established: Timeout while sending data." -msgstr "" -"Verbindung zum Host konnte nicht hergestellt werden: Zeitüberschreitung beim " -"Senden von Daten." +#: ../src/common/zeroconf/client_zeroconf.py:339 +msgid "Connection to host could not be established: Timeout while sending data." +msgstr "Verbindung zum Host konnte nicht hergestellt werden: Zeitüberschreitung beim Senden von Daten." -#: ../src/common/zeroconf/client_zeroconf.py:627 +#: ../src/common/zeroconf/client_zeroconf.py:632 msgid "Contact is offline. Your message could not be sent." msgstr "Kontakt ist offline. Ihre Nachricht konnte nicht versendet werden." #: ../src/common/zeroconf/connection_zeroconf.py:197 msgid "To continue sending and receiving messages, you will need to reconnect." -msgstr "" -"Um weiterhin Nachrichten Senden und Empfangen zu können, müssen Sie sich " -"erneut verbinden." +msgstr "Um weiterhin Nachrichten Senden und Empfangen zu können, müssen Sie sich erneut verbinden." #: ../src/common/zeroconf/connection_zeroconf.py:207 msgid "Avahi error" @@ -6942,12 +6594,8 @@ msgid "Could not change status of account \"%s\"" msgstr "Der Status des Kontos \"%s\" konnte nicht geändert werden." #: ../src/common/zeroconf/connection_zeroconf.py:341 -msgid "" -"You are not connected or not visible to others. Your message could not be " -"sent." -msgstr "" -"Sie sind nicht verbunden oder für andere nicht sichtbar. Ihre Nachricht " -"konnte nicht versendet werden." +msgid "You are not connected or not visible to others. Your message could not be sent." +msgstr "Sie sind nicht verbunden oder für andere nicht sichtbar. Ihre Nachricht konnte nicht versendet werden." #. we're not english #: ../src/common/zeroconf/connection_zeroconf.py:353 @@ -6959,271 +6607,195 @@ msgstr "[Diese Nachricht ist verschlüsselt]" msgid "Error while adding service. %s" msgstr "Fehler beim Hinzufügen des Dienstes. %s" +#~ msgid "Private Chat" +#~ msgstr "Privater Chat" +#~ msgid "Group Chat" +#~ msgstr "Gruppenchat" +#~ msgid "invisible" +#~ msgstr "unsichtbar" +#~ msgid "offline" +#~ msgstr "abgemeldet" +#~ msgid "I'm %s" +#~ msgstr "Ich bin %s" #~ msgid "2003-12-13T18:30:02Z" #~ msgstr "2003-12-13T18:30:02Z" - #~ msgid "Romeo and Juliet" #~ msgstr "Romeo und Julia" - #~ msgid "Old stories" #~ msgstr "Alte Geschichten" - #~ msgid "Soliloquy" #~ msgstr "Selbstgespräch" - #~ msgid "A_fter nickname:" #~ msgstr "Nach dem Spit_znamen:" - #~ msgid "B_efore nickname:" #~ msgstr "Vor d_em Spitznamen:" - #~ msgid "_After time:" #~ msgstr "_Nach der Zeit:" - #~ msgid "_Before time:" #~ msgstr "_Vor der Zeit:" - #~ msgid "_Publish" #~ msgstr "_Veröffentlichen" - #~ msgid "_Retrieve" #~ msgstr "Ab_rufen" - #~ msgid "Information published" #~ msgstr "Informationen veröffentlicht" - #~ msgid "Without a connection, you can not get your contact information." #~ msgstr "Sie müssen angemeldet sein, um Kontakt-Informationen abzurufen" - #~ msgid "This is result of query." #~ msgstr "Dies ist das Ergebnis der Anfrage." - #~ msgid "Edit items on the list" #~ msgstr "Bearbeite Punkte auf der Liste" - #~ msgid "Receive a Message" #~ msgstr "Nachricht empfangen" - -#~ msgid "_New room" -#~ msgstr "_Neuer Raum" - #~ msgid "Role: " #~ msgstr "Rolle:" - #~ msgid "Affiliation: " #~ msgstr "Zugehörigkeit: " - #~ 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 "" #~ "Abzuspielender Ton, falls eine MUC-Nachricht ankommt. (Diese Einstellung " #~ "wirdnur beachtet, wenn notify_on_all_muc_messages aktiviert ist)" - #~ msgid "Create your own Privacy Lists" #~ msgstr "Erstelle eigene Privatliste" - #~ msgid "Server-based Privacy Lists" #~ msgstr "Server-basierte Privatliste" - #~ msgid "Contact _Info" #~ msgstr "Kontakt-_Info" - #~ msgid "Jabber ID" #~ msgstr "Jabber-ID" - #~ msgid "User ID" #~ msgstr "Benutzer-ID" - #~ msgid "Invalid room or server name" #~ msgstr "Ungültiger Raum oder Servername" - #~ msgid "Unknown D-Bus version: %s" #~ msgstr "Unbekannte D-BUS-Version: %s" - #~ msgid "vCard publication succeeded" #~ msgstr "vCard erfolgreich veröffentlicht" - #~ msgid "Your personal information has been published successfully." #~ msgstr "Ihre persönlichen Informationen wurden erfolgreich veröffentlicht." - #~ msgid "Gajim - %d unread message" #~ msgid_plural "Gajim - %d unread messages" #~ msgstr[0] "Gajim - %d ungelesene Nachricht" #~ msgstr[1] "Gajim - %d ungelesene Nachrichten" - #~ msgid "Since %s" #~ msgstr "Seit %s" - #~ msgid "Personal details" #~ msgstr "Persönliche Details" - #~ msgid "Be right back" #~ msgstr "Bin gleich zurück" - #~ msgid "Jabber" #~ msgstr "Jabber" - #~ msgid "Migrating Logs..." #~ msgstr "Migriere Logs ..." - #~ msgid "Automatically authorize contact" #~ msgstr "Kontakt automatisch autorisieren" - #~ msgid "Send File" #~ msgstr "Datei Senden" - #~ msgid "Underline" #~ msgstr "Unterstreichen" - #~ msgid "_Join New Room..." #~ msgstr "_Neuen Raum betreten..." - #~ msgid "Usage: /%s, sets the groupchat window to compact mode." #~ msgstr "Bedienung: /%s, stellt das Gruppenchat-Fenster auf Kompaktmodus." - #~ msgid "Please modify your special notification below" #~ msgstr "Bitte wählen Sie eine der Optionen:" - #~ msgid "Delete Message of the Day" #~ msgstr "Lösche Nachricht des Tages" - #~ msgid "I want a notification popup:" #~ msgstr "Sende Statusbenachrichtigungen:" - #~ msgid "I want to listen to:" #~ msgstr "%s möchte ihnen eine Datei senden:" - #~ msgid "Send _New Message..." #~ msgstr "Sende _neue Nachricht..." - #~ msgid "Set Message of the Day" #~ msgstr "Setze Message of the Day" - #~ msgid "Update Message of the Day" #~ msgstr "Aktualisiere Nachricht des Tages (MOTD)" - #~ msgid "_XML Console..." #~ msgstr "_XML Konsole..." - #~ msgid "Choose Avatar" #~ msgstr "Avatar auswählen" - #~ msgid "Use compact view when you open a chat window" #~ msgstr "Kompaktansicht verwenden, wenn Sie ein Chatfenster öffnen" - #~ msgid "Use compact view when you open a group chat window" #~ msgstr "Verwende Kompaktansicht wenn ein Gruppenchat-Fenster geöffnet wird" - #~ msgid "plain" #~ msgstr "plain" - #~ msgid "Send" #~ msgstr "Senden" - #~ msgid "%(nickname)s in room %(room_name)s has sent you a new message." #~ msgstr "" #~ "%(nickname)s im Raum %(room_name)s hat Ihnen eine neue Nachricht gesendet." - #~ msgid "%s has sent you a new message." #~ msgstr "%s hat Ihnen eine neue Nachricht gesendet." - #~ msgid "GUI Migration failed" #~ msgstr "vCard Veröffentlichung fehlgeschlagen" - #~ msgid "Logs have been successfully migrated to the database." #~ msgstr "Logs wurden erfolgreich in die Datenbank migriert." - #~ msgid "If checked, Gajim will also have a trayicon" #~ msgstr "Wenn aktiviert, wird Gajim ein Tray-Symbol verwenden" - #~ msgid "Start Chat with Contact" #~ msgstr "Starte Chat mit Account %s" - #~ msgid "All contacts in this group are offline or have errors" #~ msgstr "Alle Kontakte dieser Gruppe sind abgemeldet oder haben Fehler" - #~ msgid "Size: " #~ msgstr "Größe: " - #~ msgid "Session bus is not available" #~ msgstr "Session-Bus nicht verfügbar" - #~ msgid "Sound" #~ msgstr "Sound" - #~ msgid "Image" #~ msgstr "Bild" - #~ msgid "From %s" #~ msgstr "Von %s" - #~ msgid "To %s" #~ msgstr "An %s" - #~ msgid "You have been invited to the %(room_jid)s room by %(contact_jid)s" #~ msgstr "Sie wurden in den Raum %(room_jid)s von %(contact_jid)s eingeladen" - #~ msgid "Manage Emoticons" #~ msgstr "Emoticons anpassen" - #~ msgid "Or choose a preset message:" #~ msgstr "Oder wählen Sie eine voreingestellte Nachricht:" - #~ msgid "Use _emoticons" #~ msgstr "_Emoticons verwenden" - #~ msgid "_Set Image..." #~ msgstr "_Bild wählen..." - #~ msgid "Switch to %s" #~ msgstr "Wechseln zu %s" - #~ msgid "using account " #~ msgstr "mit Konto" - #~ msgid "The filesize of image \"%s\" is too large" #~ msgstr "Die Dateigröße des Bildes \"%s\" ist zu groß" - #~ msgid "The file must not be more than 32 kilobytes." #~ msgstr "Die Datei darf nicht größer als 32 Kilobytes sein." - #~ msgid "Timeout" #~ msgstr "Timeout" - #~ msgid "account: " #~ msgstr "Konto: " - #~ msgid "Are you sure you want to leave rooms \"%s\"?" #~ msgstr "Möchten Sie die Räume \"%s\" wirklich verlassen?" - #~ msgid "If you close this window, you will be disconnected from these rooms." #~ msgstr "" #~ "Wenn Sie dieses Fenster schließen, wird die Verbindung mit diesen Räumen " #~ "abgebrochen." - #~ msgid "Activate/Disable notification for when a file transfer is complete" #~ msgstr "Benachrichtigung für beendete Dateitransfers ein/ausschalten" - #~ msgid "Removing selected file transfer" #~ msgstr "Ausgewählten Dateitransfer entfernen" - #~ msgid "Stoping selected file transfer" #~ msgstr "Bricht den ausgewählten Dateitransfer ab" - #~ msgid "" #~ "If you close this tab and you have history disabled, the message will be " #~ "lost." #~ msgstr "" #~ "Wenn Sie diesen Reiter schließen und die History abgeschaltet haben, ist " #~ "die Nachricht verloren." - #~ msgid "Cannot remove last group" #~ msgstr "Letzte Gruppe kann nicht entfernt werden" - #~ msgid "At least one contact group must be present." #~ msgstr "Mindestens eine Gruppe wird benötigt." - #~ msgid "" #~ "pysqlite2 (aka python-pysqlite2) dependency is missing. After you install " #~ "pysqlite3, if you want to migrate your logs to the new database, please " @@ -7233,67 +6805,47 @@ msgstr "Fehler beim Hinzufügen des Dienstes. %s" #~ "Sie pysqlite2installiert haben, wenn Sie Ihre Logs in die neue Datenbank " #~ "migrieren möchte, lesen Siebitte: http://trac.gajim.org/wiki/" #~ "MigrateLogToDot9DB Beende ..." - #~ msgid "Image is too big" #~ msgstr "Das Bild ist zu groß" - #~ msgid "" #~ "Image for emoticon has to be less than or equal to 24 pixels in width and " #~ "24 in height." #~ msgstr "" #~ "Das Bild darf eine Höhe und Breite von je 24 Pixeln nicht überschreiten." - #~ msgid "Changes in latest version" #~ msgstr "Änderungen in der neuesten Version" - #~ msgid "Check for new _version on Gajim startup" #~ msgstr "Beim Start von Gajim auf neue _Versionen prüfen" - #~ msgid "Log history" #~ msgstr "Log-Verlauf" - #~ msgid "New version of Gajim available" #~ msgstr "Es ist eine neue Version von Gajim verfügbar" - #~ msgid "Open Download Page" #~ msgstr "Download-Seite öffnen" - #~ msgid "(%s/s)" #~ msgstr "(%s/s)" - #~ msgid "Session bus is not available." #~ msgstr "Session-Bus nicht verfügbar." - #~ msgid "with account " #~ msgstr "Konto: " - #~ msgid "Chat with" #~ msgstr "Unterhalten mit" - #~ msgid "as %s" #~ msgstr "als %s" - #~ msgid "as " #~ msgstr "als " - #~ msgid "Send _New Message" #~ msgstr "Sende _neue Nachricht" - #~ msgid "Re_quest Authorization from" #~ msgstr "Autorisierung anfordern" - #~ msgid "Send Authorization to" #~ msgstr "Autorisierung senden" - #~ msgid "Log" #~ msgstr "Log" - #~ msgid "Log presences in _contact's log file" #~ msgstr "Anwesenheit in _Kontakt-Logdateien schreiben" - #~ msgid "Log presences in an _external file" #~ msgstr "Anwesenheit in eine _externe Datei speichern" - #~ 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." @@ -7301,14 +6853,12 @@ msgstr "Fehler beim Hinzufügen des Dienstes. %s" #~ "Sie können die erweiterten Konten-Optionen durch Klicken des Erweitert-" #~ "Buttons erreichen, oder später durch klicken des Konten Menüitems im " #~ "Bearbeiten-Menü." - #~ msgid "" #~ "Set value of 'key' to 'value'. If there is no such key, new item in the " #~ "preferences is inserted." #~ msgstr "" #~ "Setze den Wert von 'key' auf 'value'. Wenn kein solcher key existiert " #~ "wirdeine neuer Wert in den Einstellungen erstellt." - #~ 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 " @@ -7317,28 +6867,20 @@ msgstr "Fehler beim Hinzufügen des Dienstes. %s" #~ "Wenn eine neue Nachricht von einem neuen Kontakt in einem Chatfenster " #~ "empfangen wird, können die drei folgenden Aktionen ausgeführt werden, um " #~ "Sie darüber zu informieren" - #~ msgid "_Earliest" #~ msgstr "_Erste" - #~ msgid "_Latest" #~ msgstr "_Letzte" - #~ msgid "_Previous" #~ msgstr "_Vorherige" - #~ msgid "Filter query too short" #~ msgstr "Filteranfrage zu kurz" - #~ msgid "Query must be at least 3 characters long." #~ msgstr "Anfrage muss wenigstens 3 Zeichen lang sein." - #~ msgid "%s is now %s: %s" #~ msgstr "%s ist jetzt %s (%s)" - #~ msgid "Allow controlling Gajim via D-Bus service." #~ msgstr "Erlaube die Steuerung von Gajim mit dem D-Bus Dienst." - #~ msgid "" #~ "\n" #~ "\n" @@ -7351,7 +6893,6 @@ msgstr "Fehler beim Hinzufügen des Dienstes. %s" #~ "\n" #~ "== Originalnachricht ==\n" #~ "%s" - #~ msgid "" #~ "Your new account has been created successfully.\n" #~ "You can set advanced account options by pressing Advanced button,\n" @@ -7360,7 +6901,6 @@ msgstr "Fehler beim Hinzufügen des Dienstes. %s" #~ msgstr "" #~ "Konto wurde erfolgreich hinzugefügt.\n" #~ "Erweiterte Optionen sind über \"Ändern->Konten\" zu erreichen." - #~ msgid "" #~ "When we remove a contact, remove both his and our subscription, so we do " #~ "not receive his presence anymore and he ours." @@ -7368,23 +6908,18 @@ msgstr "Fehler beim Hinzufügen des Dienstes. %s" #~ "Wenn wir einen Kontakt entfernen, lösche sowohl sein als auch unser " #~ "Abonnement, damitwir nicht mehr gegenseitig über die Präsenz informiert " #~ "werden" - #~ msgid "" #~ "Should Gajim send inactive (\"is doing something else\") on just focus " #~ "out of window/switch to another tab?" #~ msgstr "" #~ "Soll Gajim Inaktivitätsbenachrichtungen von Tabs im Fokus an andere " #~ "Fenster/Tabs senden?" - #~ msgid "Error:" #~ msgstr "Fehler:" - #~ msgid "Service" #~ msgstr "Dienst" - #~ msgid "Node" #~ msgstr "Node" - #~ 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 " @@ -7392,69 +6927,49 @@ msgstr "Fehler beim Hinzufügen des Dienstes. %s" #~ msgstr "" #~ "Ihr neues Konto wurde erstellt und der Gajimkonfiguration hinzugefügt.\n" #~ "Erweiterte Optionen sind über \"Ändern->Konten\" zu erreichen." - #~ msgid "You need to enter a valid server address to add an account." #~ msgstr "" #~ "Sie müssen einen gültigen Server angeben, um ein neues Konto zu erstellen." - #~ msgid "Contact names must be of the form \"user@servername\"." #~ msgstr "Benutzernamen müssen die Form \"benutzer@servername\" haben." - #~ msgid "Invalid contact ID" #~ msgstr "Ungültige Benutzer-ID" - #~ msgid "Contact ID must be of the form \"username@servername\"." #~ msgstr "Benutzer-ID muss in der Form \"username@servername\" sein." - #~ msgid "Account registration successful" #~ msgstr "Kontoregistrierung erfolgreich" - #~ msgid "The account \"%s\" has been registered with the Jabber server." #~ msgstr "Konto \"%s\" wurde auf dem Jabberserver registriert." - #~ msgid "theme_name" #~ msgstr "thema_name" - #~ msgid "Edit" #~ msgstr "_Ändern" - #~ msgid "Please fill in the data for your existing account" #~ msgstr "Bitte tragen Sie die Daten für ihr bestehendes Konto ein" - #~ msgid "Check if you want to register for a new jabber account" #~ msgstr "Prüfen Sie, ob Sie ein neues Konto erstellen möchten" - #~ msgid "Click to get contact's extended information" #~ msgstr "Klicken, um erweiterte Informationen des Kontaktes einzusehen" - #~ msgid "_Compact View" #~ msgstr "_Kompakte Ansicht" - #~ msgid "_Refresh" #~ msgstr "_Aktualisieren" - #~ msgid "_Register new account" #~ msgstr "Neues Konto e_rstellen" - #~ msgid "You just received a new message in room \"%s\"" #~ msgstr "Sie haben eine neue Nachricht im Raum \"%s\" erhalten" - #~ msgid "" #~ "If you close this window and you have history disabled, this message will " #~ "be lost." #~ msgstr "" #~ "Wenn sie das Fenster schließen und die History abgeschaltet haben, geht " #~ "die Nachricht verloren." - #~ msgid "New _Room" #~ msgstr "Neuer _Raum" - #~ msgid "Always use compact _view" #~ msgstr "Benutze immer die kompakte Ansicht" - #~ msgid "Banner:" #~ msgstr "Banner:" - #~ 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 " @@ -7465,37 +6980,28 @@ msgstr "Fehler beim Hinzufügen des Dienstes. %s" #~ "den Chat- und Chatraumfenstern ausgeblendet. Mit Alt+C können Sie " #~ "schnell zwischen der kompakten und der normalen Ansicht umschalten. " #~ "Achtung: die jeweils letzte Ansicht wird nicht beibehalten" - #~ msgid "Inactivate account" #~ msgstr "Kein aktives Konto" - #~ msgid "Join _Group Chat..." #~ msgstr "_Chatraum beitreten..." - #~ msgid "Po_sition:" #~ msgstr "Position:" - #~ msgid "Show roster window on Gajim startup" #~ msgstr "Kontaktliste beim Start von Gajim anzeigen" - #~ msgid "_Service Discovery" #~ msgstr "_Dienste durchsuchen" - #~ msgid "_Service Discovery..." #~ msgstr "_Dienste durchsuchen..." - #~ msgid "error appeared while processing xmpp:" #~ msgstr "Fehler während der Verarbeitung von 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 "" #~ "Stoppt den ausgewählten Dateitransfer. Unvollständige Dateien werden " #~ "gelöscht. Diese Aktion ist nicht rückgangig zu machen." - #~ msgid "Chan_ge" #~ msgstr "_Ändern" - #~ msgid "Unknown type %s " #~ msgstr "Unbekannter Typ %s " + diff --git a/po/fr.po b/po/fr.po index cde2af894..b9f6d8178 100644 --- a/po/fr.po +++ b/po/fr.po @@ -1150,7 +1150,7 @@ msgstr "Rejoindre un salon de discussion" #: ../data/glade/join_groupchat_window.glade.h:2 msgid "Join this room automatically when I connect" -msgstr "Joindre ce groupe de discution quand je me connecte" +msgstr "Joindre ce groupe de discussion quand je me connecte" #: ../data/glade/join_groupchat_window.glade.h:3 #: ../data/glade/manage_bookmarks_window.glade.h:4 @@ -2445,11 +2445,11 @@ msgstr "%s n'a pas envoyé de clé OpenPGP et vous ne lui en avez pas assigné u #: ../src/chat_control.py:1263 msgid "Encryption enabled" -msgstr "Chiffrement activée" +msgstr "Chiffrement activé" #: ../src/chat_control.py:1268 msgid "Encryption disabled" -msgstr "Chiffrement désactivée" +msgstr "Chiffrement désactivé" #. add_to_roster_menuitem #: ../src/chat_control.py:1412 @@ -4218,7 +4218,7 @@ msgstr "Joindre un groupe de discussions" #: ../src/gajim-remote.py:244 msgid "room" -msgstr "groupe de discution" +msgstr "groupe de discussion" #: ../src/gajim-remote.py:245 msgid "nick" @@ -6504,6 +6504,39 @@ msgstr "[Ce message est chiffré]" msgid "Error while adding service. %s" msgstr "Erreur en ajoutant le service. %s" +msgid "_Blocked Contacts" +msgstr "Contacts _Bloqués" + +msgid "Blocked Contacts for %s" +msgstr "Contacts Bloqués avec le compte %s" + +msgid "Blocked Contacts" +msgstr "Contacts Bloqués" + +msgid "_Block" +msgstr "_Bloquer" + +msgid "_Unblock" +msgstr "_Débloquer" + +msgid " [blocked]" +msgstr " [bloqué]" + +msgid "_Maximize" +msgstr "_Maximiser" + +msgid "_Minimize" +msgstr "_Minimiser" + +msgid " [minimized]" +msgstr " [minimisé]" + +msgid "Connected" +msgstr "Connecté" + +msgid "Disconnected" +msgstr "Déconnecté" + #~ msgid "2003-12-13T18:30:02Z" #~ msgstr "2003-12-13T18:30:02Z" #~ msgid "Romeo and Juliet" diff --git a/po/gl_ES.po b/po/gl_ES.po new file mode 100644 index 000000000..dd3d202a6 --- /dev/null +++ b/po/gl_ES.po @@ -0,0 +1,6633 @@ +# translation of gl.po to +# Galician translations for gajim package +# Tradución galega do 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. +# +#: ../src/gajim-remote.py:202 ../src/gajim-remote.py:209 +msgid "" +msgstr "" +"Project-Id-Version: es\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-12-18 09:32+0100\n" +"PO-Revision-Date: 2007-03-13 11:38+0100\n" +"Last-Translator: Iván Méndez López\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: KBabel 1.11.2\n" + +#: ../data/gajim.desktop.in.in.h:1 +msgid "A GTK+ Jabber client" +msgstr "Un cliente de Jabber de GTK" + +#: ../data/gajim.desktop.in.in.h:2 +msgid "Gajim Instant Messenger" +msgstr "Mensaxaría Instantánea Gajim" + +#: ../data/gajim.desktop.in.in.h:3 +msgid "Jabber IM Client" +msgstr "Cliente de MI de Jabber" + +#: ../data/glade/account_context_menu.glade.h:1 +msgid "Send Single _Message..." +msgstr "Enviar unha _mensaxe..." + +#: ../data/glade/account_context_menu.glade.h:2 +msgid "_Add Contact..." +msgstr "_Engadir un contacto..." + +#: ../data/glade/account_context_menu.glade.h:3 +msgid "_Discover Services..." +msgstr "_Descubrir os servizos..." + +#: ../data/glade/account_context_menu.glade.h:4 +msgid "_Execute Command..." +msgstr "Executar o _comando..." + +#: ../data/glade/account_context_menu.glade.h:5 +#: ../data/glade/roster_window.glade.h:16 +#: ../data/glade/systray_context_menu.glade.h:6 +msgid "_Group Chat" +msgstr "_Grupos de charla" + +#: ../data/glade/account_context_menu.glade.h:6 +#: ../data/glade/zeroconf_context_menu.glade.h:1 +msgid "_Modify Account..." +msgstr "_Modificar a conta..." + +#: ../data/glade/account_context_menu.glade.h:7 +msgid "_Open Gmail Inbox" +msgstr "_Abrir a caixa de entrada de GMail" + +#: ../data/glade/account_context_menu.glade.h:8 +#: ../data/glade/zeroconf_context_menu.glade.h:2 +msgid "_Status" +msgstr "E_stado" + +#: ../data/glade/account_creation_wizard_window.glade.h:1 +msgid "" +"Account is being created\n" +"\n" +"Please wait..." +msgstr "" +"Estase a crear a conta\n" +"\n" +"Por favor, agarde..." + +#: ../data/glade/account_creation_wizard_window.glade.h:4 +msgid "Please choose one of the options below:" +msgstr "Por favor, elixa unha das opcións seguintes:" + +#: ../data/glade/account_creation_wizard_window.glade.h:5 +msgid "Please fill in the data for your new account" +msgstr "Por favor, introduza os datos para a súa conta nova" + +#: ../data/glade/account_creation_wizard_window.glade.h:6 +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" + +#: ../data/glade/account_creation_wizard_window.glade.h:7 +msgid "Connect when I press Finish" +msgstr "Conectar cando prema Rematar" + +#: ../data/glade/account_creation_wizard_window.glade.h:8 +msgid "Gajim: Account Creation Wizard" +msgstr "Gajim: asistente para crear unha conta" + +#: ../data/glade/account_creation_wizard_window.glade.h:9 +msgid "I already have an account I want to use" +msgstr "Xa teño unha conta e quero empregala" + +#: ../data/glade/account_creation_wizard_window.glade.h:10 +msgid "I want to _register for a new account" +msgstr "Quero _rexistrar unha conta nova de Jabber" + +#: ../data/glade/account_creation_wizard_window.glade.h:11 +#: ../data/glade/account_modification_window.glade.h:18 +msgid "If checked, Gajim will remember the password for this account" +msgstr "Se isto está marcado, o Gajim lembrará o contrasinal para esta conta" + +#: ../data/glade/account_creation_wizard_window.glade.h:12 +#: ../data/glade/manage_proxies_window.glade.h:6 +msgid "Pass_word:" +msgstr "_Contrasinal: " + +#: ../data/glade/account_creation_wizard_window.glade.h:13 +#: ../data/glade/account_modification_window.glade.h:38 +msgid "Save pass_word" +msgstr "_Gardar o contrasinal" + +#: ../data/glade/account_creation_wizard_window.glade.h:14 +msgid "Servers Features" +msgstr "Características dos servidores" + +#: ../data/glade/account_creation_wizard_window.glade.h:15 +msgid "Set my profile when I connect" +msgstr "Configurar o meu perfil ao me conectar" + +#: ../data/glade/account_creation_wizard_window.glade.h:16 +msgid "" +"You need to have an account in order to connect\n" +"to the Jabber network." +msgstr "Precisa unha conta para se conectar\n" +"á rede Jabber" + +#: ../data/glade/account_creation_wizard_window.glade.h:18 +msgid "Your JID:" +msgstr "O seu identificador JID" + +#: ../data/glade/account_creation_wizard_window.glade.h:19 +#: ../data/glade/roster_window.glade.h:11 +msgid "_Advanced" +msgstr "_Avanzado" + +#: ../data/glade/account_creation_wizard_window.glade.h:20 +msgid "_Finish" +msgstr "_Rematar" + +#: ../data/glade/account_creation_wizard_window.glade.h:21 +#: ../data/glade/manage_proxies_window.glade.h:9 +msgid "_Servidor:" +msgstr "_Host:" + +#: ../data/glade/account_creation_wizard_window.glade.h:22 +#: ../data/glade/account_modification_window.glade.h:47 +msgid "_Password:" +msgstr "C_ontrasinal:" + +#: ../data/glade/account_creation_wizard_window.glade.h:23 +#: ../data/glade/manage_proxies_window.glade.h:10 +msgid "_Port:" +msgstr "_Porto:" + +#: ../data/glade/account_creation_wizard_window.glade.h:24 +msgid "_Retype Password:" +msgstr "_Introduza, mais unha vez, o contrasinal:" + +#: ../data/glade/account_creation_wizard_window.glade.h:25 +msgid "_Server:" +msgstr "_Servidor:" + +#: ../data/glade/account_creation_wizard_window.glade.h:26 +msgid "_Use proxy" +msgstr "_Usar proxy" + +#: ../data/glade/account_creation_wizard_window.glade.h:27 +#: ../data/glade/manage_proxies_window.glade.h:11 +msgid "_Username:" +msgstr "_Nome de usuario:" + +#: ../data/glade/account_modification_window.glade.h:1 +#: ../data/glade/preferences_window.glade.h:8 +msgid "Miscellaneous" +msgstr "Varios" + +#: ../data/glade/account_modification_window.glade.h:2 +#: ../data/glade/zeroconf_properties_window.glade.h:1 +msgid "OpenPGP" +msgstr "OpenPGP" + +#: ../data/glade/account_modification_window.glade.h:3 +#: ../data/glade/zeroconf_properties_window.glade.h:2 +msgid "Personal Information" +msgstr "Información persoal" + +#: ../data/glade/account_modification_window.glade.h:4 +msgid "Account" +msgstr "Conta" + +#: ../data/glade/account_modification_window.glade.h:5 +msgid "Account Modification" +msgstr "Modificar a conta" + +#: ../data/glade/account_modification_window.glade.h:6 +msgid "Autoreconnect when connection is lost" +msgstr "Conectar automaticamente se se perde a conexión" + +#: ../data/glade/account_modification_window.glade.h:7 +#: ../data/glade/zeroconf_properties_window.glade.h:3 +msgid "C_onnect on Gajim startup" +msgstr "C_onectar ao inicio de Gajim" + +#: ../data/glade/account_modification_window.glade.h:8 +msgid "Chan_ge Password" +msgstr "Cam_biar o contrasinal" + +#: ../data/glade/account_modification_window.glade.h:9 +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" + +#: ../data/glade/account_modification_window.glade.h:10 +#: ../data/glade/zeroconf_properties_window.glade.h:4 +msgid "Choose _Key..." +msgstr "Elixir a _chave..." + +#: ../data/glade/account_modification_window.glade.h:11 +msgid "Click to change account's password" +msgstr "Prema para cambiar o contrasinal da conta" + +#: ../data/glade/account_modification_window.glade.h:12 +msgid "Connection" +msgstr "Conexión" + +#: ../data/glade/account_modification_window.glade.h:13 +msgid "Edit Personal Information..." +msgstr "_Editar a información persoal..." + +#: ../data/glade/account_modification_window.glade.h:14 +#: ../data/glade/roster_window.glade.h:5 ../src/notify.py:453 +#: ../src/notify.py:475 ../src/notify.py:487 ../src/common/helpers.py:905 +msgid "Gajim" +msgstr "Gajim" + +#. Contact is not in a group, so count it in General group +#: ../data/glade/account_modification_window.glade.h:15 +#: ../data/glade/preferences_window.glade.h:49 +#: ../data/glade/zeroconf_properties_window.glade.h:7 +#: ../src/roster_window.py:342 ../src/roster_window.py:1207 +#: ../src/roster_window.py:1418 ../src/roster_window.py:2029 +#: ../src/roster_window.py:2071 ../src/common/contacts.py:278 +msgid "General" +msgstr "Xeral" + +#: ../data/glade/account_modification_window.glade.h:16 +msgid "Hostname: " +msgstr "Nome do host:" + +#: ../data/glade/account_modification_window.glade.h:17 +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." + +#: ../data/glade/account_modification_window.glade.h:19 +msgid "" +"If checked, Gajim will send keep-alive packets so it prevents 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" + +#: ../data/glade/account_modification_window.glade.h:20 +#: ../data/glade/zeroconf_properties_window.glade.h:8 +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" + +#: ../data/glade/account_modification_window.glade.h:21 +#: ../data/glade/zeroconf_properties_window.glade.h:9 +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." + +#: ../data/glade/account_modification_window.glade.h:22 +#: ../data/glade/zeroconf_properties_window.glade.h:10 +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" + +#: ../data/glade/account_modification_window.glade.h:23 +msgid "Information about you, as stored in the server" +msgstr "A súa información, para se gardar no servidor" + +#: ../data/glade/account_modification_window.glade.h:24 +msgid "Manage..." +msgstr "Xestionar..." + +#: ../data/glade/account_modification_window.glade.h:25 +#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1643 +#: ../src/config.py:3436 +msgid "No key selected" +msgstr "Non se seleccionou ningunha chave" + +#. None means no proxy profile selected +#: ../data/glade/account_modification_window.glade.h:27 ../src/config.py:1225 +#: ../src/config.py:1230 ../src/config.py:1414 ../src/config.py:1633 +#: ../src/config.py:1642 ../src/config.py:1701 ../src/config.py:1775 +#: ../src/config.py:2646 ../src/config.py:3426 ../src/config.py:3435 +#: ../src/dialogs.py:281 ../src/dialogs.py:283 +msgid "None" +msgstr "Ningún" + +#: ../data/glade/account_modification_window.glade.h:28 +#: ../data/glade/profile_window.glade.h:25 +#: ../data/glade/zeroconf_properties_window.glade.h:17 +msgid "Personal Information" +msgstr "Información persoal" + +#: ../data/glade/account_modification_window.glade.h:29 +msgid "Port: " +msgstr "Porto: " + +#: ../data/glade/account_modification_window.glade.h:30 +msgid "Priori_ty:" +msgstr "Pr_ioridade:" + +#: ../data/glade/account_modification_window.glade.h:31 +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." + +#: ../data/glade/account_modification_window.glade.h:32 +msgid "Priority will change automatically according to your status." +msgstr "A prioridade mudará automaticamente segundo o seu estado." + +#: ../data/glade/account_modification_window.glade.h:33 +msgid "Proxy:" +msgstr "Proxy" + +#: ../data/glade/account_modification_window.glade.h:34 +msgid "Resour_ce: " +msgstr "Re_curso: " + +#: ../data/glade/account_modification_window.glade.h:35 +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)." + +#: ../data/glade/account_modification_window.glade.h:36 +#: ../data/glade/zeroconf_properties_window.glade.h:18 +msgid "Save _passphrase (insecure)" +msgstr "Gardar o contrasinal (inseguro)" + +#: ../data/glade/account_modification_window.glade.h:37 +#: ../data/glade/zeroconf_properties_window.glade.h:19 +msgid "Save conversation _logs for all contacts" +msgstr "Gravar as conversas para todos os contactos" + +#: ../data/glade/account_modification_window.glade.h:39 +msgid "Send keep-alive packets" +msgstr "Enviar paquetes de mantemento de actividade" + +#: ../data/glade/account_modification_window.glade.h:40 +#: ../data/glade/zeroconf_properties_window.glade.h:20 +msgid "Synch_ronize account status with global status" +msgstr "Sinc_ronizar o estado da conta co estado global" + +#: ../data/glade/account_modification_window.glade.h:41 +msgid "Use _SSL (legacy)" +msgstr "Usar _SSL (o antigo)" + +#: ../data/glade/account_modification_window.glade.h:42 +msgid "Use custom hostname/port" +msgstr "Usa un nome de host e un porto personalizados" + +#: ../data/glade/account_modification_window.glade.h:43 +msgid "Use file transfer proxies" +msgstr "Usar proxies para as transferencias de ficheiros" + +#: ../data/glade/account_modification_window.glade.h:44 +msgid "_Adjust to status" +msgstr "_Adaptar ao estado" + +#: ../data/glade/account_modification_window.glade.h:45 +msgid "_Jabber ID:" +msgstr "ID de _Jabber: " + +#: ../data/glade/account_modification_window.glade.h:46 +msgid "_Name: " +msgstr "_Nome: " + +#: ../data/glade/accounts_window.glade.h:1 +msgid "Accounts" +msgstr "Contas" + +#: ../data/glade/accounts_window.glade.h:2 +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." + +#: ../data/glade/accounts_window.glade.h:4 +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" + +#: ../data/glade/accounts_window.glade.h:5 +msgid "Mer_ge accounts" +msgstr "_Combinar as contas" + +#: ../data/glade/accounts_window.glade.h:6 +msgid "_Enable link-local messaging" +msgstr "Habilitar m_ensaxaría de ligazón local" + +#: ../data/glade/accounts_window.glade.h:7 +msgid "_Modify" +msgstr "_Modificar" + +#: ../data/glade/accounts_window.glade.h:8 +#: ../data/glade/remove_account_window.glade.h:4 +msgid "_Remove" +msgstr "_Eliminar" + +#: ../data/glade/add_new_contact_window.glade.h:1 +msgid "A_ccount:" +msgstr "_Conta:" + +#: ../data/glade/add_new_contact_window.glade.h:2 +msgid "A_llow this contact to view my status" +msgstr "Permitirlle a este contacto que vexa o meu estado" + +#: ../data/glade/add_new_contact_window.glade.h:3 +msgid "Add New Contact" +msgstr "Engadir un contacto novo" + +#: ../data/glade/add_new_contact_window.glade.h:4 +msgid "I would like to add you to my contact list." +msgstr "Gustaríame engadilo á miña listaxe de contactos." + +#: ../data/glade/add_new_contact_window.glade.h:5 +msgid "" +"You have to register to this transport\n" +"to be able to add a contact from this\n" +"protocol. Click on register button to\n" +"proceed." +msgstr "" +"Ten que rexistrar este transporte\n" +"para poder engadir un contacto deste\n" +"protocolo. Prema o botón Rexistrar\n" +"para continuar." + +#: ../data/glade/add_new_contact_window.glade.h:9 +msgid "" +"You must be connected to the transport to be able\n" +"to add a contact from this protocol." +msgstr "" +"Debe estar conectado ao transporte para poder\n" +"engadir un contacto deste protocolo." + +#: ../data/glade/add_new_contact_window.glade.h:11 +msgid "_Group:" +msgstr "_Grupo:" + +#: ../data/glade/add_new_contact_window.glade.h:12 +msgid "_Nickname:" +msgstr "_Alcume:" + +#: ../data/glade/add_new_contact_window.glade.h:13 +msgid "_Protocol:" +msgstr "_Protocolo:" + +#: ../data/glade/add_new_contact_window.glade.h:14 +msgid "_Register" +msgstr "_Rexistrar" + +#: ../data/glade/add_new_contact_window.glade.h:15 +msgid "_User ID:" +msgstr "ID de _usuario:" + +#: ../data/glade/adhoc_commands_window.glade.h:1 +msgid "An error has occured:" +msgstr "Produciuse un erro:" + +#: ../data/glade/adhoc_commands_window.glade.h:2 +msgid "Choose command to execute:" +msgstr "Elixa o comando para executar:" + +#: ../data/glade/adhoc_commands_window.glade.h:3 +msgid "Ad-hoc Commands - Gajim" +msgstr "Comandos ad-hoc - Gajim" + +#: ../data/glade/adhoc_commands_window.glade.h:4 +msgid "Check once more" +msgstr "Comprobar mais unha vez" + +#: ../data/glade/adhoc_commands_window.glade.h:5 +msgid "Error description..." +msgstr "Descrición do erro..." + +#: ../data/glade/adhoc_commands_window.glade.h:6 +msgid "Please wait while retrieving command list..." +msgstr "Por favor, agarde mentres se solicita a listaxe de comandos..." + +#: ../data/glade/adhoc_commands_window.glade.h:7 +msgid "Please wait while the command is sending..." +msgstr "Por favor, agarde mentres se envía o comando..." + +#: ../data/glade/adhoc_commands_window.glade.h:8 +msgid "Please wait..." +msgstr "Por favor, agarde..." + +#: ../data/glade/adhoc_commands_window.glade.h:9 +msgid "This jabber entity does not expose any commands." +msgstr "Esta entidade de jabber non expón comandos." + +#: ../data/glade/advanced_configuration_window.glade.h:1 +msgid "Description" +msgstr "Descrición" + +#: ../data/glade/advanced_configuration_window.glade.h:2 +msgid "NOTE: You should restart gajim for some setting to take effect" +msgstr "NOTA: Debe reiniciar o Gajim para que algúns cambios teñan efecto" + +#: ../data/glade/advanced_configuration_window.glade.h:3 +msgid "Advanced Configuration Editor" +msgstr "Editor avanzado de configuración" + +#: ../data/glade/advanced_configuration_window.glade.h:4 +msgid "Filter:" +msgstr "Filtro:" + +#: ../data/glade/advanced_menuitem_menu.glade.h:1 +msgid "Delete MOTD" +msgstr "Eliminar MDD" + +#: ../data/glade/advanced_menuitem_menu.glade.h:2 +msgid "Deletes Message of the Day" +msgstr "Elimina a mensaxe do día (MDD)" + +#: ../data/glade/advanced_menuitem_menu.glade.h:3 +msgid "Sends a message to currently connected users to this server" +msgstr "Envíalles unha mensaxe aos usuarios conectados neste momento ao servidor" + +#: ../data/glade/advanced_menuitem_menu.glade.h:4 +msgid "Set MOTD" +msgstr "Definir a MDD" + +#: ../data/glade/advanced_menuitem_menu.glade.h:5 +msgid "Sets Message of the Day" +msgstr "Define a mensaxe do día" + +#: ../data/glade/advanced_menuitem_menu.glade.h:6 +msgid "Show _XML Console" +msgstr "Amosar a consola de _XML" + +#: ../data/glade/advanced_menuitem_menu.glade.h:7 +msgid "Update MOTD" +msgstr "Actualizar a MDD" + +#: ../data/glade/advanced_menuitem_menu.glade.h:8 +msgid "Updates Message of the Day" +msgstr "Actualiza a mensaxe do día" + +#: ../data/glade/advanced_menuitem_menu.glade.h:9 +msgid "_Administrator" +msgstr "_Administrador" + +#: ../data/glade/advanced_menuitem_menu.glade.h:10 +msgid "_Privacy Lists" +msgstr "Listaxes de _privacidade" + +#: ../data/glade/advanced_menuitem_menu.glade.h:11 +msgid "_Send Server Message" +msgstr "_Enviar a mensaxe do servidor" + +#: ../data/glade/advanced_menuitem_menu.glade.h:12 +msgid "_Send Single Message" +msgstr "_Enviar mensaxe" + +#: ../data/glade/advanced_notifications_window.glade.h:1 +msgid " a window/tab opened with that contact " +msgstr " hai unha fiestra/separador aberto con este contacto " + +#: ../data/glade/advanced_notifications_window.glade.h:2 +msgid "Actions" +msgstr "Accións" + +#: ../data/glade/advanced_notifications_window.glade.h:3 +msgid "Conditions" +msgstr "Condicións" + +#: ../data/glade/advanced_notifications_window.glade.h:4 +#: ../data/glade/preferences_window.glade.h:10 +msgid "Sounds" +msgstr "Sons" + +#: ../data/glade/advanced_notifications_window.glade.h:5 +msgid "Advanced Actions" +msgstr "Accións A_vanzadas" + +#: ../data/glade/advanced_notifications_window.glade.h:6 +msgid "Advanced Notifications Control" +msgstr "Control de notificacións avanzadas" + +#: ../data/glade/advanced_notifications_window.glade.h:7 +msgid "All statuses" +msgstr "Todos os estados" + +#: ../data/glade/advanced_notifications_window.glade.h:8 +#: ../src/common/helpers.py:234 +msgid "Away" +msgstr "Ausente" + +#: ../data/glade/advanced_notifications_window.glade.h:9 +msgid "Busy " +msgstr "Ocupado " + +#: ../data/glade/advanced_notifications_window.glade.h:10 +msgid "Don't have " +msgstr "Non ten " + +#: ../data/glade/advanced_notifications_window.glade.h:11 +msgid "Have " +msgstr "Ten " + +#: ../data/glade/advanced_notifications_window.glade.h:12 +#: ../src/common/helpers.py:244 +msgid "Invisible" +msgstr "Invisíbel" + +#: ../data/glade/advanced_notifications_window.glade.h:13 +msgid "Launch a command" +msgstr "Enviar un comando" + +#: ../data/glade/advanced_notifications_window.glade.h:14 +#: ../src/common/helpers.py:217 +msgid "Not Available" +msgstr "Non dispoñíbel" + +#: ../data/glade/advanced_notifications_window.glade.h:15 +msgid "One or more special statuses..." +msgstr "Un ou máis estados especiais..." + +#: ../data/glade/advanced_notifications_window.glade.h:16 +msgid "Online / Free For Chat" +msgstr "En liña / Libre para falar" + +#: ../data/glade/advanced_notifications_window.glade.h:17 +msgid "Play a sound" +msgstr "Reproducir un _son" + +#: ../data/glade/advanced_notifications_window.glade.h:18 +msgid "" +"Receive a Message\n" +"Contact Connected \n" +"Contact Disconnected \n" +"Contact Change Status \n" +"Group Chat Message Highlight \n" +"Group Chat Message Received \n" +"File Transfert Resquest \n" +"File Transfert Started \n" +"File Transfert 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" + +#: ../data/glade/advanced_notifications_window.glade.h:27 +msgid "When " +msgstr "Cando" + +#: ../data/glade/advanced_notifications_window.glade.h:28 +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" + +#: ../data/glade/advanced_notifications_window.glade.h:29 +msgid "_Disable auto opening chat window" +msgstr "_Desactivar a apertura automática de fiestras de charla" + +#: ../data/glade/advanced_notifications_window.glade.h:30 +msgid "_Disable existing popup window" +msgstr "_Desactivar as fiestras emerxentes existentes" + +#: ../data/glade/advanced_notifications_window.glade.h:31 +msgid "_Disable existing sound for this event" +msgstr "_Desactivar os sons existentes para este acontecemento" + +#: ../data/glade/advanced_notifications_window.glade.h:32 +msgid "_Disable showing event in roster" +msgstr "_Desactivar mostrar os eventos no roster" + +#: ../data/glade/advanced_notifications_window.glade.h:33 +msgid "_Disable showing event in systray" +msgstr "_Desactivar mostrar os eventos na área de notificación" + +#: ../data/glade/advanced_notifications_window.glade.h:34 +msgid "_Inform me with a popup window" +msgstr "_Informarme cunha fiestra emerxente" + +#: ../data/glade/advanced_notifications_window.glade.h:35 +msgid "_Open chat window with user" +msgstr "_Abrir unha fiestra de charla con este usuario" + +#: ../data/glade/advanced_notifications_window.glade.h:36 +msgid "_Show event in roster" +msgstr "_Mostrar o evento na listaxe de contactos" + +#: ../data/glade/advanced_notifications_window.glade.h:37 +msgid "_Show event in systray" +msgstr "_Mostrar o evento na área de notificación" + +#: ../data/glade/advanced_notifications_window.glade.h:38 +msgid "and I " +msgstr "e eu " + +#: ../data/glade/advanced_notifications_window.glade.h:39 +msgid "" +"contact(s)\n" +"group(s)\n" +"everybody" +msgstr "" +"contacto(s)\n" +"grupo(s)\n" +"todo o mundo" + +#: ../data/glade/advanced_notifications_window.glade.h:42 +msgid "for " +msgstr "para " + +#: ../data/glade/advanced_notifications_window.glade.h:43 +msgid "when I'm in" +msgstr "cando eu estea en" + +#: ../data/glade/atom_entry_window.glade.h:1 +msgid "2003-12-13T18:30:02Z" +msgstr "" + +#: ../data/glade/atom_entry_window.glade.h:2 +msgid "Romeo and Juliet" +msgstr "Romeo e Xulieta" + +#: ../data/glade/atom_entry_window.glade.h:3 +msgid "Entry:" +msgstr "Entrada:" + +#: ../data/glade/atom_entry_window.glade.h:4 +msgid "Feed name:" +msgstr "Nome do feed:" + +#: ../data/glade/atom_entry_window.glade.h:5 +msgid "Last modified:" +msgstr "Última modificación:" + +#: ../data/glade/atom_entry_window.glade.h:6 +msgid "New entry received" +msgstr "Recibiuse unha entrada nova" + +#: ../data/glade/atom_entry_window.glade.h:7 +msgid "Old stories" +msgstr "Historias antigas" + +#: ../data/glade/atom_entry_window.glade.h:8 +msgid "Soliloquy" +msgstr "Soliloquio" + +#: ../data/glade/atom_entry_window.glade.h:9 +msgid "You have received new entry:" +msgstr "Recibiu unha entrada nova:" + +#: ../data/glade/change_password_dialog.glade.h:1 +msgid "Change Password" +msgstr "Cambiar o contrasinal" + +#: ../data/glade/change_password_dialog.glade.h:2 +msgid "Enter it again for confirmation:" +msgstr "Insírao mais unha vez para confirmar:" + +#: ../data/glade/change_password_dialog.glade.h:3 +msgid "Enter new password:" +msgstr "Insira o contrasinal novo:" + +#: ../data/glade/change_status_message_dialog.glade.h:1 +msgid "Type your new status message" +msgstr "Escriba a súa mensaxe nova de estado" + +#: ../data/glade/change_status_message_dialog.glade.h:2 +msgid "Preset messages:" +msgstr "Mensaxes predefinidas:" + +#: ../data/glade/change_status_message_dialog.glade.h:3 +msgid "Save as Preset..." +msgstr "Gardar como predefinido..." + +#: ../data/glade/chat_context_menu.glade.h:1 +msgid "Join _Group Chat" +msgstr "Entrar nun grupo de charla" + +#: ../data/glade/chat_context_menu.glade.h:2 +#: ../data/glade/chat_control_popup_menu.glade.h:4 +#: ../data/glade/gc_occupants_menu.glade.h:2 +#: ../data/glade/roster_contact_context_menu.glade.h:10 +msgid "_Add to Roster" +msgstr "_Engadir á listaxe de contactos" + +#: ../data/glade/chat_context_menu.glade.h:3 +msgid "_Copy JID/Email Address" +msgstr "_Copiar o enderezo" + +#: ../data/glade/chat_context_menu.glade.h:4 +msgid "_Copy Link Location" +msgstr "_Copiar o enderezo da ligazón" + +#: ../data/glade/chat_context_menu.glade.h:5 +msgid "_Open Email Composer" +msgstr "_Abrir o editor de correo" + +#: ../data/glade/chat_context_menu.glade.h:6 +msgid "_Open Link in Browser" +msgstr "_Abrir a ligazón no navegador" + +#: ../data/glade/chat_context_menu.glade.h:7 +#: ../data/glade/roster_window.glade.h:20 +#: ../data/glade/subscription_request_popup_menu.glade.h:1 +#: ../data/glade/systray_context_menu.glade.h:7 +msgid "_Start Chat" +msgstr "_Iniciar a charla" + +#: ../data/glade/chat_control_popup_menu.glade.h:1 +msgid "Click to see past conversations with this contact" +msgstr "Prema aquí para ver as charlas anteriores con este contacto" + +#: ../data/glade/chat_control_popup_menu.glade.h:2 +#: ../data/glade/roster_contact_context_menu.glade.h:8 +#: ../data/glade/zeroconf_contact_context_menu.glade.h:4 +msgid "Send _File" +msgstr "Enviar ficheiro" + +#: ../data/glade/chat_control_popup_menu.glade.h:3 +msgid "Toggle Open_PGP Encryption" +msgstr "Alternar a codificación OpenPGP" + +#: ../data/glade/chat_control_popup_menu.glade.h:5 +#: ../data/glade/gc_control_popup_menu.glade.h:6 +msgid "_Compact View Alt+C" +msgstr "Vista _compacta Alt+C" + +#: ../data/glade/chat_control_popup_menu.glade.h:6 +#: ../data/glade/gc_control_popup_menu.glade.h:7 +#: ../data/glade/gc_occupants_menu.glade.h:5 +#: ../data/glade/roster_contact_context_menu.glade.h:13 +#: ../data/glade/zeroconf_contact_context_menu.glade.h:6 +msgid "_History" +msgstr "_Historial" + +#: ../data/glade/data_form_window.glade.h:1 +msgid "Fill in the form." +msgstr "Cubrir o formulario." + +#: ../data/glade/data_form_window.glade.h:2 +msgid "Room Configuration" +msgstr "Configuración da sala" + +#: ../data/glade/edit_groups_dialog.glade.h:1 +msgid "Edit Groups" +msgstr "Editar grupos" + +#: ../data/glade/filetransfers.glade.h:1 +msgid "A list of active, completed and stopped file transfers" +msgstr "Listaxe de transferencias activas, rematadas e detidas" + +#: ../data/glade/filetransfers.glade.h:2 +msgid "Cancel file transfer" +msgstr "Cancelar a transferencia" + +#: ../data/glade/filetransfers.glade.h:3 +msgid "Cancels the selected file transfer" +msgstr "Cancela a transferencia seleccionada do ficheiro" + +#: ../data/glade/filetransfers.glade.h:4 +msgid "Cancels the selected file transfer and removes incomplete file" +msgstr "" +"Cancela a transferencia seleccionada do ficheiro e elimina o ficheiro " +"incompleto" + +#: ../data/glade/filetransfers.glade.h:5 +msgid "Clean _up" +msgstr "Limpar" + +#: ../data/glade/filetransfers.glade.h:6 +msgid "File Transfers" +msgstr "Transferencias" + +#: ../data/glade/filetransfers.glade.h:7 +msgid "Hides the window" +msgstr "Oculta a fiestra" + +#: ../data/glade/filetransfers.glade.h:8 +msgid "Remove file transfer from the list." +msgstr "Eliminar transferencias da listaxe" + +#: ../data/glade/filetransfers.glade.h:9 +msgid "Removes completed, canceled and failed file transfers from the list" +msgstr "Elimina da listaxe as transferencias rematadas, canceladas e erradas" + +#: ../data/glade/filetransfers.glade.h:10 +msgid "Shows a list of file transfers between you and other" +msgstr "Amosa unha listaxe de transferencias entre vostede e outra persoa" + +#: ../data/glade/filetransfers.glade.h:11 +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" + +#: ../data/glade/filetransfers.glade.h:12 +msgid "When a file transfer is complete show a popup notification" +msgstr "Cando unha transferencia se completar, amosa unha notificación emerxente" + +#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:769 +msgid "_Continue" +msgstr "_Continuar" + +#: ../data/glade/filetransfers.glade.h:14 +msgid "_Notify me when a file transfer is complete" +msgstr "_Notificarme cando rematar unha transferencia" + +#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:190 +msgid "_Open Containing Folder" +msgstr "_Abrir un cartafol de contido" + +#: ../data/glade/filetransfers.glade.h:16 +msgid "_Pause" +msgstr "_Pausa" + +#: ../data/glade/filetransfers.glade.h:17 +msgid "file transfers list" +msgstr "listaxe de transferencias" + +#: ../data/glade/gajim_themes_window.glade.h:1 +msgid "Chatstate Tab Colors" +msgstr "Cores do separador para os estados da charla" + +#: ../data/glade/gajim_themes_window.glade.h:2 +msgid "" +"Account row\n" +"Group row\n" +"Contact row\n" +"Chat Banner" +msgstr "" +"Conta\n" +"Grupo\n" +"Contacto\n" +"Báner" + +#: ../data/glade/gajim_themes_window.glade.h:6 +msgid "Bold" +msgstr "Negra" + +#: ../data/glade/gajim_themes_window.glade.h:7 +msgid "Composing" +msgstr "A compor" + +#: ../data/glade/gajim_themes_window.glade.h:8 +msgid "Font style:" +msgstr "Estilo:" + +#: ../data/glade/gajim_themes_window.glade.h:9 +msgid "Gajim Themes Customization" +msgstr "Personalización de temas do Gajim" + +#: ../data/glade/gajim_themes_window.glade.h:10 +msgid "Gone" +msgstr "Marchei" + +#: ../data/glade/gajim_themes_window.glade.h:11 +msgid "Inactive" +msgstr "Inactivo" + +#: ../data/glade/gajim_themes_window.glade.h:12 +msgid "Italic" +msgstr "Itálica" + +#: ../data/glade/gajim_themes_window.glade.h:13 +msgid "" +"MUC\n" +"Messages" +msgstr "" +"MUC\n" +"Mensaxes" + +#: ../data/glade/gajim_themes_window.glade.h:15 +msgid "" +"MUC Directed\n" +"Messages" +msgstr "" +"Mensaxes dirixidas\n" +"ás salas" + +#: ../data/glade/gajim_themes_window.glade.h:17 +msgid "Paused" +msgstr "Pausado" + +#: ../data/glade/gajim_themes_window.glade.h:18 +msgid "Text _color:" +msgstr "_Cor do texto:" + +#: ../data/glade/gajim_themes_window.glade.h:19 +msgid "Text _font:" +msgstr "_Letra do texto:" + +#: ../data/glade/gajim_themes_window.glade.h:20 +msgid "_Background:" +msgstr "_Fondo" + +#: ../data/glade/gc_control_popup_menu.glade.h:1 +msgid "Change _Nickname" +msgstr "Cambiar o _alcume" + +#: ../data/glade/gc_control_popup_menu.glade.h:2 +msgid "Change _Subject" +msgstr "Cambiar o _tema" + +#: ../data/glade/gc_control_popup_menu.glade.h:3 +msgid "Click to see past conversation in this room" +msgstr "Prema para ver as anteriores conversas nesta sala" + +#: ../data/glade/gc_control_popup_menu.glade.h:4 +msgid "Configure _Room" +msgstr "Configurar a sala" + +#: ../data/glade/gc_control_popup_menu.glade.h:5 +msgid "_Bookmark This Room" +msgstr "Engadir esta sala aos marcadores" + +#: ../data/glade/gc_occupants_menu.glade.h:1 +msgid "Mo_derator" +msgstr "Mo_derador" + +#: ../data/glade/gc_occupants_menu.glade.h:3 +msgid "_Admin" +msgstr "_Administrar" + +#: ../data/glade/gc_occupants_menu.glade.h:4 +msgid "_Ban" +msgstr "_Deshabilitar" + +#: ../data/glade/gc_occupants_menu.glade.h:6 +msgid "_Kick" +msgstr "_Expulsar" + +#: ../data/glade/gc_occupants_menu.glade.h:7 +msgid "_Member" +msgstr "_Membro" + +#: ../data/glade/gc_occupants_menu.glade.h:8 +msgid "_Occupant Actions" +msgstr "_Accións" + +#: ../data/glade/gc_occupants_menu.glade.h:9 +msgid "_Owner" +msgstr "_Propietario" + +#: ../data/glade/gc_occupants_menu.glade.h:10 +msgid "_Send Private Message" +msgstr "_Enviar unha mensaxe privada" + +#: ../data/glade/gc_occupants_menu.glade.h:11 +msgid "_Voice" +msgstr "_Voz" + +#: ../data/glade/groups_post_window.glade.h:1 +msgid "Create new post" +msgstr "Crear unha publicación nova" + +#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:259 +msgid "From" +msgstr "De" + +#. holds subject +#: ../data/glade/groups_post_window.glade.h:3 ../src/history_manager.py:141 +#: ../src/history_manager.py:172 +msgid "Subject" +msgstr "Asunto" + +#: ../data/glade/history_manager.glade.h:1 +msgid "" +"Welcome to Gajim History Logs Manager\n" +"\n" +"You can select logs from the left and/or search database from below.\n" +"\n" +"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." + +#: ../data/glade/history_manager.glade.h:7 +msgid "Delete" +msgstr "Eliminar" + +#: ../data/glade/history_manager.glade.h:8 +msgid "Export" +msgstr "Exportar" + +#: ../data/glade/history_manager.glade.h:9 +msgid "Gajim History Logs Manager" +msgstr "Xestor do Historial de Gajim" + +#: ../data/glade/history_manager.glade.h:10 +msgid "_Search Database" +msgstr "_Buscar na base de datos" + +#: ../data/glade/history_window.glade.h:1 +msgid "Build custom query" +msgstr "Construír unha consulta personalizada" + +#: ../data/glade/history_window.glade.h:2 +msgid "Conversation History" +msgstr "Historial de conversas" + +#: ../data/glade/history_window.glade.h:3 +msgid "Query Builder..." +msgstr "Construtor de consultas..." + +#: ../data/glade/history_window.glade.h:4 +msgid "Search" +msgstr "Buscar" + +#: ../data/glade/history_window.glade.h:5 +msgid "_Search" +msgstr "_Buscar" + +#: ../data/glade/invitation_received_dialog.glade.h:1 +msgid "Accept" +msgstr "Aceptar" + +#: ../data/glade/invitation_received_dialog.glade.h:2 +#: ../data/glade/privacy_list_window.glade.h:8 +msgid "Deny" +msgstr "Denegar" + +#: ../data/glade/invitation_received_dialog.glade.h:3 +msgid "Invitation Received" +msgstr "Recibiuse un convite" + +#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1146 +msgid "Join Group Chat" +msgstr "Entrar nunha sala de charlas" + +#: ../data/glade/join_groupchat_window.glade.h:2 +#: ../data/glade/manage_bookmarks_window.glade.h:4 +#: ../data/glade/profile_window.glade.h:23 +#: ../data/glade/vcard_information_window.glade.h:29 +msgid "Nickname:" +msgstr "Alcume:" + +#: ../data/glade/join_groupchat_window.glade.h:3 +#: ../data/glade/manage_bookmarks_window.glade.h:5 +msgid "Password:" +msgstr "Contrasinal: " + +#: ../data/glade/join_groupchat_window.glade.h:4 +msgid "Recently:" +msgstr "Recentemente:" + +#: ../data/glade/join_groupchat_window.glade.h:5 +#: ../data/glade/manage_bookmarks_window.glade.h:7 +msgid "Room:" +msgstr "Sala:" + +#: ../data/glade/join_groupchat_window.glade.h:6 ../src/disco.py:1151 +#: ../src/disco.py:1518 +msgid "_Join" +msgstr "_Entrar" + +#: ../data/glade/manage_accounts_window.glade.h:1 +msgid "Manage Accounts" +msgstr "Xestionar as contas" +#: ../data/glade/manage_bookmarks_window.glade.h:1 +msgid "Auto join" +msgstr "Autoconectar" + +#: ../data/glade/manage_bookmarks_window.glade.h:2 +msgid "If checked, Gajim will join this group chat on startup" +msgstr "Se isto está marcado, o Gajim entrará a esta sala ao inicio" + +#: ../data/glade/manage_bookmarks_window.glade.h:3 +msgid "Manage Bookmarks" +msgstr "Xestionar os marcadores" + +#: ../data/glade/manage_bookmarks_window.glade.h:6 +msgid "Print status:" +msgstr "Amosar o estado:" + +#: ../data/glade/manage_bookmarks_window.glade.h:8 +msgid "Server:" +msgstr "Servidor:" + +#: ../data/glade/manage_bookmarks_window.glade.h:9 +msgid "Title:" +msgstr "Título:" + +#: ../data/glade/manage_proxies_window.glade.h:1 +msgid "Properties" +msgstr "Propiedades" + +#: ../data/glade/manage_proxies_window.glade.h:2 +msgid "Settings" +msgstr "Configuración" + +#: ../data/glade/manage_proxies_window.glade.h:3 +msgid "HTTP Connect" +msgstr "Conectar con HTTP" + +#: ../data/glade/manage_proxies_window.glade.h:4 +msgid "Manage Proxy Profiles" +msgstr "Xestionar os perfís do proxy" + +#: ../data/glade/manage_proxies_window.glade.h:5 +#: ../data/glade/profile_window.glade.h:22 +#: ../data/glade/vcard_information_window.glade.h:28 +msgid "Name:" +msgstr "Nome:" + +#: ../data/glade/manage_proxies_window.glade.h:7 +msgid "Type:" +msgstr "Tipo:" + +#: ../data/glade/manage_proxies_window.glade.h:8 +msgid "Use authentication" +msgstr "Usar a autenticación" + +#: ../data/glade/message_window.glade.h:1 +msgid "Click to insert an emoticon (Alt+M)" +msgstr "Prema aquí para inserir unha emoticona (Alt+M)" + +#: ../data/glade/message_window.glade.h:2 ../src/chat_control.py:1104 +msgid "OpenPGP Encryption" +msgstr "Cifrado OpenPGP" + +#. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector) +#: ../data/glade/message_window.glade.h:4 +#: ../data/glade/roster_window.glade.h:10 +#: ../data/glade/subscription_request_window.glade.h:6 +msgid "_Actions" +msgstr "_Accións" + +#. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector) +#: ../data/glade/message_window.glade.h:6 +#: ../data/glade/xml_console_window.glade.h:11 +#: ../src/filetransfers_window.py:253 +msgid "_Send" +msgstr "_Enviar" + +#: ../data/glade/passphrase_dialog.glade.h:1 +msgid "Passphrase" +msgstr "Contrasinal" + +#: ../data/glade/preferences_window.glade.h:1 +msgid "Advanced Configuration Editor" +msgstr "Editor de configuración avanzada" + +#: ../data/glade/preferences_window.glade.h:2 +msgid "Applications" +msgstr "Programas" + +#. a header for custom browser/client/file manager. so translate sth like: Custom Settings +#: ../data/glade/preferences_window.glade.h:4 +msgid "Custom" +msgstr "Personalizado" + +#: ../data/glade/preferences_window.glade.h:5 +msgid "Format of a line" +msgstr "Formato da liña" + +#: ../data/glade/preferences_window.glade.h:6 +msgid "GMail Options" +msgstr "Opcións de GMail" + +#: ../data/glade/preferences_window.glade.h:7 +msgid "Interface Customization" +msgstr "Personalización da interface" + +#: ../data/glade/preferences_window.glade.h:9 +msgid "Preset Status Messages" +msgstr "Mensaxes de estado predefinidas" + +#: ../data/glade/preferences_window.glade.h:11 +msgid "Visual Notifications" +msgstr "Notificacións visuais" + +#: ../data/glade/preferences_window.glade.h:12 +msgid "A_fter nickname:" +msgstr "Despois do alcume:" + +#: ../data/glade/preferences_window.glade.h:13 +msgid "Advanced" +msgstr "Avanzado" + +#: ../data/glade/preferences_window.glade.h:14 +msgid "" +"All chat states\n" +"Composing only\n" +"Disabled" +msgstr "" +"Todos os estados da charla\n" +"Só escribindo\n" +"Desactivado" + +#: ../data/glade/preferences_window.glade.h:17 +msgid "Allow _OS information to be sent" +msgstr "Permitir o envío de información sobre o sistema operativo" + +#: ../data/glade/preferences_window.glade.h:18 +msgid "Allow popup/notifications when I'm _away/na/busy/invisible" +msgstr "" +"Permitir as notificacións emerxentes cando estou _ausente, non dispoñíbel, " +"ocupado ou invisíbel." + +#: ../data/glade/preferences_window.glade.h:19 +msgid "Also known as iChat style" +msgstr "Tamén coñecido como estilo iChat" + +#: ../data/glade/preferences_window.glade.h:20 +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" + +#: ../data/glade/preferences_window.glade.h:21 +msgid "Ask status message when I:" +msgstr "Preguntar a mensaxe de estado cando estea: " + +#: ../data/glade/preferences_window.glade.h:22 +msgid "Auto _away after:" +msgstr "Pór _ausente despois de:" + +#: ../data/glade/preferences_window.glade.h:23 +msgid "Auto _not available after:" +msgstr "Pór _non dispoñíbel despois de:" + +#: ../data/glade/preferences_window.glade.h:24 +msgid "" +"Autodetect on every Gajim startup\n" +"Always use GNOME default applications\n" +"Always use KDE default applications\n" +"Always use XFCE4 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 XFCE4\n" +"Personalizado" + +#: ../data/glade/preferences_window.glade.h:29 +msgid "B_efore nickname:" +msgstr "Ant_es do alcume:" + +#: ../data/glade/preferences_window.glade.h:30 ../src/chat_control.py:844 +msgid "Chat" +msgstr "Charla" + +#: ../data/glade/preferences_window.glade.h:31 +msgid "" +"Check this option, only if someone you don't have in the roster spams/annoys " +"you. Use with caution, cause 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." + +#: ../data/glade/preferences_window.glade.h:32 +msgid "Configure color and font of the interface" +msgstr "Configurar as cores e as fontes da interface" + +#: ../data/glade/preferences_window.glade.h:33 +msgid "Default Status Messages" +msgstr "Mensaxes de estado por defecto" + +#: ../data/glade/preferences_window.glade.h:34 +msgid "Default status _iconset:" +msgstr "Conxunto de _iconas de estado por defecto:" + +#: ../data/glade/preferences_window.glade.h:35 +msgid "Display _extra email details" +msgstr "Amosar os detalles _extra nos correos electrónicos" + +#: ../data/glade/preferences_window.glade.h:36 +msgid "Display a_vatars of contacts in roster" +msgstr "Amosar na listaxe os a_vatares dos contactos" + +#: ../data/glade/preferences_window.glade.h:37 +msgid "Display status _messages of contacts in roster" +msgstr "Amosar na listaxe as _mensaxes de estado dos contactos" + +#: ../data/glade/preferences_window.glade.h:38 +msgid "Displayed Chat state noti_fications:" +msgstr "Notificacións de estado nas charlas:" + +#: ../data/glade/preferences_window.glade.h:39 +msgid "E_very 5 minutes" +msgstr "Cada 5 _minutos" + +#: ../data/glade/preferences_window.glade.h:40 +msgid "Emoticons:" +msgstr "Emoticonas:" + +#: ../data/glade/preferences_window.glade.h:41 +msgid "Events" +msgstr "Eventos" + +#: ../data/glade/preferences_window.glade.h:42 +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." + +#: ../data/glade/preferences_window.glade.h:43 +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." + +#: ../data/glade/preferences_window.glade.h:44 +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" + +#: ../data/glade/preferences_window.glade.h:45 +msgid "" +"Gajim will notify you for new events via a popup 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" + +#: ../data/glade/preferences_window.glade.h:46 +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" + +#: ../data/glade/preferences_window.glade.h:47 +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" + +#: ../data/glade/preferences_window.glade.h:48 +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" + +#: ../data/glade/preferences_window.glade.h:50 +msgid "" +"If checked, Gajim will also include information about the sender of the new " +"emails" +msgstr "" +"Se isto está marcado, o Gajim tamén incluirá información sobre o remitente de " +"correos electrónicos novos" + +#: ../data/glade/preferences_window.glade.h:51 +msgid "" +"If checked, Gajim will display avatars of contacts in roster window and in " +"group chats" +msgstr "" +"Se isto está marcado, o Gajim amosará as circunstancias dos contactos na listaxe e " +"nos grupos de charla" + +#: ../data/glade/preferences_window.glade.h:52 +msgid "" +"If checked, Gajim will display status messages of contacts under the contact " +"name in roster 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" + +#: ../data/glade/preferences_window.glade.h:53 +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" + +#: ../data/glade/preferences_window.glade.h:54 +msgid "" +"If checked, Gajim will use protocol-specific status icons. (eg. A contact " +"from MSN will have the equivalent msn 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.)" + +#: ../data/glade/preferences_window.glade.h:55 +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" + +#: ../data/glade/preferences_window.glade.h:56 +msgid "Ignore rich content in incoming messages" +msgstr "Ignorar o contido adornado en mensaxes entrantes" + +#: ../data/glade/preferences_window.glade.h:57 +msgid "Ma_nage..." +msgstr "Xestio_nar..." + +#: ../data/glade/preferences_window.glade.h:58 +msgid "" +"Never\n" +"Always\n" +"Per account\n" +"Per type" +msgstr "" +"Nunca\n" +"Sempre\n" +"Por conta\n" +"Por tipo" + +#: ../data/glade/preferences_window.glade.h:62 +msgid "Notify me about contacts that: " +msgstr "Notificar cando un contacto: " + +#: ../data/glade/preferences_window.glade.h:63 +msgid "Notify on new _GMail email" +msgstr "Notificar de novos correos de _GMail" + +#: ../data/glade/preferences_window.glade.h:64 +msgid "On every _message" +msgstr "En cada _mensaxe" + +#: ../data/glade/preferences_window.glade.h:65 +msgid "One message _window:" +msgstr "Unha soa fiestra de conversa" + +#: ../data/glade/preferences_window.glade.h:66 +msgid "Outgoing Chat state noti_fications:" +msgstr "Notificacións saíntes do estado de charla:" + +#: ../data/glade/preferences_window.glade.h:67 +msgid "Play _sounds" +msgstr "Reproducir _sons" + +#: ../data/glade/preferences_window.glade.h:68 +msgid "Preferences" +msgstr "Preferencias" + +#: ../data/glade/preferences_window.glade.h:69 +msgid "Print time:" +msgstr "Inserir a hora:" + +#: ../data/glade/preferences_window.glade.h:70 +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" + +#: ../data/glade/preferences_window.glade.h:71 +msgid "Set status message to reflect currently playing _music track" +msgstr "Cambiar a mensaxe de estado para reflectir a pista_musical en reprodución" + +#: ../data/glade/preferences_window.glade.h:72 +msgid "Show only in _roster" +msgstr "Amosar só na _listaxe de contactos" + +#: ../data/glade/preferences_window.glade.h:73 +msgid "Sign _in" +msgstr "Conectar" + +#: ../data/glade/preferences_window.glade.h:74 +msgid "Sign _out" +msgstr "_Desconectar" + +#: ../data/glade/preferences_window.glade.h:75 +msgid "" +"Some messages may include rich content (formatting, colors etc). If checked, " +"Gajim will just display the raw 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." + +#: ../data/glade/preferences_window.glade.h:76 +msgid "Status" +msgstr "Estado" + +#: ../data/glade/preferences_window.glade.h:77 +msgid "T_heme:" +msgstr "Te_ma:" + +#: ../data/glade/preferences_window.glade.h:78 +msgid "The auto away status message" +msgstr "A mensaxe de estado de autoausencia" + +#: ../data/glade/preferences_window.glade.h:79 +msgid "The auto not available status message" +msgstr "A mensaxe de estado de non autodispoñíbel" + +#: ../data/glade/preferences_window.glade.h:80 +msgid "Use _transports iconsets" +msgstr "_Usar as iconas do transporte" + +#: ../data/glade/preferences_window.glade.h:81 +msgid "Use system _default" +msgstr "Usar o pre_definido do sistema" + +#: ../data/glade/preferences_window.glade.h:82 +msgid "Use t_rayicon (aka. notification area icon)" +msgstr "Usar a icona na á_rea de notificación" + +#: ../data/glade/preferences_window.glade.h:83 +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" + +#: ../data/glade/preferences_window.glade.h:84 +msgid "When new event is received" +msgstr "Cando se reciba un acontecemento novo" + +#: ../data/glade/preferences_window.glade.h:85 +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" + +#: ../data/glade/preferences_window.glade.h:86 +msgid "_Advanced Notifications Control..." +msgstr "Control de notificacións _avanzadas..." + +#: ../data/glade/preferences_window.glade.h:87 +msgid "_After time:" +msgstr "_Despois da hora:" + +#: ../data/glade/preferences_window.glade.h:88 +msgid "_Before time:" +msgstr "_Antes da hora:" + +#: ../data/glade/preferences_window.glade.h:89 +msgid "_Browser:" +msgstr "_Navegador:" + +#: ../data/glade/preferences_window.glade.h:90 +msgid "_File manager:" +msgstr "A_dministrador de ficheiros:" + +#: ../data/glade/preferences_window.glade.h:91 +msgid "_Font:" +msgstr "_Letra:" + +#: ../data/glade/preferences_window.glade.h:92 +msgid "_Highlight misspelled words" +msgstr "_Marcar os erros ortográficos" + +#: ../data/glade/preferences_window.glade.h:93 +msgid "_Ignore events from contacts not in the roster" +msgstr "_Ignorar as mensaxes de contactos que non estean na listaxe de contactos" + +#: ../data/glade/preferences_window.glade.h:94 +msgid "_Incoming message:" +msgstr "Mens_axe entrante:" + +#: ../data/glade/preferences_window.glade.h:95 +msgid "_Log status changes of contacts" +msgstr "_Rexistrar os cambios de estado dos contactos" + +#: ../data/glade/preferences_window.glade.h:96 +msgid "_Mail client:" +msgstr "_Cliente de correo:" + +#: ../data/glade/preferences_window.glade.h:97 +msgid "_Never" +msgstr "_Nunca" + +#: ../data/glade/preferences_window.glade.h:98 +msgid "_Notify me about it" +msgstr "_Notificarmo" + +#: ../data/glade/preferences_window.glade.h:99 +msgid "_Open..." +msgstr "_Abrir..." + +#: ../data/glade/preferences_window.glade.h:100 +msgid "_Outgoing message:" +msgstr "Mensaxe saínte:" + +#: ../data/glade/preferences_window.glade.h:101 +msgid "_Player:" +msgstr "_Reprodutor:" + +#: ../data/glade/preferences_window.glade.h:102 +msgid "_Pop it up" +msgstr "_Emerxer" + +#: ../data/glade/preferences_window.glade.h:103 +msgid "_Reset to Default Colors" +msgstr "_Restabelecer as cores predeterminadas" + +#: ../data/glade/preferences_window.glade.h:104 +msgid "_Sort contacts by status" +msgstr "Ordenar os contacto_s polo estado" + +#: ../data/glade/preferences_window.glade.h:105 +msgid "_Status message:" +msgstr "Men_saxe de estado:" + +#: ../data/glade/preferences_window.glade.h:106 +msgid "_URL:" +msgstr "_URL" + +#: ../data/glade/preferences_window.glade.h:107 +msgid "minutes" +msgstr "minutos" + +#: ../data/glade/privacy_lists_window.glade.h:1 +msgid "Privacy Lists:" +msgstr "Listaxes de privacidade:" + +#: ../data/glade/privacy_list_window.glade.h:1 +msgid "Add / Edit a rule" +msgstr "Engadir / Editar unha regra" + +#: ../data/glade/privacy_list_window.glade.h:2 +msgid "List of rules" +msgstr "Listaxe de regras" + +#: ../data/glade/privacy_list_window.glade.h:3 +msgid "Privacy List" +msgstr "Listaxe de privacidade" + +#: ../data/glade/privacy_list_window.glade.h:4 +msgid "Active for this session" +msgstr "Activo para esta sesión" + +#: ../data/glade/privacy_list_window.glade.h:5 +msgid "Active on each startup" +msgstr "Activo en cada inicio" + +#: ../data/glade/privacy_list_window.glade.h:6 +msgid "All" +msgstr "Todos" + +#: ../data/glade/privacy_list_window.glade.h:7 +msgid "Allow" +msgstr "Permitir" + +#: ../data/glade/privacy_list_window.glade.h:9 +msgid "JabberID" +msgstr "ID de Jabber:" + +#: ../data/glade/privacy_list_window.glade.h:10 +msgid "Order:" +msgstr "Orde:" + +#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:1841 +msgid "Privacy List" +msgstr "Listaxe de privacidade" + +#: ../data/glade/privacy_list_window.glade.h:12 +msgid "all by subscription" +msgstr "todos por subscrición" + +#: ../data/glade/privacy_list_window.glade.h:13 +msgid "all in the group" +msgstr "todos no grupo" + +#: ../data/glade/privacy_list_window.glade.h:14 +msgid "" +"none\n" +"both\n" +"from\n" +"to" +msgstr "" +"ningún\n" +"ambos\n" +"de\n" +"a" + +#: ../data/glade/privacy_list_window.glade.h:18 +msgid "to send me messages" +msgstr "para me enviar mensaxes" + +#: ../data/glade/privacy_list_window.glade.h:19 +msgid "to send me queries" +msgstr "para me enviar preguntas" + +#: ../data/glade/privacy_list_window.glade.h:20 +msgid "to send me status" +msgstr "para me enviar o estado" + +#: ../data/glade/privacy_list_window.glade.h:21 +msgid "to view my status" +msgstr "para ver o meu estado" + +#. "About" is the text of a tab of vcard window +#: ../data/glade/profile_window.glade.h:2 +#: ../data/glade/vcard_information_window.glade.h:2 +msgid "About" +msgstr "Acerca de" + +#: ../data/glade/profile_window.glade.h:3 +#: ../data/glade/vcard_information_window.glade.h:3 +msgid "Address" +msgstr "Enderezo" + +#: ../data/glade/profile_window.glade.h:4 +msgid "Avatar:" +msgstr "Imaxe:" + +#: ../data/glade/profile_window.glade.h:5 +#: ../data/glade/vcard_information_window.glade.h:6 +msgid "Birthday:" +msgstr "Aniversario:" + +#: ../data/glade/profile_window.glade.h:6 +#: ../data/glade/vcard_information_window.glade.h:7 +msgid "City:" +msgstr "Cidade:" + +#: ../data/glade/profile_window.glade.h:7 +#: ../data/glade/vcard_information_window.glade.h:10 +msgid "Company:" +msgstr "Empresa:" + +#: ../data/glade/profile_window.glade.h:8 +#: ../data/glade/vcard_information_window.glade.h:13 +msgid "Country:" +msgstr "País:" + +#: ../data/glade/profile_window.glade.h:9 +#: ../data/glade/vcard_information_window.glade.h:14 +msgid "Department:" +msgstr "Departamento:" + +#: ../data/glade/profile_window.glade.h:10 +#: ../data/glade/vcard_information_window.glade.h:15 +#: ../data/glade/zeroconf_information_window.glade.h:2 +#: ../data/glade/zeroconf_properties_window.glade.h:5 +msgid "E-Mail:" +msgstr "Correo electrónico:" + +#: ../data/glade/profile_window.glade.h:11 +#: ../data/glade/vcard_information_window.glade.h:16 +msgid "Extra Address:" +msgstr "Segundo enderezo:" + +#. Family Name +#: ../data/glade/profile_window.glade.h:13 +#: ../data/glade/vcard_information_window.glade.h:18 +msgid "Family:" +msgstr "Familia:" + +#. Do NOT change sequence. Just translate YYYY and MM and DD (from Year, Month, Day accordingly) +#: ../data/glade/profile_window.glade.h:15 +#: ../data/glade/vcard_information_window.glade.h:20 +msgid "Format: YYYY-MM-DD" +msgstr "Formato: AAAA-MM-DD" + +#. Given Name +#: ../data/glade/profile_window.glade.h:17 +#: ../data/glade/vcard_information_window.glade.h:22 +msgid "Given:" +msgstr "Nome:" + +#: ../data/glade/profile_window.glade.h:18 +#: ../data/glade/vcard_information_window.glade.h:23 +msgid "Homepage:" +msgstr "Páxina web:" + +#. Middle Name +#: ../data/glade/profile_window.glade.h:20 +#: ../data/glade/vcard_information_window.glade.h:26 +msgid "Middle:" +msgstr "Medio:" + +#: ../data/glade/profile_window.glade.h:21 +#: ../data/glade/vcard_information_window.glade.h:27 +msgid "More" +msgstr "Máis" + +#: ../data/glade/profile_window.glade.h:24 +#: ../data/glade/vcard_information_window.glade.h:31 +msgid "Personal Info" +msgstr "Información persoal" + +#: ../data/glade/profile_window.glade.h:26 +#: ../data/glade/vcard_information_window.glade.h:32 +msgid "Phone No.:" +msgstr "Teléfono:" + +#: ../data/glade/profile_window.glade.h:27 +#: ../data/glade/vcard_information_window.glade.h:33 +msgid "Position:" +msgstr "Posición:" + +#: ../data/glade/profile_window.glade.h:28 +#: ../data/glade/vcard_information_window.glade.h:34 +msgid "Postal Code:" +msgstr "Código postal:" + +#. Prefix in Name +#: ../data/glade/profile_window.glade.h:30 +#: ../data/glade/vcard_information_window.glade.h:36 +msgid "Prefix:" +msgstr "Prefixo" + +#: ../data/glade/profile_window.glade.h:31 +#: ../data/glade/vcard_information_window.glade.h:38 ../src/vcard.py:273 +msgid "Role:" +msgstr "Papel:" + +#: ../data/glade/profile_window.glade.h:32 +#: ../data/glade/vcard_information_window.glade.h:39 +msgid "State:" +msgstr "Estado:" + +#: ../data/glade/profile_window.glade.h:33 +#: ../data/glade/vcard_information_window.glade.h:41 +msgid "Street:" +msgstr "Rúa:" + +#. Suffix in Name +#: ../data/glade/profile_window.glade.h:35 +#: ../data/glade/vcard_information_window.glade.h:45 +msgid "Suffix:" +msgstr "Sufixo:" + +#: ../data/glade/profile_window.glade.h:36 +#: ../data/glade/vcard_information_window.glade.h:46 +msgid "Work" +msgstr "Traballo" + +#: ../data/glade/profile_window.glade.h:37 +msgid "_Publish" +msgstr "_Publicar" + +#: ../data/glade/profile_window.glade.h:38 +msgid "_Retrieve" +msgstr "_Recuperar" + +#: ../data/glade/remove_account_window.glade.h:1 +msgid "What do you want to do?" +msgstr "Que quere facer?" + +#: ../data/glade/remove_account_window.glade.h:2 +msgid "Remove account _only from Gajim" +msgstr "Eliminar a _conta unicamente do Gajim" + +#: ../data/glade/remove_account_window.glade.h:3 +msgid "Remove account from Gajim and from _server" +msgstr "Eliminar a conta do Gajim e do _servidor" + +#: ../data/glade/roster_contact_context_menu.glade.h:1 +msgid "A_sk to see his/her status" +msgstr "Pregunta para ver o _seu estado" + +#: ../data/glade/roster_contact_context_menu.glade.h:2 +#: ../data/glade/zeroconf_contact_context_menu.glade.h:1 +msgid "Add Special _Notification" +msgstr "Engadir unha _notificación especial" + +#: ../data/glade/roster_contact_context_menu.glade.h:3 +#: ../data/glade/zeroconf_contact_context_menu.glade.h:2 +msgid "Assign Open_PGP Key" +msgstr "Asignar chave de OpenPGP" + +#: ../data/glade/roster_contact_context_menu.glade.h:4 +#: ../data/glade/zeroconf_contact_context_menu.glade.h:3 +#: ../src/roster_window.py:1993 +msgid "Edit _Groups" +msgstr "Editar os grupos" + +#: ../data/glade/roster_contact_context_menu.glade.h:5 +#: ../src/roster_window.py:2128 +msgid "Execute Command..." +msgstr "Executar o comando..." + +#: ../data/glade/roster_contact_context_menu.glade.h:6 +#: ../src/roster_window.py:1951 +msgid "In_vite to" +msgstr "Con_vidar" + +#: ../data/glade/roster_contact_context_menu.glade.h:7 +#: ../data/glade/systray_context_menu.glade.h:2 +msgid "Send Single _Message" +msgstr "Enviar mensaxe" + +#: ../data/glade/roster_contact_context_menu.glade.h:9 +#: ../data/glade/zeroconf_contact_context_menu.glade.h:5 +msgid "Start _Chat" +msgstr "Iniciar a charla" + +#: ../data/glade/roster_contact_context_menu.glade.h:11 +msgid "_Allow him/her to see my status" +msgstr "Permitirlle ver o meu estado" + +#: ../data/glade/roster_contact_context_menu.glade.h:12 +msgid "_Forbid him/her to see my status" +msgstr "Prohibirlle ver o meu estado" + +#. Remove group +#: ../data/glade/roster_contact_context_menu.glade.h:14 +#: ../src/roster_window.py:1945 ../src/roster_window.py:2042 +#: ../src/roster_window.py:2149 +msgid "_Remove from Roster" +msgstr "_Eliminar da listaxe" + +#: ../data/glade/roster_contact_context_menu.glade.h:15 +#: ../data/glade/zeroconf_contact_context_menu.glade.h:7 +#: ../src/roster_window.py:2137 +msgid "_Rename" +msgstr "Renomear" + +#: ../data/glade/roster_contact_context_menu.glade.h:16 +msgid "_Subscription" +msgstr "_Subscrición" + +#: ../data/glade/roster_window.glade.h:1 +msgid "A_ccounts" +msgstr "_Contas" + +#: ../data/glade/roster_window.glade.h:2 +msgid "Add _Contact" +msgstr "Engadir un _contacto" + +#: ../data/glade/roster_window.glade.h:3 +msgid "File _Transfers" +msgstr "_Transferencias" + +#: ../data/glade/roster_window.glade.h:4 +msgid "Frequently Asked Questions (online)" +msgstr "Preguntas frecuentes (en liña)" + +#: ../data/glade/roster_window.glade.h:6 +msgid "Help online" +msgstr "Axuda en liña" + +#: ../data/glade/roster_window.glade.h:7 +msgid "Profile, A_vatar" +msgstr "Perfil, Ima_xe" + +#: ../data/glade/roster_window.glade.h:8 +msgid "Show Trans_ports" +msgstr "Amosar os trans_portes" + +#: ../data/glade/roster_window.glade.h:9 +msgid "Show _Offline Contacts" +msgstr "Amosar os contactos desconectados" + +#: ../data/glade/roster_window.glade.h:12 +msgid "_Contents" +msgstr "_Contidos" + +#: ../data/glade/roster_window.glade.h:13 +msgid "_Discover Services" +msgstr "_Descubrir os servizos" + +#: ../data/glade/roster_window.glade.h:14 ../src/disco.py:1256 +#: ../src/roster_window.py:2120 +msgid "_Edit" +msgstr "_Editar" + +#: ../data/glade/roster_window.glade.h:15 +msgid "_FAQ" +msgstr "_FAQ" + +#: ../data/glade/roster_window.glade.h:17 +msgid "_Help" +msgstr "_Axuda" + +#: ../data/glade/roster_window.glade.h:18 +msgid "_Preferences" +msgstr "_Preferencias" + +#: ../data/glade/roster_window.glade.h:19 +msgid "_Quit" +msgstr "_Saír" + +#: ../data/glade/roster_window.glade.h:21 +msgid "_View" +msgstr "_Ver" + +#: ../data/glade/service_discovery_window.glade.h:1 +msgid "G_o" +msgstr "I_r" + +#: ../data/glade/service_discovery_window.glade.h:2 +msgid "_Address:" +msgstr "_Enderezo:" + +#: ../data/glade/service_discovery_window.glade.h:3 +msgid "_Filter:" +msgstr "_Filtro:" + +#: ../data/glade/service_registration_window.glade.h:1 +msgid "Register to" +msgstr "Rexistrar en" + +#: ../data/glade/service_registration_window.glade.h:2 +msgid "_Cancel" +msgstr "_Cancelar" + +#: ../data/glade/service_registration_window.glade.h:3 +msgid "_OK" +msgstr "_Aceptar" + +#: ../data/glade/single_message_window.glade.h:1 +msgid "0" +msgstr "0" + +#: ../data/glade/single_message_window.glade.h:2 +msgid "From:" +msgstr "De:" + +#: ../data/glade/single_message_window.glade.h:3 +msgid "Reply to this message" +msgstr "Responder esta mensaxe:" + +#: ../data/glade/single_message_window.glade.h:4 +msgid "Sen_d" +msgstr "Enviar" + +#: ../data/glade/single_message_window.glade.h:5 +msgid "Send message" +msgstr "Enviar a mensaxe" + +#: ../data/glade/single_message_window.glade.h:6 +msgid "Send message and close window" +msgstr "Enviar a mensaxe e pechar a fiestra" + +#: ../data/glade/single_message_window.glade.h:7 +msgid "Subject:" +msgstr "Tema:" + +#: ../data/glade/single_message_window.glade.h:8 +msgid "To:" +msgstr "A:" + +#: ../data/glade/single_message_window.glade.h:9 +msgid "_Reply" +msgstr "_Responder" + +#: ../data/glade/single_message_window.glade.h:10 +msgid "_Send & Close" +msgstr "_Enviar e pechar" + +#: ../data/glade/subscription_request_window.glade.h:1 +msgid "Au_thorize" +msgstr "Au_torizar" + +#: ../data/glade/subscription_request_window.glade.h:2 +msgid "Authorize contact so he can know when you're connected" +msgstr "Autorizar o contacto para que poida saber cando estou conectado" + +#: ../data/glade/subscription_request_window.glade.h:3 +msgid "Deny authorization from contact so he cannot know when you're connected" +msgstr "" +"Denegar a autorización do contacto para que non poida saber cando estou " +"conectado" + +#: ../data/glade/subscription_request_window.glade.h:4 +msgid "Subscription Request" +msgstr "Solicitude de subscrición" + +#: ../data/glade/subscription_request_window.glade.h:7 +msgid "_Deny" +msgstr "_Denegar" + +#: ../data/glade/systray_context_menu.glade.h:1 +msgid "Mute Sounds" +msgstr "Sen sons" + +#: ../data/glade/systray_context_menu.glade.h:3 +msgid "Show All Pending _Events" +msgstr "Amosar todos os _eventos pendentes" + +#: ../data/glade/systray_context_menu.glade.h:4 +msgid "Show _Roster" +msgstr "Amosar _listaxe" + +#: ../data/glade/systray_context_menu.glade.h:5 +msgid "Sta_tus" +msgstr "Es_tado" + +#. Given Name +#: ../data/glade/vcard_information_window.glade.h:5 +msgid "Ask:" +msgstr "Pregunta:" + +#: ../data/glade/vcard_information_window.glade.h:8 +msgid "Client:" +msgstr "Cliente:" + +#: ../data/glade/vcard_information_window.glade.h:9 +msgid "Comments" +msgstr "Comentarios" + +#: ../data/glade/vcard_information_window.glade.h:11 +#: ../data/glade/zeroconf_information_window.glade.h:1 +msgid "Contact" +msgstr "Contacto" + +#: ../data/glade/vcard_information_window.glade.h:12 +msgid "Contact Information" +msgstr "Información" + +#: ../data/glade/vcard_information_window.glade.h:24 +#: ../data/glade/zeroconf_information_window.glade.h:4 +#: ../data/glade/zeroconf_properties_window.glade.h:13 ../src/dialogs.py:416 +msgid "Jabber ID:" +msgstr "ID de Jabber:" + +#: ../data/glade/vcard_information_window.glade.h:30 +msgid "OS:" +msgstr "SO:" + +#: ../data/glade/vcard_information_window.glade.h:37 +#: ../data/glade/zeroconf_information_window.glade.h:8 +msgid "Resource:" +msgstr "Recurso:" + +#: ../data/glade/vcard_information_window.glade.h:40 +#: ../data/glade/zeroconf_information_window.glade.h:9 +msgid "Status:" +msgstr "Estado:" + +#. Family Name +#: ../data/glade/vcard_information_window.glade.h:43 +msgid "Subscription:" +msgstr "Subscrición:" + +#: ../data/glade/vcard_information_window.glade.h:47 +#: ../data/glade/zeroconf_information_window.glade.h:10 +msgid "_Log conversation history" +msgstr "Historial de conversas" + +#: ../data/glade/xml_console_window.glade.h:1 +msgid "Jabber Traffic" +msgstr "Tráfico de Jabber" + +#: ../data/glade/xml_console_window.glade.h:2 +msgid "XML Input" +msgstr "Entrada de XML" + +#. XML Console enable checkbutton +#: ../data/glade/xml_console_window.glade.h:4 +msgid "Enable" +msgstr "Activar" + +#. Info/Query make the "IQ" initials. So translate like this 'YourLang/YourLang (Info/Query)'. Thanks (it's a tooltip so width is not a problem) +#: ../data/glade/xml_console_window.glade.h:6 +msgid "Info/Query" +msgstr "Info/Consulta" + +#. Info/Query: all(?) jabber xml start with Whom do you want to ban?\n" +"\n" +msgstr "" +"A quen quere expulsar?\n" +"\n" + +#: ../src/config.py:2414 +msgid "Adding Member..." +msgstr "A engadir o membro..." + +#: ../src/config.py:2415 +msgid "" +"Whom do you want to make a member?\n" +"\n" +msgstr "" +"A quen quere facer membro?\n" +"\n" + +#: ../src/config.py:2417 +msgid "Adding Owner..." +msgstr "A engadir un propietario..." + +#: ../src/config.py:2418 +msgid "" +"Whom do you want to make a owner?\n" +"\n" +msgstr "" +"A quen quere facer como propietario?\n" +"\n" + +#: ../src/config.py:2420 +msgid "Adding Administrator..." +msgstr "A engadir administrador..." + +#: ../src/config.py:2421 +msgid "" +"Whom do you want to make an administrator?\n" +"\n" +msgstr "" +"A quen quere facer como administrador?\n" +"\n" + +#: ../src/config.py:2422 +msgid "" +"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." +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." + +#: ../src/config.py:2527 +#, python-format +msgid "Removing %s account" +msgstr "A eliminar a conta %s" + +#: ../src/config.py:2544 ../src/roster_window.py:2665 +msgid "Password Required" +msgstr "É necesario o contrasinal" + +#: ../src/config.py:2545 ../src/roster_window.py:2666 +#, python-format +msgid "Enter your password for account %s" +msgstr "Introduza un contrasinal para a conta %s" + +#: ../src/config.py:2546 ../src/roster_window.py:2667 +msgid "Save password" +msgstr "Gardar o contrasinal" + +#: ../src/config.py:2560 +#, python-format +msgid "Account \"%s\" is connected to the server" +msgstr "A conta \"%s\" está conectada ao servidor" + +#: ../src/config.py:2561 +msgid "If you remove it, the connection will be lost." +msgstr "Se a elimina, perderase a conexión co servidor" + +#: ../src/config.py:2645 +msgid "Default" +msgstr "Por defecto" + +#: ../src/config.py:2645 +msgid "?print_status:All" +msgstr "Todos" + +#: ../src/config.py:2646 +msgid "Enter and leave only" +msgstr "Entrar e saír soamente" + +#: ../src/config.py:2716 +msgid "New Group Chat" +msgstr "Novo grupo de charla" + +#: ../src/config.py:2748 +msgid "This bookmark has invalid data" +msgstr "Este marcador ten información que non é válida" + +#: ../src/config.py:2749 +msgid "Please be sure to fill out server and room fields or remove this bookmark." +msgstr "" +"Por favor, asegúrese de cubrir os campos de servidor e de sala ou elimine " +"este marcador." + +#: ../src/config.py:3011 +msgid "Invalid username" +msgstr "O nome de usuario non é válido" + +#: ../src/config.py:3012 +msgid "You must provide a username to configure this account." +msgstr "Debe pórlle un nome para configurar esta conta." + +#: ../src/config.py:3022 ../src/dialogs.py:1316 +msgid "Invalid password" +msgstr "O contrasinal non é válido" + +#: ../src/config.py:3023 +msgid "You must enter a password for the new account." +msgstr "Debe introducir un contrasinal para a conta nova" + +#: ../src/config.py:3027 ../src/dialogs.py:1321 +msgid "Passwords do not match" +msgstr "Os contrasinais non coinciden" + +#: ../src/config.py:3028 ../src/dialogs.py:1322 +msgid "The passwords typed in both fields must be identical." +msgstr "Os contrasinais escritos nos dous campos deben ser idénticos." + +#: ../src/config.py:3047 +msgid "Duplicate Jabber ID" +msgstr "ID de Jabber duplicada" + +#: ../src/config.py:3048 +msgid "This account is already configured in Gajim." +msgstr "Esta conta xa está configurada no Gajim." + +#: ../src/config.py:3065 +msgid "Account has been added successfully" +msgstr "A conta engadiuse con éxito" + +#: ../src/config.py:3066 ../src/config.py:3101 +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 "" +"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." + +#: ../src/config.py:3100 +msgid "Your new account has been created successfully" +msgstr "A súa conta nova creouse con éxito" + +#: ../src/config.py:3118 +msgid "An error occured during account creation" +msgstr "Produciuse un erro durante a creación da conta" + +#: ../src/config.py:3176 +msgid "Account name is in use" +msgstr "O nome da conta está en uso" + +#: ../src/config.py:3177 +msgid "You already have an account using this name." +msgstr "Xa ten unha conta en que emprega este nome" + +#: ../src/conversation_textview.py:273 +msgid "" +"Text below this line is what has been said since the last time you paid " +"attention to this group chat" +msgstr "" +"O texto que está debaixo desta liña foi o que se dixo desde a última vez que " +"lle prestou atención a esta sala de charla" + +#: ../src/conversation_textview.py:342 +#, python-format +msgid "_Actions for \"%s\"" +msgstr "_Accións para \"%s\"" + +#: ../src/conversation_textview.py:354 +msgid "Read _Wikipedia Article" +msgstr "Ler artigo da _Wikipedia" + +#: ../src/conversation_textview.py:359 +msgid "Look it up in _Dictionary" +msgstr "Buscalo no _Dicionario" + +#. we must have %s in the url if not WIKTIONARY +#: ../src/conversation_textview.py:375 +#, python-format +msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" +msgstr "Falta un \"%s\" no URL do dicionario e non está no WIKTIONARY" + +#. we must have %s in the url +#: ../src/conversation_textview.py:388 +#, python-format +msgid "Web Search URL is missing an \"%s\"" +msgstr "Falta un \"%s\" no URL da busca web" + +#: ../src/conversation_textview.py:391 +msgid "Web _Search for it" +msgstr "_Buscalo na rede" + +#: ../src/conversation_textview.py:397 +msgid "Open as _Link" +msgstr "_Abrir como ligazón" + +#: ../src/conversation_textview.py:757 +msgid "Yesterday" +msgstr "Onte" + +#. the number is >= 2 +#. %i is day in year (1-365), %d (1-31) we want %i +#: ../src/conversation_textview.py:761 +#, python-format +msgid "%i days ago" +msgstr "hai %i días" + +#. if we have subject, show it too! +#: ../src/conversation_textview.py:793 +#, python-format +msgid "Subject: %s\n" +msgstr "Asunto: %s\n" + +#: ../src/dialogs.py:59 +#, python-format +msgid "Contact name: %s" +msgstr "Nome do contacto : %s" + +#: ../src/dialogs.py:61 +#, python-format +msgid "Jabber ID: %s" +msgstr "ID de Jabber : %s" + +#: ../src/dialogs.py:211 +msgid "Group" +msgstr "Grupo" + +#: ../src/dialogs.py:218 +msgid "In the group" +msgstr "No grupo" + +#: ../src/dialogs.py:269 +msgid "KeyID" +msgstr "Chave ID" + +#: ../src/dialogs.py:272 +msgid "Contact name" +msgstr "Nome de contacto" + +#: ../src/dialogs.py:318 +#, python-format +msgid "%s Status Message" +msgstr "Mensaxe de estado %s" + +#: ../src/dialogs.py:320 +msgid "Status Message" +msgstr "Mensaxe de estado" + +#: ../src/dialogs.py:395 +msgid "Save as Preset Status Message" +msgstr "Gardar como mensaxe de estado predefinido" + +#: ../src/dialogs.py:396 +msgid "Please type a name for this status message" +msgstr "Escriba un nome para esta mensaxe de estado" + +#: ../src/dialogs.py:417 +msgid "AIM Address:" +msgstr "Enderezo de AIM:" + +#: ../src/dialogs.py:418 +msgid "GG Number:" +msgstr "Número de GG:" + +#: ../src/dialogs.py:419 +msgid "ICQ Number:" +msgstr "Número de ICQ:" + +#: ../src/dialogs.py:420 +msgid "MSN Address:" +msgstr "Enderezo de MSN:" + +#: ../src/dialogs.py:421 +msgid "Yahoo! Address:" +msgstr "Enderezo de Yahoo!:" + +#: ../src/dialogs.py:457 +#, python-format +msgid "Please fill in the data of the contact you want to add in account %s" +msgstr "" +"Por favor, introduza a información do contacto que quere engadir á " +"conta %s" + +#: ../src/dialogs.py:459 +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" + +#: ../src/dialogs.py:609 ../src/dialogs.py:615 +msgid "Invalid User ID" +msgstr "A ID de usuario non é válida" + +#: ../src/dialogs.py:616 +msgid "The user ID must not contain a resource." +msgstr "Esta ID de usuario non contén un recurso." + +#: ../src/dialogs.py:630 +msgid "Contact already in roster" +msgstr "O contacto xa está na listaxe" + +#: ../src/dialogs.py:631 +msgid "This contact is already listed in your roster." +msgstr "Xa engadiu este contacto á súa listaxe." + +#: ../src/dialogs.py:665 +msgid "User ID:" +msgstr "ID de usuario:" + +#: ../src/dialogs.py:728 +msgid "A GTK+ jabber client" +msgstr "Un cliente de Jabber en GTK" + +#: ../src/dialogs.py:729 +msgid "GTK+ Version:" +msgstr "Versión de GTK+:" + +#: ../src/dialogs.py:730 +msgid "PyGTK Version:" +msgstr "Versión de PyGTK:" + +#: ../src/dialogs.py:744 +msgid "Current Developers:" +msgstr "Desenvolvedores actuais:" + +#: ../src/dialogs.py:746 +msgid "Past Developers:" +msgstr "Desenvolvedores anteriores:" + +#: ../src/dialogs.py:756 +msgid "THANKS:" +msgstr "AGRADECEMENTOS:" + +#. remove one english sentence +#. and add it manually as translatable +#: ../src/dialogs.py:762 +msgid "Last but not least, we would like to thank all the package maintainers." +msgstr "" +"Por último mais non menos importante, queremos agradecerlles a todos os " +"mantedores de paquetes." + +#. here you write your name in the form Name FamilyName +#: ../src/dialogs.py:776 +msgid "translator-credits" +msgstr "Fran Alburquerque " + +#: ../src/dialogs.py:906 +#, python-format +msgid "Unable to bind to port %s." +msgstr "Non se pode conectar ao porto %s." + +#: ../src/dialogs.py:907 +msgid "" +"Maybe you have another running instance of Gajim. File Transfer will be " +"canceled." +msgstr "" +"É posíbel que outra instancia do Gajim estea a se executar. A transferencia " +"cancelarase." + +#: ../src/dialogs.py:1058 +#, python-format +msgid "Subscription request for account %s from %s" +msgstr "Solicitude de subscrición para a conta %s de %s" + +#: ../src/dialogs.py:1061 +#, python-format +msgid "Subscription request from %s" +msgstr "Solicitude de subscrición de %s" + +#: ../src/dialogs.py:1121 ../src/roster_window.py:681 +#, python-format +msgid "You are already in group chat %s" +msgstr "Xa está na sala %s" + +#: ../src/dialogs.py:1129 +msgid "You can not join a group chat unless you are connected." +msgstr "Non pode entrar nunha sala de charla até que non se conecte." + +#: ../src/dialogs.py:1144 +#, python-format +msgid "Join Group Chat with account %s" +msgstr "Entrar nun grupo de charla coa conta %s" + +#: ../src/dialogs.py:1212 ../src/dialogs.py:1218 +msgid "Invalid group chat Jabber ID" +msgstr "A ID de Jabber non é válida para o grupo de charla" + +#: ../src/dialogs.py:1213 ../src/dialogs.py:1219 +msgid "The group chat Jabber ID has not allowed characters." +msgstr "A ID de Jabber para o grupo de charla contén caracteres que non se permiten." + +#: ../src/dialogs.py:1225 +msgid "This is not a group chat" +msgstr "Isto non é un grupo de charla" + +#: ../src/dialogs.py:1226 +#, python-format +msgid "%s is not the name of a group chat." +msgstr "%s non é o nome dun grupo de charla." + +#: ../src/dialogs.py:1248 +#, python-format +msgid "Start Chat with account %s" +msgstr "Iniciar a charla coa conta %s" + +#: ../src/dialogs.py:1250 +msgid "Start Chat" +msgstr "Iniciar a charla" + +#: ../src/dialogs.py:1251 +msgid "" +"Fill in the nickname or the Jabber ID 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:" + +#. if offline or connecting +#: ../src/dialogs.py:1276 ../src/dialogs.py:1635 ../src/dialogs.py:1764 +msgid "Connection not available" +msgstr "Conexión non dispoñíbel" + +#: ../src/dialogs.py:1277 ../src/dialogs.py:1636 ../src/dialogs.py:1765 +#, python-format +msgid "Please make sure you are connected with \"%s\"." +msgstr "Por favor, asegúrese de estar conectado con \"%s\"." + +#: ../src/dialogs.py:1286 ../src/dialogs.py:1289 +msgid "Invalid JID" +msgstr "A ID de Jabber non é válida" + +#: ../src/dialogs.py:1289 +#, python-format +msgid "Unable to parse \"%s\"." +msgstr "Non se pode analizar \"%s\"." + +#: ../src/dialogs.py:1298 +msgid "Without a connection, you can not change your password." +msgstr "Sen unha conexión, non pode cambiar o seu contrasinal." + +#: ../src/dialogs.py:1317 +msgid "You must enter a password." +msgstr "Debe introducir un contrasinal." + +#. img to display +#. default value +#: ../src/dialogs.py:1364 ../src/notify.py:211 ../src/notify.py:411 +msgid "Contact Signed In" +msgstr "Contacto conectado" + +#: ../src/dialogs.py:1366 ../src/notify.py:219 ../src/notify.py:413 +msgid "Contact Signed Out" +msgstr "Contacto desconectado" + +#. chat message +#: ../src/dialogs.py:1368 ../src/notify.py:238 ../src/notify.py:415 +msgid "New Message" +msgstr "Mensaxe nova" + +#. single message +#: ../src/dialogs.py:1368 ../src/notify.py:223 ../src/notify.py:415 +msgid "New Single Message" +msgstr "Mensaxe nova" + +#. private message +#: ../src/dialogs.py:1369 ../src/notify.py:230 ../src/notify.py:416 +msgid "New Private Message" +msgstr "Mensaxe privada nova" + +#: ../src/dialogs.py:1369 ../src/gajim.py:1216 ../src/notify.py:424 +msgid "New E-mail" +msgstr "Correo electrónico novo" + +#: ../src/dialogs.py:1371 ../src/gajim.py:1369 ../src/notify.py:418 +msgid "File Transfer Request" +msgstr "Solicitude de transferencia de ficheiro" + +#: ../src/dialogs.py:1373 ../src/gajim.py:1188 ../src/gajim.py:1345 +#: ../src/notify.py:420 +msgid "File Transfer Error" +msgstr "Produciuse un erro na transferencia do ficheiro" + +#: ../src/dialogs.py:1375 ../src/gajim.py:1408 ../src/gajim.py:1430 +#: ../src/gajim.py:1447 ../src/notify.py:422 +msgid "File Transfer Completed" +msgstr "Rematou a transferencia do ficheiro" + +#: ../src/dialogs.py:1376 ../src/gajim.py:1411 ../src/notify.py:422 +msgid "File Transfer Stopped" +msgstr "Detívose a transferencia do ficheiro" + +#: ../src/dialogs.py:1378 ../src/gajim.py:1086 ../src/notify.py:426 +msgid "Groupchat Invitation" +msgstr "Convite a grupo de charla" + +#: ../src/dialogs.py:1380 ../src/notify.py:203 ../src/notify.py:428 +msgid "Contact Changed Status" +msgstr "Un contacto cambiou o seu estado" + +#: ../src/dialogs.py:1565 +#, python-format +msgid "Single Message using account %s" +msgstr "Mensaxe nova coa conta %s" + +#: ../src/dialogs.py:1567 +#, python-format +msgid "Single Message in account %s" +msgstr "Entrou unha mensaxe nova na conta %s" + +#: ../src/dialogs.py:1569 +msgid "Single Message" +msgstr "Mensaxe:" + +#. prepare UI for Sending +#: ../src/dialogs.py:1572 +#, python-format +msgid "Send %s" +msgstr "Enviar %s" + +#. prepare UI for Receiving +#: ../src/dialogs.py:1595 +#, python-format +msgid "Received %s" +msgstr "Recibida %s" + +#. we create a new blank window to send and we preset RE: and to jid +#: ../src/dialogs.py:1667 +#, python-format +msgid "RE: %s" +msgstr "RE: %s" + +#: ../src/dialogs.py:1668 +#, python-format +msgid "%s wrote:\n" +msgstr "%s escribiu:\n" + +#: ../src/dialogs.py:1712 +#, python-format +msgid "XML Console for %s" +msgstr "Consola XML para %s" + +#: ../src/dialogs.py:1714 +msgid "XML Console" +msgstr "Consola XML" + +#: ../src/dialogs.py:1835 +#, python-format +msgid "Privacy List %s" +msgstr "Listaxe de privacidade %s" + +#: ../src/dialogs.py:1839 +#, python-format +msgid "Privacy List for %s" +msgstr "Listaxe de privacidade para %s" + +#: ../src/dialogs.py:1887 +#, python-format +msgid "Order: %s, action: %s, type: %s, value: %s" +msgstr "Orde: %s, acción: %s, tipo: %s, valor: %s" + +#: ../src/dialogs.py:1890 +#, python-format +msgid "Order: %s, action: %s" +msgstr "Orde: %s, acción: %s" + +#: ../src/dialogs.py:1932 +msgid "Edit a rule" +msgstr "Editar unha regra" + +#: ../src/dialogs.py:2019 +msgid "Add a rule" +msgstr "Engadir unha regra" + +#: ../src/dialogs.py:2115 +#, python-format +msgid "Privacy Lists for %s" +msgstr "Listaxes de privacidade para %s" + +#: ../src/dialogs.py:2117 +msgid "Privacy Lists" +msgstr "Listaxes de privacidade" + +#: ../src/dialogs.py:2185 +msgid "Invalid List Name" +msgstr "O nome de listaxe non é válido" + +#: ../src/dialogs.py:2186 +msgid "You must enter a name to create a privacy list." +msgstr "Debe introducir un nome para crear unha listaxe de privacidade." + +#. FIXME: use nickname instead of contact_jid +#: ../src/dialogs.py:2220 +#, python-format +msgid "%(contact_jid)s has invited you to group chat %(room_jid)s" +msgstr "%(contact_jid)s convidouno ao grupo de charla %(room_jid)s." + +#. only if not None and not '' +#: ../src/dialogs.py:2226 +#, python-format +msgid "Comment: %s" +msgstr "Comentario: %s" + +#: ../src/dialogs.py:2288 +msgid "Choose Sound" +msgstr "Elixir un son" + +#: ../src/dialogs.py:2298 ../src/dialogs.py:2343 +msgid "All files" +msgstr "Todos os ficheiros" + +#: ../src/dialogs.py:2303 +msgid "Wav Sounds" +msgstr "Sons Wav" + +#: ../src/dialogs.py:2333 +msgid "Choose Image" +msgstr "Elixir unha imaxe" + +#: ../src/dialogs.py:2348 +msgid "Images" +msgstr "Imaxes" + +#: ../src/dialogs.py:2405 +#, python-format +msgid "When %s becomes:" +msgstr "Cando %s estea:" + +#: ../src/dialogs.py:2407 +#, python-format +msgid "Adding Special Notification for %s" +msgstr "Engadir unha notificación especial para %s" + +#. # means number +#: ../src/dialogs.py:2478 +msgid "#" +msgstr "núm." + +#: ../src/dialogs.py:2484 +msgid "Condition" +msgstr "Condición" + +#: ../src/dialogs.py:2605 +msgid "when I am " +msgstr "cando estea " + +#: ../src/disco.py:101 +msgid "Others" +msgstr "Outros" + +#: ../src/disco.py:102 ../src/disco.py:103 ../src/disco.py:1253 +#: ../src/gajim.py:539 ../src/roster_window.py:267 ../src/roster_window.py:325 +#: ../src/roster_window.py:364 ../src/roster_window.py:445 +#: ../src/roster_window.py:477 ../src/roster_window.py:479 +#: ../src/roster_window.py:3828 ../src/roster_window.py:3830 +#: ../src/common/helpers.py:42 +msgid "Transports" +msgstr "Transportes" + +#. conference is a category for listing mostly groupchats in service discovery +#: ../src/disco.py:105 +msgid "Conference" +msgstr "Conferencia" + +#: ../src/disco.py:418 +msgid "Without a connection, you can not browse available services" +msgstr "Sen unha conexión non pode navegar polos servizos dispoñíbeis" + +#: ../src/disco.py:497 +#, python-format +msgid "Service Discovery using account %s" +msgstr "Xestión de servizos coa conta %s" + +#: ../src/disco.py:499 +msgid "Service Discovery" +msgstr "Xestión de servizos" + +#: ../src/disco.py:642 +msgid "The service could not be found" +msgstr "O servizo non se achou" + +#: ../src/disco.py:643 +msgid "" +"There is no service at the address you entered, or it is not responding. " +"Check the address and try again." +msgstr "" +"Non hai servizo neste enderezo ou non está a responder. " +"Comprobe o enderezo e ténteo máis tarde." + +#: ../src/disco.py:647 ../src/disco.py:928 +msgid "The service is not browsable" +msgstr "O servizo non é navegábel" + +#: ../src/disco.py:648 +msgid "This type of service does not contain any items to browse." +msgstr "Este tipo de servizo non contén ningún elemento para navegar." + +#: ../src/disco.py:728 +#, python-format +msgid "Browsing %s using account %s" +msgstr "Navegar %s coa conta %s" + +#: ../src/disco.py:767 +msgid "_Browse" +msgstr "_Navegar" + +#: ../src/disco.py:929 +msgid "This service does not contain any items to browse." +msgstr "Este servizo non contén elementos para navegar." + +#: ../src/disco.py:1143 ../src/disco.py:1258 +msgid "Re_gister" +msgstr "_Subscribir" + +#: ../src/disco.py:1295 +#, python-format +msgid "Scanning %d / %d.." +msgstr "Escaneando %d / %d.." + +#. Users column +#: ../src/disco.py:1476 +msgid "Users" +msgstr "Usuarios" + +#. Description column +#: ../src/disco.py:1483 +msgid "Description" +msgstr "Descrición" + +#. Id column +#: ../src/disco.py:1490 +msgid "Id" +msgstr "Id" + +#: ../src/disco.py:1713 +msgid "Subscribed" +msgstr "Engadiuse" + +#: ../src/disco.py:1739 +msgid "New post" +msgstr "Publicación nova" + +#: ../src/disco.py:1745 +msgid "_Subscribe" +msgstr "_Engadir" + +#: ../src/disco.py:1751 +msgid "_Unsubscribe" +msgstr "_Eliminar" + +#: ../src/filetransfers_window.py:72 +msgid "File" +msgstr "Ficheiro" + +#: ../src/filetransfers_window.py:87 +msgid "Time" +msgstr "Hora" + +#: ../src/filetransfers_window.py:99 +msgid "Progress" +msgstr "Progreso" + +#: ../src/filetransfers_window.py:163 ../src/filetransfers_window.py:223 +#, python-format +msgid "Filename: %s" +msgstr "Nome do ficheiro: %s" + +#: ../src/filetransfers_window.py:164 ../src/filetransfers_window.py:298 +#, python-format +msgid "Size: %s" +msgstr "Tamaño: %s" + +#. You is a reply of who sent a file +#. You is a reply of who received a file +#: ../src/filetransfers_window.py:173 ../src/filetransfers_window.py:183 +#: ../src/history_manager.py:463 +msgid "You" +msgstr "Vostede" + +#: ../src/filetransfers_window.py:174 +#, python-format +msgid "Sender: %s" +msgstr "Remitente: %s" + +#: ../src/filetransfers_window.py:175 ../src/filetransfers_window.py:572 +#: ../src/tooltips.py:573 +msgid "Recipient: " +msgstr "Destinatario: " + +#: ../src/filetransfers_window.py:186 +#, python-format +msgid "Saved in: %s" +msgstr "Gardouse en: %s" + +#: ../src/filetransfers_window.py:188 +msgid "File transfer completed" +msgstr "Rematou a transferencia do ficheiro" + +#: ../src/filetransfers_window.py:204 ../src/filetransfers_window.py:212 +msgid "File transfer canceled" +msgstr "Cancelouse a transferencia do ficheiro" + +#: ../src/filetransfers_window.py:204 ../src/filetransfers_window.py:213 +msgid "Connection with peer cannot be established." +msgstr "Non se puido estabelecer a conexión co cliente." + +#: ../src/filetransfers_window.py:224 +#, python-format +msgid "Recipient: %s" +msgstr "Destinatario: %s" + +#: ../src/filetransfers_window.py:226 +#, python-format +msgid "Error message: %s" +msgstr "Mensaxe de erro: %s" + +#: ../src/filetransfers_window.py:227 +msgid "File transfer stopped by the contact of the other side" +msgstr "O contacto detivo a transferencia do ficheiro" + +#: ../src/filetransfers_window.py:244 +msgid "Choose File to Send..." +msgstr "Elixa un ficheiro para enviar..." + +#: ../src/filetransfers_window.py:263 +msgid "Gajim cannot access this file" +msgstr "O Gajim non pode acceder a este ficheiro" + +#: ../src/filetransfers_window.py:264 +msgid "This file is being used by another process." +msgstr "Outro proceso está a usar este ficheiro." + +#: ../src/filetransfers_window.py:296 +#, python-format +msgid "File: %s" +msgstr "Ficheiro: %s" + +#: ../src/filetransfers_window.py:301 +#, python-format +msgid "Type: %s" +msgstr "Tipo: %s" + +#: ../src/filetransfers_window.py:303 +#, python-format +msgid "Description: %s" +msgstr "Descrición: %s" + +#: ../src/filetransfers_window.py:304 +#, python-format +msgid "%s wants to send you a file:" +msgstr "%s quere enviarlle un ficheiro:" + +#: ../src/filetransfers_window.py:318 ../src/gtkgui_helpers.py:683 +#, python-format +msgid "Cannot overwrite existing file \"%s\"" +msgstr "Non se pode sobrescribir o ficheiro existente \"%s\"" + +#: ../src/filetransfers_window.py:319 ../src/gtkgui_helpers.py:685 +msgid "" +"A file with this name already exists and you do not have permission to " +"overwrite it." +msgstr "" +"Xa existe un ficheiro con este nome e non ten permiso para " +"o sobreescribir" + +#: ../src/filetransfers_window.py:326 ../src/gtkgui_helpers.py:689 +msgid "This file already exists" +msgstr "Este ficheiro xa existe" + +#: ../src/filetransfers_window.py:326 ../src/gtkgui_helpers.py:689 +msgid "What do you want to do?" +msgstr "Que quere facer?" + +#: ../src/filetransfers_window.py:338 ../src/gtkgui_helpers.py:699 +#, python-format +msgid "Directory \"%s\" is not writable" +msgstr "Non se pode escribir no directorio \"%s\"" + +#: ../src/filetransfers_window.py:338 ../src/gtkgui_helpers.py:700 +msgid "You do not have permission to create files in this directory." +msgstr "Non ten autorización para crear ficheiros neste directorio." + +#: ../src/filetransfers_window.py:348 +msgid "Save File as..." +msgstr "Gardar o ficheiro como..." + +#. Print remaining time in format 00:00:00 +#. You can change the places of (hours), (minutes), (seconds) - +#. they are not translatable. +#: ../src/filetransfers_window.py:429 +#, python-format +msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" +msgstr "%(horas)02.d:%(minutos)02.d:%(segundos)02.d" + +#. This should make the string Kb/s, +#. where 'Kb' part is taken from %s. +#. Only the 's' after / (which means second) should be translated. +#: ../src/filetransfers_window.py:505 +#, python-format +msgid "(%(filesize_unit)s/s)" +msgstr "(%(filesize_unit)s/s)" + +#: ../src/filetransfers_window.py:544 ../src/filetransfers_window.py:547 +msgid "Invalid File" +msgstr "O ficheiro non é válido" + +#: ../src/filetransfers_window.py:544 +msgid "File: " +msgstr "Ficheiro: " + +#: ../src/filetransfers_window.py:548 +msgid "It is not possible to send empty files" +msgstr "Non se pode enviar ficheiros baleiros" + +#: ../src/filetransfers_window.py:568 ../src/tooltips.py:563 +msgid "Name: " +msgstr "Nome: " + +#: ../src/filetransfers_window.py:570 ../src/tooltips.py:567 +msgid "Sender: " +msgstr "Remitente: " + +#: ../src/filetransfers_window.py:758 +msgid "Pause" +msgstr "Pausa" + +#: ../src/gajim.py:47 +msgid "Gajim needs Xserver to run. Quiting..." +msgstr "O Gajim precisa o Xserver para funcionar. A abortar..." + +#: ../src/gajim.py:51 +msgid "Gajim needs PyGTK 2.6 or above" +msgstr "O Gajim precisa un PyGTK 2.6 ou superior" + +#: ../src/gajim.py:52 +msgid "Gajim needs PyGTK 2.6 or above to run. Quiting..." +msgstr "O Gajim precisa un PyGTK 2.6 ou superior para funcionar. A abortar..." + +#: ../src/gajim.py:54 +msgid "Gajim needs GTK 2.6 or above" +msgstr "O Gajim precisa un GTK 2.6 ou superior" + +#: ../src/gajim.py:55 +msgid "Gajim needs GTK 2.6 or above to run. Quiting..." +msgstr "O Gajim precisa un GTK 2.6 ou superior para funcionar. A abortar..." + +#: ../src/gajim.py:60 +msgid "GTK+ runtime is missing libglade support" +msgstr "A biblioteca GTK+ precisa un soporte de libglade" + +#: ../src/gajim.py:62 +#, python-format +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" + +#: ../src/gajim.py:64 +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." + +#: ../src/gajim.py:69 +msgid "Gajim needs PySQLite2 to run" +msgstr "O Gajim precisa un PySQLite2 para funcionar" + +#: ../src/gajim.py:77 +msgid "Gajim needs pywin32 to run" +msgstr "O Gajim precisa un pywin32 para funcionar" + +#: ../src/gajim.py:78 +#, python-format +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" + +#. set the icon to all newly opened wind +#: ../src/gajim.py:238 +msgid "Gajim is already running" +msgstr "O Gajim xa está a se executar" + +#: ../src/gajim.py:239 +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?" + +#: ../src/gajim.py:346 +#, python-format +msgid "HTTP (%s) Authorization for %s (id: %s)" +msgstr "Autorización HTTP (%s) para %s (id: %s)" + +#: ../src/gajim.py:347 +msgid "Do you accept this request?" +msgstr "Acepta esta solicitude?" + +#: ../src/gajim.py:393 ../src/notify.py:430 +msgid "Connection Failed" +msgstr "Fallou a conexión" + +#: ../src/gajim.py:706 +#, python-format +msgid "Subject: %s" +msgstr "Asunto: %s" + +#. ('MSGNOTSENT', account, (jid, ierror_msg, msg, time)) +#: ../src/gajim.py:751 ../src/gajim.py:764 +#, python-format +msgid "error while sending %s ( %s )" +msgstr "produciuse un erro mentres se enviaba %s ( %s )" + +#: ../src/gajim.py:797 +msgid "Authorization accepted" +msgstr "Autorización aceptada" + +#: ../src/gajim.py:798 +#, python-format +msgid "The contact \"%s\" has authorized you to see his or her status." +msgstr "O contacto \"%s\" autorizouno para ver o seu estado." + +#: ../src/gajim.py:806 +#, python-format +msgid "Contact \"%s\" removed subscription from you" +msgstr "O contacto \"%s\" eliminou a súa subscrición" + +#: ../src/gajim.py:807 +msgid "You will always see him or her as offline." +msgstr "Sempre o verá desconectado." + +#: ../src/gajim.py:850 +#, python-format +msgid "Contact with \"%s\" cannot be established" +msgstr "Non foi posíbel estabelecer o contacto con \"%s\"" + +#: ../src/gajim.py:851 ../src/common/connection.py:406 +msgid "Check your connection or try again later." +msgstr "Comprobe a súa conexión ou probe máis tarde." + +#: ../src/gajim.py:999 ../src/roster_window.py:1197 +#, python-format +msgid "%s is now %s (%s)" +msgstr "%s está agora %s (%s)" + +#: ../src/gajim.py:1096 +msgid "Your passphrase is incorrect" +msgstr "O contrasinal é incorrecto" + +#: ../src/gajim.py:1097 +msgid "You are currently connected without your OpenPGP key." +msgstr "Está actualmente conectado sen a súa chave de GPG" + +#: ../src/gajim.py:1199 +#, python-format +msgid "New mail on %(gmail_mail_address)s" +msgstr "Hai un correo novo en %(gmail_mail_address)s" + +#: ../src/gajim.py:1201 +#, python-format +msgid "You have %d new mail conversation" +msgid_plural "You have %d new mail conversations" +msgstr[0] "Ten %d nova conversa de correo" +msgstr[1] "Ten %d novas conversas de correo" + +#. FIXME: emulate Gtalk client popups. find out what they parse and how +#. they decide what to show +#. each message has a 'From', 'Subject' and 'Snippet' field +#: ../src/gajim.py:1210 +#, python-format +msgid "" +"\n" +"From: %(from_address)s" +msgstr "" +"\n" +"De: %(from_address)s" + +#: ../src/gajim.py:1366 +#, python-format +msgid "%s wants to send you a file." +msgstr "%s quere enviarlle un ficheiro." + +#: ../src/gajim.py:1431 +#, python-format +msgid "You successfully received %(filename)s from %(name)s." +msgstr "Recibiu con éxito o ficheiro %(ficheiro)s de %(nome)s." + +#. ft stopped +#: ../src/gajim.py:1435 +#, python-format +msgid "File transfer of %(filename)s from %(name)s stopped." +msgstr "Detívose a transferencia do ficheiro %(ficheiro)s de %(nome)s." + +#: ../src/gajim.py:1448 +#, python-format +msgid "You successfully sent %(filename)s to %(name)s." +msgstr "Envioulle con éxito o ficheiro %(filename)s a %(name)s." + +#. ft stopped +#: ../src/gajim.py:1452 +#, python-format +msgid "File transfer of %(filename)s to %(name)s stopped." +msgstr "Detívose a transferencia de %(filename)s a %(name)s." + +#: ../src/gajim.py:1558 +msgid "Username Conflict" +msgstr "Conflito co nome de usuario" + +#: ../src/gajim.py:1559 +msgid "Please type a new username for your local account" +msgstr "Por favor, escriba un nome de usuario novo para a súa conta local" + +#. it is good to notify the user +#. in case he or she cannot see the output of the console +#: ../src/gajim.py:1898 +msgid "Could not save your settings and preferences" +msgstr "Non se poden gardar as preferencias" + +#: ../src/gajim.py:2090 +msgid "Network Manager support not available" +msgstr "O soporte para o xestor de rede non está dispoñíbel" + +#: ../src/gajim.py:2165 +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)" + +#: ../src/gajim-remote.py:66 +msgid "Shows a help on specific command" +msgstr "Amosa axuda sobre un comando específico" + +#. User gets help for the command, specified by this parameter +#: ../src/gajim-remote.py:69 +msgid "command" +msgstr "comando" + +#: ../src/gajim-remote.py:70 +msgid "show help on command" +msgstr "amosar axuda sobre un comando" + +#: ../src/gajim-remote.py:74 +msgid "Shows or hides the roster window" +msgstr "Amosa ou oculta a fiestra da listaxe de contactos" + +#: ../src/gajim-remote.py:78 +msgid "Popups a window with the next pending event" +msgstr "Amosa unha fiestra emerxente co seguinte acontecemento pendente" + +#: ../src/gajim-remote.py:82 +msgid "" +"Prints a list of all contacts in the roster. Each contact appear on a " +"separate line" +msgstr "" +"Amosa unha listaxe de todos os contactos na listaxe. Cada contacto aparece " +"nunha liña distinta" + +#: ../src/gajim-remote.py:84 ../src/gajim-remote.py:98 +#: ../src/gajim-remote.py:108 ../src/gajim-remote.py:121 +#: ../src/gajim-remote.py:135 ../src/gajim-remote.py:156 +#: ../src/gajim-remote.py:186 ../src/gajim-remote.py:195 +#: ../src/gajim-remote.py:202 ../src/gajim-remote.py:209 +#: ../src/gajim-remote.py:220 +msgid "account" +msgstr "conta" + +#: ../src/gajim-remote.py:84 +msgid "show only contacts of the given account" +msgstr "amosar só contactos da conta especificada" + +#: ../src/gajim-remote.py:89 +msgid "Prints a list of registered accounts" +msgstr "Amosa unha listaxe de contas que están rexistradas" + +#: ../src/gajim-remote.py:93 +msgid "Changes the status of account or accounts" +msgstr "Cambia o estado dunha ou de varias contas" + +#. offline, online, chat, away, xa, dnd, invisible should not be translated +#: ../src/gajim-remote.py:96 +msgid "status" +msgstr "estado" + +#: ../src/gajim-remote.py:96 +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" + +#: ../src/gajim-remote.py:97 ../src/gajim-remote.py:118 +#: ../src/gajim-remote.py:132 +msgid "message" +msgstr "mensaxe" + +#: ../src/gajim-remote.py:97 +msgid "status message" +msgstr "mensaxe de estado" + +#: ../src/gajim-remote.py:98 +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 o estado da conta \"account\". Se non se especifica, probe a " +"cambiar o estado de todas as contas que teñen a opción \"sync with " +"global status\" activada" + +#: ../src/gajim-remote.py:104 +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" + +#: ../src/gajim-remote.py:106 +msgid "JID of the contact that you want to chat with" +msgstr "JID do contacto co que quere conversar" + +#: ../src/gajim-remote.py:108 ../src/gajim-remote.py:186 +msgid "if specified, contact is taken from the contact list of this account" +msgstr "se se especifica, o contacto obtense da listaxe desta conta" + +#: ../src/gajim-remote.py:113 +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 ''." + +#: ../src/gajim-remote.py:117 ../src/gajim-remote.py:130 +msgid "JID of the contact that will receive the message" +msgstr "JID do contacto que recibirá a mensaxe" + +#: ../src/gajim-remote.py:118 ../src/gajim-remote.py:132 +msgid "message contents" +msgstr "contido da mensaxe" + +#: ../src/gajim-remote.py:119 ../src/gajim-remote.py:133 +msgid "pgp key" +msgstr "chave pgp" + +#: ../src/gajim-remote.py:119 ../src/gajim-remote.py:133 +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" + +#: ../src/gajim-remote.py:121 ../src/gajim-remote.py:135 +msgid "if specified, the message will be sent using this account" +msgstr "se se especifica, a mensaxe enviarase a través desta conta" + +#: ../src/gajim-remote.py:126 +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 ''." + +#: ../src/gajim-remote.py:131 +msgid "subject" +msgstr "tema" + +#: ../src/gajim-remote.py:131 +msgid "message subject" +msgstr "tema da mensaxe" + +#: ../src/gajim-remote.py:140 +msgid "Gets detailed info on a contact" +msgstr "Obter información detallada dun contacto" + +#: ../src/gajim-remote.py:142 ../src/gajim-remote.py:155 +#: ../src/gajim-remote.py:185 ../src/gajim-remote.py:194 +msgid "JID of the contact" +msgstr "JID do contacto" + +#: ../src/gajim-remote.py:146 +msgid "Gets detailed info on a account" +msgstr "Obter información detallada dunha conta" + +#: ../src/gajim-remote.py:148 +msgid "Name of the account" +msgstr "Nome da conta" + +#: ../src/gajim-remote.py:152 +msgid "Sends file to a contact" +msgstr "Enviarlle un ficheiro a un contacto" + +#: ../src/gajim-remote.py:154 +msgid "file" +msgstr "ficheiro" + +#: ../src/gajim-remote.py:154 +msgid "File path" +msgstr "Camiño do ficheiro" + +#: ../src/gajim-remote.py:156 +msgid "if specified, file will be sent using this account" +msgstr "se se especifica, o ficheiro enviarase mediante esta conta" + +#: ../src/gajim-remote.py:161 +msgid "Lists all preferences and their values" +msgstr "Nomea todas as preferencias e os seus valores" + +#: ../src/gajim-remote.py:165 +msgid "Sets value of 'key' to 'value'." +msgstr "Define o valor de 'entrada' a 'valor'." + +#: ../src/gajim-remote.py:167 +msgid "key=value" +msgstr "entrada=valor" + +#: ../src/gajim-remote.py:167 +msgid "'key' is the name of the preference, 'value' is the value to set it to" +msgstr "a 'entrada' é o nome da preferencia, o 'valor' é o do valor para definir" + +#: ../src/gajim-remote.py:172 +msgid "Deletes a preference item" +msgstr "Elimina un elemento de preferencia" + +#: ../src/gajim-remote.py:174 +msgid "key" +msgstr "entrada" + +#: ../src/gajim-remote.py:174 +msgid "name of the preference to be deleted" +msgstr "nome da preferencia para eliminar" + +#: ../src/gajim-remote.py:178 +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" + +#: ../src/gajim-remote.py:183 +msgid "Removes contact from roster" +msgstr "Elimina o contacto da listaxe" + +#: ../src/gajim-remote.py:192 +msgid "Adds contact to roster" +msgstr "Engade o contacto á listaxe" + +#: ../src/gajim-remote.py:194 +msgid "jid" +msgstr "jid" + +#: ../src/gajim-remote.py:195 +msgid "Adds new contact to this account" +msgstr "Engade un contacto novo a esta conta." + +#: ../src/gajim-remote.py:200 +msgid "Returns current status (the global one unless account is specified)" +msgstr "Devolve o estado actual (o global se non se especificar unha conta)" + +#: ../src/gajim-remote.py:207 +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)" + +#: ../src/gajim-remote.py:214 +msgid "Returns number of unreaded messages" +msgstr "Devolve o número de mensaxes sen ler" + +#: ../src/gajim-remote.py:218 +msgid "Opens 'Start Chat' dialog" +msgstr "Abre o diálogo de iniciar charla" + +#: ../src/gajim-remote.py:220 +msgid "Starts chat, using this account" +msgstr "Iniciar unha charla con esta conta" + +#: ../src/gajim-remote.py:224 +msgid "Sends custom XML" +msgstr "Envía XML personalizado" + +#: ../src/gajim-remote.py:226 +msgid "XML to send" +msgstr "XML para enviar" + +#: ../src/gajim-remote.py:227 +msgid "" +"Account in which the xml will be sent; if not specified, xml will be sent to " +"all accounts" +msgstr "" +"Conta a que se lle enviará; se non se especificar nada, o xml enviaráselles " +"a todas as contas" + +#: ../src/gajim-remote.py:249 +msgid "Missing argument \"contact_jid\"" +msgstr "Non se atopa o argumento \"contact_jid\"" + +#: ../src/gajim-remote.py:268 +#, python-format +msgid "" +"'%s' is not in your roster.\n" +"Please specify account for sending the message." +msgstr "" +"'%s' non está na súa listaxe de contactos.\n" +"Por favor, especifique unha conta para enviar a mensaxe." + +#: ../src/gajim-remote.py:271 +msgid "You have no active account" +msgstr "Non ten contas activas" + +#: ../src/gajim-remote.py:335 +#, python-format +msgid "" +"Usage: %s %s %s \n" +"\t %s" +msgstr "" +"Modo de uso: %s %s %s \n" +"\t %s" + +#: ../src/gajim-remote.py:338 +msgid "Arguments:" +msgstr "Argumentos" + +#: ../src/gajim-remote.py:342 +#, python-format +msgid "%s not found" +msgstr "Non se encontrou %s" + +#: ../src/gajim-remote.py:346 +#, python-format +msgid "" +"Usage: %s command [arguments]\n" +"Command is one of:\n" +msgstr "" +"Modo de uso: %s comando [argumentos]\n" +"Comando é un de:\n" + +#: ../src/gajim-remote.py:420 +#, python-format +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" + +#: ../src/gajim_themes_window.py:60 +msgid "Theme" +msgstr "Tema" + +#. don't confuse translators +#: ../src/gajim_themes_window.py:155 +msgid "theme name" +msgstr "nome do tema" + +#: ../src/gajim_themes_window.py:172 +msgid "You cannot delete your current theme" +msgstr "Non pode eliminar o tema actual" + +#: ../src/gajim_themes_window.py:173 +msgid "Please first choose another for your current theme." +msgstr "Por favor, primeiro elixa outro distinto como tema actual." + +#: ../src/groupchat_control.py:106 +msgid "Private Chat" +msgstr "Charla privada" + +#: ../src/groupchat_control.py:106 +msgid "Private Chats" +msgstr "Charlas privadas" + +#: ../src/groupchat_control.py:123 +msgid "Sending private message failed" +msgstr "O envío da mensaxe privada fallou" + +#. in second %s code replaces with nickname +#: ../src/groupchat_control.py:125 +#, python-format +msgid "You are no longer in group chat \"%s\" or \"%s\" has left." +msgstr "Quer xa non está no grupo de charla \"%s\" quer \"%s\" esta xa non existe." + +#: ../src/groupchat_control.py:144 +msgid "Group Chat" +msgstr "Grupos de charla" + +#: ../src/groupchat_control.py:144 +msgid "Group Chats" +msgstr "Grupos de charla" + +#: ../src/groupchat_control.py:318 +msgid "Insert Nickname" +msgstr "Introducir alcume" + +#. do not print 'kicked by None' +#: ../src/groupchat_control.py:831 +#, python-format +msgid "%(nick)s has been kicked: %(reason)s" +msgstr "%(nick)s foi expulsado por %(reason)s" + +#: ../src/groupchat_control.py:835 +#, python-format +msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +msgstr "%(nick)s foi expulsado por %(who)s: %(reason)s" + +#. do not print 'banned by None' +#: ../src/groupchat_control.py:842 +#, python-format +msgid "%(nick)s has been banned: %(reason)s" +msgstr "%(nick)s foi expulsado: %(reason)s" + +#: ../src/groupchat_control.py:846 +#, python-format +msgid "%(nick)s has been banned by %(who)s: %(reason)s" +msgstr "%(nick)s foi expulsado por %(who)s: %(reason)s" + +#: ../src/groupchat_control.py:854 +#, python-format +msgid "You are now known as %s" +msgstr "Coñéceselle como %s" + +#: ../src/groupchat_control.py:856 +#, python-format +msgid "%s is now known as %s" +msgstr "%s coñéceselle como %s" + +#: ../src/groupchat_control.py:936 +#, python-format +msgid "%s has left" +msgstr "%s saíu" + +#: ../src/groupchat_control.py:941 +#, python-format +msgid "%s has joined the group chat" +msgstr "%s entrou no grupo de charla" + +#. No status message +#: ../src/groupchat_control.py:943 ../src/roster_window.py:1200 +#, python-format +msgid "%s is now %s" +msgstr "%s está agora %s" + +#: ../src/groupchat_control.py:1062 ../src/groupchat_control.py:1080 +#: ../src/groupchat_control.py:1173 ../src/groupchat_control.py:1190 +#, python-format +msgid "Nickname not found: %s" +msgstr "Non se achou o alcume: %s" + +#: ../src/groupchat_control.py:1096 +msgid "This group chat has no subject" +msgstr "Este grupo de charla non ten un asunto" + +#: ../src/groupchat_control.py:1109 +#, python-format +msgid "Invited %(contact_jid)s to %(room_jid)s." +msgstr "%(contact_jid)s convidouse a %(room_jid)s." + +#. %s is something the user wrote but it is not a jid so we inform +#: ../src/groupchat_control.py:1116 ../src/groupchat_control.py:1144 +#, python-format +msgid "%s does not appear to be a valid JID" +msgstr "%s non semella ser un JID válido" + +#: ../src/groupchat_control.py:1227 +#, python-format +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)" + +#: ../src/groupchat_control.py:1250 +#, python-format +msgid "Commands: %s" +msgstr "Comandos: %s" + +#: ../src/groupchat_control.py:1252 +#, python-format +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 "" +"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." + +#: ../src/groupchat_control.py:1259 +#, python-format +msgid "Usage: /%s , opens a private chat window to the specified occupant." +msgstr "" +"Uso: /%s , abre unha fiestra de charla co ocupante " +"especificado." + +#: ../src/groupchat_control.py:1263 +#, python-format +msgid "Usage: /%s, clears the text window." +msgstr "Uso: /%s, limpa o texto da fiestra." + +#: ../src/groupchat_control.py:1265 +#, python-format +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." + +#: ../src/groupchat_control.py:1268 +#, python-format +msgid "Usage: /%s, hide the chat buttons." +msgstr "Uso: /%s, oculta os botóns de charla." + +#: ../src/groupchat_control.py:1271 +#, python-format +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." + +#: ../src/groupchat_control.py:1275 +#, python-format +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" + +#: ../src/groupchat_control.py:1279 +#, python-format +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 "" +"Uso: /%s [motivo], elimina da sala o ocupante que especifica" +"o alcume e opcionalmente especifica un motivo. NON se admiten espazos no alcume." + +#: ../src/groupchat_control.py:1284 +#, python-format +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.)" + +#: ../src/groupchat_control.py:1288 +#, python-format +msgid "" +"Usage: /%s [message], opens a private message windowand 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." + +#: ../src/groupchat_control.py:1293 +#, python-format +msgid "Usage: /%s , changes your nickname in current group chat." +msgstr "Uso: /%s , cambia o seu alcume na sala actual." + +#: ../src/groupchat_control.py:1297 +#, python-format +msgid "Usage: /%s , display the names of group chat occupants." +msgstr "Uso: /%s , amosa os nomes dos ocupantes do grupo de charla." + +#: ../src/groupchat_control.py:1301 +#, python-format +msgid "Usage: /%s [topic], displays or updates the current group chat topic." +msgstr "Uso: /%s [tema], amosa ou actualiza o asunto actual da sala." + +#: ../src/groupchat_control.py:1304 +#, python-format +msgid "Usage: /%s , sends a message without looking for other commands." +msgstr "Uso: /%s , envía unha mensaxe sen buscar outros comandos." + +#: ../src/groupchat_control.py:1307 +#, python-format +msgid "No help info for /%s" +msgstr "Non hai información de axuda para /%s" + +#: ../src/groupchat_control.py:1356 +#, python-format +msgid "Are you sure you want to leave group chat \"%s\"?" +msgstr "Está seguro de que quere abandonar a sala \"%s\"?" + +#: ../src/groupchat_control.py:1358 +msgid "If you close this window, you will be disconnected from this group chat." +msgstr "Se pecha esta fiestra, desconectaráselle deste grupo de charla." + +#: ../src/groupchat_control.py:1362 ../src/roster_window.py:3962 +msgid "Do _not ask me again" +msgstr "_Non me preguntar outra vez" + +#: ../src/groupchat_control.py:1396 +msgid "Changing Subject" +msgstr "Cambiando o asunto" + +#: ../src/groupchat_control.py:1397 +msgid "Please specify the new subject:" +msgstr "Especifique o asunto novo:" + +#: ../src/groupchat_control.py:1406 +msgid "Changing Nickname" +msgstr "Cambiando o alcume" + +#: ../src/groupchat_control.py:1407 +msgid "Please specify the new nickname you want to use:" +msgstr "Especifique o novo alcume que quere usar:" + +#: ../src/groupchat_control.py:1432 +msgid "Bookmark already set" +msgstr "O marcador xa se definiu" + +#: ../src/groupchat_control.py:1433 +#, python-format +msgid "Group Chat \"%s\" is already in your bookmarks." +msgstr "A sala \"%s\" xa está nos seus marcadores." + +#: ../src/groupchat_control.py:1442 +msgid "Bookmark has been added successfully" +msgstr "O marcador engadiuse con éxito" + +#: ../src/groupchat_control.py:1443 +msgid "You can manage your bookmarks via Actions menu in your roster." +msgstr "Pode xestionar os seus marcadores mediante o menú Accións da súa listaxe" + +#. ask for reason +#: ../src/groupchat_control.py:1569 +#, python-format +msgid "Kicking %s" +msgstr "A expulsar %s" + +#: ../src/groupchat_control.py:1570 ../src/groupchat_control.py:1852 +msgid "You may specify a reason below:" +msgstr "Debe especificar un motivo debaixo:" + +#. ask for reason +#: ../src/groupchat_control.py:1851 +#, python-format +msgid "Banning %s" +msgstr "A expulsar %s" + +#: ../src/gtkexcepthook.py:41 +msgid "A programming error has been detected" +msgstr "Detectouse un erro de programación" + +#: ../src/gtkexcepthook.py:42 +msgid "" +"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." + +#: ../src/gtkexcepthook.py:48 +msgid "_Report Bug" +msgstr "_Informar do erro" + +#: ../src/gtkexcepthook.py:71 +msgid "Details" +msgstr "Detalles" + +#. we talk about file +#: ../src/gtkgui_helpers.py:153 ../src/gtkgui_helpers.py:168 +#, python-format +msgid "Error: cannot open %s for reading" +msgstr "Erro: non se pode abrir %s para lectura" + +#: ../src/gtkgui_helpers.py:293 +msgid "Error reading file:" +msgstr "Erro ao ler o ficheiro:" + +#: ../src/gtkgui_helpers.py:296 +msgid "Error parsing file:" +msgstr "Erro ao analizar o ficheiro:" + +#. do not traceback (could be a permission problem) +#. we talk about a file here +#: ../src/gtkgui_helpers.py:334 +#, python-format +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á" + +#: ../src/gtkgui_helpers.py:728 +msgid "Extension not supported" +msgstr "Extensión non admitida" + +#: ../src/gtkgui_helpers.py:729 +#, python-format +msgid "Image cannot be saved in %(type)s format. Save as %(new_filename)s?" +msgstr "" +"A imaxe non se puido gardar no formato %(type)s. Desexa gardar como %" +"(new_filename)s?" + +#: ../src/gtkgui_helpers.py:738 +msgid "Save Image as..." +msgstr "Gardar a imaxe como..." + +#: ../src/history_manager.py:64 +msgid "Cannot find history logs database" +msgstr "Non se pode achar a base de datos do historial" + +#. holds jid +#: ../src/history_manager.py:107 +msgid "Contacts" +msgstr "Contactos" + +#. holds time +#: ../src/history_manager.py:120 ../src/history_manager.py:160 +#: ../src/history_window.py:86 +msgid "Date" +msgstr "Data" + +#. holds nickname +#: ../src/history_manager.py:126 ../src/history_manager.py:178 +msgid "Nickname" +msgstr "Alcume" + +#. holds message +#: ../src/history_manager.py:134 ../src/history_manager.py:166 +#: ../src/history_window.py:94 +msgid "Message" +msgstr "Mensaxe" + +#: ../src/history_manager.py:186 +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)" + +#: ../src/history_manager.py:188 +msgid "" +"Normally allocated database size will not be freed, it will just become " +"reusable. If you really want to reduce database filesize, click YES, else " +"click NO.\n" +"\n" +"In case you click YES, please wait..." +msgstr "" +"Normalmente, o tamaño que se lle asigna á base de datos non se libera; " +"simplemente volve poder usarse. Se o que quere é reducir o tamaño da " +"base de datos, elixa SI; caso contrario, elixa NON.\n" +"\n" +"Caso de elixir SI, por favor, agarde..." + +#: ../src/history_manager.py:400 +msgid "Exporting History Logs..." +msgstr "A exportar o historial..." + +#: ../src/history_manager.py:476 +#, python-format +msgid "%(who)s on %(time)s said: %(message)s\n" +msgstr "%(who)s - %(time)s dixo: %(message)s\n" + +#: ../src/history_manager.py:514 +msgid "Do you really want to delete logs of the selected contact?" +msgid_plural "Do you really want to delete logs of the selected contacts?" +msgstr[0] "Está seguro de que quere eliminar o historial do contacto que seleccionou?" +msgstr[1] "Está seguro de que quere eliminar o historial dos contactos que seleccionou?" + +#: ../src/history_manager.py:518 ../src/history_manager.py:554 +msgid "This is an irreversible operation." +msgstr "Esta é unha operación irreversíbel" + +#: ../src/history_manager.py:551 +msgid "Do you really want to delete the selected message?" +msgid_plural "Do you really want to delete the selected messages?" +msgstr[0] "Está seguro de que quere eliminar a mensaxe que seleccionou?" +msgstr[1] "Está seguro de que quere eliminar as mensaxes que seleccionou?" + +#: ../src/history_window.py:103 ../src/history_window.py:105 +#, python-format +msgid "Conversation History with %s" +msgstr "Historial de conversas con %s" + +#: ../src/history_window.py:261 +#, python-format +msgid "%(nick)s is now %(status)s: %(status_msg)s" +msgstr "%(nick)s está agora %(status)s: %(status_msg)s" + +#: ../src/history_window.py:265 ../src/notify.py:198 +#, python-format +msgid "%(nick)s is now %(status)s" +msgstr "%(nick)s está agora %(status)s" + +#: ../src/history_window.py:271 +#, python-format +msgid "Status is now: %(status)s: %(status_msg)s" +msgstr "O estado é agora: %(status)s: %(status_msg)s " + +#: ../src/history_window.py:274 +#, python-format +msgid "Status is now: %(status)s" +msgstr "O estado é agora: %(status)s" + +#: ../src/message_window.py:273 +msgid "Messages" +msgstr "Mensaxes" + +#: ../src/message_window.py:274 +#, python-format +msgid "%s - Gajim" +msgstr "%s - Gajim" + +#: ../src/notify.py:196 +#, python-format +msgid "%(nick)s Changed Status" +msgstr "%(nick)s cambiou o seu estado" + +#: ../src/notify.py:206 +#, python-format +msgid "%(nickname)s Signed In" +msgstr "%(nickname)s conectouse" + +#: ../src/notify.py:214 +#, python-format +msgid "%(nickname)s Signed Out" +msgstr "%(nickname)s desconectouse" + +#: ../src/notify.py:226 +#, python-format +msgid "New Single Message from %(nickname)s" +msgstr "Mensaxe nova de %(nickname)s" + +#: ../src/notify.py:234 +#, python-format +msgid "New Private Message from group chat %s" +msgstr "Nova mensaxe privada desde o grupo de charlas %s" + +#: ../src/notify.py:235 +#, python-format +msgid "%(nickname)s: %(message)s" +msgstr "%(nickname)s: %(message)s" + +#: ../src/notify.py:241 +#, python-format +msgid "New Message from %(nickname)s" +msgstr "Mensaxe nova de %(nickname)s" + +#: ../src/profile_window.py:72 ../src/profile_window.py:376 +msgid "Retrieving profile..." +msgstr "A recuperar o perfil..." + +#: ../src/profile_window.py:107 ../src/profile_window.py:203 +#: ../src/profile_window.py:212 ../src/profile_window.py:370 +msgid "Click to set your avatar" +msgstr "Prema para definir a súa circunstancia" + +#. keep identation +#: ../src/profile_window.py:136 +msgid "Could not load image" +msgstr "Non foi posíbel cargar a imaxe" + +#: ../src/profile_window.py:238 +msgid "Information received" +msgstr "Información recibida" + +#: ../src/profile_window.py:308 +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." + +#: ../src/profile_window.py:320 +msgid "Sending profile..." +msgstr "A enviar o perfil..." + +#: ../src/profile_window.py:328 +msgid "Information published" +msgstr "Información publicada" + +#: ../src/profile_window.py:340 +msgid "Information NOT published" +msgstr "Información NON publicada" + +#: ../src/profile_window.py:347 +msgid "vCard publication failed" +msgstr "Fallou a publicación da vCard" + +#: ../src/profile_window.py:348 +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." + +#: ../src/profile_window.py:374 +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." + +#: ../src/roster_window.py:168 ../src/roster_window.py:223 +msgid "Merged accounts" +msgstr "Contas combinadas" + +#: ../src/roster_window.py:340 ../src/common/helpers.py:42 +msgid "Observers" +msgstr "Observadores" + +#: ../src/roster_window.py:686 ../src/roster_window.py:3133 +msgid "You cannot join a group chat while you are invisible" +msgstr "Non pode entrar nun grupo de charlas se está invisíbel" + +#. new chat +#. for chat_with +#. for single message +#: ../src/roster_window.py:878 ../src/systray.py:187 ../src/systray.py:192 +#, python-format +msgid "using account %s" +msgstr "a usar a conta %s" + +#. the 'manage gc bookmarks' item is shown +#. below to avoid duplicate code +#. add +#: ../src/roster_window.py:903 +#, python-format +msgid "to %s account" +msgstr "á conta %s" + +#. disco +#: ../src/roster_window.py:908 +#, python-format +msgid "using %s account" +msgstr "a usar a conta %s" + +#. profile, avatar +#: ../src/roster_window.py:983 +#, python-format +msgid "of account %s" +msgstr "da conta %s" + +#: ../src/roster_window.py:1003 +msgid "_Manage Bookmarks..." +msgstr "Xestionar _marcadores..." + +#: ../src/roster_window.py:1032 +#, python-format +msgid "for account %s" +msgstr "para a conta %s" + +#. History manager +#: ../src/roster_window.py:1053 +msgid "History Manager" +msgstr "Historial" + +#: ../src/roster_window.py:1062 +msgid "_Join New Group Chat" +msgstr "_Entrar nun outro grupo de charla" + +#: ../src/roster_window.py:1380 ../src/roster_window.py:3326 +#: ../src/roster_window.py:3333 +msgid "You have unread messages" +msgstr "Ten mensaxes sen ler" + +#: ../src/roster_window.py:1381 +msgid "You must read them before removing this transport." +msgstr "Debe lelas antes de eliminar este transporte." + +#: ../src/roster_window.py:1384 +#, python-format +msgid "Transport \"%s\" will be removed" +msgstr "Eliminarase o transporte \"%s\"" + +#: ../src/roster_window.py:1385 +msgid "" +"You will no longer be able to send and receive messages to contacts from " +"this transport." +msgstr "Xa non poderá enviar e recibir mensaxes a contactos desde este transporte" + +#: ../src/roster_window.py:1388 +msgid "Transports will be removed" +msgstr "Eliminaranse os transportes" + +#: ../src/roster_window.py:1393 +#, python-format +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" + +#. it's jid +#: ../src/roster_window.py:1413 +msgid "Rename Contact" +msgstr "Renomear o contacto" + +#: ../src/roster_window.py:1414 +#, python-format +msgid "Enter a new nickname for contact %s" +msgstr "Introduza un alcume novo para o contacto %s" + +#: ../src/roster_window.py:1421 +msgid "Rename Group" +msgstr "Renomear o grupo" + +#: ../src/roster_window.py:1422 +#, python-format +msgid "Enter a new name for group %s" +msgstr "Introduza un nome novo para o grupo %s" + +#: ../src/roster_window.py:1476 +msgid "Remove Group" +msgstr "Eliminar o grupo" + +#: ../src/roster_window.py:1477 +#, python-format +msgid "Do you want to remove group %s from the roster?" +msgstr "Quere eliminar o grupo %s da listaxe?" + +#: ../src/roster_window.py:1478 +msgid "Remove also all contacts in this group from your roster" +msgstr "Eliminar da listaxe tamén todos os contactos dentro do grupo" + +#: ../src/roster_window.py:1502 +msgid "Assign OpenPGP Key" +msgstr "Asignar chave de OpenPGP" + +#: ../src/roster_window.py:1503 +msgid "Select a key to apply to the contact" +msgstr "Seleccione unha chave para lle aplicar ao contacto" + +#: ../src/roster_window.py:1784 ../src/roster_window.py:1960 +msgid "_New group chat" +msgstr "_Grupo de charla novo" + +#: ../src/roster_window.py:1842 +msgid "I would like to add you to my roster" +msgstr "Gustaríame engadilo á miña listaxe de contactos" + +#: ../src/roster_window.py:2005 ../src/roster_window.py:2052 +msgid "Send Group M_essage" +msgstr "Enviar mensaxe ao grupo" + +#: ../src/roster_window.py:2031 +msgid "Re_name" +msgstr "Re_nomear" + +#: ../src/roster_window.py:2058 +msgid "To all users" +msgstr "A todos os usuarios" + +#: ../src/roster_window.py:2061 +msgid "To all online users" +msgstr "A todos os usuarios en liña" + +#: ../src/roster_window.py:2097 +msgid "_Log on" +msgstr "_Conectar" + +#: ../src/roster_window.py:2107 +msgid "Log _off" +msgstr "_Desconectar" + +#: ../src/roster_window.py:2229 ../src/roster_window.py:2300 +msgid "_Change Status Message" +msgstr "_Cambiar a mensaxe de estado" + +#: ../src/roster_window.py:2372 +msgid "Authorization has been sent" +msgstr "Enviouse a autorización" + +#: ../src/roster_window.py:2373 +#, python-format +msgid "Now \"%s\" will know your status." +msgstr "Agora \"%s\" poderá saber o seu estado." + +#: ../src/roster_window.py:2393 +msgid "Subscription request has been sent" +msgstr "Enviouse a solicitude de subscrición" + +#: ../src/roster_window.py:2394 +#, python-format +msgid "If \"%s\" accepts this request you will know his or her status." +msgstr "Se \"%s\" acepta esta solicitude, poderá saber o seu estado." + +#: ../src/roster_window.py:2406 +msgid "Authorization has been removed" +msgstr "Eliminouse a autorización" + +#: ../src/roster_window.py:2407 +#, python-format +msgid "Now \"%s\" will always see you as offline." +msgstr "Agora \"%s\" sempre o/a verá desconectado." + +#: ../src/roster_window.py:2615 +#, python-format +msgid "Contact \"%s\" will be removed from your roster" +msgstr "Eliminarase o contacto \"%s\" da súa listaxe" + +#: ../src/roster_window.py:2619 +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." + +#: ../src/roster_window.py:2624 +msgid "" +"By removing this contact you also by default remove authorization resulting " +"in him or her always seeing you as offline." +msgstr "" +"Ao eliminar este contacto tamén se eliminará a autorización. Este " +"contacto sempre o/a verá desconectado." + +#: ../src/roster_window.py:2627 +msgid "I want this contact to know my status after removal" +msgstr "Quero que este contacto coñeza o meu estado despois da eliminación" + +#. several contact to remove at the same time +#: ../src/roster_window.py:2631 +msgid "Contacts will be removed from your roster" +msgstr "Os contactos eliminaranse da súa listaxe" + +#: ../src/roster_window.py:2635 +#, python-format +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." + +#. TODO: make this string translatable +#. %s is the account name here +#: ../src/roster_window.py:2693 ../src/common/connection.py:587 +#: ../src/common/zeroconf/connection_zeroconf.py:158 +#, python-format +msgid "You will be connected to %s without OpenPGP." +msgstr "Conectarase a %s sen o OpenPGP" + +#: ../src/roster_window.py:2710 +msgid "Passphrase Required" +msgstr "É necesario o contrasinal" + +#: ../src/roster_window.py:2711 +#, python-format +msgid "Enter GPG key passphrase for account %s." +msgstr "Introduza o contrasinal GPG para a conta %s" + +#: ../src/roster_window.py:2716 +msgid "Save passphrase" +msgstr "Gardar o contrasinal" + +#: ../src/roster_window.py:2724 +msgid "Wrong Passphrase" +msgstr "O contrasinal é incorrecto" + +#: ../src/roster_window.py:2725 +msgid "Please retype your GPG passphrase or press Cancel." +msgstr "Por favor, volva escribir o seu contrasinal de GPG ou prema Cancelar." + +#: ../src/roster_window.py:2782 ../src/roster_window.py:2842 +msgid "You are participating in one or more group chats" +msgstr "Está a participar nun ou máis grupos de charlas" + +#: ../src/roster_window.py:2783 ../src/roster_window.py:2843 +msgid "" +"Changing your status to invisible will result in disconnection from those " +"group chats. 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?" + +#: ../src/roster_window.py:2800 +msgid "No account available" +msgstr "A conta non está dispoñíbel" + +#: ../src/roster_window.py:2801 +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." + +#: ../src/roster_window.py:2899 +#, python-format +msgid "\"%(title)s\" by %(artist)s" +msgstr "\"%(title)s\" por %(artist)s" + +#: ../src/roster_window.py:3327 ../src/roster_window.py:3334 +msgid "" +"Messages will only be available for reading them later if you have history " +"enabled." +msgstr "" +"As mensaxes só estarán dispoñíbeis para a súa lectura posterior se ten o " +"historial activado" + +#: ../src/roster_window.py:3912 +msgid "Metacontacts storage not supported by your server" +msgstr "O teu servidor non admite o almacenamento de metacontactos" + +#: ../src/roster_window.py:3914 +msgid "" +"Your server does not support storing metacontacts information. So those " +"information will not be save 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." + +#: ../src/roster_window.py:3956 +msgid "You are about to create a metacontact. Are you sure you want to continue?" +msgstr "Vai crear un metacontacto. Está seguro de que quere continuar?" + +#: ../src/roster_window.py:3958 +msgid "" +"Metacontacts are a way to regroup several contacts in one line. Generaly it " +"is used when the same person has several Jabber accounts or transport " +"accounts." +msgstr "" +"Os metacontactos son unha forma de reagrupar varios contactos nunha liña. " +"Xeralmente se usan cando a mesma persoa ten varias contas de Jabber " +"ou contas de transportes." + +#: ../src/roster_window.py:4125 +#, python-format +msgid "Drop %s in group %s" +msgstr "Deixar %s no grupo %s" + +#: ../src/roster_window.py:4132 +#, python-format +msgid "Make %s and %s metacontacts" +msgstr "Facer %s e %s metacontactos" + +#: ../src/roster_window.py:4319 +msgid "Change Status Message..." +msgstr "Cambiar a mensaxe de estado..." + +#: ../src/systray.py:144 +msgid "_Change Status Message..." +msgstr "_Cambiar a mensaxe de estado..." + +#: ../src/systray.py:234 +msgid "Hide this menu" +msgstr "Ocultar este menú" + +#: ../src/tooltips.py:309 ../src/tooltips.py:492 +msgid "Jabber ID: " +msgstr "ID de Jabber:" + +#: ../src/tooltips.py:312 ../src/tooltips.py:496 +msgid "Resource: " +msgstr "Recurso: " + +#: ../src/tooltips.py:317 +#, python-format +msgid "%(owner_or_admin_or_member)s of this group chat" +msgstr "%(owner_or_admin_or_member)s deste grupo de charla" + +#: ../src/tooltips.py:430 ../src/tooltips.py:610 +msgid "Status: " +msgstr "Estado: " + +#: ../src/tooltips.py:461 +#, python-format +msgid "Last status: %s" +msgstr "Último estado: %s" + +#: ../src/tooltips.py:463 +#, python-format +msgid " since %s" +msgstr " desde %s" + +#. ('both' is the normal sub so we don't show it) +#: ../src/tooltips.py:502 +msgid "Subscription: " +msgstr "Subscrición: " + +#: ../src/tooltips.py:512 +msgid "OpenPGP: " +msgstr "OpenPGP: " + +#: ../src/tooltips.py:566 +msgid "Download" +msgstr "Descarga" + +#: ../src/tooltips.py:572 +msgid "Upload" +msgstr "Subida" + +#: ../src/tooltips.py:579 +msgid "Type: " +msgstr "Tipo: " + +#: ../src/tooltips.py:585 +msgid "Transferred: " +msgstr "Transferido: " + +#: ../src/tooltips.py:588 ../src/tooltips.py:609 +msgid "Not started" +msgstr "Non iniciado" + +#: ../src/tooltips.py:592 +msgid "Stopped" +msgstr "Detido" + +#: ../src/tooltips.py:594 ../src/tooltips.py:597 +msgid "Completed" +msgstr "Completado" + +#: ../src/tooltips.py:601 +msgid "?transfer status:Paused" +msgstr "Pausada" + +#. stalled is not paused. it is like 'frozen' it stopped alone +#: ../src/tooltips.py:605 +msgid "Stalled" +msgstr "Atascado" + +#: ../src/tooltips.py:607 +msgid "Transferring" +msgstr "A transferir" + +#: ../src/tooltips.py:639 +msgid "This service has not yet responded with detailed information" +msgstr "Este servizo non respondeu aínda con información detallada" + +#: ../src/tooltips.py:642 +msgid "" +"This service could not respond with detailed information.\n" +"It is most likely legacy or broken" +msgstr "" +"Este servizo podería non responder con información detallada.\n" +"Posibelmente é antigo ou está roto" + +#: ../src/vcard.py:217 +msgid "?Client:Unknown" +msgstr "Descoñecido" + +#: ../src/vcard.py:219 +msgid "?OS:Unknown" +msgstr "Descoñecido" + +#: ../src/vcard.py:247 ../src/vcard.py:449 +#, python-format +msgid "since %s" +msgstr "desde %s" + +#: ../src/vcard.py:277 +msgid "Affiliation:" +msgstr "Afiliación:" + +#: ../src/vcard.py:285 +msgid "" +"This contact is interested in your presence information, but you are not " +"interested in his/her presence" +msgstr "" +"Este contacto está interesado na información da súa presenza, mais vostede non " +"o está na súa" + +#: ../src/vcard.py:287 +msgid "" +"You are interested in the contact's presence information, but he/she is not " +"interested in yours" +msgstr "" +"Está interesado na información da presenza do contacto, mais el/" +"ela non o está en vostede" + +#: ../src/vcard.py:289 +msgid "You and the contact are interested in each other's presence information" +msgstr "" +"Tanto vostede como o contacto están interesados na información da " +"presenza do outro" + +#. None +#: ../src/vcard.py:291 +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" + +#: ../src/vcard.py:299 +msgid "You are waiting contact's answer about your subscription request" +msgstr "Está a agardar a resposta do contacto sobre a súa solicitude de subscrición" + +#: ../src/vcard.py:311 ../src/vcard.py:338 ../src/vcard.py:482 +msgid " resource with priority " +msgstr " recurso con prioridade " + +#: ../src/common/check_paths.py:33 +msgid "creating logs database" +msgstr "a crear a base de datos de rexistros" + +#: ../src/common/check_paths.py:89 ../src/common/check_paths.py:100 +#: ../src/common/check_paths.py:107 +#, python-format +msgid "%s is file but it should be a directory" +msgstr "%s é un ficheiro mais podería ser un directorio" + +#: ../src/common/check_paths.py:90 ../src/common/check_paths.py:101 +#: ../src/common/check_paths.py:108 ../src/common/check_paths.py:116 +msgid "Gajim will now exit" +msgstr "Gajim pecharase agora" + +#: ../src/common/check_paths.py:115 +#, python-format +msgid "%s is directory but should be file" +msgstr "%s é un directorio mais podería ser un ficheiro" + +#: ../src/common/check_paths.py:131 +#, python-format +msgid "creating %s directory" +msgstr "a crear un directorio %s" + +#: ../src/common/config.py:55 +msgid "Use D-Bus and Notification-Daemon to show notifications" +msgstr "Usar DBus e o notificador Daemon para amosar as notificacións" + +#: ../src/common/config.py:60 +msgid "Time in minutes, after which your status changes to away." +msgstr "Tempo en minutos, despois de cambiar a ausente" + +#: ../src/common/config.py:61 +msgid "Away as a result of being idle" +msgstr "Ausente por inactividade" + +#: ../src/common/config.py:63 +msgid "Time in minutes, after which your status changes to not available." +msgstr "Tempo en minutos, despois de cambiar a non dispoñíbel" + +#: ../src/common/config.py:64 +msgid "Not available as a result of being idle" +msgstr "Non dispoñíbel por inactividade" + +# duda sobre collapsed +#: ../src/common/config.py:82 +msgid "List (space separated) of rows (accounts and groups) that are collapsed." +msgstr "Listaxe (separada por espazos) de filas (contas e grupos) que están caídas." + +#: ../src/common/config.py:87 +msgid "Enable link-local/zeroconf messaging" +msgstr "Activar a mensaxaría de ligazón local / zeroconf" + +#: ../src/common/config.py:90 +msgid "Language used by speller" +msgstr "Idioma que emprega o corrector" + +#: ../src/common/config.py:91 +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' - amosar a hora en cada mensaxe.\n" +"'ás veces' - amosar a hora cada print_ichat_every_foo_minutes minutos.\n" +"'nunca' - nunca amosar a hora." + +#: ../src/common/config.py:92 +msgid "" +"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 less 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'" + +#: ../src/common/config.py:95 +msgid "Treat * / _ pairs as possible formatting characters." +msgstr "Tratar os pares de * / _ como posíbeis caracteres de formato." + +#: ../src/common/config.py:96 +msgid "If True, do not remove */_ . So *abc* will be bold but with * * not removed." +msgstr "" +"Se é verdadeiro, non elimina */_ . Daquela, *abc* será negra, mais sen eliminar " +"* *" + +#: ../src/common/config.py:99 +msgid "" +"Uses ReStructured text markup for HTML, plus ascii formatting if selected. " +"(If you want to use this, install docutils)" +msgstr "" +"Usa a sintaxe de ReStructured para HTML, mais o formato ascii se está " +"seleccionado (se quere usalo, instale o docutils)" + +#: ../src/common/config.py:108 +msgid "" +"Character to add after nickname when using nick completion (tab) in group " +"chat." +msgstr "" +"Carácter para engadir despois do alcume cando se usa o completado de alcume (tab) nos " +"grupos de charla." + +#: ../src/common/config.py:109 +msgid "" +"Character to propose to add after desired nickname when desired nickname is " +"used by someone else in group chat." +msgstr "" +"Carácter para propor para engadir logo do alcume desexado cando alguén está a " +"empregalo no grupo de conversa." + +#: ../src/common/config.py:142 +msgid "Add * and [n] in roster title?" +msgstr "Engadir * e [n] no título da listaxe?" + +#: ../src/common/config.py:143 +msgid "" +"How many lines to remember from previous conversation when a chat tab/window " +"is reopened." +msgstr "" +"Cantas liñas quere lembrar da última charla cando se volve abrir " +"un separador/fiestra de charla" + +#: ../src/common/config.py:144 +msgid "How many minutes should last lines from previous conversation last." +msgstr "Cantos minutos debe durar a última liña da conversa anterior." + +#: ../src/common/config.py:145 +msgid "" +"Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ " +"Client default behaviour)." +msgstr "" +"Envíe un mensaxe con Ctrl+Intro e con Intro faise unha liña nova (como " +"o cliente de Mirabilis ICQ)" + +#: ../src/common/config.py:147 +msgid "How many lines to store for Ctrl+KeyUP." +msgstr "Cantas liñas desexa almacenar para Ctrl+Arriba." + +#: ../src/common/config.py:150 +#, python-format +msgid "" +"Either custom url with %s in it where %s is the word/phrase or 'WIKTIONARY' " +"which means use wiktionary." +msgstr "" +"URL personalizada con %s onde %s é a palabra/frase ou 'WIKTIONARY' que " +"significa usar o wiktionary" + +#: ../src/common/config.py:153 +msgid "If checked, Gajim can be controlled remotely using gajim-remote." +msgstr "Se está marcado, o Gajim pode controlarse remotamente ao usar o gajim-remote." + +#: ../src/common/config.py:154 +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 da" +"conexión da rede." + +#: ../src/common/config.py:155 +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." + +#: ../src/common/config.py:156 +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." + +#: ../src/common/config.py:158 +msgid "" +"When not printing time for every message (print_time==sometimes), print it " +"every x minutes." +msgstr "" +"Cando non se amosa a hora en cada mensaxe (print_time==sometimes), móstraa " +"cada x minutos." + +#: ../src/common/config.py:159 +msgid "Ask before closing a group chat tab/window." +msgstr "Preguntar antes de pechar unha fiestra/separador da sala de charla." + +#: ../src/common/config.py:160 +msgid "" +"Always ask before closing group chat tab/window in this space separated list " +"of group chat jids." +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." + +#: ../src/common/config.py:161 +msgid "" +"Never ask before closing group chat tab/window in this space separated list " +"of group chat jids." +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." + +#: ../src/common/config.py:164 +msgid "" +"Overrides the host we send for File Transfer in case of address translation/" +"port forwarding." +msgstr "" +"Elimínase o host que enviamos para a transferencia dun ficheiro caso " +"de tradución do enderezo ou o redirección de portos." + +#: ../src/common/config.py:166 +msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." +msgstr "Segundo o estándar IEC, KiB = 1024 bytes, KB = 1000 bytes." + +#: ../src/common/config.py:168 +msgid "Notify of events in the system trayicon." +msgstr "Notifica acontecementos na área de notificación." + +#: ../src/common/config.py:174 +msgid "Show tab when only one conversation?" +msgstr "Quere amosar o separador cando só hai unha conversa?" + +#: ../src/common/config.py:175 +#, fuzzy +msgid "Show tabbed notebook border in chat windows?" +msgstr "Quere amosar o bordo a pestanexar do caderno de notas nas fiestras charla?" + +#: ../src/common/config.py:176 +msgid "Show close button in tab?" +msgstr "Quere amosar o botón de pechar no tabulador?" + +#: ../src/common/config.py:189 +msgid "A semicolon-separated list of words that will be highlighted in group chats." +msgstr "" +"Separarase por ';'unha listaxe de palabras que serán resaltadas nos grupos " +"de charla." + +#: ../src/common/config.py:190 +msgid "" +"If True, quits Gajim when X button of Window Manager is clicked. This " +"setting is taken into account only if trayicon is used." +msgstr "" +"Se é verdadeiro, peche o Gajim cando se preme o botón X do xestor de fiestras." +" Esta preferencia só se activa se se usa a icona da área de " +"notificación. " + +#: ../src/common/config.py:191 +msgid "If True, Gajim registers for xmpp:// on each startup." +msgstr "Se é verdadeiro, o Gajim rexistra xmpp:// en cada inicio." + +#: ../src/common/config.py:192 +msgid "" +"If True, 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." + +#: ../src/common/config.py:193 +msgid "" +"If True, Gajim will display the status message, if not empty, for every " +"contact under the contact name in roster window." +msgstr "" +"Se é verdadeiro, o Gajim amosará a mensaxe de estado, se non está baleiro, para cada " +"contacto baixo o seu nome de contacto na fiestra da listaxe." + +#: ../src/common/config.py:195 +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." + +#: ../src/common/config.py:196 +msgid "" +"If False, Gajim will no longer print status line in chats when a contact " +"changes his or her status and/or his or her 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" + +#: ../src/common/config.py:197 +msgid "" +"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." +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." + +#: ../src/common/config.py:199 +msgid "Background color of contacts when they just signed in." +msgstr "Cor de fondo para os contactos que acaban de se conectar." + +#: ../src/common/config.py:200 +msgid "Background color of contacts when they just signed out." +msgstr "Cor de fondo para os contactos que acaban de se desconectar." + +#: ../src/common/config.py:202 +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." + +#: ../src/common/config.py:203 +msgid "Don't show avatar for the transport itself." +msgstr "Non amosar a circunstancia para o transporte en si mesmo" + +#: ../src/common/config.py:204 +msgid "Don't show roster in the system taskbar." +msgstr "Non amosar a listaxe na barra de tarefas." + +#: ../src/common/config.py:205 +msgid "" +"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." +msgstr "" +"Se é verdadeiro e as versións instaladas de GTK+ e PyGTK son, cando menos, 2.8, resalta " +"a fiestra cando hai eventos pendentes." + +#: ../src/common/config.py:207 +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." + +#. always, never, peracct, pertype should not be translated +#: ../src/common/config.py:210 +msgid "" +"Controls the window where new messages are placed.\n" +"'always' - All messages are sent to a single window.\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. Note, changing this option requires restarting Gajim before " +"the changes will take effect." +msgstr "" +"Controla a fiestra onde se colocan as novas mensaxes.\n" +"'sempre' - Todas as mensaxes son enviadas a unha fiestra única.\n" +"'nunca' - Todas as mensaxes obteñen a súa propia fiestra.\n" +"'porconta' - As mensaxes para cada conta envíanse a unha fiestra específica.\n" +"'portipo' - Cada tipo de mensaxe (por exemplo, charlas vs. grupos de " +"charla) envíase a unha fiestra específica. Nota: cambie esta opción " +"require reiniciar o Gajim para que os cambios teñan efecto." + +#: ../src/common/config.py:211 +msgid "If False, you will no longer see the avatar in the chat window." +msgstr "Se é falso, non verá máis a circunstancia na fiestra de charla." + +#: ../src/common/config.py:212 +msgid "If True, pressing the escape key closes a tab/window." +msgstr "Se é verdadeiro, ao premer a tecla escape pecha unha fiestra/separador." + +#: ../src/common/config.py:213 +msgid "Hides the buttons in group chat window." +msgstr "Oculta os botóns nas fiestras de grupo de charla." + +#: ../src/common/config.py:214 +msgid "Hides the buttons in two persons chat window." +msgstr "Oculta os botóns nas fiestras de charla de dúas persoas." + +#: ../src/common/config.py:215 +msgid "Hides the banner in a group chat window" +msgstr "Oculta o báner nunha fiestra de grupo de charla" + +#: ../src/common/config.py:216 +msgid "Hides the banner in two persons chat window" +msgstr "Oculta o báner nunha fiestra de charla de dúas persoas." + +#: ../src/common/config.py:217 +msgid "Hides the group chat occupants list in group chat window." +msgstr "Oculta os ocupantes nas fiestras de grupo de charla." + +#: ../src/common/config.py:218 +msgid "" +"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." +msgstr "" +"Nunha charla, amosa o alcume ao comezo nunha soa liña cando " +"non é a mesma persoa a que enviou a última mensaxe." + +#: ../src/common/config.py:219 +msgid "Indentation when using merge consecutive nickame." +msgstr "Sangría cando se use unha combinación de alcumes consecutivos." + +#: ../src/common/config.py:220 +msgid "List of colors 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." + +#: ../src/common/config.py:221 +msgid "Ctrl-Tab go to next composing tab when none is unread." +msgstr "" +"Ctrl-Tab conduce ao próximo separador de composición cando ningún está sen " +"ler." + +#: ../src/common/config.py:222 +msgid "" +"Should we show the confirm metacontacts creation dialog or not? Empty string " +"means we 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á." + +#: ../src/common/config.py:223 +msgid "" +"If True, you will be able to set a negative priority to your account in " +"account modification window. BE CAREFULL, when you are logged in with a " +"negative priority, you will NOT receive any message from your server." +msgstr "" +"Se é verdadeiro, poderá definir unha prioridade negativa á súa conta na " +"fiestra de modificación de conta. TEÑA COIDADO, cando está conectado cunha " +"prioridade negativa, NON recibirá ningunha mensaxe do seu servidor." + +#: ../src/common/config.py:234 +msgid "" +"Priority will change automatically according to your status. Priorities are " +"defined in autopriority_* options." +msgstr "" +"A prioridade cambiará automaticamente segundo o seu estado. As prioridades " +"están definidas nas opcións de autoprioridade_*" + +#. yes, no, ask +#: ../src/common/config.py:263 +msgid "Jabberd2 workaround" +msgstr "Corrección Jabberd2" + +#: ../src/common/config.py:267 +msgid "" +"If checked, Gajim will use your IP and proxies defined in " +"file_transfer_proxies option for file transfer." +msgstr "" +"Se isto está marcado, o Gajim usará o seu IP e proxies que se definen na opción " +"file_transfer_proxies para a súa transferencia." + +#: ../src/common/config.py:326 +msgid "Is OpenPGP enabled for this contact?" +msgstr "Está o OpenPGP activado para este contacto?" + +#: ../src/common/config.py:327 ../src/common/config.py:330 +msgid "Language for which we want to check misspelled words" +msgstr "Lingua en que se comprobarán os erros ortográficos" + +#: ../src/common/config.py:336 +msgid "all or space separated status" +msgstr "estado separado por espazos ou all" + +#: ../src/common/config.py:337 +msgid "'yes', 'no', or 'both'" +msgstr "'si', 'non' ou 'ambos'" + +#: ../src/common/config.py:338 ../src/common/config.py:340 +#: ../src/common/config.py:341 ../src/common/config.py:344 +#: ../src/common/config.py:345 +msgid "'yes', 'no' or ''" +msgstr "'si', 'non' ou ''" + +#: ../src/common/config.py:351 +msgid "Sleeping" +msgstr "A durmir" + +#: ../src/common/config.py:352 +msgid "Back soon" +msgstr "Volvo axiña" + +#: ../src/common/config.py:352 +msgid "Back in some minutes." +msgstr "Volvo nuns minutos." + +#: ../src/common/config.py:353 +msgid "Eating" +msgstr "A comer" + +#: ../src/common/config.py:353 +msgid "I'm eating, so leave me a message." +msgstr "Estou a comer, déixeme unha mensaxe." + +#: ../src/common/config.py:354 +msgid "Movie" +msgstr "Filme" + +#: ../src/common/config.py:354 +msgid "I'm watching a movie." +msgstr "Estou a ver un filme." + +#: ../src/common/config.py:355 +msgid "Working" +msgstr "A traballar" + +#: ../src/common/config.py:355 +msgid "I'm working." +msgstr "Estou a traballar." + + +#: ../src/common/config.py:356 +msgid "Phone" +msgstr "Teléfono" + +#: ../src/common/config.py:356 +msgid "I'm on the phone." +msgstr "Estou a falar por teléfono." + +#: ../src/common/config.py:357 +msgid "Out" +msgstr "Fóra" + +#: ../src/common/config.py:357 +msgid "I'm out enjoying life." +msgstr "Estou fóra a gozar da vida." + +#: ../src/common/config.py:361 +msgid "I'm available." +msgstr "Estou dispoñíbel." + +#: ../src/common/config.py:362 +msgid "I'm free for chat." +msgstr "Estou libre para falar." + +#: ../src/common/config.py:364 +msgid "I'm not available." +msgstr "Non estou dispoñíbel." + +#: ../src/common/config.py:365 +msgid "Do not disturb." +msgstr "Non molestar." + +#: ../src/common/config.py:366 ../src/common/config.py:367 +msgid "Bye!" +msgstr "Adeus!" + +#: ../src/common/config.py:376 +msgid "" +"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." +msgstr "" +"Son para reproducir cando unha mensaxe de grupo de charla contén unha das " +"palabras de muc_highlight_words, ou cuando unha mensaxe dun grupo de charla " +"contén o teu alcume." + +#: ../src/common/config.py:377 +msgid "Sound to play when any MUC message arrives." +msgstr "Son para reproducir cando chega calquera mensaxe MUC" + +#: ../src/common/config.py:386 ../src/common/optparser.py:197 +msgid "green" +msgstr "verde" + +#: ../src/common/config.py:390 ../src/common/optparser.py:183 +msgid "grocery" +msgstr "ultramariño" + +#: ../src/common/config.py:394 +msgid "human" +msgstr "humano" + +#: ../src/common/config.py:398 +msgid "marine" +msgstr "mariño" + +#: ../src/common/connection_handlers.py:52 +#: ../src/common/zeroconf/connection_handlers_zeroconf.py:44 +msgid "Unable to load idle module" +msgstr "Non se pode cargar o módulo inactivo" + +#: ../src/common/connection_handlers.py:177 +#: ../src/common/zeroconf/connection_handlers_zeroconf.py:233 +msgid "Wrong host" +msgstr "Host errado" + +#: ../src/common/connection_handlers.py:177 +#: ../src/common/zeroconf/connection_handlers_zeroconf.py:233 +msgid "" +"The host you configured as the ft_override_host_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." + +#: ../src/common/connection_handlers.py:590 +#, python-format +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" + +#: ../src/common/connection_handlers.py:1523 +#, python-format +msgid "Nickname not allowed: %s" +msgstr "Alcume non permitido: %s" + +#. password required to join +#. we are banned +#. group chat does not exist +#: ../src/common/connection_handlers.py:1585 +#: ../src/common/connection_handlers.py:1588 +#: ../src/common/connection_handlers.py:1591 +#: ../src/common/connection_handlers.py:1594 +#: ../src/common/connection_handlers.py:1597 +#: ../src/common/connection_handlers.py:1600 +#: ../src/common/connection_handlers.py:1608 +msgid "Unable to join group chat" +msgstr "Non se puido entrar no grupo de charla" + +#: ../src/common/connection_handlers.py:1586 +msgid "A password is required to join this group chat." +msgstr "É necesario un contrasinal para entrar a este grupo de charla." + +#: ../src/common/connection_handlers.py:1589 +msgid "You are banned from this group chat." +msgstr "Está expulsado deste grupo de charla." + +#: ../src/common/connection_handlers.py:1592 +msgid "Such group chat does not exist." +msgstr "Non existe o grupo de charla." + +#: ../src/common/connection_handlers.py:1595 +msgid "Group chat creation is restricted." +msgstr "A creación de grupos de charla está restrinxida." + +#: ../src/common/connection_handlers.py:1598 +msgid "Your registered nickname must be used." +msgstr "É necesario usar o alcume rexistrado." + +#: ../src/common/connection_handlers.py:1601 +msgid "You are not in the members list." +msgstr "Non está na listaxe de membros" + +#: ../src/common/connection_handlers.py:1609 +msgid "" +"Your desired nickname 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:" + +#: ../src/common/connection_handlers.py:1659 +msgid "I would like to add you to my roster." +msgstr "Gustaríame engadilo á miña listaxe de contactos" + +#. BE CAREFUL: no con.updateRosterItem() in a callback +#: ../src/common/connection_handlers.py:1680 +#, python-format +msgid "we are now subscribed to %s" +msgstr "estamos agora subscritos a %s" + +#: ../src/common/connection_handlers.py:1682 +#, python-format +msgid "unsubscribe request from %s" +msgstr "solicitude de eliminación de subscrición de %s" + +#: ../src/common/connection_handlers.py:1684 +#, python-format +msgid "we are now unsubscribed from %s" +msgstr "xa non estamos subscritos a %s" + +#: ../src/common/connection_handlers.py:1854 +#, python-format +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" + +#: ../src/common/connection.py:175 +#: ../src/common/zeroconf/connection_zeroconf.py:196 +#, python-format +msgid "Connection with account \"%s\" has been lost" +msgstr "Perdeuse a conexión da conta \"%s\"" + +#: ../src/common/connection.py:176 +msgid "Reconnect manually." +msgstr "Reconectar manualmente." + +#: ../src/common/connection.py:187 ../src/common/connection.py:214 +#, python-format +msgid "Transport %s answered wrongly to register request: %s" +msgstr "O transporte %s respondeu incorrectamente á solicitude de rexistro: %s" + +#. wrong answer +#: ../src/common/connection.py:213 +msgid "Invalid answer" +msgstr "A resposta non é válida" + +#: ../src/common/connection.py:405 ../src/common/connection.py:440 +#: ../src/common/connection.py:889 +#: ../src/common/zeroconf/connection_zeroconf.py:217 +#, python-format +msgid "Could not connect to \"%s\"" +msgstr "Non se pode conectar a \"%s\"" + +#: ../src/common/connection.py:419 +#, python-format +msgid "Connected to server %s:%s with %s" +msgstr "Conectado ao servidor %s:%s con %s" + +#: ../src/common/connection.py:441 +msgid "Check your connection or try again later" +msgstr "Comprobe a súa conexión ou probe máis tarde" + +#: ../src/common/connection.py:467 +#, python-format +msgid "Authentication failed with \"%s\"" +msgstr "Fallou a autenticación con \"%s\"" + +#: ../src/common/connection.py:468 +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." + +#. We didn't set a passphrase +#: ../src/common/connection.py:585 +#: ../src/common/zeroconf/connection_zeroconf.py:156 +msgid "OpenPGP passphrase was not given" +msgstr "Non se facilitou a chave de OpenPGP" + +#. do not show I'm invisible! +#: ../src/common/connection.py:627 +msgid "invisible" +msgstr "invisíbel" + +#: ../src/common/connection.py:628 +msgid "offline" +msgstr "desconectado" + +#: ../src/common/connection.py:629 +#, python-format +msgid "I'm %s" +msgstr "Estou %s" + +#. we're not english +#. one in locale and one en +#: ../src/common/connection.py:720 +msgid "[This message is *encrypted* (See :JEP:`27`]" +msgstr "[Esta mensaxe está *cifrada* (Mira :JEP:`27`]" + +#: ../src/common/connection.py:776 +#: ../src/common/zeroconf/connection_zeroconf.py:397 +#, python-format +msgid "" +"Subject: %s\n" +"%s" +msgstr "" +"Asunto: %s\n" +"%s" + +#: ../src/common/connection.py:915 +msgid "Not fetched because of invisible status" +msgstr "Non se conseguiu debido ao estado invisíbel" + +#. only say that to non Windows users +#: ../src/common/dbus_support.py:33 +msgid "D-Bus python bindings are missing in this computer" +msgstr "As ligazóns D-Bus de python non se achan neste computador" + +#: ../src/common/dbus_support.py:34 +msgid "D-Bus capabilities of Gajim cannot be used" +msgstr "Non se poden empregar as capacidades D-Bus de Gajim" + +#: ../src/common/exceptions.py:22 +msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..." +msgstr "falta a dependencia pysqlite2 (tcc python-pysqlite2). A saír..." + +#: ../src/common/exceptions.py:30 +msgid "Service not available: Gajim is not running, or remote_control is False" +msgstr "" +"O servizo non está dispoñíbel: o Gajim non se está a executar, ou remote_control está en " +"Falso" + +#: ../src/common/exceptions.py:38 +msgid "D-Bus is not present on this machine or python module is missing" +msgstr "D-Bus non está presente nesta máquina ou falta o módulo python" + +#: ../src/common/exceptions.py:46 +msgid "" +"Session bus is not available.\n" +"Try reading http://trac.gajim.org/wiki/GajimDBus" +msgstr "" +"O bus da sesión non está dispoñíbel.\n" +"Probe a ler http://trac.gajim.org/wiki/GajimDBus" + +#: ../src/common/fuzzyclock.py:42 +msgid "one" +msgstr "unha" + +#: ../src/common/fuzzyclock.py:42 +msgid "two" +msgstr "dúas" + +#: ../src/common/fuzzyclock.py:42 +msgid "three" +msgstr "tres" + +#: ../src/common/fuzzyclock.py:42 +msgid "four" +msgstr "catro" + +#: ../src/common/fuzzyclock.py:42 +msgid "five" +msgstr "cinco" + +#: ../src/common/fuzzyclock.py:42 +msgid "six" +msgstr "seis" + +#: ../src/common/fuzzyclock.py:43 +msgid "seven" +msgstr "sete" + +#: ../src/common/fuzzyclock.py:43 +msgid "eight" +msgstr "oito" + +#: ../src/common/fuzzyclock.py:43 +msgid "nine" +msgstr "nove" + +#: ../src/common/fuzzyclock.py:43 +msgid "ten" +msgstr "dez" + +#: ../src/common/fuzzyclock.py:43 +msgid "eleven" +msgstr "once" + +#: ../src/common/fuzzyclock.py:44 +msgid "twelve" +msgstr "doce" + +#. Strings to use for the output. %0 will be replaced with the preceding hour (e.g. "x PAST %0"), %1 with the coming hour (e.g. "x TO %1). ''' +#. A "singular-form". It is used when talking about hour 0 +#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55 +msgid "%0 o'clock" +msgstr "%0 en punto" + +#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55 +msgid "five past %0" +msgstr "%0 e cinco" + +#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:56 +msgid "ten past %0" +msgstr "%0 e dez" + +#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:56 +msgid "quarter past %0" +msgstr "%0 e cuarto" + +#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:57 +msgid "twenty past %0" +msgstr "%0 e vinte" + +#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:57 +msgid "twenty five past %0" +msgstr "%0 e vinte e cinco" + +#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:58 +msgid "half past %0" +msgstr "%0 e media" + +#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:58 +msgid "twenty five to %1" +msgstr "%1 menos vinte e cinco" + +#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:59 +msgid "twenty to %1" +msgstr "%1 menos vinte" + +#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:59 +msgid "quarter to %1" +msgstr "%1 menos cuarto" + +#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:60 +msgid "ten to %1" +msgstr "%1 menos dez" + +#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:60 +msgid "five to %1" +msgstr "%1 menos cinco" + +#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60 +msgid "%1 o'clock" +msgstr "%1 en punto" + +#: ../src/common/fuzzyclock.py:62 +msgid "Night" +msgstr "Noite" + +#: ../src/common/fuzzyclock.py:62 +msgid "Early morning" +msgstr "Madrugada" + +#: ../src/common/fuzzyclock.py:62 +msgid "Morning" +msgstr "Mañá" + +#: ../src/common/fuzzyclock.py:62 +msgid "Almost noon" +msgstr "Media mañá" + +#: ../src/common/fuzzyclock.py:63 +msgid "Noon" +msgstr "Mediodía" + +#: ../src/common/fuzzyclock.py:63 +msgid "Afternoon" +msgstr "Tarde" + +#: ../src/common/fuzzyclock.py:63 +msgid "Evening" +msgstr "Serán" + +#: ../src/common/fuzzyclock.py:63 +msgid "Late evening" +msgstr "Noite" + +#: ../src/common/fuzzyclock.py:65 +msgid "Start of week" +msgstr "Comezo da semana" + +#: ../src/common/fuzzyclock.py:65 +msgid "Middle of week" +msgstr "Metade de semana" + +#: ../src/common/fuzzyclock.py:65 +msgid "End of week" +msgstr "Final de semana" + +#: ../src/common/fuzzyclock.py:66 +msgid "Weekend!" +msgstr "Fin de semana!" + +#: ../src/common/helpers.py:105 +msgid "Invalid character in username." +msgstr "Hai un caracter non válido no nome de usuario." + +#: ../src/common/helpers.py:110 +msgid "Server address required." +msgstr "É necesario o enderezo do servidor." + +#: ../src/common/helpers.py:115 +msgid "Invalid character in hostname." +msgstr "Carácter non válido no nome do host." + +#: ../src/common/helpers.py:121 +msgid "Invalid character in resource." +msgstr "Carácter non válido no recurso." + +#. GiB means gibibyte +#: ../src/common/helpers.py:161 +#, python-format +msgid "%s GiB" +msgstr "%s GiB" + +#. GB means gigabyte +#: ../src/common/helpers.py:164 +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#. MiB means mibibyte +#: ../src/common/helpers.py:168 +#, python-format +msgid "%s MiB" +msgstr "%s MiB" + +#. MB means megabyte +#: ../src/common/helpers.py:171 +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#. KiB means kibibyte +#: ../src/common/helpers.py:175 +#, python-format +msgid "%s KiB" +msgstr "%s KiB" + +#. KB means kilo bytes +#: ../src/common/helpers.py:178 +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#. B means bytes +#: ../src/common/helpers.py:181 +#, python-format +msgid "%s B" +msgstr "%s B" + +#: ../src/common/helpers.py:210 +msgid "_Busy" +msgstr "_Ocupado" + +#: ../src/common/helpers.py:212 +msgid "Busy" +msgstr "Ocupado" + +#: ../src/common/helpers.py:215 +msgid "_Not Available" +msgstr "_Non dispoñíbel" + +#: ../src/common/helpers.py:220 +msgid "_Free for Chat" +msgstr "_Libre para falar" + +#: ../src/common/helpers.py:222 +msgid "Free for Chat" +msgstr "Libre para falar" + +#: ../src/common/helpers.py:225 +msgid "_Available" +msgstr "En liñ_a" + +#: ../src/common/helpers.py:227 +msgid "Available" +msgstr "En líña" + +#: ../src/common/helpers.py:229 +msgid "Connecting" +msgstr "Conectando" + +#: ../src/common/helpers.py:232 +msgid "A_way" +msgstr "A_usente" + +#: ../src/common/helpers.py:237 +msgid "_Offline" +msgstr "D_esconectado" + +#: ../src/common/helpers.py:239 +msgid "Offline" +msgstr "Desconectado" + +#: ../src/common/helpers.py:242 +msgid "_Invisible" +msgstr "_Invisíbel" + +#: ../src/common/helpers.py:248 +msgid "?contact has status:Unknown" +msgstr "Descoñecido" + +#: ../src/common/helpers.py:250 +msgid "?contact has status:Has errors" +msgstr "Ten erros" + +#: ../src/common/helpers.py:255 +msgid "?Subscription we already have:None" +msgstr "Ningunha" + +#: ../src/common/helpers.py:257 +msgid "To" +msgstr "A" + +#: ../src/common/helpers.py:261 +msgid "Both" +msgstr "Ambos" + +#: ../src/common/helpers.py:269 +msgid "?Ask (for Subscription):None" +msgstr "Ningunha" + +#: ../src/common/helpers.py:271 +msgid "Subscribe" +msgstr "_Engadir" + +#: ../src/common/helpers.py:280 +msgid "?Group Chat Contact Role:None" +msgstr "Ningún" + +#: ../src/common/helpers.py:283 +msgid "Moderators" +msgstr "Moderadores" + +#: ../src/common/helpers.py:285 +msgid "Moderator" +msgstr "Moderador" + +#: ../src/common/helpers.py:288 +msgid "Participants" +msgstr "Participantes" + +#: ../src/common/helpers.py:290 +msgid "Participant" +msgstr "Participante" + +#: ../src/common/helpers.py:293 +msgid "Visitors" +msgstr "Visitantes" + +#: ../src/common/helpers.py:295 +msgid "Visitor" +msgstr "Visitante" + +#: ../src/common/helpers.py:301 +msgid "?Group Chat Contact Affiliation:None" +msgstr "Ningún" + +#: ../src/common/helpers.py:303 +msgid "Owner" +msgstr "Propietario" + +#: ../src/common/helpers.py:305 +msgid "Administrator" +msgstr "Administrador" + +#: ../src/common/helpers.py:307 +msgid "Member" +msgstr "Membro" + +#: ../src/common/helpers.py:346 +msgid "is paying attention to the conversation" +msgstr "está a prestar atención á conversa" + +#: ../src/common/helpers.py:348 +msgid "is doing something else" +msgstr "está a facer algo máis" + +#: ../src/common/helpers.py:350 +msgid "is composing a message..." +msgstr "está a escribir..." + +#. paused means he or she was compoing but has stopped for a while +#: ../src/common/helpers.py:353 +msgid "paused composing a message" +msgstr "Parou de escribir" + +#: ../src/common/helpers.py:355 +msgid "has closed the chat window or tab" +msgstr "pechou a fiestra de charla" + +#: ../src/common/helpers.py:881 +#, python-format +msgid " %d unread message" +msgid_plural " %d unread messages" +msgstr[0] "%d mensaxe sen ler" +msgstr[1] "%d mensaxes sen ler" + +#: ../src/common/helpers.py:887 +#, python-format +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" + +#: ../src/common/helpers.py:893 +#, python-format +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" + +#: ../src/common/helpers.py:899 +#, python-format +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" + +#: ../src/common/helpers.py:909 ../src/common/helpers.py:911 +#, python-format +msgid "Gajim - %s" +msgstr "Gajim - %s" + +#. we talk about a file +#: ../src/common/optparser.py:60 +#, python-format +msgid "error: cannot open %s for reading" +msgstr "erro: non se pode abrir %s para lectura" + +#: ../src/common/optparser.py:183 +msgid "gtk+" +msgstr "gtk+" + +#: ../src/common/optparser.py:192 ../src/common/optparser.py:193 +msgid "cyan" +msgstr "ciano" + +#: ../src/common/optparser.py:302 +msgid "migrating logs database to indeces" +msgstr "migrando os rexistros da base de datos aos índices" + +#: ../src/common/passwords.py:86 +#, python-format +msgid "Gajim account %s" +msgstr "Conta de Gajim %s" + +#: ../src/common/zeroconf/client_zeroconf.py:189 +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." + +#: ../src/common/zeroconf/client_zeroconf.py:205 +msgid "Connection to host could not be established" +msgstr "Non foi posíbel estabelecer a conexión ao host" + +#: ../src/common/zeroconf/client_zeroconf.py:334 +msgid "Connection to host could not be established: Timeout while sending data." +msgstr "Non foi posíbel estabelecer a conexión ao host: expirou cando enviaba a información." + +#: ../src/common/zeroconf/client_zeroconf.py:629 +msgid "Contact is offline. Your message could not be sent." +msgstr "O contacto está desconectado. A súa mensaxe non se puido enviar." + +#: ../src/common/zeroconf/connection_zeroconf.py:197 +msgid "To continue sending and receiving messages, you will need to reconnect." +msgstr "Para continuar a enviar e recibir mensaxes, precisa volver conectarse." + +#: ../src/common/zeroconf/connection_zeroconf.py:207 +msgid "Avahi error" +msgstr "Erro de Avahi" + +#: ../src/common/zeroconf/connection_zeroconf.py:207 +#, python-format +msgid "" +"%s\n" +"Link-local messaging might not work properly." +msgstr "" +"%s\n" +"A mensaxaría de ligazón local podería non funcionar correctamente." + +#: ../src/common/zeroconf/connection_zeroconf.py:218 +msgid "Please check if Avahi is installed." +msgstr "Por favor, comprobe se o Avahi está instalado." + +#: ../src/common/zeroconf/connection_zeroconf.py:227 +#: ../src/common/zeroconf/connection_zeroconf.py:231 +msgid "Could not start local service" +msgstr "Non foi posíbel iniciar o servizo local" + +#: ../src/common/zeroconf/connection_zeroconf.py:228 +#, python-format +msgid "Unable to bind to port %d." +msgstr "Non foi posíbel ligar ao porto %d." + +#: ../src/common/zeroconf/connection_zeroconf.py:232 +#: ../src/common/zeroconf/connection_zeroconf.py:325 +msgid "Please check if avahi-daemon is running." +msgstr "Por favor, comprobe se o avahi-daemon está en execución." + +#: ../src/common/zeroconf/connection_zeroconf.py:324 +#, python-format +msgid "Could not change status of account \"%s\"" +msgstr "Non foi posíbel cambiar o estado da conta \"%s\"" + +#: ../src/common/zeroconf/connection_zeroconf.py:341 +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 " + +#. we're not english +#: ../src/common/zeroconf/connection_zeroconf.py:353 +msgid "[This message is encrypted]" +msgstr "[Esta mensaxe está cifrada]" + +#: ../src/common/zeroconf/zeroconf.py:180 +#, python-format +msgid "Error while adding service. %s" +msgstr "Erro ao engadir o servizo. %s" + diff --git a/po/hr.po b/po/hr.po index 69b1e60b3..6cab23036 100644 --- a/po/hr.po +++ b/po/hr.po @@ -1,18 +1,22 @@ -# Croatian translations for gajim. -# Copyright (C) 2006 RiLinux +# Croatian translations for Gajim. +# Copyright (C) 2007 RiLinux # This file is distributed under the same license as the gajim package. -# Adrian C. , 2006. +# Adrian C. , 2007. # Deni B. , 2006. # Armando V. 2006. # Vedran M. 2006. # -#: ../src/gajim-remote.py:202 ../src/gajim-remote.py:209 +#: ../src/chat_control.py:1224 ../src/gajim-remote.py:203 +#: ../src/gajim-remote.py:210 ../src/gajim-remote.py:236 +#: ../src/gajim-remote.py:237 ../src/gajim-remote.py:243 +#: ../src/gajim-remote.py:244 ../src/gajim-remote.py:245 +#: ../src/gajim-remote.py:246 msgid "" msgstr "" -"Project-Id-Version: gajim 0.11\n" +"Project-Id-Version: gajim 0.11.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-12-18 09:32+0100\n" -"PO-Revision-Date: 2006-12-07 20:05+0100\n" +"POT-Creation-Date: 2007-05-29 21:17+0200\n" +"PO-Revision-Date: 2007-05-26 22:10+0100\n" "Last-Translator: Adrian C. \n" "Language-Team: Croatian\n" "MIME-Version: 1.0\n" @@ -69,8 +73,9 @@ msgid "_Status" msgstr "_Status" #: ../data/glade/account_creation_wizard_window.glade.h:1 +#, fuzzy msgid "" -"Account is being created\n" +"Connecting to server\n" "\n" "Please wait..." msgstr "" @@ -87,51 +92,65 @@ msgid "Please fill in the data for your new account" msgstr "Molimo popunite podatke za vaš novi korisnički račun" #: ../data/glade/account_creation_wizard_window.glade.h:6 +msgid "Please select a server" +msgstr "" + +#: ../data/glade/account_creation_wizard_window.glade.h:7 msgid "Click to see features (like MSN, ICQ transports) of jabber servers" msgstr "" "Kliknite da vidite mogućnosti (kao što su MSN, ICQ transporti od jabber " "servera" -#: ../data/glade/account_creation_wizard_window.glade.h:7 +#: ../data/glade/account_creation_wizard_window.glade.h:8 msgid "Connect when I press Finish" msgstr "Spoji se kada pritisnem Završi" -#: ../data/glade/account_creation_wizard_window.glade.h:8 +#: ../data/glade/account_creation_wizard_window.glade.h:9 msgid "Gajim: Account Creation Wizard" msgstr "Gajim: Čarobnjak za Stvaranje Računa" -#: ../data/glade/account_creation_wizard_window.glade.h:9 +#: ../data/glade/account_creation_wizard_window.glade.h:10 msgid "I already have an account I want to use" msgstr "Već imam račun koji želim koristiti" -#: ../data/glade/account_creation_wizard_window.glade.h:10 +#: ../data/glade/account_creation_wizard_window.glade.h:11 msgid "I want to _register for a new account" msgstr "Želim se _registrirati novi račun" -#: ../data/glade/account_creation_wizard_window.glade.h:11 -#: ../data/glade/account_modification_window.glade.h:18 +#: ../data/glade/account_creation_wizard_window.glade.h:12 +#: ../data/glade/account_modification_window.glade.h:20 msgid "If checked, Gajim will remember the password for this account" msgstr "Ako je označeno, Gajim će pamtiti lozinku za ovaj račun" -#: ../data/glade/account_creation_wizard_window.glade.h:12 -#: ../data/glade/manage_proxies_window.glade.h:6 -msgid "Pass_word:" -msgstr "Lo_zinka:" - #: ../data/glade/account_creation_wizard_window.glade.h:13 -#: ../data/glade/account_modification_window.glade.h:38 +#: ../data/glade/account_modification_window.glade.h:26 +msgid "Manage..." +msgstr "Podesi..." + +#: ../data/glade/account_creation_wizard_window.glade.h:14 +#, fuzzy +msgid "Prox_y:" +msgstr "Proxy:" + +#: ../data/glade/account_creation_wizard_window.glade.h:15 +#: ../data/glade/account_modification_window.glade.h:40 msgid "Save pass_word" msgstr "Snimi lo_zinku" -#: ../data/glade/account_creation_wizard_window.glade.h:14 +#: ../data/glade/account_creation_wizard_window.glade.h:16 msgid "Servers Features" msgstr "Mogućnosti Poslužitelja" -#: ../data/glade/account_creation_wizard_window.glade.h:15 +#: ../data/glade/account_creation_wizard_window.glade.h:17 msgid "Set my profile when I connect" msgstr "Postavi moj profil pri spajanju" -#: ../data/glade/account_creation_wizard_window.glade.h:16 +#: ../data/glade/account_creation_wizard_window.glade.h:18 +#: ../data/glade/account_modification_window.glade.h:45 +msgid "Use custom hostname/port" +msgstr "Koristi vlastito ime poslužitelja/port" + +#: ../data/glade/account_creation_wizard_window.glade.h:19 msgid "" "You need to have an account in order to connect\n" "to the Jabber network." @@ -139,48 +158,40 @@ msgstr "" "Morate imati račun kako bi se mogli spojiti\n" "na Jabber mrežu." -#: ../data/glade/account_creation_wizard_window.glade.h:18 +#: ../data/glade/account_creation_wizard_window.glade.h:21 msgid "Your JID:" msgstr "Vaš JID:" -#: ../data/glade/account_creation_wizard_window.glade.h:19 +#: ../data/glade/account_creation_wizard_window.glade.h:22 #: ../data/glade/roster_window.glade.h:11 msgid "_Advanced" msgstr "_Napredno" -#: ../data/glade/account_creation_wizard_window.glade.h:20 +#: ../data/glade/account_creation_wizard_window.glade.h:23 msgid "_Finish" msgstr "_Završi" -#: ../data/glade/account_creation_wizard_window.glade.h:21 -#: ../data/glade/manage_proxies_window.glade.h:9 -msgid "_Host:" -msgstr "_Poslužitelj:" +#: ../data/glade/account_creation_wizard_window.glade.h:24 +#, fuzzy +msgid "_Hostname:" +msgstr "Ime poslužitelja:" -#: ../data/glade/account_creation_wizard_window.glade.h:22 -#: ../data/glade/account_modification_window.glade.h:47 +#: ../data/glade/account_creation_wizard_window.glade.h:25 +#: ../data/glade/account_modification_window.glade.h:50 msgid "_Password:" msgstr "_Lozinka:" -#: ../data/glade/account_creation_wizard_window.glade.h:23 -#: ../data/glade/manage_proxies_window.glade.h:10 +#: ../data/glade/account_creation_wizard_window.glade.h:26 +#: ../data/glade/manage_proxies_window.glade.h:11 msgid "_Port:" msgstr "_Port:" -#: ../data/glade/account_creation_wizard_window.glade.h:24 -msgid "_Retype Password:" -msgstr "_Ponovo utipkajte Password:" - -#: ../data/glade/account_creation_wizard_window.glade.h:25 +#: ../data/glade/account_creation_wizard_window.glade.h:27 msgid "_Server:" msgstr "_Poslužitelj:" -#: ../data/glade/account_creation_wizard_window.glade.h:26 -msgid "_Use proxy" -msgstr "_Koristi proxy" - -#: ../data/glade/account_creation_wizard_window.glade.h:27 -#: ../data/glade/manage_proxies_window.glade.h:11 +#: ../data/glade/account_creation_wizard_window.glade.h:28 +#: ../data/glade/manage_proxies_window.glade.h:12 msgid "_Username:" msgstr "_Korisničko ime:" @@ -208,19 +219,23 @@ msgid "Account Modification" msgstr "Modifikacija Korisničkog Računa" #: ../data/glade/account_modification_window.glade.h:6 -msgid "Autoreconnect when connection is lost" -msgstr "Automatsko ponovno spajanje kada je veza izgubljena" +msgid "Administration operations" +msgstr "Administratorski postupci" #: ../data/glade/account_modification_window.glade.h:7 +msgid "Auto-reconnect when connection is lost" +msgstr "Automatsko ponovno spajanje kada je veza izgubljena" + +#: ../data/glade/account_modification_window.glade.h:8 #: ../data/glade/zeroconf_properties_window.glade.h:3 msgid "C_onnect on Gajim startup" msgstr "Sp_oji se prilikom pokretanja Gajima" -#: ../data/glade/account_modification_window.glade.h:8 +#: ../data/glade/account_modification_window.glade.h:9 msgid "Chan_ge Password" msgstr "P_romijeni Lozinku" -#: ../data/glade/account_modification_window.glade.h:9 +#: ../data/glade/account_modification_window.glade.h:10 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 " @@ -232,44 +247,48 @@ msgstr "" "enkripciju ukoliko to server podržava, te će sa ovom opcijom uključenom TLS " "biti onemogućen" -#: ../data/glade/account_modification_window.glade.h:10 +#: ../data/glade/account_modification_window.glade.h:11 #: ../data/glade/zeroconf_properties_window.glade.h:4 msgid "Choose _Key..." msgstr "Odaberi _Ključ" -#: ../data/glade/account_modification_window.glade.h:11 +#: ../data/glade/account_modification_window.glade.h:12 msgid "Click to change account's password" msgstr "Kliknite za promjenu lozinke korisničkog računa" -#: ../data/glade/account_modification_window.glade.h:12 +#: ../data/glade/account_modification_window.glade.h:13 +msgid "Click to request authorization to all contacts of another account" +msgstr "Kliknite da zatražite autorizaciju svih kontakata drugog računa" + +#: ../data/glade/account_modification_window.glade.h:14 msgid "Connection" msgstr "Veza" -#: ../data/glade/account_modification_window.glade.h:13 +#: ../data/glade/account_modification_window.glade.h:15 msgid "Edit Personal Information..." msgstr "Izmjeni Osobne Informacije" -#: ../data/glade/account_modification_window.glade.h:14 -#: ../data/glade/roster_window.glade.h:5 ../src/notify.py:453 -#: ../src/notify.py:475 ../src/notify.py:487 ../src/common/helpers.py:905 +#: ../data/glade/account_modification_window.glade.h:16 +#: ../data/glade/roster_window.glade.h:5 ../src/notify.py:460 +#: ../src/notify.py:482 ../src/notify.py:494 ../src/common/helpers.py:918 msgid "Gajim" msgstr "Gajim" -#. Contact is not in a group, so count it in General group -#: ../data/glade/account_modification_window.glade.h:15 -#: ../data/glade/preferences_window.glade.h:49 +#: ../data/glade/account_modification_window.glade.h:17 +#: ../data/glade/preferences_window.glade.h:51 #: ../data/glade/zeroconf_properties_window.glade.h:7 -#: ../src/roster_window.py:342 ../src/roster_window.py:1207 -#: ../src/roster_window.py:1418 ../src/roster_window.py:2029 -#: ../src/roster_window.py:2071 ../src/common/contacts.py:278 +#: ../src/roster_window.py:349 ../src/roster_window.py:604 +#: ../src/roster_window.py:1309 ../src/roster_window.py:1677 +#: ../src/roster_window.py:2453 ../src/roster_window.py:2495 +#: ../src/roster_window.py:2532 ../src/common/contacts.py:292 msgid "General" msgstr "Općenito" -#: ../data/glade/account_modification_window.glade.h:16 +#: ../data/glade/account_modification_window.glade.h:18 msgid "Hostname: " msgstr "Ime poslužitelja:" -#: ../data/glade/account_modification_window.glade.h:17 +#: ../data/glade/account_modification_window.glade.h:19 msgid "" "If checked, Gajim will also broadcast some more IPs except from just your " "IP, so file transfer has higher chances of working." @@ -277,15 +296,15 @@ 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." -#: ../data/glade/account_modification_window.glade.h:19 +#: ../data/glade/account_modification_window.glade.h:21 msgid "" -"If checked, Gajim will send keep-alive packets so it prevents connection " -"timeout which results in disconnection" +"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 spriječio prekid " -"veze zbog preduge neaktivnosti" +"Ako je označeno, Gajim će slati \"keep-alive\" pakete kako bi održao " +"konekciju i spriječio prekid veze." -#: ../data/glade/account_modification_window.glade.h:20 +#: ../data/glade/account_modification_window.glade.h:22 #: ../data/glade/zeroconf_properties_window.glade.h:8 msgid "" "If checked, Gajim will store the password in ~/.gajim/config with 'read' " @@ -294,7 +313,7 @@ msgstr "" "Ako je označeno, Gajim će spremiti lozinku u ~/.gajim/config sa 'čitaj' " "dozvolom samo za vas" -#: ../data/glade/account_modification_window.glade.h:21 +#: ../data/glade/account_modification_window.glade.h:23 #: ../data/glade/zeroconf_properties_window.glade.h:9 msgid "" "If checked, Gajim, when launched, will automatically connect to jabber using " @@ -303,7 +322,7 @@ msgstr "" "Ako je označeno, Gajim će se pri pokretanju automatski spojiti na jabber " "koristeći ovaj račun" -#: ../data/glade/account_modification_window.glade.h:22 +#: ../data/glade/account_modification_window.glade.h:24 #: ../data/glade/zeroconf_properties_window.glade.h:10 msgid "" "If checked, any change to the global status (handled by the combobox at the " @@ -313,44 +332,44 @@ 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" -#: ../data/glade/account_modification_window.glade.h:23 +#: ../data/glade/account_modification_window.glade.h:25 msgid "Information about you, as stored in the server" msgstr "Informacije o vama, kako stoji na poslužitelju" -#: ../data/glade/account_modification_window.glade.h:24 -msgid "Manage..." -msgstr "Podesi..." - -#: ../data/glade/account_modification_window.glade.h:25 -#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1643 -#: ../src/config.py:3436 +#: ../data/glade/account_modification_window.glade.h:27 +#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1623 +#: ../src/config.py:3413 msgid "No key selected" msgstr "Niti jedan ključ nije odabran" #. None means no proxy profile selected -#: ../data/glade/account_modification_window.glade.h:27 ../src/config.py:1225 -#: ../src/config.py:1230 ../src/config.py:1414 ../src/config.py:1633 -#: ../src/config.py:1642 ../src/config.py:1701 ../src/config.py:1775 -#: ../src/config.py:2646 ../src/config.py:3426 ../src/config.py:3435 -#: ../src/dialogs.py:281 ../src/dialogs.py:283 +#. GPG Key +#: ../data/glade/account_modification_window.glade.h:29 +#: ../data/glade/vcard_information_window.glade.h:32 ../src/config.py:1196 +#: ../src/config.py:1201 ../src/config.py:1385 ../src/config.py:1613 +#: ../src/config.py:1622 ../src/config.py:1682 ../src/config.py:1756 +#: ../src/config.py:2958 ../src/config.py:3003 ../src/config.py:3403 +#: ../src/config.py:3412 ../src/dialogs.py:282 ../src/dialogs.py:284 +#: ../src/roster_window.py:1781 ../src/roster_window.py:1788 +#: ../src/roster_window.py:1795 msgid "None" msgstr "Ništa" -#: ../data/glade/account_modification_window.glade.h:28 -#: ../data/glade/profile_window.glade.h:25 +#: ../data/glade/account_modification_window.glade.h:30 +#: ../data/glade/profile_window.glade.h:26 #: ../data/glade/zeroconf_properties_window.glade.h:17 msgid "Personal Information" msgstr "Osobne Informacije" -#: ../data/glade/account_modification_window.glade.h:29 +#: ../data/glade/account_modification_window.glade.h:31 msgid "Port: " msgstr "Port:" -#: ../data/glade/account_modification_window.glade.h:30 +#: ../data/glade/account_modification_window.glade.h:32 msgid "Priori_ty:" msgstr "Priori_tet:" -#: ../data/glade/account_modification_window.glade.h:31 +#: ../data/glade/account_modification_window.glade.h:33 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 " @@ -360,19 +379,19 @@ msgstr "" "jabber servera kada su spojena 2 ili više klijenta koristeći isti račun; " "klijent sa najvišim prioritetom dobiva te događaje" -#: ../data/glade/account_modification_window.glade.h:32 +#: ../data/glade/account_modification_window.glade.h:34 msgid "Priority will change automatically according to your status." msgstr "Prioritet će biti automatski promijenjen prema vašem statusu." -#: ../data/glade/account_modification_window.glade.h:33 +#: ../data/glade/account_modification_window.glade.h:35 msgid "Proxy:" msgstr "Proxy:" -#: ../data/glade/account_modification_window.glade.h:34 -msgid "Resour_ce: " -msgstr "Resur_s" +#: ../data/glade/account_modification_window.glade.h:36 +msgid "Resour_ce:" +msgstr "Resur_s:" -#: ../data/glade/account_modification_window.glade.h:35 +#: ../data/glade/account_modification_window.glade.h:37 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 " @@ -385,47 +404,47 @@ msgstr "" "možete biti spojeni sa resursom 'Posao' ili 'Kuća', klijent sa najvišim " "prioritetom dobivat će obavijesti o događajima" -#: ../data/glade/account_modification_window.glade.h:36 +#: ../data/glade/account_modification_window.glade.h:38 #: ../data/glade/zeroconf_properties_window.glade.h:18 msgid "Save _passphrase (insecure)" msgstr "Snimi _lozinku (nesigurno)" -#: ../data/glade/account_modification_window.glade.h:37 +#: ../data/glade/account_modification_window.glade.h:39 #: ../data/glade/zeroconf_properties_window.glade.h:19 msgid "Save conversation _logs for all contacts" msgstr "Snimi _dnevnik razgovora za sve kontakte" -#: ../data/glade/account_modification_window.glade.h:39 +#: ../data/glade/account_modification_window.glade.h:41 msgid "Send keep-alive packets" msgstr "Šalji keep-alive pakete" -#: ../data/glade/account_modification_window.glade.h:40 +#: ../data/glade/account_modification_window.glade.h:42 #: ../data/glade/zeroconf_properties_window.glade.h:20 msgid "Synch_ronize account status with global status" msgstr "Sink_roniziraj status računa sa globalnim statusom" -#: ../data/glade/account_modification_window.glade.h:41 +#: ../data/glade/account_modification_window.glade.h:43 +msgid "Synchronise contacts" +msgstr "Sinkroniziraj kontakte" + +#: ../data/glade/account_modification_window.glade.h:44 msgid "Use _SSL (legacy)" msgstr "Koristi _SSL (zastarjelo)" -#: ../data/glade/account_modification_window.glade.h:42 -msgid "Use custom hostname/port" -msgstr "Koristi vlastito ime poslužitelja/port" - -#: ../data/glade/account_modification_window.glade.h:43 +#: ../data/glade/account_modification_window.glade.h:46 msgid "Use file transfer proxies" msgstr "Koristi proxy za prijenos datoteka" -#: ../data/glade/account_modification_window.glade.h:44 +#: ../data/glade/account_modification_window.glade.h:47 msgid "_Adjust to status" msgstr "_Podesi prema statusu" -#: ../data/glade/account_modification_window.glade.h:45 +#: ../data/glade/account_modification_window.glade.h:48 msgid "_Jabber ID:" msgstr "_Jabber ID:" -#: ../data/glade/account_modification_window.glade.h:46 -msgid "_Name: " +#: ../data/glade/account_modification_window.glade.h:49 +msgid "_Name:" msgstr "_Ime:" #: ../data/glade/accounts_window.glade.h:1 @@ -449,7 +468,7 @@ msgstr "" #: ../data/glade/accounts_window.glade.h:4 msgid "" -"If you have 2 or more accounts and it is checked, Gajim will list all " +"If you have 2 or more accounts and this is checked, Gajim will list all " "contacts as if you had one account" msgstr "" "Ako imate 2 ili više računa i ovo je označeno, Gajim će prikazivati sve " @@ -490,14 +509,14 @@ msgstr "Želio bih Vas dodati na moju listu kontakata." #: ../data/glade/add_new_contact_window.glade.h:5 msgid "" -"You have to register to this transport\n" +"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 "" "Morate se registrirati na ovom transportu\n" -"kako biste mogli dodati kontakte sa ovog\n" -"protokola. Kliknite na dugme registracije za\n" +"kako bi ste mogli dodati kontakte sa ovog\n" +"protokola. Kliknite na gumb registracije za\n" "nastavak." #: ../data/glade/add_new_contact_window.glade.h:9 @@ -505,7 +524,7 @@ msgid "" "You must be connected to the transport to be able\n" "to add a contact from this protocol." msgstr "" -"Morate biti spojeni na transport da biste mogli\n" +"Morate biti spojeni na transport da bi ste mogli\n" "dodavati kontakte sa ovog protokola." #: ../data/glade/add_new_contact_window.glade.h:11 @@ -529,52 +548,49 @@ msgid "_User ID:" msgstr "_ID Korisnika:" #: ../data/glade/adhoc_commands_window.glade.h:1 -msgid "An error has occured:" -msgstr "" +msgid "An error has occurred:" +msgstr "Pojavila se greška:" #: ../data/glade/adhoc_commands_window.glade.h:2 msgid "Choose command to execute:" -msgstr "" +msgstr "Izaberite naredbu za izvršiti:" #: ../data/glade/adhoc_commands_window.glade.h:3 msgid "Ad-hoc Commands - Gajim" -msgstr "" +msgstr "Ad-hoc Naredbe - Gajim" #: ../data/glade/adhoc_commands_window.glade.h:4 msgid "Check once more" -msgstr "" +msgstr "Provjeri još jednom" #: ../data/glade/adhoc_commands_window.glade.h:5 -#, fuzzy msgid "Error description..." -msgstr "Opis" +msgstr "Opis greške..." #: ../data/glade/adhoc_commands_window.glade.h:6 -#, fuzzy msgid "Please wait while retrieving command list..." -msgstr "Pričekajte dok se odvija selidba zapisa..." +msgstr "Pričekajte dok se odvija primanje liste naredbi..." #: ../data/glade/adhoc_commands_window.glade.h:7 -#, fuzzy msgid "Please wait while the command is sending..." -msgstr "Pričekajte dok se odvija selidba zapisa..." +msgstr "Pričekajte dok se odvija slanje naredbe..." #: ../data/glade/adhoc_commands_window.glade.h:8 msgid "Please wait..." -msgstr "" +msgstr "Molim pričekajte..." #: ../data/glade/adhoc_commands_window.glade.h:9 msgid "This jabber entity does not expose any commands." -msgstr "" +msgstr "Ovaj jabber entitet ne izlaže nikakve naredbe." #: ../data/glade/advanced_configuration_window.glade.h:1 msgid "Description" msgstr "Opis" #: ../data/glade/advanced_configuration_window.glade.h:2 -msgid "NOTE: You should restart gajim for some setting to take effect" +msgid "NOTE: You should restart Gajim for some settings to take effect" msgstr "" -"NAPOMENA: Trebali biste ponovno pokrenuti gajim da bi neke postavke " +"NAPOMENA: Trebali bi ste ponovno pokrenuti gajim da bi neke postavke " "postale aktivne" #: ../data/glade/advanced_configuration_window.glade.h:3 @@ -594,7 +610,7 @@ msgid "Deletes Message of the Day" msgstr "Briše Poruku Dana" #: ../data/glade/advanced_menuitem_menu.glade.h:3 -msgid "Sends a message to currently connected users to this server" +msgid "Sends a message to users currently connected to this server" msgstr "Šalje poruku trenutno spojenim korisnicima na ovom poslužitelju" #: ../data/glade/advanced_menuitem_menu.glade.h:4 @@ -622,14 +638,18 @@ msgid "_Administrator" msgstr "_Administrator" #: ../data/glade/advanced_menuitem_menu.glade.h:10 +msgid "_Blocked Contacts" +msgstr "_Blokirani Kontakti" + +#: ../data/glade/advanced_menuitem_menu.glade.h:11 msgid "_Privacy Lists" msgstr "Liste _Privatnosti" -#: ../data/glade/advanced_menuitem_menu.glade.h:11 +#: ../data/glade/advanced_menuitem_menu.glade.h:12 msgid "_Send Server Message" msgstr "_Pošalji Poslužiteljsku Poruku" -#: ../data/glade/advanced_menuitem_menu.glade.h:12 +#: ../data/glade/advanced_menuitem_menu.glade.h:13 msgid "_Send Single Message" msgstr "_Pošalji Jednu Poruku" @@ -656,20 +676,20 @@ msgstr "Napredne Akcije" #: ../data/glade/advanced_notifications_window.glade.h:6 msgid "Advanced Notifications Control" -msgstr "Editor Naprednih Obavijesti" +msgstr "Napredno Upravljanje Obavijestima" #: ../data/glade/advanced_notifications_window.glade.h:7 msgid "All statuses" msgstr "Svi statusi" #: ../data/glade/advanced_notifications_window.glade.h:8 -#: ../src/common/helpers.py:234 +#: ../src/common/commands.py:91 ../src/common/helpers.py:243 msgid "Away" msgstr "Odsutan" #: ../data/glade/advanced_notifications_window.glade.h:9 msgid "Busy " -msgstr "Zaposlen" +msgstr "Zauzet " #: ../data/glade/advanced_notifications_window.glade.h:10 msgid "Don't have " @@ -680,7 +700,7 @@ msgid "Have " msgstr "Imam " #: ../data/glade/advanced_notifications_window.glade.h:12 -#: ../src/common/helpers.py:244 +#: ../src/common/helpers.py:253 msgid "Invisible" msgstr "Nevidljiv" @@ -689,7 +709,7 @@ msgid "Launch a command" msgstr "Pokrenite naredbu" #: ../data/glade/advanced_notifications_window.glade.h:14 -#: ../src/common/helpers.py:217 +#: ../src/common/helpers.py:226 msgid "Not Available" msgstr "Nedostupan" @@ -708,17 +728,15 @@ msgstr "Sviraj zvukove" #: ../data/glade/advanced_notifications_window.glade.h:18 msgid "" "Receive a Message\n" -"Contact Connected \n" "Contact Disconnected \n" "Contact Change Status \n" "Group Chat Message Highlight \n" "Group Chat Message Received \n" -"File Transfert Resquest \n" -"File Transfert Started \n" -"File Transfert Finished" +"File Transfer Request \n" +"File Transfer Started \n" +"File Transfer Finished" msgstr "" "Primanje Poruke\n" -"Kontakt Spojen\n" "Kontakt Odspojen\n" "Kontakt Promjeni Status\n" "Osvjetljavanje na Poruku Grupnog Razgovora\n" @@ -727,58 +745,58 @@ msgstr "" "Početak Prijenosa Datoteke\n" "Završen Prijenos Datoteke" -#: ../data/glade/advanced_notifications_window.glade.h:27 +#: ../data/glade/advanced_notifications_window.glade.h:26 msgid "When " msgstr "Kada " -#: ../data/glade/advanced_notifications_window.glade.h:28 +#: ../data/glade/advanced_notifications_window.glade.h:27 msgid "" "_Activate window manager's UrgencyHint to make chat window in taskbar flash" msgstr "" "_Aktivacija opcije upravitelja prozora za bljeskanje prozora razgovora u " "taskbaru" -#: ../data/glade/advanced_notifications_window.glade.h:29 +#: ../data/glade/advanced_notifications_window.glade.h:28 msgid "_Disable auto opening chat window" msgstr "_Onemogući automatsko otvaranje prozora razgovora" -#: ../data/glade/advanced_notifications_window.glade.h:30 +#: ../data/glade/advanced_notifications_window.glade.h:29 msgid "_Disable existing popup window" msgstr "_Onemogući postojeći iskočni prozor" -#: ../data/glade/advanced_notifications_window.glade.h:31 +#: ../data/glade/advanced_notifications_window.glade.h:30 msgid "_Disable existing sound for this event" msgstr "_Onemogući postojeći zvuk za ovaj događaj" -#: ../data/glade/advanced_notifications_window.glade.h:32 +#: ../data/glade/advanced_notifications_window.glade.h:31 msgid "_Disable showing event in roster" msgstr "_Onemogući prikazivanje događaja u listi kontakata" -#: ../data/glade/advanced_notifications_window.glade.h:33 +#: ../data/glade/advanced_notifications_window.glade.h:32 msgid "_Disable showing event in systray" msgstr "_Onemogući prikazivanje događaja u systrayu" -#: ../data/glade/advanced_notifications_window.glade.h:34 +#: ../data/glade/advanced_notifications_window.glade.h:33 msgid "_Inform me with a popup window" msgstr "_Obavijesti me sa iskočnim prozorom" -#: ../data/glade/advanced_notifications_window.glade.h:35 +#: ../data/glade/advanced_notifications_window.glade.h:34 msgid "_Open chat window with user" msgstr "_Otvori prozor za razgovor sa korisnikom" -#: ../data/glade/advanced_notifications_window.glade.h:36 +#: ../data/glade/advanced_notifications_window.glade.h:35 msgid "_Show event in roster" msgstr "Prikaži događaj u _listi kontakata" -#: ../data/glade/advanced_notifications_window.glade.h:37 +#: ../data/glade/advanced_notifications_window.glade.h:36 msgid "_Show event in systray" msgstr "Prikaži samo u _listi kontakata" -#: ../data/glade/advanced_notifications_window.glade.h:38 +#: ../data/glade/advanced_notifications_window.glade.h:37 msgid "and I " msgstr "i ja " -#: ../data/glade/advanced_notifications_window.glade.h:39 +#: ../data/glade/advanced_notifications_window.glade.h:38 msgid "" "contact(s)\n" "group(s)\n" @@ -788,53 +806,33 @@ msgstr "" "grupe\n" "svi" -#: ../data/glade/advanced_notifications_window.glade.h:42 +#: ../data/glade/advanced_notifications_window.glade.h:41 msgid "for " msgstr "za" -#: ../data/glade/advanced_notifications_window.glade.h:43 +#: ../data/glade/advanced_notifications_window.glade.h:42 msgid "when I'm in" msgstr "kada sam u" #: ../data/glade/atom_entry_window.glade.h:1 -msgid "2003-12-13T18:30:02Z" -msgstr "" +msgid "Entry:" +msgstr "Unos:" #: ../data/glade/atom_entry_window.glade.h:2 -msgid "Romeo and Juliet" -msgstr "" +msgid "Feed name:" +msgstr "Ime članaka:" #: ../data/glade/atom_entry_window.glade.h:3 -#, fuzzy -msgid "Entry:" -msgstr "Država:" +msgid "Last modified:" +msgstr "Posljednja izmjena:" #: ../data/glade/atom_entry_window.glade.h:4 -#, fuzzy -msgid "Feed name:" -msgstr "ime teme" +msgid "New entry received" +msgstr "Primljen novi unos" #: ../data/glade/atom_entry_window.glade.h:5 -#, fuzzy -msgid "Last modified:" -msgstr "Prezime:" - -#: ../data/glade/atom_entry_window.glade.h:6 -#, fuzzy -msgid "New entry received" -msgstr "Kada se primi novi događaj" - -#: ../data/glade/atom_entry_window.glade.h:7 -msgid "Old stories" -msgstr "" - -#: ../data/glade/atom_entry_window.glade.h:8 -msgid "Soliloquy" -msgstr "" - -#: ../data/glade/atom_entry_window.glade.h:9 msgid "You have received new entry:" -msgstr "" +msgstr "Primili ste novi unos:" #: ../data/glade/change_password_dialog.glade.h:1 msgid "Change Password" @@ -866,8 +864,8 @@ msgstr "Pridruživanje _Grupnom Razgovoru" #: ../data/glade/chat_context_menu.glade.h:2 #: ../data/glade/chat_control_popup_menu.glade.h:4 -#: ../data/glade/gc_occupants_menu.glade.h:2 -#: ../data/glade/roster_contact_context_menu.glade.h:10 +#: ../data/glade/gc_occupants_menu.glade.h:3 +#: ../data/glade/roster_contact_context_menu.glade.h:12 msgid "_Add to Roster" msgstr "_Dodaj na Listu" @@ -899,7 +897,7 @@ msgid "Click to see past conversations with this contact" msgstr "Pritisnite za pregled prošlih razgovora sa ovim kontaktom" #: ../data/glade/chat_control_popup_menu.glade.h:2 -#: ../data/glade/roster_contact_context_menu.glade.h:8 +#: ../data/glade/roster_contact_context_menu.glade.h:9 #: ../data/glade/zeroconf_contact_context_menu.glade.h:4 msgid "Send _File" msgstr "Pošalji _Datoteku" @@ -914,9 +912,9 @@ msgid "_Compact View Alt+C" msgstr "_Kompaktan Pregled Alt+K" #: ../data/glade/chat_control_popup_menu.glade.h:6 -#: ../data/glade/gc_control_popup_menu.glade.h:7 -#: ../data/glade/gc_occupants_menu.glade.h:5 -#: ../data/glade/roster_contact_context_menu.glade.h:13 +#: ../data/glade/gc_control_popup_menu.glade.h:8 +#: ../data/glade/gc_occupants_menu.glade.h:6 +#: ../data/glade/roster_contact_context_menu.glade.h:16 #: ../data/glade/zeroconf_contact_context_menu.glade.h:6 msgid "_History" msgstr "_Povijest" @@ -966,12 +964,12 @@ msgid "Remove file transfer from the list." msgstr "Ukloni prijenos datoteka sa liste" #: ../data/glade/filetransfers.glade.h:9 -msgid "Removes completed, canceled and failed file transfers from the list" +msgid "Removes completed, cancelled and failed file transfers from the list" msgstr "" "Ukloni završene, zaustavljene ili neuspjele prijenose datoteka sa liste" #: ../data/glade/filetransfers.glade.h:10 -msgid "Shows a list of file transfers between you and other" +msgid "Shows a list of file transfers between you and others" msgstr "Prikazuje listu prijenosa datoteka između vas i ostalih" #: ../data/glade/filetransfers.glade.h:11 @@ -986,7 +984,7 @@ msgstr "" msgid "When a file transfer is complete show a popup notification" msgstr "Pokaži popup obavijest kada se završi prijenos datoteka" -#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:769 +#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:761 msgid "_Continue" msgstr "_Nastaviti" @@ -994,7 +992,7 @@ msgstr "_Nastaviti" msgid "_Notify me when a file transfer is complete" msgstr "_Obavijesti me kada se završi prijenos datoteka" -#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:190 +#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:188 msgid "_Open Containing Folder" msgstr "_Otvaranje Mape Sadržaja" @@ -1102,30 +1100,39 @@ msgstr "Podešavanje _Sobe" msgid "_Bookmark This Room" msgstr "_Postavi Knjižnu Oznaku" +#: ../data/glade/gc_control_popup_menu.glade.h:7 +msgid "_Destroy room" +msgstr "_Uništi sobu" + +#: ../data/glade/gc_control_popup_menu.glade.h:9 +msgid "_Minimize" +msgstr "_Minimiziraj" + #: ../data/glade/gc_occupants_menu.glade.h:1 +#, fuzzy +msgid "A_dministrator" +msgstr "Administrator" + +#: ../data/glade/gc_occupants_menu.glade.h:2 msgid "Mo_derator" msgstr "Mo_derator" -#: ../data/glade/gc_occupants_menu.glade.h:3 +#: ../data/glade/gc_occupants_menu.glade.h:4 msgid "_Admin" msgstr "_Admin" -#: ../data/glade/gc_occupants_menu.glade.h:4 +#: ../data/glade/gc_occupants_menu.glade.h:5 msgid "_Ban" msgstr "_Zabrani" -#: ../data/glade/gc_occupants_menu.glade.h:6 +#: ../data/glade/gc_occupants_menu.glade.h:7 msgid "_Kick" msgstr "_Izbaci" -#: ../data/glade/gc_occupants_menu.glade.h:7 +#: ../data/glade/gc_occupants_menu.glade.h:8 msgid "_Member" msgstr "_Član" -#: ../data/glade/gc_occupants_menu.glade.h:8 -msgid "_Occupant Actions" -msgstr "_Akcije Prisutnih" - #: ../data/glade/gc_occupants_menu.glade.h:9 msgid "_Owner" msgstr "_Vlasnik" @@ -1139,17 +1146,16 @@ msgid "_Voice" msgstr "_Glas" #: ../data/glade/groups_post_window.glade.h:1 -#, fuzzy msgid "Create new post" -msgstr "Nova objava" +msgstr "Stvorite novi dopis" -#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:259 +#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:268 msgid "From" msgstr "Od" #. holds subject -#: ../data/glade/groups_post_window.glade.h:3 ../src/history_manager.py:141 -#: ../src/history_manager.py:172 +#: ../data/glade/groups_post_window.glade.h:3 ../src/history_manager.py:142 +#: ../src/history_manager.py:173 msgid "Subject" msgstr "Tema" @@ -1206,6 +1212,11 @@ msgid "Search" msgstr "Pretraga" #: ../data/glade/history_window.glade.h:5 +#: ../data/glade/zeroconf_information_window.glade.h:10 +msgid "_Log conversation history" +msgstr "_Pamti povijest razgovora" + +#: ../data/glade/history_window.glade.h:6 ../src/disco.py:1177 msgid "_Search" msgstr "_Pretraga" @@ -1222,33 +1233,37 @@ msgstr "Odbij" msgid "Invitation Received" msgstr "Primljen Poziv" -#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1146 +#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1243 msgid "Join Group Chat" msgstr "Pridružiti se Grupnom Razgovoru" #: ../data/glade/join_groupchat_window.glade.h:2 +msgid "Join this room automatically when I connect" +msgstr "Pridruži se ovoj sobi automatski kada se povežem" + +#: ../data/glade/join_groupchat_window.glade.h:3 #: ../data/glade/manage_bookmarks_window.glade.h:4 -#: ../data/glade/profile_window.glade.h:23 -#: ../data/glade/vcard_information_window.glade.h:29 +#: ../data/glade/profile_window.glade.h:24 +#: ../data/glade/vcard_information_window.glade.h:31 msgid "Nickname:" msgstr "Nadimak:" -#: ../data/glade/join_groupchat_window.glade.h:3 +#: ../data/glade/join_groupchat_window.glade.h:4 #: ../data/glade/manage_bookmarks_window.glade.h:5 msgid "Password:" msgstr "Lozinka:" -#: ../data/glade/join_groupchat_window.glade.h:4 +#: ../data/glade/join_groupchat_window.glade.h:5 msgid "Recently:" msgstr "Nedavno:" -#: ../data/glade/join_groupchat_window.glade.h:5 +#: ../data/glade/join_groupchat_window.glade.h:6 #: ../data/glade/manage_bookmarks_window.glade.h:7 msgid "Room:" msgstr "Soba:" -#: ../data/glade/join_groupchat_window.glade.h:6 ../src/disco.py:1151 -#: ../src/disco.py:1518 +#: ../data/glade/join_groupchat_window.glade.h:7 ../src/disco.py:1165 +#: ../src/disco.py:1615 msgid "_Join" msgstr "_Pridruživanje" @@ -1290,32 +1305,44 @@ msgid "Settings" msgstr "Postavke" #: ../data/glade/manage_proxies_window.glade.h:3 -msgid "HTTP Connect" -msgstr "HTTP Spoj" +msgid "" +"HTTP Connect\n" +"SOCKS5" +msgstr "" +"HTTP Spoj\n" +"SOCKS5" -#: ../data/glade/manage_proxies_window.glade.h:4 +#: ../data/glade/manage_proxies_window.glade.h:5 msgid "Manage Proxy Profiles" msgstr "Podešavanje Proxy Profila" -#: ../data/glade/manage_proxies_window.glade.h:5 -#: ../data/glade/profile_window.glade.h:22 -#: ../data/glade/vcard_information_window.glade.h:28 +#: ../data/glade/manage_proxies_window.glade.h:6 +#: ../data/glade/profile_window.glade.h:23 +#: ../data/glade/vcard_information_window.glade.h:30 msgid "Name:" msgstr "Ime:" #: ../data/glade/manage_proxies_window.glade.h:7 +msgid "Pass_word:" +msgstr "Lo_zinka:" + +#: ../data/glade/manage_proxies_window.glade.h:8 msgid "Type:" msgstr "Vrsta:" -#: ../data/glade/manage_proxies_window.glade.h:8 +#: ../data/glade/manage_proxies_window.glade.h:9 msgid "Use authentication" msgstr "Koristi autentifikaciju" +#: ../data/glade/manage_proxies_window.glade.h:10 +msgid "_Host:" +msgstr "_Poslužitelj:" + #: ../data/glade/message_window.glade.h:1 msgid "Click to insert an emoticon (Alt+M)" msgstr "Kliknite da ubacite emoticon (Alt+M)" -#: ../data/glade/message_window.glade.h:2 ../src/chat_control.py:1104 +#: ../data/glade/message_window.glade.h:2 ../src/chat_control.py:1167 msgid "OpenPGP Encryption" msgstr "OpenPGP Enkripcija" @@ -1329,7 +1356,7 @@ msgstr "_Akcije" #. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector) #: ../data/glade/message_window.glade.h:6 #: ../data/glade/xml_console_window.glade.h:11 -#: ../src/filetransfers_window.py:253 +#: ../src/filetransfers_window.py:245 msgid "_Send" msgstr "_Pošalji" @@ -1371,14 +1398,10 @@ msgid "Visual Notifications" msgstr "Vizualne Obavijesti" #: ../data/glade/preferences_window.glade.h:12 -msgid "A_fter nickname:" -msgstr "Poslije nadimka:" - -#: ../data/glade/preferences_window.glade.h:13 msgid "Advanced" msgstr "Napredno" -#: ../data/glade/preferences_window.glade.h:14 +#: ../data/glade/preferences_window.glade.h:13 msgid "" "All chat states\n" "Composing only\n" @@ -1388,19 +1411,22 @@ msgstr "" "Samo pisanje\n" "Onemogućeno" -#: ../data/glade/preferences_window.glade.h:17 +#: ../data/glade/preferences_window.glade.h:16 msgid "Allow _OS information to be sent" msgstr "Dozvoli slanje podataka o _OS-u" -#: ../data/glade/preferences_window.glade.h:18 +#: ../data/glade/preferences_window.glade.h:17 msgid "Allow popup/notifications when I'm _away/na/busy/invisible" -msgstr "" -"Dozvoli popup obavijesti kada sam _odsutan/nedostupan/zaposlen/nevidljiv" +msgstr "Dozvoli popup obavijesti kada sam _odsutan/nedostupan/zauzet/nevidljiv" -#: ../data/glade/preferences_window.glade.h:19 +#: ../data/glade/preferences_window.glade.h:18 msgid "Also known as iChat style" msgstr "Poznato i kao iChat stil" +#: ../data/glade/preferences_window.glade.h:19 +msgid "Always check to see if Gajim is the _default Jabber client on startup" +msgstr "Uvijek provjeri ako je Gajim _zadani Jabber klijent, pri pokretanju" + #: ../data/glade/preferences_window.glade.h:20 msgid "" "An example: If you have enabled status message for away, Gajim won't ask you " @@ -1438,64 +1464,70 @@ msgstr "" "Prilagođeno" #: ../data/glade/preferences_window.glade.h:29 -msgid "B_efore nickname:" -msgstr "Prij_e nadimka" - -#: ../data/glade/preferences_window.glade.h:30 ../src/chat_control.py:844 msgid "Chat" msgstr "Razgovor" -#: ../data/glade/preferences_window.glade.h:31 +#: ../data/glade/preferences_window.glade.h:30 msgid "" "Check this option, only if someone you don't have in the roster spams/annoys " -"you. Use with caution, cause it blocks all messages from any contact that is " -"not in the roster" +"you. Use with caution, because it blocks all messages from any contact that " +"is not in the roster" msgstr "" -"Označite ovu opciju samo ako vas netko van vaše liste spama/uznemirava. " -"Koristite sa oprezom, blokira sve poruke koje dolaze od ljudi van vaše liste " -"kontakata" +"Označite ovu opciju samo ako vam netko van vaše liste šalje neželjene poruke " +"ili vas uznemirava. Koristite sa oprezom, blokira sve poruke koje dolaze od " +"ljudi van vaše liste kontakata" -#: ../data/glade/preferences_window.glade.h:32 +#: ../data/glade/preferences_window.glade.h:31 msgid "Configure color and font of the interface" msgstr "Postavi boje i font sučelja" -#: ../data/glade/preferences_window.glade.h:33 +#: ../data/glade/preferences_window.glade.h:32 msgid "Default Status Messages" msgstr "Predefinirana Statusna Poruka" -#: ../data/glade/preferences_window.glade.h:34 +#: ../data/glade/preferences_window.glade.h:33 msgid "Default status _iconset:" msgstr "Predefinirani statusni set _ikona" -#: ../data/glade/preferences_window.glade.h:35 +#: ../data/glade/preferences_window.glade.h:34 +msgid "" +"Determined by sender\n" +"Chat message\n" +"Single message" +msgstr "" +"Utvrđeno po pošiljaocu\n" +"Razgovorna poruka\n" +"Jedna poruka" + +#: ../data/glade/preferences_window.glade.h:37 msgid "Display _extra email details" msgstr "Prikaži dodatne email _detalje" -#: ../data/glade/preferences_window.glade.h:36 +#: ../data/glade/preferences_window.glade.h:38 msgid "Display a_vatars of contacts in roster" msgstr "Prikaži a_vatare kontakata na listi" -#: ../data/glade/preferences_window.glade.h:37 +#: ../data/glade/preferences_window.glade.h:39 msgid "Display status _messages of contacts in roster" msgstr "Prikaži statusne _poruke kontakata na listi" -#: ../data/glade/preferences_window.glade.h:38 +#: ../data/glade/preferences_window.glade.h:40 msgid "Displayed Chat state noti_fications:" msgstr "Prikazane Noti_fikacije o statusu razgovora" -#: ../data/glade/preferences_window.glade.h:39 +#: ../data/glade/preferences_window.glade.h:41 msgid "E_very 5 minutes" msgstr "S_vakih 5 minuta" -#: ../data/glade/preferences_window.glade.h:40 +#: ../data/glade/preferences_window.glade.h:42 msgid "Emoticons:" msgstr "Emotikone:" -#: ../data/glade/preferences_window.glade.h:41 +#: ../data/glade/preferences_window.glade.h:43 msgid "Events" msgstr "Događaji" -#: ../data/glade/preferences_window.glade.h:42 +#: ../data/glade/preferences_window.glade.h:44 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 " @@ -1505,7 +1537,7 @@ msgstr "" "sa kontaktom. Ovdje možete odrediti koji statusi razgovora će se prikazati u " "prozorima razgovora." -#: ../data/glade/preferences_window.glade.h:43 +#: ../data/glade/preferences_window.glade.h:45 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 " @@ -1515,13 +1547,12 @@ msgstr "" "sa kontaktom. Ovdje možete odrediti koji statusi razgovora će se slati " "drugoj osobi." -#: ../data/glade/preferences_window.glade.h:44 +#: ../data/glade/preferences_window.glade.h:46 msgid "" -"Gajim will automatically show new events by poping up the relative window" -msgstr "" -"Gajim će automatski prikazivati nove događaje iskačući sa bitnim prozorom" +"Gajim will automatically show new events by popping up the relevant window" +msgstr "Gajim će automatski prikazivati nove događaje prikazujući bitan prozor" -#: ../data/glade/preferences_window.glade.h:45 +#: ../data/glade/preferences_window.glade.h:47 msgid "" "Gajim will notify you for new events via a popup in the bottom right of the " "screen" @@ -1529,7 +1560,7 @@ msgstr "" "Gajim će vas obavijestiti o novim događajima sa popup prozorom u donjem " "desnom kutu ekrana" -#: ../data/glade/preferences_window.glade.h:46 +#: ../data/glade/preferences_window.glade.h:48 msgid "" "Gajim will notify you via a popup window in the bottom right of the screen " "about contacts that just signed in" @@ -1537,7 +1568,7 @@ msgstr "" "Gajim će vas obavijestiti o kontaktima koji su se upravo prijavili sa popup " "prozorom u donjem desnom kutu ekrana" -#: ../data/glade/preferences_window.glade.h:47 +#: ../data/glade/preferences_window.glade.h:49 msgid "" "Gajim will notify you via a popup window in the bottom right of the screen " "about contacts that just signed out" @@ -1545,13 +1576,13 @@ msgstr "" "Gajim će vas obavijestiti o kontaktima koji su se upravo odjavili sa popup " "prozorom u donjem desnom kutu ekrana" -#: ../data/glade/preferences_window.glade.h:48 +#: ../data/glade/preferences_window.glade.h:50 msgid "" "Gajim will only change the icon of the contact that triggered the new event" msgstr "" "Gajim će mjenjati ikonu samo onom kontaktu koji je potaknuo novi događaj" -#: ../data/glade/preferences_window.glade.h:50 +#: ../data/glade/preferences_window.glade.h:52 msgid "" "If checked, Gajim will also include information about the sender of the new " "emails" @@ -1559,7 +1590,7 @@ msgstr "" "Ako je označeno, Gajim će ujedno uključiti i informacije o pošiljatelju " "novih emailova" -#: ../data/glade/preferences_window.glade.h:51 +#: ../data/glade/preferences_window.glade.h:53 msgid "" "If checked, Gajim will display avatars of contacts in roster window and in " "group chats" @@ -1567,7 +1598,7 @@ msgstr "" "Ako je označeno, Gajim će prikazivati avatare kontakata u listi kontakata i " "u grupnim razgovorima" -#: ../data/glade/preferences_window.glade.h:52 +#: ../data/glade/preferences_window.glade.h:54 msgid "" "If checked, Gajim will display status messages of contacts under the contact " "name in roster window and in group chats" @@ -1575,7 +1606,7 @@ msgstr "" "Ako je označeno, Gajim će prikazivati statusne poruke kontakata ispod imena " "kontakta u listi kontakata i u grupnim razgovorima" -#: ../data/glade/preferences_window.glade.h:53 +#: ../data/glade/preferences_window.glade.h:55 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" @@ -1583,7 +1614,7 @@ msgstr "" "Ako je označeno, Gajim će se prisjetiti pozicije prozora liste kontakata i " "razgovora, kao i njihove veličine kod sljedećeg pokretanja" -#: ../data/glade/preferences_window.glade.h:54 +#: ../data/glade/preferences_window.glade.h:56 msgid "" "If checked, Gajim will use protocol-specific status icons. (eg. A contact " "from MSN will have the equivalent msn icon for status online, away, busy, " @@ -1592,7 +1623,7 @@ msgstr "" "Ako je označeno, Gajim će koristiti statusne ikone specifične za protokol. " "(npr. kontakt sa MSN-a će imati msn ikone za statuse)" -#: ../data/glade/preferences_window.glade.h:55 +#: ../data/glade/preferences_window.glade.h:57 msgid "" "If not disabled, Gajim will replace ascii smilies like ':)' with equivalent " "animated or static graphical emoticons" @@ -1600,15 +1631,15 @@ msgstr "" "Ako nije onemogućeno, Gajim će zamjeniti ascii smajliće poput ':)' sa " "ekvivalentnim animiranim ili statičnim grafičkim emotikonama" -#: ../data/glade/preferences_window.glade.h:56 +#: ../data/glade/preferences_window.glade.h:58 msgid "Ignore rich content in incoming messages" msgstr "Ignoriraj bogati sadržaj u dolaznim porukama" -#: ../data/glade/preferences_window.glade.h:57 +#: ../data/glade/preferences_window.glade.h:59 msgid "Ma_nage..." msgstr "Po_desi" -#: ../data/glade/preferences_window.glade.h:58 +#: ../data/glade/preferences_window.glade.h:60 msgid "" "Never\n" "Always\n" @@ -1620,59 +1651,59 @@ msgstr "" "Ovisi o računu\n" "Ovisi o tipu" -#: ../data/glade/preferences_window.glade.h:62 +#: ../data/glade/preferences_window.glade.h:64 msgid "Notify me about contacts that: " msgstr "Obavijesti me o kontaktima koji:" -#: ../data/glade/preferences_window.glade.h:63 +#: ../data/glade/preferences_window.glade.h:65 msgid "Notify on new _GMail email" msgstr "Obavijesti o novoj _Gmail e-pošti" -#: ../data/glade/preferences_window.glade.h:64 +#: ../data/glade/preferences_window.glade.h:66 msgid "On every _message" msgstr "Na svaku _poruku" -#: ../data/glade/preferences_window.glade.h:65 +#: ../data/glade/preferences_window.glade.h:67 msgid "One message _window:" msgstr "Prozor _jedne poruke:" -#: ../data/glade/preferences_window.glade.h:66 +#: ../data/glade/preferences_window.glade.h:68 msgid "Outgoing Chat state noti_fications:" msgstr "Noti_fikacije o statusu odlaznog razgovora" -#: ../data/glade/preferences_window.glade.h:67 +#: ../data/glade/preferences_window.glade.h:69 msgid "Play _sounds" msgstr "Sviraj _zvukove" -#: ../data/glade/preferences_window.glade.h:68 +#: ../data/glade/preferences_window.glade.h:70 msgid "Preferences" msgstr "Postavke" -#: ../data/glade/preferences_window.glade.h:69 +#: ../data/glade/preferences_window.glade.h:71 msgid "Print time:" msgstr "Prikaz vremena:" -#: ../data/glade/preferences_window.glade.h:70 +#: ../data/glade/preferences_window.glade.h:72 msgid "Save _position and size for roster and chat windows" msgstr "Snimi _poziciju i veličinu za prozore liste kontakata i razgovora" -#: ../data/glade/preferences_window.glade.h:71 +#: ../data/glade/preferences_window.glade.h:73 msgid "Set status message to reflect currently playing _music track" msgstr "Postavi statusnu poruku da odražava trenutno svirajuću _glazbenu traku" -#: ../data/glade/preferences_window.glade.h:72 +#: ../data/glade/preferences_window.glade.h:74 msgid "Show only in _roster" msgstr "Prikaži samo u _listi kontakata" -#: ../data/glade/preferences_window.glade.h:73 +#: ../data/glade/preferences_window.glade.h:75 msgid "Sign _in" msgstr "Se _prijavi" -#: ../data/glade/preferences_window.glade.h:74 +#: ../data/glade/preferences_window.glade.h:76 msgid "Sign _out" msgstr "_Se odjavi" -#: ../data/glade/preferences_window.glade.h:75 +#: ../data/glade/preferences_window.glade.h:77 msgid "" "Some messages may include rich content (formatting, colors etc). If checked, " "Gajim will just display the raw message text." @@ -1680,35 +1711,39 @@ msgstr "" "Neke poruke mogu uključivati bogati sadržaj (formatiranje, boje itd.) Ako je " "označeno, Gajim će samo prikazivati sirovi tekst poruke." -#: ../data/glade/preferences_window.glade.h:76 +#: ../data/glade/preferences_window.glade.h:78 msgid "Status" msgstr "Status" -#: ../data/glade/preferences_window.glade.h:77 +#: ../data/glade/preferences_window.glade.h:79 msgid "T_heme:" msgstr "_Tema:" -#: ../data/glade/preferences_window.glade.h:78 +#: ../data/glade/preferences_window.glade.h:80 msgid "The auto away status message" msgstr "Statusna poruka automatske odsutnosti" -#: ../data/glade/preferences_window.glade.h:79 +#: ../data/glade/preferences_window.glade.h:81 msgid "The auto not available status message" msgstr "Statusna poruka automatske ne dostupnosti" -#: ../data/glade/preferences_window.glade.h:80 +#: ../data/glade/preferences_window.glade.h:82 +msgid "Treat all incoming messages as:" +msgstr "Tretiraj sve dolazne poruke kao:" + +#: ../data/glade/preferences_window.glade.h:83 msgid "Use _transports iconsets" msgstr "Koristi set ikona _transporta" -#: ../data/glade/preferences_window.glade.h:81 +#: ../data/glade/preferences_window.glade.h:84 msgid "Use system _default" msgstr "Koristi pret_postavljeno od sustava" -#: ../data/glade/preferences_window.glade.h:82 +#: ../data/glade/preferences_window.glade.h:85 msgid "Use t_rayicon (aka. notification area icon)" msgstr "Koristi t_ray ikonu" -#: ../data/glade/preferences_window.glade.h:83 +#: ../data/glade/preferences_window.glade.h:86 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 " @@ -1720,11 +1755,11 @@ msgstr "" "obavijesti o novim porukama prikazuju samo za kontakte sa kojima trenutno ne " "razgovarate" -#: ../data/glade/preferences_window.glade.h:84 +#: ../data/glade/preferences_window.glade.h:87 msgid "When new event is received" msgstr "Kada se primi novi događaj" -#: ../data/glade/preferences_window.glade.h:85 +#: ../data/glade/preferences_window.glade.h:88 msgid "" "Works for Rhythmbox and Muine players. For more players, please visit http://" "trac.gajim.org/wiki/GajimAndMusicPlayer" @@ -1732,91 +1767,83 @@ msgstr "" "Radi sa Rhytmbox i Muine sviračima. Za više svirača, molimo posjetite http://" "trac.gajim.org/wiki/GajimAndMusicPlayer" -#: ../data/glade/preferences_window.glade.h:86 +#: ../data/glade/preferences_window.glade.h:89 msgid "_Advanced Notifications Control..." msgstr "_Napredno Upravljanje Obavijestima..." -#: ../data/glade/preferences_window.glade.h:87 -msgid "_After time:" -msgstr "_Nakon vremena:" - -#: ../data/glade/preferences_window.glade.h:88 -msgid "_Before time:" -msgstr "_Prije vremena:" - -#: ../data/glade/preferences_window.glade.h:89 +#: ../data/glade/preferences_window.glade.h:90 msgid "_Browser:" msgstr "_Pretražnik:" -#: ../data/glade/preferences_window.glade.h:90 +#: ../data/glade/preferences_window.glade.h:91 msgid "_File manager:" msgstr "_Upravitelj datotekama:" -#: ../data/glade/preferences_window.glade.h:91 +#: ../data/glade/preferences_window.glade.h:92 msgid "_Font:" msgstr "_Font:" -#: ../data/glade/preferences_window.glade.h:92 +#: ../data/glade/preferences_window.glade.h:93 msgid "_Highlight misspelled words" msgstr "_Osvijetli krivo napisane riječi" -#: ../data/glade/preferences_window.glade.h:93 +#: ../data/glade/preferences_window.glade.h:94 msgid "_Ignore events from contacts not in the roster" msgstr "_Ignoriraj događaje od kontakata koji nisu na listi kontakata" -#: ../data/glade/preferences_window.glade.h:94 +#: ../data/glade/preferences_window.glade.h:95 msgid "_Incoming message:" msgstr "_Dolazna poruka:" -#: ../data/glade/preferences_window.glade.h:95 +#: ../data/glade/preferences_window.glade.h:96 msgid "_Log status changes of contacts" msgstr "_Pamti promjene statusa kontakata" -#: ../data/glade/preferences_window.glade.h:96 +#: ../data/glade/preferences_window.glade.h:97 msgid "_Mail client:" msgstr "_Mail klijent:" -#: ../data/glade/preferences_window.glade.h:97 +#: ../data/glade/preferences_window.glade.h:98 msgid "_Never" msgstr "_Nikada" -#: ../data/glade/preferences_window.glade.h:98 +#: ../data/glade/preferences_window.glade.h:99 msgid "_Notify me about it" msgstr "_Obavijesti me o tome" -#: ../data/glade/preferences_window.glade.h:99 +#: ../data/glade/preferences_window.glade.h:100 msgid "_Open..." msgstr "_Otvori..." -#: ../data/glade/preferences_window.glade.h:100 +#: ../data/glade/preferences_window.glade.h:101 msgid "_Outgoing message:" msgstr "_Odlazna poruka:" -#: ../data/glade/preferences_window.glade.h:101 +#: ../data/glade/preferences_window.glade.h:102 msgid "_Player:" msgstr "_Player:" -#: ../data/glade/preferences_window.glade.h:102 +#: ../data/glade/preferences_window.glade.h:103 msgid "_Pop it up" msgstr "_Iskoči ga" -#: ../data/glade/preferences_window.glade.h:103 +#: ../data/glade/preferences_window.glade.h:104 msgid "_Reset to Default Colors" msgstr "_Ponovo učitavanje Pretpostavljenih Boja" -#: ../data/glade/preferences_window.glade.h:104 +#: ../data/glade/preferences_window.glade.h:105 msgid "_Sort contacts by status" msgstr "_Sortiranje kontakata po statusu" -#: ../data/glade/preferences_window.glade.h:105 +#: ../data/glade/preferences_window.glade.h:106 msgid "_Status message:" msgstr "_Statusna poruka:" -#: ../data/glade/preferences_window.glade.h:106 +#: ../data/glade/preferences_window.glade.h:107 msgid "_URL:" msgstr "_URL:" -#: ../data/glade/preferences_window.glade.h:107 +#: ../data/glade/preferences_window.glade.h:108 msgid "minutes" msgstr "minuta" @@ -1860,7 +1887,7 @@ msgstr "JabberID" msgid "Order:" msgstr "Poredak:" -#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:1841 +#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:2085 msgid "Privacy List" msgstr "Lista Privatnosti" @@ -1926,126 +1953,122 @@ msgid "City:" msgstr "Mjesto:" #: ../data/glade/profile_window.glade.h:7 -#: ../data/glade/vcard_information_window.glade.h:10 +msgid "Click to set your avatar" +msgstr "Kliknite za postavljanje avatara" + +#: ../data/glade/profile_window.glade.h:8 +#: ../data/glade/vcard_information_window.glade.h:11 msgid "Company:" msgstr "Poduzeće:" -#: ../data/glade/profile_window.glade.h:8 -#: ../data/glade/vcard_information_window.glade.h:13 +#: ../data/glade/profile_window.glade.h:9 +#: ../data/glade/vcard_information_window.glade.h:15 msgid "Country:" msgstr "Država:" -#: ../data/glade/profile_window.glade.h:9 -#: ../data/glade/vcard_information_window.glade.h:14 +#: ../data/glade/profile_window.glade.h:10 +#: ../data/glade/vcard_information_window.glade.h:16 msgid "Department:" msgstr "Odjel:" -#: ../data/glade/profile_window.glade.h:10 -#: ../data/glade/vcard_information_window.glade.h:15 +#: ../data/glade/profile_window.glade.h:11 +#: ../data/glade/vcard_information_window.glade.h:17 #: ../data/glade/zeroconf_information_window.glade.h:2 #: ../data/glade/zeroconf_properties_window.glade.h:5 msgid "E-Mail:" msgstr "E-Mail:" -#: ../data/glade/profile_window.glade.h:11 -#: ../data/glade/vcard_information_window.glade.h:16 +#: ../data/glade/profile_window.glade.h:12 +#: ../data/glade/vcard_information_window.glade.h:18 msgid "Extra Address:" msgstr "Dodatna Adresa:" #. Family Name -#: ../data/glade/profile_window.glade.h:13 -#: ../data/glade/vcard_information_window.glade.h:18 +#: ../data/glade/profile_window.glade.h:14 +#: ../data/glade/vcard_information_window.glade.h:20 msgid "Family:" msgstr "Obitelj:" #. Do NOT change sequence. Just translate YYYY and MM and DD (from Year, Month, Day accordingly) -#: ../data/glade/profile_window.glade.h:15 -#: ../data/glade/vcard_information_window.glade.h:20 +#: ../data/glade/profile_window.glade.h:16 +#: ../data/glade/vcard_information_window.glade.h:22 msgid "Format: YYYY-MM-DD" msgstr "Format: GGGG-MM-DD" #. Given Name -#: ../data/glade/profile_window.glade.h:17 -#: ../data/glade/vcard_information_window.glade.h:22 +#: ../data/glade/profile_window.glade.h:18 +#: ../data/glade/vcard_information_window.glade.h:24 msgid "Given:" msgstr "Dano:" -#: ../data/glade/profile_window.glade.h:18 -#: ../data/glade/vcard_information_window.glade.h:23 +#: ../data/glade/profile_window.glade.h:19 +#: ../data/glade/vcard_information_window.glade.h:25 msgid "Homepage:" msgstr "Vlastita stranica:" #. Middle Name -#: ../data/glade/profile_window.glade.h:20 -#: ../data/glade/vcard_information_window.glade.h:26 +#: ../data/glade/profile_window.glade.h:21 +#: ../data/glade/vcard_information_window.glade.h:28 msgid "Middle:" msgstr "Srednje" -#: ../data/glade/profile_window.glade.h:21 -#: ../data/glade/vcard_information_window.glade.h:27 +#: ../data/glade/profile_window.glade.h:22 +#: ../data/glade/vcard_information_window.glade.h:29 msgid "More" msgstr "Više" -#: ../data/glade/profile_window.glade.h:24 -#: ../data/glade/vcard_information_window.glade.h:31 +#: ../data/glade/profile_window.glade.h:25 +#: ../data/glade/vcard_information_window.glade.h:34 msgid "Personal Info" msgstr "Osobne Informacije" -#: ../data/glade/profile_window.glade.h:26 -#: ../data/glade/vcard_information_window.glade.h:32 +#: ../data/glade/profile_window.glade.h:27 +#: ../data/glade/vcard_information_window.glade.h:35 msgid "Phone No.:" msgstr "Broj Telefona:" -#: ../data/glade/profile_window.glade.h:27 -#: ../data/glade/vcard_information_window.glade.h:33 +#: ../data/glade/profile_window.glade.h:28 +#: ../data/glade/vcard_information_window.glade.h:36 msgid "Position:" msgstr "Pozicija:" -#: ../data/glade/profile_window.glade.h:28 -#: ../data/glade/vcard_information_window.glade.h:34 +#: ../data/glade/profile_window.glade.h:29 +#: ../data/glade/vcard_information_window.glade.h:37 msgid "Postal Code:" msgstr "Poštanski broj:" #. Prefix in Name -#: ../data/glade/profile_window.glade.h:30 -#: ../data/glade/vcard_information_window.glade.h:36 +#: ../data/glade/profile_window.glade.h:31 +#: ../data/glade/vcard_information_window.glade.h:39 msgid "Prefix:" msgstr "Prefiks:" -#: ../data/glade/profile_window.glade.h:31 -#: ../data/glade/vcard_information_window.glade.h:38 ../src/vcard.py:273 +#: ../data/glade/profile_window.glade.h:32 +#: ../data/glade/vcard_information_window.glade.h:41 ../src/vcard.py:382 msgid "Role:" msgstr "Uloga:" -#: ../data/glade/profile_window.glade.h:32 -#: ../data/glade/vcard_information_window.glade.h:39 +#: ../data/glade/profile_window.glade.h:33 +#: ../data/glade/vcard_information_window.glade.h:42 msgid "State:" msgstr "Država:" -#: ../data/glade/profile_window.glade.h:33 -#: ../data/glade/vcard_information_window.glade.h:41 +#: ../data/glade/profile_window.glade.h:34 +#: ../data/glade/vcard_information_window.glade.h:44 msgid "Street:" msgstr "Ulica:" #. Suffix in Name -#: ../data/glade/profile_window.glade.h:35 -#: ../data/glade/vcard_information_window.glade.h:45 +#: ../data/glade/profile_window.glade.h:36 +#: ../data/glade/vcard_information_window.glade.h:48 msgid "Suffix:" msgstr "Sufiks:" -#: ../data/glade/profile_window.glade.h:36 -#: ../data/glade/vcard_information_window.glade.h:46 +#: ../data/glade/profile_window.glade.h:37 +#: ../data/glade/vcard_information_window.glade.h:50 msgid "Work" msgstr "Posao" -#: ../data/glade/profile_window.glade.h:37 -msgid "_Publish" -msgstr "_Objava" - -#: ../data/glade/profile_window.glade.h:38 -msgid "_Retrieve" -msgstr "_Dohvati" - #: ../data/glade/remove_account_window.glade.h:1 msgid "What do you want to do?" msgstr "Što želite učiniti?" @@ -2068,61 +2091,84 @@ msgid "Add Special _Notification" msgstr "Dodaj Posebnu _Obavijest" #: ../data/glade/roster_contact_context_menu.glade.h:3 +msgid "Assign Custom _Avatar" +msgstr "" + +#: ../data/glade/roster_contact_context_menu.glade.h:4 #: ../data/glade/zeroconf_contact_context_menu.glade.h:2 msgid "Assign Open_PGP Key" msgstr "Pridruži Open_PGP Ključ" -#: ../data/glade/roster_contact_context_menu.glade.h:4 +#: ../data/glade/roster_contact_context_menu.glade.h:5 #: ../data/glade/zeroconf_contact_context_menu.glade.h:3 -#: ../src/roster_window.py:1993 +#: ../src/roster_window.py:2357 msgid "Edit _Groups" msgstr "Izmjeni _Grupe" -#: ../data/glade/roster_contact_context_menu.glade.h:5 -#: ../src/roster_window.py:2128 +#: ../data/glade/roster_contact_context_menu.glade.h:6 +#: ../src/roster_window.py:2593 msgid "Execute Command..." msgstr "Izvršiti Naredbu..." -#: ../data/glade/roster_contact_context_menu.glade.h:6 -#: ../src/roster_window.py:1951 +#: ../data/glade/roster_contact_context_menu.glade.h:7 +#: ../src/roster_window.py:2315 msgid "In_vite to" msgstr "Pozo_vi u" -#: ../data/glade/roster_contact_context_menu.glade.h:7 +#: ../data/glade/roster_contact_context_menu.glade.h:8 #: ../data/glade/systray_context_menu.glade.h:2 msgid "Send Single _Message" msgstr "Pošalji Jednu _Poruku" -#: ../data/glade/roster_contact_context_menu.glade.h:9 +#: ../data/glade/roster_contact_context_menu.glade.h:10 +msgid "Send cus_tom status" +msgstr "Pošalji prilagođeni status" + +#: ../data/glade/roster_contact_context_menu.glade.h:11 #: ../data/glade/zeroconf_contact_context_menu.glade.h:5 msgid "Start _Chat" msgstr "Započni _Razgovor" -#: ../data/glade/roster_contact_context_menu.glade.h:11 +#: ../data/glade/roster_contact_context_menu.glade.h:13 msgid "_Allow him/her to see my status" msgstr "_Dozvoli njemu/njoj da vidi moj status" -#: ../data/glade/roster_contact_context_menu.glade.h:12 +#: ../data/glade/roster_contact_context_menu.glade.h:14 +#: ../src/roster_window.py:2381 ../src/roster_window.py:2540 +msgid "_Block" +msgstr "_Blokiraj" + +#: ../data/glade/roster_contact_context_menu.glade.h:15 msgid "_Forbid him/her to see my status" msgstr "_Zabrani mu/joj da vidi moj status" +#: ../data/glade/roster_contact_context_menu.glade.h:17 +#, fuzzy +msgid "_Manage contact" +msgstr "Podešavanje Računa" + #. Remove group -#: ../data/glade/roster_contact_context_menu.glade.h:14 -#: ../src/roster_window.py:1945 ../src/roster_window.py:2042 -#: ../src/roster_window.py:2149 +#: ../data/glade/roster_contact_context_menu.glade.h:18 +#: ../src/roster_window.py:2309 ../src/roster_window.py:2466 +#: ../src/roster_window.py:2614 msgid "_Remove from Roster" msgstr "_Ukloni sa Liste kontakata" -#: ../data/glade/roster_contact_context_menu.glade.h:15 +#: ../data/glade/roster_contact_context_menu.glade.h:19 #: ../data/glade/zeroconf_contact_context_menu.glade.h:7 -#: ../src/roster_window.py:2137 +#: ../src/roster_window.py:2602 msgid "_Rename" msgstr "_Preimenuj" -#: ../data/glade/roster_contact_context_menu.glade.h:16 +#: ../data/glade/roster_contact_context_menu.glade.h:20 msgid "_Subscription" msgstr "_Pretplata" +#: ../data/glade/roster_contact_context_menu.glade.h:21 +#: ../src/roster_window.py:2375 ../src/roster_window.py:2534 +msgid "_Unblock" +msgstr "_Odblokiraj" + #: ../data/glade/roster_window.glade.h:1 msgid "A_ccounts" msgstr "Korisnički računi" @@ -2163,8 +2209,8 @@ msgstr "_Sadržaj" msgid "_Discover Services" msgstr "_Otkrivanje Usluga" -#: ../data/glade/roster_window.glade.h:14 ../src/disco.py:1256 -#: ../src/roster_window.py:2120 +#: ../data/glade/roster_window.glade.h:14 ../src/disco.py:1353 +#: ../src/roster_window.py:2585 msgid "_Edit" msgstr "_Uredi" @@ -2257,11 +2303,13 @@ msgid "Au_thorize" msgstr "_Odobri" #: ../data/glade/subscription_request_window.glade.h:2 -msgid "Authorize contact so he can know when you're connected" +msgid "Authorize contact so he or she can know when you're connected" msgstr "Dozvoli kontaktu da može vidjeti kada sam spojen" #: ../data/glade/subscription_request_window.glade.h:3 -msgid "Deny authorization from contact so he cannot know when you're connected" +msgid "" +"Deny authorization from contact so he or she cannot know when you're " +"connected" msgstr "Odbija autorizaciju kontaktu kako nebi mogao vidjeti kada ste spojeni" #: ../data/glade/subscription_request_window.glade.h:4 @@ -2294,51 +2342,58 @@ msgid "Ask:" msgstr "Pitaj:" #: ../data/glade/vcard_information_window.glade.h:8 +msgid "Click to force avatar" +msgstr "Kliknite za prisilno postavljanje avatara" + +#: ../data/glade/vcard_information_window.glade.h:9 msgid "Client:" msgstr "Klijent:" -#: ../data/glade/vcard_information_window.glade.h:9 +#: ../data/glade/vcard_information_window.glade.h:10 msgid "Comments" msgstr "Komentari" -#: ../data/glade/vcard_information_window.glade.h:11 +#: ../data/glade/vcard_information_window.glade.h:12 +msgid "Configured avatar:" +msgstr "Podešeni avatar:" + +#: ../data/glade/vcard_information_window.glade.h:13 #: ../data/glade/zeroconf_information_window.glade.h:1 msgid "Contact" msgstr "Kontakt" -#: ../data/glade/vcard_information_window.glade.h:12 +#: ../data/glade/vcard_information_window.glade.h:14 msgid "Contact Information" msgstr "Informacije Kontakta" -#: ../data/glade/vcard_information_window.glade.h:24 +#: ../data/glade/vcard_information_window.glade.h:26 #: ../data/glade/zeroconf_information_window.glade.h:4 -#: ../data/glade/zeroconf_properties_window.glade.h:13 ../src/dialogs.py:416 +#: ../data/glade/zeroconf_properties_window.glade.h:13 ../src/dialogs.py:442 msgid "Jabber ID:" msgstr "Jabber ID:" -#: ../data/glade/vcard_information_window.glade.h:30 +#: ../data/glade/vcard_information_window.glade.h:33 msgid "OS:" msgstr "OS:" -#: ../data/glade/vcard_information_window.glade.h:37 +#: ../data/glade/vcard_information_window.glade.h:40 #: ../data/glade/zeroconf_information_window.glade.h:8 msgid "Resource:" msgstr "Resurs" -#: ../data/glade/vcard_information_window.glade.h:40 +#: ../data/glade/vcard_information_window.glade.h:43 #: ../data/glade/zeroconf_information_window.glade.h:9 msgid "Status:" msgstr "Status:" #. Family Name -#: ../data/glade/vcard_information_window.glade.h:43 +#: ../data/glade/vcard_information_window.glade.h:46 msgid "Subscription:" msgstr "Pretplata:" -#: ../data/glade/vcard_information_window.glade.h:47 -#: ../data/glade/zeroconf_information_window.glade.h:10 -msgid "_Log conversation history" -msgstr "_Pamti povijest razgovora" +#: ../data/glade/vcard_information_window.glade.h:49 +msgid "User avatar:" +msgstr "Korisnički Avatar:" #: ../data/glade/xml_console_window.glade.h:1 msgid "Jabber Traffic" @@ -2397,7 +2452,7 @@ msgid "" msgstr "" "Ako je pretpostavljeni port koji se koristi za dolazne poruke neprikladan za " "vaše postavke, ovdje možete odabrati neki drugi.\n" -"Mogli biste uzeti u obzir mogućnost izmjene postavki vatrozida." +"Mogli bi ste uzeti u obzir mogućnost izmjene postavki vatrozida." #: ../data/glade/zeroconf_properties_window.glade.h:15 msgid "Modify Account" @@ -2407,25 +2462,50 @@ msgstr "Izmjeni Račun" msgid "Use custom port:" msgstr "Koristi vlastiti port:" -#: ../src/advanced.py:57 +#. For i18n +#: ../src/advanced.py:51 +msgid "Activated" +msgstr "Aktivno" + +#: ../src/advanced.py:51 +msgid "Deactivated" +msgstr "Neaktivno" + +#: ../src/advanced.py:53 +msgid "Boolean" +msgstr "Boolean" + +#: ../src/advanced.py:54 +msgid "Integer" +msgstr "Cijeli broj" + +#: ../src/advanced.py:55 +msgid "Text" +msgstr "Tekst" + +#: ../src/advanced.py:56 +msgid "Color" +msgstr "Boja" + +#: ../src/advanced.py:65 msgid "Preference Name" msgstr "Ime Postavke" -#: ../src/advanced.py:63 +#: ../src/advanced.py:71 msgid "Value" msgstr "Vrijednost" -#: ../src/advanced.py:72 +#: ../src/advanced.py:79 msgid "Type" msgstr "Vrsta" #. we talk about option description in advanced configuration editor -#: ../src/advanced.py:128 +#: ../src/advanced.py:136 msgid "(None)" msgstr "(Nema)" #. we talk about password -#: ../src/advanced.py:227 +#: ../src/advanced.py:239 msgid "Hidden" msgstr "Skrivena" @@ -2438,13 +2518,17 @@ msgstr "Skrivena" msgid "English" msgstr "Engleski" +#: ../src/chat_control.py:52 +msgid "Belarusian" +msgstr "Bjeloruski" + #: ../src/chat_control.py:52 msgid "Bulgarian" msgstr "Bugarski" #: ../src/chat_control.py:52 -msgid "Briton" -msgstr "Britanski" +msgid "Breton" +msgstr "Bretonski" #: ../src/chat_control.py:52 msgid "Czech" @@ -2458,6 +2542,10 @@ msgstr "Njemački" msgid "Greek" msgstr "Grčki" +#: ../src/chat_control.py:52 +msgid "British" +msgstr "Britanski" + #: ../src/chat_control.py:52 msgid "Esperanto" msgstr "Esperanto" @@ -2467,7 +2555,7 @@ msgid "Spanish" msgstr "Španjolski" #: ../src/chat_control.py:52 -msgid "Basc" +msgid "Basque" msgstr "Baskijski" #: ../src/chat_control.py:52 @@ -2483,15 +2571,15 @@ msgid "Italian" msgstr "Talijanski" #: ../src/chat_control.py:52 -msgid "Norvegian b" -msgstr "Norveški b" +msgid "Norwegian (b)" +msgstr "Norveški (b)" #: ../src/chat_control.py:52 msgid "Dutch" msgstr "Nizozemski" #: ../src/chat_control.py:52 -msgid "Norvegian" +msgid "Norwegian" msgstr "Norveški" #: ../src/chat_control.py:52 @@ -2510,6 +2598,10 @@ msgstr "Brazilski Portugalski" msgid "Russian" msgstr "Ruski" +#: ../src/chat_control.py:52 +msgid "Serbian" +msgstr "Srpski" + #: ../src/chat_control.py:52 msgid "Slovak" msgstr "Slovački" @@ -2522,78 +2614,78 @@ msgstr "Švedski" msgid "Chinese (Ch)" msgstr "Kineski (Ch)" -#: ../src/chat_control.py:201 ../src/dialogs.py:1497 -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 "" -"Ako to nije vaš jezik za koji želite osvjetliti krivo napisane riječi, " -"molimo podesite $LANG varijablu na odgovarajuću vrijednost. Npr. za " -"francuski napravite export LANG=fr_FR ili export LANG=fr_FR.UTF-8 u ~/." -"bash_profile ili kako bi bilo globalno u /etc/profile.\n" -"\n" -"Mogućnost osvjetljavanja krivo napisanih riječi neće biti korištena" - -#: ../src/chat_control.py:239 +#: ../src/chat_control.py:244 msgid "Spelling language" msgstr "Jezik pravopisa" #. we are not connected -#: ../src/chat_control.py:262 ../src/chat_control.py:468 +#: ../src/chat_control.py:267 ../src/chat_control.py:473 msgid "A connection is not available" msgstr "Veza nije dostupna" -#: ../src/chat_control.py:263 ../src/chat_control.py:469 +#: ../src/chat_control.py:268 ../src/chat_control.py:474 msgid "Your message can not be sent until you are connected." msgstr "Vaša poruka ne može biti poslana dok niste spojeni." -#: ../src/chat_control.py:844 -msgid "Chats" -msgstr "Razgovori" - -#: ../src/chat_control.py:1030 +#: ../src/chat_control.py:1092 #, python-format msgid "%(nickname)s from group chat %(room_name)s" msgstr "%(nickname)s iz grupnog razgovora %(room_name)s" #. we talk about a contact here -#: ../src/chat_control.py:1118 +#: ../src/chat_control.py:1181 #, python-format msgid "%s has not broadcast an OpenPGP key, nor has one been assigned" msgstr "%s nije ustupio OpenPGP ključ, niti mu je ikoji dodijeljen" -#: ../src/chat_control.py:1254 +#: ../src/chat_control.py:1215 ../src/groupchat_control.py:1337 +#, python-format +msgid "Commands: %s" +msgstr "Komanda: %s" + +#: ../src/chat_control.py:1218 ../src/groupchat_control.py:1351 +#, python-format +msgid "Usage: /%s, clears the text window." +msgstr "Način korištenja: /%s, prazni tekstualni prozor" + +#: ../src/chat_control.py:1221 ../src/groupchat_control.py:1356 +#, python-format +msgid "Usage: /%s, hide the chat buttons." +msgstr "Način korištenja: /%s, sakriva dugmadi." + +#: ../src/chat_control.py:1226 ../src/groupchat_control.py:1395 +#, python-format +msgid "No help info for /%s" +msgstr "Nema informacija ni pomoći za /%s" + +#: ../src/chat_control.py:1356 msgid "Encryption enabled" msgstr "Enkripcija omogućena" -#: ../src/chat_control.py:1259 +#: ../src/chat_control.py:1361 msgid "Encryption disabled" msgstr "Enkripcija onemogućena" #. add_to_roster_menuitem -#: ../src/chat_control.py:1401 ../src/conversation_textview.py:495 -#: ../src/dialogs.py:629 ../src/gajim.py:781 ../src/gajim.py:782 -#: ../src/gajim.py:1121 ../src/roster_window.py:328 -#: ../src/roster_window.py:404 ../src/roster_window.py:1638 -#: ../src/roster_window.py:1819 ../src/roster_window.py:2392 -#: ../src/roster_window.py:2596 ../src/roster_window.py:2607 -#: ../src/roster_window.py:3832 ../src/roster_window.py:3834 -#: ../src/common/contacts.py:73 ../src/common/helpers.py:42 -#: ../src/common/helpers.py:246 +#: ../src/chat_control.py:1505 ../src/conversation_textview.py:501 +#: ../src/dialogs.py:655 ../src/gajim.py:862 ../src/gajim.py:863 +#: ../src/gajim.py:1254 ../src/roster_window.py:335 +#: ../src/roster_window.py:417 ../src/roster_window.py:1739 +#: ../src/roster_window.py:1749 ../src/roster_window.py:1928 +#: ../src/roster_window.py:2152 ../src/roster_window.py:2857 +#: ../src/roster_window.py:3064 ../src/roster_window.py:4362 +#: ../src/roster_window.py:4364 ../src/common/contacts.py:76 +#: ../src/common/helpers.py:43 ../src/common/helpers.py:255 msgid "Not in Roster" msgstr "Nije na Listi Kontakata" #. %s is being replaced in the code with JID -#: ../src/chat_control.py:1545 +#: ../src/chat_control.py:1649 #, python-format msgid "You just received a new message from \"%s\"" msgstr "Upravo ste primili novu poruku od \"%s\"" -#: ../src/chat_control.py:1546 +#: ../src/chat_control.py:1650 msgid "" "If you close this tab and you have history disabled, this message will be " "lost." @@ -2601,277 +2693,278 @@ msgstr "" "Ako zatvorite ovaj tab, a imate povijest onemogućenu, ova poruka biti će " "izgubljena." -#: ../src/config.py:135 ../src/config.py:594 +#: ../src/config.py:139 ../src/config.py:588 msgid "Disabled" msgstr "Onemogućeno" -#: ../src/config.py:221 +#: ../src/config.py:233 #, python-format msgid "Every %s _minutes" msgstr "Svakih %s _minuta" -#: ../src/config.py:363 +#: ../src/config.py:353 msgid "Active" msgstr "Aktivno" -#: ../src/config.py:371 +#: ../src/config.py:361 msgid "Event" msgstr "Događaj" -#: ../src/config.py:685 ../src/gajim.py:2142 +#: ../src/config.py:684 ../src/dialogs.py:941 #, python-format msgid "Dictionary for lang %s not available" msgstr "Riječnik za jezik %s nije dostupan" -#: ../src/config.py:686 ../src/gajim.py:2143 +#: ../src/config.py:685 #, python-format 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 biste mogli koristiti provjeru pravopisa, " -"ili odaberite drugi jezik postavkom odabira speller_language opcije." +"Morate instalirati %s rječnik kako bi ste mogli koristiti provjeru " +"pravopisa, ili odaberite drugi jezik postavkom odabira speller_language " +"opcije." -#: ../src/config.py:1038 +#: ../src/config.py:1008 msgid "status message title" msgstr "naslov statusne poruke" -#: ../src/config.py:1038 +#: ../src/config.py:1008 msgid "status message text" msgstr "tekst statusne poruke" -#: ../src/config.py:1073 +#: ../src/config.py:1044 msgid "First Message Received" msgstr "Prva Poruka Primljena" -#: ../src/config.py:1074 +#: ../src/config.py:1045 msgid "Next Message Received" msgstr "Sljedeća Poruka Primljena" -#: ../src/config.py:1075 +#: ../src/config.py:1046 msgid "Contact Connected" msgstr "Kontakt Spojen" -#: ../src/config.py:1076 +#: ../src/config.py:1047 msgid "Contact Disconnected" msgstr "Kontakt Odspojen" -#: ../src/config.py:1077 +#: ../src/config.py:1048 msgid "Message Sent" msgstr "Poruka Poslana" -#: ../src/config.py:1078 +#: ../src/config.py:1049 msgid "Group Chat Message Highlight" msgstr "Označavanje Poruke Grupnog Razgovora" -#: ../src/config.py:1079 +#: ../src/config.py:1050 msgid "Group Chat Message Received" msgstr "Primljena Poruka Grupnog Razgovora" -#: ../src/config.py:1086 +#: ../src/config.py:1057 msgid "GMail Email Received" msgstr "Primljen Gmail Email" -#: ../src/config.py:1289 +#: ../src/config.py:1260 msgid "OpenPGP is not usable in this computer" msgstr "OpenPGP nije moguće koristiti na ovom računalu" -#: ../src/config.py:1335 +#: ../src/config.py:1306 msgid "You are currently connected to the server" msgstr "Trenutno ste spojeni na poslužitelj" -#: ../src/config.py:1336 +#: ../src/config.py:1307 msgid "To change the account name, you must be disconnected." msgstr "Za promjenu imena računa morate se odspojiti." -#: ../src/config.py:1339 ../src/config.py:1931 +#: ../src/config.py:1310 ../src/config.py:1916 msgid "Unread events" msgstr "Nepročitani događaji" -#: ../src/config.py:1340 +#: ../src/config.py:1311 msgid "To change the account name, you must read all pending events." msgstr "" -"Da biste mogli promjeniti ime računa, morate pročitati sve čekajuće događaje" +"Da bi ste mogli promjeniti ime računa, morate pročitati sve čekajuće događaje" -#: ../src/config.py:1344 +#: ../src/config.py:1315 msgid "Account Name Already Used" msgstr "Ime Računa Već Upotrebljeno" -#: ../src/config.py:1345 +#: ../src/config.py:1316 msgid "" "This name is already used by another of your accounts. Please choose another " "name." msgstr "Ovo ime već koristi vaš drugi račun. Molimo odaberite drugo ime." -#: ../src/config.py:1349 ../src/config.py:1353 +#: ../src/config.py:1320 ../src/config.py:1324 msgid "Invalid account name" msgstr "Neispravno ime računa" -#: ../src/config.py:1350 +#: ../src/config.py:1321 msgid "Account name cannot be empty." msgstr "Ime računa ne može biti prazno." -#: ../src/config.py:1354 +#: ../src/config.py:1325 msgid "Account name cannot contain spaces." msgstr "Ime računa ne može sadržavati razmake." -#: ../src/config.py:1362 ../src/config.py:1368 ../src/config.py:1378 -#: ../src/config.py:3036 +#: ../src/config.py:1333 ../src/config.py:1339 ../src/config.py:1349 +#: ../src/config.py:2897 msgid "Invalid Jabber ID" msgstr "Neispravan Jabber ID" -#: ../src/config.py:1369 +#: ../src/config.py:1340 msgid "A Jabber ID must be in the form \"user@servername\"." msgstr "Jabber ID mora biti forme \"korisnik@poslužitelj\"." -#: ../src/config.py:1428 +#: ../src/config.py:1399 ../src/config.py:2968 msgid "Invalid entry" msgstr "Neispravan unos" -#: ../src/config.py:1429 +#: ../src/config.py:1400 ../src/config.py:2969 msgid "Custom port must be a port number." msgstr "Osobni port mora biti broj porta." -#: ../src/config.py:1555 ../src/common/config.py:363 +#: ../src/config.py:1528 ../src/common/config.py:370 msgid "Be right back." msgstr "Odmah se vraćam." -#: ../src/config.py:1565 +#: ../src/config.py:1538 msgid "Relogin now?" msgstr "Prijaviti se odmah?" -#: ../src/config.py:1566 +#: ../src/config.py:1539 msgid "If you want all the changes to apply instantly, you must relogin." msgstr "" "Ako želite da se sve promjene odmah primjene, morate se ponovo prijaviti." -#: ../src/config.py:1592 +#: ../src/config.py:1565 msgid "No such account available" msgstr "Takav račun nije dostupan" -#: ../src/config.py:1593 +#: ../src/config.py:1566 msgid "You must create your account before editing your personal information." msgstr "Morate napravit svoj račun prije izmjena osobnih informacija." -#: ../src/config.py:1600 ../src/dialogs.py:1128 ../src/dialogs.py:1297 -#: ../src/disco.py:417 ../src/profile_window.py:307 -#: ../src/profile_window.py:373 +#: ../src/config.py:1573 ../src/dialogs.py:1225 ../src/dialogs.py:1361 +#: ../src/dialogs.py:1541 ../src/disco.py:420 ../src/profile_window.py:329 msgid "You are not connected to the server" msgstr "Niste spojeni na poslužitelj." -#: ../src/config.py:1601 +#: ../src/config.py:1574 msgid "Without a connection, you can not edit your personal information." msgstr "Bez veze sa poslužiteljom nije moguća izmjena osobnih informacija." -#: ../src/config.py:1605 +#: ../src/config.py:1578 msgid "Your server doesn't support Vcard" msgstr "Vaš poslužitelj ne podržava Vcard" -#: ../src/config.py:1606 +#: ../src/config.py:1579 msgid "Your server can't save your personal information." msgstr "Vaš poslužitelj nije u mogućnosti spremiti vaše osobne informacije." -#: ../src/config.py:1630 ../src/config.py:3423 +#: ../src/config.py:1610 ../src/config.py:3400 msgid "Failed to get secret keys" msgstr "Neuspješno dohvaćanje tajnih ključeva" -#: ../src/config.py:1631 ../src/config.py:3424 +#: ../src/config.py:1611 ../src/config.py:3401 msgid "There was a problem retrieving your OpenPGP secret keys." msgstr "Došlo je do problema pri dohvaćanju vaših OpenPGP tajnih ključeva." -#: ../src/config.py:1634 ../src/config.py:3427 +#: ../src/config.py:1614 ../src/config.py:3404 msgid "OpenPGP Key Selection" msgstr "Odabir OpenPGP Ključeva" -#: ../src/config.py:1635 ../src/config.py:3428 +#: ../src/config.py:1615 ../src/config.py:3405 msgid "Choose your OpenPGP key" msgstr "Odaberite svoj OpenPGP ključ" #. Name column -#: ../src/config.py:1865 ../src/disco.py:741 ../src/disco.py:1467 -#: ../src/disco.py:1705 ../src/history_window.py:78 +#: ../src/config.py:1850 ../src/dialogs.py:1373 ../src/dialogs.py:1437 +#: ../src/disco.py:741 ../src/disco.py:1564 ../src/disco.py:1802 +#: ../src/history_window.py:78 msgid "Name" msgstr "Ime" -#: ../src/config.py:1868 +#: ../src/config.py:1853 ../src/dialogs.py:1376 msgid "Server" msgstr "Poslužitelj" -#: ../src/config.py:1932 +#: ../src/config.py:1917 msgid "Read all pending events before removing this account." msgstr "Pročitajte sve događaje na čekanju prije uklanjanja ovog računa." -#: ../src/config.py:1969 +#: ../src/config.py:1954 #, python-format msgid "You have opened chat in account %s" msgstr "Otvorili ste razgovor u računu %s" -#: ../src/config.py:1970 +#: ../src/config.py:1955 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?" -#: ../src/config.py:2029 +#: ../src/config.py:2014 msgid "Account Local already exists." msgstr "Račun Lokalno već postoji." -#: ../src/config.py:2030 +#: ../src/config.py:2015 msgid "Please rename or remove it before enabling link-local messaging." msgstr "" "Molimo uklonite ili preimenujte prije omogućivanja poruka lokalne veze." -#: ../src/config.py:2262 +#: ../src/config.py:2153 #, python-format msgid "Edit %s" msgstr "Izmjena %s" -#: ../src/config.py:2264 +#: ../src/config.py:2155 #, python-format msgid "Register to %s" msgstr "Registrirati se na %s" -#. list at the begining -#: ../src/config.py:2336 +#. list at the beginning +#: ../src/config.py:2191 msgid "Ban List" msgstr "Ban Lista" -#: ../src/config.py:2337 +#: ../src/config.py:2192 msgid "Member List" msgstr "Lista Članova" -#: ../src/config.py:2338 +#: ../src/config.py:2193 msgid "Owner List" msgstr "Lista Vasnika" -#: ../src/config.py:2339 +#: ../src/config.py:2194 msgid "Administrator List" msgstr "Lista Administratora" #. Address column #. holds JID (who said this) -#: ../src/config.py:2372 ../src/disco.py:748 ../src/history_manager.py:154 +#: ../src/config.py:2243 ../src/disco.py:748 ../src/history_manager.py:155 msgid "JID" msgstr "JID" -#: ../src/config.py:2380 +#: ../src/config.py:2251 msgid "Reason" msgstr "Razlog" -#: ../src/config.py:2385 +#: ../src/config.py:2256 msgid "Nick" msgstr "Nadimak" -#: ../src/config.py:2389 +#: ../src/config.py:2260 msgid "Role" msgstr "Uloga" -#: ../src/config.py:2410 +#: ../src/config.py:2285 msgid "Banning..." msgstr "Zabranjivanje..." #. You can move '\n' before user@domain if that line is TOO BIG -#: ../src/config.py:2412 +#: ../src/config.py:2287 msgid "" "Whom do you want to ban?\n" "\n" @@ -2879,11 +2972,11 @@ msgstr "" "Koga želite zabraniti?\n" "\n" -#: ../src/config.py:2414 +#: ../src/config.py:2289 msgid "Adding Member..." msgstr "Dodaja Člana..." -#: ../src/config.py:2415 +#: ../src/config.py:2290 msgid "" "Whom do you want to make a member?\n" "\n" @@ -2891,23 +2984,23 @@ msgstr "" "Koga želite učiniti članom?\n" "\n" -#: ../src/config.py:2417 +#: ../src/config.py:2292 msgid "Adding Owner..." msgstr "Dodavanje Vlasnika..." -#: ../src/config.py:2418 +#: ../src/config.py:2293 msgid "" -"Whom do you want to make a owner?\n" +"Whom do you want to make an owner?\n" "\n" msgstr "" "Koga želite učiniti vlasnikom?\n" "\n" -#: ../src/config.py:2420 +#: ../src/config.py:2295 msgid "Adding Administrator..." msgstr "Dodajem Administratora..." -#: ../src/config.py:2421 +#: ../src/config.py:2296 msgid "" "Whom do you want to make an administrator?\n" "\n" @@ -2915,7 +3008,7 @@ msgstr "" "Koga želite učiniti administratorom?\n" "\n" -#: ../src/config.py:2422 +#: ../src/config.py:2297 msgid "" "Can be one of the following:\n" "1. user@domain/resource (only that resource matches).\n" @@ -2931,121 +3024,120 @@ msgstr "" "4. domena (sama domena se poklapa, kao i bilo koji korisnik@domena,\n" "domena/resurs, ili adresa koja sadrži poddomenu." -#: ../src/config.py:2527 +#: ../src/config.py:2401 #, python-format msgid "Removing %s account" msgstr "Uklanjanje %s računa" -#: ../src/config.py:2544 ../src/roster_window.py:2665 +#: ../src/config.py:2418 ../src/roster_window.py:3123 msgid "Password Required" msgstr "Potrebna Lozinka" -#: ../src/config.py:2545 ../src/roster_window.py:2666 +#: ../src/config.py:2419 ../src/roster_window.py:3119 #, python-format msgid "Enter your password for account %s" msgstr "Unesite svoju lozinku za račun %s" -#: ../src/config.py:2546 ../src/roster_window.py:2667 +#: ../src/config.py:2420 ../src/roster_window.py:3124 msgid "Save password" msgstr "Spremiti lozinku" -#: ../src/config.py:2560 +#: ../src/config.py:2434 #, python-format msgid "Account \"%s\" is connected to the server" msgstr "Račun \"%s\" je spojen na poslužitelj" -#: ../src/config.py:2561 +#: ../src/config.py:2435 msgid "If you remove it, the connection will be lost." msgstr "Ukoliko ga uklonite, veza će biti izgubljena." -#: ../src/config.py:2645 +#: ../src/config.py:2520 msgid "Default" msgstr "Predefinirano" -#: ../src/config.py:2645 +#: ../src/config.py:2520 msgid "?print_status:All" msgstr "?ispis_statusa:Sve" -#: ../src/config.py:2646 +#: ../src/config.py:2521 msgid "Enter and leave only" msgstr "Ući i samo napustiti" -#: ../src/config.py:2716 +#: ../src/config.py:2522 +msgid "?print_status:None" +msgstr "?ispis_statusa:Ništa" + +#: ../src/config.py:2590 msgid "New Group Chat" msgstr "Novi Grupni Razgovor" -#: ../src/config.py:2748 +#: ../src/config.py:2623 msgid "This bookmark has invalid data" msgstr "Ova knjižna oznaka ima neispravne podatke" -#: ../src/config.py:2749 +#: ../src/config.py:2624 msgid "" "Please be sure to fill out server and room fields or remove this bookmark." msgstr "" "Molimo obavezno ispunite polja poslužitelja i sobe ili uklonite ovu kljižnu " "oznaku." -#: ../src/config.py:3011 +#: ../src/config.py:2880 msgid "Invalid username" msgstr "Neispravno korisničko ime" -#: ../src/config.py:3012 +#: ../src/config.py:2882 msgid "You must provide a username to configure this account." msgstr "Morate ponuditi korisničko ime za postavke ovog računa." -#: ../src/config.py:3022 ../src/dialogs.py:1316 -msgid "Invalid password" -msgstr "Neispravna lozinka" - -#: ../src/config.py:3023 -msgid "You must enter a password for the new account." -msgstr "Morate unesti lozinku za novi račun" - -#: ../src/config.py:3027 ../src/dialogs.py:1321 -msgid "Passwords do not match" -msgstr "Lozinke se ne podudaraju" - -#: ../src/config.py:3028 ../src/dialogs.py:1322 -msgid "The passwords typed in both fields must be identical." -msgstr "Lozinke upisane u oba polja moraju biti identične." - -#: ../src/config.py:3047 +#: ../src/config.py:2908 msgid "Duplicate Jabber ID" msgstr "Dvostruki Jabber ID" -#: ../src/config.py:3048 +#: ../src/config.py:2909 msgid "This account is already configured in Gajim." msgstr "Ovaj račun je već konfiguriran u Gajimu." -#: ../src/config.py:3065 +#: ../src/config.py:2926 msgid "Account has been added successfully" msgstr "Račun je uspješno dodan" -#: ../src/config.py:3066 ../src/config.py:3101 +#: ../src/config.py:2927 ../src/config.py:3071 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." +"You can set advanced account options by pressing the Advanced button, or " +"later by choosing the Accounts menuitem under the Edit menu from the main " +"window." msgstr "" "Napredne opcije računa možete podesiti pritiskom na gumb Napredno, ili " "kasnije klikom na element Računi pod izbornikom Uredi iz glavnog prozora." -#: ../src/config.py:3100 +#: ../src/config.py:2944 +#, fuzzy +msgid "Invalid server" +msgstr "Neispravno korisničko ime" + +#: ../src/config.py:2945 +#, fuzzy +msgid "Please provide a server on which you want to register." +msgstr "Molimo specificirajte novi nadimak ako ga želite koristiti:" + +#: ../src/config.py:3050 ../src/config.py:3088 +msgid "An error occurred during account creation" +msgstr "Pojavila se greška pri stvaranju računa" + +#: ../src/config.py:3070 msgid "Your new account has been created successfully" msgstr "Vaš novi račun je uspješno stvoren" -#: ../src/config.py:3118 -msgid "An error occured during account creation" -msgstr "Pojavila se greška pri stvaranju računa" - -#: ../src/config.py:3176 +#: ../src/config.py:3170 msgid "Account name is in use" msgstr "Ime računa se već koristi" -#: ../src/config.py:3177 +#: ../src/config.py:3171 msgid "You already have an account using this name." msgstr "Već imate račun pod tim imenom." -#: ../src/conversation_textview.py:273 +#: ../src/conversation_textview.py:279 msgid "" "Text below this line is what has been said since the last time you paid " "attention to this group chat" @@ -3053,182 +3145,182 @@ msgstr "" "Tekst niže od ove linije je ono što je rečeno od kad ste zadnji puta " "obraćali pozornost na ovaj grupni razovor" -#: ../src/conversation_textview.py:342 +#: ../src/conversation_textview.py:348 #, python-format msgid "_Actions for \"%s\"" msgstr "_Akcije za \"%s\"" -#: ../src/conversation_textview.py:354 +#: ../src/conversation_textview.py:360 msgid "Read _Wikipedia Article" msgstr "Pročitajte članak na _Wikipedii" -#: ../src/conversation_textview.py:359 +#: ../src/conversation_textview.py:365 msgid "Look it up in _Dictionary" msgstr "Potražiti u _Riječniku" #. we must have %s in the url if not WIKTIONARY -#: ../src/conversation_textview.py:375 +#: ../src/conversation_textview.py:381 #, python-format msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" msgstr "URL-u riječnika nedostaje \"%s\" i nije WIKTIONARY" #. we must have %s in the url -#: ../src/conversation_textview.py:388 +#: ../src/conversation_textview.py:394 #, python-format msgid "Web Search URL is missing an \"%s\"" msgstr "URL-u Web Pretrage nedostaje \"%s\"" -#: ../src/conversation_textview.py:391 +#: ../src/conversation_textview.py:397 msgid "Web _Search for it" msgstr "_Pretraži Web" -#: ../src/conversation_textview.py:397 +#: ../src/conversation_textview.py:403 msgid "Open as _Link" msgstr "Otvori kao _Poveznicu" -#: ../src/conversation_textview.py:757 +#: ../src/conversation_textview.py:848 msgid "Yesterday" msgstr "Jučer" #. the number is >= 2 #. %i is day in year (1-365), %d (1-31) we want %i -#: ../src/conversation_textview.py:761 +#: ../src/conversation_textview.py:852 #, python-format msgid "%i days ago" msgstr "Prije %i dana" #. if we have subject, show it too! -#: ../src/conversation_textview.py:793 +#: ../src/conversation_textview.py:886 #, python-format msgid "Subject: %s\n" msgstr "Tema: %s\n" -#: ../src/dialogs.py:59 +#: ../src/dialogs.py:60 #, python-format msgid "Contact name: %s" msgstr "Ime kontakta: %s" -#: ../src/dialogs.py:61 +#: ../src/dialogs.py:62 #, python-format msgid "Jabber ID: %s" msgstr "Jabber ID: %s" -#: ../src/dialogs.py:211 +#: ../src/dialogs.py:212 msgid "Group" msgstr "Grupa" -#: ../src/dialogs.py:218 +#: ../src/dialogs.py:219 msgid "In the group" msgstr "U grupi" -#: ../src/dialogs.py:269 +#: ../src/dialogs.py:270 msgid "KeyID" msgstr "ID ključa" -#: ../src/dialogs.py:272 +#: ../src/dialogs.py:273 msgid "Contact name" msgstr "Ime kontakta" -#: ../src/dialogs.py:318 +#: ../src/dialogs.py:319 #, python-format msgid "%s Status Message" msgstr "%s Statusna Poruka" -#: ../src/dialogs.py:320 +#: ../src/dialogs.py:321 msgid "Status Message" msgstr "Statusna Poruka" -#: ../src/dialogs.py:395 +#: ../src/dialogs.py:421 msgid "Save as Preset Status Message" msgstr "Snimiti kao Unaprijed Postavljenu Statusnu Poruku" -#: ../src/dialogs.py:396 +#: ../src/dialogs.py:422 msgid "Please type a name for this status message" msgstr "Molimo unesite ime za ovu statusnu poruku" -#: ../src/dialogs.py:417 +#: ../src/dialogs.py:443 msgid "AIM Address:" msgstr "AIM Adresa:" -#: ../src/dialogs.py:418 +#: ../src/dialogs.py:444 msgid "GG Number:" msgstr "GG Broj:" -#: ../src/dialogs.py:419 +#: ../src/dialogs.py:445 msgid "ICQ Number:" msgstr "ICQ Broj:" -#: ../src/dialogs.py:420 +#: ../src/dialogs.py:446 msgid "MSN Address:" msgstr "MSN Adresa:" -#: ../src/dialogs.py:421 +#: ../src/dialogs.py:447 msgid "Yahoo! Address:" msgstr "Yahoo! Adresa:" -#: ../src/dialogs.py:457 +#: ../src/dialogs.py:483 #, python-format msgid "Please fill in the data of the contact you want to add in account %s" msgstr "Molimo ispunite podatke kontakta kojeg želite dodati u račun %s" -#: ../src/dialogs.py:459 +#: ../src/dialogs.py:485 msgid "Please fill in the data of the contact you want to add" msgstr "Molimo ispunite podatke kontakta kojeg želite dodati" -#: ../src/dialogs.py:609 ../src/dialogs.py:615 +#: ../src/dialogs.py:635 ../src/dialogs.py:641 msgid "Invalid User ID" msgstr "Neispravan Korisnički ID" -#: ../src/dialogs.py:616 +#: ../src/dialogs.py:642 msgid "The user ID must not contain a resource." msgstr "ID korisnika ne smije sadržavati resurs." -#: ../src/dialogs.py:630 +#: ../src/dialogs.py:656 msgid "Contact already in roster" msgstr "Kontakt je već na listi" -#: ../src/dialogs.py:631 +#: ../src/dialogs.py:657 msgid "This contact is already listed in your roster." msgstr "Ovaj kontakt je već na vašoj listi kontakata." -#: ../src/dialogs.py:665 +#: ../src/dialogs.py:694 msgid "User ID:" msgstr "ID Korisnika:" -#: ../src/dialogs.py:728 +#: ../src/dialogs.py:757 msgid "A GTK+ jabber client" msgstr "GTK+ jabber klijent" -#: ../src/dialogs.py:729 +#: ../src/dialogs.py:758 msgid "GTK+ Version:" msgstr "GTK+ Verzija:" -#: ../src/dialogs.py:730 +#: ../src/dialogs.py:759 msgid "PyGTK Version:" msgstr "PyGTK Verzija:" -#: ../src/dialogs.py:744 +#: ../src/dialogs.py:773 msgid "Current Developers:" msgstr "Trenutni Razvojni Programeri:" -#: ../src/dialogs.py:746 +#: ../src/dialogs.py:775 msgid "Past Developers:" msgstr "Prošli Razvojni Programeri:" -#: ../src/dialogs.py:756 +#: ../src/dialogs.py:785 msgid "THANKS:" msgstr "ZAHVALE:" #. remove one english sentence #. and add it manually as translatable -#: ../src/dialogs.py:762 +#: ../src/dialogs.py:791 msgid "Last but not least, we would like to thank all the package maintainers." msgstr "" "Zadnje, ali ne najmanje, željeli bismo se zahvaliti svim održavateljima " "paketa" #. here you write your name in the form Name FamilyName -#: ../src/dialogs.py:776 +#: ../src/dialogs.py:804 msgid "translator-credits" msgstr "" "Adrian C. \n" @@ -3236,70 +3328,100 @@ msgstr "" "Armando V. \n" "Vedran M. " -#: ../src/dialogs.py:906 +#: ../src/dialogs.py:934 #, python-format msgid "Unable to bind to port %s." msgstr "Nemoguće vezanje na port %s." -#: ../src/dialogs.py:907 +#: ../src/dialogs.py:935 msgid "" "Maybe you have another running instance of Gajim. File Transfer will be " -"canceled." +"cancelled." msgstr "" "Možda već imate pokrenutu jednu instancu Gajima. Prijenos Datoteka će biti " -"prekinut." +"otkazan." -#: ../src/dialogs.py:1058 +#: ../src/dialogs.py:942 +#, python-format +msgid "" +"You have to install %s dictionary 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." + +#: ../src/dialogs.py:1155 #, python-format msgid "Subscription request for account %s from %s" msgstr "Zahtjev pretplate za račun %s od %s" -#: ../src/dialogs.py:1061 +#: ../src/dialogs.py:1158 #, python-format msgid "Subscription request from %s" msgstr "Zahtjev za pretplatom od %s" -#: ../src/dialogs.py:1121 ../src/roster_window.py:681 +#: ../src/dialogs.py:1218 ../src/roster_window.py:743 #, python-format msgid "You are already in group chat %s" msgstr "Već ste u grupnom razgovoru %s" -#: ../src/dialogs.py:1129 +#: ../src/dialogs.py:1226 msgid "You can not join a group chat unless you are connected." msgstr "Ne možete se pridružiti grupnom razgovoru ukoliko niste spojeni." -#: ../src/dialogs.py:1144 +#: ../src/dialogs.py:1241 #, python-format msgid "Join Group Chat with account %s" msgstr "Pridružiti se Grupnom Razgovoru sa računom %s" -#: ../src/dialogs.py:1212 ../src/dialogs.py:1218 +#: ../src/dialogs.py:1309 ../src/dialogs.py:1315 +#: ../src/groupchat_control.py:1536 msgid "Invalid group chat Jabber ID" msgstr "Neispravan Jabber ID grupnog razgovora" -#: ../src/dialogs.py:1213 ../src/dialogs.py:1219 +#: ../src/dialogs.py:1310 ../src/dialogs.py:1316 +#: ../src/groupchat_control.py:1537 msgid "The group chat Jabber ID has not allowed characters." msgstr "Jabber ID grupnog razgovora ima nedozvoljene znakove." -#: ../src/dialogs.py:1225 +#: ../src/dialogs.py:1322 msgid "This is not a group chat" msgstr "Ovo nije grupni razgovor" -#: ../src/dialogs.py:1226 +#: ../src/dialogs.py:1323 #, python-format msgid "%s is not the name of a group chat." msgstr "%s nije ime grupnog razgovora." -#: ../src/dialogs.py:1248 +#: ../src/dialogs.py:1362 +msgid "Without a connection, you can not synchronise your contacts." +msgstr "Bez veze nije moguća sinkronizirati vaše kontakte." + +#: ../src/dialogs.py:1409 +msgid "This account is not connected to the server" +msgstr "Ovaj račun nije spojen sa poslužiteljem" + +#: ../src/dialogs.py:1410 +msgid "You cannot synchronize with an account unless it is connected." +msgstr "Ne možete sinkronizirati sa računom ukoliko nije spojen." + +#: ../src/dialogs.py:1434 +msgid "Synchronise" +msgstr "Sinkroniziraj" + +#: ../src/dialogs.py:1492 #, python-format msgid "Start Chat with account %s" msgstr "Započeti Razgovor sa računom %s" -#: ../src/dialogs.py:1250 +#: ../src/dialogs.py:1494 msgid "Start Chat" msgstr "Započeti Razgovor" -#: ../src/dialogs.py:1251 +#: ../src/dialogs.py:1495 msgid "" "Fill in the nickname or the Jabber ID of the contact you would like\n" "to send a chat message to:" @@ -3308,261 +3430,288 @@ msgstr "" "poslati razgovornu poruku:" #. if offline or connecting -#: ../src/dialogs.py:1276 ../src/dialogs.py:1635 ../src/dialogs.py:1764 +#: ../src/dialogs.py:1520 ../src/dialogs.py:1877 ../src/dialogs.py:2008 msgid "Connection not available" msgstr "Veza nije dostupna" -#: ../src/dialogs.py:1277 ../src/dialogs.py:1636 ../src/dialogs.py:1765 +#: ../src/dialogs.py:1521 ../src/dialogs.py:1878 ../src/dialogs.py:2009 #, python-format msgid "Please make sure you are connected with \"%s\"." msgstr "Molimo potvrdite da ste spojeni na \"%s\"." -#: ../src/dialogs.py:1286 ../src/dialogs.py:1289 +#: ../src/dialogs.py:1530 ../src/dialogs.py:1533 msgid "Invalid JID" msgstr "Neispravan JID" -#: ../src/dialogs.py:1289 +#: ../src/dialogs.py:1533 #, python-format msgid "Unable to parse \"%s\"." msgstr "Nije moguće učitati \"%s\"." -#: ../src/dialogs.py:1298 +#: ../src/dialogs.py:1542 msgid "Without a connection, you can not change your password." msgstr "Bez veze nije moguća promjena lozinke." -#: ../src/dialogs.py:1317 +#: ../src/dialogs.py:1560 +msgid "Invalid password" +msgstr "Neispravna lozinka" + +#: ../src/dialogs.py:1561 msgid "You must enter a password." msgstr "Morate unesti lozinku." +#: ../src/dialogs.py:1565 +msgid "Passwords do not match" +msgstr "Lozinke se ne podudaraju" + +#: ../src/dialogs.py:1566 +msgid "The passwords typed in both fields must be identical." +msgstr "Lozinke upisane u oba polja moraju biti identične." + #. img to display #. default value -#: ../src/dialogs.py:1364 ../src/notify.py:211 ../src/notify.py:411 +#: ../src/dialogs.py:1608 ../src/notify.py:214 ../src/notify.py:418 msgid "Contact Signed In" msgstr "Kontakt Se Prijavio" -#: ../src/dialogs.py:1366 ../src/notify.py:219 ../src/notify.py:413 +#: ../src/dialogs.py:1610 ../src/notify.py:222 ../src/notify.py:420 msgid "Contact Signed Out" msgstr "Kontakt Se Odjavio" #. chat message -#: ../src/dialogs.py:1368 ../src/notify.py:238 ../src/notify.py:415 +#: ../src/dialogs.py:1612 ../src/notify.py:241 ../src/notify.py:422 msgid "New Message" msgstr "Nova Poruka" #. single message -#: ../src/dialogs.py:1368 ../src/notify.py:223 ../src/notify.py:415 +#: ../src/dialogs.py:1612 ../src/notify.py:226 ../src/notify.py:422 msgid "New Single Message" msgstr "Nova Jedna Poruka" #. private message -#: ../src/dialogs.py:1369 ../src/notify.py:230 ../src/notify.py:416 +#: ../src/dialogs.py:1613 ../src/notify.py:233 ../src/notify.py:423 msgid "New Private Message" msgstr "Nova Privatna Poruka" -#: ../src/dialogs.py:1369 ../src/gajim.py:1216 ../src/notify.py:424 +#: ../src/dialogs.py:1613 ../src/gajim.py:1350 ../src/notify.py:431 msgid "New E-mail" msgstr "Novi E-mail" -#: ../src/dialogs.py:1371 ../src/gajim.py:1369 ../src/notify.py:418 +#: ../src/dialogs.py:1615 ../src/gajim.py:1503 ../src/notify.py:425 msgid "File Transfer Request" msgstr "Zahtjev Razmjene Datoteka" -#: ../src/dialogs.py:1373 ../src/gajim.py:1188 ../src/gajim.py:1345 -#: ../src/notify.py:420 +#: ../src/dialogs.py:1617 ../src/gajim.py:1322 ../src/gajim.py:1479 +#: ../src/notify.py:427 msgid "File Transfer Error" msgstr "Greška u Razmjeni Datoteka" -#: ../src/dialogs.py:1375 ../src/gajim.py:1408 ../src/gajim.py:1430 -#: ../src/gajim.py:1447 ../src/notify.py:422 +#: ../src/dialogs.py:1619 ../src/gajim.py:1542 ../src/gajim.py:1564 +#: ../src/gajim.py:1581 ../src/notify.py:429 msgid "File Transfer Completed" msgstr "Razmjena Datoteka Završena" -#: ../src/dialogs.py:1376 ../src/gajim.py:1411 ../src/notify.py:422 +#: ../src/dialogs.py:1620 ../src/gajim.py:1545 ../src/notify.py:429 msgid "File Transfer Stopped" msgstr "Razmjena Datoteka Zaustavljena" -#: ../src/dialogs.py:1378 ../src/gajim.py:1086 ../src/notify.py:426 +#: ../src/dialogs.py:1622 ../src/gajim.py:1218 ../src/notify.py:433 msgid "Groupchat Invitation" msgstr "Poziv na Grupni Razgovor" -#: ../src/dialogs.py:1380 ../src/notify.py:203 ../src/notify.py:428 +#: ../src/dialogs.py:1624 ../src/notify.py:206 ../src/notify.py:435 msgid "Contact Changed Status" msgstr "Kontakt Promjenio Status" -#: ../src/dialogs.py:1565 +#: ../src/dialogs.py:1807 #, python-format msgid "Single Message using account %s" msgstr "Jedna Poruka koristeći račun %s" -#: ../src/dialogs.py:1567 +#: ../src/dialogs.py:1809 #, python-format msgid "Single Message in account %s" msgstr "Jedna Poruka u računu %s" -#: ../src/dialogs.py:1569 +#: ../src/dialogs.py:1811 msgid "Single Message" msgstr "Jedna Poruka" #. prepare UI for Sending -#: ../src/dialogs.py:1572 +#: ../src/dialogs.py:1814 #, python-format msgid "Send %s" msgstr "Poslati %s" #. prepare UI for Receiving -#: ../src/dialogs.py:1595 +#: ../src/dialogs.py:1837 #, python-format msgid "Received %s" msgstr "Primljene %s" #. we create a new blank window to send and we preset RE: and to jid -#: ../src/dialogs.py:1667 +#: ../src/dialogs.py:1909 #, python-format msgid "RE: %s" msgstr "RE: %s" -#: ../src/dialogs.py:1668 +#: ../src/dialogs.py:1910 #, python-format msgid "%s wrote:\n" msgstr "%s piše:\n" -#: ../src/dialogs.py:1712 +#: ../src/dialogs.py:1954 #, python-format msgid "XML Console for %s" msgstr "XML Konzola za %s" -#: ../src/dialogs.py:1714 +#: ../src/dialogs.py:1956 msgid "XML Console" msgstr "XML Konzola" -#: ../src/dialogs.py:1835 +#: ../src/dialogs.py:2079 #, python-format msgid "Privacy List %s" msgstr "Lista Privatnosti %s" -#: ../src/dialogs.py:1839 +#: ../src/dialogs.py:2083 #, python-format msgid "Privacy List for %s" msgstr "Lista Privatnosti za %s" -#: ../src/dialogs.py:1887 +#: ../src/dialogs.py:2141 #, python-format msgid "Order: %s, action: %s, type: %s, value: %s" msgstr "Redoslijed: %s, akcija: %s, tip: %s, vrijednost: %s" -#: ../src/dialogs.py:1890 +#: ../src/dialogs.py:2144 #, python-format msgid "Order: %s, action: %s" msgstr "Redosljed: %s, akcija: %s" -#: ../src/dialogs.py:1932 +#: ../src/dialogs.py:2186 msgid "Edit a rule" msgstr "Izmjena pravila" -#: ../src/dialogs.py:2019 +#: ../src/dialogs.py:2273 msgid "Add a rule" msgstr "Dodaj pravilo" -#: ../src/dialogs.py:2115 +#: ../src/dialogs.py:2362 +#, python-format +msgid "Blocked Contacts for %s" +msgstr "Blokirani Kontakti za %s" + +#: ../src/dialogs.py:2364 +msgid "Blocked Contacts" +msgstr "Blokirani Kontakti" + +#: ../src/dialogs.py:2433 +#, python-format +msgid "Group %s" +msgstr "Grupa %s" + +#: ../src/dialogs.py:2464 #, python-format msgid "Privacy Lists for %s" msgstr "Liste Privatnosti za %s" -#: ../src/dialogs.py:2117 +#: ../src/dialogs.py:2466 msgid "Privacy Lists" msgstr "Liste Privatnosti" -#: ../src/dialogs.py:2185 +#: ../src/dialogs.py:2536 msgid "Invalid List Name" msgstr "Neispravno Ime Liste" -#: ../src/dialogs.py:2186 +#: ../src/dialogs.py:2537 msgid "You must enter a name to create a privacy list." msgstr "Morate unesti ime za stvaranje liste privatnosti." -#. FIXME: use nickname instead of contact_jid -#: ../src/dialogs.py:2220 +#. Don't translate $Contact +#: ../src/dialogs.py:2571 #, python-format -msgid "%(contact_jid)s has invited you to group chat %(room_jid)s" -msgstr "%(contact_jid)s vas je pozvao na grupni razgovor %(room_jid)s" +msgid "$Contact has invited you to group chat %(room_jid)s" +msgstr "$Contact vas je pozvao na grupni razgovor %(room_jid)s" #. only if not None and not '' -#: ../src/dialogs.py:2226 +#: ../src/dialogs.py:2583 #, python-format msgid "Comment: %s" msgstr "Komentar: %s" -#: ../src/dialogs.py:2288 +#: ../src/dialogs.py:2645 msgid "Choose Sound" msgstr "Odabir Zvuka" -#: ../src/dialogs.py:2298 ../src/dialogs.py:2343 +#: ../src/dialogs.py:2655 ../src/dialogs.py:2700 msgid "All files" msgstr "Sve datoteke" -#: ../src/dialogs.py:2303 +#: ../src/dialogs.py:2660 msgid "Wav Sounds" msgstr "Wav Zvukovi" -#: ../src/dialogs.py:2333 +#: ../src/dialogs.py:2690 msgid "Choose Image" msgstr "Odabir Slike" -#: ../src/dialogs.py:2348 +#: ../src/dialogs.py:2705 msgid "Images" msgstr "Slike" -#: ../src/dialogs.py:2405 +#: ../src/dialogs.py:2762 #, python-format msgid "When %s becomes:" msgstr "Kad %s postane:" -#: ../src/dialogs.py:2407 +#: ../src/dialogs.py:2764 #, python-format msgid "Adding Special Notification for %s" msgstr "Dodavanje Posebne Obavijesti za %s" #. # means number -#: ../src/dialogs.py:2478 +#: ../src/dialogs.py:2835 msgid "#" msgstr "#" -#: ../src/dialogs.py:2484 +#: ../src/dialogs.py:2841 msgid "Condition" msgstr "Uvjet" -#: ../src/dialogs.py:2605 +#: ../src/dialogs.py:2962 msgid "when I am " msgstr "kada sam " -#: ../src/disco.py:101 +#: ../src/disco.py:104 msgid "Others" msgstr "Ostali" -#: ../src/disco.py:102 ../src/disco.py:103 ../src/disco.py:1253 -#: ../src/gajim.py:539 ../src/roster_window.py:267 ../src/roster_window.py:325 -#: ../src/roster_window.py:364 ../src/roster_window.py:445 -#: ../src/roster_window.py:477 ../src/roster_window.py:479 -#: ../src/roster_window.py:3828 ../src/roster_window.py:3830 -#: ../src/common/helpers.py:42 +#: ../src/disco.py:105 ../src/disco.py:106 ../src/disco.py:1350 +#: ../src/gajim.py:613 ../src/roster_window.py:273 ../src/roster_window.py:332 +#: ../src/roster_window.py:371 ../src/roster_window.py:471 +#: ../src/roster_window.py:503 ../src/roster_window.py:505 +#: ../src/roster_window.py:4358 ../src/roster_window.py:4360 +#: ../src/common/contacts.py:275 ../src/common/contacts.py:290 +#: ../src/common/helpers.py:43 msgid "Transports" msgstr "Prijenosi" #. conference is a category for listing mostly groupchats in service discovery -#: ../src/disco.py:105 +#: ../src/disco.py:108 msgid "Conference" msgstr "Konferencija" -#: ../src/disco.py:418 +#: ../src/disco.py:421 msgid "Without a connection, you can not browse available services" msgstr "Ukoliko niste spojeni nećete moći pregledati dostupne usluge" -#: ../src/disco.py:497 +#: ../src/disco.py:500 #, python-format msgid "Service Discovery using account %s" msgstr "Otkrivanje Usluga koristeći račun %s" -#: ../src/disco.py:499 +#: ../src/disco.py:502 msgid "Service Discovery" msgstr "Otkrivanje Usluga" @@ -3599,43 +3748,47 @@ msgstr "_Pregled" msgid "This service does not contain any items to browse." msgstr "Ova usluga ne sadrži stvari za pretraživanje" -#: ../src/disco.py:1143 ../src/disco.py:1258 +#: ../src/disco.py:1147 +msgid "_Execute Command" +msgstr "_Izvrši Naredbu..." + +#: ../src/disco.py:1157 ../src/disco.py:1355 msgid "Re_gister" msgstr "Re_gistracija" -#: ../src/disco.py:1295 +#: ../src/disco.py:1392 #, python-format msgid "Scanning %d / %d.." msgstr "Skeniranje %d / %d.." #. Users column -#: ../src/disco.py:1476 +#: ../src/disco.py:1573 msgid "Users" msgstr "Korisnici" #. Description column -#: ../src/disco.py:1483 +#: ../src/disco.py:1580 msgid "Description" msgstr "Opis" #. Id column -#: ../src/disco.py:1490 +#: ../src/disco.py:1587 msgid "Id" msgstr "Identifikacija" -#: ../src/disco.py:1713 +#: ../src/disco.py:1810 msgid "Subscribed" msgstr "Pretplaćeno" -#: ../src/disco.py:1739 +#: ../src/disco.py:1836 msgid "New post" msgstr "Nova objava" -#: ../src/disco.py:1745 +#: ../src/disco.py:1842 msgid "_Subscribe" msgstr "_Pretplatiti se" -#: ../src/disco.py:1751 +#: ../src/disco.py:1848 msgid "_Unsubscribe" msgstr "_Ukinuti pretplatu" @@ -3651,132 +3804,132 @@ msgstr "Vrijeme" msgid "Progress" msgstr "Napredak" -#: ../src/filetransfers_window.py:163 ../src/filetransfers_window.py:223 +#: ../src/filetransfers_window.py:161 ../src/filetransfers_window.py:215 #, python-format msgid "Filename: %s" msgstr "Ime datoteke: %s" -#: ../src/filetransfers_window.py:164 ../src/filetransfers_window.py:298 +#: ../src/filetransfers_window.py:162 ../src/filetransfers_window.py:290 #, python-format msgid "Size: %s" msgstr "veličina: %s" #. You is a reply of who sent a file #. You is a reply of who received a file -#: ../src/filetransfers_window.py:173 ../src/filetransfers_window.py:183 +#: ../src/filetransfers_window.py:171 ../src/filetransfers_window.py:181 #: ../src/history_manager.py:463 msgid "You" msgstr "Vi" -#: ../src/filetransfers_window.py:174 +#: ../src/filetransfers_window.py:172 #, python-format msgid "Sender: %s" msgstr "Pošiljatelj: %s" -#: ../src/filetransfers_window.py:175 ../src/filetransfers_window.py:572 -#: ../src/tooltips.py:573 +#: ../src/filetransfers_window.py:173 ../src/filetransfers_window.py:564 +#: ../src/tooltips.py:585 msgid "Recipient: " msgstr "Primatelj: " -#: ../src/filetransfers_window.py:186 +#: ../src/filetransfers_window.py:184 #, python-format msgid "Saved in: %s" msgstr "Spremljeno u: %s" -#: ../src/filetransfers_window.py:188 +#: ../src/filetransfers_window.py:186 msgid "File transfer completed" msgstr "Prijenos datoteka završen" -#: ../src/filetransfers_window.py:204 ../src/filetransfers_window.py:212 -msgid "File transfer canceled" -msgstr "Prijenos datoteka prekinut" +#: ../src/filetransfers_window.py:200 ../src/filetransfers_window.py:206 +msgid "File transfer cancelled" +msgstr "Prijenos datoteka otkazan" -#: ../src/filetransfers_window.py:204 ../src/filetransfers_window.py:213 +#: ../src/filetransfers_window.py:200 ../src/filetransfers_window.py:207 msgid "Connection with peer cannot be established." msgstr "Vezu nije moguće ostvariti." -#: ../src/filetransfers_window.py:224 +#: ../src/filetransfers_window.py:216 #, python-format msgid "Recipient: %s" msgstr "Primatelj: %s" -#: ../src/filetransfers_window.py:226 +#: ../src/filetransfers_window.py:218 #, python-format msgid "Error message: %s" msgstr "Poruka Greške: %s" -#: ../src/filetransfers_window.py:227 -msgid "File transfer stopped by the contact of the other side" -msgstr "Prijenos datoteka je zaustavio kontakt na drugoj strani" +#: ../src/filetransfers_window.py:219 +msgid "File transfer stopped by the contact at the other end" +msgstr "Prijenos datoteka je otkazao kontakt na drugoj strani" -#: ../src/filetransfers_window.py:244 +#: ../src/filetransfers_window.py:236 msgid "Choose File to Send..." msgstr "Odabir Datoteke za Slanje..." -#: ../src/filetransfers_window.py:263 +#: ../src/filetransfers_window.py:255 msgid "Gajim cannot access this file" msgstr "Gajim ne može pristupiti ovoj datoteci" -#: ../src/filetransfers_window.py:264 +#: ../src/filetransfers_window.py:256 msgid "This file is being used by another process." msgstr "Ovu datoteku koristi neki drugi proces." -#: ../src/filetransfers_window.py:296 +#: ../src/filetransfers_window.py:288 #, python-format msgid "File: %s" msgstr "Datoteka: %s" -#: ../src/filetransfers_window.py:301 +#: ../src/filetransfers_window.py:293 #, python-format msgid "Type: %s" msgstr "Tip: %s" -#: ../src/filetransfers_window.py:303 +#: ../src/filetransfers_window.py:295 #, python-format msgid "Description: %s" msgstr "Opis: %s" -#: ../src/filetransfers_window.py:304 +#: ../src/filetransfers_window.py:296 #, python-format msgid "%s wants to send you a file:" msgstr "%s vam želi poslati datoteku:" -#: ../src/filetransfers_window.py:318 ../src/gtkgui_helpers.py:683 +#: ../src/filetransfers_window.py:310 ../src/gtkgui_helpers.py:767 #, python-format msgid "Cannot overwrite existing file \"%s\"" msgstr "Nije moguće prepisati postojeću datoteku \"%s\"" -#: ../src/filetransfers_window.py:319 ../src/gtkgui_helpers.py:685 +#: ../src/filetransfers_window.py:311 ../src/gtkgui_helpers.py:769 msgid "" "A file with this name already exists and you do not have permission to " "overwrite it." msgstr "Datoteka sa ovim imenom već postoji i nemate ovlasti prepisati ju." -#: ../src/filetransfers_window.py:326 ../src/gtkgui_helpers.py:689 +#: ../src/filetransfers_window.py:318 ../src/gtkgui_helpers.py:773 msgid "This file already exists" msgstr "Ova datoteka već postoji" -#: ../src/filetransfers_window.py:326 ../src/gtkgui_helpers.py:689 +#: ../src/filetransfers_window.py:318 ../src/gtkgui_helpers.py:773 msgid "What do you want to do?" msgstr "Å to želite učiniti?" -#: ../src/filetransfers_window.py:338 ../src/gtkgui_helpers.py:699 +#: ../src/filetransfers_window.py:330 ../src/gtkgui_helpers.py:783 #, python-format msgid "Directory \"%s\" is not writable" msgstr "U direktorij \"%s\" nije moguće zapisivati" -#: ../src/filetransfers_window.py:338 ../src/gtkgui_helpers.py:700 +#: ../src/filetransfers_window.py:330 ../src/gtkgui_helpers.py:784 msgid "You do not have permission to create files in this directory." msgstr "Nemate ovlasti stvarati datoteke u ovom direktoriju" -#: ../src/filetransfers_window.py:348 +#: ../src/filetransfers_window.py:340 msgid "Save File as..." msgstr "Snimiti Datoteku kao..." #. Print remaining time in format 00:00:00 #. You can change the places of (hours), (minutes), (seconds) - #. they are not translatable. -#: ../src/filetransfers_window.py:429 +#: ../src/filetransfers_window.py:421 #, python-format msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" @@ -3784,60 +3937,65 @@ msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" #. This should make the string Kb/s, #. where 'Kb' part is taken from %s. #. Only the 's' after / (which means second) should be translated. -#: ../src/filetransfers_window.py:505 +#: ../src/filetransfers_window.py:497 #, python-format msgid "(%(filesize_unit)s/s)" msgstr "(%(filesize_unit)s/s)" -#: ../src/filetransfers_window.py:544 ../src/filetransfers_window.py:547 +#: ../src/filetransfers_window.py:536 ../src/filetransfers_window.py:539 msgid "Invalid File" msgstr "Neispravna Datoteka" -#: ../src/filetransfers_window.py:544 +#: ../src/filetransfers_window.py:536 msgid "File: " msgstr "Datoteka: " -#: ../src/filetransfers_window.py:548 +#: ../src/filetransfers_window.py:540 msgid "It is not possible to send empty files" msgstr "Nije moguće poslati prazne datoteke" -#: ../src/filetransfers_window.py:568 ../src/tooltips.py:563 +#: ../src/filetransfers_window.py:560 ../src/tooltips.py:575 msgid "Name: " msgstr "Ime: " -#: ../src/filetransfers_window.py:570 ../src/tooltips.py:567 +#: ../src/filetransfers_window.py:562 ../src/tooltips.py:579 msgid "Sender: " msgstr "Pošiljatelj: " -#: ../src/filetransfers_window.py:758 +#: ../src/filetransfers_window.py:750 msgid "Pause" msgstr "Pauza" #: ../src/gajim.py:47 -msgid "Gajim needs Xserver to run. Quiting..." -msgstr "Gajim treba Xserver za pokretanje. Izlaz..." +#, python-format +msgid "%s is not a valid loglevel" +msgstr "%s nije valjana razina zapisnika (loglevel)" -#: ../src/gajim.py:51 -msgid "Gajim needs PyGTK 2.6 or above" -msgstr "Gajim treba pyGTK 2.6 ili viši" +#: ../src/gajim.py:122 +msgid "Gajim needs X server to run. Quiting..." +msgstr "Gajim treba X server za pokretanje. Izlaz..." -#: ../src/gajim.py:52 -msgid "Gajim needs PyGTK 2.6 or above to run. Quiting..." -msgstr "Gajim needs PyGTK 2.6 ili viši za pokretanje. Izlaz..." +#: ../src/gajim.py:126 +msgid "Gajim needs PyGTK 2.8 or above" +msgstr "Gajim treba pyGTK 2.8 ili viši" -#: ../src/gajim.py:54 -msgid "Gajim needs GTK 2.6 or above" -msgstr "Gajim treba GTK 2.6 ili viši" +#: ../src/gajim.py:127 +msgid "Gajim needs PyGTK 2.8 or above to run. Quiting..." +msgstr "Gajim needs PyGTK 2.8 ili viši za pokretanje. Izlaz..." -#: ../src/gajim.py:55 -msgid "Gajim needs GTK 2.6 or above to run. Quiting..." -msgstr "Gajim treba GTK 2.6 ili viši za pokretanje. Izlaz..." +#: ../src/gajim.py:129 +msgid "Gajim needs GTK 2.8 or above" +msgstr "Gajim treba GTK 2.8 ili viši" -#: ../src/gajim.py:60 +#: ../src/gajim.py:130 +msgid "Gajim needs GTK 2.8 or above to run. Quiting..." +msgstr "Gajim treba GTK 2.8 ili viši za pokretanje. Izlaz..." + +#: ../src/gajim.py:135 msgid "GTK+ runtime is missing libglade support" msgstr "GTK+ nema podršku za libglade" -#: ../src/gajim.py:62 +#: ../src/gajim.py:137 #, python-format msgid "" "Please remove your current GTK+ runtime and install the latest stable " @@ -3846,21 +4004,21 @@ msgstr "" "Molimo uklonite svoj trenutni GTK+ i instalirajte posljednju stabilnu " "verziju sa %s" -#: ../src/gajim.py:64 +#: ../src/gajim.py:139 msgid "" "Please make sure that GTK+ and PyGTK have libglade support in your system." msgstr "" "Molimo provjerite da GTK+ i PyGTK imaju podršku za libglade na vašem sustavu" -#: ../src/gajim.py:69 +#: ../src/gajim.py:144 msgid "Gajim needs PySQLite2 to run" msgstr "Gajim treba PySQLite2 za pokretanje" -#: ../src/gajim.py:77 +#: ../src/gajim.py:152 msgid "Gajim needs pywin32 to run" msgstr "Gajim treba pywin32 za pokretanje" -#: ../src/gajim.py:78 +#: ../src/gajim.py:153 #, python-format msgid "" "Please make sure that Pywin32 is installed on your system. You can get it at " @@ -3870,11 +4028,11 @@ msgstr "" "na %s" #. set the icon to all newly opened wind -#: ../src/gajim.py:238 +#: ../src/gajim.py:300 msgid "Gajim is already running" msgstr "Gajim je već pokrenut" -#: ../src/gajim.py:239 +#: ../src/gajim.py:301 msgid "" "Another instance of Gajim seems to be running\n" "Run anyway?" @@ -3882,76 +4040,83 @@ msgstr "" "Trenutno je već pokrenuta jedna instanca Gajima\n" "Svejedno pokrenuti?" -#: ../src/gajim.py:346 +#: ../src/gajim.py:408 +msgid "Do you accept this request?" +msgstr "Prihvaćate li ovaj zahtjev?" + +#: ../src/gajim.py:411 #, python-format msgid "HTTP (%s) Authorization for %s (id: %s)" msgstr "HTTP (%s) Autorizacija za %s (id: %s)" -#: ../src/gajim.py:347 -msgid "Do you accept this request?" -msgstr "Prihvaćate li ovaj zahtjev?" - -#: ../src/gajim.py:393 ../src/notify.py:430 +#: ../src/gajim.py:458 ../src/notify.py:437 msgid "Connection Failed" msgstr "Veza Prekinuta" -#: ../src/gajim.py:706 +#: ../src/gajim.py:788 #, python-format msgid "Subject: %s" msgstr "Tema: %s" #. ('MSGNOTSENT', account, (jid, ierror_msg, msg, time)) -#: ../src/gajim.py:751 ../src/gajim.py:764 +#: ../src/gajim.py:832 ../src/gajim.py:845 #, python-format msgid "error while sending %s ( %s )" msgstr "greška prilikom slanja %s ( %s )" -#: ../src/gajim.py:797 +#: ../src/gajim.py:878 msgid "Authorization accepted" msgstr "Autorizacija prihvaćena" -#: ../src/gajim.py:798 +#: ../src/gajim.py:879 #, python-format msgid "The contact \"%s\" has authorized you to see his or her status." msgstr "Kontakt \"%s\" vam je dozvolio da vidite njegov ili njezin status." -#: ../src/gajim.py:806 +#: ../src/gajim.py:887 #, python-format msgid "Contact \"%s\" removed subscription from you" msgstr "Kontankt \"%s\" je uklonio pretplatu od vas" -#: ../src/gajim.py:807 +#: ../src/gajim.py:888 msgid "You will always see him or her as offline." msgstr "Uvijek ćete vidjeti njega ili nju kao nepriključenog." -#: ../src/gajim.py:850 +#: ../src/gajim.py:932 #, python-format msgid "Contact with \"%s\" cannot be established" msgstr "Kontakt sa \"%s\" ne može biti uspostavljen" -#: ../src/gajim.py:851 ../src/common/connection.py:406 +#: ../src/gajim.py:933 ../src/common/connection.py:423 msgid "Check your connection or try again later." msgstr "Provjerite svoju vezu ili pokušajte kasnije." -#: ../src/gajim.py:999 ../src/roster_window.py:1197 +#: ../src/gajim.py:1100 ../src/roster_window.py:1302 #, python-format msgid "%s is now %s (%s)" msgstr "%s je sada %s (%s)" -#: ../src/gajim.py:1096 +#. No status message +#: ../src/gajim.py:1103 ../src/groupchat_control.py:1023 +#: ../src/roster_window.py:1305 +#, python-format +msgid "%s is now %s" +msgstr "%s je sada %s" + +#: ../src/gajim.py:1228 msgid "Your passphrase is incorrect" msgstr "Vaša lozinka nije točna" -#: ../src/gajim.py:1097 +#: ../src/gajim.py:1229 msgid "You are currently connected without your OpenPGP key." msgstr "Trenutno ste spojeni bez OpenPGP ključa." -#: ../src/gajim.py:1199 +#: ../src/gajim.py:1333 #, python-format msgid "New mail on %(gmail_mail_address)s" msgstr "Novi E-mail na %(gmail_mail_address)s" -#: ../src/gajim.py:1201 +#: ../src/gajim.py:1335 #, python-format msgid "You have %d new mail conversation" msgid_plural "You have %d new mail conversations" @@ -3962,7 +4127,7 @@ msgstr[2] "Imate %d novih E-mail razgovora" #. FIXME: emulate Gtalk client popups. find out what they parse and how #. they decide what to show #. each message has a 'From', 'Subject' and 'Snippet' field -#: ../src/gajim.py:1210 +#: ../src/gajim.py:1344 #, python-format msgid "" "\n" @@ -3971,91 +4136,115 @@ msgstr "" "\n" "Od: %(from_address)s" -#: ../src/gajim.py:1366 +#: ../src/gajim.py:1500 #, python-format msgid "%s wants to send you a file." msgstr "%s vam želi poslati datoteku." -#: ../src/gajim.py:1431 +#: ../src/gajim.py:1565 #, python-format msgid "You successfully received %(filename)s from %(name)s." msgstr "Uspješno ste primili %(filename)s od %(name)s." #. ft stopped -#: ../src/gajim.py:1435 +#: ../src/gajim.py:1569 #, python-format msgid "File transfer of %(filename)s from %(name)s stopped." msgstr "Prijenos %(filename)s od %(name)s je zaustavljen." -#: ../src/gajim.py:1448 +#: ../src/gajim.py:1582 #, python-format msgid "You successfully sent %(filename)s to %(name)s." msgstr "Uspješno ste poslali %(filename)s %(name)s" #. ft stopped -#: ../src/gajim.py:1452 +#: ../src/gajim.py:1586 #, python-format msgid "File transfer of %(filename)s to %(name)s stopped." msgstr "Prijenos %(filename)s %(name)s je zaustavljen. " -#: ../src/gajim.py:1558 +#: ../src/gajim.py:1718 msgid "Username Conflict" msgstr "Konflikt korisničkog imena" -#: ../src/gajim.py:1559 +#: ../src/gajim.py:1719 msgid "Please type a new username for your local account" msgstr "Molimo unesite novo korisničko ime za vaš lokalni račun" +#: ../src/gajim.py:1736 +msgid "Ping?" +msgstr "Ping?" + +#: ../src/gajim.py:1744 +#, python-format +msgid "Pong! (%s s.)" +msgstr "Pong! (%s s.)" + +#: ../src/gajim.py:1750 +msgid "Error." +msgstr "Greška." + +#: ../src/gajim.py:1775 +msgid "Resource Conflict" +msgstr "Konflikt Resursa" + +#: ../src/gajim.py:1776 +msgid "" +"You are already connected to this account with the same resource. Please " +"type a new one" +msgstr "Već ste spojeni na ovaj račun sa istim resursom. Molim unesite novi." + #. it is good to notify the user #. in case he or she cannot see the output of the console -#: ../src/gajim.py:1898 +#: ../src/gajim.py:2120 msgid "Could not save your settings and preferences" msgstr "Nije moguće spremanje vaših postavki" -#: ../src/gajim.py:2090 +#: ../src/gajim.py:2330 msgid "Network Manager support not available" msgstr "Podrška za Upravitelja Mrežom nije dostupna" -#: ../src/gajim.py:2165 +#: ../src/gajim.py:2403 msgid "Session Management support not available (missing gnome.ui module)" msgstr "" "Podrška za Upravljanje Seansama nije dostupna (nedostaje gnome.ui modul)" -#: ../src/gajim-remote.py:66 +#: ../src/gajim-remote.py:65 msgid "Shows a help on specific command" msgstr "Prikazuje pomoć za određenu naredbu" #. User gets help for the command, specified by this parameter -#: ../src/gajim-remote.py:69 +#: ../src/gajim-remote.py:68 msgid "command" msgstr "naredba" -#: ../src/gajim-remote.py:70 +#: ../src/gajim-remote.py:69 msgid "show help on command" msgstr "prikaži pomoć za komandu" -#: ../src/gajim-remote.py:74 +#: ../src/gajim-remote.py:73 msgid "Shows or hides the roster window" msgstr "Prikazuje ili skriva prozor liste" -#: ../src/gajim-remote.py:78 -msgid "Popups a window with the next pending event" -msgstr "Iskače prozor sa sljedećim događajem na čekanju" +#: ../src/gajim-remote.py:77 +msgid "Pops up a window with the next pending event" +msgstr "Prikazuje prozor sa sljedećim događajem na čekanju" -#: ../src/gajim-remote.py:82 +#: ../src/gajim-remote.py:81 msgid "" -"Prints a list of all contacts in the roster. Each contact appear on a " +"Prints a list of all contacts in the roster. Each contact appears on a " "separate line" msgstr "" "Ispisuje listu svih kontakata na listi. Svaki kontakt pojavljuje se u " "odvojenoj liniji" -#: ../src/gajim-remote.py:84 ../src/gajim-remote.py:98 -#: ../src/gajim-remote.py:108 ../src/gajim-remote.py:121 -#: ../src/gajim-remote.py:135 ../src/gajim-remote.py:156 -#: ../src/gajim-remote.py:186 ../src/gajim-remote.py:195 -#: ../src/gajim-remote.py:202 ../src/gajim-remote.py:209 -#: ../src/gajim-remote.py:220 +#: ../src/gajim-remote.py:84 ../src/gajim-remote.py:99 +#: ../src/gajim-remote.py:109 ../src/gajim-remote.py:122 +#: ../src/gajim-remote.py:136 ../src/gajim-remote.py:157 +#: ../src/gajim-remote.py:187 ../src/gajim-remote.py:196 +#: ../src/gajim-remote.py:203 ../src/gajim-remote.py:210 +#: ../src/gajim-remote.py:221 ../src/gajim-remote.py:237 +#: ../src/gajim-remote.py:246 msgid "account" msgstr "račun" @@ -4063,33 +4252,35 @@ msgstr "račun" msgid "show only contacts of the given account" msgstr "prikaži samo kontakte ovog računa" -#: ../src/gajim-remote.py:89 +#: ../src/gajim-remote.py:90 msgid "Prints a list of registered accounts" msgstr "Ispisuje listu registriranih računa" -#: ../src/gajim-remote.py:93 +#: ../src/gajim-remote.py:94 msgid "Changes the status of account or accounts" msgstr "Mjenja status jednog računa ili više njih" #. offline, online, chat, away, xa, dnd, invisible should not be translated -#: ../src/gajim-remote.py:96 +#: ../src/gajim-remote.py:97 msgid "status" msgstr "status" -#: ../src/gajim-remote.py:96 +#: ../src/gajim-remote.py:97 msgid "one of: offline, online, chat, away, xa, dnd, invisible " -msgstr "jedno od: " +msgstr "" +"jedno od: odspojen, povezan, razgovor, odsutan, produženo nedostupan, " +"nevidljiv" -#: ../src/gajim-remote.py:97 ../src/gajim-remote.py:118 -#: ../src/gajim-remote.py:132 +#: ../src/gajim-remote.py:98 ../src/gajim-remote.py:119 +#: ../src/gajim-remote.py:133 msgid "message" msgstr "poruka" -#: ../src/gajim-remote.py:97 +#: ../src/gajim-remote.py:98 msgid "status message" msgstr "statusna poruka" -#: ../src/gajim-remote.py:98 +#: ../src/gajim-remote.py:99 msgid "" "change status of account \"account\". If not specified, try to change status " "of all accounts that have \"sync with global status\" option set" @@ -4098,19 +4289,19 @@ msgstr "" "statusa svih računa koji imaju podešenu opciju \"sinkronizacija sa globalnim " "statusom\"" -#: ../src/gajim-remote.py:104 +#: ../src/gajim-remote.py:105 msgid "Shows the chat dialog so that you can send messages to a contact" msgstr "Prikazuje dialog razgovora kako bi mogli slati poruke kontaktu" -#: ../src/gajim-remote.py:106 +#: ../src/gajim-remote.py:107 msgid "JID of the contact that you want to chat with" msgstr "JID kontakta sa kojim želite razgovarati" -#: ../src/gajim-remote.py:108 ../src/gajim-remote.py:186 +#: ../src/gajim-remote.py:109 ../src/gajim-remote.py:187 msgid "if specified, contact is taken from the contact list of this account" msgstr "ako je označeno, kontak se uzima sa kontakt liste ovog računa" -#: ../src/gajim-remote.py:113 +#: ../src/gajim-remote.py:114 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 " @@ -4120,27 +4311,27 @@ msgstr "" "Ako želite postaviti samo 'račun', bez 'OpenPGP ključa', samo podesite " "'OpenPGP ključ' na ''." -#: ../src/gajim-remote.py:117 ../src/gajim-remote.py:130 +#: ../src/gajim-remote.py:118 ../src/gajim-remote.py:131 msgid "JID of the contact that will receive the message" msgstr "JID kontakta koji će primiti poruku" -#: ../src/gajim-remote.py:118 ../src/gajim-remote.py:132 +#: ../src/gajim-remote.py:119 ../src/gajim-remote.py:133 msgid "message contents" msgstr "sadržaj poruke" -#: ../src/gajim-remote.py:119 ../src/gajim-remote.py:133 +#: ../src/gajim-remote.py:120 ../src/gajim-remote.py:134 msgid "pgp key" msgstr "pgp ključ" -#: ../src/gajim-remote.py:119 ../src/gajim-remote.py:133 +#: ../src/gajim-remote.py:120 ../src/gajim-remote.py:134 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č" -#: ../src/gajim-remote.py:121 ../src/gajim-remote.py:135 +#: ../src/gajim-remote.py:122 ../src/gajim-remote.py:136 msgid "if specified, the message will be sent using this account" msgstr "ako je označeno, poruka će biti poslana koristeći ovaj račun" -#: ../src/gajim-remote.py:126 +#: ../src/gajim-remote.py:127 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 " @@ -4150,126 +4341,126 @@ msgstr "" "želite postaviti samo 'račun', bez 'OpenPGP ključa', samo podesite 'OpenPGP " "ključ' na ''." -#: ../src/gajim-remote.py:131 +#: ../src/gajim-remote.py:132 msgid "subject" msgstr "tema" -#: ../src/gajim-remote.py:131 +#: ../src/gajim-remote.py:132 msgid "message subject" msgstr "tema poruke" -#: ../src/gajim-remote.py:140 +#: ../src/gajim-remote.py:141 msgid "Gets detailed info on a contact" msgstr "Daje detaljne informacije o kontaktu" -#: ../src/gajim-remote.py:142 ../src/gajim-remote.py:155 -#: ../src/gajim-remote.py:185 ../src/gajim-remote.py:194 +#: ../src/gajim-remote.py:143 ../src/gajim-remote.py:156 +#: ../src/gajim-remote.py:186 ../src/gajim-remote.py:195 msgid "JID of the contact" msgstr "JID kontakta" -#: ../src/gajim-remote.py:146 +#: ../src/gajim-remote.py:147 msgid "Gets detailed info on a account" msgstr "Daje detaljne informacije o računu" -#: ../src/gajim-remote.py:148 +#: ../src/gajim-remote.py:149 msgid "Name of the account" msgstr "Ime računa" -#: ../src/gajim-remote.py:152 +#: ../src/gajim-remote.py:153 msgid "Sends file to a contact" msgstr "Å alje datoteku kontaktu" -#: ../src/gajim-remote.py:154 +#: ../src/gajim-remote.py:155 msgid "file" msgstr "datoteka" -#: ../src/gajim-remote.py:154 +#: ../src/gajim-remote.py:155 msgid "File path" msgstr "Putanja datoteke" -#: ../src/gajim-remote.py:156 +#: ../src/gajim-remote.py:157 msgid "if specified, file will be sent using this account" msgstr "ako je označeno, datoteka će biti poslana koriteći ovaj račun" -#: ../src/gajim-remote.py:161 +#: ../src/gajim-remote.py:162 msgid "Lists all preferences and their values" msgstr "Prikatuje sve postavke i njihove vrijednosti" -#: ../src/gajim-remote.py:165 +#: ../src/gajim-remote.py:166 msgid "Sets value of 'key' to 'value'." msgstr "Postavlja vrijednost 'ključa' na 'vrijednost'." -#: ../src/gajim-remote.py:167 +#: ../src/gajim-remote.py:168 msgid "key=value" msgstr "ključ=vrijednost" -#: ../src/gajim-remote.py:167 +#: ../src/gajim-remote.py:168 msgid "'key' is the name of the preference, 'value' is the value to set it to" msgstr "" "'ključ' je ime postavke, 'vrijednost' je vrijednost na koju će se postaviti" -#: ../src/gajim-remote.py:172 +#: ../src/gajim-remote.py:173 msgid "Deletes a preference item" msgstr "Briše element postavke" -#: ../src/gajim-remote.py:174 +#: ../src/gajim-remote.py:175 msgid "key" msgstr "ključ" -#: ../src/gajim-remote.py:174 +#: ../src/gajim-remote.py:175 msgid "name of the preference to be deleted" msgstr "ime postavke koja će se brisati" -#: ../src/gajim-remote.py:178 +#: ../src/gajim-remote.py:179 msgid "Writes the current state of Gajim preferences to the .config file" msgstr "Zapisuje trenutno stanje Gajim postavku u .config datoteku" -#: ../src/gajim-remote.py:183 +#: ../src/gajim-remote.py:184 msgid "Removes contact from roster" msgstr "Uklanja kontakt sa liste" -#: ../src/gajim-remote.py:192 +#: ../src/gajim-remote.py:193 msgid "Adds contact to roster" msgstr "Dodaje kontakt na listu" -#: ../src/gajim-remote.py:194 +#: ../src/gajim-remote.py:195 msgid "jid" msgstr "jid" -#: ../src/gajim-remote.py:195 +#: ../src/gajim-remote.py:196 msgid "Adds new contact to this account" msgstr "Dodaje novi kontakt ovom računu" -#: ../src/gajim-remote.py:200 +#: ../src/gajim-remote.py:201 msgid "Returns current status (the global one unless account is specified)" msgstr "Vraća trenutni status (globalni ukoliko nije određen račun)" -#: ../src/gajim-remote.py:207 +#: ../src/gajim-remote.py:208 msgid "" "Returns current status message(the global one unless account is specified)" msgstr "Vraća trenutnu statusnu poruku (globalnu ukoliko nije određen račun)" -#: ../src/gajim-remote.py:214 -msgid "Returns number of unreaded messages" +#: ../src/gajim-remote.py:215 +msgid "Returns number of unread messages" msgstr "Vraća broj nepročitanih poruka" -#: ../src/gajim-remote.py:218 +#: ../src/gajim-remote.py:219 msgid "Opens 'Start Chat' dialog" msgstr "Otvaranje dialoga 'Započeti Razgovor'" -#: ../src/gajim-remote.py:220 +#: ../src/gajim-remote.py:221 msgid "Starts chat, using this account" msgstr "Započinje razgovor, koristeći ovaj račun" -#: ../src/gajim-remote.py:224 +#: ../src/gajim-remote.py:225 msgid "Sends custom XML" msgstr "Šalje korisnički XML" -#: ../src/gajim-remote.py:226 +#: ../src/gajim-remote.py:227 msgid "XML to send" msgstr "XML za slanje" -#: ../src/gajim-remote.py:227 +#: ../src/gajim-remote.py:228 msgid "" "Account in which the xml will be sent; if not specified, xml will be sent to " "all accounts" @@ -4277,11 +4468,35 @@ msgstr "" "Račun u kojem će xml biti poslan; ako nije specificirano, xml će biti poslan " "na sve račune" -#: ../src/gajim-remote.py:249 +#: ../src/gajim-remote.py:234 +msgid "Handle a xmpp:/ uri" +msgstr "Rukuj xmpp:/ adresama" + +#: ../src/gajim-remote.py:236 +msgid "uri" +msgstr "uri" + +#: ../src/gajim-remote.py:241 +msgid "Join a MUC room" +msgstr "Pridruživanje Novoj Sobi" + +#: ../src/gajim-remote.py:243 +msgid "room" +msgstr "soba" + +#: ../src/gajim-remote.py:244 +msgid "nick" +msgstr "nadimak" + +#: ../src/gajim-remote.py:245 +msgid "password" +msgstr "lozinka" + +#: ../src/gajim-remote.py:268 msgid "Missing argument \"contact_jid\"" msgstr "Nedostaje argument \"contact_jid\"" -#: ../src/gajim-remote.py:268 +#: ../src/gajim-remote.py:287 #, python-format msgid "" "'%s' is not in your roster.\n" @@ -4290,11 +4505,11 @@ msgstr "" "'%s' nije na vašoj listi.\n" "Molimo odredite račun za slanje poruke." -#: ../src/gajim-remote.py:271 +#: ../src/gajim-remote.py:290 msgid "You have no active account" msgstr "nemate aktivnih računa" -#: ../src/gajim-remote.py:335 +#: ../src/gajim-remote.py:354 #, python-format msgid "" "Usage: %s %s %s \n" @@ -4303,16 +4518,16 @@ msgstr "" "Korištenje: %s %s %s \n" "\t %s" -#: ../src/gajim-remote.py:338 +#: ../src/gajim-remote.py:357 msgid "Arguments:" msgstr "Argumenti:" -#: ../src/gajim-remote.py:342 +#: ../src/gajim-remote.py:361 #, python-format msgid "%s not found" msgstr "%s nije pronađen" -#: ../src/gajim-remote.py:346 +#: ../src/gajim-remote.py:365 #, python-format msgid "" "Usage: %s command [arguments]\n" @@ -4321,7 +4536,16 @@ msgstr "" "Korištenje: %s naredba [argumenti]\n" "Naredba je jedna od:\n" -#: ../src/gajim-remote.py:420 +#: ../src/gajim-remote.py:438 +#, python-format +msgid "" +"Too many arguments. \n" +"Type \"%s help %s\" for more info" +msgstr "" +"Previše argumenata. \n" +"Unesite \"%s help %s\" za više informacija" + +#: ../src/gajim-remote.py:442 #, python-format msgid "" "Argument \"%s\" is not specified. \n" @@ -4330,6 +4554,10 @@ msgstr "" "Argument \"%s\" nije određen. \n" "Unesite \"%s help %s\" za više informacija" +#: ../src/gajim-remote.py:460 +msgid "Wrong uri" +msgstr "Krivi uri" + #: ../src/gajim_themes_window.py:60 msgid "Theme" msgstr "Tema" @@ -4347,14 +4575,6 @@ msgstr "Ne možete izbrisati svoju trenutnu temu" msgid "Please first choose another for your current theme." msgstr "Molimo vas da prvo odaberete neku drugu temu za trenutnu." -#: ../src/groupchat_control.py:106 -msgid "Private Chat" -msgstr "Privatni Razgovor" - -#: ../src/groupchat_control.py:106 -msgid "Private Chats" -msgstr "Privanti Razgovori" - #: ../src/groupchat_control.py:123 msgid "Sending private message failed" msgstr "Slanje privatne poruke neuspješno" @@ -4365,100 +4585,81 @@ msgstr "Slanje privatne poruke neuspješno" msgid "You are no longer in group chat \"%s\" or \"%s\" has left." msgstr "Više niste u grupnom razgovoru \"%s\" ili je \"%s\" otišao." -#: ../src/groupchat_control.py:144 -msgid "Group Chat" -msgstr "Grupni Razgovor" - -#: ../src/groupchat_control.py:144 -msgid "Group Chats" -msgstr "Grupni Razgovori" - -#: ../src/groupchat_control.py:318 +#: ../src/groupchat_control.py:330 msgid "Insert Nickname" msgstr "Umetni _Nadimak" #. do not print 'kicked by None' -#: ../src/groupchat_control.py:831 +#: ../src/groupchat_control.py:873 #, python-format msgid "%(nick)s has been kicked: %(reason)s" msgstr "%(nick)s je izbačen: %(reason)s" -#: ../src/groupchat_control.py:835 +#: ../src/groupchat_control.py:877 #, python-format msgid "%(nick)s has been kicked by %(who)s: %(reason)s" msgstr "%(nick)s je izbačen od strane %(who)s: %(reason)s" #. do not print 'banned by None' -#: ../src/groupchat_control.py:842 +#: ../src/groupchat_control.py:884 #, python-format msgid "%(nick)s has been banned: %(reason)s" msgstr "%(nick)s ima zabranjen pristup: %(reason)s" -#: ../src/groupchat_control.py:846 +#: ../src/groupchat_control.py:888 #, python-format msgid "%(nick)s has been banned by %(who)s: %(reason)s" msgstr "%(nick)s ima zabranjen pristup od strane %(who)s: %(reason)s" -#: ../src/groupchat_control.py:854 +#: ../src/groupchat_control.py:896 #, python-format msgid "You are now known as %s" msgstr "Od sada ste poznati kao %s" -#: ../src/groupchat_control.py:856 +#: ../src/groupchat_control.py:898 #, python-format msgid "%s is now known as %s" msgstr "%s je od sada poznat kao %s" -#: ../src/groupchat_control.py:936 +#: ../src/groupchat_control.py:1016 #, python-format msgid "%s has left" msgstr "%s je napustio" -#: ../src/groupchat_control.py:941 +#: ../src/groupchat_control.py:1021 #, python-format msgid "%s has joined the group chat" msgstr "%s se pridružio grupnom razgovoru" -#. No status message -#: ../src/groupchat_control.py:943 ../src/roster_window.py:1200 -#, python-format -msgid "%s is now %s" -msgstr "%s je sada %s" - -#: ../src/groupchat_control.py:1062 ../src/groupchat_control.py:1080 -#: ../src/groupchat_control.py:1173 ../src/groupchat_control.py:1190 +#: ../src/groupchat_control.py:1149 ../src/groupchat_control.py:1167 +#: ../src/groupchat_control.py:1260 ../src/groupchat_control.py:1277 #, python-format msgid "Nickname not found: %s" msgstr "Nadimak nije pronađen: %s " -#: ../src/groupchat_control.py:1096 +#: ../src/groupchat_control.py:1183 msgid "This group chat has no subject" msgstr "Ovaj grupni razgovor nema temu" -#: ../src/groupchat_control.py:1109 +#: ../src/groupchat_control.py:1196 #, python-format msgid "Invited %(contact_jid)s to %(room_jid)s." msgstr "Pozvali ste %(contact_jid)s na %(room_jid)s" #. %s is something the user wrote but it is not a jid so we inform -#: ../src/groupchat_control.py:1116 ../src/groupchat_control.py:1144 +#: ../src/groupchat_control.py:1203 ../src/groupchat_control.py:1231 #, python-format msgid "%s does not appear to be a valid JID" msgstr "%s ne izgleda kao valjani JID" -#: ../src/groupchat_control.py:1227 +#: ../src/groupchat_control.py:1314 #, python-format msgid "No such command: /%s (if you want to send this, prefix it with /say)" msgstr "" "Ne postoji komanda: /%s (ako želite poslati to kao poruku, prefiksirajte je " "sa /say)" -#: ../src/groupchat_control.py:1250 -#, python-format -msgid "Commands: %s" -msgstr "Komanda: %s" - -#: ../src/groupchat_control.py:1252 +#: ../src/groupchat_control.py:1340 #, python-format msgid "" "Usage: /%s [reason], bans the JID from the group chat. The " @@ -4471,19 +4672,16 @@ msgstr "" "trenutno u sobi, on/ona/ono će biti izbačen(a/o). Razmaci u imenima NISU " "podržani." -#: ../src/groupchat_control.py:1259 +#: ../src/groupchat_control.py:1347 #, python-format msgid "" -"Usage: /%s , opens a private chat window to the specified occupant." +"Usage: /%s , opens a private chat window with the specified " +"occupant." msgstr "" -"Način korištenja: /%s , otvara privatni razgovor sa učesnikom" +"Način korištenja: /%s , otvara privatni razgovor sa navedenim " +"učesnikom." -#: ../src/groupchat_control.py:1263 -#, python-format -msgid "Usage: /%s, clears the text window." -msgstr "Način korištenja: /%s, prazni tekstualni prozor" - -#: ../src/groupchat_control.py:1265 +#: ../src/groupchat_control.py:1353 #, python-format msgid "" "Usage: /%s [reason], closes the current window or tab, displaying reason if " @@ -4492,12 +4690,7 @@ msgstr "" "Način korištenja: /%s [razlog], zatvara trenutni prozor ili tab, i prikazuje " "razlog ako je specificiran." -#: ../src/groupchat_control.py:1268 -#, python-format -msgid "Usage: /%s, hide the chat buttons." -msgstr "Način korištenja: /%s, sakriva dugmadi." - -#: ../src/groupchat_control.py:1271 +#: ../src/groupchat_control.py:1359 #, python-format msgid "" "Usage: /%s [reason], invites JID to the current group chat, optionally " @@ -4506,7 +4699,7 @@ msgstr "" "Način korištenja: /%s [razlog], poziva JID u trenutni grupni razgovor, " "opcionalno dajući razlog." -#: ../src/groupchat_control.py:1275 +#: ../src/groupchat_control.py:1363 #, python-format msgid "" "Usage: /%s @[/nickname], offers to join room@server optionally " @@ -4515,7 +4708,7 @@ msgstr "" "Način korištenja: /%s @[/nadimak], nudi mogućnost " "spajanja na sobu@poslužitelj koristeći navedeni nadimak." -#: ../src/groupchat_control.py:1279 +#: ../src/groupchat_control.py:1367 #, python-format msgid "" "Usage: /%s [reason], removes the occupant specified by nickname " @@ -4526,7 +4719,7 @@ msgstr "" "nadimkom iz grupnog razgovora i opcionalno prikazuje razlog. NE podržava " "razmake u nadimku." -#: ../src/groupchat_control.py:1284 +#: ../src/groupchat_control.py:1372 #, python-format msgid "" "Usage: /%s , sends action to the current group chat. Use third " @@ -4535,107 +4728,120 @@ msgstr "" "Način korištenja: /%s , šalje akciju trenutnom grupnom razgovoru. " "Koristite treću osobu. (npr. /%s eksplodira.)" -#: ../src/groupchat_control.py:1288 +#: ../src/groupchat_control.py:1376 #, python-format msgid "" -"Usage: /%s [message], opens a private message windowand sends " +"Usage: /%s [message], opens a private message window and sends " "message to the occupant specified by nickname." msgstr "" "Način korištenja: /%s [poruka], otvara prozor privatne poruke i " -"šalje poruku učesniku specificiranom pomoću nadimka." +"šalje poruku učesniku navedenom nadimkom." -#: ../src/groupchat_control.py:1293 +#: ../src/groupchat_control.py:1381 #, python-format msgid "Usage: /%s , changes your nickname in current group chat." msgstr "" "Način korištenja: /%s , mjenja vaš nadimak u trenutnom grupnom " "razgovoru." -#: ../src/groupchat_control.py:1297 +#: ../src/groupchat_control.py:1385 #, python-format msgid "Usage: /%s , display the names of group chat occupants." msgstr "Način korištenja: /%s , prikazuje imena učesnika u grupnom razgovoru." -#: ../src/groupchat_control.py:1301 +#: ../src/groupchat_control.py:1389 #, python-format msgid "Usage: /%s [topic], displays or updates the current group chat topic." msgstr "" "Način korištenja: /%s [tema], prikazuje ili ažurira temu grupnog razgovora." -#: ../src/groupchat_control.py:1304 +#: ../src/groupchat_control.py:1392 #, python-format msgid "" "Usage: /%s , sends a message without looking for other commands." msgstr "" "Način korištenja: /%s , šalje poruku bez gledanja za ostale komande." -#: ../src/groupchat_control.py:1307 -#, python-format -msgid "No help info for /%s" -msgstr "Nema informacija ni pomoći za /%s" - -#: ../src/groupchat_control.py:1356 +#: ../src/groupchat_control.py:1458 #, python-format msgid "Are you sure you want to leave group chat \"%s\"?" msgstr "Jeste li sigurni da želite napustiti grupni razgovor \"%s\"?" -#: ../src/groupchat_control.py:1358 +#: ../src/groupchat_control.py:1460 msgid "" "If you close this window, you will be disconnected from this group chat." msgstr "" "Ako zatvorite ovaj prozor, biti ćete odspojeni iz ovog grupnog razgovora." -#: ../src/groupchat_control.py:1362 ../src/roster_window.py:3962 +#: ../src/groupchat_control.py:1464 ../src/roster_window.py:4504 msgid "Do _not ask me again" msgstr "_Ne pitaj me više" -#: ../src/groupchat_control.py:1396 +#: ../src/groupchat_control.py:1498 msgid "Changing Subject" msgstr "Mijenjanje Teme" -#: ../src/groupchat_control.py:1397 +#: ../src/groupchat_control.py:1499 msgid "Please specify the new subject:" msgstr "Molimo specificirajte novu temu:" -#: ../src/groupchat_control.py:1406 +#: ../src/groupchat_control.py:1508 msgid "Changing Nickname" msgstr "Mijenjam Nadimak" -#: ../src/groupchat_control.py:1407 +#: ../src/groupchat_control.py:1509 msgid "Please specify the new nickname you want to use:" msgstr "Molimo specificirajte novi nadimak ako ga želite koristiti:" -#: ../src/groupchat_control.py:1432 +#. Ask for a reason +#: ../src/groupchat_control.py:1524 +#, python-format +msgid "Destroying %s" +msgstr "Uništavam %s" + +#: ../src/groupchat_control.py:1525 +msgid "" +"You are going to definitively destroy this room.\n" +"You may specify a reason below:" +msgstr "" +"Definitivno će te uništiti ovu sobu.\n" +"Ispod možete navesti razlog:" + +#: ../src/groupchat_control.py:1527 +msgid "You may also enter an alternate venue:" +msgstr "Također možete unjeti alternativno mjesto sastanka:" + +#: ../src/groupchat_control.py:1557 msgid "Bookmark already set" msgstr "Knjižna oznaka je već postavljena" -#: ../src/groupchat_control.py:1433 +#: ../src/groupchat_control.py:1558 #, python-format msgid "Group Chat \"%s\" is already in your bookmarks." msgstr "Grupni Razgovor \"%s\" je već u vašim knjižnim oznakama." -#: ../src/groupchat_control.py:1442 +#: ../src/groupchat_control.py:1567 msgid "Bookmark has been added successfully" msgstr "Knjižna oznaka je bez uspješno dodana" -#: ../src/groupchat_control.py:1443 +#: ../src/groupchat_control.py:1568 msgid "You can manage your bookmarks via Actions menu in your roster." msgstr "" "Možete upravljati vašim knjižnim oznakama pomoću izbornika Akcije u vašem " "spisku." #. ask for reason -#: ../src/groupchat_control.py:1569 +#: ../src/groupchat_control.py:1703 #, python-format msgid "Kicking %s" msgstr "Izbacujem %s" -#: ../src/groupchat_control.py:1570 ../src/groupchat_control.py:1852 +#: ../src/groupchat_control.py:1704 ../src/groupchat_control.py:1996 msgid "You may specify a reason below:" msgstr "Možete specificirati razlog ispod:" #. ask for reason -#: ../src/groupchat_control.py:1851 +#: ../src/groupchat_control.py:1995 #, python-format msgid "Banning %s" msgstr "Zabranjujem pristup %s" @@ -4660,67 +4866,80 @@ msgid "Details" msgstr "Detalji" #. we talk about file -#: ../src/gtkgui_helpers.py:153 ../src/gtkgui_helpers.py:168 +#: ../src/gtkgui_helpers.py:156 ../src/gtkgui_helpers.py:171 #, python-format msgid "Error: cannot open %s for reading" msgstr "Greška: nije moguće otvoriti %s za čitanje" -#: ../src/gtkgui_helpers.py:293 +#: ../src/gtkgui_helpers.py:336 msgid "Error reading file:" msgstr "Greška pri čitanju datoteke:" -#: ../src/gtkgui_helpers.py:296 +#: ../src/gtkgui_helpers.py:339 msgid "Error parsing file:" msgstr "Greška pri učitavanju datoteke:" #. do not traceback (could be a permission problem) #. we talk about a file here -#: ../src/gtkgui_helpers.py:334 +#: ../src/gtkgui_helpers.py:376 #, python-format 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" -#: ../src/gtkgui_helpers.py:728 +#. xmpp: is currently handled by another program, so ask the user +#: ../src/gtkgui_helpers.py:711 +msgid "Gajim is not the default Jabber client" +msgstr "Gajim nije zadani Jabber klijent" + +#: ../src/gtkgui_helpers.py:712 +msgid "Would you like to make Gajim the default Jabber client?" +msgstr "Želite li postaviti Gajim za zadani Jabber klijent?" + +#: ../src/gtkgui_helpers.py:713 +msgid "Always check to see if Gajim is the default Jabber client on startup" +msgstr "Uvijek provjeri ako je Gajim zadani Jabber klijent, pri pokretanju" + +#: ../src/gtkgui_helpers.py:812 msgid "Extension not supported" msgstr "Produžetak nije podržan" -#: ../src/gtkgui_helpers.py:729 +#: ../src/gtkgui_helpers.py:813 #, python-format msgid "Image cannot be saved in %(type)s format. Save as %(new_filename)s?" msgstr "" "Sliku nije moguće spremiti u %(type)s formatu. Spremiti kao %(new_filename)s?" -#: ../src/gtkgui_helpers.py:738 +#: ../src/gtkgui_helpers.py:822 msgid "Save Image as..." msgstr "Snimiti Sliku kao..." -#: ../src/history_manager.py:64 +#: ../src/history_manager.py:65 msgid "Cannot find history logs database" msgstr "Nije moguće pronaći bazu podataka zabilješki povijesti" #. holds jid -#: ../src/history_manager.py:107 +#: ../src/history_manager.py:108 msgid "Contacts" msgstr "Kontakti" #. holds time -#: ../src/history_manager.py:120 ../src/history_manager.py:160 +#: ../src/history_manager.py:121 ../src/history_manager.py:161 #: ../src/history_window.py:86 msgid "Date" msgstr "Datum" #. holds nickname -#: ../src/history_manager.py:126 ../src/history_manager.py:178 +#: ../src/history_manager.py:127 ../src/history_manager.py:179 msgid "Nickname" msgstr "Nadimak" #. holds message -#: ../src/history_manager.py:134 ../src/history_manager.py:166 +#: ../src/history_manager.py:135 ../src/history_manager.py:167 #: ../src/history_window.py:94 msgid "Message" msgstr "Poruka" -#: ../src/history_manager.py:186 +#: ../src/history_manager.py:187 msgid "" "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM IS " "RUNNING)" @@ -4728,7 +4947,7 @@ msgstr "" "Želite li očistiti bazu podataka? (NE PREPORUČUJEMO UKOLIKO JE GAJIM " "POKRENUT)" -#: ../src/history_manager.py:188 +#: ../src/history_manager.py:189 msgid "" "Normally allocated database size will not be freed, it will just become " "reusable. If you really want to reduce database filesize, click YES, else " @@ -4742,7 +4961,7 @@ msgstr "" "\n" "Ukoliko pritisnite Da, pričekajte..." -#: ../src/history_manager.py:400 +#: ../src/history_manager.py:401 msgid "Exporting History Logs..." msgstr "Izvozim Zabilješke Povijesti..." @@ -4774,109 +4993,130 @@ msgstr[2] "" msgid "Conversation History with %s" msgstr "Povijest Razgovora sa %s" -#: ../src/history_window.py:261 +#: ../src/history_window.py:266 #, python-format msgid "%(nick)s is now %(status)s: %(status_msg)s" msgstr "%(nick)s je trenutno %(status)s: %(status_msg)s" -#: ../src/history_window.py:265 ../src/notify.py:198 +#: ../src/history_window.py:270 ../src/notify.py:201 #, python-format msgid "%(nick)s is now %(status)s" msgstr "%(nick)s je trenutno %(status)s" -#: ../src/history_window.py:271 +#: ../src/history_window.py:276 #, python-format msgid "Status is now: %(status)s: %(status_msg)s" msgstr "Stauts je trenutno: %(status)s: %(status_msg)s" -#: ../src/history_window.py:274 +#: ../src/history_window.py:279 #, python-format msgid "Status is now: %(status)s" msgstr "Status je trenutno: %(status)s" -#: ../src/message_window.py:273 +#: ../src/htmltextview.py:583 ../src/htmltextview.py:594 +msgid "Timeout loading image" +msgstr "Vrijeme isteklo kod učitavanja slike" + +#: ../src/htmltextview.py:604 +msgid "Image is too big" +msgstr "Slika je prevelika" + +#: ../src/message_window.py:276 +msgid "Chats" +msgstr "Razgovori" + +#: ../src/message_window.py:278 +msgid "Group Chats" +msgstr "Grupni Razgovori" + +#: ../src/message_window.py:280 +msgid "Private Chats" +msgstr "Privanti Razgovori" + +#: ../src/message_window.py:282 msgid "Messages" msgstr "Poruke" -#: ../src/message_window.py:274 +#: ../src/message_window.py:283 #, python-format msgid "%s - Gajim" msgstr "%s - Gajim" -#: ../src/notify.py:196 +#: ../src/notify.py:199 #, python-format msgid "%(nick)s Changed Status" msgstr "%(nick)s je Promjenio Status" -#: ../src/notify.py:206 +#: ../src/notify.py:209 #, python-format msgid "%(nickname)s Signed In" msgstr "%(nickname)s Se Prijavio" -#: ../src/notify.py:214 +#: ../src/notify.py:217 #, python-format msgid "%(nickname)s Signed Out" msgstr "%(nickname)s Se Odjavio" -#: ../src/notify.py:226 +#: ../src/notify.py:229 #, python-format msgid "New Single Message from %(nickname)s" msgstr "Nova Jedna Poruka od %(nickname)s" -#: ../src/notify.py:234 +#: ../src/notify.py:237 #, python-format msgid "New Private Message from group chat %s" msgstr "Nova Privatna Poruka iz privatnog razgovora %s" -#: ../src/notify.py:235 +#: ../src/notify.py:238 #, python-format msgid "%(nickname)s: %(message)s" msgstr "%(nickname)s: %(message)s" -#: ../src/notify.py:241 +#: ../src/notify.py:244 #, python-format msgid "New Message from %(nickname)s" msgstr "Nova poruka od %(nickname)s" -#: ../src/profile_window.py:72 ../src/profile_window.py:376 +#: ../src/profile_window.py:72 msgid "Retrieving profile..." msgstr "Dohvaćam profil..." -#: ../src/profile_window.py:107 ../src/profile_window.py:203 -#: ../src/profile_window.py:212 ../src/profile_window.py:370 -msgid "Click to set your avatar" -msgstr "Kliknite za postavljanje avatara" +#: ../src/profile_window.py:127 ../src/vcard.py:135 +msgid "File is empty" +msgstr "Datoteka je prazna" + +#: ../src/profile_window.py:130 ../src/vcard.py:138 +msgid "File does not exist" +msgstr "Datoteka ne postoji" #. keep identation -#: ../src/profile_window.py:136 +#. unknown format +#: ../src/profile_window.py:144 ../src/profile_window.py:160 +#: ../src/vcard.py:140 ../src/vcard.py:151 msgid "Could not load image" msgstr "Nemogu učitati sliku" -#: ../src/profile_window.py:238 +#: ../src/profile_window.py:261 msgid "Information received" msgstr "Primljene informacije" -#: ../src/profile_window.py:308 +#: ../src/profile_window.py:330 msgid "Without a connection you can not publish your contact information." msgstr "Bez veze ne možete objaviti informacije o sebi" -#: ../src/profile_window.py:320 +#: ../src/profile_window.py:342 msgid "Sending profile..." msgstr "Šaljem profil..." -#: ../src/profile_window.py:328 -msgid "Information published" -msgstr "Informacije objavljene" - -#: ../src/profile_window.py:340 +#: ../src/profile_window.py:357 msgid "Information NOT published" msgstr "Informacije NISU objavljene" -#: ../src/profile_window.py:347 +#: ../src/profile_window.py:364 msgid "vCard publication failed" msgstr "Objava vCard neuspješna" -#: ../src/profile_window.py:348 +#: ../src/profile_window.py:365 msgid "" "There was an error while publishing your personal information, try again " "later." @@ -4884,26 +5124,30 @@ msgstr "" "Nastala je greška prilikom objavljivanja vaših osobnih podataka, pokušajte " "ponovno kasnije." -#: ../src/profile_window.py:374 -msgid "Without a connection, you can not get your contact information." -msgstr "Bez veze ne možete dobiti informacije o kontaktu." - -#: ../src/roster_window.py:168 ../src/roster_window.py:223 +#: ../src/roster_window.py:173 ../src/roster_window.py:228 msgid "Merged accounts" msgstr "Spojeni računi" -#: ../src/roster_window.py:340 ../src/common/helpers.py:42 +#: ../src/roster_window.py:347 ../src/roster_window.py:602 +#: ../src/common/helpers.py:43 msgid "Observers" msgstr "Posmatrači" -#: ../src/roster_window.py:686 ../src/roster_window.py:3133 +#: ../src/roster_window.py:373 ../src/roster_window.py:429 +#: ../src/roster_window.py:434 ../src/roster_window.py:2442 +#: ../src/common/commands.py:194 ../src/common/contacts.py:89 +#: ../src/common/helpers.py:43 +msgid "Groupchats" +msgstr "Grupni Razgovori" + +#: ../src/roster_window.py:752 ../src/roster_window.py:3651 msgid "You cannot join a group chat while you are invisible" msgstr "Nije moguće pridruživanje grupnom razgovoru dok ste nevidljivi" #. new chat #. for chat_with #. for single message -#: ../src/roster_window.py:878 ../src/systray.py:187 ../src/systray.py:192 +#: ../src/roster_window.py:968 ../src/systray.py:206 ../src/systray.py:211 #, python-format msgid "using account %s" msgstr "koristeći račun %s" @@ -4911,68 +5155,68 @@ msgstr "koristeći račun %s" #. the 'manage gc bookmarks' item is shown #. below to avoid duplicate code #. add -#: ../src/roster_window.py:903 +#: ../src/roster_window.py:993 #, python-format msgid "to %s account" msgstr "na %s račun" #. disco -#: ../src/roster_window.py:908 +#: ../src/roster_window.py:998 #, python-format msgid "using %s account" msgstr "koristeći %s račun" #. profile, avatar -#: ../src/roster_window.py:983 +#: ../src/roster_window.py:1073 #, python-format msgid "of account %s" msgstr "računa %s" -#: ../src/roster_window.py:1003 +#: ../src/roster_window.py:1093 msgid "_Manage Bookmarks..." msgstr "Upravljanje Knjižni_m Oznakama..." -#: ../src/roster_window.py:1032 +#: ../src/roster_window.py:1122 #, python-format msgid "for account %s" msgstr "za račun %s" #. History manager -#: ../src/roster_window.py:1053 +#: ../src/roster_window.py:1143 msgid "History Manager" msgstr "Upravitelj Povijesti" -#: ../src/roster_window.py:1062 +#: ../src/roster_window.py:1152 msgid "_Join New Group Chat" msgstr "Pridružit_i se Novom Grupnom Razgovoru" -#: ../src/roster_window.py:1380 ../src/roster_window.py:3326 -#: ../src/roster_window.py:3333 +#: ../src/roster_window.py:1493 ../src/roster_window.py:3847 +#: ../src/roster_window.py:3854 msgid "You have unread messages" msgstr "Imte nepročitane poruke" -#: ../src/roster_window.py:1381 +#: ../src/roster_window.py:1494 msgid "You must read them before removing this transport." msgstr "Morate ih pročitati prije uklanjanja ovog prijenosa." -#: ../src/roster_window.py:1384 +#: ../src/roster_window.py:1497 #, python-format msgid "Transport \"%s\" will be removed" msgstr "Prijenos \"%s\" biti će uklonjen" -#: ../src/roster_window.py:1385 +#: ../src/roster_window.py:1498 msgid "" -"You will no longer be able to send and receive messages to contacts from " +"You will no longer be able to send and receive messages from contacts using " "this transport." msgstr "" -"Više nećete biti u mogućnosti razmjenjivati poruka sa kontaktima ovog " -"prijenosa." +"Više nećete biti u mogućnosti razmjenjivati poruka sa kontaktima koji " +"koriste ovaj prijenos." -#: ../src/roster_window.py:1388 +#: ../src/roster_window.py:1501 msgid "Transports will be removed" msgstr "Prijenos će biti uklonjen" -#: ../src/roster_window.py:1393 +#: ../src/roster_window.py:1506 #, python-format msgid "" "You will no longer be able to send and receive messages to contacts from " @@ -4982,114 +5226,122 @@ msgstr "" "prijenosa:%s" #. it's jid -#: ../src/roster_window.py:1413 +#: ../src/roster_window.py:1672 msgid "Rename Contact" msgstr "Preimenuj Kontakt" -#: ../src/roster_window.py:1414 +#: ../src/roster_window.py:1673 #, python-format msgid "Enter a new nickname for contact %s" msgstr "Unesite novi nadimak za kontakt %s" -#: ../src/roster_window.py:1421 +#: ../src/roster_window.py:1680 msgid "Rename Group" msgstr "Preimenuj Grupu" -#: ../src/roster_window.py:1422 +#: ../src/roster_window.py:1681 #, python-format msgid "Enter a new name for group %s" msgstr "Unesite novo ime za grupu %s" -#: ../src/roster_window.py:1476 +#: ../src/roster_window.py:1756 msgid "Remove Group" msgstr "Ukloni Grupu" -#: ../src/roster_window.py:1477 +#: ../src/roster_window.py:1757 #, python-format msgid "Do you want to remove group %s from the roster?" msgstr "Želite li ukloniti grupu %s sa liste kontakata?" -#: ../src/roster_window.py:1478 +#: ../src/roster_window.py:1758 msgid "Remove also all contacts in this group from your roster" msgstr "Ujedno ukloni i sve kontakte sa ove grupe sa liste kontakata" -#: ../src/roster_window.py:1502 +#: ../src/roster_window.py:1789 msgid "Assign OpenPGP Key" msgstr "Dodjeli OpenPGP Ključ" -#: ../src/roster_window.py:1503 +#: ../src/roster_window.py:1790 msgid "Select a key to apply to the contact" msgstr "Odaberite ključ za dodavanje kontaktu" -#: ../src/roster_window.py:1784 ../src/roster_window.py:1960 +#: ../src/roster_window.py:2030 ../src/roster_window.py:2324 msgid "_New group chat" msgstr "_Novi grupni razgovor" -#: ../src/roster_window.py:1842 +#: ../src/roster_window.py:2175 msgid "I would like to add you to my roster" msgstr "Želio bih vas dodati na svoju listu kontakata" -#: ../src/roster_window.py:2005 ../src/roster_window.py:2052 +#: ../src/roster_window.py:2369 ../src/roster_window.py:2476 msgid "Send Group M_essage" msgstr "Pošalji _Grupnu Poruku" -#: ../src/roster_window.py:2031 +#: ../src/roster_window.py:2406 +msgid "_Maximize" +msgstr "_Maksimiziraj" + +#: ../src/roster_window.py:2455 msgid "Re_name" msgstr "Pre_imenuj" -#: ../src/roster_window.py:2058 +#: ../src/roster_window.py:2482 msgid "To all users" msgstr "Svim korisnicima" -#: ../src/roster_window.py:2061 +#: ../src/roster_window.py:2485 msgid "To all online users" msgstr "Svim spojenim korisnicima" -#: ../src/roster_window.py:2097 +#: ../src/roster_window.py:2505 +msgid "Send Cus_tom Status" +msgstr "Šalje Prila_gođeni Status" + +#: ../src/roster_window.py:2562 msgid "_Log on" msgstr "_Prijava" -#: ../src/roster_window.py:2107 +#: ../src/roster_window.py:2572 msgid "Log _off" msgstr "_Odjava" -#: ../src/roster_window.py:2229 ../src/roster_window.py:2300 +#: ../src/roster_window.py:2694 ../src/roster_window.py:2765 msgid "_Change Status Message" msgstr "_Izmjena Statusne Poruke" -#: ../src/roster_window.py:2372 +#: ../src/roster_window.py:2837 msgid "Authorization has been sent" msgstr "Odobrenje je poslano" -#: ../src/roster_window.py:2373 +#: ../src/roster_window.py:2838 #, python-format msgid "Now \"%s\" will know your status." msgstr "Sada će \"%s\" znati vaš status." -#: ../src/roster_window.py:2393 +#: ../src/roster_window.py:2858 msgid "Subscription request has been sent" msgstr "Zahtjev za pretplatom je poslan" -#: ../src/roster_window.py:2394 +#: ../src/roster_window.py:2859 #, python-format msgid "If \"%s\" accepts this request you will know his or her status." msgstr "Ako \"%s\" prihvati ovaj zahtjev znati će te njegov/njezin status." -#: ../src/roster_window.py:2406 +#: ../src/roster_window.py:2871 msgid "Authorization has been removed" msgstr "Odobrenje je uklonjeno" -#: ../src/roster_window.py:2407 +#: ../src/roster_window.py:2872 #, python-format msgid "Now \"%s\" will always see you as offline." msgstr "Sada će vas \"%s\" uvijek vidjeti kao odspojenog." -#: ../src/roster_window.py:2615 +#: ../src/roster_window.py:3070 #, python-format msgid "Contact \"%s\" will be removed from your roster" msgstr "Kontakt \"%s\" biti će uklonjen sa vaše liste kontakata" -#: ../src/roster_window.py:2619 +#: ../src/roster_window.py:3074 msgid "" "By removing this contact you also remove authorization resulting in him or " "her always seeing you as offline." @@ -5097,7 +5349,7 @@ msgstr "" "Uklanjanjem ovog kontakta ujedno i uklanjate odobrenje što konačno znači da " "će vas ta osoba uvijek vidjeti kao da ste odspojeni." -#: ../src/roster_window.py:2624 +#: ../src/roster_window.py:3079 msgid "" "By removing this contact you also by default remove authorization resulting " "in him or her always seeing you as offline." @@ -5105,16 +5357,16 @@ 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." -#: ../src/roster_window.py:2627 +#: ../src/roster_window.py:3082 msgid "I want this contact to know my status after removal" msgstr "Želim da ovaj kontakt zna moj status nakon uklanjanja" #. several contact to remove at the same time -#: ../src/roster_window.py:2631 +#: ../src/roster_window.py:3086 msgid "Contacts will be removed from your roster" msgstr "Kontakti će biti uklonjeni sa vaše liste kontakata" -#: ../src/roster_window.py:2635 +#: ../src/roster_window.py:3090 #, python-format msgid "" "By removing these contacts:%s\n" @@ -5124,40 +5376,48 @@ msgstr "" "ujedno uklanjate i odobrenje što konačno znači da će vas ta osoba uvijek " "vidjeti kao da ste odspojeni." +#: ../src/roster_window.py:3122 +msgid "" +"Gnome Keyring is installed but not correctly started (environment variable " +"probably not correctly set)" +msgstr "" +"Gnome Keyring je instaliran, ali nije ispravno pokrenut (vjerovatno " +"varijabla okruženja nije ispravno postavljena)" + #. TODO: make this string translatable #. %s is the account name here -#: ../src/roster_window.py:2693 ../src/common/connection.py:587 -#: ../src/common/zeroconf/connection_zeroconf.py:158 +#: ../src/roster_window.py:3150 ../src/common/connection.py:692 +#: ../src/common/zeroconf/connection_zeroconf.py:164 #, python-format msgid "You will be connected to %s without OpenPGP." msgstr "Biti će te spojeni na %s bez OpenPGP-a." -#: ../src/roster_window.py:2710 +#: ../src/roster_window.py:3167 msgid "Passphrase Required" msgstr "Potrebna Lozinka" -#: ../src/roster_window.py:2711 +#: ../src/roster_window.py:3168 #, python-format msgid "Enter GPG key passphrase for account %s." msgstr "Unesite lozinku GPG ključa za račun %s." -#: ../src/roster_window.py:2716 +#: ../src/roster_window.py:3173 msgid "Save passphrase" msgstr "Sačuvati lozinku" -#: ../src/roster_window.py:2724 +#: ../src/roster_window.py:3181 msgid "Wrong Passphrase" msgstr "Kriva Lozinka" -#: ../src/roster_window.py:2725 +#: ../src/roster_window.py:3182 msgid "Please retype your GPG passphrase or press Cancel." msgstr "Molimo ponovo utipkajte svoju GPG lozinku ili pritisnite Odustani" -#: ../src/roster_window.py:2782 ../src/roster_window.py:2842 +#: ../src/roster_window.py:3252 ../src/roster_window.py:3320 msgid "You are participating in one or more group chats" msgstr "Sudjelujete u jednom ili više grupnih razovora" -#: ../src/roster_window.py:2783 ../src/roster_window.py:2843 +#: ../src/roster_window.py:3253 ../src/roster_window.py:3321 msgid "" "Changing your status to invisible will result in disconnection from those " "group chats. Are you sure you want to go invisible?" @@ -5165,21 +5425,21 @@ msgstr "" "Promjena vašeg statusa u nevidljivo rezultirati će odspajanjem sa tih " "grupnih razgovora. Jeste li sigurni da želite ići na nevidljivo?" -#: ../src/roster_window.py:2800 +#: ../src/roster_window.py:3278 msgid "No account available" msgstr "Nema dostupnih računa" -#: ../src/roster_window.py:2801 +#: ../src/roster_window.py:3279 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." -#: ../src/roster_window.py:2899 +#: ../src/roster_window.py:3401 #, python-format msgid "\"%(title)s\" by %(artist)s" msgstr "\"%(title)s\" od %(artist)s" -#: ../src/roster_window.py:3327 ../src/roster_window.py:3334 +#: ../src/roster_window.py:3848 ../src/roster_window.py:3855 msgid "" "Messages will only be available for reading them later if you have history " "enabled." @@ -5187,11 +5447,11 @@ msgstr "" "Poruke će biti dostupne za čitanje i kasnije ukoliko imate omogućenu " "povijest." -#: ../src/roster_window.py:3912 +#: ../src/roster_window.py:4454 msgid "Metacontacts storage not supported by your server" msgstr "Spremanje metakontakata nije podržano na vašem poslužitelju" -#: ../src/roster_window.py:3914 +#: ../src/roster_window.py:4456 msgid "" "Your server does not support storing metacontacts information. So those " "information will not be save on next reconnection." @@ -5199,15 +5459,15 @@ msgstr "" "Vaš poslužitelj ne podržava spremanje informacija metakontakata. Te " "informacije neće biti spremljene na sljedećem spajanju." -#: ../src/roster_window.py:3956 +#: ../src/roster_window.py:4498 msgid "" "You are about to create a metacontact. Are you sure you want to continue?" msgstr "" "Upravo ćete stvoriti metakontakt. Jeste li sigurni da želite nastaviti?" -#: ../src/roster_window.py:3958 +#: ../src/roster_window.py:4500 msgid "" -"Metacontacts are a way to regroup several contacts in one line. Generaly it " +"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." msgstr "" @@ -5215,33 +5475,40 @@ msgstr "" "oni se koriste kada ista osoba ima nekoliko Jabber računa ili računa " "prijenosa." -#: ../src/roster_window.py:4125 +#: ../src/roster_window.py:4578 +#, python-format +msgid "Do you want to send that file to %s:" +msgid_plural "Do you want to send those files to %s:" +msgstr[0] "Želite li poslati tu datoteku kontaktu %s:" +msgstr[1] "Želite li poslati te datoteke kontaktu %s:" + +#: ../src/roster_window.py:4683 #, python-format msgid "Drop %s in group %s" msgstr "Spusti %s u grupu %s" -#: ../src/roster_window.py:4132 +#: ../src/roster_window.py:4690 #, python-format msgid "Make %s and %s metacontacts" msgstr "Učini %s i %s pseudokontaktima" -#: ../src/roster_window.py:4319 +#: ../src/roster_window.py:4877 msgid "Change Status Message..." msgstr "Promijeni Statusnu Poruku..." -#: ../src/systray.py:144 +#: ../src/systray.py:163 msgid "_Change Status Message..." msgstr "_Promijeni Statusnu Poruku..." -#: ../src/systray.py:234 +#: ../src/systray.py:251 msgid "Hide this menu" msgstr "Sakrij ovaj izbornik" -#: ../src/tooltips.py:309 ../src/tooltips.py:492 +#: ../src/tooltips.py:309 ../src/tooltips.py:502 msgid "Jabber ID: " msgstr "Jabber ID: " -#: ../src/tooltips.py:312 ../src/tooltips.py:496 +#: ../src/tooltips.py:312 ../src/tooltips.py:506 msgid "Resource: " msgstr "Resurs: " @@ -5250,75 +5517,91 @@ msgstr "Resurs: " msgid "%(owner_or_admin_or_member)s of this group chat" msgstr "%(owner_or_admin_or_member)s ovog grupnog razgovora" -#: ../src/tooltips.py:430 ../src/tooltips.py:610 +#: ../src/tooltips.py:414 +msgid " [blocked]" +msgstr "[blokirano]" + +#: ../src/tooltips.py:418 +msgid " [minimized]" +msgstr "[minimizirano]" + +#: ../src/tooltips.py:433 ../src/tooltips.py:622 msgid "Status: " msgstr "Status: " -#: ../src/tooltips.py:461 +#: ../src/tooltips.py:464 #, python-format msgid "Last status: %s" msgstr "Zadnji status: %s" -#: ../src/tooltips.py:463 +#: ../src/tooltips.py:466 #, python-format msgid " since %s" msgstr " od %s" +#: ../src/tooltips.py:484 +msgid "Connected" +msgstr "Spojen" + +#: ../src/tooltips.py:486 +msgid "Disconnected" +msgstr "Odspojen" + #. ('both' is the normal sub so we don't show it) -#: ../src/tooltips.py:502 +#: ../src/tooltips.py:513 msgid "Subscription: " msgstr "Pretplata: " -#: ../src/tooltips.py:512 +#: ../src/tooltips.py:523 msgid "OpenPGP: " msgstr "OpenPGP: " -#: ../src/tooltips.py:566 +#: ../src/tooltips.py:578 msgid "Download" msgstr "Skidanje" -#: ../src/tooltips.py:572 +#: ../src/tooltips.py:584 msgid "Upload" msgstr "Podizanje" -#: ../src/tooltips.py:579 +#: ../src/tooltips.py:591 msgid "Type: " msgstr "Tip: " -#: ../src/tooltips.py:585 +#: ../src/tooltips.py:597 msgid "Transferred: " msgstr "Prenešeno: " -#: ../src/tooltips.py:588 ../src/tooltips.py:609 +#: ../src/tooltips.py:600 ../src/tooltips.py:621 msgid "Not started" msgstr "Nije početo" -#: ../src/tooltips.py:592 +#: ../src/tooltips.py:604 msgid "Stopped" msgstr "Zaustavljeno" -#: ../src/tooltips.py:594 ../src/tooltips.py:597 +#: ../src/tooltips.py:606 ../src/tooltips.py:609 msgid "Completed" msgstr "Završeno" -#: ../src/tooltips.py:601 +#: ../src/tooltips.py:613 msgid "?transfer status:Paused" msgstr "?status prijenosa:Stanka" #. stalled is not paused. it is like 'frozen' it stopped alone -#: ../src/tooltips.py:605 +#: ../src/tooltips.py:617 msgid "Stalled" msgstr "Zaustavljeno" -#: ../src/tooltips.py:607 +#: ../src/tooltips.py:619 msgid "Transferring" msgstr "Prenosim" -#: ../src/tooltips.py:639 +#: ../src/tooltips.py:651 msgid "This service has not yet responded with detailed information" msgstr "Ovaj servis nije još pružio detaljnije informacije" -#: ../src/tooltips.py:642 +#: ../src/tooltips.py:654 msgid "" "This service could not respond with detailed information.\n" "It is most likely legacy or broken" @@ -5326,24 +5609,24 @@ msgstr "" "Ova usluga nije mogla odgovoriti sa detaljnim informacijama.\n" "Najvjerojatnije je zastarjela ili neispravna" -#: ../src/vcard.py:217 +#: ../src/vcard.py:326 msgid "?Client:Unknown" msgstr "?Klijent:Nepoznat" -#: ../src/vcard.py:219 +#: ../src/vcard.py:328 msgid "?OS:Unknown" msgstr "?OS:Nepoznat" -#: ../src/vcard.py:247 ../src/vcard.py:449 +#: ../src/vcard.py:356 ../src/vcard.py:537 #, python-format msgid "since %s" msgstr "od %s" -#: ../src/vcard.py:277 +#: ../src/vcard.py:386 msgid "Affiliation:" msgstr "Pripadnost:" -#: ../src/vcard.py:285 +#: ../src/vcard.py:394 msgid "" "This contact is interested in your presence information, but you are not " "interested in his/her presence" @@ -5351,7 +5634,7 @@ msgstr "" "Ovaj kontakt je zainteresiran za informacije o vašem prisutstvu, ali vas ne " "zanimaju informacije o njegovom/njenom prisustvu" -#: ../src/vcard.py:287 +#: ../src/vcard.py:396 msgid "" "You are interested in the contact's presence information, but he/she is not " "interested in yours" @@ -5359,24 +5642,24 @@ msgstr "" "Vi ste zainteresirani za informacije o prisustvu nekog kontakta, ali nju/" "njega ne interesira vaše prisutstvo" -#: ../src/vcard.py:289 +#: ../src/vcard.py:398 msgid "You and the contact are interested in each other's presence information" msgstr "" "Vi i vaš kontakt ste zainteresirani za informacije o prisustvu jedno drugog" #. None -#: ../src/vcard.py:291 +#: ../src/vcard.py:400 msgid "" "You are not interested in the contact's presence, and neither he/she is " "interested in yours" msgstr "" "Ne interesira vas prisutnost kontakta, niti vaša prisutnost zanima njega/nju" -#: ../src/vcard.py:299 +#: ../src/vcard.py:408 msgid "You are waiting contact's answer about your subscription request" msgstr "Čekate odgovor kontakta o vašem zahtjevu za pretplatom" -#: ../src/vcard.py:311 ../src/vcard.py:338 ../src/vcard.py:482 +#: ../src/vcard.py:412 ../src/vcard.py:439 ../src/vcard.py:562 msgid " resource with priority " msgstr " resurs s prioritetom " @@ -5387,7 +5670,7 @@ msgstr "kreiram bazu zabilješki" #: ../src/common/check_paths.py:89 ../src/common/check_paths.py:100 #: ../src/common/check_paths.py:107 #, python-format -msgid "%s is file but it should be a directory" +msgid "%s is a file but it should be a directory" msgstr "%s je datoteka ali bi trebao biti direktorij" #: ../src/common/check_paths.py:90 ../src/common/check_paths.py:101 @@ -5397,7 +5680,7 @@ msgstr "Gajim će se sad isključiti" #: ../src/common/check_paths.py:115 #, python-format -msgid "%s is directory but should be file" +msgid "%s is a directory but should be a file" msgstr "%s je direktorij ali bi trebao biti datoteka" #: ../src/common/check_paths.py:131 @@ -5405,42 +5688,103 @@ msgstr "%s je direktorij ali bi trebao biti datoteka" msgid "creating %s directory" msgstr "kreiram %s direktorij" -#: ../src/common/config.py:55 +#: ../src/common/commands.py:69 +msgid "Change status information" +msgstr "Izmjeni informacije o statusu" + +#: ../src/common/commands.py:82 +msgid "Change status" +msgstr "Promjeni status" + +#: ../src/common/commands.py:83 +msgid "Set the presence type and description" +msgstr "Postavi tip i opis prisustva" + +#: ../src/common/commands.py:89 +msgid "Free for chat" +msgstr "Slobodan za razgovor" + +#: ../src/common/commands.py:90 +msgid "Online" +msgstr "Spojen" + +#: ../src/common/commands.py:92 +msgid "Extended away" +msgstr "Produženo odsustvo" + +#: ../src/common/commands.py:93 +msgid "Do not disturb" +msgstr "Ne uznemiravaj" + +#: ../src/common/commands.py:94 +msgid "Offline - disconnect" +msgstr "Neumreženo - prekid veze" + +#: ../src/common/commands.py:99 +msgid "Presence description:" +msgstr "Opis prisustva:" + +#: ../src/common/commands.py:134 +msgid "The status has been changed." +msgstr "Status je promjenjen." + +#: ../src/common/commands.py:179 +#, python-format +msgid "%(nickname)s on %(room_jid)s" +msgstr "%(nickname)s u %(room_name)s" + +#: ../src/common/commands.py:183 +msgid "You have not joined a groupchat." +msgstr "Niste se pridružili grupnom razgovoru" + +#: ../src/common/commands.py:189 +msgid "Leave Groupchats" +msgstr "Novi Grupni Razgovor" + +#: ../src/common/commands.py:190 +msgid "Choose the groupchats you want to leave" +msgstr "Izaberite grupne razgovore koje želite napustiti" + +#: ../src/common/commands.py:230 +msgid "You left the following groupchats:" +msgstr "Napustili ste sljedeći grupni razgovor:" + +#: ../src/common/config.py:56 msgid "Use D-Bus and Notification-Daemon to show notifications" msgstr "Koristi DBus i Obavještajni-Demon za prikazivanje obavijesti" -#: ../src/common/config.py:60 +#: ../src/common/config.py:61 msgid "Time in minutes, after which your status changes to away." msgstr "" "Vrijeme u minutama, nako kojega će se vaš status promijeniti u odsutan." -#: ../src/common/config.py:61 +#: ../src/common/config.py:62 msgid "Away as a result of being idle" msgstr "Odsutan, kao posljedica mirovanja" -#: ../src/common/config.py:63 +#: ../src/common/config.py:64 msgid "Time in minutes, after which your status changes to not available." msgstr "" "Vrijeme u minutama, nakon kojega će se vaš status promijenti u nije dostupan." -#: ../src/common/config.py:64 +#: ../src/common/config.py:65 msgid "Not available as a result of being idle" msgstr "Nije dostupan, kao posljedica mirovanja." -#: ../src/common/config.py:82 +#: ../src/common/config.py:83 msgid "" "List (space separated) of rows (accounts and groups) that are collapsed." msgstr "Lista (odvojena razmacima) redova (računa i grupa) koji su otvoreni." -#: ../src/common/config.py:87 +#: ../src/common/config.py:88 msgid "Enable link-local/zeroconf messaging" msgstr "Omogući lokalnu vezu/zeroconf poruke" -#: ../src/common/config.py:90 +#: ../src/common/config.py:91 msgid "Language used by speller" msgstr "Jezik koji koristi pravopis" -#: ../src/common/config.py:91 +#: ../src/common/config.py:92 msgid "" "'always' - print time for every message.\n" "'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" @@ -5450,10 +5794,10 @@ msgstr "" "'ponekad' - ispisuj vrijeme svakih print_ichat_every_foo_minutes minuta.\n" "'nikada' - nikada ne ispisuj vrijeme." -#: ../src/common/config.py:92 +#: ../src/common/config.py:93 msgid "" "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 less precise one. " +"to disable fuzzyclock. 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 " @@ -5461,26 +5805,28 @@ msgstr "" "najneprecizniji. Ovo se koristi samo ukoliko je prikazivanje _vremena na " "'ponekad'." -#: ../src/common/config.py:95 +#: ../src/common/config.py:96 msgid "Treat * / _ pairs as possible formatting characters." msgstr "Koristi * / _ parove kao znakove za formatiranje." -#: ../src/common/config.py:96 +#: ../src/common/config.py:97 msgid "" "If True, do not remove */_ . So *abc* will be bold but with * * not removed." msgstr "" "Ako je Istinito, nemoj odstraniti */_ . Tako će *abc* biti podebljano, ali " "omeđeno sa * *." -#: ../src/common/config.py:99 +#: ../src/common/config.py:100 msgid "" -"Uses ReStructured text markup for HTML, plus ascii formatting if selected. " -"(If you want to use this, install docutils)" +"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)" msgstr "" -"Koristi ReStructured text markup za HTML i ascii formatiranje ako je " -"odabrano. (Ako ovo želite koristiti, instalirajte docutils)" +"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)" -#: ../src/common/config.py:108 +#: ../src/common/config.py:109 msgid "" "Character to add after nickname when using nick completion (tab) in group " "chat." @@ -5488,7 +5834,7 @@ msgstr "" "Znak za dodavanje nakon nadimka pri korištenju završavanja nadimka (tipka " "tab) u grupnom razgovoru" -#: ../src/common/config.py:109 +#: ../src/common/config.py:110 msgid "" "Character to propose to add after desired nickname when desired nickname is " "used by someone else in group chat." @@ -5496,6 +5842,25 @@ msgstr "" "Znak koji treba pokušati dodati željenom nadimku ukoliko netko u grupnom " "razgovoru već koristi željeni nadimak" +#: ../src/common/config.py:133 +msgid "" +"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" +msgstr "" +"Ova postavka omogućava prilagođavanje vremenske oznake koja se ispisuje u " +"razgovorima. Na primjer \"[%H:%M] \" će prikazati \"[hour:minute] \". " +"Pogledati python dokumentaciju za strftime za kompletan opis: http://docs." +"python.org/lib/module-time.html" + +#: ../src/common/config.py:134 +msgid "Characters that are printed before the nickname in conversations" +msgstr "Znakovi koji se ispisuju ispred nadimka u razgovorima" + +#: ../src/common/config.py:135 +msgid "Characters that are printed after the nickname in conversations" +msgstr "Znakovi koji se ispisuju nakon nadimka u razgovorima" + #: ../src/common/config.py:142 msgid "Add * and [n] in roster title?" msgstr "Dodaj * i [n] u naslov liste?" @@ -5593,11 +5958,11 @@ msgstr "" #: ../src/common/config.py:164 msgid "" -"Overrides the host we send for File Transfer in case of address translation/" -"port forwarding." +"Comma separated list of hosts that we send, in addition of local interfaces, " +"for File Transfer in case of address translation/port forwarding." msgstr "" -"Prepisuje poslužitelja kojega koristimo za prijenos datoteka u slučaju " -"prosljeđivanja" +"Lista računala odvojenih zarezom koje šaljemo, kao dodatak lokalnim " +"sučeljima, za prijenos datoteka u slučaju prosljeđivanja." #: ../src/common/config.py:166 msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." @@ -5617,7 +5982,7 @@ msgstr "Prikaži granicu notesa sa tabovima u prozorima razgovora?" #: ../src/common/config.py:176 msgid "Show close button in tab?" -msgstr "Prikaži dugme za zatvaranje u tabu?" +msgstr "Prikaži gumb za zatvaranje u tabu?" #: ../src/common/config.py:189 msgid "" @@ -5627,26 +5992,35 @@ msgstr "" "razgovorima." #: ../src/common/config.py:190 +msgid "If True, autojoined bookmarked rooms will be minimized on startup." +msgstr "" +"Ako je Istinito, označene sobe kojima se automatski pristupa će biti " +"minimizirane pri pokretanju." + +#: ../src/common/config.py:191 msgid "" "If True, quits Gajim when X button of Window Manager is clicked. This " "setting is taken into account only if trayicon is used." msgstr "" -"Ako je Istinito, Gajim se završava kad je pritisnuto X dugme. Ova postavka " -"je upotrebljena samo ako je trayicon u upotrebi." - -#: ../src/common/config.py:191 -msgid "If True, Gajim registers for xmpp:// on each startup." -msgstr "Ako je Istinito, Gajim registrira za xmpp:// pri svakom pokretanju." +"Ako je Istinito, Gajim se završava kad je pritisnut X gumb. Ova postavka je " +"upotrebljena samo ako je \"trayicon\" u upotrebi." #: ../src/common/config.py:192 msgid "" +"If True, Gajim will check if it's the default jabber client on each startup." +msgstr "" +"Ako je Istinito, Gajim će provjeriti da li je zadani jabber klijent pri " +"svakom pokretanju." + +#: ../src/common/config.py:193 +msgid "" "If True, 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 prikazvati ikonu na svakom tabu koji sadrži " "nepročitane poruke. Ovisno o temi, ikona može biti i animirana." -#: ../src/common/config.py:193 +#: ../src/common/config.py:194 msgid "" "If True, Gajim will display the status message, if not empty, for every " "contact under the contact name in roster window." @@ -5654,7 +6028,7 @@ msgstr "" "Ako je Istinito, Gajim će prikazivati statusnu poruku, ako nije prazna, za " "svaki kontakt pod imenom kontakta na listi." -#: ../src/common/config.py:195 +#: ../src/common/config.py:196 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." @@ -5662,7 +6036,7 @@ msgstr "" "Ako je Istinito, će Gajim poslati upit za avatar svaki kontakt, koji nije " "imao avatar ili je onaj u memoriji prestar" -#: ../src/common/config.py:196 +#: ../src/common/config.py:197 msgid "" "If False, Gajim will no longer print status line in chats when a contact " "changes his or her status and/or his or her status message." @@ -5670,12 +6044,12 @@ msgstr "" "Ako je Neistinito, više nećete vidjeti statusnu poruku u razgovorima, kada " "kontakt promjeni svoj status i/ili statusnu poruku." -#: ../src/common/config.py:197 +#: ../src/common/config.py:198 msgid "" "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 " +"status messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " "group chat." msgstr "" "može biti \"ništa\", \"sve\" ili \"ulaz_i_izlaz\". Ako je \"ništa\", Gajim " @@ -5684,29 +6058,29 @@ msgstr "" "prikazivati sve statusne poruke. Ako je \"ulaz_i_izlaz\" Gajim će " "prikazivati samo poruke tipa FOO je ušao/izašao u/iz sobe" -#: ../src/common/config.py:199 +#: ../src/common/config.py:200 msgid "Background color of contacts when they just signed in." msgstr "Boja pozadine kontakata kada su se upravo prijavili." -#: ../src/common/config.py:200 +#: ../src/common/config.py:201 msgid "Background color of contacts when they just signed out." msgstr "Boja pozadine kontakata kada su se upravo odjavili." -#: ../src/common/config.py:202 +#: ../src/common/config.py:203 msgid "" "If True, restored messages will use a smaller font than the default one." msgstr "" "Ako je Istinito, vraćene poruke će koristiti manji font od pretpostavljenog." -#: ../src/common/config.py:203 +#: ../src/common/config.py:204 msgid "Don't show avatar for the transport itself." msgstr "Ne prikazuj avatar za sam transport." -#: ../src/common/config.py:204 +#: ../src/common/config.py:205 msgid "Don't show roster in the system taskbar." msgstr "Ne prikazuj listu kontakata u programskoj traci." -#: ../src/common/config.py:205 +#: ../src/common/config.py:206 msgid "" "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 " @@ -5716,7 +6090,7 @@ msgstr "" "prozor bljeska (pretpostavljeno ponašanje u većini Upravitelja Prozorima) " "pri novim događajima." -#: ../src/common/config.py:207 +#: ../src/common/config.py:208 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 " @@ -5727,7 +6101,7 @@ msgstr "" "grupnim razgovorima" #. always, never, peracct, pertype should not be translated -#: ../src/common/config.py:210 +#: ../src/common/config.py:211 msgid "" "Controls the window where new messages are placed.\n" "'always' - All messages are sent to a single window.\n" @@ -5745,35 +6119,35 @@ msgstr "" "svoj prozor. Promjena ove opcije zahtijeva ponovno pokretanje Gajima kako bi " "se promjene primjenile." -#: ../src/common/config.py:211 +#: ../src/common/config.py:212 msgid "If False, you will no longer see the avatar in the chat window." msgstr "Ako je Neistinito, nećete više vidjeti avatar u prozoru razgovora." -#: ../src/common/config.py:212 +#: ../src/common/config.py:213 msgid "If True, pressing the escape key closes a tab/window." msgstr "Ako je Istinito, pritisak na 'esc' tipku zatvara tab/prozor." -#: ../src/common/config.py:213 +#: ../src/common/config.py:214 msgid "Hides the buttons in group chat window." msgstr "Skriva dugmad u prozoru grupnog razgovora." -#: ../src/common/config.py:214 -msgid "Hides the buttons in two persons chat window." -msgstr "Skriva dugme u prozoru razgovora dviju osoba." - #: ../src/common/config.py:215 +msgid "Hides the buttons in two persons chat window." +msgstr "Skriva gumbe u prozoru razgovora dviju osoba." + +#: ../src/common/config.py:216 msgid "Hides the banner in a group chat window" msgstr "Sakrije baner u prozoru grupnog razgovora" -#: ../src/common/config.py:216 +#: ../src/common/config.py:217 msgid "Hides the banner in two persons chat window" msgstr "Sakrije baner u prozoru razgovora dviju osoba" -#: ../src/common/config.py:217 +#: ../src/common/config.py:218 msgid "Hides the group chat occupants list in group chat window." msgstr "Skriva listu učesnika u prozoru grupnog razgovora." -#: ../src/common/config.py:218 +#: ../src/common/config.py:219 msgid "" "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." @@ -5781,20 +6155,20 @@ msgstr "" "U razgovoru, prikaži nadimak na početku reda samo kada se ne radi o istoj " "osobi koja je pričala i u prošloj poruci." -#: ../src/common/config.py:219 -msgid "Indentation when using merge consecutive nickame." -msgstr "Uvlačenje pri korištenju spajanja toka po nadimcima." - #: ../src/common/config.py:220 +msgid "Indentation when using merge consecutive nickname." +msgstr "Indentacija kod korištenja nadimaka koji se uzastopno pojavljuju." + +#: ../src/common/config.py:221 msgid "List of colors that will be used to color nicknames in group chats." msgstr "" "Lista boja koje će biti korištene za bojanje nadimaka u grupnim razgovorima." -#: ../src/common/config.py:221 +#: ../src/common/config.py:222 msgid "Ctrl-Tab go to next composing tab when none is unread." msgstr "Ctrl-Tab idi na sljedeći tab kada nema nepročitanih." -#: ../src/common/config.py:222 +#: ../src/common/config.py:223 msgid "" "Should we show the confirm metacontacts creation dialog or not? Empty string " "means we never show the dialog." @@ -5802,18 +6176,63 @@ msgstr "" "Trebamo li prikazati upit za potvrdu stvaranja metakontakata ili ne? Prazan " "niz znači da nikada ne prikazujemo upit." -#: ../src/common/config.py:223 +#: ../src/common/config.py:224 msgid "" "If True, you will be able to set a negative priority to your account in " -"account modification window. BE CAREFULL, when you are logged in with a " +"account modification window. BE CAREFUL, when you are logged in with a " "negative priority, you will NOT receive any message from your server." msgstr "" "Ako je Istinito, biti ćete u mogućnosti postaviti negativni prioritet na vaš " "račun u prozoru za izmjenu postavki računa. BUDITE OPREZNI, kada ste " -"prijavljeni sa negativnim prioritetom NEĆETE primati nikakve poruke od " +"prijavljeni sa negativnim prioritetom NEĆETE primati nikakve poruke sa vašeg " "poslužitelja." -#: ../src/common/config.py:234 +#: ../src/common/config.py:225 +msgid "" +"If True, Gajim will use Gnome Keyring (if available) to store account " +"passwords." +msgstr "" +"Ako je Istinito, Gajim će koristiti Gnome Keyring (ako je dostupan) da bi " +"pohranio lozinke računa." + +#: ../src/common/config.py:226 +msgid "" +"If True, Gajim will show number of online and total contacts in account and " +"group rows." +msgstr "" +"Ako je Istinito, Gajim će prikazivati broj prisutnih i ukupnih kontakata u " +"redovima za račune i grupe." + +#: ../src/common/config.py:227 +msgid "" +"Can be empty, 'chat' or 'normal'. If not empty, treat all incoming messages " +"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" + +#: ../src/common/config.py:228 +msgid "" +"If True, Gajim will scroll and select the contact who sent you the last " +"message, if chat window is not already opened." +msgstr "" +"Ako je Istinito, Gajim će otklizati i izabrati izabrati kontakt koji vam je " +"poslao posljednju poruku, ako prozor s razgovorom već nije otvoren." + +#: ../src/common/config.py:229 +msgid "" +"If True, Gajim will convert string between $$ and $$ to an image using dvips " +"and convert before insterting it in chat window." +msgstr "" +"Ako je Istinito, Gajim će pretvoriti frazu između $$ i $$ u sliku koristeći " +"dvips i pretvoriti prije ubacivanja u prozor s razgovorom." + +#: ../src/common/config.py:230 +msgid "Time of inactivity needed before the change status window closes down." +msgstr "" +"Vrijeme neaktivnosti potrebno da bi se prozor za promjenu statusa zatvorio." + +#: ../src/common/config.py:241 msgid "" "Priority will change automatically according to your status. Priorities are " "defined in autopriority_* options." @@ -5822,11 +6241,11 @@ msgstr "" "definirani u autopriority_* opcijama." #. yes, no, ask -#: ../src/common/config.py:263 +#: ../src/common/config.py:270 msgid "Jabberd2 workaround" msgstr "Jabberd2 workaround" -#: ../src/common/config.py:267 +#: ../src/common/config.py:274 msgid "" "If checked, Gajim will use your IP and proxies defined in " "file_transfer_proxies option for file transfer." @@ -5834,101 +6253,101 @@ msgstr "" "Ako je označeno, Gajim če koristiti vašu IP adresu i proxy koji je definiran " "u file_transfer_proxies opcijama za prijenos." -#: ../src/common/config.py:326 +#: ../src/common/config.py:333 msgid "Is OpenPGP enabled for this contact?" msgstr "Je li OpenPGP omogućen za ovog kontakta?" -#: ../src/common/config.py:327 ../src/common/config.py:330 +#: ../src/common/config.py:334 ../src/common/config.py:337 msgid "Language for which we want to check misspelled words" msgstr "Jezik u kojem želimo provjeriti krivo napisane riječi" -#: ../src/common/config.py:336 +#: ../src/common/config.py:343 msgid "all or space separated status" msgstr "sve ili razmakom odvojen status" -#: ../src/common/config.py:337 +#: ../src/common/config.py:344 msgid "'yes', 'no', or 'both'" msgstr "'da', 'ne', ili 'oboje'" -#: ../src/common/config.py:338 ../src/common/config.py:340 -#: ../src/common/config.py:341 ../src/common/config.py:344 -#: ../src/common/config.py:345 +#: ../src/common/config.py:345 ../src/common/config.py:347 +#: ../src/common/config.py:348 ../src/common/config.py:351 +#: ../src/common/config.py:352 msgid "'yes', 'no' or ''" msgstr "'da', 'ne' ili ''" -#: ../src/common/config.py:351 +#: ../src/common/config.py:358 msgid "Sleeping" msgstr "Spavam" -#: ../src/common/config.py:352 +#: ../src/common/config.py:359 msgid "Back soon" msgstr "Vraćam se ubrzo" -#: ../src/common/config.py:352 +#: ../src/common/config.py:359 msgid "Back in some minutes." msgstr "Vraćam se za nekoliko minuta." -#: ../src/common/config.py:353 +#: ../src/common/config.py:360 msgid "Eating" msgstr "Jedem" -#: ../src/common/config.py:353 +#: ../src/common/config.py:360 msgid "I'm eating, so leave me a message." msgstr "Jedem, ostavite mi poruku." -#: ../src/common/config.py:354 +#: ../src/common/config.py:361 msgid "Movie" msgstr "Film" -#: ../src/common/config.py:354 +#: ../src/common/config.py:361 msgid "I'm watching a movie." msgstr "Gledam film." -#: ../src/common/config.py:355 +#: ../src/common/config.py:362 msgid "Working" msgstr "Radim." -#: ../src/common/config.py:355 +#: ../src/common/config.py:362 msgid "I'm working." msgstr "Radim." -#: ../src/common/config.py:356 +#: ../src/common/config.py:363 msgid "Phone" msgstr "Telefon" -#: ../src/common/config.py:356 +#: ../src/common/config.py:363 msgid "I'm on the phone." msgstr "Telefoniram." -#: ../src/common/config.py:357 +#: ../src/common/config.py:364 msgid "Out" msgstr "Vani" -#: ../src/common/config.py:357 +#: ../src/common/config.py:364 msgid "I'm out enjoying life." msgstr "Vani uživam život." -#: ../src/common/config.py:361 +#: ../src/common/config.py:368 msgid "I'm available." msgstr "Dostupan sam." -#: ../src/common/config.py:362 +#: ../src/common/config.py:369 msgid "I'm free for chat." msgstr "Slobodan sam za razgovor." -#: ../src/common/config.py:364 +#: ../src/common/config.py:371 msgid "I'm not available." msgstr "Nedostupan sam." -#: ../src/common/config.py:365 +#: ../src/common/config.py:372 msgid "Do not disturb." -msgstr "Ne smetaj." +msgstr "Ne uznemiravaj." -#: ../src/common/config.py:366 ../src/common/config.py:367 +#: ../src/common/config.py:373 ../src/common/config.py:374 msgid "Bye!" msgstr "Pozdrav!" -#: ../src/common/config.py:376 +#: ../src/common/config.py:383 msgid "" "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." @@ -5937,23 +6356,23 @@ msgstr "" "muc_highlight_words, ili kada neka poruka grupnog razgovora sadrži vaš " "nadimak." -#: ../src/common/config.py:377 +#: ../src/common/config.py:384 msgid "Sound to play when any MUC message arrives." msgstr "Zvuk koji će svirati kada stigne neka MUC poruka." -#: ../src/common/config.py:386 ../src/common/optparser.py:197 +#: ../src/common/config.py:393 ../src/common/optparser.py:195 msgid "green" msgstr "zelena" -#: ../src/common/config.py:390 ../src/common/optparser.py:183 +#: ../src/common/config.py:397 ../src/common/optparser.py:181 msgid "grocery" msgstr "namirnice" -#: ../src/common/config.py:394 +#: ../src/common/config.py:401 msgid "human" msgstr "ljudska" -#: ../src/common/config.py:398 +#: ../src/common/config.py:405 msgid "marine" msgstr "morska" @@ -5962,26 +6381,32 @@ msgstr "morska" msgid "Unable to load idle module" msgstr "Nije moguće učitati modul idle" -#: ../src/common/connection_handlers.py:177 -#: ../src/common/zeroconf/connection_handlers_zeroconf.py:233 +#: ../src/common/connection_handlers.py:180 +#: ../src/common/connection_handlers.py:215 +#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236 msgid "Wrong host" msgstr "Krivi domaćin" -#: ../src/common/connection_handlers.py:177 -#: ../src/common/zeroconf/connection_handlers_zeroconf.py:233 +#: ../src/common/connection_handlers.py:180 +#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236 +#, python-format msgid "" -"The host you configured as the ft_override_host_to_send advanced option is " +"The host %s you configured as the ft_add_hosts_to_send advanced option is " "not valid, so ignored." msgstr "" -"Domaćin koji ste postavili kao ft_override_host_to_send naprednu opciju nije " -"ispravan, time ignoriran." +"Domaćin %s koji ste postavili kao ft_add_hosts_to_send naprednu opciju nije " +"ispravan, biti će ignoriran." -#: ../src/common/connection_handlers.py:590 +#: ../src/common/connection_handlers.py:216 +msgid "Invalid local address? :-O" +msgstr "Neispravna lokalna adresa? :-O" + +#: ../src/common/connection_handlers.py:607 #, python-format msgid "Registration information for transport %s has not arrived in time" msgstr "Registracijske informacije za transport %s nisu došle na vrijeme" -#: ../src/common/connection_handlers.py:1523 +#: ../src/common/connection_handlers.py:1573 #, python-format msgid "Nickname not allowed: %s" msgstr "Nedozvoljeni nadimak: %s " @@ -5989,41 +6414,41 @@ msgstr "Nedozvoljeni nadimak: %s " #. password required to join #. we are banned #. group chat does not exist -#: ../src/common/connection_handlers.py:1585 -#: ../src/common/connection_handlers.py:1588 -#: ../src/common/connection_handlers.py:1591 -#: ../src/common/connection_handlers.py:1594 -#: ../src/common/connection_handlers.py:1597 -#: ../src/common/connection_handlers.py:1600 -#: ../src/common/connection_handlers.py:1608 +#: ../src/common/connection_handlers.py:1640 +#: ../src/common/connection_handlers.py:1643 +#: ../src/common/connection_handlers.py:1646 +#: ../src/common/connection_handlers.py:1649 +#: ../src/common/connection_handlers.py:1652 +#: ../src/common/connection_handlers.py:1655 +#: ../src/common/connection_handlers.py:1663 msgid "Unable to join group chat" msgstr "Nije moguće pridružiti se grupnom razgovoru" -#: ../src/common/connection_handlers.py:1586 +#: ../src/common/connection_handlers.py:1641 msgid "A password is required to join this group chat." msgstr "Potrebna je lozinka za pridruživanje ovom grupnom razgovoru." -#: ../src/common/connection_handlers.py:1589 +#: ../src/common/connection_handlers.py:1644 msgid "You are banned from this group chat." msgstr "Zabranjen vam je pristup ovom grupnom razgovoru." -#: ../src/common/connection_handlers.py:1592 +#: ../src/common/connection_handlers.py:1647 msgid "Such group chat does not exist." msgstr "Takav grupni razgovor ne postoji." -#: ../src/common/connection_handlers.py:1595 +#: ../src/common/connection_handlers.py:1650 msgid "Group chat creation is restricted." msgstr "Stvaranje grupnih razgovora je ograničeno." -#: ../src/common/connection_handlers.py:1598 +#: ../src/common/connection_handlers.py:1653 msgid "Your registered nickname must be used." msgstr "Morate koristiti vaš registrirani nadimak." -#: ../src/common/connection_handlers.py:1601 +#: ../src/common/connection_handlers.py:1656 msgid "You are not in the members list." msgstr "Niste u listi članova." -#: ../src/common/connection_handlers.py:1609 +#: ../src/common/connection_handlers.py:1664 msgid "" "Your desired nickname is in use or registered by another occupant.\n" "Please specify another nickname below:" @@ -6032,27 +6457,38 @@ msgstr "" "od učesnika.\n" "Molimo niže odredite drugi nadimak:" -#: ../src/common/connection_handlers.py:1659 +#. Room has been destroyed. see +#. http://www.xmpp.org/extensions/xep-0045.html#destroyroom +#: ../src/common/connection_handlers.py:1692 +msgid "Room has been destroyed" +msgstr "Soba je uništena" + +#: ../src/common/connection_handlers.py:1699 +#, python-format +msgid "You can join this room instead: %s" +msgstr "Možete se pridružiti ovoj sobi umjesto: %s" + +#: ../src/common/connection_handlers.py:1726 msgid "I would like to add you to my roster." msgstr "Želio bih te dodati na moju listu kontakata." #. BE CAREFUL: no con.updateRosterItem() in a callback -#: ../src/common/connection_handlers.py:1680 +#: ../src/common/connection_handlers.py:1747 #, python-format msgid "we are now subscribed to %s" msgstr "sada smo pretplaćeni na %s" -#: ../src/common/connection_handlers.py:1682 +#: ../src/common/connection_handlers.py:1749 #, python-format msgid "unsubscribe request from %s" msgstr "Zahtjev za ukidanjem pretplate od %s" -#: ../src/common/connection_handlers.py:1684 +#: ../src/common/connection_handlers.py:1751 #, python-format msgid "we are now unsubscribed from %s" msgstr "sada smo ukinuli pretplatu za %s" -#: ../src/common/connection_handlers.py:1854 +#: ../src/common/connection_handlers.py:1870 #, python-format msgid "" "JID %s is not RFC compliant. It will not be added to your roster. Use roster " @@ -6062,79 +6498,112 @@ msgstr "" "Upotrijebite alate za upravljanje listom kontakata kao što je http://jru." "jabberstudio.org/ za uklanjanje" -#: ../src/common/connection.py:175 -#: ../src/common/zeroconf/connection_zeroconf.py:196 +#: ../src/common/connection.py:197 +#: ../src/common/zeroconf/connection_zeroconf.py:202 #, python-format msgid "Connection with account \"%s\" has been lost" msgstr "Veza sa računom \"%s\" je izgubljena" -#: ../src/common/connection.py:176 +#: ../src/common/connection.py:198 msgid "Reconnect manually." msgstr "Ponovo se spojite ručno." -#: ../src/common/connection.py:187 ../src/common/connection.py:214 +#: ../src/common/connection.py:209 +#, fuzzy, python-format +msgid "Server %s answered wrongly to register request: %s" +msgstr "Prijenos %s je krivo odgovorio na poziv za registraciju: %s" + +#. wrong answer +#: ../src/common/connection.py:220 +msgid "Invalid answer" +msgstr "Nepravilan odgovor" + +#: ../src/common/connection.py:221 #, python-format msgid "Transport %s answered wrongly to register request: %s" msgstr "Prijenos %s je krivo odgovorio na poziv za registraciju: %s" -#. wrong answer -#: ../src/common/connection.py:213 -msgid "Invalid answer" -msgstr "Nepravilan odgovor" +#: ../src/common/connection.py:368 +msgid "Connection to proxy failed" +msgstr "Veza na proxy nije uspjela" -#: ../src/common/connection.py:405 ../src/common/connection.py:440 -#: ../src/common/connection.py:889 -#: ../src/common/zeroconf/connection_zeroconf.py:217 +#: ../src/common/connection.py:422 ../src/common/connection.py:520 +#: ../src/common/connection.py:1051 +#: ../src/common/zeroconf/connection_zeroconf.py:236 #, python-format msgid "Could not connect to \"%s\"" msgstr "Nije moguća veza sa \"%s\"" -#: ../src/common/connection.py:419 +#: ../src/common/connection.py:436 #, python-format msgid "Connected to server %s:%s with %s" msgstr "Povezan na poslužitelj %s:%s sa %s" -#: ../src/common/connection.py:441 +#: ../src/common/connection.py:449 +#, python-format +msgid "Security error connecting to \"%s\"" +msgstr "Sigurnosna greška prilikom spajanja na \"%s\"" + +#: ../src/common/connection.py:450 +msgid "" +"The server's key has changed, or someone is trying to hack your connection." +msgstr "Ključ servera se promjenio, ili netko pokušava prtljati po vašoj vezi." + +#: ../src/common/connection.py:457 +#, python-format +msgid "Unable to check fingerprint for %s. Connection could be insecure." +msgstr "Nemoguće provjeriti potpis za %s. Veza može biti nesigurna." + +#: ../src/common/connection.py:499 +#, python-format +msgid "Missing fingerprint in SSL connection to %s" +msgstr "Nedostaje potpis u SSL vezi do %s" + +#: ../src/common/connection.py:505 +#, python-format +msgid "Fingerprint mismatch for %s: Got %s, expected %s" +msgstr "Potpis se ne slaže za %s: Dobiveno %s, očekivano %s" + +#: ../src/common/connection.py:521 msgid "Check your connection or try again later" msgstr "Provjerite vašu vezu ili pokušajte ponovno kasnije" -#: ../src/common/connection.py:467 +#: ../src/common/connection.py:547 #, python-format msgid "Authentication failed with \"%s\"" msgstr "Autentifikacija sa \"%s\" nije uspjela" -#: ../src/common/connection.py:468 +#: ../src/common/connection.py:548 msgid "Please check your login and password for correctness." msgstr "Molimo vas da provjerite korisničko ime i lozinku za greške." +#: ../src/common/connection.py:591 +msgid "Error while removing privacy list" +msgstr "Greška prilikom brisanja liste privatnosti" + +#: ../src/common/connection.py:592 +#, python-format +msgid "" +"Privacy list %s has not been removed. It is maybe active in one of your " +"connected resources. 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." + #. We didn't set a passphrase -#: ../src/common/connection.py:585 -#: ../src/common/zeroconf/connection_zeroconf.py:156 +#: ../src/common/connection.py:690 +#: ../src/common/zeroconf/connection_zeroconf.py:162 msgid "OpenPGP passphrase was not given" msgstr "Lozinka za OpenPGP nije unešena" -#. do not show I'm invisible! -#: ../src/common/connection.py:627 -msgid "invisible" -msgstr "nevidljiv" - -#: ../src/common/connection.py:628 -msgid "offline" -msgstr "odspojen" - -#: ../src/common/connection.py:629 -#, python-format -msgid "I'm %s" -msgstr "Ja sam %s" - #. we're not english #. one in locale and one en -#: ../src/common/connection.py:720 +#: ../src/common/connection.py:847 msgid "[This message is *encrypted* (See :JEP:`27`]" msgstr "[Ova poruka je *kriptirana* (Vidi :JEP:`27`]" -#: ../src/common/connection.py:776 -#: ../src/common/zeroconf/connection_zeroconf.py:397 +#: ../src/common/connection.py:903 +#: ../src/common/zeroconf/connection_zeroconf.py:421 #, python-format msgid "" "Subject: %s\n" @@ -6143,10 +6612,14 @@ msgstr "" "Tema: %s\n" "%s" -#: ../src/common/connection.py:915 +#: ../src/common/connection.py:1075 msgid "Not fetched because of invisible status" msgstr "Nije dohvaćeno zbog statusa nevidljivosti" +#: ../src/common/contacts.py:279 +msgid "Not in roster" +msgstr "Nije na Listi Kontakata" + #. only say that to non Windows users #: ../src/common/dbus_support.py:33 msgid "D-Bus python bindings are missing in this computer" @@ -6228,391 +6701,391 @@ msgstr "dvanaest" #. Strings to use for the output. %0 will be replaced with the preceding hour (e.g. "x PAST %0"), %1 with the coming hour (e.g. "x TO %1). ''' #. A "singular-form". It is used when talking about hour 0 #: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55 -msgid "%0 o'clock" -msgstr "%0 sati" +msgid "$0 o'clock" +msgstr "$0 sati" #: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55 -msgid "five past %0" -msgstr "pet poslije %0" - -#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:56 -msgid "ten past %0" -msgstr "deset poslije %0" +msgid "five past $0" +msgstr "pet poslije $0" #: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:56 -msgid "quarter past %0" -msgstr "četvrt poslije %0" +msgid "ten past $0" +msgstr "deset poslije $0" -#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:57 -msgid "twenty past %0" -msgstr "dvadeset poslije %0" +#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:56 +msgid "quarter past $0" +msgstr "četvrt poslije $0" #: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:57 -msgid "twenty five past %0" -msgstr "dvadeset pet poslije %0" +msgid "twenty past $0" +msgstr "dvadeset poslije $0" -#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:58 -msgid "half past %0" -msgstr "%0 i pola" +#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:57 +msgid "twenty five past $0" +msgstr "dvadeset pet poslije $0" #: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:58 -msgid "twenty five to %1" -msgstr "dvadeset i pet do %1" +msgid "half past $0" +msgstr "$0 i pola" -#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:59 -msgid "twenty to %1" -msgstr "dvadeset do %1" +#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:58 +msgid "twenty five to $1" +msgstr "dvadeset i pet do $1" #: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:59 -msgid "quarter to %1" -msgstr "četvrt do %1" +msgid "twenty to $1" +msgstr "dvadeset do $1" -#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:60 -msgid "ten to %1" -msgstr "deset do %1" - -#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:60 -msgid "five to %1" -msgstr "pet do %1" +#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:59 +msgid "quarter to $1" +msgstr "četvrt do $1" #: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60 -msgid "%1 o'clock" -msgstr "%1 sati" +msgid "ten to $1" +msgstr "deset do $1" -#: ../src/common/fuzzyclock.py:62 +#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60 +msgid "five to $1" +msgstr "pet do $1" + +#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:61 +msgid "$1 o'clock" +msgstr "$1 sati" + +#: ../src/common/fuzzyclock.py:64 msgid "Night" msgstr "Noć" -#: ../src/common/fuzzyclock.py:62 +#: ../src/common/fuzzyclock.py:64 msgid "Early morning" msgstr "Rano jutro" -#: ../src/common/fuzzyclock.py:62 +#: ../src/common/fuzzyclock.py:64 msgid "Morning" msgstr "Jutro" -#: ../src/common/fuzzyclock.py:62 +#: ../src/common/fuzzyclock.py:64 msgid "Almost noon" msgstr "Skoro podne" -#: ../src/common/fuzzyclock.py:63 +#: ../src/common/fuzzyclock.py:65 msgid "Noon" msgstr "Podne" -#: ../src/common/fuzzyclock.py:63 +#: ../src/common/fuzzyclock.py:65 msgid "Afternoon" msgstr "Poslijepodne" -#: ../src/common/fuzzyclock.py:63 +#: ../src/common/fuzzyclock.py:65 msgid "Evening" msgstr "Večer" -#: ../src/common/fuzzyclock.py:63 +#: ../src/common/fuzzyclock.py:65 msgid "Late evening" msgstr "Kasna večer" -#: ../src/common/fuzzyclock.py:65 +#: ../src/common/fuzzyclock.py:67 msgid "Start of week" msgstr "Početak tjedna" -#: ../src/common/fuzzyclock.py:65 +#: ../src/common/fuzzyclock.py:67 msgid "Middle of week" msgstr "Sredina tjedna" -#: ../src/common/fuzzyclock.py:65 +#: ../src/common/fuzzyclock.py:67 msgid "End of week" msgstr "Kraj tjedna" -#: ../src/common/fuzzyclock.py:66 +#: ../src/common/fuzzyclock.py:68 msgid "Weekend!" msgstr "Vikend!" -#: ../src/common/helpers.py:105 +#: ../src/common/helpers.py:114 msgid "Invalid character in username." msgstr "Neispravan znak u korisničkom imenu." -#: ../src/common/helpers.py:110 +#: ../src/common/helpers.py:119 msgid "Server address required." msgstr "Potrebna je adresa poslužitelja." -#: ../src/common/helpers.py:115 +#: ../src/common/helpers.py:124 msgid "Invalid character in hostname." msgstr "Neispravan znak u imenu računala." -#: ../src/common/helpers.py:121 +#: ../src/common/helpers.py:130 msgid "Invalid character in resource." msgstr "Neispravan znak u resursu." #. GiB means gibibyte -#: ../src/common/helpers.py:161 +#: ../src/common/helpers.py:170 #, python-format msgid "%s GiB" msgstr "%s GiB" #. GB means gigabyte -#: ../src/common/helpers.py:164 +#: ../src/common/helpers.py:173 #, python-format msgid "%s GB" msgstr "%s GB" #. MiB means mibibyte -#: ../src/common/helpers.py:168 +#: ../src/common/helpers.py:177 #, python-format msgid "%s MiB" msgstr "%s MiB" #. MB means megabyte -#: ../src/common/helpers.py:171 +#: ../src/common/helpers.py:180 #, python-format msgid "%s MB" msgstr "%s MB" #. KiB means kibibyte -#: ../src/common/helpers.py:175 +#: ../src/common/helpers.py:184 #, python-format msgid "%s KiB" msgstr "%s KiB" #. KB means kilo bytes -#: ../src/common/helpers.py:178 +#: ../src/common/helpers.py:187 #, python-format msgid "%s KB" msgstr "%s KB" #. B means bytes -#: ../src/common/helpers.py:181 +#: ../src/common/helpers.py:190 #, python-format msgid "%s B" msgstr "%s B" -#: ../src/common/helpers.py:210 +#: ../src/common/helpers.py:219 msgid "_Busy" -msgstr "_Zaposlen" +msgstr "_Zauzet" -#: ../src/common/helpers.py:212 +#: ../src/common/helpers.py:221 msgid "Busy" -msgstr "Zaposlen" +msgstr "Zauzet" -#: ../src/common/helpers.py:215 +#: ../src/common/helpers.py:224 msgid "_Not Available" msgstr "_Nedostupan" -#: ../src/common/helpers.py:220 +#: ../src/common/helpers.py:229 msgid "_Free for Chat" msgstr "_Slobodan za razgovor" -#: ../src/common/helpers.py:222 +#: ../src/common/helpers.py:231 msgid "Free for Chat" msgstr "Slobodan za razgovor" -#: ../src/common/helpers.py:225 +#: ../src/common/helpers.py:234 msgid "_Available" msgstr "_Dostupan" -#: ../src/common/helpers.py:227 +#: ../src/common/helpers.py:236 msgid "Available" msgstr "Dostupan" -#: ../src/common/helpers.py:229 +#: ../src/common/helpers.py:238 msgid "Connecting" msgstr "Povezujem" -#: ../src/common/helpers.py:232 +#: ../src/common/helpers.py:241 msgid "A_way" msgstr "O_dsutan" -#: ../src/common/helpers.py:237 +#: ../src/common/helpers.py:246 msgid "_Offline" msgstr "_Odspojen" -#: ../src/common/helpers.py:239 +#: ../src/common/helpers.py:248 msgid "Offline" msgstr "Odspojen" -#: ../src/common/helpers.py:242 +#: ../src/common/helpers.py:251 msgid "_Invisible" msgstr "_Nevidljiv" -#: ../src/common/helpers.py:248 +#: ../src/common/helpers.py:257 msgid "?contact has status:Unknown" msgstr "?kontakt ima status:Nepoznat" -#: ../src/common/helpers.py:250 +#: ../src/common/helpers.py:259 msgid "?contact has status:Has errors" msgstr "?kontakt ima status:Ima greške" -#: ../src/common/helpers.py:255 +#: ../src/common/helpers.py:264 msgid "?Subscription we already have:None" msgstr "?Pretplata koju već imamo:Ništa" -#: ../src/common/helpers.py:257 +#: ../src/common/helpers.py:266 msgid "To" msgstr "Za" -#: ../src/common/helpers.py:261 +#: ../src/common/helpers.py:270 msgid "Both" msgstr "Oboje" -#: ../src/common/helpers.py:269 +#: ../src/common/helpers.py:278 msgid "?Ask (for Subscription):None" msgstr "?Pitaj (za Pretplatu):Ništa" -#: ../src/common/helpers.py:271 +#: ../src/common/helpers.py:280 msgid "Subscribe" msgstr "Pretplatite se" -#: ../src/common/helpers.py:280 +#: ../src/common/helpers.py:289 msgid "?Group Chat Contact Role:None" msgstr "?Uloga Kontakta u Grupnom Razgvoru:Nikakva" -#: ../src/common/helpers.py:283 +#: ../src/common/helpers.py:292 msgid "Moderators" msgstr "Moderatori" -#: ../src/common/helpers.py:285 +#: ../src/common/helpers.py:294 msgid "Moderator" msgstr "Moderator" -#: ../src/common/helpers.py:288 +#: ../src/common/helpers.py:297 msgid "Participants" msgstr "Sudionici" -#: ../src/common/helpers.py:290 +#: ../src/common/helpers.py:299 msgid "Participant" msgstr "Sudionik" -#: ../src/common/helpers.py:293 +#: ../src/common/helpers.py:302 msgid "Visitors" msgstr "Posjetitelji" -#: ../src/common/helpers.py:295 +#: ../src/common/helpers.py:304 msgid "Visitor" msgstr "Posjetitelj" -#: ../src/common/helpers.py:301 +#: ../src/common/helpers.py:310 msgid "?Group Chat Contact Affiliation:None" msgstr "?Vezanost Kontakta u Grupnom Razgvoru:Nikakva" -#: ../src/common/helpers.py:303 +#: ../src/common/helpers.py:312 msgid "Owner" msgstr "Vlasnik" -#: ../src/common/helpers.py:305 +#: ../src/common/helpers.py:314 msgid "Administrator" msgstr "Administrator" -#: ../src/common/helpers.py:307 +#: ../src/common/helpers.py:316 msgid "Member" msgstr "Član" -#: ../src/common/helpers.py:346 +#: ../src/common/helpers.py:355 msgid "is paying attention to the conversation" msgstr "obraća pažnju na razgovor" -#: ../src/common/helpers.py:348 +#: ../src/common/helpers.py:357 msgid "is doing something else" msgstr "radi nešto drugo" -#: ../src/common/helpers.py:350 +#: ../src/common/helpers.py:359 msgid "is composing a message..." msgstr "piše poruku..." -#. paused means he or she was compoing but has stopped for a while -#: ../src/common/helpers.py:353 +#. paused means he or she was composing but has stopped for a while +#: ../src/common/helpers.py:362 msgid "paused composing a message" msgstr "stanka pri pisanju poruke" -#: ../src/common/helpers.py:355 +#: ../src/common/helpers.py:364 msgid "has closed the chat window or tab" msgstr "je zatvorio/zatvorila prozor za razgovor" -#: ../src/common/helpers.py:881 +#: ../src/common/helpers.py:894 #, python-format msgid " %d unread message" msgid_plural " %d unread messages" msgstr[0] "%d nepročitana poruka" msgstr[1] "%d nepročitanih poruka" -#: ../src/common/helpers.py:887 +#: ../src/common/helpers.py:900 #, python-format msgid " %d unread single message" msgid_plural " %d unread single messages" msgstr[0] "%d nepročitana jedna poruka" msgstr[1] "%d nepročitanih jednih poruka" -#: ../src/common/helpers.py:893 +#: ../src/common/helpers.py:906 #, python-format msgid " %d unread group chat message" msgid_plural " %d unread group chat messages" msgstr[0] "%d nepročitana poruka grupnih razgovora" msgstr[1] "%d nepročitanih poruka grupnih razgovora" -#: ../src/common/helpers.py:899 +#: ../src/common/helpers.py:912 #, python-format msgid " %d unread private message" msgid_plural " %d unread private messages" msgstr[0] "Gajim - %d nepročitana privatna poruka" msgstr[1] "%d nepročitanih privatnih poruka" -#: ../src/common/helpers.py:909 ../src/common/helpers.py:911 +#: ../src/common/helpers.py:922 ../src/common/helpers.py:924 #, python-format msgid "Gajim - %s" msgstr "Gajim - %s" #. we talk about a file -#: ../src/common/optparser.py:60 +#: ../src/common/optparser.py:59 #, python-format msgid "error: cannot open %s for reading" msgstr "greška: nemogu otvoriti %s za čitanje" -#: ../src/common/optparser.py:183 +#: ../src/common/optparser.py:181 msgid "gtk+" msgstr "gtk+" -#: ../src/common/optparser.py:192 ../src/common/optparser.py:193 +#: ../src/common/optparser.py:190 ../src/common/optparser.py:191 msgid "cyan" msgstr "cijan" -#: ../src/common/optparser.py:302 -msgid "migrating logs database to indeces" +#: ../src/common/optparser.py:308 +msgid "migrating logs database to indices" msgstr "migriram bazu zabilješki u indekse" -#: ../src/common/passwords.py:86 +#: ../src/common/passwords.py:82 #, python-format msgid "Gajim account %s" msgstr "Gajim račun %s" -#: ../src/common/zeroconf/client_zeroconf.py:189 +#: ../src/common/zeroconf/client_zeroconf.py:187 msgid "" "Connection to host could not be established: Incorrect answer from server." msgstr "" "Vezu sa domaćinom nije moguće ostvariti: Neispravan odgovor od poslužitelja." -#: ../src/common/zeroconf/client_zeroconf.py:205 +#: ../src/common/zeroconf/client_zeroconf.py:213 msgid "Connection to host could not be established" msgstr "Vezu na domaćina nije moguće ostvariti" -#: ../src/common/zeroconf/client_zeroconf.py:334 +#: ../src/common/zeroconf/client_zeroconf.py:347 msgid "" "Connection to host could not be established: Timeout while sending data." msgstr "" "Vezu sa domaćinom nije moguće ostvariti: Isteklo vrijeme za slanja podataka." -#: ../src/common/zeroconf/client_zeroconf.py:629 +#: ../src/common/zeroconf/client_zeroconf.py:640 msgid "Contact is offline. Your message could not be sent." msgstr "Kontakt je odspojen. Vašu poruku nije moguće poslati." -#: ../src/common/zeroconf/connection_zeroconf.py:197 +#: ../src/common/zeroconf/connection_zeroconf.py:203 msgid "To continue sending and receiving messages, you will need to reconnect." msgstr "" "Ako želite nastaviti sa slanjem i primanjem poruka, morati će te se ponovno " "spojiti." -#: ../src/common/zeroconf/connection_zeroconf.py:207 +#: ../src/common/zeroconf/connection_zeroconf.py:226 msgid "Avahi error" msgstr "Avahi greška" -#: ../src/common/zeroconf/connection_zeroconf.py:207 +#: ../src/common/zeroconf/connection_zeroconf.py:226 #, python-format msgid "" "%s\n" @@ -6621,31 +7094,31 @@ msgstr "" "%s\n" "Poruke lokalne veze možda ne rade kako treba." -#: ../src/common/zeroconf/connection_zeroconf.py:218 +#: ../src/common/zeroconf/connection_zeroconf.py:237 msgid "Please check if Avahi is installed." msgstr "Molimo provjerite da je Avahi instaliran." -#: ../src/common/zeroconf/connection_zeroconf.py:227 -#: ../src/common/zeroconf/connection_zeroconf.py:231 +#: ../src/common/zeroconf/connection_zeroconf.py:246 +#: ../src/common/zeroconf/connection_zeroconf.py:250 msgid "Could not start local service" msgstr "Nije moguće pokrenuti lokalnu uslugu" -#: ../src/common/zeroconf/connection_zeroconf.py:228 +#: ../src/common/zeroconf/connection_zeroconf.py:247 #, python-format msgid "Unable to bind to port %d." msgstr "Nemoguće vezanje na port %d." -#: ../src/common/zeroconf/connection_zeroconf.py:232 -#: ../src/common/zeroconf/connection_zeroconf.py:325 +#: ../src/common/zeroconf/connection_zeroconf.py:251 +#: ../src/common/zeroconf/connection_zeroconf.py:345 msgid "Please check if avahi-daemon is running." msgstr "Molimo provjerite da li je avahi-daemon pokrenut." -#: ../src/common/zeroconf/connection_zeroconf.py:324 +#: ../src/common/zeroconf/connection_zeroconf.py:344 #, python-format msgid "Could not change status of account \"%s\"" msgstr "Nije moguće promjeniti status računa \"%s\"" -#: ../src/common/zeroconf/connection_zeroconf.py:341 +#: ../src/common/zeroconf/connection_zeroconf.py:361 msgid "" "You are not connected or not visible to others. Your message could not be " "sent." @@ -6653,7 +7126,7 @@ msgstr "" "Niste spojeni ili ste nevidljivi za druge. Vašu poruku nije moguće poslati." #. we're not english -#: ../src/common/zeroconf/connection_zeroconf.py:353 +#: ../src/common/zeroconf/connection_zeroconf.py:373 msgid "[This message is encrypted]" msgstr "[Ova poruka je kriptirana]" @@ -6662,81 +7135,14 @@ msgstr "[Ova poruka je kriptirana]" msgid "Error while adding service. %s" msgstr "Greška prilikom dodavanja usluge. %s" -#~ msgid "Add" -#~ msgstr "Dodaj" +#~ msgid "_Retype Password:" +#~ msgstr "_Ponovo utipkajte Password:" -#~ msgid "Away " -#~ msgstr "Odsutan" +#~ msgid "_Use proxy" +#~ msgstr "_Koristi proxy" -#~ msgid "Down" -#~ msgstr "Skidanje" +#~ msgid "_Occupant Actions" +#~ msgstr "_Akcije Prisutnih" -#~ msgid "List of special notifications settings" -#~ msgstr "Lista podešenja posebnih obavijesti" - -#~ msgid "Not Available " -#~ msgstr "Nedostupan" - -#~ msgid "Up" -#~ msgstr "Gore" - -#~ msgid "Create your own Privacy Lists" -#~ msgstr "Sami stvorite svoju vlasitu Listu Privatnosti" - -#~ msgid "Server-based Privacy Lists" -#~ msgstr "Liste Privatnosti ovisne o poslužitelju" - -#~ msgid "Contact _Info" -#~ msgstr "Kontakt _Info" - -#~ msgid "Jabber" -#~ msgstr "Jabber" - -#~ msgid "Invalid room or server name" -#~ msgstr "Neispravno ime sobe ili poslužitelja" - -#~ msgid "Unknown D-Bus version: %s" -#~ msgstr "Nepoznata verzija D-Busa: %s" - -#~ msgid "vCard publication succeeded" -#~ msgstr "Objava vCard uspješna" - -#~ msgid "Your personal information has been published successfully." -#~ msgstr "Vaši osobni podaci su uspješno objavljeni." - -#~ msgid "Migrating Logs..." -#~ msgstr "Selim Zapise..." - -#~ msgid "_Join New Room" -#~ msgstr "_Pridruživanje Novoj Sobi" - -#~ msgid "Gajim - %d unread message" -#~ msgid_plural "Gajim - %d unread messages" -#~ msgstr[0] "Gajim - %d nepročitana poruka" -#~ msgstr[1] "Gajim - %d nepročitanih poruka" -#~ msgstr[2] "" - -#~ msgid "Role: " -#~ msgstr "Uloga: " - -#~ msgid "Since %s" -#~ msgstr "Od %s" - -#~ msgid "Merge consecutive nickname in chat window" -#~ msgstr "Spajanje toka po nadimcima u prozoru razgovora" - -#~ 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 "" -#~ "Zvuk koji će biti pušten kad je primljena neka MUC poruka. (Ova postavka " -#~ "je postavljena samo ako je notify_on_all_muc_messages Istinito)" - -#~ msgid "Automatically authorize contact" -#~ msgstr "Automatski autoriziraj kontakt" - -#~ msgid "Send File" -#~ msgstr "Pošalji Datoteku" - -#~ msgid "Underline" -#~ msgstr "Podcrtano" +#~ msgid "You must enter a password for the new account." +#~ msgstr "Morate unesti lozinku za novi račun" diff --git a/po/pl.po b/po/pl.po index b4b56ebda..39fab72d4 100644 --- a/po/pl.po +++ b/po/pl.po @@ -5,15 +5,16 @@ # Automatically generated, 2005. # # -#: ../src/gajim-remote.py:203 ../src/gajim-remote.py:210 -#: ../src/gajim-remote.py:236 ../src/gajim-remote.py:237 -#: ../src/gajim-remote.py:243 ../src/gajim-remote.py:244 -#: ../src/gajim-remote.py:245 ../src/gajim-remote.py:246 +#: ../src/chat_control.py:1182 ../src/gajim-remote.py:203 +#: ../src/gajim-remote.py:210 ../src/gajim-remote.py:236 +#: ../src/gajim-remote.py:237 ../src/gajim-remote.py:243 +#: ../src/gajim-remote.py:244 ../src/gajim-remote.py:245 +#: ../src/gajim-remote.py:246 msgid "" msgstr "" "Project-Id-Version: gajim 2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-01-17 22:32+0100\n" +"POT-Creation-Date: 2007-05-02 20:42+0200\n" "PO-Revision-Date: 2006-11-08 09:01+0100\n" "Last-Translator: Maciej Chojnacki \n" "Language-Team: Polish \n" @@ -111,17 +112,17 @@ msgid "I want to _register for a new account" msgstr "Chcę za_rejestrować nowe konto Jabbera" #: ../data/glade/account_creation_wizard_window.glade.h:11 -#: ../data/glade/account_modification_window.glade.h:18 +#: ../data/glade/account_modification_window.glade.h:20 msgid "If checked, Gajim will remember the password for this account" msgstr "Włączenie tej opcji spowoduje zapamiętanie hasła dla tego konta" #: ../data/glade/account_creation_wizard_window.glade.h:12 -#: ../data/glade/manage_proxies_window.glade.h:6 +#: ../data/glade/manage_proxies_window.glade.h:7 msgid "Pass_word:" msgstr "_Hasło:" #: ../data/glade/account_creation_wizard_window.glade.h:13 -#: ../data/glade/account_modification_window.glade.h:38 +#: ../data/glade/account_modification_window.glade.h:40 msgid "Save pass_word" msgstr "Zapisz _hasło" @@ -155,17 +156,17 @@ msgid "_Finish" msgstr "_Zakończ" #: ../data/glade/account_creation_wizard_window.glade.h:21 -#: ../data/glade/manage_proxies_window.glade.h:9 +#: ../data/glade/manage_proxies_window.glade.h:10 msgid "_Host:" msgstr "_Host:" #: ../data/glade/account_creation_wizard_window.glade.h:22 -#: ../data/glade/account_modification_window.glade.h:47 +#: ../data/glade/account_modification_window.glade.h:50 msgid "_Password:" msgstr "_Hasło:" #: ../data/glade/account_creation_wizard_window.glade.h:23 -#: ../data/glade/manage_proxies_window.glade.h:10 +#: ../data/glade/manage_proxies_window.glade.h:11 msgid "_Port:" msgstr "_Port:" @@ -182,7 +183,7 @@ msgid "_Use proxy" msgstr "_Korzystaj z pośrednika" #: ../data/glade/account_creation_wizard_window.glade.h:27 -#: ../data/glade/manage_proxies_window.glade.h:11 +#: ../data/glade/manage_proxies_window.glade.h:12 msgid "_Username:" msgstr "_Nazwa użytkownika:" @@ -210,19 +211,23 @@ msgid "Account Modification" msgstr "Modyfikacja konta" #: ../data/glade/account_modification_window.glade.h:6 +msgid "Administration operations" +msgstr "Operacje administracyjne" + +#: ../data/glade/account_modification_window.glade.h:7 msgid "Auto-reconnect when connection is lost" msgstr "Automatyczne połącz po zerwaniu połączenia" -#: ../data/glade/account_modification_window.glade.h:7 +#: ../data/glade/account_modification_window.glade.h:8 #: ../data/glade/zeroconf_properties_window.glade.h:3 msgid "C_onnect on Gajim startup" msgstr "P_ołącz przy starcie programu" -#: ../data/glade/account_modification_window.glade.h:8 +#: ../data/glade/account_modification_window.glade.h:9 msgid "Chan_ge Password" msgstr "Z_mień hasło" -#: ../data/glade/account_modification_window.glade.h:9 +#: ../data/glade/account_modification_window.glade.h:10 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 " @@ -233,44 +238,48 @@ msgstr "" "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" -#: ../data/glade/account_modification_window.glade.h:10 +#: ../data/glade/account_modification_window.glade.h:11 #: ../data/glade/zeroconf_properties_window.glade.h:4 msgid "Choose _Key..." msgstr "Wybierz _klucz..." -#: ../data/glade/account_modification_window.glade.h:11 +#: ../data/glade/account_modification_window.glade.h:12 msgid "Click to change account's password" msgstr "Kliknij, aby zmienić hasło dla konta" -#: ../data/glade/account_modification_window.glade.h:12 +#: ../data/glade/account_modification_window.glade.h:13 +msgid "Click to request authorization to all contacts of another account" +msgstr "Kliknij aby poprosić o autoryzację od wszystkich kontaktów z innego konta" + +#: ../data/glade/account_modification_window.glade.h:14 msgid "Connection" msgstr "Połączenie" -#: ../data/glade/account_modification_window.glade.h:13 +#: ../data/glade/account_modification_window.glade.h:15 msgid "Edit Personal Information..." msgstr "Zmień informacje o sobie..." -#: ../data/glade/account_modification_window.glade.h:14 +#: ../data/glade/account_modification_window.glade.h:16 #: ../data/glade/roster_window.glade.h:5 ../src/notify.py:458 #: ../src/notify.py:480 ../src/notify.py:492 ../src/common/helpers.py:914 msgid "Gajim" msgstr "Gajim" -#. Contact is not in a group, so count it in General group -#: ../data/glade/account_modification_window.glade.h:15 +#: ../data/glade/account_modification_window.glade.h:17 #: ../data/glade/preferences_window.glade.h:51 #: ../data/glade/zeroconf_properties_window.glade.h:7 -#: ../src/roster_window.py:346 ../src/roster_window.py:1225 -#: ../src/roster_window.py:1436 ../src/roster_window.py:2112 -#: ../src/roster_window.py:2154 ../src/common/contacts.py:280 +#: ../src/roster_window.py:348 ../src/roster_window.py:573 +#: ../src/roster_window.py:1254 ../src/roster_window.py:1613 +#: ../src/roster_window.py:2341 ../src/roster_window.py:2383 +#: ../src/roster_window.py:2420 ../src/common/contacts.py:284 msgid "General" msgstr "Ogólne" -#: ../data/glade/account_modification_window.glade.h:16 +#: ../data/glade/account_modification_window.glade.h:18 msgid "Hostname: " msgstr "Nazwa hosta: " -#: ../data/glade/account_modification_window.glade.h:17 +#: ../data/glade/account_modification_window.glade.h:19 msgid "" "If checked, Gajim will also broadcast some more IPs except from just your " "IP, so file transfer has higher chances of working." @@ -278,7 +287,7 @@ 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." -#: ../data/glade/account_modification_window.glade.h:19 +#: ../data/glade/account_modification_window.glade.h:21 msgid "" "If checked, Gajim will send keep-alive packets to prevent connection timeout " "which results in disconnection" @@ -286,7 +295,7 @@ msgstr "" "Zaznaczenie tej opcji spowoduje wysyłanie pakietów podtrzymujących " "połączenie, co zapobiega rozłączaniu" -#: ../data/glade/account_modification_window.glade.h:20 +#: ../data/glade/account_modification_window.glade.h:22 #: ../data/glade/zeroconf_properties_window.glade.h:8 msgid "" "If checked, Gajim will store the password in ~/.gajim/config with 'read' " @@ -295,7 +304,7 @@ msgstr "" "Zaznaczanie tej opcji spowoduje przechowywanie hasła w pliku ~/.gajim/config " "z prawem do odczytu tylko dla ciebie" -#: ../data/glade/account_modification_window.glade.h:21 +#: ../data/glade/account_modification_window.glade.h:23 #: ../data/glade/zeroconf_properties_window.glade.h:9 msgid "" "If checked, Gajim, when launched, will automatically connect to jabber using " @@ -304,7 +313,7 @@ msgstr "" "Zaznaczanie tej opcji spowoduje automatyczne łączenie z siecią Jabber z " "wykorzystaniem tego konta" -#: ../data/glade/account_modification_window.glade.h:22 +#: ../data/glade/account_modification_window.glade.h:24 #: ../data/glade/zeroconf_properties_window.glade.h:10 msgid "" "If checked, any change to the global status (handled by the combobox at the " @@ -314,44 +323,47 @@ 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" -#: ../data/glade/account_modification_window.glade.h:23 +#: ../data/glade/account_modification_window.glade.h:25 msgid "Information about you, as stored in the server" msgstr "Informacje o Tobie, takie jakie są przechowywane na serwerze" -#: ../data/glade/account_modification_window.glade.h:24 +#: ../data/glade/account_modification_window.glade.h:26 msgid "Manage..." msgstr "Zarządzaj..." -#: ../data/glade/account_modification_window.glade.h:25 -#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1617 -#: ../src/config.py:3409 +#: ../data/glade/account_modification_window.glade.h:27 +#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1623 +#: ../src/config.py:3301 msgid "No key selected" msgstr "Nie wybrano żadnego klucza" #. None means no proxy profile selected -#: ../data/glade/account_modification_window.glade.h:27 ../src/config.py:1197 -#: ../src/config.py:1202 ../src/config.py:1386 ../src/config.py:1607 -#: ../src/config.py:1616 ../src/config.py:1675 ../src/config.py:1749 -#: ../src/config.py:3399 ../src/config.py:3408 ../src/dialogs.py:281 -#: ../src/dialogs.py:283 +#. GPG Key +#: ../data/glade/account_modification_window.glade.h:29 +#: ../data/glade/vcard_information_window.glade.h:32 ../src/config.py:1196 +#: ../src/config.py:1201 ../src/config.py:1385 ../src/config.py:1613 +#: ../src/config.py:1622 ../src/config.py:1682 ../src/config.py:1756 +#: ../src/config.py:3291 ../src/config.py:3300 ../src/dialogs.py:281 +#: ../src/dialogs.py:283 ../src/roster_window.py:1717 +#: ../src/roster_window.py:1724 ../src/roster_window.py:1731 msgid "None" msgstr "Żaden" -#: ../data/glade/account_modification_window.glade.h:28 -#: ../data/glade/profile_window.glade.h:25 +#: ../data/glade/account_modification_window.glade.h:30 +#: ../data/glade/profile_window.glade.h:26 #: ../data/glade/zeroconf_properties_window.glade.h:17 msgid "Personal Information" msgstr "Informacje osobiste" -#: ../data/glade/account_modification_window.glade.h:29 +#: ../data/glade/account_modification_window.glade.h:31 msgid "Port: " msgstr "Port: " -#: ../data/glade/account_modification_window.glade.h:30 +#: ../data/glade/account_modification_window.glade.h:32 msgid "Priori_ty:" msgstr "Priory_tet:" -#: ../data/glade/account_modification_window.glade.h:31 +#: ../data/glade/account_modification_window.glade.h:33 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 " @@ -361,19 +373,19 @@ msgstr "" "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" -#: ../data/glade/account_modification_window.glade.h:32 +#: ../data/glade/account_modification_window.glade.h:34 msgid "Priority will change automatically according to your status." msgstr "Priorytet ulegnie zmianie automatycznie, stosownie do twojego statusu." -#: ../data/glade/account_modification_window.glade.h:33 +#: ../data/glade/account_modification_window.glade.h:35 msgid "Proxy:" msgstr "Pośrednik:" -#: ../data/glade/account_modification_window.glade.h:34 +#: ../data/glade/account_modification_window.glade.h:36 msgid "Resour_ce:" msgstr "Za_sób: " -#: ../data/glade/account_modification_window.glade.h:35 +#: ../data/glade/account_modification_window.glade.h:37 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 " @@ -387,46 +399,51 @@ msgstr "" "'Dom' i 'Praca' w tym samym czasie. Klient o najwyższym będzie odbierał " "wiadomości (patrz niżej)" -#: ../data/glade/account_modification_window.glade.h:36 +#: ../data/glade/account_modification_window.glade.h:38 #: ../data/glade/zeroconf_properties_window.glade.h:18 msgid "Save _passphrase (insecure)" msgstr "Zapisz _hasło (nie jest to bezpieczne)" -#: ../data/glade/account_modification_window.glade.h:37 +#: ../data/glade/account_modification_window.glade.h:39 #: ../data/glade/zeroconf_properties_window.glade.h:19 msgid "Save conversation _logs for all contacts" msgstr "Zapisz _logi rozmów dla wszystkich kontaktów" -#: ../data/glade/account_modification_window.glade.h:39 +#: ../data/glade/account_modification_window.glade.h:41 msgid "Send keep-alive packets" msgstr "Wysyłaj pakiety podtrzymujące" -#: ../data/glade/account_modification_window.glade.h:40 +#: ../data/glade/account_modification_window.glade.h:42 #: ../data/glade/zeroconf_properties_window.glade.h:20 msgid "Synch_ronize account status with global status" msgstr "Synch_ronizuj status konta z globalnym statusem" -#: ../data/glade/account_modification_window.glade.h:41 +#: ../data/glade/account_modification_window.glade.h:43 +#: ../data/glade/synchronise_select_account_dialog.glade.h:2 +msgid "Synchronise contacts" +msgstr "Synchronizuj kontakty" + +#: ../data/glade/account_modification_window.glade.h:44 msgid "Use _SSL (legacy)" msgstr "Korzystaj z _SSL" -#: ../data/glade/account_modification_window.glade.h:42 +#: ../data/glade/account_modification_window.glade.h:45 msgid "Use custom hostname/port" msgstr "Użyj własnej nazwy hosta/portu" -#: ../data/glade/account_modification_window.glade.h:43 +#: ../data/glade/account_modification_window.glade.h:46 msgid "Use file transfer proxies" msgstr "Używaj serwerów proxy do przesyłania plików" -#: ../data/glade/account_modification_window.glade.h:44 +#: ../data/glade/account_modification_window.glade.h:47 msgid "_Adjust to status" msgstr "_Dostosuj do statusu" -#: ../data/glade/account_modification_window.glade.h:45 +#: ../data/glade/account_modification_window.glade.h:48 msgid "_Jabber ID:" msgstr "_Jabber ID:" -#: ../data/glade/account_modification_window.glade.h:46 +#: ../data/glade/account_modification_window.glade.h:49 msgid "_Name:" msgstr "_Nazwa: " @@ -619,14 +636,18 @@ msgid "_Administrator" msgstr "_Administrator" #: ../data/glade/advanced_menuitem_menu.glade.h:10 +msgid "_Blocked Contacts" +msgstr "_Kontakty zablokowane" + +#: ../data/glade/advanced_menuitem_menu.glade.h:11 msgid "_Privacy Lists" msgstr "_Listy prywatności" -#: ../data/glade/advanced_menuitem_menu.glade.h:11 +#: ../data/glade/advanced_menuitem_menu.glade.h:12 msgid "_Send Server Message" msgstr "_Wyślij wiadomość do serwera" -#: ../data/glade/advanced_menuitem_menu.glade.h:12 +#: ../data/glade/advanced_menuitem_menu.glade.h:13 msgid "_Send Single Message" msgstr "_Wyślij wiadomość" @@ -790,38 +811,22 @@ msgid "when I'm in" msgstr "kiedy mam " #: ../data/glade/atom_entry_window.glade.h:1 -msgid "2003-12-13T18:30:02Z" -msgstr "2003-12-13T18:30:02Z" - -#: ../data/glade/atom_entry_window.glade.h:2 -msgid "Romeo and Juliet" -msgstr "Romeo i Julia" - -#: ../data/glade/atom_entry_window.glade.h:3 msgid "Entry:" msgstr "Wpis:" -#: ../data/glade/atom_entry_window.glade.h:4 +#: ../data/glade/atom_entry_window.glade.h:2 msgid "Feed name:" msgstr "Nazwa kanału:" -#: ../data/glade/atom_entry_window.glade.h:5 +#: ../data/glade/atom_entry_window.glade.h:3 msgid "Last modified:" msgstr "Ostatnio zmodyfikowany:" -#: ../data/glade/atom_entry_window.glade.h:6 +#: ../data/glade/atom_entry_window.glade.h:4 msgid "New entry received" msgstr "Odebrano nowy wpis" -#: ../data/glade/atom_entry_window.glade.h:7 -msgid "Old stories" -msgstr "Stare historie" - -#: ../data/glade/atom_entry_window.glade.h:8 -msgid "Soliloquy" -msgstr "Monolog" - -#: ../data/glade/atom_entry_window.glade.h:9 +#: ../data/glade/atom_entry_window.glade.h:5 msgid "You have received new entry:" msgstr "Otrzymałeś nowy artykuł:" @@ -856,7 +861,7 @@ msgstr "Dołącz do _pokoju" #: ../data/glade/chat_context_menu.glade.h:2 #: ../data/glade/chat_control_popup_menu.glade.h:4 #: ../data/glade/gc_occupants_menu.glade.h:2 -#: ../data/glade/roster_contact_context_menu.glade.h:10 +#: ../data/glade/roster_contact_context_menu.glade.h:11 msgid "_Add to Roster" msgstr "Dod_aj do listy kontaktów" @@ -903,9 +908,9 @@ msgid "_Compact View Alt+C" msgstr "Widok _zwarty Alt+C" #: ../data/glade/chat_control_popup_menu.glade.h:6 -#: ../data/glade/gc_control_popup_menu.glade.h:7 +#: ../data/glade/gc_control_popup_menu.glade.h:8 #: ../data/glade/gc_occupants_menu.glade.h:5 -#: ../data/glade/roster_contact_context_menu.glade.h:13 +#: ../data/glade/roster_contact_context_menu.glade.h:15 #: ../data/glade/zeroconf_contact_context_menu.glade.h:6 msgid "_History" msgstr "_Historia" @@ -974,7 +979,7 @@ msgstr "" 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" -#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:769 +#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:761 msgid "_Continue" msgstr "_Kontynuuj" @@ -982,7 +987,7 @@ msgstr "_Kontynuuj" msgid "_Notify me when a file transfer is complete" msgstr "_Powiadom mnie gdy przesyłanie pliku dobiegnie końca" -#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:190 +#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:188 msgid "_Open Containing Folder" msgstr "_Otwórz katalog zawierający ten plik" @@ -1090,6 +1095,10 @@ msgstr "Konfiguruj _pokój" msgid "_Bookmark This Room" msgstr "Dodaj _zakładkę dla tego pokoju" +#: ../data/glade/gc_control_popup_menu.glade.h:7 +msgid "_Destroy room" +msgstr "_Zlikwiduj pokój" + #: ../data/glade/gc_occupants_menu.glade.h:1 msgid "Mo_derator" msgstr "Mo_derator" @@ -1189,10 +1198,17 @@ msgid "Query Builder..." msgstr "Kreator zapytań..." #: ../data/glade/history_window.glade.h:4 +#: ../data/glade/search_window.glade.h:2 msgid "Search" msgstr "Szukaj" #: ../data/glade/history_window.glade.h:5 +#: ../data/glade/zeroconf_information_window.glade.h:10 +msgid "_Log conversation history" +msgstr "_Zapisuj historię rozmowy" + +#: ../data/glade/history_window.glade.h:6 +#: ../data/glade/search_window.glade.h:3 ../src/disco.py:1177 msgid "_Search" msgstr "_Szukaj" @@ -1209,7 +1225,7 @@ msgstr "Odmów" msgid "Invitation Received" msgstr "Zaproszenie Odebrane" -#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1148 +#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1208 msgid "Join Group Chat" msgstr "Dołącz do pokoju" @@ -1219,8 +1235,8 @@ msgstr "Automatycznie dołącz do tego pokoju po uzyskaniu połączenia" #: ../data/glade/join_groupchat_window.glade.h:3 #: ../data/glade/manage_bookmarks_window.glade.h:4 -#: ../data/glade/profile_window.glade.h:23 -#: ../data/glade/vcard_information_window.glade.h:29 +#: ../data/glade/profile_window.glade.h:24 +#: ../data/glade/vcard_information_window.glade.h:31 msgid "Nickname:" msgstr "Pseudonim:" @@ -1238,8 +1254,8 @@ msgstr "Ostatnio:" msgid "Room:" msgstr "Pokój:" -#: ../data/glade/join_groupchat_window.glade.h:7 ../src/disco.py:1149 -#: ../src/disco.py:1516 +#: ../data/glade/join_groupchat_window.glade.h:7 ../src/disco.py:1165 +#: ../src/disco.py:1615 msgid "_Join" msgstr "_Dołącz" @@ -1280,24 +1296,27 @@ msgid "Settings" msgstr "Ustawienia" #: ../data/glade/manage_proxies_window.glade.h:3 -msgid "HTTP Connect" -msgstr "Połączenie HTTP" +msgid "" +"HTTP Connect\n" +"SOCKS5" +msgstr "Połączenie HTTP\n" +"SOCKS5" -#: ../data/glade/manage_proxies_window.glade.h:4 +#: ../data/glade/manage_proxies_window.glade.h:5 msgid "Manage Proxy Profiles" msgstr "Zarządzaj profilami pośrednika" -#: ../data/glade/manage_proxies_window.glade.h:5 -#: ../data/glade/profile_window.glade.h:22 -#: ../data/glade/vcard_information_window.glade.h:28 +#: ../data/glade/manage_proxies_window.glade.h:6 +#: ../data/glade/profile_window.glade.h:23 +#: ../data/glade/vcard_information_window.glade.h:30 msgid "Name:" msgstr "Nazwa:" -#: ../data/glade/manage_proxies_window.glade.h:7 +#: ../data/glade/manage_proxies_window.glade.h:8 msgid "Type:" msgstr "Typ:" -#: ../data/glade/manage_proxies_window.glade.h:8 +#: ../data/glade/manage_proxies_window.glade.h:9 msgid "Use authentication" msgstr "Używaj autoryzacji" @@ -1305,7 +1324,7 @@ msgstr "Używaj autoryzacji" msgid "Click to insert an emoticon (Alt+M)" msgstr "Kliknij by wstawić emotikon (Alt+E)" -#: ../data/glade/message_window.glade.h:2 ../src/chat_control.py:1109 +#: ../data/glade/message_window.glade.h:2 ../src/chat_control.py:1125 msgid "OpenPGP Encryption" msgstr "Szyfrowanie OpenPGP" @@ -1319,7 +1338,7 @@ msgstr "_Działania" #. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector) #: ../data/glade/message_window.glade.h:6 #: ../data/glade/xml_console_window.glade.h:11 -#: ../src/filetransfers_window.py:253 +#: ../src/filetransfers_window.py:245 msgid "_Send" msgstr "_Wyślij" @@ -1390,7 +1409,8 @@ msgstr "Znany także jako styl iChat" #: ../data/glade/preferences_window.glade.h:19 msgid "Always check to see if Gajim is the _default Jabber client on startup" -msgstr "Przy starcie zawsze sprawdzaj czy Gajim jest _domyślnym_ klientem Jabbera" +msgstr "" +"Przy starcie zawsze sprawdzaj czy Gajim jest _domyślnym_ klientem Jabbera" #: ../data/glade/preferences_window.glade.h:20 msgid "" @@ -1428,7 +1448,7 @@ msgstr "" "Zawsze używaj domyślnych aplikacji XFCE4\n" "Własne" -#: ../data/glade/preferences_window.glade.h:29 ../src/chat_control.py:852 +#: ../data/glade/preferences_window.glade.h:29 msgid "Chat" msgstr "Rozmowa" @@ -1459,7 +1479,8 @@ msgid "" "Determined by sender\n" "Chat message\n" "Single message" -msgstr "Określa nadawca\n" +msgstr "" +"Określa nadawca\n" "Rozmowę\n" "Pojedynczą wiadomość" @@ -1849,7 +1870,7 @@ msgstr "JID" msgid "Order:" msgstr "Kolejność:" -#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:1862 +#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:2052 msgid "Privacy List" msgstr "Lista prywatności" @@ -1919,115 +1940,119 @@ msgid "City:" msgstr "Miasto:" #: ../data/glade/profile_window.glade.h:7 -#: ../data/glade/vcard_information_window.glade.h:10 +msgid "Click to set your avatar" +msgstr "Kliknij aby ustawić avatar" + +#: ../data/glade/profile_window.glade.h:8 +#: ../data/glade/vcard_information_window.glade.h:11 msgid "Company:" msgstr "Firma:" -#: ../data/glade/profile_window.glade.h:8 -#: ../data/glade/vcard_information_window.glade.h:13 +#: ../data/glade/profile_window.glade.h:9 +#: ../data/glade/vcard_information_window.glade.h:15 msgid "Country:" msgstr "Kraj:" -#: ../data/glade/profile_window.glade.h:9 -#: ../data/glade/vcard_information_window.glade.h:14 +#: ../data/glade/profile_window.glade.h:10 +#: ../data/glade/vcard_information_window.glade.h:16 msgid "Department:" msgstr "Dział:" -#: ../data/glade/profile_window.glade.h:10 -#: ../data/glade/vcard_information_window.glade.h:15 +#: ../data/glade/profile_window.glade.h:11 +#: ../data/glade/vcard_information_window.glade.h:17 #: ../data/glade/zeroconf_information_window.glade.h:2 #: ../data/glade/zeroconf_properties_window.glade.h:5 msgid "E-Mail:" msgstr "Adres e-mail:" -#: ../data/glade/profile_window.glade.h:11 -#: ../data/glade/vcard_information_window.glade.h:16 +#: ../data/glade/profile_window.glade.h:12 +#: ../data/glade/vcard_information_window.glade.h:18 msgid "Extra Address:" msgstr "Dodatkowy adres:" #. Family Name -#: ../data/glade/profile_window.glade.h:13 -#: ../data/glade/vcard_information_window.glade.h:18 +#: ../data/glade/profile_window.glade.h:14 +#: ../data/glade/vcard_information_window.glade.h:20 msgid "Family:" msgstr "Nazwisko:" #. Do NOT change sequence. Just translate YYYY and MM and DD (from Year, Month, Day accordingly) -#: ../data/glade/profile_window.glade.h:15 -#: ../data/glade/vcard_information_window.glade.h:20 +#: ../data/glade/profile_window.glade.h:16 +#: ../data/glade/vcard_information_window.glade.h:22 msgid "Format: YYYY-MM-DD" msgstr "Format: RRRR-MM-DD" #. Given Name -#: ../data/glade/profile_window.glade.h:17 -#: ../data/glade/vcard_information_window.glade.h:22 +#: ../data/glade/profile_window.glade.h:18 +#: ../data/glade/vcard_information_window.glade.h:24 msgid "Given:" msgstr "Imię:" -#: ../data/glade/profile_window.glade.h:18 -#: ../data/glade/vcard_information_window.glade.h:23 +#: ../data/glade/profile_window.glade.h:19 +#: ../data/glade/vcard_information_window.glade.h:25 msgid "Homepage:" msgstr "Strona domowa:" #. Middle Name -#: ../data/glade/profile_window.glade.h:20 -#: ../data/glade/vcard_information_window.glade.h:26 +#: ../data/glade/profile_window.glade.h:21 +#: ../data/glade/vcard_information_window.glade.h:28 msgid "Middle:" msgstr "Drugie imię:" -#: ../data/glade/profile_window.glade.h:21 -#: ../data/glade/vcard_information_window.glade.h:27 +#: ../data/glade/profile_window.glade.h:22 +#: ../data/glade/vcard_information_window.glade.h:29 msgid "More" msgstr "Więcej" -#: ../data/glade/profile_window.glade.h:24 -#: ../data/glade/vcard_information_window.glade.h:31 +#: ../data/glade/profile_window.glade.h:25 +#: ../data/glade/vcard_information_window.glade.h:34 msgid "Personal Info" msgstr "Informacje osobiste" -#: ../data/glade/profile_window.glade.h:26 -#: ../data/glade/vcard_information_window.glade.h:32 +#: ../data/glade/profile_window.glade.h:27 +#: ../data/glade/vcard_information_window.glade.h:35 msgid "Phone No.:" msgstr "Telefon:" -#: ../data/glade/profile_window.glade.h:27 -#: ../data/glade/vcard_information_window.glade.h:33 +#: ../data/glade/profile_window.glade.h:28 +#: ../data/glade/vcard_information_window.glade.h:36 msgid "Position:" msgstr "Stanowisko:" -#: ../data/glade/profile_window.glade.h:28 -#: ../data/glade/vcard_information_window.glade.h:34 +#: ../data/glade/profile_window.glade.h:29 +#: ../data/glade/vcard_information_window.glade.h:37 msgid "Postal Code:" msgstr "Kod pocztowy:" #. Prefix in Name -#: ../data/glade/profile_window.glade.h:30 -#: ../data/glade/vcard_information_window.glade.h:36 +#: ../data/glade/profile_window.glade.h:31 +#: ../data/glade/vcard_information_window.glade.h:39 msgid "Prefix:" msgstr "Prefiks:" -#: ../data/glade/profile_window.glade.h:31 -#: ../data/glade/vcard_information_window.glade.h:38 ../src/vcard.py:273 +#: ../data/glade/profile_window.glade.h:32 +#: ../data/glade/vcard_information_window.glade.h:41 ../src/vcard.py:381 msgid "Role:" msgstr "Funkcja:" -#: ../data/glade/profile_window.glade.h:32 -#: ../data/glade/vcard_information_window.glade.h:39 +#: ../data/glade/profile_window.glade.h:33 +#: ../data/glade/vcard_information_window.glade.h:42 msgid "State:" msgstr "Stan/Województwo:" -#: ../data/glade/profile_window.glade.h:33 -#: ../data/glade/vcard_information_window.glade.h:41 +#: ../data/glade/profile_window.glade.h:34 +#: ../data/glade/vcard_information_window.glade.h:44 msgid "Street:" msgstr "Ulica:" #. Suffix in Name -#: ../data/glade/profile_window.glade.h:35 -#: ../data/glade/vcard_information_window.glade.h:45 +#: ../data/glade/profile_window.glade.h:36 +#: ../data/glade/vcard_information_window.glade.h:48 msgid "Suffix:" msgstr "Sufiks:" -#: ../data/glade/profile_window.glade.h:36 -#: ../data/glade/vcard_information_window.glade.h:46 +#: ../data/glade/profile_window.glade.h:37 +#: ../data/glade/vcard_information_window.glade.h:50 msgid "Work" msgstr "Praca" @@ -2059,17 +2084,17 @@ msgstr "Przypisz klucz Open_PGP" #: ../data/glade/roster_contact_context_menu.glade.h:4 #: ../data/glade/zeroconf_contact_context_menu.glade.h:3 -#: ../src/roster_window.py:2076 +#: ../src/roster_window.py:2293 msgid "Edit _Groups" msgstr "Modyfikuj _grupy" #: ../data/glade/roster_contact_context_menu.glade.h:5 -#: ../src/roster_window.py:2211 +#: ../src/roster_window.py:2481 msgid "Execute Command..." msgstr "Wykonaj komendę..." #: ../data/glade/roster_contact_context_menu.glade.h:6 -#: ../src/roster_window.py:2034 +#: ../src/roster_window.py:2251 msgid "In_vite to" msgstr "_Zaproś do" @@ -2079,35 +2104,49 @@ msgid "Send Single _Message" msgstr "Wyślij _wiadomość" #: ../data/glade/roster_contact_context_menu.glade.h:9 +msgid "Send cus_tom status" +msgstr "Wyślij _odrębny status" + +#: ../data/glade/roster_contact_context_menu.glade.h:10 #: ../data/glade/zeroconf_contact_context_menu.glade.h:5 msgid "Start _Chat" msgstr "Rozpocznij _rozmowę" -#: ../data/glade/roster_contact_context_menu.glade.h:11 +#: ../data/glade/roster_contact_context_menu.glade.h:12 msgid "_Allow him/her to see my status" msgstr "_Pozwól mu/jej widzieć swój status" -#: ../data/glade/roster_contact_context_menu.glade.h:12 +#: ../data/glade/roster_contact_context_menu.glade.h:13 +#: ../src/roster_window.py:2317 ../src/roster_window.py:2428 +msgid "_Block" +msgstr "_Zablokuj" + +#: ../data/glade/roster_contact_context_menu.glade.h:14 msgid "_Forbid him/her to see my status" msgstr "_Zabroń mu/jej widzieć twój status" #. Remove group -#: ../data/glade/roster_contact_context_menu.glade.h:14 -#: ../src/roster_window.py:2028 ../src/roster_window.py:2125 -#: ../src/roster_window.py:2232 +#: ../data/glade/roster_contact_context_menu.glade.h:16 +#: ../src/roster_window.py:2245 ../src/roster_window.py:2354 +#: ../src/roster_window.py:2502 msgid "_Remove from Roster" msgstr "_Usuń z listy kontaktów" -#: ../data/glade/roster_contact_context_menu.glade.h:15 +#: ../data/glade/roster_contact_context_menu.glade.h:17 #: ../data/glade/zeroconf_contact_context_menu.glade.h:7 -#: ../src/roster_window.py:2220 +#: ../src/roster_window.py:2490 msgid "_Rename" msgstr "_Zmień nazwę" -#: ../data/glade/roster_contact_context_menu.glade.h:16 +#: ../data/glade/roster_contact_context_menu.glade.h:18 msgid "_Subscription" msgstr "_Autoryzacja" +#: ../data/glade/roster_contact_context_menu.glade.h:19 +#: ../src/roster_window.py:2311 ../src/roster_window.py:2422 +msgid "_Unblock" +msgstr "_Cofnij blokadę" + #: ../data/glade/roster_window.glade.h:1 msgid "A_ccounts" msgstr "_Konta" @@ -2148,8 +2187,8 @@ msgstr "_Zawartość" msgid "_Discover Services" msgstr "_Wyszukuj usługi" -#: ../data/glade/roster_window.glade.h:14 ../src/disco.py:1254 -#: ../src/roster_window.py:2203 +#: ../data/glade/roster_window.glade.h:14 ../src/disco.py:1353 +#: ../src/roster_window.py:2473 msgid "_Edit" msgstr "_Edycja" @@ -2173,6 +2212,10 @@ msgstr "_Zakończ" msgid "_View" msgstr "_Widok" +#: ../data/glade/search_window.glade.h:1 +msgid "Please wait while retrieving search form..." +msgstr "Proszę czekać, trwa pobieranie formularza wyszukiwania..." + #: ../data/glade/service_discovery_window.glade.h:1 msgid "G_o" msgstr "I_dź" @@ -2261,6 +2304,18 @@ msgstr "Prośba o autoryzację" msgid "_Deny" msgstr "O_dmów" +#: ../data/glade/synchronise_select_account_dialog.glade.h:1 +msgid "Select the account with which you want to synchronise" +msgstr "Wskaż konto, z którym chcesz zsynchronizować kontakty" + +#: ../data/glade/synchronise_select_contacts_dialog.glade.h:1 +msgid "Select the contacts you want to synchronise" +msgstr "Wybierz kontakty, które chcesz zsynchronizować" + +#: ../data/glade/synchronise_select_contacts_dialog.glade.h:2 +msgid "Synchronise : select contacts" +msgstr "Synchronizacja: wybierz kontakty" + #: ../data/glade/systray_context_menu.glade.h:1 msgid "Mute Sounds" msgstr "Wyłącz dźwięki" @@ -2283,51 +2338,58 @@ msgid "Ask:" msgstr "Pytaj:" #: ../data/glade/vcard_information_window.glade.h:8 +msgid "Click to force avatar" +msgstr "Kliknij aby ustawić avatar" + +#: ../data/glade/vcard_information_window.glade.h:9 msgid "Client:" msgstr "Klient:" -#: ../data/glade/vcard_information_window.glade.h:9 +#: ../data/glade/vcard_information_window.glade.h:10 msgid "Comments" msgstr "Komentarze" -#: ../data/glade/vcard_information_window.glade.h:11 +#: ../data/glade/vcard_information_window.glade.h:12 +msgid "Configured avatar:" +msgstr "Ustawiony avatar:" + +#: ../data/glade/vcard_information_window.glade.h:13 #: ../data/glade/zeroconf_information_window.glade.h:1 msgid "Contact" msgstr "Kontakt" -#: ../data/glade/vcard_information_window.glade.h:12 +#: ../data/glade/vcard_information_window.glade.h:14 msgid "Contact Information" msgstr "Informacje o kontakcie" -#: ../data/glade/vcard_information_window.glade.h:24 +#: ../data/glade/vcard_information_window.glade.h:26 #: ../data/glade/zeroconf_information_window.glade.h:4 #: ../data/glade/zeroconf_properties_window.glade.h:13 ../src/dialogs.py:416 msgid "Jabber ID:" msgstr "Jabber ID:" -#: ../data/glade/vcard_information_window.glade.h:30 +#: ../data/glade/vcard_information_window.glade.h:33 msgid "OS:" msgstr "System operacyjny:" -#: ../data/glade/vcard_information_window.glade.h:37 +#: ../data/glade/vcard_information_window.glade.h:40 #: ../data/glade/zeroconf_information_window.glade.h:8 msgid "Resource:" msgstr "Zasoby:" -#: ../data/glade/vcard_information_window.glade.h:40 +#: ../data/glade/vcard_information_window.glade.h:43 #: ../data/glade/zeroconf_information_window.glade.h:9 msgid "Status:" msgstr "Status:" #. Family Name -#: ../data/glade/vcard_information_window.glade.h:43 +#: ../data/glade/vcard_information_window.glade.h:46 msgid "Subscription:" msgstr "Autoryzacja:" -#: ../data/glade/vcard_information_window.glade.h:47 -#: ../data/glade/zeroconf_information_window.glade.h:10 -msgid "_Log conversation history" -msgstr "_Zapisuj historię rozmowy" +#: ../data/glade/vcard_information_window.glade.h:49 +msgid "User avatar:" +msgstr "Używany avatar" #: ../data/glade/xml_console_window.glade.h:1 msgid "Jabber Traffic" @@ -2461,8 +2523,8 @@ msgid "Bulgarian" msgstr "bułgarski" #: ../src/chat_control.py:52 -msgid "Briton" -msgstr "brytyjski" +msgid "Breton" +msgstr "bretoński" #: ../src/chat_control.py:52 msgid "Czech" @@ -2489,7 +2551,7 @@ msgid "Spanish" msgstr "hiszpański" #: ../src/chat_control.py:52 -msgid "Basc" +msgid "Basque" msgstr "baskijski" #: ../src/chat_control.py:52 @@ -2532,6 +2594,10 @@ msgstr "portugalski (Brazylia)" msgid "Russian" msgstr "rosyjski" +#: ../src/chat_control.py:52 +msgid "Serbian" +msgstr "serbski" + #: ../src/chat_control.py:52 msgid "Slovak" msgstr "słowacki" @@ -2544,7 +2610,7 @@ msgstr "szwedzki" msgid "Chinese (Ch)" msgstr "chiński (Ch)" -#: ../src/chat_control.py:208 ../src/dialogs.py:1516 +#: ../src/chat_control.py:212 ../src/dialogs.py:1706 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 " @@ -2560,64 +2626,80 @@ msgstr "" "\n" "Podświedlanie błędów w pisowni nie będzie używane" -#: ../src/chat_control.py:247 +#: ../src/chat_control.py:251 msgid "Spelling language" msgstr "Wybierz słownik" #. we are not connected -#: ../src/chat_control.py:270 ../src/chat_control.py:476 +#: ../src/chat_control.py:274 ../src/chat_control.py:480 msgid "A connection is not available" msgstr "Połączenie jest niemożliwe" -#: ../src/chat_control.py:271 ../src/chat_control.py:477 +#: ../src/chat_control.py:275 ../src/chat_control.py:481 msgid "Your message can not be sent until you are connected." msgstr "Nie możesz wysłać wiadomości dopóki nie będziesz połączony." -#: ../src/chat_control.py:852 -msgid "Chats" -msgstr "Rozmowy" - -#: ../src/chat_control.py:1034 +#: ../src/chat_control.py:1050 #, python-format msgid "%(nickname)s from group chat %(room_name)s" msgstr "%(nickname)s z pokoju %(room_name)s" #. we talk about a contact here -#: ../src/chat_control.py:1123 +#: ../src/chat_control.py:1139 #, python-format 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" -#: ../src/chat_control.py:1259 +#: ../src/chat_control.py:1173 ../src/groupchat_control.py:1276 +#, python-format +msgid "Commands: %s" +msgstr "Polecenia: %s" + +#: ../src/chat_control.py:1176 ../src/groupchat_control.py:1290 +#, python-format +msgid "Usage: /%s, clears the text window." +msgstr "Użycie: /%s czyście okno tekstowe." + +#: ../src/chat_control.py:1179 ../src/groupchat_control.py:1295 +#, python-format +msgid "Usage: /%s, hide the chat buttons." +msgstr "Użycie: /%s ukrywa przyciski czatu." + +#: ../src/chat_control.py:1184 ../src/groupchat_control.py:1334 +#, python-format +msgid "No help info for /%s" +msgstr "Brak informacji o pomocy dla /%s" + +#: ../src/chat_control.py:1314 msgid "Encryption enabled" msgstr "Szyfrowanie włączone" -#: ../src/chat_control.py:1264 +#: ../src/chat_control.py:1319 msgid "Encryption disabled" msgstr "Szyfrowanie wyłączone" #. add_to_roster_menuitem -#: ../src/chat_control.py:1406 ../src/conversation_textview.py:493 -#: ../src/dialogs.py:629 ../src/gajim.py:842 ../src/gajim.py:843 -#: ../src/gajim.py:1187 ../src/roster_window.py:332 -#: ../src/roster_window.py:410 ../src/roster_window.py:1498 -#: ../src/roster_window.py:1508 ../src/roster_window.py:1684 -#: ../src/roster_window.py:1890 ../src/roster_window.py:2475 -#: ../src/roster_window.py:3900 ../src/roster_window.py:3902 -#: ../src/common/contacts.py:73 ../src/common/helpers.py:43 -#: ../src/common/helpers.py:255 +#: ../src/chat_control.py:1463 ../src/conversation_textview.py:501 +#: ../src/dialogs.py:629 ../src/gajim.py:853 ../src/gajim.py:854 +#: ../src/gajim.py:1199 ../src/roster_window.py:334 +#: ../src/roster_window.py:414 ../src/roster_window.py:1675 +#: ../src/roster_window.py:1685 ../src/roster_window.py:1864 +#: ../src/roster_window.py:2088 ../src/roster_window.py:2745 +#: ../src/roster_window.py:2949 ../src/roster_window.py:4234 +#: ../src/roster_window.py:4236 ../src/common/contacts.py:73 +#: ../src/common/helpers.py:43 ../src/common/helpers.py:255 msgid "Not in Roster" msgstr "spoza listy kontaktów" #. %s is being replaced in the code with JID -#: ../src/chat_control.py:1550 +#: ../src/chat_control.py:1607 #, python-format msgid "You just received a new message from \"%s\"" msgstr "Właśnie otrzymałeś nową wiadomość od \"%s\"" -#: ../src/chat_control.py:1551 +#: ../src/chat_control.py:1608 msgid "" "If you close this tab and you have history disabled, this message will be " "lost." @@ -2625,11 +2707,11 @@ msgstr "" "Jeśli zamkniesz tę kartę, a nie masz uaktywnionej opcji historii, to " "utracisz tę wiadomość." -#: ../src/config.py:137 ../src/config.py:588 +#: ../src/config.py:139 ../src/config.py:588 msgid "Disabled" msgstr "Wyłączone" -#: ../src/config.py:231 +#: ../src/config.py:233 #, python-format msgid "Every %s _minutes" msgstr "Co %s _minut" @@ -2642,12 +2724,12 @@ msgstr "Aktywny" msgid "Event" msgstr "Zdarzenie" -#: ../src/config.py:684 ../src/gajim.py:2222 +#: ../src/config.py:684 ../src/gajim.py:2309 #, python-format msgid "Dictionary for lang %s not available" msgstr "Brak słownika dla tego języka (%s)" -#: ../src/config.py:685 ../src/gajim.py:2223 +#: ../src/config.py:685 ../src/gajim.py:2310 #, python-format msgid "" "You have to install %s dictionary to use spellchecking, or choose another " @@ -2656,247 +2738,248 @@ msgstr "" "Musisz zainstalować słownik %s aby aktywować sprawdzanie pisowni lub wybrać " "inny język korzystać z opcji speller_langugage." -#: ../src/config.py:1009 +#: ../src/config.py:1008 msgid "status message title" msgstr "nagłówek informacji o statusie" -#: ../src/config.py:1009 +#: ../src/config.py:1008 msgid "status message text" msgstr "treść informacji o statusie" -#: ../src/config.py:1045 +#: ../src/config.py:1044 msgid "First Message Received" msgstr "Otrzymano pierwszą wiadomość" -#: ../src/config.py:1046 +#: ../src/config.py:1045 msgid "Next Message Received" msgstr "Otrzymałeś nową wiadomość" -#: ../src/config.py:1047 +#: ../src/config.py:1046 msgid "Contact Connected" msgstr "Kontakt połączył się" -#: ../src/config.py:1048 +#: ../src/config.py:1047 msgid "Contact Disconnected" msgstr "Kontakt rozłączył się" -#: ../src/config.py:1049 +#: ../src/config.py:1048 msgid "Message Sent" msgstr "Wiadomość została wysłana" -#: ../src/config.py:1050 +#: ../src/config.py:1049 msgid "Group Chat Message Highlight" msgstr "Podświetlenie wiadomości z czatu" -#: ../src/config.py:1051 +#: ../src/config.py:1050 msgid "Group Chat Message Received" msgstr "Otrzymano wiadomość na czacie" -#: ../src/config.py:1058 +#: ../src/config.py:1057 msgid "GMail Email Received" msgstr "Nowa poczta na koncie Gmail" -#: ../src/config.py:1261 +#: ../src/config.py:1260 msgid "OpenPGP is not usable in this computer" msgstr "Nie można używać OpenPGP na tym komputerze" -#: ../src/config.py:1307 +#: ../src/config.py:1306 msgid "You are currently connected to the server" msgstr "Jesteś połączony z serwerem" -#: ../src/config.py:1308 +#: ../src/config.py:1307 msgid "To change the account name, you must be disconnected." msgstr "Aby zmienić nazwę konta, musisz być rozłączony." -#: ../src/config.py:1311 ../src/config.py:1905 +#: ../src/config.py:1310 ../src/config.py:1916 msgid "Unread events" msgstr "Nieprzeczytane wiadomości" -#: ../src/config.py:1312 +#: ../src/config.py:1311 msgid "To change the account name, you must read all pending events." msgstr "" "Aby zmienić nazwę konta, musisz przeczytać wszystkie zaległe wiadomości." -#: ../src/config.py:1316 +#: ../src/config.py:1315 msgid "Account Name Already Used" msgstr "Konto o takiej nazwie już istnieje" -#: ../src/config.py:1317 +#: ../src/config.py:1316 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ą." -#: ../src/config.py:1321 ../src/config.py:1325 +#: ../src/config.py:1320 ../src/config.py:1324 msgid "Invalid account name" msgstr "Niepoprawna nazwa konta" -#: ../src/config.py:1322 +#: ../src/config.py:1321 msgid "Account name cannot be empty." msgstr "Nazwa konta nie może być pusta." -#: ../src/config.py:1326 +#: ../src/config.py:1325 msgid "Account name cannot contain spaces." msgstr "Nazwa konta nie może zawierać spacji." -#: ../src/config.py:1334 ../src/config.py:1340 ../src/config.py:1350 -#: ../src/config.py:3008 +#: ../src/config.py:1333 ../src/config.py:1339 ../src/config.py:1349 +#: ../src/config.py:2900 msgid "Invalid Jabber ID" msgstr "Niepoprawny Jabber ID" -#: ../src/config.py:1341 +#: ../src/config.py:1340 msgid "A Jabber ID must be in the form \"user@servername\"." msgstr "Jabber ID musi być postaci \"użytkownik@nazwaserwera\"." -#: ../src/config.py:1400 +#: ../src/config.py:1399 msgid "Invalid entry" msgstr "Niepoprawny wpis" -#: ../src/config.py:1401 +#: ../src/config.py:1400 msgid "Custom port must be a port number." msgstr "Wybrany port musi być numerem portu." -#: ../src/config.py:1529 ../src/common/config.py:366 +#: ../src/config.py:1528 ../src/common/config.py:368 msgid "Be right back." msgstr "Zaraz wracam." -#: ../src/config.py:1539 +#: ../src/config.py:1538 msgid "Relogin now?" msgstr "Czy zalogować się ponownie?" -#: ../src/config.py:1540 +#: ../src/config.py:1539 msgid "If you want all the changes to apply instantly, you must relogin." msgstr "" "Jeżeli chcesz by wszelkie zmiany odniosły natychmiastowy skutek, musisz " "zalogować się ponownie." -#: ../src/config.py:1566 +#: ../src/config.py:1565 msgid "No such account available" msgstr "Takie konto nie jest dostępne" -#: ../src/config.py:1567 +#: ../src/config.py:1566 msgid "You must create your account before editing your personal information." msgstr "Musisz najpierw stworzyć konto by móc edytować informacje o sobie." -#: ../src/config.py:1574 ../src/dialogs.py:1130 ../src/dialogs.py:1316 -#: ../src/disco.py:418 ../src/profile_window.py:313 +#: ../src/config.py:1573 ../src/dialogs.py:1190 ../src/dialogs.py:1326 +#: ../src/dialogs.py:1506 ../src/disco.py:420 ../src/profile_window.py:325 msgid "You are not connected to the server" msgstr "Nie jesteś połączony z serwerem" -#: ../src/config.py:1575 +#: ../src/config.py:1574 msgid "Without a connection, you can not edit your personal information." msgstr "Musisz być połączony, aby móc zmieniać informacje o sobie." -#: ../src/config.py:1579 +#: ../src/config.py:1578 msgid "Your server doesn't support Vcard" msgstr "Twój serwer nie akceptuje Vcard" -#: ../src/config.py:1580 +#: ../src/config.py:1579 msgid "Your server can't save your personal information." msgstr "Twój serwer nie potrafi zapisać informacji osobistych." -#: ../src/config.py:1604 ../src/config.py:3396 +#: ../src/config.py:1610 ../src/config.py:3288 msgid "Failed to get secret keys" msgstr "Pobieranie kluczy prywatnych nie powiodło się" -#: ../src/config.py:1605 ../src/config.py:3397 +#: ../src/config.py:1611 ../src/config.py:3289 msgid "There was a problem retrieving your OpenPGP secret keys." msgstr "" "Wystąpił problem w trakcie odzyskiwania Twoich kluczy prywatnych OpenPGP." -#: ../src/config.py:1608 ../src/config.py:3400 +#: ../src/config.py:1614 ../src/config.py:3292 msgid "OpenPGP Key Selection" msgstr "Wybór klucza OpenPGP" -#: ../src/config.py:1609 ../src/config.py:3401 +#: ../src/config.py:1615 ../src/config.py:3293 msgid "Choose your OpenPGP key" msgstr "Wybierz klucz OpenPGP" #. Name column -#: ../src/config.py:1839 ../src/disco.py:739 ../src/disco.py:1465 -#: ../src/disco.py:1703 ../src/history_window.py:78 +#: ../src/config.py:1850 ../src/dialogs.py:1338 ../src/dialogs.py:1402 +#: ../src/disco.py:741 ../src/disco.py:1564 ../src/disco.py:1802 +#: ../src/history_window.py:78 msgid "Name" msgstr "Nazwa" -#: ../src/config.py:1842 +#: ../src/config.py:1853 ../src/dialogs.py:1341 msgid "Server" msgstr "Serwer" -#: ../src/config.py:1906 +#: ../src/config.py:1917 msgid "Read all pending events before removing this account." msgstr "" "Przejrzyj wszystkie niepotwierdzone zdarzenia przed usunięciem tego konta." -#: ../src/config.py:1943 +#: ../src/config.py:1954 #, python-format msgid "You have opened chat in account %s" msgstr "Masz otwarte okno rozmowy na koncie %s" -#: ../src/config.py:1944 +#: ../src/config.py:1955 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ć?" -#: ../src/config.py:2003 +#: ../src/config.py:2014 msgid "Account Local already exists." msgstr "Konto o takiej nazwie już istnieje." -#: ../src/config.py:2004 +#: ../src/config.py:2015 msgid "Please rename or remove it before enabling link-local messaging." msgstr "" "Proszę go zmienić lub usunąć przed uaktywnieniem komunikacji link-local." -#: ../src/config.py:2238 +#: ../src/config.py:2111 #, python-format msgid "Edit %s" msgstr "Modyfikuj %s" -#: ../src/config.py:2240 +#: ../src/config.py:2113 #, python-format msgid "Register to %s" msgstr "Zarejestruj na %s" #. list at the beginning -#: ../src/config.py:2306 +#: ../src/config.py:2179 msgid "Ban List" msgstr "Lista kontaktów zablokowanych" -#: ../src/config.py:2307 +#: ../src/config.py:2180 msgid "Member List" msgstr "_Lista uczestników" -#: ../src/config.py:2308 +#: ../src/config.py:2181 msgid "Owner List" msgstr "_Lista właścicieli" -#: ../src/config.py:2309 +#: ../src/config.py:2182 msgid "Administrator List" msgstr "_Administratorzy" #. Address column #. holds JID (who said this) -#: ../src/config.py:2342 ../src/disco.py:746 ../src/history_manager.py:155 +#: ../src/config.py:2231 ../src/disco.py:748 ../src/history_manager.py:155 msgid "JID" msgstr "JID" -#: ../src/config.py:2350 +#: ../src/config.py:2239 msgid "Reason" msgstr "Powód" -#: ../src/config.py:2355 +#: ../src/config.py:2244 msgid "Nick" msgstr "Nick" -#: ../src/config.py:2359 +#: ../src/config.py:2248 msgid "Role" msgstr "Funkcja:" -#: ../src/config.py:2380 +#: ../src/config.py:2273 msgid "Banning..." msgstr "Blokuję użytkownika..." #. You can move '\n' before user@domain if that line is TOO BIG -#: ../src/config.py:2382 +#: ../src/config.py:2275 msgid "" "Whom do you want to ban?\n" "\n" @@ -2904,11 +2987,11 @@ msgstr "" "Którego użytkownika chcesz zablokować?\n" "\n" -#: ../src/config.py:2384 +#: ../src/config.py:2277 msgid "Adding Member..." msgstr "Dodaję członka..." -#: ../src/config.py:2385 +#: ../src/config.py:2278 msgid "" "Whom do you want to make a member?\n" "\n" @@ -2916,11 +2999,11 @@ msgstr "" "Status którego użytkownika chcesz zmienić?\n" "\n" -#: ../src/config.py:2387 +#: ../src/config.py:2280 msgid "Adding Owner..." msgstr "Dodaję właściciela..." -#: ../src/config.py:2388 +#: ../src/config.py:2281 msgid "" "Whom do you want to make an owner?\n" "\n" @@ -2928,11 +3011,11 @@ msgstr "" "Którego użytkownika chcesz uczynić właścicielem pokoju?\n" "\n" -#: ../src/config.py:2390 +#: ../src/config.py:2283 msgid "Adding Administrator..." msgstr "Dodaję administratora..." -#: ../src/config.py:2391 +#: ../src/config.py:2284 msgid "" "Whom do you want to make an administrator?\n" "\n" @@ -2940,7 +3023,7 @@ msgstr "" "Którego użytkownika chcesz uczynić administratorem?\n" "\n" -#: ../src/config.py:2392 +#: ../src/config.py:2285 msgid "" "Can be one of the following:\n" "1. user@domain/resource (only that resource matches).\n" @@ -2956,99 +3039,99 @@ msgstr "" "4. domena (dotyczy domeny a także dowolnego adresu typu użytkownik@domena,\n" "domena/zasób lub adresu zawierającego subdomenę)." -#: ../src/config.py:2497 +#: ../src/config.py:2389 #, python-format msgid "Removing %s account" msgstr "Usuwanie konta %s" -#: ../src/config.py:2514 ../src/roster_window.py:2733 +#: ../src/config.py:2406 ../src/roster_window.py:3008 msgid "Password Required" msgstr "Wymagane hasło" -#: ../src/config.py:2515 ../src/roster_window.py:2729 +#: ../src/config.py:2407 ../src/roster_window.py:3004 #, python-format msgid "Enter your password for account %s" msgstr "Wpisz hasło dla konta %s" -#: ../src/config.py:2516 ../src/roster_window.py:2734 +#: ../src/config.py:2408 ../src/roster_window.py:3009 msgid "Save password" msgstr "Zapisz hasło" -#: ../src/config.py:2530 +#: ../src/config.py:2422 #, python-format msgid "Account \"%s\" is connected to the server" msgstr "Konto \"%s\" jest połączone z serwerem." -#: ../src/config.py:2531 +#: ../src/config.py:2423 msgid "If you remove it, the connection will be lost." msgstr "Jeśli to usuniesz, połączenie zostanie zerwane." -#: ../src/config.py:2616 +#: ../src/config.py:2508 msgid "Default" msgstr "Domyślny" -#: ../src/config.py:2616 +#: ../src/config.py:2508 msgid "?print_status:All" msgstr "?print_status:Wszystkie" -#: ../src/config.py:2617 +#: ../src/config.py:2509 msgid "Enter and leave only" msgstr "Jedynie wejdź i wyjdź" -#: ../src/config.py:2618 +#: ../src/config.py:2510 msgid "?print_status:None" msgstr "?print_status:Żaden" -#: ../src/config.py:2686 +#: ../src/config.py:2578 msgid "New Group Chat" msgstr "Nowa rozmowa grupowa" -#: ../src/config.py:2719 +#: ../src/config.py:2611 msgid "This bookmark has invalid data" msgstr "Ta zakładka zawiera niepoprawne dane" -#: ../src/config.py:2720 +#: ../src/config.py:2612 msgid "" "Please be sure to fill out server and room fields or remove this bookmark." msgstr "Upewnij się, że wypełniłeś pola serwer i pokój lub usuń tę zakładkę." -#: ../src/config.py:2983 +#: ../src/config.py:2875 msgid "Invalid username" msgstr "Niepoprawna nazwa użytkownika" -#: ../src/config.py:2984 +#: ../src/config.py:2876 msgid "You must provide a username to configure this account." msgstr "Musisz wpisać nazwę użytkownika aby skonfigurować to konto." -#: ../src/config.py:2994 ../src/dialogs.py:1335 +#: ../src/config.py:2886 ../src/dialogs.py:1525 msgid "Invalid password" msgstr "Niepoprawne hasło" -#: ../src/config.py:2995 +#: ../src/config.py:2887 msgid "You must enter a password for the new account." msgstr "Musisz wpisać hasło dla nowego konta." -#: ../src/config.py:2999 ../src/dialogs.py:1340 +#: ../src/config.py:2891 ../src/dialogs.py:1530 msgid "Passwords do not match" msgstr "Hasła nie zgadzają się" -#: ../src/config.py:3000 ../src/dialogs.py:1341 +#: ../src/config.py:2892 ../src/dialogs.py:1531 msgid "The passwords typed in both fields must be identical." msgstr "Hasła wpisane w obydwu polach muszą być identyczne." -#: ../src/config.py:3019 +#: ../src/config.py:2911 msgid "Duplicate Jabber ID" msgstr "Taki Jabber ID już istnieje!" -#: ../src/config.py:3020 +#: ../src/config.py:2912 msgid "This account is already configured in Gajim." msgstr "Konto o takiej nazwie jest już skonfigurowane." -#: ../src/config.py:3037 +#: ../src/config.py:2929 msgid "Account has been added successfully" msgstr "Konto zostało pomyślnie dodane" -#: ../src/config.py:3038 ../src/config.py:3073 +#: ../src/config.py:2930 ../src/config.py:2965 msgid "" "You can set advanced account options by pressing the Advanced button, or " "later by choosing the Accounts menuitem under the Edit menu from the main " @@ -3057,23 +3140,23 @@ 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." -#: ../src/config.py:3072 +#: ../src/config.py:2964 msgid "Your new account has been created successfully" msgstr "Twoje konto zostało założone" -#: ../src/config.py:3090 +#: ../src/config.py:2982 msgid "An error occurred during account creation" msgstr "Wystąpił błąd w trakcie tworzenia konta" -#: ../src/config.py:3148 +#: ../src/config.py:3040 msgid "Account name is in use" msgstr "Nazwa konta jest już zajęta" -#: ../src/config.py:3149 +#: ../src/config.py:3041 msgid "You already have an account using this name." msgstr "Masz już konto o takiej nazwie." -#: ../src/conversation_textview.py:271 +#: ../src/conversation_textview.py:279 msgid "" "Text below this line is what has been said since the last time you paid " "attention to this group chat" @@ -3081,52 +3164,52 @@ msgstr "" "Tekst poniżej tej linii zawiera to, co zostało napisane w tym pokoju od " "momentu gdy ostatni raz zwracałeś/zwracałaś na niego uwagę" -#: ../src/conversation_textview.py:340 +#: ../src/conversation_textview.py:348 #, python-format msgid "_Actions for \"%s\"" msgstr "_Działania dla wyrażenia \"%s\"" -#: ../src/conversation_textview.py:352 +#: ../src/conversation_textview.py:360 msgid "Read _Wikipedia Article" msgstr "Przeczytaj artykuł w _Wikipedii" -#: ../src/conversation_textview.py:357 +#: ../src/conversation_textview.py:365 msgid "Look it up in _Dictionary" msgstr "Szukaj w _słowniku" #. we must have %s in the url if not WIKTIONARY -#: ../src/conversation_textview.py:373 +#: ../src/conversation_textview.py:381 #, python-format msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" msgstr "W URL-u słownika brakuje \"%s\" i nie jest to WIKTIONARY" #. we must have %s in the url -#: ../src/conversation_textview.py:386 +#: ../src/conversation_textview.py:394 #, python-format msgid "Web Search URL is missing an \"%s\"" msgstr "W URL-u Przeszukiwania Sieci brakuje \"%s\"" -#: ../src/conversation_textview.py:389 +#: ../src/conversation_textview.py:397 msgid "Web _Search for it" msgstr "Szukaj w _Internecie" -#: ../src/conversation_textview.py:395 +#: ../src/conversation_textview.py:403 msgid "Open as _Link" msgstr "Otwórz jako _odnośnik" -#: ../src/conversation_textview.py:752 +#: ../src/conversation_textview.py:848 msgid "Yesterday" msgstr "Wczoraj" #. the number is >= 2 #. %i is day in year (1-365), %d (1-31) we want %i -#: ../src/conversation_textview.py:756 +#: ../src/conversation_textview.py:852 #, python-format msgid "%i days ago" msgstr "%i dni temu" #. if we have subject, show it too! -#: ../src/conversation_textview.py:790 +#: ../src/conversation_textview.py:886 #, python-format msgid "Subject: %s\n" msgstr "Temat: %s\n" @@ -3273,57 +3356,75 @@ msgstr "" "Być może masz już uruchomioną inną kopię Gajima. Przesyłanie plików zostanie " "anulowane." -#: ../src/dialogs.py:1060 +#: ../src/dialogs.py:1120 #, python-format msgid "Subscription request for account %s from %s" msgstr "Prośba o autoryzację dla konta %s od %s" -#: ../src/dialogs.py:1063 +#: ../src/dialogs.py:1123 #, python-format msgid "Subscription request from %s" msgstr "Prośba o autoryzację od %s" -#: ../src/dialogs.py:1123 ../src/roster_window.py:687 +#: ../src/dialogs.py:1183 ../src/roster_window.py:705 #, python-format msgid "You are already in group chat %s" msgstr "Już jesteś w pokoju %s" -#: ../src/dialogs.py:1131 +#: ../src/dialogs.py:1191 msgid "You can not join a group chat unless you are connected." msgstr "Nie możesz dołączyć do pokoju gdy nie jesteś połączony." -#: ../src/dialogs.py:1146 +#: ../src/dialogs.py:1206 #, python-format msgid "Join Group Chat with account %s" msgstr "Dołącz do pokoju z konta %s" -#: ../src/dialogs.py:1214 ../src/dialogs.py:1220 +#: ../src/dialogs.py:1274 ../src/dialogs.py:1280 +#: ../src/groupchat_control.py:1475 msgid "Invalid group chat Jabber ID" msgstr "Niepoprawny Jabber ID" -#: ../src/dialogs.py:1215 ../src/dialogs.py:1221 +#: ../src/dialogs.py:1275 ../src/dialogs.py:1281 +#: ../src/groupchat_control.py:1476 msgid "The group chat Jabber ID has not allowed characters." msgstr "Używane przez ciebie Jabber ID zawiera niedozwolone znaki." -#: ../src/dialogs.py:1227 +#: ../src/dialogs.py:1287 msgid "This is not a group chat" msgstr "To nie jest czat" -#: ../src/dialogs.py:1228 +#: ../src/dialogs.py:1288 #, python-format msgid "%s is not the name of a group chat." msgstr "%s nie jest nazwą czatu." -#: ../src/dialogs.py:1267 +#: ../src/dialogs.py:1327 +msgid "Without a connection, you can not synchronise your contacts." +msgstr "Nie możesz zsynchronizować kontaktów przy niektywnym połączeniu." + +#: ../src/dialogs.py:1374 +msgid "This account is not connected to the server" +msgstr "To konto nie jest połączone z serwerem" + +#: ../src/dialogs.py:1375 +msgid "You cannot synchronize with an account unless it is connected." +msgstr "Nie możesz synchronizować kontaktów z kontem, które nie jest połączone." + +#: ../src/dialogs.py:1399 +msgid "Synchronise" +msgstr "Synchronizuj" + +#: ../src/dialogs.py:1457 #, python-format msgid "Start Chat with account %s" msgstr "Rozpocznij rozmowę z konta %s" -#: ../src/dialogs.py:1269 +#: ../src/dialogs.py:1459 msgid "Start Chat" msgstr "Rozpocznij rozmowę" -#: ../src/dialogs.py:1270 +#: ../src/dialogs.py:1460 msgid "" "Fill in the nickname or the Jabber ID of the contact you would like\n" "to send a chat message to:" @@ -3332,268 +3433,283 @@ msgstr "" "wysłać wiadomość:" #. if offline or connecting -#: ../src/dialogs.py:1295 ../src/dialogs.py:1654 ../src/dialogs.py:1785 +#: ../src/dialogs.py:1485 ../src/dialogs.py:1844 ../src/dialogs.py:1975 msgid "Connection not available" msgstr "Połączenie jest niedostępne" -#: ../src/dialogs.py:1296 ../src/dialogs.py:1655 ../src/dialogs.py:1786 +#: ../src/dialogs.py:1486 ../src/dialogs.py:1845 ../src/dialogs.py:1976 #, python-format msgid "Please make sure you are connected with \"%s\"." msgstr "Sprawdź, czy jesteś połączony z \"%s\"." -#: ../src/dialogs.py:1305 ../src/dialogs.py:1308 +#: ../src/dialogs.py:1495 ../src/dialogs.py:1498 msgid "Invalid JID" msgstr "Niepoprawny JID" -#: ../src/dialogs.py:1308 +#: ../src/dialogs.py:1498 #, python-format msgid "Unable to parse \"%s\"." msgstr "Nie można sparsować \"%s\"." -#: ../src/dialogs.py:1317 +#: ../src/dialogs.py:1507 msgid "Without a connection, you can not change your password." msgstr "Nie możesz zmienić hasła, jeśli nie jesteś połączony." -#: ../src/dialogs.py:1336 +#: ../src/dialogs.py:1526 msgid "You must enter a password." msgstr "Musisz wpisać hasło." #. img to display #. default value -#: ../src/dialogs.py:1383 ../src/notify.py:212 ../src/notify.py:416 +#: ../src/dialogs.py:1573 ../src/notify.py:212 ../src/notify.py:416 msgid "Contact Signed In" msgstr "Kontakt połączył się" -#: ../src/dialogs.py:1385 ../src/notify.py:220 ../src/notify.py:418 +#: ../src/dialogs.py:1575 ../src/notify.py:220 ../src/notify.py:418 msgid "Contact Signed Out" msgstr "Kontakt rozłączył się" #. chat message -#: ../src/dialogs.py:1387 ../src/notify.py:239 ../src/notify.py:420 +#: ../src/dialogs.py:1577 ../src/notify.py:239 ../src/notify.py:420 msgid "New Message" msgstr "Nowa wiadomość" #. single message -#: ../src/dialogs.py:1387 ../src/notify.py:224 ../src/notify.py:420 +#: ../src/dialogs.py:1577 ../src/notify.py:224 ../src/notify.py:420 msgid "New Single Message" msgstr "Nowa wiadomość" #. private message -#: ../src/dialogs.py:1388 ../src/notify.py:231 ../src/notify.py:421 +#: ../src/dialogs.py:1578 ../src/notify.py:231 ../src/notify.py:421 msgid "New Private Message" msgstr "Wyślij prywatną wiadomość" -#: ../src/dialogs.py:1388 ../src/gajim.py:1282 ../src/notify.py:429 +#: ../src/dialogs.py:1578 ../src/gajim.py:1294 ../src/notify.py:429 msgid "New E-mail" msgstr "Nowy adres e-mail" -#: ../src/dialogs.py:1390 ../src/gajim.py:1435 ../src/notify.py:423 +#: ../src/dialogs.py:1580 ../src/gajim.py:1447 ../src/notify.py:423 msgid "File Transfer Request" msgstr "Pytanie o przysłanie pliku" -#: ../src/dialogs.py:1392 ../src/gajim.py:1254 ../src/gajim.py:1411 +#: ../src/dialogs.py:1582 ../src/gajim.py:1266 ../src/gajim.py:1423 #: ../src/notify.py:425 msgid "File Transfer Error" msgstr "Błąd przesyłania pliku" -#: ../src/dialogs.py:1394 ../src/gajim.py:1474 ../src/gajim.py:1496 -#: ../src/gajim.py:1513 ../src/notify.py:427 +#: ../src/dialogs.py:1584 ../src/gajim.py:1486 ../src/gajim.py:1508 +#: ../src/gajim.py:1525 ../src/notify.py:427 msgid "File Transfer Completed" msgstr "Zakończono przesyłanie pliku" -#: ../src/dialogs.py:1395 ../src/gajim.py:1477 ../src/notify.py:427 +#: ../src/dialogs.py:1585 ../src/gajim.py:1489 ../src/notify.py:427 msgid "File Transfer Stopped" msgstr "Przesyłanie pliku zatrzymane" -#: ../src/dialogs.py:1397 ../src/gajim.py:1151 ../src/notify.py:431 +#: ../src/dialogs.py:1587 ../src/gajim.py:1163 ../src/notify.py:431 msgid "Groupchat Invitation" msgstr "Zaproszenie na czat" -#: ../src/dialogs.py:1399 ../src/notify.py:204 ../src/notify.py:433 +#: ../src/dialogs.py:1589 ../src/notify.py:204 ../src/notify.py:433 msgid "Contact Changed Status" msgstr "Kontakt zmienił status" -#: ../src/dialogs.py:1584 +#: ../src/dialogs.py:1774 #, python-format msgid "Single Message using account %s" msgstr "Wiadomość z konta %s" -#: ../src/dialogs.py:1586 +#: ../src/dialogs.py:1776 #, python-format msgid "Single Message in account %s" msgstr "Wiadomość z konta %s" -#: ../src/dialogs.py:1588 +#: ../src/dialogs.py:1778 msgid "Single Message" msgstr "Pojedyncza wiadomość" #. prepare UI for Sending -#: ../src/dialogs.py:1591 +#: ../src/dialogs.py:1781 #, python-format msgid "Send %s" msgstr "Wyślij %s" #. prepare UI for Receiving -#: ../src/dialogs.py:1614 +#: ../src/dialogs.py:1804 #, python-format msgid "Received %s" msgstr "Odebrane %s" #. we create a new blank window to send and we preset RE: and to jid -#: ../src/dialogs.py:1686 +#: ../src/dialogs.py:1876 #, python-format msgid "RE: %s" msgstr "RE: %s" -#: ../src/dialogs.py:1687 +#: ../src/dialogs.py:1877 #, python-format msgid "%s wrote:\n" msgstr "%s napisał:\n" -#: ../src/dialogs.py:1731 +#: ../src/dialogs.py:1921 #, python-format msgid "XML Console for %s" msgstr "Kosola XML dla %s" -#: ../src/dialogs.py:1733 +#: ../src/dialogs.py:1923 msgid "XML Console" msgstr "Konsola XML" -#: ../src/dialogs.py:1856 +#: ../src/dialogs.py:2046 #, python-format msgid "Privacy List %s" msgstr "Lista prywatności %s" -#: ../src/dialogs.py:1860 +#: ../src/dialogs.py:2050 #, python-format msgid "Privacy List for %s" msgstr "Lista prywatności dla %s" -#: ../src/dialogs.py:1908 +#: ../src/dialogs.py:2098 #, python-format msgid "Order: %s, action: %s, type: %s, value: %s" msgstr "Kolejność: %s, akcja: %s, typ: %s, wartość: %s" -#: ../src/dialogs.py:1911 +#: ../src/dialogs.py:2101 #, python-format msgid "Order: %s, action: %s" msgstr "Kolejność: %s, akcja: %s" -#: ../src/dialogs.py:1953 +#: ../src/dialogs.py:2143 msgid "Edit a rule" msgstr "Edytuj regułę" -#: ../src/dialogs.py:2040 +#: ../src/dialogs.py:2230 msgid "Add a rule" msgstr "Dodaj regułę" -#: ../src/dialogs.py:2136 +#: ../src/dialogs.py:2319 +#, python-format +msgid "Blocked Contacts for %s" +msgstr "Kontakty zablokowane (dla %s)" + +#: ../src/dialogs.py:2321 +msgid "Blocked Contacts" +msgstr "Kontakty zablokowane" + +#: ../src/dialogs.py:2390 +msgid "Group %s" +msgstr "Grupa %" + +#: ../src/dialogs.py:2421 #, python-format msgid "Privacy Lists for %s" msgstr "Listy prywatności dla %s" -#: ../src/dialogs.py:2138 +#: ../src/dialogs.py:2423 msgid "Privacy Lists" msgstr "Listy prywatności" -#: ../src/dialogs.py:2208 +#: ../src/dialogs.py:2493 msgid "Invalid List Name" msgstr "Niepoprawna nazwa listy" -#: ../src/dialogs.py:2209 +#: ../src/dialogs.py:2494 msgid "You must enter a name to create a privacy list." msgstr "Musisz podać nazwę nowej listy prywatności." #. Don't translate $Contact -#: ../src/dialogs.py:2243 +#: ../src/dialogs.py:2528 +#, python-format msgid "$Contact has invited you to group chat %(room_jid)s" msgstr "$Contact zaprasza cię do pokoju %(room_jid)s" #. only if not None and not '' -#: ../src/dialogs.py:2255 +#: ../src/dialogs.py:2540 #, python-format msgid "Comment: %s" msgstr "Komentarz: %s" -#: ../src/dialogs.py:2317 +#: ../src/dialogs.py:2602 msgid "Choose Sound" msgstr "Wybierz dźwięk" -#: ../src/dialogs.py:2327 ../src/dialogs.py:2372 +#: ../src/dialogs.py:2612 ../src/dialogs.py:2657 msgid "All files" msgstr "Wszystkie pliki" -#: ../src/dialogs.py:2332 +#: ../src/dialogs.py:2617 msgid "Wav Sounds" msgstr "Dźwięki w Wav" -#: ../src/dialogs.py:2362 +#: ../src/dialogs.py:2647 msgid "Choose Image" msgstr "Wybierz obrazek" -#: ../src/dialogs.py:2377 +#: ../src/dialogs.py:2662 msgid "Images" msgstr "Obrazki" -#: ../src/dialogs.py:2434 +#: ../src/dialogs.py:2719 #, python-format msgid "When %s becomes:" msgstr "Gdy %s ma status:" -#: ../src/dialogs.py:2436 +#: ../src/dialogs.py:2721 #, python-format msgid "Adding Special Notification for %s" msgstr "Dodaję specjalne powiadomienia dla %s" #. # means number -#: ../src/dialogs.py:2507 +#: ../src/dialogs.py:2792 msgid "#" msgstr "Nr" -#: ../src/dialogs.py:2513 +#: ../src/dialogs.py:2798 msgid "Condition" msgstr "Warunek" -#: ../src/dialogs.py:2634 +#: ../src/dialogs.py:2919 msgid "when I am " msgstr "kiedy mam " -#: ../src/disco.py:102 +#: ../src/disco.py:104 msgid "Others" msgstr "Inni" -#: ../src/disco.py:103 ../src/disco.py:104 ../src/disco.py:1251 -#: ../src/gajim.py:596 ../src/roster_window.py:271 ../src/roster_window.py:329 -#: ../src/roster_window.py:368 ../src/roster_window.py:451 -#: ../src/roster_window.py:483 ../src/roster_window.py:485 -#: ../src/roster_window.py:3896 ../src/roster_window.py:3898 -#: ../src/common/contacts.py:267 ../src/common/helpers.py:43 +#: ../src/disco.py:105 ../src/disco.py:106 ../src/disco.py:1350 +#: ../src/gajim.py:607 ../src/roster_window.py:273 ../src/roster_window.py:331 +#: ../src/roster_window.py:370 ../src/roster_window.py:454 +#: ../src/roster_window.py:486 ../src/roster_window.py:488 +#: ../src/roster_window.py:4230 ../src/roster_window.py:4232 +#: ../src/common/contacts.py:267 ../src/common/contacts.py:282 +#: ../src/common/helpers.py:43 msgid "Transports" msgstr "Transporty" #. conference is a category for listing mostly groupchats in service discovery -#: ../src/disco.py:106 +#: ../src/disco.py:108 msgid "Conference" msgstr "Konferencja" -#: ../src/disco.py:419 +#: ../src/disco.py:421 msgid "Without a connection, you can not browse available services" msgstr "Nie możesz przeglądać usług, jeśli nie jesteś połączony" -#: ../src/disco.py:498 +#: ../src/disco.py:500 #, python-format msgid "Service Discovery using account %s" msgstr "Przeglądanie usług przy użyciu konta %s" -#: ../src/disco.py:500 +#: ../src/disco.py:502 msgid "Service Discovery" msgstr "Przeglądanie usług" -#: ../src/disco.py:640 +#: ../src/disco.py:642 msgid "The service could not be found" msgstr "Nie można odnaleźć usługi" -#: ../src/disco.py:641 +#: ../src/disco.py:643 msgid "" "There is no service at the address you entered, or it is not responding. " "Check the address and try again." @@ -3601,64 +3717,68 @@ msgstr "" "Pod wpisanym adresem nie ma żadnych usług lub one nie odpowiadają. Sprawdź " "adres i spróbuj ponownie." -#: ../src/disco.py:645 ../src/disco.py:926 +#: ../src/disco.py:647 ../src/disco.py:928 msgid "The service is not browsable" msgstr "Tej usługi nie można przeglądać" -#: ../src/disco.py:646 +#: ../src/disco.py:648 msgid "This type of service does not contain any items to browse." msgstr "Tego typu usługa nie zawiera elementów, które można przeglądać." -#: ../src/disco.py:726 +#: ../src/disco.py:728 #, python-format msgid "Browsing %s using account %s" msgstr "Przeglądanie %s przy użyciu konta %s" -#: ../src/disco.py:765 +#: ../src/disco.py:767 msgid "_Browse" msgstr "Prze_glądaj" -#: ../src/disco.py:927 +#: ../src/disco.py:929 msgid "This service does not contain any items to browse." msgstr "Usługa nie zawiera elementów, które można przeglądać." -#: ../src/disco.py:1141 ../src/disco.py:1256 +#: ../src/disco.py:1147 +msgid "_Execute Command" +msgstr "_Wykonaj komendę" + +#: ../src/disco.py:1157 ../src/disco.py:1355 msgid "Re_gister" msgstr "Za_rejestruj" -#: ../src/disco.py:1293 +#: ../src/disco.py:1392 #, python-format msgid "Scanning %d / %d.." msgstr "Skanowanie %d / %d.." #. Users column -#: ../src/disco.py:1474 +#: ../src/disco.py:1573 msgid "Users" msgstr "Użytkownicy" #. Description column -#: ../src/disco.py:1481 +#: ../src/disco.py:1580 msgid "Description" msgstr "Opis" #. Id column -#: ../src/disco.py:1488 +#: ../src/disco.py:1587 msgid "Id" msgstr "Id" -#: ../src/disco.py:1711 +#: ../src/disco.py:1810 msgid "Subscribed" msgstr "Zasubskrybowano" -#: ../src/disco.py:1737 +#: ../src/disco.py:1836 msgid "New post" msgstr "Nowy wpis" -#: ../src/disco.py:1743 +#: ../src/disco.py:1842 msgid "_Subscribe" msgstr "_Autoryzuj" -#: ../src/disco.py:1749 +#: ../src/disco.py:1848 msgid "_Unsubscribe" msgstr "_Cofnij autoryzację" @@ -3674,133 +3794,133 @@ msgstr "Czas" msgid "Progress" msgstr "Postęp" -#: ../src/filetransfers_window.py:163 ../src/filetransfers_window.py:223 +#: ../src/filetransfers_window.py:161 ../src/filetransfers_window.py:215 #, python-format msgid "Filename: %s" msgstr "Nazwa pliku: %s" -#: ../src/filetransfers_window.py:164 ../src/filetransfers_window.py:298 +#: ../src/filetransfers_window.py:162 ../src/filetransfers_window.py:290 #, python-format msgid "Size: %s" msgstr "Rozmiar: %s" #. You is a reply of who sent a file #. You is a reply of who received a file -#: ../src/filetransfers_window.py:173 ../src/filetransfers_window.py:183 +#: ../src/filetransfers_window.py:171 ../src/filetransfers_window.py:181 #: ../src/history_manager.py:463 msgid "You" msgstr "Ty" -#: ../src/filetransfers_window.py:174 +#: ../src/filetransfers_window.py:172 #, python-format msgid "Sender: %s" msgstr "Nadawca: %s" -#: ../src/filetransfers_window.py:175 ../src/filetransfers_window.py:572 -#: ../src/tooltips.py:573 +#: ../src/filetransfers_window.py:173 ../src/filetransfers_window.py:564 +#: ../src/tooltips.py:574 msgid "Recipient: " msgstr "Odbiorca: " -#: ../src/filetransfers_window.py:186 +#: ../src/filetransfers_window.py:184 #, python-format msgid "Saved in: %s" msgstr "Zapisane w: %s" -#: ../src/filetransfers_window.py:188 +#: ../src/filetransfers_window.py:186 msgid "File transfer completed" msgstr "Zakończono przesyłanie pliku" -#: ../src/filetransfers_window.py:204 ../src/filetransfers_window.py:212 +#: ../src/filetransfers_window.py:200 ../src/filetransfers_window.py:206 msgid "File transfer cancelled" msgstr "Przesyłanie pliku anulowane" -#: ../src/filetransfers_window.py:204 ../src/filetransfers_window.py:213 +#: ../src/filetransfers_window.py:200 ../src/filetransfers_window.py:207 msgid "Connection with peer cannot be established." msgstr "Nie można ustanowić połączenia z drugą stroną." -#: ../src/filetransfers_window.py:224 +#: ../src/filetransfers_window.py:216 #, python-format msgid "Recipient: %s" msgstr "Odbiorca: %s" -#: ../src/filetransfers_window.py:226 +#: ../src/filetransfers_window.py:218 #, python-format msgid "Error message: %s" msgstr "Komunikat błędu: %s" -#: ../src/filetransfers_window.py:227 +#: ../src/filetransfers_window.py:219 msgid "File transfer stopped by the contact at the other end" msgstr "Przesyłanie pliku zostało zatrzymane przez drugą osobę" -#: ../src/filetransfers_window.py:244 +#: ../src/filetransfers_window.py:236 msgid "Choose File to Send..." msgstr "Wybierz plik do wysłania..." -#: ../src/filetransfers_window.py:263 +#: ../src/filetransfers_window.py:255 msgid "Gajim cannot access this file" msgstr "Gajim nie może uzyskać dostępu do tego pliku" -#: ../src/filetransfers_window.py:264 +#: ../src/filetransfers_window.py:256 msgid "This file is being used by another process." msgstr "Ten plik jest używany przez inny proces." -#: ../src/filetransfers_window.py:296 +#: ../src/filetransfers_window.py:288 #, python-format msgid "File: %s" msgstr "Plik: %s" -#: ../src/filetransfers_window.py:301 +#: ../src/filetransfers_window.py:293 #, python-format msgid "Type: %s" msgstr "Typ: %s" -#: ../src/filetransfers_window.py:303 +#: ../src/filetransfers_window.py:295 #, python-format msgid "Description: %s" msgstr "Opis: %s" -#: ../src/filetransfers_window.py:304 +#: ../src/filetransfers_window.py:296 #, python-format msgid "%s wants to send you a file:" msgstr "%s chce przesłać Ci plik:" -#: ../src/filetransfers_window.py:318 ../src/gtkgui_helpers.py:747 +#: ../src/filetransfers_window.py:310 ../src/gtkgui_helpers.py:767 #, python-format msgid "Cannot overwrite existing file \"%s\"" msgstr "Nie można nadpisać pliku \"%s\"" -#: ../src/filetransfers_window.py:319 ../src/gtkgui_helpers.py:749 +#: ../src/filetransfers_window.py:311 ../src/gtkgui_helpers.py:769 msgid "" "A file with this name already exists and you do not have permission to " "overwrite it." msgstr "" "Istnieje już plik o tej nazwie a Ty nie masz uprawnień do jego nadpisania." -#: ../src/filetransfers_window.py:326 ../src/gtkgui_helpers.py:753 +#: ../src/filetransfers_window.py:318 ../src/gtkgui_helpers.py:773 msgid "This file already exists" msgstr "Ten plik już istnieje" -#: ../src/filetransfers_window.py:326 ../src/gtkgui_helpers.py:753 +#: ../src/filetransfers_window.py:318 ../src/gtkgui_helpers.py:773 msgid "What do you want to do?" msgstr "Co chcesz zrobić?" -#: ../src/filetransfers_window.py:338 ../src/gtkgui_helpers.py:763 +#: ../src/filetransfers_window.py:330 ../src/gtkgui_helpers.py:783 #, python-format msgid "Directory \"%s\" is not writable" msgstr "Nie masz uprawnień do zapisu w folderze \"%s\"" -#: ../src/filetransfers_window.py:338 ../src/gtkgui_helpers.py:764 +#: ../src/filetransfers_window.py:330 ../src/gtkgui_helpers.py:784 msgid "You do not have permission to create files in this directory." msgstr "Nie masz uprawnień do tworzenia plików w tym folderze." -#: ../src/filetransfers_window.py:348 +#: ../src/filetransfers_window.py:340 msgid "Save File as..." msgstr "Zapisz obraz jako..." #. Print remaining time in format 00:00:00 #. You can change the places of (hours), (minutes), (seconds) - #. they are not translatable. -#: ../src/filetransfers_window.py:429 +#: ../src/filetransfers_window.py:421 #, python-format msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" @@ -3808,32 +3928,32 @@ msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" #. This should make the string Kb/s, #. where 'Kb' part is taken from %s. #. Only the 's' after / (which means second) should be translated. -#: ../src/filetransfers_window.py:505 +#: ../src/filetransfers_window.py:497 #, python-format msgid "(%(filesize_unit)s/s)" msgstr "(%(filesize_unit)s/ów)" -#: ../src/filetransfers_window.py:544 ../src/filetransfers_window.py:547 +#: ../src/filetransfers_window.py:536 ../src/filetransfers_window.py:539 msgid "Invalid File" msgstr "Niepoprawny plik" -#: ../src/filetransfers_window.py:544 +#: ../src/filetransfers_window.py:536 msgid "File: " msgstr "Plik: " -#: ../src/filetransfers_window.py:548 +#: ../src/filetransfers_window.py:540 msgid "It is not possible to send empty files" msgstr "Nie można wysłać pustego pliku" -#: ../src/filetransfers_window.py:568 ../src/tooltips.py:563 +#: ../src/filetransfers_window.py:560 ../src/tooltips.py:564 msgid "Name: " msgstr "Nazwa: " -#: ../src/filetransfers_window.py:570 ../src/tooltips.py:567 +#: ../src/filetransfers_window.py:562 ../src/tooltips.py:568 msgid "Sender: " msgstr "Nadawca: " -#: ../src/filetransfers_window.py:758 +#: ../src/filetransfers_window.py:750 msgid "Pause" msgstr "Zatrzymaj" @@ -4166,6 +4286,7 @@ msgstr "" "Gdzie polecenie to jedna z następujący fraz:\n" #: ../src/gajim-remote.py:438 +#, python-format msgid "" "Too many arguments. \n" "Type \"%s help %s\" for more info" @@ -4202,7 +4323,8 @@ msgstr "Gajim wymaga PyGTK w wersji 2.8 lub wyższej" #: ../src/gajim.py:127 msgid "Gajim needs PyGTK 2.8 or above to run. Quiting..." msgstr "" -"Gajim wymaga do działania PyGTK w wersji 2.8 lub wyższej. Zamykanie programu..." +"Gajim wymaga do działania PyGTK w wersji 2.8 lub wyższej. Zamykanie " +"programu..." #: ../src/gajim.py:129 msgid "Gajim needs GTK 2.8 or above" @@ -4210,7 +4332,8 @@ msgstr "Gajim wymaga GTK w wersji 2.8 lub wyższej" #: ../src/gajim.py:130 msgid "Gajim needs GTK 2.8 or above to run. Quiting..." -msgstr "Gajim wymaga do działania GTK w wersji 2.8 lub wyższej. Zamykanie programu..." +msgstr "" +"Gajim wymaga do działania GTK w wersji 2.8 lub wyższej. Zamykanie programu..." #: ../src/gajim.py:135 msgid "GTK+ runtime is missing libglade support" @@ -4249,11 +4372,11 @@ msgstr "" "spod adresu %s" #. set the icon to all newly opened wind -#: ../src/gajim.py:296 +#: ../src/gajim.py:300 msgid "Gajim is already running" msgstr "Gajim jest już uruchomiony" -#: ../src/gajim.py:297 +#: ../src/gajim.py:301 msgid "" "Another instance of Gajim seems to be running\n" "Run anyway?" @@ -4261,83 +4384,83 @@ msgstr "" "Wydaje się, że w tle działa już inna kopia Gajima.\n" "Czy mimo to chcesz uruchomić program?" -#: ../src/gajim.py:403 +#: ../src/gajim.py:408 +msgid "Do you accept this request?" +msgstr "Czy akceptujesz tę prośbę?" + +#: ../src/gajim.py:411 #, python-format msgid "HTTP (%s) Authorization for %s (id: %s)" msgstr "Autoryzacja HTTP (%s) dla %s (id: %s)" -#: ../src/gajim.py:404 -msgid "Do you accept this request?" -msgstr "Czy akceptujesz tę prośbę?" - -#: ../src/gajim.py:450 ../src/notify.py:435 +#: ../src/gajim.py:458 ../src/notify.py:435 msgid "Connection Failed" msgstr "Połączenie nie powiodło się" -#: ../src/gajim.py:767 +#: ../src/gajim.py:778 #, python-format msgid "Subject: %s" msgstr "Temat: %s" #. ('MSGNOTSENT', account, (jid, ierror_msg, msg, time)) -#: ../src/gajim.py:812 ../src/gajim.py:825 +#: ../src/gajim.py:823 ../src/gajim.py:836 #, python-format msgid "error while sending %s ( %s )" msgstr "błąd przy wysyłaniu %s ( %s )" -#: ../src/gajim.py:858 +#: ../src/gajim.py:869 msgid "Authorization accepted" msgstr "Autoryzacja przyjęta" -#: ../src/gajim.py:859 +#: ../src/gajim.py:870 #, python-format msgid "The contact \"%s\" has authorized you to see his or her status." msgstr "Kontakt \"%s\" udzielił Ci autoryzacji byś mógł widzieć jego status." -#: ../src/gajim.py:867 +#: ../src/gajim.py:878 #, python-format msgid "Contact \"%s\" removed subscription from you" msgstr "Kontakt \"%s\" cofnął Ci autoryzację" -#: ../src/gajim.py:868 +#: ../src/gajim.py:879 msgid "You will always see him or her as offline." msgstr "Zawsze będziesz widział ten kontakt jako niepołączony." -#: ../src/gajim.py:911 +#: ../src/gajim.py:923 #, python-format msgid "Contact with \"%s\" cannot be established" msgstr "Nie można ustanowić połączenia z \"%s\"" -#: ../src/gajim.py:912 ../src/common/connection.py:417 +#: ../src/gajim.py:924 ../src/common/connection.py:438 msgid "Check your connection or try again later." msgstr "Sprawdź swoje połączenie lub spróbuj później." -#: ../src/gajim.py:1061 ../src/roster_window.py:1218 +#: ../src/gajim.py:1073 ../src/roster_window.py:1247 #, python-format msgid "%s is now %s (%s)" msgstr "%s ma teraz status %s (%s)" #. No status message -#: ../src/gajim.py:1064 ../src/groupchat_control.py:944 -#: ../src/roster_window.py:1221 +#: ../src/gajim.py:1076 ../src/groupchat_control.py:968 +#: ../src/roster_window.py:1250 #, python-format msgid "%s is now %s" msgstr "%s ma teraz status %s" -#: ../src/gajim.py:1161 +#: ../src/gajim.py:1173 msgid "Your passphrase is incorrect" msgstr "Twoje hasło jest niepoprawne" -#: ../src/gajim.py:1162 +#: ../src/gajim.py:1174 msgid "You are currently connected without your OpenPGP key." msgstr "Jesteś aktualnie połączony bez obsługi OpenPGP." -#: ../src/gajim.py:1265 +#: ../src/gajim.py:1277 #, python-format msgid "New mail on %(gmail_mail_address)s" msgstr "Nowa poczta w skrzynce %(gmail_mail_address)s" -#: ../src/gajim.py:1267 +#: ../src/gajim.py:1279 #, python-format msgid "You have %d new mail conversation" msgid_plural "You have %d new mail conversations" @@ -4348,7 +4471,7 @@ msgstr[2] "Masz %d nieprzeczytane wiadomości pocztowe" #. FIXME: emulate Gtalk client popups. find out what they parse and how #. they decide what to show #. each message has a 'From', 'Subject' and 'Snippet' field -#: ../src/gajim.py:1276 +#: ../src/gajim.py:1288 #, python-format msgid "" "\n" @@ -4357,52 +4480,65 @@ msgstr "" "\n" "Od: %(from_address)s" -#: ../src/gajim.py:1432 +#: ../src/gajim.py:1444 #, python-format msgid "%s wants to send you a file." msgstr "%s chce przesłać ci plik." -#: ../src/gajim.py:1497 +#: ../src/gajim.py:1509 #, python-format msgid "You successfully received %(filename)s from %(name)s." msgstr "Otrzymałeś plik %(filename)s od %(name)s." #. ft stopped -#: ../src/gajim.py:1501 +#: ../src/gajim.py:1513 #, python-format msgid "File transfer of %(filename)s from %(name)s stopped." msgstr "Przesyłanie pliku %(filename)s·od·%(name)s·zostało zatrzymane." -#: ../src/gajim.py:1514 +#: ../src/gajim.py:1526 #, python-format msgid "You successfully sent %(filename)s to %(name)s." msgstr "Przesłałeś plik %(filename)s do %(name)s." #. ft stopped -#: ../src/gajim.py:1518 +#: ../src/gajim.py:1530 #, python-format msgid "File transfer of %(filename)s to %(name)s stopped." msgstr "Przesyłanie pliku·%(filename)s·do·%(name)s·zostało zatrzymane." -#: ../src/gajim.py:1631 +#: ../src/gajim.py:1662 msgid "Username Conflict" msgstr "Konflikt nazw użytkownika" -#: ../src/gajim.py:1632 +#: ../src/gajim.py:1663 msgid "Please type a new username for your local account" msgstr "Podaj nazwę użytkownika dla nowego konta lokalnego" +#: ../src/gajim.py:1680 +msgid "Ping?" +msgstr "Ping?" + +#: ../src/gajim.py:1688 +#, python-format +msgid "Pong! (%s s.)" +msgstr "Pong! (%s s.)" + +#: ../src/gajim.py:1694 +msgid "Error." +msgstr "Błąd." + #. it is good to notify the user #. in case he or she cannot see the output of the console -#: ../src/gajim.py:1972 +#: ../src/gajim.py:2048 msgid "Could not save your settings and preferences" msgstr "Nie można zapisać twoich ustawień i opcji" -#: ../src/gajim.py:2170 +#: ../src/gajim.py:2257 msgid "Network Manager support not available" msgstr "Brak wsparcia dla Network Managera" -#: ../src/gajim.py:2249 +#: ../src/gajim.py:2336 msgid "Session Management support not available (missing gnome.ui module)" msgstr "Wsparcie dla Menadżera Sesji jest niedostępne (brak modułu gnome.ui" @@ -4423,112 +4559,91 @@ msgstr "Nie możesz skasować obecnie używanego motywu" msgid "Please first choose another for your current theme." msgstr "Ustaw najpierw inny motyw." -#: ../src/groupchat_control.py:106 -msgid "Private Chat" -msgstr "Rozmowa prywatna" - -#: ../src/groupchat_control.py:106 -msgid "Private Chats" -msgstr "Rozmowy prywatne" - -#: ../src/groupchat_control.py:123 +#: ../src/groupchat_control.py:122 msgid "Sending private message failed" msgstr "Wysyłanie prywatnej wiadomości nie powiodło się" #. in second %s code replaces with nickname -#: ../src/groupchat_control.py:125 +#: ../src/groupchat_control.py:124 #, python-format msgid "You are no longer in group chat \"%s\" or \"%s\" has left." msgstr "Nie jesteś już w pokoju \"%s\" lub \"%s\" opuścił go." -#: ../src/groupchat_control.py:144 -msgid "Group Chat" -msgstr "Pokój" - -#: ../src/groupchat_control.py:144 -msgid "Group Chats" -msgstr "Czaty" - -#: ../src/groupchat_control.py:318 +#: ../src/groupchat_control.py:322 msgid "Insert Nickname" msgstr "Wstaw pseudonim" #. do not print 'kicked by None' -#: ../src/groupchat_control.py:829 +#: ../src/groupchat_control.py:850 #, python-format msgid "%(nick)s has been kicked: %(reason)s" msgstr "%(nick)s został wyrzucony: %(reason)s" -#: ../src/groupchat_control.py:833 +#: ../src/groupchat_control.py:854 #, python-format msgid "%(nick)s has been kicked by %(who)s: %(reason)s" msgstr "%(nick)s został wyrzucony przez %(who)s: %(reason)s" #. do not print 'banned by None' -#: ../src/groupchat_control.py:840 +#: ../src/groupchat_control.py:861 #, python-format msgid "%(nick)s has been banned: %(reason)s" msgstr "%(nick)s został zabanowany: %(reason)s" -#: ../src/groupchat_control.py:844 +#: ../src/groupchat_control.py:865 #, python-format msgid "%(nick)s has been banned by %(who)s: %(reason)s" msgstr "%(nick)s został zabanowany przez %(who)s: %(reason)s" -#: ../src/groupchat_control.py:852 +#: ../src/groupchat_control.py:873 #, python-format msgid "You are now known as %s" msgstr "Występujesz teraz jako %s" -#: ../src/groupchat_control.py:854 +#: ../src/groupchat_control.py:875 #, python-format msgid "%s is now known as %s" msgstr "%s występuje teraz jako %s" -#: ../src/groupchat_control.py:937 +#: ../src/groupchat_control.py:961 #, python-format msgid "%s has left" msgstr "%s wychodzi" -#: ../src/groupchat_control.py:942 +#: ../src/groupchat_control.py:966 #, python-format msgid "%s has joined the group chat" msgstr "%s dołączył do pokoju" -#: ../src/groupchat_control.py:1063 ../src/groupchat_control.py:1081 -#: ../src/groupchat_control.py:1174 ../src/groupchat_control.py:1191 +#: ../src/groupchat_control.py:1088 ../src/groupchat_control.py:1106 +#: ../src/groupchat_control.py:1199 ../src/groupchat_control.py:1216 #, python-format msgid "Nickname not found: %s" msgstr "Pseudonim nie został odnaleziony: %s" -#: ../src/groupchat_control.py:1097 +#: ../src/groupchat_control.py:1122 msgid "This group chat has no subject" msgstr "Ten pokój nie ma tematu" -#: ../src/groupchat_control.py:1110 +#: ../src/groupchat_control.py:1135 #, python-format msgid "Invited %(contact_jid)s to %(room_jid)s." msgstr "%(contact_jid)s zaproszony do %(room_jid)s." #. %s is something the user wrote but it is not a jid so we inform -#: ../src/groupchat_control.py:1117 ../src/groupchat_control.py:1145 +#: ../src/groupchat_control.py:1142 ../src/groupchat_control.py:1170 #, python-format msgid "%s does not appear to be a valid JID" msgstr "%s nie wygląda na poprawny JID" -#: ../src/groupchat_control.py:1228 +#: ../src/groupchat_control.py:1253 #, python-format 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)" -#: ../src/groupchat_control.py:1251 -#, python-format -msgid "Commands: %s" -msgstr "Polecenia: %s" - -#: ../src/groupchat_control.py:1253 +#: ../src/groupchat_control.py:1279 #, python-format msgid "" "Usage: /%s [reason], bans the JID from the group chat. The " @@ -4540,18 +4655,14 @@ msgstr "" "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." -#: ../src/groupchat_control.py:1260 +#: ../src/groupchat_control.py:1286 +#, python-format msgid "" "Usage: /%s , opens a private chat window with the specified " "occupant." msgstr "Użycie: /%s , otwiera okno prywatnej rozmowy z tą osobą." -#: ../src/groupchat_control.py:1264 -#, python-format -msgid "Usage: /%s, clears the text window." -msgstr "Użycie: /%s czyście okno tekstowe." - -#: ../src/groupchat_control.py:1266 +#: ../src/groupchat_control.py:1292 #, python-format msgid "" "Usage: /%s [reason], closes the current window or tab, displaying reason if " @@ -4560,12 +4671,7 @@ msgstr "" "Użycie: /%s [powód] zamyka aktualne okno lub kartę i wyświetla powóc, jeśli " "został podany." -#: ../src/groupchat_control.py:1269 -#, python-format -msgid "Usage: /%s, hide the chat buttons." -msgstr "Użycie: /%s ukrywa przyciski czatu." - -#: ../src/groupchat_control.py:1272 +#: ../src/groupchat_control.py:1298 #, python-format msgid "" "Usage: /%s [reason], invites JID to the current group chat, optionally " @@ -4574,7 +4680,7 @@ msgstr "" "Użycie: /%s [powód] zaprasza JID do aktualnego pokoju, opcjonalnie " "wyświetlając powód." -#: ../src/groupchat_control.py:1276 +#: ../src/groupchat_control.py:1302 #, python-format msgid "" "Usage: /%s @[/nickname], offers to join room@server optionally " @@ -4583,7 +4689,7 @@ msgstr "" "Użycie: /%s @[/pseudonim] oferuje przyłączenie się do " "pokój@serwer opcjonalnie z wykorzystaniem podanego psedonimu." -#: ../src/groupchat_control.py:1280 +#: ../src/groupchat_control.py:1306 #, python-format msgid "" "Usage: /%s [reason], removes the occupant specified by nickname " @@ -4593,7 +4699,7 @@ msgstr "" "Użycie: /%s [powód] usuwa podaną poprzez pseudonim osobę z " "pokoju i opcjonalnie wyświetla powód. NIE wspiera spacji w pseudonimie." -#: ../src/groupchat_control.py:1285 +#: ../src/groupchat_control.py:1311 #, python-format msgid "" "Usage: /%s , sends action to the current group chat. Use third " @@ -4602,7 +4708,8 @@ msgstr "" "Użycie: /%s wysyła działanie do aktualnego pokoju. Używaj w " "trzeciej osobie (np. /%s eksploduje.)" -#: ../src/groupchat_control.py:1289 +#: ../src/groupchat_control.py:1315 +#, python-format msgid "" "Usage: /%s [message], opens a private message window and sends " "message to the occupant specified by nickname." @@ -4610,92 +4717,103 @@ msgstr "" "Użycie: /%s [wiadomość] otwiera okno prywatnej wiadomości i " "wysyła ją do osoby o takim pseudonimie." -#: ../src/groupchat_control.py:1294 +#: ../src/groupchat_control.py:1320 #, python-format msgid "Usage: /%s , changes your nickname in current group chat." msgstr "Użycie: /%s zmienia twój pseudonim w aktualnym pokoju." -#: ../src/groupchat_control.py:1298 +#: ../src/groupchat_control.py:1324 #, python-format msgid "Usage: /%s , display the names of group chat occupants." msgstr "Użycie: /%s , wyświetla osoby obecne w danym pokoju." -#: ../src/groupchat_control.py:1302 +#: ../src/groupchat_control.py:1328 #, python-format msgid "Usage: /%s [topic], displays or updates the current group chat topic." msgstr "Użycie: /%s [temat] wyświetla lub aktualizuje temat aktualnego pokoju." -#: ../src/groupchat_control.py:1305 +#: ../src/groupchat_control.py:1331 #, python-format msgid "" "Usage: /%s , sends a message without looking for other commands." msgstr "" "Użycie: /%s wysyła wiadomość bez sprawdzania innych poleceń." -#: ../src/groupchat_control.py:1308 -#, python-format -msgid "No help info for /%s" -msgstr "Brak informacji o pomocy dla /%s" - -#: ../src/groupchat_control.py:1359 +#: ../src/groupchat_control.py:1397 #, python-format msgid "Are you sure you want to leave group chat \"%s\"?" msgstr "Czy jesteś pewien, że chcesz opuścić pokój \"%s\"?" -#: ../src/groupchat_control.py:1361 +#: ../src/groupchat_control.py:1399 msgid "" "If you close this window, you will be disconnected from this group chat." msgstr "Jeśli zamkniesz to okno, połączenie z tym pokojem zostanie zerwane." -#: ../src/groupchat_control.py:1365 ../src/roster_window.py:4036 +#: ../src/groupchat_control.py:1403 ../src/roster_window.py:4376 msgid "Do _not ask me again" msgstr "_Nie pytaj mnie o to ponownie" -#: ../src/groupchat_control.py:1399 +#: ../src/groupchat_control.py:1437 msgid "Changing Subject" msgstr "Zmiana tematu" -#: ../src/groupchat_control.py:1400 +#: ../src/groupchat_control.py:1438 msgid "Please specify the new subject:" msgstr "Wpisz nowy temat:" -#: ../src/groupchat_control.py:1409 +#: ../src/groupchat_control.py:1447 msgid "Changing Nickname" msgstr "Zmiana pseudonimu" -#: ../src/groupchat_control.py:1410 +#: ../src/groupchat_control.py:1448 msgid "Please specify the new nickname you want to use:" msgstr "Wpisz nowy pseudonim, którego chcesz używać:" -#: ../src/groupchat_control.py:1435 +#. Ask for a reason +#: ../src/groupchat_control.py:1463 +msgid "Destroying %s" +msgstr "Usuwam pokój %s" + +#: ../src/groupchat_control.py:1464 +msgid "" +"You are going to definitively destroy this room.\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:" + +#: ../src/groupchat_control.py:1466 +msgid "You may also enter an alternate venue:" +msgstr "Możesz również podać alternatywne miejsce spotkań:" + +#: ../src/groupchat_control.py:1496 msgid "Bookmark already set" msgstr "Zakładka została już dodana" -#: ../src/groupchat_control.py:1436 +#: ../src/groupchat_control.py:1497 #, python-format msgid "Group Chat \"%s\" is already in your bookmarks." msgstr "Pokój \"%s\" jest już w Twoich zakładkach." -#: ../src/groupchat_control.py:1445 +#: ../src/groupchat_control.py:1506 msgid "Bookmark has been added successfully" msgstr "Zakładka została dodana" -#: ../src/groupchat_control.py:1446 +#: ../src/groupchat_control.py:1507 msgid "You can manage your bookmarks via Actions menu in your roster." msgstr "Możesz zarządzać zakładkami poprzez menu Działania w oknie kontaktów." #. ask for reason -#: ../src/groupchat_control.py:1574 +#: ../src/groupchat_control.py:1635 #, python-format msgid "Kicking %s" msgstr "Wyrzuć %s" -#: ../src/groupchat_control.py:1575 ../src/groupchat_control.py:1858 +#: ../src/groupchat_control.py:1636 ../src/groupchat_control.py:1929 msgid "You may specify a reason below:" msgstr "Podaj przyczynę:" #. ask for reason -#: ../src/groupchat_control.py:1857 +#: ../src/groupchat_control.py:1928 #, python-format msgid "Banning %s" msgstr "Zabanuj %s" @@ -4743,30 +4861,30 @@ msgstr "" "Nie można zapisywać do %s. Wsparcie dla Menadżera Sesji nie będzie działać" #. xmpp: is currently handled by another program, so ask the user -#: ../src/gtkgui_helpers.py:691 +#: ../src/gtkgui_helpers.py:711 msgid "Gajim is not the default Jabber client" msgstr "Gajim nie jest domyślnym klinetem Jabbera" -#: ../src/gtkgui_helpers.py:692 +#: ../src/gtkgui_helpers.py:712 msgid "Would you like to make Gajim the default Jabber client?" msgstr "Czy chciałbyś by Gajim stał się klientem domyślnym?" -#: ../src/gtkgui_helpers.py:693 +#: ../src/gtkgui_helpers.py:713 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" -#: ../src/gtkgui_helpers.py:792 +#: ../src/gtkgui_helpers.py:812 msgid "Extension not supported" msgstr "Rozszerzenie nie jest obsługiwane" -#: ../src/gtkgui_helpers.py:793 +#: ../src/gtkgui_helpers.py:813 #, python-format msgid "Image cannot be saved in %(type)s format. Save as %(new_filename)s?" msgstr "" "Obraz nie może zostać zapisany w formacie %(type)s. Zapisać jako %" "(new_filename)s?" -#: ../src/gtkgui_helpers.py:802 +#: ../src/gtkgui_helpers.py:822 msgid "Save Image as..." msgstr "Zapisz plik jako..." @@ -4851,31 +4969,51 @@ msgstr[2] "Czy na pewno chcesz usunąć wybrane wiadomości?" msgid "Conversation History with %s" msgstr "Historia rozmowy z %s" -#: ../src/history_window.py:258 +#: ../src/history_window.py:266 #, python-format msgid "%(nick)s is now %(status)s: %(status_msg)s" msgstr "%(nick)s jes teraz %(status)s: %(status_msg)s" -#: ../src/history_window.py:262 ../src/notify.py:199 +#: ../src/history_window.py:270 ../src/notify.py:199 #, python-format msgid "%(nick)s is now %(status)s" msgstr "%(nick)s ma teraz status %(status)s" -#: ../src/history_window.py:268 +#: ../src/history_window.py:276 #, python-format msgid "Status is now: %(status)s: %(status_msg)s" msgstr "Obecny status: %(status)s: %(status_msg)s" -#: ../src/history_window.py:271 +#: ../src/history_window.py:279 #, python-format msgid "Status is now: %(status)s" msgstr "Obecny status: %(status)s" +#: ../src/htmltextview.py:710 ../src/htmltextview.py:721 +msgid "Timeout loading image" +msgstr "Przekroczono czas ładowania obrazu" + +#: ../src/htmltextview.py:731 +msgid "Image is too big" +msgstr "Obraz jest za duży" + #: ../src/message_window.py:273 +msgid "Chats" +msgstr "Rozmowy" + +#: ../src/message_window.py:275 +msgid "Group Chats" +msgstr "Czaty" + +#: ../src/message_window.py:277 +msgid "Private Chats" +msgstr "Rozmowy prywatne" + +#: ../src/message_window.py:279 msgid "Messages" msgstr "Wiadomości" -#: ../src/message_window.py:274 +#: ../src/message_window.py:280 #, python-format msgid "%s - Gajim" msgstr "%s - Gajim" @@ -4919,37 +5057,40 @@ msgstr "Nowa wiadomość od %(nickname)s" msgid "Retrieving profile..." msgstr "Pobieranie profilu..." -#: ../src/profile_window.py:107 ../src/profile_window.py:210 -#: ../src/profile_window.py:219 -msgid "Click to set your avatar" -msgstr "Kliknij aby ustawić avatar" +#: ../src/profile_window.py:127 ../src/vcard.py:135 +msgid "File is emty" +msgstr "Plik jest pusty" + +#: ../src/profile_window.py:130 ../src/vcard.py:138 +msgid "File does not exist" +msgstr "Plik nie istnieje." #. keep identation -#: ../src/profile_window.py:137 +#: ../src/profile_window.py:144 ../src/vcard.py:140 msgid "Could not load image" msgstr "Nie można załadować obrazka." -#: ../src/profile_window.py:245 +#: ../src/profile_window.py:257 msgid "Information received" msgstr "Informacja została odebrana" -#: ../src/profile_window.py:314 +#: ../src/profile_window.py:326 msgid "Without a connection you can not publish your contact information." msgstr "Nie możesz wysłać informacji o sobie jeśli nie jesteś połączony." -#: ../src/profile_window.py:326 +#: ../src/profile_window.py:338 msgid "Sending profile..." msgstr "Wysyłanie profilu..." -#: ../src/profile_window.py:341 +#: ../src/profile_window.py:353 msgid "Information NOT published" msgstr "Informacja NIE ZOSTAŁA opublikowana" -#: ../src/profile_window.py:348 +#: ../src/profile_window.py:360 msgid "vCard publication failed" msgstr "Publikacja vCard nie powiodła się" -#: ../src/profile_window.py:349 +#: ../src/profile_window.py:361 msgid "" "There was an error while publishing your personal information, try again " "later." @@ -4957,22 +5098,23 @@ msgstr "" "W czasie publikowanie informacji o tobie wystąpił błąd, spróbuj ponownie " "później." -#: ../src/roster_window.py:171 ../src/roster_window.py:226 +#: ../src/roster_window.py:173 ../src/roster_window.py:228 msgid "Merged accounts" msgstr "Połączone konta" -#: ../src/roster_window.py:344 ../src/common/helpers.py:43 +#: ../src/roster_window.py:346 ../src/roster_window.py:571 +#: ../src/common/helpers.py:43 msgid "Observers" msgstr "Obserwatorzy" -#: ../src/roster_window.py:692 ../src/roster_window.py:3201 +#: ../src/roster_window.py:710 ../src/roster_window.py:3526 msgid "You cannot join a group chat while you are invisible" msgstr "Nie możesz dołączyć do pokoju gdy jesteś niewidoczny" #. new chat #. for chat_with #. for single message -#: ../src/roster_window.py:884 ../src/systray.py:187 ../src/systray.py:192 +#: ../src/roster_window.py:913 ../src/systray.py:206 ../src/systray.py:211 #, python-format msgid "using account %s" msgstr "używając konta %s" @@ -4980,56 +5122,56 @@ msgstr "używając konta %s" #. the 'manage gc bookmarks' item is shown #. below to avoid duplicate code #. add -#: ../src/roster_window.py:909 +#: ../src/roster_window.py:938 #, python-format msgid "to %s account" msgstr "do konta %s" #. disco -#: ../src/roster_window.py:914 +#: ../src/roster_window.py:943 #, python-format msgid "using %s account" msgstr "używając konta %s" #. profile, avatar -#: ../src/roster_window.py:989 +#: ../src/roster_window.py:1018 #, python-format msgid "of account %s" msgstr "dla konta %s" -#: ../src/roster_window.py:1009 +#: ../src/roster_window.py:1038 msgid "_Manage Bookmarks..." msgstr "_Zarządzaj zakładkami..." -#: ../src/roster_window.py:1038 +#: ../src/roster_window.py:1067 #, python-format msgid "for account %s" msgstr "dla konta %s" #. History manager -#: ../src/roster_window.py:1059 +#: ../src/roster_window.py:1088 msgid "History Manager" msgstr "Historia rozmów" -#: ../src/roster_window.py:1068 +#: ../src/roster_window.py:1097 msgid "_Join New Group Chat" msgstr "_Dołącz do pokoju" -#: ../src/roster_window.py:1398 ../src/roster_window.py:3394 -#: ../src/roster_window.py:3401 +#: ../src/roster_window.py:1429 ../src/roster_window.py:3722 +#: ../src/roster_window.py:3729 msgid "You have unread messages" msgstr "Masz nieprzeczytane wiadomości" -#: ../src/roster_window.py:1399 +#: ../src/roster_window.py:1430 msgid "You must read them before removing this transport." msgstr "Przejrzyj je wszystkie przed usunięciem tego transportu." -#: ../src/roster_window.py:1402 +#: ../src/roster_window.py:1433 #, python-format msgid "Transport \"%s\" will be removed" msgstr "Transport \"%s\" zostanie usunięty" -#: ../src/roster_window.py:1403 +#: ../src/roster_window.py:1434 msgid "" "You will no longer be able to send and receive messages from contacts using " "this transport." @@ -5037,11 +5179,11 @@ msgstr "" "Nie będziesz już mógł wysyłać i odbierać wiadomości od kontaktów za pomocą " "tego transportu." -#: ../src/roster_window.py:1406 +#: ../src/roster_window.py:1437 msgid "Transports will be removed" msgstr "Transporty zostaną usunięte" -#: ../src/roster_window.py:1411 +#: ../src/roster_window.py:1442 #, python-format msgid "" "You will no longer be able to send and receive messages to contacts from " @@ -5051,116 +5193,120 @@ msgstr "" "następujących transportów: %s" #. it's jid -#: ../src/roster_window.py:1431 +#: ../src/roster_window.py:1608 msgid "Rename Contact" msgstr "Zmień nazwę dla kontaktu" -#: ../src/roster_window.py:1432 +#: ../src/roster_window.py:1609 #, python-format msgid "Enter a new nickname for contact %s" msgstr "Wpisz nazwę dla kontaktu %s." -#: ../src/roster_window.py:1439 +#: ../src/roster_window.py:1616 msgid "Rename Group" msgstr "Zmień nazwę grupy" -#: ../src/roster_window.py:1440 +#: ../src/roster_window.py:1617 #, python-format msgid "Enter a new name for group %s" msgstr "Wpisz nową nazwę dla grupy %s." -#: ../src/roster_window.py:1515 +#: ../src/roster_window.py:1692 msgid "Remove Group" msgstr "Usuń grupę" -#: ../src/roster_window.py:1516 +#: ../src/roster_window.py:1693 #, python-format msgid "Do you want to remove group %s from the roster?" msgstr "Czy chcesz usunąć z rostera grupę %s?" -#: ../src/roster_window.py:1517 +#: ../src/roster_window.py:1694 msgid "Remove also all contacts in this group from your roster" msgstr "Usuń z rostera wszystkie kontakty należące do tej grupy" -#: ../src/roster_window.py:1546 +#: ../src/roster_window.py:1725 msgid "Assign OpenPGP Key" msgstr "Przypisz klucz OpenPGP" -#: ../src/roster_window.py:1547 +#: ../src/roster_window.py:1726 msgid "Select a key to apply to the contact" msgstr "Wybierz klucz, który chcesz przypisać kontaktowi" -#: ../src/roster_window.py:1782 ../src/roster_window.py:2043 +#: ../src/roster_window.py:1966 ../src/roster_window.py:2260 msgid "_New group chat" msgstr "_Nowa rozmowa grupowa" -#: ../src/roster_window.py:1913 +#: ../src/roster_window.py:2111 msgid "I would like to add you to my roster" msgstr "Chciałbym dodać Cię do listy kontaktów" -#: ../src/roster_window.py:2088 ../src/roster_window.py:2135 +#: ../src/roster_window.py:2305 ../src/roster_window.py:2364 msgid "Send Group M_essage" msgstr "_Wyślij wiadomość grupową" -#: ../src/roster_window.py:2114 +#: ../src/roster_window.py:2343 msgid "Re_name" msgstr "_Zmień nazwę" -#: ../src/roster_window.py:2141 +#: ../src/roster_window.py:2370 msgid "To all users" msgstr "Do wszystkich użytkowników" -#: ../src/roster_window.py:2144 +#: ../src/roster_window.py:2373 msgid "To all online users" msgstr "Do wszystkich połączonych użytkowników" -#: ../src/roster_window.py:2180 +#: ../src/roster_window.py:2393 +msgid "Send Cus_tom Status" +msgstr "Wyślij odrębny status" + +#: ../src/roster_window.py:2450 msgid "_Log on" msgstr "_Połącz" -#: ../src/roster_window.py:2190 +#: ../src/roster_window.py:2460 msgid "Log _off" msgstr "R_ozłącz" -#: ../src/roster_window.py:2312 ../src/roster_window.py:2383 +#: ../src/roster_window.py:2582 ../src/roster_window.py:2653 msgid "_Change Status Message" msgstr "_Zmień opis statusu" -#: ../src/roster_window.py:2455 +#: ../src/roster_window.py:2725 msgid "Authorization has been sent" msgstr "Autoryzacja została wysłana" -#: ../src/roster_window.py:2456 +#: ../src/roster_window.py:2726 #, python-format msgid "Now \"%s\" will know your status." msgstr "Teraz \"%s\" będzie znał Twój status." -#: ../src/roster_window.py:2476 +#: ../src/roster_window.py:2746 msgid "Subscription request has been sent" msgstr "Prośba o autoryzację została wysłana" -#: ../src/roster_window.py:2477 +#: ../src/roster_window.py:2747 #, python-format msgid "If \"%s\" accepts this request you will know his or her status." msgstr "" "Jeśli \"%s\" zaakceptuje tę prośbę, to będziesz mógł widzieć jego lub jej " "status." -#: ../src/roster_window.py:2489 +#: ../src/roster_window.py:2759 msgid "Authorization has been removed" msgstr "Autoryzacja została cofnięta" -#: ../src/roster_window.py:2490 +#: ../src/roster_window.py:2760 #, python-format msgid "Now \"%s\" will always see you as offline." msgstr "Teraz \"%s\" zawsze będzie cię widział jako rozłączonego." -#: ../src/roster_window.py:2680 +#: ../src/roster_window.py:2955 #, python-format msgid "Contact \"%s\" will be removed from your roster" msgstr "Kontakt \"%s\" zostanie usunięty z Twojej listy kontaktów" -#: ../src/roster_window.py:2684 +#: ../src/roster_window.py:2959 msgid "" "By removing this contact you also remove authorization resulting in him or " "her always seeing you as offline." @@ -5168,7 +5314,7 @@ msgstr "" "Usuwając kontakt cofniesz mu również autoryzację, co spowoduje, że kontakt " "będzie zawsze widział Cię jako rozłączonego." -#: ../src/roster_window.py:2689 +#: ../src/roster_window.py:2964 msgid "" "By removing this contact you also by default remove authorization resulting " "in him or her always seeing you as offline." @@ -5176,16 +5322,16 @@ msgstr "" "Usuwając kontakt usuniesz również autoryzację, co spowoduje, że kontakt " "będzie zawsze widział Cię jako rozłączonego." -#: ../src/roster_window.py:2692 +#: ../src/roster_window.py:2967 msgid "I want this contact to know my status after removal" msgstr "Chcę żeby po usunięciu ten kontakt znał mój status" #. several contact to remove at the same time -#: ../src/roster_window.py:2696 +#: ../src/roster_window.py:2971 msgid "Contacts will be removed from your roster" msgstr "Kontakty zostaną usunięte z twojej listy kontaktów" -#: ../src/roster_window.py:2700 +#: ../src/roster_window.py:2975 #, python-format msgid "" "By removing these contacts:%s\n" @@ -5195,48 +5341,49 @@ msgstr "" "cofniesz im również autoryzację, co spowoduje, że będziesz dla nich widoczny " "jako rozłączony." -#: ../src/roster_window.py:2732 +#: ../src/roster_window.py:3007 msgid "" -"Gnomekeyring is installed but not correctly started (environment variable " +"Gnome Keyring is installed but not correctly started (environment variable " "probably not correctly set)" -msgstr "Menedżer bazy kluczy GNOME jest zainstalowany, ale ma błędną konfigurację" +msgstr "" +"Menedżer bazy kluczy GNOME jest zainstalowany, ale ma błędną konfigurację" "(prawodpodobnie niepoprawna zmienna środowiskowa" #. TODO: make this string translatable #. %s is the account name here -#: ../src/roster_window.py:2760 ../src/common/connection.py:671 -#: ../src/common/zeroconf/connection_zeroconf.py:158 +#: ../src/roster_window.py:3035 ../src/common/connection.py:707 +#: ../src/common/zeroconf/connection_zeroconf.py:164 #, python-format msgid "You will be connected to %s without OpenPGP." msgstr "Zostanie połączony z %s bez obsługi OpenPGP." -#: ../src/roster_window.py:2777 +#: ../src/roster_window.py:3052 msgid "Passphrase Required" msgstr "Wymagane hasło" -#: ../src/roster_window.py:2778 +#: ../src/roster_window.py:3053 #, python-format msgid "Enter GPG key passphrase for account %s." msgstr "Wpisz hasło GPG dla konta %s." -#: ../src/roster_window.py:2783 +#: ../src/roster_window.py:3058 msgid "Save passphrase" msgstr "Zapisz hasło" -#: ../src/roster_window.py:2791 +#: ../src/roster_window.py:3066 msgid "Wrong Passphrase" msgstr "Błędne hasło" -#: ../src/roster_window.py:2792 +#: ../src/roster_window.py:3067 msgid "Please retype your GPG passphrase or press Cancel." msgstr "" "Proszę ponownie wprowadzić swoje hasło GPG lub kliknąć przycisk Anuluj." -#: ../src/roster_window.py:2849 ../src/roster_window.py:2909 +#: ../src/roster_window.py:3134 ../src/roster_window.py:3202 msgid "You are participating in one or more group chats" msgstr "Znajdujesz się w jednym lub kilku pokojach" -#: ../src/roster_window.py:2850 ../src/roster_window.py:2910 +#: ../src/roster_window.py:3135 ../src/roster_window.py:3203 msgid "" "Changing your status to invisible will result in disconnection from those " "group chats. Are you sure you want to go invisible?" @@ -5244,20 +5391,20 @@ msgstr "" "Zmiana statusu na Niewidoczny spowoduje rozłaczeniem z tym pokojami. Czy na " "pewno chcesz stać się niewidoczny?" -#: ../src/roster_window.py:2867 +#: ../src/roster_window.py:3160 msgid "No account available" msgstr "Żadne konto nie jest dostępne" -#: ../src/roster_window.py:2868 +#: ../src/roster_window.py:3161 msgid "You must create an account before you can chat with other contacts." msgstr "Aby rozmawiać z innymi osobami musisz założyć konto Jabbera." -#: ../src/roster_window.py:2966 +#: ../src/roster_window.py:3284 #, python-format msgid "\"%(title)s\" by %(artist)s" msgstr "\"%(title)s\" w wykonaniu %(artist)s" -#: ../src/roster_window.py:3395 ../src/roster_window.py:3402 +#: ../src/roster_window.py:3723 ../src/roster_window.py:3730 msgid "" "Messages will only be available for reading them later if you have history " "enabled." @@ -5265,11 +5412,11 @@ msgstr "" "Wiadomości będą dostępne tylko do czytania, o ile masz włączoną obsługę " "historii." -#: ../src/roster_window.py:3986 +#: ../src/roster_window.py:4326 msgid "Metacontacts storage not supported by your server" msgstr "Twój serwer uniemożliwia przechowywanie metakontaktów" -#: ../src/roster_window.py:3988 +#: ../src/roster_window.py:4328 msgid "" "Your server does not support storing metacontacts information. So those " "information will not be save on next reconnection." @@ -5277,12 +5424,12 @@ msgstr "" "Twój serwer uniemożliwia przechowywanie metakontaktów. Informacja ta nie " "zostanie przywrócona podczas następnego połączenia." -#: ../src/roster_window.py:4030 +#: ../src/roster_window.py:4370 msgid "" "You are about to create a metacontact. Are you sure you want to continue?" msgstr "Chcesz utworzyć metakontakt. Kontynuować?" -#: ../src/roster_window.py:4032 +#: ../src/roster_window.py:4372 msgid "" "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 " @@ -5292,25 +5439,44 @@ msgstr "" "rostera. Używa się ich przede wszystkim wtedy, gdy jedna osoba ma kilka kont " "Jabbera lub zarejestrowana jest w kilku transportach." -#: ../src/roster_window.py:4199 +#: ../src/roster_window.py:4450 +msgid "Do you want to send that file to %s:" +msgid_plural "Do you want to send those files to %s:" +msgstr[0] "Czy chcesz wysłać ten plik do %s:" +msgstr[1] "Czy chcesz wysłać te pliki do %s:" +msgstr[2] "Czy chcesz wysłać te pliki do %s:" + +#: ../src/roster_window.py:4555 #, python-format msgid "Drop %s in group %s" msgstr "Usuń %s z grupy %s" -#: ../src/roster_window.py:4206 +#: ../src/roster_window.py:4562 #, python-format msgid "Make %s and %s metacontacts" msgstr "Przekształć %s oraz %s w metakontakty" -#: ../src/roster_window.py:4393 +#: ../src/roster_window.py:4749 msgid "Change Status Message..." msgstr "Zmień opis statusu..." -#: ../src/systray.py:144 +#: ../src/search_window.py:88 +msgid "Waiting for results" +msgstr "Oczekiwanie na wyniki" + +#: ../src/search_window.py:135 ../src/search_window.py:186 +msgid "Error in received dataform" +msgstr "Błąd w odebranych danych" + +#: ../src/search_window.py:154 +msgid "No result" +msgstr "Brak wyników" + +#: ../src/systray.py:163 msgid "_Change Status Message..." msgstr "_Zmień opis statusu..." -#: ../src/systray.py:232 +#: ../src/systray.py:251 msgid "Hide this menu" msgstr "Ukryj to menu" @@ -5327,16 +5493,16 @@ msgstr "Zasoby: " msgid "%(owner_or_admin_or_member)s of this group chat" msgstr "%(owner_or_admin_or_member)s tego pokoju" -#: ../src/tooltips.py:430 ../src/tooltips.py:610 +#: ../src/tooltips.py:429 ../src/tooltips.py:611 msgid "Status: " msgstr "Status: " -#: ../src/tooltips.py:461 +#: ../src/tooltips.py:460 #, python-format msgid "Last status: %s" msgstr "Ostatni status %s" -#: ../src/tooltips.py:463 +#: ../src/tooltips.py:462 #, python-format msgid " since %s" msgstr " od %s" @@ -5350,52 +5516,52 @@ msgstr "Autoryzacja: " msgid "OpenPGP: " msgstr "OpenPGP: " -#: ../src/tooltips.py:566 +#: ../src/tooltips.py:567 msgid "Download" msgstr "Pobieranie" -#: ../src/tooltips.py:572 +#: ../src/tooltips.py:573 msgid "Upload" msgstr "Prześlij" -#: ../src/tooltips.py:579 +#: ../src/tooltips.py:580 msgid "Type: " msgstr "Typ: " -#: ../src/tooltips.py:585 +#: ../src/tooltips.py:586 msgid "Transferred: " msgstr "Przesłane: " -#: ../src/tooltips.py:588 ../src/tooltips.py:609 +#: ../src/tooltips.py:589 ../src/tooltips.py:610 msgid "Not started" msgstr "Nie włączony" -#: ../src/tooltips.py:592 +#: ../src/tooltips.py:593 msgid "Stopped" msgstr "Zatrzymany" -#: ../src/tooltips.py:594 ../src/tooltips.py:597 +#: ../src/tooltips.py:595 ../src/tooltips.py:598 msgid "Completed" msgstr "Ukończony" -#: ../src/tooltips.py:601 +#: ../src/tooltips.py:602 msgid "?transfer status:Paused" msgstr "?status transferu:wstrzymany" #. stalled is not paused. it is like 'frozen' it stopped alone -#: ../src/tooltips.py:605 +#: ../src/tooltips.py:606 msgid "Stalled" msgstr "Wygaszony" -#: ../src/tooltips.py:607 +#: ../src/tooltips.py:608 msgid "Transferring" msgstr "Przesyłanie" -#: ../src/tooltips.py:639 +#: ../src/tooltips.py:640 msgid "This service has not yet responded with detailed information" msgstr "Ta usługa nie odesłała jeszcze szczegółowych informacji" -#: ../src/tooltips.py:642 +#: ../src/tooltips.py:643 msgid "" "This service could not respond with detailed information.\n" "It is most likely legacy or broken" @@ -5403,24 +5569,24 @@ msgstr "" "Ta usługa nie była w stanie odesłać szczegółowych informacji.\n" "Prawdopodobnie została zamknięta lub jest zepsuta" -#: ../src/vcard.py:217 +#: ../src/vcard.py:325 msgid "?Client:Unknown" msgstr "?Klient: Nieznany" -#: ../src/vcard.py:219 +#: ../src/vcard.py:327 msgid "?OS:Unknown" msgstr "?System operacyjny: Nieznany" -#: ../src/vcard.py:247 ../src/vcard.py:449 +#: ../src/vcard.py:355 ../src/vcard.py:533 #, python-format msgid "since %s" msgstr "od %s" -#: ../src/vcard.py:277 +#: ../src/vcard.py:385 msgid "Affiliation:" msgstr "Afiliacja: " -#: ../src/vcard.py:285 +#: ../src/vcard.py:393 msgid "" "This contact is interested in your presence information, but you are not " "interested in his/her presence" @@ -5428,7 +5594,7 @@ msgstr "" "Ten kontakt jest zaintersowany informacjami o twoim statusie, ale ty nie " "interesujesz się jego/jej statusem." -#: ../src/vcard.py:287 +#: ../src/vcard.py:395 msgid "" "You are interested in the contact's presence information, but he/she is not " "interested in yours" @@ -5436,12 +5602,12 @@ msgstr "" "Jesteś zainteresowany informacjami o statusie tego kontaktu, ale on/ona nie " "jest zainteresowana twoim." -#: ../src/vcard.py:289 +#: ../src/vcard.py:397 msgid "You and the contact are interested in each other's presence information" msgstr "Oboje jesteście zaintersowani nawzajem swoimi informacjami o statusie" #. None -#: ../src/vcard.py:291 +#: ../src/vcard.py:399 msgid "" "You are not interested in the contact's presence, and neither he/she is " "interested in yours" @@ -5449,11 +5615,11 @@ msgstr "" "Nie jesteś zainteresowany informacjami o statusie kontaktu i on również nie " "jest zainteresowany twoim" -#: ../src/vcard.py:299 +#: ../src/vcard.py:407 msgid "You are waiting contact's answer about your subscription request" msgstr "Oczekujesz na odpowiedź kontaktu dotyczącą prośby o autoryzację" -#: ../src/vcard.py:311 ../src/vcard.py:338 ../src/vcard.py:482 +#: ../src/vcard.py:411 ../src/vcard.py:438 ../src/vcard.py:558 msgid " resource with priority " msgstr " zasób o wysokim priorytecie " @@ -5463,6 +5629,7 @@ msgstr "tworzenie bazy danych z logami" #: ../src/common/check_paths.py:89 ../src/common/check_paths.py:100 #: ../src/common/check_paths.py:107 +#, python-format msgid "%s is a file but it should be a directory" msgstr "%s jest plikiem choć powinien być katalogiem" @@ -5472,6 +5639,7 @@ msgid "Gajim will now exit" msgstr "Gajim zakończy teraz działanie" #: ../src/common/check_paths.py:115 +#, python-format msgid "%s is a directory but should be a file" msgstr "%s jest katalogiem choć powinien być plikiem" @@ -5521,6 +5689,7 @@ msgid "The status has been changed." msgstr "Status został zmieniony." #: ../src/common/commands.py:179 +#, python-format msgid "%(nickname)s on %(room_jid)s" msgstr "%(nickname)s z pokoju %(room_jid)s" @@ -5541,7 +5710,7 @@ msgid "Groupchats" msgstr "Pokoje" #: ../src/common/commands.py:230 -msgid "You leaved the following groupchats:" +msgid "You left the following groupchats:" msgstr "Opuściłeś pokoje:" #: ../src/common/config.py:56 @@ -5643,9 +5812,11 @@ msgid "" "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" -msgstr "Ta opcja pozwala na zdefiniowanie formatu czasu wyświetlanego w oknie rozmowy. " -"Na przykład \"[%H:%M] \" spowoduje wyświetlenie szablonu \"[godzina:minuta] \". " -"Więcej informacji w dokumentacjy Pythona dotyczącą strftime: http://docs.python.org/lib/module-time.html" +msgstr "" +"Ta opcja pozwala na zdefiniowanie formatu czasu wyświetlanego w oknie " +"rozmowy. Na przykład \"[%H:%M] \" spowoduje wyświetlenie szablonu \"[godzina:" +"minuta] \". Więcej informacji w dokumentacjy Pythona dotyczącą strftime: " +"http://docs.python.org/lib/module-time.html" #: ../src/common/config.py:134 msgid "Characters that are printed before the nickname in conversations" @@ -5759,10 +5930,10 @@ msgstr "" #: ../src/common/config.py:164 msgid "" -"Overrides the host we send for File Transfer in case of address translation/" -"port forwarding." +"Comma separated list of hosts that we send, in addition of local interfaces, " +"for File Transfer in case of address translation/port forwarding." msgstr "" -"Nadpisuje host, który wysyłamy w celu przesyłania plików, w przypadku " +"Oddzielona przecinkami lista hostów, którą wysyłamy w celu przesyłania plików, w przypadku " "tłumaczenia adresu/przekierowania portu." #: ../src/common/config.py:166 @@ -5996,25 +6167,44 @@ msgstr "" msgid "" "If True, Gajim will use Gnome Keyring (if available) to store account " "passwords." -msgstr "Jeśli opcja ta ustawiona jest na True, do przechowywania haseł Gajim " -"będzie używał Menedżera bazy kluczy GNOME." +msgstr "" +"Jeśli opcja ta ustawiona jest na True, do przechowywania haseł Gajim będzie " +"używał Menedżera bazy kluczy GNOME." #: ../src/common/config.py:225 msgid "" "If True, Gajim will show number of online and total contacts in account and " "group rows." -msgstr "Jeśli opcja ustawiona jest na True, Gajim będzie wyświetlał liczbę połączonych " -"kontaktów oraz ogólną liczbę kontaktów dla każdego konta oraz grupy" +msgstr "" +"Jeśli opcja ustawiona jest na True, Gajim będzie wyświetlał liczbę " +"połączonych kontaktów oraz ogólną liczbę kontaktów dla każdego konta oraz " +"grupy" #: ../src/common/config.py:226 msgid "" "Can be empty, 'chat' or 'normal'. If not empty, treat all incoming messages " "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ą " +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ść" -#: ../src/common/config.py:237 +#: ../src/common/config.py:227 +msgid "" +"If True, Gajim will scroll and select the contact who sent you the last " +"message, if chat window is not already opened." +msgstr "Jeżeli ustawiono na 'True', Gajim przewinie listę kontaktów i wybierze ten " +"kontakt, który wysłał ci ostatnią wiadomość, ale tylko wtedy gdy okno czatu nie jest " +"już otwarte." + +#: ../src/common/config.py:228 +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." + +#: ../src/common/config.py:239 msgid "" "Priority will change automatically according to your status. Priorities are " "defined in autopriority_* options." @@ -6023,11 +6213,11 @@ msgstr "" "zdefiniowane są opcjach rozpoczynających się od autopriority_*." #. yes, no, ask -#: ../src/common/config.py:266 +#: ../src/common/config.py:268 msgid "Jabberd2 workaround" msgstr "Obejście dla Jabberd2" -#: ../src/common/config.py:270 +#: ../src/common/config.py:272 msgid "" "If checked, Gajim will use your IP and proxies defined in " "file_transfer_proxies option for file transfer." @@ -6035,101 +6225,101 @@ msgstr "" "Jeżeli ta opcja jest aktywna, Gajim pobierze adresy serwerów proxy z klucza " "file_transfers_proxies i użyje ich podczas przesyłania plików." -#: ../src/common/config.py:329 +#: ../src/common/config.py:331 msgid "Is OpenPGP enabled for this contact?" msgstr "Czy OpenPGP jest włączone dla tego kontaktu?" -#: ../src/common/config.py:330 ../src/common/config.py:333 +#: ../src/common/config.py:332 ../src/common/config.py:335 msgid "Language for which we want to check misspelled words" msgstr "Język, którego używa słownik przy sprawdzaniu pisowni" -#: ../src/common/config.py:339 +#: ../src/common/config.py:341 msgid "all or space separated status" msgstr "all lub komunikaty stanu rozdzielone spacjami" -#: ../src/common/config.py:340 +#: ../src/common/config.py:342 msgid "'yes', 'no', or 'both'" msgstr "'yes', 'no' lub 'both'" -#: ../src/common/config.py:341 ../src/common/config.py:343 -#: ../src/common/config.py:344 ../src/common/config.py:347 -#: ../src/common/config.py:348 +#: ../src/common/config.py:343 ../src/common/config.py:345 +#: ../src/common/config.py:346 ../src/common/config.py:349 +#: ../src/common/config.py:350 msgid "'yes', 'no' or ''" msgstr "'yes', 'no' lub \"" -#: ../src/common/config.py:354 +#: ../src/common/config.py:356 msgid "Sleeping" msgstr "Śpię" -#: ../src/common/config.py:355 +#: ../src/common/config.py:357 msgid "Back soon" msgstr "Niedługo wrócę" -#: ../src/common/config.py:355 +#: ../src/common/config.py:357 msgid "Back in some minutes." msgstr "Wrócę za jakiś czas." -#: ../src/common/config.py:356 +#: ../src/common/config.py:358 msgid "Eating" msgstr "Jem" -#: ../src/common/config.py:356 +#: ../src/common/config.py:358 msgid "I'm eating, so leave me a message." msgstr "Jem. Zostaw wiadomość." -#: ../src/common/config.py:357 +#: ../src/common/config.py:359 msgid "Movie" msgstr "Film" -#: ../src/common/config.py:357 +#: ../src/common/config.py:359 msgid "I'm watching a movie." msgstr "Oglądam film." -#: ../src/common/config.py:358 +#: ../src/common/config.py:360 msgid "Working" msgstr "Praca" -#: ../src/common/config.py:358 +#: ../src/common/config.py:360 msgid "I'm working." msgstr "Pracuję." -#: ../src/common/config.py:359 +#: ../src/common/config.py:361 msgid "Phone" msgstr "Telefon" -#: ../src/common/config.py:359 +#: ../src/common/config.py:361 msgid "I'm on the phone." msgstr "Rozmawiam przez telefon." -#: ../src/common/config.py:360 +#: ../src/common/config.py:362 msgid "Out" msgstr "Wyszedłem" -#: ../src/common/config.py:360 +#: ../src/common/config.py:362 msgid "I'm out enjoying life." msgstr "Wyszedłem cieszyć się życiem." -#: ../src/common/config.py:364 +#: ../src/common/config.py:366 msgid "I'm available." msgstr "Dostępny." -#: ../src/common/config.py:365 +#: ../src/common/config.py:367 msgid "I'm free for chat." msgstr "Chętny do rozmowy." -#: ../src/common/config.py:367 +#: ../src/common/config.py:369 msgid "I'm not available." msgstr "Nieobecny." -#: ../src/common/config.py:368 +#: ../src/common/config.py:370 msgid "Do not disturb." msgstr "Nie przeszkadzać." -#: ../src/common/config.py:369 ../src/common/config.py:370 +#: ../src/common/config.py:371 ../src/common/config.py:372 msgid "Bye!" msgstr "Żegnaj!" -#: ../src/common/config.py:379 +#: ../src/common/config.py:381 msgid "" "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." @@ -6138,136 +6328,129 @@ msgstr "" "wyrazów ze zmiennej muc_highlight_words lub gdy wiadomość MUC zawierać " "będzie twój pseudonim." -#: ../src/common/config.py:380 +#: ../src/common/config.py:382 msgid "Sound to play when any MUC message arrives." msgstr "Dźwięk, jaki będzie odtwarzany, gdy nadejdzie wiadomość MUC." -#: ../src/common/config.py:389 ../src/common/optparser.py:193 +#: ../src/common/config.py:391 ../src/common/optparser.py:195 msgid "green" msgstr "zielony" -#: ../src/common/config.py:393 ../src/common/optparser.py:179 +#: ../src/common/config.py:395 ../src/common/optparser.py:181 msgid "grocery" msgstr "grocery" -#: ../src/common/config.py:397 +#: ../src/common/config.py:399 msgid "human" msgstr "human" -#: ../src/common/config.py:401 +#: ../src/common/config.py:403 msgid "marine" msgstr "morski" -#: ../src/common/connection.py:182 -#: ../src/common/zeroconf/connection_zeroconf.py:196 +#: ../src/common/connection.py:197 +#: ../src/common/zeroconf/connection_zeroconf.py:202 #, python-format msgid "Connection with account \"%s\" has been lost" msgstr "Połączenie z kontem \"%s\"zostało zerwane." -#: ../src/common/connection.py:183 +#: ../src/common/connection.py:198 msgid "Reconnect manually." msgstr "Połącz ponownie ręcznie." -#: ../src/common/connection.py:194 ../src/common/connection.py:221 +#: ../src/common/connection.py:209 ../src/common/connection.py:236 #, python-format msgid "Transport %s answered wrongly to register request: %s" msgstr "" "Transport %s udzielił nieprawidłowej odpowiedzi na żądnie rejestracji: %s" #. wrong answer -#: ../src/common/connection.py:220 +#: ../src/common/connection.py:235 msgid "Invalid answer" msgstr "Niepoprawna odpowiedź" -#: ../src/common/connection.py:416 ../src/common/connection.py:515 -#: ../src/common/connection.py:973 -#: ../src/common/zeroconf/connection_zeroconf.py:217 +#: ../src/common/connection.py:383 +msgid "Connection to proxy failed" +msgstr "Połączenie z proxy nie powiodło się" + +#: ../src/common/connection.py:437 ../src/common/connection.py:535 +#: ../src/common/connection.py:1032 +#: ../src/common/zeroconf/connection_zeroconf.py:236 #, python-format msgid "Could not connect to \"%s\"" msgstr "Nie można połączyć się z \"%s\"" -#: ../src/common/connection.py:430 +#: ../src/common/connection.py:451 #, python-format msgid "Connected to server %s:%s with %s" msgstr "Połączony z serwerem %s: %s z %s" -#: ../src/common/connection.py:444 +#: ../src/common/connection.py:464 +#, python-format msgid "Security error connecting to \"%s\"" msgstr "Błąd zabezpieczeń przy połączeniu z \"%s\"" -#: ../src/common/connection.py:445 +#: ../src/common/connection.py:465 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." +msgstr "" +"Zmienił się klucz twojego serwera lub ktoś próbuje podsłuchać połączenie." -#: ../src/common/connection.py:452 +#: ../src/common/connection.py:472 #, python-format 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" +msgstr "" +"Nie można sprawdzić odcisku klucza %s. Połączenie może nie być bezpieczne" -#: ../src/common/connection.py:494 +#: ../src/common/connection.py:514 #, python-format msgid "Missing fingerprint in SSL connection to %s" msgstr "Brak odcisku klucza w połączeniu SSL z %s" -#: ../src/common/connection.py:500 +#: ../src/common/connection.py:520 #, python-format msgid "Fingerprint mismatch for %s: Got %s, expected %s" msgstr "Niezgodność odcisku klucza %s. Oczekiwano %s, otrzymano %s" -#: ../src/common/connection.py:516 +#: ../src/common/connection.py:536 msgid "Check your connection or try again later" msgstr "Sprawdź swoje połączenie lub spróbuj później" -#: ../src/common/connection.py:542 +#: ../src/common/connection.py:562 #, python-format msgid "Authentication failed with \"%s\"" msgstr "Autoryzacja z \"%s\" nie powiodła się" -#: ../src/common/connection.py:543 +#: ../src/common/connection.py:563 msgid "Please check your login and password for correctness." msgstr "Spawdź czy twój login i hasło są poprawne." -#: ../src/common/connection.py:570 +#: ../src/common/connection.py:606 msgid "Error while removing privacy list" msgstr "Błąd usuwaniu listy prywatności" -#: ../src/common/connection.py:571 -#, python-format +#: ../src/common/connection.py:607 msgid "" "Privacy list %s has not been removed. It is maybe active in one of your " -"connected resources. Desactivate 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." +"connected resources. 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." #. We didn't set a passphrase -#: ../src/common/connection.py:669 -#: ../src/common/zeroconf/connection_zeroconf.py:156 +#: ../src/common/connection.py:705 +#: ../src/common/zeroconf/connection_zeroconf.py:162 msgid "OpenPGP passphrase was not given" msgstr "Nie podano klucza OpenPGP" -#. do not show I'm invisible! -#: ../src/common/connection.py:711 -msgid "invisible" -msgstr "niewidoczny" - -#: ../src/common/connection.py:712 -msgid "offline" -msgstr "rozłączony" - -#: ../src/common/connection.py:713 -#, python-format -msgid "I'm %s" -msgstr "Jestem %s" - #. we're not english #. one in locale and one en -#: ../src/common/connection.py:804 +#: ../src/common/connection.py:862 msgid "[This message is *encrypted* (See :JEP:`27`]" msgstr "[Ta wiadomość jest zaszyfrowana (zobacz JEP '27']" -#: ../src/common/connection.py:860 -#: ../src/common/zeroconf/connection_zeroconf.py:397 +#: ../src/common/connection.py:918 +#: ../src/common/zeroconf/connection_zeroconf.py:421 #, python-format msgid "" "Subject: %s\n" @@ -6276,7 +6459,7 @@ msgstr "" "Temat: %s\n" "%s" -#: ../src/common/connection.py:999 +#: ../src/common/connection.py:1058 msgid "Not fetched because of invisible status" msgstr "Nie wysłano z powodu statusu 'niewidoczny'" @@ -6285,26 +6468,31 @@ msgstr "Nie wysłano z powodu statusu 'niewidoczny'" msgid "Unable to load idle module" msgstr "Nie można załadować modułu idle" -#: ../src/common/connection_handlers.py:177 -#: ../src/common/zeroconf/connection_handlers_zeroconf.py:233 +#: ../src/common/connection_handlers.py:180 +#: ../src/common/connection_handlers.py:215 +#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236 msgid "Wrong host" msgstr "Błędna nazwa hosta" -#: ../src/common/connection_handlers.py:177 -#: ../src/common/zeroconf/connection_handlers_zeroconf.py:233 +#: ../src/common/connection_handlers.py:180 +#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236 msgid "" -"The host you configured as the ft_override_host_to_send advanced option is " +"The host %s you configured as the ft_add_hosts_to_send advanced option is " "not valid, so ignored." msgstr "" -"Nazwa hosta, którą określiłeś w opcji ft_overhide_host_to_send jest " +"Nazwa hosta, którą określiłeś w opcji ft_add_hosts_to_send jest " "niepoprawna, będzie więc ignorowana." -#: ../src/common/connection_handlers.py:590 +#: ../src/common/connection_handlers.py:216 +msgid "Invalid local address? :-O" +msgstr "Niepoprawny adres lokalny? :-O" + +#: ../src/common/connection_handlers.py:607 #, python-format msgid "Registration information for transport %s has not arrived in time" msgstr "Informacje rejestracyjne transportu %s nie dotarły na czas" -#: ../src/common/connection_handlers.py:1543 +#: ../src/common/connection_handlers.py:1557 #, python-format msgid "Nickname not allowed: %s" msgstr "Pseudonim jest niedozwolony: %s" @@ -6312,41 +6500,41 @@ msgstr "Pseudonim jest niedozwolony: %s" #. password required to join #. we are banned #. group chat does not exist -#: ../src/common/connection_handlers.py:1605 -#: ../src/common/connection_handlers.py:1608 -#: ../src/common/connection_handlers.py:1611 -#: ../src/common/connection_handlers.py:1614 -#: ../src/common/connection_handlers.py:1617 -#: ../src/common/connection_handlers.py:1620 +#: ../src/common/connection_handlers.py:1622 +#: ../src/common/connection_handlers.py:1625 #: ../src/common/connection_handlers.py:1628 +#: ../src/common/connection_handlers.py:1631 +#: ../src/common/connection_handlers.py:1634 +#: ../src/common/connection_handlers.py:1637 +#: ../src/common/connection_handlers.py:1645 msgid "Unable to join group chat" msgstr "Nie można dołączyć do pokoju" -#: ../src/common/connection_handlers.py:1606 +#: ../src/common/connection_handlers.py:1623 msgid "A password is required to join this group chat." msgstr "Aby dołączyć do tego pokoju, wymagane jest hasło." -#: ../src/common/connection_handlers.py:1609 +#: ../src/common/connection_handlers.py:1626 msgid "You are banned from this group chat." msgstr "Zostałeś zabanowany w tym pokoju." -#: ../src/common/connection_handlers.py:1612 +#: ../src/common/connection_handlers.py:1629 msgid "Such group chat does not exist." msgstr "Taki pokój nie istnieje." -#: ../src/common/connection_handlers.py:1615 +#: ../src/common/connection_handlers.py:1632 msgid "Group chat creation is restricted." msgstr "Tworzenie pokoi jest ograniczone." -#: ../src/common/connection_handlers.py:1618 +#: ../src/common/connection_handlers.py:1635 msgid "Your registered nickname must be used." msgstr "Twój zarejestrowany pseudonim musi być w użyciu." -#: ../src/common/connection_handlers.py:1621 +#: ../src/common/connection_handlers.py:1638 msgid "You are not in the members list." msgstr "Nie jesteś na liście członków." -#: ../src/common/connection_handlers.py:1629 +#: ../src/common/connection_handlers.py:1646 msgid "" "Your desired nickname is in use or registered by another occupant.\n" "Please specify another nickname below:" @@ -6355,27 +6543,38 @@ msgstr "" "innego.\n" "Podaj inny pseudonim:" -#: ../src/common/connection_handlers.py:1679 +#. Room has been destroyed. see +#. http://www.xmpp.org/extensions/xep-0045.html#destroyroom +#: ../src/common/connection_handlers.py:1689 +msgid "Room has been destroyed" +msgstr "Pokój został usunięty" + +#: ../src/common/connection_handlers.py:1696 +#, python-format +msgid "You can join this room instead: %s" +msgstr "W zamian możesz dołączyć do pokoju %s" + +#: ../src/common/connection_handlers.py:1722 msgid "I would like to add you to my roster." msgstr "Chciałbym dodać Cię do listy kontaktów." #. BE CAREFUL: no con.updateRosterItem() in a callback -#: ../src/common/connection_handlers.py:1700 +#: ../src/common/connection_handlers.py:1743 #, python-format msgid "we are now subscribed to %s" msgstr "Zapisaliśmy się do %s" -#: ../src/common/connection_handlers.py:1702 +#: ../src/common/connection_handlers.py:1745 #, python-format msgid "unsubscribe request from %s" msgstr "Prośba o cofnięcie autoryzacji od %s" -#: ../src/common/connection_handlers.py:1704 +#: ../src/common/connection_handlers.py:1747 #, python-format msgid "we are now unsubscribed from %s" msgstr "Wypisaliśmy się z %s" -#: ../src/common/connection_handlers.py:1874 +#: ../src/common/connection_handlers.py:1866 #, python-format msgid "" "JID %s is not RFC compliant. It will not be added to your roster. Use roster " @@ -6814,51 +7013,51 @@ msgstr "Gajim - %s" msgid "error: cannot open %s for reading" msgstr "błąd: nie można otworzyć %s do odczytu" -#: ../src/common/optparser.py:179 +#: ../src/common/optparser.py:181 msgid "gtk+" msgstr "gtk+" -#: ../src/common/optparser.py:188 ../src/common/optparser.py:189 +#: ../src/common/optparser.py:190 ../src/common/optparser.py:191 msgid "cyan" msgstr "cyjan" -#: ../src/common/optparser.py:306 +#: ../src/common/optparser.py:308 msgid "migrating logs database to indices" msgstr "indeksowanie archiwum rozmów" -#: ../src/common/passwords.py:92 +#: ../src/common/passwords.py:82 #, python-format msgid "Gajim account %s" msgstr "Konto Gajim'a %s" -#: ../src/common/zeroconf/client_zeroconf.py:189 +#: ../src/common/zeroconf/client_zeroconf.py:187 msgid "" "Connection to host could not be established: Incorrect answer from server." msgstr "Nie można ustanowić połączenia z hostem. Nieprawidłowa odpowiedź." -#: ../src/common/zeroconf/client_zeroconf.py:205 +#: ../src/common/zeroconf/client_zeroconf.py:215 msgid "Connection to host could not be established" msgstr "Nie można ustanowić połączenia z hostem" -#: ../src/common/zeroconf/client_zeroconf.py:334 +#: ../src/common/zeroconf/client_zeroconf.py:349 msgid "" "Connection to host could not be established: Timeout while sending data." msgstr "" "Nie można ustanowić połączenia z hostem. Timeout podczas wysyłania danych." -#: ../src/common/zeroconf/client_zeroconf.py:627 +#: ../src/common/zeroconf/client_zeroconf.py:642 msgid "Contact is offline. Your message could not be sent." msgstr "Kontakt jest rozłączony. Twoja wiadomość nie mogła zostać wysłana." -#: ../src/common/zeroconf/connection_zeroconf.py:197 +#: ../src/common/zeroconf/connection_zeroconf.py:203 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ć." -#: ../src/common/zeroconf/connection_zeroconf.py:207 +#: ../src/common/zeroconf/connection_zeroconf.py:226 msgid "Avahi error" msgstr "Błąd Avahi" -#: ../src/common/zeroconf/connection_zeroconf.py:207 +#: ../src/common/zeroconf/connection_zeroconf.py:226 #, python-format msgid "" "%s\n" @@ -6867,31 +7066,31 @@ msgstr "" "%s\n" "Przesyłanie wiadomości między adresami link-local może nie działać poprawnie." -#: ../src/common/zeroconf/connection_zeroconf.py:218 +#: ../src/common/zeroconf/connection_zeroconf.py:237 msgid "Please check if Avahi is installed." msgstr "Proszę sprawdzić czy zainstalowano Avahi." -#: ../src/common/zeroconf/connection_zeroconf.py:227 -#: ../src/common/zeroconf/connection_zeroconf.py:231 +#: ../src/common/zeroconf/connection_zeroconf.py:246 +#: ../src/common/zeroconf/connection_zeroconf.py:250 msgid "Could not start local service" msgstr "Nie można uruchomić usługi lokalnej" -#: ../src/common/zeroconf/connection_zeroconf.py:228 +#: ../src/common/zeroconf/connection_zeroconf.py:247 #, python-format msgid "Unable to bind to port %d." msgstr "Nie można podłączyć się do portu %d." -#: ../src/common/zeroconf/connection_zeroconf.py:232 -#: ../src/common/zeroconf/connection_zeroconf.py:325 +#: ../src/common/zeroconf/connection_zeroconf.py:251 +#: ../src/common/zeroconf/connection_zeroconf.py:345 msgid "Please check if avahi-daemon is running." msgstr "Proszę sprawdzić czy uruchomiony jest demon Avahi." -#: ../src/common/zeroconf/connection_zeroconf.py:324 +#: ../src/common/zeroconf/connection_zeroconf.py:344 #, python-format msgid "Could not change status of account \"%s\"" msgstr "Nie można zmienić statusu konta \"%s\"" -#: ../src/common/zeroconf/connection_zeroconf.py:341 +#: ../src/common/zeroconf/connection_zeroconf.py:361 msgid "" "You are not connected or not visible to others. Your message could not be " "sent." @@ -6900,7 +7099,7 @@ msgstr "" "mogła zostać wysłana." #. we're not english -#: ../src/common/zeroconf/connection_zeroconf.py:353 +#: ../src/common/zeroconf/connection_zeroconf.py:373 msgid "[This message is encrypted]" msgstr "[Ta wiadomość jest zaszyfrowana]" @@ -6909,6 +7108,33 @@ msgstr "[Ta wiadomość jest zaszyfrowana]" msgid "Error while adding service. %s" msgstr "Błąd przy dodawaniu usługi %s" +#~ msgid "2003-12-13T18:30:02Z" +#~ msgstr "2003-12-13T18:30:02Z" + +#~ msgid "Romeo and Juliet" +#~ msgstr "Romeo i Julia" + +#~ msgid "Old stories" +#~ msgstr "Stare historie" + +#~ msgid "Soliloquy" +#~ msgstr "Monolog" + +#~ msgid "Private Chat" +#~ msgstr "Rozmowa prywatna" + +#~ msgid "Group Chat" +#~ msgstr "Pokój" + +#~ msgid "invisible" +#~ msgstr "niewidoczny" + +#~ msgid "offline" +#~ msgstr "rozłączony" + +#~ msgid "I'm %s" +#~ msgstr "Jestem %s" + #~ msgid "A_fter nickname:" #~ msgstr "_Za pseudonimem:" @@ -6948,9 +7174,6 @@ msgstr "Błąd przy dodawaniu usługi %s" #~ msgid "Merge consecutive nickname in chat window." #~ msgstr "Łącz następujące po sobie te same nicki w oknie czata." -#~ msgid "_New room" -#~ msgstr "_Nowy pokój" - #~ msgid "Role: " #~ msgstr "Funkcja: " diff --git a/po/pt_BR.po b/po/pt_BR.po index d3b67ee80..6be0cf0d5 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -1,23 +1,29 @@ +# 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. # -#: ../src/gajim-remote.py:202 ../src/gajim-remote.py:209 +# junix , 2005. +# Gajim , 2007. +#: ../src/gajim-remote.py:203 ../src/gajim-remote.py:210 +#: ../src/gajim-remote.py:236 ../src/gajim-remote.py:237 +#: ../src/gajim-remote.py:243 ../src/gajim-remote.py:244 +#: ../src/gajim-remote.py:245 ../src/gajim-remote.py:246 msgid "" msgstr "" -"Project-Id-Version: Gajim 0.81\n" +"Project-Id-Version: pt_BR\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-12-18 09:32+0100\n" -"PO-Revision-Date: 2006-04-14 23:41-0300\n" -"Last-Translator: Alfredo Saldanha Jr. \n" -"Language-Team: none\n" +"POT-Creation-Date: 2007-04-19 18:15+0200\n" +"PO-Revision-Date: 2007-04-19 12:44-0300\n" +"Last-Translator: Gajim \n" +"Language-Team: Português Brasileiro \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: Portuguese\n" "X-Poedit-Country: BRAZIL\n" +"X-Generator: KBabel 1.11.4\n" #: ../data/gajim.desktop.in.in.h:1 msgid "A GTK+ Jabber client" @@ -41,11 +47,11 @@ msgstr "_Adicionar Contato..." #: ../data/glade/account_context_menu.glade.h:3 msgid "_Discover Services..." -msgstr "_Descubra Serviços..." +msgstr "_Procurar Serviços..." #: ../data/glade/account_context_menu.glade.h:4 msgid "_Execute Command..." -msgstr "" +msgstr "_Executar Comando" #: ../data/glade/account_context_menu.glade.h:5 #: ../data/glade/roster_window.glade.h:16 @@ -56,12 +62,11 @@ msgstr "_Conferência" #: ../data/glade/account_context_menu.glade.h:6 #: ../data/glade/zeroconf_context_menu.glade.h:1 msgid "_Modify Account..." -msgstr "_Editar Conta..." +msgstr "_Alterar Conta..." #: ../data/glade/account_context_menu.glade.h:7 -#, fuzzy msgid "_Open Gmail Inbox" -msgstr "_Abrir Cliente de E-mail" +msgstr "_Abrir Caixa de Entrada do Gmail" #: ../data/glade/account_context_menu.glade.h:8 #: ../data/glade/zeroconf_context_menu.glade.h:2 @@ -74,9 +79,9 @@ msgid "" "\n" "Please wait..." msgstr "" -"Conta está sendo criada\n" +"Sua conta está sendo criada\n" "\n" -"Por favor espere..." +"Por favor aguarde..." #: ../data/glade/account_creation_wizard_window.glade.h:4 msgid "Please choose one of the options below:" @@ -84,7 +89,7 @@ msgstr "Por favor escolha uma das opções abaixo:" #: ../data/glade/account_creation_wizard_window.glade.h:5 msgid "Please fill in the data for your new account" -msgstr "Por favor preencha os dados para sua nova conta" +msgstr "Por favor preencha os dados da sua nova conta" #: ../data/glade/account_creation_wizard_window.glade.h:6 msgid "Click to see features (like MSN, ICQ transports) of jabber servers" @@ -94,32 +99,32 @@ msgstr "" #: ../data/glade/account_creation_wizard_window.glade.h:7 msgid "Connect when I press Finish" -msgstr "Conectar quando eu pressiono Fim" +msgstr "Conectar quando eu clicar em Fim" #: ../data/glade/account_creation_wizard_window.glade.h:8 msgid "Gajim: Account Creation Wizard" -msgstr "Gajim: Auxíliar de Configuração de Conta" +msgstr "Gajim: Assistente de Configuração de Conta" #: ../data/glade/account_creation_wizard_window.glade.h:9 msgid "I already have an account I want to use" -msgstr "Eu já tenho uma conta e quero usa-la" +msgstr "Eu já tenho uma conta e quero usá-la" #: ../data/glade/account_creation_wizard_window.glade.h:10 msgid "I want to _register for a new account" msgstr "Eu quero _registrar uma nova conta" #: ../data/glade/account_creation_wizard_window.glade.h:11 -#: ../data/glade/account_modification_window.glade.h:18 +#: ../data/glade/account_modification_window.glade.h:19 msgid "If checked, Gajim will remember the password for this account" msgstr "Se marcado, o Gajim lembrará a senha para esta conta" #: ../data/glade/account_creation_wizard_window.glade.h:12 -#: ../data/glade/manage_proxies_window.glade.h:6 +#: ../data/glade/manage_proxies_window.glade.h:7 msgid "Pass_word:" msgstr "_Senha:" #: ../data/glade/account_creation_wizard_window.glade.h:13 -#: ../data/glade/account_modification_window.glade.h:38 +#: ../data/glade/account_modification_window.glade.h:39 msgid "Save pass_word" msgstr "Salvar senha" @@ -150,20 +155,20 @@ msgstr "_Avançado" #: ../data/glade/account_creation_wizard_window.glade.h:20 msgid "_Finish" -msgstr "_Encerrar" +msgstr "_Concluir" #: ../data/glade/account_creation_wizard_window.glade.h:21 -#: ../data/glade/manage_proxies_window.glade.h:9 +#: ../data/glade/manage_proxies_window.glade.h:10 msgid "_Host:" -msgstr "_Host:" +msgstr "_Computador:" #: ../data/glade/account_creation_wizard_window.glade.h:22 -#: ../data/glade/account_modification_window.glade.h:47 +#: ../data/glade/account_modification_window.glade.h:49 msgid "_Password:" msgstr "_Senha:" #: ../data/glade/account_creation_wizard_window.glade.h:23 -#: ../data/glade/manage_proxies_window.glade.h:10 +#: ../data/glade/manage_proxies_window.glade.h:11 msgid "_Port:" msgstr "_Porta:" @@ -180,9 +185,9 @@ msgid "_Use proxy" msgstr "_Usar proxy" #: ../data/glade/account_creation_wizard_window.glade.h:27 -#: ../data/glade/manage_proxies_window.glade.h:11 +#: ../data/glade/manage_proxies_window.glade.h:12 msgid "_Username:" -msgstr "Nome do _usuário" +msgstr "Nome de _usuário" #: ../data/glade/account_modification_window.glade.h:1 #: ../data/glade/preferences_window.glade.h:8 @@ -205,22 +210,26 @@ msgstr "Conta" #: ../data/glade/account_modification_window.glade.h:5 msgid "Account Modification" -msgstr "Modificação da Conta" +msgstr "Alteração da Conta" #: ../data/glade/account_modification_window.glade.h:6 -msgid "Autoreconnect when connection is lost" -msgstr "Reconectar automaticamente quando a conexão cair" +msgid "Administration operations" +msgstr "Operações de administração" #: ../data/glade/account_modification_window.glade.h:7 +msgid "Auto-reconnect when connection is lost" +msgstr "Reconectar automaticamente quando a conexão cair" + +#: ../data/glade/account_modification_window.glade.h:8 #: ../data/glade/zeroconf_properties_window.glade.h:3 msgid "C_onnect on Gajim startup" msgstr "C_onectar na inicialização do Gajim" -#: ../data/glade/account_modification_window.glade.h:8 -msgid "Chan_ge Password" -msgstr "Mudar Senha" - #: ../data/glade/account_modification_window.glade.h:9 +msgid "Chan_ge Password" +msgstr "Alterar Senha" + +#: ../data/glade/account_modification_window.glade.h:10 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 " @@ -232,61 +241,60 @@ msgstr "" "por padrão se disponibilizada pelo servidor e com esta opção habilitada o " "TLS será desabilitado" -#: ../data/glade/account_modification_window.glade.h:10 +#: ../data/glade/account_modification_window.glade.h:11 #: ../data/glade/zeroconf_properties_window.glade.h:4 msgid "Choose _Key..." msgstr "_Escolha a chave..." -#: ../data/glade/account_modification_window.glade.h:11 +#: ../data/glade/account_modification_window.glade.h:12 msgid "Click to change account's password" msgstr "Clique para mudar a senha da conta" -#: ../data/glade/account_modification_window.glade.h:12 +#: ../data/glade/account_modification_window.glade.h:13 msgid "Connection" msgstr "Conexão" -#: ../data/glade/account_modification_window.glade.h:13 +#: ../data/glade/account_modification_window.glade.h:14 msgid "Edit Personal Information..." msgstr "Editar detalhes pessoais..." -#: ../data/glade/account_modification_window.glade.h:14 -#: ../data/glade/roster_window.glade.h:5 ../src/notify.py:453 -#: ../src/notify.py:475 ../src/notify.py:487 ../src/common/helpers.py:905 +#: ../data/glade/account_modification_window.glade.h:15 +#: ../data/glade/roster_window.glade.h:5 ../src/notify.py:458 +#: ../src/notify.py:480 ../src/notify.py:492 ../src/common/helpers.py:914 msgid "Gajim" msgstr "Gajim" -#. Contact is not in a group, so count it in General group -#: ../data/glade/account_modification_window.glade.h:15 -#: ../data/glade/preferences_window.glade.h:49 +#: ../data/glade/account_modification_window.glade.h:16 +#: ../data/glade/preferences_window.glade.h:51 #: ../data/glade/zeroconf_properties_window.glade.h:7 -#: ../src/roster_window.py:342 ../src/roster_window.py:1207 -#: ../src/roster_window.py:1418 ../src/roster_window.py:2029 -#: ../src/roster_window.py:2071 ../src/common/contacts.py:278 +#: ../src/roster_window.py:347 ../src/roster_window.py:1225 +#: ../src/roster_window.py:1435 ../src/roster_window.py:2114 +#: ../src/roster_window.py:2156 ../src/common/contacts.py:284 msgid "General" msgstr "Geral" -#: ../data/glade/account_modification_window.glade.h:16 -msgid "Hostname: " -msgstr "Nome do Host:" - #: ../data/glade/account_modification_window.glade.h:17 -#, fuzzy +msgid "Hostname: " +msgstr "Nome do Computador:" + +#: ../data/glade/account_modification_window.glade.h:18 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 transmitirá também alguns outros IPs exceto o seu, então " -"a transferência de arquivo tem grandes possibilidades de executar " +"Se marcado, o Gajim transmitirá também alguns outros IP's exceto o seu, " +"então a transferência de arquivo tem grandes possibilidades de executar " "corretamente." -#: ../data/glade/account_modification_window.glade.h:19 -msgid "" -"If checked, Gajim will send keep-alive packets so it prevents connection " -"timeout which results in disconnection" -msgstr "" -"Se marcado, o Gajim enviará pacotes keep-alive que evitam queda de conexão" - #: ../data/glade/account_modification_window.glade.h:20 +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 prevenir timeout na " +"conexão, fazendo-a cair" + +#: ../data/glade/account_modification_window.glade.h:21 #: ../data/glade/zeroconf_properties_window.glade.h:8 msgid "" "If checked, Gajim will store the password in ~/.gajim/config with 'read' " @@ -295,7 +303,7 @@ msgstr "" "Se checado, o Gajim gravará sua senha em ~/.gajim/config com permissão de " "'leitura' somente para você" -#: ../data/glade/account_modification_window.glade.h:21 +#: ../data/glade/account_modification_window.glade.h:22 #: ../data/glade/zeroconf_properties_window.glade.h:9 msgid "" "If checked, Gajim, when launched, will automatically connect to jabber using " @@ -304,76 +312,78 @@ msgstr "" "Se marcado, o Gajim, quando carregado, conectará automaticamente ao jabber " "usando esta conta" -#: ../data/glade/account_modification_window.glade.h:22 +#: ../data/glade/account_modification_window.glade.h:23 #: ../data/glade/zeroconf_properties_window.glade.h:10 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 verificada, qualquer mudança ao status global (segurado pelo combobox no " -"fundo da janela da lista) mudará o status deste cliente conformemente" +"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)" -#: ../data/glade/account_modification_window.glade.h:23 +#: ../data/glade/account_modification_window.glade.h:24 msgid "Information about you, as stored in the server" msgstr "Informações sobre você são gravadas no servidor" -#: ../data/glade/account_modification_window.glade.h:24 +#: ../data/glade/account_modification_window.glade.h:25 msgid "Manage..." msgstr "Gerenciar..." -#: ../data/glade/account_modification_window.glade.h:25 -#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1643 -#: ../src/config.py:3436 +#: ../data/glade/account_modification_window.glade.h:26 +#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1623 +#: ../src/config.py:3301 msgid "No key selected" msgstr "Nenhuma chave selecionada" #. None means no proxy profile selected -#: ../data/glade/account_modification_window.glade.h:27 ../src/config.py:1225 -#: ../src/config.py:1230 ../src/config.py:1414 ../src/config.py:1633 -#: ../src/config.py:1642 ../src/config.py:1701 ../src/config.py:1775 -#: ../src/config.py:2646 ../src/config.py:3426 ../src/config.py:3435 -#: ../src/dialogs.py:281 ../src/dialogs.py:283 +#. GPG Key +#: ../data/glade/account_modification_window.glade.h:28 ../src/config.py:1196 +#: ../src/config.py:1201 ../src/config.py:1385 ../src/config.py:1613 +#: ../src/config.py:1622 ../src/config.py:1682 ../src/config.py:1756 +#: ../src/config.py:3291 ../src/config.py:3300 ../src/dialogs.py:281 +#: ../src/dialogs.py:283 ../src/roster_window.py:1539 +#: ../src/roster_window.py:1546 ../src/roster_window.py:1553 msgid "None" msgstr "Nenhum" -#: ../data/glade/account_modification_window.glade.h:28 -#: ../data/glade/profile_window.glade.h:25 +#: ../data/glade/account_modification_window.glade.h:29 +#: ../data/glade/profile_window.glade.h:26 #: ../data/glade/zeroconf_properties_window.glade.h:17 msgid "Personal Information" msgstr "Informações Pessoais" -#: ../data/glade/account_modification_window.glade.h:29 +#: ../data/glade/account_modification_window.glade.h:30 msgid "Port: " msgstr "Porta:" -#: ../data/glade/account_modification_window.glade.h:30 +#: ../data/glade/account_modification_window.glade.h:31 msgid "Priori_ty:" msgstr "_Prioridade" -#: ../data/glade/account_modification_window.glade.h:31 +#: ../data/glade/account_modification_window.glade.h:32 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 "" -"Prioridade é usada no Jabber para determinar quem recebe os eventos do " +"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" -#: ../data/glade/account_modification_window.glade.h:32 -msgid "Priority will change automatically according to your status." -msgstr "" - #: ../data/glade/account_modification_window.glade.h:33 +msgid "Priority will change automatically according to your status." +msgstr "A prioridade será alterada automaticamente de acordo com o seu status" + +#: ../data/glade/account_modification_window.glade.h:34 msgid "Proxy:" msgstr "Proxy:" -#: ../data/glade/account_modification_window.glade.h:34 -msgid "Resour_ce: " -msgstr "_Recurso: " - #: ../data/glade/account_modification_window.glade.h:35 +msgid "Resour_ce:" +msgstr "Recur_so:" + +#: ../data/glade/account_modification_window.glade.h:36 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 " @@ -381,54 +391,58 @@ msgid "" "account with resource 'Home' and 'Work' at the same time. The resource which " "has the highest priority will get the events. (see below)" msgstr "" -"Recurso é enviado ao servidor jabber com 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)" +"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)" -#: ../data/glade/account_modification_window.glade.h:36 +#: ../data/glade/account_modification_window.glade.h:37 #: ../data/glade/zeroconf_properties_window.glade.h:18 msgid "Save _passphrase (insecure)" msgstr "Salvar _frase de acesso (inseguro)" -#: ../data/glade/account_modification_window.glade.h:37 +#: ../data/glade/account_modification_window.glade.h:38 #: ../data/glade/zeroconf_properties_window.glade.h:19 msgid "Save conversation _logs for all contacts" msgstr "Salvar histórico para todos os contatos desta conta" -#: ../data/glade/account_modification_window.glade.h:39 +#: ../data/glade/account_modification_window.glade.h:40 msgid "Send keep-alive packets" msgstr "Enviar pacotes para manter a conexão (keep-alive)" -#: ../data/glade/account_modification_window.glade.h:40 +#: ../data/glade/account_modification_window.glade.h:41 #: ../data/glade/zeroconf_properties_window.glade.h:20 msgid "Synch_ronize account status with global status" msgstr "_Sincronizar status da conta com status global" -#: ../data/glade/account_modification_window.glade.h:41 +#: ../data/glade/account_modification_window.glade.h:42 +msgid "Synchronise contacts" +msgstr "Sincronizar contatos" + +#: ../data/glade/account_modification_window.glade.h:43 msgid "Use _SSL (legacy)" msgstr "Usar _SSL (obsoleto, apenas para servidores antigos)" -#: ../data/glade/account_modification_window.glade.h:42 +#: ../data/glade/account_modification_window.glade.h:44 msgid "Use custom hostname/port" -msgstr "Usa nomedohost/porta customizada" +msgstr "Usa nome de máquina/porta customizados" -#: ../data/glade/account_modification_window.glade.h:43 +#: ../data/glade/account_modification_window.glade.h:45 msgid "Use file transfer proxies" msgstr "Usa proxies de transferência de arquivos" -#: ../data/glade/account_modification_window.glade.h:44 +#: ../data/glade/account_modification_window.glade.h:46 msgid "_Adjust to status" -msgstr "" +msgstr "Ajustar para status" -#: ../data/glade/account_modification_window.glade.h:45 +#: ../data/glade/account_modification_window.glade.h:47 msgid "_Jabber ID:" msgstr "_Jabber ID:" -#: ../data/glade/account_modification_window.glade.h:46 -msgid "_Name: " -msgstr "_Nome: " +#: ../data/glade/account_modification_window.glade.h:48 +msgid "_Name:" +msgstr "_Nome:" #: ../data/glade/accounts_window.glade.h:1 msgid "Accounts" @@ -442,23 +456,27 @@ msgid "" "This is only available if python-avahi is installed and avahi-daemon is " "running." msgstr "" +"Se marcado, todos os contatos locais que usam um cliente de chat compatível " +"com o Bonjour (como iChat, Trillian ou Gaim) serão mostrados na lista. Você " +"não precisa estar conectado a um servidor jabber para que ele funcione.\n" +" Isto só está disponível se o python-avahi estiver instalado e o serviço " +"avahi-daemon estiver rodando." #: ../data/glade/accounts_window.glade.h:4 msgid "" -"If you have 2 or more accounts and it is checked, Gajim will list all " +"If you have 2 or more accounts and this is checked, Gajim will list all " "contacts as if you had one account" msgstr "" -"Se você tem duas ou mais contas e isto é marcado, Gajim listará todos os " -"contatos como se você tivesse somente uma conta" +"Se você tiver duas ou mais contas e isto estiver marcado, o Gajim listará " +"todos os contatos como se você tivesse somente uma única conta" #: ../data/glade/accounts_window.glade.h:5 -#, fuzzy msgid "Mer_ge accounts" -msgstr "_Juntar contato das contas" +msgstr "Mes_clar contas" #: ../data/glade/accounts_window.glade.h:6 msgid "_Enable link-local messaging" -msgstr "" +msgstr "_Ativar mensagens \"link-local\"" #: ../data/glade/accounts_window.glade.h:7 msgid "_Modify" @@ -470,14 +488,12 @@ msgid "_Remove" msgstr "_Remover" #: ../data/glade/add_new_contact_window.glade.h:1 -#, fuzzy msgid "A_ccount:" -msgstr "Conta:" +msgstr "C_onta:" #: ../data/glade/add_new_contact_window.glade.h:2 -#, fuzzy msgid "A_llow this contact to view my status" -msgstr "Permita que ele/ela ver meu status" +msgstr "D_eixar este contato ver meu status" #: ../data/glade/add_new_contact_window.glade.h:3 msgid "Add New Contact" @@ -485,99 +501,97 @@ msgstr "Adicionar Novo Contato" #: ../data/glade/add_new_contact_window.glade.h:4 msgid "I would like to add you to my contact list." -msgstr "Por favor, eu gostaria de adiciona-lo à minha lista." +msgstr "Por favor, eu gostaria de adicioná-lo à minha lista." #: ../data/glade/add_new_contact_window.glade.h:5 msgid "" -"You have to register to this transport\n" +"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 estar registrado a este \n" +"transporte para poder adicionar \n" +"contatos deste protocolo. Clique no \n" +"botão Registrar para aceitar." #: ../data/glade/add_new_contact_window.glade.h:9 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." #: ../data/glade/add_new_contact_window.glade.h:11 -#, fuzzy msgid "_Group:" -msgstr "Grupo:" +msgstr "_Grupo:" #: ../data/glade/add_new_contact_window.glade.h:12 msgid "_Nickname:" msgstr "_Apelido:" #: ../data/glade/add_new_contact_window.glade.h:13 -#, fuzzy msgid "_Protocol:" -msgstr "Protocolo:" +msgstr "_Protocolo:" #: ../data/glade/add_new_contact_window.glade.h:14 -#, fuzzy msgid "_Register" -msgstr "Re_gistrar" +msgstr "_Registrar" #: ../data/glade/add_new_contact_window.glade.h:15 -#, fuzzy msgid "_User ID:" -msgstr "ID do Usuário:" +msgstr "_ID do Usuário:" #: ../data/glade/adhoc_commands_window.glade.h:1 -#, fuzzy -msgid "An error has occured:" -msgstr "Um erro de protocolo ocorreu:" +msgid "An error has occurred:" +msgstr "Ocorreu um erro:" #: ../data/glade/adhoc_commands_window.glade.h:2 msgid "Choose command to execute:" -msgstr "" +msgstr "Escolha um comando para executar" #: ../data/glade/adhoc_commands_window.glade.h:3 msgid "Ad-hoc Commands - Gajim" -msgstr "" +msgstr "Comandos ad-hoc - Gajim" #: ../data/glade/adhoc_commands_window.glade.h:4 msgid "Check once more" -msgstr "" +msgstr "Verificar novamente" #: ../data/glade/adhoc_commands_window.glade.h:5 -#, fuzzy msgid "Error description..." -msgstr "Descrição" +msgstr "Descrição do erro..." #: ../data/glade/adhoc_commands_window.glade.h:6 -#, fuzzy msgid "Please wait while retrieving command list..." -msgstr "Espere por favor, enquanto os registros estão sendo migrados..." +msgstr "Por favor aguarde enquanto a lista de comandos é recuperada..." #: ../data/glade/adhoc_commands_window.glade.h:7 -#, fuzzy msgid "Please wait while the command is sending..." -msgstr "Espere por favor, enquanto os registros estão sendo migrados..." +msgstr "Por favor aguarde enquanto a lista de comandos é enviada..." #: ../data/glade/adhoc_commands_window.glade.h:8 msgid "Please wait..." -msgstr "" +msgstr "Por favor aguarde..." #: ../data/glade/adhoc_commands_window.glade.h:9 msgid "This jabber entity does not expose any commands." -msgstr "" +msgstr "Esta entidade jabber não expõe quaisquer comandos." #: ../data/glade/advanced_configuration_window.glade.h:1 msgid "Description" msgstr "Descrição" #: ../data/glade/advanced_configuration_window.glade.h:2 -msgid "NOTE: You should restart gajim for some setting to take effect" +msgid "NOTE: You should restart Gajim for some settings to take effect" msgstr "" -"NOTA Você deve reiniciar o gajim para algumas configurações tenham " -"efeito" +"NOTA: Você deve reiniciar o Gajim para que algumas configurações " +"tenham efeito" #: ../data/glade/advanced_configuration_window.glade.h:3 msgid "Advanced Configuration Editor" -msgstr "Editor de Configurações Avançadas" +msgstr "Editor de Configurações Avançado" #: ../data/glade/advanced_configuration_window.glade.h:4 msgid "Filter:" @@ -585,15 +599,16 @@ msgstr "Filtro:" #: ../data/glade/advanced_menuitem_menu.glade.h:1 msgid "Delete MOTD" -msgstr "Deletar MOTD" +msgstr "Excluir MOTD" #: ../data/glade/advanced_menuitem_menu.glade.h:2 msgid "Deletes Message of the Day" -msgstr "Deletar Mensagem do Dia" +msgstr "Excluir Mensagem do Dia" #: ../data/glade/advanced_menuitem_menu.glade.h:3 -msgid "Sends a message to currently connected users to this server" -msgstr "Enviar uma mensagem para os usuários conectados neste servidor" +msgid "Sends a message to users currently connected to this server" +msgstr "" +"Envia uma mensagem para os usuários atualmente conectados a este servidor" #: ../data/glade/advanced_menuitem_menu.glade.h:4 msgid "Set MOTD" @@ -621,7 +636,7 @@ msgstr "_Administrador" #: ../data/glade/advanced_menuitem_menu.glade.h:10 msgid "_Privacy Lists" -msgstr "" +msgstr "_Listas de Privacidade" #: ../data/glade/advanced_menuitem_menu.glade.h:11 msgid "_Send Server Message" @@ -633,17 +648,15 @@ msgstr "_Enviar uma Mensagem Simples" #: ../data/glade/advanced_notifications_window.glade.h:1 msgid " a window/tab opened with that contact " -msgstr "" +msgstr "uma janela/aba aberta com o contato" #: ../data/glade/advanced_notifications_window.glade.h:2 -#, fuzzy msgid "Actions" -msgstr "Aplicações" +msgstr "Ações" #: ../data/glade/advanced_notifications_window.glade.h:3 -#, fuzzy msgid "Conditions" -msgstr "Sons" +msgstr "Condições" #: ../data/glade/advanced_notifications_window.glade.h:4 #: ../data/glade/preferences_window.glade.h:10 @@ -651,219 +664,200 @@ msgid "Sounds" msgstr "Sons" #: ../data/glade/advanced_notifications_window.glade.h:5 -#, fuzzy msgid "Advanced Actions" -msgstr "_Ações Avançadas" +msgstr "Ações Avançadas" #: ../data/glade/advanced_notifications_window.glade.h:6 -#, fuzzy msgid "Advanced Notifications Control" -msgstr "Editor de Configurações Avançadas" +msgstr "Controle Avançado de Notificações" #: ../data/glade/advanced_notifications_window.glade.h:7 -#, fuzzy msgid "All statuses" -msgstr "Status: " +msgstr "Totos os status" #: ../data/glade/advanced_notifications_window.glade.h:8 -#: ../src/common/helpers.py:234 +#: ../src/common/commands.py:91 ../src/common/helpers.py:243 msgid "Away" msgstr "Afastado" #: ../data/glade/advanced_notifications_window.glade.h:9 -#, fuzzy msgid "Busy " -msgstr "Ocupado" +msgstr "Ocupado " #: ../data/glade/advanced_notifications_window.glade.h:10 msgid "Don't have " -msgstr "" +msgstr "Não possui" #: ../data/glade/advanced_notifications_window.glade.h:11 msgid "Have " -msgstr "" +msgstr "Possui" #: ../data/glade/advanced_notifications_window.glade.h:12 -#: ../src/common/helpers.py:244 +#: ../src/common/helpers.py:253 msgid "Invisible" msgstr "Invisível" #: ../data/glade/advanced_notifications_window.glade.h:13 -#, fuzzy msgid "Launch a command" -msgstr "comando" +msgstr "Executar um comando" #: ../data/glade/advanced_notifications_window.glade.h:14 -#: ../src/common/helpers.py:217 +#: ../src/common/helpers.py:226 msgid "Not Available" msgstr "Não Disponível" #: ../data/glade/advanced_notifications_window.glade.h:15 msgid "One or more special statuses..." -msgstr "" +msgstr "Um ou mais status especiais" #: ../data/glade/advanced_notifications_window.glade.h:16 -#, fuzzy msgid "Online / Free For Chat" -msgstr "Livre para Conversa" +msgstr "Online / Livre para Conversa" #: ../data/glade/advanced_notifications_window.glade.h:17 -#, fuzzy msgid "Play a sound" -msgstr "Tocar _Sons" +msgstr "Tocar um som" #: ../data/glade/advanced_notifications_window.glade.h:18 msgid "" "Receive a Message\n" -"Contact Connected \n" "Contact Disconnected \n" "Contact Change Status \n" "Group Chat Message Highlight \n" "Group Chat Message Received \n" -"File Transfert Resquest \n" -"File Transfert Started \n" -"File Transfert Finished" +"File Transfer Request \n" +"File Transfer Started \n" +"File Transfer Finished" msgstr "" +"Mensagem Recebida\n" +"Contato Conectado\n" +"Contato Desconectado\n" +"Status do Contato Alterado\n" +"Destacar Mensagens em Conferências\n" +"Mensagem de Conferência Recebida\n" +"Transferência de Arquivo Solicitada\n" +"Transferência de Arquivo Iniciada\n" +"Transferência de Arquivo Concluída" + +#: ../data/glade/advanced_notifications_window.glade.h:26 +msgid "When " +msgstr "Quando" #: ../data/glade/advanced_notifications_window.glade.h:27 -msgid "When " -msgstr "" - -#: ../data/glade/advanced_notifications_window.glade.h:28 msgid "" "_Activate window manager's UrgencyHint to make chat window in taskbar flash" msgstr "" +"_Ativar o recurso \"UrgencyHist\" do gerenciador de janelas faz a janela de " +"conversa piscar na barra de tarefas" + +#: ../data/glade/advanced_notifications_window.glade.h:28 +msgid "_Disable auto opening chat window" +msgstr "_Desativar a abertura automática da janela de conversa" #: ../data/glade/advanced_notifications_window.glade.h:29 -#, fuzzy -msgid "_Disable auto opening chat window" -msgstr "Esconder os botões na janela de conferência" +msgid "_Disable existing popup window" +msgstr "_Desativar janelas popup existentes" #: ../data/glade/advanced_notifications_window.glade.h:30 -msgid "_Disable existing popup window" -msgstr "" +msgid "_Disable existing sound for this event" +msgstr "_Desativar sons existentes para este evento" #: ../data/glade/advanced_notifications_window.glade.h:31 -msgid "_Disable existing sound for this event" -msgstr "" +msgid "_Disable showing event in roster" +msgstr "_Desativar exibição de eventos na lista" #: ../data/glade/advanced_notifications_window.glade.h:32 -msgid "_Disable showing event in roster" -msgstr "" +msgid "_Disable showing event in systray" +msgstr "_Desativar a exibição de eventos na bandeja do sistema" #: ../data/glade/advanced_notifications_window.glade.h:33 -msgid "_Disable showing event in systray" -msgstr "" +msgid "_Inform me with a popup window" +msgstr "_Notificar-me com uma janela popup" #: ../data/glade/advanced_notifications_window.glade.h:34 -msgid "_Inform me with a popup window" -msgstr "" +msgid "_Open chat window with user" +msgstr "_Abrir janela de conversa com o contato" #: ../data/glade/advanced_notifications_window.glade.h:35 -#, fuzzy -msgid "_Open chat window with user" -msgstr "_Usar uma única janela de conversa com abas" +msgid "_Show event in roster" +msgstr "_Mostrar somente na _lista" #: ../data/glade/advanced_notifications_window.glade.h:36 -#, fuzzy -msgid "_Show event in roster" -msgstr "Mostre somente na _lista" +msgid "_Show event in systray" +msgstr "_Mostrar evento na bandeja do sistema" #: ../data/glade/advanced_notifications_window.glade.h:37 -#, fuzzy -msgid "_Show event in systray" -msgstr "Mostre somente na _lista" +msgid "and I " +msgstr "e eu" #: ../data/glade/advanced_notifications_window.glade.h:38 -msgid "and I " -msgstr "" - -#: ../data/glade/advanced_notifications_window.glade.h:39 msgid "" "contact(s)\n" "group(s)\n" "everybody" msgstr "" +"contato(s)\n" +"grupo(s)\n" +"todo mundo" + +#: ../data/glade/advanced_notifications_window.glade.h:41 +msgid "for " +msgstr "para" #: ../data/glade/advanced_notifications_window.glade.h:42 -#, fuzzy -msgid "for " -msgstr "Porta:" - -#: ../data/glade/advanced_notifications_window.glade.h:43 msgid "when I'm in" -msgstr "" +msgstr "quando eu estiver em" #: ../data/glade/atom_entry_window.glade.h:1 -msgid "2003-12-13T18:30:02Z" -msgstr "" +msgid "Entry:" +msgstr "Entrada:" #: ../data/glade/atom_entry_window.glade.h:2 -msgid "Romeo and Juliet" -msgstr "" +msgid "Feed name:" +msgstr "Nome do feed:" #: ../data/glade/atom_entry_window.glade.h:3 -#, fuzzy -msgid "Entry:" -msgstr "País:" +msgid "Last modified:" +msgstr "Modificado:" #: ../data/glade/atom_entry_window.glade.h:4 -#, fuzzy -msgid "Feed name:" -msgstr "nome do tema" +msgid "New entry received" +msgstr "Novo evento recebido" #: ../data/glade/atom_entry_window.glade.h:5 -#, fuzzy -msgid "Last modified:" -msgstr "Nome:" - -#: ../data/glade/atom_entry_window.glade.h:6 -#, fuzzy -msgid "New entry received" -msgstr "Quando novo evento é recebido" - -#: ../data/glade/atom_entry_window.glade.h:7 -msgid "Old stories" -msgstr "" - -#: ../data/glade/atom_entry_window.glade.h:8 -msgid "Soliloquy" -msgstr "" - -#: ../data/glade/atom_entry_window.glade.h:9 msgid "You have received new entry:" -msgstr "" +msgstr "Você recebeu uma nova entrada:" #: ../data/glade/change_password_dialog.glade.h:1 msgid "Change Password" -msgstr "Mudar Senha" +msgstr "Alterar Senha" #: ../data/glade/change_password_dialog.glade.h:2 msgid "Enter it again for confirmation:" -msgstr "Entre novamente para confirmação:" +msgstr "Digite novamente para confirmar:" #: ../data/glade/change_password_dialog.glade.h:3 msgid "Enter new password:" -msgstr "Entre com a nova senha:" +msgstr "Digite sua nova senha:" #: ../data/glade/change_status_message_dialog.glade.h:1 msgid "Type your new status message" -msgstr "Escreva sua nova mensagem de status:" +msgstr "Digite sua nova mensagem de status:" #: ../data/glade/change_status_message_dialog.glade.h:2 msgid "Preset messages:" -msgstr "Mensagens pre-configuradas" +msgstr "Modelos de mensagens" #: ../data/glade/change_status_message_dialog.glade.h:3 msgid "Save as Preset..." -msgstr "Salvar como Pre-configuradas..." +msgstr "Salvar como Modelos..." #: ../data/glade/chat_context_menu.glade.h:1 msgid "Join _Group Chat" -msgstr "_Ingressar numa Conferência" +msgstr "_Entrar em uma Conferência" #: ../data/glade/chat_context_menu.glade.h:2 -#: ../data/glade/chat_control_popup_menu.glade.h:4 +#: ../data/glade/chat_control_popup_menu.glade.h:5 #: ../data/glade/gc_occupants_menu.glade.h:2 #: ../data/glade/roster_contact_context_menu.glade.h:10 msgid "_Add to Roster" @@ -871,11 +865,11 @@ msgstr "_Adicionar à Lista" #: ../data/glade/chat_context_menu.glade.h:3 msgid "_Copy JID/Email Address" -msgstr "_Copiar Endereço de Email/JID" +msgstr "_Copiar Email/JID" #: ../data/glade/chat_context_menu.glade.h:4 msgid "_Copy Link Location" -msgstr "_Copia Localização do Link" +msgstr "_Copiar URL" #: ../data/glade/chat_context_menu.glade.h:5 msgid "_Open Email Composer" @@ -883,7 +877,7 @@ msgstr "_Abrir Cliente de E-mail" #: ../data/glade/chat_context_menu.glade.h:6 msgid "_Open Link in Browser" -msgstr "_Abrir link no Navegador" +msgstr "_Visualizar no Navegador" #: ../data/glade/chat_context_menu.glade.h:7 #: ../data/glade/roster_window.glade.h:20 @@ -897,22 +891,27 @@ msgid "Click to see past conversations with this contact" msgstr "Clique para ver o histórico de conversas com este contato" #: ../data/glade/chat_control_popup_menu.glade.h:2 +#, fuzzy +msgid "Ping" +msgstr "Comendo" + +#: ../data/glade/chat_control_popup_menu.glade.h:3 #: ../data/glade/roster_contact_context_menu.glade.h:8 #: ../data/glade/zeroconf_contact_context_menu.glade.h:4 msgid "Send _File" msgstr "Enviar _Arquivo" -#: ../data/glade/chat_control_popup_menu.glade.h:3 +#: ../data/glade/chat_control_popup_menu.glade.h:4 msgid "Toggle Open_PGP Encryption" -msgstr "Alternar criptografia Open_PGP" +msgstr "Ativar criptografia Open_PGP" -#: ../data/glade/chat_control_popup_menu.glade.h:5 +#: ../data/glade/chat_control_popup_menu.glade.h:6 #: ../data/glade/gc_control_popup_menu.glade.h:6 msgid "_Compact View Alt+C" msgstr "Visão _Compacta Alt+C" -#: ../data/glade/chat_control_popup_menu.glade.h:6 -#: ../data/glade/gc_control_popup_menu.glade.h:7 +#: ../data/glade/chat_control_popup_menu.glade.h:7 +#: ../data/glade/gc_control_popup_menu.glade.h:8 #: ../data/glade/gc_occupants_menu.glade.h:5 #: ../data/glade/roster_contact_context_menu.glade.h:13 #: ../data/glade/zeroconf_contact_context_menu.glade.h:6 @@ -920,9 +919,8 @@ msgid "_History" msgstr "_Histórico" #: ../data/glade/data_form_window.glade.h:1 -#, fuzzy msgid "Fill in the form." -msgstr "Neste grupo" +msgstr "Preencha o formulário." #: ../data/glade/data_form_window.glade.h:2 msgid "Room Configuration" @@ -934,7 +932,7 @@ msgstr "Editar Grupos" #: ../data/glade/filetransfers.glade.h:1 msgid "A list of active, completed and stopped file transfers" -msgstr "Uma lista de transferência de arquivos ativas, completadas e paradas" +msgstr "Uma lista de transferências de arquivo ativas, completadas e paradas" #: ../data/glade/filetransfers.glade.h:2 msgid "Cancel file transfer" @@ -942,12 +940,12 @@ msgstr "Cancelar transferência de arquivo" #: ../data/glade/filetransfers.glade.h:3 msgid "Cancels the selected file transfer" -msgstr "Cancelar a transferência de arquivo selecionada" +msgstr "Cancela a transferência de arquivo selecionada" #: ../data/glade/filetransfers.glade.h:4 msgid "Cancels the selected file transfer and removes incomplete file" msgstr "" -"Cancelar a transferência de arquivo selecionada e remove o arquivo incompleto" +"Cancela a transferência de arquivo selecionada e remove o arquivo incompleto" #: ../data/glade/filetransfers.glade.h:5 msgid "Clean _up" @@ -966,14 +964,14 @@ msgid "Remove file transfer from the list." msgstr "Remover a transferência de arquivo da lista." #: ../data/glade/filetransfers.glade.h:9 -msgid "Removes completed, canceled and failed file transfers from the list" +msgid "Removes completed, cancelled and failed file transfers from the list" msgstr "" -"Remover transferências de arquivos completas, canceladas ou interrompidas da " -"lista" +"Remover da lista as transferências de arquivos completas, canceladas ou " +"interrompidas" #: ../data/glade/filetransfers.glade.h:10 -msgid "Shows a list of file transfers between you and other" -msgstr "Mostrar uma lista de transferências de arquivos entre você e o outro" +msgid "Shows a list of file transfers between you and others" +msgstr "Mostrar uma lista de transferências de arquivos entre você e os outros" #: ../data/glade/filetransfers.glade.h:11 msgid "" @@ -987,7 +985,7 @@ msgstr "" msgid "When a file transfer is complete show a popup notification" msgstr "Mostrar um alerta visual quanto uma transferência de arquivo terminar" -#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:769 +#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:761 msgid "_Continue" msgstr "_Continuar" @@ -995,7 +993,7 @@ msgstr "_Continuar" msgid "_Notify me when a file transfer is complete" msgstr "_Notificar-me quando a transmissão do arquivo terminar" -#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:190 +#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:188 msgid "_Open Containing Folder" msgstr "_Abrir pasta do arquivo" @@ -1012,17 +1010,16 @@ msgid "Chatstate Tab Colors" msgstr "Aba Cores do Bate-papo" #: ../data/glade/gajim_themes_window.glade.h:2 -#, fuzzy msgid "" "Account row\n" "Group row\n" "Contact row\n" "Chat Banner" msgstr "" -"Conta\n" -"Grupo\n" -"Contato\n" -"Faixa" +"Linha Conta\n" +"Linha Grupo\n" +"Linha Contato\n" +"Banner de Conversa" #: ../data/glade/gajim_themes_window.glade.h:6 msgid "Bold" @@ -1104,6 +1101,10 @@ msgstr "Configurar _Sala" msgid "_Bookmark This Room" msgstr "Adicionar esta Sala ao _Bookmark" +#: ../data/glade/gc_control_popup_menu.glade.h:7 +msgid "_Destroy room" +msgstr "_Excluir sala" + #: ../data/glade/gc_occupants_menu.glade.h:1 msgid "Mo_derator" msgstr "Mo_derador" @@ -1142,15 +1143,15 @@ msgstr "_Voz" #: ../data/glade/groups_post_window.glade.h:1 msgid "Create new post" -msgstr "" +msgstr "Criar nova postagem" -#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:259 +#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:268 msgid "From" msgstr "De" #. holds subject -#: ../data/glade/groups_post_window.glade.h:3 ../src/history_manager.py:141 -#: ../src/history_manager.py:172 +#: ../data/glade/groups_post_window.glade.h:3 ../src/history_manager.py:142 +#: ../src/history_manager.py:173 msgid "Subject" msgstr "Assunto" @@ -1206,6 +1207,11 @@ msgid "Search" msgstr "Buscar" #: ../data/glade/history_window.glade.h:5 +#: ../data/glade/zeroconf_information_window.glade.h:10 +msgid "_Log conversation history" +msgstr "_Histórico de Conversação" + +#: ../data/glade/history_window.glade.h:6 ../src/disco.py:1177 msgid "_Search" msgstr "_Buscar" @@ -1222,33 +1228,37 @@ msgstr "Negar" msgid "Invitation Received" msgstr "Convite Recebido" -#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1146 +#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1208 msgid "Join Group Chat" msgstr "Ingressar numa conferência" #: ../data/glade/join_groupchat_window.glade.h:2 +msgid "Join this room automatically when I connect" +msgstr "Entra nesta sala automaticamente quando eu conectar" + +#: ../data/glade/join_groupchat_window.glade.h:3 #: ../data/glade/manage_bookmarks_window.glade.h:4 -#: ../data/glade/profile_window.glade.h:23 +#: ../data/glade/profile_window.glade.h:24 #: ../data/glade/vcard_information_window.glade.h:29 msgid "Nickname:" msgstr "Apelido:" -#: ../data/glade/join_groupchat_window.glade.h:3 +#: ../data/glade/join_groupchat_window.glade.h:4 #: ../data/glade/manage_bookmarks_window.glade.h:5 msgid "Password:" msgstr "Senha:" -#: ../data/glade/join_groupchat_window.glade.h:4 +#: ../data/glade/join_groupchat_window.glade.h:5 msgid "Recently:" msgstr "Recentemente:" -#: ../data/glade/join_groupchat_window.glade.h:5 +#: ../data/glade/join_groupchat_window.glade.h:6 #: ../data/glade/manage_bookmarks_window.glade.h:7 msgid "Room:" msgstr "Sala:" -#: ../data/glade/join_groupchat_window.glade.h:6 ../src/disco.py:1151 -#: ../src/disco.py:1518 +#: ../data/glade/join_groupchat_window.glade.h:7 ../src/disco.py:1165 +#: ../src/disco.py:1615 msgid "_Join" msgstr "_Ingressar" @@ -1270,9 +1280,8 @@ msgid "Manage Bookmarks" msgstr "Gerenciar Bookmarks" #: ../data/glade/manage_bookmarks_window.glade.h:6 -#, fuzzy msgid "Print status:" -msgstr "Imprimir tempo:" +msgstr "Imprimir status:" #: ../data/glade/manage_bookmarks_window.glade.h:8 msgid "Server:" @@ -1291,24 +1300,28 @@ msgid "Settings" msgstr "Configurações" #: ../data/glade/manage_proxies_window.glade.h:3 -msgid "HTTP Connect" -msgstr "Conexão HTTP" +msgid "" +"HTTP Connect\n" +"SOCKS5" +msgstr "" +"Conexão HTTP\n" +"SOCKS5" -#: ../data/glade/manage_proxies_window.glade.h:4 +#: ../data/glade/manage_proxies_window.glade.h:5 msgid "Manage Proxy Profiles" msgstr "Gerenciar Perfis de Proxy" -#: ../data/glade/manage_proxies_window.glade.h:5 -#: ../data/glade/profile_window.glade.h:22 +#: ../data/glade/manage_proxies_window.glade.h:6 +#: ../data/glade/profile_window.glade.h:23 #: ../data/glade/vcard_information_window.glade.h:28 msgid "Name:" msgstr "Nome:" -#: ../data/glade/manage_proxies_window.glade.h:7 +#: ../data/glade/manage_proxies_window.glade.h:8 msgid "Type:" msgstr "Tipo:" -#: ../data/glade/manage_proxies_window.glade.h:8 +#: ../data/glade/manage_proxies_window.glade.h:9 msgid "Use authentication" msgstr "Usar autenticação" @@ -1316,7 +1329,7 @@ msgstr "Usar autenticação" msgid "Click to insert an emoticon (Alt+M)" msgstr "Clique para inserir um emoticon (Alt+M)" -#: ../data/glade/message_window.glade.h:2 ../src/chat_control.py:1104 +#: ../data/glade/message_window.glade.h:2 ../src/chat_control.py:1129 msgid "OpenPGP Encryption" msgstr "Criptografia OpenPGP" @@ -1330,7 +1343,7 @@ msgstr "_Ações" #. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector) #: ../data/glade/message_window.glade.h:6 #: ../data/glade/xml_console_window.glade.h:11 -#: ../src/filetransfers_window.py:253 +#: ../src/filetransfers_window.py:245 msgid "_Send" msgstr "_Enviar" @@ -1356,9 +1369,8 @@ msgid "Format of a line" msgstr "Formato da linha" #: ../data/glade/preferences_window.glade.h:6 -#, fuzzy msgid "GMail Options" -msgstr "Aplicações" +msgstr "Opções do Gmail" #: ../data/glade/preferences_window.glade.h:7 msgid "Interface Customization" @@ -1373,14 +1385,10 @@ msgid "Visual Notifications" msgstr "Notificações Visuais" #: ../data/glade/preferences_window.glade.h:12 -msgid "A_fter nickname:" -msgstr "_Depois do apelido:" - -#: ../data/glade/preferences_window.glade.h:13 msgid "Advanced" msgstr "Avançado" -#: ../data/glade/preferences_window.glade.h:14 +#: ../data/glade/preferences_window.glade.h:13 msgid "" "All chat states\n" "Composing only\n" @@ -1390,25 +1398,32 @@ msgstr "" "Escrevendo somente\n" "Desabilitado" -#: ../data/glade/preferences_window.glade.h:17 +#: ../data/glade/preferences_window.glade.h:16 msgid "Allow _OS information to be sent" msgstr "Permitir o envio de informações do _SO " -#: ../data/glade/preferences_window.glade.h:18 +#: ../data/glade/preferences_window.glade.h:17 msgid "Allow popup/notifications when I'm _away/na/busy/invisible" msgstr "" "Permite janela/notificação quando eu estou _afastado/NA/ocupado/invisível" -#: ../data/glade/preferences_window.glade.h:19 +#: ../data/glade/preferences_window.glade.h:18 msgid "Also known as iChat style" msgstr "Conhecido também como estilo iChat" +#: ../data/glade/preferences_window.glade.h:19 +msgid "Always check to see if Gajim is the _default Jabber client on startup" +msgstr "Sempre verificar ao iniciar se o Gajim é o cliente Jabber padrão" + #: ../data/glade/preferences_window.glade.h:20 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 "" +"Um exemplo: se você tiver habilitado a mensagem de status para afastado, o " +"Gajim não perguntará mais por uma mensagem de status quando você mudá-lo " +"para afastado, ele usará o padrão definido aqui" #: ../data/glade/preferences_window.glade.h:21 msgid "Ask status message when I:" @@ -1423,7 +1438,6 @@ msgid "Auto _not available after:" msgstr "Marcar como _afastado depois:" #: ../data/glade/preferences_window.glade.h:24 -#, fuzzy msgid "" "Autodetect on every Gajim startup\n" "Always use GNOME default applications\n" @@ -1431,84 +1445,87 @@ msgid "" "Always use XFCE4 default applications\n" "Custom" msgstr "" -"Auto-detectar no início do Gajim\n" -"Sempre usar aplicações padrão GNOME\n" -"Sempre usar aplicações padrão KDE\n" -"Customizar" +"Auto-detectar ao abrir o Gajim\n" +"Sempre usar aplicações no padrão GNOME\n" +"Sempre usar aplicações no padrão KDE\n" +"Personalizar" #: ../data/glade/preferences_window.glade.h:29 -msgid "B_efore nickname:" -msgstr "_Antes do apelido:" - -#: ../data/glade/preferences_window.glade.h:30 ../src/chat_control.py:844 msgid "Chat" msgstr "Conversa" -#: ../data/glade/preferences_window.glade.h:31 +#: ../data/glade/preferences_window.glade.h:30 msgid "" "Check this option, only if someone you don't have in the roster spams/annoys " -"you. Use with caution, cause it blocks all messages from any contact that is " -"not in the roster" +"you. Use with caution, because it blocks all messages from any contact that " +"is not in the roster" msgstr "" "Marque esta opção somente se alguém que não está na sua lista estiver " -"mandando spams. Utilize com cuidado, porque isto bloqueia todas as mensagens " -"de qualquer contato que você não possuir na sua lista e queria lhe enviar " -"uma mensagem" +"mandando SPAM's. Utilize com cuidado, porque isto bloqueia todas as " +"mensagens de qualquer contato que você não possuir na sua lista e queria lhe " +"enviar uma mensagem" + +#: ../data/glade/preferences_window.glade.h:31 +msgid "Configure color and font of the interface" +msgstr "Configurar cores e fontes da interface" #: ../data/glade/preferences_window.glade.h:32 -msgid "Configure color and font of the interface" -msgstr "" +msgid "Default Status Messages" +msgstr "Mensagens de Status Padrão" #: ../data/glade/preferences_window.glade.h:33 -#, fuzzy -msgid "Default Status Messages" -msgstr "Mensagem de status" - -#: ../data/glade/preferences_window.glade.h:34 msgid "Default status _iconset:" msgstr "_Conjunto de Ícones de status padrão:" -#: ../data/glade/preferences_window.glade.h:35 -msgid "Display _extra email details" +#: ../data/glade/preferences_window.glade.h:34 +msgid "" +"Determined by sender\n" +"Chat message\n" +"Single message" msgstr "" +"Determinado pelo remetente\n" +"Mensagem de chat\n" +"Mensagem simples" -#: ../data/glade/preferences_window.glade.h:36 +#: ../data/glade/preferences_window.glade.h:37 +msgid "Display _extra email details" +msgstr "Mostrar detalhes _extras dos emails" + +#: ../data/glade/preferences_window.glade.h:38 msgid "Display a_vatars of contacts in roster" msgstr "Mostrar a_vatar dos contatos na lista" -#: ../data/glade/preferences_window.glade.h:37 +#: ../data/glade/preferences_window.glade.h:39 msgid "Display status _messages of contacts in roster" msgstr "Mostrar _mensagem de status da lista de contato" -#: ../data/glade/preferences_window.glade.h:38 -#, fuzzy +#: ../data/glade/preferences_window.glade.h:40 msgid "Displayed Chat state noti_fications:" -msgstr "Noti_ficações do status da conversa:" +msgstr "Noti_ficações do status da conversa exibidas:" -#: ../data/glade/preferences_window.glade.h:39 +#: ../data/glade/preferences_window.glade.h:41 msgid "E_very 5 minutes" msgstr "De 5 _em 5 minutos" -#: ../data/glade/preferences_window.glade.h:40 +#: ../data/glade/preferences_window.glade.h:42 msgid "Emoticons:" msgstr "Emoticons:" -#: ../data/glade/preferences_window.glade.h:41 +#: ../data/glade/preferences_window.glade.h:43 msgid "Events" msgstr "Eventos" -#: ../data/glade/preferences_window.glade.h:42 -#, fuzzy +#: ../data/glade/preferences_window.glade.h:44 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çõ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." +"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." -#: ../data/glade/preferences_window.glade.h:43 +#: ../data/glade/preferences_window.glade.h:45 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 " @@ -1518,13 +1535,14 @@ msgstr "" "você pode ter com um contato. Aqui você pode especificar quais caracteres " "você quer para enviar a outra parte." -#: ../data/glade/preferences_window.glade.h:44 +#: ../data/glade/preferences_window.glade.h:46 msgid "" -"Gajim will automatically show new events by poping up the relative window" +"Gajim will automatically show new events by popping up the relevant window" msgstr "" -"Gajim automaticamente mostrará novos eventos em uma janela pop-up relativa" +"O Gajim automaticamente mostrará novos eventos em uma janela saltando sobre " +"a janela relevante" -#: ../data/glade/preferences_window.glade.h:45 +#: ../data/glade/preferences_window.glade.h:47 msgid "" "Gajim will notify you for new events via a popup in the bottom right of the " "screen" @@ -1532,7 +1550,7 @@ msgstr "" "Gajim notificará você de uma novo evento via uma alerta visual na lateral " "inferior direita da tela" -#: ../data/glade/preferences_window.glade.h:46 +#: ../data/glade/preferences_window.glade.h:48 msgid "" "Gajim will notify you via a popup window in the bottom right of the screen " "about contacts that just signed in" @@ -1540,7 +1558,7 @@ msgstr "" "Gajim notificará você através de um alerta visual na parte inferior direita " "da tela sobre os contatos que se conectaram" -#: ../data/glade/preferences_window.glade.h:47 +#: ../data/glade/preferences_window.glade.h:49 msgid "" "Gajim will notify you via a popup window in the bottom right of the screen " "about contacts that just signed out" @@ -1548,18 +1566,20 @@ msgstr "" "Gajim notificará você através de um alerta visual na parte inferior direita " "da tela sobre os contatos que se desconectaram" -#: ../data/glade/preferences_window.glade.h:48 +#: ../data/glade/preferences_window.glade.h:50 msgid "" "Gajim will only change the icon of the contact that triggered the new event" msgstr "Gajim mudará somente o ícone do contato que provocou o evento novo" -#: ../data/glade/preferences_window.glade.h:50 +#: ../data/glade/preferences_window.glade.h:52 msgid "" "If checked, Gajim will also include information about the sender of the new " "emails" msgstr "" +"Se marcado, o Gajim também incluirá informação sobre o remetente de novos " +"emails" -#: ../data/glade/preferences_window.glade.h:51 +#: ../data/glade/preferences_window.glade.h:53 msgid "" "If checked, Gajim will display avatars of contacts in roster window and in " "group chats" @@ -1567,7 +1587,7 @@ msgstr "" "Se marcado, Gajim mostrará avatars dos contatos na janela da lista e na " "conferência" -#: ../data/glade/preferences_window.glade.h:52 +#: ../data/glade/preferences_window.glade.h:54 msgid "" "If checked, Gajim will display status messages of contacts under the contact " "name in roster window and in group chats" @@ -1575,7 +1595,7 @@ msgstr "" "Se marcado, Gajim indicará mensagens de status dos contatos sob o nome do " "contato na janela da lista e na conferência" -#: ../data/glade/preferences_window.glade.h:53 +#: ../data/glade/preferences_window.glade.h:55 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" @@ -1583,7 +1603,7 @@ msgstr "" "Se marcado, o Gajim lembrará a posição e tamanho da janela principal na " "próxima vez que você executa-lo" -#: ../data/glade/preferences_window.glade.h:54 +#: ../data/glade/preferences_window.glade.h:56 msgid "" "If checked, Gajim will use protocol-specific status icons. (eg. A contact " "from MSN will have the equivalent msn icon for status online, away, busy, " @@ -1593,7 +1613,7 @@ msgstr "" "exemplo, um contato do MSN terá o ícone equivalente do MSN para o status " "conectado, ausente, ocupado, etc....)" -#: ../data/glade/preferences_window.glade.h:55 +#: ../data/glade/preferences_window.glade.h:57 msgid "" "If not disabled, Gajim will replace ascii smilies like ':)' with equivalent " "animated or static graphical emoticons" @@ -1601,15 +1621,15 @@ msgstr "" "Se habilitado, Gajim substituirá o ascii para smilies, como ':)' com a " "animação equivalente ou estático emoticons gráfico" -#: ../data/glade/preferences_window.glade.h:56 +#: ../data/glade/preferences_window.glade.h:58 msgid "Ignore rich content in incoming messages" -msgstr "" +msgstr "Ignorar conteúdo formatado nas mensagens recebidas." -#: ../data/glade/preferences_window.glade.h:57 +#: ../data/glade/preferences_window.glade.h:59 msgid "Ma_nage..." msgstr "Gere_nciar..." -#: ../data/glade/preferences_window.glade.h:58 +#: ../data/glade/preferences_window.glade.h:60 msgid "" "Never\n" "Always\n" @@ -1621,95 +1641,100 @@ msgstr "" "Por conta\n" "Por tipo" -#: ../data/glade/preferences_window.glade.h:62 +#: ../data/glade/preferences_window.glade.h:64 msgid "Notify me about contacts that: " msgstr "Notifique-me sobre contatos ao: " -#: ../data/glade/preferences_window.glade.h:63 -#, fuzzy +#: ../data/glade/preferences_window.glade.h:65 msgid "Notify on new _GMail email" -msgstr "Notificar nova mensagem do _Gmail" +msgstr "Notificar cada nova mensagem do _Gmail" -#: ../data/glade/preferences_window.glade.h:64 +#: ../data/glade/preferences_window.glade.h:66 msgid "On every _message" msgstr "Em todas as _mensagens" -#: ../data/glade/preferences_window.glade.h:65 +#: ../data/glade/preferences_window.glade.h:67 msgid "One message _window:" msgstr "Uma _janela de mensagem" -#: ../data/glade/preferences_window.glade.h:66 -#, fuzzy +#: ../data/glade/preferences_window.glade.h:68 msgid "Outgoing Chat state noti_fications:" -msgstr "Noti_ficações do status da conversa:" +msgstr "Enviar noti_ficações do status da conversa:" -#: ../data/glade/preferences_window.glade.h:67 +#: ../data/glade/preferences_window.glade.h:69 msgid "Play _sounds" msgstr "Tocar _Sons" -#: ../data/glade/preferences_window.glade.h:68 +#: ../data/glade/preferences_window.glade.h:70 msgid "Preferences" msgstr "Preferências" -#: ../data/glade/preferences_window.glade.h:69 +#: ../data/glade/preferences_window.glade.h:71 msgid "Print time:" msgstr "Imprimir tempo:" -#: ../data/glade/preferences_window.glade.h:70 +#: ../data/glade/preferences_window.glade.h:72 msgid "Save _position and size for roster and chat windows" msgstr "Salvar _posição e tamanho das janelas de conversa e lista de contatos" -#: ../data/glade/preferences_window.glade.h:71 +#: ../data/glade/preferences_window.glade.h:73 msgid "Set status message to reflect currently playing _music track" msgstr "" +"Definir a mensagem de status de acordo com a música que estiver sendo tocada." -#: ../data/glade/preferences_window.glade.h:72 +#: ../data/glade/preferences_window.glade.h:74 msgid "Show only in _roster" msgstr "Mostre somente na _lista" -#: ../data/glade/preferences_window.glade.h:73 +#: ../data/glade/preferences_window.glade.h:75 msgid "Sign _in" msgstr "_Conectar" -#: ../data/glade/preferences_window.glade.h:74 +#: ../data/glade/preferences_window.glade.h:76 msgid "Sign _out" msgstr "_Desconectar" -#: ../data/glade/preferences_window.glade.h:75 +#: ../data/glade/preferences_window.glade.h:77 msgid "" "Some messages may include rich content (formatting, colors etc). If checked, " "Gajim will just display the raw message text." msgstr "" +"Algumas mensagens podem incluir conteúdo rico (formatação, cores etc). Se " +"marcado, o Gajim apenas mostrará as mensagens em texto puro." -#: ../data/glade/preferences_window.glade.h:76 +#: ../data/glade/preferences_window.glade.h:78 msgid "Status" msgstr "Status" -#: ../data/glade/preferences_window.glade.h:77 +#: ../data/glade/preferences_window.glade.h:79 msgid "T_heme:" msgstr "_Tema:" -#: ../data/glade/preferences_window.glade.h:78 +#: ../data/glade/preferences_window.glade.h:80 msgid "The auto away status message" msgstr "A mensagem de status para o ausente automático" -#: ../data/glade/preferences_window.glade.h:79 +#: ../data/glade/preferences_window.glade.h:81 msgid "The auto not available status message" msgstr "A mensagem de status para o afastado automático" -#: ../data/glade/preferences_window.glade.h:80 +#: ../data/glade/preferences_window.glade.h:82 +msgid "Treat all incoming messages as:" +msgstr "Tratar todas as mensagens recebidas como:" + +#: ../data/glade/preferences_window.glade.h:83 msgid "Use _transports iconsets" msgstr "Usar conjunto de ícones de _transportes" -#: ../data/glade/preferences_window.glade.h:81 +#: ../data/glade/preferences_window.glade.h:84 msgid "Use system _default" -msgstr "" +msgstr "Usar o _padrão do sistema" -#: ../data/glade/preferences_window.glade.h:82 +#: ../data/glade/preferences_window.glade.h:85 msgid "Use t_rayicon (aka. notification area icon)" msgstr "Usar ícone na bandeja (também conhecido por área de notificação)" -#: ../data/glade/preferences_window.glade.h:83 +#: ../data/glade/preferences_window.glade.h:86 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 " @@ -1721,164 +1746,149 @@ msgstr "" "sobre ele. Por favor, note que os eventos sobre mensagens novas ocorrem " "somente se for uma mensagem nova de um contato que você não está conversando" -#: ../data/glade/preferences_window.glade.h:84 +#: ../data/glade/preferences_window.glade.h:87 msgid "When new event is received" msgstr "Quando novo evento é recebido" -#: ../data/glade/preferences_window.glade.h:85 +#: ../data/glade/preferences_window.glade.h:88 msgid "" "Works for Rhythmbox and Muine players. For more players, please visit http://" "trac.gajim.org/wiki/GajimAndMusicPlayer" msgstr "" - -#: ../data/glade/preferences_window.glade.h:86 -#, fuzzy -msgid "_Advanced Notifications Control..." -msgstr "Editor de Configurações Avançadas" - -#: ../data/glade/preferences_window.glade.h:87 -msgid "_After time:" -msgstr "_Depois da hora:" - -#: ../data/glade/preferences_window.glade.h:88 -msgid "_Before time:" -msgstr "A_ntes da hora:" +"Funciona para os reprodutores Rhythmbox e Muine. Para mais reprodutores, por " +"favor visite a página http://trac.gajim.org/wiki/GajimAndMusicPlayer" #: ../data/glade/preferences_window.glade.h:89 +msgid "_Advanced Notifications Control..." +msgstr "Controle _Avançado de Notificações..." + +#: ../data/glade/preferences_window.glade.h:90 msgid "_Browser:" msgstr "_Navegar:" -#: ../data/glade/preferences_window.glade.h:90 +#: ../data/glade/preferences_window.glade.h:91 msgid "_File manager:" msgstr "_Gerenciamento de arquivos:" -#: ../data/glade/preferences_window.glade.h:91 +#: ../data/glade/preferences_window.glade.h:92 msgid "_Font:" msgstr "_Fonte:" -#: ../data/glade/preferences_window.glade.h:92 +#: ../data/glade/preferences_window.glade.h:93 msgid "_Highlight misspelled words" msgstr "_Destacar palavras mal escritas" -#: ../data/glade/preferences_window.glade.h:93 +#: ../data/glade/preferences_window.glade.h:94 msgid "_Ignore events from contacts not in the roster" msgstr "_Ignore eventos de contatos que não estejam na minha lista" -#: ../data/glade/preferences_window.glade.h:94 +#: ../data/glade/preferences_window.glade.h:95 msgid "_Incoming message:" msgstr "Mensagem _recebida:" -#: ../data/glade/preferences_window.glade.h:95 +#: ../data/glade/preferences_window.glade.h:96 msgid "_Log status changes of contacts" msgstr "_Log mudanças de status dos contatos" -#: ../data/glade/preferences_window.glade.h:96 +#: ../data/glade/preferences_window.glade.h:97 msgid "_Mail client:" msgstr "_Cliente de email:" -#: ../data/glade/preferences_window.glade.h:97 +#: ../data/glade/preferences_window.glade.h:98 msgid "_Never" msgstr "_Nunca" -#: ../data/glade/preferences_window.glade.h:98 +#: ../data/glade/preferences_window.glade.h:99 msgid "_Notify me about it" msgstr "_Notifique-me sobre isto" -#: ../data/glade/preferences_window.glade.h:99 +#: ../data/glade/preferences_window.glade.h:100 msgid "_Open..." msgstr "_Abrir..." -#: ../data/glade/preferences_window.glade.h:100 +#: ../data/glade/preferences_window.glade.h:101 msgid "_Outgoing message:" msgstr "Mensagem _enviada:" -#: ../data/glade/preferences_window.glade.h:101 +#: ../data/glade/preferences_window.glade.h:102 msgid "_Player:" msgstr "_Tocador de som:" -#: ../data/glade/preferences_window.glade.h:102 +#: ../data/glade/preferences_window.glade.h:103 msgid "_Pop it up" msgstr "_Alerta visual" -#: ../data/glade/preferences_window.glade.h:103 +#: ../data/glade/preferences_window.glade.h:104 msgid "_Reset to Default Colors" msgstr "Voltar para as Cores _Padrões" -#: ../data/glade/preferences_window.glade.h:104 +#: ../data/glade/preferences_window.glade.h:105 msgid "_Sort contacts by status" msgstr "_Ordena contatos pelo status" -#: ../data/glade/preferences_window.glade.h:105 +#: ../data/glade/preferences_window.glade.h:106 msgid "_Status message:" msgstr "_Mensagem de status:" -#: ../data/glade/preferences_window.glade.h:106 +#: ../data/glade/preferences_window.glade.h:107 msgid "_URL:" msgstr "_URL:" -#: ../data/glade/preferences_window.glade.h:107 +#: ../data/glade/preferences_window.glade.h:108 msgid "minutes" msgstr "minutos" #: ../data/glade/privacy_lists_window.glade.h:1 -#, fuzzy msgid "Privacy Lists:" -msgstr "ConversasPrivada" +msgstr "Listas de Privacidade:" #: ../data/glade/privacy_list_window.glade.h:1 msgid "Add / Edit a rule" -msgstr "" +msgstr "Adicionar/Editar regra" #: ../data/glade/privacy_list_window.glade.h:2 -#, fuzzy msgid "List of rules" -msgstr "Formato da linha" +msgstr "Lista de regras" #: ../data/glade/privacy_list_window.glade.h:3 msgid "Privacy List" -msgstr "" +msgstr "Lista de Privacidade" #: ../data/glade/privacy_list_window.glade.h:4 msgid "Active for this session" -msgstr "" +msgstr "Ativo para esta sessão" #: ../data/glade/privacy_list_window.glade.h:5 -#, fuzzy msgid "Active on each startup" -msgstr "C_onectar na inicialização do Gajim" +msgstr "Ativar ao iniciar o programa" #: ../data/glade/privacy_list_window.glade.h:6 msgid "All" -msgstr "" +msgstr "Todos" #: ../data/glade/privacy_list_window.glade.h:7 msgid "Allow" -msgstr "" +msgstr "Permitir" #: ../data/glade/privacy_list_window.glade.h:9 -#, fuzzy msgid "JabberID" -msgstr "Jabber ID:" +msgstr "Jabber ID" #: ../data/glade/privacy_list_window.glade.h:10 -#, fuzzy msgid "Order:" -msgstr "Servidor:" +msgstr "Ordem:" -#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:1841 -#, fuzzy +#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:2052 msgid "Privacy List" -msgstr "Lista de Banidos" +msgstr "Lista de Privacidade" #: ../data/glade/privacy_list_window.glade.h:12 -#, fuzzy msgid "all by subscription" -msgstr "_Inscrição" +msgstr "todos por inscrição" #: ../data/glade/privacy_list_window.glade.h:13 -#, fuzzy msgid "all in the group" -msgstr "Neste grupo" +msgstr "todos no grupo" #: ../data/glade/privacy_list_window.glade.h:14 msgid "" @@ -1887,25 +1897,26 @@ msgid "" "from\n" "to" msgstr "" +"nenhum\n" +"ambos\n" +"de\n" +"para" #: ../data/glade/privacy_list_window.glade.h:18 -#, fuzzy msgid "to send me messages" -msgstr "Enviar mensagem" +msgstr "para me enviar mensagens" #: ../data/glade/privacy_list_window.glade.h:19 msgid "to send me queries" -msgstr "" +msgstr "para enviar minhas requisições" #: ../data/glade/privacy_list_window.glade.h:20 -#, fuzzy msgid "to send me status" -msgstr "Peça para ver o status dele/dela" +msgstr "para seu status para mim" #: ../data/glade/privacy_list_window.glade.h:21 -#, fuzzy msgid "to view my status" -msgstr "Permita que ele/ela ver meu status" +msgstr "para ver meu status" #. "About" is the text of a tab of vcard window #: ../data/glade/profile_window.glade.h:2 @@ -1919,9 +1930,8 @@ msgid "Address" msgstr "Endereço" #: ../data/glade/profile_window.glade.h:4 -#, fuzzy msgid "Avatar:" -msgstr "Configurar _Avatar" +msgstr "Avatar:" #: ../data/glade/profile_window.glade.h:5 #: ../data/glade/vcard_information_window.glade.h:6 @@ -1934,127 +1944,122 @@ msgid "City:" msgstr "Cidade:" #: ../data/glade/profile_window.glade.h:7 +msgid "Click to set your avatar" +msgstr "Clique para definir seu avatar" + +#: ../data/glade/profile_window.glade.h:8 #: ../data/glade/vcard_information_window.glade.h:10 msgid "Company:" msgstr "Empresa:" -#: ../data/glade/profile_window.glade.h:8 +#: ../data/glade/profile_window.glade.h:9 #: ../data/glade/vcard_information_window.glade.h:13 msgid "Country:" msgstr "País:" -#: ../data/glade/profile_window.glade.h:9 +#: ../data/glade/profile_window.glade.h:10 #: ../data/glade/vcard_information_window.glade.h:14 msgid "Department:" msgstr "Departamento:" -#: ../data/glade/profile_window.glade.h:10 +#: ../data/glade/profile_window.glade.h:11 #: ../data/glade/vcard_information_window.glade.h:15 #: ../data/glade/zeroconf_information_window.glade.h:2 #: ../data/glade/zeroconf_properties_window.glade.h:5 msgid "E-Mail:" msgstr "E-Mail:" -#: ../data/glade/profile_window.glade.h:11 +#: ../data/glade/profile_window.glade.h:12 #: ../data/glade/vcard_information_window.glade.h:16 msgid "Extra Address:" msgstr "Complemento:" #. Family Name -#: ../data/glade/profile_window.glade.h:13 +#: ../data/glade/profile_window.glade.h:14 #: ../data/glade/vcard_information_window.glade.h:18 msgid "Family:" msgstr "Família:" #. Do NOT change sequence. Just translate YYYY and MM and DD (from Year, Month, Day accordingly) -#: ../data/glade/profile_window.glade.h:15 +#: ../data/glade/profile_window.glade.h:16 #: ../data/glade/vcard_information_window.glade.h:20 msgid "Format: YYYY-MM-DD" msgstr "Formato: YYYY-MM-DD" #. Given Name -#: ../data/glade/profile_window.glade.h:17 +#: ../data/glade/profile_window.glade.h:18 #: ../data/glade/vcard_information_window.glade.h:22 msgid "Given:" msgstr "Nome:" -#: ../data/glade/profile_window.glade.h:18 +#: ../data/glade/profile_window.glade.h:19 #: ../data/glade/vcard_information_window.glade.h:23 msgid "Homepage:" msgstr "Homepage:" #. Middle Name -#: ../data/glade/profile_window.glade.h:20 +#: ../data/glade/profile_window.glade.h:21 #: ../data/glade/vcard_information_window.glade.h:26 msgid "Middle:" msgstr "Nome do meio:" -#: ../data/glade/profile_window.glade.h:21 +#: ../data/glade/profile_window.glade.h:22 #: ../data/glade/vcard_information_window.glade.h:27 msgid "More" msgstr "Mais" -#: ../data/glade/profile_window.glade.h:24 +#: ../data/glade/profile_window.glade.h:25 #: ../data/glade/vcard_information_window.glade.h:31 -#, fuzzy msgid "Personal Info" msgstr "Informações Pessoais" -#: ../data/glade/profile_window.glade.h:26 +#: ../data/glade/profile_window.glade.h:27 #: ../data/glade/vcard_information_window.glade.h:32 msgid "Phone No.:" msgstr "Telefone:" -#: ../data/glade/profile_window.glade.h:27 +#: ../data/glade/profile_window.glade.h:28 #: ../data/glade/vcard_information_window.glade.h:33 msgid "Position:" msgstr "Cargo:" -#: ../data/glade/profile_window.glade.h:28 +#: ../data/glade/profile_window.glade.h:29 #: ../data/glade/vcard_information_window.glade.h:34 msgid "Postal Code:" msgstr "Código Postal:" #. Prefix in Name -#: ../data/glade/profile_window.glade.h:30 +#: ../data/glade/profile_window.glade.h:31 #: ../data/glade/vcard_information_window.glade.h:36 msgid "Prefix:" msgstr "Prefixo:" -#: ../data/glade/profile_window.glade.h:31 -#: ../data/glade/vcard_information_window.glade.h:38 ../src/vcard.py:273 +#: ../data/glade/profile_window.glade.h:32 +#: ../data/glade/vcard_information_window.glade.h:38 ../src/vcard.py:257 msgid "Role:" msgstr "Função:" -#: ../data/glade/profile_window.glade.h:32 +#: ../data/glade/profile_window.glade.h:33 #: ../data/glade/vcard_information_window.glade.h:39 msgid "State:" msgstr "Estado:" -#: ../data/glade/profile_window.glade.h:33 +#: ../data/glade/profile_window.glade.h:34 #: ../data/glade/vcard_information_window.glade.h:41 msgid "Street:" msgstr "Rua:" #. Suffix in Name -#: ../data/glade/profile_window.glade.h:35 +#: ../data/glade/profile_window.glade.h:36 #: ../data/glade/vcard_information_window.glade.h:45 msgid "Suffix:" msgstr "Sobrenome:" -#: ../data/glade/profile_window.glade.h:36 +#: ../data/glade/profile_window.glade.h:37 #: ../data/glade/vcard_information_window.glade.h:46 msgid "Work" msgstr "Trabalho" -#: ../data/glade/profile_window.glade.h:37 -msgid "_Publish" -msgstr "_Publicar" - -#: ../data/glade/profile_window.glade.h:38 -msgid "_Retrieve" -msgstr "_Recuperar" - #: ../data/glade/remove_account_window.glade.h:1 msgid "What do you want to do?" msgstr "O que você quer fazer?" @@ -2068,9 +2073,8 @@ msgid "Remove account from Gajim and from _server" msgstr "Remover conta do Gajim e do _servidor" #: ../data/glade/roster_contact_context_menu.glade.h:1 -#, fuzzy msgid "A_sk to see his/her status" -msgstr "Peça para ver o status dele/dela" +msgstr "Pe_ça para ver o status dele/dela" #: ../data/glade/roster_contact_context_menu.glade.h:2 #: ../data/glade/zeroconf_contact_context_menu.glade.h:1 @@ -2084,19 +2088,19 @@ msgstr "Atribuir chave OpenPGP" #: ../data/glade/roster_contact_context_menu.glade.h:4 #: ../data/glade/zeroconf_contact_context_menu.glade.h:3 -#: ../src/roster_window.py:1993 +#: ../src/roster_window.py:2078 msgid "Edit _Groups" msgstr "Editar _Grupos" #: ../data/glade/roster_contact_context_menu.glade.h:5 -#: ../src/roster_window.py:2128 +#: ../src/roster_window.py:2213 msgid "Execute Command..." -msgstr "" +msgstr "Executar Comando..." #: ../data/glade/roster_contact_context_menu.glade.h:6 -#: ../src/roster_window.py:1951 +#: ../src/roster_window.py:2036 msgid "In_vite to" -msgstr "" +msgstr "Con_vidar para" #: ../data/glade/roster_contact_context_menu.glade.h:7 #: ../data/glade/systray_context_menu.glade.h:2 @@ -2109,25 +2113,23 @@ msgid "Start _Chat" msgstr "Iniciar conversa" #: ../data/glade/roster_contact_context_menu.glade.h:11 -#, fuzzy msgid "_Allow him/her to see my status" -msgstr "Permita que ele/ela ver meu status" +msgstr "_Permitir que ele/ela veja meu status" #: ../data/glade/roster_contact_context_menu.glade.h:12 -#, fuzzy msgid "_Forbid him/her to see my status" -msgstr "Proibir ele/ela a ver meu status" +msgstr "_Proibir ele/ela de ver meu status" #. Remove group #: ../data/glade/roster_contact_context_menu.glade.h:14 -#: ../src/roster_window.py:1945 ../src/roster_window.py:2042 -#: ../src/roster_window.py:2149 +#: ../src/roster_window.py:2030 ../src/roster_window.py:2127 +#: ../src/roster_window.py:2234 msgid "_Remove from Roster" msgstr "_Remover da Lista" #: ../data/glade/roster_contact_context_menu.glade.h:15 #: ../data/glade/zeroconf_contact_context_menu.glade.h:7 -#: ../src/roster_window.py:2137 +#: ../src/roster_window.py:2222 msgid "_Rename" msgstr "_Renomear" @@ -2156,14 +2158,12 @@ msgid "Help online" msgstr "Ajuda online" #: ../data/glade/roster_window.glade.h:7 -#, fuzzy msgid "Profile, A_vatar" -msgstr "Perfil, Avatar" +msgstr "Perfil, A_vatar" #: ../data/glade/roster_window.glade.h:8 -#, fuzzy msgid "Show Trans_ports" -msgstr "Transportes" +msgstr "Mostrar Trans_portes" #: ../data/glade/roster_window.glade.h:9 msgid "Show _Offline Contacts" @@ -2177,8 +2177,8 @@ msgstr "_Índices" msgid "_Discover Services" msgstr "_Descubra Serviços" -#: ../data/glade/roster_window.glade.h:14 ../src/disco.py:1256 -#: ../src/roster_window.py:2120 +#: ../data/glade/roster_window.glade.h:14 ../src/disco.py:1353 +#: ../src/roster_window.py:2205 msgid "_Edit" msgstr "_Editar" @@ -2199,9 +2199,8 @@ msgid "_Quit" msgstr "_Sair" #: ../data/glade/roster_window.glade.h:21 -#, fuzzy msgid "_View" -msgstr "_Voz" +msgstr "_Ver" #: ../data/glade/service_discovery_window.glade.h:1 msgid "G_o" @@ -2268,18 +2267,20 @@ msgid "_Send & Close" msgstr "_Enviar & Fechar" #: ../data/glade/subscription_request_window.glade.h:1 -#, fuzzy msgid "Au_thorize" -msgstr "_Autorizar" +msgstr "Au_torizar" #: ../data/glade/subscription_request_window.glade.h:2 -msgid "Authorize contact so he can know when you're connected" -msgstr "Autorize o contato para que ele saiba quando você estiver conectado" +msgid "Authorize contact so he or she can know when you're connected" +msgstr "" +"Autorize o contato para que ele ou ela saiba quando você estiver conectado" #: ../data/glade/subscription_request_window.glade.h:3 -msgid "Deny authorization from contact so he cannot know when you're connected" +msgid "" +"Deny authorization from contact so he or she cannot know when you're " +"connected" msgstr "" -"Negando a autorização do contato, ele não poderá saber quando você está " +"Negar a autorização do contato, assim ele não poderá saber quando você está " "conectado" #: ../data/glade/subscription_request_window.glade.h:4 @@ -2291,9 +2292,8 @@ msgid "_Deny" msgstr "_Negar" #: ../data/glade/systray_context_menu.glade.h:1 -#, fuzzy msgid "Mute Sounds" -msgstr "Sons Wav" +msgstr "Sons Mudos" #: ../data/glade/systray_context_menu.glade.h:3 msgid "Show All Pending _Events" @@ -2317,15 +2317,13 @@ msgid "Client:" msgstr "Cliente:" #: ../data/glade/vcard_information_window.glade.h:9 -#, fuzzy msgid "Comments" -msgstr "Comentário: %s" +msgstr "Comentários" #: ../data/glade/vcard_information_window.glade.h:11 #: ../data/glade/zeroconf_information_window.glade.h:1 -#, fuzzy msgid "Contact" -msgstr "Contatos" +msgstr "Contato" #: ../data/glade/vcard_information_window.glade.h:12 msgid "Contact Information" @@ -2356,11 +2354,6 @@ msgstr "Status:" msgid "Subscription:" msgstr "Inscrição:" -#: ../data/glade/vcard_information_window.glade.h:47 -#: ../data/glade/zeroconf_information_window.glade.h:10 -msgid "_Log conversation history" -msgstr "_Histórico de Conversação" - #: ../data/glade/xml_console_window.glade.h:1 msgid "Jabber Traffic" msgstr "Trafégo do Jabber" @@ -2394,24 +2387,21 @@ msgstr "_Presença" #: ../data/glade/zeroconf_information_window.glade.h:3 #: ../data/glade/zeroconf_properties_window.glade.h:6 -#, fuzzy msgid "First Name:" -msgstr "Nome:" +msgstr "Primeiro nome:" #: ../data/glade/zeroconf_information_window.glade.h:5 #: ../data/glade/zeroconf_properties_window.glade.h:14 -#, fuzzy msgid "Last Name:" -msgstr "Nome:" +msgstr "Último nome:" #: ../data/glade/zeroconf_information_window.glade.h:6 msgid "Local jid:" -msgstr "" +msgstr "JID local:" #: ../data/glade/zeroconf_information_window.glade.h:7 -#, fuzzy msgid "Personal" -msgstr "Detalhes Pessoais" +msgstr "Pessoal" #: ../data/glade/zeroconf_properties_window.glade.h:11 msgid "" @@ -2419,36 +2409,62 @@ msgid "" "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. " #: ../data/glade/zeroconf_properties_window.glade.h:15 -#, fuzzy msgid "Modify Account" -msgstr "_Editar Conta..." +msgstr "Alterar Conta" #: ../data/glade/zeroconf_properties_window.glade.h:21 -#, fuzzy msgid "Use custom port:" -msgstr "Usa nomedohost/porta customizada" +msgstr "Usar servidor/porta personalizado" -#: ../src/advanced.py:57 +#. For i18n +#: ../src/advanced.py:51 +msgid "Activated" +msgstr "Ativado" + +#: ../src/advanced.py:51 +msgid "Deactivated" +msgstr "Desativado" + +#: ../src/advanced.py:53 +msgid "Boolean" +msgstr "Booleano" + +#: ../src/advanced.py:54 +msgid "Integer" +msgstr "Inteiro" + +#: ../src/advanced.py:55 +msgid "Text" +msgstr "Texto" + +#: ../src/advanced.py:56 +msgid "Color" +msgstr "Cor" + +#: ../src/advanced.py:65 msgid "Preference Name" msgstr "Nome da preferência" -#: ../src/advanced.py:63 +#: ../src/advanced.py:71 msgid "Value" msgstr "Valor" -#: ../src/advanced.py:72 +#: ../src/advanced.py:79 msgid "Type" msgstr "Tipo" #. we talk about option description in advanced configuration editor -#: ../src/advanced.py:128 +#: ../src/advanced.py:136 msgid "(None)" msgstr "(Nada)" #. we talk about password -#: ../src/advanced.py:227 +#: ../src/advanced.py:239 msgid "Hidden" msgstr "Escondido" @@ -2459,98 +2475,105 @@ msgstr "Escondido" #. echo "{_('en'):'en'",$LANG"}" #: ../src/chat_control.py:52 msgid "English" -msgstr "" +msgstr "Inglês" + +#: ../src/chat_control.py:52 +msgid "Belarusian" +msgstr "Bielorusso" #: ../src/chat_control.py:52 msgid "Bulgarian" -msgstr "" +msgstr "Búlgaro" #: ../src/chat_control.py:52 -msgid "Briton" -msgstr "" +msgid "Breton" +msgstr "Bretão" #: ../src/chat_control.py:52 msgid "Czech" -msgstr "" +msgstr "Tcheco" #: ../src/chat_control.py:52 -#, fuzzy msgid "German" -msgstr "Geral" +msgstr "Alemão" #: ../src/chat_control.py:52 -#, fuzzy msgid "Greek" -msgstr "verde" +msgstr "Grego" + +#: ../src/chat_control.py:52 +msgid "British" +msgstr "Inglês Britânico" #: ../src/chat_control.py:52 msgid "Esperanto" -msgstr "" +msgstr "Esperanto" #: ../src/chat_control.py:52 msgid "Spanish" -msgstr "" +msgstr "Espanhol" #: ../src/chat_control.py:52 -msgid "Basc" -msgstr "" +msgid "Basque" +msgstr "Basco" #: ../src/chat_control.py:52 msgid "French" -msgstr "" +msgstr "Francês" #: ../src/chat_control.py:52 -#, fuzzy msgid "Croatian" -msgstr "Endereço" +msgstr "Croata" #: ../src/chat_control.py:52 -#, fuzzy msgid "Italian" -msgstr "Itálico" +msgstr "Italiano" #: ../src/chat_control.py:52 -msgid "Norvegian b" -msgstr "" +msgid "Norwegian (b)" +msgstr "Norueguês (b)" #: ../src/chat_control.py:52 msgid "Dutch" -msgstr "" +msgstr "Holandês" #: ../src/chat_control.py:52 -msgid "Norvegian" -msgstr "" +msgid "Norwegian" +msgstr "Norueguês" #: ../src/chat_control.py:52 -#, fuzzy msgid "Polish" -msgstr "_Publicar" +msgstr "Polonês" #: ../src/chat_control.py:52 msgid "Portuguese" -msgstr "" +msgstr "Português" #: ../src/chat_control.py:52 msgid "Brazilian Portuguese" -msgstr "" +msgstr "Português Brasileiro" #: ../src/chat_control.py:52 msgid "Russian" -msgstr "" +msgstr "Russo" + +#: ../src/chat_control.py:52 +msgid "Serbian" +msgstr "Sérvio" #: ../src/chat_control.py:52 msgid "Slovak" -msgstr "" +msgstr "Eslovaco" #: ../src/chat_control.py:52 msgid "Swedish" -msgstr "" +msgstr "Sueco" #: ../src/chat_control.py:52 msgid "Chinese (Ch)" -msgstr "" +msgstr "Chinês (Ch)" -#: ../src/chat_control.py:201 ../src/dialogs.py:1497 +#: ../src/chat_control.py:212 ../src/dialogs.py:1706 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 " @@ -2566,62 +2589,58 @@ msgstr "" " globalmente em/etc/profile.\n" "Caracteristica de destacar palavras erradas não será usada" -#: ../src/chat_control.py:239 +#: ../src/chat_control.py:251 msgid "Spelling language" -msgstr "" +msgstr "Idioma do corretor ortográfico" #. we are not connected -#: ../src/chat_control.py:262 ../src/chat_control.py:468 +#: ../src/chat_control.py:274 ../src/chat_control.py:480 msgid "A connection is not available" msgstr "Uma conexão não está disponível" -#: ../src/chat_control.py:263 ../src/chat_control.py:469 +#: ../src/chat_control.py:275 ../src/chat_control.py:481 msgid "Your message can not be sent until you are connected." msgstr "Sua mensagem não pode ser enviada até que esteja conectado." -#: ../src/chat_control.py:844 -msgid "Chats" -msgstr "Conversas" - -#: ../src/chat_control.py:1030 -#, fuzzy, python-format +#: ../src/chat_control.py:1054 +#, python-format msgid "%(nickname)s from group chat %(room_name)s" -msgstr "%(nickname)s: %(message)s" +msgstr "%(nickname)s da conferência %(room_name)s" #. we talk about a contact here -#: ../src/chat_control.py:1118 +#: ../src/chat_control.py:1143 #, python-format msgid "%s has not broadcast an OpenPGP key, nor has one been assigned" msgstr "%s não tem a transmissão uma chave de OpenPGP, nem uma foi atribuída" -#: ../src/chat_control.py:1254 +#: ../src/chat_control.py:1275 msgid "Encryption enabled" msgstr "Criptografia habilitada" -#: ../src/chat_control.py:1259 +#: ../src/chat_control.py:1280 msgid "Encryption disabled" msgstr "Criptografia desabilitada" #. add_to_roster_menuitem -#: ../src/chat_control.py:1401 ../src/conversation_textview.py:495 -#: ../src/dialogs.py:629 ../src/gajim.py:781 ../src/gajim.py:782 -#: ../src/gajim.py:1121 ../src/roster_window.py:328 -#: ../src/roster_window.py:404 ../src/roster_window.py:1638 -#: ../src/roster_window.py:1819 ../src/roster_window.py:2392 -#: ../src/roster_window.py:2596 ../src/roster_window.py:2607 -#: ../src/roster_window.py:3832 ../src/roster_window.py:3834 -#: ../src/common/contacts.py:73 ../src/common/helpers.py:42 -#: ../src/common/helpers.py:246 +#: ../src/chat_control.py:1425 ../src/conversation_textview.py:502 +#: ../src/dialogs.py:629 ../src/gajim.py:850 ../src/gajim.py:851 +#: ../src/gajim.py:1196 ../src/roster_window.py:333 +#: ../src/roster_window.py:411 ../src/roster_window.py:1497 +#: ../src/roster_window.py:1507 ../src/roster_window.py:1686 +#: ../src/roster_window.py:1892 ../src/roster_window.py:2477 +#: ../src/roster_window.py:2678 ../src/roster_window.py:3924 +#: ../src/roster_window.py:3926 ../src/common/contacts.py:73 +#: ../src/common/helpers.py:43 ../src/common/helpers.py:255 msgid "Not in Roster" msgstr "Fora da lista" #. %s is being replaced in the code with JID -#: ../src/chat_control.py:1545 +#: ../src/chat_control.py:1571 #, python-format msgid "You just received a new message from \"%s\"" msgstr "Você acabou de receber uma nova mensagem de \"%s\"" -#: ../src/chat_control.py:1546 +#: ../src/chat_control.py:1572 msgid "" "If you close this tab and you have history disabled, this message will be " "lost." @@ -2629,101 +2648,102 @@ msgstr "" "Se você fechar esta aba e o histórico estiver desabilitado, esta mensagem " "será perdida." -#: ../src/config.py:135 ../src/config.py:594 +#: ../src/config.py:139 ../src/config.py:588 msgid "Disabled" msgstr "Desabilitado" -#: ../src/config.py:221 +#: ../src/config.py:233 #, python-format msgid "Every %s _minutes" msgstr "A cada %s _minutos" -#: ../src/config.py:363 +#: ../src/config.py:353 msgid "Active" msgstr "Ativo" -#: ../src/config.py:371 +#: ../src/config.py:361 msgid "Event" msgstr "Evento" -#: ../src/config.py:685 ../src/gajim.py:2142 -#, fuzzy, python-format +#: ../src/config.py:684 ../src/gajim.py:2263 +#, python-format msgid "Dictionary for lang %s not available" -msgstr "Uma conexão não está disponível" +msgstr "O dicionário para o idioma %s não está disponível" -#: ../src/config.py:686 ../src/gajim.py:2143 +#: ../src/config.py:685 ../src/gajim.py:2264 #, python-format 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'." -#: ../src/config.py:1038 +#: ../src/config.py:1008 msgid "status message title" msgstr "título da mensagem de status" -#: ../src/config.py:1038 +#: ../src/config.py:1008 msgid "status message text" msgstr "texto da mensagem de status" -#: ../src/config.py:1073 +#: ../src/config.py:1044 msgid "First Message Received" msgstr "Primeira Mensagem Recebida" -#: ../src/config.py:1074 +#: ../src/config.py:1045 msgid "Next Message Received" msgstr "Nova Mensagem Recebida" -#: ../src/config.py:1075 +#: ../src/config.py:1046 msgid "Contact Connected" msgstr "Contato Conectado" -#: ../src/config.py:1076 +#: ../src/config.py:1047 msgid "Contact Disconnected" msgstr "Contato Desconectou" -#: ../src/config.py:1077 +#: ../src/config.py:1048 msgid "Message Sent" msgstr "Mensagem Enviada" -#: ../src/config.py:1078 +#: ../src/config.py:1049 msgid "Group Chat Message Highlight" msgstr "Mensagem Destacada de Conferência" -#: ../src/config.py:1079 +#: ../src/config.py:1050 msgid "Group Chat Message Received" msgstr "Mensagem de Conferência Recebida" -#: ../src/config.py:1086 -#, fuzzy +#: ../src/config.py:1057 msgid "GMail Email Received" -msgstr "Convite Recebido" +msgstr "Email do Gmail Recebido" -#: ../src/config.py:1289 +#: ../src/config.py:1260 msgid "OpenPGP is not usable in this computer" msgstr "OpenPGP não disponível neste computador" -#: ../src/config.py:1335 +#: ../src/config.py:1306 msgid "You are currently connected to the server" msgstr "Você está atualmente conectado ao servidor" -#: ../src/config.py:1336 +#: ../src/config.py:1307 msgid "To change the account name, you must be disconnected." msgstr "Para mudar o nome da conta, você deve estar disconectado." -#: ../src/config.py:1339 ../src/config.py:1931 +#: ../src/config.py:1310 ../src/config.py:1916 msgid "Unread events" msgstr "Eventos não lidos" -#: ../src/config.py:1340 +#: ../src/config.py:1311 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." -#: ../src/config.py:1344 +#: ../src/config.py:1315 msgid "Account Name Already Used" msgstr "Nome de conta já está em uso" -#: ../src/config.py:1345 +#: ../src/config.py:1316 msgid "" "This name is already used by another of your accounts. Please choose another " "name." @@ -2731,175 +2751,174 @@ msgstr "" "Este nome já está sendo usado por outra de suas contas. Por favor, escolha " "outro nome." -#: ../src/config.py:1349 ../src/config.py:1353 +#: ../src/config.py:1320 ../src/config.py:1324 msgid "Invalid account name" msgstr "Nome de conta inválido" -#: ../src/config.py:1350 +#: ../src/config.py:1321 msgid "Account name cannot be empty." msgstr "Nome da conta não pode ser vazio." -#: ../src/config.py:1354 +#: ../src/config.py:1325 msgid "Account name cannot contain spaces." msgstr "Nome da conta não pode conter espaços." -#: ../src/config.py:1362 ../src/config.py:1368 ../src/config.py:1378 -#: ../src/config.py:3036 +#: ../src/config.py:1333 ../src/config.py:1339 ../src/config.py:1349 +#: ../src/config.py:2900 msgid "Invalid Jabber ID" msgstr "Jabber ID Inválido:" -#: ../src/config.py:1369 +#: ../src/config.py:1340 msgid "A Jabber ID must be in the form \"user@servername\"." msgstr "Um Jabber ID deve ter o seguinte formato \"usuário@nomedoservidor\"." -#: ../src/config.py:1428 +#: ../src/config.py:1399 msgid "Invalid entry" msgstr "Entrada inválida" -#: ../src/config.py:1429 +#: ../src/config.py:1400 msgid "Custom port must be a port number." msgstr "A porta do proxy deve ser um número de porta." -#: ../src/config.py:1555 ../src/common/config.py:363 +#: ../src/config.py:1528 ../src/common/config.py:367 msgid "Be right back." msgstr "Estou de volta." -#: ../src/config.py:1565 +#: ../src/config.py:1538 msgid "Relogin now?" msgstr "Re-autenticar agora?" -#: ../src/config.py:1566 +#: ../src/config.py:1539 msgid "If you want all the changes to apply instantly, you must relogin." msgstr "Se você quer aplicar todas as mudanças, deve se re-autenticar." -#: ../src/config.py:1592 +#: ../src/config.py:1565 msgid "No such account available" msgstr "Conta não disponível" -#: ../src/config.py:1593 +#: ../src/config.py:1566 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." -#: ../src/config.py:1600 ../src/dialogs.py:1128 ../src/dialogs.py:1297 -#: ../src/disco.py:417 ../src/profile_window.py:307 -#: ../src/profile_window.py:373 +#: ../src/config.py:1573 ../src/dialogs.py:1190 ../src/dialogs.py:1326 +#: ../src/dialogs.py:1506 ../src/disco.py:420 ../src/profile_window.py:323 msgid "You are not connected to the server" msgstr "Você não está conectado ao servidor" -#: ../src/config.py:1601 +#: ../src/config.py:1574 msgid "Without a connection, you can not edit your personal information." msgstr "Você deve estar conectado para editar suas informações pessoais." -#: ../src/config.py:1605 +#: ../src/config.py:1578 msgid "Your server doesn't support Vcard" -msgstr "" +msgstr "Seu servidor não suporta Vcard" -#: ../src/config.py:1606 -#, fuzzy +#: ../src/config.py:1579 msgid "Your server can't save your personal information." -msgstr "" -"Você deve primeiro criar sua conta antes de editar suas informações pessoais." +msgstr "Seu servidor não pode salvar suas informações pessoais." -#: ../src/config.py:1630 ../src/config.py:3423 +#: ../src/config.py:1610 ../src/config.py:3288 msgid "Failed to get secret keys" msgstr "Falha enquanto recebia as chaves secretas" -#: ../src/config.py:1631 ../src/config.py:3424 +#: ../src/config.py:1611 ../src/config.py:3289 msgid "There was a problem retrieving your OpenPGP secret keys." msgstr "Houve um problema no recebimento de suas chaves secretas OpenPGP." -#: ../src/config.py:1634 ../src/config.py:3427 +#: ../src/config.py:1614 ../src/config.py:3292 msgid "OpenPGP Key Selection" msgstr "Seleção de Chave OpenPGP" -#: ../src/config.py:1635 ../src/config.py:3428 +#: ../src/config.py:1615 ../src/config.py:3293 msgid "Choose your OpenPGP key" msgstr "Escolha sua chave OpenPGP" #. Name column -#: ../src/config.py:1865 ../src/disco.py:741 ../src/disco.py:1467 -#: ../src/disco.py:1705 ../src/history_window.py:78 +#: ../src/config.py:1850 ../src/dialogs.py:1338 ../src/dialogs.py:1402 +#: ../src/disco.py:741 ../src/disco.py:1564 ../src/disco.py:1802 +#: ../src/history_window.py:78 msgid "Name" msgstr "Nome" -#: ../src/config.py:1868 +#: ../src/config.py:1853 ../src/dialogs.py:1341 msgid "Server" msgstr "Servidor" -#: ../src/config.py:1932 +#: ../src/config.py:1917 msgid "Read all pending events before removing this account." msgstr "Ler todos os eventos pendentes antes de remover esta conta." -#: ../src/config.py:1969 -#, fuzzy, python-format +#: ../src/config.py:1954 +#, python-format msgid "You have opened chat in account %s" -msgstr "Você não tem uma conta ativa" +msgstr "Você iniciou uma conversa usando a conta %s" -#: ../src/config.py:1970 +#: ../src/config.py:1955 msgid "All chat and groupchat windows will be closed. Do you want to continue?" -msgstr "" +msgstr "Todas as janelas de conversa e conferência serão fechadas. Confirma?" -#: ../src/config.py:2029 -#, fuzzy +#: ../src/config.py:2014 msgid "Account Local already exists." -msgstr "Nome de conta já está em uso" +msgstr "Conta local já existe." -#: ../src/config.py:2030 +#: ../src/config.py:2015 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\"." -#: ../src/config.py:2262 +#: ../src/config.py:2111 #, python-format msgid "Edit %s" msgstr "_Editar %s" -#: ../src/config.py:2264 +#: ../src/config.py:2113 #, python-format msgid "Register to %s" msgstr "Registro para %s" -#. list at the begining -#: ../src/config.py:2336 +#. list at the beginning +#: ../src/config.py:2179 msgid "Ban List" msgstr "Lista de Banidos" -#: ../src/config.py:2337 +#: ../src/config.py:2180 msgid "Member List" msgstr "Lista de Membros" -#: ../src/config.py:2338 +#: ../src/config.py:2181 msgid "Owner List" msgstr "Lista de Donos" -#: ../src/config.py:2339 +#: ../src/config.py:2182 msgid "Administrator List" msgstr "Lista de Administradores" #. Address column #. holds JID (who said this) -#: ../src/config.py:2372 ../src/disco.py:748 ../src/history_manager.py:154 +#: ../src/config.py:2231 ../src/disco.py:748 ../src/history_manager.py:155 msgid "JID" msgstr "JID" -#: ../src/config.py:2380 +#: ../src/config.py:2239 msgid "Reason" msgstr "Razão" -#: ../src/config.py:2385 +#: ../src/config.py:2244 msgid "Nick" msgstr "Apelido" -#: ../src/config.py:2389 +#: ../src/config.py:2248 msgid "Role" msgstr "Lista" -#: ../src/config.py:2410 +#: ../src/config.py:2273 msgid "Banning..." msgstr "Banindo..." #. You can move '\n' before user@domain if that line is TOO BIG -#: ../src/config.py:2412 +#: ../src/config.py:2275 msgid "" "Whom do you want to ban?\n" "\n" @@ -2907,11 +2926,11 @@ msgstr "" "Quem você quer banir?\n" "\n" -#: ../src/config.py:2414 +#: ../src/config.py:2277 msgid "Adding Member..." msgstr "Adicionando Membro..." -#: ../src/config.py:2415 +#: ../src/config.py:2278 msgid "" "Whom do you want to make a member?\n" "\n" @@ -2919,23 +2938,23 @@ msgstr "" "Quem você quer fazer como membro?\n" "\n" -#: ../src/config.py:2417 +#: ../src/config.py:2280 msgid "Adding Owner..." msgstr "Adicionando Proprietário..." -#: ../src/config.py:2418 +#: ../src/config.py:2281 msgid "" -"Whom do you want to make a owner?\n" +"Whom do you want to make an owner?\n" "\n" msgstr "" "Quem você quer tornar um dono?\n" "\n" -#: ../src/config.py:2420 +#: ../src/config.py:2283 msgid "Adding Administrator..." msgstr "Adicionando Administrador..." -#: ../src/config.py:2421 +#: ../src/config.py:2284 msgid "" "Whom do you want to make an administrator?\n" "\n" @@ -2943,7 +2962,7 @@ msgstr "" "Quem você quer tornar um administrador?\n" "\n" -#: ../src/config.py:2422 +#: ../src/config.py:2285 msgid "" "Can be one of the following:\n" "1. user@domain/resource (only that resource matches).\n" @@ -2959,125 +2978,127 @@ msgstr "" "4. domínio (o domínio combina por si com qualquer usuario@domínio,\n" "domínio/recurso, ou endereço contendo um subdomínio." -#: ../src/config.py:2527 +#: ../src/config.py:2389 #, python-format msgid "Removing %s account" msgstr "Removendo %s conta" -#: ../src/config.py:2544 ../src/roster_window.py:2665 +#: ../src/config.py:2406 ../src/roster_window.py:2737 msgid "Password Required" msgstr "Senha é obrigatória" -#: ../src/config.py:2545 ../src/roster_window.py:2666 +#: ../src/config.py:2407 ../src/roster_window.py:2733 #, python-format msgid "Enter your password for account %s" msgstr "Entre com a senha para conta %s" -#: ../src/config.py:2546 ../src/roster_window.py:2667 +#: ../src/config.py:2408 ../src/roster_window.py:2738 msgid "Save password" msgstr "Salvar senha" -#: ../src/config.py:2560 +#: ../src/config.py:2422 #, python-format msgid "Account \"%s\" is connected to the server" msgstr "Conta \"%s\" está conectada ao servidor" -#: ../src/config.py:2561 +#: ../src/config.py:2423 msgid "If you remove it, the connection will be lost." msgstr "Se você remover-lo, a conexão será perdida." -#: ../src/config.py:2645 -#, fuzzy +#: ../src/config.py:2508 msgid "Default" -msgstr "Deletar" +msgstr "Padrão" -#: ../src/config.py:2645 -#, fuzzy +#: ../src/config.py:2508 msgid "?print_status:All" -msgstr "Imprimir tempo:" +msgstr "?exibir_status:Todos" -#: ../src/config.py:2646 +#: ../src/config.py:2509 msgid "Enter and leave only" -msgstr "" +msgstr "Apenas entre e saia" -#: ../src/config.py:2716 -#, fuzzy +#: ../src/config.py:2510 +msgid "?print_status:None" +msgstr "?exibir_status:Nenhum" + +#: ../src/config.py:2578 msgid "New Group Chat" -msgstr "Conferência" +msgstr "Nova Conferência" -#: ../src/config.py:2748 +#: ../src/config.py:2611 msgid "This bookmark has invalid data" msgstr "Bookmark tem dados inválidos" -#: ../src/config.py:2749 +#: ../src/config.py:2612 msgid "" "Please be sure to fill out server and room fields or remove this bookmark." msgstr "" "Por favor, tenha certeza que preencheu os campos servidor e sala ou remova " "este bookmark" -#: ../src/config.py:3011 +#: ../src/config.py:2875 msgid "Invalid username" msgstr "Nome de usuário inválido" -#: ../src/config.py:3012 +#: ../src/config.py:2876 msgid "You must provide a username to configure this account." msgstr "Você deve entrar com um nome para configurar esta conta." -#: ../src/config.py:3022 ../src/dialogs.py:1316 +#: ../src/config.py:2886 ../src/dialogs.py:1525 msgid "Invalid password" msgstr "Senha Inválida" -#: ../src/config.py:3023 +#: ../src/config.py:2887 msgid "You must enter a password for the new account." msgstr "Você deve entrar com uma senha para registrar uma nova conta." -#: ../src/config.py:3027 ../src/dialogs.py:1321 +#: ../src/config.py:2891 ../src/dialogs.py:1530 msgid "Passwords do not match" msgstr "Senhas não conferem" -#: ../src/config.py:3028 ../src/dialogs.py:1322 +#: ../src/config.py:2892 ../src/dialogs.py:1531 msgid "The passwords typed in both fields must be identical." msgstr "As senhas digitadas em ambos os campos devem ser idênticas." -#: ../src/config.py:3047 +#: ../src/config.py:2911 msgid "Duplicate Jabber ID" msgstr "Jabber ID Duplicado" -#: ../src/config.py:3048 +#: ../src/config.py:2912 msgid "This account is already configured in Gajim." msgstr "Esta conta já está configurada no Gajim." -#: ../src/config.py:3065 +#: ../src/config.py:2929 msgid "Account has been added successfully" msgstr "Conta foi adicionada com sucesso" -#: ../src/config.py:3066 ../src/config.py:3101 +#: ../src/config.py:2930 ../src/config.py:2965 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." +"You can set advanced account options by pressing the Advanced button, or " +"later by choosing the Accounts menuitem 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 item de menu da janela " +"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." -#: ../src/config.py:3100 +#: ../src/config.py:2964 msgid "Your new account has been created successfully" msgstr "Sua nova conta foi criada com sucesso" -#: ../src/config.py:3118 -msgid "An error occured during account creation" +#: ../src/config.py:2982 +msgid "An error occurred during account creation" msgstr "Um erro ocorreu durante a criação da conta" -#: ../src/config.py:3176 +#: ../src/config.py:3040 msgid "Account name is in use" msgstr "Nome de conta em uso" -#: ../src/config.py:3177 +#: ../src/config.py:3041 msgid "You already have an account using this name." msgstr "Você já tem uma conta usando este nome." -#: ../src/conversation_textview.py:273 +#: ../src/conversation_textview.py:280 msgid "" "Text below this line is what has been said since the last time you paid " "attention to this group chat" @@ -3085,65 +3106,65 @@ msgstr "" "O texto abaixo desta linha é o que foi dito desde a última vez onde você " "prestou a atenção a conferência" -#: ../src/conversation_textview.py:342 -#, fuzzy, python-format +#: ../src/conversation_textview.py:349 +#, python-format msgid "_Actions for \"%s\"" -msgstr "Ações para \"%s\"" +msgstr "_Ações para \"%s\"" -#: ../src/conversation_textview.py:354 +#: ../src/conversation_textview.py:361 msgid "Read _Wikipedia Article" msgstr "Ler Artigo da _Wikipedia" -#: ../src/conversation_textview.py:359 +#: ../src/conversation_textview.py:366 msgid "Look it up in _Dictionary" msgstr "Procurar no _Dicionário" #. we must have %s in the url if not WIKTIONARY -#: ../src/conversation_textview.py:375 +#: ../src/conversation_textview.py:382 #, 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" #. we must have %s in the url -#: ../src/conversation_textview.py:388 +#: ../src/conversation_textview.py:395 #, python-format msgid "Web Search URL is missing an \"%s\"" msgstr "URL de Procura na Web não existe \"%s\"" -#: ../src/conversation_textview.py:391 +#: ../src/conversation_textview.py:398 msgid "Web _Search for it" msgstr "_Procura na Web por isto" -#: ../src/conversation_textview.py:397 +#: ../src/conversation_textview.py:404 msgid "Open as _Link" -msgstr "" +msgstr "Abrir como _Link" -#: ../src/conversation_textview.py:757 +#: ../src/conversation_textview.py:765 msgid "Yesterday" msgstr "Ontem" #. the number is >= 2 #. %i is day in year (1-365), %d (1-31) we want %i -#: ../src/conversation_textview.py:761 +#: ../src/conversation_textview.py:769 #, python-format msgid "%i days ago" msgstr "%i dias atrás" #. if we have subject, show it too! -#: ../src/conversation_textview.py:793 +#: ../src/conversation_textview.py:803 #, python-format msgid "Subject: %s\n" msgstr "Assunto: %s\n" #: ../src/dialogs.py:59 -#, fuzzy, python-format +#, python-format msgid "Contact name: %s" -msgstr "Nome do Contato %s" +msgstr "Nome do Contato: %s" #: ../src/dialogs.py:61 -#, fuzzy, python-format +#, python-format msgid "Jabber ID: %s" -msgstr "JID: %s" +msgstr "Jabber ID: %s" #: ../src/dialogs.py:211 msgid "Group" @@ -3179,27 +3200,24 @@ msgid "Please type a name for this status message" msgstr "Por favor, escreva um nome para esta mensagem de status" #: ../src/dialogs.py:417 -#, fuzzy msgid "AIM Address:" -msgstr "_Endereço:" +msgstr "Endereço AIM:" #: ../src/dialogs.py:418 msgid "GG Number:" -msgstr "" +msgstr "Número de GG:" #: ../src/dialogs.py:419 msgid "ICQ Number:" -msgstr "" +msgstr "Número de ICQ:" #: ../src/dialogs.py:420 -#, fuzzy msgid "MSN Address:" -msgstr "_Endereço:" +msgstr "Endereço MSN:" #: ../src/dialogs.py:421 -#, fuzzy msgid "Yahoo! Address:" -msgstr "Complemento:" +msgstr "Endereço Yahoo!:" #: ../src/dialogs.py:457 #, python-format @@ -3227,385 +3245,393 @@ msgstr "Contato já foi adicionado à lista" msgid "This contact is already listed in your roster." msgstr "Este contato já encontra-se em sua lista." -#: ../src/dialogs.py:665 -#, fuzzy +#: ../src/dialogs.py:668 msgid "User ID:" msgstr "ID do Usuário:" -#: ../src/dialogs.py:728 +#: ../src/dialogs.py:731 msgid "A GTK+ jabber client" msgstr "Um cliente jabber GTK+" -#: ../src/dialogs.py:729 +#: ../src/dialogs.py:732 msgid "GTK+ Version:" -msgstr "" +msgstr "Versão do GTK+:" -#: ../src/dialogs.py:730 +#: ../src/dialogs.py:733 msgid "PyGTK Version:" -msgstr "" +msgstr "Versão do PyGTK:" -#: ../src/dialogs.py:744 -#, fuzzy +#: ../src/dialogs.py:747 msgid "Current Developers:" -msgstr "Desenvolvedores Passados:" +msgstr "Desenvolvedores Atuais:" -#: ../src/dialogs.py:746 +#: ../src/dialogs.py:749 msgid "Past Developers:" msgstr "Desenvolvedores Passados:" -#: ../src/dialogs.py:756 +#: ../src/dialogs.py:759 msgid "THANKS:" msgstr "AGRADECIMENTOS:" #. remove one english sentence #. and add it manually as translatable -#: ../src/dialogs.py:762 +#: ../src/dialogs.py:765 msgid "Last but not least, we would like to thank all the package maintainers." msgstr "Nós gostaríamos de agradecer todos os mantedores do pacote." #. here you write your name in the form Name FamilyName -#: ../src/dialogs.py:776 +#: ../src/dialogs.py:778 msgid "translator-credits" msgstr "" "Alfredo Jr. - Junix e Juracy Filho " -#: ../src/dialogs.py:906 -#, fuzzy, python-format +#: ../src/dialogs.py:908 +#, python-format msgid "Unable to bind to port %s." -msgstr "Impossível ingressar na sala" +msgstr "Impossível conectar à porta %s." -#: ../src/dialogs.py:907 +#: ../src/dialogs.py:909 msgid "" "Maybe you have another running instance of Gajim. File Transfer will be " -"canceled." +"cancelled." msgstr "" +"Talvez haja uma outra instância do Gajim em execução. A Transferência de " +"Arquivos será cancelada." -#: ../src/dialogs.py:1058 +#: ../src/dialogs.py:1120 #, python-format msgid "Subscription request for account %s from %s" msgstr "Solicitação de inscrição para conta %s de %s" -#: ../src/dialogs.py:1061 +#: ../src/dialogs.py:1123 #, python-format msgid "Subscription request from %s" msgstr "Solicitação de inscrição de %s" -#: ../src/dialogs.py:1121 ../src/roster_window.py:681 -#, fuzzy, python-format +#: ../src/dialogs.py:1183 ../src/roster_window.py:687 +#, python-format msgid "You are already in group chat %s" -msgstr "Você já está na sala %s" +msgstr "Você já está na conferência %s" -#: ../src/dialogs.py:1129 +#: ../src/dialogs.py:1191 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." -#: ../src/dialogs.py:1144 +#: ../src/dialogs.py:1206 #, python-format msgid "Join Group Chat with account %s" msgstr "Ingressar numa conferência com a conta %s" -#: ../src/dialogs.py:1212 ../src/dialogs.py:1218 -#, fuzzy +#: ../src/dialogs.py:1274 ../src/dialogs.py:1280 +#: ../src/groupchat_control.py:1475 msgid "Invalid group chat Jabber ID" -msgstr "Jabber ID Inválido:" +msgstr "Jabber ID da conferência inválido:" -#: ../src/dialogs.py:1213 ../src/dialogs.py:1219 -#, fuzzy +#: ../src/dialogs.py:1275 ../src/dialogs.py:1281 +#: ../src/groupchat_control.py:1476 msgid "The group chat Jabber ID has not allowed characters." -msgstr "O nome da sala ou nome do servidor não é permitido alguns caracteres." +msgstr "O Jabber ID da conferência possui caracteres não permitidos." -#: ../src/dialogs.py:1225 +#: ../src/dialogs.py:1287 msgid "This is not a group chat" -msgstr "" +msgstr "Isto não é uma conferência" -#: ../src/dialogs.py:1226 -#, fuzzy, python-format +#: ../src/dialogs.py:1288 +#, python-format msgid "%s is not the name of a group chat." -msgstr "Esconder o banner na janela de conferência" +msgstr "%s não é o nome da conferência." -#: ../src/dialogs.py:1248 +#: ../src/dialogs.py:1327 +msgid "Without a connection, you can not synchronise your contacts." +msgstr "Sem uma conexão, você pode não sincronizar seus contatos." + +#: ../src/dialogs.py:1374 +msgid "This account is not connected to the server" +msgstr "Esta conta não está conectada ao servidor" + +#: ../src/dialogs.py:1375 +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." + +#: ../src/dialogs.py:1399 +msgid "Synchronise" +msgstr "Sincronizar" + +#: ../src/dialogs.py:1457 #, python-format msgid "Start Chat with account %s" msgstr "Iniciar uma conferência com a conta %s" -#: ../src/dialogs.py:1250 +#: ../src/dialogs.py:1459 msgid "Start Chat" msgstr "Iniciar conversa" -#: ../src/dialogs.py:1251 -#, fuzzy +#: ../src/dialogs.py:1460 msgid "" "Fill in the nickname or the Jabber ID of the contact you would like\n" "to send a chat message to:" msgstr "" -"Entre com o ID do do contato que você gostaria de\n" -"enviar uma mensagem:" +"Digite o apelido ou o Jabber ID do contato para o qual\n" +"você quer enviar uma messagem:" #. if offline or connecting -#: ../src/dialogs.py:1276 ../src/dialogs.py:1635 ../src/dialogs.py:1764 +#: ../src/dialogs.py:1485 ../src/dialogs.py:1844 ../src/dialogs.py:1975 msgid "Connection not available" msgstr "Conexão não disponível" -#: ../src/dialogs.py:1277 ../src/dialogs.py:1636 ../src/dialogs.py:1765 +#: ../src/dialogs.py:1486 ../src/dialogs.py:1845 ../src/dialogs.py:1976 #, python-format msgid "Please make sure you are connected with \"%s\"." msgstr "Por favor, tenha certeza que você está conectado com \"%s\"." -#: ../src/dialogs.py:1286 ../src/dialogs.py:1289 -#, fuzzy +#: ../src/dialogs.py:1495 ../src/dialogs.py:1498 msgid "Invalid JID" -msgstr "Jabber ID Inválido:" +msgstr "JID inválido:" -#: ../src/dialogs.py:1289 -#, fuzzy, python-format +#: ../src/dialogs.py:1498 +#, python-format msgid "Unable to parse \"%s\"." -msgstr "Impossível gravar o arquivo em %s" +msgstr "Impossível gravar o arquivo em \"%s\"." -#: ../src/dialogs.py:1298 +#: ../src/dialogs.py:1507 msgid "Without a connection, you can not change your password." msgstr "Você deve estar contectado para mudar sua senha" -#: ../src/dialogs.py:1317 +#: ../src/dialogs.py:1526 msgid "You must enter a password." msgstr "Você deve entrar com uma senha." #. img to display #. default value -#: ../src/dialogs.py:1364 ../src/notify.py:211 ../src/notify.py:411 +#: ../src/dialogs.py:1573 ../src/notify.py:212 ../src/notify.py:416 msgid "Contact Signed In" msgstr "Contato conectou" -#: ../src/dialogs.py:1366 ../src/notify.py:219 ../src/notify.py:413 +#: ../src/dialogs.py:1575 ../src/notify.py:220 ../src/notify.py:418 msgid "Contact Signed Out" msgstr "Contato desconectou" #. chat message -#: ../src/dialogs.py:1368 ../src/notify.py:238 ../src/notify.py:415 +#: ../src/dialogs.py:1577 ../src/notify.py:239 ../src/notify.py:420 msgid "New Message" msgstr "Nova Mensagem" #. single message -#: ../src/dialogs.py:1368 ../src/notify.py:223 ../src/notify.py:415 +#: ../src/dialogs.py:1577 ../src/notify.py:224 ../src/notify.py:420 msgid "New Single Message" msgstr "Nova Mensagem" #. private message -#: ../src/dialogs.py:1369 ../src/notify.py:230 ../src/notify.py:416 +#: ../src/dialogs.py:1578 ../src/notify.py:231 ../src/notify.py:421 msgid "New Private Message" msgstr "Enviar Mensagem Privada" -#: ../src/dialogs.py:1369 ../src/gajim.py:1216 ../src/notify.py:424 +#: ../src/dialogs.py:1578 ../src/gajim.py:1291 ../src/notify.py:429 msgid "New E-mail" msgstr "Novo E-Mail" -#: ../src/dialogs.py:1371 ../src/gajim.py:1369 ../src/notify.py:418 +#: ../src/dialogs.py:1580 ../src/gajim.py:1444 ../src/notify.py:423 msgid "File Transfer Request" msgstr "Solicitação de Transferência de Arquivos" -#: ../src/dialogs.py:1373 ../src/gajim.py:1188 ../src/gajim.py:1345 -#: ../src/notify.py:420 +#: ../src/dialogs.py:1582 ../src/gajim.py:1263 ../src/gajim.py:1420 +#: ../src/notify.py:425 msgid "File Transfer Error" msgstr "Erro na Transferência de Arquivos" -#: ../src/dialogs.py:1375 ../src/gajim.py:1408 ../src/gajim.py:1430 -#: ../src/gajim.py:1447 ../src/notify.py:422 +#: ../src/dialogs.py:1584 ../src/gajim.py:1483 ../src/gajim.py:1505 +#: ../src/gajim.py:1522 ../src/notify.py:427 msgid "File Transfer Completed" msgstr "Transferência do Arquivo Completa" -#: ../src/dialogs.py:1376 ../src/gajim.py:1411 ../src/notify.py:422 +#: ../src/dialogs.py:1585 ../src/gajim.py:1486 ../src/notify.py:427 msgid "File Transfer Stopped" msgstr "Transferência do Arquivo Parada" -#: ../src/dialogs.py:1378 ../src/gajim.py:1086 ../src/notify.py:426 +#: ../src/dialogs.py:1587 ../src/gajim.py:1160 ../src/notify.py:431 msgid "Groupchat Invitation" msgstr "Convite para Conferência" -#: ../src/dialogs.py:1380 ../src/notify.py:203 ../src/notify.py:428 -#, fuzzy +#: ../src/dialogs.py:1589 ../src/notify.py:204 ../src/notify.py:433 msgid "Contact Changed Status" -msgstr "Contato desconectou" +msgstr "O Contato Alterou seu Status" -#: ../src/dialogs.py:1565 -#, fuzzy, python-format +#: ../src/dialogs.py:1774 +#, python-format msgid "Single Message using account %s" -msgstr "Mensagem simples com conta %s" +msgstr "Mensagem Simples usando conta %s" -#: ../src/dialogs.py:1567 -#, fuzzy, python-format +#: ../src/dialogs.py:1776 +#, python-format msgid "Single Message in account %s" -msgstr "Mensagem simples com conta %s" +msgstr "Mensagem Simples na conta %s" -#: ../src/dialogs.py:1569 +#: ../src/dialogs.py:1778 msgid "Single Message" msgstr "Mensagem simples" #. prepare UI for Sending -#: ../src/dialogs.py:1572 +#: ../src/dialogs.py:1781 #, python-format msgid "Send %s" msgstr "Enviar %s" #. prepare UI for Receiving -#: ../src/dialogs.py:1595 +#: ../src/dialogs.py:1804 #, python-format msgid "Received %s" msgstr "Recebido %s" #. we create a new blank window to send and we preset RE: and to jid -#: ../src/dialogs.py:1667 +#: ../src/dialogs.py:1876 #, python-format msgid "RE: %s" msgstr "RE: %s" -#: ../src/dialogs.py:1668 +#: ../src/dialogs.py:1877 #, python-format msgid "%s wrote:\n" msgstr "%s escreveu:\n" -#: ../src/dialogs.py:1712 +#: ../src/dialogs.py:1921 #, python-format msgid "XML Console for %s" msgstr "Console XML para %s" -#: ../src/dialogs.py:1714 +#: ../src/dialogs.py:1923 msgid "XML Console" msgstr "Console XML" -#: ../src/dialogs.py:1835 +#: ../src/dialogs.py:2046 #, python-format msgid "Privacy List %s" -msgstr "" +msgstr "Lista de Privacidade %s" -#: ../src/dialogs.py:1839 +#: ../src/dialogs.py:2050 #, python-format msgid "Privacy List for %s" -msgstr "" +msgstr "Lista de Privacidade para %s" -#: ../src/dialogs.py:1887 +#: ../src/dialogs.py:2098 #, python-format msgid "Order: %s, action: %s, type: %s, value: %s" -msgstr "" +msgstr "Ordem: %s, ação: %s tipo: %s, valor: %s" -#: ../src/dialogs.py:1890 -#, fuzzy, python-format +#: ../src/dialogs.py:2101 +#, python-format msgid "Order: %s, action: %s" -msgstr "Descrição: %s" +msgstr "Ordem: %s, ação: %s" -#: ../src/dialogs.py:1932 -#, fuzzy +#: ../src/dialogs.py:2143 msgid "Edit a rule" -msgstr "Formato da linha" +msgstr "Editar uma regra" -#: ../src/dialogs.py:2019 -#, fuzzy +#: ../src/dialogs.py:2230 msgid "Add a rule" -msgstr "Formato da linha" +msgstr "Adicionar uma regra" -#: ../src/dialogs.py:2115 +#: ../src/dialogs.py:2326 #, python-format msgid "Privacy Lists for %s" -msgstr "" +msgstr "Lista de Privacidade para %s" -#: ../src/dialogs.py:2117 -#, fuzzy +#: ../src/dialogs.py:2328 msgid "Privacy Lists" -msgstr "ConversasPrivada" +msgstr "Listas de Privacidade" -#: ../src/dialogs.py:2185 -#, fuzzy +#: ../src/dialogs.py:2398 msgid "Invalid List Name" -msgstr "Nome de usuário inválido" +msgstr "Nome de Lista Inválido" -#: ../src/dialogs.py:2186 -#, fuzzy +#: ../src/dialogs.py:2399 msgid "You must enter a name to create a privacy list." -msgstr "Você deve entrar com uma senha para registrar uma nova conta." +msgstr "Você deve digitar um nome para criar uma lista de privacidade." -#. FIXME: use nickname instead of contact_jid -#: ../src/dialogs.py:2220 -#, fuzzy, python-format -msgid "%(contact_jid)s has invited you to group chat %(room_jid)s" -msgstr "%(contact_jid)s lhe convidou para sala %(room_jid)s" +#. Don't translate $Contact +#: ../src/dialogs.py:2433 +#, python-format +msgid "$Contact has invited you to group chat %(room_jid)s" +msgstr "$Contact convidou você para entrar na conferência %(room_jid)s" #. only if not None and not '' -#: ../src/dialogs.py:2226 +#: ../src/dialogs.py:2445 #, python-format msgid "Comment: %s" msgstr "Comentário: %s" -#: ../src/dialogs.py:2288 +#: ../src/dialogs.py:2507 msgid "Choose Sound" msgstr "Escolher Som" -#: ../src/dialogs.py:2298 ../src/dialogs.py:2343 +#: ../src/dialogs.py:2517 ../src/dialogs.py:2562 msgid "All files" msgstr "Todos os arquivos" -#: ../src/dialogs.py:2303 +#: ../src/dialogs.py:2522 msgid "Wav Sounds" msgstr "Sons Wav" -#: ../src/dialogs.py:2333 +#: ../src/dialogs.py:2552 msgid "Choose Image" msgstr "Escolha imagem" -#: ../src/dialogs.py:2348 +#: ../src/dialogs.py:2567 msgid "Images" msgstr "Imagens" -#: ../src/dialogs.py:2405 +#: ../src/dialogs.py:2624 #, python-format msgid "When %s becomes:" msgstr "Quando %s chega:" -#: ../src/dialogs.py:2407 +#: ../src/dialogs.py:2626 #, python-format msgid "Adding Special Notification for %s" msgstr "Adicionando Notificação Especial para %s" #. # means number -#: ../src/dialogs.py:2478 +#: ../src/dialogs.py:2697 msgid "#" -msgstr "" +msgstr "#" -#: ../src/dialogs.py:2484 -#, fuzzy +#: ../src/dialogs.py:2703 msgid "Condition" -msgstr "Conexão" +msgstr "Condição" -#: ../src/dialogs.py:2605 +#: ../src/dialogs.py:2824 msgid "when I am " -msgstr "" +msgstr "quando eu estiver" -#: ../src/disco.py:101 +#: ../src/disco.py:104 msgid "Others" msgstr "Outros" -#: ../src/disco.py:102 ../src/disco.py:103 ../src/disco.py:1253 -#: ../src/gajim.py:539 ../src/roster_window.py:267 ../src/roster_window.py:325 -#: ../src/roster_window.py:364 ../src/roster_window.py:445 -#: ../src/roster_window.py:477 ../src/roster_window.py:479 -#: ../src/roster_window.py:3828 ../src/roster_window.py:3830 -#: ../src/common/helpers.py:42 +#: ../src/disco.py:105 ../src/disco.py:106 ../src/disco.py:1350 +#: ../src/gajim.py:604 ../src/roster_window.py:272 ../src/roster_window.py:330 +#: ../src/roster_window.py:369 ../src/roster_window.py:451 +#: ../src/roster_window.py:483 ../src/roster_window.py:485 +#: ../src/roster_window.py:3920 ../src/roster_window.py:3922 +#: ../src/common/contacts.py:267 ../src/common/contacts.py:282 +#: ../src/common/helpers.py:43 msgid "Transports" msgstr "Transportes" #. conference is a category for listing mostly groupchats in service discovery -#: ../src/disco.py:105 +#: ../src/disco.py:108 msgid "Conference" msgstr "Conferência" -#: ../src/disco.py:418 +#: ../src/disco.py:421 msgid "Without a connection, you can not browse available services" msgstr "Você deve estar conectado para visualizar os serviços disponíveis" -#: ../src/disco.py:497 +#: ../src/disco.py:500 #, python-format msgid "Service Discovery using account %s" msgstr "Buscar Serviços usando conta %s" -#: ../src/disco.py:499 +#: ../src/disco.py:502 msgid "Service Discovery" msgstr "Buscar Serviços" @@ -3642,47 +3668,50 @@ msgstr "_Navegar" msgid "This service does not contain any items to browse." msgstr "Este serviço não contém nenhum item para navegar." -#: ../src/disco.py:1143 ../src/disco.py:1258 +#: ../src/disco.py:1147 +#, fuzzy +msgid "_Execute Command" +msgstr "_Executar Comando" + +#: ../src/disco.py:1157 ../src/disco.py:1355 msgid "Re_gister" msgstr "Re_gistrar" -#: ../src/disco.py:1295 +#: ../src/disco.py:1392 #, python-format msgid "Scanning %d / %d.." msgstr "Buscando %d / %d" #. Users column -#: ../src/disco.py:1476 +#: ../src/disco.py:1573 msgid "Users" msgstr "Usuários" #. Description column -#: ../src/disco.py:1483 +#: ../src/disco.py:1580 msgid "Description" msgstr "Descrição" #. Id column -#: ../src/disco.py:1490 +#: ../src/disco.py:1587 msgid "Id" -msgstr "" +msgstr "Id" -#: ../src/disco.py:1713 -#, fuzzy +#: ../src/disco.py:1810 msgid "Subscribed" -msgstr "Inscrever" +msgstr "Inscrito" -#: ../src/disco.py:1739 +#: ../src/disco.py:1836 msgid "New post" -msgstr "" +msgstr "Nova postagem" -#: ../src/disco.py:1745 +#: ../src/disco.py:1842 msgid "_Subscribe" msgstr "_Inscrever" -#: ../src/disco.py:1751 -#, fuzzy +#: ../src/disco.py:1848 msgid "_Unsubscribe" -msgstr "_Inscrever" +msgstr "_Desinscrever" #: ../src/filetransfers_window.py:72 msgid "File" @@ -3696,132 +3725,134 @@ msgstr "Tempo" msgid "Progress" msgstr "Progresso" -#: ../src/filetransfers_window.py:163 ../src/filetransfers_window.py:223 +#: ../src/filetransfers_window.py:161 ../src/filetransfers_window.py:215 #, python-format msgid "Filename: %s" msgstr "Nome do arquivo: %s" -#: ../src/filetransfers_window.py:164 ../src/filetransfers_window.py:298 +#: ../src/filetransfers_window.py:162 ../src/filetransfers_window.py:290 #, python-format msgid "Size: %s" msgstr "Tamanho: %s" #. You is a reply of who sent a file #. You is a reply of who received a file -#: ../src/filetransfers_window.py:173 ../src/filetransfers_window.py:183 +#: ../src/filetransfers_window.py:171 ../src/filetransfers_window.py:181 #: ../src/history_manager.py:463 msgid "You" msgstr "Você" -#: ../src/filetransfers_window.py:174 +#: ../src/filetransfers_window.py:172 #, python-format msgid "Sender: %s" msgstr "Remetente: %s" -#: ../src/filetransfers_window.py:175 ../src/filetransfers_window.py:572 -#: ../src/tooltips.py:573 +#: ../src/filetransfers_window.py:173 ../src/filetransfers_window.py:564 +#: ../src/tooltips.py:575 msgid "Recipient: " msgstr "Destinatário: " -#: ../src/filetransfers_window.py:186 +#: ../src/filetransfers_window.py:184 #, python-format msgid "Saved in: %s" msgstr "Salvo em: %s" -#: ../src/filetransfers_window.py:188 +#: ../src/filetransfers_window.py:186 msgid "File transfer completed" msgstr "Transferência de arquivos completa" -#: ../src/filetransfers_window.py:204 ../src/filetransfers_window.py:212 -msgid "File transfer canceled" +#: ../src/filetransfers_window.py:200 ../src/filetransfers_window.py:206 +msgid "File transfer cancelled" msgstr "Transferência de arquivos cancelada" -#: ../src/filetransfers_window.py:204 ../src/filetransfers_window.py:213 +#: ../src/filetransfers_window.py:200 ../src/filetransfers_window.py:207 msgid "Connection with peer cannot be established." msgstr "Conexão ponto a ponto não pode ser estabelecida." -#: ../src/filetransfers_window.py:224 -#, fuzzy, python-format +#: ../src/filetransfers_window.py:216 +#, python-format msgid "Recipient: %s" -msgstr "Destinatário: " +msgstr "Conteúdo: %s" -#: ../src/filetransfers_window.py:226 -#, fuzzy, python-format +#: ../src/filetransfers_window.py:218 +#, python-format msgid "Error message: %s" -msgstr "Entre com sua mensagem:" +msgstr "Mensagem de erro: %s" -#: ../src/filetransfers_window.py:227 -msgid "File transfer stopped by the contact of the other side" +#: ../src/filetransfers_window.py:219 +msgid "File transfer stopped by the contact at the other end" msgstr "Transferência de arquivo parada pelo contato do outro lado" -#: ../src/filetransfers_window.py:244 +#: ../src/filetransfers_window.py:236 msgid "Choose File to Send..." msgstr "Escolha o Arquivo para Enviar..." -#: ../src/filetransfers_window.py:263 +#: ../src/filetransfers_window.py:255 msgid "Gajim cannot access this file" msgstr "Gajim não pode acessar este arquivo" -#: ../src/filetransfers_window.py:264 +#: ../src/filetransfers_window.py:256 msgid "This file is being used by another process." msgstr "Este arquivo está sendo usado por outro processo." -#: ../src/filetransfers_window.py:296 +#: ../src/filetransfers_window.py:288 #, python-format msgid "File: %s" msgstr "Arquivo: %s" -#: ../src/filetransfers_window.py:301 +#: ../src/filetransfers_window.py:293 #, python-format msgid "Type: %s" msgstr "Tipo: %s" -#: ../src/filetransfers_window.py:303 +#: ../src/filetransfers_window.py:295 #, python-format msgid "Description: %s" msgstr "Descrição: %s" -#: ../src/filetransfers_window.py:304 +#: ../src/filetransfers_window.py:296 #, python-format msgid "%s wants to send you a file:" msgstr "%s quer te enviar um arquivo:" -#: ../src/filetransfers_window.py:318 ../src/gtkgui_helpers.py:683 +#: ../src/filetransfers_window.py:310 ../src/gtkgui_helpers.py:750 #, python-format msgid "Cannot overwrite existing file \"%s\"" -msgstr "" +msgstr "Não é possível sobrescrever o arquivo \"%s\"" -#: ../src/filetransfers_window.py:319 ../src/gtkgui_helpers.py:685 +#: ../src/filetransfers_window.py:311 ../src/gtkgui_helpers.py:752 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." -#: ../src/filetransfers_window.py:326 ../src/gtkgui_helpers.py:689 +#: ../src/filetransfers_window.py:318 ../src/gtkgui_helpers.py:756 msgid "This file already exists" msgstr "Este arquivo já existe" -#: ../src/filetransfers_window.py:326 ../src/gtkgui_helpers.py:689 +#: ../src/filetransfers_window.py:318 ../src/gtkgui_helpers.py:756 msgid "What do you want to do?" msgstr "O que você quer fazer?" -#: ../src/filetransfers_window.py:338 ../src/gtkgui_helpers.py:699 +#: ../src/filetransfers_window.py:330 ../src/gtkgui_helpers.py:766 #, python-format msgid "Directory \"%s\" is not writable" -msgstr "" +msgstr "O diretório \"%s\" não é gravável" -#: ../src/filetransfers_window.py:338 ../src/gtkgui_helpers.py:700 +#: ../src/filetransfers_window.py:330 ../src/gtkgui_helpers.py:767 msgid "You do not have permission to create files in this directory." -msgstr "" +msgstr "Você não tem permissão para criar este diretório" -#: ../src/filetransfers_window.py:348 +#: ../src/filetransfers_window.py:340 msgid "Save File as..." msgstr "Salvar Arquivo como..." #. Print remaining time in format 00:00:00 #. You can change the places of (hours), (minutes), (seconds) - #. they are not translatable. -#: ../src/filetransfers_window.py:429 +#: ../src/filetransfers_window.py:421 #, python-format msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" @@ -3829,60 +3860,65 @@ msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" #. This should make the string Kb/s, #. where 'Kb' part is taken from %s. #. Only the 's' after / (which means second) should be translated. -#: ../src/filetransfers_window.py:505 +#: ../src/filetransfers_window.py:497 #, python-format msgid "(%(filesize_unit)s/s)" msgstr "(%(filesize_unit)s/s)" -#: ../src/filetransfers_window.py:544 ../src/filetransfers_window.py:547 +#: ../src/filetransfers_window.py:536 ../src/filetransfers_window.py:539 msgid "Invalid File" msgstr "Arquivo inválido" -#: ../src/filetransfers_window.py:544 +#: ../src/filetransfers_window.py:536 msgid "File: " msgstr "Arquivo:" -#: ../src/filetransfers_window.py:548 +#: ../src/filetransfers_window.py:540 msgid "It is not possible to send empty files" msgstr "não é possível enviar arquivos vazios" -#: ../src/filetransfers_window.py:568 ../src/tooltips.py:563 +#: ../src/filetransfers_window.py:560 ../src/tooltips.py:565 msgid "Name: " msgstr "Nome: " -#: ../src/filetransfers_window.py:570 ../src/tooltips.py:567 +#: ../src/filetransfers_window.py:562 ../src/tooltips.py:569 msgid "Sender: " msgstr "Remetente: " -#: ../src/filetransfers_window.py:758 +#: ../src/filetransfers_window.py:750 msgid "Pause" msgstr "Pausa" #: ../src/gajim.py:47 -msgid "Gajim needs Xserver to run. Quiting..." -msgstr "Gajim necessita do Xserver para rodar. Encerrando..." +#, python-format +msgid "%s is not a valid loglevel" +msgstr "%s não é um nível de registro (loglevel) válido" -#: ../src/gajim.py:51 -msgid "Gajim needs PyGTK 2.6 or above" -msgstr "Gajim necessita PyGTK 2.6 ou acima" +#: ../src/gajim.py:122 +msgid "Gajim needs X server to run. Quiting..." +msgstr "O Gajim necessita do servidor X para rodar. Encerrando..." -#: ../src/gajim.py:52 -msgid "Gajim needs PyGTK 2.6 or above to run. Quiting..." -msgstr "Gajim necessita PyGTK 2.6 ou acima para rodar. Encerrando..." +#: ../src/gajim.py:126 +msgid "Gajim needs PyGTK 2.8 or above" +msgstr "O Gajim necessita do PyGTK 2.8 ou superior" -#: ../src/gajim.py:54 -msgid "Gajim needs GTK 2.6 or above" -msgstr "Gajim necessita GTK 2.6 ou acima" +#: ../src/gajim.py:127 +msgid "Gajim needs PyGTK 2.8 or above to run. Quiting..." +msgstr "O Gajim necessita do PyGTK 2.8 ou superior para rodar. Encerrando..." -#: ../src/gajim.py:55 -msgid "Gajim needs GTK 2.6 or above to run. Quiting..." -msgstr "Gajim necessita GTK 2.6 ou acima para rodar. Encerrando..." +#: ../src/gajim.py:129 +msgid "Gajim needs GTK 2.8 or above" +msgstr "O Gajim necessita do GTK 2.8 ou superior" -#: ../src/gajim.py:60 +#: ../src/gajim.py:130 +msgid "Gajim needs GTK 2.8 or above to run. Quiting..." +msgstr "O Gajim necessita do GTK 2.8 ou superior para rodar. Encerrando..." + +#: ../src/gajim.py:135 msgid "GTK+ runtime is missing libglade support" msgstr "Não existe suporte para libglade no GTK+ runtime" -#: ../src/gajim.py:62 +#: ../src/gajim.py:137 #, python-format msgid "" "Please remove your current GTK+ runtime and install the latest stable " @@ -3891,217 +3927,238 @@ msgstr "" "Por favor remova seu GTK+ runtime atual e instale a última versão estável de " "%s" -#: ../src/gajim.py:64 +#: ../src/gajim.py:139 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 tem suporte ao libglade em " "seu sistema." -#: ../src/gajim.py:69 +#: ../src/gajim.py:144 msgid "Gajim needs PySQLite2 to run" msgstr "Gajim necessita de PySQLite2 para rodar" -#: ../src/gajim.py:77 -#, fuzzy +#: ../src/gajim.py:152 msgid "Gajim needs pywin32 to run" -msgstr "Gajim necessita de PySQLite2 para rodar" +msgstr "O Gajim precisa do pywin32 para rodar" -#: ../src/gajim.py:78 +#: ../src/gajim.py:153 #, python-format msgid "" "Please make sure that Pywin32 is installed on your system. You can get it at " "%s" msgstr "" +"Por favor certifique-se de que o PyWin32 está instalado em seu sistema. Você " +"pode obtê-lo em %s" #. set the icon to all newly opened wind -#: ../src/gajim.py:238 +#: ../src/gajim.py:300 msgid "Gajim is already running" -msgstr "" +msgstr "O Gajim já está em execução" -#: ../src/gajim.py:239 +#: ../src/gajim.py:301 msgid "" "Another instance of Gajim seems to be running\n" "Run anyway?" msgstr "" +"Outra instância do Gajim parece estar rodando\n" +"Executar de qualquer forma?" -#: ../src/gajim.py:346 +#: ../src/gajim.py:408 #, python-format msgid "HTTP (%s) Authorization for %s (id: %s)" msgstr "Autorização HTTP (%s) para %s (id: %s)" -#: ../src/gajim.py:347 +#: ../src/gajim.py:409 msgid "Do you accept this request?" msgstr "Você aceita a solicitação?" -#: ../src/gajim.py:393 ../src/notify.py:430 -#, fuzzy +#: ../src/gajim.py:455 ../src/notify.py:435 msgid "Connection Failed" -msgstr "Conexão" +msgstr "Falha na Conexão" -#: ../src/gajim.py:706 -#, fuzzy, python-format +#: ../src/gajim.py:775 +#, python-format msgid "Subject: %s" -msgstr "Assunto: %s\n" +msgstr "Assunto: %s" #. ('MSGNOTSENT', account, (jid, ierror_msg, msg, time)) -#: ../src/gajim.py:751 ../src/gajim.py:764 +#: ../src/gajim.py:820 ../src/gajim.py:833 #, python-format msgid "error while sending %s ( %s )" msgstr "erro no envio %s ( %s )" -#: ../src/gajim.py:797 +#: ../src/gajim.py:866 msgid "Authorization accepted" msgstr "Autorização aceita" -#: ../src/gajim.py:798 +#: ../src/gajim.py:867 #, python-format msgid "The contact \"%s\" has authorized you to see his or her status." msgstr "O contato \"%s\" autorizou você para ver seu status." -#: ../src/gajim.py:806 +#: ../src/gajim.py:875 #, python-format msgid "Contact \"%s\" removed subscription from you" msgstr "Contato \"%s\" removeu sua inscrição" -#: ../src/gajim.py:807 +#: ../src/gajim.py:876 msgid "You will always see him or her as offline." msgstr "Você sempre o verá como offline." -#: ../src/gajim.py:850 +#: ../src/gajim.py:920 #, python-format msgid "Contact with \"%s\" cannot be established" msgstr "Contato com \"%s\" não pode ser estabelecido" -#: ../src/gajim.py:851 ../src/common/connection.py:406 +#: ../src/gajim.py:921 ../src/common/connection.py:435 msgid "Check your connection or try again later." msgstr "Verifique sua conexão ou tente novamente mais tarde." -#: ../src/gajim.py:999 ../src/roster_window.py:1197 +#: ../src/gajim.py:1070 ../src/roster_window.py:1218 #, python-format msgid "%s is now %s (%s)" msgstr "%s agora está %s (%s)" -#: ../src/gajim.py:1096 +#. No status message +#: ../src/gajim.py:1073 ../src/groupchat_control.py:968 +#: ../src/roster_window.py:1221 +#, python-format +msgid "%s is now %s" +msgstr "%s agora está %s" + +#: ../src/gajim.py:1170 msgid "Your passphrase is incorrect" msgstr "Sua frase de acesso está incorreta" -#: ../src/gajim.py:1097 +#: ../src/gajim.py:1171 msgid "You are currently connected without your OpenPGP key." msgstr "Você está atualmente conectado sem sua chave OpenPGP." -#: ../src/gajim.py:1199 -#, fuzzy, python-format +#: ../src/gajim.py:1274 +#, python-format msgid "New mail on %(gmail_mail_address)s" -msgstr "Novo E-mail em %(gmail_mail_address)s" +msgstr "Novo email em %(gmail_mail_address)s" -#: ../src/gajim.py:1201 -#, fuzzy, python-format +#: ../src/gajim.py:1276 +#, python-format msgid "You have %d new mail conversation" msgid_plural "You have %d new mail conversations" -msgstr[0] "Você tem %d nova mensagem de E-mail" -msgstr[1] "Você tem %d novas mensagens de E-mail" +msgstr[0] "Você tem %d nova mensagem de email" +msgstr[1] "Você tem %d novas mensagens de email" #. FIXME: emulate Gtalk client popups. find out what they parse and how #. they decide what to show #. each message has a 'From', 'Subject' and 'Snippet' field -#: ../src/gajim.py:1210 +#: ../src/gajim.py:1285 #, python-format msgid "" "\n" "From: %(from_address)s" msgstr "" +"\n" +"De: %(from_address)s" -#: ../src/gajim.py:1366 +#: ../src/gajim.py:1441 #, python-format msgid "%s wants to send you a file." msgstr "%s quer te enviar um arquivo:" -#: ../src/gajim.py:1431 +#: ../src/gajim.py:1506 #, python-format msgid "You successfully received %(filename)s from %(name)s." msgstr "Você recebeu com sucesso %(filename)s de %(name)s." #. ft stopped -#: ../src/gajim.py:1435 +#: ../src/gajim.py:1510 #, python-format msgid "File transfer of %(filename)s from %(name)s stopped." msgstr "Transferência de arquivo de %(filename)s de %(name)s parou." -#: ../src/gajim.py:1448 +#: ../src/gajim.py:1523 #, python-format msgid "You successfully sent %(filename)s to %(name)s." msgstr "Você enviou com sucesso o %(filename)s a %(name)s." #. ft stopped -#: ../src/gajim.py:1452 +#: ../src/gajim.py:1527 #, python-format msgid "File transfer of %(filename)s to %(name)s stopped." msgstr "Transferência de arquivo de %(filename)s to %(name)s parado." -#: ../src/gajim.py:1558 +#: ../src/gajim.py:1640 msgid "Username Conflict" +msgstr "Conflito de nome de usuário" + +#: ../src/gajim.py:1641 +msgid "Please type a new username for your local account" +msgstr "Por favor digite um novo nome de usuário para sua conta local" + +#: ../src/gajim.py:1658 +msgid "Ping?" msgstr "" -#: ../src/gajim.py:1559 -#, fuzzy -msgid "Please type a new username for your local account" -msgstr "Por favor preencha os dados para sua nova conta" +#: ../src/gajim.py:1666 +#, python-format +msgid "Pong! (%s s.)" +msgstr "" + +#: ../src/gajim.py:1672 +msgid "Error." +msgstr "" #. it is good to notify the user #. in case he or she cannot see the output of the console -#: ../src/gajim.py:1898 +#: ../src/gajim.py:2012 msgid "Could not save your settings and preferences" msgstr "Impossível salvar suas preferências" -#: ../src/gajim.py:2090 -#, fuzzy +#: ../src/gajim.py:2211 msgid "Network Manager support not available" -msgstr "Uma conexão não está disponível" +msgstr "Não há suporte disponível para o Network Manager" -#: ../src/gajim.py:2165 +#: ../src/gajim.py:2290 msgid "Session Management support not available (missing gnome.ui module)" msgstr "" "Suporte de gerenciamento da sessão não disponível (faltando o módulo gnome." "ui)" -#: ../src/gajim-remote.py:66 -#, fuzzy +#: ../src/gajim-remote.py:65 msgid "Shows a help on specific command" -msgstr "mostrar ajuda para um comando específico" +msgstr "Mostra uma ajuda para um comando específico" #. User gets help for the command, specified by this parameter -#: ../src/gajim-remote.py:69 +#: ../src/gajim-remote.py:68 msgid "command" msgstr "comando" -#: ../src/gajim-remote.py:70 +#: ../src/gajim-remote.py:69 msgid "show help on command" msgstr "mostrar ajuda no comando" -#: ../src/gajim-remote.py:74 +#: ../src/gajim-remote.py:73 msgid "Shows or hides the roster window" msgstr "Mostrar ou esconder a janela principal" -#: ../src/gajim-remote.py:78 -#, fuzzy -msgid "Popups a window with the next pending event" -msgstr "Mostrar uma janela com a próxima mensagem não lida" +#: ../src/gajim-remote.py:77 +msgid "Pops up a window with the next pending event" +msgstr "Exibir uma janela popup com o próximo evento pendente" -#: ../src/gajim-remote.py:82 +#: ../src/gajim-remote.py:81 msgid "" -"Prints a list of all contacts in the roster. Each contact appear on a " +"Prints a list of all contacts in the roster. Each contact appears on a " "separate line" msgstr "" -"Imprimir uma lista de todos os contatos na lista. Cada contato aparecerá em " +"Exibir uma lista de todos os contatos na lista. Cada contato aparecerá em " "uma linha separada" -#: ../src/gajim-remote.py:84 ../src/gajim-remote.py:98 -#: ../src/gajim-remote.py:108 ../src/gajim-remote.py:121 -#: ../src/gajim-remote.py:135 ../src/gajim-remote.py:156 -#: ../src/gajim-remote.py:186 ../src/gajim-remote.py:195 -#: ../src/gajim-remote.py:202 ../src/gajim-remote.py:209 -#: ../src/gajim-remote.py:220 +#: ../src/gajim-remote.py:84 ../src/gajim-remote.py:99 +#: ../src/gajim-remote.py:109 ../src/gajim-remote.py:122 +#: ../src/gajim-remote.py:136 ../src/gajim-remote.py:157 +#: ../src/gajim-remote.py:187 ../src/gajim-remote.py:196 +#: ../src/gajim-remote.py:203 ../src/gajim-remote.py:210 +#: ../src/gajim-remote.py:221 ../src/gajim-remote.py:237 +#: ../src/gajim-remote.py:246 msgid "account" msgstr "conta" @@ -4109,34 +4166,34 @@ msgstr "conta" msgid "show only contacts of the given account" msgstr "mostrar somente os contatos desta conta" -#: ../src/gajim-remote.py:89 +#: ../src/gajim-remote.py:90 msgid "Prints a list of registered accounts" msgstr "Imprimir uma lista das contas registradas" -#: ../src/gajim-remote.py:93 +#: ../src/gajim-remote.py:94 msgid "Changes the status of account or accounts" msgstr "Mudar o status da conta ou contas" #. offline, online, chat, away, xa, dnd, invisible should not be translated -#: ../src/gajim-remote.py:96 +#: ../src/gajim-remote.py:97 msgid "status" msgstr "status" -#: ../src/gajim-remote.py:96 +#: ../src/gajim-remote.py:97 msgid "one of: offline, online, chat, away, xa, dnd, invisible " msgstr "" "um desses: desconectado, conectado, bate-papo, inativo, fora, np, invisível" -#: ../src/gajim-remote.py:97 ../src/gajim-remote.py:118 -#: ../src/gajim-remote.py:132 +#: ../src/gajim-remote.py:98 ../src/gajim-remote.py:119 +#: ../src/gajim-remote.py:133 msgid "message" msgstr "mensagem" -#: ../src/gajim-remote.py:97 +#: ../src/gajim-remote.py:98 msgid "status message" msgstr "mensagem de status" -#: ../src/gajim-remote.py:98 +#: ../src/gajim-remote.py:99 msgid "" "change status of account \"account\". If not specified, try to change status " "of all accounts that have \"sync with global status\" option set" @@ -4145,199 +4202,218 @@ msgstr "" "status de todas as contas existentes com a opção \"sincronizar com status " "global\" marcada" -#: ../src/gajim-remote.py:104 +#: ../src/gajim-remote.py:105 msgid "Shows the chat dialog so that you can send messages to a contact" msgstr "" "Mostrar o diálogo do bate-papo onde você pode enviar mensagens para um " "contato" -#: ../src/gajim-remote.py:106 +#: ../src/gajim-remote.py:107 msgid "JID of the contact that you want to chat with" msgstr "JID do contato que você quer conversar" -#: ../src/gajim-remote.py:108 ../src/gajim-remote.py:186 +#: ../src/gajim-remote.py:109 ../src/gajim-remote.py:187 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" -#: ../src/gajim-remote.py:113 -#, fuzzy +#: ../src/gajim-remote.py:114 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. Tanto a chave OpenPGP e a " -"conta são opcionais. Se vc quer configurar somente a 'conta', sem a 'chave " -"pgp', apenas configure a 'chave pgp' para ''." +"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 ''." -#: ../src/gajim-remote.py:117 ../src/gajim-remote.py:130 +#: ../src/gajim-remote.py:118 ../src/gajim-remote.py:131 msgid "JID of the contact that will receive the message" msgstr "JID do contato que irá receber a mensagem" -#: ../src/gajim-remote.py:118 ../src/gajim-remote.py:132 +#: ../src/gajim-remote.py:119 ../src/gajim-remote.py:133 msgid "message contents" msgstr "conteúdos da mensagem" -#: ../src/gajim-remote.py:119 ../src/gajim-remote.py:133 +#: ../src/gajim-remote.py:120 ../src/gajim-remote.py:134 msgid "pgp key" msgstr "chave pgp" -#: ../src/gajim-remote.py:119 ../src/gajim-remote.py:133 +#: ../src/gajim-remote.py:120 ../src/gajim-remote.py:134 msgid "if specified, the message will be encrypted using this public key" msgstr "" "se especificada, a mensagem será criptografada usando esta chave pública" -#: ../src/gajim-remote.py:121 ../src/gajim-remote.py:135 +#: ../src/gajim-remote.py:122 ../src/gajim-remote.py:136 msgid "if specified, the message will be sent using this account" msgstr "se especificada, a mensagem será enviada usando esta conta" -#: ../src/gajim-remote.py:126 -#, fuzzy +#: ../src/gajim-remote.py:127 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 nova mensagem para um contato na lista. Tanto a chave OpenPGP e a " -"conta são opcionais. Se vc quer configurar somente a 'conta', sem a 'chave " -"pgp', apenas configure a 'chave pgp' para ''." +"Envia uma 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 OpenPGP' para ''." -#: ../src/gajim-remote.py:131 -#, fuzzy +#: ../src/gajim-remote.py:132 msgid "subject" -msgstr "Assunto" +msgstr "assunto" -#: ../src/gajim-remote.py:131 -#, fuzzy +#: ../src/gajim-remote.py:132 msgid "message subject" -msgstr "Mensagem Enviada" +msgstr "assunto da mensagem" -#: ../src/gajim-remote.py:140 +#: ../src/gajim-remote.py:141 msgid "Gets detailed info on a contact" msgstr "Informações detalhadas do contato" -#: ../src/gajim-remote.py:142 ../src/gajim-remote.py:155 -#: ../src/gajim-remote.py:185 ../src/gajim-remote.py:194 +#: ../src/gajim-remote.py:143 ../src/gajim-remote.py:156 +#: ../src/gajim-remote.py:186 ../src/gajim-remote.py:195 msgid "JID of the contact" msgstr "JID do contato" -#: ../src/gajim-remote.py:146 +#: ../src/gajim-remote.py:147 msgid "Gets detailed info on a account" msgstr "Informações detalhadas do contato" -#: ../src/gajim-remote.py:148 +#: ../src/gajim-remote.py:149 msgid "Name of the account" msgstr "Nome da conta" -#: ../src/gajim-remote.py:152 +#: ../src/gajim-remote.py:153 msgid "Sends file to a contact" msgstr "Enviar arquivo para um contato" -#: ../src/gajim-remote.py:154 +#: ../src/gajim-remote.py:155 msgid "file" msgstr "arquivo" -#: ../src/gajim-remote.py:154 +#: ../src/gajim-remote.py:155 msgid "File path" msgstr "Caminho do arquivo" -#: ../src/gajim-remote.py:156 +#: ../src/gajim-remote.py:157 msgid "if specified, file will be sent using this account" msgstr "se especificada, arquivo irá ser enviado usando esta conta" -#: ../src/gajim-remote.py:161 +#: ../src/gajim-remote.py:162 msgid "Lists all preferences and their values" msgstr "Lista todas as preferências e seus valores" -#: ../src/gajim-remote.py:165 +#: ../src/gajim-remote.py:166 msgid "Sets value of 'key' to 'value'." msgstr "Ajusta o valor da 'chave' ao 'valor '." -#: ../src/gajim-remote.py:167 +#: ../src/gajim-remote.py:168 msgid "key=value" msgstr "chave=valor" -#: ../src/gajim-remote.py:167 +#: ../src/gajim-remote.py:168 msgid "'key' is the name of the preference, 'value' is the value to set it to" msgstr "'chave' é o nome de preferência, 'valor' é o valor para ajustá-la" -#: ../src/gajim-remote.py:172 +#: ../src/gajim-remote.py:173 msgid "Deletes a preference item" msgstr "Deleta um item de preferência" -#: ../src/gajim-remote.py:174 +#: ../src/gajim-remote.py:175 msgid "key" msgstr "chave" -#: ../src/gajim-remote.py:174 +#: ../src/gajim-remote.py:175 msgid "name of the preference to be deleted" msgstr "nome da preferência a ser deletado" -#: ../src/gajim-remote.py:178 +#: ../src/gajim-remote.py:179 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" -#: ../src/gajim-remote.py:183 +#: ../src/gajim-remote.py:184 msgid "Removes contact from roster" msgstr "Remover contato da lista" -#: ../src/gajim-remote.py:192 +#: ../src/gajim-remote.py:193 msgid "Adds contact to roster" msgstr "Adicionar contato para a lista" -#: ../src/gajim-remote.py:194 -msgid "jid" -msgstr "" - #: ../src/gajim-remote.py:195 -#, fuzzy +msgid "jid" +msgstr "JID" + +#: ../src/gajim-remote.py:196 msgid "Adds new contact to this account" msgstr "Adicionar novo contato para esta conta" -#: ../src/gajim-remote.py:200 +#: ../src/gajim-remote.py:201 msgid "Returns current status (the global one unless account is specified)" msgstr "Retorna o status atual (global a menos que o cliente for especificado)" -#: ../src/gajim-remote.py:207 +#: ../src/gajim-remote.py:208 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)" -#: ../src/gajim-remote.py:214 -msgid "Returns number of unreaded messages" +#: ../src/gajim-remote.py:215 +msgid "Returns number of unread messages" msgstr "Retorna o número das mensagens não lidas" -#: ../src/gajim-remote.py:218 +#: ../src/gajim-remote.py:219 msgid "Opens 'Start Chat' dialog" -msgstr "" +msgstr "Abrir o diálogo 'Iniciar Conversa'" -#: ../src/gajim-remote.py:220 -#, fuzzy +#: ../src/gajim-remote.py:221 msgid "Starts chat, using this account" -msgstr "Iniciar uma conferência com a conta %s" +msgstr "Iniciar conversa, usando esta conta" -#: ../src/gajim-remote.py:224 +#: ../src/gajim-remote.py:225 msgid "Sends custom XML" -msgstr "" - -#: ../src/gajim-remote.py:226 -#, fuzzy -msgid "XML to send" -msgstr "Console XML" +msgstr "Envia XML personalizado" #: ../src/gajim-remote.py:227 +msgid "XML to send" +msgstr "XML a enviar" + +#: ../src/gajim-remote.py:228 msgid "" "Account in which the xml will be sent; if not specified, xml will be sent to " "all accounts" msgstr "" +"A conta em que o XML será enviado; se não estiver especificado, será enviado " +"para todas as contas" -#: ../src/gajim-remote.py:249 +#: ../src/gajim-remote.py:234 +msgid "Handle a xmpp:/ uri" +msgstr "Manipular uma URI xmpp:/" + +#: ../src/gajim-remote.py:236 +msgid "uri" +msgstr "URI" + +#: ../src/gajim-remote.py:241 +msgid "Join a MUC room" +msgstr "Entrar em uma sala MUC" + +#: ../src/gajim-remote.py:243 +msgid "room" +msgstr "sala" + +#: ../src/gajim-remote.py:244 +msgid "nick" +msgstr "apelido" + +#: ../src/gajim-remote.py:245 +msgid "password" +msgstr "senha" + +#: ../src/gajim-remote.py:268 msgid "Missing argument \"contact_jid\"" msgstr "Argumento não informado \"contact_jid\"" -#: ../src/gajim-remote.py:268 +#: ../src/gajim-remote.py:287 #, python-format msgid "" "'%s' is not in your roster.\n" @@ -4346,11 +4422,11 @@ msgstr "" "'%s' não está em sua lista.\n" "Por favor, especifique a conta para enviar a mensagem." -#: ../src/gajim-remote.py:271 +#: ../src/gajim-remote.py:290 msgid "You have no active account" msgstr "Você não tem uma conta ativa" -#: ../src/gajim-remote.py:335 +#: ../src/gajim-remote.py:354 #, python-format msgid "" "Usage: %s %s %s \n" @@ -4359,16 +4435,16 @@ msgstr "" "Uso: %s %s %s \n" "\t %s" -#: ../src/gajim-remote.py:338 +#: ../src/gajim-remote.py:357 msgid "Arguments:" msgstr "Argumentos:" -#: ../src/gajim-remote.py:342 +#: ../src/gajim-remote.py:361 #, python-format msgid "%s not found" msgstr "%s não encontrado" -#: ../src/gajim-remote.py:346 +#: ../src/gajim-remote.py:365 #, python-format msgid "" "Usage: %s command [arguments]\n" @@ -4377,7 +4453,16 @@ msgstr "" "Uso: %s comando [argumentos]\n" "Comando é um desses:\n" -#: ../src/gajim-remote.py:420 +#: ../src/gajim-remote.py:438 +#, python-format +msgid "" +"Too many arguments. \n" +"Type \"%s help %s\" for more info" +msgstr "" +"Muitos argumentos.\n" +"Digite \"%s help %s\" para mais informações" + +#: ../src/gajim-remote.py:442 #, python-format msgid "" "Argument \"%s\" is not specified. \n" @@ -4386,6 +4471,10 @@ msgstr "" "Argumento \"%s\" não está especificado. \n" "Tipo \"%s ajuda %s\" para maiores informações" +#: ../src/gajim-remote.py:460 +msgid "Wrong uri" +msgstr "URI incorreta" + #: ../src/gajim_themes_window.py:60 msgid "Theme" msgstr "Tema" @@ -4403,145 +4492,122 @@ msgstr "Você não pode apagar o seu tema corrente" msgid "Please first choose another for your current theme." msgstr "Por favor escolha outro para seu tema corrente." -#: ../src/groupchat_control.py:106 -msgid "Private Chat" -msgstr "Conversa Privada" - -#: ../src/groupchat_control.py:106 -msgid "Private Chats" -msgstr "ConversasPrivada" - -#: ../src/groupchat_control.py:123 +#: ../src/groupchat_control.py:122 msgid "Sending private message failed" msgstr "Falha ao Enviar uma mensagem privada" #. in second %s code replaces with nickname -#: ../src/groupchat_control.py:125 -#, fuzzy, python-format +#: ../src/groupchat_control.py:124 +#, python-format msgid "You are no longer in group chat \"%s\" or \"%s\" has left." -msgstr "Você não esta mais na sala \"%s\" ou \"%s\" saiu." +msgstr "Você não está mais na sala \"%s\" ou \"%s\" saiu." -#: ../src/groupchat_control.py:144 -msgid "Group Chat" -msgstr "Conferência" - -#: ../src/groupchat_control.py:144 -msgid "Group Chats" -msgstr "Conferências" - -#: ../src/groupchat_control.py:318 -#, fuzzy +#: ../src/groupchat_control.py:322 msgid "Insert Nickname" -msgstr "Mudar _Apelido" +msgstr "Inserir Apelido" #. do not print 'kicked by None' -#: ../src/groupchat_control.py:831 +#: ../src/groupchat_control.py:850 #, python-format msgid "%(nick)s has been kicked: %(reason)s" msgstr "%(nick)s foi chutado: %(reason)s" -#: ../src/groupchat_control.py:835 +#: ../src/groupchat_control.py:854 #, python-format msgid "%(nick)s has been kicked by %(who)s: %(reason)s" msgstr "%(nick)s foi chutado por %(who)s: %(reason)s" #. do not print 'banned by None' -#: ../src/groupchat_control.py:842 +#: ../src/groupchat_control.py:861 #, python-format msgid "%(nick)s has been banned: %(reason)s" msgstr "%(nick)s foi banido: %(reason)s" -#: ../src/groupchat_control.py:846 +#: ../src/groupchat_control.py:865 #, python-format msgid "%(nick)s has been banned by %(who)s: %(reason)s" msgstr "%(nick)s foi banido por %(who)s: %(reason)s" -#: ../src/groupchat_control.py:854 +#: ../src/groupchat_control.py:873 #, python-format msgid "You are now known as %s" msgstr "Você agora é conhecido como %s" -#: ../src/groupchat_control.py:856 +#: ../src/groupchat_control.py:875 #, python-format msgid "%s is now known as %s" msgstr "%s agora é conhecido como %s" -#: ../src/groupchat_control.py:936 +#: ../src/groupchat_control.py:961 #, python-format msgid "%s has left" msgstr "%s saiu da sala" -#: ../src/groupchat_control.py:941 -#, fuzzy, python-format -msgid "%s has joined the group chat" -msgstr "Neste grupo" - -#. No status message -#: ../src/groupchat_control.py:943 ../src/roster_window.py:1200 +#: ../src/groupchat_control.py:966 #, python-format -msgid "%s is now %s" -msgstr "%s agora está %s" +msgid "%s has joined the group chat" +msgstr "%s entrou na conferência" -#: ../src/groupchat_control.py:1062 ../src/groupchat_control.py:1080 -#: ../src/groupchat_control.py:1173 ../src/groupchat_control.py:1190 +#: ../src/groupchat_control.py:1088 ../src/groupchat_control.py:1106 +#: ../src/groupchat_control.py:1199 ../src/groupchat_control.py:1216 #, python-format msgid "Nickname not found: %s" msgstr "Apelido não encontrado: %s" -#: ../src/groupchat_control.py:1096 -#, fuzzy +#: ../src/groupchat_control.py:1122 msgid "This group chat has no subject" -msgstr "Esta sala não tem assunto" +msgstr "Esta conferência não tem assunto" -#: ../src/groupchat_control.py:1109 +#: ../src/groupchat_control.py:1135 #, python-format msgid "Invited %(contact_jid)s to %(room_jid)s." msgstr "Convidado %(contact_jid)s para %(room_jid)s." #. %s is something the user wrote but it is not a jid so we inform -#: ../src/groupchat_control.py:1116 ../src/groupchat_control.py:1144 +#: ../src/groupchat_control.py:1142 ../src/groupchat_control.py:1170 #, python-format msgid "%s does not appear to be a valid JID" msgstr "%s não parece ser um JID válido" -#: ../src/groupchat_control.py:1227 +#: ../src/groupchat_control.py:1253 #, python-format msgid "No such command: /%s (if you want to send this, prefix it with /say)" msgstr "" "Comando não encontrado: /%s (se você quer enviar isto, use este prefixo /say)" -#: ../src/groupchat_control.py:1250 +#: ../src/groupchat_control.py:1276 #, python-format msgid "Commands: %s" msgstr "Comandos: %s" -#: ../src/groupchat_control.py:1252 -#, fuzzy, python-format +#: ../src/groupchat_control.py:1279 +#, python-format 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 "" -"Uso: /%s [ razão ], JID banido da sala. O apelido de um " -"ocupante pode ser substituído, mas se não conter \"@\". Se o JID estiver " -"atualmente na sala, ele/ela será chutado também. Não suporta espaços no " -"apelido." +"Uso: /%s [ razão ], expulsa o JID da conferência. O apelido de " +"um ocupante pode ser substituído, mas não se contiver \"@\". Se o JID " +"estiver atualmente na sala, ele/ela será chutado também. NÃO suporta " +"espaços no apelido." -#: ../src/groupchat_control.py:1259 +#: ../src/groupchat_control.py:1286 #, python-format msgid "" -"Usage: /%s , opens a private chat window to the specified occupant." +"Usage: /%s , opens a private chat window with the specified " +"occupant." msgstr "" -"Uso: /%s , abre uma janela de conferência privada para um ocupante " +"Uso: /%s , abre uma janela de conferência privada com um ocupante " "específico." -#: ../src/groupchat_control.py:1263 +#: ../src/groupchat_control.py:1290 #, python-format msgid "Usage: /%s, clears the text window." msgstr "Uso: /%s, apaga o texto da janela." -#: ../src/groupchat_control.py:1265 +#: ../src/groupchat_control.py:1292 #, python-format msgid "" "Usage: /%s [reason], closes the current window or tab, displaying reason if " @@ -4550,13 +4616,13 @@ msgstr "" "Uso: /%s [rasão], fecha a janela corrente ou a aba, mostrando a razão se " "especificada." -#: ../src/groupchat_control.py:1268 +#: ../src/groupchat_control.py:1295 #, python-format msgid "Usage: /%s, hide the chat buttons." msgstr "Uso: /%s, esconde os botões do bate-papo." -#: ../src/groupchat_control.py:1271 -#, fuzzy, python-format +#: ../src/groupchat_control.py:1298 +#, python-format msgid "" "Usage: /%s [reason], invites JID to the current group chat, optionally " "providing a reason." @@ -4564,7 +4630,7 @@ msgstr "" "Uso: /%s [ razão ], convida JID à sala atual, fornecendo " "opcionalmente uma razão." -#: ../src/groupchat_control.py:1275 +#: ../src/groupchat_control.py:1302 #, python-format msgid "" "Usage: /%s @[/nickname], offers to join room@server optionally " @@ -4573,18 +4639,18 @@ msgstr "" "Uso: /%s @[/apelido], oferece para entrar na sala@servidor " "opcionalmente usando um apelido específico." -#: ../src/groupchat_control.py:1279 -#, fuzzy, python-format +#: ../src/groupchat_control.py:1306 +#, python-format 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 "" -"Uso: /%s [razão], remove o ocupante especificado pelo apelido da " -"sala e indica opcionalmente uma razão. Não suporta espaços no apelido." +"Uso: /%s [razão], remove da sala o ocupante especificado pelo " +"apelido e indica opcionalmente uma razão. Não suporta espaços no apelido." -#: ../src/groupchat_control.py:1284 -#, fuzzy, python-format +#: ../src/groupchat_control.py:1311 +#, python-format msgid "" "Usage: /%s , sends action to the current group chat. Use third " "person. (e.g. /%s explodes.)" @@ -4592,103 +4658,120 @@ msgstr "" "Uso: /%s , emite a ação à sala atual. Use a terceira pessoa (por " "exemplo: /%s explodes.)" -#: ../src/groupchat_control.py:1288 +#: ../src/groupchat_control.py:1315 #, python-format msgid "" -"Usage: /%s [message], opens a private message windowand sends " +"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 especificado pelo apelido." -#: ../src/groupchat_control.py:1293 -#, fuzzy, python-format +#: ../src/groupchat_control.py:1320 +#, python-format msgid "Usage: /%s , changes your nickname in current group chat." msgstr "Uso: /%s , muda seu apelido na sala corrente." -#: ../src/groupchat_control.py:1297 -#, fuzzy, python-format +#: ../src/groupchat_control.py:1324 +#, python-format msgid "Usage: /%s , display the names of group chat occupants." msgstr "Uso: /%s [tópico], mostra ou atualiza o tópico da sala atual." -#: ../src/groupchat_control.py:1301 -#, fuzzy, python-format +#: ../src/groupchat_control.py:1328 +#, python-format msgid "Usage: /%s [topic], displays or updates the current group chat topic." msgstr "Uso: /%s [tópico], mostra ou atualiza o tópico da sala atual." -#: ../src/groupchat_control.py:1304 +#: ../src/groupchat_control.py:1331 #, python-format msgid "" "Usage: /%s , sends a message without looking for other commands." msgstr "" "Uso: /%s , envia uma mensagem sem procurar por outros comandos." -#: ../src/groupchat_control.py:1307 +#: ../src/groupchat_control.py:1334 #, python-format msgid "No help info for /%s" msgstr "Sem ajuda para /%s" -#: ../src/groupchat_control.py:1356 -#, fuzzy, python-format +#: ../src/groupchat_control.py:1397 +#, python-format msgid "Are you sure you want to leave group chat \"%s\"?" -msgstr "Você tem certeza que quer deixar a sala \"%s\"?" +msgstr "Você tem certeza que quer deixar a conferência \"%s\"?" -#: ../src/groupchat_control.py:1358 -#, fuzzy +#: ../src/groupchat_control.py:1399 msgid "" "If you close this window, you will be disconnected from this group chat." -msgstr "Se você fechar esta janela, você será desconectado desta sala." +msgstr "Se você fechar esta janela, será desconectado desta conferência." -#: ../src/groupchat_control.py:1362 ../src/roster_window.py:3962 +#: ../src/groupchat_control.py:1403 ../src/roster_window.py:4066 msgid "Do _not ask me again" msgstr "_Não me pergunte novamente" -#: ../src/groupchat_control.py:1396 +#: ../src/groupchat_control.py:1437 msgid "Changing Subject" msgstr "Mudando Assunto" -#: ../src/groupchat_control.py:1397 +#: ../src/groupchat_control.py:1438 msgid "Please specify the new subject:" msgstr "Por favor, especifique o novo assunto:" -#: ../src/groupchat_control.py:1406 +#: ../src/groupchat_control.py:1447 msgid "Changing Nickname" msgstr "Mudando Apelido" -#: ../src/groupchat_control.py:1407 +#: ../src/groupchat_control.py:1448 msgid "Please specify the new nickname you want to use:" msgstr "Por favor, especifique o novo apelido que você quer usar:" -#: ../src/groupchat_control.py:1432 +#. Ask for a reason +#: ../src/groupchat_control.py:1463 +#, python-format +msgid "Destroying %s" +msgstr "Excluindo %s" + +#: ../src/groupchat_control.py:1464 +msgid "" +"You are going to definitively destroy this room.\n" +"You may specify a reason below:" +msgstr "" +"Você está prestes a excluir definitivamente esta sala.\n" +"Você deve especificar uma justificativa abaixo:" + +#: ../src/groupchat_control.py:1466 +msgid "You may also enter an alternate venue:" +msgstr "Você também pode entrar um ponto de encontro alternativo:" + +#: ../src/groupchat_control.py:1496 msgid "Bookmark already set" msgstr "Bookmark já configurado" -#: ../src/groupchat_control.py:1433 -#, fuzzy, python-format +#: ../src/groupchat_control.py:1497 +#, python-format msgid "Group Chat \"%s\" is already in your bookmarks." -msgstr "Sala \"%s\" já existe nos bookmarks." +msgstr "A sala \"%s\" já existe nos favoritos." -#: ../src/groupchat_control.py:1442 +#: ../src/groupchat_control.py:1506 msgid "Bookmark has been added successfully" msgstr "Bookmark foi adicionado com sucesso" -#: ../src/groupchat_control.py:1443 +#: ../src/groupchat_control.py:1507 msgid "You can manage your bookmarks via Actions menu in your roster." msgstr "" "Você pode gerenciar seus bookmarks pelo menu de Ações na janela principal." #. ask for reason -#: ../src/groupchat_control.py:1569 +#: ../src/groupchat_control.py:1635 #, python-format msgid "Kicking %s" msgstr "Chutando %s" -#: ../src/groupchat_control.py:1570 ../src/groupchat_control.py:1852 +#: ../src/groupchat_control.py:1636 ../src/groupchat_control.py:1919 msgid "You may specify a reason below:" msgstr "Você deve especificar uma razão abaixo:" #. ask for reason -#: ../src/groupchat_control.py:1851 +#: ../src/groupchat_control.py:1918 #, python-format msgid "Banning %s" msgstr "Banindo %s" @@ -4712,68 +4795,82 @@ msgid "Details" msgstr "Detalhes" #. we talk about file -#: ../src/gtkgui_helpers.py:153 ../src/gtkgui_helpers.py:168 +#: ../src/gtkgui_helpers.py:156 ../src/gtkgui_helpers.py:171 #, python-format msgid "Error: cannot open %s for reading" msgstr "Erro: impossível abrir %s para leitura" -#: ../src/gtkgui_helpers.py:293 +#: ../src/gtkgui_helpers.py:336 msgid "Error reading file:" msgstr "Erro lendo arquivo:" -#: ../src/gtkgui_helpers.py:296 +#: ../src/gtkgui_helpers.py:339 msgid "Error parsing file:" msgstr "Erro ao analisar gramaticalmente o arquivo:" #. do not traceback (could be a permission problem) #. we talk about a file here -#: ../src/gtkgui_helpers.py:334 +#: ../src/gtkgui_helpers.py:376 #, python-format msgid "Could not write to %s. Session Management support will not work" msgstr "" "Não foi possível escrever à %s. O suporte de gerência da sessão não funciona" -#: ../src/gtkgui_helpers.py:728 -msgid "Extension not supported" -msgstr "" +#. xmpp: is currently handled by another program, so ask the user +#: ../src/gtkgui_helpers.py:694 +msgid "Gajim is not the default Jabber client" +msgstr "O Gajim não é o cliente Jabber padrão" -#: ../src/gtkgui_helpers.py:729 +#: ../src/gtkgui_helpers.py:695 +msgid "Would you like to make Gajim the default Jabber client?" +msgstr "Você gostaria de tornar o Gajim o cliente Jabber padrão?" + +#: ../src/gtkgui_helpers.py:696 +msgid "Always check to see if Gajim is the default Jabber client on startup" +msgstr "Sempre verificar ao iniciar se o Gajim é o cliente Jabber padrão" + +#: ../src/gtkgui_helpers.py:795 +msgid "Extension not supported" +msgstr "Extensão não suportada" + +#: ../src/gtkgui_helpers.py:796 #, python-format msgid "Image cannot be saved in %(type)s format. Save as %(new_filename)s?" msgstr "" +"A imagem não pode ser salva no formato %(type)s. Salvar como %(new_filename)" +"s?" -#: ../src/gtkgui_helpers.py:738 -#, fuzzy +#: ../src/gtkgui_helpers.py:805 msgid "Save Image as..." -msgstr "Salvar Arquivo como..." +msgstr "Salvar Imagem como..." -#: ../src/history_manager.py:64 +#: ../src/history_manager.py:65 msgid "Cannot find history logs database" msgstr "Não foi encontrado banco de dados do histórico de logs" #. holds jid -#: ../src/history_manager.py:107 +#: ../src/history_manager.py:108 msgid "Contacts" msgstr "Contatos" #. holds time -#: ../src/history_manager.py:120 ../src/history_manager.py:160 +#: ../src/history_manager.py:121 ../src/history_manager.py:161 #: ../src/history_window.py:86 msgid "Date" msgstr "Data:" #. holds nickname -#: ../src/history_manager.py:126 ../src/history_manager.py:178 +#: ../src/history_manager.py:127 ../src/history_manager.py:179 msgid "Nickname" msgstr "Apelido" #. holds message -#: ../src/history_manager.py:134 ../src/history_manager.py:166 +#: ../src/history_manager.py:135 ../src/history_manager.py:167 #: ../src/history_window.py:94 msgid "Message" msgstr "Mensagem" -#: ../src/history_manager.py:186 +#: ../src/history_manager.py:187 msgid "" "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM IS " "RUNNING)" @@ -4781,7 +4878,7 @@ msgstr "" "Você quer limpar o banco de dados? (ALTAMENTE NÃO RECOMENDADO COM O GAJIM EM " "EXECUÇÃO)" -#: ../src/history_manager.py:188 +#: ../src/history_manager.py:189 msgid "" "Normally allocated database size will not be freed, it will just become " "reusable. If you really want to reduce database filesize, click YES, else " @@ -4795,7 +4892,7 @@ msgstr "" "\n" "Se caso você clicou SIM, por favor espere... " -#: ../src/history_manager.py:400 +#: ../src/history_manager.py:401 msgid "Exporting History Logs..." msgstr "Exportando Histórico de Logs..." @@ -4825,137 +4922,134 @@ msgstr[1] "Você realmente quer deletar as mensagens selecionadas?" msgid "Conversation History with %s" msgstr "Histórico de Conversação com %s" -#: ../src/history_window.py:261 +#: ../src/history_window.py:266 #, python-format msgid "%(nick)s is now %(status)s: %(status_msg)s" msgstr "%(nick)s é agora %(status)s: %(status_msg)s" -#: ../src/history_window.py:265 ../src/notify.py:198 +#: ../src/history_window.py:270 ../src/notify.py:199 #, python-format msgid "%(nick)s is now %(status)s" msgstr "%(nick)s agora está %(status)s" -#: ../src/history_window.py:271 +#: ../src/history_window.py:276 #, python-format msgid "Status is now: %(status)s: %(status_msg)s" msgstr "Status agora é: %(status)s: %(status_msg)s" -#: ../src/history_window.py:274 +#: ../src/history_window.py:279 #, python-format msgid "Status is now: %(status)s" msgstr "Status agora é: %(status)s" -#: ../src/message_window.py:273 +#: ../src/message_window.py:278 +msgid "Chats" +msgstr "Conversas" + +#: ../src/message_window.py:280 +msgid "Group Chats" +msgstr "Conferências" + +#: ../src/message_window.py:282 +msgid "Private Chats" +msgstr "ConversasPrivada" + +#: ../src/message_window.py:284 msgid "Messages" msgstr "Mensagens" -#: ../src/message_window.py:274 +#: ../src/message_window.py:285 #, python-format msgid "%s - Gajim" msgstr "%s - Gajim" -#: ../src/notify.py:196 -#, fuzzy, python-format +#: ../src/notify.py:197 +#, python-format msgid "%(nick)s Changed Status" -msgstr "%(nick)s agora está %(status)s" +msgstr "%(nick)s Alterou seu Status" -#: ../src/notify.py:206 +#: ../src/notify.py:207 #, python-format msgid "%(nickname)s Signed In" msgstr "%(nickname)s Conectou" -#: ../src/notify.py:214 +#: ../src/notify.py:215 #, python-format msgid "%(nickname)s Signed Out" msgstr "%(nickname)s Desconectou" -#: ../src/notify.py:226 +#: ../src/notify.py:227 #, python-format msgid "New Single Message from %(nickname)s" msgstr "Nova Mensagem Simples de %(nickname)s" -#: ../src/notify.py:234 -#, fuzzy, python-format -msgid "New Private Message from group chat %s" -msgstr "Nova Mensagem Privada da sala %s" - #: ../src/notify.py:235 #, python-format +msgid "New Private Message from group chat %s" +msgstr "Nova Mensagem Privada da conferência %s" + +#: ../src/notify.py:236 +#, python-format msgid "%(nickname)s: %(message)s" msgstr "%(nickname)s: %(message)s" -#: ../src/notify.py:241 +#: ../src/notify.py:242 #, python-format msgid "New Message from %(nickname)s" msgstr "Nova Mensagem de %(nickname)s" -#: ../src/profile_window.py:72 ../src/profile_window.py:376 +#: ../src/profile_window.py:72 msgid "Retrieving profile..." -msgstr "" - -#: ../src/profile_window.py:107 ../src/profile_window.py:203 -#: ../src/profile_window.py:212 ../src/profile_window.py:370 -msgid "Click to set your avatar" -msgstr "" +msgstr "Recuperando perfil..." #. keep identation -#: ../src/profile_window.py:136 +#: ../src/profile_window.py:143 msgid "Could not load image" msgstr "A imagem não pode ser carregada" -#: ../src/profile_window.py:238 -#, fuzzy +#: ../src/profile_window.py:255 msgid "Information received" -msgstr "Convite Recebido" +msgstr "Informação recebida" -#: ../src/profile_window.py:308 +#: ../src/profile_window.py:324 msgid "Without a connection you can not publish your contact information." msgstr "Você deve estar conectado para publicar suas informações de contato." -#: ../src/profile_window.py:320 +#: ../src/profile_window.py:336 msgid "Sending profile..." -msgstr "" +msgstr "Enviando perfil..." -#: ../src/profile_window.py:328 -msgid "Information published" -msgstr "" - -#: ../src/profile_window.py:340 +#: ../src/profile_window.py:351 msgid "Information NOT published" -msgstr "" +msgstr "Informação NÃO publicada" -#: ../src/profile_window.py:347 +#: ../src/profile_window.py:358 msgid "vCard publication failed" msgstr "Publicação do vCard falhou" -#: ../src/profile_window.py:348 +#: ../src/profile_window.py:359 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." -#: ../src/profile_window.py:374 -msgid "Without a connection, you can not get your contact information." -msgstr "Você deve estar conectado para receber suas informações de contato." - -#: ../src/roster_window.py:168 ../src/roster_window.py:223 +#: ../src/roster_window.py:172 ../src/roster_window.py:227 msgid "Merged accounts" msgstr "Juntar contas" -#: ../src/roster_window.py:340 ../src/common/helpers.py:42 +#: ../src/roster_window.py:345 ../src/common/helpers.py:43 msgid "Observers" msgstr "Observadores" -#: ../src/roster_window.py:686 ../src/roster_window.py:3133 -#, fuzzy +#: ../src/roster_window.py:692 ../src/roster_window.py:3222 msgid "You cannot join a group chat while you are invisible" -msgstr "Você não pode ingressar em uma sala enquanto está invisível" +msgstr "Você não pode ingressar em uma sala enquanto estiver invisível" #. new chat #. for chat_with #. for single message -#: ../src/roster_window.py:878 ../src/systray.py:187 ../src/systray.py:192 +#: ../src/roster_window.py:884 ../src/systray.py:206 ../src/systray.py:211 #, python-format msgid "using account %s" msgstr "usando conta %s" @@ -4963,194 +5057,185 @@ msgstr "usando conta %s" #. the 'manage gc bookmarks' item is shown #. below to avoid duplicate code #. add -#: ../src/roster_window.py:903 +#: ../src/roster_window.py:909 #, python-format msgid "to %s account" msgstr "para %s conta" #. disco -#: ../src/roster_window.py:908 +#: ../src/roster_window.py:914 #, python-format msgid "using %s account" msgstr "usando %s conta" #. profile, avatar -#: ../src/roster_window.py:983 +#: ../src/roster_window.py:989 #, python-format msgid "of account %s" msgstr "da conta %s" -#: ../src/roster_window.py:1003 -#, fuzzy +#: ../src/roster_window.py:1009 msgid "_Manage Bookmarks..." -msgstr "Gerenciar Bookmarks..." +msgstr "_Gerenciar Favoritos..." -#: ../src/roster_window.py:1032 +#: ../src/roster_window.py:1038 #, python-format msgid "for account %s" msgstr "para conta %s" #. History manager -#: ../src/roster_window.py:1053 +#: ../src/roster_window.py:1059 msgid "History Manager" msgstr "Gerenciador de Histórico" -#: ../src/roster_window.py:1062 -#, fuzzy +#: ../src/roster_window.py:1068 msgid "_Join New Group Chat" -msgstr "_Ingressar na Conferência" +msgstr "_Ingressar em uma nova Conferência" -#: ../src/roster_window.py:1380 ../src/roster_window.py:3326 -#: ../src/roster_window.py:3333 +#: ../src/roster_window.py:1397 ../src/roster_window.py:3418 +#: ../src/roster_window.py:3425 msgid "You have unread messages" msgstr "Você tem mensagens não lidas" -#: ../src/roster_window.py:1381 -#, fuzzy +#: ../src/roster_window.py:1398 msgid "You must read them before removing this transport." -msgstr "Ler todos os eventos pendentes antes de remover esta conta." +msgstr "Você precisa lê-los antes de remover este transporte." -#: ../src/roster_window.py:1384 +#: ../src/roster_window.py:1401 #, python-format msgid "Transport \"%s\" will be removed" msgstr "Transporte \"%s\" será removido" -#: ../src/roster_window.py:1385 +#: ../src/roster_window.py:1402 msgid "" -"You will no longer be able to send and receive messages to contacts from " +"You will no longer be able to send and receive messages from contacts using " "this transport." msgstr "" -"Você não poderá enviar e receber mensagens para contatos deste transporte" +"Você não poderá mais enviar e receber mensagens dos contatos usando este " +"transporte." -#: ../src/roster_window.py:1388 -#, fuzzy +#: ../src/roster_window.py:1405 msgid "Transports will be removed" -msgstr "Transporte \"%s\" será removido" +msgstr "Os transportes serão removidos" -#: ../src/roster_window.py:1393 -#, fuzzy, python-format +#: ../src/roster_window.py:1410 +#, python-format msgid "" "You will no longer be able to send and receive messages to contacts from " "these transports:%s" msgstr "" -"Você não poderá enviar e receber mensagens para contatos deste transporte" +"Você não poderá enviar e receber mensagens para contatos destes transportes: " +"%s" #. it's jid -#: ../src/roster_window.py:1413 -#, fuzzy +#: ../src/roster_window.py:1430 msgid "Rename Contact" -msgstr "Contatos" +msgstr "Renomear Contato" -#: ../src/roster_window.py:1414 -#, fuzzy, python-format +#: ../src/roster_window.py:1431 +#, python-format msgid "Enter a new nickname for contact %s" -msgstr "Entre com a frase de acesso da chave GPG para conta %s" +msgstr "Entre com um novo apelido para o contato %s" -#: ../src/roster_window.py:1421 -#, fuzzy +#: ../src/roster_window.py:1438 msgid "Rename Group" -msgstr "_Renomear" +msgstr "Renomear Grupo" -#: ../src/roster_window.py:1422 -#, fuzzy, python-format +#: ../src/roster_window.py:1439 +#, python-format msgid "Enter a new name for group %s" -msgstr "Entre com a frase de acesso da chave GPG para conta %s" +msgstr "Entre com um novo nome para o grupo %s" -#: ../src/roster_window.py:1476 -#, fuzzy +#: ../src/roster_window.py:1514 msgid "Remove Group" -msgstr "_Remover" +msgstr "Remover Grupo" -#: ../src/roster_window.py:1477 +#: ../src/roster_window.py:1515 #, python-format msgid "Do you want to remove group %s from the roster?" -msgstr "" +msgstr "Você quer remover o grupo %s da lista?" -#: ../src/roster_window.py:1478 -#, fuzzy +#: ../src/roster_window.py:1516 msgid "Remove also all contacts in this group from your roster" -msgstr "Remover contato da lista" +msgstr "Remover também todos os contatos neste grupo da sua lista" -#: ../src/roster_window.py:1502 +#: ../src/roster_window.py:1547 msgid "Assign OpenPGP Key" msgstr "Atribuir chave OpenPGP" -#: ../src/roster_window.py:1503 +#: ../src/roster_window.py:1548 msgid "Select a key to apply to the contact" msgstr "Selecione uma chave para atribuir ao contato" -#: ../src/roster_window.py:1784 ../src/roster_window.py:1960 -#, fuzzy +#: ../src/roster_window.py:1784 ../src/roster_window.py:2045 msgid "_New group chat" -msgstr "Conferência" +msgstr "_Nova conferência" -#: ../src/roster_window.py:1842 +#: ../src/roster_window.py:1915 msgid "I would like to add you to my roster" msgstr "Eu gostaria de adiciona-lo à minha lista" -#: ../src/roster_window.py:2005 ../src/roster_window.py:2052 -#, fuzzy +#: ../src/roster_window.py:2090 ../src/roster_window.py:2137 msgid "Send Group M_essage" -msgstr "Nova Mensagem" +msgstr "Enviar M_ensagem de Grupo" -#: ../src/roster_window.py:2031 +#: ../src/roster_window.py:2116 msgid "Re_name" msgstr "Re_nomear" -#: ../src/roster_window.py:2058 +#: ../src/roster_window.py:2143 msgid "To all users" -msgstr "" +msgstr "Para todos os usuários" -#: ../src/roster_window.py:2061 -#, fuzzy +#: ../src/roster_window.py:2146 msgid "To all online users" -msgstr "Usuários C_onectados" +msgstr "Para todos os usuários conectados" -#: ../src/roster_window.py:2097 +#: ../src/roster_window.py:2182 msgid "_Log on" msgstr "_Conectar" -#: ../src/roster_window.py:2107 +#: ../src/roster_window.py:2192 msgid "Log _off" msgstr "_Desconectar" -#: ../src/roster_window.py:2229 ../src/roster_window.py:2300 +#: ../src/roster_window.py:2314 ../src/roster_window.py:2385 msgid "_Change Status Message" msgstr "_Mudar Mensagem de Status" -#: ../src/roster_window.py:2372 +#: ../src/roster_window.py:2457 msgid "Authorization has been sent" msgstr "Autorização foi enviada" -#: ../src/roster_window.py:2373 +#: ../src/roster_window.py:2458 #, python-format msgid "Now \"%s\" will know your status." msgstr "Agora \"%s\" saberá seu status." -#: ../src/roster_window.py:2393 +#: ../src/roster_window.py:2478 msgid "Subscription request has been sent" msgstr "Solicitação de inscrição foi enviada" -#: ../src/roster_window.py:2394 +#: ../src/roster_window.py:2479 #, python-format msgid "If \"%s\" accepts this request you will know his or her status." msgstr "Se \"%s\" aceitar esta solicitação, você saberá o status dele ou dela." -#: ../src/roster_window.py:2406 +#: ../src/roster_window.py:2491 msgid "Authorization has been removed" msgstr "Autorização foi removida" -#: ../src/roster_window.py:2407 +#: ../src/roster_window.py:2492 #, python-format msgid "Now \"%s\" will always see you as offline." msgstr "Agora \"%s\" você sempre o verá como offline." -#: ../src/roster_window.py:2615 +#: ../src/roster_window.py:2684 #, python-format msgid "Contact \"%s\" will be removed from your roster" msgstr "Contato \"%s\" será removido de sua lista" -#: ../src/roster_window.py:2619 +#: ../src/roster_window.py:2688 msgid "" "By removing this contact you also remove authorization resulting in him or " "her always seeing you as offline." @@ -5158,7 +5243,7 @@ msgstr "" "Removendo este contato, você também removerá a autorização, resultando em " "ele ou ela sempre o verá offiline." -#: ../src/roster_window.py:2624 +#: ../src/roster_window.py:2693 msgid "" "By removing this contact you also by default remove authorization resulting " "in him or her always seeing you as offline." @@ -5166,59 +5251,67 @@ msgstr "" "Removendo este contato, você também, por padrão, removerá a autorização, " "resultando em ele ou ela sempre o verá offiline." -#: ../src/roster_window.py:2627 +#: ../src/roster_window.py:2696 msgid "I want this contact to know my status after removal" msgstr "Eu quero que este contato saiba meu status após a remoção" #. several contact to remove at the same time -#: ../src/roster_window.py:2631 -#, fuzzy +#: ../src/roster_window.py:2700 msgid "Contacts will be removed from your roster" -msgstr "Contato \"%s\" será removido de sua lista" +msgstr "Os contatos serão removidos da sua lista" -#: ../src/roster_window.py:2635 -#, fuzzy, python-format +#: ../src/roster_window.py:2704 +#, python-format msgid "" "By removing these contacts:%s\n" "you also remove authorization resulting in them 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." +"Removendo estes contatos: %s\n" +"você também remove a autorização fazendo com que eles sempre vejam você " +"offline." + +#: ../src/roster_window.py:2736 +msgid "" +"Gnome Keyring is installed but not correctly started (environment variable " +"probably not correctly set)" +msgstr "" +"O Gnome Keyring está instalado mas não corretamente iniciado (provavelmente " +"a variável de ambiente não está definida corretamente)" #. TODO: make this string translatable #. %s is the account name here -#: ../src/roster_window.py:2693 ../src/common/connection.py:587 -#: ../src/common/zeroconf/connection_zeroconf.py:158 +#: ../src/roster_window.py:2764 ../src/common/connection.py:704 +#: ../src/common/zeroconf/connection_zeroconf.py:160 #, python-format msgid "You will be connected to %s without OpenPGP." msgstr "Você será conectado ao %s sem OpenPGP." -#: ../src/roster_window.py:2710 +#: ../src/roster_window.py:2781 msgid "Passphrase Required" msgstr "Frase de acesso é obrigatória" -#: ../src/roster_window.py:2711 +#: ../src/roster_window.py:2782 #, python-format msgid "Enter GPG key passphrase for account %s." msgstr "Entre com a frase de acesso da chave GPG para conta %s" -#: ../src/roster_window.py:2716 +#: ../src/roster_window.py:2787 msgid "Save passphrase" msgstr "Salvar Frase de acesso" -#: ../src/roster_window.py:2724 +#: ../src/roster_window.py:2795 msgid "Wrong Passphrase" msgstr "Frase de acesso Errada" -#: ../src/roster_window.py:2725 +#: ../src/roster_window.py:2796 msgid "Please retype your GPG passphrase or press Cancel." msgstr "Por favor, reescreva sua frase de segurança GPG ou pressione Cancelar." -#: ../src/roster_window.py:2782 ../src/roster_window.py:2842 +#: ../src/roster_window.py:2860 ../src/roster_window.py:2920 msgid "You are participating in one or more group chats" msgstr "Você está participando em uma ou mais conferências" -#: ../src/roster_window.py:2783 ../src/roster_window.py:2843 +#: ../src/roster_window.py:2861 ../src/roster_window.py:2921 msgid "" "Changing your status to invisible will result in disconnection from those " "group chats. Are you sure you want to go invisible?" @@ -5226,21 +5319,21 @@ msgstr "" "Mudando seu status para invisível resulta na desconexão daquelas " "conferências. Você tem certeza que quer ir invisível?" -#: ../src/roster_window.py:2800 +#: ../src/roster_window.py:2878 msgid "No account available" msgstr "Conta não disponível" -#: ../src/roster_window.py:2801 +#: ../src/roster_window.py:2879 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." -#: ../src/roster_window.py:2899 +#: ../src/roster_window.py:2981 #, python-format msgid "\"%(title)s\" by %(artist)s" -msgstr "" +msgstr "\"%(title)s\" by %(artist)s" -#: ../src/roster_window.py:3327 ../src/roster_window.py:3334 +#: ../src/roster_window.py:3419 ../src/roster_window.py:3426 msgid "" "Messages will only be available for reading them later if you have history " "enabled." @@ -5248,135 +5341,146 @@ msgstr "" "Mensagem somente estará disponível para leitura mais tarde se você tiver o " "histórico habilitado." -#: ../src/roster_window.py:3912 +#: ../src/roster_window.py:4016 msgid "Metacontacts storage not supported by your server" -msgstr "" +msgstr "O armazenamento de metacontatos não é suportado pelo seu servidor." -#: ../src/roster_window.py:3914 +#: ../src/roster_window.py:4018 msgid "" "Your server does not support storing metacontacts information. So those " "information will not be save on next reconnection." msgstr "" +"O seu servidor não suporta a gravação de informação de metacontatos, " +"portanto essas informações não serão estarão disponíveis na próxima vez que " +"você se conectar." -#: ../src/roster_window.py:3956 -#, fuzzy +#: ../src/roster_window.py:4060 msgid "" "You are about to create a metacontact. Are you sure you want to continue?" msgstr "" -"Você deve configurar uma conta antes de poder conversar com outros contatos." +"Você está prestes a criar um metacontato. Tem certeza que quer continuar?" -#: ../src/roster_window.py:3958 +#: ../src/roster_window.py:4062 msgid "" -"Metacontacts are a way to regroup several contacts in one line. Generaly it " +"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." msgstr "" +"Os metacontatos são uma forma de reagrupar muitos contatos em uma linha. " +"Geralmente isso é usado quando a mesma pessoa possui muitas contas de Jabber " +"ou transportes." -#: ../src/roster_window.py:4125 +#: ../src/roster_window.py:4140 +#, python-format +msgid "Do you want to send that file to %s:" +msgid_plural "Do you want to send those files to %s:" +msgstr[0] "Você quer enviar esse arquivo para %s:" +msgstr[1] "%s quer te enviar um arquivo:" + +#: ../src/roster_window.py:4245 #, python-format msgid "Drop %s in group %s" msgstr "Derrubar %s no grupo %s" -#: ../src/roster_window.py:4132 +#: ../src/roster_window.py:4252 #, python-format msgid "Make %s and %s metacontacts" msgstr "Fazer %s e %s metacontatos" -#: ../src/roster_window.py:4319 +#: ../src/roster_window.py:4439 msgid "Change Status Message..." msgstr "Mudar Mensagem de Status..." -#: ../src/systray.py:144 +#: ../src/systray.py:163 msgid "_Change Status Message..." msgstr "_Mudar Mensagem de Status..." -#: ../src/systray.py:234 +#: ../src/systray.py:251 msgid "Hide this menu" msgstr "Esconder este menu" -#: ../src/tooltips.py:309 ../src/tooltips.py:492 -#, fuzzy +#: ../src/tooltips.py:309 ../src/tooltips.py:493 msgid "Jabber ID: " msgstr "Jabber ID:" -#: ../src/tooltips.py:312 ../src/tooltips.py:496 +#: ../src/tooltips.py:312 ../src/tooltips.py:497 msgid "Resource: " msgstr "Recurso: " #: ../src/tooltips.py:317 #, python-format msgid "%(owner_or_admin_or_member)s of this group chat" -msgstr "" +msgstr "%(owner_or_admin_or_member)s dessa sala" -#: ../src/tooltips.py:430 ../src/tooltips.py:610 +#: ../src/tooltips.py:430 ../src/tooltips.py:612 msgid "Status: " msgstr "Status: " #: ../src/tooltips.py:461 -#, fuzzy, python-format +#, python-format msgid "Last status: %s" -msgstr "Último status conectado %s" +msgstr "Último status: %s" #: ../src/tooltips.py:463 -#, fuzzy, python-format +#, python-format msgid " since %s" msgstr "desde %s" #. ('both' is the normal sub so we don't show it) -#: ../src/tooltips.py:502 +#: ../src/tooltips.py:503 msgid "Subscription: " msgstr "Inscrição: " -#: ../src/tooltips.py:512 +#: ../src/tooltips.py:513 msgid "OpenPGP: " msgstr "OpenPGP: " -#: ../src/tooltips.py:566 +#: ../src/tooltips.py:568 msgid "Download" msgstr "Download" -#: ../src/tooltips.py:572 +#: ../src/tooltips.py:574 msgid "Upload" msgstr "Upload" -#: ../src/tooltips.py:579 +#: ../src/tooltips.py:581 msgid "Type: " msgstr "Tipo: " -#: ../src/tooltips.py:585 +#: ../src/tooltips.py:587 msgid "Transferred: " msgstr "Transferido: " -#: ../src/tooltips.py:588 ../src/tooltips.py:609 +#: ../src/tooltips.py:590 ../src/tooltips.py:611 msgid "Not started" msgstr "Não iniciado" -#: ../src/tooltips.py:592 +#: ../src/tooltips.py:594 msgid "Stopped" msgstr "Parado" -#: ../src/tooltips.py:594 ../src/tooltips.py:597 +#: ../src/tooltips.py:596 ../src/tooltips.py:599 msgid "Completed" msgstr "Completo" -#: ../src/tooltips.py:601 +#: ../src/tooltips.py:603 msgid "?transfer status:Paused" -msgstr "" +msgstr "?status da transferência: Parado" #. stalled is not paused. it is like 'frozen' it stopped alone -#: ../src/tooltips.py:605 +#: ../src/tooltips.py:607 msgid "Stalled" msgstr "Parado" -#: ../src/tooltips.py:607 +#: ../src/tooltips.py:609 msgid "Transferring" msgstr "Transferindo" -#: ../src/tooltips.py:639 +#: ../src/tooltips.py:641 msgid "This service has not yet responded with detailed information" msgstr "Este serviço não respondeu ainda com informação detalhada" -#: ../src/tooltips.py:642 +#: ../src/tooltips.py:644 msgid "" "This service could not respond with detailed information.\n" "It is most likely legacy or broken" @@ -5384,25 +5488,24 @@ msgstr "" "Este serviço não poderia responder com informações detalhadas.\n" "É mais provável quebrado" -#: ../src/vcard.py:217 +#: ../src/vcard.py:201 msgid "?Client:Unknown" msgstr "?Cliente:Desconhecido" -#: ../src/vcard.py:219 +#: ../src/vcard.py:203 msgid "?OS:Unknown" msgstr "?SO:Desconhecido" -#: ../src/vcard.py:247 ../src/vcard.py:449 +#: ../src/vcard.py:231 ../src/vcard.py:409 #, python-format msgid "since %s" msgstr "desde %s" -#: ../src/vcard.py:277 -#, fuzzy +#: ../src/vcard.py:261 msgid "Affiliation:" -msgstr "Filiação: " +msgstr "Filiação:" -#: ../src/vcard.py:285 +#: ../src/vcard.py:269 msgid "" "This contact is interested in your presence information, but you are not " "interested in his/her presence" @@ -5410,7 +5513,7 @@ msgstr "" "Este contato está interessado em sua informação de presença, mas você não " "está interessado napresença dele/dela" -#: ../src/vcard.py:287 +#: ../src/vcard.py:271 msgid "" "You are interested in the contact's presence information, but he/she is not " "interested in yours" @@ -5418,13 +5521,13 @@ msgstr "" "Você está interessado na informação da presença do contato, mas ele/ela não " "está interessado em seu" -#: ../src/vcard.py:289 +#: ../src/vcard.py:273 msgid "You and the contact are interested in each other's presence information" msgstr "" "Você e o contato estão interessados em cada outra informação da presença" #. None -#: ../src/vcard.py:291 +#: ../src/vcard.py:275 msgid "" "You are not interested in the contact's presence, and neither he/she is " "interested in yours" @@ -5432,12 +5535,12 @@ msgstr "" "Você não está interessado na presença do contato, e nenhum está interessado " "no seu" -#: ../src/vcard.py:299 +#: ../src/vcard.py:283 msgid "You are waiting contact's answer about your subscription request" msgstr "" "Você está esperando a resposta do contato sobre seu pedido da subscrição" -#: ../src/vcard.py:311 ../src/vcard.py:338 ../src/vcard.py:482 +#: ../src/vcard.py:287 ../src/vcard.py:314 ../src/vcard.py:434 msgid " resource with priority " msgstr " recurso com prioridade " @@ -5448,7 +5551,7 @@ msgstr "criando banco de dados de logs" #: ../src/common/check_paths.py:89 ../src/common/check_paths.py:100 #: ../src/common/check_paths.py:107 #, python-format -msgid "%s is file but it should be a directory" +msgid "%s is a file but it should be a directory" msgstr "%s é um arquivo, mas deveria ser um diretório" #: ../src/common/check_paths.py:90 ../src/common/check_paths.py:101 @@ -5458,7 +5561,7 @@ msgstr "Gajim sairá agora" #: ../src/common/check_paths.py:115 #, python-format -msgid "%s is directory but should be file" +msgid "%s is a directory but should be a file" msgstr "%s é um diretório, mas deveria ser um arquivo" #: ../src/common/check_paths.py:131 @@ -5466,111 +5569,210 @@ msgstr "%s é um diretório, mas deveria ser um arquivo" msgid "creating %s directory" msgstr "criando diretório %s" -#: ../src/common/config.py:55 -#, fuzzy -msgid "Use D-Bus and Notification-Daemon to show notifications" -msgstr "Use DBus e Notification-Daemon para mostrar notificações" +#: ../src/common/commands.py:69 +msgid "Change status information" +msgstr "Alterar informação de status" -#: ../src/common/config.py:60 +#: ../src/common/commands.py:82 +msgid "Change status" +msgstr "Alterar status" + +#: ../src/common/commands.py:83 +msgid "Set the presence type and description" +msgstr "Definir o tipo e a descrição da presença" + +#: ../src/common/commands.py:89 +msgid "Free for chat" +msgstr "Livre para conversa" + +#: ../src/common/commands.py:90 +msgid "Online" +msgstr "Conectado" + +#: ../src/common/commands.py:92 +msgid "Extended away" +msgstr "Muito afastado" + +#: ../src/common/commands.py:93 +msgid "Do not disturb" +msgstr "Não perturbe" + +#: ../src/common/commands.py:94 +msgid "Offline - disconnect" +msgstr "Desconectado" + +#: ../src/common/commands.py:99 +msgid "Presence description:" +msgstr "Descrição da presença:" + +#: ../src/common/commands.py:134 +msgid "The status has been changed." +msgstr "O status foi alterado." + +#: ../src/common/commands.py:179 +#, python-format +msgid "%(nickname)s on %(room_jid)s" +msgstr "%(nickname)s da sala %(room_jid)s" + +#: ../src/common/commands.py:183 +msgid "You have not joined a groupchat." +msgstr "Você não entrou em uma sala." + +#: ../src/common/commands.py:189 +msgid "Leave Groupchats" +msgstr "Sair das salas" + +#: ../src/common/commands.py:190 +msgid "Choose the groupchats you want to leave" +msgstr "Selecione as salas das quais você quer sair" + +#: ../src/common/commands.py:194 +msgid "Groupchats" +msgstr "Salas" + +#: ../src/common/commands.py:230 +msgid "You left the following groupchats:" +msgstr "Você saiu das seguintes salas:" + +#: ../src/common/config.py:56 +msgid "Use D-Bus and Notification-Daemon to show notifications" +msgstr "Usar DBus e Notification-Daemon para mostrar notificações" + +#: ../src/common/config.py:61 msgid "Time in minutes, after which your status changes to away." msgstr "Minutos, depois do qual seu status mudam a afastado." -#: ../src/common/config.py:61 +#: ../src/common/config.py:62 msgid "Away as a result of being idle" msgstr "Afastado em conseqüência de estar inativo" -#: ../src/common/config.py:63 +#: ../src/common/config.py:64 msgid "Time in minutes, after which your status changes to not available." msgstr "Minutos, depois do qual seu status mudam a nao disponível." -#: ../src/common/config.py:64 +#: ../src/common/config.py:65 msgid "Not available as a result of being idle" msgstr "Não disponível em conseqüência de estar inativo" -#: ../src/common/config.py:82 +#: ../src/common/config.py:83 msgid "" "List (space separated) of rows (accounts and groups) that are collapsed." msgstr "" +"Lista (separada por espaços) de linhas (contas e grupos) que estão agrupados." -#: ../src/common/config.py:87 +#: ../src/common/config.py:88 msgid "Enable link-local/zeroconf messaging" -msgstr "" - -#: ../src/common/config.py:90 -msgid "Language used by speller" -msgstr "" +msgstr "Ativar mensagens \"link-local\"/\"zeroconf\"" #: ../src/common/config.py:91 +msgid "Language used by speller" +msgstr "Idioma usado pelo corretor ortográfico" + +#: ../src/common/config.py:92 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' - mostrar hora para cada mensagem.\n" +"'às vezes' - mostrar hora a cada print_ichat_every_foo_minutes minutos.\n" +"'nunca' - nunca mostrar a hora." -#: ../src/common/config.py:92 +#: ../src/common/config.py:93 msgid "" "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 less precise one. " +"to disable fuzzyclock. 1 is the most precise clock, 4 the least precise one. " "This is used only if print_time is 'sometimes'." msgstr "" - -#: ../src/common/config.py:95 -msgid "Treat * / _ pairs as possible formatting characters." -msgstr "Aproveite * /_ pares como caráteres possíveis do formato. " +"Mostrar 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'." #: ../src/common/config.py:96 +msgid "Treat * / _ pairs as possible formatting characters." +msgstr "Aproveite os pare * /_ como caracteres de formatação. " + +#: ../src/common/config.py:97 msgid "" "If True, do not remove */_ . So *abc* will be bold but with * * not removed." msgstr "" "Se verdadeiro, não remova */_. Assim * ABC * seja negrito(realce) mas com * " "* não removido." -#: ../src/common/config.py:99 +#: ../src/common/config.py:100 msgid "" -"Uses ReStructured text markup for HTML, plus ascii formatting if selected. " -"(If you want to use this, install docutils)" +"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)" 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)" -#: ../src/common/config.py:108 +#: ../src/common/config.py:109 msgid "" "Character to add after nickname when using nick completion (tab) in group " "chat." msgstr "" +"Caracter a adicionar ao apelido quando se estiver usando o recurso de " +"completar apelido (tecla Tab) na conferência." -#: ../src/common/config.py:109 +#: ../src/common/config.py:110 msgid "" "Character to propose to add after desired nickname when desired nickname is " "used by someone else in group chat." msgstr "" +"O caracter a ser proposto para adicionar ao final do apelido desejado quando " +"ele já estiver sendo usado por outra pessoa na conferência." + +#: ../src/common/config.py:133 +msgid "" +"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" +msgstr "" +"Esta opção lhe permite personalizar o carimbo de tempo que é exibido na " +"conversação. Por exemplo: \"[%H:%M]\" mostrará \"[hora:minuto]\". Procure " +"por strftime na documentação do Python: http://docs.python.org/lib/module-" +"time.html" + +#: ../src/common/config.py:134 +msgid "Characters that are printed before the nickname in conversations" +msgstr "Os caracteres que são exibidos antes do apelido nas conversas" + +#: ../src/common/config.py:135 +msgid "Characters that are printed after the nickname in conversations" +msgstr "Os caracteres que são exibidos após o apelidos nas conversas" #: ../src/common/config.py:142 msgid "Add * and [n] in roster title?" -msgstr "Adicionar * e [n] no arquivo de lista?" +msgstr "Adicionar * e [n] no título da lista?" #: ../src/common/config.py:143 msgid "" "How many lines to remember from previous conversation when a chat tab/window " "is reopened." msgstr "" -"Quantas linhas para lembrar da conversação precedente quando uma aba/janela " -"de bate-papo for reaberto." +"Quantas linhas lembrar da conversação anterior quando uma aba/janela de bate-" +"papo for reaberta." #: ../src/common/config.py:144 msgid "How many minutes should last lines from previous conversation last." msgstr "" -"Quantos minutos devem durar linhas do último precedente da conversação." +"Quantos minutos mostrar ao exibir as últimas linhas da conversação anterior." #: ../src/common/config.py:145 msgid "" "Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ " "Client default behaviour)." msgstr "" -"Enviar a mensagem com Ctrl+Enter e com entram fazem a linha nova " +"Enviar a mensagem com Ctrl+Enter e criar uma nova linha com Enter " "(comportamento padrão do cliente ICQ da Mirabilis)." #: ../src/common/config.py:147 msgid "How many lines to store for Ctrl+KeyUP." -msgstr "Quantas linhas à armazenar para Ctrl+KeyUP." +msgstr "Quantas linhas armazenar com Ctrl+Acima." #: ../src/common/config.py:150 #, python-format @@ -5578,7 +5780,7 @@ msgid "" "Either custom url with %s in it where %s is the word/phrase or 'WIKTIONARY' " "which means use wiktionary." msgstr "" -"Um ou outro URL costuma vir com o %s nele onde %s é a palvra/frase ou ' em " +"Uma ou outra URL costuma vir com %s onde %s é a palvra/frase ou ' em " "WIKTIONARY ' que significam o uso wiktionary." #: ../src/common/config.py:153 @@ -5593,53 +5795,62 @@ msgid "" "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." #: ../src/common/config.py:155 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." #: ../src/common/config.py:156 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." #: ../src/common/config.py:158 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 == " +"simetimes), exibi-lo a cada x minutos." #: ../src/common/config.py:159 msgid "Ask before closing a group chat tab/window." msgstr "Perguntar antes de fechar um aba ou janela de conferência." #: ../src/common/config.py:160 -#, fuzzy msgid "" "Always ask before closing group chat tab/window in this space separated list " "of group chat jids." msgstr "" -"Sempre perguntar antes de fechar um aba/janela neste espaço listas de salas " -"separadas por jids." +"Sempre perguntar antes de fechar um aba/janela nesta lista separada por " +"espaço de JID's de conferências." #: ../src/common/config.py:161 -#, fuzzy msgid "" "Never ask before closing group chat tab/window in this space separated list " "of group chat jids." msgstr "" -"Nunca perguntar antes de fechar uma aba/janela de conferência neste espaço " -"listas de salas separadas por jids." +"Nunca perguntar antes de fechar uma aba/janela de conferência nesta lista " +"separada por espaço de salas separadas por jids." #: ../src/common/config.py:164 msgid "" -"Overrides the host we send for File Transfer in case of address translation/" -"port forwarding." +"Comma separated list of hosts that we send, in addition of local interfaces, " +"for File Transfer in case of address translation/port forwarding." msgstr "" -"Cancela o host que nos enviou um transferência de arquivo caso que foi " -"direcionado do endereço tradução/porta." +"Lista separada por vírgula dos servidores que nós enviaremos, em adição às " +"interfaces locais, para Transferência de Arquivo no caso de tradução de " +"endereço/encaminhamento de porta." #: ../src/common/config.py:166 msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." @@ -5647,28 +5858,26 @@ msgstr "Padrão da IEC diz que KiB = 1024 bytes e KB = 1000 bytes." #: ../src/common/config.py:168 msgid "Notify of events in the system trayicon." -msgstr "" +msgstr "Notificar os eventos no ícone da bandeja do sistema." #: ../src/common/config.py:174 msgid "Show tab when only one conversation?" msgstr "Mostrar aba quando tiver apenas uma bate papo?" #: ../src/common/config.py:175 -#, fuzzy msgid "Show tabbed notebook border in chat windows?" -msgstr "Mostrar borda da aba com apenas um bate papo?" +msgstr "Mostrar borda de caderno tabulada nas janelas de conversa?" #: ../src/common/config.py:176 msgid "Show close button in tab?" msgstr "Mostrar botão de fechar na aba?" #: ../src/common/config.py:189 -#, fuzzy msgid "" "A semicolon-separated list of words that will be highlighted in group chats." msgstr "" -"Uma lista semicolon-separada das palavras que serão destacadas no bate-papo " -"multi-user." +"Uma lista separada por ponto-e-vírgula das palavras que serão destacadas nas " +"conferências." #: ../src/common/config.py:190 msgid "" @@ -5679,8 +5888,10 @@ msgstr "" "opção só faz sentido quando a opção trayicon está sendo usada." #: ../src/common/config.py:191 -msgid "If True, Gajim registers for xmpp:// on each startup." -msgstr "Se verdadeiro, Gajim registra-se para xmpp:// a cada inicialização." +msgid "" +"If True, Gajim will check if it's the default jabber client on each startup." +msgstr "" +"Se Verdadeiro, o Gajim verifica ao iniciar se é o cliente Jabber padrão." #: ../src/common/config.py:192 msgid "" @@ -5691,13 +5902,12 @@ msgstr "" "lidas. Dependendo do tema, este ícone pode ser animado." #: ../src/common/config.py:193 -#, fuzzy msgid "" "If True, Gajim will display the status message, if not empty, for every " "contact under the contact name in roster window." msgstr "" -"Se verdadeiro, Gajim indicará a mensagem de status, se não, esvazía-a, para " -"cada contato sob o nome do contato na janela da lista" +"Se Verdadeiro, o Gajim indicará a mensagem de status, se não estiver vazia, " +"para cada contato sob o nome do contato na janela da lista." #: ../src/common/config.py:195 msgid "" @@ -5708,43 +5918,48 @@ msgstr "" "ou tem um cache que é velho demais." #: ../src/common/config.py:196 -#, fuzzy msgid "" "If False, Gajim will no longer print status line in chats when a contact " "changes his or her status and/or his or her status message." msgstr "" -"Se falso, você verá não mais por muito tempo a linha de status nos bate-" -"papos quando um contato muda seu ou seu status e/ou sua mensagem do status." +"Se Falso, você não verá por mais muito tempo a linha de status nas conversas " +"quando um contato alterar seu status e/ou sua mensagem de status." #: ../src/common/config.py:197 msgid "" "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 " +"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 mostrará 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ó mostrará FOO entradas/saídas em conferências." #: ../src/common/config.py:199 msgid "Background color of contacts when they just signed in." -msgstr "" +msgstr "Cor de fundo dos contatos quando eles simplesmente conectarem." #: ../src/common/config.py:200 msgid "Background color of contacts when they just signed out." -msgstr "" +msgstr "Cor de fundo dos contatos quando eles simplesmente desconectarem." #: ../src/common/config.py:202 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." #: ../src/common/config.py:203 msgid "Don't show avatar for the transport itself." -msgstr "" +msgstr "Não mostrar o avatar para o próprio transporte." #: ../src/common/config.py:204 msgid "Don't show roster in the system taskbar." -msgstr "" +msgstr "Não mostrar a lista na bandeja do sistema." #: ../src/common/config.py:205 msgid "" @@ -5757,19 +5972,17 @@ msgstr "" "Janela) quando esperam eventos pendentes." #: ../src/common/config.py:207 -#, 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ão trata informações do sha quando entra numa sala protegida por " -"senha. Mude esta opção para Falso para parar de emitir as informações sha em " -"presenças de conferências" +"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." #. always, never, peracct, pertype should not be translated #: ../src/common/config.py:210 -#, fuzzy msgid "" "Controls the window where new messages are placed.\n" "'always' - All messages are sent to a single window.\n" @@ -5788,25 +6001,21 @@ msgstr "" "requer o reinício do Gajim antes que tenham efeito." #: ../src/common/config.py:211 -#, fuzzy msgid "If False, you will no longer see the avatar in the chat window." msgstr "" -"Se Falso, você não verá por muito tempo o avatar na janela do bate-papo" +"Se Falso, você não verá por muito tempo o avatar na janela do bate-papo." #: ../src/common/config.py:212 -#, fuzzy msgid "If True, pressing the escape key closes a tab/window." -msgstr "Se Verdadeiro, pressionando a tecla escape fecha a aba/janela" +msgstr "Se Verdadeiro, pressionando a tecla Esc fecha a aba/janela" #: ../src/common/config.py:213 -#, fuzzy msgid "Hides the buttons in group chat window." -msgstr "Esconder os botões na janela de conferência" +msgstr "Esconder os botões na janela de conferência." #: ../src/common/config.py:214 -#, fuzzy msgid "Hides the buttons in two persons chat window." -msgstr "Esconder os botões na janela de conversa para duas pessoas " +msgstr "Esconder os botões na janela de conversa para duas pessoas." #: ../src/common/config.py:215 msgid "Hides the banner in a group chat window" @@ -5817,53 +6026,97 @@ msgid "Hides the banner in two persons chat window" msgstr "Esconder o banner na janela de conversa para duas pessoas " #: ../src/common/config.py:217 -#, fuzzy msgid "Hides the group chat occupants list in group chat window." -msgstr "Esconder a lista dos ocupantes da sala na janela da conferência" +msgstr "Esconder a lista dos ocupantes da sala na janela da conferência." #: ../src/common/config.py:218 msgid "" "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." msgstr "" +"Em uma conferência, mostrar o apelido no começo da linha apenas quando a " +"mensagem atual não for da mesma pessoa que mandou a última." #: ../src/common/config.py:219 -msgid "Indentation when using merge consecutive nickame." -msgstr "" +msgid "Indentation when using merge consecutive nickname." +msgstr "Usar identação ao mesclar apelidos consecutivos." #: ../src/common/config.py:220 msgid "List of colors that will be used to color nicknames in group chats." msgstr "" +"A lista de cores que serão usadas para os apelidos nas salas de conferência." #: ../src/common/config.py:221 msgid "Ctrl-Tab go to next composing tab when none is unread." msgstr "" +"Quando nenhum aba tiver uma mensagem não lida, Ctrl + Tab vai para a próxima " +"aba." #: ../src/common/config.py:222 msgid "" "Should we show the confirm metacontacts creation dialog or not? Empty string " "means we never show the dialog." msgstr "" +"Devemos mostrar o diálogo de confirmação de metacontatos ou não? Uma string " +"vazia significa que nós nunca devemos mostrar o diálogo." #: ../src/common/config.py:223 msgid "" "If True, you will be able to set a negative priority to your account in " -"account modification window. BE CAREFULL, when you are logged in with a " +"account modification window. BE CAREFUL, when you are logged in with a " "negative priority, you will NOT receive any message from your server." msgstr "" +"Se Verdadeiro, você poderá especificar uma prioridade negativa para a sua " +"conta na janela de modificação da conta. CUIDADO, quando você estiver " +"autenticado com uma prioridade negativa, você NÃO poderá receber nenhuma " +"mensagem do seu servidor." -#: ../src/common/config.py:234 +#: ../src/common/config.py:224 +msgid "" +"If True, Gajim will use Gnome Keyring (if available) to store account " +"passwords." +msgstr "" +"Se Verdadeiro, o Gajim usará o Gnome Keyring (se disponível) para armazenar " +"as senhas das contas." + +#: ../src/common/config.py:225 +msgid "" +"If True, Gajim will show number of online and total contacts in account and " +"group rows." +msgstr "" +"Se Verdadeiro, o Gajim mostrará o número de contatos online e do total de " +"contatos nas linha de conta e grupo." + +#: ../src/common/config.py:226 +msgid "" +"Can be empty, 'chat' or 'normal'. If not empty, treat all incoming messages " +"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" + +#: ../src/common/config.py:227 +msgid "" +"If True, Gajim will scroll and select the contact who sent you the last " +"message, if chat window is not already opened." +msgstr "" +"Se Verdadeiro, o Gajim irá rolar e selecionar o contato que lhe enviou a " +"última mensagem, se a janela de conversa ainda não estiver aberta." + +#: ../src/common/config.py:238 msgid "" "Priority will change automatically according to your status. Priorities are " "defined in autopriority_* options." msgstr "" +"A prioridade será alterada automaticamente de acordo com o o seu status. As " +"prioridades são definidas nas opções autopriority_." #. yes, no, ask -#: ../src/common/config.py:263 +#: ../src/common/config.py:267 msgid "Jabberd2 workaround" msgstr "Jabberd2 rodando" -#: ../src/common/config.py:267 +#: ../src/common/config.py:271 msgid "" "If checked, Gajim will use your IP and proxies defined in " "file_transfer_proxies option for file transfer." @@ -5871,206 +6124,201 @@ msgstr "" "Se checado, o Gaijm usará seu IP e proxies definidos no " "file_transfer_proxies, em opções para transferência de arquivos." -#: ../src/common/config.py:326 -#, fuzzy +#: ../src/common/config.py:330 msgid "Is OpenPGP enabled for this contact?" -msgstr "OpenPGP não disponível neste computador" +msgstr "O OpenPGP está ativado para este contato?" -#: ../src/common/config.py:327 ../src/common/config.py:330 +#: ../src/common/config.py:331 ../src/common/config.py:334 msgid "Language for which we want to check misspelled words" -msgstr "" +msgstr "Idioma a usar na verificação ortográficas das palavras" -#: ../src/common/config.py:336 +#: ../src/common/config.py:340 msgid "all or space separated status" -msgstr "" +msgstr "todos ou lista de status separados por espaço" -#: ../src/common/config.py:337 +#: ../src/common/config.py:341 msgid "'yes', 'no', or 'both'" -msgstr "" +msgstr "'sim', 'não' ou 'ambos'" -#: ../src/common/config.py:338 ../src/common/config.py:340 -#: ../src/common/config.py:341 ../src/common/config.py:344 -#: ../src/common/config.py:345 +#: ../src/common/config.py:342 ../src/common/config.py:344 +#: ../src/common/config.py:345 ../src/common/config.py:348 +#: ../src/common/config.py:349 msgid "'yes', 'no' or ''" -msgstr "" +msgstr "'sim', 'não', ou ''" -#: ../src/common/config.py:351 +#: ../src/common/config.py:355 msgid "Sleeping" msgstr "Dormindo" -#: ../src/common/config.py:352 +#: ../src/common/config.py:356 msgid "Back soon" msgstr "Volto logo" -#: ../src/common/config.py:352 +#: ../src/common/config.py:356 msgid "Back in some minutes." msgstr "Volto em alguns minutos." -#: ../src/common/config.py:353 +#: ../src/common/config.py:357 msgid "Eating" msgstr "Comendo" -#: ../src/common/config.py:353 +#: ../src/common/config.py:357 msgid "I'm eating, so leave me a message." msgstr "Eu estou comendo, então deixe-me uma mensagem." -#: ../src/common/config.py:354 +#: ../src/common/config.py:358 msgid "Movie" msgstr "Filme" -#: ../src/common/config.py:354 +#: ../src/common/config.py:358 msgid "I'm watching a movie." msgstr "Estou assistindo um filme." -#: ../src/common/config.py:355 +#: ../src/common/config.py:359 msgid "Working" msgstr "Trabalhando" -#: ../src/common/config.py:355 +#: ../src/common/config.py:359 msgid "I'm working." msgstr "Estou trabalhando." -#: ../src/common/config.py:356 +#: ../src/common/config.py:360 msgid "Phone" msgstr "Telefone" -#: ../src/common/config.py:356 +#: ../src/common/config.py:360 msgid "I'm on the phone." msgstr "Estou no telefone." -#: ../src/common/config.py:357 +#: ../src/common/config.py:361 msgid "Out" msgstr "Estou fora" -#: ../src/common/config.py:357 -#, fuzzy -msgid "I'm out enjoying life." -msgstr "Estou fora curtindo a vida" - #: ../src/common/config.py:361 -#, fuzzy -msgid "I'm available." -msgstr "Disponível" - -#: ../src/common/config.py:362 -#, fuzzy -msgid "I'm free for chat." -msgstr "Livre para Conversa" - -#: ../src/common/config.py:364 -#, fuzzy -msgid "I'm not available." -msgstr "Serviço não disponível" +msgid "I'm out enjoying life." +msgstr "Estou fora curtindo a vida." #: ../src/common/config.py:365 +msgid "I'm available." +msgstr "Estou disponível." + +#: ../src/common/config.py:366 +msgid "I'm free for chat." +msgstr "Estou livre para conversar." + +#: ../src/common/config.py:368 +msgid "I'm not available." +msgstr "Não estou disponível." + +#: ../src/common/config.py:369 msgid "Do not disturb." -msgstr "" +msgstr "Não perturbe." -#: ../src/common/config.py:366 ../src/common/config.py:367 +#: ../src/common/config.py:370 ../src/common/config.py:371 msgid "Bye!" -msgstr "" +msgstr "Tchau!" -#: ../src/common/config.py:376 -#, fuzzy +#: ../src/common/config.py:380 msgid "" "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." msgstr "" "Som para tocar quando uma mensagem MUC conter uma das palavras no " -"muc_hightlight_words, ou quando uma mensagem MUC conter seu apelido." +"muc_hightlight_words, ou quando uma mensagem MUC contiver seu apelido." -#: ../src/common/config.py:377 +#: ../src/common/config.py:381 msgid "Sound to play when any MUC message arrives." -msgstr "" +msgstr "Som a ser tocado quando qualquer mensagem MUC chegar." -#: ../src/common/config.py:386 ../src/common/optparser.py:197 +#: ../src/common/config.py:390 ../src/common/optparser.py:195 msgid "green" msgstr "verde" -#: ../src/common/config.py:390 ../src/common/optparser.py:183 +#: ../src/common/config.py:394 ../src/common/optparser.py:181 msgid "grocery" msgstr "mantimento" -#: ../src/common/config.py:394 +#: ../src/common/config.py:398 msgid "human" msgstr "humano" -#: ../src/common/config.py:398 +#: ../src/common/config.py:402 msgid "marine" msgstr "marinho" #: ../src/common/connection_handlers.py:52 #: ../src/common/zeroconf/connection_handlers_zeroconf.py:44 -#, fuzzy msgid "Unable to load idle module" -msgstr "Impossível ingressar na sala" +msgstr "Incapaz de carregar o módulo inativo" -#: ../src/common/connection_handlers.py:177 -#: ../src/common/zeroconf/connection_handlers_zeroconf.py:233 -#, fuzzy +#: ../src/common/connection_handlers.py:180 +#: ../src/common/connection_handlers.py:215 +#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236 msgid "Wrong host" -msgstr "Frase de acesso Errada" +msgstr "Servidor errado" -#: ../src/common/connection_handlers.py:177 -#: ../src/common/zeroconf/connection_handlers_zeroconf.py:233 +#: ../src/common/connection_handlers.py:180 +#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236 +#, python-format msgid "" -"The host you configured as the ft_override_host_to_send advanced option is " +"The host %s you configured as the ft_add_hosts_to_send advanced option is " "not valid, so ignored." msgstr "" +"O computador %s que você especificou na configuração avançada " +"ft_override_host_to_send não é válido e será ignorado." -#: ../src/common/connection_handlers.py:590 +#: ../src/common/connection_handlers.py:216 +msgid "Invalid local address? :-O" +msgstr "Endereço local inválido? :-O" + +#: ../src/common/connection_handlers.py:607 #, python-format 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" -#: ../src/common/connection_handlers.py:1523 -#, fuzzy, python-format +#: ../src/common/connection_handlers.py:1550 +#, python-format msgid "Nickname not allowed: %s" -msgstr "Apelido não encontrado: %s" +msgstr "Apelido não permitido: %s" #. password required to join #. we are banned #. group chat does not exist -#: ../src/common/connection_handlers.py:1585 -#: ../src/common/connection_handlers.py:1588 -#: ../src/common/connection_handlers.py:1591 -#: ../src/common/connection_handlers.py:1594 -#: ../src/common/connection_handlers.py:1597 -#: ../src/common/connection_handlers.py:1600 -#: ../src/common/connection_handlers.py:1608 -#, fuzzy +#: ../src/common/connection_handlers.py:1615 +#: ../src/common/connection_handlers.py:1618 +#: ../src/common/connection_handlers.py:1621 +#: ../src/common/connection_handlers.py:1624 +#: ../src/common/connection_handlers.py:1627 +#: ../src/common/connection_handlers.py:1630 +#: ../src/common/connection_handlers.py:1638 msgid "Unable to join group chat" msgstr "Impossível ingressar na sala" -#: ../src/common/connection_handlers.py:1586 -#, fuzzy +#: ../src/common/connection_handlers.py:1616 msgid "A password is required to join this group chat." msgstr "Uma senha é requerida para entrar nesta sala." -#: ../src/common/connection_handlers.py:1589 -#, fuzzy +#: ../src/common/connection_handlers.py:1619 msgid "You are banned from this group chat." msgstr "Você está banido desta sala." -#: ../src/common/connection_handlers.py:1592 -#, fuzzy +#: ../src/common/connection_handlers.py:1622 msgid "Such group chat does not exist." msgstr "Tal sala não existe." -#: ../src/common/connection_handlers.py:1595 -#, fuzzy +#: ../src/common/connection_handlers.py:1625 msgid "Group chat creation is restricted." msgstr "A criação de sala é restrita." -#: ../src/common/connection_handlers.py:1598 +#: ../src/common/connection_handlers.py:1628 msgid "Your registered nickname must be used." msgstr "Seu nickname registado deve ser usado." -#: ../src/common/connection_handlers.py:1601 +#: ../src/common/connection_handlers.py:1631 msgid "You are not in the members list." msgstr "Você não está na lista de membros." -#: ../src/common/connection_handlers.py:1609 +#: ../src/common/connection_handlers.py:1639 msgid "" "Your desired nickname is in use or registered by another occupant.\n" "Please specify another nickname below:" @@ -6078,110 +6326,151 @@ msgstr "" "Seu nickname desejado está em uso ou registado por um outro usuário.\n" " Por favor, especifique um outro nickname abaixo:" -#: ../src/common/connection_handlers.py:1659 +#. Room has been destroyed. see +#. http://www.xmpp.org/extensions/xep-0045.html#destroyroom +#: ../src/common/connection_handlers.py:1682 +msgid "Room has been destroyed" +msgstr "A sala foi excluída" + +#: ../src/common/connection_handlers.py:1689 +#, python-format +msgid "You can join this room instead: %s" +msgstr "Você pode entrar nessa sala ao invés: %s" + +#: ../src/common/connection_handlers.py:1715 msgid "I would like to add you to my roster." msgstr "Eu gostaria de adiciona-lo à minha lista." #. BE CAREFUL: no con.updateRosterItem() in a callback -#: ../src/common/connection_handlers.py:1680 +#: ../src/common/connection_handlers.py:1736 #, python-format msgid "we are now subscribed to %s" msgstr "nós estamos agora inscritos para %s" -#: ../src/common/connection_handlers.py:1682 +#: ../src/common/connection_handlers.py:1738 #, python-format msgid "unsubscribe request from %s" msgstr "Remoção de Inscrição solicitada por %s" -#: ../src/common/connection_handlers.py:1684 +#: ../src/common/connection_handlers.py:1740 #, python-format msgid "we are now unsubscribed from %s" msgstr "nós estamos agora sem inscrição para %s" -#: ../src/common/connection_handlers.py:1854 -#, fuzzy, python-format +#: ../src/common/connection_handlers.py:1859 +#, python-format 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 " +"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" -#: ../src/common/connection.py:175 -#: ../src/common/zeroconf/connection_zeroconf.py:196 +#: ../src/common/connection.py:194 +#: ../src/common/zeroconf/connection_zeroconf.py:198 #, python-format msgid "Connection with account \"%s\" has been lost" msgstr "Conexão com a conta \"%s\" foi perdida" -#: ../src/common/connection.py:176 +#: ../src/common/connection.py:195 msgid "Reconnect manually." -msgstr "" +msgstr "Reconecte manualmente." -#: ../src/common/connection.py:187 ../src/common/connection.py:214 -#, fuzzy, python-format +#: ../src/common/connection.py:206 ../src/common/connection.py:233 +#, python-format msgid "Transport %s answered wrongly to register request: %s" -msgstr "Transporte %s respondido errado para registar o pedido." +msgstr "Transporte %s respondeu errado para registar o pedido: %s" #. wrong answer -#: ../src/common/connection.py:213 +#: ../src/common/connection.py:232 msgid "Invalid answer" msgstr "Resposta inválida" -#: ../src/common/connection.py:405 ../src/common/connection.py:440 -#: ../src/common/connection.py:889 -#: ../src/common/zeroconf/connection_zeroconf.py:217 +#: ../src/common/connection.py:380 +msgid "Connection to proxy failed" +msgstr "Falha na conexão com o proxy" + +#: ../src/common/connection.py:434 ../src/common/connection.py:532 +#: ../src/common/connection.py:1003 +#: ../src/common/zeroconf/connection_zeroconf.py:219 #, python-format msgid "Could not connect to \"%s\"" msgstr "Impossível conectar a \"%s\"" -#: ../src/common/connection.py:419 +#: ../src/common/connection.py:448 #, python-format msgid "Connected to server %s:%s with %s" msgstr "Conectado ao servidor %s:%s com %s" -#: ../src/common/connection.py:441 +#: ../src/common/connection.py:461 +#, python-format +msgid "Security error connecting to \"%s\"" +msgstr "Erro de segurança ao conectar a \"%s\"" + +#: ../src/common/connection.py:462 +msgid "" +"The server's key has changed, or someone is trying to hack your connection." +msgstr "" +"A chave do servidor foi alterada ou alguém está tentando hackear a sua " +"conexão." + +#: ../src/common/connection.py:469 +#, python-format +msgid "Unable to check fingerprint for %s. Connection could be insecure." +msgstr "" +"Incapaz de verifica a impressão digital de %s. A conexão pode ser insegura." + +#: ../src/common/connection.py:511 +#, python-format +msgid "Missing fingerprint in SSL connection to %s" +msgstr "Faltando impressão digital na conexão SSL para %s" + +#: ../src/common/connection.py:517 +#, python-format +msgid "Fingerprint mismatch for %s: Got %s, expected %s" +msgstr "Conflito de impressões digitais para %s: obtido %s, esperado %s" + +#: ../src/common/connection.py:533 msgid "Check your connection or try again later" msgstr "Verifique sua conexão ou tente novamente mais tarde" -#: ../src/common/connection.py:467 +#: ../src/common/connection.py:559 #, python-format msgid "Authentication failed with \"%s\"" msgstr "Falha na autenticação com \"%s\"" -#: ../src/common/connection.py:468 +#: ../src/common/connection.py:560 msgid "Please check your login and password for correctness." msgstr "Por favor, verifique seu login e senha para exatidão." +#: ../src/common/connection.py:603 +msgid "Error while removing privacy list" +msgstr "Erro ao remover lista de privacidade" + +#: ../src/common/connection.py:604 +#, python-format +msgid "" +"Privacy list %s has not been removed. It is maybe active in one of your " +"connected resources. 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." + #. We didn't set a passphrase -#: ../src/common/connection.py:585 -#: ../src/common/zeroconf/connection_zeroconf.py:156 +#: ../src/common/connection.py:702 +#: ../src/common/zeroconf/connection_zeroconf.py:158 msgid "OpenPGP passphrase was not given" msgstr "Palavra-chave do OpenPGP não foi recebida" -#. do not show I'm invisible! -#: ../src/common/connection.py:627 -msgid "invisible" -msgstr "invisível" - -#: ../src/common/connection.py:628 -msgid "offline" -msgstr "desconectado" - -#: ../src/common/connection.py:629 -#, python-format -msgid "I'm %s" -msgstr "Eu estou %s" - #. we're not english #. one in locale and one en -#: ../src/common/connection.py:720 -#, fuzzy +#: ../src/common/connection.py:833 msgid "[This message is *encrypted* (See :JEP:`27`]" -msgstr "[Esta mensagem está criptografada]" +msgstr "[Esta mensagem está *criptografada* (Veja:JEP:'27')]" -#: ../src/common/connection.py:776 -#: ../src/common/zeroconf/connection_zeroconf.py:397 +#: ../src/common/connection.py:889 +#: ../src/common/zeroconf/connection_zeroconf.py:399 #, python-format msgid "" "Subject: %s\n" @@ -6190,9 +6479,13 @@ msgstr "" "Assunto: %s\n" "%s" -#: ../src/common/connection.py:915 +#: ../src/common/connection.py:1029 msgid "Not fetched because of invisible status" -msgstr "" +msgstr "Não baixado por causa do status invisível" + +#: ../src/common/contacts.py:271 +msgid "Not in roster" +msgstr "Fora da lista" #. only say that to non Windows users #: ../src/common/dbus_support.py:33 @@ -6205,1025 +6498,519 @@ msgstr "As potencialidades do D-Bus no Gajim não podem ser usadas" #: ../src/common/exceptions.py:22 msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..." -msgstr "pysqlite2 (aka python-pysqlite2) está faltando. Encerrando..." +msgstr "O pysqlite2 (ou python-pysqlite2) está faltando. Encerrando..." #: ../src/common/exceptions.py:30 msgid "Service not available: Gajim is not running, or remote_control is False" msgstr "" -"Serviço nao disponível: Gajim não está funcionando, ou o remote_control é " +"Serviço não disponível: o Gajim não está funcionando ou o controle remoto é " "falso" #: ../src/common/exceptions.py:38 msgid "D-Bus is not present on this machine or python module is missing" -msgstr "D-Bus não está presente nesta máquina o módulo python está faltando" +msgstr "" +"O D-Bus não está presente nesta máquina ou o módulo do Python está faltando" #: ../src/common/exceptions.py:46 msgid "" "Session bus is not available.\n" "Try reading http://trac.gajim.org/wiki/GajimDBus" msgstr "" -"Sessão não está disponível.\n" -"Tente lendo http://trac.gajim.org/wiki/GajimDBus" +"O bus de sessão não está disponível.\n" +"Veja http://trac.gajim.org/wiki/GajimDBus" #: ../src/common/fuzzyclock.py:42 -#, fuzzy msgid "one" -msgstr "Nenhum" +msgstr "um" #: ../src/common/fuzzyclock.py:42 -#, fuzzy msgid "two" -msgstr "quem" +msgstr "dois" #: ../src/common/fuzzyclock.py:42 -#, fuzzy msgid "three" -msgstr "Rua:" +msgstr "três" #: ../src/common/fuzzyclock.py:42 -#, fuzzy msgid "four" -msgstr "Porta:" +msgstr "quatro" #: ../src/common/fuzzyclock.py:42 -#, fuzzy msgid "five" -msgstr "arquivo" +msgstr "cinco" #: ../src/common/fuzzyclock.py:42 msgid "six" -msgstr "" +msgstr "seis" #: ../src/common/fuzzyclock.py:43 -#, fuzzy msgid "seven" -msgstr "Evento" +msgstr "sete" #: ../src/common/fuzzyclock.py:43 msgid "eight" -msgstr "" +msgstr "oito" #: ../src/common/fuzzyclock.py:43 -#, fuzzy msgid "nine" -msgstr "_Continuar" +msgstr "nove" #: ../src/common/fuzzyclock.py:43 msgid "ten" -msgstr "" +msgstr "dez" #: ../src/common/fuzzyclock.py:43 -#, fuzzy msgid "eleven" -msgstr "Deletar" +msgstr "onze" #: ../src/common/fuzzyclock.py:44 msgid "twelve" -msgstr "" +msgstr "doze" #. Strings to use for the output. %0 will be replaced with the preceding hour (e.g. "x PAST %0"), %1 with the coming hour (e.g. "x TO %1). ''' #. A "singular-form". It is used when talking about hour 0 #: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55 -msgid "%0 o'clock" -msgstr "" +msgid "$0 o'clock" +msgstr "$0 horas" #: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55 -msgid "five past %0" -msgstr "" - -#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:56 -msgid "ten past %0" -msgstr "" +msgid "five past $0" +msgstr "$0 e cinco" #: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:56 -msgid "quarter past %0" -msgstr "" +msgid "ten past $0" +msgstr "$0 e dez" -#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:57 -msgid "twenty past %0" -msgstr "" +#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:56 +msgid "quarter past $0" +msgstr "$0 e quinze" #: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:57 -msgid "twenty five past %0" -msgstr "" +msgid "twenty past $0" +msgstr "$0 e vinte" -#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:58 -msgid "half past %0" -msgstr "" +#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:57 +msgid "twenty five past $0" +msgstr "$0 e vinte e cinco" #: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:58 -msgid "twenty five to %1" -msgstr "" +msgid "half past $0" +msgstr "$0 e meia" -#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:59 -msgid "twenty to %1" -msgstr "" +#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:58 +msgid "twenty five to $1" +msgstr "vinte e cinco para as $1" #: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:59 -msgid "quarter to %1" -msgstr "" +msgid "twenty to $1" +msgstr "vinte para as $1" -#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:60 -#, fuzzy -msgid "ten to %1" -msgstr "Registro para %s" - -#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:60 -msgid "five to %1" -msgstr "" +#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:59 +msgid "quarter to $1" +msgstr "quinze para as $1" #: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60 -msgid "%1 o'clock" -msgstr "" +msgid "ten to $1" +msgstr "dez para as $1" -#: ../src/common/fuzzyclock.py:62 +#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60 +msgid "five to $1" +msgstr "cinco para as $1" + +#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:61 +msgid "$1 o'clock" +msgstr "$1 horas" + +#: ../src/common/fuzzyclock.py:64 msgid "Night" -msgstr "" +msgstr "Noite" -#: ../src/common/fuzzyclock.py:62 +#: ../src/common/fuzzyclock.py:64 msgid "Early morning" -msgstr "" +msgstr "Madrugada" -#: ../src/common/fuzzyclock.py:62 -#, fuzzy +#: ../src/common/fuzzyclock.py:64 msgid "Morning" -msgstr "Trabalhando" +msgstr "Manhã" -#: ../src/common/fuzzyclock.py:62 +#: ../src/common/fuzzyclock.py:64 msgid "Almost noon" -msgstr "" +msgstr "Quase meio-dia" -#: ../src/common/fuzzyclock.py:63 -#, fuzzy +#: ../src/common/fuzzyclock.py:65 msgid "Noon" -msgstr "Nenhum" +msgstr "Meio-dia" -#: ../src/common/fuzzyclock.py:63 +#: ../src/common/fuzzyclock.py:65 msgid "Afternoon" -msgstr "" +msgstr "Tarde" -#: ../src/common/fuzzyclock.py:63 -#, fuzzy +#: ../src/common/fuzzyclock.py:65 msgid "Evening" -msgstr "Evento" +msgstr "Noite" -#: ../src/common/fuzzyclock.py:63 +#: ../src/common/fuzzyclock.py:65 msgid "Late evening" -msgstr "" +msgstr "Tarde da noite" -#: ../src/common/fuzzyclock.py:65 +#: ../src/common/fuzzyclock.py:67 msgid "Start of week" -msgstr "" +msgstr "Começo da semana" -#: ../src/common/fuzzyclock.py:65 +#: ../src/common/fuzzyclock.py:67 msgid "Middle of week" -msgstr "" +msgstr "Meio da semana" -#: ../src/common/fuzzyclock.py:65 +#: ../src/common/fuzzyclock.py:67 msgid "End of week" -msgstr "" +msgstr "Fim da semana" -#: ../src/common/fuzzyclock.py:66 +#: ../src/common/fuzzyclock.py:68 msgid "Weekend!" -msgstr "" +msgstr "Final de semana!" -#: ../src/common/helpers.py:105 +#: ../src/common/helpers.py:114 msgid "Invalid character in username." msgstr "Caracter inválido no nome do usuário" -#: ../src/common/helpers.py:110 +#: ../src/common/helpers.py:119 msgid "Server address required." msgstr "Endereço do servidor é requerido." -#: ../src/common/helpers.py:115 +#: ../src/common/helpers.py:124 msgid "Invalid character in hostname." msgstr "Caracter inválido no nome do host" -#: ../src/common/helpers.py:121 +#: ../src/common/helpers.py:130 msgid "Invalid character in resource." msgstr "Caracter inválido no recurso." #. GiB means gibibyte -#: ../src/common/helpers.py:161 +#: ../src/common/helpers.py:170 #, python-format msgid "%s GiB" msgstr "%s GiB" #. GB means gigabyte -#: ../src/common/helpers.py:164 +#: ../src/common/helpers.py:173 #, python-format msgid "%s GB" msgstr "%s GB" #. MiB means mibibyte -#: ../src/common/helpers.py:168 +#: ../src/common/helpers.py:177 #, python-format msgid "%s MiB" msgstr "%s MiB" #. MB means megabyte -#: ../src/common/helpers.py:171 +#: ../src/common/helpers.py:180 #, python-format msgid "%s MB" msgstr "%s MB" #. KiB means kibibyte -#: ../src/common/helpers.py:175 +#: ../src/common/helpers.py:184 #, python-format msgid "%s KiB" msgstr "%s KiB" #. KB means kilo bytes -#: ../src/common/helpers.py:178 +#: ../src/common/helpers.py:187 #, python-format msgid "%s KB" msgstr "%s KB" #. B means bytes -#: ../src/common/helpers.py:181 +#: ../src/common/helpers.py:190 #, python-format msgid "%s B" msgstr "%s B" -#: ../src/common/helpers.py:210 +#: ../src/common/helpers.py:219 msgid "_Busy" msgstr "_Ocupado" -#: ../src/common/helpers.py:212 +#: ../src/common/helpers.py:221 msgid "Busy" msgstr "Ocupado" -#: ../src/common/helpers.py:215 +#: ../src/common/helpers.py:224 msgid "_Not Available" msgstr "_Não Disponível" -#: ../src/common/helpers.py:220 +#: ../src/common/helpers.py:229 msgid "_Free for Chat" msgstr "Livre para _Conversa" -#: ../src/common/helpers.py:222 +#: ../src/common/helpers.py:231 msgid "Free for Chat" msgstr "Livre para Conversa" -#: ../src/common/helpers.py:225 +#: ../src/common/helpers.py:234 msgid "_Available" msgstr "Dis_ponível" -#: ../src/common/helpers.py:227 +#: ../src/common/helpers.py:236 msgid "Available" msgstr "Disponível" -#: ../src/common/helpers.py:229 +#: ../src/common/helpers.py:238 msgid "Connecting" msgstr "Conectando" -#: ../src/common/helpers.py:232 +#: ../src/common/helpers.py:241 msgid "A_way" msgstr "_Afastado" -#: ../src/common/helpers.py:237 +#: ../src/common/helpers.py:246 msgid "_Offline" msgstr "_Desconectado" -#: ../src/common/helpers.py:239 +#: ../src/common/helpers.py:248 msgid "Offline" msgstr "Desconectado" -#: ../src/common/helpers.py:242 +#: ../src/common/helpers.py:251 msgid "_Invisible" msgstr "_Invisível" -#: ../src/common/helpers.py:248 +#: ../src/common/helpers.py:257 msgid "?contact has status:Unknown" msgstr "?contato tem status:Desconhecido" -#: ../src/common/helpers.py:250 +#: ../src/common/helpers.py:259 msgid "?contact has status:Has errors" msgstr "?contato tem status:Com erros" -#: ../src/common/helpers.py:255 +#: ../src/common/helpers.py:264 msgid "?Subscription we already have:None" msgstr "?Inscrição existente:Nenhuma" -#: ../src/common/helpers.py:257 +#: ../src/common/helpers.py:266 msgid "To" msgstr "Para" -#: ../src/common/helpers.py:261 +#: ../src/common/helpers.py:270 msgid "Both" msgstr "Ambos" -#: ../src/common/helpers.py:269 +#: ../src/common/helpers.py:278 msgid "?Ask (for Subscription):None" msgstr "?Pergunta (para Inscrição):Nenhuma" -#: ../src/common/helpers.py:271 +#: ../src/common/helpers.py:280 msgid "Subscribe" msgstr "Inscrever" -#: ../src/common/helpers.py:280 +#: ../src/common/helpers.py:289 msgid "?Group Chat Contact Role:None" msgstr "?Regra do Contato para Conversa em Grupo:Nenhuma" -#: ../src/common/helpers.py:283 +#: ../src/common/helpers.py:292 msgid "Moderators" msgstr "Moderadores" -#: ../src/common/helpers.py:285 +#: ../src/common/helpers.py:294 msgid "Moderator" msgstr "Moderador" -#: ../src/common/helpers.py:288 +#: ../src/common/helpers.py:297 msgid "Participants" msgstr "Participantes" -#: ../src/common/helpers.py:290 +#: ../src/common/helpers.py:299 msgid "Participant" msgstr "Participante" -#: ../src/common/helpers.py:293 +#: ../src/common/helpers.py:302 msgid "Visitors" msgstr "Visitantes" -#: ../src/common/helpers.py:295 +#: ../src/common/helpers.py:304 msgid "Visitor" msgstr "Visitante" -#: ../src/common/helpers.py:301 -#, fuzzy +#: ../src/common/helpers.py:310 msgid "?Group Chat Contact Affiliation:None" -msgstr "?Regra do Contato para Conversa em Grupo:Nenhuma" +msgstr "?Filiação do Contato de Conferência:Nenhuma" -#: ../src/common/helpers.py:303 -#, fuzzy +#: ../src/common/helpers.py:312 msgid "Owner" -msgstr "D_ono" +msgstr "Dono" -#: ../src/common/helpers.py:305 -#, fuzzy +#: ../src/common/helpers.py:314 msgid "Administrator" -msgstr "_Administrador" +msgstr "Administrador" -#: ../src/common/helpers.py:307 -#, fuzzy +#: ../src/common/helpers.py:316 msgid "Member" -msgstr "_Membro" +msgstr "Membro" -#: ../src/common/helpers.py:346 +#: ../src/common/helpers.py:355 msgid "is paying attention to the conversation" msgstr "está prestando a atenção na conversa" -#: ../src/common/helpers.py:348 +#: ../src/common/helpers.py:357 msgid "is doing something else" msgstr "está fazendo outra coisa" -#: ../src/common/helpers.py:350 +#: ../src/common/helpers.py:359 msgid "is composing a message..." -msgstr "está escrevendo uma mensagem..." +msgstr "está digitando..." -#. paused means he or she was compoing but has stopped for a while -#: ../src/common/helpers.py:353 +#. paused means he or she was composing but has stopped for a while +#: ../src/common/helpers.py:362 msgid "paused composing a message" -msgstr "pausa na digitação da mensagem" +msgstr "parou de digitar" -#: ../src/common/helpers.py:355 +#: ../src/common/helpers.py:364 msgid "has closed the chat window or tab" msgstr "fechou a janela de conversa ou aba" -#: ../src/common/helpers.py:881 -#, fuzzy, python-format +#: ../src/common/helpers.py:890 +#, python-format msgid " %d unread message" msgid_plural " %d unread messages" -msgstr[0] "Gajim - uma mensagem não lida" -msgstr[1] "Gajim - %d mensagens não lidas" +msgstr[0] "%d mensagem não lida" +msgstr[1] "%d mensagens não lidas" -#: ../src/common/helpers.py:887 -#, fuzzy, python-format +#: ../src/common/helpers.py:896 +#, python-format msgid " %d unread single message" msgid_plural " %d unread single messages" -msgstr[0] "Gajim - %d mensagem simples não lida" -msgstr[1] "Gajim - %d mensagens simples não lidas" +msgstr[0] "%d mensagem individual não lida" +msgstr[1] "%d mensagens individuais não lidas" -#: ../src/common/helpers.py:893 -#, fuzzy, python-format +#: ../src/common/helpers.py:902 +#, python-format msgid " %d unread group chat message" msgid_plural " %d unread group chat messages" -msgstr[0] "Gajim - %d mensagem de conferência não lida" -msgstr[1] "Gajim - %d mensagens de conferência não lidas" +msgstr[0] "%d mensagem de conferência não lida" +msgstr[1] "%d mensagens de conferência não lidas" -#: ../src/common/helpers.py:899 -#, fuzzy, python-format +#: ../src/common/helpers.py:908 +#, python-format 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" +msgstr[0] "%d mensagem privada não lida" +msgstr[1] "%d mensagens privadas não lidas" -#: ../src/common/helpers.py:909 ../src/common/helpers.py:911 +#: ../src/common/helpers.py:918 ../src/common/helpers.py:920 #, python-format msgid "Gajim - %s" msgstr "Gajim - %s" #. we talk about a file -#: ../src/common/optparser.py:60 +#: ../src/common/optparser.py:59 #, python-format msgid "error: cannot open %s for reading" msgstr "erro: impossível abrir %s para leitura" -#: ../src/common/optparser.py:183 +#: ../src/common/optparser.py:181 msgid "gtk+" msgstr "gtk+" -#: ../src/common/optparser.py:192 ../src/common/optparser.py:193 +#: ../src/common/optparser.py:190 ../src/common/optparser.py:191 msgid "cyan" -msgstr "ciano" +msgstr "azul celeste" -#: ../src/common/optparser.py:302 -#, fuzzy -msgid "migrating logs database to indeces" -msgstr "criando banco de dados de logs" +#: ../src/common/optparser.py:308 +msgid "migrating logs database to indices" +msgstr "migrando base de dados de registros para índices" -#: ../src/common/passwords.py:86 -#, fuzzy, python-format +#: ../src/common/passwords.py:82 +#, python-format msgid "Gajim account %s" -msgstr "para conta %s" +msgstr "Conta %s do Gajim" -#: ../src/common/zeroconf/client_zeroconf.py:189 +#: ../src/common/zeroconf/client_zeroconf.py:191 msgid "" "Connection to host could not be established: Incorrect answer from server." msgstr "" +"A conexão ao computador não pôde ser estabelecida: resposta incorreta do " +"servidor." -#: ../src/common/zeroconf/client_zeroconf.py:205 -#, fuzzy +#: ../src/common/zeroconf/client_zeroconf.py:207 msgid "Connection to host could not be established" -msgstr "Conexão ponto a ponto não pode ser estabelecida." +msgstr "A conexão ao computador não pôde ser estabelecida." -#: ../src/common/zeroconf/client_zeroconf.py:334 +#: ../src/common/zeroconf/client_zeroconf.py:341 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." -#: ../src/common/zeroconf/client_zeroconf.py:629 +#: ../src/common/zeroconf/client_zeroconf.py:634 msgid "Contact is offline. Your message could not be sent." -msgstr "" +msgstr "O contato está offline. Sua mensagem não pode ser enviada." -#: ../src/common/zeroconf/connection_zeroconf.py:197 +#: ../src/common/zeroconf/connection_zeroconf.py:199 msgid "To continue sending and receiving messages, you will need to reconnect." msgstr "" "Para continuar enviando e recebendo mensagens, você precisará reconectar." -#: ../src/common/zeroconf/connection_zeroconf.py:207 +#: ../src/common/zeroconf/connection_zeroconf.py:209 msgid "Avahi error" -msgstr "" +msgstr "Erro do Avahi" -#: ../src/common/zeroconf/connection_zeroconf.py:207 +#: ../src/common/zeroconf/connection_zeroconf.py:209 #, python-format msgid "" "%s\n" "Link-local messaging might not work properly." msgstr "" +"%s\n" +"Mensagens link-local podem não funcionar adequadamente." -#: ../src/common/zeroconf/connection_zeroconf.py:218 +#: ../src/common/zeroconf/connection_zeroconf.py:220 msgid "Please check if Avahi is installed." -msgstr "" +msgstr "Por favor verifique se o Avahi está instalado." -#: ../src/common/zeroconf/connection_zeroconf.py:227 -#: ../src/common/zeroconf/connection_zeroconf.py:231 -#, fuzzy +#: ../src/common/zeroconf/connection_zeroconf.py:229 +#: ../src/common/zeroconf/connection_zeroconf.py:233 msgid "Could not start local service" -msgstr "A imagem não pode ser carregada" +msgstr "Impossível iniciar o serviço local" -#: ../src/common/zeroconf/connection_zeroconf.py:228 -#, fuzzy, python-format +#: ../src/common/zeroconf/connection_zeroconf.py:230 +#, python-format msgid "Unable to bind to port %d." -msgstr "Impossível ingressar na sala" +msgstr "Impossível conectar-se à porta %d." -#: ../src/common/zeroconf/connection_zeroconf.py:232 -#: ../src/common/zeroconf/connection_zeroconf.py:325 +#: ../src/common/zeroconf/connection_zeroconf.py:234 +#: ../src/common/zeroconf/connection_zeroconf.py:327 msgid "Please check if avahi-daemon is running." -msgstr "" +msgstr "Por favor verifique se o serviço avahi-daemon está rodando." -#: ../src/common/zeroconf/connection_zeroconf.py:324 -#, fuzzy, python-format +#: ../src/common/zeroconf/connection_zeroconf.py:326 +#, python-format msgid "Could not change status of account \"%s\"" -msgstr "Impossível conectar a \"%s\"" +msgstr "Impossível alterar status da conta \"%s\"" -#: ../src/common/zeroconf/connection_zeroconf.py:341 +#: ../src/common/zeroconf/connection_zeroconf.py:343 msgid "" "You are not connected or not visible to others. Your message could not be " "sent." msgstr "" +"Você não está conectado ou não está visível aos outros. Sua mensagem não " +"pode ser enviada." #. we're not english -#: ../src/common/zeroconf/connection_zeroconf.py:353 +#: ../src/common/zeroconf/connection_zeroconf.py:355 msgid "[This message is encrypted]" msgstr "[Esta mensagem está criptografada]" #: ../src/common/zeroconf/zeroconf.py:180 -#, fuzzy, python-format +#, python-format msgid "Error while adding service. %s" -msgstr "erro no envio %s ( %s )" +msgstr "Erro ao adicionar serviço. %s" -#, fuzzy -#~ msgid "_New room" -#~ msgstr "Nova Sala" +#~ msgid "Select the account with which you want to synchronise" +#~ msgstr "Selecione a conta que você quer sincronizar" -#~ msgid "Role: " -#~ msgstr "Regra: " +#~ msgid "Select the contacts you want to synchronise" +#~ msgstr "Selecione os contatos que você quer sincronizar" -#~ msgid "Affiliation: " -#~ msgstr "Filiaçã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 para tocar quando qualquer mensagem MUC chegar. (este ajuste é feito " -#~ "exame no cliente somente se os notify_on_all_muc_messages for verdadeiro)" - -#, fuzzy -#~ msgid "Add" -#~ msgstr "Endereço" - -#, fuzzy -#~ msgid "Away " -#~ msgstr "Afastado" - -#, fuzzy -#~ msgid "Down" -#~ msgstr "Download" - -#, fuzzy -#~ msgid "List of special notifications settings" -#~ msgstr "Adicionando Notificação Especial para %s" - -#, fuzzy -#~ msgid "Not Available " -#~ msgstr "Não Disponível" - -#~ msgid "Contact _Info" -#~ msgstr "_Informações de Contato" - -#~ msgid "Jabber" -#~ msgstr "Jabber" - -#~ msgid "Invalid room or server name" -#~ msgstr "Sala inválida ou nome do servidor" - -#~ msgid "Unknown D-Bus version: %s" -#~ msgstr "Versão dbus desconhecida: %s" - -#~ msgid "vCard publication succeeded" -#~ msgstr "Publicação do vCard bem sucedida" - -#~ msgid "Your personal information has been published successfully." -#~ msgstr "Suas informações pessoais foram publicadas com sucesso." - -#~ msgid "Migrating Logs..." -#~ msgstr "Migrando Logs..." - -#~ msgid "_Join New Room" -#~ msgstr "_Ingressar na Nova Sala" - -#~ msgid "Gajim - %d 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 "Since %s" -#~ msgstr "Desde %s" - -#~ msgid "Automatically authorize contact" -#~ msgstr "Autorizar automaticamente os contatos" - -#~ msgid "Send File" -#~ msgstr "Enviar arquivo" - -#~ msgid "Underline" -#~ msgstr "Sublinhar" - -#~ msgid "Would you like to overwrite it?" -#~ msgstr "Você gostaria de sobreescrevê-lo?" - -#~ msgid "_Join New Room..." -#~ msgstr "_Ingressar Nova Sala..." - -#~ msgid "Usage: /%s, sets the groupchat window to compact mode." -#~ msgstr "Uso: /%s, configura a janela de conferência para modo compacto." - -#, fuzzy -#~ msgid "Please modify your special notification below" -#~ msgstr "Por favor escolha uma das opções abaixo:" - -#~ msgid "Delete Message of the Day" -#~ msgstr "Deletar Mensagem do Dia" - -#, fuzzy -#~ msgid "I want a notification popup:" -#~ msgstr "Noti_ficações do status da conversa:" - -#, fuzzy -#~ msgid "I want to listen to:" -#~ msgstr "%s quer te enviar um arquivo:" - -#~ msgid "Send _New Message..." -#~ msgstr "Enviar _nova Mensagem..." - -#~ msgid "Set Message of the Day" -#~ msgstr "Configurar Mensagem do Dia" - -#~ msgid "Update Message of the Day" -#~ msgstr "Atualiza Mensagem do Dia" - -#~ msgid "_XML Console..." -#~ msgstr "Console _XML..." - -#~ msgid "Choose Avatar" -#~ msgstr "_Escolha o Avatar" - -#~ msgid "Use compact view when you open a chat window" -#~ msgstr "Usar visão compacta quando você abre a janela de bate-papo" - -#~ msgid "Use compact view when you open a group chat window" -#~ msgstr "Use a vista compacta quando você abre uma janela de conferência" - -#~ msgid "plain" -#~ msgstr "plano" - -#~ msgid "Send" -#~ msgstr "Enviar" - -#~ msgid "%(nickname)s in room %(room_name)s has sent you a new message." -#~ msgstr "%(nickname)s na sala %(room_name)s lhe enviou uma nova mensagem." - -#~ msgid "%s has sent you a new message." -#~ msgstr "%s lhe enviou uma nova mensagem." - -#, fuzzy -#~ msgid "GUI Migration failed" -#~ msgstr "Publicação do vCard falhou" - -#~ msgid "Logs have been successfully migrated to the database." -#~ msgstr "Os logs foram migrados com sucesso à base de dados." - -#~ msgid "If checked, Gajim will also have a trayicon" -#~ msgstr "Se marcado, o Gajim também terá um ícone de bandeja" - -#, fuzzy -#~ msgid "Start Chat with Contact" -#~ msgstr "Iniciar uma conferência com a conta %s" - -#~ msgid "All contacts in this group are offline or have errors" -#~ msgstr "Todos os contatos deste grupo estão desconectados ou existem erros" - -#~ msgid "Size: " -#~ msgstr "Tamanho: " - -#~ msgid "Session bus is not available" -#~ msgstr "Sessão bus não está disponível" - -#~ msgid "Sound" -#~ msgstr "Som" - -#~ msgid "Text" -#~ msgstr "Texto" - -#~ msgid "Image" -#~ msgstr "Imagem" - -#~ msgid "From %s" -#~ msgstr "De %s" - -#~ msgid "To %s" -#~ msgstr "Para %s" - -#~ msgid "You have been invited to the %(room_jid)s room by %(contact_jid)s" -#~ msgstr "Você foi convidado para a sala %(room_jid)s por %(contact_jid)s" - -#~ msgid "Manage Emoticons" -#~ msgstr "Gerenciar Emoticons" - -#~ msgid "Or choose a preset message:" -#~ msgstr "Ou escolha uma mensagem padrão:" - -#~ msgid "Use _emoticons" -#~ msgstr "Usar _emoticons" - -#~ msgid "_Set Image..." -#~ msgstr "_Configurar Imagem" - -#~ msgid "Switch to %s" -#~ msgstr "Alternar para %s" - -#~ msgid "using account " -#~ msgstr "usando conta" - -#~ msgid "The filesize of image \"%s\" is too large" -#~ msgstr "O arquivo de imagem \"%s\" é muito grande" - -#~ msgid "The file must not be more than 32 kilobytes." -#~ msgstr "O arquivo não deve ter mais do que 32 kilobytes." - -#~ msgid "Timeout" -#~ msgstr "Tempo excedido" - -#~ msgid "account: " -#~ msgstr "conta: " - -#~ msgid "Are you sure you want to leave rooms \"%s\"?" -#~ msgstr "Você tem certeza que quer deixar estas salas \"%s\"?" - -#~ msgid "If you close this window, you will be disconnected from these rooms." -#~ msgstr "Se você fechar esta janela, você será desconectado destas salas." - -#~ msgid "Activate/Disable notification for when a file transfer is complete" -#~ msgstr "" -#~ "Ativar/Desativar notificação quando um transferência de arquivo estiver " -#~ "completa" - -#~ msgid "Removing selected file transfer" -#~ msgstr "Removendo transferência de arquivo selecionada" - -#~ msgid "Stoping selected file transfer" -#~ msgstr "Parando a transferência de arquivo selecionada" - -#~ msgid "" -#~ "If you close this tab and you have history disabled, the message will be " -#~ "lost." -#~ msgstr "" -#~ "Se você fechar esta aba e o histórico estiver desabilitado, 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 contato 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 "" -#~ "(aka python-pysqlite2) falta a dependência pysqlite2. Depois que você " -#~ "instala pysqlite3, se você quiser migrar seus registros à base de dados " -#~ "nova, leia por favor: http://trac.gajim.org/wiki/MigrateLogToDot9DB que " -#~ "retira..." - -#~ msgid "Image is too big" -#~ msgstr "Imagem é muito grande" - -#~ 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 que ser menor ou igual a 24 pixels em largura e " -#~ "24 em altura." - -#~ msgid "Changes in latest version" -#~ msgstr "Mudanças na última versão" - -#~ msgid "Check for new _version on Gajim startup" -#~ msgstr "Verificar por uma nova versão ao iniciar" - -#~ msgid "Log history" -#~ msgstr "Histórico dos registros" - -#~ msgid "New version of Gajim available" -#~ msgstr "Nova versão do Gajim está disponível" - -#~ msgid "Open Download Page" -#~ msgstr "Abrir Página para Download" - -#~ msgid "Session bus is not available." -#~ msgstr "Sessão bus não está disponível." - -#, 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 "Solicitar Autorização de" - -#~ msgid "Send Authorization to" -#~ msgstr "Enviar Autorização para" - -#~ msgid "Log" -#~ msgstr "Registros" - -#~ msgid "Log presences in _contact's log file" -#~ msgstr "Registrar presenças no arquivo de log do contato" - -#~ msgid "Log presences in an _external file" -#~ msgstr "Registrar presenças em um arquivo _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" -#~ " Você pode configurar opções avançadas em \"Edit->Accounts\" 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 mensagem nova é recebida que não seja de um contato que já " -#~ "esteja numa janela de bate-papo, as três ações seguintes podem acontecer " -#~ "para que você seja informado sobre ela" - -#~ msgid "_Earliest" -#~ msgstr "_Primeiro" - -#~ msgid "_Latest" -#~ msgstr "Ú_ltimo" - -#~ msgid "_Previous" -#~ msgstr "_Anterior" - -#~ msgid "%s is now %s: %s" -#~ msgstr "%s agora está %s: %s" - -#~ msgid "Allow controlling Gajim via D-Bus service." -#~ msgstr "Permitir controlar o Gajim via serviço D-Bus." - -#~ 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" -#~ " Você pode configurar opções avançadas em \"Edit->Accounts\" na janela " -#~ "principal. " - -#~ msgid "Error:" -#~ msgstr "Erro:" - -#~ msgid "Service" -#~ msgstr "Serviço" - -#~ msgid "Node" -#~ 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 "" -#~ "Sua nova conta foi criada e adicionada as suas configurações do gajim.\n" -#~ "Você pode configurar opções avançadas em \"Edit->Accounts\" na janela " -#~ "principal. " - -#~ msgid "You need to enter a valid server address to add an account." -#~ msgstr "" -#~ "Você deve entrar com um endereço de servidor válido para registrar uma " -#~ "nova conta." - -#~ msgid "Contact names must be of the form \"user@servername\"." -#~ msgstr "" -#~ "Nomes de contatos devem estar no formato \"usuário@nomedoservidor\"." - -#~ msgid "Invalid contact ID" -#~ msgstr "ID de contato inválido" - -#~ msgid "Contact ID must be of the form \"username@servername\"." -#~ msgstr "ID de contato deve estar no formato \"usuário@nomedoservidor\"." - -#~ msgid "Account registration successful" -#~ msgstr "Registro da conta efetuado com sucesso" - -#~ msgid "The account \"%s\" has been registered with the Jabber server." -#~ msgstr "A conta \"%s\" foi registrada no servidor Jabber" - -#~ msgid "theme_name" -#~ msgstr "nome_do_tema" - -#~ msgid "Edit" -#~ msgstr "Editar" - -#~ msgid "Please fill in the data for your existing account" -#~ msgstr "Por favor preencha os dados para sua conta existente" - -#~ msgid "Check if you want to register for a new jabber account" -#~ msgstr "Marque esta opção se você quer registrar uma nova conta jabber" - -#~ msgid "Click to get contact's extended information" -#~ msgstr "Clique para informações completas do contato" - -#~ msgid "_Compact View" -#~ msgstr "Visão _Compacta" - -#~ msgid "_Refresh" -#~ msgstr "_Atualizar" - -#~ msgid "_Register new account" -#~ msgstr "_Registrar nova conta" - -#~ msgid "Gajim - a GTK+ Jabber client" -#~ msgstr "Gajim - Um cliente jabber GTK" - -#~ msgid "You just received a new message in room \"%s\"" -#~ msgstr "Você acabou de receber uma nova mensagem na sala \"%s\"" - -#~ msgid "" -#~ "If you close this window and you have history disabled, this message will " -#~ "be lost." -#~ msgstr "" -#~ "Se você fechar esta janela e o histórico estiver desabilitado, esta " -#~ "mensagem será perdida." - -#~ msgid "New _Room" -#~ msgstr "Nova _Sala" - -#~ msgid "Always use compact _view" -#~ msgstr "Sempre usar visão _compacta" - -#~ msgid "Banner:" -#~ msgstr "Faixa:" - -#~ 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 bate-papo e conferências terão a área da " -#~ "informação no alto e a área dos botões embaixo escondidas. Você pode " -#~ "rapidamente alternar para a vista compacta com Alt+C. NOTA: O último " -#~ "estado que você deixa uma janela/aba não é permanente" - -#~ msgid "Inactivate account" -#~ msgstr "Conta inativa" - -#~ msgid "Join _Group Chat..." -#~ msgstr "_Ingressar numa Conferência..." - -#~ msgid "Po_sition:" -#~ msgstr "Cargo:" - -#~ msgid "Show roster window on Gajim startup" -#~ msgstr "Mostrar a janela da lista de contatos na inicialização da aplicação" - -#~ msgid "_Service Discovery" -#~ msgstr "_Busca de Serviços" - -#~ msgid "_Service Discovery..." -#~ msgstr "_Busca de Serviços..." - -#~ msgid "error appeared while processing xmpp:" -#~ msgstr "ocorreu um erro enquanto 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 "" -#~ "Cancelar a transferência de arquivo selecionada. Se existir um arquivo " -#~ "incompleto, ele será removido. Esta operação não é reversível." - -#~ msgid "Chan_ge" -#~ msgstr "_Mudar" - -#~ msgid "Unknown type %s " -#~ msgstr "Tipo desconhecido %s" - -#~ msgid "Gajim disconnected you from %s" -#~ msgstr "Gajim desconectou você 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 "" -#~ "%s segundos se passaram e o servidor não respondeu ao nosso keep-alive. " -#~ "Se você acredita em tal desconexão não deve ter acontecido, você pode " -#~ "desabilitar o envio de pacotes keep-alive modificando esta conta." +#~ msgid "Synchronise : select contacts" +#~ msgstr "Sincronizar: selecionar contatos" diff --git a/src/chat_control.py b/src/chat_control.py index ff09e3c06..baa9beec8 100644 --- a/src/chat_control.py +++ b/src/chat_control.py @@ -144,6 +144,11 @@ class ChatControlBase(MessageControl): id = widget.connect('value-changed', self.on_conversation_vadjustment_value_changed) self.handlers[id] = widget + id = widget.connect('changed', + self.on_conversation_vadjustment_changed) + self.handlers[id] = widget + self.scroll_to_end_id = None + self.was_at_the_end = True # add MessageTextView to UI and connect signals self.msg_scrolledwindow = self.xml.get_widget('message_scrolledwindow') self.msg_textview = MessageTextView() @@ -204,14 +209,7 @@ class ChatControlBase(MessageControl): self.msg_textview.lang = lang spell.set_language(lang) except (gobject.GError, RuntimeError), msg: - dialogs.ErrorDialog(unicode(msg), _('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\nHighlighting misspelled ' - 'words feature will not be used')) - gajim.config.set('use_speller', False) - + dialogs.AspellDictError(lang) self.style_event_id = 0 self.conv_textview.tv.show() self._paint_banner() @@ -551,7 +549,7 @@ class ChatControlBase(MessageControl): full_jid = self.get_full_jid() textview = self.conv_textview end = False - if textview.at_the_end() or kind == 'outgoing': + if self.was_at_the_end or kind == 'outgoing': end = True textview.print_conversation_line(text, jid, kind, name, tim, other_tags_for_name, other_tags_for_time, other_tags_for_text, @@ -561,25 +559,36 @@ class ChatControlBase(MessageControl): return if kind == 'incoming': gajim.last_message_time[self.account][full_jid] = time.time() - if (not self.parent_win.get_active_jid() or \ - full_jid != self.parent_win.get_active_jid() or \ - not self.parent_win.is_active() or not end) and \ - kind in ('incoming', 'incoming_queue'): + + if kind in ('incoming', 'incoming_queue'): gc_message = False if self.type_id == message_control.TYPE_GC: gc_message = True - if not gc_message or \ - (gc_message and (other_tags_for_text == ['marked'] or \ - gajim.config.get('notify_on_all_muc_messages'))): - # we want to have save this message in events list - # other_tags_for_text == ['marked'] --> highlighted gc message + + if ((self.parent_win and (not self.parent_win.get_active_jid() or \ + full_jid != self.parent_win.get_active_jid() or \ + not self.parent_win.is_active() or not end)) or \ + (gc_message and \ + gajim.interface.minimized_controls.has_key(self.account) and \ + jid in gajim.interface.minimized_controls[self.account])) and \ + kind in ('incoming', 'incoming_queue'): + # we want to have save this message in events list + # other_tags_for_text == ['marked'] --> highlighted gc message type_ = 'printed_' + self.type_id + event = 'message_received' + show_in_roster = notify.get_show_in_roster(event, + self.account, self.contact) + show_in_systray = notify.get_show_in_systray(event, + self.account, self.contact) if gc_message: type_ = 'printed_gc_msg' - show_in_roster = notify.get_show_in_roster('message_received', - self.account, self.contact) - show_in_systray = notify.get_show_in_systray('message_received', - self.account, self.contact) + event = 'gc_message_received' + show_in_roster = True + show_in_systray = False + if gajim.config.get('notify_on_all_muc_messages'): + show_in_systray = True + if other_tags_for_text == ['marked']: + type_ = 'printed_marked_gc_msg' event = gajim.events.create_event(type_, None, show_in_roster = show_in_roster, show_in_systray = show_in_systray) @@ -588,6 +597,14 @@ class ChatControlBase(MessageControl): if show_in_roster: gajim.interface.roster.draw_contact(self.contact.jid, self.account) + + if not self.parent_win: + return + + if (not self.parent_win.get_active_jid() or \ + full_jid != self.parent_win.get_active_jid() or \ + not self.parent_win.is_active() or not end) and \ + kind in ('incoming', 'incoming_queue'): self.parent_win.redraw_tab(self) ctrl = gajim.interface.msg_win_mgr.get_control(full_jid, self.account) if not self.parent_win.is_active(): @@ -654,16 +671,38 @@ class ChatControlBase(MessageControl): isactive = widget.get_active() self.chat_buttons_set_visible(isactive) + def _on_minimize_menuitem_activate(self, widget): + '''When a grouchat is minimized, unparent the tab, put it in roster etc''' + win = gajim.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 + + if not gajim.interface.minimized_controls.has_key(self.account): + gajim.interface.minimized_controls[self.account] = {} + gajim.interface.minimized_controls[self.account][self.contact.jid] = ctrl + + del win._controls[self.account][self.contact.jid] + + win.check_tabs() + gajim.interface.roster.add_groupchat_to_roster(self.account, + self.contact.jid, status = self.subject) + def set_control_active(self, state): if state: jid = self.contact.jid - if self.conv_textview.at_the_end(): + if self.was_at_the_end: # we are at the end - type_ = 'printed_' + self.type_id + type_ = ['printed_' + self.type_id] if self.type_id == message_control.TYPE_GC: - type_ = 'printed_gc_msg' + type_ = ['printed_gc_msg', 'printed_marked_gc_msg'] if not gajim.events.remove_events(self.account, self.get_full_jid(), - types = [type_]): + types = type_): # There were events to remove self.redraw_after_event_removed(jid) self.msg_textview.grab_focus() @@ -672,18 +711,23 @@ class ChatControlBase(MessageControl): def bring_scroll_to_end(self, textview, diff_y = 0): ''' scrolls to the end of textview if end is not visible ''' + if self.scroll_to_end_id: + # a scroll is already planned + return buffer = textview.get_buffer() end_iter = buffer.get_end_iter() end_rect = textview.get_iter_location(end_iter) visible_rect = textview.get_visible_rect() # scroll only if expected end is not visible if end_rect.y >= (visible_rect.y + visible_rect.height + diff_y): - gobject.idle_add(self.scroll_to_end_iter, textview) + self.scroll_to_end_id = gobject.idle_add(self.scroll_to_end_iter, + textview) def scroll_to_end_iter(self, textview): buffer = textview.get_buffer() end_iter = buffer.get_end_iter() textview.scroll_to_iter(end_iter, 0, False, 1, 1) + self.scroll_to_end_id = None return False def size_request(self, msg_textview , requisition): @@ -741,7 +785,15 @@ class ChatControlBase(MessageControl): return True - def on_conversation_vadjustment_value_changed(self, widget): + def on_conversation_vadjustment_changed(self, adjustment): + # used to stay at the end of the textview when we shrink conversation + # textview. + if self.was_at_the_end: + self.conv_textview.bring_scroll_to_end(-18) + self.was_at_the_end = (adjustment.upper - adjustment.value - adjustment.page_size) < 18 + + def on_conversation_vadjustment_value_changed(self, adjustment): + self.was_at_the_end = (adjustment.upper - adjustment.value - adjustment.page_size) < 18 if self.resource: jid = self.contact.get_full_jid() else: @@ -752,13 +804,12 @@ class ChatControlBase(MessageControl): if not len(gajim.events.get_events(self.account, jid, ['printed_' + type_, type_])): return + if not self.parent_win: + return if self.conv_textview.at_the_end() and \ - self.parent_win.get_active_control() == self and \ - self.parent_win.window.is_active(): + self.parent_win.get_active_control() == self and \ + self.parent_win.window.is_active(): # we are at the end - type_ = self.type_id - if type_ == message_control.TYPE_GC: - type_ = 'gc_msg' if not gajim.events.remove_events(self.account, self.get_full_jid(), types = ['printed_' + type_, type_]): # There were events to remove @@ -774,9 +825,15 @@ class ChatControlBase(MessageControl): room_jid, nick = gajim.get_room_and_nick_from_fjid(jid) groupchat_control = gajim.interface.msg_win_mgr.get_control( room_jid, self.account) + if not groupchat_control and \ + gajim.interface.minimized_controls.has_key(self.account) and \ + room_jid in gajim.interface.minimized_controls[self.account]: + groupchat_control = \ + gajim.interface.minimized_controls[self.account][room_jid] groupchat_control.draw_contact(nick) mw = gajim.interface.msg_win_mgr.get_window(room_jid, self.account) - mw.redraw_tab(groupchat_control) + if mw: + mw.redraw_tab(groupchat_control) else: gajim.interface.roster.draw_contact(jid, self.account) gajim.interface.roster.show_title() @@ -846,6 +903,7 @@ class ChatControl(ChatControlBase): '''A control for standard 1-1 chat''' TYPE_ID = message_control.TYPE_CHAT old_msg_kind = None # last kind of the printed message + CHAT_CMDS = ['clear', 'compact', 'help', 'ping'] def __init__(self, parent_win, contact, acct, resource = None): ChatControlBase.__init__(self, self.TYPE_ID, parent_win, @@ -1124,6 +1182,49 @@ class ChatControl(ChatControlBase): self.contact.get_shown_name() gtk.Tooltips().set_tip(self.xml.get_widget('gpg_eventbox'), tt) + def _process_command(self, message): + if message[0] != '/': + return False + + # Handle common commands + if ChatControlBase._process_command(self, message): + return True + + message = message[1:] + message_array = message.split(' ', 1) + command = message_array.pop(0).lower() + if message_array == ['']: + message_array = [] + + if command == 'help': + if len(message_array): + subcommand = message_array.pop(0) + self.get_command_help(subcommand) + else: + self.get_command_help(command) + self.clear(self.msg_textview) + return True + elif command == 'ping' and not len(message_array): + gajim.connections[self.account].sendPing(self.contact) + self.clear(self.msg_textview) + return True + return False + + def get_command_help(self, command): + if command == 'help': + self.print_conversation(_('Commands: %s') % ChatControl.CHAT_CMDS, + 'info') + elif command == 'clear': + self.print_conversation(_('Usage: /%s, clears the text window.'), + 'info') + elif command == 'compact': + self.print_conversation(_('Usage: /%s, hide the chat buttons.'), + 'info') + elif command == 'ping': + self.print_conversation(_(''), 'info') + else: + self.print_conversation(_('No help info for /%s') % command, 'info') + def send_message(self, message, keyID = '', chatstate = None): '''Send a message to contact''' if message in ('', None, '\n') or self._process_command(message): @@ -1153,13 +1254,9 @@ class ChatControl(ChatControlBase): # because we want it sent with REAL message # (not standlone) eg. one that has body - #FIXME: - # Enable 3 next lines after 0.11 release. - # Having this disabled violate xep85 5.1.2 but then we don't break - # notifications between 0.10.1 and 0.11 See #2637 - # if contact.our_chatstate: - # # We already ask for xep 85, don't ask it twice - # composing_jep = 'asked_once' + if contact.our_chatstate: + # We already asked for xep 85, don't ask it twice + composing_jep = 'asked_once' chatstate_to_send = 'active' contact.our_chatstate = 'ask' # pseudo state @@ -1575,24 +1672,34 @@ class ChatControl(ChatControlBase): if not gajim.config.get('show_avatar_in_chat'): return - jid = self.contact.jid - jid_with_resource = jid - if resource: - jid_with_resource += '/' + resource + is_fake = False + if self.TYPE_ID == message_control.TYPE_PM: + is_fake = True + jid_with_resource = self.contact.jid # fake jid + else: + jid_with_resource = self.contact.jid + if resource: + jid_with_resource += '/' + resource # we assume contact has no avatar scaled_pixbuf = None - pixbuf = None - is_fake = False - if gajim.contacts.is_pm_from_jid(self.account, jid): - is_fake = True pixbuf = gtkgui_helpers.get_avatar_pixbuf_from_cache(jid_with_resource, is_fake) if pixbuf == 'ask': # we don't have the vcard - gajim.connections[self.account].request_vcard(jid_with_resource, - is_fake) + if self.TYPE_ID == message_control.TYPE_PM: + if self.gc_contact.jid: + # We know the real jid of this contact + real_jid = self.gc_contact.jid + if self.gc_contact.resource: + real_jid += '/' + self.gc_contact.resource + else: + real_jid = jid_with_resource + gajim.connections[self.account].request_vcard(real_jid, + jid_with_resource) + else: + gajim.connections[self.account].request_vcard(jid_with_resource) return if pixbuf is not None: scaled_pixbuf = gtkgui_helpers.get_scaled_pixbuf(pixbuf, 'chat') diff --git a/src/common/config.py b/src/common/config.py index b19288bec..028d8f031 100644 --- a/src/common/config.py +++ b/src/common/config.py @@ -187,6 +187,7 @@ class Config: 'notification_avatar_width': [opt_int, 48], 'notification_avatar_height': [opt_int, 48], 'muc_highlight_words': [opt_str, '', _('A semicolon-separated list of words that will be highlighted in group chats.')], + 'minimize_autojoined_rooms': [opt_bool, False, _('If True, autojoined bookmarked rooms will be minimized on startup.')], 'quit_on_roster_x_button': [opt_bool, False, _('If True, quits Gajim when X button of Window Manager is clicked. This setting is taken into account only if trayicon is used.')], 'check_if_gajim_is_default': [opt_bool, True, _('If True, Gajim will check if it\'s the default jabber client on each startup.')], 'show_unread_tab_icon': [opt_bool, False, _('If True, Gajim will display an icon on each tab containing unread messages. Depending on the theme, this icon may be animated.')], @@ -225,6 +226,8 @@ class Config: 'show_contacts_number': [opt_bool, True, _('If True, Gajim will show number of online and total contacts in account and group rows.')], 'treat_incoming_messages': [ opt_str, '', _('Can be empty, \'chat\' or \'normal\'. If not empty, treat all incoming messages as if they were of this type')], 'scroll_roster_to_last_message': [opt_bool, True, _('If True, Gajim will scroll and select the contact who sent you the last message, if chat window is not already opened.')], + 'use_latex': [opt_bool, False, _('If True, Gajim will convert string between $$ and $$ to an image using dvips and convert before insterting it in chat window.')], + 'change_status_window_timeout': [opt_int, 15, _('Time of inactivity needed before the change status window closes down.')], } __options_per_key = { diff --git a/src/common/connection.py b/src/common/connection.py index 4abdd590a..00a17a54e 100644 --- a/src/common/connection.py +++ b/src/common/connection.py @@ -17,9 +17,9 @@ ## GNU General Public License for more details. ## - import os import random +import socket try: randomsource = random.SystemRandom() @@ -42,6 +42,7 @@ USE_GPG = GnuPG.USE_GPG from common.rst_xhtml_generator import create_xhtml +from string import Template import logging log = logging.getLogger('gajim.c.connection') @@ -76,11 +77,19 @@ class Connection(ConnectionHandlers): self.last_history_line = {} self.password = passwords.get_password(name) self.server_resource = gajim.config.get_per('accounts', name, 'resource') + # All valid resource substitution strings should be added to this hash. + if self.server_resource: + self.server_resource = Template(self.server_resource).safe_substitute({ + 'hostname': socket.gethostname() + }) if gajim.config.get_per('accounts', self.name, 'keep_alives_enabled'): self.keepalives = gajim.config.get_per('accounts', self.name,'keep_alive_every_foo_secs') else: self.keepalives = 0 self.privacy_rules_supported = False + self.blocked_list = [] + self.blocked_contacts = [] + self.blocked_groups = [] self.pep_supported = False # Do we continue connection when we get roster (send presence,get vcard...) self.continue_connect_info = None @@ -197,30 +206,15 @@ class Connection(ConnectionHandlers): # it's a new account if not data[1]: # wrong answer self.dispatch('ACC_NOT_OK', ( - _('Transport %s answered wrongly to register request: %s')\ + _('Server %s answered wrongly to register request: %s')\ % (data[0], data[3]))) return - req = data[1].asDict() - req['username'] = self.new_account_info['name'] - req['password'] = self.new_account_info['password'] - def _on_register_result(result): - if not common.xmpp.isResultNode(result): - self.dispatch('ACC_NOT_OK', (result.getError())) - return - self.password = self.new_account_info['password'] - if USE_GPG: - self.gpg = GnuPG.GnuPG(gajim.config.get('use_gpg_agent')) - gajim.config.set('usegpg', True) - else: - gajim.config.set('usegpg', False) - gajim.connections[self.name] = self - self.dispatch('ACC_OK', (self.new_account_info)) - self.new_account_info = None - if self.connection: - self.connection.UnregisterDisconnectHandler(self._on_new_account) - self.disconnect(on_purpose=True) - common.xmpp.features_nb.register(self.connection, data[0], - req, _on_register_result) + is_form = data[2] + if is_form: + conf = data[1] + else: + conf = data[1].asDict() + self.dispatch('NEW_ACC_CONNECTED', (conf, is_form)) return if not data[1]: # wrong answer self.dispatch('ERROR', (_('Invalid answer'), @@ -293,16 +287,13 @@ class Connection(ConnectionHandlers): def connect(self, data = None): ''' Start a connection to the Jabber server. Returns connection, and connection type ('tls', 'ssl', 'tcp', '') - data MUST contain name, hostname, resource, usessl, proxy, - use_custom_host, custom_host (if use_custom_host), custom_port (if - use_custom_host), ''' + data MUST contain hostname, usessl, proxy, use_custom_host, + custom_host (if use_custom_host), custom_port (if use_custom_host)''' if self.connection: return self.connection, '' if data: - name = data['name'] hostname = data['hostname'] - resource = data['resource'] usessl = data['usessl'] self.try_connecting_for_foo_secs = 45 p = data['proxy'] @@ -312,9 +303,7 @@ class Connection(ConnectionHandlers): custom_h = data['custom_host'] custom_p = data['custom_port'] else: - name = gajim.config.get_per('accounts', self.name, 'name') hostname = gajim.config.get_per('accounts', self.name, 'hostname') - resource = gajim.config.get_per('accounts', self.name, 'resource') usessl = gajim.config.get_per('accounts', self.name, 'usessl') self.try_connecting_for_foo_secs = gajim.config.get_per('accounts', self.name, 'try_connecting_for_foo_secs') @@ -325,7 +314,7 @@ class Connection(ConnectionHandlers): custom_h = gajim.config.get_per('accounts', self.name, 'custom_host') custom_p = gajim.config.get_per('accounts', self.name, 'custom_port') - #create connection if it doesn't already exist + # create connection if it doesn't already exist self.connected = 1 if p and p in gajim.config.get_per('proxies'): proxy = {'host': gajim.config.get_per('proxies', p, 'host')} @@ -450,7 +439,6 @@ class Connection(ConnectionHandlers): name = gajim.config.get_per('accounts', self.name, 'name') hostname = gajim.config.get_per('accounts', self.name, 'hostname') - resource = gajim.config.get_per('accounts', self.name, 'resource') self.connection = con fpr_good = self._check_fingerprint(con, con_type) @@ -471,7 +459,7 @@ class Connection(ConnectionHandlers): if fpr_good == True: log.info("Fingerprint found and matched for %s.", hostname) - con.auth(name, self.password, resource, 1, self.__on_auth) + con.auth(name, self.password, self.server_resource, 1, self.__on_auth) return True @@ -572,6 +560,22 @@ class Connection(ConnectionHandlers): return common.xmpp.features_nb.getPrivacyLists(self.connection) + def sendPing(self, pingTo): + if not self.connection: + return + iq = common.xmpp.Iq('get', to = pingTo.get_full_jid()) + iq.addChild(name = 'ping', namespace = common.xmpp.NS_PING) + def _on_response(resp): + timePong = time.time() + if not common.xmpp.isResultNode(resp): + self.dispatch('PING_ERROR', (pingTo)) + return + timeDiff = round(timePong - timePing,2) + self.dispatch('PING_REPLY', (pingTo, timeDiff)) + self.dispatch('PING_SENT', (pingTo)) + timePing = time.time() + self.connection.SendAndCallForResponse(iq, _on_response) + def get_active_default_lists(self): if not self.connection: return @@ -628,6 +632,8 @@ class Connection(ConnectionHandlers): self.connection.send(iq) def send_invisible_presence(self, msg, signed, initial = False): + if not self.connection: + return # try to set the privacy rule iq = self.build_privacy_rule('invisible', 'deny') self.connection.SendAndCallForResponse(iq, self._continue_invisible, @@ -715,6 +721,32 @@ class Connection(ConnectionHandlers): self.awaiting_answers[id] = (PRIVACY_ARRIVED, ) self.connection.send(iq) + def send_custom_status(self, show, msg, jid): + if not show in STATUS_LIST: + return -1 + if not self.connection: + return + sshow = helpers.get_xmpp_show(show) + if not msg: + msg = '' + keyID = gajim.config.get_per('accounts', self.name, 'keyid') + if show == 'offline': + p = common.xmpp.Presence(typ = 'unavailable', to = jid) + p = self.add_sha(p, False) + if msg: + p.setStatus(msg) + else: + signed = self.get_signed_msg(msg) + priority = unicode(gajim.get_priority(self.name, sshow)) + p = common.xmpp.Presence(typ = None, priority = priority, show = sshow, + to = jid) + p = self.add_sha(p) + if msg: + p.setStatus(msg) + if signed: + p.setTag(common.xmpp.NS_SIGNED + ' x').setData(signed) + self.connection.send(p) + def change_status(self, show, msg, auto = False): if not show in STATUS_LIST: return -1 @@ -731,9 +763,11 @@ class Connection(ConnectionHandlers): # recconect before we auth to server self.old_show = show self.on_purpose = False + self.server_resource = gajim.config.get_per('accounts', self.name, + 'resource') self.connect_and_init(show, msg, signed) - elif show == 'offline' and self.connected: + elif show == 'offline': self.connected = 0 if self.connection: self.on_purpose = True @@ -967,6 +1001,41 @@ class Connection(ConnectionHandlers): self.connection.getRoster().setItem(jid = jid, name = name, groups = groups) + def send_new_account_infos(self, form, is_form): + def _on_register_result(result): + if not common.xmpp.isResultNode(result): + self.dispatch('ACC_NOT_OK', (result.getError())) + return + if USE_GPG: + self.gpg = GnuPG.GnuPG(gajim.config.get('use_gpg_agent')) + gajim.config.set('usegpg', True) + else: + gajim.config.set('usegpg', False) + gajim.connections[self.name] = self + self.dispatch('ACC_OK', (self.new_account_info)) + self.new_account_info = None + if self.connection: + self.connection.UnregisterDisconnectHandler(self._on_new_account) + self.disconnect(on_purpose=True) + if is_form: + # Get username and password and put them in new_account_info + for field in self._data_form.iter_fields(): + if field.var == 'username': + self.new_account_info['name'] = field.value + if field.var == 'password': + self.new_account_info['password'] = field.value + iq=Iq('set', NS_REGISTER, to = self._hostname) + iq.setTag('query').addChild(node = form) + self.connection.SendAndCallForResponse(iq, _on_register_result) + else: + # Get username and password and put them in new_account_info + if form.has_key('username'): + self.new_account_info['name'] = form['username'] + if form.has_key('password'): + self.new_account_info['password'] = form['password'] + common.xmpp.features_nb.register(self.connection, self._hostname, + form, _on_register_result) + def new_account(self, name, config, sync = False): # If a connection already exist we cannot create a new account if self.connection: @@ -980,13 +1049,11 @@ class Connection(ConnectionHandlers): def _on_new_account(self, con = None, con_type = None): if not con_type: - self.dispatch('ACC_NOT_OK', + self.dispatch('NEW_ACC_NOT_CONNECTED', (_('Could not connect to "%s"') % self._hostname)) return self.on_connect_failure = None self.connection = con - #if con: - # con.RegisterDisconnectHandler(self._on_new_account) common.xmpp.features_nb.getRegInfo(con, self._hostname) def account_changed(self, new_name): @@ -1326,4 +1393,38 @@ class Connection(ConnectionHandlers): else: self.time_to_reconnect = None + def request_search_fields(self, jid): + iq = common.xmpp.Iq(typ = 'get', to = jid, queryNS = \ + common.xmpp.NS_SEARCH) + self.connection.send(iq) + + def send_search_form(self, jid, form, is_form): + iq = common.xmpp.Iq(typ = 'set', to = jid, queryNS = \ + common.xmpp.NS_SEARCH) + item = iq.getTag('query') + if is_form: + item.addChild(node = form) + else: + for i in form.keys(): + item.setTagData(i,form[i]) + def _on_response(resp): + jid = jid = helpers.get_jid_from_iq(resp) + tag = resp.getTag('query', namespace = common.xmpp.NS_SEARCH) + if not tag: + self.dispatch('SEARCH_RESULT', (jid, None, False)) + return + df = tag.getTag('x', namespace = common.xmpp.NS_DATA) + if df: + self.dispatch('SEARCH_RESULT', (jid, df, True)) + return + df = [] + for item in tag.getTags('item'): + f = {} + for i in item.getPayload(): + f[i.getName()] = i.getData() + df.append(f) + self.dispatch('SEARCH_RESULT', (jid, df, False)) + + self.connection.SendAndCallForResponse(iq, _on_response) + # END Connection diff --git a/src/common/connection_handlers.py b/src/common/connection_handlers.py index 5e55e8e0a..eaa6293c6 100644 --- a/src/common/connection_handlers.py +++ b/src/common/connection_handlers.py @@ -818,6 +818,7 @@ class ConnectionVcard: self.vcard_sha = None self.vcard_shas = {} # sha of contacts self.room_jids = [] # list of gc jids so that vcard are saved in a folder + self.groupchat_jids = {} # {ID : groupchat_jid} def add_sha(self, p, send_caps = True): c = p.setTag('x', namespace = common.xmpp.NS_VCARD_UPDATE) @@ -913,9 +914,10 @@ class ConnectionVcard: vcard['resource'] = gajim.get_resource_from_jid(fjid) return vcard - def request_vcard(self, jid = None, is_fake_jid = False): - '''request the VCARD. If is_fake_jid is True, it means we request a vcard - to a fake jid, like in private messages in groupchat''' + def request_vcard(self, jid = None, groupchat_jid = None): + '''request the VCARD. If groupchat_jid is not nul, it means we request a vcard + to a fake jid, like in private messages in groupchat. jid can be the + real jid of the contact, but we want to consider it comes from a fake jid''' if not self.connection: return iq = common.xmpp.Iq(typ = 'get') @@ -928,13 +930,13 @@ class ConnectionVcard: j = jid if not j: j = gajim.get_jid_from_account(self.name) - self.awaiting_answers[id] = (VCARD_ARRIVED, j) - if is_fake_jid: - room_jid, nick = gajim.get_room_and_nick_from_fjid(jid) + self.awaiting_answers[id] = (VCARD_ARRIVED, j, groupchat_jid) + if groupchat_jid: + room_jid, nick = gajim.get_room_and_nick_from_fjid(groupchat_jid) if not room_jid in self.room_jids: self.room_jids.append(room_jid) + self.groupchat_jids[id] = groupchat_jid self.connection.send(iq) - #('VCARD', {entry1: data, entry2: {entry21: data, ...}, ...}) def send_vcard(self, vcard): if not self.connection: @@ -1017,17 +1019,22 @@ class ConnectionVcard: # If vcard is empty, we send to the interface an empty vcard so that # it knows it arrived jid = self.awaiting_answers[id][1] + groupchat_jid = self.awaiting_answers[id][2] + frm = jid + if groupchat_jid: + # We do as if it comes from the fake_jid + frm = groupchat_jid our_jid = gajim.get_jid_from_account(self.name) if iq_obj.getType() == 'error' and jid == our_jid: # our server doesn't support vcard self.vcard_supported = False if not iq_obj.getTag('vCard') or iq_obj.getType() == 'error': - if jid and jid != our_jid: + if frm and frm != our_jid: # Write an empty file - self.save_vcard_to_hd(jid, '') - self.dispatch('VCARD', {'jid': jid}) - elif jid == our_jid: - self.dispatch('MYVCARD', {'jid': jid}) + self.save_vcard_to_hd(frm, '') + self.dispatch('VCARD', {'jid': frm}) + elif frm == our_jid: + self.dispatch('MYVCARD', {'jid': frm}) elif self.awaiting_answers[id][0] == AGENT_REMOVED: jid = self.awaiting_answers[id][1] self.dispatch('AGENT_REMOVED', jid) @@ -1058,6 +1065,7 @@ class ConnectionVcard: elif self.awaiting_answers[id][0] == PRIVACY_ARRIVED: if iq_obj.getType() != 'error': self.privacy_rules_supported = True + self.get_privacy_list('block') # Ask metacontacts before roster self.get_metacontacts() @@ -1070,10 +1078,15 @@ class ConnectionVcard: return if not vc.getTag('vCard').getNamespace() == common.xmpp.NS_VCARD: return + id = vc.getID() frm_iq = vc.getFrom() our_jid = gajim.get_jid_from_account(self.name) resource = '' - if frm_iq: + if id in self.groupchat_jids: + who = self.groupchat_jids[id] + frm, resource = gajim.get_room_and_nick_from_fjid(who) + del self.groupchat_jids[id] + elif frm_iq: who = helpers.get_full_jid_from_iq(vc) frm, resource = gajim.get_room_and_nick_from_fjid(who) else: @@ -1145,6 +1158,7 @@ class ConnectionVcard: p = self.add_sha(p) self.connection.send(p) else: + #('VCARD', {entry1: data, entry2: {entry21: data, ...}, ...}) self.dispatch('VCARD', vcard) class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco, ConnectionCommands, ConnectionPubSub): @@ -1186,7 +1200,8 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco, id = iq_obj.getTagAttr('confirm', 'id') method = iq_obj.getTagAttr('confirm', 'method') url = iq_obj.getTagAttr('confirm', 'url') - self.dispatch('HTTP_AUTH', (method, url, id, iq_obj)); + msg = iq_obj.getTagData('body') # In case it's a message with a body + self.dispatch('HTTP_AUTH', (method, url, id, iq_obj, msg)); raise common.xmpp.NodeProcessed def _ErrorCB(self, con, iq_obj): @@ -1390,6 +1405,11 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco, if msg.getTag('event') is not None: self._pubsubEventCB(con, msg) return + # check if the message is a xep70-confirmation-request + if msg.getTag('confirm') and msg.getTag('confirm').namespace == \ + common.xmpp.NS_HTTP_AUTH: + self._HttpAuthCB(con, msg) + return msgtxt = msg.getBody() msghtml = msg.getXHTML() mtype = msg.getType() @@ -1558,6 +1578,9 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco, ptype = prs.getType() if ptype == 'available': ptype = None + rfc_types = ('unavailable', 'error', 'subscribe', 'subscribed', 'unsubscribe', 'unsubscribed') + if ptype and not ptype in rfc_types: + ptype = None gajim.log.debug('PresenceCB: %s' % ptype) try: who = helpers.get_full_jid_from_iq(prs) @@ -1580,6 +1603,7 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco, user_nick = prs.getTagData('nick') if not user_nick: user_nick = '' + contact_nickname = None transport_auto_auth = False xtags = prs.getTags('x') for x in xtags: @@ -1592,6 +1616,7 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco, sigTag = x elif namespace == common.xmpp.NS_VCARD_UPDATE: avatar_sha = x.getTagData('photo') + contact_nickname = x.getTagData('nickname') elif namespace == common.xmpp.NS_DELAY: # JEP-0091 tim = prs.getTimestamp() @@ -1631,7 +1656,7 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco, errcode = prs.getErrorCode() if errcode == '502': # Internal Timeout: self.dispatch('NOTIFY', (jid_stripped, 'error', errmsg, resource, - prio, keyID, timestamp)) + prio, keyID, timestamp, None)) elif errcode == '401': # password required to join self.dispatch('ERROR', (_('Unable to join group chat'), _('A password is required to join this group chat.'))) @@ -1664,7 +1689,8 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco, if not ptype or ptype == 'unavailable': if gajim.config.get('log_contact_status_changes') and self.name\ not in no_log_for and jid_stripped not in no_log_for: - gc_c = gajim.contacts.get_gc_contact(self.name, jid_stripped, resource) + gc_c = gajim.contacts.get_gc_contact(self.name, jid_stripped, + resource) st = status or '' if gc_c: jid = gc_c.jid @@ -1679,24 +1705,8 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco, # contact has no avatar puny_nick = helpers.sanitize_filename(resource) gajim.interface.remove_avatar_files(jid_stripped, puny_nick) - if self.vcard_shas.has_key(who): # Verify sha cached in mem - if avatar_sha != self.vcard_shas[who]: - # avatar has been updated - self.request_vcard(who, True) - else: # Verify sha cached in hdd - cached_vcard = self.get_cached_vcard(who, True) - if cached_vcard and cached_vcard.has_key('PHOTO') and \ - cached_vcard['PHOTO'].has_key('SHA'): - cached_sha = cached_vcard['PHOTO']['SHA'] - else: - cached_sha = '' - if cached_sha != avatar_sha: - # avatar has been updated - # sha in mem will be updated later - self.request_vcard(who, True) - else: - # save sha in mem NOW - self.vcard_shas[who] = avatar_sha + # if it's a gc presence, don't ask vcard here. We may ask it to + # real jid in gui part. if ns_muc_user_x: # Room has been destroyed. see # http://www.xmpp.org/extensions/xep-0045.html#destroyroom @@ -1714,7 +1724,8 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco, statusCode = prs.getStatusCode() self.dispatch('GC_NOTIFY', (jid_stripped, show, status, resource, prs.getRole(), prs.getAffiliation(), prs.getJid(), - reason, prs.getActor(), statusCode, prs.getNewNick())) + reason, prs.getActor(), statusCode, prs.getNewNick(), + avatar_sha)) return if ptype == 'subscribe': @@ -1727,7 +1738,7 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco, self.connection.send(p) if who.find("@") <= 0 or transport_auto_auth: self.dispatch('NOTIFY', (jid_stripped, 'offline', 'offline', - resource, prio, keyID, timestamp)) + resource, prio, keyID, timestamp, None)) if transport_auto_auth: self.automatically_added.append(jid_stripped) self.request_subscription(jid_stripped, name = user_nick) @@ -1778,7 +1789,7 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco, errcode = prs.getErrorCode() if errcode == '502': # Internal Timeout: self.dispatch('NOTIFY', (jid_stripped, 'error', errmsg, resource, - prio, keyID, timestamp)) + prio, keyID, timestamp, None)) else: # print in the window the error self.dispatch('ERROR_ANSWER', ('', jid_stripped, errmsg, errcode)) @@ -1799,7 +1810,7 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco, not in no_log_for and jid_stripped not in no_log_for: gajim.logger.write('status', jid_stripped, status, show) self.dispatch('NOTIFY', (jid_stripped, show, status, resource, prio, - keyID, timestamp)) + keyID, timestamp, contact_nickname)) # END presenceCB def _StanzaArrivedCB(self, con, obj): @@ -1953,6 +1964,26 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco, self.dispatch('SIGNED_IN', ()) self.continue_connect_info = None + def _search_fields_received(self, con, iq_obj): + jid = jid = helpers.get_jid_from_iq(iq_obj) + tag = iq_obj.getTag('query', namespace = common.xmpp.NS_SEARCH) + if not tag: + self.dispatch('SEARCH_FORM', (jid, None, False)) + return + df = tag.getTag('x', namespace = common.xmpp.NS_DATA) + if df: + self.dispatch('SEARCH_FORM', (jid, df, True)) + return + df = {} + for i in iq_obj.getQueryPayload(): + df[i.getName()] = i.getData() + self.dispatch('SEARCH_FORM', (jid, df, False)) + + def _StreamCB(self, con, obj): + if obj.getTag('conflict'): + # disconnected because of a resource conflict + self.dispatch('RESOURCE_CONFLICT', ()) + def _register_handlers(self, con, con_type): # try to find another way to register handlers in each class # that defines handlers @@ -2018,6 +2049,8 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco, common.xmpp.NS_DISCO_ITEMS) con.RegisterHandler('iq', self._IqPingCB, 'get', common.xmpp.NS_PING) + con.RegisterHandler('iq', self._search_fields_received, 'result', + common.xmpp.NS_SEARCH) con.RegisterHandler('iq', self._PubSubCB, 'result') con.RegisterHandler('iq', self._ErrorCB, 'error') con.RegisterHandler('iq', self._IqCB) @@ -2025,3 +2058,4 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco, con.RegisterHandler('iq', self._ResultCB, 'result') con.RegisterHandler('presence', self._StanzaArrivedCB) con.RegisterHandler('message', self._StanzaArrivedCB) + con.RegisterHandler('unknown', self._StreamCB, 'urn:ietf:params:xml:ns:xmpp-streams', xmlns='http://etherx.jabber.org/streams') diff --git a/src/common/contacts.py b/src/common/contacts.py index ee0bc9f35..0147a9fd3 100644 --- a/src/common/contacts.py +++ b/src/common/contacts.py @@ -23,6 +23,7 @@ class Contact: chatstate=None, last_status_time=None, msg_id = None, composing_jep = None): self.jid = jid self.name = name + self.contact_name = '' # nick choosen by contact self.groups = groups self.show = show self.status = status @@ -61,6 +62,8 @@ class Contact: def get_shown_name(self): if self.name: return self.name + if self.contact_name: + return self.contact_name return self.jid.split('@')[0] def is_hidden_from_roster(self): @@ -86,6 +89,11 @@ class Contact: is_observer = True return is_observer + def is_groupchat(self): + if _('Groupchats') in self.groups: + return True + return False + def is_transport(self): # if not '@' or '@' starts the jid then contact is transport if self.jid.find('@') <= 0: diff --git a/src/common/dataforms.py b/src/common/dataforms.py index 470ef6ae2..6c6817d6a 100644 --- a/src/common/dataforms.py +++ b/src/common/dataforms.py @@ -34,7 +34,7 @@ def Field(typ, **attrs): ''' Helper function to create a field of given type. ''' f = { 'boolean': BooleanField, - 'fixed': StringField, + 'fixed': TextMultiField, # not editable, still can have multiple lines of text 'hidden': StringField, 'text-private': StringField, 'text-single': StringField, @@ -54,7 +54,7 @@ def ExtendField(node): typ=node.getAttr('type') f = { 'boolean': BooleanField, - 'fixed': StringField, + 'fixed': TextMultiField, 'hidden': StringField, 'text-private': StringField, 'text-single': StringField, @@ -63,12 +63,14 @@ def ExtendField(node): 'list-multi': ListMultiField, 'list-single': ListSingleField, 'text-multi': TextMultiField, - }[typ](extend=node) - return f + } + if typ not in f: + typ = 'text-single' + return f[typ](extend=node) def ExtendForm(node): ''' Helper function to extend a node to form of appropriate type. ''' - if node.getTag('recorded') is not None: + if node.getTag('reported') is not None: return MultipleDataForm(extend=node) else: return SimpleDataForm(extend=node) @@ -195,7 +197,6 @@ class StringField(DataField): pass return locals() - class ListField(DataField): ''' Covers fields of types: jid-multi, jid-single, list-multi, list-single. ''' @nested_property @@ -385,9 +386,25 @@ class SimpleDataForm(DataForm, DataRecord): DataRecord.__init__(self, fields=fields, extend=self, associated=self) class MultipleDataForm(DataForm): - def __init__(self): + def __init__(self, type=None, title=None, instructions=None, items=None, extend=None): + DataForm.__init__(self, type=type, title=title, instructions=instructions, extend=extend) # all records, recorded into DataRecords - pass + if extend is None: + # we have to build this object from scratch + xmpp.Node.__init__(self) + + if items is not None: self.items = items + else: + # we already have xmpp.Node inside - try to convert all + # fields into DataField objects + if items is None: + self.items = list(self.iterTags('item')) + else: + for item in self.getTags('item'): + self.delChild(item) + self.items = items + reported_tag = self.getTag('reported') + self.reported = DataRecord(extend = reported_tag) @nested_property def items(): @@ -401,7 +418,7 @@ class MultipleDataForm(DataForm): DataRecord(extend=record) self.addChild(node=record) def fdel(self): - for record in self.getTags('record'): + for record in self.getTags('item'): self.delChild(record) return locals() @@ -409,18 +426,18 @@ class MultipleDataForm(DataForm): for record in self.getTags('item'): yield record - @nested_property - def recorded(): - ''' DataRecord that contains descriptions of fields in records.''' - def fget(self): - return self.getTag('recorded') - def fset(self, record): - try: - self.delChild('recorded') - except: - pass - - record.setName('recorded') - self.addChild(node=record) - return locals() +# @nested_property +# def reported(): +# ''' DataRecord that contains descriptions of fields in records.''' +# def fget(self): +# return self.getTag('reported') +# def fset(self, record): +# try: +# self.delChild('reported') +# except: +# pass +# +# record.setName('reported') +# self.addChild(node=record) +# return locals() diff --git a/src/common/events.py b/src/common/events.py index b7dd852a1..d796cfefb 100644 --- a/src/common/events.py +++ b/src/common/events.py @@ -28,7 +28,7 @@ class Event: 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_pm + printed_chat, printed_gc_msg, printed_marked_gc_msg, printed_pm parameters is (per type_): chat, normal: [message, subject, kind, time, encrypted, resource, msg_id] @@ -185,7 +185,8 @@ class Events: first_event = event return first_event - def _get_nb_events(self, account = None, jid = None, attribute = None, types = []): + def _get_nb_events(self, account = None, jid = None, attribute = None, + types = []): '''return the number of pending events''' nb = 0 if account: diff --git a/src/common/gajim.py b/src/common/gajim.py index 9b23b1887..1b2225284 100644 --- a/src/common/gajim.py +++ b/src/common/gajim.py @@ -124,6 +124,8 @@ status_before_autoaway = {} # be online transport_avatar = {} # {transport_jid: [jid_list]} +# Is Gnome configured to activate on single click ? +single_click = False SHOW_LIST = ['offline', 'connecting', 'online', 'chat', 'away', 'xa', 'dnd', 'invisible', 'error'] diff --git a/src/common/helpers.py b/src/common/helpers.py index eb054ec00..12388bf81 100644 --- a/src/common/helpers.py +++ b/src/common/helpers.py @@ -40,7 +40,7 @@ try: except: pass -special_groups = (_('Transports'), _('Not in Roster'), _('Observers')) +special_groups = (_('Transports'), _('Not in Roster'), _('Observers'), _('Groupchats')) class InvalidFormat(Exception): pass @@ -548,6 +548,10 @@ def get_icon_name_to_show(contact, account = None): if account and gajim.events.get_nb_roster_events(account, contact.get_full_jid()): return 'message' + if account and gajim.interface.minimized_controls.has_key(account) and \ + contact.jid in gajim.interface.minimized_controls[account] and gajim.interface.\ + minimized_controls[account][contact.jid].get_nb_unread_pm() > 0: + return 'message' if contact.jid.find('@') <= 0: # if not '@' or '@' starts the jid ==> agent return contact.show if contact.sub in ('both', 'to'): @@ -869,7 +873,7 @@ def get_notification_icon_tooltip_text(): 'chat']) unread_single_chat = gajim.events.get_nb_events(types = ['normal']) unread_gc = gajim.events.get_nb_events(types = ['printed_gc_msg', - 'gc_msg']) + 'printed_marked_gc_msg', 'gc_msg']) unread_pm = gajim.events.get_nb_events(types = ['printed_pm', 'pm']) accounts = get_accounts_info() @@ -942,3 +946,20 @@ def get_accounts_info(): accounts.append({'name': account, 'status_line': single_line, 'show': status, 'message': message}) return accounts + +def get_avatar_path(prefix): + '''Returns the filename of the avatar, distinguishes between user- and + contact-provided one. Returns None if no avatar was found at all. + prefix is the path to the requested avatar just before the ".png" or + ".jpeg".''' + # First, scan for a local, user-set avatar + for type_ in ('jpeg', 'png'): + file_ = prefix + '_local.' + type_ + if os.path.exists(file_): + return file_ + # If none available, scan for a contact-provided avatar + for type_ in ('jpeg', 'png'): + file_ = prefix + '.' + type_ + if os.path.exists(file_): + return file_ + return None diff --git a/src/common/logger.py b/src/common/logger.py index 5e91538ba..19c816f64 100644 --- a/src/common/logger.py +++ b/src/common/logger.py @@ -484,7 +484,7 @@ class Logger: else: # user just typed something, we search in message column where_sql = self._build_contact_where(account, jid) - like_sql = '%' + query + '%' + like_sql = '%' + query.replace("'", "''") + '%' self.cur.execute(''' SELECT contact_name, time, kind, show, message, subject FROM logs WHERE (%s) AND message LIKE '%s' diff --git a/src/common/rst_xhtml_generator.py b/src/common/rst_xhtml_generator.py index 16b38fe71..6b78828ef 100644 --- a/src/common/rst_xhtml_generator.py +++ b/src/common/rst_xhtml_generator.py @@ -21,39 +21,70 @@ try: from docutils import nodes,utils from docutils.parsers.rst.roles import set_classes except: + print "Requires docutils 0.4 for set_classes to be available" def create_xhtml(text): return None else: - def jep_reference_role(role, rawtext, text, lineno, inliner, - options={}, content=[]): - '''Role to make handy references to Jabber Enhancement Proposals (JEP). + def pos_int_validator(text): + """Validates that text can be evaluated as a positive integer.""" + result = int(text) + if result < 0: + raise ValueError("Error: value '%(text)s' " + "must be a positive integer") + return result - Use as :JEP:`71` (or jep, or jep-reference). - Modeled after the sample in docutils documentation. + def generate_uri_role( role_name, aliases, + anchor_text, base_url, + interpret_url, validator): + '''Creates and register a uri based "interpreted role". + + Those are similar to the RFC, and PEP ones, and take + role_name: + name that will be registered + aliases: + list of alternate names + anchor_text: + text that will be used, together with the role + base_url: + base url for the link + interpret_url: + this, modulo the validated text, will be added to it + validator: + should return the validated text, or raise ValueError ''' + def uri_reference_role(role, rawtext, text, lineno, inliner, + options={}, content=[]): + try: + valid_text = validator(text) + except ValueError, e: + msg = inliner.reporter.error( e.message % dict(text=text), line=lineno) + prb = inliner.problematic(rawtext, rawtext, msg) + return [prb], [msg] + ref = base_url + interpret_url % valid_text + set_classes(options) + node = nodes.reference(rawtext, anchor_text + utils.unescape(text), refuri=ref, + **options) + return [node], [] - jep_base_url = 'http://www.jabber.org/jeps/' - jep_url = 'jep-%04d.html' - try: - jepnum = int(text) - if jepnum <= 0: - raise ValueError - except ValueError: - msg = inliner.reporter.error( - 'JEP number must be a number greater than or equal to 1; ' - '"%s" is invalid.' % text, line=lineno) - prb = inliner.problematic(rawtext, rawtext, msg) - return [prb], [msg] - ref = jep_base_url + jep_url % jepnum - set_classes(options) - node = nodes.reference(rawtext, 'JEP ' + utils.unescape(text), refuri=ref, - **options) - return [node], [] + uri_reference_role.__doc__ = """Role to make handy references to URIs. - roles.register_canonical_role('jep-reference', jep_reference_role) - from docutils.parsers.rst.languages.en import roles - roles['jep-reference'] = 'jep-reference' - roles['jep'] = 'jep-reference' + Use as :%(role_name)s:`71` (or any of %(aliases)s). + It will use %(base_url)s+%(interpret_url)s + validator should throw a ValueError, containing optionally + a %%(text)s format, if the interpreted text is not valid. + """ % locals() + roles.register_canonical_role(role_name, uri_reference_role) + from docutils.parsers.rst.languages import en + en.roles[role_name] = role_name + for alias in aliases: + en.roles[alias] = role_name + + generate_uri_role('xep-reference', ('jep', 'xep'), + 'XEP #', 'http://www.xmpp.org/extensions/', 'xep-%04d.html', + pos_int_validator) + generate_uri_role('gajim-ticket-reference', ('ticket','gtrack'), + 'Gajim Ticket #', 'http://trac.gajim.org/ticket/', '%d', + pos_int_validator) class HTMLGenerator: '''Really simple HTMLGenerator starting from publish_parts. @@ -108,7 +139,7 @@ else: if __name__ == '__main__': - print Generator.create_xhtml(''' + print "test 1\n", Generator.create_xhtml(""" test:: >>> print 1 @@ -118,9 +149,10 @@ test:: this `` should trigger`` should trigger the   problem. -''') - print Generator.create_xhtml(''' +""") + print "test 2\n", Generator.create_xhtml(""" *test1 test2_ -''') +""") + print "test 3\n", Generator.create_xhtml(""":ticket:`316` implements :xep:`71`""") diff --git a/src/common/xmpp/features_nb.py b/src/common/xmpp/features_nb.py index 61e54ce7d..5785a3034 100644 --- a/src/common/xmpp/features_nb.py +++ b/src/common/xmpp/features_nb.py @@ -143,7 +143,6 @@ def _ReceivedRegInfo(con, resp, agent): def register(disp, host, info, cb): """ Perform registration on remote server with provided info. disp must be connected dispatcher instance. - Returns true or false depending on registration result. If registration fails you can get additional info from the dispatcher's owner attributes lastErrNode, lastErr and lastErrCode. """ diff --git a/src/common/zeroconf/client_zeroconf.py b/src/common/zeroconf/client_zeroconf.py index e11dda12b..e9d9f452d 100644 --- a/src/common/zeroconf/client_zeroconf.py +++ b/src/common/zeroconf/client_zeroconf.py @@ -158,10 +158,6 @@ class P2PClient(IdleObject): self.Connection.PlugIn(self) dispatcher_nb.Dispatcher().PlugIn(self) self._register_handlers() - if self.sock_type == TYPE_CLIENT: - while self.stanzaqueue: - stanza, is_message = self.stanzaqueue.pop(0) - self.send(stanza, is_message) def StreamInit(self): ''' Send an initial stream header. ''' @@ -178,9 +174,11 @@ class P2PClient(IdleObject): def send_stream_header(self): self.Dispatcher._metastream = Node('stream:stream') self.Dispatcher._metastream.setNamespace(self.Namespace) - # XXX TLS support - #~ self._metastream.setAttr('version', '1.0') + self.Dispatcher._metastream.setAttr('version', '1.0') self.Dispatcher._metastream.setAttr('xmlns:stream', NS_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): @@ -191,7 +189,17 @@ class P2PClient(IdleObject): self.Connection.disconnect() return if self.sock_type == TYPE_SERVER: + if attrs.has_key('from'): + self.to = attrs['from'] self.send_stream_header() + if attrs.has_key('version') and attrs['version'] == '1.0': + # other part supports stream features + features = 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) diff --git a/src/common/zeroconf/connection_zeroconf.py b/src/common/zeroconf/connection_zeroconf.py index 5bdb7104a..29d40226c 100644 --- a/src/common/zeroconf/connection_zeroconf.py +++ b/src/common/zeroconf/connection_zeroconf.py @@ -52,18 +52,21 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf): # system username self.username = None self.name = name + self.server_resource = '' # zeroconf has no resource, fake an empty one self.connected = 0 # offline self.connection = None self.gpg = None self.is_zeroconf = True self.privacy_rules_supported = False + self.blocked_contacts = [] + self.blocked_groups = [] self.status = '' self.old_show = '' self.priority = 0 self.call_resolve_timeout = False - #self.time_to_reconnect = None + self.time_to_reconnect = None #self.new_account_info = None self.bookmarks = [] @@ -127,10 +130,12 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf): gajim.handlers[event](self.name, data) def _reconnect(self): + # Do not try to reco while we are already trying + self.time_to_reconnect = None gajim.log.debug('reconnect') - signed = self.get_signed_msg(self.status) - self.reconnect() +# signed = self.get_signed_msg(self.status) + self.connect(self.old_show, self.status) def quit(self, kill_core): if kill_core and self.connected > 1: @@ -174,7 +179,7 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf): self.dispatch('ROSTER_INFO', (key, self.roster.getName(key), 'both', 'no', self.roster.getGroups(key))) self.dispatch('NOTIFY', (key, self.roster.getStatus(key), - self.roster.getMessage(key), 'local', 0, None, 0)) + self.roster.getMessage(key), 'local', 0, None, 0, None)) #XXX open chat windows don't get refreshed (full name), add that return self.call_resolve_timeout @@ -182,13 +187,13 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf): def _on_new_service(self,jid): self.roster.setItem(jid) self.dispatch('ROSTER_INFO', (jid, self.roster.getName(jid), 'both', 'no', self.roster.getGroups(jid))) - self.dispatch('NOTIFY', (jid, self.roster.getStatus(jid), self.roster.getMessage(jid), 'local', 0, None, 0)) + self.dispatch('NOTIFY', (jid, self.roster.getStatus(jid), self.roster.getMessage(jid), 'local', 0, None, 0, None)) def _on_remove_service(self, jid): self.roster.delItem(jid) # 'NOTIFY' (account, (jid, status, status message, resource, priority, - # keyID, timestamp)) - self.dispatch('NOTIFY', (jid, 'offline', '', 'local', 0, None, 0)) + # keyID, timestamp, contact_nickname)) + self.dispatch('NOTIFY', (jid, 'offline', '', 'local', 0, None, 0, None)) def _on_disconnected(self): self.disconnect() @@ -199,6 +204,19 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf): self.status = 'offline' self.disconnect() + def _disconnectedReconnCB(self): + '''Called when we are disconnected. Comes from network manager for example + we don't try to reconnect, network manager will tell us when we can''' + if gajim.account_is_connected(self.name): + # we cannot change our status to offline or connecting + # after we auth to server + self.old_show = STATUS_LIST[self.connected] + self.connected = 0 + self.dispatch('STATUS', 'offline') + # random number to show we wait network manager to send us a reconenct + self.time_to_reconnect = 5 + self.on_purpose = False + def _on_name_conflictCB(self, alt_name): self.disconnect() self.dispatch('STATUS', 'offline') @@ -241,7 +259,7 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf): #display contacts already detected and resolved for jid in self.roster.keys(): self.dispatch('ROSTER_INFO', (jid, self.roster.getName(jid), 'both', 'no', self.roster.getGroups(jid))) - self.dispatch('NOTIFY', (jid, self.roster.getStatus(jid), self.roster.getMessage(jid), 'local', 0, None, 0)) + self.dispatch('NOTIFY', (jid, self.roster.getStatus(jid), self.roster.getMessage(jid), 'local', 0, None, 0, None)) self.connected = STATUS_LIST.index(show) @@ -300,6 +318,7 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf): # 'disconnect' elif show == 'offline' and self.connected: self.disconnect() + self.time_to_reconnect = None # update status elif show != 'offline' and self.connected: @@ -332,12 +351,12 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf): chatstate = None, msg_id = None, composing_jep = None, resource = None, user_nick = None): fjid = jid - + if not self.connection: return if not msg and chatstate is None: return - + if self.status in ('invisible', 'offline'): self.dispatch('MSGERROR', [unicode(jid), '-1', _('You are not connected or not visible to others. Your message could not be sent.'), None, None]) return @@ -345,19 +364,23 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf): msgtxt = msg msgenc = '' if keyID and USE_GPG: - #encrypt - msgenc = self.gpg.encrypt(msg, [keyID]) - if msgenc: + # encrypt + msgenc, error = self.gpg.encrypt(msg, [keyID]) + if msgenc and not error: msgtxt = '[This message is encrypted]' lang = os.getenv('LANG') if lang is not None or lang != 'en': # we're not english msgtxt = _('[This message is encrypted]') +\ ' ([This message is encrypted])' # one in locale and one en + else: + # Encryption failed, do not send message + tim = time.localtime() + self.dispatch('MSGNOTSENT', (jid, error, msgtxt, tim)) + return 3 - if type == 'chat': msg_iq = common.xmpp.Message(to = fjid, body = msgtxt, typ = type) - + else: if subject: msg_iq = common.xmpp.Message(to = fjid, body = msgtxt, @@ -368,7 +391,7 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf): if msgenc: msg_iq.setTag(common.xmpp.NS_ENCRYPTED + ' x').setData(msgenc) - + # chatstates - if peer supports jep85 or jep22, send chatstates # please note that the only valid tag inside a message containing a # tag is the active event @@ -386,7 +409,7 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf): # when msgtxt, requests JEP-0022 composing notification if chatstate is 'composing' or msgtxt: chatstate_node.addChild(name = 'composing') - + if not self.connection.send(msg_iq, msg != None): return diff --git a/src/common/zeroconf/roster_zeroconf.py b/src/common/zeroconf/roster_zeroconf.py index ea676ac23..1de058af7 100644 --- a/src/common/zeroconf/roster_zeroconf.py +++ b/src/common/zeroconf/roster_zeroconf.py @@ -67,6 +67,8 @@ class Roster: status = txt_dict['status'] else: status = '' + if not status: + status = 'avail' nm = '' if txt_dict.has_key('1st'): nm = txt_dict['1st'] diff --git a/src/config.py b/src/config.py index dd2654412..e1bcfa062 100644 --- a/src/config.py +++ b/src/config.py @@ -1214,7 +1214,7 @@ class AccountModificationWindow: self.xml.get_widget('save_password_checkbutton').set_active( gajim.config.get_per('accounts', self.account, 'savepass')) if gajim.config.get_per('accounts', self.account, 'savepass'): - passstr = passwords.get_password(self.account) + passstr = passwords.get_password(self.account) or '' password_entry = self.xml.get_widget('password_entry') password_entry.set_sensitive(True) password_entry.set_text(passstr) @@ -1408,7 +1408,7 @@ class AccountModificationWindow: config['keyname'] = self.xml.get_widget('gpg_name_label').get_text().\ decode('utf-8') - if config['keyname'] == '': #no key selected + if config['keyname'] == '': # no key selected config['keyid'] = '' config['savegpgpass'] = False config['gpgpassword'] = '' @@ -1419,9 +1419,9 @@ class AccountModificationWindow: 'gpg_save_password_checkbutton').get_active() config['gpgpassword'] = self.xml.get_widget('gpg_password_entry' ).get_text().decode('utf-8') - #if we modify the name of the account + # if we modify the name of the account if name != self.account: - #update variables + # update variables gajim.interface.instances[name] = gajim.interface.instances[ self.account] gajim.nicks[name] = gajim.nicks[self.account] @@ -1446,7 +1446,7 @@ class AccountModificationWindow: # change account variable for chat / gc controls gajim.interface.msg_win_mgr.change_account_name(self.account, name) # upgrade account variable in opened windows - for kind in ('infos', 'disco', 'gc_config'): + for kind in ('infos', 'disco', 'gc_config', 'search'): for j in gajim.interface.instances[name][kind]: gajim.interface.instances[name][kind][j].account = name @@ -1588,6 +1588,13 @@ class AccountModificationWindow: gajim.interface.instances['manage_proxies'] = \ ManageProxiesWindow() + def on_synchronise_contacts_button_clicked(self, widget): + try: + dialog = dialogs.SynchroniseSelectAccountDialog(self.account) + except GajimGeneralException: + # If we showed ErrorDialog, there will not be dialog instance + return + def on_gpg_choose_button_clicked(self, widget, data = None): if gajim.connections.has_key(self.account): secret_keys = gajim.connections[self.account].ask_gpg_secrete_keys() @@ -2049,7 +2056,7 @@ class AccountsWindow: connection_zeroconf.ConnectionZeroconf(gajim.ZEROCONF_ACC_NAME) # update variables gajim.interface.instances[gajim.ZEROCONF_ACC_NAME] = {'infos': {}, - 'disco': {}, 'gc_config': {}} + 'disco': {}, 'gc_config': {}, 'search': {}} gajim.connections[gajim.ZEROCONF_ACC_NAME].connected = 0 gajim.groups[gajim.ZEROCONF_ACC_NAME] = {} gajim.contacts.add_account(gajim.ZEROCONF_ACC_NAME) @@ -2080,44 +2087,23 @@ class AccountsWindow: self.on_checkbutton_toggled(widget, 'enable_zeroconf') -class ServiceRegistrationWindow: - '''Class for Service registration window: - Window that appears when we want to subscribe to a service - if is_form we use dataforms_widget else we use service_registarion_window''' - def __init__(self, service, infos, account, is_form): - self.service = service +class FakeDataForm(gtk.Table, object): + '''Class for forms that are in XML format value1 + infos in a table {entry1: value1, }''' + def __init__(self, infos): + gtk.Table.__init__(self) self.infos = infos - self.account = account - self.is_form = is_form - self.xml = gtkgui_helpers.get_glade('service_registration_window.glade') - self.window = self.xml.get_widget('service_registration_window') - self.window.set_transient_for(gajim.interface.roster.window) - if self.is_form: - dataform = dataforms.ExtendForm(node = self.infos) - self.data_form_widget = dataforms_widget.DataFormWidget(dataform) - if self.data_form_widget.title: - self.window.set_title("%s - Gajim" % self.data_form_widget.title) - table = self.xml.get_widget('table') - table.attach(self.data_form_widget, 0, 2, 0, 1) - else: - if infos.has_key('registered'): - self.window.set_title(_('Edit %s') % service) - else: - self.window.set_title(_('Register to %s') % service) - self.xml.get_widget('label').set_text(infos['instructions']) - self.entries = {} - self.draw_table() + self.entries = {} + self._draw_table() - self.xml.signal_autoconnect(self) - self.window.show_all() - - def on_cancel_button_clicked(self, widget): - self.window.destroy() - - def draw_table(self): - '''Draw the table in the window''' + def _draw_table(self): + '''Draw the table''' nbrow = 0 - table = self.xml.get_widget('table') + if self.infos.has_key('instructions'): + nbrow = 1 + self.resize(rows = nbrow, columns = 2) + label = gtk.Label(self.infos['instructions']) + self.attach(label, 0, 2, 0, 1, 0, 0, 0, 0) for name in self.infos.keys(): if name in ('key', 'instructions', 'x', 'registered'): continue @@ -2125,40 +2111,73 @@ class ServiceRegistrationWindow: continue nbrow = nbrow + 1 - table.resize(rows = nbrow, columns = 2) + self.resize(rows = nbrow, columns = 2) label = gtk.Label(name.capitalize() + ':') - table.attach(label, 0, 1, nbrow - 1, nbrow, 0, 0, 0, 0) + self.attach(label, 0, 1, nbrow - 1, nbrow, 0, 0, 0, 0) entry = gtk.Entry() entry.set_activates_default(True) if self.infos[name]: entry.set_text(self.infos[name]) if name == 'password': entry.set_visibility(False) - table.attach(entry, 1, 2, nbrow - 1, nbrow, 0, 0, 0, 0) + self.attach(entry, 1, 2, nbrow - 1, nbrow, 0, 0, 0, 0) self.entries[name] = entry if nbrow == 1: entry.grab_focus() - table.show_all() + + def get_infos(self): + for name in self.entries.keys(): + self.infos[name] = self.entries[name].get_text().decode('utf-8') + return self.infos + +class ServiceRegistrationWindow: + '''Class for Service registration window: + Window that appears when we want to subscribe to a service + if is_form we use dataforms_widget else we use service_registarion_window''' + def __init__(self, service, infos, account, is_form): + self.service = service + self.account = account + self.is_form = is_form + self.xml = gtkgui_helpers.get_glade('service_registration_window.glade') + self.window = self.xml.get_widget('service_registration_window') + self.window.set_transient_for(gajim.interface.roster.window) + if self.is_form: + dataform = dataforms.ExtendForm(node = infos) + self.data_form_widget = dataforms_widget.DataFormWidget(dataform) + if self.data_form_widget.title: + self.window.set_title('%s - Gajim' % self.data_form_widget.title) + table = self.xml.get_widget('table') + table.attach(self.data_form_widget, 0, 2, 0, 1) + else: + if infos.has_key('registered'): + self.window.set_title(_('Edit %s') % service) + else: + self.window.set_title(_('Register to %s') % service) + self.data_form_widget = FakeDataForm(infos) + table = self.xml.get_widget('table') + table.attach(self.data_form_widget, 0, 2, 0, 1) + + self.xml.signal_autoconnect(self) + self.window.show_all() + + def on_cancel_button_clicked(self, widget): + self.window.destroy() def on_ok_button_clicked(self, widget): + # send registration info to the core if self.is_form: form = self.data_form_widget.data_form gajim.connections[self.account].register_agent(self.service, form, True) # True is for is_form else: - # we pressed OK of service_registration_window - # send registration info to the core - for name in self.entries.keys(): - self.infos[name] = self.entries[name].get_text().decode('utf-8') - if self.infos.has_key('instructions'): - del self.infos['instructions'] - if self.infos.has_key('registered'): - del self.infos['registered'] - gajim.connections[self.account].register_agent(self.service, - self.infos) - - self.window.destroy() + infos = self.data_form_widget.get_infos() + if infos.has_key('instructions'): + del infos['instructions'] + if infos.has_key('registered'): + del infos['registered'] + gajim.connections[self.account].register_agent(self.service, infos) + self.window.destroy() class GroupchatConfigWindow: '''GroupchatConfigWindow class''' @@ -2759,13 +2778,21 @@ class AccountCreationWizardWindow: 'account_creation_wizard_window.glade') self.window = self.xml.get_widget('account_creation_wizard_window') + completion = gtk.EntryCompletion() # Connect events from comboboxentry.child server_comboboxentry = self.xml.get_widget('server_comboboxentry') entry = server_comboboxentry.child entry.connect('key_press_event', - self.on_server_comboboxentry_key_press_event) - completion = gtk.EntryCompletion() + self.on_server_comboboxentry_key_press_event, server_comboboxentry) entry.set_completion(completion) + # Do the same for the other server comboboxentry + server_comboboxentry1 = self.xml.get_widget('server_comboboxentry1') + entry = server_comboboxentry1.child + entry.connect('key_press_event', + self.on_server_comboboxentry_key_press_event, server_comboboxentry1) + entry.set_completion(completion) + + self.update_proxy_list() # parse servers.xml servers_xml = os.path.join(gajim.DATA_DIR, 'other', 'servers.xml') @@ -2781,6 +2808,8 @@ class AccountCreationWizardWindow: # Put servers into comboboxentries server_comboboxentry.set_model(servers_model) server_comboboxentry.set_text_column(0) + server_comboboxentry1.set_model(servers_model) + server_comboboxentry1.set_text_column(0) # Generic widgets self.notebook = self.xml.get_widget('notebook') @@ -2819,28 +2848,18 @@ class AccountCreationWizardWindow: self.window.destroy() def on_back_button_clicked(self, widget): - if self.notebook.get_current_page() == 1: + if self.notebook.get_current_page() in (1, 2): self.notebook.set_current_page(0) self.back_button.set_sensitive(False) - elif self.notebook.get_current_page() == 3: # finish page + elif self.notebook.get_current_page() == 3: + self.notebook.set_current_page(2) + self.xml.get_widget('form_vbox').remove(self.data_form_widget) + elif self.notebook.get_current_page() == 5: # finish page self.forward_button.show() - self.notebook.set_current_page(1) # Goto parameters page - - def get_widgets(self): - widgets = {} - for widget in ( - 'username_entry', - 'server_comboboxentry', - 'pass1_entry', - 'pass2_entry', - 'save_password_checkbutton', - 'proxyhost_entry', - 'proxyport_entry', - 'proxyuser_entry', - 'proxypass_entry', - 'jid_label'): - widgets[widget] = self.xml.get_widget(widget) - return widgets + if self.modify: + self.notebook.set_current_page(1) # Go to parameters page + else: + self.notebook.set_current_page(2) # Go to server page def on_forward_button_clicked(self, widget): cur_page = self.notebook.get_current_page() @@ -2849,41 +2868,29 @@ class AccountCreationWizardWindow: widget = self.xml.get_widget('use_existing_account_radiobutton') if widget.get_active(): self.modify = True - self.xml.get_widget('server_features_button').hide() - self.xml.get_widget('pass2_entry').hide() - self.xml.get_widget('pass2_label').hide() + self.notebook.set_current_page(1) else: self.modify = False - self.xml.get_widget('server_features_button').show() - self.xml.get_widget('pass2_entry').show() - self.xml.get_widget('pass2_label').show() - self.notebook.set_current_page(1) + self.notebook.set_current_page(2) self.back_button.set_sensitive(True) return - else: - widgets = self.get_widgets() - username = widgets['username_entry'].get_text().decode('utf-8') + elif cur_page == 1: + # We are adding an existing account + username = self.xml.get_widget('username_entry').get_text().decode( + 'utf-8') if not username: pritext = _('Invalid username') - sectext = _('You must provide a username to configure this account' - '.') + sectext = _( + 'You must provide a username to configure this account.') dialogs.ErrorDialog(pritext, sectext) return - server = widgets['server_comboboxentry'].child.get_text().decode('utf-8') - savepass = widgets['save_password_checkbutton'].get_active() - password = widgets['pass1_entry'].get_text().decode('utf-8') - - if not self.modify: - if password == '': - dialogs.ErrorDialog(_('Invalid password'), - _('You must enter a password for the new account.')) - return - - if widgets['pass2_entry'].get_text() != password: - dialogs.ErrorDialog(_('Passwords do not match'), - _('The passwords typed in both fields must be identical.')) - return + server = self.xml.get_widget('server_comboboxentry').child.get_text().\ + decode('utf-8') + savepass = self.xml.get_widget('save_password_checkbutton').\ + get_active() + password = self.xml.get_widget('password_entry').get_text().decode( + 'utf-8') jid = username + '@' + server # check if jid is conform to RFC and stringprep it @@ -2919,31 +2926,141 @@ class AccountCreationWizardWindow: self.forward_button.hide() if self.modify: finish_text = '%s\n\n%s' % ( - _('Account has been added successfully'), - _('You can set advanced account options by pressing the ' - 'Advanced button, or later by choosing the Accounts menuitem ' + _('Account has been added successfully'), + _('You can set advanced account options by pressing the ' + 'Advanced button, or later by choosing the Accounts menuitem ' 'under the Edit menu from the main window.')) - self.finish_label.set_markup(finish_text) - self.finish_button.show() - self.finish_button.set_property('has-default', True) - self.advanced_button.show() - self.go_online_checkbutton.show() - img = self.xml.get_widget('finish_image') - img.set_from_stock(gtk.STOCK_APPLY, gtk.ICON_SIZE_DIALOG) - self.notebook.set_current_page(3) # show finish page - self.show_vcard_checkbutton.set_active(False) + self.finish_label.set_markup(finish_text) + self.finish_button.show() + self.finish_button.set_property('has-default', True) + self.advanced_button.show() + self.go_online_checkbutton.show() + img = self.xml.get_widget('finish_image') + img.set_from_stock(gtk.STOCK_APPLY, gtk.ICON_SIZE_DIALOG) + self.notebook.set_current_page(5) # show finish page + self.show_vcard_checkbutton.set_active(False) + elif cur_page == 2: + server = self.xml.get_widget('server_comboboxentry1').child.get_text()\ + .decode('utf-8') + + if not server: + dialogs.ErrorDialog(_('Invalid server'), + _('Please provide a server on which you want to register.')) + return + self.account = server + i = 1 + while self.account in gajim.connections: + self.account = server + str(i) + i += 1 + + config = self.get_config('', server, '', '') + # Get advanced options + proxies_combobox = self.xml.get_widget('proxies_combobox') + active = proxies_combobox.get_active() + proxy = proxies_combobox.get_model()[active][0].decode('utf-8') + if proxy == _('None'): + proxy = '' + config['proxy'] = proxy + + config['use_custom_host'] = self.xml.get_widget( + 'custom_host_port_checkbutton').get_active() + custom_port = self.xml.get_widget('custom_port_entry').get_text() + try: + custom_port = int(custom_port) + except: + dialogs.ErrorDialog(_('Invalid entry'), + _('Custom port must be a port number.')) + return + config['custom_port'] = custom_port + config['custom_host'] = self.xml.get_widget( + 'custom_host_entry').get_text().decode('utf-8') + + self.notebook.set_current_page(4) # show creating page + self.back_button.hide() + self.forward_button.hide() + self.update_progressbar_timeout_id = gobject.timeout_add(100, + self.update_progressbar) + # Get form from serveur + con = connection.Connection(self.account) + con.new_account(self.account, config) + gajim.connections[self.account] = con + elif cur_page == 3: + if self.is_form: + form = self.data_form_widget.data_form else: - self.notebook.set_current_page(2) # show creating page - self.update_progressbar_timeout_id = gobject.timeout_add(100, - self.update_progressbar) + form = self.data_form_widget.get_infos() + gajim.connections[self.account].send_new_account_infos(form, + self.is_form) + self.xml.get_widget('form_vbox').remove(self.data_form_widget) + self.xml.get_widget('progressbar_label').set_markup('Account is being created\n\nPlease wait...') + self.notebook.set_current_page(4) # show creating page + self.back_button.hide() + self.forward_button.hide() + self.update_progressbar_timeout_id = gobject.timeout_add(100, + self.update_progressbar) + + def update_proxy_list(self): + proxies_combobox = self.xml.get_widget('proxies_combobox') + model = gtk.ListStore(str) + proxies_combobox.set_model(model) + l = gajim.config.get_per('proxies') + l.insert(0, _('None')) + for i in xrange(len(l)): + model.append([l[i]]) + proxies_combobox.set_active(0) + + def on_manage_proxies_button_clicked(self, widget): + if gajim.interface.instances.has_key('manage_proxies'): + gajim.interface.instances['manage_proxies'].window.present() + else: + gajim.interface.instances['manage_proxies'] = \ + ManageProxiesWindow() + + def on_custom_host_port_checkbutton_toggled(self, widget): + self.xml.get_widget('custom_host_hbox').set_sensitive(widget.get_active()) def update_progressbar(self): self.progressbar.pulse() return True # loop forever + def new_acc_connected(self, form, is_form): + '''connection to server succeded, present the form to the user''' + if self.update_progressbar_timeout_id is not None: + gobject.source_remove(self.update_progressbar_timeout_id) + self.back_button.show() + self.forward_button.show() + self.notebook.set_current_page(3) # show form page + self.is_form = is_form + if is_form: + dataform = dataforms.ExtendForm(node = form) + self.data_form_widget = dataforms_widget.DataFormWidget(dataform) + else: + self.data_form_widget = FakeDataForm(form) + self.data_form_widget.show_all() + self.xml.get_widget('form_vbox').pack_start(self.data_form_widget) + + def new_acc_not_connected(self, reason): + '''Account creation failed: connection to server failed''' + if self.update_progressbar_timeout_id is not None: + gobject.source_remove(self.update_progressbar_timeout_id) + del gajim.connections[self.account] + self.back_button.show() + self.cancel_button.show() + self.go_online_checkbutton.hide() + self.show_vcard_checkbutton.hide() + img = self.xml.get_widget('finish_image') + img.set_from_stock(gtk.STOCK_DIALOG_ERROR, gtk.ICON_SIZE_DIALOG) + finish_text = '%s\n\n%s' % ( + _('An error occurred during account creation') , reason) + self.finish_label.set_markup(finish_text) + self.notebook.set_current_page(5) # show finish page + def acc_is_ok(self, config): '''Account creation succeeded''' self.create_vars(config) + self.cancel_button.hide() + self.back_button.hide() + self.forward_button.hide() self.finish_button.show() self.finish_button.set_property('has-default', True) self.advanced_button.show() @@ -2959,7 +3076,7 @@ class AccountCreationWizardWindow: 'button, or later by choosing the Accounts menuitem under the Edit ' 'menu from the main window.')) self.finish_label.set_markup(finish_text) - self.notebook.set_current_page(3) # show finish page + self.notebook.set_current_page(5) # show finish page if self.update_progressbar_timeout_id is not None: gobject.source_remove(self.update_progressbar_timeout_id) @@ -2970,12 +3087,16 @@ class AccountCreationWizardWindow: self.cancel_button.show() self.go_online_checkbutton.hide() self.show_vcard_checkbutton.hide() + del gajim.connections[self.account] img = self.xml.get_widget('finish_image') img.set_from_stock(gtk.STOCK_DIALOG_ERROR, gtk.ICON_SIZE_DIALOG) finish_text = '%s\n\n%s' % (_('An error occurred during ' 'account creation') , reason) self.finish_label.set_markup(finish_text) - self.notebook.set_current_page(3) # show finish page + self.notebook.set_current_page(5) # show finish page + + if self.update_progressbar_timeout_id is not None: + gobject.source_remove(self.update_progressbar_timeout_id) def on_advanced_button_clicked(self, widget): gajim.interface.instances[self.account]['account_modification'] = \ @@ -3005,12 +3126,11 @@ class AccountCreationWizardWindow: combobox.child.set_position(-1) return True - def on_server_comboboxentry_key_press_event(self, widget, event): + def on_server_comboboxentry_key_press_event(self, widget, event, combobox): # If backspace is pressed in empty field, return to the nick entry field backspace = event.keyval == gtk.keysyms.BackSpace - combobox = self.xml.get_widget('server_comboboxentry') empty = len(combobox.get_active_text()) == 0 - if backspace and empty: + if backspace and empty and self.modify: username_entry = self.xml.get_widget('username_entry') username_entry.grab_focus() username_entry.set_position(-1) @@ -3028,14 +3148,7 @@ class AccountCreationWizardWindow: string = '%s@%s' % (name, server) jid_label.set_label(string) - def save_account(self, login, server, savepass, password): - if self.account in gajim.connections: - dialogs.ErrorDialog(_('Account name is in use'), - _('You already have an account using this name.')) - return - con = connection.Connection(self.account) - con.password = password - + def get_config(self, login, server, savepass, password): config = {} config['name'] = login config['hostname'] = server @@ -3055,6 +3168,17 @@ class AccountCreationWizardWindow: config['keyid'] = '' config['savegpgpass'] = False config['gpgpassword'] = '' + return config + + def save_account(self, login, server, savepass, password): + if self.account in gajim.connections: + dialogs.ErrorDialog(_('Account name is in use'), + _('You already have an account using this name.')) + return + con = connection.Connection(self.account) + con.password = password + + config = self.get_config(login, server, savepass, password) if not self.modify: con.new_account(self.account, config) @@ -3073,7 +3197,7 @@ class AccountCreationWizardWindow: # update variables gajim.interface.instances[self.account] = {'infos': {}, 'disco': {}, - 'gc_config': {}} + 'gc_config': {}, 'search': {}} gajim.connections[self.account].connected = 0 gajim.groups[self.account] = {} gajim.contacts.add_account(self.account) diff --git a/src/conversation_textview.py b/src/conversation_textview.py index 3e1d29cff..d3ac1e875 100644 --- a/src/conversation_textview.py +++ b/src/conversation_textview.py @@ -14,6 +14,10 @@ ## GNU General Public License for more details. ## +import random +from tempfile import gettempdir +from subprocess import Popen + import gtk import pango import gobject @@ -572,6 +576,72 @@ class ConversationTextview: return index # the position after *last* special text + def latex_to_image(self, str): + result = None + exitcode = 0 + + # some latex commands are really bad + blacklist = ["\\def", "\\let", "\\futurelet", + "\\newcommand", "\\renewcomment", "\\else", "\\fi", "\\write", + "\\input", "\\include", "\\chardef", "\\catcode", "\\makeatletter", + "\\noexpand", "\\toksdef", "\\every", "\\errhelp", "\\errorstopmode", + "\\scrollmode", "\\nonstopmode", "\\batchmode", "\\read", "\\csname", + "\\newhelp", "\\relax", "\\afterground", "\\afterassignment", + "\\expandafter", "\\noexpand", "\\special", "\\command", "\\loop", + "\\repeat", "\\toks", "\\output", "\\line", "\\mathcode", "\\name", + "\\item", "\\section", "\\mbox", "\\DeclareRobustCommand", "\\[", + "\\]"] + + str = str[2:len(str)-2] + + # filter latex code with bad commands + for word in blacklist: + if word in str: + exitcode = 1 + break + + if exitcode == 0: + random.seed() + tmpfile = os.path.join(gettempdir(), "gajimtex_" + random.randint(0, + 100).__str__()) + + # build latex string + texstr = "\\documentclass[12pt]{article}\\usepackage[dvips]{graphicx}\\usepackage{amsmath}\\usepackage{amssymb}\\pagestyle{empty}" + texstr += "\\begin{document}\\begin{large}\\begin{gather*}" + texstr += str + texstr += "\\end{gather*}\\end{large}\\end{document}" + + file = open(os.path.join(tmpfile + ".tex"), "w+") + file.write(texstr) + file.flush() + file.close() + + p = Popen(['latex', '--interaction=nonstopmode', tmpfile + '.tex'], + cwd=gettempdir()) + exitcode = p.wait() + + if exitcode == 0: + p = Popen(['dvips', '-E', '-o', tmpfile + '.ps', tmpfile + '.dvi'], + cwd=gettempdir()) + exitcode = p.wait() + + if exitcode == 0: + p = Popen(['convert', tmpfile + '.ps', tmpfile + '.png'], + cwd=gettempdir()) + exitcode = p.wait() + + extensions = [".tex", ".log", ".aux", ".dvi", ".ps"] + for ext in extensions: + try: + os.remove(tmpfile + ext) + except Exception: + pass + + if exitcode == 0: + result = tmpfile + '.png' + + return result + def print_special_text(self, special_text, other_tags): '''is called by detect_and_print_special_text and prints special text (emots, links, formatting)''' @@ -656,6 +726,24 @@ class ConversationTextview: else: if not show_ascii_formatting_chars: special_text = special_text[1:-1] # remove _ _ + elif special_text.startswith('$$') and special_text.endswith('$$'): + imagepath = self.latex_to_image(special_text) + end_iter = buffer.get_end_iter() + anchor = buffer.create_child_anchor(end_iter) + if imagepath != None: + img = gtk.Image() + img.set_from_file(imagepath) + img.show() + # add + self.tv.add_child_at_anchor(img, anchor) + # delete old file + try: + os.remove(imagepath) + except Exception: + pass + else: + buffer.insert(end_iter, special_text) + use_other_tags = False else: #it's a url tags.append('url') diff --git a/src/dataforms_widget.py b/src/dataforms_widget.py index ddd44b889..19fb91c18 100644 --- a/src/dataforms_widget.py +++ b/src/dataforms_widget.py @@ -16,8 +16,8 @@ ## """ This module contains widget that can display data form (JEP-0004). Words single and multiple refers here to types of data forms: -single means these with one record of data (without element), -multiple - these which may contain more data (with element).""" +single means these with one record of data (without element), +multiple - these which may contain more data (with element).""" import gtk @@ -41,7 +41,7 @@ class DataFormWidget(gtk.Alignment, object): for name in ('instructions_label', 'instructions_hseparator', 'single_form_viewport', 'data_form_types_notebook', 'single_form_scrolledwindow', 'multiple_form_hbox', - 'records_treeview', 'add_button', 'remove_button', + 'records_treeview', 'buttons_vbox', 'add_button', 'remove_button', 'edit_button', 'up_button', 'down_button', 'clear_button'): self.__dict__[name] = self.xml.get_widget(name) @@ -141,7 +141,7 @@ class DataFormWidget(gtk.Alignment, object): # creating model for form... fieldtypes = [] - for field in self._data_form.recorded.iter_fields(): + for field in self._data_form.reported.iter_fields(): # note: we store also text-private and hidden fields, # we just do not display them. # TODO: boolean fields @@ -157,8 +157,7 @@ class DataFormWidget(gtk.Alignment, object): self.multiplemodel.append([field.value for field in item.iter_fields()]) # constructing columns... - for field, counter in zip(self._data_form.iter_fields(), itertools.count()): - print repr(field), repr(counter) + for field, counter in zip(self._data_form.reported.iter_fields(), itertools.count()): self.records_treeview.append_column( gtk.TreeViewColumn(field.label, gtk.CellRendererText(), text=counter)) @@ -172,8 +171,14 @@ class DataFormWidget(gtk.Alignment, object): self.clean_data_form = self.clean_multiple_data_form - # refresh list look - self.refresh_multiple_buttons() + readwrite = self._data_form.type != 'result' + if not readwrite: + self.buttons_vbox.set_no_show_all(True) + self.buttons_vbox.hide() + else: + self.buttons_vbox.set_no_show_all(False) + # refresh list look + self.refresh_multiple_buttons() def clean_multiple_data_form(self): '''(Called as clean_data_form, read the docs of clean_data_form()). @@ -186,12 +191,12 @@ class DataFormWidget(gtk.Alignment, object): selection = self.records_treeview.get_selection() model = self.records_treeview.get_model() count = selection.count_selected_rows() - if count==0: + if count == 0: self.remove_button.set_sensitive(False) self.edit_button.set_sensitive(False) self.up_button.set_sensitive(False) self.down_button.set_sensitive(False) - elif count==1: + elif count == 1: self.remove_button.set_sensitive(True) self.edit_button.set_sensitive(True) _, (path,) = selection.get_selected_rows() @@ -199,7 +204,7 @@ class DataFormWidget(gtk.Alignment, object): if model.iter_next(iter) is None: self.up_button.set_sensitive(True) self.down_button.set_sensitive(False) - elif path==(0,): + elif path == (0, ): self.up_button.set_sensitive(False) self.down_button.set_sensitive(True) else: @@ -211,7 +216,7 @@ class DataFormWidget(gtk.Alignment, object): self.up_button.set_sensitive(False) self.down_button.set_sensitive(False) - if len(model)==0: + if len(model) == 0: self.clear_button.set_sensitive(False) else: self.clear_button.set_sensitive(True) diff --git a/src/dialogs.py b/src/dialogs.py index b7503eb15..4d7cc0a3c 100644 --- a/src/dialogs.py +++ b/src/dialogs.py @@ -7,6 +7,7 @@ ## Copyright (C) 2005 Dimitur Kirov ## Copyright (C) 2005-2006 Travis Shirk ## Copyright (C) 2005 Norman Rasmussen +## Copyright (C) 2007 Lukas Petrovicky ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published @@ -56,7 +57,7 @@ class EditGroupsDialog: if len(list_) == 1: contact = list_[0][0] self.xml.get_widget('nickname_label').set_markup( - _("Contact name: %s") % contact.get_shown_name()) + _('Contact name: %s') % contact.get_shown_name()) self.xml.get_widget('jid_label').set_markup( _('Jabber ID: %s') % contact.jid) else: @@ -434,10 +435,10 @@ class ChangeStatusMessageDialog: self.window.set_transient_for(gajim.interface.roster.window) if show: uf_show = helpers.get_uf_show(show) - title_text = _('%s Status Message') % uf_show + self.title_text = _('%s Status Message') % uf_show else: - title_text = _('Status Message') - self.window.set_title(title_text) + self.title_text = _('Status Message') + self.window.set_title(self.title_text) message_textview = self.xml.get_widget('message_textview') self.message_buffer = message_textview.get_buffer() @@ -459,6 +460,10 @@ class ChangeStatusMessageDialog: self.preset_messages_dict[msg_name] = msg_text sorted_keys_list = helpers.get_sorted_keys(self.preset_messages_dict) + self.countdown_time = gajim.config.get('change_status_window_timeout') + self.countdown_left = self.countdown_time + self.countdown_enabled = True + self.message_liststore = gtk.ListStore(str) # msg_name self.message_combobox = self.xml.get_widget('message_combobox') self.message_combobox.set_model(self.message_liststore) @@ -470,9 +475,25 @@ class ChangeStatusMessageDialog: self.xml.signal_autoconnect(self) self.window.show_all() + def countdown(self): + if self.countdown_enabled: + if self.countdown_left <= 0: + self.window.response(gtk.RESPONSE_OK) + return False + self.window.set_title('%s [%s]' % (self.title_text, + str(self.countdown_left))) + self.countdown_left -= 1 + return True + else: + self.window.set_title(self.title_text) + return False + def run(self): '''Wait for OK or Cancel button to be pressed and return status messsage (None if users pressed Cancel or x button of WM''' + if self.countdown_time > 0: + self.countdown() + gobject.timeout_add(1000, self.countdown) rep = self.window.run() if rep == gtk.RESPONSE_OK: beg, end = self.message_buffer.get_bounds() @@ -487,6 +508,7 @@ class ChangeStatusMessageDialog: return message def on_message_combobox_changed(self, widget): + self.countdown_enabled = False model = widget.get_model() active = widget.get_active() if active < 0: @@ -495,10 +517,13 @@ class ChangeStatusMessageDialog: self.message_buffer.set_text(self.preset_messages_dict[name]) def on_change_status_message_dialog_key_press_event(self, widget, event): + self.countdown_enabled = False if event.keyval == gtk.keysyms.Return or \ event.keyval == gtk.keysyms.KP_Enter: # catch CTRL+ENTER if (event.state & gtk.gdk.CONTROL_MASK): self.window.response(gtk.RESPONSE_OK) + # Stop the event + return True def toggle_sensitiviy_of_save_as_preset(self, widget): btn = self.xml.get_widget('save_as_preset_button') @@ -508,6 +533,7 @@ class ChangeStatusMessageDialog: btn.set_sensitive(True) def on_save_as_preset_button_clicked(self, widget): + self.countdown_enabled = False start_iter, finish_iter = self.message_buffer.get_bounds() status_message_to_save_as_preset = self.message_buffer.get_text( start_iter, finish_iter) @@ -582,21 +608,21 @@ _('Please fill in the data of the contact you want to add in account %s') %accou self.available_types = [] for acct in accounts: for j in gajim.contacts.get_jid_list(acct): - contact = gajim.contacts.get_first_contact_from_jid(acct, j) if gajim.jid_is_transport(j): - type_ = gajim.get_transport_name_from_jid(j) + type_ = gajim.get_transport_name_from_jid(j, False) if self.agents.has_key(type_): self.agents[type_].append(j) else: self.agents[type_] = [j] # Now add the one to which we can register for acct in accounts: - for type_ in gajim.connections[account].available_transports: + for type_ in gajim.connections[acct].available_transports: if type_ in self.agents: continue self.agents[type_] = [] - for jid_ in gajim.connections[account].available_transports[type_]: - self.agents[type_].append(jid_) + for jid_ in gajim.connections[acct].available_transports[type_]: + if not jid_ in self.agents[type_]: + self.agents[type_].append(jid_) self.available_types.append(type_) liststore = gtk.ListStore(str) self.group_comboboxentry.set_model(liststore) @@ -835,7 +861,7 @@ class AboutDialog: dlg.set_transient_for(gajim.interface.roster.window) dlg.set_name('Gajim') dlg.set_version(gajim.version) - s = u'Copyright © 2003-2006 Gajim Team' + s = u'Copyright © 2003-2007 Gajim Team' dlg.set_copyright(s) copying_file_path = None if os.path.isfile(os.path.join(gajim.defs.docdir, 'COPYING')): @@ -1028,6 +1054,15 @@ class BindPortError(HigDialog): _('Maybe you have another running instance of Gajim. ' 'File Transfer will be cancelled.')) +class AspellDictError(HigDialog): + def __init__(self, lang): + ErrorDialog( + _('Dictionary for lang %s not available') % lang, + _('You have to install %s dictionary to use spellchecking, or ' + 'choose another language by setting the speller_language option.' + '\n\nHighlighting misspelled words feature will not be used') % lang) + gajim.config.set('use_speller', False) + class ConfirmationDialog(HigDialog): '''HIG compliant confirmation dialog.''' def __init__(self, pritext, sectext='', on_response_ok = None, @@ -1438,6 +1473,136 @@ class JoinGroupchatWindow: self.window.destroy() +class SynchroniseSelectAccountDialog: + def __init__(self, account): + # 'account' can be None if we are about to create our first one + if not account or gajim.connections[account].connected < 2: + 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 = gtkgui_helpers.get_glade('synchronise_select_account_dialog.glade') + self.dialog = self.xml.get_widget('synchronise_select_account_dialog') + self.accounts_treeview = self.xml.get_widget('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.signal_autoconnect(self) + self.init_accounts() + self.dialog.show_all() + + def on_accounts_window_key_press_event(self, widget, event): + if event.keyval == gtk.keysyms.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 gajim.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, gajim.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).decode('utf-8') + + if gajim.connections[remote_account].connected < 2: + ErrorDialog(_('This account is not connected to the server'), + _('You cannot synchronize with an account unless it is connected.')) + return + else: + try: + dialog = SynchroniseSelectContactsDialog(self.account, remote_account) + except GajimGeneralException: + # if we showed ErrorDialog, there will not be dialog instance + return + self.dialog.destroy() + +class SynchroniseSelectContactsDialog: + def __init__(self, account, remote_account): + self.local_account = account + self.remote_account = remote_account + self.xml = gtkgui_helpers.get_glade('synchronise_select_contacts_dialog.glade') + self.dialog = self.xml.get_widget('synchronise_select_contacts_dialog') + self.contacts_treeview = self.xml.get_widget('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.signal_autoconnect(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 == gtk.keysyms.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 = gajim.contacts.get_jid_list(self.local_account) + + remote_jid_list = gajim.contacts.get_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_root() + while iter: + if model[iter][0]: + # it is selected + remote_jid = model[iter][1].decode('utf-8') + message = 'I\'m synchronizing my contacts from my %s account, could you please add this address to your contact list?' % \ + gajim.get_hostname_from_account(self.remote_account) + remote_contact = gajim.contacts.get_first_contact_from_jid( + self.remote_account, remote_jid) + # keep same groups and same nickname + gajim.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 NewChatDialog(InputDialog): def __init__(self, account): self.account = account @@ -1692,9 +1857,7 @@ class SingleMessageWindow: spell1.set_language(lang) spell2.set_language(lang) except gobject.GError, msg: - ErrorDialog(unicode(msg), _('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\nHighlighting misspelled words feature will not be used')) - gajim.config.set('use_speller', False) - + dialogs.AspellDictError(lang) self.send_button.set_no_show_all(True) self.reply_button.set_no_show_all(True) self.send_and_close_button.set_no_show_all(True) @@ -2046,6 +2209,16 @@ class PrivacyListWindow: self.privacy_list_default_checkbutton.set_sensitive(False) self.list_of_rules_combobox.set_sensitive(False) + # set jabber id completion + jids_list_store = gtk.ListStore(gobject.TYPE_STRING) + for jid in gajim.contacts.get_jid_list(self.account): + jids_list_store.append([jid]) + jid_entry_completion = gtk.EntryCompletion() + jid_entry_completion.set_text_column(0) + jid_entry_completion.set_model(jids_list_store) + jid_entry_completion.set_popup_completion(True) + self.edit_type_jabberid_entry.set_completion(jid_entry_completion) + if action == 'EDIT': self.refresh_rules() @@ -2265,7 +2438,7 @@ class PrivacyListWindow: gajim.connections[self.account].set_privacy_list( self.privacy_list_name, tags) - self.privacy_list_received(tags) + self.refresh_rules() self.add_edit_vbox.hide() if 'privacy_lists' in gajim.interface.instances[self.account]: win = gajim.interface.instances[self.account]['privacy_lists'] @@ -2288,6 +2461,101 @@ class PrivacyListWindow: def on_close_button_clicked(self, widget): self.window.destroy() +class BlockedContactsWindow: + '''Window that is the main window for ContactWindows;''' + def __init__(self, account): + self.account = account + self.xml = gtkgui_helpers.get_glade('blocked_contacts_window.glade') + self.window = self.xml.get_widget('blocked_contacts_window') + self.remove_button = self.xml.get_widget('remove_button') + self.contacts_treeview = self.xml.get_widget('contacts_treeview') + renderer = gtk.CellRendererText() + + self.store = gtk.ListStore(str) + self.contacts_treeview.set_model(self.store) + + column = gtk.TreeViewColumn('Contact', renderer, text=0) + self.contacts_treeview.append_column(column) + + if len(gajim.connections) > 1: + title = _('Blocked Contacts for %s') % self.account + else: + title = _('Blocked Contacts') + self.window.set_title(title) + self.window.show_all() + self.xml.signal_autoconnect(self) + gajim.connections[self.account].get_privacy_list('block') + + def on_blocked_contacts_window_destroy(self, widget): + key_name = 'blocked_contacts' + if key_name in gajim.interface.instances[self.account]: + del gajim.interface.instances[self.account][key_name] + + def on_remove_button_clicked(self, widget): + if self.contacts_treeview.get_selection().get_selected()[1] == None: + return + tags = [] + rule_selected = self.store.get_path( + self.contacts_treeview.get_selection().get_selected()[1])[0] + for i in range(0, len(self.global_rules)): + if i != rule_selected: + tags.append(self.global_rules[i]) + else: + deleted_rule = self.global_rules[i] + for rule in self.global_rules_to_append: + tags.append(rule) + gajim.connections[self.account].set_privacy_list( + 'block', tags) + gajim.connections[self.account].get_privacy_list('block') + if len(tags) == 0: + self.privacy_list_received([]) + gajim.connections[self.account].blocked_contacts = [] + gajim.connections[self.account].blocked_groups = [] + gajim.connections[self.account].blocked_list = [] + gajim.connections[self.account].set_default_list('') + gajim.connections[self.account].set_active_list('') + gajim.connections[self.account].del_privacy_list('block') + status = gajim.connections[self.account].connected + msg = gajim.connections[self.account].status + show = gajim.SHOW_LIST[gajim.connections[self.account].connected] + if deleted_rule['type'] == 'jid': + jid = deleted_rule['value'] + gajim.connections[self.account].send_custom_status(show, msg, jid) + # needed for draw_contact: + if jid in gajim.connections[self.account].blocked_contacts: + gajim.connections[self.account].blocked_contacts.remove(jid) + gajim.interface.roster.draw_contact(jid, self.account) + else: + group = deleted_rule['value'] + # needed for draw_group: + if group in gajim.connections[self.account].blocked_groups: + gajim.connections[self.account].blocked_groups.remove(group) + gajim.interface.roster.draw_group(group, self.account) + for jid in gajim.contacts.get_jid_list(self.account): + contact = gajim.contacts.get_contact_with_highest_priority( + self.account, jid) + if group in contact.groups: + gajim.connections[self.account].send_custom_status(show, msg, + contact.jid) + gajim.interface.roster.draw_contact(contact.jid, self.account) + + def privacy_list_received(self, rules): + self.store.clear() + self.global_rules = [] + self.global_rules_to_append = [] + for rule in rules: + if rule['type'] == 'jid' and rule['action'] == 'deny': + #self.global_rules[text_item] = rule + self.store.append([rule['value']]) + self.global_rules.append(rule) + elif rule['type'] == 'group' and rule['action'] == 'deny': + text_item = _('Group %s') % rule['value'] + self.store.append([text_item]) + self.global_rules.append(rule) + else: + self.global_rules_to_append.append(rule) + + class PrivacyListsWindow: '''Window that is the main window for Privacy Lists; we can list there the privacy lists and ask to create a new one diff --git a/src/disco.py b/src/disco.py index bbed4c142..33b217efd 100644 --- a/src/disco.py +++ b/src/disco.py @@ -49,6 +49,7 @@ import tooltips import gtkgui_helpers import groups import adhoc_commands +import search_window from common import gajim from common import xmpp @@ -986,6 +987,7 @@ class ToplevelAgentBrowser(AgentBrowser): 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 @@ -1142,7 +1144,7 @@ class ToplevelAgentBrowser(AgentBrowser): AgentBrowser._add_actions(self) self.execute_button = gtk.Button() image = gtk.image_new_from_stock(gtk.STOCK_EXECUTE, gtk.ICON_SIZE_BUTTON) - label = gtk.Label(_('_Execute Command...')) + label = gtk.Label(_('_Execute Command')) label.set_use_underline(True) hbox = gtk.HBox() hbox.pack_start(image, False, True, 6) @@ -1170,6 +1172,18 @@ class ToplevelAgentBrowser(AgentBrowser): self.window.action_buttonbox.add(self.join_button) self.join_button.show_all() + self.search_button = gtk.Button() + image = gtk.image_new_from_stock(gtk.STOCK_FIND, gtk.ICON_SIZE_BUTTON) + label = gtk.Label(_('_Search')) + label.set_use_underline(True) + hbox = gtk.HBox() + hbox.pack_start(image, False, True, 6) + hbox.pack_end(label, True, True) + self.search_button.add(hbox) + self.search_button.connect('clicked', self.on_search_button_clicked) + 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() @@ -1180,6 +1194,56 @@ class ToplevelAgentBrowser(AgentBrowser): 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 cleanup(self): + self.tooltip.hide_tooltip() + AgentBrowser.cleanup(self) + + def update_theme(self): + theme = gajim.config.get('roster_theme') + bgcolor = gajim.config.get_per('themes', theme, 'groupbgcolor') + 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].decode('utf-8') + adhoc_commands.CommandWindow(self.account, service) + + 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].decode('utf-8') + if gajim.interface.instances[self.account]['search'].has_key(service): + gajim.interface.instances[self.account]['search'][service].present() + else: + gajim.interface.instances[self.account]['search'][service] = \ + search_window.SearchWindow(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].decode('utf-8') + if jid: + gajim.connections[self.account].request_register_agent_info(jid) + self.window.destroy(chain = True) + AgentBrowser._clean_actions(self) def cleanup(self): @@ -1239,6 +1303,9 @@ class ToplevelAgentBrowser(AgentBrowser): 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() model, iter = self.window.services_treeview.get_selection().get_selected() if not iter: return @@ -1271,6 +1338,8 @@ class ToplevelAgentBrowser(AgentBrowser): AgentBrowser._update_actions(self, jid, node, identities, features, data) if self.execute_button and xmpp.NS_COMMANDS in features: self.execute_button.set_sensitive(True) + if self.search_button and xmpp.NS_SEARCH in features: + self.search_button.set_sensitive(True) if self.register_button and xmpp.NS_REGISTER in features: # We can register this agent registered_transports = [] diff --git a/src/gajim.py b/src/gajim.py index 5fbefeaf4..15cb1b726 100755 --- a/src/gajim.py +++ b/src/gajim.py @@ -400,13 +400,16 @@ class Interface: gc_control.show_change_nick_input_dialog(title, prompt, proposed_nick) def handle_event_http_auth(self, account, data): - #('HTTP_AUTH', account, (method, url, transaction_id, iq_obj)) + #('HTTP_AUTH', account, (method, url, transaction_id, iq_obj, msg)) def response(widget, account, iq_obj, answer): self.dialog.destroy() gajim.connections[account].build_http_auth_answer(iq_obj, answer) + sec_msg = _('Do you accept this request?') + if data[4]: + sec_msg = data[4] + '\n' + sec_msg self.dialog = dialogs.YesNoDialog(_('HTTP (%s) Authorization for %s (id: %s)') \ - % (data[0], data[1], data[2]), _('Do you accept this request?'), + % (data[0], data[1], data[2]), sec_msg, on_response_yes = (response, account, data[3], 'yes'), on_response_no = (response, account, data[3], 'no')) @@ -502,7 +505,7 @@ class Interface: def handle_event_notify(self, account, array): # 'NOTIFY' (account, (jid, status, status message, resource, priority, - # keyID, timestamp)) + # keyID, timestamp, contact_nickname)) # if we're here it means contact changed show statuss = ['offline', 'error', 'online', 'chat', 'away', 'xa', 'dnd', 'invisible'] @@ -514,6 +517,7 @@ class Interface: status_message = array[2] jid = array[0].split('/')[0] keyID = array[5] + contact_nickname = array[7] attached_keys = gajim.config.get_per('accounts', account, 'attached_gpg_keys').split() if jid in attached_keys: @@ -542,8 +546,12 @@ class Interface: if contact1: if contact1.show in statuss: old_show = statuss.index(contact1.show) + if contact_nickname is not None and \ + contact1.contact_name != contact_nickname: + contact1.contact_name = contact_nickname + self.roster.draw_contact(jid, account) if old_show == new_show and contact1.status == status_message and \ - contact1.priority == priority: # no change + contact1.priority == priority: # no change return else: contact1 = gajim.contacts.get_first_contact_from_jid(account, ji) @@ -596,6 +604,7 @@ class Interface: elif not gajim.block_signed_in_notifications[account]: # We're connected since more that 30 seconds contact1.last_status_time = time.localtime() + contact1.contact_nickname = contact_nickname if gajim.jid_is_transport(jid): # It must be an agent if ji in jid_list: @@ -651,7 +660,7 @@ class Interface: # remove in 2007 # It's maybe a GC_NOTIFY (specialy for MSN gc) self.handle_event_gc_notify(account, (jid, array[1], status_message, - array[3], None, None, None, None, None, None, None)) + array[3], None, None, None, None, None, None, None, None)) def handle_event_msg(self, account, array): @@ -677,6 +686,10 @@ class Interface: jid = jid.replace('@', '') groupchat_control = self.msg_win_mgr.get_control(jid, account) + if not groupchat_control and \ + gajim.interface.minimized_controls.has_key(account) and \ + jid in gajim.interface.minimized_controls[account]: + groupchat_control = gajim.interface.minimized_controls[account][jid] pm = False if groupchat_control and groupchat_control.type_id == \ message_control.TYPE_GC: @@ -801,8 +814,7 @@ class Interface: show = 'offline' gc_c = gajim.contacts.create_gc_contact(room_jid = jid, name = nick, show = show) - c = gajim.contacts.contact_from_gc_contact(gc_c) - self.roster.new_chat(c, account, private_chat = True) + self.roster.new_private_chat(gc_c, account) ctrl = self.msg_win_mgr.get_control(full_jid_with_resource, account) ctrl.print_conversation('Error %s: %s' % (array[1], array[2]), 'status') @@ -936,6 +948,17 @@ class Interface: except AttributeError: return + def handle_event_new_acc_connected(self, account, array): + #('NEW_ACC_CONNECTED', account, (infos, is_form)) + if self.instances.has_key('account_creation_wizard'): + self.instances['account_creation_wizard'].new_acc_connected(array[0], + array[1]) + + def handle_event_new_acc_not_connected(self, account, array): + #('NEW_ACC_NOT_CONNECTED', account, (reason)) + if self.instances.has_key('account_creation_wizard'): + self.instances['account_creation_wizard'].new_acc_not_connected(array) + def handle_event_acc_ok(self, account, array): #('ACC_OK', account, (config)) if self.instances.has_key('account_creation_wizard'): @@ -954,10 +977,10 @@ class Interface: def handle_event_myvcard(self, account, array): nick = '' - if array.has_key('NICKNAME'): - nick = array['NICKNAME'] - if nick: - gajim.nicks[account] = nick + if array.has_key('NICKNAME') and array['NICKNAME']: + gajim.nicks[account] = array['NICKNAME'] + elif array.has_key('FN') and array['FN']: + gajim.nicks[account] = array['FN'] if self.instances[account].has_key('profile'): win = self.instances[account]['profile'] win.set_values(array) @@ -1040,7 +1063,7 @@ class Interface: def handle_event_gc_notify(self, account, array): #'GC_NOTIFY' (account, (room_jid, show, status, nick, - # role, affiliation, jid, reason, actor, statusCode, newNick)) + # role, affiliation, jid, reason, actor, statusCode, newNick, avatar_sha)) nick = array[3] if not nick: return @@ -1052,19 +1075,26 @@ class Interface: # Get the window and control for the updated status, this may be a # PrivateChatControl control = self.msg_win_mgr.get_control(room_jid, account) + if not control and \ + self.minimized_controls.has_key(account) and \ + room_jid in self.minimized_controls[account]: + control = self.minimized_controls[account][room_jid] + if control and control.type_id != message_control.TYPE_GC: return if control: control.chg_contact_status(nick, show, status, array[4], array[5], - array[6], array[7], array[8], array[9], array[10]) + array[6], array[7], array[8], array[9], array[10], array[11]) + if control and not control.parent_win: + gajim.interface.roster.draw_contact(room_jid, account) + + ctrl = self.msg_win_mgr.get_control(fjid, account) # print status in chat window and update status/GPG image - if self.msg_win_mgr.has_window(fjid, account): - ctrl = self.msg_win_mgr.get_control(fjid, account) + if ctrl: contact = ctrl.contact contact.show = show contact.status = status - ctrl.update_ui() uf_show = helpers.get_uf_show(show) if status: ctrl.print_conversation(_('%s is now %s (%s)') % (nick, uf_show, @@ -1073,6 +1103,7 @@ class Interface: ctrl.print_conversation(_('%s is now %s') % (nick, uf_show), 'status') ctrl.parent_win.redraw_tab(ctrl) + ctrl.update_ui() if self.remote_ctrl: self.remote_ctrl.raise_signal('GCPresence', (account, array)) @@ -1080,10 +1111,17 @@ class Interface: # ('GC_MSG', account, (jid, msg, time, has_timestamp, htmlmsg)) jids = array[0].split('/', 1) room_jid = jids[0] + gc_control = self.msg_win_mgr.get_control(room_jid, account) + if not gc_control and \ + self.minimized_controls.has_key(account) and \ + room_jid in self.minimized_controls[account]: + gc_control = self.minimized_controls[account][room_jid] + if not gc_control: return xhtml = array[4] + if gajim.config.get('ignore_incoming_xhtml'): xhtml = None if len(jids) == 1: @@ -1092,7 +1130,14 @@ class Interface: else: # message from someone nick = jids[1] + gc_control.on_message(nick, array[1], array[2], array[3], xhtml) + + contact = gajim.contacts.\ + get_contact_with_highest_priority(account, room_jid) + if contact: + gajim.interface.roster.draw_contact(room_jid, account) + if self.remote_ctrl: self.remote_ctrl.raise_signal('GCMessage', (account, array)) @@ -1100,7 +1145,20 @@ class Interface: #('GC_SUBJECT', account, (jid, subject, body, has_timestamp)) jids = array[0].split('/', 1) jid = jids[0] + gc_control = self.msg_win_mgr.get_control(jid, account) + + if not gc_control and \ + self.minimized_controls.has_key(account) and \ + jid in self.minimized_controls[account]: + gc_control = self.minimized_controls[account][jid] + + contact = gajim.contacts.\ + get_contact_with_highest_priority(account, jid) + if contact: + contact.status = array[1] + gajim.interface.roster.draw_contact(jid, account) + if not gc_control: return gc_control.set_subject(array[1]) @@ -1243,7 +1301,8 @@ class Interface: for bm in bms: if bm['autojoin'] in ('1', 'true'): self.roster.join_gc_room(account, bm['jid'], bm['nick'], - bm['password']) + bm['password'], + minimize = gajim.config.get('minimize_autojoined_rooms')) def handle_event_file_send_error(self, account, array): jid = array[0] @@ -1620,6 +1679,25 @@ class Interface: if self.instances[account].has_key('privacy_list_%s' % name): self.instances[account]['privacy_list_%s' % name].\ privacy_list_received(rules) + if name == 'block': + gajim.connections[account].blocked_contacts = [] + gajim.connections[account].blocked_groups = [] + gajim.connections[account].blocked_list = [] + for rule in rules: + if rule['type'] == 'jid' and rule['action'] == 'deny': + gajim.connections[account].blocked_contacts.append(rule['value']) + if rule['type'] == 'group' and rule['action'] == 'deny': + gajim.connections[account].blocked_groups.append(rule['value']) + gajim.connections[account].blocked_list.append(rule) + #elif rule['type'] == "group" and action == "deny": + # text_item = _('%s group "%s"') % _(rule['action']), rule['value'] + # self.store.append([text_item]) + # self.global_rules.append(rule) + #else: + # self.global_rules_to_append.append(rule) + if self.instances[account].has_key('blocked_contacts'): + self.instances[account]['blocked_contacts'].\ + privacy_list_received(rules) def handle_event_privacy_lists_active_default(self, account, data): if not data: @@ -1651,6 +1729,53 @@ class Interface: else: gajim.connections[account].change_status('offline','') + def handle_event_ping_sent(self, account, contact): + ctrl = self.msg_win_mgr.get_control(contact.get_full_jid(), account) + if ctrl == None: + ctrl = self.msg_win_mgr.get_control(contact.jid, account) + ctrl.print_conversation(_('Ping?'), 'status') + + def handle_event_ping_reply(self, account, data): + contact = data[0] + seconds = data[1] + ctrl = self.msg_win_mgr.get_control(contact.get_full_jid(), account) + if ctrl == None: + ctrl = self.msg_win_mgr.get_control(contact.jid, account) + ctrl.print_conversation(_('Pong! (%s s.)') % seconds, 'status') + + def handle_event_ping_error(self, account, contact): + ctrl = self.msg_win_mgr.get_control(contact.get_full_jid(), account) + if ctrl == None: + ctrl = self.msg_win_mgr.get_control(contact.jid, account) + ctrl.print_conversation(_('Error.'), 'status') + + def handle_event_search_form(self, account, data): + # ('SEARCH_FORM', account, (jid, dataform, is_dataform)) + if not self.instances[account]['search'].has_key(data[0]): + return + self.instances[account]['search'][data[0]].on_form_arrived(data[1], + data[2]) + + def handle_event_search_result(self, account, data): + # ('SEARCH_RESULT', account, (jid, dataform, is_dataform)) + if not self.instances[account]['search'].has_key(data[0]): + return + self.instances[account]['search'][data[0]].on_result_arrived(data[1], + data[2]) + + def handle_event_resource_conflict(self, account, data): + # ('RESOURCE_CONFLICT', account, ()) + # First we go offline, but we don't overwrite status message + self.roster.send_status(account, 'offline', + gajim.connections[account].status) + def on_ok(new_resource): + gajim.config.set_per('accounts', account, 'resource', new_resource) + self.roster.send_status(account, gajim.connections[account].old_show, + gajim.connections[account].status) + dlg = dialogs.InputDialog(_('Resource Conflict'), + _('You are already connected to this account with the same resource. Please type a new one'), input_str = gajim.connections[account].server_resource, + is_modal = False, ok_handler = on_ok) + def read_sleepy(self): '''Check idle status and change that status if needed''' if not self.sleeper.poll(): @@ -1753,20 +1878,14 @@ class Interface: # \S*[^\s\W] --> 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 - prefixes = (r'http://', r'https://', r'gopher://', r'news://', r'ftp://', - r'ed2k://', r'irc://', r'magnet:', r'sip:', r'www\.', r'ftp\.') + prefixes = '|'.join((r'http://', r'https://', r'gopher://', r'news://', + r'ftp://', r'ed2k://', r'irc://', r'magnet:', r'sip:', r'www\.', + r'ftp\.')) # NOTE: it's ok to catch www.gr such stuff exist! #FIXME: recognize xmpp: and treat it specially - prefix_pattern = '' - for prefix in prefixes: - prefix_pattern += prefix + '|' - - prefix_pattern = prefix_pattern[:-1] # remove last | - prefix_pattern = '(' + prefix_pattern + ')' - - links = r'\b' + prefix_pattern + r'\S*[\w\/\=]|' + links = r'\b(%s)\S*[\w\/\=]|' % prefixes #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]' @@ -1776,7 +1895,13 @@ class Interface: r'(? 6: + self.attention_list.pop(0) # remove older + self.attention_list.append(contact) + if sound == 'received': helpers.play_sound('muc_message_received') elif sound == 'highlight': @@ -637,14 +662,18 @@ class GroupchatControl(ChatControlBase): other_tags_for_text.append('gc_nickname_color_' + \ str(self.gc_custom_colors[contact])) - self.check_and_possibly_add_focus_out_line() + if self.parent_win: + self.check_and_possibly_add_focus_out_line() ChatControlBase.print_conversation_line(self, text, kind, contact, tim, other_tags_for_name, [], other_tags_for_text, xhtml = xhtml) def get_nb_unread(self): + type_events = ['printed_marked_gc_msg'] + if gajim.config.get('notify_on_all_muc_messages'): + type_events.append('printed_gc_msg') nb = len(gajim.events.get_events(self.account, self.room_jid, - ['printed_gc_msg'])) + type_events)) nb += self.get_nb_unread_pm() return nb @@ -827,7 +856,7 @@ class GroupchatControl(ChatControlBase): model[iter][C_AVATAR] = scaled_pixbuf def chg_contact_status(self, nick, show, status, role, affiliation, jid, - reason, actor, statusCode, new_nick): + reason, actor, statusCode, new_nick, avatar_sha, tim = None): '''When an occupant changes his or her status''' if show == 'invisible': return @@ -836,7 +865,7 @@ class GroupchatControl(ChatControlBase): role = 'visitor' if not affiliation: affiliation = 'none' - + fake_jid = self.room_jid + '/' + nick newly_created = False if show in ('offline', 'error'): if statusCode == '307': @@ -849,7 +878,7 @@ class GroupchatControl(ChatControlBase): 'nick': nick, 'who': actor, 'reason': reason } - self.print_conversation(s, 'info') + self.print_conversation(s, 'info', tim = tim) elif statusCode == '301': if actor is None: # do not print 'banned by None' s = _('%(nick)s has been banned: %(reason)s') % { @@ -860,7 +889,7 @@ class GroupchatControl(ChatControlBase): 'nick': nick, 'who': actor, 'reason': reason } - self.print_conversation(s, 'info') + self.print_conversation(s, 'info', tim = tim) elif statusCode == '303': # Someone changed his or her nick if nick == self.nick: # We changed our nick self.nick = new_nick @@ -895,12 +924,11 @@ class GroupchatControl(ChatControlBase): # Windows require this os.remove(files[old_file]) os.rename(old_file, files[old_file]) - self.print_conversation(s, 'info') + self.print_conversation(s, 'info', tim) elif statusCode == 'destroyed': # Room has been destroyed - self.print_conversation(reason, 'info') + self.print_conversation(reason, 'info', tim) - if len(gajim.events.get_events(self.account, - self.room_jid + '/' + nick)) == 0: + if len(gajim.events.get_events(self.account, fake_jid)) == 0: self.remove_contact(nick) else: c = gajim.contacts.get_gc_contact(self.account, self.room_jid, nick) @@ -908,7 +936,12 @@ class GroupchatControl(ChatControlBase): c.status = status if nick == self.nick and statusCode != '303': # We became offline self.got_disconnected() - self.parent_win.redraw_tab(self) + contact = gajim.contacts.\ + get_contact_with_highest_priority(self.account, self.room_jid) + if contact: + gajim.interface.roster.draw_contact(self.room_jid, self.account) + if self.parent_win: + self.parent_win.redraw_tab(self) else: iter = self.get_contact_iter(nick) if not iter: @@ -918,23 +951,51 @@ class GroupchatControl(ChatControlBase): if statusCode == '201': # We just created the room gajim.connections[self.account].request_gc_config(self.room_jid) else: + gc_c = gajim.contacts.get_gc_contact(self.account, self.room_jid, + nick) + # Re-get vcard if avatar has changed + # We do that here because we may request it to the real JID if we + # knows it. connections.py doesn't know it. + con = gajim.connections[self.account] + if gc_c.jid: + real_jid = gc_c.jid + if gc_c.resource: + real_jid += '/' + gc_c.resource + else: + real_jid = fake_jid + if con.vcard_shas.has_key(fake_jid): + if avatar_sha != con.vcard_shas[fake_jid]: + con.request_vcard(real_jid, fake_jid) + else: + cached_vcard = con.get_cached_vcard(fake_jid, True) + if cached_vcard and cached_vcard.has_key('PHOTO') and \ + cached_vcard['PHOTO'].has_key('SHA'): + cached_sha = cached_vcard['PHOTO']['SHA'] + else: + cached_sha = '' + if cached_sha != avatar_sha: + # avatar has been updated + # sha in mem will be updated later + con.request_vcard(real_jid, fake_jid) + else: + # save sha in mem NOW + con.vcard_shas[fake_jid] = avatar_sha + actual_role = self.get_role(nick) if role != actual_role: self.remove_contact(nick) self.add_contact_to_roster(nick, show, role, affiliation, status, jid) else: - c = gajim.contacts.get_gc_contact(self.account, self.room_jid, - nick) - if c.show == show and c.status == status and \ - c.affiliation == affiliation: #no change + if gc_c.show == show and gc_c.status == status and \ + gc_c.affiliation == affiliation: # no change return - c.show = show - c.affiliation = affiliation - c.status = status + gc_c.show = show + gc_c.affiliation = affiliation + gc_c.status = status self.draw_contact(nick) - - self.parent_win.redraw_tab(self) + if self.parent_win: + self.parent_win.redraw_tab(self) if (time.time() - self.room_creation) > 30 and \ nick != self.nick and statusCode != '303': st = '' @@ -963,7 +1024,7 @@ class GroupchatControl(ChatControlBase): if st: if status: st += ' (' + status + ')' - self.print_conversation(st) + self.print_conversation(st, tim = tim) def add_contact_to_roster(self, nick, show, role, affiliation, status, jid = ''): @@ -998,10 +1059,16 @@ class GroupchatControl(ChatControlBase): server = gajim.get_server_from_jid(self.room_jid) if gajim.config.get('ask_avatars_on_startup') and \ not server.startswith('irc'): - fjid = self.room_jid + '/' + nick - pixbuf = gtkgui_helpers.get_avatar_pixbuf_from_cache(fjid, True) + fake_jid = self.room_jid + '/' + nick + pixbuf = gtkgui_helpers.get_avatar_pixbuf_from_cache(fake_jid, True) if pixbuf == 'ask': - gajim.connections[self.account].request_vcard(fjid, True) + if j: + fjid = j + if resource: + fjid += '/' + resource + gajim.connections[self.account].request_vcard(fjid, fake_jid) + else: + gajim.connections[self.account].request_vcard(fake_jid, fake_jid) if nick == self.nick: # we became online self.got_connected() self.list_treeview.expand_row((model.get_path(role_iter)), False) @@ -1341,7 +1408,6 @@ class GroupchatControl(ChatControlBase): nick = instance.input_entry.get_text().decode('utf-8') nick = helpers.parse_resource(nick) gajim.connections[self.account].join_gc(nick, self.room_jid, None) - self.nick = nick instance = dialogs.InputDialog(title, prompt, proposed_nick, is_modal = False, ok_handler = on_ok) @@ -1466,7 +1532,7 @@ class GroupchatControl(ChatControlBase): try: jid = helpers.parse_jid(jid) except: - ErrorDialog(_('Invalid group chat Jabber ID'), + dialogs.ErrorDialog(_('Invalid group chat Jabber ID'), _('The group chat Jabber ID has not allowed characters.')) return else: @@ -1575,6 +1641,13 @@ class GroupchatControl(ChatControlBase): self.nick_hits = [] # clear the hit list list_nick = gajim.contacts.get_nick_list(self.account, self.room_jid) + if begin == '': + # empty message, show lasts nicks that highlighted us first + for nick in self.attention_list: + if nick in list_nick: + list_nick.remove(nick) + list_nick.insert(0, nick) + list_nick.remove(self.nick) # Skip self for nick in list_nick: if nick.lower().startswith(begin.lower()): @@ -1741,18 +1814,18 @@ class GroupchatControl(ChatControlBase): def _start_private_message(self, nick): gc_c = gajim.contacts.get_gc_contact(self.account, self.room_jid, nick) - c = gajim.contacts.contact_from_gc_contact(gc_c) - nick_jid = c.jid + nick_jid = gc_c.get_full_jid() win = gajim.interface.msg_win_mgr.get_window(nick_jid, self.account) if not win: - gajim.interface.roster.new_chat(c, self.account, private_chat = True) + gajim.interface.roster.new_private_chat(gc_c, self.account) win = gajim.interface.msg_win_mgr.get_window(nick_jid, self.account) win.set_active_tab(nick_jid, self.account) win.window.present() - def on_list_treeview_row_activated(self, widget, path, col = 0): - '''When an iter is double clicked: open the chat window''' + def on_row_activated(self, widget, path): + '''When an iter is activated (dubblick or single click if gnome is set + this way''' model = widget.get_model() if len(path) == 1: # It's a group if (widget.row_expanded(path)): @@ -1762,6 +1835,11 @@ class GroupchatControl(ChatControlBase): else: # We want to send a private message nick = model[path][C_NICK].decode('utf-8') self._start_private_message(nick) + + def on_list_treeview_row_activated(self, widget, path, col = 0): + '''When an iter is double clicked: open the chat window''' + if not gajim.single_click: + self.on_row_activated(widget, path) def on_list_treeview_button_press_event(self, widget, event): '''popup user's group's or agent menu''' @@ -1802,26 +1880,30 @@ class GroupchatControl(ChatControlBase): widget.get_selection().unselect_all() return - model = widget.get_model() - iter = model.get_iter(path) - nick = model[iter][C_NICK].decode('utf-8') - if not nick in gajim.contacts.get_nick_list(self.account, - self.room_jid): - #it's a group - col = widget.get_column(0) - avatar_cell = col.get_cell_renderers()[0] - (pos, avatar_size) = col.cell_get_position(avatar_cell) - status_cell = col.get_cell_renderers()[1] - (pos, status_size) = col.cell_get_position(status_cell) - if x > avatar_size and x < avatar_size + status_size: - if (widget.row_expanded(path)): - widget.collapse_row(path) - else: - widget.expand_row(path, False) - elif event.state & gtk.gdk.SHIFT_MASK: - self.append_nick_in_msg_textview(self.msg_textview, nick) - self.msg_textview.grab_focus() + if gajim.single_click and not event.state & gtk.gdk.SHIFT_MASK: + self.on_row_activated(widget, path) return True + else: + model = widget.get_model() + iter = model.get_iter(path) + nick = model[iter][C_NICK].decode('utf-8') + if not nick in gajim.contacts.get_nick_list(self.account, + self.room_jid): + # it's a group + col = widget.get_column(0) + avatar_cell = col.get_cell_renderers()[0] + (pos, avatar_size) = col.cell_get_position(avatar_cell) + status_cell = col.get_cell_renderers()[1] + (pos, status_size) = col.cell_get_position(status_cell) + if x > avatar_size and x < avatar_size + status_size: + if (widget.row_expanded(path)): + widget.collapse_row(path) + else: + widget.expand_row(path, False) + elif event.state & gtk.gdk.SHIFT_MASK: + self.append_nick_in_msg_textview(self.msg_textview, nick) + self.msg_textview.grab_focus() + return True def append_nick_in_msg_textview(self, widget, nick): message_buffer = self.msg_textview.get_buffer() diff --git a/src/gtkgui_helpers.py b/src/gtkgui_helpers.py index e19a90e0a..a833ee4bd 100644 --- a/src/gtkgui_helpers.py +++ b/src/gtkgui_helpers.py @@ -528,7 +528,7 @@ def get_scaled_pixbuf(pixbuf, kind): scaled_buf = pixbuf.scale_simple(w, h, gtk.gdk.INTERP_HYPER) return scaled_buf -def get_avatar_pixbuf_from_cache(fjid, is_fake_jid = False): +def get_avatar_pixbuf_from_cache(fjid, is_fake_jid = False, use_local = True): '''checks if jid has cached avatar and if that avatar is valid image (can be shown) returns None if there is no image in vcard @@ -545,8 +545,21 @@ def get_avatar_pixbuf_from_cache(fjid, is_fake_jid = False): if is_fake_jid: puny_nick = helpers.sanitize_filename(nick) path = os.path.join(gajim.VCARD_PATH, puny_jid, puny_nick) + local_avatar_basepath = os.path.join(gajim.AVATAR_PATH, puny_jid, + puny_nick) + '_local' else: path = os.path.join(gajim.VCARD_PATH, puny_jid) + local_avatar_basepath = os.path.join(gajim.AVATAR_PATH, puny_jid) + \ + '_local' + if use_local: + for extension in ('.png', '.jpeg'): + local_avatar_path = local_avatar_basepath + extension + if os.path.isfile(local_avatar_path): + avatar_file = open(local_avatar_path, 'rb') + avatar_data = avatar_file.read() + avatar_file.close() + return get_pixbuf_from_data(avatar_data) + if not os.path.isfile(path): return 'ask' @@ -591,6 +604,10 @@ def get_path_to_generic_or_avatar(generic, jid = None, suffix = None): if jid: puny_jid = helpers.sanitize_filename(jid) path_to_file = os.path.join(gajim.AVATAR_PATH, puny_jid) + suffix + filepath, extension = os.path.splitext(path_to_file) + path_to_local_file = filepath + '_local' + extension + if os.path.exists(path_to_local_file): + return path_to_local_file if os.path.exists(path_to_file): return path_to_file return os.path.abspath(generic) @@ -773,7 +790,7 @@ default_name = ''): is_fake = False if account and gajim.contacts.is_pm_from_jid(account, jid): is_fake = True - pixbuf = get_avatar_pixbuf_from_cache(jid, is_fake) + pixbuf = get_avatar_pixbuf_from_cache(jid, is_fake, False) ext = file_path.split('.')[-1] type_ = '' if not ext: diff --git a/src/history_window.py b/src/history_window.py index 3ceb10594..19af94b73 100644 --- a/src/history_window.py +++ b/src/history_window.py @@ -126,6 +126,14 @@ class HistoryWindow: self.calendar.select_month(gtk_month, y) self.calendar.select_day(d) self.add_lines_for_date(y, m, d) + + log = True + if self.jid in gajim.config.get_per('accounts', self.account, + 'no_log_for').split(' '): + log = False + checkbutton = xml.get_widget('log_history_checkbutton') + checkbutton.set_active(log) + checkbutton.connect('toggled', self.on_log_history_checkbutton_toggled) self.window.show_all() @@ -391,3 +399,20 @@ class HistoryWindow: match_start_mark = self.history_buffer.create_mark('match_start', match_start_iter, True) self.history_textview.tv.scroll_to_mark(match_start_mark, 0, True) + + def on_log_history_checkbutton_toggled(self, widget): + # log conversation history? + oldlog = True + no_log_for = gajim.config.get_per('accounts', self.account, + 'no_log_for').split() + if self.jid in no_log_for: + oldlog = False + log = widget.get_active() + if not log and not self.jid 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: + gajim.config.set_per('accounts', self.account, 'no_log_for', + ' '.join(no_log_for)) + diff --git a/src/htmltextview.py b/src/htmltextview.py index 51066b6f2..75fbccf0a 100644 --- a/src/htmltextview.py +++ b/src/htmltextview.py @@ -40,9 +40,9 @@ import time import urllib2 import operator +if __name__ == '__main__': + from common import i18n from common import gajim -#from common import i18n - import tooltips @@ -56,13 +56,13 @@ allwhitespace_rx = re.compile('^\\s*$') display_resolution = 0.3514598*(gtk.gdk.screen_height() / float(gtk.gdk.screen_height_mm())) -#embryo of CSS classes +# embryo of CSS classes classes = { #'system-message':';display: none', 'problematic':';color: red', } -#styles for elemens +# styles for elements element_styles = { 'u' : ';text-decoration: underline', 'em' : ';font-style: oblique', @@ -83,9 +83,6 @@ element_styles['tt'] = element_styles['kbd'] element_styles['i'] = element_styles['em'] element_styles['b'] = element_styles['strong'] -class_styles = { -} - ''' ========== JEP-0071 @@ -182,40 +179,43 @@ for name in BLOCK_HEAD: def build_patterns(view, config, interface): - #extra, rst does not mark _underline_ or /it/ up - #actually , or are not in the JEP-0071, but are seen in the wild + # extra, rst does not mark _underline_ or /it/ up + # actually , or are not in the JEP-0071, but are seen in the wild basic_pattern = r'(? deadline: + gajim.log.debug(str('Timeout loading image %s ' % \ + attrs['src'] + ex)) + mem = '' + alt = attrs.get('alt', '') + if alt: + alt += '\n' + alt += _('Timeout loading image') + break + try: + temp = f.read(100) + except socket.timeout, ex: + gajim.log.debug('Timeout loading image %s ' % attrs['src'] + \ + str(ex)) + mem = '' + alt = attrs.get('alt', '') + if alt: + alt += '\n' + alt += _('Timeout loading image') + break + if temp: + mem += temp + else: + break + if len(mem) > 2*1024*1024: + alt = attrs.get('alt', '') + if alt: + alt += '\n' + alt += _('Image is too big') + break + pixbuf = None + if mem: + # Caveat: GdkPixbuf is known not to be safe to load + # images from network... this program is now potentially + # hackable ;) + loader = gtk.gdk.PixbufLoader() + dims = [0,0] + def height_cb(length): + dims[1] = length + def width_cb(length): + dims[0] = length + # process width and height attributes + w = attrs.get('width') + h = attrs.get('height') + # override with width and height styles + for attr, val in style_iter(attrs.get('style', '')): + if attr == 'width': + w = val + elif attr == 'height': + h = val + if w: + self._parse_length(w, False, False, 1, 1000, width_cb) + if h: + self._parse_length(h, False, False, 1, 1000, height_cb) + def set_size(pixbuf, w, h, dims): + '''FIXME: floats should be relative to the whole + textview, and resize with it. This needs new + pifbufs for every resize, gtk.gdk.Pixbuf.scale_simple + or similar. + ''' + if type(dims[0]) == float: + dims[0] = int(dims[0]*w) + elif not dims[0]: + dims[0] = w + if type(dims[1]) == float: + dims[1] = int(dims[1]*h) + if not dims[1]: + dims[1] = h + loader.set_size(*dims) + if w or h: + loader.connect('size-prepared', set_size, dims) + loader.write(mem) + loader.close() + pixbuf = loader.get_pixbuf() + alt = attrs.get('alt', '') + if pixbuf is not None: + tags = self._get_style_tags() + if tags: + tmpmark = self.textbuf.create_mark(None, self.iter, True) + self.textbuf.insert_pixbuf(self.iter, pixbuf) + self.starting = False + if tags: + start = self.textbuf.get_iter_at_mark(tmpmark) + for tag in tags: + self.textbuf.apply_tag(tag, start, self.iter) + self.textbuf.delete_mark(tmpmark) + else: + self._insert_text('[IMG: %s]' % alt) + except Exception, ex: + gajim.log.error('Error loading image ' + str(ex)) + pixbuf = None + alt = attrs.get('alt', 'Broken image') + try: + loader.close() + except: + pass + return pixbuf def _begin_span(self, style, tag=None, id_=None): if style is None: @@ -511,9 +680,9 @@ class HtmlHandler(xml.sax.handler.ContentHandler): tag = self.textbuf.create_tag(id_) else: tag = self.textbuf.create_tag() # we create anonymous tag - for attr, val in [item.split(':', 1) for item in style.split(';') if len(item.strip())]: - attr = attr.strip().lower() - val = val.strip() + for attr, val in style_iter(style): + attr = attr.lower() + val = val try: method = self.__style_methods[attr] except KeyError: @@ -603,6 +772,7 @@ class HtmlHandler(xml.sax.handler.ContentHandler): self.text += content return if allwhitespace_rx.match(content) is not None and self._starts_line(): + self.text += ' ' return self.text += content self.starting = False @@ -611,9 +781,8 @@ class HtmlHandler(xml.sax.handler.ContentHandler): def startElement(self, name, attrs): self._flush_text() klass = [i for i in attrs.get('class',' ').split(' ') if i] - style = attrs.get('style','') + style = '' #Add styles defined for classes - #TODO: priority between class and style elements? for k in klass: if k in classes: style += classes[k] @@ -641,9 +810,13 @@ class HtmlHandler(xml.sax.handler.ContentHandler): tag.is_anchor = True elif name in LIST_ELEMS: style += ';margin-left: 2em' + elif name == 'img': + tag = self._process_img(attrs) 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_) @@ -681,64 +854,7 @@ class HtmlHandler(xml.sax.handler.ContentHandler): elif name == 'dt': if not self.starting: self._jump_line() - elif name == 'img': - # Wait maximum 1s for connection - socket.setdefaulttimeout(1) - try: - f = urllib2.urlopen(attrs['src']) - except Exception, ex: - gajim.log.debug(str('Error loading image %s ' % attrs['src'] + ex)) - pixbuf = None - alt = attrs.get('alt', 'Broken image') - else: - # Wait 10ms between each byte - try: - f.fp._sock.fp._sock.settimeout(0.01) - except: - pass - # Max image size = 2 MB (to try to prevent DoS) in Max 3s - mem = '' - deadline = time.time() + 3 - while True: - if time.time() > deadline: - gajim.log.debug(str('Timeout loading image %s ' % \ - attrs['src'] + ex)) - pixbuf = None - alt = attrs.get('alt', 'Timeout loading image') - break - temp = f.read(100) - if temp: - mem += temp - else: - break - if len(mem) > 2*1024*1024: - alt = attrs.get('alt', 'Image is too big') - break - - # Caveat: GdkPixbuf is known not to be safe to load - # images from network... this program is now potentially - # hackable ;) - loader = gtk.gdk.PixbufLoader() - loader.write(mem) - loader.close() - pixbuf = loader.get_pixbuf() - if pixbuf is not None: - tags = self._get_style_tags() - if tags: - tmpmark = self.textbuf.create_mark(None, self.iter, True) - - self.textbuf.insert_pixbuf(self.iter, pixbuf) - - if tags: - start = self.textbuf.get_iter_at_mark(tmpmark) - for tag in tags: - self.textbuf.apply_tag(tag, start, self.iter) - self.textbuf.delete_mark(tmpmark) - else: - self._insert_text('[IMG: %s]' % alt) - elif name == 'body' or name == 'html': - pass - elif name == 'a': + elif name in ('a', 'img', 'body', 'html'): pass elif name in INLINE: pass @@ -788,10 +904,6 @@ class HtmlHandler(xml.sax.handler.ContentHandler): # self.text = ' ' class HtmlTextView(gtk.TextView): - __gtype_name__ = 'HtmlTextView' - __gsignals__ = { - 'url-clicked': (gobject.SIGNAL_RUN_LAST, None, (str, str)), # href, type - } def __init__(self): gobject.GObject.__init__(self) @@ -867,16 +979,39 @@ class HtmlTextView(gtk.TextView): parser.setContentHandler(HtmlHandler(self, eob)) parser.parse(StringIO(html)) + # too much space after :) #if not eob.starts_line(): # buffer.insert(eob, '\n') + change_cursor = None if __name__ == '__main__': + import os + from common import gajim + + class log(object): + + def debug(self, text): + print "debug:", text + def warn(self, text): + print "warn;", text + def error(self,text): + print "error;", text + + gajim.log=log() + + if gajim.config.get('emoticons_theme'): + print "emoticons" htmlview = HtmlTextView() + path_to_file = os.path.join(gajim.DATA_DIR, 'pixmaps', 'muc_separator.png') + # use this for hr + htmlview.focus_out_line_pixbuf = gtk.gdk.pixbuf_new_from_file(path_to_file) + + tooltip = tooltips.BaseTooltip() def on_textview_motion_notify_event(widget, event): '''change the cursor to a hand when we are over a mail or an url''' @@ -946,9 +1081,9 @@ if __name__ == '__main__':

Hey, are you licensed to Jabber?

A License to Jabber

+ alt='A License to Jabber' + width='50%' height='50%' + />

''') htmlview.display_html('
') @@ -973,8 +1108,9 @@ if __name__ == '__main__':
  • One
  • Two is nested:
    • One
    • -
    • Two
    • -
    • Three
    • +
    • Two
    • +
    • Three
    • +
    • Four
  • Three
  • diff --git a/src/message_window.py b/src/message_window.py index ed1ec93ab..6445495be 100644 --- a/src/message_window.py +++ b/src/message_window.py @@ -235,6 +235,11 @@ class MessageWindow: 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.type_id == message_control.TYPE_GC and not \ @@ -253,8 +258,6 @@ class MessageWindow: else: urgent = False - if not control: - control = self.get_active_control() if control.type_id == message_control.TYPE_GC: name = control.room_jid.split('@')[0] urgent = control.attention_flag @@ -318,6 +321,10 @@ class MessageWindow: if len(self._controls[ctrl.account]) == 0: del self._controls[ctrl.account] + self.check_tabs() + self.show_title() + + def check_tabs(self): if self.get_num_controls() == 0: # These are not called when the window is destroyed like this, fake it gajim.interface.msg_win_mgr._on_window_delete(self.window, None) @@ -332,9 +339,8 @@ class MessageWindow: self.notebook.set_show_tabs(show_tabs_if_one_tab) if not show_tabs_if_one_tab: self.alignment.set_property('top-padding', 0) - self.show_title() - + def redraw_tab(self, ctrl, chatstate = None): hbox = self.notebook.get_tab_label(ctrl.widget).get_children()[0] status_img = hbox.get_children()[0] diff --git a/src/notify.py b/src/notify.py index 104dc7733..66b130791 100644 --- a/src/notify.py +++ b/src/notify.py @@ -42,6 +42,8 @@ except ImportError: def get_show_in_roster(event, account, contact): '''Return True if this event must be shown in roster, else False''' + if event == 'gc_message_received': + return True num = get_advanced_notification(event, account, contact) if num != None: if gajim.config.get_per('notifications', str(num), 'roster') == 'yes': @@ -316,8 +318,8 @@ def popup(event_type, jid, account, msg_type = '', path_to_image = None, notification.set_data('event_type', event_type) notification.set_data('jid', jid) notification.set_data('account', account) - notification.set_data('msg_type', event_type) - notification.set_data('path_to_image', path_to_image) + notification.set_data('msg_type', msg_type) + notification.set_property('icon-name', path_to_image) notification.add_action('default', 'Default Action', on_pynotify_notification_clicked) diff --git a/src/profile_window.py b/src/profile_window.py index 2015d5df9..b56329aa4 100644 --- a/src/profile_window.py +++ b/src/profile_window.py @@ -118,20 +118,21 @@ class ProfileWindow: def on_ok(widget, path_to_file): must_delete = False filesize = os.path.getsize(path_to_file) # in bytes - #FIXME: use messages for invalid file for 0.11 invalid_file = False msg = '' if os.path.isfile(path_to_file): stat = os.stat(path_to_file) if stat[6] == 0: invalid_file = True + msg = _('File is empty') else: invalid_file = True + msg = _('File does not exist') if not invalid_file and filesize > 16384: # 16 kb try: pixbuf = gtk.gdk.pixbuf_new_from_file(path_to_file) # get the image at 'notification size' - # and use that user did not specify in ACE crazy size + # and hope that user did not specify in ACE crazy size scaled_pixbuf = gtkgui_helpers.get_scaled_pixbuf(pixbuf, 'tooltip') except gobject.GError, msg: # unknown format @@ -148,13 +149,17 @@ class ProfileWindow: 'avatar_scaled.png') scaled_pixbuf.save(path_to_file, 'png') must_delete = True - self.dialog.destroy() - + fd = open(path_to_file, 'rb') data = fd.read() pixbuf = gtkgui_helpers.get_pixbuf_from_data(data) - # rescale it - pixbuf = gtkgui_helpers.get_scaled_pixbuf(pixbuf, 'vcard') + try: + # rescale it + pixbuf = gtkgui_helpers.get_scaled_pixbuf(pixbuf, 'vcard') + except AttributeError: # unknown format + dialogs.ErrorDialog(_('Could not load image')) + return + self.dialog.destroy() button = self.xml.get_widget('PHOTO_button') image = button.get_image() image.set_from_pixbuf(pixbuf) @@ -183,7 +188,8 @@ class ProfileWindow: menu = gtk.Menu() # Try to get pixbuf - pixbuf = gtkgui_helpers.get_avatar_pixbuf_from_cache(self.jid) + pixbuf = gtkgui_helpers.get_avatar_pixbuf_from_cache(self.jid, + use_local = False) if pixbuf: nick = gajim.config.get_per('accounts', self.account, 'name') diff --git a/src/roster_window.py b/src/roster_window.py index 8771f40fc..fd62d3ef5 100644 --- a/src/roster_window.py +++ b/src/roster_window.py @@ -48,6 +48,7 @@ from groupchat_control import PrivateChatControl from common import dbus_support if dbus_support.supported: from music_track_listener import MusicTrackListener + import dbus #(icon, name, type, jid, account, editable, second pixbuf) ( @@ -279,6 +280,7 @@ class RosterWindow: if hide and contact.sub != 'from': return observer = contact.is_observer() + groupchat = contact.is_groupchat() if observer: # if he has a tag, remove it @@ -368,6 +370,8 @@ class RosterWindow: typestr = 'contact' if group == _('Transports'): typestr = 'agent' + if group == _('Groupchats'): + typestr = 'groupchat' name = contact.get_shown_name() # we add some values here. see draw_contact for more @@ -391,13 +395,15 @@ class RosterWindow: accounts = [] else: accounts = [account] - text = group + text = gobject.markup_escape_text(group) + if group in gajim.connections[account].blocked_groups: + text = '%s' % text if gajim.config.get('show_contacts_number'): nbr_on, nbr_total = gajim.contacts.get_nb_online_total_contacts( accounts = accounts, groups = [group]) text += ' (%s/%s)' % (repr(nbr_on), repr(nbr_total)) model = self.tree.get_model() - model.set_value(iter, 1 , gobject.markup_escape_text(text)) + model.set_value(iter, 1 , text) def add_to_not_in_the_roster(self, account, jid, nick = '', resource = ''): ''' add jid to group "not in the roster", he MUST not be in roster yet, @@ -414,6 +420,20 @@ class RosterWindow: self.add_contact_to_roster(contact.jid, account) return contact + def add_groupchat_to_roster(self, account, jid, nick = '', resource = '', + status = ''): + ''' add groupchat to roster ''' + contact = gajim.contacts.get_contact_with_highest_priority(account, jid) + if contact == None: + contact = gajim.contacts.create_contact(jid = jid, name = jid, + groups = [_('Groupchats')], show = 'muc_active', + status = status, sub = 'none', + resource = resource) + gajim.contacts.add_contact(account, contact) + self.add_contact_to_roster(jid, account) + self.draw_group(_('Groupchats'), account) + return contact + def get_self_contact_iter(self, account): model = self.tree.get_model() iterAcct = self.get_account_iter(account) @@ -560,6 +580,35 @@ class RosterWindow: return name = gobject.markup_escape_text(contact.get_shown_name()) + # gets number of unread gc marked messages + if gajim.interface.minimized_controls.has_key(account) and \ + jid in gajim.interface.minimized_controls[account]: + nb_unread = len(gajim.events.get_events(account, jid, + ['printed_marked_gc_msg'])) + nb_unread += \ + gajim.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 = False + if jid in gajim.connections[account].blocked_contacts: + strike = True + else: + groups = contact.groups + if contact.is_observer(): + groups = [_('Observers')] + elif not groups: + groups = [_('General')] + for group in groups: + if group in gajim.connections[account].blocked_groups: + strike = True + break + if strike: + name = '%s' % name + nb_connected_contact = 0 for c in contact_instances: if c.show not in ('error', 'offline'): @@ -643,6 +692,13 @@ class RosterWindow: state_images = self.get_appropriate_state_images(jid, icon_name = icon_name) + if icon_name != 'message' and gajim.gc_connected[account].\ + has_key(jid): + if gajim.gc_connected[account][jid]: + icon_name = 'muc_active' + else: + icon_name = 'muc_inactive' + img = state_images[icon_name] for iter in iters: @@ -677,7 +733,7 @@ class RosterWindow: for iter in iters: model[iter][C_SECPIXBUF] = scaled_pixbuf - def join_gc_room(self, account, room_jid, nick, password): + def join_gc_room(self, account, room_jid, nick, password, minimize = False): '''joins the room immediatelly''' if gajim.interface.msg_win_mgr.has_window(room_jid, account) and \ gajim.gc_connected[account][room_jid]: @@ -686,11 +742,28 @@ class RosterWindow: win.set_active_tab(room_jid, account) dialogs.ErrorDialog(_('You are already in group chat %s') % room_jid) return + if gajim.interface.minimized_controls.has_key(account) and \ + room_jid in gajim.interface.minimized_controls[account]: + self.on_groupchat_maximized(None, room_jid, account) + return invisible_show = gajim.SHOW_LIST.index('invisible') if gajim.connections[account].connected == invisible_show: dialogs.ErrorDialog( _('You cannot join a group chat while you are invisible')) return + if minimize: + contact = gajim.contacts.create_contact(jid = room_jid, name = nick) + gc_control = GroupchatControl(None, contact, account) + + if not gajim.interface.minimized_controls.has_key(account): + gajim.interface.minimized_controls[account] = {} + gajim.interface.minimized_controls[account][room_jid] = gc_control + + self.add_groupchat_to_roster(account, room_jid) + gajim.connections[account].join_gc(nick, room_jid, password) + if password: + gajim.gc_passwords[room_jid] = password + return if not gajim.interface.msg_win_mgr.has_window(room_jid, account): self.new_room(room_jid, nick, account) gc_win = gajim.interface.msg_win_mgr.get_window(room_jid, account) @@ -729,6 +802,13 @@ class RosterWindow: else: gajim.interface.instances[account]['privacy_lists'] = \ dialogs.PrivacyListsWindow(account) + + def on_blocked_contacts_menuitem_activate(self, widget, account): + if gajim.interface.instances[account].has_key('blocked_contacts'): + gajim.interface.instances[account]['blocked_contacts'].window.present() + else: + gajim.interface.instances[account]['blocked_contacts'] = \ + dialogs.BlockedContactsWindow(account) def on_set_motd_menuitem_activate(self, widget, account): server = gajim.config.get_per('accounts', account, 'hostname') @@ -762,6 +842,7 @@ class RosterWindow: send_single_message_menuitem = xml.get_widget( 'send_single_message_menuitem') xml_console_menuitem = xml.get_widget('xml_console_menuitem') + blocked_contacts_menuitem = xml.get_widget('blocked_contacts_menuitem') privacy_lists_menuitem = xml.get_widget('privacy_lists_menuitem') administrator_menuitem = xml.get_widget('administrator_menuitem') send_server_message_menuitem = xml.get_widget( @@ -775,9 +856,12 @@ class RosterWindow: if gajim.connections[account] and gajim.connections[account].\ privacy_rules_supported: + blocked_contacts_menuitem.connect('activate', + self.on_blocked_contacts_menuitem_activate, account) privacy_lists_menuitem.connect('activate', self.on_privacy_lists_menuitem_activate, account) else: + blocked_contacts_menuitem.set_sensitive(False) privacy_lists_menuitem.set_sensitive(False) if gajim.connections[account].is_zeroconf: @@ -1303,14 +1387,25 @@ class RosterWindow: if not connected_contacts: # no connected contacts, show the ofline one connected_contacts = contacts + self.tooltip.account = account self.tooltip.timeout = gobject.timeout_add(500, self.show_tooltip, connected_contacts) + elif model[iter][C_TYPE] == 'groupchat': + account = model[iter][C_ACCOUNT].decode('utf-8') + jid = model[iter][C_JID].decode('utf-8') + if self.tooltip.timeout == 0 or self.tooltip.id != props[0]: + self.tooltip.id = row + contact = gajim.contacts.get_contact(account, jid) + self.tooltip.account = account + self.tooltip.timeout = gobject.timeout_add(500, + self.show_tooltip, contact) elif model[iter][C_TYPE] == 'account': # we're on an account entry in the roster account = model[iter][C_ACCOUNT].decode('utf-8') if account == 'all': if self.tooltip.timeout == 0 or self.tooltip.id != props[0]: self.tooltip.id = row + self.tooltip.account = None self.tooltip.timeout = gobject.timeout_add(500, self.show_tooltip, []) return @@ -1327,8 +1422,7 @@ class RosterWindow: contact = gajim.contacts.create_contact(jid = jid, name = account_name, show = connection.get_status(), sub = '', status = connection.status, - resource = gajim.config.get_per('accounts', connection.name, - 'resource'), + resource = connection.server_resource, priority = connection.priority, keyID = gajim.config.get_per('accounts', connection.name, 'keyid')) @@ -1353,6 +1447,7 @@ class RosterWindow: contacts.append(contact) if self.tooltip.timeout == 0 or self.tooltip.id != props[0]: self.tooltip.id = row + self.tooltip.account = None self.tooltip.timeout = gobject.timeout_add(500, self.show_tooltip, contacts) @@ -1413,6 +1508,152 @@ class RosterWindow: self.dialog = dialogs.ConfirmationDialog(pritext, sectext, on_response_ok = (remove, list_)) + def on_block(self, widget, iter, group_list): + ''' When clicked on the 'block' button in context menu. ''' + model = self.tree.get_model() + accounts = [] + msg = self.get_status_message('offline') + if group_list == None: + jid = model[iter][C_JID].decode('utf-8') + account = model[iter][C_ACCOUNT].decode('utf-8') + accounts.append(account) + self.send_status(account, 'offline', msg, to = jid) + new_rule = {'order': u'1', 'type': u'jid', 'action': u'deny', + 'value' : jid, 'child': [u'message', u'iq', u'presence-out']} + gajim.connections[account].blocked_list.append(new_rule) + # needed for draw_contact: + gajim.connections[account].blocked_contacts.append(jid) + self.draw_contact(jid, account) + else: + if iter == None: + for (contact, account) in group_list: + if account not in accounts: + if not gajim.connections[account].privacy_rules_supported: + continue + accounts.append(account) + self.send_status(account, 'offline', msg, to=contact.jid) + new_rule = {'order': u'1', 'type': u'jid', + 'action': u'deny', 'value' : contact.jid, + 'child': [u'message', u'iq', u'presence-out']} + gajim.connections[account].blocked_list.append(new_rule) + # needed for draw_contact: + gajim.connections[account].blocked_contacts.append(contact.jid) + self.draw_contact(contact.jid, account) + else: + group = model[iter][C_JID].decode('utf-8') + for (contact, account) in group_list: + if account not in accounts: + if not gajim.connections[account].privacy_rules_supported: + continue + accounts.append(account) + # needed for draw_group: + gajim.connections[account].blocked_groups.append(group) + self.draw_group(group, account) + self.send_status(account, 'offline', msg, to=contact.jid) + self.draw_contact(contact.jid, account) + new_rule = {'order': u'1', 'type': u'group', 'action': u'deny', + 'value' : group, 'child': [u'message', u'iq', u'presence-out']} + gajim.connections[account].blocked_list.append(new_rule) + for account in accounts: + gajim.connections[account].set_privacy_list( + 'block', gajim.connections[account].blocked_list) + if len(gajim.connections[account].blocked_list) == 1: + gajim.connections[account].set_active_list('block') + gajim.connections[account].set_default_list('block') + gajim.connections[account].get_privacy_list('block') + + def on_unblock(self, widget, iter, group_list): + ''' When clicked on the 'unblock' button in context menu. ''' + model = self.tree.get_model() + accounts = [] + if group_list == None: + jid = model[iter][C_JID].decode('utf-8') + jid_account = model[iter][C_ACCOUNT].decode('utf-8') + accounts.append(jid_account) + gajim.connections[jid_account].new_blocked_list = [] + for rule in gajim.connections[jid_account].blocked_list: + if rule['action'] != 'deny' or rule['type'] != 'jid' \ + or rule['value'] != jid: + gajim.connections[jid_account].new_blocked_list.append(rule) + # needed for draw_contact: + if jid in gajim.connections[jid_account].blocked_contacts: + gajim.connections[jid_account].blocked_contacts.remove(jid) + self.draw_contact(jid, jid_account) + else: + if iter == None: + for (contact, account) in group_list: + if account not in accounts: + if gajim.connections[account].privacy_rules_supported: + accounts.append(account) + gajim.connections[account].new_blocked_list = [] + gajim.connections[account].to_unblock = [] + gajim.connections[account].to_unblock.append(contact.jid) + else: + gajim.connections[account].to_unblock.append(contact.jid) + # needed for draw_contact: + if contact.jid in gajim.connections[account].blocked_contacts: + gajim.connections[account].blocked_contacts.remove( + contact.jid) + self.draw_contact(contact.jid, account) + for account in accounts: + for rule in gajim.connections[account].blocked_list: + if rule['action'] != 'deny' or rule['type'] != 'jid' \ + or rule['value'] not in gajim.connections[account].to_unblock: + gajim.connections[account].new_blocked_list.append(rule) + else: + group = model[iter][C_JID].decode('utf-8') + for (contact, account) in group_list: + if account not in accounts: + if gajim.connections[account].privacy_rules_supported: + accounts.append(account) + # needed for draw_group: + if group in gajim.connections[account].blocked_groups: + gajim.connections[account].blocked_groups.remove(group) + self.draw_group(group, account) + gajim.connections[account].new_blocked_list = [] + for rule in gajim.connections[account].blocked_list: + if rule['action'] != 'deny' or rule['type'] != 'group' \ + or rule['value'] != group: + gajim.connections[account].new_blocked_list.append( + rule) + self.draw_contact(contact.jid, account) + for account in accounts: + gajim.connections[account].set_privacy_list( + 'block', gajim.connections[account].new_blocked_list) + gajim.connections[account].get_privacy_list('block') + if len(gajim.connections[account].new_blocked_list) == 0: + gajim.connections[account].blocked_list = [] + gajim.connections[account].blocked_contacts = [] + gajim.connections[account].blocked_groups = [] + gajim.connections[account].set_default_list('') + gajim.connections[account].set_active_list('') + gajim.connections[account].del_privacy_list('block') + if gajim.interface.instances[account].has_key('blocked_contacts'): + gajim.interface.instances[account]['blocked_contacts'].\ + privacy_list_received([]) + if group_list == None: + status = gajim.connections[jid_account].connected + msg = gajim.connections[jid_account].status + if not self.regroup: + show = gajim.SHOW_LIST[status] + else: # accounts merged + show = helpers.get_global_show() + self.send_status(jid_account, show, msg, to=jid) + else: + for (contact, account) in group_list: + if not self.regroup: + show = gajim.SHOW_LIST[gajim.connections[account].connected] + else: # accounts merged + show = helpers.get_global_show() + if account not in accounts: + if gajim.connections[account].privacy_rules_supported: + accounts.append(account) + self.send_status(account, show, + gajim.connections[account].status, to=contact.jid) + else: + self.send_status(account, show, + gajim.connections[account].status, to=contact.jid) + def on_rename(self, widget, iter, path): # this function is called either by F2 or by Rename menuitem if gajim.interface.instances.has_key('rename'): @@ -1734,9 +1975,13 @@ class RosterWindow: 'roster_contact_context_menu') start_chat_menuitem = xml.get_widget('start_chat_menuitem') + send_custom_status_menuitem = xml.get_widget( + 'send_custom_status_menuitem') send_single_message_menuitem = xml.get_widget( 'send_single_message_menuitem') invite_menuitem = xml.get_widget('invite_menuitem') + block_menuitem = xml.get_widget('block_menuitem') + unblock_menuitem = xml.get_widget('unblock_menuitem') rename_menuitem = xml.get_widget('rename_menuitem') edit_groups_menuitem = xml.get_widget('edit_groups_menuitem') # separator has with send file, assign_openpgp_key_menuitem, etc.. @@ -1803,6 +2048,20 @@ class RosterWindow: item = gtk.SeparatorMenuItem() # separator invite_to_submenu.append(item) + # One or several resource, we do the same for send_custom_status + status_menuitems = gtk.Menu() + send_custom_status_menuitem.set_submenu(status_menuitems) + iconset = gajim.config.get('iconset') + path = os.path.join(gajim.DATA_DIR, 'iconsets', iconset, '16x16') + for s in ['online', 'chat', 'away', 'xa', 'dnd', 'offline']: + # icon MUST be different instance for every item + state_images = self.load_iconset(path) + status_menuitem = gtk.ImageMenuItem(helpers.get_uf_show(s)) + status_menuitem.connect('activate', self.on_send_custom_status, + [(contact, account)], s) + icon = state_images[s] + status_menuitem.set_image(icon) + status_menuitems.append(status_menuitem) if len(contacts) > 1: # several resources def resources_submenu(action, room_jid = None, room_account = None): ''' Build a submenu with contact's resources. @@ -1952,6 +2211,22 @@ class RosterWindow: remove_from_roster_menuitem, execute_command_menuitem]: widget.set_sensitive(False) + if gajim.connections[account] and gajim.connections[account].\ + privacy_rules_supported: + if jid in gajim.connections[account].blocked_contacts: + block_menuitem.set_no_show_all(True) + unblock_menuitem.connect('activate', self.on_unblock, iter, None) + block_menuitem.hide() + else: + unblock_menuitem.set_no_show_all(True) + block_menuitem.connect('activate', self.on_block, iter, None) + unblock_menuitem.hide() + else: + block_menuitem.set_no_show_all(True) + unblock_menuitem.set_no_show_all(True) + block_menuitem.hide() + unblock_menuitem.hide() + event_button = gtkgui_helpers.get_possible_button_event(event) roster_contact_context_menu.attach_to_widget(self.tree, None) @@ -2010,6 +2285,7 @@ class RosterWindow: connected_accounts = [] contacts_transport = -1 # -1 is at start, False when not from the same, None when jabber + is_blocked = True for iter in iters: jid = model[iter][C_JID].decode('utf-8') account = model[iter][C_ACCOUNT].decode('utf-8') @@ -2024,6 +2300,8 @@ class RosterWindow: contacts_transport = transport if contacts_transport != transport: contacts_transport = False + if jid not in gajim.connections[account].blocked_contacts: + is_blocked = False list_.append((contact, account)) menu = gtk.Menu() @@ -2093,6 +2371,18 @@ class RosterWindow: send_group_message_item.connect('activate', self.on_send_single_message_menuitem_activate, account, list_) + if is_blocked: + unblock_menuitem = gtk.ImageMenuItem(_('_Unblock')) + icon = gtk.image_new_from_stock(gtk.STOCK_YES, gtk.ICON_SIZE_MENU) + unblock_menuitem.set_image(icon) + unblock_menuitem.connect('activate', self.on_unblock, None, list_) + menu.append(unblock_menuitem) + else: + block_menuitem = gtk.ImageMenuItem(_('_Block')) + icon = gtk.image_new_from_stock(gtk.STOCK_NO, gtk.ICON_SIZE_MENU) + block_menuitem.set_image(icon) + block_menuitem.connect('activate', self.on_block, None, list_) + menu.append(block_menuitem) # unsensitive if one account is not connected if one_account_offline: remove_item.set_sensitive(False) @@ -2104,6 +2394,54 @@ class RosterWindow: menu.show_all() menu.popup(None, None, None, event_button, event.time) + def make_groupchat_menu(self, event, iter): + model = self.tree.get_model() + + path = model.get_path(iter) + jid = model[iter][C_JID].decode('utf-8') + account = model[iter][C_ACCOUNT].decode('utf-8') + + menu = gtk.Menu() + + maximize_menuitem = gtk.ImageMenuItem(_('_Maximize')) + icon = gtk.image_new_from_stock(gtk.STOCK_GOTO_TOP, gtk.ICON_SIZE_MENU) + maximize_menuitem.set_image(icon) + maximize_menuitem.connect('activate', self.on_groupchat_maximized, \ + jid, account) + + menu.append(maximize_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, event_button, event.time) + + def on_groupchat_maximized(self, widget, jid, account): + '''When a groupshat is maximised''' + if not gajim.interface.minimized_controls.has_key(account): + return + if not gajim.interface.minimized_controls[account].has_key(jid): + return + + + ctrl = gajim.interface.minimized_controls[account][jid] + mw = gajim.interface.msg_win_mgr.get_window(ctrl.contact.jid, ctrl.account) + if not mw: + mw = gajim.interface.msg_win_mgr.create_window(ctrl.contact, \ + ctrl.account, ctrl.type_id) + ctrl.parent_win = mw + mw.new_tab(ctrl) + mw.set_active_tab(jid, account) + mw.window.present() + + contact = gajim.contacts.get_contact_with_highest_priority(account, jid) + self.remove_contact(contact, account) + gajim.contacts.remove_contact(account, contact) + self.draw_group(_('Groupchats'), account) + del gajim.interface.minimized_controls[account][jid] + def make_group_menu(self, event, iter): '''Make group's popup menu''' model = self.tree.get_model() @@ -2164,6 +2502,47 @@ class RosterWindow: group_message_to_all_item.connect('activate', self.on_send_single_message_menuitem_activate, account, list_) + send_custom_status_menuitem = gtk.ImageMenuItem(_('Send Cus_tom Status')) + # add a special img for this menuitem + icon = gtk.image_new_from_stock(gtk.STOCK_GO_UP, gtk.ICON_SIZE_MENU) + send_custom_status_menuitem.set_image(icon) + status_menuitems = gtk.Menu() + send_custom_status_menuitem.set_submenu(status_menuitems) + iconset = gajim.config.get('iconset') + path = os.path.join(gajim.DATA_DIR, 'iconsets', iconset, '16x16') + for s in ['online', 'chat', 'away', 'xa', 'dnd', 'offline']: + # icon MUST be different instance for every item + state_images = self.load_iconset(path) + status_menuitem = gtk.ImageMenuItem(helpers.get_uf_show(s)) + status_menuitem.connect('activate', self.on_send_custom_status, list_, + s) + icon = state_images[s] + status_menuitem.set_image(icon) + status_menuitems.append(status_menuitem) + menu.append(send_custom_status_menuitem) + is_blocked = False + if self.regroup: + for g_account in gajim.connections: + if group in gajim.connections[g_account].blocked_groups: + is_blocked = True + else: + if group in gajim.connections[account].blocked_groups: + is_blocked = True + + if group not in helpers.special_groups + (_('General'),): + if is_blocked: + unblock_menuitem = gtk.ImageMenuItem(_('_Unblock')) + icon = gtk.image_new_from_stock(gtk.STOCK_YES, gtk.ICON_SIZE_MENU) + unblock_menuitem.set_image(icon) + unblock_menuitem.connect('activate', self.on_unblock, iter, list_) + menu.append(unblock_menuitem) + else: + block_menuitem = gtk.ImageMenuItem(_('_Block')) + icon = gtk.image_new_from_stock(gtk.STOCK_NO, gtk.ICON_SIZE_MENU) + block_menuitem.set_image(icon) + block_menuitem.connect('activate', self.on_block, iter, list_) + menu.append(block_menuitem) + event_button = gtkgui_helpers.get_possible_button_event(event) menu.attach_to_widget(self.tree, None) @@ -2564,6 +2943,8 @@ class RosterWindow: return if type_ == 'group' and len(iters) == 1: self.make_group_menu(event, iters[0]) + 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: @@ -2624,8 +3005,8 @@ class RosterWindow: self.tree.get_selection().unselect_all() self.tree.get_selection().select_path(path) type_ = model[path][C_TYPE] - if type_ in ('agent', 'contact', 'self_contact'): - self.on_roster_treeview_row_activated(widget, path) + if type_ in ('agent', 'contact', 'self_contact', 'groupchat'): + self.on_row_activated(widget, path) elif type_ == 'account': account = model[path][C_ACCOUNT].decode('utf-8') if account != 'all': @@ -2651,24 +3032,28 @@ class RosterWindow: elif event.button == 1: # Left click model = self.tree.get_model() type_ = model[path][C_TYPE] - 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.tree.expand_row(path, False) - - elif type_ == 'contact' and x < 27: - account = model[path][C_ACCOUNT].decode('utf-8') - jid = model[path][C_JID].decode('utf-8') - # first cell in 1st column (the arrow SINGLE clicked) - iters = self.get_contact_iter(jid, account) - for iter in iters: - path = model.get_path(iter) + if gajim.single_click and not event.state & gtk.gdk.SHIFT_MASK and \ + not event.state & gtk.gdk.CONTROL_MASK: + self.on_row_activated(widget, path) + else: + 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.tree.expand_row(path, False) + + elif type_ == 'contact' and x < 27: + account = model[path][C_ACCOUNT].decode('utf-8') + jid = model[path][C_JID].decode('utf-8') + # first cell in 1st column (the arrow SINGLE clicked) + iters = self.get_contact_iter(jid, account) + for iter in iters: + path = model.get_path(iter) + if (self.tree.row_expanded(path)): + self.tree.collapse_row(path) + else: + self.tree.expand_row(path, False) def on_req_usub(self, widget, list_): '''Remove a contact. list_ is a list of (contact, account) tuples''' @@ -2683,7 +3068,7 @@ class RosterWindow: gajim.connections[account].unsubscribe(contact.jid, remove_auth) for c in gajim.contacts.get_contact(account, contact.jid): self.remove_contact(c, account) - gajim.contacts.remove_jid(account, c.jid) + gajim.contacts.remove_jid(account, contact.jid) # redraw group rows for contact numbers for group in c.groups: self.draw_group(group, account) @@ -2742,7 +3127,7 @@ class RosterWindow: if gajim.interface.systray_enabled: gajim.interface.systray.change_status('connecting') - def send_status(self, account, status, txt, auto = False): + def send_status(self, account, status, txt, auto = False, to = None): model = self.tree.get_model() accountIter = self.get_account_iter(account) if status != 'offline': @@ -2827,18 +3212,42 @@ class RosterWindow: passphrase) gajim.connections[account].gpg_passphrase(passphrase) - for gc_control in gajim.interface.msg_win_mgr.get_controls( - message_control.TYPE_GC): - if gc_control.account == account: - gajim.connections[account].send_gc_status(gc_control.nick, - gc_control.room_jid, status, txt) if gajim.account_is_connected(account): if status == 'online' and gajim.interface.sleeper.getState() != \ common.sleepy.STATE_UNKNOWN: gajim.sleeper_state[account] = 'online' elif gajim.sleeper_state[account] not in ('autoaway', 'autoxa'): gajim.sleeper_state[account] = 'off' - gajim.connections[account].change_status(status, txt, auto) + if to: + gajim.connections[account].send_custom_status(status, txt, to) + else: + was_invisible = gajim.connections[account].connected == \ + gajim.SHOW_LIST.index('invisible') + gajim.connections[account].change_status(status, txt, auto) + + if not gajim.interface.minimized_controls.has_key(account): + gajim.interface.minimized_controls[account] = {} + for gc_control in gajim.interface.msg_win_mgr.get_controls( + message_control.TYPE_GC) + \ + gajim.interface.minimized_controls[account].values(): + if gc_control.account == account: + if gajim.gc_connected[account][gc_control.room_jid]: + gajim.connections[account].send_gc_status(gc_control.nick, + gc_control.room_jid, status, txt) + else: + # for some reason, we are not connected to the room even if + # tab is opened, send initial join_gc() + gajim.connections[account].join_gc(gc_control.nick, + gc_control.room_jid, None) + if was_invisible: + # We come back from invisible, join bookmarks + for bm in gajim.connections[account].bookmarks: + room_jid = bm['jid'] + if room_jid in gajim.gc_connected[account] and \ + gajim.gc_connected[account][room_jid]: + continue + self.join_gc_room(account, room_jid, bm['nick'], bm['password'], + minimize = gajim.config.get('minimize_autojoined_rooms')) def get_status_message(self, show): if show in gajim.config.get_per('defaultstatusmsg'): @@ -2878,6 +3287,14 @@ class RosterWindow: else: change(None, account, status) + def on_send_custom_status(self, widget, contact_list, show): + '''send custom status''' + dlg = dialogs.ChangeStatusMessageDialog(show) + message = dlg.run() + if message is not None: # None if user pressed Cancel + for (contact, account) in contact_list: + self.send_status(account, show, message, to = contact.jid) + def on_status_combobox_changed(self, widget): '''When we change our status via the combobox''' model = self.status_combobox.get_model() @@ -2957,7 +3374,7 @@ class RosterWindow: # status if not global_sync_connected_accounts > 0 or \ - gajim.account_is_connected(account): + gajim.connections[account].connected > 0: self.send_status(account, status, message) self.update_status_combobox() @@ -2983,6 +3400,26 @@ class RosterWindow: self._music_track_changed_signal = None self._music_track_changed(None, None) + def _change_awn_icon_status(self, status): + if not dbus_support.supported: + # do nothing if user doesn't have D-Bus bindings + return + iconset = gajim.config.get('iconset') + prefix = os.path.join(gajim.DATA_DIR, 'iconsets', iconset, '32x32') + if status in ('chat', 'away', 'xa', 'dnd', 'invisible', 'offline'): + status = status + '.png' + elif status == 'online': + prefix = os.path.join(gajim.DATA_DIR, 'pixmaps') + status = 'gajim.png' + path = os.path.join(prefix, status) + try: + bus = dbus.SessionBus() + obj = bus.get_object('com.google.code.Awn', '/com/google/code/Awn') + awn = dbus.Interface(obj, 'com.google.code.Awn') + awn.SetTaskIconByName('Gajim', os.path.abspath(path)) + except Exception, e: + pass + def _music_track_changed(self, unused_listener, music_track_info): from common import pep accounts = gajim.connections.keys() @@ -3026,6 +3463,7 @@ class RosterWindow: # in the combobox self.combobox_callback_active = False self.status_combobox.set_active(table[show]) + self._change_awn_icon_status(show) self.combobox_callback_active = True if gajim.interface.systray_enabled: gajim.interface.systray.change_status(show) @@ -3068,12 +3506,23 @@ class RosterWindow: self.actions_menu_needs_rebuild = True self.update_status_combobox() - def new_chat(self, contact, account, private_chat = False, resource = None): + def new_private_chat(self, gc_contact, account): + contact = gajim.contacts.contact_from_gc_contact(gc_contact) + type_ = message_control.TYPE_PM + fjid = gc_contact.room_jid + '/' + gc_contact.name + mw = gajim.interface.msg_win_mgr.get_window(fjid, account) + if not mw: + mw = gajim.interface.msg_win_mgr.create_window(contact, account, type_) + + chat_control = PrivateChatControl(mw, gc_contact, contact, account) + mw.new_tab(chat_control) + if len(gajim.events.get_events(account, fjid)): + # We call this here to avoid race conditions with widget validation + chat_control.read_queue() + + def new_chat(self, contact, account, resource = None): # Get target window, create a control, and associate it with the window - if not private_chat: - type_ = message_control.TYPE_CHAT - else: - type_ = message_control.TYPE_PM + type_ = message_control.TYPE_CHAT fjid = contact.jid if resource: @@ -3082,10 +3531,7 @@ class RosterWindow: if not mw: mw = gajim.interface.msg_win_mgr.create_window(contact, account, type_) - if not private_chat: - chat_control = ChatControl(mw, contact, account, resource) - else: - chat_control = PrivateChatControl(mw, contact, account) + chat_control = ChatControl(mw, contact, account, resource) mw.new_tab(chat_control) @@ -3311,7 +3757,8 @@ class RosterWindow: ''' self.close_all_from_dict(gajim.interface.instances[account]) for ctrl in gajim.interface.msg_win_mgr.get_controls(acct = account): - ctrl.parent_win.remove_tab(ctrl, force = force) + ctrl.parent_win.remove_tab(ctrl, ctrl.parent_win.CLOSE_CLOSE_BUTTON, + force = force) def on_roster_window_delete_event(self, widget, event): '''When we want to close the window''' @@ -3525,8 +3972,9 @@ class RosterWindow: win.window.present() - def on_roster_treeview_row_activated(self, widget, path, col = 0): - '''When an iter is double clicked: open the first event window''' + def on_row_activated(self, widget, path): + '''When an iter is activated (dubblick or single click if gnome is set + this way''' model = self.tree.get_model() account = model[path][C_ACCOUNT].decode('utf-8') type_ = model[path][C_TYPE] @@ -3538,6 +3986,9 @@ class RosterWindow: self.tree.collapse_row(path) else: self.tree.expand_row(path, False) + elif gajim.interface.minimized_controls.has_key(account) and \ + gajim.interface.minimized_controls[account].has_key(jid): + self.on_groupchat_maximized(None, jid, account) else: first_ev = gajim.events.get_first_event(account, jid) if not first_ev: @@ -3570,6 +4021,11 @@ class RosterWindow: resource = c.resource self.on_open_chat_window(widget, c, account, resource = resource) + def on_roster_treeview_row_activated(self, widget, path, col = 0): + '''When an iter is double clicked: open the first event window''' + if not gajim.single_click: + self.on_row_activated(widget, path) + def on_roster_treeview_row_expanded(self, widget, iter, path): '''When a row is expanded change the icon of the arrow''' model = self.tree.get_model() @@ -3685,7 +4141,7 @@ class RosterWindow: pixbuf2.composite(pixbuf1, 0, 0, pixbuf2.get_property('width'), pixbuf2.get_property('height'), 0, 0, 1.0, 1.0, - gtk.gdk.INTERP_HYPER, 255) + gtk.gdk.INTERP_NEAREST, 255) image.set_from_pixbuf(pixbuf1) break return imgs diff --git a/src/search_window.py b/src/search_window.py new file mode 100644 index 000000000..4c95eef8f --- /dev/null +++ b/src/search_window.py @@ -0,0 +1,195 @@ +# -*- coding: utf-8 -*- +## search_window.py +## +## Copyright (C) 2007 Yann Le Boulanger +## +## This program is free software; 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. + +import gobject +import gtk + +from common import xmpp, gajim, dataforms + +import gtkgui_helpers +import dialogs +import dataforms_widget + +class SearchWindow: + def __init__(self, account, jid): + '''Create new window.''' + + # an account object + self.account = account + self.jid = jid + + # retrieving widgets from xml + self.xml = gtkgui_helpers.get_glade('search_window.glade') + self.window = self.xml.get_widget('search_window') + for name in ('label', 'progressbar', 'search_vbox', 'search_button'): + self.__dict__[name] = self.xml.get_widget(name) + + self.data_form_widget = dataforms_widget.DataFormWidget() + self.table = None + + # displaying the window + self.xml.signal_autoconnect(self) + self.window.show_all() + self.request_form() + self.pulse_id = gobject.timeout_add(80, self.pulse_callback) + + self.is_form = None + + # for non-dataform forms + self.entries = {} + self.info = {} + + def request_form(self): + gajim.connections[self.account].request_search_fields(self.jid) + + def pulse_callback(self): + self.progressbar.pulse() + return True + + def on_search_window_key_press_event(self, widget, event): + if event.keyval == gtk.keysyms.Escape: + self.window.destroy() + + def on_search_window_destroy(self, widget): + if self.pulse_id: + gobject.source_remove(self.pulse_id) + del gajim.interface.instances[self.account]['search'][self.jid] + + def on_close_button_clicked(self, button): + self.window.destroy() + + def on_search_button_clicked(self, button): + if self.is_form: + self.data_form_widget.data_form.type = 'submit' + gajim.connections[self.account].send_search_form(self.jid, + self.data_form_widget.data_form, True) + self.search_vbox.remove(self.data_form_widget) + else: + for name in self.entries.keys(): + self.infos[name] = self.entries[name].get_text().decode('utf-8') + if self.infos.has_key('instructions'): + del self.infos['instructions'] + gajim.connections[self.account].send_search_form(self.jid, self.infos, + False) + self.search_vbox.remove(self.table) + + self.progressbar.show() + self.label.set_text(_('Waiting for results')) + self.label.show() + self.pulse_id = gobject.timeout_add(80, self.pulse_callback) + self.search_button.hide() + + def on_form_arrived(self, form, is_form): + if self.pulse_id: + gobject.source_remove(self.pulse_id) + self.progressbar.hide() + self.label.hide() + + if not is_form: + self.is_form = False + self.infos = form + nbrow = 0 + if self.infos.has_key('instructions'): + self.label.set_text(self.infos['instructions']) + self.label.show() + self.table = gtk.Table() + for name in self.infos.keys(): + if not name: + continue + if name == 'instructions': + continue + + nbrow = nbrow + 1 + self.table.resize(rows = nbrow, columns = 2) + label = gtk.Label(name.capitalize() + ':') + self.table.attach(label, 0, 1, nbrow - 1, nbrow, 0, 0, 0, 0) + entry = gtk.Entry() + entry.set_activates_default(True) + if self.infos[name]: + entry.set_text(self.infos[name]) + if name == 'password': + entry.set_visibility(False) + self.table.attach(entry, 1, 2, nbrow - 1, nbrow, 0, 0, 0, 0) + self.entries[name] = entry + self.table.show_all() + self.search_vbox.pack_start(self.table) + return + + self.dataform = dataforms.ExtendForm(node = form) + + self.data_form_widget.set_sensitive(True) + try: + self.data_form_widget.data_form = self.dataform + except dataforms.Error: + self.label.set_text(_('Error in received dataform')) + self.label.show() + return + self.is_form = True + + self.search_vbox.pack_start(self.data_form_widget) + self.data_form_widget.show() + if self.data_form_widget.title: + self.window.set_title('%s - Search - Gajim' % \ + self.data_form_widget.title) + + def on_result_arrived(self, form, is_form): + if self.pulse_id: + gobject.source_remove(self.pulse_id) + self.progressbar.hide() + self.label.hide() + + if not is_form: + if not form: + self.label.set_text(_('No result')) + self.label.show() + return + # We suppose all items have the same fields + sw = gtk.ScrolledWindow() + sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) + treeview = gtk.TreeView() + sw.add(treeview) + # Create model + fieldtypes = [str]*len(form[0]) + model = gtk.ListStore(*fieldtypes) + # Copy data to model + for item in form: + model.append(item.values()) + # Create columns + counter = 0 + for field in form[0].keys(): + treeview.append_column( + gtk.TreeViewColumn(field, gtk.CellRendererText(), + text = counter)) + counter += 1 + treeview.set_model(model) + sw.show_all() + self.search_vbox.pack_start(sw) + return + + self.dataform = dataforms.ExtendForm(node = form) + + self.data_form_widget.set_sensitive(True) + try: + self.data_form_widget.data_form = self.dataform + except dataforms.Error: + self.label.set_text(_('Error in received dataform')) + self.label.show() + return + + self.search_vbox.pack_start(self.data_form_widget) + self.data_form_widget.show() + if self.data_form_widget.title: + self.window.set_title('%s - Search - Gajim' % \ + self.data_form_widget.title) + diff --git a/src/tooltips.py b/src/tooltips.py index b5d992111..8e68ddfbb 100644 --- a/src/tooltips.py +++ b/src/tooltips.py @@ -322,15 +322,13 @@ class GCTooltip(BaseTooltip): # Add avatar puny_name = helpers.sanitize_filename(contact.name) puny_room = helpers.sanitize_filename(contact.room_jid) - for type_ in ('jpeg', 'png'): - file = os.path.join(gajim.AVATAR_PATH, puny_room, - puny_name + '.' + type_) - if os.path.exists(file): - self.avatar_image.set_from_file(file) - pix = self.avatar_image.get_pixbuf() - pix = gtkgui_helpers.get_scaled_pixbuf(pix, 'tooltip') - self.avatar_image.set_from_pixbuf(pix) - break + file = helpers.get_avatar_path(os.path.join(gajim.AVATAR_PATH, puny_room, + puny_name)) + if file: + self.avatar_image.set_from_file(file) + pix = self.avatar_image.get_pixbuf() + pix = gtkgui_helpers.get_scaled_pixbuf(pix, 'tooltip') + self.avatar_image.set_from_pixbuf(pix) else: self.avatar_image.set_from_pixbuf(None) while properties: @@ -375,7 +373,7 @@ class RosterTooltip(NotificationAreaTooltip): def populate(self, contacts): self.create_window() - + self.create_table() if not contacts or len(contacts) == 0: # Tooltip for merged accounts row @@ -393,16 +391,14 @@ class RosterTooltip(NotificationAreaTooltip): puny_jid = helpers.sanitize_filename(prim_contact.jid) table_size = 3 - - for type_ in ('jpeg', 'png'): - file = os.path.join(gajim.AVATAR_PATH, puny_jid + '.' + type_) - if os.path.exists(file): - self.avatar_image.set_from_file(file) - pix = self.avatar_image.get_pixbuf() - pix = gtkgui_helpers.get_scaled_pixbuf(pix, 'tooltip') - self.avatar_image.set_from_pixbuf(pix) - table_size = 4 - break + + file = helpers.get_avatar_path(os.path.join(gajim.AVATAR_PATH, puny_jid)) + if file: + self.avatar_image.set_from_file(file) + pix = self.avatar_image.get_pixbuf() + pix = gtkgui_helpers.get_scaled_pixbuf(pix, 'tooltip') + self.avatar_image.set_from_pixbuf(pix) + table_size = 4 else: self.avatar_image.set_from_pixbuf(None) vcard_table = gtk.Table(table_size, 1) @@ -414,8 +410,15 @@ class RosterTooltip(NotificationAreaTooltip): name_markup = u'' + \ gobject.markup_escape_text(prim_contact.get_shown_name())\ + '' + if self.account and prim_contact.jid in gajim.connections[ + self.account].blocked_contacts: + name_markup += _(' [blocked]') + if self.account and \ + gajim.interface.minimized_controls.has_key(self.account) and \ + prim_contact.jid in gajim.interface.minimized_controls[self.account]: + name_markup += _(' [minimized]') properties.append((name_markup, None)) - + num_resources = 0 # put contacts in dict, where key is priority contacts_dict = {} @@ -476,6 +479,12 @@ class RosterTooltip(NotificationAreaTooltip): locale.getpreferredencoding()) text = text % local_time show += text + if self.account and \ + gajim.gc_connected[self.account].has_key(prim_contact.jid): + if gajim.gc_connected[self.account][prim_contact.jid]: + show = _('Connected') + else: + show = _('Disconnected') show = '' + show + '' # we append show below @@ -519,8 +528,9 @@ class RosterTooltip(NotificationAreaTooltip): status = contact.status.strip() if status: # reduce long status - # (no more than 100 chars on line and no more than 5 lines) - status = helpers.reduce_chars_newlines(status, 100, 5) + # (no more than 300 chars on line and no more than 5 lines) + # status is wrapped + status = helpers.reduce_chars_newlines(status, 300, 5) # escape markup entities. status = gobject.markup_escape_text(status) properties.append(('%s' % status, None)) @@ -534,7 +544,8 @@ class RosterTooltip(NotificationAreaTooltip): gobject.markup_escape_text(contact.resource) +\ ' (' + unicode(contact.priority) + ')')) - if prim_contact.sub and prim_contact.sub != 'both': + if self.account and prim_contact.sub and prim_contact.sub != 'both' and\ + not gajim.gc_connected[self.account].has_key(prim_contact.jid): # ('both' is the normal sub so we don't show it) properties.append(( _('Subscription: '), gobject.markup_escape_text(helpers.get_uf_sub(prim_contact.sub)))) @@ -571,6 +582,7 @@ class RosterTooltip(NotificationAreaTooltip): else: if isinstance(property[0], (unicode, str)): #FIXME: rm unicode? label.set_markup(property[0]) + label.set_line_wrap(True) else: label = property[0] vcard_table.attach(label, 1, 3, vcard_current_row, diff --git a/src/vcard.py b/src/vcard.py index a479d382b..3c94dd4b6 100644 --- a/src/vcard.py +++ b/src/vcard.py @@ -21,8 +21,11 @@ import gobject import base64 import time import locale +import os import gtkgui_helpers +import dialogs +import message_control from common import helpers from common import gajim @@ -67,6 +70,27 @@ class VcardWindow: self.account = account self.gc_contact = gc_contact + self.xml.get_widget('no_user_avatar_label').set_no_show_all(True) + self.xml.get_widget('no_user_avatar_label').hide() + self.xml.get_widget('PHOTO_image').set_no_show_all(True) + self.xml.get_widget('PHOTO_image').hide() + image = gtk.Image() + self.photo_button = self.xml.get_widget('PHOTO_button') + self.photo_button.set_image(image) + self.nophoto_button = self.xml.get_widget('NOPHOTO_button') + puny_jid = helpers.sanitize_filename(contact.jid) + local_avatar_basepath = os.path.join(gajim.AVATAR_PATH, puny_jid) + \ + '_local' + for extension in ('.png', '.jpeg'): + local_avatar_path = local_avatar_basepath + extension + if os.path.isfile(local_avatar_path): + image.set_from_file(local_avatar_path) + self.nophoto_button.set_no_show_all(True) + self.nophoto_button.hide() + break + else: + self.photo_button.set_no_show_all(True) + self.photo_button.hide() self.avatar_mime_type = None self.avatar_encoded = None self.vcard_arrived = False @@ -88,6 +112,105 @@ class VcardWindow: self.progressbar.pulse() return True # loop forever + def update_avatar_in_gui(self): + jid = self.contact.jid + # Update roster + gajim.interface.roster.draw_avatar(jid, self.account) + # Update chat window + if gajim.interface.msg_win_mgr.has_window(jid, self.account): + win = gajim.interface.msg_win_mgr.get_window(jid, self.account) + ctrl = win.get_control(jid, self.account) + if win and ctrl.type_id != message_control.TYPE_GC: + ctrl.show_avatar() + + def on_NOPHOTO_button_clicked(self, button): + def on_ok(widget, path_to_file): + filesize = os.path.getsize(path_to_file) # in bytes + invalid_file = False + msg = '' + if os.path.isfile(path_to_file): + stat = os.stat(path_to_file) + if stat[6] == 0: + invalid_file = True + msg = _('File is empty') + else: + invalid_file = True + msg = _('File does not exist') + if invalid_file: + dialogs.ErrorDialog(_('Could not load image'), msg) + return + try: + pixbuf = gtk.gdk.pixbuf_new_from_file(path_to_file) + if filesize > 16384: # 16 kb + # get the image at 'notification size' + # and hope that user did not specify in ACE crazy size + pixbuf = gtkgui_helpers.get_scaled_pixbuf(pixbuf, 'tooltip') + except gobject.GError, msg: # unknown format + # msg should be string, not object instance + msg = str(msg) + dialogs.ErrorDialog(_('Could not load image'), msg) + return + puny_jid = helpers.sanitize_filename(self.contact.jid) + path_to_file = os.path.join(gajim.AVATAR_PATH, puny_jid) + '_local.png' + pixbuf.save(path_to_file, 'png') + self.dialog.destroy() + self.update_avatar_in_gui() + + # rescale it + pixbuf = gtkgui_helpers.get_scaled_pixbuf(pixbuf, 'vcard') + image = self.photo_button.get_image() + image.set_from_pixbuf(pixbuf) + self.photo_button.show() + self.nophoto_button.hide() + + def on_clear(widget): + self.dialog.destroy() + self.on_clear_button_clicked(widget) + + self.dialog = dialogs.AvatarChooserDialog(on_response_ok = on_ok, + on_response_clear = on_clear) + + def on_clear_button_clicked(self, widget): + # empty the image + image = self.photo_button.get_image() + image.set_from_pixbuf(None) + self.photo_button.hide() + self.nophoto_button.show() + # Delete file: + puny_jid = helpers.sanitize_filename(self.contact.jid) + path_to_file = os.path.join(gajim.AVATAR_PATH, puny_jid) + '_local.png' + try: + os.remove(path_to_file) + except OSError: + gajim.log.debug('Cannot remove %s' % path_to_file) + self.update_avatar_in_gui() + + def on_PHOTO_button_press_event(self, widget, event): + '''If right-clicked, show popup''' + if event.button == 3 and self.avatar_encoded: # right click + menu = gtk.Menu() + + # Try to get pixbuf +# pixbuf = gtkgui_helpers.get_avatar_pixbuf_from_cache(self.jid) + +# if pixbuf: +# nick = self.contact.get_shown_name() +# menuitem = gtk.ImageMenuItem(gtk.STOCK_SAVE_AS) +# menuitem.connect('activate', +# gtkgui_helpers.on_avatar_save_as_menuitem_activate, self.jid, +# None, nick + '.jpeg') +# menu.append(menuitem) + # show clear + menuitem = gtk.ImageMenuItem(gtk.STOCK_CLEAR) + menuitem.connect('activate', self.on_clear_button_clicked) + menu.append(menuitem) + menu.connect('selection-done', lambda w:w.destroy()) + # show the menu + menu.show_all() + menu.popup(None, None, None, event.button, event.time) + elif event.button == 1: # left click + self.on_NOPHOTO_button_clicked(widget) + def on_vcard_information_window_destroy(self, widget): if self.update_progressbar_timeout_id is not None: gobject.source_remove(self.update_progressbar_timeout_id) @@ -100,27 +223,10 @@ class VcardWindow: connection.annotations[self.contact.jid] = annotation connection.store_annotations() - def on_vcard_information_window_key_press_event(self, widget, event): if event.keyval == gtk.keysyms.Escape: self.window.destroy() - def on_log_history_checkbutton_toggled(self, widget): - #log conversation history? - oldlog = True - no_log_for = gajim.config.get_per('accounts', self.account, - 'no_log_for').split() - if self.contact.jid in no_log_for: - oldlog = False - log = widget.get_active() - if not log and not self.contact.jid in no_log_for: - no_log_for.append(self.contact.jid) - if log and self.contact.jid in no_log_for: - no_log_for.remove(self.contact.jid) - if oldlog != log: - gajim.config.set_per('accounts', self.account, 'no_log_for', - ' '.join(no_log_for)) - def on_PHOTO_eventbox_button_press_event(self, widget, event): '''If right-clicked, show popup''' if event.button == 3: # right click @@ -153,12 +259,15 @@ class VcardWindow: pass def set_values(self, vcard): + if not 'PHOTO' in vcard: + self.xml.get_widget('no_user_avatar_label').show() for i in vcard.keys(): if i == 'PHOTO' and self.xml.get_widget('information_notebook').\ get_n_pages() > 4: pixbuf, self.avatar_encoded, self.avatar_mime_type = \ get_avatar_pixbuf_encoded_mime(vcard[i]) image = self.xml.get_widget('PHOTO_image') + image.show() if not pixbuf: image.set_from_icon_name('stock_person', gtk.ICON_SIZE_DIALOG) @@ -298,14 +407,6 @@ class VcardWindow: tooltips.set_tip(eb, _("You are waiting contact's answer about your subscription request")) - log = True - if self.contact.jid in gajim.config.get_per('accounts', self.account, - 'no_log_for').split(' '): - log = False - checkbutton = self.xml.get_widget('log_history_checkbutton') - checkbutton.set_active(log) - checkbutton.connect('toggled', self.on_log_history_checkbutton_toggled) - resources = '%s (%s)' % (self.contact.resource, unicode( self.contact.priority)) uf_resources = self.contact.resource + _(' resource with priority ')\ @@ -352,8 +453,11 @@ class VcardWindow: self.fill_status_label() - gajim.connections[self.account].request_vcard(self.contact.jid, - self.gc_contact is not None) + if self.gc_contact: + gajim.connections[self.account].request_vcard(self.contact.jid, + self.gc_contact.get_full_jid()) + else: + gajim.connections[self.account].request_vcard(self.contact.jid) def on_close_button_clicked(self, widget): self.window.destroy() @@ -385,22 +489,6 @@ class ZeroconfVcardWindow: if event.keyval == gtk.keysyms.Escape: self.window.destroy() - def on_log_history_checkbutton_toggled(self, widget): - #log conversation history? - oldlog = True - no_log_for = gajim.config.get_per('accounts', self.account, - 'no_log_for').split() - if self.contact.jid in no_log_for: - oldlog = False - log = widget.get_active() - if not log and not self.contact.jid in no_log_for: - no_log_for.append(self.contact.jid) - if log and self.contact.jid in no_log_for: - no_log_for.remove(self.contact.jid) - if oldlog != log: - gajim.config.set_per('accounts', self.account, 'no_log_for', - ' '.join(no_log_for)) - def on_PHOTO_eventbox_button_press_event(self, widget, event): '''If right-clicked, show popup''' if event.button == 3: # right click @@ -469,14 +557,6 @@ class ZeroconfVcardWindow: '
    ') self.xml.get_widget('local_jid_label').set_text(self.contact.jid) - log = True - if self.contact.jid in gajim.config.get_per('accounts', self.account, - 'no_log_for').split(' '): - log = False - checkbutton = self.xml.get_widget('log_history_checkbutton') - checkbutton.set_active(log) - checkbutton.connect('toggled', self.on_log_history_checkbutton_toggled) - resources = '%s (%s)' % (self.contact.resource, unicode( self.contact.priority)) uf_resources = self.contact.resource + _(' resource with priority ')\