# HG changeset patch # User Ka-Hing Cheung # Date 1241373552 0 # Node ID 9b7b8ee25af4e5806bd41c249ecfe6c23edb257d # Parent 8b40c704de714526ea33b5c129ec2a1b96632ce0# Parent bf7b3cd5ed250ab9e3c1b0f81278b78312dd0c89 merge of '654444067285909ecd842c1a5b06f16f773abe49' and 'ad057b7532610edb11caffebfa98068b6239d787' diff -r bf7b3cd5ed25 -r 9b7b8ee25af4 ChangeLog --- a/ChangeLog Sun May 03 17:58:21 2009 +0000 +++ b/ChangeLog Sun May 03 17:59:12 2009 +0000 @@ -16,37 +16,21 @@ * Report idle time 'From last message sent' should work properly. XMPP: - * Add voice & video support with Jingle (XEP-0166, 0167, 0176, & 0177), - and voice support with GTalk and GMail. (Mike "Maiku" Ruprecht) - * Add support for in-band bytestreams for file transfers (XEP-0047). - * Add support for sending and receiving attentions (equivalent to "buzz" + * Voice & Video support with Jingle (XEP-0166, 0167, 0176, & 0177), and + voice support with GTalk and GMail. (Mike "Maiku" Ruprecht) + * Support for in-band bytestreams for file transfers (XEP-0047). + * Support for sending and receiving attentions (equivalent to "buzz" and "nudge") using the command /buzz. (XEP-0224) * Support for connecting using BOSH. (Tobias Markmann) * A buddy's local time is displayed in the Get Info dialog if the remote client supports it. * The set_chat_topic function can unset the chat topic. - * Fix crash on connection with recent gstreamer0.10-plugins-bad. - * Don't create a new conversation window for incoming messages of - type 'headline'. * The Ad-Hoc commands associated with our server are now always shown at login. * Support showing and reporting idle times in the buddy list. (XEP-0256) * Support most recent version of User Avatar. (XEP-0084 v1.1) * Updated Entity Capabilities support. (Tobias Markmann) - * Support receiving user nicknames in presence packets and subscriptions. - (XEP-0172) - - IRC: - * Correctly handle WHOIS for users who are joined to a large number of - channels. - * Notify the user if a /nick command fails, rather than trying - fallback nicks. - - MSN: - * Fix a race condition in the SOAP code that caused mysterious crashes. - (Thanks to Florian Quèze for noticing the cause) - * Fix a regression in 2.5.5 that caused numerous "Friendly name changes - too rapidly" pop-ups at login. + * Better support for receiving remote users' nicknames. Yahoo: * P2P file transfers. (Sulabh Mahajan) diff -r bf7b3cd5ed25 -r 9b7b8ee25af4 libpurple/mime.c --- a/libpurple/mime.c Sun May 03 17:58:21 2009 +0000 +++ b/libpurple/mime.c Sun May 03 17:59:12 2009 +0000 @@ -403,7 +403,7 @@ char *b = (char *) buf; gsize n = len; - const char *bnd; + char *bnd; gsize bl; bnd = g_strdup_printf("--%s", boundary); diff -r bf7b3cd5ed25 -r 9b7b8ee25af4 libpurple/protocols/jabber/caps.c --- a/libpurple/protocols/jabber/caps.c Sun May 03 17:58:21 2009 +0000 +++ b/libpurple/protocols/jabber/caps.c Sun May 03 17:59:12 2009 +0000 @@ -826,8 +826,13 @@ JabberIdentity *id = (JabberIdentity*)node->data; char *category = g_markup_escape_text(id->category, -1); char *type = g_markup_escape_text(id->type, -1); - char *lang = g_markup_escape_text(id->lang, -1); - char *name = g_markup_escape_text(id->name, -1); + char *lang = NULL; + char *name = NULL; + + if (id->lang) + lang = g_markup_escape_text(id->lang, -1); + if (id->name) + name = g_markup_escape_text(id->name, -1); g_string_append_printf(verification, "%s/%s/%s/%s<", category, type, lang ? lang : "", name ? name : ""); diff -r bf7b3cd5ed25 -r 9b7b8ee25af4 libpurple/protocols/jabber/pep.c --- a/libpurple/protocols/jabber/pep.c Sun May 03 17:58:21 2009 +0000 +++ b/libpurple/protocols/jabber/pep.c Sun May 03 17:59:12 2009 +0000 @@ -67,12 +67,15 @@ JabberIqType type, const char *id, xmlnode *packet, gpointer data) { - xmlnode *pubsub = xmlnode_get_child_with_namespace(packet,"pubsub","http://jabber.org/protocol/pubsub"); + xmlnode *pubsub; xmlnode *items = NULL; JabberPEPHandler *cb = data; - if(pubsub) - items = xmlnode_get_child(pubsub, "items"); + if (type == JABBER_IQ_RESULT) { + pubsub = xmlnode_get_child_with_namespace(packet, "pubsub", "http://jabber.org/protocol/pubsub"); + if(pubsub) + items = xmlnode_get_child(pubsub, "items"); + } cb(js, from, items); } diff -r bf7b3cd5ed25 -r 9b7b8ee25af4 libpurple/protocols/jabber/presence.c --- a/libpurple/protocols/jabber/presence.c Sun May 03 17:58:21 2009 +0000 +++ b/libpurple/protocols/jabber/presence.c Sun May 03 17:59:12 2009 +0000 @@ -340,7 +340,7 @@ xmlnode *packet, gpointer blah) { JabberBuddy *jb = NULL; - xmlnode *vcard, *photo, *binval; + xmlnode *vcard, *photo, *binval, *fn, *nick; char *text; if(!from) @@ -352,6 +352,29 @@ if((vcard = xmlnode_get_child(packet, "vCard")) || (vcard = xmlnode_get_child_with_namespace(packet, "query", "vcard-temp"))) { + /* The logic here regarding the nickname and full name is copied from + * buddy.c:jabber_vcard_parse. */ + gchar *nickname = NULL; + if ((fn = xmlnode_get_child(vcard, "FN"))) + nickname = xmlnode_get_data(fn); + + if ((nick = xmlnode_get_child(vcard, "NICKNAME"))) { + char *tmp = xmlnode_get_data(nick); + char *bare_jid = jabber_get_bare_jid(from); + if (strstr(bare_jid, tmp) == NULL) { + g_free(nickname); + nickname = tmp; + } else + g_free(tmp); + + g_free(bare_jid); + } + + if (nickname) { + serv_got_alias(js->gc, from, nickname); + g_free(nickname); + } + if((photo = xmlnode_get_child(vcard, "PHOTO")) && (( (binval = xmlnode_get_child(photo, "BINVAL")) && (text = xmlnode_get_data(binval))) || @@ -643,9 +666,11 @@ if(type && !strcmp(type, "unavailable")) { gboolean nick_change = FALSE; - /* If we haven't joined the chat yet, we don't care that someone - * left, or it was us leaving after we closed the chat */ - if (!chat->conv || chat->left) { + /* If the chat nick is invalid, we haven't yet joined, or we've + * already left (it was probably us leaving after we closed the + * chat), we don't care. + */ + if (!jid->resource || !chat->conv || chat->left) { if (chat->left && jid->resource && chat->handle && !strcmp(jid->resource, chat->handle)) jabber_chat_destroy(chat); @@ -706,6 +731,19 @@ } } } else { + /* + * XEP-0045 mandates the presence to include a resource (which is + * treated as the chat nick). Some non-compliant servers allow + * joining without a nick. + */ + if (!jid->resource) { + jabber_id_free(jid); + g_free(avatar_hash); + g_free(nickname); + g_free(status); + return; + } + if(!chat->conv) { char *room_jid = g_strdup_printf("%s@%s", jid->node, jid->domain); chat->id = i++; diff -r bf7b3cd5ed25 -r 9b7b8ee25af4 libpurple/protocols/jabber/useravatar.c --- a/libpurple/protocols/jabber/useravatar.c Sun May 03 17:58:21 2009 +0000 +++ b/libpurple/protocols/jabber/useravatar.c Sun May 03 17:59:12 2009 +0000 @@ -33,9 +33,6 @@ void jabber_avatar_init(void) { - jabber_pep_register_handler(NS_AVATAR_0_12_METADATA, - update_buddy_metadata); - jabber_add_feature(NS_AVATAR_1_1_METADATA, jabber_pep_namespace_only_when_pep_enabled_cb); jabber_add_feature(NS_AVATAR_1_1_DATA, @@ -48,8 +45,32 @@ static void remove_avatar_0_12_nodes(JabberStream *js) { + /* Publish an empty avatar according to the XEP-0084 v0.12 semantics */ + xmlnode *publish, *item, *metadata; + /* publish the metadata */ + publish = xmlnode_new("publish"); + xmlnode_set_attrib(publish, "node", NS_AVATAR_0_12_METADATA); + + item = xmlnode_new_child(publish, "item"); + xmlnode_set_attrib(item, "id", "stop"); + + metadata = xmlnode_new_child(item, "metadata"); + xmlnode_set_namespace(metadata, NS_AVATAR_0_12_METADATA); + + xmlnode_new_child(metadata, "stop"); + + /* publish */ + jabber_pep_publish(js, publish); + + /* + * This causes ejabberd 2.0.0 to RST our connection unceremoniously, + * so disable it for now (we publish a to the metadata node + * instead. + */ +#if 0 jabber_pep_delete_node(js, NS_AVATAR_0_12_METADATA); jabber_pep_delete_node(js, NS_AVATAR_0_12_DATA); +#endif } void jabber_avatar_set(JabberStream *js, PurpleStoredImage *img) @@ -59,6 +80,7 @@ if (!js->pep) return; + /* Hmmm, not sure if this is worth the traffic, but meh */ remove_avatar_0_12_nodes(js); if (!img) { @@ -169,35 +191,29 @@ } static void +do_got_own_avatar_0_12_cb(JabberStream *js, const char *from, xmlnode *items) +{ + if (items) + /* It wasn't an error (i.e. 'item-not-found') */ + remove_avatar_0_12_nodes(js); +} + +static void do_got_own_avatar_cb(JabberStream *js, const char *from, xmlnode *items) { xmlnode *item = NULL, *metadata = NULL, *info = NULL; PurpleAccount *account = purple_connection_get_account(js->gc); const char *server_hash = NULL; - const char *ns; - if ((item = xmlnode_get_child(items, "item")) && + if (items && (item = xmlnode_get_child(items, "item")) && (metadata = xmlnode_get_child(item, "metadata")) && (info = xmlnode_get_child(metadata, "info"))) { server_hash = xmlnode_get_attrib(info, "id"); } - if (!metadata) - return; - - ns = xmlnode_get_namespace(metadata); - if (!ns) + if (items && !metadata) return; - /* - * We no longer publish avatars to the older namespace. If there is one - * there, delete it. - */ - if (g_str_equal(ns, NS_AVATAR_0_12_METADATA) && server_hash) { - remove_avatar_0_12_nodes(js); - return; - } - /* Publish ours if it's different than the server's */ if (!purple_strequal(server_hash, js->initial_avatar_hash)) { PurpleStoredImage *img = purple_buddy_icons_find_account_icon(account); @@ -210,7 +226,7 @@ { char *jid = g_strdup_printf("%s@%s", js->user->node, js->user->domain); jabber_pep_request_item(js, jid, NS_AVATAR_0_12_METADATA, NULL, - do_got_own_avatar_cb); + do_got_own_avatar_0_12_cb); jabber_pep_request_item(js, jid, NS_AVATAR_1_1_METADATA, NULL, do_got_own_avatar_cb); g_free(jid); @@ -247,7 +263,7 @@ do_buddy_avatar_update_data(JabberStream *js, const char *from, xmlnode *items) { xmlnode *item, *data; - const char *checksum, *ns; + const char *checksum; char *b64data; void *img; size_t size; @@ -262,12 +278,6 @@ if(!data) return; - ns = xmlnode_get_namespace(data); - /* Make sure the namespace is one of the two valid possibilities */ - if (!ns || (!g_str_equal(ns, NS_AVATAR_0_12_DATA) && - !g_str_equal(ns, NS_AVATAR_1_1_DATA))) - return; - checksum = xmlnode_get_attrib(item,"id"); if(!checksum) return; @@ -290,7 +300,7 @@ update_buddy_metadata(JabberStream *js, const char *from, xmlnode *items) { PurpleBuddy *buddy = purple_find_buddy(purple_connection_get_account(js->gc), from); - const char *checksum, *ns; + const char *checksum; xmlnode *item, *metadata; if(!buddy) return; @@ -306,15 +316,9 @@ if(!metadata) return; - ns = xmlnode_get_namespace(metadata); - /* Make sure the namespace is one of the two valid possibilities */ - if (!ns || (!g_str_equal(ns, NS_AVATAR_0_12_METADATA) && - !g_str_equal(ns, NS_AVATAR_1_1_METADATA))) - return; - checksum = purple_buddy_icons_get_checksum_for_user(buddy); - /* check if we have received a stop */ + /* was the pre-v1.1 method of publishing an empty avatar */ if(xmlnode_get_child(metadata, "stop")) { purple_buddy_icons_set_for_user(purple_connection_get_account(js->gc), from, NULL, 0, NULL); } else { @@ -347,10 +351,7 @@ /* the avatar might either be stored in a pep node, or on a HTTP(S) URL */ if(!url) { - const char *data_ns; - data_ns = (g_str_equal(ns, NS_AVATAR_0_12_METADATA) ? - NS_AVATAR_0_12_DATA : NS_AVATAR_1_1_DATA); - jabber_pep_request_item(js, from, data_ns, id, + jabber_pep_request_item(js, from, NS_AVATAR_1_1_DATA, id, do_buddy_avatar_update_data); } else { PurpleUtilFetchUrlData *url_data; diff -r bf7b3cd5ed25 -r 9b7b8ee25af4 libpurple/protocols/jabber/usernick.c --- a/libpurple/protocols/jabber/usernick.c Sun May 03 17:58:21 2009 +0000 +++ b/libpurple/protocols/jabber/usernick.c Sun May 03 17:59:12 2009 +0000 @@ -65,7 +65,10 @@ static void do_nick_got_own_nick_cb(JabberStream *js, const char *from, xmlnode *items) { char *oldnickname = NULL; - xmlnode *item = xmlnode_get_child(items,"item"); + xmlnode *item = NULL; + + if (items) + item = xmlnode_get_child(items,"item"); if(item) { xmlnode *nick = xmlnode_get_child_with_namespace(item,"nick","http://jabber.org/protocol/nick"); diff -r bf7b3cd5ed25 -r 9b7b8ee25af4 libpurple/protocols/msn/notification.c --- a/libpurple/protocols/msn/notification.c Sun May 03 17:58:21 2009 +0000 +++ b/libpurple/protocols/msn/notification.c Sun May 03 17:59:12 2009 +0000 @@ -612,8 +612,19 @@ static void update_contact_network(MsnSession *session, const char *passport, MsnNetwork network) { - MsnUser *user = msn_userlist_find_user(session->userlist, passport); + MsnUser *user; + + if (network == MSN_NETWORK_UNKNOWN) + { + purple_debug_warning("msn", + "Ignoring user %s about which server knows nothing.\n", + passport); + session->adl_fqy--; + return; + } + /* TODO: Also figure out how to update membership lists */ + user = msn_userlist_find_user(session->userlist, passport); if (user) { xmlnode *adl_node; char *payload; @@ -774,13 +785,17 @@ purple_debug_info("msn", "Invalid XML in ADL!\n"); return; } - for (domain_node = xmlnode_get_child(root, "d"); domain_node; domain_node = xmlnode_get_next_twin(domain_node)) { + for (domain_node = xmlnode_get_child(root, "d"); + domain_node; + domain_node = xmlnode_get_next_twin(domain_node)) { const gchar * domain = NULL; xmlnode *contact_node = NULL; domain = xmlnode_get_attrib(domain_node, "n"); - for (contact_node = xmlnode_get_child(domain_node, "c"); contact_node; contact_node = xmlnode_get_next_twin(contact_node)) { + for (contact_node = xmlnode_get_child(domain_node, "c"); + contact_node; + contact_node = xmlnode_get_next_twin(contact_node)) { const gchar *list; gint list_op = 0; @@ -942,10 +957,10 @@ passport = g_strdup_printf("%s@%s", local, domain); - if (type != NULL) + if (!g_ascii_isdigit(cmd->command[0]) && type != NULL) network = (MsnNetwork)strtoul(type, NULL, 10); else - network = MSN_NETWORK_PASSPORT; + network = MSN_NETWORK_UNKNOWN; purple_debug_info("msn", "FQY response says %s is from network %d\n", passport, network); @@ -960,6 +975,26 @@ } static void +fqy_error(MsnCmdProc *cmdproc, MsnTransaction *trans, int error) +{ + MsnCommand *cmd = cmdproc->last_cmd; + + purple_debug_warning("msn", "FQY error %d\n", error); + if (cmd->param_count > 1) { + cmd->payload_cb = fqy_cmd_post; + cmd->payload_len = atoi(cmd->params[1]); + cmd->payload_cbdata = GINT_TO_POINTER(error); + } +#if 0 + /* If the server didn't send us a corresponding email address for this + FQY error, it's probably going to disconnect us. So it isn't necessary + to tell the handler about it. */ + else if (trans->data) + ((MsnFqyCb)trans->data)(session, NULL, MSN_NETWORK_UNKNOWN); */ +#endif +} + +static void fqy_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) { purple_debug_info("msn", "Process FQY\n"); @@ -2153,6 +2188,7 @@ msn_table_add_error(cbs_table, "ADD", add_error); msn_table_add_error(cbs_table, "ADL", adl_error); + msn_table_add_error(cbs_table, "FQY", fqy_error); msn_table_add_error(cbs_table, "REG", reg_error); msn_table_add_error(cbs_table, "RMG", rmg_error); msn_table_add_error(cbs_table, "USR", usr_error); diff -r bf7b3cd5ed25 -r 9b7b8ee25af4 libpurple/protocols/msnp9/slplink.c --- a/libpurple/protocols/msnp9/slplink.c Sun May 03 17:58:21 2009 +0000 +++ b/libpurple/protocols/msnp9/slplink.c Sun May 03 17:59:12 2009 +0000 @@ -510,7 +510,7 @@ { MsnSlpMessage *slpmsg; const char *data; - gsize offset; + guint64 offset; gsize len; #ifdef MSN_DEBUG_SLP @@ -581,6 +581,7 @@ if (slpmsg->buffer == NULL) { purple_debug_error("msn", "Failed to allocate buffer for slpmsg\n"); + msn_slpmsg_destroy(slpmsg); return; } } diff -r bf7b3cd5ed25 -r 9b7b8ee25af4 pidgin/gtksavedstatuses.c --- a/pidgin/gtksavedstatuses.c Sun May 03 17:58:21 2009 +0000 +++ b/pidgin/gtksavedstatuses.c Sun May 03 17:59:12 2009 +0000 @@ -390,7 +390,7 @@ gtk_widget_set_sensitive(dialog->use_button, (num_selected == 1) && can_use); gtk_widget_set_sensitive(dialog->modify_button, (num_selected > 0)); - gtk_widget_set_sensitive(dialog->delete_button, can_delete); + gtk_widget_set_sensitive(dialog->delete_button, num_selected > 0 && can_delete); g_list_free(sel_paths); } @@ -648,6 +648,7 @@ button = pidgin_dialog_add_button(GTK_DIALOG(win), PIDGIN_STOCK_MODIFY, G_CALLBACK(status_window_modify_cb), dialog); dialog->modify_button = button; + gtk_widget_set_sensitive(button, FALSE); /* Delete button */ button = pidgin_dialog_add_button(GTK_DIALOG(win), GTK_STOCK_DELETE, diff -r bf7b3cd5ed25 -r 9b7b8ee25af4 po/ca.po --- a/po/ca.po Sun May 03 17:58:21 2009 +0000 +++ b/po/ca.po Sun May 03 17:59:12 2009 +0000 @@ -33,8 +33,8 @@ msgstr "" "Project-Id-Version: Pidgin\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-30 10:37-0400\n" -"PO-Revision-Date: 2009-03-05 22:37+0100\n" +"POT-Creation-Date: 2009-05-03 18:12+0200\n" +"PO-Revision-Date: 2009-05-03 18:15+0200\n" "Last-Translator: Josep Puigdemont i Casamajó \n" "Language-Team: Catalan \n" "MIME-Version: 1.0\n" @@ -639,6 +639,19 @@ msgid "Send To" msgstr "Envia a" +msgid "Invite message" +msgstr "Missatge d'invitació" + +msgid "Invite" +msgstr "Convida" + +msgid "" +"Please enter the name of the user you wish to invite,\n" +"along with an optional invite message." +msgstr "" +"Introduïu el nom de l'usuari que vulgueu convidar,\n" +"així com un missatge d'invitació opcional." + msgid "Conversation" msgstr "Conversa" @@ -902,41 +915,6 @@ msgid "System Log" msgstr "Registre del sistema" -#, fuzzy -msgid "Calling ... " -msgstr "S'està calculant..." - -msgid "Hangup" -msgstr "" - -#. Number of actions -msgid "Accept" -msgstr "Accepta" - -msgid "Reject" -msgstr "Rebutja" - -msgid "Call in progress." -msgstr "" - -msgid "The call has been terminated." -msgstr "" - -#, c-format -msgid "%s wishes to start an audio session with you." -msgstr "" - -#, c-format -msgid "%s is trying to start an unsupported media session type with you." -msgstr "" - -#, fuzzy -msgid "You have rejected the call." -msgstr "Heu sortit del canal%s%s" - -msgid "call: Make an audio call." -msgstr "" - msgid "Emails" msgstr "Correus electrònics" @@ -971,9 +949,6 @@ msgid "IM" msgstr "MI" -msgid "Invite" -msgstr "Convida" - msgid "(none)" msgstr "(cap)" @@ -1589,28 +1564,6 @@ msgid "Lastlog plugin." msgstr "Connector lastlog." -#, c-format -msgid "" -"\n" -"Fetching TinyURL..." -msgstr "" - -msgid "Only create TinyURL for urls of this length or greater" -msgstr "" - -msgid "TinyURL (or other) address prefix" -msgstr "" - -#, fuzzy -msgid "TinyURL" -msgstr "URL de la melodia" - -msgid "TinyURL plugin" -msgstr "" - -msgid "When receiving a message with URL(s), TinyURL for easier copying" -msgstr "" - msgid "accounts" msgstr "comptes" @@ -1712,6 +1665,13 @@ msgid "SSL Certificate Verification" msgstr "Verificació d'un certificat SSL" +#. Number of actions +msgid "Accept" +msgstr "Accepta" + +msgid "Reject" +msgstr "Rebutja" + msgid "_View Certificate..." msgstr "_Mostra el certificat..." @@ -1860,18 +1820,6 @@ msgid "%s left the room (%s)." msgstr "%s ha sortit de la sala (%s)." -#, fuzzy -msgid "Invite to chat" -msgstr "Convida a la conferència" - -#. Put our happy label in it. -msgid "" -"Please enter the name of the user you wish to invite, along with an optional " -"invite message." -msgstr "" -"Introduïu el nom de l'usuari que vulgueu convidar, així com un missatge " -"d'invitació opcional." - #, c-format msgid "Failed to get connection: %s" msgstr "No s'ha pogut obtenir la connexió: %s" @@ -2705,32 +2653,6 @@ msgid "Do not ask. Always save in pounce." msgstr "No ho demanis, desa-ho sempre en un avís." -#, fuzzy -msgid "One Time Password" -msgstr "Introduïu la contrasenya" - -#. *< type -#. *< ui_requirement -#. *< flags -#. *< dependencies -#. *< priority -#. *< id -msgid "One Time Password Support" -msgstr "" - -#. *< name -#. *< version -#. * summary -msgid "Enforce that passwords are used only once." -msgstr "" - -#. * description -msgid "" -"Allows you to enforce on a per-account basis that passwords not being saved " -"are only used in a single successful connection.\n" -"Note: The account password must not be saved for this to work." -msgstr "" - #. *< type #. *< ui_requirement #. *< flags @@ -3133,7 +3055,6 @@ msgid "Add to chat..." msgstr "Afegeix al xat..." -#. Global msgid "Available" msgstr "Disponible" @@ -3480,17 +3401,6 @@ "El servidor ha rebutjat el nom del compte que heu triat. Possiblement conté " "caràcters invàlids." -#. We only want to do the following dance if the connection -#. has not been successfully completed. If it has, just -#. notify the user that their /nick command didn't go. -#, fuzzy, c-format -msgid "The nickname \"%s\" is already being used." -msgstr "Aquest nom de xat ja existeix" - -#, fuzzy -msgid "Nickname in use" -msgstr "Sobrenom: %s\n" - msgid "Cannot change nick" msgstr "No es pot canviar el sobrenom" @@ -3763,41 +3673,6 @@ msgid "SASL error" msgstr "Error en el SASL" -msgid "The BOSH connection manager terminated your session." -msgstr "" - -#, fuzzy -msgid "No session ID given" -msgstr "No s'ha indicat cap motiu" - -#, fuzzy -msgid "Unsupported version of BOSH protocol" -msgstr "Aquesta versió no està implementada" - -#, fuzzy -msgid "Unable to establish a connection with the server" -msgstr "" -"No s'ha pogut establir una connexió amb al servidor:\n" -"%s" - -#, c-format -msgid "" -"Could not establish a connection with the server:\n" -"%s" -msgstr "" -"No s'ha pogut establir una connexió amb al servidor:\n" -"%s" - -#, fuzzy -msgid "Unable to establish SSL connection" -msgstr "No s'ha pogut inicialitzar la connexió" - -msgid "Unable to create socket" -msgstr "No s'ha pogut crear el sòcol" - -msgid "Write error" -msgstr "Error d'escriptura" - msgid "Full Name" msgstr "Nom" @@ -3864,10 +3739,6 @@ msgid "Operating System" msgstr "Sistema operatiu" -#, fuzzy -msgid "Local Time" -msgstr "Fitxer local:" - msgid "Last Activity" msgstr "Darrera activitat" @@ -4211,6 +4082,9 @@ msgid "You require encryption, but it is not available on this server." msgstr "Requeriu xifratge, però no està disponible en aquest servidor." +msgid "Write error" +msgstr "Error d'escriptura" + msgid "Ping timeout" msgstr "Temps d'espera del ping" @@ -4219,9 +4093,14 @@ #, c-format msgid "" -"Could not find alternative XMPP connection methods after failing to connect " -"directly.\n" -msgstr "" +"Could not establish a connection with the server:\n" +"%s" +msgstr "" +"No s'ha pogut establir una connexió amb al servidor:\n" +"%s" + +msgid "Unable to create socket" +msgstr "No s'ha pogut crear el sòcol" msgid "Invalid XMPP ID" msgstr "ID de l'XMPP invàlid" @@ -4229,10 +4108,6 @@ msgid "Invalid XMPP ID. Domain must be set." msgstr "L'ID de l'XMPP no és vàlid. Cal especificar un domini." -#, fuzzy -msgid "Malformed BOSH Connect Server" -msgstr "No s'ha pogut connectar al servidor." - #, c-format msgid "Registration of %s@%s successful" msgstr "S'ha registrat %s a %s amb èxit" @@ -4323,13 +4198,6 @@ msgid "Not Authorized" msgstr "No autoritzat" -msgid "Mood" -msgstr "Estat d'ànim" - -# FIXME? -msgid "Now Listening" -msgstr "Ara escoltant" - msgid "Both" msgstr "Ambdós" @@ -4351,6 +4219,13 @@ msgid "Subscription" msgstr "Subscripció" +msgid "Mood" +msgstr "Estat d'ànim" + +# FIXME? +msgid "Now Listening" +msgstr "Ara escoltant" + msgid "Mood Text" msgstr "Text sobre l'estat d'ànim" @@ -4600,12 +4475,13 @@ msgstr "" "No s'ha pogut botzinar possiblement perquè l'usuari %s està desconnectat." -#, fuzzy, c-format +#, c-format msgid "" "Unable to buzz, because %s does not support it or does not wish to receive " "buzzes now." msgstr "" -"No s'ha pogut botzinar perquè no és pot, o bé l'usuari %s no ho permet." +"No s'ha pogut botzinar l'usuari %s perquè no ho implementa, o bé ara mateix " +"no ho permet." #, c-format msgid "Buzzing %s..." @@ -4620,38 +4496,6 @@ msgid "%s has buzzed you!" msgstr "%s us ha botzinat!" -#, fuzzy, c-format -msgid "Unable to initiate media with %s: invalid JID" -msgstr "No s'ha pogut enviar el fitxer a %s, el JID no és vàlid" - -#, fuzzy, c-format -msgid "Unable to initiate media with %s: user is not online" -msgstr "No s'ha pogut enviar el fitxer a %s, l'usuari no està connectat" - -# FIXME: uh? -#, fuzzy, c-format -msgid "Unable to initiate media with %s: not subscribed to user presence" -msgstr "" -"No s'ha pogut enviar el fitxer a %s, no esteu subscrit a la presència de " -"l'usuari" - -#, fuzzy -msgid "Media Initiation Failed" -msgstr "Ha fallat el registre" - -#, fuzzy, c-format -msgid "" -"Please select the resource of %s with which you would like to start a media " -"session." -msgstr "Escolliu a quin recurs de %s voleu enviar un fitxer" - -msgid "Select a Resource" -msgstr "Seleccioneu un recurs" - -#, fuzzy -msgid "Initiate Media" -msgstr "Inicia un _xat" - msgid "config: Configure a chat room." msgstr "config: configura la sala de xat." @@ -4846,6 +4690,9 @@ msgid "Please select the resource of %s to which you would like to send a file" msgstr "Escolliu a quin recurs de %s voleu enviar un fitxer" +msgid "Select a Resource" +msgstr "Seleccioneu un recurs" + msgid "Edit User Mood" msgstr "Edita l'estat d'ànim" @@ -5977,7 +5824,7 @@ #, c-format msgid "%s has whacked you!" -msgstr "%s us ha bufetejat [%s]" +msgstr "%s us ha bufetejat!" #, c-format msgid "Whacking %s..." @@ -6063,17 +5910,16 @@ #. We're not entirely sure what the MySpace people mean by #. * this... but we think it's the equivalent of "prank." Or, for #. * someone to perform a mischievous trick or practical joke. -#, fuzzy msgid "Punk" -msgstr "Enredar" - -#, fuzzy, c-format +msgstr "Pren el pèl" + +#, c-format msgid "%s has punk'd you!" -msgstr "%s us ha enredat!" - -#, fuzzy, c-format +msgstr "%s us ha près el pèl!" + +#, c-format msgid "Punking %s..." -msgstr "S'està enredant %s..." +msgstr "S'està prenent el pèl a %s..." #. Raspberry is a slang term for the vibrating sound made #. * when you stick your tongue out of your mouth with your @@ -6082,17 +5928,16 @@ #. * gesture, so it does not carry a harsh negative #. * connotation. It is generally used in a playful tone #. * with friends. -#, fuzzy msgid "Raspberry" msgstr "Llengoteja" -#, fuzzy, c-format +#, c-format msgid "%s has raspberried you!" -msgstr "%s s'ha connectat." - -#, fuzzy, c-format +msgstr "%s us ha fet una llengota!" + +#, c-format msgid "Raspberrying %s..." -msgstr "Morrejant" +msgstr "S'està fent una llengota a %s..." msgid "Required parameters not passed in" msgstr "No s'han passat tots els paràmetres requerits" @@ -7820,9 +7665,6 @@ msgid "

Scrupulous Testers:
\n" msgstr "

Comprovadors del codi:
\n" -msgid "and more, please let me know... thank you!))" -msgstr "" - # FIXME: ush... traducció lliure... msgid "

And, all the boys in the backroom...
\n" msgstr "

I tothom que ho ha fet possible...
\n" @@ -7962,6 +7804,7 @@ "No s'ha reconegut el codi de resposta en entrar (0x%02X):\n" "%s" +#. we didn't successfully connect. tdt->toc_fd is valid here msgid "Unable to connect." msgstr "No s'ha pogut connectar." @@ -9563,13 +9406,202 @@ msgstr "Domini Auth" #, c-format +msgid "Looking up %s" +msgstr "S'està cercant %s" + +#, c-format +msgid "Connect to %s failed" +msgstr "Ha fallat la connexió a %s" + +#, c-format +msgid "Signon: %s" +msgstr "Entrada: %s" + +#, c-format +msgid "Unable to write file %s." +msgstr "No s'ha pogut escriure el fitxer %s." + +#, c-format +msgid "Unable to read file %s." +msgstr "No s'ha pogut llegir el fitxer %s." + +#, c-format +msgid "Message too long, last %s bytes truncated." +msgstr "El missatge és massa llarg, s'han retallat els darrers %s octets." + +#, c-format +msgid "%s not currently logged in." +msgstr "%s no està connectat." + +#, c-format +msgid "Warning of %s not allowed." +msgstr "Avís de %s no permès." + +#, c-format +msgid "A message has been dropped, you are exceeding the server speed limit." +msgstr "" +"S'ha ignorat un missatge. Esteu excedint el límit de velocitat del servidor." + +#, c-format +msgid "Chat in %s is not available." +msgstr "El xat a %s no està disponible." + +#, c-format +msgid "You are sending messages too fast to %s." +msgstr "Esteu enviant missatges massa de pressa a %s." + +#, c-format +msgid "You missed an IM from %s because it was too big." +msgstr "Us heu perdut un missatge instantani de %s perquè era massa gran." + +#, c-format +msgid "You missed an IM from %s because it was sent too fast." +msgstr "" +"Heu perdut un missatge instantani de %s perquè s'ha enviat massa de pressa." + +#, c-format +msgid "Failure." +msgstr "Fallada." + +#, c-format +msgid "Too many matches." +msgstr "Massa coincidències." + +#, c-format +msgid "Need more qualifiers." +msgstr "Es necessiten més qualificadors." + +#, c-format +msgid "Dir service temporarily unavailable." +msgstr "Servei de directori no disponible temporalment." + +#, c-format +msgid "Email lookup restricted." +msgstr "Recerca per adreça de correu electrònic restringida." + +#, c-format +msgid "Keyword ignored." +msgstr "S'ha ignorat la paraula clau." + +#, c-format +msgid "No keywords." +msgstr "No hi ha paraules clau." + +#, c-format +msgid "User has no directory information." +msgstr "L'usuari no té informació al directori." + +# FIXME +#, c-format +msgid "Country not supported." +msgstr "Aquest país no està disponible." + +#, c-format +msgid "Failure unknown: %s." +msgstr "Fallada desconeguda: %s." + +#, c-format +msgid "Incorrect username or password." +msgstr "El nom d'usuari o la contrasenya no són correctes." + +#, c-format +msgid "The service is temporarily unavailable." +msgstr "El servei està temporalment no disponible." + +#, c-format +msgid "Your warning level is currently too high to log in." +msgstr "El vostre nivell d'avisos és massa alt per a connectar-se." + +#, c-format +msgid "" +"You have been connecting and disconnecting too frequently. Wait ten minutes " +"and try again. If you continue to try, you will need to wait even longer." +msgstr "" +"Us heu estat connectant i desconnectant amb massa freqüència. Espereu deu " +"minuts i torneu-ho a provar. Si continueu intentant-ho, haureu d'esperar " +"encara més." + +#, c-format +msgid "An unknown signon error has occurred: %s." +msgstr "Hi ha hagut un error de connexió desconegut: %s." + +#, c-format +msgid "An unknown error, %d, has occurred. Info: %s" +msgstr "S'ha produït un error desconegut, %d. Informació: %s" + +msgid "Invalid Groupname" +msgstr "El nom del grup no és vàlid" + +msgid "Connection Closed" +msgstr "Connexió tancada" + +msgid "Waiting for reply..." +msgstr "S'està esperant una resposta..." + +msgid "TOC has come back from its pause. You may now send messages again." +msgstr "TOC ha tornat de la pausa. Ja podeu enviar missatges de nou." + +msgid "Password Change Successful" +msgstr "S'ha canviat la contrasenya amb èxit" + +msgid "_Group:" +msgstr "_Grup:" + +msgid "Get Dir Info" +msgstr "Aconsegueix informació del directori" + +msgid "Set Dir Info" +msgstr "Estableix informació del directori" + +#, c-format +msgid "Could not open %s for writing!" +msgstr "No s'ha pogut obrir %s per a escriure-hi." + +msgid "File transfer failed; other side probably canceled." +msgstr "" +"Ha fallat la transferència de fitxers. Probablement s'ha cancel·lat a " +"l'altra banda." + +msgid "Could not connect for transfer." +msgstr "No s'ha pogut connectar per realitzar la transferència." + +msgid "Could not write file header. The file will not be transferred." +msgstr "No s'ha pogut escriure la capçalera del fitxer. No s'enviarà." + +msgid "Save As..." +msgstr "Anomena i desa..." + +#, c-format +msgid "%s requests %s to accept %d file: %s (%.2f %s)%s%s" +msgid_plural "%s requests %s to accept %d files: %s (%.2f %s)%s%s" +msgstr[0] "%s demana a %s que accepti %d fitxer: %s (%.2f %s)%s%s" +msgstr[1] "%s demana a %s que accepti %d fitxers: %s (%.2f %s)%s%s" + +#, c-format +msgid "%s requests you to send them a file" +msgstr "%s us demana que li envieu un fitxer" + +#. *< type +#. *< ui_requirement +#. *< flags +#. *< dependencies +#. *< priority +#. *< id +#. *< name +#. *< version +#. * summary +#. * description +msgid "TOC Protocol Plugin" +msgstr "Connector per al protocol TOC" + +#, c-format msgid "%s has sent you a webcam invite, which is not yet supported." msgstr "" "%s us ha enviat una invitació a la seva càmera web, però això encara no està " "implementat." msgid "Your SMS was not delivered" -msgstr "" +msgstr "No s'ha enviat l'SMS" msgid "Your Yahoo! message did not get sent." msgstr "No s'ha pogut enviar el vostre missatge de Yahoo!" @@ -10300,13 +10332,13 @@ msgid "Unable to connect to %s: %s" msgstr "No s'ha pogut connectar a %s: %s" -#, fuzzy, c-format +#, c-format msgid "" "Unable to connect to %s: Server requires TLS/SSL, but no TLS/SSL support was " "found." msgstr "" -"El servidor requereix TLS/SSL per entrar. No s'ha trobat suport per a TLS/" -"SSL." +"No s'ha pogut connectar a %s: el servidor requereix TLS/SSL, però no s'ha " +"trobat cap implementació de TLS/SSL." #, c-format msgid " - %s" @@ -10395,8 +10427,10 @@ msgid "Use this buddy _icon for this account:" msgstr "Utilitza aquesta _icona d'amic per a aquest compte:" -msgid "_Advanced" -msgstr "_Avançat" +#. Build the protocol options frame. +#, c-format +msgid "%s Options" +msgstr "Opcions de %s" msgid "Use GNOME Proxy Settings" msgstr "Empra la configuració del servidor intermediari del Gnome" @@ -10431,6 +10465,9 @@ msgid "you can see the butterflies mating" msgstr "podreu veure les papallones aparellant-se" +msgid "Proxy Options" +msgstr "Opcions del servidor intermediari" + msgid "Proxy _type:" msgstr "_Tipus de servidor intermediari" @@ -10458,9 +10495,8 @@ msgid "Create _this new account on the server" msgstr "Crea _aquest compte nou al servidor" -#, fuzzy -msgid "_Proxy" -msgstr "Servidor intermediari" +msgid "_Advanced" +msgstr "_Avançat" msgid "Enabled" msgstr "Habilitat" @@ -10539,17 +10575,6 @@ msgid "I_M" msgstr "_MI" -#, fuzzy -msgid "_Audio Call" -msgstr "Finalitza la trucada" - -msgid "Audio/_Video Call" -msgstr "" - -#, fuzzy -msgid "_Video Call" -msgstr "Xat de vídeo" - msgid "_Send File..." msgstr "_Envia un fitxer..." @@ -10832,7 +10857,7 @@ msgstr "Rehabilita" msgid "SSL FAQs" -msgstr "" +msgstr "PMF sobre SSL" msgid "Welcome back!" msgstr "Ben tornat!" @@ -10922,9 +10947,6 @@ msgid "A_lias:" msgstr "Àl_ies:" -msgid "_Group:" -msgstr "_Grup:" - msgid "Auto_join when account becomes online." msgstr "_Entra automàticament quant el compte estigui connectat." @@ -10975,6 +10997,14 @@ msgid "Invite Buddy Into Chat Room" msgstr "Convida l'amic a una sala de xat" +#. Put our happy label in it. +msgid "" +"Please enter the name of the user you wish to invite, along with an optional " +"invite message." +msgstr "" +"Introduïu el nom de l'usuari que vulgueu convidar, així com un missatge " +"d'invitació opcional." + msgid "_Buddy:" msgstr "_Amic:" @@ -11050,22 +11080,6 @@ msgid "/Conversation/Clea_r Scrollback" msgstr "/Conversa/_Neteja la finestra" -#, fuzzy -msgid "/Conversation/M_edia" -msgstr "/Conversa/_Més" - -#, fuzzy -msgid "/Conversation/Media/_Audio Call" -msgstr "/Conversa/_Més" - -#, fuzzy -msgid "/Conversation/Media/_Video Call" -msgstr "/Conversa/_Més" - -#, fuzzy -msgid "/Conversation/Media/Audio\\/Video _Call" -msgstr "/Conversa/Visualitza el _registre" - msgid "/Conversation/Se_nd File..." msgstr "/Conversa/Envia un _fitxer..." @@ -11138,18 +11152,6 @@ msgid "/Conversation/View Log" msgstr "/Conversa/Visualitza el registre" -#, fuzzy -msgid "/Conversation/Media/Audio Call" -msgstr "/Conversa/Més" - -#, fuzzy -msgid "/Conversation/Media/Video Call" -msgstr "/Conversa/Visualitza el registre" - -#, fuzzy -msgid "/Conversation/Media/Audio\\/Video Call" -msgstr "/Conversa/Més" - msgid "/Conversation/Send File..." msgstr "/Conversa/Envia un fitxer..." @@ -11336,9 +11338,6 @@ msgid "Ka-Hing Cheung" msgstr "Ka-Hing Cheung" -msgid "voice and video" -msgstr "" - msgid "support" msgstr "suport" @@ -11481,9 +11480,8 @@ msgid "Ubuntu Georgian Translators" msgstr "Traductors al georgià de l'Ubuntu" -#, fuzzy msgid "Khmer" -msgstr "Altres" +msgstr "Khmer" msgid "Kannada" msgstr "Kannada" @@ -12324,24 +12322,6 @@ "Ara se sortirà atès que ja hi ha un altre client del libpurple executant-" "se.\n" -msgid "/_Media" -msgstr "" - -msgid "/Media/_Hangup" -msgstr "" - -#, fuzzy -msgid "Calling..." -msgstr "S'està calculant..." - -#, c-format -msgid "%s wishes to start an audio/video session with you." -msgstr "" - -#, c-format -msgid "%s wishes to start a video session with you." -msgstr "" - #, c-format msgid "%s has %d new message." msgid_plural "%s has %d new messages." @@ -12376,20 +12356,19 @@ msgid "You have mail!" msgstr "Teniu correu electrònic." -#, fuzzy msgid "New Pounces" -msgstr "Avís nou per a l'amic" - +msgstr "Avisos nous" + +# FIXME: Cancel·la? msgid "Dismiss" -msgstr "" - -#, fuzzy +msgstr "Rebutja" + +# FIXME: pounced -> envestir? msgid "You have pounced!" -msgstr "Teniu correu electrònic." - -#, fuzzy +msgstr "Us han envestit!" + msgid "No message" -msgstr "(1 missatge)" +msgstr "Cap missatge" msgid "The following plugins will be unloaded." msgstr "Es descarregaran els connectors següents." @@ -12517,47 +12496,47 @@ msgid "Pounce Target" msgstr "Objectiu de l'avís" -#, fuzzy, c-format +#, c-format msgid "Started typing" -msgstr "Comenci a escriure" - -#, fuzzy, c-format +msgstr "Hagi començat a escriure" + +#, c-format msgid "Paused while typing" msgstr "S'aturi mentre tecleja" -#, fuzzy, c-format +#, c-format msgid "Signed on" msgstr "Es connecti" -#, fuzzy, c-format +#, c-format msgid "Returned from being idle" -msgstr "Tor_na a estar actiu" - -#, fuzzy, c-format +msgstr "Torna a estar actiu" + +#, c-format msgid "Returned from being away" msgstr "Torni a estar present" -#, fuzzy, c-format +#, c-format msgid "Stopped typing" msgstr "Pari d'escriure" -#, fuzzy, c-format +#, c-format msgid "Signed off" msgstr "Es desconnecti" -#, fuzzy, c-format +#, c-format msgid "Became idle" msgstr "Passi a inactiu" -#, fuzzy, c-format +#, c-format msgid "Went away" msgstr "En estar absent" -#, fuzzy, c-format +#, c-format msgid "Sent a message" msgstr "Envia un missatge" -#, fuzzy, c-format +#, c-format msgid "Unknown.... Please report this!" msgstr "Esdeveniment d'avís desconegut, informeu-nos-en." @@ -12700,6 +12679,9 @@ msgid "Cannot start browser configuration program." msgstr "No s'ha pogut iniciar el programa de configuració del navegador." +msgid "ST_UN server:" +msgstr "Servidor ST_UN:" + msgid "Example: stunserver.org" msgstr "Exemple: stunserver.org" @@ -12724,10 +12706,6 @@ msgid "_End port:" msgstr "Port _final:" -#. TURN server -msgid "Relay Server (TURN)" -msgstr "" - msgid "Proxy Server & Browser" msgstr "Servidor intermediari i navegador" @@ -14289,173 +14267,6 @@ msgid "This plugin is useful for debbuging XMPP servers or clients." msgstr "Aquest connector és útil per a depurar servidors i clients XMPP." -#~ msgid "Invite message" -#~ msgstr "Missatge d'invitació" - -#~ msgid "" -#~ "Please enter the name of the user you wish to invite,\n" -#~ "along with an optional invite message." -#~ msgstr "" -#~ "Introduïu el nom de l'usuari que vulgueu convidar,\n" -#~ "així com un missatge d'invitació opcional." - -#~ msgid "Looking up %s" -#~ msgstr "S'està cercant %s" - -#~ msgid "Connect to %s failed" -#~ msgstr "Ha fallat la connexió a %s" - -#~ msgid "Signon: %s" -#~ msgstr "Entrada: %s" - -#~ msgid "Unable to write file %s." -#~ msgstr "No s'ha pogut escriure el fitxer %s." - -#~ msgid "Unable to read file %s." -#~ msgstr "No s'ha pogut llegir el fitxer %s." - -#~ msgid "Message too long, last %s bytes truncated." -#~ msgstr "El missatge és massa llarg, s'han retallat els darrers %s octets." - -#~ msgid "%s not currently logged in." -#~ msgstr "%s no està connectat." - -#~ msgid "Warning of %s not allowed." -#~ msgstr "Avís de %s no permès." - -#~ msgid "" -#~ "A message has been dropped, you are exceeding the server speed limit." -#~ msgstr "" -#~ "S'ha ignorat un missatge. Esteu excedint el límit de velocitat del " -#~ "servidor." - -#~ msgid "Chat in %s is not available." -#~ msgstr "El xat a %s no està disponible." - -#~ msgid "You are sending messages too fast to %s." -#~ msgstr "Esteu enviant missatges massa de pressa a %s." - -#~ msgid "You missed an IM from %s because it was too big." -#~ msgstr "Us heu perdut un missatge instantani de %s perquè era massa gran." - -#~ msgid "You missed an IM from %s because it was sent too fast." -#~ msgstr "" -#~ "Heu perdut un missatge instantani de %s perquè s'ha enviat massa de " -#~ "pressa." - -#~ msgid "Failure." -#~ msgstr "Fallada." - -#~ msgid "Too many matches." -#~ msgstr "Massa coincidències." - -#~ msgid "Need more qualifiers." -#~ msgstr "Es necessiten més qualificadors." - -#~ msgid "Dir service temporarily unavailable." -#~ msgstr "Servei de directori no disponible temporalment." - -#~ msgid "Email lookup restricted." -#~ msgstr "Recerca per adreça de correu electrònic restringida." - -#~ msgid "Keyword ignored." -#~ msgstr "S'ha ignorat la paraula clau." - -#~ msgid "No keywords." -#~ msgstr "No hi ha paraules clau." - -#~ msgid "User has no directory information." -#~ msgstr "L'usuari no té informació al directori." - -# FIXME -#~ msgid "Country not supported." -#~ msgstr "Aquest país no està disponible." - -#~ msgid "Failure unknown: %s." -#~ msgstr "Fallada desconeguda: %s." - -#~ msgid "Incorrect username or password." -#~ msgstr "El nom d'usuari o la contrasenya no són correctes." - -#~ msgid "The service is temporarily unavailable." -#~ msgstr "El servei està temporalment no disponible." - -#~ msgid "Your warning level is currently too high to log in." -#~ msgstr "El vostre nivell d'avisos és massa alt per a connectar-se." - -#~ msgid "" -#~ "You have been connecting and disconnecting too frequently. Wait ten " -#~ "minutes and try again. If you continue to try, you will need to wait " -#~ "even longer." -#~ msgstr "" -#~ "Us heu estat connectant i desconnectant amb massa freqüència. Espereu deu " -#~ "minuts i torneu-ho a provar. Si continueu intentant-ho, haureu d'esperar " -#~ "encara més." - -#~ msgid "An unknown signon error has occurred: %s." -#~ msgstr "Hi ha hagut un error de connexió desconegut: %s." - -#~ msgid "An unknown error, %d, has occurred. Info: %s" -#~ msgstr "S'ha produït un error desconegut, %d. Informació: %s" - -#~ msgid "Invalid Groupname" -#~ msgstr "El nom del grup no és vàlid" - -#~ msgid "Connection Closed" -#~ msgstr "Connexió tancada" - -#~ msgid "Waiting for reply..." -#~ msgstr "S'està esperant una resposta..." - -#~ msgid "TOC has come back from its pause. You may now send messages again." -#~ msgstr "TOC ha tornat de la pausa. Ja podeu enviar missatges de nou." - -#~ msgid "Password Change Successful" -#~ msgstr "S'ha canviat la contrasenya amb èxit" - -#~ msgid "Get Dir Info" -#~ msgstr "Aconsegueix informació del directori" - -#~ msgid "Set Dir Info" -#~ msgstr "Estableix informació del directori" - -#~ msgid "Could not open %s for writing!" -#~ msgstr "No s'ha pogut obrir %s per a escriure-hi." - -#~ msgid "File transfer failed; other side probably canceled." -#~ msgstr "" -#~ "Ha fallat la transferència de fitxers. Probablement s'ha cancel·lat a " -#~ "l'altra banda." - -#~ msgid "Could not connect for transfer." -#~ msgstr "No s'ha pogut connectar per realitzar la transferència." - -#~ msgid "Could not write file header. The file will not be transferred." -#~ msgstr "No s'ha pogut escriure la capçalera del fitxer. No s'enviarà." - -#~ msgid "Save As..." -#~ msgstr "Anomena i desa..." - -#~ msgid "%s requests %s to accept %d file: %s (%.2f %s)%s%s" -#~ msgid_plural "%s requests %s to accept %d files: %s (%.2f %s)%s%s" -#~ msgstr[0] "%s demana a %s que accepti %d fitxer: %s (%.2f %s)%s%s" -#~ msgstr[1] "%s demana a %s que accepti %d fitxers: %s (%.2f %s)%s%s" - -#~ msgid "%s requests you to send them a file" -#~ msgstr "%s us demana que li envieu un fitxer" - -#~ msgid "TOC Protocol Plugin" -#~ msgstr "Connector per al protocol TOC" - -#~ msgid "%s Options" -#~ msgstr "Opcions de %s" - -#~ msgid "Proxy Options" -#~ msgstr "Opcions del servidor intermediari" - -#~ msgid "ST_UN server:" -#~ msgstr "Servidor ST_UN:" - #~ msgid "By log size" #~ msgstr "Per la mida del registre" @@ -15175,6 +14986,9 @@ #~ "\n" #~ "Inactiu: %s" +#~ msgid "Nickname: %s\n" +#~ msgstr "Sobrenom: %s\n" + #~ msgid "" #~ "\n" #~ "Nickname: %s" @@ -15646,6 +15460,9 @@ #~ msgid "Call ended." #~ msgstr "Ha finalitzat la trucada." +#~ msgid "End Call" +#~ msgstr "Finalitza la trucada" + #~ msgid "Receiving call from %s" #~ msgstr "S'està rebent una trucada de %s"