# HG changeset patch # User Richard Laager # Date 1230932872 0 # Node ID ca01403251f1e08fb279819f02333ca8e7211552 # Parent be87547aa431c99c2df38ae934772ba687b7d1da# Parent 773662f77be786901fcdb53f8d995f08ed6134cc explicit merge of 'dabe77d56a2fc7c171caa81bd12d72ce8737a7a8' and 'b299a165920a9d922e9b8c27b4c879c77b43efe1' diff -r be87547aa431 -r ca01403251f1 ChangeLog --- a/ChangeLog Sat Dec 13 21:13:04 2008 +0000 +++ b/ChangeLog Fri Jan 02 21:47:52 2009 +0000 @@ -2,11 +2,6 @@ version 2.5.3 (??/??/????): libpurple: - * Fix an error with MSN offline messages by shipping the *new* - "Microsoft Secure Server Authority" and the - "Microsoft Internet Authority" certificates. People that use - --with-system-ssl-certs and GnuTLS need to include these in the - system certs directory. * Corrected maximum message lengths for Yahoo! * The Buddy State Notification plugin no longer prints duplicate notifications when the same buddy is in multiple groups (Florian Quèze) @@ -20,9 +15,6 @@ connected (Paul Aurich) * Fix a crash in purple_accounts_delete that happens when this function is called before the buddy list is initialized (Florian Quèze) - * On MSN, the Games and Office media can now be set and displayed (in - addition to the previous Music media). The Media status text now shows - the album, if possible. * Fix use of av_len in perl bindings to fix some off-by-one bugs (Paul Aurich) * On ICQ, advertise the ICQ 6 typing capability. This should fix the @@ -35,6 +27,17 @@ * Gadu-Gadu now does proper charset translations where needed (Adam Strzelecki) + MSN: + * Fix an error with offline messages by shipping the *new* "Microsoft + Secure Server Authority" and the "Microsoft Internet Authority" + certificates. These are now always installed even when using + --with-system-ssl-certs because most system certs are not up to date. + * The Games and Office media can now be set and displayed (in addition + to the previous Music media). The Media status text now shows the + album, if possible. + * Messages sent from a mobile device while you were offline are now + correctly received. + XMPP: * Fix the namespace URL we look for in PEP reply stanzas to match the URL used in the 'get' requests (Paul Aurich) diff -r be87547aa431 -r ca01403251f1 libpurple/certificate.c --- a/libpurple/certificate.c Sat Dec 13 21:13:04 2008 +0000 +++ b/libpurple/certificate.c Fri Jan 02 21:47:52 2009 +0000 @@ -748,9 +748,9 @@ # ifdef SSL_CERTIFICATES_DIR x509_ca_paths = g_list_append(NULL, g_strdup(SSL_CERTIFICATES_DIR)); # else - x509_ca_paths = g_list_append(NULL, g_build_filename(DATADIR, - "purple", "ca-certs", NULL)); # endif + x509_ca_paths = g_list_append(x509_ca_paths, + g_build_filename(DATADIR, "purple", "ca-certs", NULL)); #endif } diff -r be87547aa431 -r ca01403251f1 libpurple/protocols/jabber/message.c --- a/libpurple/protocols/jabber/message.c Sat Dec 13 21:13:04 2008 +0000 +++ b/libpurple/protocols/jabber/message.c Fri Jan 02 21:47:52 2009 +0000 @@ -571,12 +571,39 @@ for(child = packet->child; child; child = child->next) { const char *xmlns = xmlnode_get_namespace(child); - if(!xmlns) - xmlns = ""; if(child->type != XMLNODE_TYPE_TAG) continue; - if(!strcmp(child->name, "subject") && !strcmp(xmlns,"jabber:client")) { + if(!strcmp(child->name, "error")) { + const char *code = xmlnode_get_attrib(child, "code"); + char *code_txt = NULL; + char *text = xmlnode_get_data(child); + if (!text) { + xmlnode *enclosed_text_node; + + if ((enclosed_text_node = xmlnode_get_child(child, "text"))) + text = xmlnode_get_data(enclosed_text_node); + } + + if(code) + code_txt = g_strdup_printf(_("(Code %s)"), code); + + if(!jm->error) + jm->error = g_strdup_printf("%s%s%s", + text ? text : "", + text && code_txt ? " " : "", + code_txt ? code_txt : ""); + + g_free(code_txt); + g_free(text); + } else if (xmlns == NULL) { + /* QuLogic: Not certain this is correct, but it would have happened + with the previous code. */ + if(!strcmp(child->name, "x")) + jm->etc = g_list_append(jm->etc, child); + /* The following tests expect xmlns != NULL */ + continue; + } else if(!strcmp(child->name, "subject") && !strcmp(xmlns,"jabber:client")) { if(!jm->subject) jm->subject = xmlnode_get_data(child); } else if(!strcmp(child->name, "thread") && !strcmp(xmlns,"jabber:client")) { @@ -706,46 +733,24 @@ jm->eventitems = g_list_append(jm->eventitems, items); } else if(!strcmp(child->name, "attention") && !strcmp(xmlns,"http://www.xmpp.org/extensions/xep-0224.html#ns")) { jm->hasBuzz = TRUE; - } else if(!strcmp(child->name, "error")) { - const char *code = xmlnode_get_attrib(child, "code"); - char *code_txt = NULL; - char *text = xmlnode_get_data(child); - if (!text) { - xmlnode *enclosed_text_node; - - if ((enclosed_text_node = xmlnode_get_child(child, "text"))) - text = xmlnode_get_data(enclosed_text_node); - } - - if(code) - code_txt = g_strdup_printf(_("(Code %s)"), code); - - if(!jm->error) - jm->error = g_strdup_printf("%s%s%s", - text ? text : "", - text && code_txt ? " " : "", - code_txt ? code_txt : ""); - - g_free(code_txt); - g_free(text); - } else if(!strcmp(child->name, "delay") && xmlns && !strcmp(xmlns,"urn:xmpp:delay")) { + } else if(!strcmp(child->name, "delay") && !strcmp(xmlns,"urn:xmpp:delay")) { const char *timestamp = xmlnode_get_attrib(child, "stamp"); jm->delayed = TRUE; if(timestamp) jm->sent = purple_str_to_time(timestamp, TRUE, NULL, NULL, NULL); } else if(!strcmp(child->name, "x")) { - if(xmlns && !strcmp(xmlns, "jabber:x:event")) { + if(!strcmp(xmlns, "jabber:x:event")) { if(xmlnode_get_child(child, "composing")) { if(jm->chat_state == JM_STATE_ACTIVE) jm->chat_state = JM_STATE_COMPOSING; jm->typing_style |= JM_TS_JEP_0022; } - } else if(xmlns && !strcmp(xmlns, "jabber:x:delay")) { + } else if(!strcmp(xmlns, "jabber:x:delay")) { const char *timestamp = xmlnode_get_attrib(child, "stamp"); jm->delayed = TRUE; if(timestamp) jm->sent = purple_str_to_time(timestamp, TRUE, NULL, NULL, NULL); - } else if(xmlns && !strcmp(xmlns, "jabber:x:conference") && + } else if(!strcmp(xmlns, "jabber:x:conference") && jm->type != JABBER_MESSAGE_GROUPCHAT_INVITE && jm->type != JABBER_MESSAGE_ERROR) { const char *jid = xmlnode_get_attrib(child, "jid"); @@ -754,8 +759,7 @@ g_free(jm->to); jm->to = g_strdup(jid); } - } else if(xmlns && !strcmp(xmlns, - "http://jabber.org/protocol/muc#user") && + } else if(!strcmp(xmlns, "http://jabber.org/protocol/muc#user") && jm->type != JABBER_MESSAGE_ERROR) { xmlnode *invite = xmlnode_get_child(child, "invite"); if(invite) { diff -r be87547aa431 -r ca01403251f1 libpurple/protocols/jabber/presence.c --- a/libpurple/protocols/jabber/presence.c Sat Dec 13 21:13:04 2008 +0000 +++ b/libpurple/protocols/jabber/presence.c Fri Jan 02 21:47:52 2009 +0000 @@ -502,17 +502,19 @@ priority = atoi(p); g_free(p); } + } else if(xmlns == NULL) { + /* The rest of the cases used to check xmlns individually. */ + continue; } else if(!strcmp(y->name, "delay") && !strcmp(xmlns, "urn:xmpp:delay")) { /* XXX: compare the time. jabber:x:delay can happen on presence packets that aren't really and truly delayed */ delayed = TRUE; - } else if(xmlns && !strcmp(y->name, "c") && !strcmp(xmlns, "http://jabber.org/protocol/caps")) { + } else if(!strcmp(y->name, "c") && !strcmp(xmlns, "http://jabber.org/protocol/caps")) { caps = y; /* store for later, when creating buddy resource */ } else if(!strcmp(y->name, "x")) { - const char *xmlns = xmlnode_get_namespace(y); - if(xmlns && !strcmp(xmlns, "jabber:x:delay")) { + if(!strcmp(xmlns, "jabber:x:delay")) { /* XXX: compare the time. jabber:x:delay can happen on presence packets that aren't really and truly delayed */ delayed = TRUE; - } else if(xmlns && !strcmp(xmlns, "http://jabber.org/protocol/muc#user")) { + } else if(!strcmp(xmlns, "http://jabber.org/protocol/muc#user")) { xmlnode *z; muc = TRUE; @@ -555,7 +557,7 @@ flags |= PURPLE_CBFLAGS_VOICE; } } - } else if(xmlns && !strcmp(xmlns, "vcard-temp:x:update")) { + } else if(!strcmp(xmlns, "vcard-temp:x:update")) { xmlnode *photo = xmlnode_get_child(y, "photo"); if(photo) { g_free(avatar_hash); diff -r be87547aa431 -r ca01403251f1 libpurple/protocols/msn/contact.c --- a/libpurple/protocols/msn/contact.c Sat Dec 13 21:13:04 2008 +0000 +++ b/libpurple/protocols/msn/contact.c Fri Jan 02 21:47:52 2009 +0000 @@ -224,19 +224,24 @@ char *member_id = xmlnode_get_data(xmlnode_get_child(member, "MembershipId")); MsnUser *user = msn_userlist_find_add_user(session->userlist, passport, NULL); xmlnode *annotation; - guint nid = MSN_NETWORK_PASSPORT; + guint nid = MSN_NETWORK_UNKNOWN; - for (annotation = xmlnode_get_child(member, "Annotations/Annotation"); - annotation; - annotation = xmlnode_get_next_twin(annotation)) { - char *name = xmlnode_get_data(xmlnode_get_child(annotation, "Name")); - if (name && !strcmp(name, "MSN.IM.BuddyType")) { - char *value = xmlnode_get_data(xmlnode_get_child(annotation, "Value")); - if (value != NULL) - nid = strtoul(value, NULL, 10); - g_free(value); + /* For EmailMembers, the network must be found in the annotations. */ + if (!strcmp(node, "PassportName")) { + nid = MSN_NETWORK_PASSPORT; + } else { + for (annotation = xmlnode_get_child(member, "Annotations/Annotation"); + annotation; + annotation = xmlnode_get_next_twin(annotation)) { + char *name = xmlnode_get_data(xmlnode_get_child(annotation, "Name")); + if (name && !strcmp(name, "MSN.IM.BuddyType")) { + char *value = xmlnode_get_data(xmlnode_get_child(annotation, "Value")); + if (value != NULL) + nid = strtoul(value, NULL, 10); + g_free(value); + } + g_free(name); } - g_free(name); } purple_debug_info("msn", "CL: %s name: %s, Type: %s, MembershipID: %s, NetworkID: %u\n", diff -r be87547aa431 -r ca01403251f1 libpurple/protocols/msn/msg.c --- a/libpurple/protocols/msn/msg.c Sat Dec 13 21:13:04 2008 +0000 +++ b/libpurple/protocols/msn/msg.c Fri Jan 02 21:47:52 2009 +0000 @@ -231,6 +231,25 @@ { const char *key, *value; + /* If this line starts with whitespace, it's been folded from the + previous line and won't have ':'. */ + if ((**cur == ' ') || (**cur == '\t')) { + tokens = g_strsplit(g_strchug(*cur), "=\"", 2); + key = tokens[0]; + value = tokens[1]; + + /* The only one I care about is 'boundary' (which is folded from + the key 'Content-Type'), so only process that. */ + if (!strcmp(key, "boundary")) { + char *end = strchr(value, '\"'); + *end = '\0'; + msn_message_set_attr(msg, key, value); + } + + g_strfreev(tokens); + continue; + } + tokens = g_strsplit(*cur, ": ", 2); key = tokens[0]; diff -r be87547aa431 -r ca01403251f1 libpurple/protocols/msn/msn.c --- a/libpurple/protocols/msn/msn.c Sat Dec 13 21:13:04 2008 +0000 +++ b/libpurple/protocols/msn/msn.c Fri Jan 02 21:47:52 2009 +0000 @@ -1424,6 +1424,7 @@ MsnSession *session; MsnUserList *userlist; const char *who, *gname; + MsnUser *user; session = gc->proto_data; userlist = session->userlist; @@ -1453,9 +1454,10 @@ /* XXX - Would group ever be NULL here? I don't think so... * shx: Yes it should; MSN handles non-grouped buddies, and this is only * internal. */ - if (msn_userlist_find_user(userlist, who) != NULL) { - /* We already know this buddy. This function takes care of users - already in the list and stuff... */ + user = msn_userlist_find_user(userlist, who); + if ((user != NULL) && (user->networkid != MSN_NETWORK_UNKNOWN)) { + /* We already know this buddy and their network. This function knows + what to do with users already in the list and stuff... */ msn_userlist_add_buddy(userlist, who, gname); } else { /* We need to check the network for this buddy first */ diff -r be87547aa431 -r ca01403251f1 libpurple/protocols/msn/notification.c --- a/libpurple/protocols/msn/notification.c Sat Dec 13 21:13:04 2008 +0000 +++ b/libpurple/protocols/msn/notification.c Fri Jan 02 21:47:52 2009 +0000 @@ -1958,7 +1958,7 @@ void msn_notification_add_buddy_to_list(MsnNotification *notification, MsnListId list_id, - const char *who) + MsnUser *user) { MsnCmdProc *cmdproc; MsnListOp list_op = 1 << list_id; @@ -1971,8 +1971,8 @@ adl_node = xmlnode_new("ml"); adl_node->child = NULL; - msn_add_contact_xml(notification->session, adl_node, who, list_op, - MSN_NETWORK_PASSPORT); + msn_add_contact_xml(notification->session, adl_node, user->passport, + list_op, user->networkid); payload = xmlnode_to_str(adl_node,&payload_len); xmlnode_free(adl_node); @@ -1984,7 +1984,7 @@ void msn_notification_rem_buddy_from_list(MsnNotification *notification, MsnListId list_id, - const char *who) + MsnUser *user) { MsnCmdProc *cmdproc; MsnTransaction *trans; @@ -1998,7 +1998,8 @@ rml_node = xmlnode_new("ml"); rml_node->child = NULL; - msn_add_contact_xml(notification->session, rml_node, who, list_op, MSN_NETWORK_PASSPORT); + msn_add_contact_xml(notification->session, rml_node, user->passport, + list_op, user->networkid); payload = xmlnode_to_str(rml_node, &payload_len); xmlnode_free(rml_node); diff -r be87547aa431 -r ca01403251f1 libpurple/protocols/msn/notification.h --- a/libpurple/protocols/msn/notification.h Sat Dec 13 21:13:04 2008 +0000 +++ b/libpurple/protocols/msn/notification.h Fri Jan 02 21:47:52 2009 +0000 @@ -42,6 +42,7 @@ #include "session.h" #include "servconn.h" #include "cmdproc.h" +#include "user.h" struct _MsnNotification { @@ -64,9 +65,9 @@ void msn_notification_init(void); void msn_notification_add_buddy_to_list(MsnNotification *notification, - MsnListId list_id, const char *who); + MsnListId list_id, MsnUser *user); void msn_notification_rem_buddy_from_list(MsnNotification *notification, - MsnListId list_id, const char *who); + MsnListId list_id, MsnUser *user); void msn_notification_send_fqy(MsnSession *session, const char *passport); diff -r be87547aa431 -r ca01403251f1 libpurple/protocols/msn/oim.c --- a/libpurple/protocols/msn/oim.c Sat Dec 13 21:13:04 2008 +0000 +++ b/libpurple/protocols/msn/oim.c Fri Jan 02 21:47:52 2009 +0000 @@ -594,47 +594,88 @@ msn_oim_report_to_user(MsnOimRecvData *rdata, const char *msg_str) { MsnMessage *message; - char *date,*from,*decode_msg; + const char *date; + const char *from; + char *decode_msg = NULL; gsize body_len; char **tokens; - char *start,*end; - int has_nick = 0; - char *passport_str, *passport; + char *passport = NULL; time_t stamp; message = msn_message_new(MSN_MSG_UNKNOWN); msn_message_parse_payload(message, msg_str, strlen(msg_str), - MSG_OIM_LINE_DEM, MSG_OIM_BODY_DEM); + MSG_OIM_LINE_DEM, MSG_OIM_BODY_DEM); purple_debug_info("msn", "oim body:{%s}\n", message->body); - decode_msg = (char *)purple_base64_decode(message->body,&body_len); - date = (char *)g_hash_table_lookup(message->attr_table, "Date"); - from = (char *)g_hash_table_lookup(message->attr_table, "From"); - if (strstr(from," ")) { - has_nick = 1; - } - if (has_nick) { - tokens = g_strsplit(from , " " , 2); - passport_str = g_strdup(tokens[1]); - purple_debug_info("msn", "oim Date:{%s},nickname:{%s},tokens[1]:{%s} passport{%s}\n", - date, tokens[0], tokens[1], passport_str); + + if (!strcmp(msn_message_get_attr(message, "X-OIMProxy"), "MOSMS")) { + char *boundary; + char **part; + + from = msn_message_get_attr(message, "X-OIM-originatingSource"); + + /* Match number to user's mobile number, FROM is a phone number + if the other side pages you using your phone number */ + if (!strncmp(passport, "tel:+", 5)) { + MsnUser *user = msn_userlist_find_user_with_mobile_phone( + rdata->oim->session->userlist, from + 4); + + if (user && user->passport) + passport = g_strdup(user->passport); + } + if (passport == NULL) + passport = g_strdup(from); + + boundary = g_strdup_printf("--%s" MSG_OIM_LINE_DEM, + msn_message_get_attr(message, "boundary")); + tokens = g_strsplit(message->body, boundary, 0); + + for (part = tokens; *part != NULL; part++) { + MsnMessage *multipart; + multipart = msn_message_new(MSN_MSG_UNKNOWN); + msn_message_parse_payload(multipart, *part, strlen(*part), + MSG_OIM_LINE_DEM, MSG_OIM_BODY_DEM); + + if (!strcmp(msn_message_get_content_type(multipart), "text/plain")) { + decode_msg = (char *)purple_base64_decode(multipart->body, &body_len); + msn_message_destroy(multipart); + break; + } + msn_message_destroy(multipart); + } + g_strfreev(tokens); + g_free(boundary); + + if (decode_msg == NULL) { + purple_debug_error("msn", "Couldn't find text/plain OIM message.\n"); + g_free(passport); + return; + } } else { - passport_str = g_strdup(from); - purple_debug_info("msn", "oim Date:{%s},passport{%s}\n", - date, passport_str); + char *start, *end; + + from = msn_message_get_attr(message, "From"); + decode_msg = (char *)purple_base64_decode(message->body, &body_len); + + tokens = g_strsplit(from, " ", 2); + if (tokens[1] != NULL) + from = (const char *)tokens[1]; + + start = strchr(from, '<') + 1; + end = strchr(from, '>'); + passport = g_strndup(start, end - start); + + g_strfreev(tokens); } - start = strstr(passport_str,"<"); - start += 1; - end = strstr(passport_str,">"); - passport = g_strndup(start,end - start); - g_free(passport_str); - purple_debug_info("msn", "oim Date:{%s},passport{%s}\n", date, passport); + date = msn_message_get_attr(message, "Date"); stamp = msn_oim_parse_timestamp(date); + purple_debug_info("msn", "oim Date:{%s},passport{%s}\n", + date, passport); serv_got_im(rdata->oim->session->account->gc, passport, decode_msg, 0, - stamp); + stamp); /*Now get the oim message ID from the oim_list. * and append to read list to prepare for deleting the Offline Message when sign out diff -r be87547aa431 -r ca01403251f1 libpurple/protocols/msn/soap.c --- a/libpurple/protocols/msn/soap.c Sat Dec 13 21:13:04 2008 +0000 +++ b/libpurple/protocols/msn/soap.c Fri Jan 02 21:47:52 2009 +0000 @@ -505,7 +505,7 @@ purple_debug_info("soap", "read: %s\n", g_strerror(perrno)); #ifndef MSN_UNSAFE_DEBUG - if (conn->current_request->secure) + if (conn->current_request && conn->current_request->secure) purple_debug_misc("soap", "Received secure request.\n"); else #endif diff -r be87547aa431 -r ca01403251f1 libpurple/protocols/msn/userlist.c --- a/libpurple/protocols/msn/userlist.c Sat Dec 13 21:13:04 2008 +0000 +++ b/libpurple/protocols/msn/userlist.c Fri Jan 02 21:47:52 2009 +0000 @@ -668,7 +668,7 @@ msn_user_unset_op(user, list_op); - msn_notification_rem_buddy_from_list(userlist->session->notification, list_id, who); + msn_notification_rem_buddy_from_list(userlist->session->notification, list_id, user); } /*add buddy*/ @@ -775,6 +775,7 @@ /*MsnNetwork*/ int network) { MsnUser *user = NULL; + MsnUser *user2; GList *l; char *group; @@ -793,13 +794,18 @@ return; } - /* Bit of a hack, but by adding to userlist now, the rest of the code - * will know what network to use. - */ + group = msn_user_remove_pending_group(user); + + user2 = msn_userlist_find_user(userlist, who); + if (user2 != NULL) { + /* User already in userlist, so just update it. */ + msn_user_destroy(user); + user = user2; + } else { + msn_userlist_add_user(userlist, user); + } + msn_user_set_network(user, network); - msn_userlist_add_user(userlist, user); - - group = msn_user_remove_pending_group(user); msn_userlist_add_buddy(userlist, who, group); g_free(group); } @@ -829,7 +835,7 @@ msn_user_set_op(user, list_op); - msn_notification_add_buddy_to_list(userlist->session->notification, list_id, who); + msn_notification_add_buddy_to_list(userlist->session->notification, list_id, user); } gboolean diff -r be87547aa431 -r ca01403251f1 libpurple/protocols/myspace/markup.c --- a/libpurple/protocols/myspace/markup.c Sat Dec 13 21:13:04 2008 +0000 +++ b/libpurple/protocols/myspace/markup.c Fri Jan 02 21:47:52 2009 +0000 @@ -76,14 +76,14 @@ { NULL, NULL } }; - - /* Indexes of this array + 1 map HTML font size to scale of normal font size. * * Based on _point_sizes from libpurple/gtkimhtml.c * 1 2 3 4 5 6 7 */ static gdouble _font_scale[] = { .85, .95, 1, 1.2, 1.44, 1.728, 2.0736 }; -#define MAX_FONT_SIZE 7 /* Purple maximum font size */ +/* Purple maximum font size. Equivalent to sizeof(_font_scale) / sizeof(_font_scale[0]) */ +#define MAX_FONT_SIZE 7 + #define POINTS_PER_INCH 72 /* How many pt's in an inch */ /* Text formatting bits for */ @@ -100,7 +100,6 @@ * in account options. */ #define MSIM_DEFAULT_DPI 96 - /* round is part of C99, but sometimes is unavailable before then. * Based on http://forums.belution.com/en/cpp/000/050/13.shtml */ @@ -113,22 +112,17 @@ } } - /** Convert typographical font point size to HTML font size. * Based on libpurple/gtkimhtml.c */ static guint msim_point_to_purple_size(MsimSession *session, guint point) { guint size, this_point, base; - gdouble scale; base = purple_account_get_int(session->account, "base_font_size", MSIM_BASE_FONT_POINT_SIZE); - for (size = 0; - size < sizeof(_font_scale) / sizeof(_font_scale[0]); - ++size) { - scale = _font_scale[CLAMP(size, 1, MAX_FONT_SIZE) - 1]; - this_point = (guint)msim_round(scale * base); + for (size = 0; size < MAX_FONT_SIZE; ++size) { + this_point = (guint)msim_round(base * _font_scale[size]); if (this_point >= point) { purple_debug_info("msim", "msim_point_to_purple_size: %d pt -> size=%d\n", @@ -198,35 +192,38 @@ height_str = xmlnode_get_attrib(root, "h"); decor_str = xmlnode_get_attrib(root, "s"); - if (height_str) { - height = atol(height_str); + /* Validate the font face, to avoid constructing invalid HTML later */ + if (strchr(face, '\'') != NULL) + face = NULL; + + height = height_str != NULL ? atol(height_str) : 12; + decor = decor_str != NULL ? atol(decor_str) : 0; + + /* + * The HTML we're constructing here is a bit redudant. Ideally we + * would use only the font-family and font-size CSS span, but Pidgin + * doesn't support it (it's included for other UIs). For Pidgin we + * wrap the whole thing in an ugly font tag, and Pidgin will happily + * ignore the . + */ + gs_begin = g_string_new(""); + if (height && !face) { + guint point_size = msim_height_to_point(session, height); + g_string_printf(gs_begin, + "", + msim_point_to_purple_size(session, point_size), + point_size); + } else if (height && face) { + guint point_size = msim_height_to_point(session, height); + g_string_printf(gs_begin, + "", + face, msim_point_to_purple_size(session, point_size), + face, point_size); } else { - height = 12; - } - - if (decor_str) { - decor = atol(decor_str); - } else { - decor = 0; + g_string_printf(gs_begin, ""); } - gs_begin = g_string_new(""); - /* TODO: get font size working */ - if (height && !face) { - g_string_printf(gs_begin, "", - msim_point_to_purple_size(session, msim_height_to_point(session, height))); - } else if (height && face) { - g_string_printf(gs_begin, "", face, - msim_point_to_purple_size(session, msim_height_to_point(session, height))); - } else { - g_string_printf(gs_begin, ""); - } - - /* No support for font-size CSS? */ - /* g_string_printf(gs_begin, "", face, - msim_height_to_point(height)); */ - - gs_end = g_string_new(""); + gs_end = g_string_new(""); if (decor & MSIM_TEXT_BOLD) { g_string_append(gs_begin, ""); @@ -243,7 +240,6 @@ g_string_append(gs_end, ""); } - *begin = g_string_free(gs_begin, FALSE); *end = g_string_free(gs_end, FALSE); } @@ -550,29 +546,26 @@ * * @return An HTML string. Caller frees. */ -static gchar * -msim_convert_xmlnode(MsimSession *session, xmlnode *root, MSIM_XMLNODE_CONVERT f, int nodes_processed) +static void +msim_convert_xmlnode(MsimSession *session, GString *out, xmlnode *root, MSIM_XMLNODE_CONVERT f, int nodes_processed) { xmlnode *node; gchar *begin, *inner, *end; - GString *final; int descended = nodes_processed; - if (!root || !root->name) { - return g_strdup(""); - } + if (!root || !root->name) + return; purple_debug_info("msim", "msim_convert_xmlnode: got root=%s\n", root->name); begin = inner = end = NULL; - final = g_string_new(""); - if (descended == 0) /* We've not formatted this yet.. :) */ descended = f(session, root, &begin, &end); /* Get the value that our format function has already descended for us */ - g_string_append(final, begin); + g_string_append(out, begin); + g_free(begin); /* Loop over all child nodes. */ for (node = root->child; node != NULL; node = node->next) { @@ -583,29 +576,20 @@ case XMLNODE_TYPE_TAG: /* A tag or tag with attributes. Recursively descend. */ - inner = msim_convert_xmlnode(session, node, f, descended); - g_return_val_if_fail(inner != NULL, NULL); + msim_convert_xmlnode(session, out, node, f, descended); purple_debug_info("msim", " ** node name=%s\n", - (node && node->name) ? node->name : "(NULL)"); + node->name ? node->name : "(NULL)"); break; case XMLNODE_TYPE_DATA: /* Literal text. */ - inner = g_strndup(node->data, node->data_sz); - purple_debug_info("msim", " ** node data=%s\n", - inner ? inner : "(NULL)"); + g_string_append_len(out, node->data, node->data_sz); break; default: - purple_debug_info("msim", - "msim_convert_xmlnode: strange node\n"); - } - - if (inner) { - g_string_append(final, inner); - g_free(inner); - inner = NULL; + purple_debug_warning("msim", + "msim_convert_xmlnode: unknown node type\n"); } } @@ -613,15 +597,8 @@ * a paragraph and will display each on its own line. You actually have * to _nest_ tags to intersperse different text in one paragraph! * Comment out this line below to see. */ - g_string_append(final, end); - - g_free(begin); + g_string_append(out, end); g_free(end); - - purple_debug_info("msim", "msim_markup_xmlnode_to_gtkhtml: RETURNING %s\n", - (final && final->str) ? final->str : "(NULL)"); - - return g_string_free(final, FALSE); } /** Convert XML to something based on MSIM_XMLNODE_CONVERT. */ @@ -629,7 +606,7 @@ msim_convert_xml(MsimSession *session, const gchar *raw, MSIM_XMLNODE_CONVERT f) { xmlnode *root; - gchar *str; + GString *str; gchar *enclosed_raw; g_return_val_if_fail(raw != NULL, NULL); @@ -640,7 +617,7 @@ root = xmlnode_from_str(enclosed_raw, -1); if (!root) { - purple_debug_info("msim", "msim_markup_to_html: couldn't parse " + purple_debug_warning("msim", "msim_markup_to_html: couldn't parse " "%s as XML, returning raw: %s\n", enclosed_raw, raw); /* TODO: msim_unrecognized */ g_free(enclosed_raw); @@ -649,13 +626,13 @@ g_free(enclosed_raw); - str = msim_convert_xmlnode(session, root, f, 0); - g_return_val_if_fail(str != NULL, NULL); - purple_debug_info("msim", "msim_markup_to_html: returning %s\n", str); - + str = g_string_new(NULL); + msim_convert_xmlnode(session, str, root, f, 0); xmlnode_free(root); - return str; + purple_debug_info("msim", "msim_markup_to_html: returning %s\n", str->str); + + return g_string_free(str, FALSE); } /** Convert plaintext smileys to markup tags. diff -r be87547aa431 -r ca01403251f1 libpurple/protocols/oscar/family_auth.c --- a/libpurple/protocols/oscar/family_auth.c Sat Dec 13 21:13:04 2008 +0000 +++ b/libpurple/protocols/oscar/family_auth.c Fri Jan 02 21:47:52 2009 +0000 @@ -597,18 +597,18 @@ { if (od->authinfo != NULL) { - free(od->authinfo->sn); - free(od->authinfo->bosip); - free(od->authinfo->errorurl); - free(od->authinfo->email); - free(od->authinfo->chpassurl); - free(od->authinfo->latestrelease.name); - free(od->authinfo->latestrelease.url); - free(od->authinfo->latestrelease.info); - free(od->authinfo->latestbeta.name); - free(od->authinfo->latestbeta.url); - free(od->authinfo->latestbeta.info); - free(od->authinfo); + g_free(od->authinfo->sn); + g_free(od->authinfo->bosip); + g_free(od->authinfo->errorurl); + g_free(od->authinfo->email); + g_free(od->authinfo->chpassurl); + g_free(od->authinfo->latestrelease.name); + g_free(od->authinfo->latestrelease.url); + g_free(od->authinfo->latestrelease.info); + g_free(od->authinfo->latestbeta.name); + g_free(od->authinfo->latestbeta.url); + g_free(od->authinfo->latestbeta.info); + g_free(od->authinfo); } } diff -r be87547aa431 -r ca01403251f1 libpurple/protocols/qq/group_im.c --- a/libpurple/protocols/qq/group_im.c Sat Dec 13 21:13:04 2008 +0000 +++ b/libpurple/protocols/qq/group_im.c Fri Jan 02 21:47:52 2009 +0000 @@ -378,7 +378,7 @@ g_return_val_if_fail(id != 0 && what != NULL, -1); qd = (qq_data *) gc->proto_data; - purple_debug_info("QQ", "Send chat IM to %u, len %d:\n%s\n", id, strlen(what), what); + purple_debug_info("QQ", "Send chat IM to %u, len %" G_GSIZE_FORMAT ":\n%s\n", id, strlen(what), what); /* qq_show_packet("chat IM UTF8", (guint8 *)what, strlen(what)); */ diff -r be87547aa431 -r ca01403251f1 libpurple/protocols/qq/im.c --- a/libpurple/protocols/qq/im.c Sat Dec 13 21:13:04 2008 +0000 +++ b/libpurple/protocols/qq/im.c Fri Jan 02 21:47:52 2009 +0000 @@ -1258,7 +1258,7 @@ g_return_val_if_fail(who != NULL && what != NULL, -1); qd = (qq_data *) gc->proto_data; - purple_debug_info("QQ", "Send IM to %s, len %d:\n%s\n", who, strlen(what), what); + purple_debug_info("QQ", "Send IM to %s, len %" G_GSIZE_FORMAT ":\n%s\n", who, strlen(what), what); uid_to = purple_name_to_uid(who); if (uid_to == qd->uid) { diff -r be87547aa431 -r ca01403251f1 libpurple/protocols/yahoo/yahoo_picture.c --- a/libpurple/protocols/yahoo/yahoo_picture.c Sat Dec 13 21:13:04 2008 +0000 +++ b/libpurple/protocols/yahoo/yahoo_picture.c Fri Jan 02 21:47:52 2009 +0000 @@ -408,8 +408,10 @@ if (ret < 0 && errno == EAGAIN) return; else if (ret <= 0) { - purple_debug_info("yahoo", "Buddy icon upload response (%d) bytes (> ~400 indicates failure):\n%.*s\n", - d->str->len, d->str->len, d->str->str); + /* There are other problems if d->str->len overflows, so shut up the + * warning on 64-bit. */ + purple_debug_info("yahoo", "Buddy icon upload response (%" G_GSIZE_FORMAT ") bytes (> ~400 indicates failure):\n%.*s\n", + d->str->len, (guint)d->str->len, d->str->str); yahoo_buddy_icon_upload_data_free(d); return; @@ -517,7 +519,8 @@ g_string_prepend(d->str, header); g_free(header); - purple_debug_info("yahoo", "Buddy icon upload data:\n%.*s\n", d->str->len, d->str->str); + /* There are other problems if we're uploading over 4GB of data */ + purple_debug_info("yahoo", "Buddy icon upload data:\n%.*s\n", (guint)d->str->len, d->str->str); d->fd = source; d->watcher = purple_input_add(d->fd, PURPLE_INPUT_WRITE, yahoo_buddy_icon_upload_pending, d); diff -r be87547aa431 -r ca01403251f1 pidgin/gtkimhtml.c --- a/pidgin/gtkimhtml.c Sat Dec 13 21:13:04 2008 +0000 +++ b/pidgin/gtkimhtml.c Fri Jan 02 21:47:52 2009 +0000 @@ -3122,9 +3122,15 @@ font->size = 6; else if (g_ascii_strcasecmp(size, "xx-large") == 0) font->size = 7; - else - font->size = 3; - gtk_imhtml_font_set_size(imhtml, font->size); + + /* + * TODO: Handle other values, like percentages, or + * lengths specified as em, ex, px, in, cm, mm, pt + * or pc. Or even better, use an actual HTML + * renderer like webkit. + */ + if (font->size > 0) + gtk_imhtml_font_set_size(imhtml, font->size); } else if (oldfont) { diff -r be87547aa431 -r ca01403251f1 pidgin/gtkutils.c --- a/pidgin/gtkutils.c Sat Dec 13 21:13:04 2008 +0000 +++ b/pidgin/gtkutils.c Fri Jan 02 21:47:52 2009 +0000 @@ -1505,16 +1505,16 @@ break; } - free(data->filename); - free(data->who); - free(data); + g_free(data->filename); + g_free(data->who); + g_free(data); } static void dnd_image_cancel_callback(_DndData *data, int choice) { - free(data->filename); - free(data->who); - free(data); + g_free(data->filename); + g_free(data->who); + g_free(data); } static void dnd_set_icon_ok_cb(_DndData *data) @@ -1524,9 +1524,9 @@ static void dnd_set_icon_cancel_cb(_DndData *data) { - free(data->filename); - free(data->who); - free(data); + g_free(data->filename); + g_free(data->who); + g_free(data); } void diff -r be87547aa431 -r ca01403251f1 po/ca.po --- a/po/ca.po Sat Dec 13 21:13:04 2008 +0000 +++ b/po/ca.po Fri Jan 02 21:47:52 2009 +0000 @@ -3,7 +3,7 @@ # Copyright (C) unknown, Robert Millan # Copyright (C) December 2003 (from 2003-12-12 until 2003-12-18), # January (2004-01-07,12), Xan -# Copyright (c) 2004, 2005, 2006, 2007 +# Copyright (c) 2004, 2005, 2006, 2007, 2008 # Josep Puigdemont i Casamajó # # This file is distributed under the same license as the Pidgin package. @@ -27,14 +27,14 @@ # # NOTE: adjectives in catalan go [almost] always to the end, for instance: # NOTA: els adjectius en català acostumen a anar al final, per exemple: -# "New file" --> "Fitxer nou" +# "New file" --> "Fitxer nou" # msgid "" msgstr "" "Project-Id-Version: Pidgin\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-12-01 15:52-0800\n" -"PO-Revision-Date: 2008-05-11 13:00+0200\n" +"POT-Creation-Date: 2008-12-14 17:46+0100\n" +"PO-Revision-Date: 2008-12-15 00:07+0100\n" "Last-Translator: Josep Puigdemont i Casamajó \n" "Language-Team: Catalan \n" "MIME-Version: 1.0\n" @@ -96,7 +96,6 @@ msgid "Remember password" msgstr "Recorda la contrasenya" -#, fuzzy msgid "There are no protocol plugins installed." msgstr "No hi ha connectors de protocol instal·lats." @@ -122,9 +121,8 @@ msgstr "Àlies:" #. Register checkbox -#, fuzzy msgid "Create this account on the server" -msgstr "Crea aquest compte nou al servidor" +msgstr "Crea aquest compte al servidor" #. Cancel button #. Cancel @@ -434,9 +432,8 @@ msgid "View Log..." msgstr "Mostra el registre..." -#, fuzzy msgid "View All Logs" -msgstr "Visualitza el registre" +msgstr "Visualitza tots els registres" msgid "Show" msgstr "Mostra" @@ -641,21 +638,18 @@ msgid "Send To" msgstr "Envia a" -# FIXME -#, fuzzy msgid "Invite message" -msgstr "Missatge de sortida" +msgstr "Missatge d'invitació" msgid "Invite" msgstr "Convida" -#, fuzzy 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, així com un missatge " -"d'invitació opcional." +"Introduïu el nom de l'usuari que vulgueu convidar,\n" +"així com un missatge d'invitació opcional." msgid "Conversation" msgstr "Conversa" @@ -670,9 +664,8 @@ msgid "Add Buddy Pounce..." msgstr "Afegeix un avís per a l'amic..." -#, fuzzy msgid "Invite..." -msgstr "Convida" +msgstr "Convida..." msgid "Enable Logging" msgstr "Habilita el registre" @@ -683,11 +676,11 @@ msgid " " msgstr " " -#, fuzzy, c-format +#, c-format msgid "List of %d user:\n" msgid_plural "List of %d users:\n" -msgstr[0] "Llista d'usuaris:\n" -msgstr[1] "Llista d'usuaris:\n" +msgstr[0] "Llista d'%d usuari:\n" +msgstr[1] "Llista de %d usuaris:\n" msgid "Supported debug options are: version" msgstr "Les opcions de depuració disponibles són: version" @@ -707,10 +700,14 @@ "%s is not a valid message class. See '/help msgcolor' for valid message " "classes." msgstr "" +"%s no és una classe de missatge vàlida. Vegeu '/help msgcolor' per a llistar " +"les classes de missatge vàlides." #, c-format msgid "%s is not a valid color. See '/help msgcolor' for valid colors." msgstr "" +"%s no és un color vàlid. Vegei '/help msgcolor' per a llistar els colors " +"vàlids." msgid "" "say <message>: Send a message normally as if you weren't using a " @@ -763,6 +760,13 @@ "background>: black, red, green, blue, white, gray, darkgray, magenta, " "cyan, default

EXAMPLE:
msgcolor send cyan default" msgstr "" +"msgcolor <classe> <primer pla> <fons>: estableix el color " +"de les diferents classes de missatge en les finestres de conversa.
" +"<classe>: receive (rep), send (envia), highlight (ressalta), action " +"(acció), timestamp (marca de temps)
<primer pla/fons>: black " +"(negre), red (vermell), green (verd), blue (blau), white (blanc), gray " +"(gris), darkgray (gris fosc), magenta, cyan (cian), default (per defecte)" +"

EXEMPLE:
msgcolor send cyan default" msgid "Unable to open file." msgstr "No s'ha pogut obrir el fitxer." @@ -783,10 +787,10 @@ msgid "Pause" msgstr "Fes una pausa" -#, fuzzy, c-format +#, c-format msgid "File Transfers - %d%% of %d file" msgid_plural "File Transfers - %d%% of %d files" -msgstr[0] "Transferència de fitxers - %d%% de %d fitxers" +msgstr[0] "Transferència de fitxers - %d%% de %d fitxer" msgstr[1] "Transferència de fitxers - %d%% de %d fitxers" #. Create the window. @@ -904,9 +908,8 @@ msgid "Conversations with %s" msgstr "Converses amb %s" -#, fuzzy msgid "All Conversations" -msgstr "Converses" +msgstr "Totes les converses" msgid "System Log" msgstr "Registre del sistema" @@ -1542,10 +1545,10 @@ msgstr "Sense agrupament" msgid "Nested Subgroup" -msgstr "" +msgstr "Subgrup imbricat" msgid "Nested Grouping (experimental)" -msgstr "" +msgstr "Subgrup imbricat (experimental)" msgid "Provides alternate buddylist grouping options." msgstr "Proporciona opcions alternatives per a l'agrupament d'amics." @@ -1868,7 +1871,7 @@ #, c-format msgid "Resolver process exited without answering our request" -msgstr "" +msgstr "El procés resoledor ha acabat sense respondre la nostra sol·licitud" #, c-format msgid "Thread creation failure: %s" @@ -2177,10 +2180,11 @@ msgid "ABI version mismatch %d.%d.x (need %d.%d.x)" msgstr "Hi ha un error de coincidència de l'ABI %d.%d.x (cal %d.%d.x)" -#, fuzzy msgid "" "Plugin does not implement all required functions (list_icon, login and close)" -msgstr "El connector no implementa totes les funcions requerides" +msgstr "" +"El connector no implementa totes les funcions requerides (list_icon, login i " +"close)" #, c-format msgid "" @@ -2266,9 +2270,8 @@ "s'hagi transferit completament (només quan no hi ha conversa amb qui\n" "l'envia)" -#, fuzzy msgid "Create a new directory for each user" -msgstr "Seleccioneu quin directori d'usuari cercar" +msgstr "Crea un directori nou per a cada usuari" msgid "Notes" msgstr "Notes" @@ -2433,7 +2436,7 @@ msgstr "Temps d'espera d'inactivitat del usuaris (en minuts)" msgid "Apply hiding rules to buddies" -msgstr "" +msgstr "Aplica les normes d'ocultació als amics" #. *< type #. *< ui_requirement @@ -2846,14 +2849,13 @@ "No s'ha pogut detectar la instal·lació d'ActiveTCL. Si voleu emprar " "connectors TCL, instal·leu l'ActiveTCL de http://www.activestate.com\n" -#, fuzzy msgid "" "The Apple Bonjour For Windows toolkit wasn't found, see the FAQ at: http://d." "pidgin.im/BonjourWindows for more information." msgstr "" "No s'ha pogut trobar el joc d'eines per a Windows de l'Apple Bonjour, " -"consulteu les preguntes més freqüents a http://developer.pidgin.im/wiki/Using" -"%20Pidgin#CanIusePidginforBonjourLink-LocalMessaging per a més informació." +"consulteu les preguntes més freqüents a http://developer.pidgin.im/" +"BonjourWindows per a més informació." msgid "Unable to listen for incoming IM connections\n" msgstr "No es poden escoltar connexions entrants de MI\n" @@ -3257,7 +3259,7 @@ msgstr "Codificacions" msgid "Auto-detect incoming UTF-8" -msgstr "" +msgstr "Detecta UTF-8 entrant automàticament" msgid "Real name" msgstr "Nom real" @@ -3272,9 +3274,9 @@ msgid "Bad mode" msgstr "Mode dolent" -#, fuzzy, c-format +#, c-format msgid "Ban on %s by %s, set %s ago" -msgstr "Bandejament a %s de %s, establert fa %ld segons" +msgstr "Bandejament a %s de %s, establert fa %s" #, c-format msgid "Ban on %s" @@ -3445,7 +3447,7 @@ "missatge el treu." msgid "ctcp : sends ctcp msg to nick." -msgstr "" +msgstr "ctcp : envia un missatge ctcp a sobrenom" msgid "chanserv: Send a command to chanserv" msgstr "chanserv: envia una ordre al chanserv" @@ -3750,9 +3752,9 @@ msgid "Service Discovery Items" msgstr "Elements del servei de descoberta" -#, fuzzy +# http://xmpp.org/extensions/xep-0033.html msgid "Extended Stanza Addressing" -msgstr "Adreça (cont.)" +msgstr "Bloc d'adressament estès" msgid "Multi-User Chat" msgstr "Xat multi-usuari" @@ -3812,17 +3814,18 @@ msgstr "Negociacions de la sessió xifrada" # Pot ser també música, cançó... (josep) -#, fuzzy +# Vegeu: http://xmpp.org/extensions/xep-0118.html msgid "User Tune" msgstr "Melodia de l'usuari" -#, fuzzy +# Nota: "Roster" en XMPP és la llista de contactes (josep) msgid "Roster Item Exchange" -msgstr "MI amb intercanvi de clau" - -#, fuzzy +msgstr "Intercanvi d'element de la llista de contactes" + +# Vegeu: http://xmpp.org/extensions/xep-0152.html (josep) +# Nota: codi mort msgid "Reachability Address" -msgstr "Adreça de correu" +msgstr "Adreça de localització" msgid "User Profile" msgstr "Perfil de l'usuari" @@ -3875,8 +3878,11 @@ msgid "Ping" msgstr "Ping" +# Vegeu: http://xmpp.org/extensions/xep-0200.html +# Nota: Això es refereix a les capabilitats de l'altre interlocutor +# No apareix a l'aplicació final, és codi mort dins un #if 0 ... #endif (josep) msgid "Stanza Encryption" -msgstr "Xifratge de paràgrafs" +msgstr "Blocs xifrats" msgid "Entity Time" msgstr "Hora de l'entitat" @@ -3909,9 +3915,9 @@ msgid "Resource" msgstr "Recurs" -# FIXME +# Segons la viquipèdia msgid "Middle Name" -msgstr "Primer cognom" +msgstr "Nom del mig" msgid "Address" msgstr "Adreça" @@ -4421,8 +4427,9 @@ msgid "Unsupported Encoding" msgstr "La codificació no està implementada" +# FIXME msgid "Unsupported Stanza Type" -msgstr "El tipus de permanència no està implementada" +msgstr "Aquest tipus de bloc no està implementat" msgid "Unsupported Version" msgstr "Aquesta versió no està implementada" @@ -4580,7 +4587,6 @@ #. this should probably be part of global smiley theme settings later on, #. shared with MSN -#, fuzzy msgid "Show Custom Smileys" msgstr "Mostra emoticones personalitzades" @@ -4607,9 +4613,9 @@ msgid "XMPP Message Error" msgstr "Missatge d'error de l'XMPP" -#, fuzzy, c-format +#, c-format msgid "(Code %s)" -msgstr " (Codi %s)" +msgstr "(Codi %s)" msgid "XML Parse error" msgstr "Error en l'anàlisi de l'XML" @@ -4709,6 +4715,19 @@ msgid "Unable to retrieve MSN Address Book" msgstr "No s'ha pogut obtenir la llibreta d'adreces MSN" +#. only notify the user about problems adding to the friends list +#. * maybe we should do something else for other lists, but it probably +#. * won't cause too many problems if we just ignore it +#, c-format +msgid "Unable to add \"%s\"." +msgstr "No s'ha pogut afegir «%s»." + +msgid "Buddy Add error" +msgstr "Error en afegir un amic" + +msgid "The username specified does not exist." +msgstr "El nom d'usuari especificat no existeix." + #, c-format msgid "Buddy list synchronization issue in %s (%s)" msgstr "Problema de sincronització de la llista d'amics a %s (%s)" @@ -4936,9 +4955,9 @@ msgid "Passport account not yet verified" msgstr "El compte de passaport encara no està verificat" -#, fuzzy, c-format +#, c-format msgid "Passport account suspended" -msgstr "El compte de passaport encara no està verificat" +msgstr "El compte de passaport s'ha suspès" #, c-format msgid "Bad ticket" @@ -4952,13 +4971,11 @@ msgid "MSN Error: %s\n" msgstr "Error d'MSN: %s\n" -#, fuzzy msgid "Other Contacts" -msgstr "Contacte preferit" - -#, fuzzy +msgstr "Altres contactes" + msgid "Non-IM Contacts" -msgstr "Suprimeix el contacte" +msgstr "Contactes que no són de MI" msgid "Nudge" msgstr "Donar un cop de colze" @@ -4971,9 +4988,8 @@ msgid "Nudging %s..." msgstr "S'està donant un cop de colze a %s..." -#, fuzzy msgid "Email Address..." -msgstr "Adreça de correu electrònic" +msgstr "Correu electrònic..." msgid "Your new MSN friendly name is too long." msgstr "El vostre nom amistós nou d'MSN és massa llarg." @@ -5009,22 +5025,20 @@ msgid "Disallow" msgstr "Denega" -#, fuzzy, c-format +#, c-format msgid "Blocked Text for %s" -msgstr "Comentari sobre l'amic %s" - -#, fuzzy +msgstr "Text blocat de %s" + msgid "No text is blocked for this account." -msgstr "Utilitza aquesta _icona d'amic per a aquest compte:" +msgstr "No hi ha text blocat per aquest compte." #, c-format msgid "" "MSN servers are currently blocking the following regular expressions:
%s" -msgstr "" - -#, fuzzy +msgstr "Actualment, sevidors MSN bloquen aquestes expressions regulars:
%s" + msgid "This account does not have email enabled." -msgstr "Pot ser que aquest compte Hotmail no sigui actiu." +msgstr "Aquest compte no té el correu habilitat." msgid "Send a mobile message." msgstr "Envia un missatge de mòbil." @@ -5032,6 +5046,12 @@ msgid "Page" msgstr "Pàgina" +msgid "Playing a game" +msgstr "Jugant a un joc" + +msgid "Working" +msgstr "Treballant" + msgid "Has you" msgstr "Us té" @@ -5068,6 +5088,12 @@ msgid "Album" msgstr "Àlbum" +msgid "Game Title" +msgstr "Títol del joc" + +msgid "Office Title" +msgstr "Títol oficial" + msgid "Set Friendly Name..." msgstr "Estableix el nom amistós..." @@ -5087,7 +5113,7 @@ msgstr "Permet/denega pàgines de mòbil..." msgid "View Blocked Text..." -msgstr "" +msgstr "Mostra el text blocat..." msgid "Open Hotmail Inbox" msgstr "Obre la safata d'entrada de Hotmail" @@ -5259,8 +5285,8 @@ "No s'ha pogut trobar informació del perfil de l'usuari. El més segur és que " "l'usuari no existeixi." -msgid "Profile URL" -msgstr "URL del perfil" +msgid "View web profile" +msgstr "Mostra el perfil web" #. *< type #. *< ui_requirement @@ -5289,9 +5315,8 @@ msgid "Windows Live ID authentication:Unable to connect" msgstr "Autenticació amb el Windows Live ID: no s'ha pogut connectar" -#, fuzzy msgid "Windows Live ID authentication:Invalid response" -msgstr "Autenticació amb el Windows Live ID: no s'ha pogut connectar" +msgstr "Autenticació amb el Windows Live ID: la resposta no és vàlida" #, c-format msgid "%s is not a valid group." @@ -5316,9 +5341,8 @@ msgid "Unable to add user" msgstr "No s'ha pogut afegir l'usuari" -#, fuzzy msgid "The following users are missing from your addressbook" -msgstr "El que segueix són els resultats de la vostra cerca" +msgstr "Manquen aquests usuaris a la vostra llista d'amics" #, c-format msgid "Unable to add user on %s (%s)" @@ -5343,9 +5367,8 @@ msgid "Service Temporarily Unavailable." msgstr "El servei no està disponible temporalment." -#, fuzzy msgid "Mobile message was not sent because it was too long." -msgstr "El missatge no s'ha enviat perquè no esteu connectat." +msgstr "No s'ha enviat el missatge al mòbil perquè era massa llarg." msgid "Unable to rename group" msgstr "No s'ha pogut canviar el nom del grup" @@ -5385,21 +5408,21 @@ "Message was not sent because the system is unavailable. This normally " "happens when the user is blocked or does not exist." msgstr "" - -#, fuzzy +"No s'ha pogut enviar el missatge perquè el sistema no està disponible. Això " +"normalment passa quan l'usuari està blocat o no existeix." + msgid "Message was not sent because messages are being sent too quickly." msgstr "" -"El missatge no s'ha pogut enviar perquè s'està enviant massa de pressa:" - -#, fuzzy +"No s'ha pogut enviar el missatge perquè se n'estan enviant massa depressa." + msgid "Message was not sent because an unknown encoding error occurred." msgstr "" -"No s'ha pogut enviar el missatge perquè s'ha produït un error desconegut:" - -#, fuzzy +"No s'ha pogut enviar el missatge perquè s'ha produït un error desconegut en " +"la codificació." + msgid "Message was not sent because an unknown error occurred." msgstr "" -"No s'ha pogut enviar el missatge perquè s'ha produït un error desconegut:" +"No s'ha pogut enviar el missatge perquè s'ha produït un error desconegut." msgid "Unable to connect" msgstr "No s'ha pogut connectar" @@ -5518,20 +5541,11 @@ msgid "%s has removed you from his or her buddy list." msgstr "%s us ha suprimit de la seva llista d'amics." -#, fuzzy msgid "Delete Buddy from Address Book?" -msgstr "Afegeix a la llibreta d'adreces" - -#, fuzzy +msgstr "Voleu suprimir l'amic de la llibreta d'adreces?" + msgid "Do you want to delete this buddy from your address book as well?" -msgstr "Voleu afegir aquest amic a la vostra llista d'amics?" - -#. only notify the user about problems adding to the friends list -#. * maybe we should do something else for other lists, but it probably -#. * won't cause too many problems if we just ignore it -#, c-format -msgid "Unable to add \"%s\"." -msgstr "No s'ha pogut afegir «%s»." +msgstr "Voleu suprimir aquest amic de la vostra llista d'amics també?" msgid "The username specified is invalid." msgstr "El nom d'usuari especificat no és vàlid." @@ -5539,6 +5553,9 @@ msgid "This Hotmail account may not be active." msgstr "Pot ser que aquest compte Hotmail no sigui actiu." +msgid "Profile URL" +msgstr "URL del perfil" + #. *< type #. *< ui_requirement #. *< flags @@ -5575,13 +5592,8 @@ msgid "Logging in" msgstr "S'està entrant" -#, fuzzy, c-format -msgid "Connection to server lost (no data received within %d second)" -msgid_plural "Connection to server lost (no data received within %d seconds)" -msgstr[0] "" -"S'ha perdut la connexió al servidor (fa %d segons que no s'hi reben dades)" -msgstr[1] "" -"S'ha perdut la connexió al servidor (fa %d segons que no s'hi reben dades)" +msgid "Lost connection with server" +msgstr "S'ha perdut la connexió amb el servidor" #. Can't write _()'d strings in array initializers. Workaround. msgid "New mail messages" @@ -5676,7 +5688,7 @@ msgid "IM Friends" msgstr "Amics de MI" -#, fuzzy, c-format +#, c-format msgid "" "%d buddy was added or updated from the server (including buddies already on " "the server-side list)" @@ -5684,8 +5696,8 @@ "%d buddies were added or updated from the server (including buddies already " "on the server-side list)" msgstr[0] "" -"S'han afegit o actualitzat %d amics al servidor (incloent els amics que ja " -"són a la llista del servidor)" +"S'ha afegit o actualitzat %d amic al servidor (incloent els amics que ja són " +"a la llista del servidor)" msgstr[1] "" "S'han afegit o actualitzat %d amics al servidor (incloent els amics que ja " "són a la llista del servidor)" @@ -5740,9 +5752,6 @@ msgid "User" msgstr "Usuari" -msgid "Profile" -msgstr "Perfil" - msgid "Headline" msgstr "Titular" @@ -6237,9 +6246,8 @@ msgid "AIM Protocol Plugin" msgstr "Connector per al protocol AIM" -#, fuzzy msgid "ICQ UIN..." -msgstr "ICQ UIN" +msgstr "ICQ UIN..." #. *< type #. *< ui_requirement @@ -6339,10 +6347,10 @@ msgstr "En la llista de permès/denegat local" msgid "Warning level too high (sender)" -msgstr "" +msgstr "Nivell d'avís massa alt (remitent)" msgid "Warning level too high (receiver)" -msgstr "" +msgstr "Nivell d'avís massa alt (receptor)" msgid "User temporarily unavailable" msgstr "Usuari no disponible temporalment" @@ -6446,9 +6454,8 @@ msgid "Camera" msgstr "Càmera" -#, fuzzy msgid "Screen Sharing" -msgstr "Nom d'usuari" +msgstr "Compartició de pantalla" #, c-format msgid "Free For Chat" @@ -6697,27 +6704,30 @@ msgstr[0] "S'ha perdut %hu missatge de %s perquè no era vàlid." msgstr[1] "S'han perdut %hu missatges de %s perquè no eren vàlids." -#, fuzzy, c-format +#, c-format msgid "" "You missed %hu message from %s because his/her warning level is too high." msgid_plural "" "You missed %hu messages from %s because his/her warning level is too high." -msgstr[0] "S'ha perdut %hu missatge de %s perquè ell/ella era massa dolent/a." +msgstr[0] "" +"Heu perdut %hu missatge de %s perquè el seu nivell d'avís és massa alt." msgstr[1] "" -"S'han perdut %hu missatges de %s perquè ell/ella era massa dolent/a." - -#, fuzzy, c-format +"Heu perdut %hu missatges de %s perquè el seu nivell d'avís és massa alt." + +#, c-format msgid "You missed %hu message from %s because your warning level is too high." msgid_plural "" "You missed %hu messages from %s because your warning level is too high." -msgstr[0] "S'ha perdut %hu missatge de %s perquè sou massa dolent." -msgstr[1] "S'han perdut %hu missatges de %s perquè sou massa dolent." +msgstr[0] "" +"Heu perdut %hu missatge de %s perquè el vostre nivell d'avís és massa alt." +msgstr[1] "" +"Heu perdut %hu missatges de %s perquè el vostre nivell d'avís és massa alt." #, c-format msgid "You missed %hu message from %s for an unknown reason." msgid_plural "You missed %hu messages from %s for an unknown reason." -msgstr[0] "S'ha perdut %hu missatge de %s per motius desconeguts." -msgstr[1] "S'han perdut %hu missatges de %s per motius desconeguts." +msgstr[0] "Heu perdut %hu missatge de %s per motius desconeguts." +msgstr[1] "Heu perdut %hu missatges de %s per motius desconeguts." #. Data is assumed to be the destination sn #, c-format @@ -6741,6 +6751,9 @@ msgid "Member Since" msgstr "Membre des de" +msgid "Profile" +msgstr "Perfil" + msgid "Your AIM connection may be lost." msgstr "La vostra connexió d'AIM es pot perdre." @@ -6928,11 +6941,9 @@ "d'usuari han de ser adreces de correu vàlides, o començar amb una lletra i " "contenir només lletres, nombres i espais, o només nombres." -#, fuzzy msgid "Unable to Add" msgstr "No s'ha pogut afegir" -#, fuzzy msgid "Unable to Retrieve Buddy List" msgstr "No s'ha pogut obtenir la llista d'amics" @@ -7126,8 +7137,9 @@ "per a la transferència de fitxers\n" "(és més lent, però acostuma a funcionar)" +# FIXME: entrades/registres? msgid "Allow multiple simultaneous logins" -msgstr "" +msgstr "Permet diverses entrades simultànies" #, c-format msgid "Asking %s to connect to us at %s:%hu for Direct IM." @@ -7230,16 +7242,14 @@ msgid "Other" msgstr "Altres" -#, fuzzy msgid "Visible" -msgstr "Invisible" - -msgid "Firend Only" -msgstr "" - -#, fuzzy +msgstr "Visible" + +msgid "Friend Only" +msgstr "Només amic" + msgid "Private" -msgstr "Privadesa" +msgstr "Privat" msgid "QQ Number" msgstr "Número QQ" @@ -7256,9 +7266,8 @@ msgid "Phone Number" msgstr "Número de telèfon" -#, fuzzy msgid "Authorize adding" -msgstr "Voleu autoritzar l'amic?" +msgstr "Autoritzar que us afegeixin" msgid "Cellphone Number" msgstr "Número de mòbil" @@ -7266,131 +7275,110 @@ msgid "Personal Introduction" msgstr "Introducció personal" -#, fuzzy msgid "City/Area" -msgstr "Ciutat" - -#, fuzzy +msgstr "Ciutat/Àrea" + msgid "Publish Mobile" -msgstr "Mòbil personal" - -#, fuzzy +msgstr "Publica el mòbil" + msgid "Publish Contact" -msgstr "Posa un àlies al contacte" +msgstr "Publica el contacte" msgid "College" msgstr "Col·legi" -#, fuzzy msgid "Horoscope" -msgstr "Signe de l'horòscop" - -#, fuzzy +msgstr "Horòscop" + msgid "Zodiac" -msgstr "Signe del zodíac" - -#, fuzzy +msgstr "Zodíac" + msgid "Blood" -msgstr "Blocat" - -#, fuzzy +msgstr "Sang" + msgid "True" -msgstr "Taure" - -#, fuzzy +msgstr "Cert" + msgid "False" -msgstr "Ha fallat" - -#, fuzzy +msgstr "Fals" + msgid "Modify Contact" -msgstr "Modifica el compte" - -#, fuzzy +msgstr "Modifica el contacte" + msgid "Modify Address" -msgstr "Adreça de casa" - -#, fuzzy +msgstr "Modifica l'adreça" + msgid "Modify Extended Information" -msgstr "Modifica la meva informació" - -#, fuzzy +msgstr "Modifica la informació estesa" + msgid "Modify Information" -msgstr "Modifica la meva informació" +msgstr "Modifica la informació" msgid "Update" msgstr "Actualitza" -#, fuzzy msgid "Could not change buddy information." -msgstr "Introduïu informació sobre l'amic." - -#, c-format -msgid "%d needs Q&A" -msgstr "" - -#, fuzzy -msgid "Add buddy Q&A" -msgstr "Afegeix un amic" - -#, fuzzy -msgid "Input answer here" -msgstr "Introduïu la sol·licitud aquí" +msgstr "No s'ha pogut canviar la informació l'amic." + +#, c-format +msgid "%u requires verification" +msgstr "Cal verificació per a %u" + +# Nota: títol de finestra +msgid "Add buddy question" +msgstr "Afegir una pregunta" + +msgid "Enter answer here" +msgstr "Introduïu la resposta aquí" msgid "Send" msgstr "Envia" -#, fuzzy msgid "Invalid answer." -msgstr "La contrasenya no és vàlida" +msgstr "La resposta no és vàlida" msgid "Authorization denied message:" msgstr "Missatge de denegació de l'autorització:" -#, fuzzy -msgid "Sorry, You are not my style." -msgstr "Em sap greu, no sou el meu tipus..." - -#, fuzzy, c-format -msgid "%d needs authentication" -msgstr "L'usuari %d necessita autenticació" - -#, fuzzy +msgid "Sorry, you're not my style." +msgstr "Em sap greu, no sou el meu tipus." + +#, c-format +msgid "%u needs authorization" +msgstr "Cal autorització per a %u" + +# Nota: títol de finestra (josep) msgid "Add buddy authorize" -msgstr "Voleu afegir l'amic a la llista?" - -msgid "Input request here" +msgstr "Autorització per a afegir un amic" + +msgid "Enter request here" msgstr "Introduïu la sol·licitud aquí" msgid "Would you be my friend?" msgstr "Voleu ser el meu amic?" -#, fuzzy msgid "QQ Buddy" -msgstr "Amic" - -#, fuzzy +msgstr "Amic QQ" + msgid "Add buddy" msgstr "Afegeix un amic" -#, fuzzy msgid "Invalid QQ Number" -msgstr "El nom de la cara QQ no és vàlida" - -#, fuzzy +msgstr "El nombre QQ no és vàlid" + msgid "Failed sending authorize" -msgstr "Autoritzeu-me, si us plau." - -#, fuzzy, c-format -msgid "Failed removing buddy %d" -msgstr "No s'ha pogut suprimir l'amic" - -#, fuzzy, c-format +msgstr "No s'ha pogut enviar l'autorizació" + +#, c-format +msgid "Failed removing buddy %u" +msgstr "No s'ha pogut suprimir l'amic %u" + +#, c-format msgid "Failed removing me from %d's buddy list" -msgstr "Suprimeix l'usuari de la llista d'amics" - -#, fuzzy +msgstr "No us heu pogut suprimir de la llista d'amics de %d" + msgid "No reason given" -msgstr "No s'ha indicat cap motiu." +msgstr "No s'ha indicat cap motiu" #. only need to get value #, c-format @@ -7400,9 +7388,9 @@ msgid "Would you like to add him?" msgstr "Voleu afegir-lo?" -#, fuzzy, c-format +#, c-format msgid "Rejected by %s" -msgstr "S'ha connectat a %s" +msgstr "Rebutjat per %s" #, c-format msgid "Message: %s" @@ -7417,82 +7405,73 @@ msgid "QQ Qun" msgstr "QQ Qun" -#, fuzzy msgid "Please enter Qun number" -msgstr "Introduïu un nou nom per a %s" - -#, fuzzy +msgstr "Introduïu el número Qun" + msgid "You can only search for permanent Qun\n" -msgstr "Només podeu cercar grups QQ permanents\n" - -#, fuzzy +msgstr "Només podeu cercar Quns permanents\n" + +msgid "(Invalid UTF-8 string)" +msgstr "(No és una cadena UTF-8 vàlida)" + msgid "Not member" msgstr "No en sóc membre" -#, fuzzy msgid "Member" -msgstr "Membre des de" - -#, fuzzy +msgstr "Membre" + msgid "Requesting" -msgstr "Diàleg de sol·licitud" - -#, fuzzy +msgstr "Demanant" + msgid "Admin" -msgstr "Alerta d'administració" - -#, fuzzy +msgstr "Administrador" + msgid "Notice" -msgstr "Nota" - -#, fuzzy +msgstr "Avís" + msgid "Detail" msgstr "Detalls" msgid "Creator" msgstr "Creador" -#, fuzzy msgid "About me" -msgstr "Quant al %s" - -#, fuzzy +msgstr "Quant a mi" + msgid "Category" -msgstr "Error en el xat" - -#, fuzzy +msgstr "Categoria" + msgid "The Qun does not allow others to join" -msgstr "Aquest grup no permet que s'hi afegeixi ningú" - -#, fuzzy +msgstr "Aquest Qun no permet que s'hi afegeixi ningú" + msgid "Join QQ Qun" -msgstr "Entra a un xat" - -#, c-format -msgid "Successfully joined Qun %s (%d)" -msgstr "" - -#, fuzzy +msgstr "Entra al Qun QQ" + +msgid "Input request here" +msgstr "Introduïu la sol·licitud aquí" + +#, c-format +msgid "Successfully joined Qun %s (%u)" +msgstr "S'ha entrat al Qun %s (%u)" + msgid "Successfully joined Qun" -msgstr "Heu modificat amb èxit el membre del Qun" - -#, c-format -msgid "Qun %d denied to join" -msgstr "" +msgstr "S'ha entrat al Qun" + +#, c-format +msgid "Qun %u denied from joining" +msgstr "No se us ha permès entrar al Qun %u" msgid "QQ Qun Operation" msgstr "Operació Qun QQ" -#, fuzzy msgid "Failed:" -msgstr "Ha fallat" - -msgid "Join Qun, Unknow Reply" -msgstr "" - -#, fuzzy +msgstr "Ha fallat:" + +msgid "Join Qun, Unknown Reply" +msgstr "Resposta desconeguda en entrar al Qun" + msgid "Quit Qun" -msgstr "QQ Qun" +msgstr "Surt del Qun" msgid "" "Note, if you are the creator, \n" @@ -7501,51 +7480,47 @@ "Nota, si en sou el creador, \n" "aquesta operació suprimirà aquest Qun." -#, fuzzy -msgid "Sorry, you are not our style ..." -msgstr "Em sap greu, no sou el meu tipus..." - -#, fuzzy -msgid "Successfully changed Qun member" -msgstr "Heu modificat amb èxit el membre del Qun" - -#, fuzzy +msgid "Sorry, you are not our style" +msgstr "Em sap greu, no sou el meu tipus" + +msgid "Successfully changed Qun members" +msgstr "S'ha canviat els membres del Qun" + msgid "Successfully changed Qun information" -msgstr "Heu modificat amb èxit la informació del Qun" +msgstr "S'ha canviat la iformació del Qun correctament" msgid "You have successfully created a Qun" msgstr "Heu creat un Qun" -#, fuzzy -msgid "Would you like to set detailed information now?" -msgstr "Voleu establir-la els detalls del Qun ara?" +msgid "Would you like to set up detailed information now?" +msgstr "Voleu establir informació detallada ara?" msgid "Setup" -msgstr "Instal·lació" - -#, fuzzy, c-format -msgid "%d requested to join Qun %d for %s" -msgstr "L'usuari %d ha sol·licitat unir-se al grup %d" - -#, fuzzy, c-format -msgid "%d request to join Qun %d" -msgstr "L'usuari %d ha sol·licitat unir-se al grup %d" - -#, fuzzy, c-format -msgid "Failed to join Qun %d, operated by admin %d" -msgstr "No s'ha pogut entrar al xat de l'amic." - -#, c-format -msgid "Joining Qun %d is approved by admin %d for %s" -msgstr "" - -#, fuzzy, c-format -msgid "Removed buddy %d." -msgstr "Suprimeix l'amic" - -#, c-format -msgid "New buddy %d joined." -msgstr "" +msgstr "Configuració" + +#, c-format +msgid "%u requested to join Qun %u for %s" +msgstr "%u ha sol·licitat unir-se al Qun %u per %s" + +#, c-format +msgid "%u request to join Qun %u" +msgstr "%u ha sol·licitat unir-se al Qun %u" + +#, c-format +msgid "Failed to join Qun %u, operated by admin %u" +msgstr "No s'ha pogut entrar al Qun %u, administrat per %u" + +#, c-format +msgid "Joining Qun %u is approved by admin %u for %s" +msgstr "L'administrador %2$u us ha permès unir-vos al Qun %1$u per %3$s" + +#, c-format +msgid "Removed buddy %u." +msgstr "S'ha suprimit l'amic %u." + +#, c-format +msgid "New buddy %u joined." +msgstr "El nou amic %u ha entrat." #, c-format msgid "Unknown-%d" @@ -7555,10 +7530,10 @@ msgstr "Nivell" msgid " VIP" -msgstr "" +msgstr " VIP" msgid " TCP" -msgstr "" +msgstr " TCP" #, fuzzy msgid " FromMobile" @@ -7568,128 +7543,122 @@ msgid " BindMobile" msgstr "Mòbil" -#, fuzzy msgid " Video" -msgstr "Vídeo en directe" - -#, fuzzy +msgstr " Vídeo" + msgid " Zone" -msgstr "Cap" - +msgstr " Zona" + +# Nota: només apareix si es defineix DEBUG msgid "Flag" -msgstr "" - +msgstr "Bandera" + +# Nota: només apareix si es defineix DEBUG msgid "Ver" -msgstr "" +msgstr "Ver" msgid "Invalid name" msgstr "QQ: El nom d'usuari no és vàlid" -#, fuzzy msgid "Select icon..." -msgstr "Selecciona una carpeta..." - -#, fuzzy, c-format +msgstr "Selecciona una icona..." + +#, c-format msgid "Login time: %d-%d-%d, %d:%d:%d
\n" -msgstr "Temps de connexió: %s
\n" - -#, fuzzy, c-format +msgstr "Temps d'entrada: %d-%d-%d, %d:%d:%d
\n" + +#, c-format msgid "Total Online Buddies: %d
\n" -msgstr "En línia ara: %d
\n" - -#, fuzzy, c-format +msgstr "Amic en línia: %d
\n" + +#, c-format msgid "Last Refresh: %d-%d-%d, %d:%d:%d
\n" -msgstr "Actualitzat per darrer cop: %s
\n" - -#, fuzzy, c-format +msgstr "Actualitzat per darrer cop: %d-%d-%d, %d:%d:%d
\n" + +#, c-format msgid "Server: %s
\n" -msgstr "ID del servidor: %s: %d
\n" - -#, fuzzy, c-format +msgstr "Servidor: %s
\n" + +#, c-format msgid "Client Tag: %s
\n" -msgstr "Temps de connexió: %s
\n" +msgstr "Etiqueta del client: %s
\n" #, c-format msgid "Connection Mode: %s
\n" msgstr "Mode de connexió: %s
\n" -#, fuzzy, c-format +#, c-format msgid "My Internet IP: %s:%d
\n" -msgstr "Adreça IP: %s
" - -#, fuzzy, c-format +msgstr "La meva adreça IP: %s:%d
\n" + +#, c-format msgid "Sent: %lu
\n" -msgstr "En línia ara: %d
\n" - -#, fuzzy, c-format +msgstr "Enviats: %lu
\n" + +#, c-format msgid "Resend: %lu
\n" -msgstr "Usuari: %s
" - -#, fuzzy, c-format +msgstr "Reenviats: %lu
\n" + +#, c-format msgid "Lost: %lu
\n" -msgstr "%s: %s
" - -#, fuzzy, c-format +msgstr "Perduts: %lu
\n" + +#, c-format msgid "Received: %lu
\n" -msgstr "Actualitzat per darrer cop: %s
\n" - -#, fuzzy, c-format +msgstr "Rebuta: %lu
\n" + +#, c-format msgid "Received Duplicate: %lu
\n" -msgstr "La meva IP pública: %s
\n" - -#, fuzzy, c-format +msgstr "Rebuts duplicats: %lu
\n" + +#, c-format msgid "Time: %d-%d-%d, %d:%d:%d
\n" -msgstr "Temps de connexió: %s
\n" - -#, fuzzy, c-format +msgstr "Temps: %d-%d-%d, %d:%d:%d
\n" + +#, c-format msgid "IP: %s
\n" -msgstr "ID del servidor: %s: %d
\n" +msgstr "IP: %s
\n" msgid "Login Information" msgstr "Informació de la connexió" -#, fuzzy msgid "

Original Author:
\n" -msgstr "Usuari extern
" +msgstr "

Autor original:
\n" msgid "

Code Contributors:
\n" -msgstr "" - -#, fuzzy +msgstr "

Col·laboradors del codi:
\n" + msgid "

Lovely Patch Writers:
\n" -msgstr "Actualitzat per darrer cop: %s
\n" - -#, fuzzy +msgstr "

Encantadors apedaçadors (de codi):
\n" + msgid "

Acknowledgement:
\n" -msgstr "En línia ara: %d
\n" - +msgstr "

Reconeixement:
\n" + +# FIXME: ush... traducció lliure... msgid "

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

I tothom que ho ha fet possible...
\n" msgid "Feel free to join us! :)" -msgstr "" - -#, fuzzy, c-format -msgid "About OpenQ r%s" -msgstr "Quant al %s" - -#, fuzzy +msgstr "No dubteu a col·laborar amb nosaltres! :)" + +#, c-format +msgid "About OpenQ %s" +msgstr "Quant a l'OpenQ %s" + msgid "Change Icon" -msgstr "Desa la icona" +msgstr "Canvia la icona" msgid "Change Password" msgstr "Canvia la contrasenya" -#, fuzzy msgid "Account Information" -msgstr "Informació de la connexió" +msgstr "Informació del compte" msgid "Update all QQ Quns" -msgstr "" - -#, fuzzy +msgstr "Actualitza tots els Quns QQ" + msgid "About OpenQ" -msgstr "Quant al %s" +msgstr "Quant a l'OpenQ" #. *< type #. *< ui_requirement @@ -7701,116 +7670,102 @@ #. *< version #. * summary #. * description -#, fuzzy msgid "QQ Protocol Plugin" msgstr "Connector per al protocol QQ" -#, fuzzy msgid "Auto" -msgstr "Autor" - -#, fuzzy +msgstr "Auto" + msgid "Select Server" -msgstr "Seleccioneu un usuari" +msgstr "Seleccioneu un servidor" msgid "QQ2005" -msgstr "" +msgstr "QQ2005" msgid "QQ2007" -msgstr "" +msgstr "QQ2007" msgid "QQ2008" -msgstr "" - -#. #endif -#, fuzzy +msgstr "QQ2008" + msgid "Connect by TCP" msgstr "Connecta amb TCP" -#, fuzzy msgid "Show server notice" -msgstr "Mostra menys opcions" - -#, fuzzy +msgstr "Mostra els avisos del servidor" + msgid "Show server news" -msgstr "Mostra menys opcions" - -#, fuzzy +msgstr "Mostra les notícies del servidor" + +# FIXME: keep alive -> permanència msgid "Keep alive interval (seconds)" -msgstr "Error de permanència" - -#, fuzzy +msgstr "Interval de permanència (en segons)" + msgid "Update interval (seconds)" -msgstr "Error de permanència" - -#, fuzzy -msgid "Can not decrypt server reply" -msgstr "No s'ha pogut obtenir informació del servidor" - -#, fuzzy -msgid "Can not decrypt get server reply" -msgstr "No s'ha pogut obtenir informació del servidor" +msgstr "Interval d'actualització (en segons)" + +msgid "Cannot decrypt server reply" +msgstr "No es pot desxifrar la resposta del servidor" #, c-format msgid "Failed requesting token, 0x%02X" -msgstr "" - -#, fuzzy, c-format +msgstr "S'ha produït un error en sol·licitar el testimoni, 0x%02X" + +#, c-format msgid "Invalid token len, %d" -msgstr "El títol no és vàlid" +msgstr "La longiud del testimoni no és vàlida, %d" #. extend redirect used in QQ2006 msgid "Redirect_EX is not currently supported" -msgstr "" +msgstr "Redirect_EX no està implementat" #. need activation #. need activation #. need activation -#, fuzzy msgid "Activation required" -msgstr "Cal registre" - -#, c-format -msgid "Unknow reply code when login (0x%02X)" -msgstr "" - -msgid "Keep alive error" -msgstr "Error de permanència" - -#, fuzzy -msgid "Requesting captcha ..." -msgstr "S'està cridant l'atenció de %s..." - -msgid "Checking code of captcha ..." -msgstr "" - -msgid "Failed captcha verify" -msgstr "" - -#, fuzzy +msgstr "Cal activació" + +#, c-format +msgid "Unknown reply code when logging in (0x%02X)" +msgstr "No s'ha reconegut el codi de resposta en entrar (0x%02X)" + +msgid "Could not decrypt server reply" +msgstr "No s'ha pogut desxifrar la resposta del servidor" + +# FIXME: captcha +msgid "Requesting captcha" +msgstr "S'està sol·licitant un capcha" + +msgid "Checking captcha" +msgstr "S'està comprovant el captcha" + +msgid "Failed captcha verification" +msgstr "Ha fallat la verificació del captcha" + msgid "Captcha Image" -msgstr "Desa imatge" - -#, fuzzy +msgstr "Imatge captcha" + msgid "Enter code" -msgstr "Introduïu la contrasenya" - -msgid "QQ Captcha Verifing" -msgstr "" - -#, fuzzy +msgstr "Introduïu el codi" + +msgid "QQ Captcha Verification" +msgstr "Verificació del captcha QQ" + msgid "Enter the text from the image" -msgstr "Introduïu el nom del grup" - -#, c-format -msgid "Unknow reply code when checking password (0x%02X)" -msgstr "" - -#, c-format -msgid "" -"Unknow reply code when login (0x%02X):\n" +msgstr "Introduïu el text de la imatge" + +#, c-format +msgid "Unknown reply when checking password (0x%02X)" +msgstr "" +"No s'ha reconegut el codi de resposta en comprovar la contrasenya (0x%02X)" + +#, c-format +msgid "" +"Unknown reply code when logging in (0x%02X):\n" "%s" msgstr "" +"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." @@ -7819,14 +7774,6 @@ msgid "Socket error" msgstr "Error del sòcol" -#, fuzzy, c-format -msgid "" -"Lost connection with server:\n" -"%d, %s" -msgstr "" -"S'ha perdut la connexió amb el servidor:\n" -"%s" - msgid "Unable to read from socket" msgstr "No s'ha pogut llegir el sòcol" @@ -7836,77 +7783,74 @@ msgid "Connection lost" msgstr "S'ha perdut la connexió" -#, fuzzy -msgid "Get server ..." -msgstr "Estableix informació d'usuari..." - -#, fuzzy -msgid "Request token" -msgstr "Petició denegada" +msgid "Getting server" +msgstr "S'està obtenint el servidor" + +msgid "Requesting token" +msgstr "S'està sol·licitant un testimoni" msgid "Couldn't resolve host" msgstr "No s'ha pogut obtenir l'adreça de l'ordinador" -#, fuzzy msgid "Invalid server or port" -msgstr "El nom d'usuari o la contrasenya no són vàlides" - -#, fuzzy -msgid "Connecting server ..." -msgstr "Servidor al qual connectar-se" - -#, fuzzy +msgstr "El servidor o el port no són vàlids" + +msgid "Connecting to server" +msgstr "S'està connectant al servidor" + msgid "QQ Error" -msgstr "Error del QQid" - -msgid "Failed to send IM." -msgstr "No s'ha pogut enviar la MI." - -#, fuzzy, c-format +msgstr "Error del QQ" + +#, c-format msgid "" "Server News:\n" "%s\n" "%s\n" "%s" -msgstr "Servidor repetidor d'ICQ" - -#, fuzzy, c-format +msgstr "" +"Notícies del servidor:\n" +"%s\n" +"%s\n" +"%s" + +#, c-format +msgid "%s:%s" +msgstr "%s:%s" + +#, c-format msgid "From %s:" -msgstr "De" - -#, fuzzy, c-format +msgstr "De %s:" + +#, c-format msgid "" "Server notice From %s: \n" "%s" -msgstr "Instruccions del servidor: %s" - -msgid "Unknow SERVER CMD" -msgstr "" +msgstr "" +"Avís del servidor de %s: \n" +"%s" + +msgid "Unknown SERVER CMD" +msgstr "Ordre del servidor desconeguda" #, c-format msgid "" "Error reply of %s(0x%02X)\n" -"Room %d, reply 0x%02X" -msgstr "" - -#, fuzzy +"Room %u, reply 0x%02X" +msgstr "" +"Resposta d'error de %s(0x%02X)\n" +"Sala %u, resposta 0x%02X" + msgid "QQ Qun Command" -msgstr "Ordre" - -#, c-format -msgid "Not a member of room \"%s\"\n" -msgstr "" - -msgid "Can not decrypt login reply" -msgstr "" - -#, fuzzy -msgid "Unknow LOGIN CMD" -msgstr "Motiu desconegut" - -#, fuzzy -msgid "Unknow CLIENT CMD" -msgstr "Motiu desconegut" +msgstr "Ordre QQ Qun" + +msgid "Could not decrypt login reply" +msgstr "No s'ha pogut desxifrar la resposta d'entrada" + +msgid "Unknown LOGIN CMD" +msgstr "Ordre d'entrada desconeguda" + +msgid "Unknown CLIENT CMD" +msgstr "Ordre de client desconeguda" #, c-format msgid "%d has declined the file %s" @@ -8931,9 +8875,9 @@ msgid "Error loading SILC key pair" msgstr "S'ha produït un error en carregar el parell de claus claus SILC" -#, fuzzy, c-format +#, c-format msgid "Download %s: %s" -msgstr "Usuaris a %s: %s" +msgstr "Baixada %s: %s" msgid "Your Current Mood" msgstr "El vostre estat d'ànim actual" @@ -9195,7 +9139,8 @@ msgid "Private Key file" msgstr "Fitxer de la clau privada" -# FIXME +# El recull diu "xifra", però aquí no es refereix a una xifra sinó a un +# mètode de xifratge msgid "Cipher" msgstr "Codi" @@ -9779,9 +9724,8 @@ msgid "doodle: Request user to start a Doodle session" msgstr "doodle: fa una petició a l'usuari per iniciar una sessió Doodle" -#, fuzzy msgid "Yahoo ID..." -msgstr "ID de Yahoo!" +msgstr "ID de Yahoo..." #. *< type #. *< ui_requirement @@ -9891,16 +9835,9 @@ msgid "Last Update" msgstr "Darrera actualització" -#, c-format -msgid "User information for %s unavailable" -msgstr "Dades de l'usuari %s no disponibles" - -msgid "" -"Sorry, this profile seems to be in a language or format that is not " -"supported at this time." -msgstr "" -"Disculpeu, aquest perfil deu estar en una llengua que actualment no està " -"implementada." +msgid "" +"This profile is in a language or format that is not supported at this time." +msgstr "Aquest perfil és en una llengua que actualment no està implementada." msgid "" "Could not retrieve the user's profile. This most likely is a temporary " @@ -10153,11 +10090,11 @@ #, c-format msgid "Requesting %s's attention..." -msgstr "S'està cridant l'atenció de %s..." +msgstr "S'està reclamant l'atenció de %s..." #, c-format msgid "%s has requested your attention!" -msgstr "%s us ha cridat l'atenció!" +msgstr "%s us ha demanat l'atenció!" #. * #. * A wrapper for purple_request_action() that uses @c Yes and @c No buttons. @@ -10203,21 +10140,18 @@ msgstr "Voleu acceptar la invitació al xat?" #. Shortcut -#, fuzzy msgid "Shortcut" -msgstr "Ordena" - -#, fuzzy +msgstr "Drecera" + msgid "The text-shortcut for the smiley" -msgstr "Tema de la drecera de text de GTK+" +msgstr "La drecera de text per a l'emoticona" #. Stored Image -#, fuzzy msgid "Stored Image" -msgstr "Desa imatge" +msgstr "Imatge desada" msgid "Stored Image. (that'll have to do for now)" -msgstr "" +msgstr "Imatge desada. (de moment hem de passar amb això)" msgid "SSL Connection Failed" msgstr "No s'ha pogut connectar amb SSL" @@ -10347,9 +10281,11 @@ msgid "Unable to connect to %s" msgstr "No s'ha pogut connectar a %s" -#, fuzzy, c-format +#, c-format msgid "Error reading from %s: response too long (%d bytes limit)" -msgstr "S'ha produït un error en llegir de %s: %s" +msgstr "" +"S'ha produït un error en llegir de %s: la resposta és massa llarga (%d bytes " +"de límit)" #, c-format msgid "" @@ -10400,9 +10336,9 @@ msgstr "S'ha refusat la connexió." #. 10048 -#, fuzzy, c-format +#, c-format msgid "Address already in use." -msgstr "Aquest nom de xat ja existeix" +msgstr "Aquesta adreça ja s'està fent servir" msgid "Internet Messenger" msgstr "Missatger d'Internet" @@ -10511,9 +10447,8 @@ msgid "_Basic" msgstr "_Bàsic" -#, fuzzy msgid "Create _this new account on the server" -msgstr "Crea aquest compte nou al servidor" +msgstr "Crea _aquest compte nou al servidor" msgid "_Advanced" msgstr "_Avançat" @@ -10524,7 +10459,7 @@ msgid "Protocol" msgstr "Protocol" -#, fuzzy, c-format +#, c-format msgid "" "Welcome to %s!\n" "\n" @@ -10539,12 +10474,12 @@ "Benvingut al %s!\n" "\n" "No teniu cap compte de MI configurat. Per a connectar-vos amb el %s premeu " -"el botó Afegeix de sota, i configureu el vostre primer compte. Si " -"voleu que el %s es connecti amb més comptes de MI, torneu a prémer " -"Afegeix fins a configurar-los tots.\n" +"el botó Afegeix d'aquí sota, i configureu el vostre primer compte. Si " +"voleu que el %s es connecti amb més comptes de missatgeria instantània (MI), " +"torneu a prémer Afegeix fins a configurar-los tots.\n" "\n" "Podeu tornar a aquesta finestra per afegir, editar o suprimir comptes, a " -"partir del menú Comptes->Afegeix/Edita de la finestra de la llista " +"partir del menú Comptes->Gestiona els comptes a finestra de la llista " "d'amics." #, c-format @@ -10613,9 +10548,8 @@ msgid "_Remove" msgstr "Sup_rimeix" -#, fuzzy msgid "Set Custom Icon" -msgstr "Estableix una icona personalitzada..." +msgstr "Estableix una icona personalitzada" msgid "Remove Custom Icon" msgstr "Suprimeix la icona personalitzada" @@ -10717,9 +10651,8 @@ msgid "/_Accounts" msgstr "/_Comptes" -#, fuzzy msgid "/Accounts/Manage Accounts" -msgstr "/Comptes/Gestió" +msgstr "/Comptes/Gestió de comptes" # Accelerador a la "n" com en la resta de programes #. Tools @@ -10736,14 +10669,13 @@ msgstr "/Eines/_Connectors" msgid "/Tools/Pr_eferences" -msgstr "/Eines/Pr_eferències" +msgstr "/Eines/Preferè_ncies" msgid "/Tools/Pr_ivacy" msgstr "/Eines/_Privadesa" -#, fuzzy msgid "/Tools/Smile_y" -msgstr "/Eines/_Absent" +msgstr "/Eines/Em_oticona" msgid "/Tools/_File Transfers" msgstr "/Eines/Transferència de _fitxers" @@ -10904,7 +10836,7 @@ msgstr "/Comptes" #. Translators: Please maintain the use of -> and <- to refer to menu heirarchy -#, fuzzy, c-format +#, c-format msgid "" "Welcome to %s!\n" "\n" @@ -10915,9 +10847,9 @@ "Benvingut al %s!\n" "\n" "No teniu cap compte habilitat. Podeu habilitar comptes de MI des del menú " -"Comptes->Gestió de la finestra de Comptes. Quan hagueu " -"habilitat algun compte, podreu connectar-vos, establir el vostre estat, i " -"parlar amb amics." +"Comptes->Gestió de comptes de la finestra de Comptes. Quan " +"hagueu habilitat algun compte podreu connectar-vos-hi, establir el vostre " +"estat, i parlar amb amics." #. set the Show Offline Buddies option. must be done #. * after the treeview or faceprint gets mad. -Robot101 @@ -10970,9 +10902,8 @@ msgid "Auto_join when account becomes online." msgstr "Entra _automàticament quant el compte estigui connectat." -#, fuzzy msgid "_Remain in chat after window is closed." -msgstr "_Oculta el xat quan la finestra es tanqui." +msgstr "_Continua al xat quan la finestra es tanqui." msgid "Please enter the name of the group to be added." msgstr "Introduïu el nom del grup que vulgueu afegir." @@ -11348,23 +11279,22 @@ msgid "Fatal Error" msgstr "Error fatal" +# Fixme msgid "bug master" -msgstr "" - -#, fuzzy +msgstr "bug master" + msgid "artist" -msgstr "Artista" +msgstr "artista" #. feel free to not translate this msgid "Ka-Hing Cheung" -msgstr "" +msgstr "Ka-Hing Cheung" msgid "support" msgstr "suport" -#, fuzzy msgid "webmaster" -msgstr "desenvolupador i mantenidor de la pàgina web" +msgstr "administrador del web" msgid "Senior Contributor/QA" msgstr "Col·laborador veterà/CQ" @@ -11387,7 +11317,7 @@ msgstr "suport/CQ" msgid "XMPP" -msgstr "" +msgstr "XMPP" msgid "original author" msgstr "autor original" @@ -11466,9 +11396,8 @@ msgid "French" msgstr "Francès" -#, fuzzy msgid "Irish" -msgstr "Kurd" +msgstr "Irlandès" msgid "Galician" msgstr "Gallec" @@ -11537,7 +11466,7 @@ msgstr "Noruec (Nynorsk)" msgid "Occitan" -msgstr "" +msgstr "Occità" msgid "Punjabi" msgstr "Punjabi" @@ -11779,45 +11708,35 @@ msgid "Right-click for more unread messages...\n" msgstr "Feu clic amb el botó principal per a més missatges per llegir...\n" -#, fuzzy msgid "_Change Status" -msgstr "Canvia d'estat" - -#, fuzzy +msgstr "_Canvia d'estat" + msgid "Show Buddy _List" -msgstr "Mostra la llista d'amics" - -#, fuzzy +msgstr "Mostra la _llista d'amics" + msgid "_Unread Messages" -msgstr "Missatges sense llegir" - -#, fuzzy +msgstr "Missatges _sense llegir" + msgid "New _Message..." -msgstr "Missatge nou..." - -#, fuzzy +msgstr "_Missatge nou..." + msgid "_Accounts" -msgstr "/_Comptes" - -#, fuzzy +msgstr "_Comptes" + msgid "Plu_gins" -msgstr "Connectors" - -#, fuzzy +msgstr "Co_nnectors" + msgid "Pr_eferences" -msgstr "Preferències" - -#, fuzzy +msgstr "Pr_eferències" + msgid "Mute _Sounds" -msgstr "Inhabilita els sons" - -#, fuzzy +msgstr "Inhabilita els _sons" + msgid "_Blink on New Message" -msgstr "Parpelleja si hi ha missatges nous" - -#, fuzzy +msgstr "_Parpelleja si hi ha missatges nous" + msgid "_Quit" -msgstr "Surt" +msgstr "_Surt" msgid "Not started" msgstr "No s'ha iniciat" @@ -11900,14 +11819,13 @@ msgid "Color to draw hyperlinks." msgstr "El color amb què pintar els enllaços." -#, fuzzy msgid "Hyperlink visited color" -msgstr "Color dels enllaços" - -#, fuzzy +msgstr "Color dels enllaços visitats" + msgid "Color to draw hyperlinks after it has been visited (or activated)." msgstr "" -"El color amb què es pintaran els enllaços quan el ratolí hi estigui a sobre." +"El color amb el qual es pintaran els enllaços que ja s'hagin visitat (o " +"activat)." # FIXME: prelight? (josep) msgid "Hyperlink prelight color" @@ -11943,13 +11861,11 @@ msgid "Color to draw the name of an action message." msgstr "Color amb el qual es pintaran els missatges d'acció." -#, fuzzy msgid "Action Message Name Color for Whispered Message" -msgstr "Nom del color dels missatges d'acció" - -#, fuzzy +msgstr "Color del nom del missatge d'acció per a missatges xiuxiuejats" + msgid "Whisper Message Name Color" -msgstr "Nom del color per als missatges enviats" +msgstr "Color dels missatges xiuxiuejats enviats" msgid "Typing notification color" msgstr "Color per a les notificacions de quan s'escriu" @@ -12025,9 +11941,9 @@ msgid "_Save Image..." msgstr "_Desa la imatge..." -#, fuzzy, c-format +#, c-format msgid "_Add Custom Smiley..." -msgstr "Mostra emoticones personalitzades" +msgstr "_Afegeix una emoticones personalitzada..." msgid "Select Font" msgstr "Selecciona el tipus de lletra" @@ -12072,13 +11988,15 @@ "This smiley is disabled because a custom smiley exists for this shortcut:\n" " %s" msgstr "" +"Aquesta emoticona està inhabilitada perquè hi ha una emoticona " +"personalitzada per aquesta drecera:\n" +" %s" msgid "Smile!" msgstr "Somrieu!" -#, fuzzy msgid "_Manage custom smileys" -msgstr "Mostra emoticones personalitzades" +msgstr "_Gestiona les emoticones personalitzades" msgid "This theme has no available smileys." msgstr "Aquest tema no disposa d'emoticones." @@ -12290,7 +12208,7 @@ " -v, --version mostra la versió actual i surt\n" # FIXME: backtrace -> traça (bug-buddy) ? -#, fuzzy, c-format +#, c-format msgid "" "%s %s has segfaulted and attempted to dump a core file.\n" "This is a bug in the software and has happened through\n" @@ -12311,17 +12229,12 @@ "\n" "Si podeu reproduir aquest error, feu-ho saber als desenvolupadors,\n" "enviant-los un error de programació a:\n" -"%ssimpleticket\n" +"%ssimpleticket/\n" "\n" "Assegureu-vos que indiqueu el que estàveu fent, i envieu una traça\n" "(backtrace) del fitxer core. Si no sabeu com obtenir una traça,\n" "llegiu les instruccions que hi ha a:\n" "%swiki/GetABacktrace\n" -"\n" -"Si necessiteu ajuda, envieu un missatge instantani a SeanEgn o\n" -"bé a LSchiere (per AIM). La informació per a contactar en Sean o\n" -"en Luke a través d'altres protocols és aquí:\n" -"%swiki/DeveloperPages\n" #. Translators may want to transliterate the name. #. It is not to be translated. @@ -12329,7 +12242,7 @@ msgstr "Pidgin" msgid "Open All Messages" -msgstr "Obre els _missatges" +msgstr "Obre tots els missatges" msgid "You have mail!" msgstr "Teniu correu electrònic." @@ -12360,8 +12273,7 @@ msgid "" "The 'Manual' browser command has been chosen, but no command has been set." msgstr "" -"S'ha triat l'ordre per al navegador 'manualment', però no se n'ha indicat " -"cap." +"S'ha triat l'ordre per al navegador «manualment», però no se n'ha indicat cap." msgid "The following plugins will be unloaded." msgstr "Es descarregaran els connectors següents." @@ -12794,31 +12706,26 @@ "Ordre per al so\n" "(%s per al nom de fitxer)" -#, fuzzy msgid "M_ute sounds" -msgstr "Inhabilita els sons" +msgstr "In_habilita els sons" msgid "Sounds when conversation has _focus" msgstr "Sons quan la conversa tingui el _focus" -#, fuzzy msgid "_Enable sounds:" -msgstr "Habilita els sons:" - -#, fuzzy +msgstr "_Habilita els sons:" + msgid "V_olume:" -msgstr "Volum:" +msgstr "V_olum:" msgid "Play" msgstr "Reprodueix" -#, fuzzy msgid "_Browse..." msgstr "Nav_ega..." -#, fuzzy msgid "_Reset" -msgstr "Reinicia" +msgstr "_Reinicia" msgid "_Report idle time:" msgstr "Informa del _temps d'inactivitat:" @@ -12990,61 +12897,52 @@ msgid "Status for %s" msgstr "Estat per a %s" -#, fuzzy msgid "Custom Smiley" -msgstr "Insereix una emoticona" +msgstr "Emoticona personalitzada" msgid "More Data needed" -msgstr "" +msgstr "Calen més dades" msgid "Please provide a shortcut to associate with the smiley." -msgstr "" - -#, fuzzy +msgstr "Especifiqueu una drecera associada a l'emoticona." + msgid "Duplicate Shortcut" -msgstr "Duplicació de la correcció" +msgstr "Drecera duplicada" msgid "" "A custom smiley for the selected shortcut already exists. Please specify a " "different shortcut." msgstr "" - -#, fuzzy +"Hi ha una emoticona personalitzada per la drecera que heu seleccionat. " +"Indiqueu-ne una de diferent." + msgid "Please select an image for the smiley." -msgstr "Seleccioneu l'estat d'ànim de la llista." - -#, fuzzy +msgstr "Seleccioneu una imatge per a l'emoticona." + msgid "Edit Smiley" -msgstr "Insereix una emoticona" - -#, fuzzy +msgstr "Edita l'emoticona" + msgid "Add Smiley" -msgstr "_Emoticona" - -#, fuzzy +msgstr "Afegeix una emoticona" + msgid "Smiley _Image" -msgstr "Desa imatge" +msgstr "_Imatge de l'emoticona" #. Smiley shortcut -#, fuzzy msgid "Smiley S_hortcut" -msgstr "Dreceres de teclat" - -#, fuzzy +msgstr "_Dreceres de l'emoticona" + msgid "Smiley" -msgstr "_Emoticona" - -#, fuzzy +msgstr "Emoticona" + msgid "Custom Smiley Manager" -msgstr "Gestor de certificats" - -#, fuzzy +msgstr "Gestor d'emoticones personalitzades" + msgid "Click to change your buddyicon for this account." -msgstr "Utilitza aquesta _icona d'amic per a aquest compte:" - -#, fuzzy +msgstr "Feu clic per canviar la icona d'amic d'aquest compte." + msgid "Click to change your buddyicon for all accounts." -msgstr "Utilitza aquesta _icona d'amic per a aquest compte:" +msgstr "Feu clic per canviar la icona d'amic de tots els comptes." msgid "Waiting for network connection" msgstr "S'està esperant la connexió de xarxa" @@ -13182,20 +13080,17 @@ msgid "_Invite" msgstr "Conv_ida" -#, fuzzy msgid "_Modify..." -msgstr "_Modifica" - -#, fuzzy +msgstr "_Modifica..." + msgid "_Add..." -msgstr "_Afegeix" +msgstr "_Afegeix..." msgid "_Open Mail" msgstr "_Obre el correu" -#, fuzzy msgid "_Edit" -msgstr "Edita" +msgstr "_Edita" msgid "Pidgin Tooltip" msgstr "Indicador de funció del Pidgin" @@ -13214,12 +13109,11 @@ msgid "none" msgstr "cap" -#, fuzzy msgid "Small" -msgstr "Correu electrònic" +msgstr "Petites" msgid "Smaller versions of the default smilies" -msgstr "" +msgstr "Versions més petites de les emoticones per defecte" msgid "Response Probability:" msgstr "Probabilitat de resposta:" @@ -13693,9 +13587,9 @@ msgid "Set window manager \"_URGENT\" hint" msgstr "Aplica l'opció «_URGENT» del gestor de finestres" -#, fuzzy +# (gnome) msgid "_Flash window" -msgstr "Finestres de _xat" +msgstr "Finestres _flash" #. Raise window method button msgid "R_aise conversation window" @@ -13783,9 +13677,8 @@ msgid "Hyperlink Color" msgstr "Color dels hiperenllaços" -#, fuzzy msgid "Visited Hyperlink Color" -msgstr "Color dels hiperenllaços" +msgstr "Color dels enllaços visitats" msgid "Highlighted Message Name Color" msgstr "Nom del color per als missatges ressaltats" @@ -13880,18 +13773,16 @@ #, c-format msgid "You can upgrade to %s %s today." -msgstr "" +msgstr "Podeu actualitzar-vos a %s %s avui." msgid "New Version Available" msgstr "Nova versió disponible" -#, fuzzy msgid "Later" -msgstr "Data" - -#, fuzzy +msgstr "Més tard" + msgid "Download Now" -msgstr "Usuaris a %s: %s" +msgstr "Baixa-la ara" #. *< type #. *< ui_requirement @@ -14190,24 +14081,64 @@ # FIXME: stanza -> estrofa (literal) (Josep) msgid "Insert an stanza." -msgstr "Insereix una estrofa " +msgstr "Insereix un bloc ." msgid "Insert a stanza." -msgstr "Insereix una estrofa " +msgstr "Insereix un bloc ." msgid "Insert a stanza." -msgstr "Insereix una estrofa " +msgstr "Insereix un bloc ." #. *< name #. *< version #. * summary msgid "Send and receive raw XMPP stanzas." -msgstr "Envia i rep estrofes XMPP en brut." +msgstr "Envia i rep blocs XMPP en brut." #. * description msgid "This plugin is useful for debbuging XMPP servers or clients." msgstr "Aquest connector és útil per a depurar servidors i clients XMPP." +#~ msgid "Connection to server lost (no data received within %d second)" +#~ msgid_plural "" +#~ "Connection to server lost (no data received within %d seconds)" +#~ msgstr[0] "" +#~ "S'ha perdut la connexió al servidor (fa %d segon que no s'hi reben dades)" +#~ msgstr[1] "" +#~ "S'ha perdut la connexió al servidor (fa %d segons que no s'hi reben dades)" + +#~ msgid "Keep alive error" +#~ msgstr "Error de permanència" + +#~ msgid "" +#~ "Lost connection with server:\n" +#~ "%d, %s" +#~ msgstr "" +#~ "S'ha perdut la connexió amb el servidor:\n" +#~ "%d, %s" + +#~ msgid "Connecting server ..." +#~ msgstr "S'està connectant al servidor..." + +#~ msgid "Failed to send IM." +#~ msgstr "No s'ha pogut enviar la MI." + +#~ msgid "Not a member of room \"%s\"\n" +#~ msgstr "No sou un membre de la sala «%s»\n" + +#~ msgid "User information for %s unavailable" +#~ msgstr "Dades de l'usuari %s no disponibles" + +#~ msgid "" +#~ "You are using %s version %s. The current version is %s. You can get it " +#~ "from %s


" +#~ msgstr "" +#~ "Esteu emprant la versió %s del %s. La versió actual és %s, la podeu " +#~ "obtenir de %s
" + +#~ msgid "ChangeLog:
%s" +#~ msgstr "Registre de canvis:
%s" + #~ msgid "A group with the name already exists." #~ msgstr "Ja existeix un grup amb aquest nom." @@ -14217,13 +14148,8 @@ #~ msgid "Blood Type" #~ msgstr "Tipus de sang" -#, fuzzy #~ msgid "Update information" -#~ msgstr "Actualitza la meva informació" - -#, fuzzy -#~ msgid "Successed:" -#~ msgstr "Velocitat:" +#~ msgstr "Actualitza la informació" #~ msgid "" #~ "Setting custom faces is not currently supported. Please choose an image " @@ -14244,14 +14170,6 @@ #~ msgid "Add buddy with auth request failed" #~ msgstr "Ha fallat la sol·licitut per afegir un amic amb autorització" -#, fuzzy -#~ msgid "Add into %d's buddy list" -#~ msgstr "No s'ha pogut carregar la llista d'amics" - -#, fuzzy -#~ msgid "QQ Number Error" -#~ msgstr "Número QQ" - #~ msgid "Group Description" #~ msgstr "Descripció del grup" @@ -14261,26 +14179,12 @@ #~ msgid "Approve" #~ msgstr "Aprova" -#, fuzzy -#~ msgid "Successed to join Qun %d, operated by admin %d" -#~ msgstr "" -#~ "L'administrador %2$d ha rebutjat la vostra sol·liciut per entrar al grup %" -#~ "1$d" - -#, fuzzy -#~ msgid "[%d] removed from Qun \"%d\"" -#~ msgstr "Vós [%d] heu sortit del grup «%d»" - -#, fuzzy -#~ msgid "[%d] added to Qun \"%d\"" -#~ msgstr "Vós [%d] heu estat afegit al grup «%d»" - #~ msgid "I am a member" #~ msgstr "En sóc membre" -#, fuzzy +# FIXME? (hi demano [entrar]?) #~ msgid "I am requesting" -#~ msgstr "Sol·licitud incorrecta" +#~ msgstr "Demano" #~ msgid "I am the admin" #~ msgstr "En sóc l'administrador" @@ -14288,10 +14192,6 @@ #~ msgid "Unknown status" #~ msgstr "Estat desconegut" -#, fuzzy -#~ msgid "Remove from Qun" -#~ msgstr "Suprimeix el grup" - #~ msgid "You entered a group ID outside the acceptable range" #~ msgstr "Heu entrat un identificador de grup fora del rang" @@ -14301,24 +14201,6 @@ #~ msgid "Do you want to approve the request?" #~ msgstr "Voleu aprovar aquesta sol·licitud?" -#, fuzzy -#~ msgid "Change Qun member" -#~ msgstr "Número de telèfon" - -#, fuzzy -#~ msgid "Change Qun information" -#~ msgstr "Informació del canal" - -# Gnome_2.6_Extras [rhythmbox.HEAD.ca.po] -#, fuzzy -#~ msgid "" -#~ "%s\n" -#~ "\n" -#~ "%s" -#~ msgstr "" -#~ "%s:\n" -#~ "%s" - #~ msgid "System Message" #~ msgstr "Missatge del sistema" @@ -14331,64 +14213,47 @@ #~ msgid "Set My Information" #~ msgstr "Estableix la meva informació" -#, fuzzy -#~ msgid "Leave the QQ Qun" -#~ msgstr "Surt d'aquest Qun QQ" - #~ msgid "Block this buddy" #~ msgstr "Bloca aquest usuari" -#, fuzzy #~ msgid "Error password: %s" -#~ msgstr "S'ha produït un error en canviar la contrasenya" - -#, fuzzy +#~ msgstr "Error en la contrasenya: %s" + #~ msgid "Failed to connect all servers" -#~ msgstr "No s'ha pogut connectar al servidor." - -#, fuzzy +#~ msgstr "No s'han pogut connectar tots els servidors" + #~ msgid "Connecting server %s, retries %d" -#~ msgstr "" -#~ "S'ha produït un error de connexió del servidor %s:\n" -#~ "%s" - -#, fuzzy +#~ msgstr "S'està connectant al servidor %s, %d reintents" + #~ msgid "Do you approve the requestion?" #~ msgstr "Voleu aprovar aquesta sol·licitud?" -#, fuzzy #~ msgid "Do you add the buddy?" #~ msgstr "Voleu afegir aquest amic?" -#, fuzzy #~ msgid "%s added you [%s] to buddy list" #~ msgstr "%s us ha afegit [%s] a la seva llista d'amics" -#, fuzzy #~ msgid "QQ Budy" -#~ msgstr "Amic" +#~ msgstr "Amic QQ" + +#~ msgid "Requestion approved by %s" +#~ msgstr "%s ha aprovat la sol.licitud" #~ msgid "%s wants to add you [%s] as a friend" #~ msgstr "%s us vol afegir [%s] com a amic" -#, fuzzy #~ msgid "%s is not in buddy list" #~ msgstr "%s no és a la vostra llista d'amics" -#, fuzzy #~ msgid "Would you add?" #~ msgstr "Voleu afegir-lo?" #~ msgid "%s" #~ msgstr "%s" -#, fuzzy -#~ msgid "QQ Server Notice" -#~ msgstr "Port en el servidor" - -#, fuzzy #~ msgid "Network disconnected" -#~ msgstr "El remot s'ha desconnectat" +#~ msgstr "La xarxa s'ha desconnectat" #~ msgid "developer" #~ msgstr "desenvolupador" @@ -14399,33 +14264,6 @@ #~ msgid "Artists" #~ msgstr "Artistes" -#~ msgid "" -#~ "You are using %s version %s. The current version is %s. You can get it " -#~ "from %s
" -#~ msgstr "" -#~ "Esteu emprant la versió %s del %s. La versió actual és %s, la podeu " -#~ "obtenir de %s
" - -#~ msgid "ChangeLog:
%s" -#~ msgstr "Registre de canvis:
%s" - -#~ msgid "EOF while reading from resolver process" -#~ msgstr "" -#~ "S'ha arribat al final del fitxer (EOF) en llegir del procés resoledor" - -#~ msgid "Error setting socket options" -#~ msgstr "S'ha produït un error en establir les opcions del sòcol" - -#~ msgid "" -#~ "Windows Live ID authentication: cannot find authenticate token in server " -#~ "response" -#~ msgstr "" -#~ "Autenticació amb el Windows Live ID: no s'ha pogut trobar el testimoni " -#~ "d'autenticació al servidor" - -#~ msgid "Windows Live ID authentication Failed" -#~ msgstr "No s'ha pogut autenticar amb el Windows Live ID" - #~ msgid "Too evil (sender)" #~ msgstr "Massa malvat (remitent)" @@ -14441,86 +14279,6 @@ #~ msgid "(retrieving)" #~ msgstr "(s'està recuperant)" -#~ msgid "Your information has been updated" -#~ msgstr "S'ha actualitzat la vostra informació" - -#~ msgid "Input your reason:" -#~ msgstr "Indiqueu-ne el motiu:" - -#~ msgid "You have successfully removed a buddy" -#~ msgstr "Heu suprimit amb èxit un amic" - -#~ msgid "You have successfully removed yourself from your friend's buddy list" -#~ msgstr "Us heu suprimit amb èxit de la llista d'amics del vostre amic" - -#~ msgid "You have added %d to buddy list" -#~ msgstr "Heu afegit %d a la llista d'amics" - -#~ msgid "Invalid QQid" -#~ msgstr "QQid invàlid" - -#~ msgid "Please enter external group ID" -#~ msgstr "Introduïu l'ID del grup extern" - -#~ msgid "Reason: %s" -#~ msgstr "Motiu: %s" - -#~ msgid "Your request to join group %d has been approved by admin %d" -#~ msgstr "" -#~ "L'administrador %2$d ha aprovat la vostra sol·liciud per entrar al grup %1" -#~ "$d" - -#~ msgid "This group has been added to your buddy list" -#~ msgstr "S'ha afegit aquest grup a la vostra llista d'amics" - -#~ msgid "I am applying to join" -#~ msgstr "Estic sol·licitant entrar-hi" - -#~ msgid "You have successfully left the group" -#~ msgstr "Heu sortit del grup correctament" - -#~ msgid "QQ Group Auth" -#~ msgstr "Autorització de grup QQ" - -#~ msgid "Your authorization request has been accepted by the QQ server" -#~ msgstr "El servidor QQ ha acceptat la sol·licitud d'autorització" - -#~ msgid "Code [0x%02X]: %s" -#~ msgstr "Codi [0x%02X]: %s" - -#~ msgid "Group Operation Error" -#~ msgstr "S'ha produït un error d'orientació del grup" - -#~ msgid "Enter your reason:" -#~ msgstr "Indiqueu-ne el motiu:" - -#~ msgid "Error requesting login token" -#~ msgstr "S'ha produït un error en sol·licitar un testimoni d'entrada" - -#~ msgid "Unable to login. Check debug log." -#~ msgstr "No s'ha pogut connectar, comproveu el registre de depuració." - -#~ msgid "Unable to login" -#~ msgstr "No s'ha connectar" - -#~ msgid "TCP Address" -#~ msgstr "Adreça TCP" - -#~ msgid "UDP Address" -#~ msgstr "Adreça UDP" - -#~ msgid "Show Login Information" -#~ msgstr "Mostra informació de la connexió" - -#~ msgid "Login failed, no reply" -#~ msgstr "Ha fallat l'entrada, no s'ha obtingut resposta" - -#~ msgid "User %s rejected your request" -#~ msgstr "L'usuari %s ha declinat la vostra sol·licitud" - -#~ msgid "User %s approved your request" -#~ msgstr "L'usuari %s ha acceptat la vostra sol·licitud" - #~ msgid "Screen name:" #~ msgstr "Nom d'usuari:" @@ -15521,6 +15279,9 @@ #~ msgid "Reject Call" #~ msgstr "Rebutja la trucada" +#~ msgid "Connected to %s" +#~ msgstr "S'ha connectat a %s" + #~ msgid "_Mute" #~ msgstr "_Silencia" @@ -15941,9 +15702,6 @@ #~ msgid "Away title: " #~ msgstr "Motiu de l'absència: " -#~ msgid "Buddy List Error" -#~ msgstr "Error en la llista d'amics" - #~ msgid "" #~ "\n" #~ "Mark all accounts as \"away\" with the default message.\n" diff -r be87547aa431 -r ca01403251f1 po/de.po --- a/po/de.po Sat Dec 13 21:13:04 2008 +0000 +++ b/po/de.po Fri Jan 02 21:47:52 2009 +0000 @@ -7,14 +7,13 @@ # # This file is distributed under the same license as the Pidgin package. # -# Jochen Kemnade , 2008. msgid "" msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-12-12 17:46+0100\n" -"PO-Revision-Date: 2008-12-12 17:42+0100\n" -"Last-Translator: Jochen Kemnade \n" +"POT-Creation-Date: 2008-12-14 22:58+0100\n" +"PO-Revision-Date: 2008-12-14 22:58+0100\n" +"Last-Translator: Björn Voigt \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -4311,7 +4310,7 @@ msgstr "Server überlastet" msgid "Service Unavailable" -msgstr "Dienst nicht erreichbar" +msgstr "Dienst nicht verfügbar" msgid "Subscription Required" msgstr "Abonnement erforderlich" @@ -4691,7 +4690,7 @@ msgstr "Kann „%s“ nicht hinzufügen." msgid "Buddy Add error" -msgstr "" +msgstr "Fehler beim Hinzufügen des Buddys" msgid "The username specified does not exist." msgstr "Der angegebene Benutzername existiert nicht." @@ -4964,11 +4963,10 @@ msgstr "Nachricht" msgid "Playing a game" -msgstr "" - -#, fuzzy +msgstr "Spielt ein Spiel" + msgid "Working" -msgstr "Geschäftlich" +msgstr "Arbeitet" msgid "Has you" msgstr "Hat Sie" @@ -5006,9 +5004,8 @@ msgid "Album" msgstr "Album" -#, fuzzy msgid "Game Title" -msgstr "Titel anpassen" +msgstr "Spieltitel" #, fuzzy msgid "Office Title" @@ -7184,7 +7181,7 @@ msgstr "Sichtbar" msgid "Friend Only" -msgstr "" +msgstr "Nur Freund" msgid "Private" msgstr "Privat" @@ -7204,9 +7201,8 @@ msgid "Phone Number" msgstr "Telefonnummer" -#, fuzzy msgid "Authorize adding" -msgstr "Buddy autorisieren?" +msgstr "Hinzufügen autorisieren?" msgid "Cellphone Number" msgstr "Handy-Telefonnummer" @@ -7221,9 +7217,8 @@ msgid "Publish Mobile" msgstr "Handy (privat)" -#, fuzzy msgid "Publish Contact" -msgstr "Kontakt-Alias" +msgstr "Kontakt veröffentlichen" msgid "College" msgstr "College" @@ -7238,13 +7233,11 @@ msgid "Blood" msgstr "Blockiert" -#, fuzzy msgid "True" -msgstr "Stier" - -#, fuzzy +msgstr "Wahr" + msgid "False" -msgstr "Gescheitert" +msgstr "Falsch" msgid "Modify Contact" msgstr "Kontakt bearbeiten" @@ -7268,9 +7261,8 @@ msgid "%u requires verification" msgstr "%u erfordert Autorisierung" -#, fuzzy msgid "Add buddy question" -msgstr "Benutzer zu Ihrer Buddy-Liste hinzufügen?" +msgstr "Buddy-Frage hinzufügen" msgid "Enter answer here" msgstr "Antwort hier eingeben" @@ -7279,22 +7271,20 @@ msgstr "Senden" msgid "Invalid answer." -msgstr "Ungültige Antwort" +msgstr "Ungültige Antwort." msgid "Authorization denied message:" msgstr "Nachricht für die Ablehnung der Autorisierung:" -#, fuzzy msgid "Sorry, you're not my style." -msgstr "Tut mir Leid, du bist nicht mein Typ..." +msgstr "Tut mir Leid, du bist nicht mein Typ." #, c-format msgid "%u needs authorization" msgstr "%u benötigt Authorisierung" -#, fuzzy msgid "Add buddy authorize" -msgstr "Benutzer zu Ihrer Buddy-Liste hinzufügen?" +msgstr "Buddy-Autorisierung hinzufügen" msgid "Enter request here" msgstr "Anfrage hier eingeben" @@ -7311,9 +7301,8 @@ msgid "Invalid QQ Number" msgstr "Ungültige QQ-Nummer" -#, fuzzy msgid "Failed sending authorize" -msgstr "Bitte autorisiere mich!" +msgstr "Senden der Autorisierung fehlgeschlagen" #, c-format msgid "Failed removing buddy %u" @@ -7360,24 +7349,20 @@ msgid "(Invalid UTF-8 string)" msgstr "(Ungültige UTF8-Zeichenkette)" -#, fuzzy msgid "Not member" -msgstr "Ich bin kein Mitglied" +msgstr "Kein Mitglied" msgid "Member" msgstr "Mitglied" -#, fuzzy msgid "Requesting" -msgstr "Anfrage-Dialog" - -#, fuzzy +msgstr "Frage an" + msgid "Admin" -msgstr "Adium" - -#, fuzzy +msgstr "Admin" + msgid "Notice" -msgstr "Bemerkung:" +msgstr "Bemerkung" msgid "Detail" msgstr "Detail" @@ -7430,9 +7415,8 @@ "Beachten Sie, dass diese Operation den Qun entfernen könnte, \n" "wenn Sie der Ersteller sind." -#, fuzzy msgid "Sorry, you are not our style" -msgstr "Tut mir Leid, du bist nicht mein Typ..." +msgstr "Tut mir Leid, du bist nicht unser Typ" msgid "Successfully changed Qun members" msgstr "Qun-Mitglieder erfolgreich geändert" @@ -7507,9 +7491,8 @@ msgid "Invalid name" msgstr "QQ: Ungültiger Name" -#, fuzzy msgid "Select icon..." -msgstr "Ordner auswählen..." +msgstr "Icon wählen..." #, fuzzy, c-format msgid "Login time: %d-%d-%d, %d:%d:%d
\n" @@ -7535,9 +7518,9 @@ msgid "Connection Mode: %s
\n" msgstr "Verbindungsmodus: %s
\n" -#, fuzzy, c-format +#, c-format msgid "My Internet IP: %s:%d
\n" -msgstr "Meine Internet-Adresse: %s
\n" +msgstr "Meine Internet-IP: %s:%d
\n" #, c-format msgid "Sent: %lu
\n" @@ -7559,9 +7542,9 @@ msgid "Received Duplicate: %lu
\n" msgstr "Duplikat empfangen: %lu
\n" -#, fuzzy, c-format +#, c-format msgid "Time: %d-%d-%d, %d:%d:%d
\n" -msgstr "Anmeldezeit: %s
\n" +msgstr "Zeit: %d-%d-%d, %d:%d:%d
\n" #, c-format msgid "IP: %s
\n" @@ -7673,49 +7656,45 @@ msgid "Activation required" msgstr "Aktivierung erforderlich" -#, fuzzy, c-format +#, c-format msgid "Unknown reply code when logging in (0x%02X)" -msgstr "Anmeldung nicht möglich, unbekannter Antwort-Code 0x%02X" +msgstr "Unbekannte Antwort bei der Anmeldung (0x%02X)" msgid "Could not decrypt server reply" msgstr "Konnte die Antwort des Servers nicht entschlüsseln" -#, fuzzy msgid "Requesting captcha" -msgstr "Bitte um %ss Aufmerksamkeit..." - -#, fuzzy +msgstr "Captcha anfordern" + msgid "Checking captcha" -msgstr "Bitte um %ss Aufmerksamkeit..." - -#, fuzzy +msgstr "Captcha überprüfen" + msgid "Failed captcha verification" -msgstr "Yahoo-Authentifizierung fehlgeschlagen" - -#, fuzzy +msgstr "Captcha-Überprüfung fehlgeschlagen" + msgid "Captcha Image" -msgstr "Bild speichern" - -#, fuzzy +msgstr "Captcha-Bild" + msgid "Enter code" -msgstr "Geben Sie ein Passwort ein" - -#, fuzzy +msgstr "Geben Sie den Code ein" + msgid "QQ Captcha Verification" -msgstr "SSL-Zertifikatsüberprüfung" +msgstr "QQ-Captcha-Überprüfung" msgid "Enter the text from the image" msgstr "Bitte geben Sie den Text aus dem Bild ein" -#, fuzzy, c-format +#, c-format msgid "Unknown reply when checking password (0x%02X)" -msgstr "Anmeldung nicht möglich, unbekannter Antwort-Code 0x%02X" - -#, fuzzy, c-format +msgstr "Unbekannte Antwort bei Überprüfungen des Passwortes (0x%02X)" + +#, c-format msgid "" "Unknown reply code when logging in (0x%02X):\n" "%s" -msgstr "Anmeldung nicht möglich, unbekannter Antwort-Code 0x%02X" +msgstr "" +"Unbekannte Antwort bei der Anmeldung (0x%02X):\n" +"%s" #. we didn't successfully connect. tdt->toc_fd is valid here msgid "Unable to connect." @@ -7773,22 +7752,24 @@ msgid "From %s:" msgstr "Von %s:" -#, fuzzy, c-format +#, c-format msgid "" "Server notice From %s: \n" "%s" -msgstr "Anleitung vom Server: %s" +msgstr "" +"Servernotiz von %s: \n" +"%s" msgid "Unknown SERVER CMD" msgstr "Unbekanntes SERVER-CMD" -#, fuzzy, c-format +#, c-format msgid "" "Error reply of %s(0x%02X)\n" "Room %u, reply 0x%02X" msgstr "" -"Fehlerantwort %s(0x%02X)\n" -"Raum %d, Antwort 0x%02X" +"Fehlerantwort von %s(0x%02X)\n" +"Raum %u, Antwort 0x%02X" msgid "QQ Qun Command" msgstr "QQ-Qun-Kommando" diff -r be87547aa431 -r ca01403251f1 share/ca-certs/Makefile.am --- a/share/ca-certs/Makefile.am Sat Dec 13 21:13:04 2008 +0000 +++ b/share/ca-certs/Makefile.am Fri Jan 02 21:47:52 2009 +0000 @@ -3,19 +3,27 @@ CAcert_Class3.pem \ Equifax_Secure_CA.pem \ GTE_CyberTrust_Global_Root.pem \ - Microsoft_Internet_Authority.pem \ - Microsoft_Secure_Server_Authority.pem \ StartCom_Free_SSL_CA.pem \ Verisign_RSA_Secure_Server_CA.pem \ Verisign_Class3_Primary_CA.pem \ VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.pem -if INSTALL_SSL_CERTIFICATES +EXTRA_CERTS = \ + Microsoft_Internet_Authority.pem \ + Microsoft_Secure_Server_Authority.pem + + cacertsdir = $(datadir)/purple/ca-certs -cacerts_DATA = $(CERTIFICATES) + +if INSTALL_SSL_CERTIFICATES +cacerts_DATA = \ + $(CERTIFICATES) \ + $(EXTRA_CERTS) +else +cacerts_DATA = $(EXTRA_CERTS) endif EXTRA_DIST = \ Makefile.mingw \ - $(CERTIFICATES) - + $(CERTIFICATES) \ + $(EXTRA_CERTS) diff -r be87547aa431 -r ca01403251f1 share/ca-certs/Microsoft_Internet_Authority.pem --- a/share/ca-certs/Microsoft_Internet_Authority.pem Sat Dec 13 21:13:04 2008 +0000 +++ b/share/ca-certs/Microsoft_Internet_Authority.pem Fri Jan 02 21:47:52 2009 +0000 @@ -1,24 +1,29 @@ ------BEGIN CERTIFICATE----- -MIIECzCCA3SgAwIBAgIEBAAD/jANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQGEwJV -UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU -cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds -b2JhbCBSb290MB4XDTA2MDQxOTE0MzUwMFoXDTA5MDQxOTIzNTkwMFowJzElMCMG -A1UEAxMcTWljcm9zb2Z0IEludGVybmV0IEF1dGhvcml0eTCCASIwDQYJKoZIhvcN -AQEBBQADggEPADCCAQoCggEBALUIbk0YdsTXnGPswqx8d/Ntrsjy8Wau8cKHBGBu -KZwAZe5qW+QOU4gRxiKbM/trspEu1lObU77PVtiZSqFQMkXOYNLhlq1a/eqh68RJ -Jxxev9KWmfppQ388ONqhi8wziHoXc66RUCiqabp751dbmwnnTN6GfIR952Zg+ab1 -wmGL3o7B1efCMCI9LIMKsId16yHiXKbTBHuWnkAe4Qx2BMAgoJQQ21EbTBhyvCfd -EiRdOdYo1OTe2xih4JUPmXf7xPNDjMCrpjEJ8woxgCnH12z7PNPqwrhnFe/6808t -axy4iNgObXcZS3ERcZBA9RFT1z3onQ2E2plkaBPmZQPiZu0CAwEAAaOCAXAwggFs -MEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6Ly93d3cucHVibGljLXRydXN0LmNvbS9j -Z2ktYmluL0NSTC8yMDE4L2NkcC5jcmwwHQYDVR0OBBYEFDNf3Q+3nFzO7ofdcHCL -X33PIry5MFQGA1UdIARNMEswSQYKKoZIhvhjAQIBBTA7MDkGCCsGAQUFBwIBFi1o -dHRwOi8vd3d3LnB1YmxpYy10cnVzdC5jb20vQ1BTL09tbmlSb290Lmh0bWwwgYkG -A1UdIwSBgTB/oXmkdzB1MQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBv -cmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4x -IzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEdsb2JhbCBSb290ggIBpTAOBgNVHQ8B -Af8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBAjANBgkqhkiG9w0BAQUFAAOBgQBj -SQlU7cXbnngZAIOa4zci+1Z2XFTTyOFc/Tfc0qU/xVWPZPBJdx2UVk2yCwmIHFBY -OJSQC+7Kn7GE5nE3rBAyBrnB0oymBcBeD8tT3B4B31jHfnFgsC9UYin9uJN144+e -tbzOegUg4qaNApAaWGre3YY7ALn1y/6XgqIEIEZcCQ== ------END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIFCjCCBHOgAwIBAgIEBycWdTANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQGEwJV +UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU +cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds +b2JhbCBSb290MB4XDTA4MDIxOTE4MjcwMloXDTExMDIxOTE4MjQ1M1owJzElMCMG +A1UEAxMcTWljcm9zb2Z0IEludGVybmV0IEF1dGhvcml0eTCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBAKiloatvDehDG/rQriel2AC9qmSJdvjKb2fmJf30 +K7SaC3zQu8kGQxENUEFsHsH0jmBejJ9vvn9tHZ8hGL+kORvWUVBskdMzP65rC0V0 +VeVgUYzPZ7MvrLfhh9+v3yJ7qRuf1aNgmzJg5t1AA91X+aRrFT4lRzl9BFWhQ1VS +XaD7l6qoiyhD8FbrdLRAe61swsRmzWeXoy6NJpOBsGXaCSG1Jooylro+zkWxt97c +NkNf/wYqoYcIXo02YpFbwreveejW9a0Lh/1z9+e9aiMtC5QnPT57GTqNINt5R0rp +Iz4g3GJhmjXVoVF/tev5DMJuhRgPoz0W0aA3UnSmTWh2RFvgqawLqSRrKUhVjySi +/m5s62uG5xxIftO7/6ljzS061CFoV/RBl/I3WghYp04sr4cSXWa/rL449YhBT8BJ +jltefWCYAOcT1nA4oFXwXbl1qCUIkZ0bqwju2FGW5vl2qh6vmzcQjc3XxD0m2UqC +yJNFa9SUgVXtUCqeOI+KqgLW01tpqZteG10byWKmppTVAvdPwHoGE0bl6wBwXldE +f7Pn4lqu6Yp4bedP3Qv1sfp2H7D98cxSwYRt3UcXN2kjTPv+pby2fEHm9GWf3iE/ +7OtzUI7LYhP7+rGyuCYTtZKH1jDWHrTZBpnAPmrAQQHCI8/4TjF9ZQ1mqRi6x9I9 +9XGfAgMBAAGjggFvMIIBazASBgNVHRMBAf8ECDAGAQH/AgEBMFMGA1UdIARMMEow +SAYJKwYBBAGxPgEAMDswOQYIKwYBBQUHAgEWLWh0dHA6Ly9jeWJlcnRydXN0Lm9t +bmlyb290LmNvbS9yZXBvc2l0b3J5LmNmbTAOBgNVHQ8BAf8EBAMCAYYwgYkGA1Ud +IwSBgTB/oXmkdzB1MQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0 +aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4xIzAh +BgNVBAMTGkdURSBDeWJlclRydXN0IEdsb2JhbCBSb290ggIBpTBFBgNVHR8EPjA8 +MDqgOKA2hjRodHRwOi8vd3d3LnB1YmxpYy10cnVzdC5jb20vY2dpLWJpbi9DUkwv +MjAxOC9jZHAuY3JsMB0GA1UdDgQWBBTG27vA2CAZkvFg/IjxWH+8G06PGjANBgkq +hkiG9w0BAQUFAAOBgQBnSDXCyiqGmHTAEJOtZYVm/IbzGtzCY423NF6/yuccYZkm +spJnDoh8nq3nx3P2KBEyPAqoQ1MEFC+ByQjV4AAQ9dMQALUGNRfHhFUhBeeIybYd +bzvKOxSlIYSwO2T56+oXyDlkbQWKmHec5qzCE0lwGHslsRU/CHwhuFu2nH+CxQ== +-----END CERTIFICATE----- diff -r be87547aa431 -r ca01403251f1 share/ca-certs/Microsoft_Secure_Server_Authority.pem --- a/share/ca-certs/Microsoft_Secure_Server_Authority.pem Sat Dec 13 21:13:04 2008 +0000 +++ b/share/ca-certs/Microsoft_Secure_Server_Authority.pem Fri Jan 02 21:47:52 2009 +0000 @@ -1,30 +1,35 @@ -----BEGIN CERTIFICATE----- -MIIFEzCCA/ugAwIBAgIKYQVOAQADAAAAHDANBgkqhkiG9w0BAQUFADAnMSUwIwYD -VQQDExxNaWNyb3NvZnQgSW50ZXJuZXQgQXV0aG9yaXR5MB4XDTA3MDkyODIyMDYz -N1oXDTA5MDQxOTIzNTkwMFowgYsxEzARBgoJkiaJk/IsZAEZFgNjb20xGTAXBgoJ +MIIGEzCCA/ugAwIBAgIKYRZtLwAEAAAAIDANBgkqhkiG9w0BAQUFADAnMSUwIwYD +VQQDExxNaWNyb3NvZnQgSW50ZXJuZXQgQXV0aG9yaXR5MB4XDTA4MDQwOTIxMzc1 +NFoXDTExMDIxOTE4MjQ1M1owgYsxEzARBgoJkiaJk/IsZAEZFgNjb20xGTAXBgoJ kiaJk/IsZAEZFgltaWNyb3NvZnQxFDASBgoJkiaJk/IsZAEZFgRjb3JwMRcwFQYK CZImiZPyLGQBGRYHcmVkbW9uZDEqMCgGA1UEAxMhTWljcm9zb2Z0IFNlY3VyZSBT ZXJ2ZXIgQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA -xcCphW3RnMyuq1EAwlSsUghQUuCSQAaeFBTro1qbeCJEALHQGrXg8SMnY9Om64WG -PnB9HhOb1LTOdkMVx6a3GU0mcv+LkefcW/CewIMfDXPoeGA4ULmY9wbraPwJY8Ba -H3PAvOVSTJ0k9ZX6tXjE0D/214kn0+ZN+Y+ZwoqFC5/lgQyUxxgfVA0FsR/NDNF6 -keBsoNz2vPghAsruLhkON+5KGQo0o+T+XcJ7xNs7eJR7MWZn2rNCM1J+qrR0o2vG -vz8QBSKogUXiPRXYVkNSkBEFZqGvEob1pDwC5fJEP71J6xEJHsSe0pcaa637RU04 -4BsjRHqJE3Rrlurb6Fc8vQIDAQABo4IB2jCCAdYwEgYDVR0TAQH/BAgwBgEB/wIB -ATAdBgNVHQ4EFgQUmY+l9x6Bb/p5wvAWP7JUsQhoR1UwCwYDVR0PBAQDAgGGMBIG -CSsGAQQBgjcVAQQFAgMEAAQwIwYJKwYBBAGCNxUCBBYEFBOB4Tms57aqAqhuDUms -pmqjrALsMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMB8GA1UdIwQYMBaAFDNf -3Q+3nFzO7ofdcHCLX33PIry5MIGjBgNVHR8EgZswgZgwgZWggZKggY+GNmh0dHA6 -Ly9tc2NybC5taWNyb3NvZnQuY29tL3BraS9tc2NvcnAvY3JsL21zd3d3KDMpLmNy +kYTz6fKXvrdfIr5o3Ue4CRIzhTE+8JE4hrLTQki3emjYn/CfHRPb7hmMiOZmWBdE +DUEymyXOyZ7Sy2tC6WaBC4onVYotPoSsaOZJv6EJeHPk64RiWTfX+XqufRndYOEC +DUmotYQNPV/8InioIBf9+gOSsAMdmyGZF6C1PkJqvPZTRxNv6hxuMMb6uOQIPoFX +/ceQvAOZcJx2qGsAVKsJHylYkC0GgVyFVhOI0vcZZBcP5T+NtOmyjVBWdxS413HL +D+8w+3wG0bOP8EyOeRnuf0KLXGBangte0ZFIRd28GXpo5UrcA/r5000e2RTHmhC4 +8YPMIoi+q9XZoF5R0Z069QIDAQABo4IB2jCCAdYwEgYDVR0TAQH/BAgwBgEB/wIB +ADAdBgNVHQ4EFgQUFFXEOeA9LtFVLkiWsNh+FCIGk7wwCwYDVR0PBAQDAgGGMBIG +CSsGAQQBgjcVAQQFAgMFAAUwIwYJKwYBBAGCNxUCBBYEFM7FoL4P/nlmdZEP8PeS +WzWYqBWzMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMB8GA1UdIwQYMBaAFMbb +u8DYIBmS8WD8iPFYf7wbTo8aMIGjBgNVHR8EgZswgZgwgZWggZKggY+GNmh0dHA6 +Ly9tc2NybC5taWNyb3NvZnQuY29tL3BraS9tc2NvcnAvY3JsL21zd3d3KDQpLmNy bIY0aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9tc2NvcnAvY3JsL21zd3d3 -KDMpLmNybIYfaHR0cDovL2NvcnBwa2kvY3JsL21zd3d3KDMpLmNybDB5BggrBgEF +KDQpLmNybIYfaHR0cDovL2NvcnBwa2kvY3JsL21zd3d3KDQpLmNybDB5BggrBgEF BQcBAQRtMGswPAYIKwYBBQUHMAKGMGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w -a2kvbXNjb3JwL21zd3d3KDMpLmNydDArBggrBgEFBQcwAoYfaHR0cDovL2NvcnBw -a2kvYWlhL21zd3d3KDMpLmNydDANBgkqhkiG9w0BAQUFAAOCAQEARSzU1qmSJczv -IiFrscxgYtzXekBWgm2rYVIqN996H5ZfMDaso0tZXmhWo0zX0z0r0H+IIGtJ+4D9 -t6dMTpB26jV/5EtMbtQu48ryCkMHBKNtCn7pQ5Mq2gqjq84KrVUlBFfPT4z4+Hqp -Q6gVghMggWNtiujdHh7w4ja3OqHkFZTX/wUSTb+BtH+GBZKYAGU6duakb3D0piFu -W5W6gZ4j15R12ys3ZYTKThZjW5blolA0lzuCSghoSfJHRA4jChIzDNojkf7OxqJw -yFl8+++iZwTiulCTgOucJxGCT1tEEwdfX2c+XKyJIS/d5Ndtk91WEWU+TzqX9ZT4 -SAMJpIZ1pg== +a2kvbXNjb3JwL21zd3d3KDQpLmNydDArBggrBgEFBQcwAoYfaHR0cDovL2NvcnBw +a2kvYWlhL21zd3d3KDQpLmNydDANBgkqhkiG9w0BAQUFAAOCAgEAempuzk/VLM4N +H9TAbFtCjKc95iGmyx2bHbEk9m2cbGxXjBre+N4cJoIYYmhLrZ6L712ov1NjM73b +m8fb2Fy8Yw8Cmwc8VtarPZT2yzGr8MhNUDVuZswaKfjCY3H7RYv/XKc7AOMd25WP +/M0WTT4Bna6hl9dUaDGwv5SZFFIJ17FLo4FR2H7IkOOI/WcUPAHeDXUewp4qRPE/ +560xZrLSeNH2lKnOAwwXxwnXSo5WOF5AQXh1nRdbBV9Nu7yI6jH1QV6fKf6oFU2Y +IOjpnJ0FihVB6XoZ0wNOUMzPEEQcTfIoVoc+t0iK02wcmTLgBgbYU703dHvvPTcn +IfdI2mscx8l9MjUOdklIIve0FhCxRPqHpEeKjM95gllbXmWgQxAXiog+A62fEo5d +M7nfeEyiweSlhj1cv+2dyhzyS5saKYkk3ocCnOMCyD0M+4gJx4n4b/zT3rcujyN+ +7m20PbBTjcdTT1+AxOs75rON2hhKUqqrk2MDCpnEJsNK4TuRyDUtm9r+AxaZ4XRK +MT8InY1Xl9hzrIK6MVERYH46kxg6odwpzJ8Urn4dREBiMy6Gzq8mtyXvpYEcmeGL +zz1aT7qNNbQ0qqbPb6RpOMHlUWOIhVWJC71T5WK1pynAc3P9zOm8BkUYvIyJvCbR +bufCGVng4FAtVZ1advxSVRoa4GyuFZ8= -----END CERTIFICATE-----