diff --git a/po/pt_BR.po b/po/pt_BR.po index 373c89645..63fb57d1b 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: pt_BR\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-08-19 20:36+0200\n" -"PO-Revision-Date: 2009-08-20 00:00+0200\n" +"POT-Creation-Date: 2009-09-24 09:09+0200\n" +"PO-Revision-Date: 2009-09-23 09:56-0300\n" "Last-Translator: Djavan Fagundes \n" "Language-Team: Português Brasileiro \n" "MIME-Version: 1.0\n" @@ -99,7 +99,7 @@ msgstr "Por favor, selecione um servidor" #: ../data/glade/account_creation_wizard_window.glade.h:7 msgid "@" -msgstr "" +msgstr "@" #: ../data/glade/account_creation_wizard_window.glade.h:8 msgid "" @@ -112,11 +112,11 @@ msgstr "" #: ../data/glade/account_creation_wizard_window.glade.h:11 #, fuzzy msgid "Anon_ymous authentication" -msgstr "Usar autenticação" +msgstr "Usar aut_enticação de proxy" #: ../data/glade/account_creation_wizard_window.glade.h:12 msgid "Connect when I press Finish" -msgstr "Conectar quando eu clicar em Fim" +msgstr "Conectar quando eu clicar em Concluir" #: ../data/glade/account_creation_wizard_window.glade.h:13 msgid "Gajim: Account Creation Wizard" @@ -219,6 +219,7 @@ msgstr "Informações pessoais" #: ../data/glade/account_modification_window.glade.h:4 #: ../data/glade/accounts_window.glade.h:6 +#: ../data/glade/join_groupchat_window.glade.h:1 msgid "Account" msgstr "Conta" @@ -286,8 +287,8 @@ msgstr "Editar detalhes pessoais..." #. No configured account #: ../data/glade/account_modification_window.glade.h:16 #: ../data/glade/accounts_window.glade.h:21 -#: ../data/glade/roster_window.glade.h:5 ../src/common/helpers.py:1212 -#: ../src/common/helpers.py:1224 ../src/notify.py:547 ../src/notify.py:568 +#: ../data/glade/roster_window.glade.h:5 ../src/common/helpers.py:1217 +#: ../src/common/helpers.py:1229 ../src/notify.py:547 ../src/notify.py:568 #: ../src/notify.py:607 ../src/notify.py:619 msgid "Gajim" msgstr "Gajim" @@ -298,8 +299,8 @@ msgstr "Gajim" #: ../data/glade/account_modification_window.glade.h:17 #: ../data/glade/accounts_window.glade.h:22 #: ../data/glade/preferences_window.glade.h:50 ../src/common/contacts.py:98 -#: ../src/dialogs.py:103 ../src/dialogs.py:111 ../src/roster_window.py:2719 -#: ../src/roster_window.py:5277 +#: ../src/dialogs.py:103 ../src/dialogs.py:111 ../src/roster_window.py:2686 +#: ../src/roster_window.py:5270 msgid "General" msgstr "Geral" @@ -324,7 +325,7 @@ msgid "" "which results in disconnection" msgstr "" "Se marcado, o Gajim enviará pacotes keep-alive para prevenir timeout na " -"conexão, fazendo-a cair" +"conexão, evitando-a cair" #: ../data/glade/account_modification_window.glade.h:22 msgid "" @@ -359,25 +360,21 @@ 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:27 -#: ../data/glade/accounts_window.glade.h:35 ../src/config.py:1547 -#: ../src/config.py:2092 +#: ../data/glade/accounts_window.glade.h:35 ../src/config.py:1578 +#: ../src/config.py:2122 msgid "No key selected" msgstr "Nenhuma chave selecionada" #. None means no proxy profile selected -#. boshuseproxy_checkbutton.set_active(False) -#. self.on_boshuseproxy_checkbutton_toggled(boshuseproxy_checkbutton) -#. useauth_checkbutton.set_active(False) -#. self.on_useauth_checkbutton_toggled(useauth_checkbutton) #: ../data/glade/account_modification_window.glade.h:29 #: ../data/glade/accounts_window.glade.h:37 -#: ../data/glade/change_mood_dialog.glade.h:3 ../src/config.py:1103 -#: ../src/config.py:1191 ../src/config.py:1452 ../src/config.py:1457 -#: ../src/config.py:1998 ../src/config.py:2078 ../src/config.py:2091 -#: ../src/config.py:3227 ../src/config.py:3300 ../src/dialogs.py:293 +#: ../data/glade/change_mood_dialog.glade.h:3 ../src/config.py:1104 +#: ../src/config.py:1207 ../src/config.py:1483 ../src/config.py:1488 +#: ../src/config.py:2029 ../src/config.py:2108 ../src/config.py:2121 +#: ../src/config.py:3257 ../src/config.py:3330 ../src/dialogs.py:293 #: ../src/dialogs.py:295 ../src/dialogs.py:498 ../src/dialogs.py:511 -#: ../src/roster_window.py:2789 ../src/roster_window.py:2795 -#: ../src/roster_window.py:2800 +#: ../src/roster_window.py:2756 ../src/roster_window.py:2762 +#: ../src/roster_window.py:2767 msgid "None" msgstr "Nenhum" @@ -483,9 +480,8 @@ msgid "Proxy" msgstr "Proxy" #: ../data/glade/accounts_window.glade.h:5 -#, fuzzy msgid "A_djust to status" -msgstr "_Ajustar para status" +msgstr "Aj_ustar para status" #: ../data/glade/accounts_window.glade.h:7 msgid "Accounts" @@ -494,7 +490,7 @@ msgstr "Contas" #: ../data/glade/accounts_window.glade.h:9 #, fuzzy msgid "Anonymous authentication" -msgstr "Usar autenticação" +msgstr "Usar aut_enticação de proxy" #: ../data/glade/accounts_window.glade.h:13 msgid "" @@ -505,9 +501,8 @@ msgstr "" "através de uma conexão não-segura." #: ../data/glade/accounts_window.glade.h:17 -#, fuzzy msgid "Co_nnect on Gajim startup" -msgstr "C_onectar na inicialização do Gajim" +msgstr "Co_nectar na inicialização do Gajim" #: ../data/glade/accounts_window.glade.h:19 #: ../data/glade/zeroconf_information_window.glade.h:2 @@ -534,7 +529,7 @@ msgstr "" "Considere a possível modificação das regras do seu firewall." #: ../data/glade/accounts_window.glade.h:32 -#: ../data/glade/zeroconf_information_window.glade.h:4 ../src/config.py:1571 +#: ../data/glade/zeroconf_information_window.glade.h:4 ../src/config.py:1602 #: ../src/dialogs.py:784 msgid "Jabber ID:" msgstr "Jabber ID:" @@ -549,57 +544,47 @@ msgid "Mer_ge accounts" msgstr "Mes_clar contas" #. Rename -#: ../data/glade/accounts_window.glade.h:42 ../src/roster_window.py:5228 +#: ../data/glade/accounts_window.glade.h:42 ../src/roster_window.py:5221 msgid "Re_name" msgstr "Re_nomear" #: ../data/glade/accounts_window.glade.h:47 -#, fuzzy msgid "Send _keep-alive packets" msgstr "Enviar pacotes para manter a conexão (keep-alive)" #: ../data/glade/accounts_window.glade.h:49 -#, fuzzy msgid "Synchroni_ze account status with global status" -msgstr "_Sincronizar status da conta com status global" +msgstr "Sincroni_zar status da conta com status global" #: ../data/glade/accounts_window.glade.h:51 -#, fuzzy msgid "Use G_PG Agent" -msgstr "Usar o _Agente GPG" +msgstr "Usar o Agente G_PG" #: ../data/glade/accounts_window.glade.h:52 -#, fuzzy msgid "Use cust_om hostname/port" -msgstr "Usa nome de máquina/porta customizados" +msgstr "Usa nome de máquina/porta personalizad_os" #: ../data/glade/accounts_window.glade.h:53 -#, fuzzy msgid "Use cust_om port:" -msgstr "Usar servidor/porta personalizado" +msgstr "Usar porta pers_onalizada:" #: ../data/glade/accounts_window.glade.h:55 -#, fuzzy msgid "_Edit Personal Information..." -msgstr "Editar detalhes pessoais..." +msgstr "_Editar detalhes pessoais..." #: ../data/glade/accounts_window.glade.h:56 -#, fuzzy msgid "_Enable" -msgstr "Habilitar" +msgstr "Ha_bilitar" #: ../data/glade/accounts_window.glade.h:57 -#, fuzzy msgid "_Hostname: " msgstr "_Nome do computador:" #: ../data/glade/accounts_window.glade.h:59 -#, fuzzy msgid "_Manage..." -msgstr "Gerenciar..." +msgstr "Gere_nciar..." #: ../data/glade/accounts_window.glade.h:61 -#, fuzzy msgid "_Port: " msgstr "_Porta:" @@ -608,9 +593,8 @@ msgid "_Warn before using an insecure connection" msgstr "A_visar antes de usar uma conexão não-segura" #: ../data/glade/accounts_window.glade.h:63 -#, fuzzy msgid "_use HTTP__PROXY environment variable" -msgstr "Usar variável de ambiente HTTP_PROXY" +msgstr "_usar variável de ambiente HTTP__PROXY" #: ../data/glade/accounts_window.glade.h:64 msgid "gtk-add" @@ -649,7 +633,7 @@ msgid "" "protocol. Click on register button to\n" "proceed." msgstr "" -"Você deve estar registrado a este \n" +"Você deve estar registrado para este \n" "transporte para poder adicionar \n" "contatos deste protocolo. Clique no \n" "botão Registrar para aceitar." @@ -812,7 +796,7 @@ msgid "All statuses" msgstr "Totos os status" #: ../data/glade/advanced_notifications_window.glade.h:8 -#: ../src/common/commands.py:101 ../src/common/helpers.py:214 +#: ../src/common/commands.py:101 ../src/common/helpers.py:219 msgid "Away" msgstr "Afastado" @@ -829,7 +813,7 @@ msgid "Have " msgstr "Possui " #: ../data/glade/advanced_notifications_window.glade.h:12 -#: ../src/common/helpers.py:224 +#: ../src/common/helpers.py:229 msgid "Invisible" msgstr "Invisível" @@ -838,7 +822,7 @@ msgid "Launch a command" msgstr "Executar um comando" #: ../data/glade/advanced_notifications_window.glade.h:14 -#: ../src/common/helpers.py:197 +#: ../src/common/helpers.py:202 msgid "Not Available" msgstr "Não disponível" @@ -1056,7 +1040,6 @@ msgstr "Convidar _contatos" #: ../data/glade/chat_control_popup_menu.glade.h:2 #: ../data/glade/gc_occupants_menu.glade.h:3 -#: ../data/glade/zeroconf_contact_context_menu.glade.h:4 msgid "Send _File" msgstr "Enviar _arquivo" @@ -1077,9 +1060,7 @@ msgstr "_Adicionar à lista" #: ../data/glade/gc_control_popup_menu.glade.h:6 #: ../data/glade/gc_occupants_menu.glade.h:8 #: ../data/glade/roster_contact_context_menu.glade.h:17 -#: ../data/glade/roster_window.glade.h:21 -#: ../data/glade/zeroconf_contact_context_menu.glade.h:6 -#: ../src/roster_window.py:5924 +#: ../data/glade/roster_window.glade.h:21 ../src/roster_window.py:5928 msgid "_History" msgstr "_Histórico" @@ -1212,7 +1193,7 @@ msgstr "lista de transferência de arquivos" #: ../data/glade/gajim_themes_window.glade.h:1 msgid "Chatstate Tab Colors" -msgstr "Aba cores do bate-papo" +msgstr "Aba de cores do bate-papo" #: ../data/glade/gajim_themes_window.glade.h:2 msgid "" @@ -1226,13 +1207,13 @@ msgstr "" "Linha contato\n" "Banner de conversa" -#: ../data/glade/gajim_themes_window.glade.h:6 ../src/chat_control.py:770 +#: ../data/glade/gajim_themes_window.glade.h:6 ../src/chat_control.py:810 msgid "Bold" msgstr "Negrito" #: ../data/glade/gajim_themes_window.glade.h:7 msgid "Composing" -msgstr "Compôr" +msgstr "Escrevendo" #: ../data/glade/gajim_themes_window.glade.h:8 msgid "Font style:" @@ -1244,13 +1225,13 @@ msgstr "Customização de temas do Gajim" #: ../data/glade/gajim_themes_window.glade.h:10 msgid "Gone" -msgstr "Ido" +msgstr "Enviado" #: ../data/glade/gajim_themes_window.glade.h:11 ../src/common/pep.py:153 msgid "Inactive" msgstr "Inativo" -#: ../data/glade/gajim_themes_window.glade.h:12 ../src/chat_control.py:771 +#: ../data/glade/gajim_themes_window.glade.h:12 ../src/chat_control.py:811 msgid "Italic" msgstr "Itálico" @@ -1260,7 +1241,7 @@ msgid "" "Messages" msgstr "" "MUC\n" -"Mensagens" +"mensagens" #: ../data/glade/gajim_themes_window.glade.h:15 msgid "" @@ -1268,11 +1249,11 @@ msgid "" "Messages" msgstr "" "MUC Direto\n" -"Mensagens" +"mensagens" #: ../data/glade/gajim_themes_window.glade.h:17 msgid "Paused" -msgstr "Pausa" +msgstr "Pausado" #: ../data/glade/gajim_themes_window.glade.h:18 msgid "Text _color:" @@ -1332,8 +1313,8 @@ msgstr "_Banir" #: ../data/glade/gc_occupants_menu.glade.h:7 #: ../data/glade/roster_contact_context_menu.glade.h:15 -#: ../src/roster_window.py:5256 ../src/roster_window.py:5733 -#: ../src/roster_window.py:5862 +#: ../src/roster_window.py:5249 ../src/roster_window.py:5730 +#: ../src/roster_window.py:5859 msgid "_Block" msgstr "_Bloquear" @@ -1355,8 +1336,8 @@ msgstr "_Enviar mensagem privada" #: ../data/glade/gc_occupants_menu.glade.h:13 #: ../data/glade/roster_contact_context_menu.glade.h:22 -#: ../src/roster_window.py:5250 ../src/roster_window.py:5727 -#: ../src/roster_window.py:5859 +#: ../src/roster_window.py:5243 ../src/roster_window.py:5724 +#: ../src/roster_window.py:5856 msgid "_Unblock" msgstr "_Desbloquear" @@ -1368,7 +1349,7 @@ msgstr "_Voz" msgid "Create new post" msgstr "Criar nova postagem" -#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:239 +#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:244 msgid "From" msgstr "De" @@ -1393,8 +1374,8 @@ msgstr "" msgid "Welcome to Gajim History Logs Manager" msgstr "Gerenciador de histórico de conversas do Gajim" -#: ../data/glade/history_manager.glade.h:4 ../src/dialogs.py:2808 -#: ../src/dialogs.py:2908 +#: ../data/glade/history_manager.glade.h:4 ../src/dialogs.py:2846 +#: ../src/dialogs.py:2946 msgid "Delete" msgstr "Deletar" @@ -1447,34 +1428,34 @@ msgstr "Pesquisar:" msgid "_Log conversation history" msgstr "_Histórico de conversação" -#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1932 +#: ../data/glade/join_groupchat_window.glade.h:2 ../src/dialogs.py:1950 msgid "Join Group Chat" msgstr "Ingressar numa conferência" -#: ../data/glade/join_groupchat_window.glade.h:2 +#: ../data/glade/join_groupchat_window.glade.h:3 msgid "Join this room automatically when I connect" msgstr "Entrar nesta sala automaticamente quando eu conectar" -#: ../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 "Nickname:" msgstr "Apelido:" -#: ../data/glade/join_groupchat_window.glade.h:4 +#: ../data/glade/join_groupchat_window.glade.h:5 #: ../data/glade/manage_bookmarks_window.glade.h:6 msgid "Password:" msgstr "Senha:" -#: ../data/glade/join_groupchat_window.glade.h:5 +#: ../data/glade/join_groupchat_window.glade.h:6 msgid "Recently:" msgstr "Recentemente:" -#: ../data/glade/join_groupchat_window.glade.h:6 +#: ../data/glade/join_groupchat_window.glade.h:7 #: ../data/glade/manage_bookmarks_window.glade.h:8 msgid "Room:" msgstr "Sala:" -#: ../data/glade/join_groupchat_window.glade.h:7 ../src/disco.py:1201 +#: ../data/glade/join_groupchat_window.glade.h:8 ../src/disco.py:1201 #: ../src/disco.py:1628 msgid "_Join" msgstr "_Ingressar" @@ -1504,7 +1485,7 @@ msgstr "Minimizar ao entrar automaticamente" msgid "Print status:" msgstr "Imprimir status:" -#: ../data/glade/manage_bookmarks_window.glade.h:9 ../src/config.py:1561 +#: ../data/glade/manage_bookmarks_window.glade.h:9 ../src/config.py:1592 msgid "Server:" msgstr "Servidor:" @@ -1533,14 +1514,14 @@ msgid "Settings" msgstr "Configurações" #: ../data/glade/manage_proxies_window.glade.h:3 -#, fuzzy msgid "" "HTTP Connect\n" "SOCKS5\n" "BOSH" msgstr "" "Conexão HTTP\n" -"SOCKS5" +"SOCKS5\n" +"BOSH" #: ../data/glade/manage_proxies_window.glade.h:6 msgid "Manage Proxy Profiles" @@ -1551,34 +1532,28 @@ msgid "Pass_word:" msgstr "_Senha:" #: ../data/glade/manage_proxies_window.glade.h:8 -#, fuzzy msgid "Proxy _Host:" -msgstr "Proxy:" +msgstr "Máqu_ina Proxy:" #: ../data/glade/manage_proxies_window.glade.h:9 -#, fuzzy msgid "Proxy _Port:" -msgstr "_Porta:" +msgstr "_Porta do máquina:" #: ../data/glade/manage_proxies_window.glade.h:10 -#, fuzzy msgid "Use HTTP prox_y" -msgstr "_Usar proxy" +msgstr "Usar prox_y HTTP" #: ../data/glade/manage_proxies_window.glade.h:11 -#, fuzzy msgid "Use proxy auth_entication" -msgstr "Usar autenticação" +msgstr "Usar aut_enticação de proxy" #: ../data/glade/manage_proxies_window.glade.h:12 -#, fuzzy msgid "_BOSH URL:" -msgstr "_URL:" +msgstr "URL _BOSH:" #: ../data/glade/manage_proxies_window.glade.h:14 -#, fuzzy msgid "_Type:" -msgstr "Tipo:" +msgstr "_Tipo:" #: ../data/glade/manage_proxies_window.glade.h:15 msgid "_Username:" @@ -1617,9 +1592,8 @@ msgid "Show a list of emoticons (Alt+M)" msgstr "Exibe uma lista de emoticons (Alt+M)" #: ../data/glade/message_window.glade.h:9 -#, fuzzy msgid "Show a list of formattings" -msgstr "Exibe uma lista de emoticons (Alt+M)" +msgstr "Exibe uma lista de formatações" #: ../data/glade/message_window.glade.h:10 msgid "Show a menu of advanced functions (Alt+A)" @@ -1730,7 +1704,7 @@ msgstr "" #: ../data/glade/preferences_window.glade.h:26 msgid "Allow sound when I'm _busy" -msgstr "" +msgstr "Permitir som quando eu estiver _ocupado" #: ../data/glade/preferences_window.glade.h:27 msgid "Ask status message when I:" @@ -1979,6 +1953,9 @@ msgid "" "Only when pending events\n" "Always" msgstr "" +"Nunca\n" +"Somente quando houver eventos pendentes\n" +"Sempre" #: ../data/glade/preferences_window.glade.h:74 msgid "Notifications" @@ -2019,9 +1996,8 @@ msgid "Preferences" msgstr "Preferências" #: ../data/glade/preferences_window.glade.h:84 -#, fuzzy msgid "Show systray:" -msgstr "_Mostrar evento na bandeja do sistema" +msgstr "Mostrar na bandeja do sistema:" #: ../data/glade/preferences_window.glade.h:85 msgid "Sign _in" @@ -2060,7 +2036,6 @@ msgid "T_heme:" msgstr "_Tema:" #: ../data/glade/preferences_window.glade.h:93 -#, fuzzy msgid "" "The auto away status message. If empty, Gajim will not change the current " "status message\n" @@ -2068,10 +2043,11 @@ msgid "" "$T will be replaced by auto-away timeout" msgstr "" "A mensagem de status de ausência automática. Se vazia, o Gajim não irá " -"alterar a mensagem de status atual" +"alterar a mensagem de status atual\n" +"$S será substituída pela mensagem de status anterior\n" +"$T será substituída pela mensagem automática de ausência" #: ../data/glade/preferences_window.glade.h:96 -#, fuzzy msgid "" "The auto not available status message. If empty, Gajim will not change the " "current status message\n" @@ -2079,7 +2055,9 @@ msgid "" "$T will be replaced by auto-not-available timeout" msgstr "" "A mensagem de status de não disponibilidade automática. Se vazia, o Gajim " -"não irá alterar a mensagem de status atual" +"não irá alterar a mensagem de status atual\n" +"$S irá ser substituída pela mensagem de status anterior\n" +"$T irá ser substituída pela mensagem de ausência automática" #: ../data/glade/preferences_window.glade.h:99 msgid "Use _transports icons" @@ -2225,7 +2203,7 @@ msgstr "Jabber ID" msgid "Order:" msgstr "Ordem:" -#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:3035 +#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:3073 msgid "Privacy List" msgstr "Lista de privacidade" @@ -2429,8 +2407,8 @@ msgstr "Remover conta do Gajim e do _servidor" #. Remove group #. Remove -#: ../data/glade/remove_account_window.glade.h:4 ../src/roster_window.py:5265 -#: ../src/roster_window.py:5743 ../src/roster_window.py:5872 +#: ../data/glade/remove_account_window.glade.h:4 ../src/roster_window.py:5258 +#: ../src/roster_window.py:5740 ../src/roster_window.py:5869 msgid "_Remove" msgstr "_Remover" @@ -2452,14 +2430,15 @@ msgstr "Editar _grupos..." #. Execute Command #: ../data/glade/roster_contact_context_menu.glade.h:5 -#: ../src/roster_window.py:5815 +#: ../data/glade/zeroconf_contact_context_menu.glade.h:1 +#: ../src/roster_window.py:5812 msgid "Execute Command..." msgstr "Executar comando..." #. Invite to #. Invite to Groupchat #: ../data/glade/roster_contact_context_menu.glade.h:6 -#: ../src/roster_window.py:5183 ../src/roster_window.py:5696 +#: ../src/roster_window.py:5176 ../src/roster_window.py:5693 msgid "In_vite to" msgstr "Con_vidar para" @@ -2469,7 +2448,7 @@ msgstr "Remo_ver" #. Send Custom Status #: ../data/glade/roster_contact_context_menu.glade.h:8 -#: ../src/roster_window.py:5193 ../src/roster_window.py:5781 +#: ../src/roster_window.py:5186 ../src/roster_window.py:5778 msgid "Send Cus_tom Status" msgstr "Enviar status perso_nalizado" @@ -2486,7 +2465,6 @@ msgid "Set Custom _Avatar..." msgstr "Definir _avatar personalizado..." #: ../data/glade/roster_contact_context_menu.glade.h:12 -#: ../data/glade/zeroconf_contact_context_menu.glade.h:5 msgid "Start _Chat" msgstr "Iniciar _conversa" @@ -2503,7 +2481,6 @@ msgid "_Ignore" msgstr "_Ignorar" #: ../data/glade/roster_contact_context_menu.glade.h:19 -#: ../data/glade/zeroconf_contact_context_menu.glade.h:7 msgid "_Manage Contact" msgstr "_Gerenciar contato" @@ -2568,9 +2545,8 @@ msgid "Profile, A_vatar" msgstr "Perfil, A_vatar" #: ../data/glade/roster_window.glade.h:9 -#, fuzzy msgid "Show Only _Active Contacts" -msgstr "Mostrar contatos desc_onectados" +msgstr "Exibir somente _ativos" #: ../data/glade/roster_window.glade.h:10 msgid "Show Trans_ports" @@ -2578,12 +2554,12 @@ msgstr "Mostrar trans_portes" #: ../data/glade/roster_window.glade.h:11 msgid "Show _Offline Contacts" -msgstr "Mostrar contatos desc_onectados" +msgstr "Exibir desc_onectados" #: ../data/glade/roster_window.glade.h:12 #: ../data/glade/systray_context_menu.glade.h:4 msgid "Show _Roster" -msgstr "Mostre _lista" +msgstr "Mostrar _lista" #: ../data/glade/roster_window.glade.h:13 msgid "_Accounts" @@ -2641,7 +2617,7 @@ msgid "_Add contact" msgstr "_Adicionar contato" #. Information -#: ../data/glade/search_window.glade.h:4 ../src/roster_window.py:5884 +#: ../data/glade/search_window.glade.h:4 ../src/roster_window.py:5881 msgid "_Information" msgstr "_Informações" @@ -2776,9 +2752,8 @@ msgid "Client:" msgstr "Cliente:" #: ../data/glade/vcard_information_window.glade.h:8 -#, fuzzy msgid "Contact time:" -msgstr "Estado:" +msgstr "Tempo do contato:" #: ../data/glade/vcard_information_window.glade.h:19 msgid "Jabber ID:" @@ -2857,26 +2832,6 @@ msgstr "_Mensagem" msgid "_Presence" msgstr "_Presença" -#: ../data/glade/zeroconf_contact_context_menu.glade.h:1 -msgid "Add Special _Notification" -msgstr "Adicionar _notificações especiais" - -#: ../data/glade/zeroconf_contact_context_menu.glade.h:2 -msgid "Assign Open_PGP Key" -msgstr "Atribuir chave Open_PGP" - -#. Edit Groups -#: ../data/glade/zeroconf_contact_context_menu.glade.h:3 -#: ../src/roster_window.py:5716 -msgid "Edit _Groups" -msgstr "Editar _grupos" - -#. Rename -#: ../data/glade/zeroconf_contact_context_menu.glade.h:8 -#: ../src/roster_window.py:5842 -msgid "_Rename" -msgstr "_Renomear" - #: ../data/glade/zeroconf_context_menu.glade.h:1 msgid "_Modify Account..." msgstr "_Alterar conta..." @@ -2940,7 +2895,7 @@ msgstr "Inteiro" msgid "Text" msgstr "Texto" -#: ../src/advanced.py:102 ../src/chat_control.py:790 +#: ../src/advanced.py:102 ../src/chat_control.py:830 msgid "Color" msgstr "Cor" @@ -2975,188 +2930,183 @@ msgstr "Você recebeu uma nova entrada:" #. #!/bin/sh #. LANG=$(for i in *.po; do j=${i/.po/}; echo -n "_('"$j"')":" '"$j"', " ; done) #. echo "{_('en'):'en'",$LANG"}" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "English" msgstr "Inglês" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Belarusian" msgstr "Bielorusso" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Bulgarian" msgstr "Búlgaro" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Breton" msgstr "Bretão" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Czech" msgstr "Tcheco" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "German" msgstr "Alemão" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Greek" msgstr "Grego" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "British" msgstr "Inglês britânico" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Esperanto" msgstr "Esperanto" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Spanish" msgstr "Espanhol" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Basque" msgstr "Basco" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "French" msgstr "Francês" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Croatian" msgstr "Croata" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Italian" msgstr "Italiano" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Norwegian (b)" msgstr "Norueguês (b)" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Dutch" msgstr "Holandês" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Norwegian" msgstr "Norueguês" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Polish" msgstr "Polonês" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Portuguese" msgstr "Português" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Brazilian Portuguese" msgstr "Português Brasileiro" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Russian" msgstr "Russo" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Serbian" msgstr "Sérvio" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Slovak" msgstr "Eslovaco" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Swedish" msgstr "Sueco" -#: ../src/chat_control.py:65 +#: ../src/chat_control.py:67 msgid "Chinese (Ch)" msgstr "Chinês (Ch)" -#: ../src/chat_control.py:361 +#: ../src/chat_control.py:419 msgid "Spelling language" msgstr "Idioma do corretor ortográfico" #. we are not connected -#: ../src/chat_control.py:389 ../src/chat_control.py:577 +#: ../src/chat_control.py:447 ../src/chat_control.py:635 msgid "A connection is not available" msgstr "Uma conexão não está disponível" -#: ../src/chat_control.py:390 ../src/chat_control.py:578 +#: ../src/chat_control.py:448 ../src/chat_control.py:636 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:772 -#, fuzzy +#: ../src/chat_control.py:812 msgid "Underline" -msgstr "Indefinido" +msgstr "Sublinhado" -#: ../src/chat_control.py:773 -#, fuzzy +#: ../src/chat_control.py:813 msgid "Strike" -msgstr "Doente" +msgstr "Tachado" -#: ../src/chat_control.py:796 -#, fuzzy +#: ../src/chat_control.py:836 msgid "Font" -msgstr "_Fonte:" +msgstr "Fonte" -#: ../src/chat_control.py:805 -#, fuzzy +#: ../src/chat_control.py:845 msgid "Clear formating" -msgstr "Informações do contato" +msgstr "Limpar formatação" -#: ../src/chat_control.py:877 +#: ../src/chat_control.py:917 msgid "Really send file?" msgstr "Realmente enviar o arquivo?" -#: ../src/chat_control.py:878 +#: ../src/chat_control.py:918 #, python-format msgid "If you send a file to %s, he/she will know your real Jabber ID." msgstr "Se você enviar um arquivo para %s, ele(a) saberá o seu Jabber ID real." -#: ../src/chat_control.py:1268 ../src/chat_control.py:1656 +#: ../src/chat_control.py:1309 ../src/chat_control.py:1710 msgid "GPG encryption enabled" msgstr "Criptografia GPG habilitada" #. Add to roster #. add_to_roster_menuitem -#: ../src/chat_control.py:1297 ../src/chat_control.py:2156 +#: ../src/chat_control.py:1338 ../src/chat_control.py:2140 #: ../src/common/contacts.py:113 ../src/common/helpers.py:55 -#: ../src/common/helpers.py:226 ../src/conversation_textview.py:882 -#: ../src/dialogs.py:1009 ../src/dialogs.py:1858 ../src/dialogs.py:1883 -#: ../src/gajim.py:981 ../src/gajim.py:1719 ../src/roster_window.py:933 -#: ../src/roster_window.py:1565 ../src/roster_window.py:1567 -#: ../src/roster_window.py:1918 ../src/roster_window.py:3156 -#: ../src/roster_window.py:3182 ../src/roster_window.py:5377 -#: ../src/roster_window.py:5562 +#: ../src/common/helpers.py:231 ../src/conversation_textview.py:881 +#: ../src/dialogs.py:1009 ../src/dialogs.py:1860 ../src/dialogs.py:1885 +#: ../src/gajim.py:992 ../src/gajim.py:1743 ../src/roster_window.py:937 +#: ../src/roster_window.py:1569 ../src/roster_window.py:1571 +#: ../src/roster_window.py:1867 ../src/roster_window.py:3136 +#: ../src/roster_window.py:3162 ../src/roster_window.py:5374 +#: ../src/roster_window.py:5559 msgid "Not in Roster" msgstr "Fora da lista" -#: ../src/chat_control.py:1310 -#, fuzzy +#: ../src/chat_control.py:1351 msgid "This contact does not support file transfer." -msgstr "Uma lista de transferências de arquivo ativas, completadas e paradas" +msgstr "Este contato não suporta transferência de arquivo." -#: ../src/chat_control.py:1313 +#: ../src/chat_control.py:1354 msgid "You need to know the real JID of the contact to send him or her a file." -msgstr "" +msgstr "Você precisa saber o JID real do usuário para lhe enviar um arquivo." -#: ../src/chat_control.py:1420 ../src/tooltips.py:626 +#: ../src/chat_control.py:1461 ../src/tooltips.py:626 msgid "Unknown Artist" msgstr "Artista desconhecido" -#: ../src/chat_control.py:1422 ../src/tooltips.py:631 +#: ../src/chat_control.py:1463 ../src/tooltips.py:631 msgid "Unknown Title" msgstr "Título desconhecido" -#: ../src/chat_control.py:1424 ../src/tooltips.py:636 +#: ../src/chat_control.py:1465 ../src/tooltips.py:636 msgid "Unknown Source" msgstr "Fonte desconhecida" -#: ../src/chat_control.py:1427 ../src/tooltips.py:638 +#: ../src/chat_control.py:1468 ../src/tooltips.py:638 #, python-format msgid "" "\"%(title)s\" by %(artist)s\n" @@ -3165,17 +3115,17 @@ msgstr "" "\"%(title)s\" por %(artist)s\n" "de %(source)s" -#: ../src/chat_control.py:1551 +#: ../src/chat_control.py:1605 #, python-format msgid "%(nickname)s from group chat %(room_name)s" msgstr "%(nickname)s da conferência %(room_name)s" #. No key assigned nor a key is used by remote contact -#: ../src/chat_control.py:1636 ../src/dialogs.py:4380 +#: ../src/chat_control.py:1690 ../src/dialogs.py:4418 msgid "No GPG key assigned" msgstr "Nenhuma chave GPG atribuída" -#: ../src/chat_control.py:1637 +#: ../src/chat_control.py:1691 msgid "" "No GPG key is assigned to this contact. So you cannot encrypt messages with " "GPG." @@ -3183,50 +3133,50 @@ msgstr "" "Nenhuma chave GPG está atribuída para este contato. Você não poderá " "criptografar mensagem com GPG." -#: ../src/chat_control.py:1646 +#: ../src/chat_control.py:1700 msgid "GPG encryption disabled" msgstr "Criptografia GPG desabilitada" -#: ../src/chat_control.py:1672 +#: ../src/chat_control.py:1726 msgid "Session WILL be logged" msgstr "A sessão SERÁ gravada" -#: ../src/chat_control.py:1674 +#: ../src/chat_control.py:1728 msgid "Session WILL NOT be logged" msgstr "A sessão NÃO SERÁ gravada" #. encryption %s active -#: ../src/chat_control.py:1688 +#: ../src/chat_control.py:1742 msgid "is" msgstr "está" -#: ../src/chat_control.py:1688 +#: ../src/chat_control.py:1742 msgid "is NOT" msgstr "NÃO está" #. chat session %s be logged -#: ../src/chat_control.py:1690 +#: ../src/chat_control.py:1744 msgid "will" msgstr "será" -#: ../src/chat_control.py:1690 +#: ../src/chat_control.py:1744 msgid "will NOT" msgstr "NÃO será" #. About encrypted chat session -#: ../src/chat_control.py:1694 +#: ../src/chat_control.py:1748 msgid "and authenticated" msgstr "e autenticada" #. About encrypted chat session -#: ../src/chat_control.py:1698 +#: ../src/chat_control.py:1752 msgid "and NOT authenticated" msgstr "e NÃO autenticada" #. status will become 'is' or 'is not', authentificaed will become #. 'and authentificated' or 'and not authentificated', logged will become #. 'will' or 'will not' -#: ../src/chat_control.py:1704 +#: ../src/chat_control.py:1758 #, python-format msgid "" "%(type)s encryption %(status)s active %(authenticated)s.\n" @@ -3235,66 +3185,23 @@ msgstr "" "Criptografia%(type)s %(status)s ativa %(authenticated)s.\n" "Sua conversa %(logged)s está sendo gravada." -#: ../src/chat_control.py:1752 -msgid "Command not supported for zeroconf account." -msgstr "Comando sem suporte para conta zeroconf." - -#: ../src/chat_control.py:1763 ../src/groupchat_control.py:1725 -#, python-format -msgid "Commands: %s" -msgstr "Comandos: %s" - -#: ../src/chat_control.py:1766 ../src/groupchat_control.py:1738 -#, python-format -msgid "Usage: /%s, clears the text window." -msgstr "Uso: /%s, apaga o texto da janela." - -#: ../src/chat_control.py:1769 ../src/groupchat_control.py:1743 -#, python-format -msgid "Usage: /%s, hide the chat buttons." -msgstr "Uso: /%s, esconde os botões do bate-papo." - -#: ../src/chat_control.py:1772 ../src/groupchat_control.py:1758 -#, python-format -msgid "" -"Usage: /%(command)s , sends action to the current group chat. Use " -"third person. (e.g. /%(command)s explodes.)" -msgstr "" -"Uso: /%(command)s , emite a ação à sala atual. Use a terceira " -"pessoa. (e.g. /%(command)s explodes.)" - -#: ../src/chat_control.py:1777 -#, python-format -msgid "Usage: /%s, sends a ping to the contact" -msgstr "Uso: /%s, envia um ping para o contato" - -#: ../src/chat_control.py:1780 -#, python-format -msgid "Usage: /%s, send the message to the contact" -msgstr "Uso: /%s, envia a mensagem para o contato" - -#: ../src/chat_control.py:1783 ../src/groupchat_control.py:1787 -#, python-format -msgid "No help info for /%s" -msgstr "Sem ajuda para /%s" - -#: ../src/chat_control.py:1914 +#: ../src/chat_control.py:1898 msgid "Session negotiation cancelled" msgstr "Negociação da sessão cancelada" -#: ../src/chat_control.py:1921 +#: ../src/chat_control.py:1905 msgid "This session is encrypted" msgstr "Esta sessão está criptografada" -#: ../src/chat_control.py:1924 +#: ../src/chat_control.py:1908 msgid " and WILL be logged" msgstr " e SERÁ gravada" -#: ../src/chat_control.py:1926 +#: ../src/chat_control.py:1910 msgid " and WILL NOT be logged" msgstr " e NÃO SERÁ gravada" -#: ../src/chat_control.py:1931 +#: ../src/chat_control.py:1915 msgid "" "Remote contact's identity not verified. Click the shield button for more " "details." @@ -3302,25 +3209,25 @@ msgstr "" "Identidade do contato remoto não verificada. Clique no botão de proteção " "para mais detalhes." -#: ../src/chat_control.py:1933 +#: ../src/chat_control.py:1917 msgid "E2E encryption disabled" msgstr "Criptografia E2E desabilitada" -#: ../src/chat_control.py:1967 ../src/chat_control.py:1980 +#: ../src/chat_control.py:1951 ../src/chat_control.py:1964 msgid "The following message was NOT encrypted" msgstr "A seguinte mensagem NÃO estava criptografada" -#: ../src/chat_control.py:1973 +#: ../src/chat_control.py:1957 msgid "The following message was encrypted" msgstr "A seguinte mensagem estava criptografada" #. %s is being replaced in the code with JID -#: ../src/chat_control.py:2354 +#: ../src/chat_control.py:2342 #, 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:2355 +#: ../src/chat_control.py:2343 msgid "" "If you close this tab and you have history disabled, this message will be " "lost." @@ -3328,15 +3235,15 @@ msgstr "" "Se você fechar esta aba e o histórico estiver desabilitado, esta mensagem " "será perdida." -#: ../src/chat_control.py:2510 ../src/common/connection_handlers.py:2072 -#: ../src/common/connection_handlers.py:2118 -#: ../src/common/connection_handlers.py:2313 -#: ../src/common/connection_handlers.py:2451 ../src/common/connection.py:1371 -#: ../src/gajim.py:154 ../src/session.py:125 +#: ../src/chat_control.py:2498 ../src/common/connection_handlers.py:2075 +#: ../src/common/connection_handlers.py:2121 +#: ../src/common/connection_handlers.py:2316 +#: ../src/common/connection_handlers.py:2455 ../src/common/connection.py:1371 +#: ../src/gajim.py:154 ../src/session.py:129 msgid "Database Error" msgstr "Erro na base de dados" -#: ../src/chat_control.py:2511 +#: ../src/chat_control.py:2499 #, python-format msgid "" "The database file (%s) cannot be read. Try to repair it or remove it (all " @@ -3345,7 +3252,7 @@ msgstr "" "O arquivo da base de dados (%s) não pode ser lido. Tente repará-lo ou removê-" "lo. (todo o histórico será perdido)." -#: ../src/chat_control.py:2741 +#: ../src/chat_control.py:2729 #, python-format msgid "%(name)s is now %(status)s" msgstr "%(name)s agora está %(status)s" @@ -3354,23 +3261,23 @@ msgstr "%(name)s agora está %(status)s" msgid "creating logs database" msgstr "criando banco de dados de logs" -#: ../src/common/check_paths.py:127 ../src/common/check_paths.py:138 -#: ../src/common/check_paths.py:145 +#: ../src/common/check_paths.py:128 ../src/common/check_paths.py:139 +#: ../src/common/check_paths.py:146 #, python-format 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:128 ../src/common/check_paths.py:139 -#: ../src/common/check_paths.py:146 ../src/common/check_paths.py:154 +#: ../src/common/check_paths.py:129 ../src/common/check_paths.py:140 +#: ../src/common/check_paths.py:147 ../src/common/check_paths.py:155 msgid "Gajim will now exit" msgstr "Gajim sairá agora" -#: ../src/common/check_paths.py:153 +#: ../src/common/check_paths.py:154 #, python-format 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:169 +#: ../src/common/check_paths.py:170 #, python-format msgid "creating %s directory" msgstr "criando diretório %s" @@ -3434,9 +3341,9 @@ msgstr "Selecione as salas das quais você quer sair" #. Make special context menu if group is Groupchats #: ../src/common/commands.py:205 ../src/common/contacts.py:94 -#: ../src/common/helpers.py:55 ../src/roster_window.py:807 -#: ../src/roster_window.py:1569 ../src/roster_window.py:1571 -#: ../src/roster_window.py:5153 +#: ../src/common/helpers.py:55 ../src/roster_window.py:806 +#: ../src/roster_window.py:1573 ../src/roster_window.py:1575 +#: ../src/roster_window.py:5146 msgid "Groupchats" msgstr "Salas" @@ -3452,72 +3359,74 @@ msgstr "Encaminhar mensagens não lidas" msgid "All unread messages have been forwarded." msgstr "Todas as mensagens não lidas foram encaminhadas." -#: ../src/common/config.py:76 +#: ../src/common/config.py:75 msgid "Play sound when user is busy" -msgstr "" +msgstr "Tocar som quando usuário estiver ocupado" -#: ../src/common/config.py:77 +#: ../src/common/config.py:76 msgid "Use D-Bus and Notification-Daemon to show notifications" msgstr "Usar DBus e Notification-Daemon para mostrar notificações" -#: ../src/common/config.py:79 +#: ../src/common/config.py:78 msgid "Show only online and free for chat contacts in roster." -msgstr "" +msgstr "Exibir somente contatos disponíveis e livres para conversa na lista." -#: ../src/common/config.py:82 +#: ../src/common/config.py:81 msgid "Time in minutes, after which your status changes to away." msgstr "Tempo em minutos, depois do qual seu status muda para a afastado." -#: ../src/common/config.py:83 +#: ../src/common/config.py:82 msgid "$S (Away as a result of being idle more than $T min)" msgstr "$S (Afastado em conseqüência de estar inativo há mais de $T min)" -#: ../src/common/config.py:83 +#: ../src/common/config.py:82 msgid "$S will be replaced by current status message, $T by autoaway time." msgstr "" "$S será substituída pela mensagem de status atual, $T pelo tempo de ausência " "automática." -#: ../src/common/config.py:85 +#: ../src/common/config.py:84 msgid "Time in minutes, after which your status changes to not available." msgstr "Tempo em minutos, depois do qual seu status muda para não disponível." -#: ../src/common/config.py:86 +#: ../src/common/config.py:85 msgid "$S (Not available as a result of being idle more than $T min)" msgstr "$S (Não disponível em conseqüência de estar inativo há mais de $T min)" -#: ../src/common/config.py:86 +#: ../src/common/config.py:85 msgid "$S will be replaced by current status message, $T by autoxa time." msgstr "" "$S será substituída pela mensagem de status atual, $T pelo tempo de " "indisponibilidade automática." -#: ../src/common/config.py:89 +#: ../src/common/config.py:88 msgid "When to show systray icon. Can be 'never', 'on_event', 'always'." msgstr "" +"Quando exibir um ícone na área de notificação. Pode ser \"nunca\", com " +"\"eventos\" e \"sempre\"." -#: ../src/common/config.py:99 +#: ../src/common/config.py:98 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." #. sorted alphanum -#: ../src/common/config.py:100 ../src/common/config.py:469 -#: ../src/common/optparser.py:230 ../src/common/optparser.py:448 -#: ../src/common/optparser.py:482 ../src/gajim.py:3300 +#: ../src/common/config.py:99 ../src/common/config.py:475 +#: ../src/common/optparser.py:234 ../src/common/optparser.py:452 +#: ../src/common/optparser.py:486 ../src/gajim.py:3455 msgid "default" msgstr "padrão" -#: ../src/common/config.py:104 +#: ../src/common/config.py:103 msgid "Enable link-local/zeroconf messaging" msgstr "Ativar mensagens \"link-local\"/\"zeroconf\"" -#: ../src/common/config.py:107 +#: ../src/common/config.py:106 msgid "Language used by speller" msgstr "Idioma usado pelo corretor ortográfico" -#: ../src/common/config.py:108 +#: ../src/common/config.py:107 msgid "" "'always' - print time for every message.\n" "'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" @@ -3527,7 +3436,7 @@ msgstr "" "'às vezes' - mostrar hora a cada print_ichat_every_foo_minutes minutos.\n" "'nunca' - nunca mostrar a hora." -#: ../src/common/config.py:109 +#: ../src/common/config.py:108 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. " @@ -3537,18 +3446,18 @@ msgstr "" "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:112 +#: ../src/common/config.py:111 msgid "Treat * / _ pairs as possible formatting characters." msgstr "Aproveite os pare * /_ como caracteres de formatação." -#: ../src/common/config.py:113 +#: ../src/common/config.py:112 msgid "" "If True, do not remove */_ . So *abc* will be bold but with * * not removed." msgstr "" "Se verdadeiro, não remova */_. Assim *ABC* será negrito mas com * * não " "removido." -#: ../src/common/config.py:116 +#: ../src/common/config.py:115 msgid "" "Uses ReStructured text markup to send HTML, plus ascii formatting if " "selected. For syntax, see http://docutils.sourceforge.net/docs/ref/rst/" @@ -3559,7 +3468,7 @@ msgstr "" "sourceforge.net/docs/ref/rst/restructuredtext.html (Se você quiser usar " "isso, instale o docutils)" -#: ../src/common/config.py:125 +#: ../src/common/config.py:124 msgid "" "Character to add after nickname when using nick completion (tab) in group " "chat." @@ -3567,7 +3476,7 @@ msgstr "" "Caracter a adicionar ao apelido quando se estiver usando o recurso de " "completar apelido (tecla Tab) na conferência." -#: ../src/common/config.py:126 +#: ../src/common/config.py:125 msgid "" "Character to propose to add after desired nickname when desired nickname is " "used by someone else in group chat." @@ -3575,7 +3484,7 @@ 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:154 +#: ../src/common/config.py:153 msgid "" "This option let you customize timestamp that is printed in conversation. For " "exemple \"[%H:%M] \" will show \"[hour:minute] \". See python doc on " @@ -3586,19 +3495,19 @@ msgstr "" "por strftime na documentação do Python: http://docs.python.org/lib/module-" "time.html" -#: ../src/common/config.py:155 +#: ../src/common/config.py:154 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:156 +#: ../src/common/config.py:155 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:160 +#: ../src/common/config.py:159 msgid "Add * and [n] in roster title?" msgstr "Adicionar * e [n] no título da lista?" -#: ../src/common/config.py:161 +#: ../src/common/config.py:160 msgid "" "How many lines to remember from previous conversation when a chat tab/window " "is reopened." @@ -3606,12 +3515,26 @@ msgstr "" "Quantas linhas lembrar da conversação anterior quando uma aba/janela de bate-" "papo for reaberta." -#: ../src/common/config.py:162 +#: ../src/common/config.py:161 msgid "How many minutes should last lines from previous conversation last." msgstr "" "Quantos minutos mostrar ao exibir as últimas linhas da conversação anterior." +#: ../src/common/config.py:162 +msgid "How many lines to request to server when entering a groupchat." +msgstr "" + #: ../src/common/config.py:163 +msgid "How many minutes back to request logs when a entering a groupchat." +msgstr "" + +#: ../src/common/config.py:164 +msgid "" +"How many seconds to wait before trying to autorejoin to a conference you are " +"being disconnected from. Set to 0 to disable autorejoining." +msgstr "" + +#: ../src/common/config.py:166 msgid "" "Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ " "Client default behaviour)." @@ -3619,11 +3542,11 @@ msgstr "" "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:165 +#: ../src/common/config.py:168 msgid "How many lines to store for Ctrl+KeyUP." msgstr "Quantas linhas armazenar com Ctrl+Acima." -#: ../src/common/config.py:168 +#: ../src/common/config.py:171 #, python-format msgid "" "Either custom url with %s in it where %s is the word/phrase or 'WIKTIONARY' " @@ -3632,12 +3555,12 @@ msgstr "" "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:171 +#: ../src/common/config.py:174 msgid "If checked, Gajim can be controlled remotely using gajim-remote." msgstr "" "Se verificado, Gajim pode ser remotamente controlado usando gajim-remoto." -#: ../src/common/config.py:172 +#: ../src/common/config.py:175 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 " @@ -3649,14 +3572,14 @@ msgstr "" "configurado para Falso e se estiverem sincronizadas com o status global) " "baseado no status da conexão de rede." -#: ../src/common/config.py:173 +#: ../src/common/config.py:176 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:174 +#: ../src/common/config.py:177 msgid "" "Displayed chat state notifications in chat windows. Can be one of all, " "composing_only, disabled." @@ -3664,7 +3587,7 @@ msgstr "" "Notificações de estado de conversa exibidos nas janelas de conversa. Pode " "ser one of all, composing_only, disabled." -#: ../src/common/config.py:176 +#: ../src/common/config.py:179 msgid "" "When not printing time for every message (print_time==sometimes), print it " "every x minutes." @@ -3672,11 +3595,11 @@ msgstr "" "Quando não estiver exibindo a hora para cada mensagem (print_time == " "simetimes), exibi-lo a cada x minutos." -#: ../src/common/config.py:177 +#: ../src/common/config.py:180 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:178 +#: ../src/common/config.py:181 msgid "" "Always ask before closing group chat tab/window in this space separated list " "of group chat jids." @@ -3684,7 +3607,7 @@ msgstr "" "Sempre perguntar antes de fechar um aba/janela nesta lista separada por " "espaço de JID's de conferências." -#: ../src/common/config.py:179 +#: ../src/common/config.py:182 msgid "" "Never ask before closing group chat tab/window in this space separated list " "of group chat jids." @@ -3692,13 +3615,16 @@ msgstr "" "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:180 +#: ../src/common/config.py:183 msgid "" "Ask before closing tabbed chat window if there are control that can loose " "data (chat, private chat, groupchat that will not be minimized)" msgstr "" +"Perguntar antes de fechar uma aba de janela de conversa se ela puder perder " +"dados (conversa, conversa privada, conferências que não podem ser " +"minimizadas)" -#: ../src/common/config.py:183 +#: ../src/common/config.py:186 msgid "" "Comma separated list of hosts that we send, in addition of local interfaces, " "for File Transfer in case of address translation/port forwarding." @@ -3707,27 +3633,27 @@ msgstr "" "interfaces locais, para Transferência de Arquivo no caso de tradução de " "endereço/encaminhamento de porta." -#: ../src/common/config.py:185 +#: ../src/common/config.py:188 msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." msgstr "Padrão da IEC diz que KiB = 1024 bytes e KB = 1000 bytes." -#: ../src/common/config.py:187 +#: ../src/common/config.py:190 msgid "Notify of events in the system trayicon." msgstr "Notificar os eventos no ícone da bandeja do sistema." -#: ../src/common/config.py:193 +#: ../src/common/config.py:196 msgid "Show tab when only one conversation?" msgstr "Mostrar aba quando tiver apenas uma bate papo?" -#: ../src/common/config.py:194 +#: ../src/common/config.py:197 msgid "Show tabbed notebook border in chat windows?" msgstr "Mostrar borda de caderno tabulada nas janelas de conversa?" -#: ../src/common/config.py:195 +#: ../src/common/config.py:198 msgid "Show close button in tab?" msgstr "Mostrar botão de fechar na aba?" -#: ../src/common/config.py:196 +#: ../src/common/config.py:199 msgid "" "A list of modp groups to use in a Diffie-Hellman, highest preference first, " "separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and 18. Higher " @@ -3739,18 +3665,18 @@ msgstr "" "16, 17 e 18. Números maiores são mais seguros, mas demoram mais para " "calcular quando você inicia uma sessão." -#: ../src/common/config.py:205 +#: ../src/common/config.py:208 msgid "Preview new messages in notification popup?" msgstr "Pré-visualizar novas mensagens em uma janela popup?" -#: ../src/common/config.py:210 +#: ../src/common/config.py:213 msgid "" "A semicolon-separated list of words that will be highlighted in group chats." msgstr "" "Uma lista separada por ponto-e-vírgula das palavras que serão destacadas nas " "conferências." -#: ../src/common/config.py:211 +#: ../src/common/config.py:214 msgid "" "If True, quits Gajim when X button of Window Manager is clicked. This " "setting is taken into account only if trayicon is used." @@ -3758,13 +3684,13 @@ msgstr "" "Se verdadeiro, o Gajim sairá quando o botão sair da janela for clicado. Esta " "opção só faz sentido quando a opção trayicon está sendo usada." -#: ../src/common/config.py:212 +#: ../src/common/config.py:215 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:213 +#: ../src/common/config.py:216 msgid "" "If True, Gajim will display an icon on each tab containing unread messages. " "Depending on the theme, this icon may be animated." @@ -3772,7 +3698,7 @@ msgstr "" "Se verdadeiro, Gajim mostrará um ícone para cada aba contendo mensagens não " "lidas. Dependendo do tema, este ícone pode ser animado." -#: ../src/common/config.py:214 +#: ../src/common/config.py:217 msgid "" "If True, Gajim will display the status message, if not empty, for every " "contact under the contact name in roster window." @@ -3780,11 +3706,11 @@ msgstr "" "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:219 +#: ../src/common/config.py:222 msgid "Define the position of the avatar in roster. Can be left or right" msgstr "Define a posição do avatar na lista. Pode ser esquerda ou direita" -#: ../src/common/config.py:220 +#: ../src/common/config.py:223 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." @@ -3792,7 +3718,7 @@ msgstr "" "Se verdadeiro, Gajim pedirá por avatar cada contato que não teve um avatar " "ou tem um cache que é velho demais." -#: ../src/common/config.py:221 +#: ../src/common/config.py:224 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." @@ -3800,7 +3726,7 @@ msgstr "" "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:222 +#: ../src/common/config.py:225 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 " @@ -3814,29 +3740,29 @@ msgstr "" "\" 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:224 +#: ../src/common/config.py:227 msgid "Background color of contacts when they just signed in." msgstr "Cor de fundo dos contatos quando eles simplesmente conectarem." -#: ../src/common/config.py:225 +#: ../src/common/config.py:228 msgid "Background color of contacts when they just signed out." msgstr "Cor de fundo dos contatos quando eles simplesmente desconectarem." -#: ../src/common/config.py:227 +#: ../src/common/config.py:230 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:228 +#: ../src/common/config.py:231 msgid "Don't show avatar for the transport itself." msgstr "Não mostrar o avatar para o próprio transporte." -#: ../src/common/config.py:229 +#: ../src/common/config.py:232 msgid "Don't show roster in the system taskbar." msgstr "Não mostrar a lista na bandeja do sistema." -#: ../src/common/config.py:230 +#: ../src/common/config.py:233 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 " @@ -3846,7 +3772,7 @@ msgstr "" "faz a janela piscar (o comportamento padrão na maioria dos Gerenciadores de " "Janela) quando esperam eventos pendentes." -#: ../src/common/config.py:232 +#: ../src/common/config.py:235 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 " @@ -3857,7 +3783,7 @@ msgstr "" "informações sha na presenças de conferências." #. always, never, peracct, pertype should not be translated -#: ../src/common/config.py:235 +#: ../src/common/config.py:238 msgid "" "Controls the window where new messages are placed.\n" "'always' - All messages are sent to a single window.\n" @@ -3878,32 +3804,32 @@ msgstr "" "'pertype' - Cada tipo de mensagem (ex. bate-papo vs. conferência) são " "enviadas para uma janela específica." -#: ../src/common/config.py:236 +#: ../src/common/config.py:239 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." -#: ../src/common/config.py:237 +#: ../src/common/config.py:240 msgid "If True, pressing the escape key closes a tab/window." msgstr "Se verdadeiro, pressionando a tecla Esc fecha a aba/janela." -#: ../src/common/config.py:238 +#: ../src/common/config.py:241 msgid "Hides the buttons in chat windows." msgstr "Esconder os botões nas janelas de conversa." -#: ../src/common/config.py:239 +#: ../src/common/config.py:242 msgid "Hides the banner in a group chat window" msgstr "Esconder o banner na janela de conferência" -#: ../src/common/config.py:240 +#: ../src/common/config.py:243 msgid "Hides the banner in two persons chat window" msgstr "Esconder o banner na janela de conversa para duas pessoas" -#: ../src/common/config.py:241 +#: ../src/common/config.py:244 msgid "Hides the group chat occupants list in group chat window." msgstr "Esconder a lista dos ocupantes da sala na janela da conferência." -#: ../src/common/config.py:242 +#: ../src/common/config.py:245 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." @@ -3911,15 +3837,15 @@ 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:243 +#: ../src/common/config.py:246 msgid "Indentation when using merge consecutive nickname." msgstr "Usar identação ao mesclar apelidos consecutivos." -#: ../src/common/config.py:244 +#: ../src/common/config.py:247 msgid "Smooth scroll message in conversation window" msgstr "Suavizar a rolagem de mensagens na janela de conversação" -#: ../src/common/config.py:245 +#: ../src/common/config.py:248 msgid "" "List of colors, separated by \":\", that will be used to color nicknames in " "group chats." @@ -3927,13 +3853,13 @@ msgstr "" "A lista de cores, separadas por \":\", que serão usadas para colorir os " "apelidos nas salas de conferência." -#: ../src/common/config.py:246 +#: ../src/common/config.py:249 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:247 +#: ../src/common/config.py:250 msgid "" "Should we show the confirm metacontacts creation dialog or not? Empty string " "means we never show the dialog." @@ -3941,7 +3867,25 @@ 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:248 +#: ../src/common/config.py:251 +#, fuzzy +msgid "" +"Should we show the confirm block contact 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:252 +#, fuzzy +msgid "" +"Should we show the confirm custom status 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:253 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 " @@ -3952,7 +3896,7 @@ msgstr "" "autenticado com uma prioridade negativa, você NÃO poderá receber nenhuma " "mensagem do seu servidor." -#: ../src/common/config.py:249 +#: ../src/common/config.py:254 msgid "" "If True, Gajim will use Gnome Keyring (if available) to store account " "passwords." @@ -3960,7 +3904,7 @@ msgstr "" "Se verdadeiro, o Gajim usará o Gnome Keyring (se disponível) para armazenar " "as senhas das contas." -#: ../src/common/config.py:250 +#: ../src/common/config.py:255 #, fuzzy msgid "" "If True, Gajim will use KDE Wallet (if kwalletcli is available) to store " @@ -3969,7 +3913,7 @@ msgstr "" "Se verdadeiro, o Gajim usará o Gnome Keyring (se disponível) para armazenar " "as senhas das contas." -#: ../src/common/config.py:251 +#: ../src/common/config.py:256 msgid "" "If True, Gajim will show number of online and total contacts in account and " "group rows." @@ -3977,7 +3921,7 @@ 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:252 +#: ../src/common/config.py:257 msgid "" "Can be empty, 'chat' or 'normal'. If not empty, treat all incoming messages " "as if they were of this type" @@ -3985,7 +3929,7 @@ 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:253 +#: ../src/common/config.py:258 msgid "" "If True, Gajim will scroll and select the contact who sent you the last " "message, if chat window is not already opened." @@ -3993,7 +3937,7 @@ 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:254 +#: ../src/common/config.py:259 msgid "" "If True, Gajim will convert string between $$ and $$ to an image using dvips " "and convert before insterting it in chat window." @@ -4001,13 +3945,13 @@ msgstr "" "Se definido como verdadeiro o Gajim converterá strings entre $$ e $$ em uma " "imagem usando o dvips antes de inseri-la em uma janela de conversa." -#: ../src/common/config.py:255 +#: ../src/common/config.py:260 msgid "Time of inactivity needed before the change status window closes down." msgstr "" "O tempo de inatividade necessário antes de fechar a janela de alteração de " "status." -#: ../src/common/config.py:256 +#: ../src/common/config.py:261 msgid "" "Maximum number of lines that are printed in conversations. Oldest lines are " "cleared." @@ -4015,7 +3959,7 @@ msgstr "" "Número máximo de linhas que são exibidas em conversações. As linhas mais " "antigas são apagadas." -#: ../src/common/config.py:257 +#: ../src/common/config.py:262 msgid "" "If True, notification windows from notification-daemon will be attached to " "systray icon." @@ -4023,11 +3967,11 @@ msgstr "" "Se marcado como Verdadeiro as janelas de notificação do notification-daemon " "serão anexadas ao ícone da bandeja do sistema." -#: ../src/common/config.py:258 +#: ../src/common/config.py:263 msgid "Choose interval between 2 checks of idleness." msgstr "Escolha intervalo entre 2 verificações de inatividade." -#: ../src/common/config.py:259 +#: ../src/common/config.py:264 msgid "" "Change the value to change the size of latex formulas displayed. The higher " "is larger." @@ -4035,22 +3979,24 @@ msgstr "" "Alterar o valor para alterar o status das fórmulas latex exibidas. Quanto " "mais elevado é maior." -#: ../src/common/config.py:260 -#, fuzzy +#: ../src/common/config.py:265 msgid "" "Valid uri schemes. Only schemes in this list will be accepted as \"real\" " "uri. (mailto and xmpp are handled separately)" msgstr "" "Esquema uri válido. Somente esquemas nesta lista irão ser aceitos como uri " -"\"real\"." +"\"real\". (mailto e xmpp são manipulados separadamente)" -#: ../src/common/config.py:261 +#: ../src/common/config.py:266 msgid "" "Ask offline status message to all offline contacts when connection to an " "accoutn is established. WARNING: This causes a lot of requests to be sent!" msgstr "" +"Perguntar a mensagem de status para todos os contatos desconectados quando a " +"conexão com uma conta for estabelecida. AVISO: Isto pode resultar em muitas " +"requisições a serem enviadas." -#: ../src/common/config.py:273 +#: ../src/common/config.py:278 msgid "" "Priority will change automatically according to your status. Priorities are " "defined in autopriority_* options." @@ -4058,7 +4004,7 @@ msgstr "" "A prioridade será alterada automaticamente de acordo com o seu status. As " "prioridades são definidas nas opções autopriority_*." -#: ../src/common/config.py:281 +#: ../src/common/config.py:286 msgid "" "Status used to autoconnect as. Can be online, chat, away, xa, dnd, " "invisible. NOTE: this option is used only if restore_last_status is disabled" @@ -4067,27 +4013,32 @@ msgstr "" "inativo, fora, np, invisível. NOTA: esta opção é usada somente se a opção " "restore_last_status estiver desativada" -#: ../src/common/config.py:282 +#: ../src/common/config.py:287 msgid "If enabled, restore the last status that was used." msgstr "Se habilitado, restaura o último status que foi usado." -#: ../src/common/config.py:287 +#: ../src/common/config.py:289 +msgid "" +"If True, Contacts requesting authorization will be automatically accepted." +msgstr "" + +#: ../src/common/config.py:293 msgid "" "If disabled, don't sign presences with GPG key, even if GPG is configured." msgstr "" "Se desativado, não assinar presenças com chaves GPG, se o GPG estiver " "configurado." -#: ../src/common/config.py:289 +#: ../src/common/config.py:295 msgid "Enable ESessions encryption for this account." msgstr "Habilitar criptografia ESessions para esta conta." -#: ../src/common/config.py:290 +#: ../src/common/config.py:296 msgid "Should Gajim automatically start an encrypted session when possible?" msgstr "" "O Gajim deve iniciar automaticamente em sessão criptografada quando possível?" -#: ../src/common/config.py:291 +#: ../src/common/config.py:297 msgid "" "Ordered list (space separated) of connection type to try. Can contain tls, " "ssl or plain" @@ -4095,44 +4046,43 @@ msgstr "" "Lista ordenada de tipos de conexão (separada por espaço) para tentar. Pode " "conter tls, ssl ou simples" -#: ../src/common/config.py:292 +#: ../src/common/config.py:298 msgid "" "Show a warning dialog before sending password on an plaintext connection." msgstr "" "Exibir uma mensagem de alerta antes de enviar uma senha em uma conexão de " "texto puro." -#: ../src/common/config.py:293 +#: ../src/common/config.py:299 msgid "Show a warning dialog before using standard SSL library." msgstr "Exibir uma mensagem de alerta antes de usar uma biblioteca padrão SSL." -#: ../src/common/config.py:295 +#: ../src/common/config.py:301 msgid "Space separated list of ssl errors to ignore." msgstr "Lista separada por espaços de erros do ssl para ignorar." -#: ../src/common/config.py:304 +#: ../src/common/config.py:310 msgid "Whitespace sent after inactivity" -msgstr "" +msgstr "Espaço em branco enviado após inatividade" -#: ../src/common/config.py:305 +#: ../src/common/config.py:311 msgid "XMPP ping sent after inactivity" -msgstr "" +msgstr "Ping XMPP enviado após inatividade" -#: ../src/common/config.py:309 -#, fuzzy +#: ../src/common/config.py:315 msgid "" "How many seconds to wait for the answer of ping alive packet before we try " "to reconnect." msgstr "" -"Quantos segundos aguardar para a resposta do pacote de tempo-de-vida antes " -"de tentarmos reconectar." +"Quantos segundos aguardar a resposta do pacote de tempo-de-vida antes de " +"tentar reconectar." #. yes, no, ask -#: ../src/common/config.py:313 +#: ../src/common/config.py:319 msgid "Jabberd2 workaround" msgstr "Jabberd2 rodando" -#: ../src/common/config.py:317 +#: ../src/common/config.py:323 msgid "" "If checked, Gajim will use your IP and proxies defined in " "file_transfer_proxies option for file transfer." @@ -4140,15 +4090,15 @@ 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:331 +#: ../src/common/config.py:337 msgid "Answer to receipt requests" msgstr "Respostas para requisições recebidas" -#: ../src/common/config.py:332 +#: ../src/common/config.py:338 msgid "Sent receipt requests" msgstr "Requisições recebidas enviadas" -#: ../src/common/config.py:340 +#: ../src/common/config.py:346 msgid "" "When negotiating an encrypted session, should Gajim assume you want your " "messages to be logged?" @@ -4156,11 +4106,11 @@ msgstr "" "Ao negociar uma sessão criptografada, o Gajim deve assumir que você quer que " "suas mensagens sejam gravadas?" -#: ../src/common/config.py:403 +#: ../src/common/config.py:409 msgid "Is OpenPGP enabled for this contact?" msgstr "O OpenPGP está ativado para este contato?" -#: ../src/common/config.py:404 +#: ../src/common/config.py:410 msgid "" "Should Gajim automatically start an encrypted session with this contact when " "possible?" @@ -4168,101 +4118,101 @@ msgstr "" "O Gajim deve iniciar automaticamente uma sessão criptografada com este " "contato quando possível?" -#: ../src/common/config.py:405 ../src/common/config.py:408 +#: ../src/common/config.py:411 ../src/common/config.py:414 msgid "Language for which we want to check misspelled words" msgstr "Idioma a usar na verificação ortográficas das palavras" -#: ../src/common/config.py:414 +#: ../src/common/config.py:420 msgid "all or space separated status" msgstr "todos ou lista de status separados por espaço" -#: ../src/common/config.py:415 +#: ../src/common/config.py:421 msgid "'yes', 'no', or 'both'" msgstr "'sim', 'não' ou 'ambos'" -#: ../src/common/config.py:416 ../src/common/config.py:418 -#: ../src/common/config.py:419 ../src/common/config.py:422 -#: ../src/common/config.py:423 +#: ../src/common/config.py:422 ../src/common/config.py:424 +#: ../src/common/config.py:425 ../src/common/config.py:428 +#: ../src/common/config.py:429 msgid "'yes', 'no' or ''" msgstr "'sim', 'não', ou ''" -#: ../src/common/config.py:429 ../src/common/pep.py:160 +#: ../src/common/config.py:435 ../src/common/pep.py:160 msgid "Sleeping" msgstr "Dormindo" -#: ../src/common/config.py:430 +#: ../src/common/config.py:436 msgid "Back soon" msgstr "Volto logo" -#: ../src/common/config.py:430 +#: ../src/common/config.py:436 msgid "Back in some minutes." msgstr "Volto em alguns minutos." -#: ../src/common/config.py:431 ../src/common/pep.py:130 +#: ../src/common/config.py:437 ../src/common/pep.py:130 msgid "Eating" msgstr "Comendo" -#: ../src/common/config.py:431 +#: ../src/common/config.py:437 msgid "I'm eating, so leave me a message." msgstr "Eu estou comendo, então deixe-me uma mensagem." -#: ../src/common/config.py:432 +#: ../src/common/config.py:438 msgid "Movie" msgstr "Filme" -#: ../src/common/config.py:432 +#: ../src/common/config.py:438 msgid "I'm watching a movie." msgstr "Estou assistindo um filme." -#: ../src/common/config.py:433 ../src/common/pep.py:189 +#: ../src/common/config.py:439 ../src/common/pep.py:189 msgid "Working" msgstr "Trabalhando" -#: ../src/common/config.py:433 +#: ../src/common/config.py:439 msgid "I'm working." msgstr "Estou trabalhando." -#: ../src/common/config.py:434 +#: ../src/common/config.py:440 msgid "Phone" msgstr "Telefone" -#: ../src/common/config.py:434 +#: ../src/common/config.py:440 msgid "I'm on the phone." msgstr "Estou no telefone." -#: ../src/common/config.py:435 +#: ../src/common/config.py:441 msgid "Out" msgstr "Estou fora" -#: ../src/common/config.py:435 +#: ../src/common/config.py:441 msgid "I'm out enjoying life." msgstr "Estou fora curtindo a vida." -#: ../src/common/config.py:446 +#: ../src/common/config.py:452 msgid "I'm available." msgstr "Estou disponível." -#: ../src/common/config.py:447 +#: ../src/common/config.py:453 msgid "I'm free for chat." msgstr "Estou livre para conversar." -#: ../src/common/config.py:448 ../src/config.py:1384 +#: ../src/common/config.py:454 ../src/config.py:1415 msgid "Be right back." msgstr "Estou de volta." -#: ../src/common/config.py:449 +#: ../src/common/config.py:455 msgid "I'm not available." msgstr "Não estou disponível." -#: ../src/common/config.py:450 +#: ../src/common/config.py:456 msgid "Do not disturb." msgstr "Não perturbe." -#: ../src/common/config.py:451 ../src/common/config.py:452 +#: ../src/common/config.py:457 ../src/common/config.py:458 msgid "Bye!" msgstr "Tchau!" -#: ../src/common/config.py:462 +#: ../src/common/config.py:468 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." @@ -4270,33 +4220,33 @@ msgstr "" "Som para tocar quando uma mensagem MUC conter uma das palavras no " "muc_hightlight_words, ou quando uma mensagem MUC contiver seu apelido." -#: ../src/common/config.py:463 +#: ../src/common/config.py:469 msgid "Sound to play when any MUC message arrives." msgstr "Som a ser tocado quando qualquer mensagem MUC chegar." -#: ../src/common/config.py:472 ../src/common/optparser.py:244 +#: ../src/common/config.py:478 ../src/common/optparser.py:248 msgid "green" msgstr "verde" -#: ../src/common/config.py:476 ../src/common/optparser.py:230 +#: ../src/common/config.py:482 ../src/common/optparser.py:234 msgid "grocery" msgstr "mantimento" -#: ../src/common/config.py:480 +#: ../src/common/config.py:486 msgid "human" msgstr "humano" -#: ../src/common/config.py:484 +#: ../src/common/config.py:490 msgid "marine" msgstr "marinho" #: ../src/common/connection_handlers.py:75 -#: ../src/common/zeroconf/connection_handlers_zeroconf.py:48 +#: ../src/common/zeroconf/connection_handlers_zeroconf.py:52 msgid "Unable to load idle module" msgstr "Incapaz de carregar o módulo inativo" #: ../src/common/connection_handlers.py:243 -#: ../src/common/zeroconf/connection_handlers_zeroconf.py:90 +#: ../src/common/zeroconf/connection_handlers_zeroconf.py:94 msgid "Wrong host" msgstr "Servidor errado" @@ -4310,59 +4260,58 @@ 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:684 -#, fuzzy msgid "Registration succeeded" -msgstr "Registro para %s" +msgstr "Registro realizado com sucesso" #: ../src/common/connection_handlers.py:685 #, python-format msgid "Registration with agent %s succeeded" -msgstr "" +msgstr "Registro com o agente %s completado com sucesso" #: ../src/common/connection_handlers.py:687 -#, fuzzy msgid "Registration failed" -msgstr "Falha na conexão" +msgstr "Falha ao registrar" #: ../src/common/connection_handlers.py:687 #, python-format msgid "" "Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" msgstr "" +"Registro com o agente %(agent)s falhou com erro %(error)s: %(error_msg)s" -#: ../src/common/connection_handlers.py:987 -#: ../src/common/connection_handlers.py:2070 -#: ../src/common/connection_handlers.py:2116 -#: ../src/common/connection_handlers.py:2311 -#: ../src/common/connection_handlers.py:2449 ../src/common/connection.py:1369 -#: ../src/gajim.py:368 +#: ../src/common/connection_handlers.py:994 +#: ../src/common/connection_handlers.py:2073 +#: ../src/common/connection_handlers.py:2119 +#: ../src/common/connection_handlers.py:2314 +#: ../src/common/connection_handlers.py:2453 ../src/common/connection.py:1369 +#: ../src/gajim.py:379 msgid "Disk Write Error" msgstr "Erro de escrita em disco" -#: ../src/common/connection_handlers.py:1208 ../src/common/connection.py:938 +#: ../src/common/connection_handlers.py:1211 ../src/common/connection.py:938 msgid "Invisibility not supported" msgstr "Sem suporte a invisibilidade" -#: ../src/common/connection_handlers.py:1209 ../src/common/connection.py:939 +#: ../src/common/connection_handlers.py:1212 ../src/common/connection.py:939 #, python-format msgid "Account %s doesn't support invisibility." msgstr "A conta %s não suporta invisibilidade." -#: ../src/common/connection_handlers.py:1891 ../src/common/connection.py:1184 -#: ../src/config.py:1835 ../src/config.py:1844 ../src/config.py:1903 -#: ../src/config.py:3191 ../src/dataforms_widget.py:537 ../src/dialogs.py:2591 +#: ../src/common/connection_handlers.py:1894 ../src/common/connection.py:1184 +#: ../src/config.py:1866 ../src/config.py:1875 ../src/config.py:1934 +#: ../src/config.py:3221 ../src/dataforms_widget.py:555 ../src/dialogs.py:2629 msgid "Invalid Jabber ID" msgstr "Jabber ID inválido:" -#: ../src/common/connection_handlers.py:1892 +#: ../src/common/connection_handlers.py:1895 msgid "A message from a non-valid JID arrived, it has been ignored." -msgstr "" +msgstr "Uma mensagem de um JID não-valido recebida, ela foi ignorada." -#: ../src/common/connection_handlers.py:2073 -#: ../src/common/connection_handlers.py:2119 -#: ../src/common/connection_handlers.py:2314 -#: ../src/common/connection_handlers.py:2452 ../src/common/connection.py:1372 -#: ../src/gajim.py:155 ../src/session.py:126 +#: ../src/common/connection_handlers.py:2076 +#: ../src/common/connection_handlers.py:2122 +#: ../src/common/connection_handlers.py:2317 +#: ../src/common/connection_handlers.py:2456 ../src/common/connection.py:1372 +#: ../src/gajim.py:155 ../src/session.py:130 #, python-format msgid "" "The database file (%s) cannot be read. Try to repair it (see http://trac." @@ -4372,77 +4321,77 @@ msgstr "" "http://trac.gajim.org/wiki/DatabaseBackup) ou removê-lo (todo o histórico " "será perdido)." -#: ../src/common/connection_handlers.py:2198 +#: ../src/common/connection_handlers.py:2201 #, python-format msgid "Nickname not allowed: %s" msgstr "Apelido não permitido: %s" #. we are banned #. group chat does not exist -#: ../src/common/connection_handlers.py:2273 #: ../src/common/connection_handlers.py:2276 #: ../src/common/connection_handlers.py:2279 #: ../src/common/connection_handlers.py:2282 -#: ../src/common/connection_handlers.py:2286 ../src/gajim.py:511 +#: ../src/common/connection_handlers.py:2285 +#: ../src/common/connection_handlers.py:2289 ../src/gajim.py:522 msgid "Unable to join group chat" msgstr "Impossível ingressar na sala" -#: ../src/common/connection_handlers.py:2274 +#: ../src/common/connection_handlers.py:2277 #, python-format msgid "You are banned from group chat %s." msgstr "Você está banido da sala %s." -#: ../src/common/connection_handlers.py:2277 +#: ../src/common/connection_handlers.py:2280 #, python-format msgid "Group chat %s does not exist." msgstr "A sala %s não existe." -#: ../src/common/connection_handlers.py:2280 +#: ../src/common/connection_handlers.py:2283 msgid "Group chat creation is restricted." msgstr "A criação de sala é restrita." -#: ../src/common/connection_handlers.py:2283 +#: ../src/common/connection_handlers.py:2286 #, python-format msgid "Your registered nickname must be used in group chat %s." msgstr "Seu nickname registado deve ser usado na sala %s." -#: ../src/common/connection_handlers.py:2287 +#: ../src/common/connection_handlers.py:2290 #, python-format msgid "You are not in the members list in groupchat %s." msgstr "Você não está na lista de membros da sala %s." #. Room has been destroyed. see #. http://www.xmpp.org/extensions/xep-0045.html#destroyroom -#: ../src/common/connection_handlers.py:2329 +#: ../src/common/connection_handlers.py:2332 msgid "Room has been destroyed" msgstr "A sala foi excluída" -#: ../src/common/connection_handlers.py:2337 +#: ../src/common/connection_handlers.py:2340 #, 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:2367 +#: ../src/common/connection_handlers.py:2371 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:2388 +#: ../src/common/connection_handlers.py:2392 #, python-format msgid "we are now subscribed to %s" msgstr "nós estamos agora inscritos para %s" -#: ../src/common/connection_handlers.py:2390 +#: ../src/common/connection_handlers.py:2394 #, python-format msgid "unsubscribe request from %s" msgstr "remoção de inscrição solicitada por %s" -#: ../src/common/connection_handlers.py:2392 +#: ../src/common/connection_handlers.py:2396 #, python-format msgid "we are now unsubscribed from %s" msgstr "nós estamos agora sem inscrição para %s" -#: ../src/common/connection_handlers.py:2580 +#: ../src/common/connection_handlers.py:2585 #, python-format msgid "" "JID %s is not RFC compliant. It will not be added to your roster. Use roster " @@ -4452,20 +4401,6 @@ msgstr "" "ferramentas de gerência da lista como http://jru.jabberstudio.org/ para " "removê-lo" -#. We didn't set a passphrase -#: ../src/common/connection_handlers.py:2614 -#: ../src/common/zeroconf/connection_zeroconf.py:175 -msgid "OpenPGP passphrase was not given" -msgstr "Frase de acesso do OpenPGP não foi recebida" - -#. %s is the account name here -#: ../src/common/connection_handlers.py:2616 -#: ../src/common/zeroconf/connection_zeroconf.py:177 -#: ../src/roster_window.py:1962 -#, python-format -msgid "You will be connected to %s without OpenPGP." -msgstr "Você será conectado ao %s sem OpenPGP." - #: ../src/common/connection.py:67 msgid "Unable to get issuer certificate" msgstr "Não foi possível obter o certificado do emissor" @@ -4640,14 +4575,14 @@ msgstr "" msgid "Could not connect to \"%s\"" msgstr "Impossível conectar a \"%s\"" -#: ../src/common/connection.py:640 ../src/gajim.py:1076 +#: ../src/common/connection.py:640 ../src/gajim.py:1087 msgid "Check your connection or try again later." msgstr "Verifique sua conexão ou tente novamente mais tarde." #: ../src/common/connection.py:645 -#, fuzzy, python-format +#, python-format msgid "Server replied: %s" -msgstr "Salvo em: %s" +msgstr "O servidor respondeu: %s" #: ../src/common/connection.py:658 msgid "Connection to proxy failed" @@ -4697,7 +4632,7 @@ msgstr "Falha na autenticação com \"%s\"" #: ../src/common/connection.py:799 msgid "Please check your login and password for correctness." -msgstr "Por favor, verifique seu login e senha para exatidão." +msgstr "Por favor, verifique se seu login e senha estão corretos." #: ../src/common/connection.py:865 msgid "Error while removing privacy list" @@ -4712,10 +4647,10 @@ 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." -#: ../src/common/connection.py:1185 ../src/dialogs.py:2592 -#, fuzzy, python-format +#: ../src/common/connection.py:1185 ../src/dialogs.py:2630 +#, python-format msgid "It is not possible to send a message to %s, this JID is not valid." -msgstr "Não é possível enviar arquivos vazios" +msgstr "Não é possível enviar uma mensagem para %s, este não é um JID válido." #: ../src/common/connection.py:1207 #: ../src/common/zeroconf/connection_zeroconf.py:391 @@ -4758,16 +4693,27 @@ msgstr "Convidar _contatos" msgid "Not fetched because of invisible status" msgstr "Não baixado por causa do status invisível" +#: ../src/common/connection.py:1960 +#, fuzzy +msgid "Unregister failed" +msgstr "Falha ao registrar" + +#: ../src/common/connection.py:1961 +#, fuzzy, python-format +msgid "Unregistration with server %(server)s failed: %(error)s" +msgstr "" +"Registro com o agente %(agent)s falhou com erro %(error)s: %(error_msg)s" + #: ../src/common/contacts.py:92 ../src/common/helpers.py:55 -#: ../src/gajim.py:981 +#: ../src/gajim.py:992 msgid "Observers" msgstr "Observadores" #: ../src/common/contacts.py:96 ../src/common/contacts.py:348 #: ../src/common/helpers.py:55 ../src/disco.py:119 ../src/disco.py:120 -#: ../src/disco.py:1354 ../src/gajim.py:790 ../src/roster_window.py:837 -#: ../src/roster_window.py:1492 ../src/roster_window.py:1561 -#: ../src/roster_window.py:1563 ../src/roster_window.py:1707 +#: ../src/disco.py:1354 ../src/gajim.py:801 ../src/roster_window.py:841 +#: ../src/roster_window.py:1496 ../src/roster_window.py:1565 +#: ../src/roster_window.py:1567 ../src/roster_window.py:1714 msgid "Transports" msgstr "Transportes" @@ -4776,14 +4722,19 @@ msgid "Not in roster" msgstr "Fora da lista" #. only say that to non Windows users -#: ../src/common/dbus_support.py:43 +#: ../src/common/dbus_support.py:40 msgid "D-Bus python bindings are missing in this computer" msgstr "Acesso ao python D-Bus foi perdido neste computador" -#: ../src/common/dbus_support.py:44 +#: ../src/common/dbus_support.py:41 ../src/common/dbus_support.py:51 msgid "D-Bus capabilities of Gajim cannot be used" msgstr "As potencialidades do D-Bus no Gajim não podem ser usadas" +#. only say that to non Windows users +#: ../src/common/dbus_support.py:50 +msgid "D-Bus does not run correctly on this machine" +msgstr "" + #: ../src/common/exceptions.py:30 msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..." msgstr "O pysqlite2 (ou python-pysqlite2) está faltando. Encerrando..." @@ -4860,58 +4811,71 @@ msgid "eleven" msgstr "onze" #. Strings to use for the output. %(0)s will be replaced with the preceding hour -#. (e.g. "x PAST %(0)s"), {1} with the coming hour (e.g. "x TO {1}"). ''' +#. (e.g. "x PAST %(0)s"), %(1)s with the coming hour (e.g. "x TO %(0)s"). ''' #: ../src/common/fuzzyclock.py:44 +#, fuzzy, python-format msgid "%(0)s o'clock" -msgstr "%(0)s horas" +msgstr "$0 horas" #: ../src/common/fuzzyclock.py:44 +#, fuzzy, python-format msgid "five past %(0)s" -msgstr "%(0)s e cinco" +msgstr "$0 e cinco" #: ../src/common/fuzzyclock.py:44 +#, fuzzy, python-format msgid "ten past %(0)s" -msgstr "%(0)s e dez" +msgstr "$0 e dez" #: ../src/common/fuzzyclock.py:45 +#, fuzzy, python-format msgid "quarter past %(0)s" -msgstr "%(0)s e quinze" +msgstr "$0 e quinze" #: ../src/common/fuzzyclock.py:45 +#, fuzzy, python-format msgid "twenty past %(0)s" -msgstr "%(0)s e vinte" +msgstr "$0 e vinte" #: ../src/common/fuzzyclock.py:45 +#, fuzzy, python-format msgid "twenty five past %(0)s" -msgstr "%(0)s e vinte e cinco" +msgstr "$0 e vinte e cinco" #: ../src/common/fuzzyclock.py:46 +#, fuzzy, python-format msgid "half past %(0)s" -msgstr "%(0)s e meia" +msgstr "$0 e meia" #: ../src/common/fuzzyclock.py:46 +#, fuzzy, python-format msgid "twenty five to %(1)s" -msgstr "vinte e cinco para as %(1)s" +msgstr "vinte e cinco para as $1" #: ../src/common/fuzzyclock.py:46 +#, fuzzy, python-format msgid "twenty to %(1)s" -msgstr "vinte para as %(1)s" +msgstr "vinte para as $1" #: ../src/common/fuzzyclock.py:47 +#, fuzzy, python-format msgid "quarter to %(1)s" -msgstr "quinze para as %(1)s" +msgstr "quinze para as $1" #: ../src/common/fuzzyclock.py:47 +#, fuzzy, python-format msgid "ten to %(1)s" -msgstr "dez para as %(1)s" +msgstr "dez para as $1" #: ../src/common/fuzzyclock.py:47 +#, fuzzy, python-format msgid "five to %(1)s" -msgstr "cinco para as %(1)s" +msgstr "cinco para as $1" #: ../src/common/fuzzyclock.py:47 +#, fuzzy, python-format msgid "%(1)s o'clock" -msgstr "%(1)s horas" +msgstr "$1 horas" #: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:51 msgid "Night" @@ -4977,224 +4941,224 @@ msgstr "Caracter inválido no nome do host." msgid "Invalid character in resource." msgstr "Caracter inválido no recurso." -#: ../src/common/helpers.py:190 +#: ../src/common/helpers.py:195 msgid "_Busy" msgstr "_Ocupado" -#: ../src/common/helpers.py:192 +#: ../src/common/helpers.py:197 msgid "Busy" msgstr "Ocupado" -#: ../src/common/helpers.py:195 +#: ../src/common/helpers.py:200 msgid "_Not Available" msgstr "_Não disponível" -#: ../src/common/helpers.py:200 +#: ../src/common/helpers.py:205 msgid "_Free for Chat" msgstr "Livre para _conversa" -#: ../src/common/helpers.py:202 +#: ../src/common/helpers.py:207 msgid "Free for Chat" msgstr "Livre para conversa" -#: ../src/common/helpers.py:205 +#: ../src/common/helpers.py:210 msgid "_Available" msgstr "Dis_ponível" -#: ../src/common/helpers.py:207 ../src/features_window.py:116 +#: ../src/common/helpers.py:212 ../src/features_window.py:116 msgid "Available" msgstr "Disponível" -#: ../src/common/helpers.py:209 +#: ../src/common/helpers.py:214 msgid "Connecting" msgstr "Conectando" -#: ../src/common/helpers.py:212 +#: ../src/common/helpers.py:217 msgid "A_way" msgstr "_Afastado" -#: ../src/common/helpers.py:217 +#: ../src/common/helpers.py:222 msgid "_Offline" msgstr "_Desconectado" -#: ../src/common/helpers.py:219 +#: ../src/common/helpers.py:224 msgid "Offline" msgstr "Desconectado" -#: ../src/common/helpers.py:222 +#: ../src/common/helpers.py:227 msgid "_Invisible" msgstr "_Invisível" -#: ../src/common/helpers.py:228 +#: ../src/common/helpers.py:233 msgid "?contact has status:Unknown" msgstr "?contato tem status:Desconhecido" -#: ../src/common/helpers.py:230 +#: ../src/common/helpers.py:235 msgid "?contact has status:Has errors" msgstr "?contato tem status:Com erros" -#: ../src/common/helpers.py:235 +#: ../src/common/helpers.py:240 msgid "?Subscription we already have:None" msgstr "?Inscrição existente:Nenhuma" -#: ../src/common/helpers.py:237 +#: ../src/common/helpers.py:242 msgid "To" msgstr "Para" -#: ../src/common/helpers.py:241 +#: ../src/common/helpers.py:246 msgid "Both" msgstr "Ambos" -#: ../src/common/helpers.py:249 +#: ../src/common/helpers.py:254 msgid "?Ask (for Subscription):None" msgstr "?Pergunta (para inscrição):Nenhuma" -#: ../src/common/helpers.py:251 +#: ../src/common/helpers.py:256 msgid "Subscribe" msgstr "Inscrever" -#: ../src/common/helpers.py:260 +#: ../src/common/helpers.py:265 msgid "?Group Chat Contact Role:None" msgstr "?Regra do contato para conversa em grupo:Nenhuma" -#: ../src/common/helpers.py:263 +#: ../src/common/helpers.py:268 msgid "Moderators" msgstr "Moderadores" -#: ../src/common/helpers.py:265 +#: ../src/common/helpers.py:270 msgid "Moderator" msgstr "Moderador" -#: ../src/common/helpers.py:268 +#: ../src/common/helpers.py:273 msgid "Participants" msgstr "Participantes" -#: ../src/common/helpers.py:270 +#: ../src/common/helpers.py:275 msgid "Participant" msgstr "Participante" -#: ../src/common/helpers.py:273 +#: ../src/common/helpers.py:278 msgid "Visitors" msgstr "Visitantes" -#: ../src/common/helpers.py:275 +#: ../src/common/helpers.py:280 msgid "Visitor" msgstr "Visitante" -#: ../src/common/helpers.py:281 +#: ../src/common/helpers.py:286 msgid "?Group Chat Contact Affiliation:None" msgstr "?Filiação do contato de conferência:Nenhuma" -#: ../src/common/helpers.py:283 +#: ../src/common/helpers.py:288 msgid "Owner" msgstr "Dono" -#: ../src/common/helpers.py:285 +#: ../src/common/helpers.py:290 msgid "Administrator" msgstr "Administrador" -#: ../src/common/helpers.py:287 +#: ../src/common/helpers.py:292 msgid "Member" msgstr "Membro" -#: ../src/common/helpers.py:324 +#: ../src/common/helpers.py:329 msgid "is paying attention to the conversation" msgstr "está prestando a atenção na conversa" -#: ../src/common/helpers.py:326 +#: ../src/common/helpers.py:331 msgid "is doing something else" msgstr "está fazendo outra coisa" -#: ../src/common/helpers.py:328 +#: ../src/common/helpers.py:333 msgid "is composing a message..." msgstr "está digitando..." #. paused means he or she was composing but has stopped for a while -#: ../src/common/helpers.py:331 +#: ../src/common/helpers.py:336 msgid "paused composing a message" msgstr "parou de digitar" -#: ../src/common/helpers.py:333 +#: ../src/common/helpers.py:338 msgid "has closed the chat window or tab" msgstr "fechou a janela de conversa ou aba" #. GiB means gibibyte -#: ../src/common/helpers.py:653 +#: ../src/common/helpers.py:658 #, python-format msgid "%s GiB" msgstr "%s GiB" #. GB means gigabyte -#: ../src/common/helpers.py:656 +#: ../src/common/helpers.py:661 #, python-format msgid "%s GB" msgstr "%s GB" #. MiB means mibibyte -#: ../src/common/helpers.py:660 +#: ../src/common/helpers.py:665 #, python-format msgid "%s MiB" msgstr "%s MiB" #. MB means megabyte -#: ../src/common/helpers.py:663 +#: ../src/common/helpers.py:668 #, python-format msgid "%s MB" msgstr "%s MB" #. KiB means kibibyte -#: ../src/common/helpers.py:667 +#: ../src/common/helpers.py:672 #, python-format msgid "%s KiB" msgstr "%s KiB" #. KB means kilo bytes -#: ../src/common/helpers.py:670 +#: ../src/common/helpers.py:675 #, python-format msgid "%s KB" msgstr "%s KB" #. B means bytes -#: ../src/common/helpers.py:673 +#: ../src/common/helpers.py:678 #, python-format msgid "%s B" msgstr "%s B" -#: ../src/common/helpers.py:1161 ../src/common/helpers.py:1168 +#: ../src/common/helpers.py:1166 ../src/common/helpers.py:1173 #, python-format msgid "%d message pending" msgid_plural "%d messages pending" msgstr[0] "%d mensagem pendente" msgstr[1] "%d mensagens pendentes" -#: ../src/common/helpers.py:1174 +#: ../src/common/helpers.py:1179 #, python-format msgid " from room %s" msgstr " da sala %s" -#: ../src/common/helpers.py:1177 ../src/common/helpers.py:1196 +#: ../src/common/helpers.py:1182 ../src/common/helpers.py:1201 #, python-format msgid " from user %s" msgstr " do usuário %s" -#: ../src/common/helpers.py:1179 +#: ../src/common/helpers.py:1184 #, python-format msgid " from %s" msgstr " de %s" -#: ../src/common/helpers.py:1186 ../src/common/helpers.py:1193 +#: ../src/common/helpers.py:1191 ../src/common/helpers.py:1198 #, python-format msgid "%d event pending" msgid_plural "%d events pending" msgstr[0] "%d evento pendente" msgstr[1] "%d eventos pendentes" -#: ../src/common/helpers.py:1226 +#: ../src/common/helpers.py:1231 #, python-format msgid "Gajim - %s" msgstr "Gajim - %s" -#: ../src/common/latex.py:123 ../src/common/latex.py:138 +#: ../src/common/latex.py:108 #, python-format msgid "Error executing \"%(command)s\": %(error)s" msgstr "Erro executando \"%(command)s\": %(error)s" @@ -5210,18 +5174,18 @@ msgstr "%s não é um nível de gravação (loglevel) válido" msgid "error: cannot open %s for reading" msgstr "erro: impossível abrir %s para leitura" -#: ../src/common/optparser.py:239 ../src/common/optparser.py:240 +#: ../src/common/optparser.py:243 ../src/common/optparser.py:244 msgid "cyan" msgstr "azul celeste" -#: ../src/common/optparser.py:356 +#: ../src/common/optparser.py:360 msgid "migrating logs database to indices" msgstr "migrando base de dados de registros para índices" #: ../src/common/passwords.py:123 -#, fuzzy, python-format +#, python-format msgid "XMPP account %s@%s" -msgstr "da conta %s" +msgstr "Conta XMPP %s@%s" #: ../src/common/pep.py:30 msgid "Afraid" @@ -5245,7 +5209,7 @@ msgstr "Chateado" #: ../src/common/pep.py:35 msgid "Anxious" -msgstr "Ancioso" +msgstr "Ansioso" #: ../src/common/pep.py:36 msgid "Aroused" @@ -5321,7 +5285,7 @@ msgstr "Desapontado" #: ../src/common/pep.py:54 msgid "Disgusted" -msgstr "Com nojo" +msgstr "Enojado" #: ../src/common/pep.py:55 msgid "Dismayed" @@ -5345,7 +5309,7 @@ msgstr "Excitado" #: ../src/common/pep.py:60 msgid "Flirtatious" -msgstr "Paquerando" +msgstr "Paquerador" #: ../src/common/pep.py:61 msgid "Frustrated" @@ -5417,7 +5381,7 @@ msgstr "Interessado" #: ../src/common/pep.py:78 msgid "Intoxicated" -msgstr "Entoxicado" +msgstr "Intoxicado" #: ../src/common/pep.py:79 msgid "Invincible" @@ -5866,7 +5830,7 @@ msgstr "" "arquivos será cancelada." #. we're not english -#: ../src/common/stanza_session.py:281 +#: ../src/common/stanza_session.py:288 msgid "" "[This is part of an encrypted session. If you see this message, something " "went wrong.]" @@ -5874,7 +5838,7 @@ msgstr "" "[Isto é parte de uma sessão criptografada. Se você estiver vendo esta " "mensagem, alguma coisa vai errada.]" -#: ../src/common/zeroconf/connection_handlers_zeroconf.py:90 +#: ../src/common/zeroconf/connection_handlers_zeroconf.py:94 #, python-format msgid "" "The host %s you configured as the ft_add_hosts_to_send advanced option is " @@ -5883,6 +5847,18 @@ msgstr "" "O computador %s que você especificou na configuração avançada " "ft_override_host_to_send não é válido e será ignorado." +#. We didn't set a passphrase +#: ../src/common/zeroconf/connection_zeroconf.py:175 +msgid "OpenPGP passphrase was not given" +msgstr "Frase de acesso do OpenPGP não foi recebida" + +#. %s is the account name here +#: ../src/common/zeroconf/connection_zeroconf.py:177 +#: ../src/roster_window.py:1911 +#, python-format +msgid "You will be connected to %s without OpenPGP." +msgstr "Você será conectado ao %s sem OpenPGP." + #: ../src/common/zeroconf/connection_zeroconf.py:218 msgid "To continue sending and receiving messages, you will need to reconnect." msgstr "" @@ -5995,59 +5971,58 @@ msgid "status message text" msgstr "texto da mensagem de status" #. Name column -#: ../src/config.py:1306 ../src/dialogs.py:2058 ../src/dialogs.py:2122 -#: ../src/dialogs.py:2815 ../src/disco.py:773 ../src/disco.py:1568 +#: ../src/config.py:1337 ../src/dialogs.py:2089 ../src/dialogs.py:2153 +#: ../src/dialogs.py:2853 ../src/disco.py:773 ../src/disco.py:1568 #: ../src/disco.py:1854 ../src/history_window.py:87 msgid "Name" msgstr "Nome" -#: ../src/config.py:1392 +#: ../src/config.py:1423 msgid "Relogin now?" msgstr "Re-autenticar agora?" -#: ../src/config.py:1393 +#: ../src/config.py:1424 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:1521 ../src/config.py:1643 -#, fuzzy +#: ../src/config.py:1552 ../src/config.py:1674 msgid "OpenPGP is not usable on this computer" msgstr "OpenPGP não disponível neste computador" -#: ../src/config.py:1679 ../src/config.py:1724 +#: ../src/config.py:1710 ../src/config.py:1755 msgid "Unread events" msgstr "Eventos não lidos" -#: ../src/config.py:1680 +#: ../src/config.py:1711 msgid "Read all pending events before removing this account." msgstr "Ler todos os eventos pendentes antes de remover esta conta." -#: ../src/config.py:1706 +#: ../src/config.py:1737 #, python-format msgid "You have opened chat in account %s" msgstr "Você iniciou uma conversa usando a conta %s" -#: ../src/config.py:1707 +#: ../src/config.py:1738 msgid "All chat and groupchat windows will be closed. Do you want to continue?" msgstr "Todas as janelas de conversa e conferência serão fechadas. Confirma?" -#: ../src/config.py:1720 +#: ../src/config.py:1751 msgid "You are currently connected to the server" msgstr "Você está atualmente conectado ao servidor" -#: ../src/config.py:1721 +#: ../src/config.py:1752 msgid "To change the account name, you must be disconnected." msgstr "Para mudar o nome da conta, você deve estar desconectado." -#: ../src/config.py:1725 +#: ../src/config.py:1756 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:1731 +#: ../src/config.py:1762 msgid "Account Name Already Used" msgstr "Nome de conta já está em uso" -#: ../src/config.py:1732 +#: ../src/config.py:1763 msgid "" "This name is already used by another of your accounts. Please choose another " "name." @@ -6055,142 +6030,143 @@ msgstr "" "Este nome já está sendo usado por outra de suas contas. Por favor, escolha " "outro nome." -#: ../src/config.py:1736 ../src/config.py:1740 +#: ../src/config.py:1767 ../src/config.py:1771 msgid "Invalid account name" msgstr "Nome de conta inválido" -#: ../src/config.py:1737 +#: ../src/config.py:1768 msgid "Account name cannot be empty." msgstr "Nome da conta não pode ser vazio." -#: ../src/config.py:1741 +#: ../src/config.py:1772 msgid "Account name cannot contain spaces." msgstr "Nome da conta não pode conter espaços." -#: ../src/config.py:1816 +#: ../src/config.py:1847 msgid "Rename Account" msgstr "Renomear conta" -#: ../src/config.py:1817 +#: ../src/config.py:1848 #, python-format msgid "Enter a new name for account %s" msgstr "Entre com um novo nome para a conta %s" -#: ../src/config.py:1845 +#: ../src/config.py:1876 msgid "A Jabber ID must be in the form \"user@servername\"." msgstr "Um Jabber ID deve ter o seguinte formato \"usuario@nomedoservidor\"." -#: ../src/config.py:2053 ../src/config.py:3237 +#: ../src/config.py:2084 ../src/config.py:3267 msgid "Invalid entry" msgstr "Entrada inválida" -#: ../src/config.py:2054 ../src/config.py:3238 +#: ../src/config.py:2085 ../src/config.py:3268 msgid "Custom port must be a port number." msgstr "A porta do proxy deve ser um número de porta." -#: ../src/config.py:2075 +#: ../src/config.py:2106 msgid "Failed to get secret keys" msgstr "Falha enquanto recebia as chaves secretas" -#: ../src/config.py:2076 -msgid "There was a problem retrieving your OpenPGP secret keys." +#: ../src/config.py:2107 +#, fuzzy +msgid "There is no OpenPGP secret key available." msgstr "Houve um problema no recebimento de suas chaves secretas OpenPGP." -#: ../src/config.py:2111 +#: ../src/config.py:2141 msgid "OpenPGP Key Selection" msgstr "Seleção de chave OpenPGP" -#: ../src/config.py:2112 +#: ../src/config.py:2142 msgid "Choose your OpenPGP key" msgstr "Escolha sua chave OpenPGP" -#: ../src/config.py:2119 +#: ../src/config.py:2149 msgid "No such account available" msgstr "Conta não disponível" -#: ../src/config.py:2120 +#: ../src/config.py:2150 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:2127 ../src/dialogs.py:1910 ../src/dialogs.py:2046 -#: ../src/dialogs.py:2225 ../src/disco.py:441 ../src/profile_window.py:317 +#: ../src/config.py:2157 ../src/dialogs.py:1911 ../src/dialogs.py:2077 +#: ../src/dialogs.py:2256 ../src/disco.py:441 ../src/profile_window.py:317 msgid "You are not connected to the server" msgstr "Você não está conectado ao servidor" -#: ../src/config.py:2128 +#: ../src/config.py:2158 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:2132 +#: ../src/config.py:2162 msgid "Your server doesn't support Vcard" msgstr "Seu servidor não suporta Vcard" -#: ../src/config.py:2133 +#: ../src/config.py:2163 msgid "Your server can't save your personal information." msgstr "Seu servidor não pode salvar suas informações pessoais." -#: ../src/config.py:2164 +#: ../src/config.py:2194 msgid "Account Local already exists." msgstr "Conta local já existe." -#: ../src/config.py:2165 +#: ../src/config.py:2195 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:2348 +#: ../src/config.py:2378 #, python-format msgid "Edit %s" msgstr "Editar %s" -#: ../src/config.py:2350 +#: ../src/config.py:2380 #, python-format msgid "Register to %s" msgstr "Registro para %s" #. list at the beginning -#: ../src/config.py:2386 +#: ../src/config.py:2416 msgid "Ban List" msgstr "Lista de banidos" -#: ../src/config.py:2387 +#: ../src/config.py:2417 msgid "Member List" msgstr "Lista de membros" -#: ../src/config.py:2388 +#: ../src/config.py:2418 msgid "Owner List" msgstr "Lista de proprietários" -#: ../src/config.py:2389 +#: ../src/config.py:2419 msgid "Administrator List" msgstr "Lista de administradores" #. Address column #. holds JID (who said this) -#: ../src/config.py:2438 ../src/disco.py:780 ../src/history_manager.py:208 +#: ../src/config.py:2468 ../src/disco.py:780 ../src/history_manager.py:208 msgid "JID" msgstr "JID" -#: ../src/config.py:2448 +#: ../src/config.py:2478 msgid "Reason" msgstr "Razão" -#: ../src/config.py:2455 +#: ../src/config.py:2485 msgid "Nick" msgstr "Apelido" -#: ../src/config.py:2461 +#: ../src/config.py:2491 msgid "Role" msgstr "Cargo" -#: ../src/config.py:2488 +#: ../src/config.py:2518 msgid "Banning..." msgstr "Banindo..." #. You can move '\n' before user@domain if that line is TOO BIG -#: ../src/config.py:2490 +#: ../src/config.py:2520 msgid "" "Whom do you want to ban?\n" "\n" @@ -6198,11 +6174,11 @@ msgstr "" "Quem você quer banir?\n" "\n" -#: ../src/config.py:2492 +#: ../src/config.py:2522 msgid "Adding Member..." msgstr "Adicionando membro..." -#: ../src/config.py:2493 +#: ../src/config.py:2523 msgid "" "Whom do you want to make a member?\n" "\n" @@ -6210,11 +6186,11 @@ msgstr "" "Quem você quer fazer como membro?\n" "\n" -#: ../src/config.py:2495 +#: ../src/config.py:2525 msgid "Adding Owner..." msgstr "Adicionando proprietário..." -#: ../src/config.py:2496 +#: ../src/config.py:2526 msgid "" "Whom do you want to make an owner?\n" "\n" @@ -6222,11 +6198,11 @@ msgstr "" "Quem você quer tornar um proprietário?\n" "\n" -#: ../src/config.py:2498 +#: ../src/config.py:2528 msgid "Adding Administrator..." msgstr "Adicionando administrador..." -#: ../src/config.py:2499 +#: ../src/config.py:2529 msgid "" "Whom do you want to make an administrator?\n" "\n" @@ -6234,8 +6210,7 @@ msgstr "" "Quem você quer tornar um administrador?\n" "\n" -#: ../src/config.py:2500 -#, fuzzy +#: ../src/config.py:2530 msgid "" "Can be one of the following:\n" "1. user@domain/resource (only that resource matches).\n" @@ -6245,64 +6220,64 @@ msgid "" "domain/resource, or address containing a subdomain)." msgstr "" "Pode ser uma dos seguintes:\n" -"1.usuario@dominio/recurso (somente este recurso combina).\n" +"1. usuario@dominio/recurso (somente este recurso combina).\n" "2. usuario@dominio (qualquer recurso combina).\n" "3. domínio/recurso (somente este recurso combina).\n" "4. domínio (o domínio combina por si com qualquer usuario@dominio,\n" "domínio/recurso, ou endereço contendo um subdomínio." -#: ../src/config.py:2597 +#: ../src/config.py:2627 #, python-format msgid "Removing %s account" msgstr "Removendo %s conta" -#: ../src/config.py:2619 ../src/gajim.py:1465 ../src/gajim.py:1557 +#: ../src/config.py:2649 ../src/gajim.py:1484 ../src/gajim.py:1581 msgid "Password Required" msgstr "Senha é obrigatória" -#: ../src/config.py:2620 ../src/gajim.py:1537 +#: ../src/config.py:2650 ../src/gajim.py:1561 #, python-format msgid "Enter your password for account %s" msgstr "Entre com a senha para conta %s" -#: ../src/config.py:2621 ../src/gajim.py:1557 +#: ../src/config.py:2651 ../src/gajim.py:1581 msgid "Save password" msgstr "Salvar senha" -#: ../src/config.py:2630 +#: ../src/config.py:2660 #, python-format msgid "Account \"%s\" is connected to the server" msgstr "Conta \"%s\" está conectada ao servidor" -#: ../src/config.py:2631 +#: ../src/config.py:2661 msgid "If you remove it, the connection will be lost." msgstr "Se você remover-lo, a conexão será perdida." -#: ../src/config.py:2729 +#: ../src/config.py:2759 msgid "Default" msgstr "Padrão" -#: ../src/config.py:2729 +#: ../src/config.py:2759 msgid "?print_status:All" msgstr "?exibir_status:Todos" -#: ../src/config.py:2730 +#: ../src/config.py:2760 msgid "Enter and leave only" msgstr "Apenas entre e saia" -#: ../src/config.py:2731 +#: ../src/config.py:2761 msgid "?print_status:None" msgstr "?exibir_status:Nenhum" -#: ../src/config.py:2799 +#: ../src/config.py:2829 msgid "New Group Chat" msgstr "Nova conferência" -#: ../src/config.py:2832 +#: ../src/config.py:2862 msgid "This bookmark has invalid data" msgstr "Este marcador tem dados inválidos" -#: ../src/config.py:2833 +#: ../src/config.py:2863 msgid "" "Please be sure to fill out server and room fields or remove this bookmark." msgstr "" @@ -6310,31 +6285,29 @@ msgstr "" "este marcador." #. invalid char -#. Invalid Nickname -#: ../src/config.py:2951 ../src/dialogs.py:1722 -#: ../src/groupchat_control.py:1471 +#: ../src/config.py:2981 ../src/dialogs.py:1724 msgid "Invalid nickname" msgstr "Apelido inválido" -#: ../src/config.py:2952 ../src/config.py:2966 ../src/config.py:2980 +#: ../src/config.py:2982 ../src/config.py:2996 ../src/config.py:3010 #, fuzzy msgid "Character not allowed" msgstr "Apelido não permitido: %s" -#: ../src/config.py:2965 ../src/config.py:3213 +#: ../src/config.py:2995 ../src/config.py:3243 msgid "Invalid server" msgstr "Servidor inválido" -#: ../src/config.py:2979 +#: ../src/config.py:3009 #, fuzzy msgid "Invalid room" msgstr "Entrada inválida" -#: ../src/config.py:3130 +#: ../src/config.py:3160 msgid "Account has been added successfully" msgstr "Conta foi adicionada com sucesso" -#: ../src/config.py:3131 ../src/config.py:3137 +#: ../src/config.py:3161 ../src/config.py:3167 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 " @@ -6344,34 +6317,34 @@ msgstr "" "avançado, ou mais tarde clicando em contas no menu editar da janela " "principal." -#: ../src/config.py:3136 +#: ../src/config.py:3166 msgid "Your new account has been created successfully" msgstr "Sua nova conta foi criada com sucesso" -#: ../src/config.py:3174 +#: ../src/config.py:3204 msgid "Invalid username" msgstr "Nome de usuário inválido" -#: ../src/config.py:3176 +#: ../src/config.py:3206 msgid "You must provide a username to configure this account." msgstr "Você deve entrar com um nome para configurar esta conta." -#: ../src/config.py:3214 +#: ../src/config.py:3244 msgid "Please provide a server on which you want to register." msgstr "Por favor, forneça um servidor no qual você queira se registrar." -#: ../src/config.py:3270 ../src/gajim.py:2107 +#: ../src/config.py:3300 ../src/gajim.py:2131 msgid "Certificate Already in File" msgstr "Certificado já está no arquivo" -#: ../src/config.py:3271 ../src/gajim.py:2108 +#: ../src/config.py:3301 ../src/gajim.py:2132 #, python-format msgid "This certificate is already in file %s, so it's not added again." msgstr "" "Este certificado já está no arquivo %s, então, ele não será adicionado " "novamente." -#: ../src/config.py:3339 +#: ../src/config.py:3369 #, python-format msgid "" "Security Warning\n" @@ -6386,7 +6359,7 @@ msgstr "" "Erro do SSL: %(error)s\n" "Você ainda quer conectar com este servidor?" -#: ../src/config.py:3345 ../src/gajim.py:2132 +#: ../src/config.py:3375 ../src/gajim.py:2156 #, python-format msgid "" "Add this certificate to the list of trusted certificates.\n" @@ -6397,59 +6370,59 @@ msgstr "" "SHA1 fingerprint do certificado:\n" "%s" -#: ../src/config.py:3370 ../src/config.py:3393 +#: ../src/config.py:3400 ../src/config.py:3423 msgid "An error occurred during account creation" msgstr "Um erro ocorreu durante a criação da conta" -#: ../src/config.py:3460 +#: ../src/config.py:3490 msgid "Account name is in use" msgstr "Nome de conta em uso" -#: ../src/config.py:3461 +#: ../src/config.py:3491 msgid "You already have an account using this name." msgstr "Você já tem uma conta usando este nome." -#: ../src/config.py:3614 +#: ../src/config.py:3644 msgid "Active" msgstr "Ativo" -#: ../src/config.py:3622 +#: ../src/config.py:3652 msgid "Event" msgstr "Evento" -#: ../src/config.py:3657 +#: ../src/config.py:3687 msgid "First Message Received" msgstr "Primeira mensagem recebida" -#: ../src/config.py:3658 +#: ../src/config.py:3688 msgid "Next Message Received Focused" msgstr "Nova mensagem recebida com foco" -#: ../src/config.py:3660 +#: ../src/config.py:3690 msgid "Next Message Received Unfocused" msgstr "Nova mensagem recebida sem foco" -#: ../src/config.py:3661 +#: ../src/config.py:3691 msgid "Contact Connected" msgstr "Contato conectado" -#: ../src/config.py:3662 +#: ../src/config.py:3692 msgid "Contact Disconnected" msgstr "Contato desconectou" -#: ../src/config.py:3663 +#: ../src/config.py:3693 msgid "Message Sent" msgstr "Mensagem enviada" -#: ../src/config.py:3664 +#: ../src/config.py:3694 msgid "Group Chat Message Highlight" msgstr "Mensagem destacada de conferência" -#: ../src/config.py:3665 +#: ../src/config.py:3695 msgid "Group Chat Message Received" msgstr "Mensagem de conferência recebida" -#: ../src/config.py:3666 +#: ../src/config.py:3696 msgid "GMail Email Received" msgstr "Email do GMail recebido" @@ -6472,9 +6445,8 @@ msgstr "" "última vez onde você prestou a atenção a conferência" #: ../src/conversation_textview.py:702 -#, fuzzy msgid "_Quote" -msgstr "_Sair" +msgstr "_Frase" #: ../src/conversation_textview.py:709 #, python-format @@ -6508,37 +6480,37 @@ msgstr "_Procura na web por isto" msgid "Open as _Link" msgstr "Abrir como _link" -#: ../src/conversation_textview.py:1221 +#: ../src/conversation_textview.py:1243 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:1225 +#: ../src/conversation_textview.py:1247 #, python-format msgid "%i days ago" msgstr "%i dias atrás" #. if we have subject, show it too! -#: ../src/conversation_textview.py:1259 +#: ../src/conversation_textview.py:1281 #, python-format msgid "Subject: %s\n" msgstr "Assunto: %s\n" -#: ../src/dataforms_widget.py:541 +#: ../src/dataforms_widget.py:559 msgid "Jabber ID already in list" msgstr "Jabber ID já existente na lista" -#: ../src/dataforms_widget.py:542 +#: ../src/dataforms_widget.py:560 msgid "The Jabber ID you entered is already in the list. Choose another one." msgstr "O Jabber ID que você forneceu já está na lista. Escolha outro." #. Default jid -#: ../src/dataforms_widget.py:553 +#: ../src/dataforms_widget.py:571 msgid "new@jabber.id" msgstr "novo@jabber.id" -#: ../src/dataforms_widget.py:556 ../src/dataforms_widget.py:558 +#: ../src/dataforms_widget.py:574 ../src/dataforms_widget.py:576 #, python-format msgid "new%d@jabber.id" msgstr "novo%d@jabber.id" @@ -6707,89 +6679,99 @@ msgstr "" "\n" "O recurso de destacar palavras grafadas incorretamente não será usado" -#: ../src/dialogs.py:1723 ../src/dialogs.py:2002 -#: ../src/groupchat_control.py:1472 +#: ../src/dialogs.py:1725 ../src/dialogs.py:2032 msgid "The nickname has not allowed characters." msgstr "O apelido possui caracteres não permitidos." -#: ../src/dialogs.py:1835 +#: ../src/dialogs.py:1837 #, python-format msgid "Subscription request for account %(account)s from %(jid)s" msgstr "Solicitação de inscrição para conta %(account)s de %(jid)s" -#: ../src/dialogs.py:1838 +#: ../src/dialogs.py:1840 #, python-format msgid "Subscription request from %s" msgstr "Solicitação de inscrição de %s" -#: ../src/dialogs.py:1903 ../src/gajim.py:2780 +#: ../src/dialogs.py:1906 ../src/gajim.py:2804 #, python-format msgid "You are already in group chat %s" msgstr "Você já está na conferência %s" -#: ../src/dialogs.py:1911 +#: ../src/dialogs.py:1912 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:1930 +#: ../src/dialogs.py:1948 #, python-format msgid "Join Group Chat with account %s" msgstr "Ingressar numa conferência com a conta %s" -#: ../src/dialogs.py:2001 +#: ../src/dialogs.py:2021 +#, fuzzy +msgid "Invalid Account" +msgstr "Nome de conta inválido" + +#: ../src/dialogs.py:2022 +#, fuzzy +msgid "" +"You have to choose an account from which you want to join the groupchat." +msgstr "Selecione a conta que você quer para entrar na sala" + +#: ../src/dialogs.py:2031 msgid "Invalid Nickname" msgstr "Apelido inválido" -#: ../src/dialogs.py:2006 ../src/dialogs.py:2012 -#: ../src/groupchat_control.py:1970 +#: ../src/dialogs.py:2036 ../src/dialogs.py:2042 +#: ../src/groupchat_control.py:1731 msgid "Invalid group chat Jabber ID" msgstr "Jabber ID da conferência inválido:" -#: ../src/dialogs.py:2007 ../src/dialogs.py:2013 -#: ../src/groupchat_control.py:1971 +#: ../src/dialogs.py:2037 ../src/dialogs.py:2043 +#: ../src/groupchat_control.py:1732 msgid "The group chat Jabber ID has not allowed characters." msgstr "O Jabber ID da conferência possui caracteres não permitidos." -#: ../src/dialogs.py:2019 +#: ../src/dialogs.py:2050 msgid "This is not a group chat" msgstr "Isto não é uma conferência" -#: ../src/dialogs.py:2020 +#: ../src/dialogs.py:2051 #, python-format msgid "%s is not the name of a group chat." msgstr "%s não é o nome da conferência." -#: ../src/dialogs.py:2047 +#: ../src/dialogs.py:2078 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:2061 +#: ../src/dialogs.py:2092 msgid "Server" msgstr "Servidor" -#: ../src/dialogs.py:2094 +#: ../src/dialogs.py:2125 msgid "This account is not connected to the server" msgstr "Esta conta não está conectada ao servidor" -#: ../src/dialogs.py:2095 +#: ../src/dialogs.py:2126 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:2119 +#: ../src/dialogs.py:2150 msgid "Synchronise" msgstr "Sincronizar" -#: ../src/dialogs.py:2177 +#: ../src/dialogs.py:2208 #, python-format msgid "Start Chat with account %s" msgstr "Iniciar uma conferência com a conta %s" -#: ../src/dialogs.py:2179 +#: ../src/dialogs.py:2210 msgid "Start Chat" msgstr "Iniciar conversa" -#: ../src/dialogs.py:2180 +#: ../src/dialogs.py:2211 msgid "" "Fill in the nickname or the Jabber ID of the contact you would like\n" "to send a chat message to:" @@ -6798,300 +6780,300 @@ msgstr "" "você quer enviar uma mensagem:" #. if offline or connecting -#: ../src/dialogs.py:2204 ../src/dialogs.py:2577 ../src/dialogs.py:2739 +#: ../src/dialogs.py:2235 ../src/dialogs.py:2615 ../src/dialogs.py:2777 msgid "Connection not available" msgstr "Conexão não disponível" -#: ../src/dialogs.py:2205 ../src/dialogs.py:2578 ../src/dialogs.py:2740 +#: ../src/dialogs.py:2236 ../src/dialogs.py:2616 ../src/dialogs.py:2778 #, 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:2214 ../src/dialogs.py:2217 +#: ../src/dialogs.py:2245 ../src/dialogs.py:2248 msgid "Invalid JID" msgstr "JID inválido:" -#: ../src/dialogs.py:2217 +#: ../src/dialogs.py:2248 #, python-format msgid "Unable to parse \"%s\"." msgstr "Impossível gravar o arquivo em \"%s\"." -#: ../src/dialogs.py:2226 +#: ../src/dialogs.py:2257 msgid "Without a connection, you can not change your password." msgstr "Você deve estar conectado para mudar sua senha." -#: ../src/dialogs.py:2245 +#: ../src/dialogs.py:2276 msgid "Invalid password" msgstr "Senha inválida" -#: ../src/dialogs.py:2245 +#: ../src/dialogs.py:2276 msgid "You must enter a password." msgstr "Você deve entrar com uma senha." -#: ../src/dialogs.py:2249 +#: ../src/dialogs.py:2280 msgid "Passwords do not match" msgstr "Senhas não conferem" -#: ../src/dialogs.py:2250 +#: ../src/dialogs.py:2281 msgid "The passwords typed in both fields must be identical." msgstr "As senhas digitadas em ambos os campos devem ser idênticas." #. img to display #. default value -#: ../src/dialogs.py:2289 ../src/notify.py:257 ../src/notify.py:491 +#: ../src/dialogs.py:2320 ../src/notify.py:257 ../src/notify.py:491 msgid "Contact Signed In" msgstr "Contato conectou" -#: ../src/dialogs.py:2291 ../src/notify.py:265 ../src/notify.py:493 +#: ../src/dialogs.py:2322 ../src/notify.py:265 ../src/notify.py:493 msgid "Contact Signed Out" msgstr "Contato desconectou" #. chat message #. img to display -#: ../src/dialogs.py:2293 ../src/notify.py:288 ../src/notify.py:342 +#: ../src/dialogs.py:2324 ../src/notify.py:288 ../src/notify.py:342 #: ../src/notify.py:495 msgid "New Message" msgstr "Nova mensagem" #. single message -#: ../src/dialogs.py:2293 ../src/notify.py:269 ../src/notify.py:343 +#: ../src/dialogs.py:2324 ../src/notify.py:269 ../src/notify.py:343 #: ../src/notify.py:495 msgid "New Single Message" msgstr "Nova mensagem" #. private message -#: ../src/dialogs.py:2294 ../src/notify.py:276 ../src/notify.py:343 +#: ../src/dialogs.py:2325 ../src/notify.py:276 ../src/notify.py:343 #: ../src/notify.py:496 msgid "New Private Message" msgstr "Enviar mensagem privada" -#: ../src/dialogs.py:2294 ../src/gajim.py:1673 ../src/notify.py:505 +#: ../src/dialogs.py:2325 ../src/gajim.py:1697 ../src/notify.py:505 msgid "New E-mail" msgstr "Novo e-mail" -#: ../src/dialogs.py:2296 ../src/gajim.py:1739 ../src/notify.py:498 +#: ../src/dialogs.py:2327 ../src/gajim.py:1763 ../src/notify.py:498 msgid "File Transfer Request" msgstr "Solicitação de transferência de arquivos" -#: ../src/dialogs.py:2298 ../src/gajim.py:1639 ../src/gajim.py:1706 +#: ../src/dialogs.py:2329 ../src/gajim.py:1663 ../src/gajim.py:1730 #: ../src/notify.py:500 msgid "File Transfer Error" msgstr "Erro na transferência de arquivos" -#: ../src/dialogs.py:2300 ../src/gajim.py:1784 ../src/gajim.py:1806 -#: ../src/gajim.py:1823 ../src/notify.py:502 +#: ../src/dialogs.py:2331 ../src/gajim.py:1808 ../src/gajim.py:1830 +#: ../src/gajim.py:1847 ../src/notify.py:502 msgid "File Transfer Completed" msgstr "Transferência do arquivo completa" -#: ../src/dialogs.py:2301 ../src/gajim.py:1787 ../src/notify.py:503 +#: ../src/dialogs.py:2332 ../src/gajim.py:1811 ../src/notify.py:503 msgid "File Transfer Stopped" msgstr "Transferência do arquivo parada" -#: ../src/dialogs.py:2303 ../src/gajim.py:1486 ../src/notify.py:507 +#: ../src/dialogs.py:2334 ../src/gajim.py:1505 ../src/notify.py:507 msgid "Groupchat Invitation" msgstr "Convite para conferência" -#: ../src/dialogs.py:2305 ../src/notify.py:249 ../src/notify.py:509 +#: ../src/dialogs.py:2336 ../src/notify.py:249 ../src/notify.py:509 msgid "Contact Changed Status" msgstr "O contato alterou seu status" -#: ../src/dialogs.py:2496 +#: ../src/dialogs.py:2534 #, python-format msgid "Single Message using account %s" msgstr "Mensagem simples usando conta %s" -#: ../src/dialogs.py:2498 +#: ../src/dialogs.py:2536 #, python-format msgid "Single Message in account %s" msgstr "Mensagem simples na conta %s" -#: ../src/dialogs.py:2500 +#: ../src/dialogs.py:2538 msgid "Single Message" msgstr "Mensagem simples" #. prepare UI for Sending -#: ../src/dialogs.py:2503 +#: ../src/dialogs.py:2541 #, python-format msgid "Send %s" msgstr "Enviar %s" #. prepare UI for Receiving -#: ../src/dialogs.py:2526 +#: ../src/dialogs.py:2564 #, python-format msgid "Received %s" msgstr "Recebido %s" #. prepare UI for Receiving -#: ../src/dialogs.py:2549 +#: ../src/dialogs.py:2587 #, python-format msgid "Form %s" msgstr "Formulário %s" #. we create a new blank window to send and we preset RE: and to jid -#: ../src/dialogs.py:2628 +#: ../src/dialogs.py:2666 #, python-format msgid "RE: %s" msgstr "RE: %s" -#: ../src/dialogs.py:2629 +#: ../src/dialogs.py:2667 #, python-format msgid "%s wrote:\n" msgstr "%s escreveu:\n" -#: ../src/dialogs.py:2678 +#: ../src/dialogs.py:2716 #, python-format msgid "XML Console for %s" msgstr "Console XML para %s" -#: ../src/dialogs.py:2680 +#: ../src/dialogs.py:2718 msgid "XML Console" msgstr "Console XML" #. Set labels #. self.action can be 'add', 'modify' or 'remove' -#: ../src/dialogs.py:2789 +#: ../src/dialogs.py:2827 #, fuzzy, python-format msgid "%s would like you to %s some contacts in your roster." msgstr "Por favor, eu gostaria de adicioná-lo à minha lista." -#: ../src/dialogs.py:2804 ../src/dialogs.py:2851 +#: ../src/dialogs.py:2842 ../src/dialogs.py:2889 #, fuzzy msgid "Add" msgstr "Endereço" -#: ../src/dialogs.py:2806 ../src/dialogs.py:2883 +#: ../src/dialogs.py:2844 ../src/dialogs.py:2921 #, fuzzy msgid "Modify" msgstr "Mal-humorado" -#: ../src/dialogs.py:2812 +#: ../src/dialogs.py:2850 #, fuzzy msgid "Jabber ID" msgstr "Jabber ID:" -#: ../src/dialogs.py:2818 +#: ../src/dialogs.py:2856 #, fuzzy msgid "Groups" msgstr "Grupo" #. it is selected #. remote_jid = model[iter][1].decode('utf-8') -#: ../src/dialogs.py:2929 +#: ../src/dialogs.py:2967 #, fuzzy, python-format msgid "%s suggested me to add you in my roster." msgstr "Eu gostaria de adiciona-lo à minha lista." -#: ../src/dialogs.py:3029 +#: ../src/dialogs.py:3067 #, python-format msgid "Privacy List %s" msgstr "Lista de privacidade %s" -#: ../src/dialogs.py:3033 +#: ../src/dialogs.py:3071 #, python-format msgid "Privacy List for %s" msgstr "Lista de privacidade para %s" -#: ../src/dialogs.py:3089 +#: ../src/dialogs.py:3127 #, python-format msgid "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" msgstr "Ordem: %(order)s, ação: %(action)s tipo: %(type)s, valor: %(value)s" -#: ../src/dialogs.py:3094 +#: ../src/dialogs.py:3132 #, python-format msgid "Order: %(order)s, action: %(action)s" msgstr "Ordem: %(order)s, ação: %(action)s" -#: ../src/dialogs.py:3136 +#: ../src/dialogs.py:3174 msgid "Edit a rule" msgstr "Editar uma regra" -#: ../src/dialogs.py:3223 +#: ../src/dialogs.py:3261 msgid "Add a rule" msgstr "Adicionar uma regra" -#: ../src/dialogs.py:3319 +#: ../src/dialogs.py:3357 #, python-format msgid "Privacy Lists for %s" msgstr "Lista de privacidade para %s" -#: ../src/dialogs.py:3321 +#: ../src/dialogs.py:3359 msgid "Privacy Lists" msgstr "Listas de privacidade" -#: ../src/dialogs.py:3391 +#: ../src/dialogs.py:3429 msgid "Invalid List Name" msgstr "Nome de lista inválido" -#: ../src/dialogs.py:3392 +#: ../src/dialogs.py:3430 msgid "You must enter a name to create a privacy list." msgstr "Você deve digitar um nome para criar uma lista de privacidade." -#: ../src/dialogs.py:3424 +#: ../src/dialogs.py:3462 msgid "You are invited to a groupchat" msgstr "Você foi convidado para uma conferência" -#: ../src/dialogs.py:3427 +#: ../src/dialogs.py:3465 msgid "$Contact has invited you to join a discussion" msgstr "$Contact convidou você para ingressar em uma discussão" -#: ../src/dialogs.py:3429 +#: ../src/dialogs.py:3467 #, 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" -#: ../src/dialogs.py:3437 +#: ../src/dialogs.py:3475 #, python-format msgid "Comment: %s" msgstr "Comentário: %s" -#: ../src/dialogs.py:3439 +#: ../src/dialogs.py:3477 msgid "Do you want to accept the invitation?" msgstr "Você quer aceitar este convite?" -#: ../src/dialogs.py:3495 +#: ../src/dialogs.py:3533 msgid "Choose Sound" msgstr "Escolher som" -#: ../src/dialogs.py:3505 ../src/dialogs.py:3559 +#: ../src/dialogs.py:3543 ../src/dialogs.py:3597 msgid "All files" msgstr "Todos os arquivos" -#: ../src/dialogs.py:3510 +#: ../src/dialogs.py:3548 msgid "Wav Sounds" msgstr "Sons wav" -#: ../src/dialogs.py:3546 +#: ../src/dialogs.py:3584 msgid "Choose Image" msgstr "Escolha imagem" -#: ../src/dialogs.py:3564 +#: ../src/dialogs.py:3602 msgid "Images" msgstr "Imagens" -#: ../src/dialogs.py:3629 +#: ../src/dialogs.py:3667 #, python-format msgid "When %s becomes:" msgstr "Quando %s chega:" -#: ../src/dialogs.py:3631 +#: ../src/dialogs.py:3669 #, python-format msgid "Adding Special Notification for %s" msgstr "Adicionando notificação especial para %s" #. # means number -#: ../src/dialogs.py:3700 +#: ../src/dialogs.py:3738 msgid "#" msgstr "#" -#: ../src/dialogs.py:3706 +#: ../src/dialogs.py:3744 msgid "Condition" msgstr "Condição" -#: ../src/dialogs.py:3824 +#: ../src/dialogs.py:3862 msgid "when I am " msgstr "quando eu estiver " -#: ../src/dialogs.py:4296 +#: ../src/dialogs.py:4334 #, python-format msgid "" "Your chat session with %(jid)s is encrypted.\n" @@ -7102,19 +7084,19 @@ msgstr "" "\n" "A String Curta de Autenticação (SAS) da sessão é %(sas)s." -#: ../src/dialogs.py:4300 +#: ../src/dialogs.py:4338 msgid "You have already verified this contact's identity." msgstr "Você já verificou a identidade deste contato." -#: ../src/dialogs.py:4306 ../src/dialogs.py:4393 +#: ../src/dialogs.py:4344 ../src/dialogs.py:4431 msgid "Contact's identity verified" msgstr "Identidade do contato verificada" -#: ../src/dialogs.py:4314 +#: ../src/dialogs.py:4352 msgid "Verify again..." msgstr "Verificar novamente..." -#: ../src/dialogs.py:4319 +#: ../src/dialogs.py:4357 msgid "" "To be certain that only the expected person can read your messages or " "send you messages, you need to verify their identity by clicking the button " @@ -7124,19 +7106,19 @@ msgstr "" "mensagens e enviar mensagens, você precisa verificar a identidade dela " "clicando no botão abaixo." -#: ../src/dialogs.py:4322 ../src/dialogs.py:4374 ../src/dialogs.py:4387 +#: ../src/dialogs.py:4360 ../src/dialogs.py:4412 ../src/dialogs.py:4425 msgid "Contact's identity NOT verified" msgstr "A identidade do contato NÃO foi verificada" -#: ../src/dialogs.py:4329 +#: ../src/dialogs.py:4367 msgid "Verify..." msgstr "Verificar..." -#: ../src/dialogs.py:4341 +#: ../src/dialogs.py:4379 msgid "Have you verified the contact's identity?" msgstr "Você verificou a identidade deste contato?" -#: ../src/dialogs.py:4342 +#: ../src/dialogs.py:4380 #, python-format msgid "" "To prevent talking to an unknown person, you should speak to %(jid)s " @@ -7151,24 +7133,24 @@ msgstr "" "\n" "Esta String de Autenticação Curta é %(sas)s." -#: ../src/dialogs.py:4343 +#: ../src/dialogs.py:4381 msgid "Did you talk to the remote contact and verify the SAS?" msgstr "Você quer falar com o contato remoto e verificar a SAS?" -#: ../src/dialogs.py:4375 +#: ../src/dialogs.py:4413 #, python-format msgid "The contact's key (%s) does not match the key assigned in Gajim." msgstr "" "A chave do contato (%s) não corresponde com a chave atribuída no " "Gajim." -#: ../src/dialogs.py:4381 +#: ../src/dialogs.py:4419 msgid "No GPG key is assigned to this contact. So you cannot encrypt messages." msgstr "" "Nenhuma chave GPG está atribuída para este contato. Então, você não pode " "criptografar mensagens." -#: ../src/dialogs.py:4388 +#: ../src/dialogs.py:4426 msgid "" "GPG key is assigned to this contact, but you do not trust his key, so " "message cannot be encrypted. Use your GPG client to trust this key." @@ -7177,7 +7159,7 @@ msgstr "" "nesta chave, então as mensagens não podem ser criptografadas. Use " "seu cliente de GPG para validar esta chave." -#: ../src/dialogs.py:4394 +#: ../src/dialogs.py:4432 msgid "" "GPG Key is assigned to this contact, and you trust his key, so messages will " "be encrypted." @@ -7272,20 +7254,20 @@ msgstr "Descrição" msgid "Id" msgstr "Id" -#: ../src/disco.py:1659 ../src/gajim.py:3178 +#: ../src/disco.py:1659 ../src/gajim.py:3289 msgid "Bookmark already set" msgstr "Marcador já configurado" -#: ../src/disco.py:1660 ../src/gajim.py:3179 +#: ../src/disco.py:1660 ../src/gajim.py:3290 #, python-format msgid "Group Chat \"%s\" is already in your bookmarks." msgstr "A sala \"%s\" já existe nos marcadores." -#: ../src/disco.py:1669 ../src/gajim.py:3192 +#: ../src/disco.py:1669 ../src/gajim.py:3303 msgid "Bookmark has been added successfully" msgstr "Marcador foi adicionado com sucesso" -#: ../src/disco.py:1670 ../src/gajim.py:3193 +#: ../src/disco.py:1670 ../src/gajim.py:3304 msgid "You can manage your bookmarks via Actions menu in your roster." msgstr "" "Você pode gerenciar seus marcadores pelo menu de ações na janela principal." @@ -7298,22 +7280,21 @@ msgstr "Inscrito" msgid "Node" msgstr "Nó" -#: ../src/disco.py:1928 +#: ../src/disco.py:1933 msgid "New post" msgstr "Nova postagem" -#: ../src/disco.py:1934 +#: ../src/disco.py:1939 msgid "_Subscribe" msgstr "_Inscrever" -#: ../src/disco.py:1940 +#: ../src/disco.py:1945 msgid "_Unsubscribe" msgstr "_Desinscrever" #: ../src/features_window.py:46 -#, fuzzy msgid "SSL certificat validation" -msgstr "Erro de certificado SSL" +msgstr "Validação de certificado SSL" #: ../src/features_window.py:47 msgid "" @@ -7345,9 +7326,8 @@ msgid "Requires pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)." msgstr "Requer pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)." #: ../src/features_window.py:54 -#, fuzzy msgid "Command line" -msgstr "Comandos: %s" +msgstr "Linha de comando" #: ../src/features_window.py:55 msgid "A script to control Gajim via commandline." @@ -7365,23 +7345,20 @@ msgid "Feature not available under Windows." msgstr "Recurso não disponível no Windows." #: ../src/features_window.py:58 -#, fuzzy msgid "OpenGPG message encryption" -msgstr "Criptografia OpenPGP" +msgstr "Criptografia de mensagem OpenPGP" #: ../src/features_window.py:59 -#, fuzzy msgid "Encrypting chat messages with gpg keys." -msgstr "Criptografando as mensagens das conversas com chaves GPG." +msgstr "Criptografando as mensagens das conversas com chaves gpg." #: ../src/features_window.py:60 msgid "Requires gpg and python-GnuPGInterface." msgstr "Requer gpg e python-GnuPGInterface." #: ../src/features_window.py:62 -#, fuzzy msgid "Network-manager" -msgstr "network-manager" +msgstr "Network-manager" #: ../src/features_window.py:63 msgid "Autodetection of network status." @@ -7404,9 +7381,8 @@ msgid "Requires python-gnome2." msgstr "Requer python-gnome2." #: ../src/features_window.py:70 -#, fuzzy msgid "Password encryption" -msgstr "Senhas para entrar na sala" +msgstr "Criptografia de senha" #: ../src/features_window.py:71 msgid "Passwords can be stored securely and not just in plaintext." @@ -7444,14 +7420,12 @@ msgid "Spellchecking of composed messages." msgstr "Verificação ortográfica das mensagens escritas." #: ../src/features_window.py:80 -#, fuzzy msgid "Requires libgtkspell." -msgstr "Requer python-sexy." +msgstr "Requer libgtkspell." #: ../src/features_window.py:82 -#, fuzzy msgid "Notification" -msgstr "Notificações" +msgstr "Notificação" #: ../src/features_window.py:83 msgid "Passive popups notifying for new events." @@ -7485,9 +7459,8 @@ msgid "Requires PyGTK >= 2.10." msgstr "Requer PyGTK >= 2.10." #: ../src/features_window.py:90 -#, fuzzy msgid "Automatic status" -msgstr "_Ajustar para status" +msgstr "Status automático" #: ../src/features_window.py:91 msgid "Ability to measure idle time, in order to set auto status." @@ -7496,12 +7469,11 @@ msgstr "" #: ../src/features_window.py:92 msgid "Requires libxss library." -msgstr "" +msgstr "Requer biblioteca libxss." #: ../src/features_window.py:93 -#, fuzzy msgid "Requires python2.5." -msgstr "Requer python-gnome2." +msgstr "Requer python2.5" #: ../src/features_window.py:94 msgid "LaTeX" @@ -7529,14 +7501,12 @@ msgstr "" "avançadas." #: ../src/features_window.py:98 -#, fuzzy msgid "End to End message encryption" -msgstr "Criptografia End to End (E2EE)" +msgstr "Criptografia de mensagem End to End" #: ../src/features_window.py:99 -#, fuzzy msgid "Encrypting chat messages." -msgstr "Criptografando mensagens." +msgstr "Criptografando mensagens da conversa." #: ../src/features_window.py:100 ../src/features_window.py:101 msgid "Requires python-crypto." @@ -7560,7 +7530,7 @@ msgstr "Requer python-docutils." #: ../src/features_window.py:106 msgid "Banners and clickable links" -msgstr "" +msgstr "Banners e links clicáveis" #: ../src/features_window.py:107 msgid "Ability to have clickable URLs in chat and groupchat window banners." @@ -7768,31 +7738,27 @@ msgstr "O Gajim necessita do servidor X para rodar. Encerrando..." msgid "importing PyGTK failed: %s" msgstr "" -#: ../src/gajim.py:170 -#, fuzzy -msgid "Gajim needs PyGTK 2.12 or above" -msgstr "O Gajim necessita do PyGTK 2.8 ou superior" - #: ../src/gajim.py:171 -#, fuzzy -msgid "Gajim needs PyGTK 2.12 or above to run. Quiting..." -msgstr "O Gajim necessita do PyGTK 2.8 ou superior para rodar. Encerrando..." +msgid "Gajim needs PyGTK 2.12 or above" +msgstr "O Gajim necessita do PyGTK 2.12 ou superior" -#: ../src/gajim.py:173 -#, fuzzy -msgid "Gajim needs GTK 2.12 or above" -msgstr "O Gajim necessita do GTK 2.8 ou superior" +#: ../src/gajim.py:172 +msgid "Gajim needs PyGTK 2.12 or above to run. Quiting..." +msgstr "O Gajim necessita do PyGTK 2.12 ou superior para rodar. Encerrando..." #: ../src/gajim.py:174 -#, fuzzy -msgid "Gajim needs GTK 2.12 or above to run. Quiting..." -msgstr "O Gajim necessita do GTK 2.8 ou superior para rodar. Encerrando..." +msgid "Gajim needs GTK 2.12 or above" +msgstr "O Gajim necessita do GTK 2.12 ou superior" -#: ../src/gajim.py:179 +#: ../src/gajim.py:175 +msgid "Gajim needs GTK 2.12 or above to run. Quiting..." +msgstr "O Gajim necessita do GTK 2.12 ou superior para rodar. Encerrando..." + +#: ../src/gajim.py:180 msgid "GTK+ runtime is missing libglade support" msgstr "Não existe suporte para libglade no GTK+ runtime" -#: ../src/gajim.py:181 +#: ../src/gajim.py:182 #, python-format msgid "" "Please remove your current GTK+ runtime and install the latest stable " @@ -7801,22 +7767,22 @@ msgstr "" "Por favor remova seu GTK+ runtime atual e instale a última versão estável de " "%s" -#: ../src/gajim.py:183 +#: ../src/gajim.py:184 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:188 +#: ../src/gajim.py:189 msgid "Gajim needs PySQLite2 to run" msgstr "Gajim necessita de PySQLite2 para rodar" -#: ../src/gajim.py:196 +#: ../src/gajim.py:197 msgid "Gajim needs pywin32 to run" msgstr "O Gajim precisa do pywin32 para rodar" -#: ../src/gajim.py:197 +#: ../src/gajim.py:198 #, python-format msgid "" "Please make sure that Pywin32 is installed on your system. You can get it at " @@ -7826,11 +7792,11 @@ msgstr "" "pode obtê-lo em %s" #. set the icon to all newly opened wind -#: ../src/gajim.py:342 +#: ../src/gajim.py:353 msgid "Gajim is already running" msgstr "O Gajim já está em execução" -#: ../src/gajim.py:343 +#: ../src/gajim.py:354 msgid "" "Another instance of Gajim seems to be running\n" "Run anyway?" @@ -7838,37 +7804,36 @@ msgstr "" "Outra instância do Gajim parece estar rodando\n" "Executar de qualquer forma?" -#: ../src/gajim.py:428 +#: ../src/gajim.py:439 msgid "Passphrase Required" msgstr "Frase de acesso é obrigatória" -#: ../src/gajim.py:429 +#: ../src/gajim.py:440 #, python-format msgid "Enter GPG key passphrase for key %(keyid)s (account %(account)s)." msgstr "" "Entre com a frase de acesso da chave GPG %(keyid)s para conta (account %" "(account)s)." -#: ../src/gajim.py:443 -#, fuzzy +#: ../src/gajim.py:454 msgid "GPG key expired" -msgstr "Nenhuma chave GPG atribuída" +msgstr "A chave GPG expirou" -#: ../src/gajim.py:444 -#, fuzzy, python-format +#: ../src/gajim.py:455 +#, python-format msgid "Your GPG key has expied, you will be connected to %s without OpenPGP." -msgstr "Você será conectado ao %s sem OpenPGP." +msgstr "Sua chave GPG expirou, você será conectado ao %s sem OpenPGP." #. ask again -#: ../src/gajim.py:453 +#: ../src/gajim.py:464 msgid "Wrong Passphrase" msgstr "Frase de acesso errada" -#: ../src/gajim.py:454 +#: ../src/gajim.py:465 msgid "Please retype your GPG passphrase or press Cancel." msgstr "Por favor, reescreva sua frase secreta de GPG ou pressione Cancelar." -#: ../src/gajim.py:512 +#: ../src/gajim.py:523 #, python-format msgid "" "Your desired nickname in group chat %s is in use or registered by another " @@ -7879,59 +7844,58 @@ msgstr "" "outro ocupante.\n" "Por favor, especifique um outro apelido abaixo:" -#: ../src/gajim.py:515 +#: ../src/gajim.py:526 msgid "Always use this nickname when there is a conflict" msgstr "" -#: ../src/gajim.py:532 +#: ../src/gajim.py:543 msgid "Do you accept this request?" msgstr "Você aceita a solicitação?" -#: ../src/gajim.py:534 +#: ../src/gajim.py:545 #, python-format msgid "Do you accept this request on account %s?" msgstr "Você aceita essa requisição na conta %s?" -#: ../src/gajim.py:537 +#: ../src/gajim.py:548 #, python-format msgid "HTTP (%(method)s) Authorization for %(url)s (id: %(id)s)" msgstr "Autorização HTTP (%(method)s) para %(url)s (id: %(id)s)" -#: ../src/gajim.py:588 ../src/notify.py:511 +#: ../src/gajim.py:599 ../src/notify.py:511 msgid "Connection Failed" msgstr "Falha na conexão" -#: ../src/gajim.py:915 ../src/gajim.py:919 +#: ../src/gajim.py:926 ../src/gajim.py:930 #, python-format msgid "Error %(code)s: %(msg)s" msgstr "Erro %(code)s: %(msg)s" #. ('MSGNOTSENT', account, (jid, ierror_msg, msg, time, session)) -#: ../src/gajim.py:929 ../src/gajim.py:943 +#: ../src/gajim.py:940 ../src/gajim.py:954 #, python-format msgid "error while sending %(message)s ( %(error)s )" msgstr "erro ao enviar %(message)s ( %(error)s )" -#: ../src/gajim.py:970 ../src/notify.py:513 -#, fuzzy +#: ../src/gajim.py:981 ../src/notify.py:513 msgid "Subscription request" msgstr "Solicitação de inscrição" -#: ../src/gajim.py:995 +#: ../src/gajim.py:1006 msgid "Authorization accepted" msgstr "Autorização aceita" -#: ../src/gajim.py:996 +#: ../src/gajim.py:1007 #, 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:1008 +#: ../src/gajim.py:1019 #, python-format msgid "Contact \"%s\" removed subscription from you" msgstr "Contato \"%s\" removeu sua inscrição" -#: ../src/gajim.py:1009 +#: ../src/gajim.py:1020 msgid "" "You will always see him or her as offline.\n" "Do you want to remove him or her from your contact list?" @@ -7939,79 +7903,78 @@ msgstr "" "Você irá sempre ver ele ou ela como desconectado.\n" "Você quer removê-lo ou removê-la da sua lista de contatos?" -#: ../src/gajim.py:1034 ../src/notify.py:515 -#, fuzzy +#: ../src/gajim.py:1045 ../src/notify.py:515 msgid "Unsubscribed" -msgstr "_Desinscrever" +msgstr "Desinscrever" -#: ../src/gajim.py:1075 +#: ../src/gajim.py:1086 #, python-format msgid "Contact with \"%s\" cannot be established" msgstr "Contato com \"%s\" não pode ser estabelecido" -#: ../src/gajim.py:1264 ../src/groupchat_control.py:1175 +#: ../src/gajim.py:1276 ../src/groupchat_control.py:1244 #, python-format msgid "%(nick)s is now known as %(new_nick)s" msgstr "%(nick)s agora é conhecido como %(new_nick)s" -#: ../src/gajim.py:1282 ../src/groupchat_control.py:1358 +#: ../src/gajim.py:1301 ../src/groupchat_control.py:1429 #: ../src/history_window.py:428 ../src/notify.py:244 #, python-format msgid "%(nick)s is now %(status)s" msgstr "%(nick)s agora está %(status)s" -#: ../src/gajim.py:1349 +#: ../src/gajim.py:1368 #, python-format msgid "%(jid)s has set the subject to %(subject)s" msgstr "%(jid)s alterou o assunto para %(subject)s" #. Can be a presence (see chg_contact_status in groupchat_control.py) #. Can be a message (see handle_event_gc_config_change in gajim.py) -#: ../src/gajim.py:1413 ../src/groupchat_control.py:1134 +#: ../src/gajim.py:1432 ../src/groupchat_control.py:1184 msgid "Any occupant is allowed to see your full JID" msgstr "Algum ocupante tem permissão de ver o seu JID inteiro" -#: ../src/gajim.py:1416 +#: ../src/gajim.py:1435 msgid "Room now shows unavailable member" msgstr "A sala agora mostra membros indisponíveis" -#: ../src/gajim.py:1418 +#: ../src/gajim.py:1437 msgid "room now does not show unavailable members" msgstr "a sala agora não mostra membros indisponíveis" -#: ../src/gajim.py:1421 +#: ../src/gajim.py:1440 msgid "A non-privacy-related room configuration change has occurred" msgstr "" "Uma modificação na configuração da sala que não tem relação com privacidade " "ocorreu" #. Can be a presence (see chg_contact_status in groupchat_control.py) -#: ../src/gajim.py:1424 +#: ../src/gajim.py:1443 msgid "Room logging is now enabled" msgstr "A gravação das conversas da sala está ativo agora" -#: ../src/gajim.py:1426 +#: ../src/gajim.py:1445 msgid "Room logging is now disabled" msgstr "A gravação das conversas da sala está desligado agora" -#: ../src/gajim.py:1428 +#: ../src/gajim.py:1447 msgid "Room is now non-anonymous" msgstr "Agora a sala é não-anônima" -#: ../src/gajim.py:1431 +#: ../src/gajim.py:1450 msgid "Room is now semi-anonymous" msgstr "Agora a sala é semi-anônima" -#: ../src/gajim.py:1434 +#: ../src/gajim.py:1453 msgid "Room is now fully-anonymous" msgstr "Agora a sala é totalmente anônima" -#: ../src/gajim.py:1466 +#: ../src/gajim.py:1485 #, python-format msgid "A Password is required to join the room %s. Please type it." msgstr "Uma senha é requerida para ingressar na sala %s. Por favor, digite-a." -#: ../src/gajim.py:1500 +#: ../src/gajim.py:1519 msgid "" "You configured Gajim to use GPG agent, but there is no GPG agent running or " "it returned a wrong passphrase.\n" @@ -8019,57 +7982,59 @@ msgstr "" "Você configurou o Gajim para usar o agente do GPG, mas não há agente do GPG " "rodando ou então ele retornou uma frase secreta incorreta.\n" -#: ../src/gajim.py:1502 +#: ../src/gajim.py:1521 ../src/gajim.py:1527 msgid "You are currently connected without your OpenPGP key." msgstr "Você está atualmente conectado sem sua chave OpenPGP." -#: ../src/gajim.py:1505 +#: ../src/gajim.py:1522 msgid "Your passphrase is incorrect" msgstr "Sua frase de acesso está incorreta" -#: ../src/gajim.py:1528 +#: ../src/gajim.py:1526 #, fuzzy -msgid "GPG key not trusted" -msgstr "GPG não é usável" +msgid "OpenGPG Passphrase Incorrect" +msgstr "Sua frase de acesso está incorreta" -#: ../src/gajim.py:1528 -#, fuzzy +#: ../src/gajim.py:1552 +msgid "GPG key not trusted" +msgstr "Chave GPG não confiável" + +#: ../src/gajim.py:1552 msgid "" "The GPG key used to encrypt this chat is not trusted. Do you really want to " "encrypt this message?" msgstr "" -"Nenhuma chave GPG está atribuída para este contato. Então, você não pode " -"criptografar mensagens." +"A chave GPG usada para criptografar esta conversa não é confiável. Você " +"realmente deseja criptografar esta mensagem?" -#: ../src/gajim.py:1530 ../src/gajim.py:2190 ../src/gajim.py:2225 -#: ../src/groupchat_control.py:1906 ../src/message_window.py:212 -#: ../src/roster_window.py:3906 +#: ../src/gajim.py:1554 ../src/gajim.py:2214 ../src/gajim.py:2249 +#: ../src/groupchat_control.py:1667 ../src/message_window.py:221 +#: ../src/roster_window.py:2600 ../src/roster_window.py:3241 +#: ../src/roster_window.py:3897 msgid "Do _not ask me again" msgstr "_Não me pergunte novamente" -#: ../src/gajim.py:1540 -#, fuzzy +#: ../src/gajim.py:1564 msgid "" "Gnome Keyring is installed but not \t\t\t\tcorrectly started (environment " "variable probably not \t\t\t\tcorrectly set)" msgstr "" -"O Gnome Keyring está instalado mas não \t\t\t\t\t\t\tiniciou corretamente " -"(provavelmente a variável de ambiente não \t\t\t\t\t\t\testá corretamente " -"definida)" +"O Gnome Keyring está instalado mas não \t\t\t\tiniciou corretamente " +"(provavelmente a variável de ambiente não \t\t\t\testá corretamente definida)" -#: ../src/gajim.py:1650 +#: ../src/gajim.py:1674 #, python-format msgid "New mail on %(gmail_mail_address)s" msgstr "Novo email em %(gmail_mail_address)s" -#: ../src/gajim.py:1652 +#: ../src/gajim.py:1676 #, 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 email" msgstr[1] "Você tem %d novas mensagens de email" -#: ../src/gajim.py:1665 +#: ../src/gajim.py:1689 #, python-format msgid "" "\n" @@ -8084,44 +8049,44 @@ msgstr "" "Assunto: %(subject)s\n" "%(snippet)s" -#: ../src/gajim.py:1736 +#: ../src/gajim.py:1760 #, python-format msgid "%s wants to send you a file." msgstr "%s quer te enviar um arquivo." -#: ../src/gajim.py:1774 ../src/roster_window.py:1843 +#: ../src/gajim.py:1798 ../src/roster_window.py:1792 #, fuzzy msgid "Remote contact stopped transfer" msgstr "Remover contato da lista" -#: ../src/gajim.py:1776 ../src/roster_window.py:1845 +#: ../src/gajim.py:1800 ../src/roster_window.py:1794 #, fuzzy msgid "Error opening file" msgstr "Erro lendo arquivo:" -#: ../src/gajim.py:1807 +#: ../src/gajim.py:1831 #, 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:1811 +#: ../src/gajim.py:1835 #, 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:1824 +#: ../src/gajim.py:1848 #, python-format msgid "You successfully sent %(filename)s to %(name)s." msgstr "Você enviou com sucesso o %(filename)s para %(name)s." #. ft stopped -#: ../src/gajim.py:1828 +#: ../src/gajim.py:1852 #, python-format msgid "File transfer of %(filename)s to %(name)s stopped." msgstr "Transferência de arquivo de %(filename)s para %(name)s parado." -#: ../src/gajim.py:1926 +#: ../src/gajim.py:1950 #, python-format msgid "" "Unable to decrypt message from %s\n" @@ -8130,36 +8095,36 @@ msgstr "" "Não foi possível descriptografar a mensagem de %s\n" "Ela pode ter sido adulterada." -#: ../src/gajim.py:1933 +#: ../src/gajim.py:1957 msgid "Unable to decrypt message" msgstr "Não foi possível descriptografar a mensagem" -#: ../src/gajim.py:2007 +#: ../src/gajim.py:2031 msgid "Username Conflict" msgstr "Conflito de nome de usuário" -#: ../src/gajim.py:2008 +#: ../src/gajim.py:2032 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:2020 +#: ../src/gajim.py:2044 msgid "Ping?" msgstr "Ping?" -#: ../src/gajim.py:2033 +#: ../src/gajim.py:2057 #, python-format msgid "Pong! (%s s.)" msgstr "Pong! (%s s.)" -#: ../src/gajim.py:2044 +#: ../src/gajim.py:2068 msgid "Error." msgstr "Erro." -#: ../src/gajim.py:2069 +#: ../src/gajim.py:2093 msgid "Resource Conflict" msgstr "Conflito de recurso" -#: ../src/gajim.py:2070 +#: ../src/gajim.py:2094 msgid "" "You are already connected to this account with the same resource. Please " "type a new one" @@ -8167,11 +8132,11 @@ msgstr "" "Você já está conectado a essa conta com o mesmo recurso. Por favor digite um " "novo" -#: ../src/gajim.py:2129 +#: ../src/gajim.py:2153 msgid "Error verifying SSL certificate" msgstr "Erro ao verificar o certificado SSL" -#: ../src/gajim.py:2130 +#: ../src/gajim.py:2154 #, python-format msgid "" "There was an error verifying the SSL certificate of your jabber server: %" @@ -8182,16 +8147,16 @@ msgstr "" "(error)s\n" "Você ainda deseja conectar-se a este servidor?" -#: ../src/gajim.py:2135 +#: ../src/gajim.py:2159 msgid "Ignore this error for this certificate." msgstr "Ignorar este erro para este certificado." -#: ../src/gajim.py:2155 +#: ../src/gajim.py:2179 msgid "SSL certificate error" msgstr "Erro de certificado SSL" -#: ../src/gajim.py:2156 -#, fuzzy, python-format +#: ../src/gajim.py:2180 +#, python-format msgid "" "It seems the SSL certificate of account %(account)s has changed or your " "connection is being hacked.\n" @@ -8200,17 +8165,18 @@ msgid "" "\n" "Do you still want to connect and update the fingerprint of the certificate?" msgstr "" -"Parece que o certificado SSL foi alterado ou sua conexão foi hackeada.\n" +"Parece que o certificado SSL da conta %(account)s foi alterado ou sua " +"conexão foi hackeada.\n" "Fingerprint antigo: %(old)s\n" "Novo fingerprint: %(new)s\n" "\n" "Você ainda quer conectar e atualizar o fingerprint do certificado?" -#: ../src/gajim.py:2186 ../src/gajim.py:2221 +#: ../src/gajim.py:2210 ../src/gajim.py:2245 msgid "Insecure connection" msgstr "Conexão não-segura" -#: ../src/gajim.py:2187 +#: ../src/gajim.py:2211 msgid "" "You are about to send your password on an unencrypted connection. Are you " "sure you want to do that?" @@ -8218,11 +8184,11 @@ msgstr "" "Você está prestes a enviar sua senha em um conexão não-criptografada. Tem " "certeza que quer fazer isto?" -#: ../src/gajim.py:2189 ../src/gajim.py:2224 +#: ../src/gajim.py:2213 ../src/gajim.py:2248 msgid "Yes, I really want to connect insecurely" msgstr "Sim, eu realmente quero me conectar de modo não-seguro" -#: ../src/gajim.py:2222 +#: ../src/gajim.py:2246 msgid "" "You are about to send your password on an insecure connection. You should " "install PyOpenSSL to prevent that. Are you sure you want to do that?" @@ -8230,21 +8196,21 @@ msgstr "" "Você está enviando sua senha em uma conexão não-segura. Você deve instalar o " "PyOpenSSL para prevenir isto. Você tem certeza que quer fazer isso?" -#: ../src/gajim.py:2242 +#: ../src/gajim.py:2266 msgid "PEP node was not removed" msgstr "O nó PEP não foi removido" -#: ../src/gajim.py:2243 +#: ../src/gajim.py:2267 #, python-format msgid "PEP node %(node)s was not removed: %(message)s" msgstr "O nó PEP %(node)s não foi removido: %(message)s" #. theme doesn't exist, disable emoticons -#: ../src/gajim.py:2737 ../src/gajim.py:2759 +#: ../src/gajim.py:2761 ../src/gajim.py:2783 msgid "Emoticons disabled" msgstr "Emoticons desabilitados" -#: ../src/gajim.py:2738 +#: ../src/gajim.py:2762 msgid "" "Your configured emoticons theme has not been found, so emoticons have been " "disabled." @@ -8252,7 +8218,7 @@ msgstr "" "Você configurou um tema de emoticons que não foi encontrado, então os " "emoticons estão desativados." -#: ../src/gajim.py:2760 +#: ../src/gajim.py:2784 msgid "" "Your configured emoticons theme cannot been loaded. You maybe need to update " "the format of emoticons.py file. See http://trac.gajim.org/wiki/Emoticons " @@ -8262,13 +8228,13 @@ msgstr "" "precisar atualizar o formato do arquivo emoticons.py. Veja http://trac.gajim." "org/wiki/Emoticons para mais detalhes." -#: ../src/gajim.py:2786 ../src/roster_window.py:3390 +#: ../src/gajim.py:2810 ../src/roster_window.py:3381 msgid "You cannot join a group chat while you are invisible" msgstr "Você não pode ingressar em uma sala enquanto estiver invisível" #. it is good to notify the user #. in case he or she cannot see the output of the console -#: ../src/gajim.py:3069 +#: ../src/gajim.py:3180 msgid "Could not save your settings and preferences" msgstr "Impossível salvar suas preferências" @@ -8302,12 +8268,13 @@ msgstr "" "uma linha separada" #: ../src/gajim-remote.py:97 ../src/gajim-remote.py:112 -#: ../src/gajim-remote.py:122 ../src/gajim-remote.py:138 -#: ../src/gajim-remote.py:152 ../src/gajim-remote.py:161 -#: ../src/gajim-remote.py:182 ../src/gajim-remote.py:212 -#: ../src/gajim-remote.py:221 ../src/gajim-remote.py:228 -#: ../src/gajim-remote.py:235 ../src/gajim-remote.py:246 -#: ../src/gajim-remote.py:262 ../src/gajim-remote.py:273 +#: ../src/gajim-remote.py:122 ../src/gajim-remote.py:132 +#: ../src/gajim-remote.py:148 ../src/gajim-remote.py:162 +#: ../src/gajim-remote.py:171 ../src/gajim-remote.py:192 +#: ../src/gajim-remote.py:222 ../src/gajim-remote.py:231 +#: ../src/gajim-remote.py:238 ../src/gajim-remote.py:245 +#: ../src/gajim-remote.py:256 ../src/gajim-remote.py:272 +#: ../src/gajim-remote.py:283 msgid "account" msgstr "conta" @@ -8333,9 +8300,9 @@ 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:111 ../src/gajim-remote.py:124 -#: ../src/gajim-remote.py:135 ../src/gajim-remote.py:149 -#: ../src/gajim-remote.py:160 ../src/gajim-remote.py:264 +#: ../src/gajim-remote.py:111 ../src/gajim-remote.py:134 +#: ../src/gajim-remote.py:145 ../src/gajim-remote.py:159 +#: ../src/gajim-remote.py:170 ../src/gajim-remote.py:274 msgid "message" msgstr "mensagem" @@ -8353,24 +8320,49 @@ msgstr "" "global\" marcada" #: ../src/gajim-remote.py:118 +#, fuzzy +msgid "Changes the priority of account or accounts" +msgstr "Mudar o status da conta ou contas" + +#: ../src/gajim-remote.py:120 +#, fuzzy +msgid "priority" +msgstr "_Prioridade:" + +#: ../src/gajim-remote.py:120 +#, fuzzy +msgid "priority you want to give to the account" +msgstr "Eu quero _registrar uma nova conta" + +#: ../src/gajim-remote.py:122 +#, fuzzy +msgid "" +"change the priority of the given account. If not specified, change status of " +"all accounts that have \"sync with global status\" option set" +msgstr "" +"mudar status da conta \"account\". Se não especificado, tentará mudar o " +"status de todas as contas existentes com a opção \"sincronizar com status " +"global\" marcada" + +#: ../src/gajim-remote.py:128 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:120 +#: ../src/gajim-remote.py:130 msgid "JID of the contact that you want to chat with" msgstr "JID do contato que você quer conversar" -#: ../src/gajim-remote.py:122 ../src/gajim-remote.py:212 +#: ../src/gajim-remote.py:132 ../src/gajim-remote.py:222 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:125 +#: ../src/gajim-remote.py:135 msgid "message content. The account must be specified or \"\"" msgstr "" -#: ../src/gajim-remote.py:130 +#: ../src/gajim-remote.py:140 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 " @@ -8380,30 +8372,30 @@ msgstr "" "são opcionais. Se você quer configurar somente a 'conta', sem a 'chave " "OpenPGP', apenas configure a 'chave para ''." -#: ../src/gajim-remote.py:134 ../src/gajim-remote.py:147 +#: ../src/gajim-remote.py:144 ../src/gajim-remote.py:157 msgid "JID of the contact that will receive the message" msgstr "JID do contato que irá receber a mensagem" -#: ../src/gajim-remote.py:135 ../src/gajim-remote.py:149 -#: ../src/gajim-remote.py:160 +#: ../src/gajim-remote.py:145 ../src/gajim-remote.py:159 +#: ../src/gajim-remote.py:170 msgid "message contents" msgstr "conteúdos da mensagem" -#: ../src/gajim-remote.py:136 ../src/gajim-remote.py:150 +#: ../src/gajim-remote.py:146 ../src/gajim-remote.py:160 msgid "pgp key" msgstr "chave pgp" -#: ../src/gajim-remote.py:136 ../src/gajim-remote.py:150 +#: ../src/gajim-remote.py:146 ../src/gajim-remote.py:160 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:138 ../src/gajim-remote.py:152 -#: ../src/gajim-remote.py:161 +#: ../src/gajim-remote.py:148 ../src/gajim-remote.py:162 +#: ../src/gajim-remote.py:171 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:143 +#: ../src/gajim-remote.py:153 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 " @@ -8413,136 +8405,136 @@ msgstr "" "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:148 +#: ../src/gajim-remote.py:158 msgid "subject" msgstr "assunto" -#: ../src/gajim-remote.py:148 +#: ../src/gajim-remote.py:158 msgid "message subject" msgstr "assunto da mensagem" -#: ../src/gajim-remote.py:157 +#: ../src/gajim-remote.py:167 msgid "Sends new message to a groupchat you've joined." msgstr "" "Envia uma nova messagem para uma conferência em que você tiver ingressado." -#: ../src/gajim-remote.py:159 +#: ../src/gajim-remote.py:169 msgid "JID of the room that will receive the message" msgstr "O JID do contato que receberá a mensagem" -#: ../src/gajim-remote.py:166 +#: ../src/gajim-remote.py:176 msgid "Gets detailed info on a contact" msgstr "Informações detalhadas do contato" -#: ../src/gajim-remote.py:168 ../src/gajim-remote.py:181 -#: ../src/gajim-remote.py:211 ../src/gajim-remote.py:220 +#: ../src/gajim-remote.py:178 ../src/gajim-remote.py:191 +#: ../src/gajim-remote.py:221 ../src/gajim-remote.py:230 msgid "JID of the contact" msgstr "JID do contato" -#: ../src/gajim-remote.py:172 +#: ../src/gajim-remote.py:182 msgid "Gets detailed info on a account" msgstr "Informações detalhadas do contato" -#: ../src/gajim-remote.py:174 +#: ../src/gajim-remote.py:184 msgid "Name of the account" msgstr "Nome da conta" -#: ../src/gajim-remote.py:178 +#: ../src/gajim-remote.py:188 msgid "Sends file to a contact" msgstr "Enviar arquivo para um contato" -#: ../src/gajim-remote.py:180 +#: ../src/gajim-remote.py:190 msgid "file" msgstr "arquivo" -#: ../src/gajim-remote.py:180 +#: ../src/gajim-remote.py:190 msgid "File path" msgstr "Caminho do arquivo" -#: ../src/gajim-remote.py:182 +#: ../src/gajim-remote.py:192 msgid "if specified, file will be sent using this account" msgstr "se especificada, arquivo irá ser enviado usando esta conta" -#: ../src/gajim-remote.py:187 +#: ../src/gajim-remote.py:197 msgid "Lists all preferences and their values" msgstr "Lista todas as preferências e seus valores" -#: ../src/gajim-remote.py:191 +#: ../src/gajim-remote.py:201 msgid "Sets value of 'key' to 'value'." msgstr "Ajusta o valor da 'chave' ao 'valor '." -#: ../src/gajim-remote.py:193 +#: ../src/gajim-remote.py:203 msgid "key=value" msgstr "chave=valor" -#: ../src/gajim-remote.py:193 +#: ../src/gajim-remote.py:203 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:198 +#: ../src/gajim-remote.py:208 msgid "Deletes a preference item" msgstr "Deleta um item de preferência" -#: ../src/gajim-remote.py:200 +#: ../src/gajim-remote.py:210 msgid "key" msgstr "chave" -#: ../src/gajim-remote.py:200 +#: ../src/gajim-remote.py:210 msgid "name of the preference to be deleted" msgstr "nome da preferência a ser deletada" -#: ../src/gajim-remote.py:204 +#: ../src/gajim-remote.py:214 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:209 +#: ../src/gajim-remote.py:219 msgid "Removes contact from roster" msgstr "Remover contato da lista" -#: ../src/gajim-remote.py:218 +#: ../src/gajim-remote.py:228 msgid "Adds contact to roster" msgstr "Adicionar contato para a lista" -#: ../src/gajim-remote.py:220 +#: ../src/gajim-remote.py:230 msgid "jid" msgstr "JID" -#: ../src/gajim-remote.py:221 +#: ../src/gajim-remote.py:231 msgid "Adds new contact to this account" msgstr "Adicionar novo contato para esta conta" -#: ../src/gajim-remote.py:226 +#: ../src/gajim-remote.py:236 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:233 +#: ../src/gajim-remote.py:243 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:240 +#: ../src/gajim-remote.py:250 msgid "Returns number of unread messages" msgstr "Retorna o número das mensagens não lidas" -#: ../src/gajim-remote.py:244 +#: ../src/gajim-remote.py:254 msgid "Opens 'Start Chat' dialog" msgstr "Abrir o diálogo 'Iniciar Conversa'" -#: ../src/gajim-remote.py:246 +#: ../src/gajim-remote.py:256 msgid "Starts chat, using this account" msgstr "Iniciar conversa, usando esta conta" -#: ../src/gajim-remote.py:250 +#: ../src/gajim-remote.py:260 msgid "Sends custom XML" msgstr "Envia XML personalizado" -#: ../src/gajim-remote.py:252 +#: ../src/gajim-remote.py:262 msgid "XML to send" msgstr "XML a enviar" -#: ../src/gajim-remote.py:253 +#: ../src/gajim-remote.py:263 msgid "" "Account in which the xml will be sent; if not specified, xml will be sent to " "all accounts" @@ -8550,72 +8542,72 @@ msgstr "" "A conta em que o XML será enviado; se não estiver especificado, será enviado " "para todas as contas" -#: ../src/gajim-remote.py:259 +#: ../src/gajim-remote.py:269 msgid "Handle a xmpp:/ uri" msgstr "Manipular uma URI xmpp:/" -#: ../src/gajim-remote.py:261 +#: ../src/gajim-remote.py:271 msgid "uri" msgstr "URI" -#: ../src/gajim-remote.py:261 +#: ../src/gajim-remote.py:271 msgid "URI to handle" msgstr "URI a manipular" -#: ../src/gajim-remote.py:262 +#: ../src/gajim-remote.py:272 msgid "Account in which you want to handle it" msgstr "Selecione a conta na qual você quer manipular isto" -#: ../src/gajim-remote.py:264 +#: ../src/gajim-remote.py:274 #, fuzzy msgid "Message content" msgstr "conteúdos da mensagem" -#: ../src/gajim-remote.py:268 +#: ../src/gajim-remote.py:278 msgid "Join a MUC room" msgstr "Entrar em uma sala MUC" -#: ../src/gajim-remote.py:270 +#: ../src/gajim-remote.py:280 msgid "room" msgstr "sala" -#: ../src/gajim-remote.py:270 +#: ../src/gajim-remote.py:280 msgid "Room JID" msgstr "Sala JID" -#: ../src/gajim-remote.py:271 +#: ../src/gajim-remote.py:281 msgid "nick" msgstr "apelido" -#: ../src/gajim-remote.py:271 +#: ../src/gajim-remote.py:281 msgid "Nickname to use" msgstr "Apelido a ser usado" -#: ../src/gajim-remote.py:272 +#: ../src/gajim-remote.py:282 msgid "password" msgstr "senha" -#: ../src/gajim-remote.py:272 +#: ../src/gajim-remote.py:282 msgid "Password to enter the room" msgstr "Senhas para entrar na sala" -#: ../src/gajim-remote.py:273 +#: ../src/gajim-remote.py:283 msgid "Account from which you want to enter the room" msgstr "Selecione a conta que você quer para entrar na sala" -#: ../src/gajim-remote.py:278 +#: ../src/gajim-remote.py:288 msgid "Check if Gajim is running" msgstr "Checar se o Gajim está rodando" -#: ../src/gajim-remote.py:282 +#: ../src/gajim-remote.py:292 msgid "Shows or hides the ipython window" msgstr "Mostrar ou esconder a janela ipython" -#: ../src/gajim-remote.py:309 +#: ../src/gajim-remote.py:319 msgid "Missing argument \"contact_jid\"" msgstr "Argumento não informado \"contact_jid\"" -#: ../src/gajim-remote.py:328 +#: ../src/gajim-remote.py:338 #, python-format msgid "" "'%s' is not in your roster.\n" @@ -8624,16 +8616,16 @@ msgstr "" "'%s' não está em sua lista.\n" "Por favor, especifique a conta para enviar a mensagem." -#: ../src/gajim-remote.py:331 +#: ../src/gajim-remote.py:341 msgid "You have no active account" msgstr "Você não tem uma conta ativa" -#: ../src/gajim-remote.py:383 +#: ../src/gajim-remote.py:393 msgid "It seems Gajim is not running. So you can't use gajim-remote." msgstr "" "Parece que o Gajim não está rodando. Então você não pode usar o gajim-remote." -#: ../src/gajim-remote.py:406 +#: ../src/gajim-remote.py:416 #, python-format msgid "" "Usage: %(basename)s %(command)s %(arguments)s \n" @@ -8642,16 +8634,16 @@ msgstr "" "Uso: %(basename)s %(command)s %(arguments)s \n" "\t %(help)s" -#: ../src/gajim-remote.py:410 +#: ../src/gajim-remote.py:420 msgid "Arguments:" msgstr "Argumentos:" -#: ../src/gajim-remote.py:414 +#: ../src/gajim-remote.py:424 #, python-format msgid "%s not found" msgstr "%s não encontrado" -#: ../src/gajim-remote.py:418 +#: ../src/gajim-remote.py:428 #, python-format msgid "" "Usage: %s command [arguments]\n" @@ -8660,7 +8652,7 @@ msgstr "" "Uso: %s comando [argumentos]\n" "Comando é um desses:\n" -#: ../src/gajim-remote.py:483 +#: ../src/gajim-remote.py:493 #, python-format msgid "" "Too many arguments. \n" @@ -8669,7 +8661,7 @@ msgstr "" "Muitos argumentos. \n" "Digite \"%(basename)s help %(command)s\" para mais informações" -#: ../src/gajim-remote.py:488 +#: ../src/gajim-remote.py:498 #, python-format msgid "" "Argument \"%(arg)s\" is not specified. \n" @@ -8678,7 +8670,7 @@ msgstr "" "Argumento \"%(arg)s\" não está especificado. \n" "Digite\"%(basename)s help %(command)s\" para maiores informações" -#: ../src/gajim-remote.py:507 +#: ../src/gajim-remote.py:517 msgid "Wrong uri" msgstr "URI incorreta" @@ -8707,288 +8699,151 @@ 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:152 +#: ../src/groupchat_control.py:159 msgid "Sending private message failed" msgstr "Falha ao enviar uma mensagem privada" #. in second %s code replaces with nickname -#: ../src/groupchat_control.py:154 +#: ../src/groupchat_control.py:161 #, python-format msgid "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." msgstr "" "Você não está mais na sala da conversa \"%(room)s\" ou \"%(nick)s\" saiu." -#: ../src/groupchat_control.py:409 +#: ../src/groupchat_control.py:431 msgid "Insert Nickname" msgstr "Inserir apelido" -#: ../src/groupchat_control.py:561 +#: ../src/groupchat_control.py:590 msgid "Conversation with " msgstr "Conversação com " -#: ../src/groupchat_control.py:563 +#: ../src/groupchat_control.py:592 msgid "Continued conversation" msgstr "Conversação continuada" #. Can be a message (see handle_event_gc_config_change in gajim.py) -#: ../src/groupchat_control.py:1137 +#: ../src/groupchat_control.py:1187 msgid "Room logging is enabled" msgstr "A gravação das conversas da sala está ligado" -#: ../src/groupchat_control.py:1139 +#: ../src/groupchat_control.py:1189 msgid "A new room has been created" msgstr "Uma nova sala foi criada" -#: ../src/groupchat_control.py:1142 +#: ../src/groupchat_control.py:1192 msgid "The server has assigned or modified your roomnick" msgstr "O servidor atribuiu ou modificou o apelido da sua sala" #. do not print 'kicked by None' -#: ../src/groupchat_control.py:1148 +#: ../src/groupchat_control.py:1198 #, python-format msgid "%(nick)s has been kicked: %(reason)s" msgstr "%(nick)s foi chutado: %(reason)s" -#: ../src/groupchat_control.py:1152 +#: ../src/groupchat_control.py:1202 #, 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:1159 +#: ../src/groupchat_control.py:1212 #, python-format msgid "%(nick)s has been banned: %(reason)s" msgstr "%(nick)s foi banido: %(reason)s" -#: ../src/groupchat_control.py:1163 +#: ../src/groupchat_control.py:1216 #, 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:1173 ../src/groupchat_control.py:1250 +#: ../src/groupchat_control.py:1228 ../src/groupchat_control.py:1321 #, python-format msgid "You are now known as %s" msgstr "Você agora é conhecido como %s" -#: ../src/groupchat_control.py:1211 ../src/groupchat_control.py:1215 -#: ../src/groupchat_control.py:1220 +#: ../src/groupchat_control.py:1282 ../src/groupchat_control.py:1286 +#: ../src/groupchat_control.py:1291 #, python-format msgid "%(nick)s has been removed from the room (%(reason)s)" msgstr "%(nick)s foi removido da sala (%(reason)s)" -#: ../src/groupchat_control.py:1212 +#: ../src/groupchat_control.py:1283 msgid "affiliation changed" msgstr "filiação alterada" -#: ../src/groupchat_control.py:1217 +#: ../src/groupchat_control.py:1288 msgid "room configuration changed to members-only" msgstr "a configuração da sala mudou para aceitar apenas membros" -#: ../src/groupchat_control.py:1222 +#: ../src/groupchat_control.py:1293 msgid "system shutdown" msgstr "desligamento do sistema" -#: ../src/groupchat_control.py:1299 +#: ../src/groupchat_control.py:1370 #, python-format msgid "** Affiliation of %(nick)s has been set to %(affiliation)s by %(actor)s" msgstr "" "** A afiliação de %(nick)s foi alterada para %(affiliation)s por %(actor)s" -#: ../src/groupchat_control.py:1303 +#: ../src/groupchat_control.py:1374 #, python-format msgid "** Affiliation of %(nick)s has been set to %(affiliation)s" msgstr "** A afiliação de %(nick)s foi alterado para %(affiliation)s" -#: ../src/groupchat_control.py:1318 +#: ../src/groupchat_control.py:1389 #, python-format msgid "** Role of %(nick)s has been set to %(role)s by %(actor)s" msgstr "** O cargo de %(nick)s foi definido para %(role)s por %(actor)s" -#: ../src/groupchat_control.py:1322 +#: ../src/groupchat_control.py:1393 #, python-format msgid "** Role of %(nick)s has been set to %(role)s" msgstr "** O cargo de %(nick)s foi definido para %(role)s" -#: ../src/groupchat_control.py:1351 +#: ../src/groupchat_control.py:1422 #, python-format msgid "%s has left" msgstr "%s saiu da sala" -#: ../src/groupchat_control.py:1356 +#: ../src/groupchat_control.py:1427 #, python-format msgid "%s has joined the group chat" msgstr "%s entrou na conferência" -#: ../src/groupchat_control.py:1496 ../src/groupchat_control.py:1514 -#, python-format -msgid "Nickname not found: %s" -msgstr "Apelido não encontrado: %s" - -#: ../src/groupchat_control.py:1530 -msgid "This group chat has no subject" -msgstr "Esta conferência não tem assunto" - -#: ../src/groupchat_control.py:1542 -#, python-format -msgid "Invited %(contact_jid)s to %(room_jid)s." -msgstr "Convidado %(contact_jid)s para %(room_jid)s." - -#: ../src/groupchat_control.py:1605 -#, python-format -msgid "" -"There is an ambiguity: %d nicks match.\n" -" Please use graphical interface " -msgstr "" - -#. We can't do the difference between nick and reason -#. So we don't say the nick -#: ../src/groupchat_control.py:1621 ../src/groupchat_control.py:1652 -#, fuzzy -msgid "Nickname not found" -msgstr "Apelido não encontrado: %s" - -#: ../src/groupchat_control.py:1645 -#, python-format -msgid "" -"There is an ambiguity: %d nicks match.\n" -" Please use graphical interface" -msgstr "" - -#: ../src/groupchat_control.py:1728 -#, fuzzy, 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." -msgstr "" -"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:1734 -#, python-format -msgid "" -"Usage: /%s , opens a private chat window with the specified " -"occupant." -msgstr "" -"Uso: /%s , abre uma janela de conferência privada com um ocupante " -"específico." - -#: ../src/groupchat_control.py:1740 -#, python-format -msgid "" -"Usage: /%s [reason], closes the current window or tab, displaying reason if " -"specified." -msgstr "" -"Uso: /%s [rasão], fecha a janela corrente ou a aba, mostrando a razão se " -"especificada." - -#: ../src/groupchat_control.py:1746 -#, python-format -msgid "" -"Usage: /%s [reason], invites JID to the current group chat, optionally " -"providing a reason." -msgstr "" -"Uso: /%s [razão], convida JID à sala atual, fornecendo opcionalmente " -"uma razão." - -#: ../src/groupchat_control.py:1750 -#, python-format -msgid "" -"Usage: /%s @[/nickname], offers to join room@server optionally " -"using specified nickname." -msgstr "" -"Uso: /%s @[/apelido], oferece para entrar na sala@servidor " -"opcionalmente usando um apelido específico." - -#: ../src/groupchat_control.py:1754 -#, fuzzy, python-format -msgid "" -"Usage: /%s [reason], removes the occupant specified by nickname " -"from the group chat and optionally displays a reason." -msgstr "" -"Uso: /%s [razão], remove da sala o ocupante especificado pelo " -"apelido e indica opcionalmente uma razão. Não suporta espaços no apelido." - -#: ../src/groupchat_control.py:1762 -#, python-format -msgid "" -"Usage: /%s [message], opens a private message window and sends " -"message to the occupant specified by nickname." -msgstr "" -"Uso: /%s [mensagem], abre uma janela de mensagem privada e envia " -"uma mensagem ao ocupante especificado pelo apelido." - -#: ../src/groupchat_control.py:1767 -#, 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:1771 -#, python-format -msgid "Usage: /%s , display the names of group chat occupants." -msgstr "Uso: /%s , mostra ou atualiza o tópico da sala atual." - -#: ../src/groupchat_control.py:1775 -#, 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:1778 -#, 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:1781 -#, python-format -msgid "" -"Usage: /%s , prevent to send you messages or private " -"messages." -msgstr "" - -#: ../src/groupchat_control.py:1784 -#, fuzzy, python-format -msgid "" -"Usage: /%s , allow to send you messages and private " -"messages." -msgstr "Uso: /%s , muda seu apelido na sala corrente." - -#: ../src/groupchat_control.py:1900 +#: ../src/groupchat_control.py:1661 #, python-format msgid "Are you sure you want to leave group chat \"%s\"?" msgstr "Você tem certeza que quer deixar a conferência \"%s\"?" -#: ../src/groupchat_control.py:1902 +#: ../src/groupchat_control.py:1663 msgid "" "If you close this window, you will be disconnected from this group chat." msgstr "Se você fechar esta janela, será desconectado desta conferência." -#: ../src/groupchat_control.py:1939 +#: ../src/groupchat_control.py:1700 msgid "Changing Subject" msgstr "Mudando assunto" -#: ../src/groupchat_control.py:1940 +#: ../src/groupchat_control.py:1701 msgid "Please specify the new subject:" msgstr "Por favor, especifique o novo assunto:" -#: ../src/groupchat_control.py:1947 +#: ../src/groupchat_control.py:1708 msgid "Changing Nickname" msgstr "Mudando apelido" -#: ../src/groupchat_control.py:1948 +#: ../src/groupchat_control.py:1709 msgid "Please specify the new nickname you want to use:" msgstr "Por favor, especifique o novo apelido que você quer usar:" #. Ask for a reason -#: ../src/groupchat_control.py:1977 +#: ../src/groupchat_control.py:1738 #, python-format msgid "Destroying %s" msgstr "Excluindo %s" -#: ../src/groupchat_control.py:1978 +#: ../src/groupchat_control.py:1739 msgid "" "You are going to definitively destroy this room.\n" "You may specify a reason below:" @@ -8996,22 +8851,22 @@ msgstr "" "Você está prestes a excluir definitivamente esta sala.\n" "Você deve especificar uma justificativa abaixo:" -#: ../src/groupchat_control.py:1980 +#: ../src/groupchat_control.py:1741 msgid "You may also enter an alternate venue:" msgstr "Você também pode entrar com um ponto de encontro alternativo:" #. ask for reason -#: ../src/groupchat_control.py:2151 +#: ../src/groupchat_control.py:1884 #, python-format msgid "Kicking %s" msgstr "Chutando %s" -#: ../src/groupchat_control.py:2152 ../src/groupchat_control.py:2457 +#: ../src/groupchat_control.py:1885 ../src/groupchat_control.py:2190 msgid "You may specify a reason below:" msgstr "Você deve especificar uma razão abaixo:" #. ask for reason -#: ../src/groupchat_control.py:2456 +#: ../src/groupchat_control.py:2189 #, python-format msgid "Banning %s" msgstr "Banindo %s" @@ -9171,47 +9026,55 @@ msgstr "Erro de disco" msgid "%(nick)s is now %(status)s: %(status_msg)s" msgstr "%(nick)s é agora %(status)s: %(status_msg)s" -#: ../src/history_window.py:434 +#: ../src/history_window.py:435 +#, fuzzy, python-format +msgid "Error: %s" +msgstr "Mensagem de erro: %s" + +#: ../src/history_window.py:437 +#, fuzzy +msgid "Error" +msgstr "Erro." + +#: ../src/history_window.py:439 #, python-format msgid "Status is now: %(status)s: %(status_msg)s" msgstr "Status agora é: %(status)s: %(status_msg)s" -#: ../src/history_window.py:437 +#: ../src/history_window.py:442 #, python-format msgid "Status is now: %(status)s" msgstr "Status agora é: %(status)s" -#: ../src/htmltextview.py:528 ../src/htmltextview.py:539 +#: ../src/htmltextview.py:512 ../src/htmltextview.py:522 msgid "Timeout loading image" msgstr "Tempo esgotado ao carregar a imagem" -#: ../src/htmltextview.py:549 +#: ../src/htmltextview.py:532 msgid "Image is too big" msgstr "A imagem é grande demais" -#: ../src/message_window.py:210 -#, fuzzy +#: ../src/message_window.py:219 msgid "You are going to close several tabs" -msgstr "Você não está conectado ao servidor" +msgstr "Você está prestes a fechar todas as abas" -#: ../src/message_window.py:211 -#, fuzzy +#: ../src/message_window.py:220 msgid "Do you really want to close them all?" -msgstr "Você realmente quer excluir a mensagem selecionada?" +msgstr "Você realmente deseja fechar todas?" -#: ../src/message_window.py:448 +#: ../src/message_window.py:457 msgid "Chats" msgstr "Conversas" -#: ../src/message_window.py:450 +#: ../src/message_window.py:459 msgid "Group Chats" msgstr "Conferências" -#: ../src/message_window.py:452 +#: ../src/message_window.py:461 msgid "Private Chats" msgstr "Conversas privadas" -#: ../src/message_window.py:458 +#: ../src/message_window.py:467 msgid "Messages" msgstr "Mensagens" @@ -9264,26 +9127,25 @@ msgid "New Message from %(nickname)s" msgstr "Nova mensagem de %(nickname)s" #: ../src/notify.py:555 -#, fuzzy msgid "Ignore" -msgstr "_Ignorar" +msgstr "Ignorar" #: ../src/profile_window.py:55 msgid "Retrieving profile..." msgstr "Recuperando perfil..." -#: ../src/profile_window.py:108 ../src/roster_window.py:2834 +#: ../src/profile_window.py:108 ../src/roster_window.py:2801 msgid "File is empty" msgstr "O arquivo está vazio" -#: ../src/profile_window.py:111 ../src/roster_window.py:2837 +#: ../src/profile_window.py:111 ../src/roster_window.py:2804 msgid "File does not exist" msgstr "O arquivo não existe" #. keep identation #. unknown format #: ../src/profile_window.py:125 ../src/profile_window.py:141 -#: ../src/roster_window.py:2839 ../src/roster_window.py:2850 +#: ../src/roster_window.py:2806 ../src/roster_window.py:2817 msgid "Could not load image" msgstr "A imagem não pode ser carregada" @@ -9314,46 +9176,46 @@ msgid "" msgstr "" "Houve um erro ao publicar sua informação pessoal, tente outra vez mais tarde." -#: ../src/roster_window.py:280 ../src/roster_window.py:962 +#: ../src/roster_window.py:279 ../src/roster_window.py:966 msgid "Merged accounts" msgstr "Juntar contas" -#: ../src/roster_window.py:1898 +#: ../src/roster_window.py:1847 msgid "Authorization has been sent" msgstr "Autorização foi enviada" -#: ../src/roster_window.py:1899 +#: ../src/roster_window.py:1848 #, python-format msgid "Now \"%s\" will know your status." msgstr "Agora \"%s\" saberá seu status." -#: ../src/roster_window.py:1919 +#: ../src/roster_window.py:1868 msgid "Subscription request has been sent" msgstr "Solicitação de inscrição foi enviada" -#: ../src/roster_window.py:1920 +#: ../src/roster_window.py:1869 #, 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:1932 +#: ../src/roster_window.py:1881 msgid "Authorization has been removed" msgstr "Autorização foi removida" -#: ../src/roster_window.py:1933 +#: ../src/roster_window.py:1882 #, python-format msgid "Now \"%s\" will always see you as offline." msgstr "Agora \"%s\" você sempre o verá como offline." -#: ../src/roster_window.py:1961 +#: ../src/roster_window.py:1910 msgid "GPG is not usable" msgstr "GPG não é usável" -#: ../src/roster_window.py:2157 ../src/roster_window.py:3334 +#: ../src/roster_window.py:2107 ../src/roster_window.py:3332 msgid "You are participating in one or more group chats" msgstr "Você está participando em uma ou mais conferências" -#: ../src/roster_window.py:2158 ../src/roster_window.py:3335 +#: ../src/roster_window.py:2108 ../src/roster_window.py:3333 msgid "" "Changing your status to invisible will result in disconnection from those " "group chats. Are you sure you want to go invisible?" @@ -9361,28 +9223,28 @@ 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:2184 +#: ../src/roster_window.py:2134 msgid "desync'ed" msgstr "não sincronizado" -#: ../src/roster_window.py:2240 +#: ../src/roster_window.py:2190 msgid "Really quit Gajim?" msgstr "" -#: ../src/roster_window.py:2241 +#: ../src/roster_window.py:2191 #, fuzzy msgid "Are you sure you want to quit Gajim?" msgstr "Você tem certeza que quer deixar a conferência \"%s\"?" -#: ../src/roster_window.py:2242 +#: ../src/roster_window.py:2192 msgid "Always close Gajim" msgstr "" -#: ../src/roster_window.py:2333 ../src/roster_window.py:2570 +#: ../src/roster_window.py:2283 ../src/roster_window.py:2520 msgid "You have unread messages" msgstr "Você tem mensagens não lidas" -#: ../src/roster_window.py:2334 +#: ../src/roster_window.py:2284 msgid "" "Messages will only be available for reading them later if you have history " "enabled and contact is in your roster." @@ -9390,16 +9252,16 @@ msgstr "" "Mensagens somente estarão disponíveis para leitura mais tarde se você tiver " "o histórico habilitado e contato na sua lista." -#: ../src/roster_window.py:2571 +#: ../src/roster_window.py:2521 msgid "You must read them before removing this transport." msgstr "Você precisa lê-los antes de remover este transporte." -#: ../src/roster_window.py:2574 +#: ../src/roster_window.py:2524 #, python-format msgid "Transport \"%s\" will be removed" msgstr "Transporte \"%s\" será removido" -#: ../src/roster_window.py:2575 +#: ../src/roster_window.py:2525 msgid "" "You will no longer be able to send and receive messages from contacts using " "this transport." @@ -9407,11 +9269,11 @@ msgstr "" "Você não poderá mais enviar e receber mensagens dos contatos usando este " "transporte." -#: ../src/roster_window.py:2578 +#: ../src/roster_window.py:2528 msgid "Transports will be removed" msgstr "Os transportes serão removidos" -#: ../src/roster_window.py:2583 +#: ../src/roster_window.py:2533 #, python-format msgid "" "You will no longer be able to send and receive messages to contacts from " @@ -9420,57 +9282,69 @@ msgstr "" "Você não poderá mais enviar e receber mensagens para contatos destes " "transportes: %s" +#: ../src/roster_window.py:2595 +#, fuzzy +msgid "You are about to block a contact. Are you sure you want to continue?" +msgstr "" +"Você está prestes a criar um metacontato. Tem certeza que quer continuar?" + +#: ../src/roster_window.py:2597 +msgid "" +"This contact will see you offline and you will not receive messages he will " +"send you." +msgstr "" + #. it's jid -#: ../src/roster_window.py:2714 +#: ../src/roster_window.py:2681 msgid "Rename Contact" msgstr "Renomear contato" -#: ../src/roster_window.py:2715 +#: ../src/roster_window.py:2682 #, python-format msgid "Enter a new nickname for contact %s" msgstr "Entre com um novo apelido para o contato %s" -#: ../src/roster_window.py:2722 +#: ../src/roster_window.py:2689 msgid "Rename Group" msgstr "Renomear grupo" -#: ../src/roster_window.py:2723 +#: ../src/roster_window.py:2690 #, python-format msgid "Enter a new name for group %s" msgstr "Entre com um novo nome para o grupo %s" -#: ../src/roster_window.py:2780 +#: ../src/roster_window.py:2747 msgid "Remove Group" msgstr "Remover grupo" -#: ../src/roster_window.py:2781 +#: ../src/roster_window.py:2748 #, python-format msgid "Do you want to remove group %s from the roster?" msgstr "Você quer remover o grupo %s da lista?" -#: ../src/roster_window.py:2782 +#: ../src/roster_window.py:2749 msgid "Also remove all contacts in this group from your roster" msgstr "Também remove todos os contatos neste grupo da sua lista" -#: ../src/roster_window.py:2821 +#: ../src/roster_window.py:2788 msgid "Assign OpenPGP Key" msgstr "Atribuir chave OpenPGP" -#: ../src/roster_window.py:2822 +#: ../src/roster_window.py:2789 msgid "Select a key to apply to the contact" msgstr "Selecione uma chave para atribuir ao contato" -#: ../src/roster_window.py:3172 +#: ../src/roster_window.py:3152 #, python-format msgid "Contact \"%s\" will be removed from your roster" msgstr "Contato \"%s\" será removido de sua lista" -#: ../src/roster_window.py:3174 +#: ../src/roster_window.py:3154 #, python-format msgid "You are about to remove \"%(name)s\" (%(jid)s) from your roster.\n" -msgstr "" +msgstr "Você realmente deseja remover \"%(name)s\" (%(jid)s) da sua lista.\n" -#: ../src/roster_window.py:3179 +#: ../src/roster_window.py:3159 msgid "" "By removing this contact you also remove authorization resulting in him or " "her always seeing you as offline." @@ -9479,11 +9353,11 @@ msgstr "" "ele ou ela sempre o verá offiline." #. Contact is not in roster -#: ../src/roster_window.py:3185 +#: ../src/roster_window.py:3165 msgid "Do you want to continue?" msgstr "Você quer continuar?" -#: ../src/roster_window.py:3188 +#: ../src/roster_window.py:3168 msgid "" "By removing this contact you also by default remove authorization resulting " "in him or her always seeing you as offline." @@ -9491,16 +9365,16 @@ 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:3191 +#: ../src/roster_window.py:3171 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:3195 +#: ../src/roster_window.py:3175 msgid "Contacts will be removed from your roster" msgstr "Os contatos serão removidos da sua lista" -#: ../src/roster_window.py:3200 +#: ../src/roster_window.py:3180 #, python-format msgid "" "By removing these contacts:%s\n" @@ -9510,20 +9384,34 @@ msgstr "" "você também remove a autorização fazendo com que eles sempre vejam você " "offline." -#: ../src/roster_window.py:3256 +#: ../src/roster_window.py:3235 +#, fuzzy +msgid "" +"You are about to send a custom status. Are you sure you want to continue?" +msgstr "" +"Você está prestes a criar um metacontato. Tem certeza que quer continuar?" + +#: ../src/roster_window.py:3237 +#, python-format +msgid "" +"This contact will temporarily see you as %(status)s, but only until you " +"change your status. Then he will see your global status." +msgstr "" + +#: ../src/roster_window.py:3254 msgid "No account available" msgstr "Conta não disponível" -#: ../src/roster_window.py:3257 +#: ../src/roster_window.py:3255 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:3813 +#: ../src/roster_window.py:3804 msgid "Metacontacts storage not supported by your server" msgstr "O armazenamento de metacontatos não é suportado pelo seu servidor" -#: ../src/roster_window.py:3815 +#: ../src/roster_window.py:3806 msgid "" "Your server does not support storing metacontacts information. So those " "information will not be saved on next reconnection." @@ -9531,13 +9419,13 @@ msgstr "" "O seu servidor não suporta a gravação de informação de metacontatos, então " "essas informações não estarão salvas na próxima vez que você conectar." -#: ../src/roster_window.py:3900 +#: ../src/roster_window.py:3891 msgid "" "You are about to create a metacontact. Are you sure you want to continue?" msgstr "" "Você está prestes a criar um metacontato. Tem certeza que quer continuar?" -#: ../src/roster_window.py:3902 +#: ../src/roster_window.py:3893 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 " @@ -9547,23 +9435,23 @@ msgstr "" "Geralmente isso é usado quando a mesma pessoa possui muitas contas de Jabber " "ou transportes." -#: ../src/roster_window.py:4015 +#: ../src/roster_window.py:4008 msgid "Invalid file URI:" msgstr "Arquivo URI inválido:" -#: ../src/roster_window.py:4026 +#: ../src/roster_window.py:4019 #, python-format msgid "Do you want to send this file to %s:" msgid_plural "Do you want to send these files to %s:" msgstr[0] "Você quer enviar este arquivo para %s:" msgstr[1] "Você quer enviar estes arquivos para %s:" -#: ../src/roster_window.py:4131 +#: ../src/roster_window.py:4124 #, fuzzy, python-format msgid "Send %s to %s" msgstr "Enviar %s" -#: ../src/roster_window.py:4137 +#: ../src/roster_window.py:4130 #, python-format msgid "Make %s and %s metacontacts" msgstr "Fazer %s e %s metacontatos" @@ -9573,115 +9461,130 @@ msgstr "Fazer %s e %s metacontatos" #. for chat_with #. for single message #. join gc -#: ../src/roster_window.py:4720 ../src/roster_window.py:4791 -#: ../src/roster_window.py:4800 ../src/systray.py:216 ../src/systray.py:263 +#: ../src/roster_window.py:4713 ../src/roster_window.py:4784 +#: ../src/roster_window.py:4793 ../src/systray.py:216 ../src/systray.py:263 #: ../src/systray.py:269 #, python-format msgid "using account %s" msgstr "usando conta %s" #. add -#: ../src/roster_window.py:4807 +#: ../src/roster_window.py:4800 #, python-format msgid "to %s account" msgstr "para %s conta" #. disco -#: ../src/roster_window.py:4812 +#: ../src/roster_window.py:4805 #, python-format msgid "using %s account" msgstr "usando %s conta" -#: ../src/roster_window.py:4849 ../src/systray.py:279 +#: ../src/roster_window.py:4842 ../src/systray.py:279 msgid "_Manage Bookmarks..." msgstr "_Gerenciar marcadores..." #. profile, avatar -#: ../src/roster_window.py:4869 +#: ../src/roster_window.py:4862 #, python-format msgid "of account %s" msgstr "da conta %s" -#: ../src/roster_window.py:4909 +#: ../src/roster_window.py:4902 #, python-format msgid "for account %s" msgstr "para conta %s" -#: ../src/roster_window.py:4965 ../src/roster_window.py:5066 +#: ../src/roster_window.py:4958 ../src/roster_window.py:5059 msgid "_Change Status Message" msgstr "_Mudar mensagem de status" -#: ../src/roster_window.py:4992 +#: ../src/roster_window.py:4985 msgid "Publish Tune" msgstr "Publicar sintonia" -#: ../src/roster_window.py:5000 +#: ../src/roster_window.py:4993 msgid "Configure Services..." msgstr "Configurar serviços..." -#: ../src/roster_window.py:5154 +#: ../src/roster_window.py:5147 msgid "_Maximize All" msgstr "_Maximizar tudo" #. Send Group Message -#: ../src/roster_window.py:5162 ../src/roster_window.py:5688 +#: ../src/roster_window.py:5155 ../src/roster_window.py:5685 msgid "Send Group M_essage" msgstr "Enviar m_ensagem de grupo" -#: ../src/roster_window.py:5170 +#: ../src/roster_window.py:5163 msgid "To all users" msgstr "Para todos os usuários" -#: ../src/roster_window.py:5174 +#: ../src/roster_window.py:5167 msgid "To all online users" msgstr "Para todos os usuários conectados" -#: ../src/roster_window.py:5585 +#: ../src/roster_window.py:5582 msgid "I would like to add you to my roster" msgstr "Eu gostaria de adiciona-lo à minha lista" #. Manage Transport submenu -#: ../src/roster_window.py:5708 +#: ../src/roster_window.py:5705 msgid "_Manage Contacts" msgstr "_Gerenciar contatos" +#. Edit Groups +#: ../src/roster_window.py:5713 +msgid "Edit _Groups" +msgstr "Editar _grupos" + #. Send single message -#: ../src/roster_window.py:5769 +#: ../src/roster_window.py:5766 msgid "Send Single Message" msgstr "Enviar mensagem simples" #. Manage Transport submenu -#: ../src/roster_window.py:5825 +#: ../src/roster_window.py:5822 msgid "_Manage Transport" msgstr "_Gerenciar transporte" #. Modify Transport -#: ../src/roster_window.py:5833 +#: ../src/roster_window.py:5830 msgid "_Modify Transport" msgstr "_Modificar transporte" -#: ../src/roster_window.py:5907 +#. Rename +#: ../src/roster_window.py:5839 +msgid "_Rename" +msgstr "_Renomear" + +#: ../src/roster_window.py:5904 msgid "_Maximize" msgstr "_Maximizar" -#: ../src/roster_window.py:5914 +#: ../src/roster_window.py:5912 +#, fuzzy +msgid "_Reconnect" +msgstr "_Desconectar" + +#: ../src/roster_window.py:5918 msgid "_Disconnect" msgstr "_Desconectar" -#: ../src/roster_window.py:5994 +#: ../src/roster_window.py:5998 msgid "_New Group Chat" msgstr "_Nova conferência" #. History manager -#: ../src/roster_window.py:6107 +#: ../src/roster_window.py:6111 msgid "History Manager" msgstr "Gerenciador de histórico" -#: ../src/roster_window.py:6116 +#: ../src/roster_window.py:6120 msgid "_Join New Group Chat" msgstr "_Ingressar em uma nova Conferência" -#: ../src/roster_window.py:6273 +#: ../src/roster_window.py:6276 msgid "Change Status Message..." msgstr "Mudar mensagem de status..." @@ -9698,20 +9601,20 @@ msgstr "Erro no formulário de dados recebido" msgid "No result" msgstr "Sem resultados" -#: ../src/session.py:123 +#: ../src/session.py:127 msgid "Disk WriteError" msgstr "Erro ao escrever em disco" -#: ../src/session.py:244 +#: ../src/session.py:248 #, python-format msgid "Subject: %s" msgstr "Assunto: %s" -#: ../src/session.py:417 ../src/session.py:452 +#: ../src/session.py:421 ../src/session.py:456 msgid "Confirm these session options" msgstr "Confirme essas opções de sessão" -#: ../src/session.py:419 +#: ../src/session.py:423 #, python-format msgid "" "The remote client wants to negotiate an session with these features:\n" @@ -9726,7 +9629,7 @@ msgstr "" "\n" "\tEssas opções são aceitáveis?" -#: ../src/session.py:453 +#: ../src/session.py:457 #, python-format msgid "" "The remote client selected these options:\n" @@ -9867,9 +9770,8 @@ msgid "?OS:Unknown" msgstr "?SO:Desconhecido" #: ../src/vcard.py:268 -#, fuzzy msgid "?Time:Unknown" -msgstr "?Cliente:Desconhecido" +msgstr "?Tempo:Desconhecido" #: ../src/vcard.py:292 ../src/vcard.py:302 ../src/vcard.py:511 #, python-format @@ -9923,13 +9825,46 @@ msgstr "Não há requisições de inscrições pendentes." msgid " resource with priority " msgstr " recurso com prioridade " -#, fuzzy #~ msgid "B_OSH Port:" -#~ msgstr "_Porta:" +#~ msgstr "Porta B_OSH:" #~ msgid "Show _roster" #~ msgstr "Exibi_r lista" +#~ msgid "Add Special _Notification" +#~ msgstr "Adicionar _notificações especiais" + +#~ msgid "Assign Open_PGP Key" +#~ msgstr "Atribuir chave Open_PGP" + +#~ msgid "Command not supported for zeroconf account." +#~ msgstr "Comando sem suporte para conta zeroconf." + +#~ msgid "Commands: %s" +#~ msgstr "Comandos: %s" + +#~ msgid "Usage: /%s, clears the text window." +#~ msgstr "Uso: /%s, apaga o texto da janela." + +#~ msgid "Usage: /%s, hide the chat buttons." +#~ msgstr "Uso: /%s, esconde os botões do bate-papo." + +#~ msgid "" +#~ "Usage: /%(command)s , sends action to the current group chat. Use " +#~ "third person. (e.g. /%(command)s explodes.)" +#~ msgstr "" +#~ "Uso: /%(command)s , emite a ação à sala atual. Use a terceira " +#~ "pessoa. (e.g. /%(command)s explodes.)" + +#~ msgid "Usage: /%s, sends a ping to the contact" +#~ msgstr "Uso: /%s, envia um ping para o contato" + +#~ msgid "Usage: /%s, send the message to the contact" +#~ msgstr "Uso: /%s, envia a mensagem para o contato" + +#~ msgid "No help info for /%s" +#~ msgstr "Sem ajuda para /%s" + #~ msgid "Always use OS/X default applications" #~ msgstr "Sempre usar as aplicações padrões do OS/X" @@ -9939,6 +9874,84 @@ msgstr " recurso com prioridade " #~ msgid "File transfer stopped by the contact at the other end" #~ msgstr "Transferência de arquivo parada pelo contato do outro lado" +#~ msgid "Nickname not found: %s" +#~ msgstr "Apelido não encontrado: %s" + +#~ msgid "This group chat has no subject" +#~ msgstr "Esta conferência não tem assunto" + +#~ msgid "Invited %(contact_jid)s to %(room_jid)s." +#~ msgstr "Convidado %(contact_jid)s para %(room_jid)s." + +#~ msgid "" +#~ "Usage: /%s [reason], bans the JID from the group chat. The " +#~ "nickname of an occupant may be substituted, but not if it contains \"@\". " +#~ "If the JID is currently in the group chat, he/she/it will also be kicked. " +#~ "Does NOT support spaces in nickname." +#~ msgstr "" +#~ "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." + +#~ msgid "" +#~ "Usage: /%s , opens a private chat window with the specified " +#~ "occupant." +#~ msgstr "" +#~ "Uso: /%s , abre uma janela de conferência privada com um " +#~ "ocupante específico." + +#~ msgid "" +#~ "Usage: /%s [reason], closes the current window or tab, displaying reason " +#~ "if specified." +#~ msgstr "" +#~ "Uso: /%s [rasão], fecha a janela corrente ou a aba, mostrando a razão se " +#~ "especificada." + +#~ msgid "" +#~ "Usage: /%s [reason], invites JID to the current group chat, " +#~ "optionally providing a reason." +#~ msgstr "" +#~ "Uso: /%s [razão], convida JID à sala atual, fornecendo " +#~ "opcionalmente uma razão." + +#~ msgid "" +#~ "Usage: /%s @[/nickname], offers to join room@server " +#~ "optionally using specified nickname." +#~ msgstr "" +#~ "Uso: /%s @[/apelido], oferece para entrar na " +#~ "sala@servidor opcionalmente usando um apelido específico." + +#~ 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 da sala o ocupante especificado pelo " +#~ "apelido e indica opcionalmente uma razão. Não suporta espaços no apelido." + +#~ msgid "" +#~ "Usage: /%s [message], opens a private message window and sends " +#~ "message to the occupant specified by nickname." +#~ msgstr "" +#~ "Uso: /%s [mensagem], abre uma janela de mensagem privada e " +#~ "envia uma mensagem ao ocupante especificado pelo apelido." + +#~ msgid "Usage: /%s , changes your nickname in current group chat." +#~ msgstr "Uso: /%s , muda seu apelido na sala corrente." + +#~ msgid "Usage: /%s , display the names of group chat occupants." +#~ msgstr "Uso: /%s , mostra ou atualiza o tópico da sala atual." + +#~ 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." + +#~ msgid "" +#~ "Usage: /%s , sends a message without looking for other commands." +#~ msgstr "" +#~ "Uso: /%s , envia uma mensagem sem procurar por outros comandos." + #~ msgid "Generic" #~ msgstr "Genérico" diff --git a/src/commands/framework.py b/src/commands/framework.py index 9520533ff..f8168f25c 100644 --- a/src/commands/framework.py +++ b/src/commands/framework.py @@ -531,6 +531,7 @@ class CommandProcessor(object): args.append((raw, (end, arguments_end))) elif spec_len == 1: args = [(arguments, (0, arguments_end))] + opts = [] else: raise InternalError("Raw command must define a collector") else: @@ -642,21 +643,21 @@ class CommandProcessor(object): if not text.startswith(self.COMMAND_PREFIX): return False - text = text[len(self.COMMAND_PREFIX):] - text = text.strip() + body = text[len(self.COMMAND_PREFIX):] + body = body.strip() - parts = text.split(' ', 1) + parts = body.split(' ', 1) name, arguments = parts if len(parts) > 1 else (parts[0], None) - flag = self.looks_like_command(text, name, arguments) + flag = self.looks_like_command(body, name, arguments) if flag is not None: return flag - self.execute_command(name, arguments) + self.execute_command(text, name, arguments) return True - def execute_command(self, name, arguments): + def execute_command(self, text, name, arguments): command = self.retrieve_command(name) args, opts = self.parse_command_arguments(arguments) if arguments else ([], []) diff --git a/src/commands/implementation.py b/src/commands/implementation.py index 54a13b8a2..35e6b3bdf 100644 --- a/src/commands/implementation.py +++ b/src/commands/implementation.py @@ -192,7 +192,7 @@ class GroupChatCommands(CommonCommands): gajim.interface.instances[self.account]['join_gc'].window.present() except KeyError: try: - dialogs.JoinGroupchatWindow(account=None, room_jid=jid, nick=nick) + dialogs.JoinGroupchatWindow(account=self.account, room_jid=jid, nick=nick) except GajimGeneralException: pass diff --git a/src/commands/middleware.py b/src/commands/middleware.py index ad4fcbf9e..7c139afd9 100644 --- a/src/commands/middleware.py +++ b/src/commands/middleware.py @@ -31,16 +31,14 @@ class ChatMiddleware(CommandProcessor): Also provides some few basic utilities for the same purpose. """ - def process_as_command(self, text): + def execute_command(self, text, name, arguments): try: - return super(ChatMiddleware, self).process_as_command(text) + super(ChatMiddleware, self).execute_command(text, name, arguments) except CommandError, exception: self.echo("%s: %s" %(exception.name, exception.message), 'error') - return True except Exception: self.echo("An error occured while trying to execute the command", 'error') print_exc() - return True finally: self.add_history(text) self.clear_input() diff --git a/src/common/connection.py b/src/common/connection.py index 27b840f7b..6485cd825 100644 --- a/src/common/connection.py +++ b/src/common/connection.py @@ -1487,6 +1487,11 @@ class Connection(ConnectionHandlers): self.connection.getRoster().setItem(jid = jid, name = name, groups = groups) + def update_contacts(self, contacts): + '''update multiple roster items on jabber server''' + if self.connection: + self.connection.getRoster().setItemMulti(contacts) + def send_new_account_infos(self, form, is_form): if is_form: # Get username and password and put them in new_account_info @@ -1598,6 +1603,16 @@ class Connection(ConnectionHandlers): iq2.addChild(name='gajim', namespace='gajim:prefs') self.connection.send(iq) + def _request_bookmarks_xml(self): + iq = common.xmpp.Iq(typ='get') + iq2 = iq.addChild(name='query', namespace=common.xmpp.NS_PRIVATE) + iq2.addChild(name='storage', namespace='storage:bookmarks') + self.connection.send(iq) + + def _check_bookmarks_received(self): + if not self.bookmarks: + self._request_bookmarks_xml() + def get_bookmarks(self, storage_type=None): '''Get Bookmarks from storage or PubSub if supported as described in XEP 0048 @@ -1606,11 +1621,11 @@ class Connection(ConnectionHandlers): return if self.pubsub_supported and storage_type != 'xml': self.send_pb_retrieve('', 'storage:bookmarks') + # some server (ejabberd) are so slow to answer that we request via XML + # if we don't get answer in the next 30 seconds + gajim.idlequeue.set_alarm(self._check_bookmarks_received, 30) else: - iq = common.xmpp.Iq(typ='get') - iq2 = iq.addChild(name='query', namespace=common.xmpp.NS_PRIVATE) - iq2.addChild(name='storage', namespace='storage:bookmarks') - self.connection.send(iq) + self._request_bookmarks_xml() def store_bookmarks(self, storage_type=None): ''' Send bookmarks to the storage namespace or PubSub if supported diff --git a/src/common/gajim.py b/src/common/gajim.py index 3ab854ff0..0b083a1c6 100644 --- a/src/common/gajim.py +++ b/src/common/gajim.py @@ -183,7 +183,7 @@ else: import latex HAVE_LATEX = latex.check_for_latex_support() -HAVE_INDICATOR = True +HAVE_INDICATOR = False try: import indicate except ImportError: diff --git a/src/common/helpers.py b/src/common/helpers.py index 3cb264e52..350eebf3c 100644 --- a/src/common/helpers.py +++ b/src/common/helpers.py @@ -170,6 +170,11 @@ def prep(user, server, resource): else: return server +def windowsify(s): + if os.name == 'nt': + return s.capitalize() + return s + def temp_failure_retry(func, *args, **kwargs): while True: try: diff --git a/src/common/i18n.py b/src/common/i18n.py index e6e7d3f9b..3c47d3da3 100644 --- a/src/common/i18n.py +++ b/src/common/i18n.py @@ -5,6 +5,7 @@ ## Copyright (C) 2004 Vincent Hanquez ## Copyright (C) 2004-2007 Yann Leboulanger ## Copyright (C) 2005-2006 Nikos Kouremenos +## Copyright (C) 2009 Benjamin Richter
## ## This file is part of Gajim. ## @@ -25,6 +26,23 @@ import locale import gettext import os import defs +import unicodedata + +def paragraph_direction_mark(text): + """ + Determine paragraph writing direction according to + http://www.unicode.org/reports/tr9/#The_Paragraph_Level + + Returns either Unicode LTR mark or RTL mark. + """ + for char in text: + bidi = unicodedata.bidirectional(char) + if bidi == 'L': + return u'\u200E' + elif bidi == 'AL' or bidi == 'R': + return u'\u200F' + + return u'\u200E' APP = 'gajim' DIR = defs.localedir diff --git a/src/common/xmpp/roster_nb.py b/src/common/xmpp/roster_nb.py index a34e6ced1..715476b9e 100644 --- a/src/common/xmpp/roster_nb.py +++ b/src/common/xmpp/roster_nb.py @@ -174,6 +174,16 @@ class NonBlockingRoster(PlugIn): item=query.setTag('item',attrs) for group in groups: item.addChild(node=Node('group',payload=[group])) self._owner.send(iq) + def setItemMulti(self,items): + ''' Renames multiple contacts and sets their group lists.''' + iq=Iq('set',NS_ROSTER) + query=iq.getTag('query') + for i in items: + attrs={'jid':i['jid']} + if i['name']: attrs['name']=i['name'] + item=query.setTag('item',attrs) + for group in i['groups']: item.addChild(node=Node('group',payload=[group])) + self._owner.send(iq) def getItems(self): ''' Return list of all [bare] JIDs that the roster is currently tracks.''' return self._data.keys() diff --git a/src/common/zeroconf/connection_zeroconf.py b/src/common/zeroconf/connection_zeroconf.py index e832378bc..c23f4a125 100644 --- a/src/common/zeroconf/connection_zeroconf.py +++ b/src/common/zeroconf/connection_zeroconf.py @@ -526,6 +526,11 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf): self.connection.getRoster().setItem(jid = jid, name = name, groups = groups) + def update_contacts(self, contacts): + '''update multiple roster items''' + if self.connection: + self.connection.getRoster().setItemMulti(contacts) + def new_account(self, name, config, sync = False): gajim.log.debug('This should not happen (new_account)') diff --git a/src/common/zeroconf/roster_zeroconf.py b/src/common/zeroconf/roster_zeroconf.py index 38808b06b..42fe0edd6 100644 --- a/src/common/zeroconf/roster_zeroconf.py +++ b/src/common/zeroconf/roster_zeroconf.py @@ -88,6 +88,10 @@ class Roster: self._data[jid]['status'] = status self._data[jid]['show'] = status + def setItemMulti(self, items): + for i in items: + self.setItem(jid=i['jid'], name=i['name'], groups=i['groups']) + def delItem(self, jid): #print 'roster_zeroconf.py: delItem %s' % jid if jid in self._data: diff --git a/src/conversation_textview.py b/src/conversation_textview.py index 68bb8633b..ff74f606b 100644 --- a/src/conversation_textview.py +++ b/src/conversation_textview.py @@ -954,6 +954,13 @@ class ConversationTextview(gobject.GObject): print_conversation_line()''' buffer_ = self.tv.get_buffer() + + insert_tags_func = buffer_.insert_with_tags_by_name + # detect_and_print_special_text() is also used by + # HtmlHandler.handle_specials() and there tags is gtk.TextTag objects, + # not strings + if len(other_tags) > 0 and isinstance(other_tags[0], gtk.TextTag): + insert_tags_func = buffer_.insert_with_tags index = 0 @@ -974,8 +981,7 @@ class ConversationTextview(gobject.GObject): text_before_special_text = otext[index:start] end_iter = buffer_.get_end_iter() # we insert normal text - buffer_.insert_with_tags_by_name(end_iter, - text_before_special_text, *other_tags) + insert_tags_func(end_iter, text_before_special_text, *other_tags) index = end # update index # now print it @@ -984,7 +990,11 @@ class ConversationTextview(gobject.GObject): if specials_limit <= 0: break - return index # the position after *last* special text + # add the rest of text located in the index and after + end_iter = buffer_.get_end_iter() + insert_tags_func(end_iter, otext[index:], *other_tags) + + return buffer_.get_end_iter() def print_special_text(self, special_text, other_tags): '''is called by detect_and_print_special_text and prints @@ -1280,22 +1290,17 @@ class ConversationTextview(gobject.GObject): try: if name and (text.startswith('/me ') or text.startswith('/me\n')): xhtml = xhtml.replace('/me', '* %s' % (name,), 1) - self.tv.display_html(xhtml.encode('utf-8')) + self.tv.display_html(xhtml.encode('utf-8'), self) return except Exception, e: gajim.log.debug(str('Error processing xhtml') + str(e)) gajim.log.debug(str('with |' + xhtml + '|')) - buffer_ = self.tv.get_buffer() # /me is replaced by name if name is given if name and (text.startswith('/me ') or text.startswith('/me\n')): text = '* ' + name + text[3:] text_tags.append('italic') # detect urls formatting and if the user has it on emoticons - index = self.detect_and_print_special_text(text, text_tags) - - # add the rest of text located in the index and after - end_iter = buffer_.get_end_iter() - buffer_.insert_with_tags_by_name(end_iter, text[index:], *text_tags) + self.detect_and_print_special_text(text, text_tags) # vim: se ts=3: diff --git a/src/dialogs.py b/src/dialogs.py index 6c665acb9..59f8cb42a 100644 --- a/src/dialogs.py +++ b/src/dialogs.py @@ -2504,6 +2504,16 @@ class SingleMessageWindow: def on_single_message_window_destroy(self, widget): self.instances.remove(self) + c = gajim.contacts.get_contact_with_highest_priority(self.account, + self.from_whom) + if not c: + # Groupchat is maybe already destroyed + return + if c.is_groupchat() and not self.from_whom in \ + gajim.interface.minimized_controls[self.account] and self.action == \ + 'receive' and gajim.events.get_nb_roster_events(self.account, + self.from_whom, types=['chat', 'normal']) == 0: + gajim.interface.roster.remove_groupchat(self.from_whom, self.account) def set_cursor_to_end(self): end_iter = self.message_tv_buffer.get_end_iter() diff --git a/src/gajim.py b/src/gajim.py index 5f2413576..304c446cc 100644 --- a/src/gajim.py +++ b/src/gajim.py @@ -2632,7 +2632,7 @@ class Interface: gajim.events.remove_events(account, jid, event) if w: w.set_active_tab(ctrl) - w.window.window.focus() + w.window.window.focus(gtk.get_current_event_time()) # Using isinstance here because we want to catch all derived types if isinstance(ctrl, ChatControlBase): tv = ctrl.conv_textview @@ -3109,8 +3109,8 @@ class Interface: pass def enable_music_listener(self): + listener = MusicTrackListener.get() if not self.music_track_changed_signal: - listener = MusicTrackListener.get() self.music_track_changed_signal = listener.connect( 'music-track-changed', self.music_track_changed) track = listener.get_playing_track() @@ -3452,6 +3452,49 @@ class Interface: view.updateNamespace({'gajim': gajim}) gajim.ipython_window = window + def run(self): + if self.systray_capabilities and gajim.config.get('trayicon') != 'never': + self.show_systray() + + self.roster = roster_window.RosterWindow() + for account in gajim.connections: + gajim.connections[account].load_roster_from_db() + + # get instances for windows/dialogs that will show_all()/hide() + self.instances['file_transfers'] = dialogs.FileTransfersWindow() + + gobject.timeout_add(100, self.autoconnect) + timeout, in_seconds = gajim.idlequeue.PROCESS_TIMEOUT + if in_seconds: + gobject.timeout_add_seconds(timeout, self.process_connections) + else: + gobject.timeout_add(timeout, self.process_connections) + gobject.timeout_add_seconds(gajim.config.get( + 'check_idle_every_foo_seconds'), self.read_sleepy) + + # when using libasyncns we need to process resolver in regular intervals + if resolver.USE_LIBASYNCNS: + gobject.timeout_add(200, gajim.resolver.process) + + # setup the indicator + if gajim.HAVE_INDICATOR: + notify.setup_indicator_server() + + def remote_init(): + if gajim.config.get('remote_control'): + try: + import remote_control + self.remote_ctrl = remote_control.Remote() + except Exception: + pass + gobject.timeout_add_seconds(5, remote_init) + + for account in gajim.connections: + if gajim.config.get_per('accounts', account, 'publish_tune') and \ + dbus_support.supported: + self.enable_music_listener() + break + def __init__(self): gajim.interface = self gajim.thread_interface = ThreadInterface @@ -3654,9 +3697,6 @@ class Interface: if self.systray_capabilities: self.systray = systray.Systray() - if self.systray_capabilities and gajim.config.get('trayicon') != 'never': - self.show_systray() - path_to_file = os.path.join(gajim.DATA_DIR, 'pixmaps', 'gajim.png') pix = gtk.gdk.pixbuf_new_from_file(path_to_file) # set the icon to all windows @@ -3665,13 +3705,6 @@ class Interface: self.init_emoticons() self.make_regexps() - self.roster = roster_window.RosterWindow() - for account in gajim.connections: - gajim.connections[account].load_roster_from_db() - - # get instances for windows/dialogs that will show_all()/hide() - self.instances['file_transfers'] = dialogs.FileTransfersWindow() - # get transports type from DB gajim.transport_type = gajim.logger.get_transports_type() @@ -3699,37 +3732,7 @@ class Interface: self.last_ftwindow_update = 0 - gobject.timeout_add(100, self.autoconnect) - timeout, in_seconds = gajim.idlequeue.PROCESS_TIMEOUT - if in_seconds: - gobject.timeout_add_seconds(timeout, self.process_connections) - else: - gobject.timeout_add(timeout, self.process_connections) - gobject.timeout_add_seconds(gajim.config.get( - 'check_idle_every_foo_seconds'), self.read_sleepy) - - # when using libasyncns we need to process resolver in regular intervals - if resolver.USE_LIBASYNCNS: - gobject.timeout_add(200, gajim.resolver.process) - - # setup the indicator - if gajim.HAVE_INDICATOR: - notify.setup_indicator_server() - - def remote_init(): - if gajim.config.get('remote_control'): - try: - import remote_control - self.remote_ctrl = remote_control.Remote() - except Exception: - pass - gobject.timeout_add_seconds(5, remote_init) self.music_track_changed_signal = None - for account in gajim.connections: - if gajim.config.get_per('accounts', account, 'publish_tune') and \ - dbus_support.supported: - self.enable_music_listener() - break if __name__ == '__main__': def sigint_cb(num, stack): @@ -3768,7 +3771,8 @@ if __name__ == '__main__': check_paths.check_and_possibly_create_paths() - Interface() + interface = Interface() + interface.run() try: if os.name != 'nt': diff --git a/src/groupchat_control.py b/src/groupchat_control.py index 4cecf8c97..daaa32597 100644 --- a/src/groupchat_control.py +++ b/src/groupchat_control.py @@ -1229,15 +1229,15 @@ class GroupchatControl(ChatControlBase, GroupChatCommands): # Stop all E2E sessions nick_list = gajim.contacts.get_nick_list(self.account, self.room_jid) - for nick in nick_list: - fjid = self.room_jid + '/' + nick - ctrl = gajim.interface.msg_win_mgr.get_control(fjid, + for nick_ in nick_list: + fjid_ = self.room_jid + '/' + nick_ + ctrl = gajim.interface.msg_win_mgr.get_control(fjid_, self.account) if ctrl and ctrl.session and \ ctrl.session.enable_encryption: thread_id = ctrl.session.thread_id ctrl.session.terminate_e2e() - gajim.connections[self.account].delete_session(fjid, + gajim.connections[self.account].delete_session(fjid_, thread_id) ctrl.no_autonegotiation = False else: @@ -1271,8 +1271,10 @@ class GroupchatControl(ChatControlBase, GroupChatCommands): os.path.join(path, puny_new_nick + ext) for old_file in files: if os.path.exists(old_file) and old_file != files[old_file]: - if os.path.exists(files[old_file]): - # Windows require this + if os.path.exists(files[old_file]) and helpers.windowsify( + old_file) != helpers.windowsify(files[old_file]): + # Windows require this, but os.remove('test') will also + # remove 'TEST' os.remove(files[old_file]) os.rename(old_file, files[old_file]) self.print_conversation(s, 'info', tim) diff --git a/src/htmltextview.py b/src/htmltextview.py index 9045d22c5..89082855a 100644 --- a/src/htmltextview.py +++ b/src/htmltextview.py @@ -50,6 +50,8 @@ import operator if __name__ == '__main__': from common import i18n + import common.configpaths + common.configpaths.gajimpaths.init(None) from common import gajim import tooltips @@ -184,25 +186,6 @@ for name in BLOCK_HEAD: ('font-weight: bold', 'font-style: oblique')[weigth], ) - -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 - basic_pattern = r'(? gtk.gdk.Color''' if color.startswith('rgb(') and color.endswith(')'): @@ -222,11 +205,12 @@ class HtmlHandler(xml.sax.handler.ContentHandler): It keeps a stack of "style spans" (start/end element pairs) and a stack of list counters, for nested lists. """ - def __init__(self, textview, startiter): + def __init__(self, conv_textview, startiter): xml.sax.handler.ContentHandler.__init__(self) - self.textbuf = textview.get_buffer() - self.textview = textview + self.textbuf = conv_textview.tv.get_buffer() + self.textview = conv_textview.tv self.iter = startiter + self.conv_textview = conv_textview self.text = '' self.starting=True self.preserve = False @@ -499,6 +483,7 @@ class HtmlHandler(xml.sax.handler.ContentHandler): def _process_img(self, attrs): '''Process a img tag. ''' + mem = '' try: # Wait maximum 1s for connection socket.setdefaulttimeout(1) @@ -514,40 +499,38 @@ class HtmlHandler(xml.sax.handler.ContentHandler): f.fp._sock.fp._sock.settimeout(0.5) except Exception: pass - # Max image size = 2 MB (to try to prevent DoS) - mem = '' - deadline = time.time() + 3 - while True: - if time.time() > 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 + # Max image size = 2 MB (to try to prevent DoS) + deadline = time.time() + 3 + while True: + if time.time() > 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)) + 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 @@ -672,51 +655,7 @@ class HtmlHandler(xml.sax.handler.ContentHandler): return False def handle_specials(self, text): - index = 0 - se = self.textview.config.get('show_ascii_formatting_chars') - af = gajim.config.get('ascii_formatting') - if self.textview.config.get('emoticons_theme'): - if af: - iterator = self.textview.emot_and_basic_re.finditer(text) - else: - iterator = self.textview.emot_pattern_re.finditer(text) - elif af: - iterator = self.textview.basic_pattern_re.finditer(text) - else: - iterator = [] - for match in iterator: - start, end = match.span() - special_text = text[start:end] - if start != 0: - self._insert_text(text[index:start]) - index = end # update index - #emoticons - possible_emot_ascii_caps = special_text.upper() # emoticons keys are CAPS - if self.textview.config.get('emoticons_theme') and \ - possible_emot_ascii_caps in self.textview.interface.emoticons.keys(): - #it's an emoticon - emot_ascii = possible_emot_ascii_caps - anchor = self.textbuf.create_child_anchor(self.iter) - img = gtk.Image() - img.set_from_file(self.textview.interface.emoticons[emot_ascii]) - img.show() - # TODO: add alt/tooltip with the special_text (a11y) - self.textview.add_child_at_anchor(img, anchor) - elif af: - # now print it - if special_text.startswith('/'): # it's explicit italics - self.startElement('i', {}) - elif special_text.startswith('_'): # it's explicit underline - self.startElement('u', {}) - if se: self._insert_text(special_text[0]) - self.handle_specials(special_text[1:-1]) - if se: self._insert_text(special_text[0]) - if special_text.startswith('_'): # it's explicit underline - self.endElement('u') - if special_text.startswith('/'): # it's explicit italics - self.endElement('i') - if index < len(text): - self._insert_text(text[index:]) + self.iter = self.conv_textview.detect_and_print_special_text(text, self._get_style_tags()) def characters(self, content): if self.preserve: @@ -870,7 +809,6 @@ class HtmlTextView(gtk.TextView): self.config = gajim.config self.interface = gajim.interface # end big hack - build_patterns(self,gajim.config,gajim.interface) def __destroy_event(self, widget): if self.tooltip.timeout != 0: @@ -921,14 +859,14 @@ class HtmlTextView(gtk.TextView): self._changed_cursor = False return False - def display_html(self, html): + def display_html(self, html, conv_textview): buffer_ = self.get_buffer() eob = buffer_.get_end_iter() ## this works too if libxml2 is not available # parser = xml.sax.make_parser(['drv_libxml2']) # parser.setFeature(xml.sax.handler.feature_validation, True) parser = xml.sax.make_parser() - parser.setContentHandler(HtmlHandler(self, eob)) + parser.setContentHandler(HtmlHandler(conv_textview, eob)) parser.parse(StringIO(html)) # too much space after :) @@ -942,6 +880,9 @@ change_cursor = None if __name__ == '__main__': import os + from conversation_textview import ConversationTextview + import gajim as gaj + class log(object): def debug(self, text): @@ -953,33 +894,32 @@ if __name__ == '__main__': gajim.log=log() - if gajim.config.get('emoticons_theme'): - print "emoticons" + gaj.Interface() - htmlview = HtmlTextView() + htmlview = ConversationTextview(None) 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) + htmlview.tv.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''' global change_cursor - pointer_x, pointer_y = htmlview.window.get_pointer()[0:2] - x, y = htmlview.window_to_buffer_coords(gtk.TEXT_WINDOW_TEXT, pointer_x, + pointer_x, pointer_y = htmlview.tv.window.get_pointer()[0:2] + x, y = htmlview.tv.window_to_buffer_coords(gtk.TEXT_WINDOW_TEXT, pointer_x, pointer_y) - tags = htmlview.get_iter_at_location(x, y).get_tags() + tags = htmlview.tv.get_iter_at_location(x, y).get_tags() if change_cursor: - htmlview.get_window(gtk.TEXT_WINDOW_TEXT).set_cursor( + htmlview.tv.get_window(gtk.TEXT_WINDOW_TEXT).set_cursor( gtk.gdk.Cursor(gtk.gdk.XTERM)) change_cursor = None - tag_table = htmlview.get_buffer().get_tag_table() + tag_table = htmlview.tv.get_buffer().get_tag_table() for tag in tags: try: if tag.is_anchor: - htmlview.get_window(gtk.TEXT_WINDOW_TEXT).set_cursor( + htmlview.tv.get_window(gtk.TEXT_WINDOW_TEXT).set_cursor( gtk.gdk.Cursor(gtk.gdk.HAND2)) change_cursor = tag elif tag == tag_table.lookup('focus-out-line'): @@ -994,32 +934,38 @@ if __name__ == '__main__': #if over_line and not line_tooltip.win: # line_tooltip.timeout = gobject.timeout_add(500, # show_line_tooltip) - # htmlview.get_window(gtk.TEXT_WINDOW_TEXT).set_cursor( + # htmlview.tv.get_window(gtk.TEXT_WINDOW_TEXT).set_cursor( # gtk.gdk.Cursor(gtk.gdk.LEFT_PTR)) # change_cursor = tag - htmlview.connect('motion_notify_event', on_textview_motion_notify_event) + htmlview.tv.connect('motion_notify_event', on_textview_motion_notify_event) def handler(texttag, widget, event, iter_, kind, href): if event.type == gtk.gdk.BUTTON_PRESS: print href - htmlview.html_hyperlink_handler = handler + htmlview.tv.html_hyperlink_handler = handler - htmlview.display_html('
Hello
\n' + htmlview.print_real_text(None, xhtml='
Hello
\n' '
\n' ' World\n' '
\n') - htmlview.display_html('
') - htmlview.display_html(''' + htmlview.print_real_text(None, xhtml='
') + htmlview.print_real_text(None, xhtml='''

OMG, I'm green with envy!

''') - htmlview.display_html('
') - htmlview.display_html(''' + htmlview.print_real_text(None, xhtml='
') + htmlview.print_real_text(None, xhtml=''' + + http://test.com/ testing links autolinkifying + + ''') + htmlview.print_real_text(None, xhtml='
') + htmlview.print_real_text(None, xhtml='''

As Emerson said in his essay Self-Reliance:

@@ -1027,8 +973,8 @@ if __name__ == '__main__':

''') - htmlview.display_html('
') - htmlview.display_html(''' + htmlview.print_real_text(None, xhtml='
') + htmlview.print_real_text(None, xhtml='''

Hey, are you licensed to Jabber?

''') - htmlview.display_html('
') - htmlview.display_html(''' + htmlview.print_real_text(None, xhtml='
') + htmlview.print_real_text(None, xhtml='''
  • One
  • @@ -1052,8 +998,8 @@ if __name__ == '__main__': return faciter(n,1) ''') - htmlview.display_html('
    ') - htmlview.display_html(''' + htmlview.print_real_text(None, xhtml='
    ') + htmlview.print_real_text(None, xhtml='''
    1. One
    2. @@ -1066,12 +1012,12 @@ if __name__ == '__main__':
    3. Three
    ''') - htmlview.show() + htmlview.tv.show() sw = gtk.ScrolledWindow() sw.set_property('hscrollbar-policy', gtk.POLICY_AUTOMATIC) sw.set_property('vscrollbar-policy', gtk.POLICY_AUTOMATIC) sw.set_property('border-width', 0) - sw.add(htmlview) + sw.add(htmlview.tv) sw.show() frame = gtk.Frame() frame.set_shadow_type(gtk.SHADOW_IN) diff --git a/src/music_track_listener.py b/src/music_track_listener.py index a54a0670c..07105a947 100644 --- a/src/music_track_listener.py +++ b/src/music_track_listener.py @@ -98,15 +98,6 @@ class MusicTrackListener(gobject.GObject): 'NameOwnerChanged', 'org.freedesktop.DBus', arg0='net.sacredchao.QuodLibet') - ## Totem - ## patched by Lucky - ## used with Totem DBus plugin: - ## http://lucky.awardspace.co.uk/home/totem-plugins - bus.add_signal_receiver(self._totem_playing_started_cb, - 'playingStarted', 'org.gnome.Totem') - bus.add_signal_receiver(self._totem_playing_stopped_cb, - 'playingStopped', 'org.gnome.Totem') - def _player_name_owner_changed(self, name, old, new): if not new: self.emit('music-track-changed', None) @@ -211,17 +202,6 @@ class MusicTrackListener(gobject.GObject): info.duration = int(props.get('~#length', 0)) return info - def _totem_playing_started_cb(self, title, album, artist, duration): - self._last_playing_music = MusicTrackInfo() - self._last_playing_music.title = title - self._last_playing_music.album = album - self._last_playing_music.artist = artist - self._last_playing_music.duration = duration - self.emit('music-track-changed', self._last_playing_music) - - def _totem_playing_stopped_cb(self): - self.emit('music-track-changed', None) - def get_playing_track(self): '''Return a MusicTrackInfo for the currently playing song, or None if no song is playing''' diff --git a/src/notify.py b/src/notify.py index 09a4ae355..507794340 100644 --- a/src/notify.py +++ b/src/notify.py @@ -650,7 +650,7 @@ class DesktopNotification: def version_reply_handler(self, name, vendor, version, spec_version=None): if spec_version: version = spec_version - elif vendor == 'Xfce' and version == '0.1.0': + elif vendor == 'Xfce' and version.startswith('0.1.0'): version = '0.9' version_list = version.split('.') self.version = [] diff --git a/src/remote_control.py b/src/remote_control.py index e331b8c05..f50370708 100644 --- a/src/remote_control.py +++ b/src/remote_control.py @@ -27,6 +27,7 @@ ## import gobject +import gtk import os from common import gajim @@ -377,7 +378,7 @@ class SignalObject(dbus.service.Object): win = gajim.interface.msg_win_mgr.get_window(jid, connected_account).window if win.get_property('visible'): - win.window.focus() + win.window.focus(gtk.get_current_event_time()) return DBUS_BOOLEAN(True) return DBUS_BOOLEAN(False) @@ -507,7 +508,7 @@ class SignalObject(dbus.service.Object): win.present() # preserve the 'steal focus preservation' if self._is_first(): - win.window.focus() + win.window.focus(gtk.get_current_event_time()) else: win.window.focus(long(time())) diff --git a/src/roster_window.py b/src/roster_window.py index 5e1f33221..c5eb1474e 100644 --- a/src/roster_window.py +++ b/src/roster_window.py @@ -807,6 +807,11 @@ class RosterWindow: gajim.contacts.add_contact(account, contact) self.add_contact(jid, account) else: + if jid not in gajim.interface.minimized_controls[account]: + # there is a window that we can minimize + gc_control = gajim.interface.msg_win_mgr.get_gc_control(jid, + account) + gajim.interface.minimized_controls[account][jid] = gc_control contact.show = show contact.status = status self.adjust_and_draw_contact_context(jid, account) @@ -843,6 +848,51 @@ class RosterWindow: '''Remove transport from roster and redraw account and group.''' self.remove_contact(jid, account, force=True, backend=True) return True + + def rename_group(self, old_name, new_name): + """ + rename a roster group + """ + if old_name == new_name: + return + + # Groups may not change name from or to a special groups + for g in helpers.special_groups: + if g in (new_name, old_name): + return + + # update all contacts in the given group + if self.regroup: + accounts = gajim.connections.keys() + else: + accounts = [account,] + + for acc in accounts: + changed_contacts = [] + for jid in gajim.contacts.get_jid_list(acc): + contact = gajim.contacts.get_first_contact_from_jid(acc, jid) + if old_name not in contact.groups: + continue + + self.remove_contact(jid, acc, force=True) + + contact.groups.remove(old_name) + if new_name not in contact.groups: + contact.groups.append(new_name) + + changed_contacts.append({'jid':jid, 'name':contact.name, + 'groups':contact.groups}) + + gajim.connections[acc].update_contacts(changed_contacts) + + for c in changed_contacts: + self.add_contact(c['jid'], acc) + + self._adjust_group_expand_collapse_state(new_name, acc) + + self.draw_group(old_name, acc) + self.draw_group(new_name, acc) + def add_contact_to_groups(self, jid, account, groups, update=True): '''Add contact to given groups and redraw them. @@ -1108,7 +1158,9 @@ class RosterWindow: if c.show not in ('error', 'offline'): nb_connected_contact += 1 if nb_connected_contact > 1: - name += ' (' + unicode(nb_connected_contact) + ')' + # switch back to default writing direction + name += i18n.paragraph_direction_mark(unicode(name)) + name += u' (%d)' % nb_connected_contact # show (account_name) if there are 2 contact with same jid # in merged mode @@ -2704,23 +2756,7 @@ class RosterWindow: win.show_title() elif row_type == 'group': # in C_JID column, we hold the group name (which is not escaped) - if old_text == new_text: - return - # Groups may not change name from or to a special groups - for g in helpers.special_groups: - if g in (new_text, old_text): - return - # update all contacts in the given group - if self.regroup: - accounts = gajim.connections.keys() - else: - accounts = [account,] - for acc in accounts: - for jid in gajim.contacts.get_jid_list(acc): - contact = gajim.contacts.get_first_contact_from_jid(acc, jid) - if old_text in contact.groups: - self.add_contact_to_groups(jid, acc, [new_text,]) - self.remove_contact_from_groups(jid, acc, [old_text,]) + self.rename_group(old_text, new_text) def on_canceled(): if 'rename' in gajim.interface.instances: @@ -2919,6 +2955,12 @@ class RosterWindow: def on_groupchat_maximized(self, widget, jid, account): '''When a groupchat is maximised''' if not jid in gajim.interface.minimized_controls[account]: + # Already opened? + gc_control = gajim.interface.msg_win_mgr.get_gc_control(jid, account) + if gc_control: + mw = gajim.interface.msg_win_mgr.get_window(jid, account) + mw.set_active_tab(gc_control) + mw.window.window.focus(gtk.get_current_event_time()) return ctrl = gajim.interface.minimized_controls[account][jid] mw = gajim.interface.msg_win_mgr.get_window(jid, account) @@ -2928,7 +2970,7 @@ class RosterWindow: ctrl.parent_win = mw mw.new_tab(ctrl) mw.set_active_tab(ctrl) - mw.window.window.focus() + mw.window.window.focus(gtk.get_current_event_time()) self.remove_groupchat(jid, account) def on_edit_account(self, widget, account): @@ -3977,6 +4019,8 @@ class RosterWindow: return c_dest = gajim.contacts.get_contact_with_highest_priority(account_dest, jid_dest) + if not gajim.capscache.is_supported(c_dest, NS_FILE): + return uri = data.strip() uri_splitted = uri.split() # we may have more than one file dropped try: diff --git a/src/session.py b/src/session.py index f23f3fe9f..8f5617106 100644 --- a/src/session.py +++ b/src/session.py @@ -250,7 +250,7 @@ class ChatControlSession(stanza_session.EncryptedStanzaSession): if self.control: parent_win = self.control.parent_win - if self.control == parent_win.get_active_control() and \ + if parent_win and self.control == parent_win.get_active_control() and \ parent_win.window.has_focus: focused = True