Mercurial > pidgin
changeset 28674:cfca0217d162
merge of '263b34adf7373694b48a494714d66824d6bb3443'
and 'd6f80b7ba5ba2da4ae203eac6f07565721b10ad8'
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Sun, 29 Nov 2009 17:32:05 +0000 (2009-11-29) |
parents | 61cd675b73df (current diff) 54db9b78be71 (diff) |
children | 52dc24a5069f |
files | libpurple/protocols/jabber/presence.c |
diffstat | 23 files changed, 1037 insertions(+), 927 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Sat Nov 28 05:51:05 2009 +0000 +++ b/ChangeLog Sun Nov 29 17:32:05 2009 +0000 @@ -4,6 +4,9 @@ version 2.6.4 (??/??/20??): libpurple: * Actually emit the hold signal for media calls. + * Don't send Proxy-Authorization headers to HTTP proxy servers until we've + received a "407 Proxy Authentication Required" response from the server. + (thecrux) * Added "MXit" protocol plugin, supported and maintained by the MXit folks themselves (MXit Lifestyle (Pty) Ltd.) @@ -20,6 +23,7 @@ * The simultaneous login account option is respected when using the clientLogin authentication method. * Fix offline message retrieval (broken in 2.6.3) + * Fix handling of markup on some messages (broken in 2.6.2) * Fix SSL when clientLogin is enabled. * Fix sending and receiving Unicode characters in a Direct IM @@ -32,6 +36,9 @@ * Fix a random crash that might occur when idle. * Fix a crash when logging in with some long non-ASCII passwords. (Shaun Lindsay) + * Cache our own friendly name as the server no longer does that for + us. Users of older versions may need to re-set their friendly name + as it has probably been reset. XMPP: * Users connecting to Google Talk now have an "Initiate Chat" context menu @@ -67,6 +74,9 @@ * Add a hold button to the media window. * Fix a bug where the conversation backlog stops scrolling in a very busy chat room. + * In the Conversation "Send To" menu, offline buddies appear grayed + out (but are still selectable). Previously, only offline buddies on + accounts that do not support offline messaging appeared grayed out. Pidgin Preference and Preference Window Changes: * Removed the "Use font from theme" and "Conversation Font" preferences
--- a/libpurple/dbus-server.c Sat Nov 28 05:51:05 2009 +0000 +++ b/libpurple/dbus-server.c Sun Nov 29 17:32:05 2009 +0000 @@ -25,16 +25,16 @@ #define DBUS_API_SUBJECT_TO_CHANGE #endif +/* Allow the code below to see deprecated functions, so we can continue to + * export them via DBus. */ +#undef PURPLE_DISABLE_DEPRECATED + #include "internal.h" #include <stdio.h> #include <stdlib.h> #include <string.h> -/* Allow the code below to see deprecated functions, so we can continue to - * export them via DBus. */ -#undef PURPLE_DISABLE_DEPRECATED - #include "account.h" #include "blist.h" #include "conversation.h"
--- a/libpurple/protocols/jabber/bosh.c Sat Nov 28 05:51:05 2009 +0000 +++ b/libpurple/protocols/jabber/bosh.c Sun Nov 29 17:32:05 2009 +0000 @@ -369,8 +369,8 @@ "sid='%s' " "to='%s' " "xml:lang='en' " - "xmlns='http://jabber.org/protocol/httpbind' " - "xmlns:xmpp='urn:xmpp:xbosh'", + "xmlns='" NS_BOSH "' " + "xmlns:xmpp='" NS_XMPP_BOSH "'", ++conn->rid, conn->sid, conn->js->user->domain); @@ -567,13 +567,13 @@ "xml:lang='en' " "xmpp:version='1.0' " "ver='1.6' " - "xmlns:xmpp='urn:xmpp:bosh' " + "xmlns:xmpp='" NS_XMPP_BOSH "' " "rid='%" G_GUINT64_FORMAT "' " /* TODO: This should be adjusted/adjustable automatically according to * realtime network behavior */ "wait='60' " "hold='1' " - "xmlns='http://jabber.org/protocol/httpbind'/>", + "xmlns='" NS_BOSH "'/>", conn->js->user->domain, ++conn->rid);
--- a/libpurple/protocols/jabber/message.c Sat Nov 28 05:51:05 2009 +0000 +++ b/libpurple/protocols/jabber/message.c Sun Nov 29 17:32:05 2009 +0000 @@ -742,13 +742,13 @@ jm->eventitems = g_list_append(jm->eventitems, items); } else if(!strcmp(child->name, "attention") && !strcmp(xmlns, NS_ATTENTION)) { jm->hasBuzz = TRUE; - } else if(!strcmp(child->name, "delay") && !strcmp(xmlns,"urn:xmpp:delay")) { + } else if(!strcmp(child->name, "delay") && !strcmp(xmlns, NS_DELAYED_DELIVERY)) { 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(!strcmp(xmlns, "jabber:x:delay")) { + if(!strcmp(xmlns, NS_DELAYED_DELIVERY_LEGACY)) { const char *timestamp = xmlnode_get_attrib(child, "stamp"); jm->delayed = TRUE; if(timestamp)
--- a/libpurple/protocols/jabber/namespaces.h Sat Nov 28 05:51:05 2009 +0000 +++ b/libpurple/protocols/jabber/namespaces.h Sun Nov 29 17:32:05 2009 +0000 @@ -60,6 +60,9 @@ #define NS_AVATAR_1_1_DATA "urn:xmpp:avatar:data" #define NS_AVATAR_1_1_METADATA "urn:xmpp:avatar:metadata" +/* XEP-0124 Bidirectional-streams Over Synchronous HTTP (BOSH) */ +#define NS_BOSH "http://jabber.org/protocol/httpbind" + /* XEP-0191 Simple Communications Blocking */ #define NS_SIMPLE_BLOCKING "urn:xmpp:blocking" @@ -69,6 +72,13 @@ /* XEP-0202 Entity Time */ #define NS_ENTITY_TIME "urn:xmpp:time" +/* XEP-0203 Delayed Delivery (and legacy delayed delivery) */ +#define NS_DELAYED_DELIVERY "urn:xmpp:delay" +#define NS_DELAYED_DELIVERY_LEGACY "jabber:x:delay" + +/* XEP-0206 XMPP over BOSH */ +#define NS_XMPP_BOSH "urn:xmpp:xbosh" + /* XEP-0224 Attention */ #define NS_ATTENTION "urn:xmpp:attention:0"
--- a/libpurple/protocols/jabber/presence.c Sat Nov 28 05:51:05 2009 +0000 +++ b/libpurple/protocols/jabber/presence.c Sun Nov 29 17:32:05 2009 +0000 @@ -633,7 +633,7 @@ } 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")) { + } else if(!strcmp(y->name, "delay") && !strcmp(xmlns, NS_DELAYED_DELIVERY)) { /* XXX: compare the time. jabber:x:delay can happen on presence packets that aren't really and truly delayed */ delayed = TRUE; stamp = xmlnode_get_attrib(y, "stamp"); @@ -642,7 +642,7 @@ } else if (g_str_equal(y->name, "nick") && g_str_equal(xmlns, "http://jabber.org/protocol/nick")) { nickname = xmlnode_get_data(y); } else if(!strcmp(y->name, "x")) { - if(!strcmp(xmlns, "jabber:x:delay")) { + if(!strcmp(xmlns, NS_DELAYED_DELIVERY_LEGACY)) { /* XXX: compare the time. jabber:x:delay can happen on presence packets that aren't really and truly delayed */ delayed = TRUE; stamp = xmlnode_get_attrib(y, "stamp");
--- a/libpurple/protocols/msn/contact.c Sat Nov 28 05:51:05 2009 +0000 +++ b/libpurple/protocols/msn/contact.c Sun Nov 29 17:32:05 2009 +0000 @@ -702,12 +702,15 @@ type = xmlnode_get_data(contactType); /*setup the Display Name*/ - if (type && !strcmp(type, "Me")){ - char *friendly = NULL; - if ((displayName = xmlnode_get_child(contactInfo, "displayName"))) - friendly = xmlnode_get_data(displayName); - purple_connection_set_display_name(session->account->gc, friendly ? purple_url_decode(friendly) : NULL); - g_free(friendly); + if (type && !strcmp(type, "Me")) { + if (purple_connection_get_display_name(pc) == NULL) { + char *friendly = NULL; + if ((displayName = xmlnode_get_child(contactInfo, "displayName"))) + friendly = xmlnode_get_data(displayName); + purple_connection_set_display_name(pc, + friendly ? purple_url_decode(friendly) : NULL); + g_free(friendly); + } continue; /* Not adding own account as buddy to buddylist */ }
--- a/libpurple/protocols/msn/msn.c Sat Nov 28 05:51:05 2009 +0000 +++ b/libpurple/protocols/msn/msn.c Sun Nov 29 17:32:05 2009 +0000 @@ -1062,6 +1062,9 @@ if (strcmp(username, purple_account_get_username(account))) purple_account_set_username(account, username); + username = purple_account_get_string(account, "display-name", NULL); + purple_connection_set_display_name(gc, username); + if (!msn_session_connect(session, host, port, http_method)) purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
--- a/libpurple/protocols/msn/notification.c Sat Nov 28 05:51:05 2009 +0000 +++ b/libpurple/protocols/msn/notification.c Sun Nov 29 17:32:05 2009 +0000 @@ -1408,6 +1408,7 @@ purple_connection_set_display_name( purple_account_get_connection(session->account), friendlyname); + purple_account_set_string(session->account, "display-name", friendlyname); } } }
--- a/libpurple/protocols/mxit/chunk.c Sat Nov 28 05:51:05 2009 +0000 +++ b/libpurple/protocols/mxit/chunk.c Sun Nov 29 17:32:05 2009 +0000 @@ -576,18 +576,17 @@ /* parse the resource chunks */ while ( chunklen > 0 ) { - struct raw_chunk* chunkhdr = ( struct raw_chunk * ) &chunkdata[pos]; - chunkhdr->length = ntohl( chunkhdr->length ); /* host byte-order */ + gchar* chunk = &chunkdata[pos]; /* start of chunk data */ - pos += sizeof( struct raw_chunk ); + pos += MXIT_CHUNK_HEADER_SIZE; - switch ( chunkhdr->type ) { + switch ( chunk_type( chunk ) ) { case CP_CHUNK_SPLASH : /* splash image */ { struct splash_chunk* splash = g_new0( struct splash_chunk, 1 ); - mxit_chunk_parse_splash( &chunkdata[pos], chunkhdr->length, splash ); + mxit_chunk_parse_splash( &chunkdata[pos], chunk_length( chunk ), splash ); cr->resources = g_list_append( cr->resources, splash ); break; @@ -600,12 +599,12 @@ break; } default: - purple_debug_info( MXIT_PLUGIN_ID, "Unsupported custom resource chunk received (%i)\n", chunkhdr->type ); + purple_debug_info( MXIT_PLUGIN_ID, "Unsupported custom resource chunk received (%i)\n", chunk_type( chunk) ); } /* skip over data to next resource chunk */ - pos += chunkhdr->length; - chunklen -= ( sizeof( struct raw_chunk ) + chunkhdr->length ); + pos += chunk_length( chunk ); + chunklen -= ( MXIT_CHUNK_HEADER_SIZE + chunk_length( chunk ) ); } }
--- a/libpurple/protocols/mxit/chunk.h Sat Nov 28 05:51:05 2009 +0000 +++ b/libpurple/protocols/mxit/chunk.h Sun Nov 29 17:32:05 2009 +0000 @@ -31,6 +31,8 @@ #define MXIT_CHUNK_FILEID_LEN 8 /* bytes */ +#define MXIT_CHUNK_HEADER_SIZE 5 /* type (1 byte) + length (4 bytes) */ + /* Multimedia chunk types */ #define CP_CHUNK_NONE 0x00 /* (0) no chunk */ @@ -68,13 +70,35 @@ #define REJECT_BAD_RECIPIENT 4 /* - * a Chunk header + * Chunk header manipulation functions */ -struct raw_chunk { - guint8 type; - guint32 length; - gchar data[0]; -} __attribute__ ((packed)); +static inline guint chunk_type( gchar* chunkheader ) +{ + return *chunkheader; +} + +static inline void set_chunk_type( gchar* chunkheader, guint type ) +{ + *chunkheader = type; +} + +static inline guint32 chunk_length( gchar* chunkheader ) +{ + guint32 length = *( (const guint32*) &chunkheader[1] ); + return htonl( length ); +} + +static inline void set_chunk_length( gchar* chunkheader, guint32 size ) +{ + size = htonl( size ); + memcpy( &chunkheader[1], &size, sizeof( guint32 ) ); +} + +static inline gchar* chunk_data( gchar* chunkheader ) +{ + return &chunkheader[MXIT_CHUNK_HEADER_SIZE]; +} + struct offerfile_chunk { char fileid[MXIT_CHUNK_FILEID_LEN];
--- a/libpurple/protocols/mxit/formcmds.c Sat Nov 28 05:51:05 2009 +0000 +++ b/libpurple/protocols/mxit/formcmds.c Sun Nov 29 17:32:05 2009 +0000 @@ -239,12 +239,10 @@ replymsg = g_hash_table_lookup(hash, "replymsg"); /* find the reply message */ if ((selmsg) && (replymsg)) { gchar* seltext = g_markup_escape_text(purple_url_decode(selmsg), -1); - gchar* replytext = g_markup_escape_text(purple_url_decode(replymsg), -1); - mxit_add_html_link( mx, replytext, seltext ); + mxit_add_html_link( mx, purple_url_decode(replymsg), seltext ); g_free(seltext); - g_free(replytext); } } @@ -345,7 +343,6 @@ * @param message The message text * @return The length of the command */ -//void mxit_command_received(struct MXitSession* session, const char* from, char* message, time_t timestamp) int mxit_parse_command(struct RXMsgData* mx, char* message) { GHashTable* hash = NULL;
--- a/libpurple/protocols/mxit/markup.c Sat Nov 28 05:51:05 2009 +0000 +++ b/libpurple/protocols/mxit/markup.c Sun Nov 29 17:32:05 2009 +0000 @@ -416,7 +416,6 @@ } else if ( mx->chatid < 0 ) { /* normal chat message */ - //serv_got_im( mx->session->con, mx->from, mx->msg->str, mx->flags, mx->timestamp ); mxit_show_split_message( mx ); } else {
--- a/libpurple/protocols/mxit/mxit.c Sat Nov 28 05:51:05 2009 +0000 +++ b/libpurple/protocols/mxit/mxit.c Sun Nov 29 17:32:05 2009 +0000 @@ -689,9 +689,6 @@ option = purple_account_option_bool_new( _( "Enable splash-screen popup" ), MXIT_CONFIG_SPLASHPOPUP, FALSE ); proto_info.protocol_options = g_list_append( proto_info.protocol_options, option ); - - if ( sizeof( struct raw_chunk ) != 5 ) - g_log(G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, "sizeof(struct raw_chunk) != 5! MXit probably won't work!\n"); } PURPLE_INIT_PLUGIN( mxit, init_plugin, plugin_info );
--- a/libpurple/protocols/mxit/mxit.h Sat Nov 28 05:51:05 2009 +0000 +++ b/libpurple/protocols/mxit/mxit.h Sun Nov 29 17:32:05 2009 +0000 @@ -61,7 +61,7 @@ /* Plugin details */ #define MXIT_PLUGIN_ID "prpl-loubserp-mxit" #define MXIT_PLUGIN_NAME "MXit" -#define MXIT_PLUGIN_VERSION "2.2.0" +#define MXIT_PLUGIN_VERSION "2.3.0" #define MXIT_PLUGIN_EMAIL "Pieter Loubser <libpurple@mxit.com>" #define MXIT_PLUGIN_WWW "http://www.mxit.com" #define MXIT_PLUGIN_SUMMARY "MXit Protocol Plugin"
--- a/libpurple/protocols/mxit/protocol.c Sat Nov 28 05:51:05 2009 +0000 +++ b/libpurple/protocols/mxit/protocol.c Sun Nov 29 17:32:05 2009 +0000 @@ -1035,7 +1035,7 @@ { char data[CP_MAX_PACKET]; int datalen = 0; - struct raw_chunk* chunk; + gchar* chunk; int size; purple_debug_info( MXIT_PLUGIN_ID, "SENDING FILE '%s' of %i bytes to user '%s'\n", filename, buflen, username ); @@ -1044,17 +1044,17 @@ datalen = sprintf( data, "ms=" ); /* map chunk header over data buffer */ - chunk = (struct raw_chunk *) &data[datalen]; - - size = mxit_chunk_create_senddirect( chunk->data, username, filename, buf, buflen ); + chunk = &data[datalen]; + + size = mxit_chunk_create_senddirect( chunk_data( chunk ), username, filename, buf, buflen ); if ( size < 0 ) { purple_debug_error( MXIT_PLUGIN_ID, "Error creating senddirect chunk (%i)\n", size ); return; } - chunk->type = CP_CHUNK_DIRECT_SND; - chunk->length = htonl( size ); - datalen += sizeof( struct raw_chunk ) + size; + set_chunk_type( chunk, CP_CHUNK_DIRECT_SND ); + set_chunk_length( chunk, size ); + datalen += MXIT_CHUNK_HEADER_SIZE + size; /* send the byte stream to the mxit server */ mxit_queue_packet( session, data, datalen, CP_CMD_MEDIA ); @@ -1071,7 +1071,7 @@ { char data[CP_MAX_PACKET]; int datalen = 0; - struct raw_chunk* chunk; + gchar* chunk; int size; purple_debug_info( MXIT_PLUGIN_ID, "mxit_send_file_reject\n" ); @@ -1080,17 +1080,17 @@ datalen = sprintf( data, "ms=" ); /* map chunk header over data buffer */ - chunk = (struct raw_chunk *) &data[datalen]; - - size = mxit_chunk_create_reject( chunk->data, fileid ); + chunk = &data[datalen]; + + size = mxit_chunk_create_reject( chunk_data( chunk ), fileid ); if ( size < 0 ) { purple_debug_error( MXIT_PLUGIN_ID, "Error creating reject chunk (%i)\n", size ); return; } - chunk->type = CP_CHUNK_REJECT; - chunk->length = htonl( size ); - datalen += sizeof( struct raw_chunk ) + size; + set_chunk_type( chunk, CP_CHUNK_REJECT ); + set_chunk_length( chunk, size ); + datalen += MXIT_CHUNK_HEADER_SIZE + size; /* send the byte stream to the mxit server */ mxit_queue_packet( session, data, datalen, CP_CMD_MEDIA ); @@ -1109,7 +1109,7 @@ { char data[CP_MAX_PACKET]; int datalen = 0; - struct raw_chunk* chunk; + gchar* chunk; int size; purple_debug_info( MXIT_PLUGIN_ID, "mxit_send_file_accept\n" ); @@ -1118,17 +1118,17 @@ datalen = sprintf( data, "ms=" ); /* map chunk header over data buffer */ - chunk = (struct raw_chunk *) &data[datalen]; - - size = mxit_chunk_create_get( chunk->data, fileid, filesize, offset ); + chunk = &data[datalen]; + + size = mxit_chunk_create_get( chunk_data(chunk), fileid, filesize, offset ); if ( size < 0 ) { purple_debug_error( MXIT_PLUGIN_ID, "Error creating getfile chunk (%i)\n", size ); return; } - chunk->type = CP_CHUNK_GET; - chunk->length = htonl( size ); - datalen += sizeof( struct raw_chunk ) + size; + set_chunk_type( chunk, CP_CHUNK_GET ); + set_chunk_length( chunk, size ); + datalen += MXIT_CHUNK_HEADER_SIZE + size; /* send the byte stream to the mxit server */ mxit_queue_packet( session, data, datalen, CP_CMD_MEDIA ); @@ -1145,7 +1145,7 @@ { char data[CP_MAX_PACKET]; int datalen = 0; - struct raw_chunk* chunk; + gchar* chunk; int size; purple_debug_info( MXIT_PLUGIN_ID, "mxit_send_file_received\n" ); @@ -1154,17 +1154,17 @@ datalen = sprintf( data, "ms=" ); /* map chunk header over data buffer */ - chunk = (struct raw_chunk *) &data[datalen]; - - size = mxit_chunk_create_received( chunk->data, fileid, status ); + chunk = &data[datalen]; + + size = mxit_chunk_create_received( chunk_data(chunk), fileid, status ); if ( size < 0 ) { purple_debug_error( MXIT_PLUGIN_ID, "Error creating received chunk (%i)\n", size ); return; } - chunk->type = CP_CHUNK_RECIEVED; - chunk->length = htonl( size ); - datalen += sizeof( struct raw_chunk ) + size; + set_chunk_type( chunk, CP_CHUNK_RECIEVED ); + set_chunk_length( chunk, size ); + datalen += MXIT_CHUNK_HEADER_SIZE + size; /* send the byte stream to the mxit server */ mxit_queue_packet( session, data, datalen, CP_CMD_MEDIA ); @@ -1182,7 +1182,7 @@ { char data[CP_MAX_PACKET]; int datalen = 0; - struct raw_chunk* chunk; + gchar* chunk; int size; purple_debug_info( MXIT_PLUGIN_ID, "mxit_set_avatar: %i bytes\n", avatarlen ); @@ -1191,17 +1191,17 @@ datalen = sprintf( data, "ms=" ); /* map chunk header over data buffer */ - chunk = (struct raw_chunk *) &data[datalen]; - - size = mxit_chunk_create_set_avatar( chunk->data, avatar, avatarlen ); + chunk = &data[datalen]; + + size = mxit_chunk_create_set_avatar( chunk_data(chunk), avatar, avatarlen ); if ( size < 0 ) { purple_debug_error( MXIT_PLUGIN_ID, "Error creating set avatar chunk (%i)\n", size ); return; } - chunk->type = CP_CHUNK_SET_AVATAR; - chunk->length = htonl( size ); - datalen += sizeof( struct raw_chunk ) + size; + set_chunk_type( chunk, CP_CHUNK_SET_AVATAR ); + set_chunk_length( chunk, size ); + datalen += MXIT_CHUNK_HEADER_SIZE + size; /* send the byte stream to the mxit server */ mxit_queue_packet( session, data, datalen, CP_CMD_MEDIA ); @@ -1221,7 +1221,7 @@ { char data[CP_MAX_PACKET]; int datalen = 0; - struct raw_chunk* chunk; + gchar* chunk; int size; purple_debug_info( MXIT_PLUGIN_ID, "mxit_get_avatar: %s\n", mxitId ); @@ -1230,17 +1230,17 @@ datalen = sprintf( data, "ms=" ); /* map chunk header over data buffer */ - chunk = (struct raw_chunk *) &data[datalen]; - - size = mxit_chunk_create_get_avatar( chunk->data, mxitId, avatarId, MXIT_AVATAR_SIZE ); + chunk = &data[datalen]; + + size = mxit_chunk_create_get_avatar( chunk_data(chunk), mxitId, avatarId, MXIT_AVATAR_SIZE ); if ( size < 0 ) { purple_debug_error( MXIT_PLUGIN_ID, "Error creating get avatar chunk (%i)\n", size ); return; } - chunk->type = CP_CHUNK_GET_AVATAR; - chunk->length = htonl( size ); - datalen += sizeof( struct raw_chunk ) + size; + set_chunk_type( chunk, CP_CHUNK_GET_AVATAR ); + set_chunk_length( chunk, size ); + datalen += MXIT_CHUNK_HEADER_SIZE + size; /* send the byte stream to the mxit server */ mxit_queue_packet( session, data, datalen, CP_CMD_MEDIA );
--- a/libpurple/protocols/mxit/roster.c Sat Nov 28 05:51:05 2009 +0000 +++ b/libpurple/protocols/mxit/roster.c Sun Nov 29 17:32:05 2009 +0000 @@ -53,11 +53,11 @@ const char* name; } const mxit_statuses[] = { /* primative, no, id, name */ - { PURPLE_STATUS_OFFLINE, MXIT_PRESENCE_OFFLINE, "offline", NULL }, /* 0 */ - { PURPLE_STATUS_AVAILABLE, MXIT_PRESENCE_ONLINE, "online", NULL }, /* 1 */ - { PURPLE_STATUS_AWAY, MXIT_PRESENCE_AWAY, "away", NULL }, /* 2 */ - { PURPLE_STATUS_AVAILABLE, MXIT_PRESENCE_AVAILABLE, "chat", N_( "Chatty" ) }, /* 3 */ - { PURPLE_STATUS_UNAVAILABLE, MXIT_PRESENCE_DND, "dnd", NULL } /* 4 */ + { PURPLE_STATUS_OFFLINE, MXIT_PRESENCE_OFFLINE, "offline", N_( "Offline" ) }, /* 0 */ + { PURPLE_STATUS_AVAILABLE, MXIT_PRESENCE_ONLINE, "online", N_( "Available" ) }, /* 1 */ + { PURPLE_STATUS_AWAY, MXIT_PRESENCE_AWAY, "away", N_( "Away" ) }, /* 2 */ + { PURPLE_STATUS_AVAILABLE, MXIT_PRESENCE_AVAILABLE, "chat", N_( "Chatty" ) }, /* 3 */ + { PURPLE_STATUS_UNAVAILABLE, MXIT_PRESENCE_DND, "dnd", N_( "Do Not Disturb" ) } /* 4 */ }; @@ -398,7 +398,7 @@ contact->statusMsg = NULL; } if ( statusMsg[0] != '\0' ) - contact->statusMsg = g_strdup( statusMsg ); + contact->statusMsg = g_markup_escape_text( statusMsg, -1 ); /* update avatarId */ if ( ( contact->avatarId ) && ( g_ascii_strcasecmp( contact->avatarId, avatarId ) == 0 ) ) {
--- a/libpurple/protocols/mxit/splashscreen.c Sat Nov 28 05:51:05 2009 +0000 +++ b/libpurple/protocols/mxit/splashscreen.c Sun Nov 29 17:32:05 2009 +0000 @@ -43,10 +43,10 @@ { const char* splashId = purple_account_get_string(session->acc, MXIT_CONFIG_SPLASHID, NULL); - purple_debug_info(MXIT_PLUGIN_ID, "Current splashId: '%s'\n", splashId); - - if ((splashId != NULL) && (*splashId != '\0')) + if ((splashId != NULL) && (*splashId != '\0')) { + purple_debug_info(MXIT_PLUGIN_ID, "Current splashId: '%s'\n", splashId); return splashId; + } else return NULL; } @@ -149,7 +149,7 @@ /* Get current splash ID */ splashId = splash_current(session); - if (!splashId) + if (splashId == NULL) /* no splash-screen */ return; /* if is clickable, then send click event */
--- a/libpurple/protocols/oscar/oscar.c Sat Nov 28 05:51:05 2009 +0000 +++ b/libpurple/protocols/oscar/oscar.c Sun Nov 29 17:32:05 2009 +0000 @@ -2461,42 +2461,81 @@ */ if (purple_markup_find_tag("body", tmp, &start, &end, &attribs)) { + int len; + char *tmp2, *body; const char *ichattextcolor, *ichatballooncolor; - const char *start2, *end2; + const char *slash_body_start, *slash_body_end = NULL; /* </body> */ GData *unused; /* * Find the ending </body> so we can strip off the outer <html/> * and <body/> */ - if (purple_markup_find_tag("/body", end + 1, &start2, &end2, &unused)) + if (purple_markup_find_tag("/body", end + 1, &slash_body_start, &slash_body_end, &unused)) { - gchar *tmp2; - tmp2 = g_strndup(end + 1, (start2 - 1) - (end + 1) + 1); - g_free(tmp); - tmp = tmp2; + body = g_strndup(start, slash_body_end - start + 1); g_datalist_clear(&unused); } + else + { + purple_debug_warning("oscar", "Broken message contains <body> but not </body>!\n"); + /* Take everything after <body> */ + body = g_strdup(start); + } ichattextcolor = g_datalist_get_data(&attribs, "ichattextcolor"); if (ichattextcolor != NULL) { - gchar *tmp2; - tmp2 = g_strdup_printf("<font color=\"%s\">%s</font>", ichattextcolor, tmp); - g_free(tmp); - tmp = tmp2; + tmp2 = g_strdup_printf("<font color=\"%s\">%s</font>", ichattextcolor, body); + g_free(body); + body = tmp2; } ichatballooncolor = g_datalist_get_data(&attribs, "ichatballooncolor"); if (ichatballooncolor != NULL) { - gchar *tmp2; - tmp2 = g_strdup_printf("<font back=\"%s\">%s</font>", ichatballooncolor, tmp); - g_free(tmp); - tmp = tmp2; + tmp2 = g_strdup_printf("<font back=\"%s\">%s</font>", ichatballooncolor, body); + g_free(body); + body = tmp2; } g_datalist_clear(&attribs); + + len = start - tmp; + tmp2 = g_strdup_printf("%.*s%s%s", len, tmp, body, slash_body_end ? slash_body_end + 1: "</body>"); + g_free(tmp); + g_free(body); + + tmp = tmp2; + } + + /* + * Are there <html/> surrounding tags? If so, strip them out, too. + */ + if (purple_markup_find_tag("html", tmp, &start, &end, &attribs)) + { + gchar *tmp2; + int len; + + g_datalist_clear(&attribs); + + len = start - tmp; + tmp2 = g_strdup_printf("%.*s%s", len, tmp, end + 1); + g_free(tmp); + tmp = tmp2; + } + + if (purple_markup_find_tag("/html", tmp, &start, &end, &attribs)) + { + gchar *tmp2; + int len; + + g_datalist_clear(&attribs); + + len = start - tmp; + tmp2 = g_strdup_printf("%.*s%s", len, tmp, end + 1); + g_free(tmp); + tmp = tmp2; } serv_got_im(gc, userinfo->bn, tmp, flags, @@ -5258,7 +5297,7 @@ { /* If not in server list then prune from local list */ GSList *cur, *next; GSList *buddies = purple_find_buddies(account, NULL); - + /* Buddies */ cur = NULL; @@ -5348,28 +5387,45 @@ /* Add from server list to local list */ for (curitem=od->ssi.local; curitem; curitem=curitem->next) { + if ((curitem->name == NULL) || (g_utf8_validate(curitem->name, -1, NULL))) switch (curitem->type) { case AIM_SSI_TYPE_BUDDY: { /* Buddy */ if (curitem->name) { struct aim_ssi_item *groupitem; - const char *gname, *alias; + char *gname, *gname_utf8, *alias, *alias_utf8; groupitem = aim_ssi_itemlist_find(od->ssi.local, curitem->gid, 0x0000); gname = groupitem ? groupitem->name : NULL; - - g = purple_find_group(gname ? gname : _("Orphans")); + if (gname != NULL) { + if (g_utf8_validate(gname, -1, NULL)) + gname_utf8 = g_strdup(gname); + else + gname_utf8 = oscar_utf8_try_convert(account, gname); + } else + gname_utf8 = NULL; + + g = purple_find_group(gname_utf8 ? gname_utf8 : _("Orphans")); if (g == NULL) { - g = purple_group_new(gname ? gname : _("Orphans")); + g = purple_group_new(gname_utf8 ? gname_utf8 : _("Orphans")); purple_blist_add_group(g, NULL); } alias = aim_ssi_getalias(od->ssi.local, gname, curitem->name); + if (alias != NULL) { + if (g_utf8_validate(alias, -1, NULL)) + alias_utf8 = g_strdup(alias); + else + alias_utf8 = oscar_utf8_try_convert(account, alias); + g_free(alias); + } else + alias_utf8 = NULL; + b = purple_find_buddy_in_group(account, curitem->name, g); if (b) { /* Get server stored alias */ - purple_blist_alias_buddy(b, alias); + purple_blist_alias_buddy(b, alias_utf8); } else { - b = purple_buddy_new(account, curitem->name, alias); + b = purple_buddy_new(account, curitem->name, alias_utf8); purple_debug_info("oscar", "ssi: adding buddy %s to group %s to local list\n", curitem->name, gname); @@ -5393,15 +5449,30 @@ purple_buddy_get_name(b), OSCAR_STATUS_ID_MOBILE, NULL); } + + g_free(gname_utf8); + g_free(alias_utf8); } } break; case AIM_SSI_TYPE_GROUP: { /* Group */ - const char *gname = curitem->name; - if (gname != NULL && purple_find_group(gname) == NULL) { - g = purple_group_new(gname); + char *gname; + char *gname_utf8; + + gname = curitem->name; + if (gname != NULL) { + if (g_utf8_validate(gname, -1, NULL)) + gname_utf8 = g_strdup(gname); + else + gname_utf8 = oscar_utf8_try_convert(account, gname); + } else + gname_utf8 = NULL; + + if (gname_utf8 != NULL && purple_find_group(gname_utf8) == NULL) { + g = purple_group_new(gname_utf8); purple_blist_add_group(g, NULL); } + g_free(gname_utf8); } break; case AIM_SSI_TYPE_PERMIT: { /* Permit buddy */ @@ -5540,8 +5611,7 @@ { PurpleConnection *gc; PurpleAccount *account; - const char *gname; - char *alias; + char *gname, *gname_utf8, *alias, *alias_utf8; PurpleBuddy *b; PurpleGroup *g; struct aim_ssi_item *ssi_item; @@ -5562,7 +5632,19 @@ return 1; gname = aim_ssi_itemlist_findparentname(od->ssi.local, name); + gname_utf8 = gname ? oscar_utf8_try_convert(account, gname) : NULL; + alias = aim_ssi_getalias(od->ssi.local, gname, name); + if (alias != NULL) + { + if (g_utf8_validate(alias, -1, NULL)) + alias_utf8 = g_strdup(alias); + else + alias_utf8 = oscar_utf8_try_convert(account, alias); + } + else + alias_utf8 = NULL; + g_free(alias); b = purple_find_buddy(account, name); if (b) { @@ -5571,21 +5653,21 @@ * of your buddies, so update our local buddy list with * the person's new alias. */ - purple_blist_alias_buddy(b, alias); + purple_blist_alias_buddy(b, alias_utf8); } else if (snac_subtype == 0x0008) { /* * You're logged in somewhere else and you added a buddy to * your server list, so add them to your local buddy list. */ - b = purple_buddy_new(account, name, alias); - - if (!(g = purple_find_group(gname ? gname : _("Orphans")))) { - g = purple_group_new(gname ? gname : _("Orphans")); + b = purple_buddy_new(account, name, alias_utf8); + + if (!(g = purple_find_group(gname_utf8 ? gname_utf8 : _("Orphans")))) { + g = purple_group_new(gname_utf8 ? gname_utf8 : _("Orphans")); purple_blist_add_group(g, NULL); } purple_debug_info("oscar", - "ssi: adding buddy %s to group %s to local list\n", name, gname ? gname : _("Orphans")); + "ssi: adding buddy %s to group %s to local list\n", name, gname_utf8 ? gname_utf8 : _("Orphans")); purple_blist_add_buddy(b, NULL, g, NULL); /* Mobile users should always be online */ @@ -5598,8 +5680,6 @@ } - g_free(alias); - ssi_item = aim_ssi_itemlist_finditem(od->ssi.local, gname, name, AIM_SSI_TYPE_BUDDY); if (ssi_item == NULL) @@ -5609,6 +5689,9 @@ "group %s\n", name, gname); } + g_free(gname_utf8); + g_free(alias_utf8); + return 1; } @@ -6311,6 +6394,7 @@ struct name_data *data; PurpleGroup *g; char *comment; + gchar *comment_utf8; gchar *title; PurpleAccount *account; const char *name; @@ -6329,6 +6413,7 @@ data = g_new(struct name_data, 1); comment = aim_ssi_getcomment(od->ssi.local, purple_group_get_name(g), name); + comment_utf8 = comment ? oscar_utf8_try_convert(account, comment) : NULL; data->gc = gc; data->name = g_strdup(name); @@ -6336,7 +6421,7 @@ title = g_strdup_printf(_("Buddy Comment for %s"), data->name); purple_request_input(gc, title, _("Buddy Comment:"), NULL, - comment, TRUE, FALSE, NULL, + comment_utf8, TRUE, FALSE, NULL, _("_OK"), G_CALLBACK(oscar_ssi_editcomment), _("_Cancel"), G_CALLBACK(oscar_free_name_data), account, data->name, NULL, @@ -6344,6 +6429,7 @@ g_free(title); g_free(comment); + g_free(comment_utf8); } static void
--- a/libpurple/proxy.c Sat Nov 28 05:51:05 2009 +0000 +++ b/libpurple/proxy.c Sun Nov 29 17:32:05 2009 +0000 @@ -1099,36 +1099,6 @@ connect_data->host, connect_data->port, connect_data->host, connect_data->port); - if (purple_proxy_info_get_username(connect_data->gpi) != NULL) - { - char *t1, *t2, *ntlm_type1; - char hostname[256]; - - ret = gethostname(hostname, sizeof(hostname)); - hostname[sizeof(hostname) - 1] = '\0'; - if (ret < 0 || hostname[0] == '\0') { - purple_debug_warning("proxy", "gethostname() failed -- is your hostname set?"); - strcpy(hostname, "localhost"); - } - - t1 = g_strdup_printf("%s:%s", - purple_proxy_info_get_username(connect_data->gpi), - purple_proxy_info_get_password(connect_data->gpi) ? - purple_proxy_info_get_password(connect_data->gpi) : ""); - t2 = purple_base64_encode((const guchar *)t1, strlen(t1)); - g_free(t1); - - ntlm_type1 = purple_ntlm_gen_type1(hostname, ""); - - g_string_append_printf(request, - "Proxy-Authorization: Basic %s\r\n" - "Proxy-Authorization: NTLM %s\r\n" - "Proxy-Connection: Keep-Alive\r\n", - t2, ntlm_type1); - g_free(ntlm_type1); - g_free(t2); - } - g_string_append(request, "\r\n"); connect_data->write_buf_len = request->len;
--- a/pidgin/gtkconv.c Sat Nov 28 05:51:05 2009 +0000 +++ b/pidgin/gtkconv.c Sun Nov 29 17:32:05 2009 +0000 @@ -3903,8 +3903,7 @@ gtk_box_pack_start(GTK_BOX(box), label, TRUE, TRUE, 4); if (buddy != NULL && - !purple_presence_is_online(purple_buddy_get_presence(buddy)) && - !purple_account_supports_offline_message(account, buddy)) + !purple_presence_is_online(purple_buddy_get_presence(buddy))) { gtk_widget_set_sensitive(label, FALSE);
--- a/po/ca.po Sat Nov 28 05:51:05 2009 +0000 +++ b/po/ca.po Sun Nov 29 17:32:05 2009 +0000 @@ -33,8 +33,8 @@ msgstr "" "Project-Id-Version: Pidgin\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-11-14 20:33-0500\n" -"PO-Revision-Date: 2009-10-26 09:20+0100\n" +"POT-Creation-Date: 2009-11-28 18:48+0100\n" +"PO-Revision-Date: 2009-11-28 21:57+0100\n" "Last-Translator: Josep Puigdemont i Casamaj坦 <josep.puigdemont@gmail.com>\n" "Language-Team: Catalan <tradgnome@softcatala.net>\n" "MIME-Version: 1.0\n" @@ -475,7 +475,7 @@ msgstr "Indiqueu el nom de l'ordiador" msgid "Type the host name this certificate is for." -msgstr "Entreu el nom de l'ordinador al qual pertany aquest certificat." +msgstr "Introdu誰u el nom de l'ordinador al qual pertany aquest certificat." #, c-format msgid "" @@ -880,7 +880,7 @@ msgid "" "Chats will only be logged if the \"Log all chats\" preference is enabled." msgstr "" -"Els xats nom辿s es registraran si s'habilita prefer竪ncia 束Registra tots els " +"Els xats nom辿s es registraran si s'habilita la prefer竪ncia 束Registra tots els " "xats損." msgid "No logs were found" @@ -1569,7 +1569,7 @@ msgstr "Fes un TinyURL d'aix嘆 d'aqu鱈 dalt: %s" msgid "Please wait while TinyURL fetches a shorter URL ..." -msgstr "Espreu mentre TinyURL obt辿 una URL m辿s curta..." +msgstr "Espereu mentre TinyURL obt辿 una URL m辿s curta..." msgid "Only create TinyURL for URLs of this length or greater" msgstr "Nom辿s crea TinyURL per a URL aix鱈 de llargues o m辿s" @@ -1585,11 +1585,12 @@ msgid "When receiving a message with URL(s), use TinyURL for easier copying" msgstr "" -"En rebre missagtes amb URL, s'empra TinyURL perqu竪 sigui m辿s f�cil copiar" +"En rebre missatges amb URL, s'empra TinyURL perqu竪 sigui m辿s f�cil copiar" msgid "Online" msgstr "En l鱈nia" +#. primative, no, id, name msgid "Offline" msgstr "Fora de l鱈nia" @@ -1634,7 +1635,7 @@ msgstr "comptes" msgid "Password is required to sign on." -msgstr "Es necessita la contrasenya per a poder connectar." +msgstr "Es necessita la contrasenya per poder connectar." #, c-format msgid "Enter password for %s (%s)" @@ -3210,10 +3211,12 @@ msgid "Add to chat..." msgstr "Afegeix al xat..." +#. 0 #. Global msgid "Available" msgstr "Disponible" +#. 1 #. get_yahoo_status_from_purple_status() returns YAHOO_STATUS_CUSTOM for #. * the generic away state (YAHOO_STATUS_TYPE_AWAY) with no message #. Away stuff @@ -3668,14 +3671,14 @@ "channels, optionally providing a channel key for each if needed." msgstr "" "j <sala1>[,sala2][,...] [clau1[,clau2][,...]]: entra a un o m辿s " -"canals, opcionalment proporcionant una clau si cal." +"canals, proporcionant una clau opcional si cal." msgid "" "join <room1>[,room2][,...] [key1[,key2][,...]]: Enter one or more " "channels, optionally providing a channel key for each if needed." msgstr "" "join <sala1>[,sala2][,...] [clau1[,clau2][,...]]: entra a un o m辿s " -"canals, opcionalment proporcionant una clau si cal." +"canals, proporcionant una clau opcional si cal." msgid "" "kick <nick> [message]: Remove someone from a channel. You must be a " @@ -4027,12 +4030,14 @@ msgid "Log Out" msgstr "Desconnecta" +#. 2 msgid "Chatty" msgstr "Xerraire" msgid "Extended Away" msgstr "Absent des de fa una bona estona" +#. 3 msgid "Do Not Disturb" msgstr "No molesteu" @@ -4297,6 +4302,7 @@ msgid "None (To pending)" msgstr "Cap (a pendent)" +#. 0 msgid "None" msgstr "Cap" @@ -5504,9 +5510,8 @@ msgid "Unknown error (%d)" msgstr "Error desconegut (%d)" -#, fuzzy msgid "Unable to remove user" -msgstr "No s'ha pogut afegir l'usuari" +msgstr "No s'ha pogut suprimir l'usuari" msgid "Mobile message was not sent because it was too long." msgstr "No s'ha enviat el missatge al m嘆bil perqu竪 era massa llarg." @@ -5757,28 +5762,84 @@ msgid "%s has removed you from his or her buddy list." msgstr "%s us ha suprimit de la seva llista d'amics." +#. 1 +msgid "Angry" +msgstr "Enfadat" + +#. 2 +msgid "Excited" +msgstr "Excitat" + +#. 3 +msgid "Grumpy" +msgstr "Rondinaire" + +#. 4 +msgid "Happy" +msgstr "Content" + +#. 5 +msgid "In Love" +msgstr "Enamorat" + +#. 6 +msgid "Invincible" +msgstr "Invencible" + +#. 7 +msgid "Sad" +msgstr "Trist" + +#. 8 +msgid "Hot" +msgstr "Calent" + +#. 9 +msgid "Sick" +msgstr "Malalt" + +#. 10 +msgid "Sleepy" +msgstr "Endormiscat" + #. show current mood -#, fuzzy msgid "Current Mood" -msgstr "El vostre estat d'�nim actual" +msgstr "Estat d'�nim actual" #. add all moods to list -#, fuzzy msgid "New Mood" -msgstr "Estat d'�nim de l'usuari" - -#, fuzzy +msgstr "Nou estat d'�nim" + msgid "Change your Mood" -msgstr "Canvia la contrasenya" - -#, fuzzy +msgstr "Canvieu el vostre estat d'�nim" + msgid "How do you feel right now?" -msgstr "Ara mateix no s坦c aqu鱈" +msgstr "Com us trobeu ara mateix?" + +msgid "The PIN you entered is invalid." +msgstr "El PIN que heu introdu誰t no 辿s v�lid." + +msgid "The PIN you entered has an invalid length [4-10]." +msgstr "La llargada del PIN que heu introdu誰t no 辿s v�lida [4-10]." + +msgid "The PIN is invalid. It should only consist of digits [0-9]." +msgstr "El PIN no 辿s v�lid. Nom辿s pot contenir d鱈gits [0-9]." + +msgid "The two PINs you entered do not match." +msgstr "Els dos PIN que heu introdu誰t no coincideixen." + +msgid "The name you entered is invalid." +msgstr "El nom que heu introdu誰t no 辿s v�lid." + +msgid "" +"The birthday you entered is invalid. The correct format is: 'YYYY-MM-DD'." +msgstr "" +"La data de l'aniversari que heu introdu誰t no 辿s v�lida. El format 辿s: 'AAAA-" +"MM-DD'." #. show error to user -#, fuzzy msgid "Profile Update Error" -msgstr "Error d'escriptura" +msgstr "S'ha produ誰t un error en actualitzar el perfil" #. no profile information yet, so we cannot update #. (reference: "libpurple/request.h") @@ -5787,356 +5848,304 @@ msgid "Your profile information is not yet retrieved. Please try again later." msgstr "" +"Encara no s'ha pogut recuperar la informaci坦 del vostre perfil. Torneu-ho a " +"intentar m辿s tard." #. pin -#, fuzzy msgid "PIN" -msgstr "UIN" +msgstr "PIN" msgid "Verify PIN" -msgstr "" +msgstr "Verifiqueu el PIN" #. display name -#, fuzzy msgid "Display Name" -msgstr "Visualitza" +msgstr "Nom que es mostrar�" #. hidden msgid "Hide my number" -msgstr "" +msgstr "Oculta el meu n炭mero" #. mobile number -#, fuzzy msgid "Mobile Number" -msgstr "N炭mero del tel竪fon m嘆bil" - -#, fuzzy +msgstr "N炭mero de tel竪fon m嘆bil" + msgid "Update your Profile" -msgstr "Perfil de l'usuari" +msgstr "Actualitzeu el vostre perfil" msgid "Here you can update your MXit profile" -msgstr "" +msgstr "Aqu鱈 podeu actualitzar el vostre perfil MXit" msgid "View Splash" -msgstr "" - -#, fuzzy +msgstr "Mostra la pantalla de presentaci坦" + msgid "There is no splash-screen currently available" -msgstr "El xat no est� actualment disponible" - -#, fuzzy +msgstr "No hi ha cap pantalla de presentaci坦 disponible" + msgid "About" -msgstr "Quant a mi" +msgstr "Quant a" #. display / change mood -#, fuzzy msgid "Change Mood..." -msgstr "Canvia la contrasenya..." +msgstr "Canvia l'estat d'�nim..." #. display / change profile -#, fuzzy msgid "Change Profile..." -msgstr "Canvia la contrasenya..." +msgstr "Canvia el perfil..." #. display splash-screen -#, fuzzy msgid "View Splash..." -msgstr "Mostra el registre..." +msgstr "Mostra la pantalla de presentaci坦..." #. display plugin version -#, fuzzy msgid "About..." -msgstr "Quant a mi" +msgstr "Quant a..." #. the file is too big -#, fuzzy msgid "The file you are trying to send is too large!" -msgstr "El missatge 辿s massa llarg." - -msgid "" -"Unable to connect to the mxit HTTP server. Please check your server server " -"settings." -msgstr "" - -#, fuzzy +msgstr "El fitxer que voleu enviar 辿s massa llarg." + +msgid "" +"Unable to connect to the MXit HTTP server. Please check your server settings." +msgstr "" +"No s'ha pogut connectar al servidor HTTP de MXit. Comproveu la configuraci坦 " +"del servidor." + msgid "Logging In..." -msgstr "S'est� entrant" - -#, fuzzy -msgid "" -"Unable to connect to the mxit server. Please check your server server " -"settings." -msgstr "" -"No s'ha pogut connectar al servidor. Introdu誰u l'adre巽a del servidor al qual " -"us vulgueu connectar." - -#, fuzzy +msgstr "S'est� entrant..." + +msgid "" +"Unable to connect to the MXit server. Please check your server settings." +msgstr "No s'ha pogut connectar al servidor MXit. Comproveu la configuraci坦." + msgid "Connecting..." -msgstr "S'est� connectant" +msgstr "S'est� connectant..." + +msgid "The nick name you entered is invalid." +msgstr "El sobrenom que heu introdu誰t no 辿s v�lid." + +msgid "The PIN you entered has an invalid length [7-10]." +msgstr "La llargada del PIN que heu introdu誰t no 辿s v�lida [4-10]." #. mxit login name msgid "MXit Login Name" -msgstr "" +msgstr "Nom d'usuari de MXit" #. nick name -#, fuzzy msgid "Nick Name" msgstr "Sobrenom" #. show the form to the user to complete -#, fuzzy msgid "Register New MXit Account" -msgstr "Registra un compte XMPP nou" - -#, fuzzy +msgstr "Crea un compte MXit nou" + msgid "Please fill in the following fields:" -msgstr "Empleneu els camps seg端ents" +msgstr "Empleneu aquests camps:" #. no reply from the WAP site msgid "Error contacting the MXit WAP site. Please try again later." msgstr "" +"S'ha produ誰t un error en connectar al lloc WAP de MXit. Intenteu-ho m辿s tard." #. wapserver error #. server could not find the user msgid "" "MXit is currently unable to process the request. Please try again later." msgstr "" +"Ara mateix MXit no pot processar la sol揃licitud. Torneu-ho a intentar m辿s " +"tard." msgid "Wrong security code entered. Please try again later." msgstr "" +"S'ha introdu誰t un codi de seguretat equivocat. Torneu-ho a intentar m辿s tard." msgid "Your session has expired. Please try again later." -msgstr "" +msgstr "La vostra sessi坦 ha expirat. Torneu-ho a intentar m辿s tard." msgid "Invalid country selected. Please try again." -msgstr "" +msgstr "El pa鱈s seleccionat no 辿s v�lid. Intenteu-ho de nou." msgid "Username is not registered. Please register first." -msgstr "" +msgstr "El nom d'usuari no est� registrat, cal que primer el registreu." msgid "Username is already registered. Please choose another username." -msgstr "" - -#, fuzzy +msgstr "Aquest nom d'usuari ja est� registrat, escolliu-ne un altre." + msgid "Internal error. Please try again later." -msgstr "El servidor no est� disponible, proveu-ho m辿s tard" +msgstr "S'ha produ誰t un error intern. Torneu-ho a provar m辿s tard." msgid "You did not enter the security code" -msgstr "" - -#, fuzzy +msgstr "No heu introdu誰t codi de seguretat" + msgid "Security Code" -msgstr "Seguretat habilitada" +msgstr "Codi de seguretat" #. ask for input -#, fuzzy msgid "Enter Security Code" -msgstr "Introdu誰u el codi" - -#, fuzzy +msgstr "Introdu誰u el codi de seguretat" + msgid "Your Country" -msgstr "Pa鱈s" - -#, fuzzy +msgstr "El vostre pa鱈s" + msgid "Your Language" -msgstr "Idioma preferit" +msgstr "La vostra llengua" #. display the form to the user and wait for his/her input -#, fuzzy msgid "MXit Authorization" -msgstr "Sol揃licitud d'autoritzaci坦" +msgstr "Autoritzaci坦 MXit" msgid "MXit account validation" -msgstr "" - -#, fuzzy +msgstr "Validaci坦 del compte MXit" + msgid "Retrieving User Information..." -msgstr "Informaci坦 del servidor" - -#, fuzzy +msgstr "S'est� obtenint informaci坦 de l'usuari..." + +msgid "Loading menu..." +msgstr "S'est� carregant el men炭..." + msgid "Status Message" msgstr "Missatge d'estat" # Segons la viquip竪dia -#, fuzzy msgid "Hidden Number" -msgstr "Nom del mig" - -#, fuzzy +msgstr "Nombre ocult" + msgid "Your Mobile Number..." -msgstr "Estableix el n炭mero del tel竪fon m嘆bil..." +msgstr "El vostre tel竪fon m嘆bil..." #. Configuration options #. WAP server (reference: "libpurple/accountopt.h") -#, fuzzy msgid "WAP Server" -msgstr "Servidor" - -#, fuzzy +msgstr "Servidor WAP" + msgid "Connect via HTTP" -msgstr "Connecta amb TCP" +msgstr "Connecta amb HTTP" msgid "Enable splash-screen popup" -msgstr "" +msgstr "Habilita la pantalla de presentaci坦 emergent" #. we must have lost the connection, so terminate it so that we can reconnect -#, fuzzy msgid "We have lost the connection to MXit. Please reconnect." -msgstr "Heu perdut la connexi坦 a la sala de xat %s." +msgstr "S'ha trencat la connexi坦 a MXit. Torneu-vos a connectar." #. packet could not be queued for transmission -#, fuzzy msgid "Message Send Error" -msgstr "Missatge d'error de l'XMPP" - -#, fuzzy +msgstr "S'ha produ誰t un error en enviar el missatge" + msgid "Unable to process your request at this time" -msgstr "No s'ha pogut resoldre el nom de l'ordinador" +msgstr "Ara mateix no es pot processar la sol揃licitud" msgid "Timeout while waiting for a response from the MXit server." msgstr "" - -#, fuzzy +"S'ha exhaurit el temps d'espera per obtenir una resposta del servidor MXit." + msgid "Successfully Logged In..." -msgstr "S'ha entrat al Qun" - -#, fuzzy +msgstr "S'ha pogut entrar..." + +#, c-format +msgid "" +"%s sent you an encrypted message, but it is not supported on this client." +msgstr "" +"%s us ha enviat un missatge xifrat, per嘆 aquest client no implementa el " +"m竪tode emprat per xifrar." + msgid "Message Error" -msgstr "Missatge d'error de l'XMPP" +msgstr "S'ha produ誰t un error en el missatge" msgid "Cannot perform redirect using the specified protocol" -msgstr "" - -#, fuzzy +msgstr "No es pot redireccionar amb el protocol seleccionat" + +msgid "An internal MXit server error occurred." +msgstr "S'ha produ誰t un error intern del servidor MXit." + +#, c-format +msgid "Login error: %s (%i)" +msgstr "S'ha produ誰t un error en entrar: %s (%i)" + +#, c-format +msgid "Logout error: %s (%i)" +msgstr "S'ha produ誰t un error en sortir: %s (%i)" + msgid "Contact Error" -msgstr "Error de connexi坦" - -#, fuzzy +msgstr "S'ha produ誰t un error en un contacte" + msgid "Message Sending Error" -msgstr "Missatge d'error de l'XMPP" - -#, fuzzy +msgstr "S'ha produ誰t un error en enviar un missatge" + msgid "Status Error" -msgstr "Error de flux" - -#, fuzzy +msgstr "S'ha produ誰t un error en l'estat" + msgid "Mood Error" -msgstr "Error en la icona" - -#, fuzzy +msgstr "S'ha produ誰t un error en l'estat d'�nim" + msgid "Invitation Error" -msgstr "Error en desconnectar" - -#, fuzzy +msgstr "S'ha produ誰t un error en la invitaci坦" + msgid "Contact Removal Error" -msgstr "Error de connexi坦" - -#, fuzzy +msgstr "S'ha produ誰t un error en suprimir un contacte" + msgid "Subscription Error" -msgstr "Subscripci坦" - -#, fuzzy +msgstr "S'ha produ誰t un error en la subscripci坦" + msgid "Contact Update Error" -msgstr "Error de connexi坦" - -#, fuzzy +msgstr "S'ha produ誰t un error en actualitzar un contacte" + msgid "File Transfer Error" -msgstr "Transfer竪ncia de fitxers" - -#, fuzzy +msgstr "S'ha produ誰t un error en la transfer竪ncia de fitxers" + msgid "Cannot create MultiMx room" -msgstr "No s'ha pogut crear l'av鱈s" - -#, fuzzy +msgstr "No s'ha pogut crear una sala MultiMx" + msgid "MultiMx Invitation Error" -msgstr "Error en desconnectar" - -#, fuzzy +msgstr "S'ha produ誰t un error en la invitaci坦 MultiMix" + msgid "Profile Error" -msgstr "Error d'escriptura" +msgstr "S'ha produ誰t un error en el perfil" #. bad packet msgid "Invalid packet received from MXit." -msgstr "" +msgstr "S'ha rebut un paquet inv�lid de MXit." #. connection error msgid "A connection error occurred to MXit. (read stage 0x01)" -msgstr "" +msgstr "S'ha produ誰t un error de connexi坦 a MXit. (read stage 0x01)" #. connection closed msgid "A connection error occurred to MXit. (read stage 0x02)" -msgstr "" +msgstr "S'ha produ誰t un error de conneci坦 a MXit. (read stage 0x02)" msgid "A connection error occurred to MXit. (read stage 0x03)" -msgstr "" +msgstr "S'ha produ誰t un error de connexi坦 a MXit. (read stage 0x03)" #. malformed packet length record (too long) msgid "A connection error occurred to MXit. (read stage 0x04)" -msgstr "" +msgstr "S'ha produ誰t un error de connexi坦 a MXit. (read stage 0x04)" #. connection error msgid "A connection error occurred to MXit. (read stage 0x05)" -msgstr "" +msgstr "S'ha produ誰t un error de connexi坦 a MXit. (read stage 0x05)" #. connection closed msgid "A connection error occurred to MXit. (read stage 0x06)" -msgstr "" - -msgid "Angry" -msgstr "Enfadat" - -msgid "Excited" -msgstr "Excitat" - -#, fuzzy -msgid "Grumpy" -msgstr "Grup" - -msgid "Happy" -msgstr "Content" - -msgid "In Love" -msgstr "Enamorat" - -msgid "Invincible" -msgstr "Invencible" - -msgid "Sad" -msgstr "Trist" - -#, fuzzy -msgid "Hot" -msgstr "Ordinador:" - -#, fuzzy -msgid "Sick" -msgstr "Sobrenom" - -msgid "Sleepy" -msgstr "Endormiscat" - -#, fuzzy +msgstr "S'ha produ誰t un error de connexi坦 a MXit. (read stage 0x06)" + msgid "Pending" -msgstr "S'est� enviant" - -#, fuzzy +msgstr "Pendent" + msgid "Invited" -msgstr "Convida" - -#, fuzzy +msgstr "Convidat" + msgid "Rejected" -msgstr "Rebutja" - -#, fuzzy +msgstr "Rebutjat" + msgid "Deleted" -msgstr "Suprimeix" +msgstr "Suprimit" msgid "MXit Advertising" -msgstr "" - -#, fuzzy +msgstr "Anuncis MXit" + msgid "More Information" -msgstr "Informaci坦 de la feina" +msgstr "M辿s informaci坦" #, c-format msgid "No such user: %s" @@ -6353,7 +6362,7 @@ msgstr "No s'ha establer cap nom d'usuari" msgid "Please enter a username to check its availability:" -msgstr "Entreu un nom d'usuari per a comprovar-ne la disponibilitat:" +msgstr "Introdu誰u un nom d'usuari per a comprovar-ne la disponibilitat:" #. TODO: icons for each zap #. Lots of comments for translators: @@ -6374,7 +6383,7 @@ #. Whack means "to hit or strike someone with a sharp blow" msgid "Whack" -msgstr "bufetejar" +msgstr "Bufetejar" #, c-format msgid "%s has whacked you!" @@ -6548,7 +6557,8 @@ msgstr "L'arxiu mestre est� desconfigurat" msgid "Could not recognize the host of the username you entered" -msgstr "No s'ha pogut recon竪ixer l'ordinador del nom d'usuari que heu entrat" +msgstr "" +"No s'ha pogut recon竪ixer l'ordinador del nom d'usuari que heu introdu誰t" msgid "" "Your account has been disabled because too many incorrect passwords were " @@ -6930,47 +6940,42 @@ msgstr "No es pot fer mentre estigui a AOL" msgid "Cannot receive IM due to parental controls" -msgstr "" +msgstr "Els controls parentals no permeten que es pugui rebre MI" msgid "Cannot send SMS without accepting terms" -msgstr "" - -#, fuzzy +msgstr "No es poden enviar SMS si no s'accepten els termes" + msgid "Cannot send SMS" -msgstr "No s'ha pogut enviar el fitxer" +msgstr "No s'ha pogut enviar l'SMS" #. SMS_WITHOUT_DISCLAIMER is weird -#, fuzzy msgid "Cannot send SMS to this country" -msgstr "No es pot enviar un directori." +msgstr "No es poden enviar SMS a aquest pa鱈s" #. Undocumented -#, fuzzy msgid "Cannot send SMS to unknown country" -msgstr "No es poden enviar SMS, no es coneix l'operador de telefona m嘆bil." +msgstr "No es poden enviar SMS a un pa鱈s desconegut" msgid "Bot accounts cannot initiate IMs" -msgstr "" +msgstr "Els robots no poden iniciar MI" msgid "Bot account cannot IM this user" -msgstr "" +msgstr "Aquest robot no pot fer MI amb aquest usuari" msgid "Bot account reached IM limit" -msgstr "" +msgstr "Aquest robot ha superat el l鱈mit de MI" msgid "Bot account reached daily IM limit" -msgstr "" +msgstr "Aquest robot ha superat el l鱈mit de MI diari" msgid "Bot account reached monthly IM limit" -msgstr "" - -#, fuzzy +msgstr "Aquest robot ha superat el l鱈mit de MI mensual" + msgid "Unable to receive offline messages" -msgstr "No s'ha pogut enviar el missatge." - -#, fuzzy +msgstr "No s'han pogut rebre els missatges fora de l鱈nia" + msgid "Offline message store full" -msgstr "Missatge de fora de l鱈nia" +msgstr "El dip嘆sit per a missatge de fora de l鱈nia 辿s ple" msgid "" "(There was an error receiving this message. The buddy you are speaking with " @@ -7143,15 +7148,14 @@ "El servei de missatges instantanis d'AOL no est� disponible temporalment." #. username connecting too frequently -#, fuzzy msgid "" "Your username has been connecting and disconnecting too frequently. Wait ten " "minutes and try again. If you continue to try, you will need to wait even " "longer." msgstr "" -"Heu estat connectant-vos i desconnectat-vos amb massa freq端竪ncia. Espereu " -"deu minuts i intenteu-ho de nou. Si continueu intentant-ho, haureu d'esperar " -"encara m辿s temps." +"El vostre usuari s'ha estat connectant i desconnectat amb massa freq端竪ncia. " +"Espereu deu minuts i intenteu-ho de nou. Si continueu intentant-ho, haureu " +"d'esperar encara m辿s temps." #. client too old #, c-format @@ -7159,18 +7163,17 @@ msgstr "La versi坦 del client que useu 辿s massa antiga, actualitzeu-la a %s" #. IP address connecting too frequently -#, fuzzy msgid "" "Your IP address has been connecting and disconnecting too frequently. Wait a " "minute and try again. If you continue to try, you will need to wait even " "longer." msgstr "" -"Heu estat connectant-vos i desconnectat-vos amb massa freq端竪ncia. Espereu un " -"minut i intenteu-ho de nou. Si continueu intentant-ho, haureu d'esperar " -"encara m辿s temps." +"La vostra adre巽a IP s'ha estat connectant i desconnectat amb massa " +"freq端竪ncia. Espereu un minut i intenteu-ho de nou. Si continueu intentant-" +"ho, haureu d'esperar encara m辿s temps." msgid "The SecurID key entered is invalid" -msgstr "La clau SecurID que heu entrat no 辿s v�lida" +msgstr "La clau SecurID que heu introdu誰t no 辿s v�lida" msgid "Enter SecurID" msgstr "Introdu誰u el SecureID" @@ -7185,7 +7188,8 @@ msgstr "No s'ha pogut inicialitzar la connexi坦" msgid "Please authorize me so I can add you to my buddy list." -msgstr "Autoritzeu-me perqu竪 us pugui afegir a la meva llista d'amics." +msgstr "" +"Si us plau, autoritzeu-me perqu竪 us pugui afegir a la meva llista d'amics." msgid "No reason given." msgstr "No s'ha indicat cap motiu." @@ -7305,21 +7309,21 @@ msgstr[0] "Heu perdut %hu missatge de %s per motius desconeguts." msgstr[1] "Heu perdut %hu missatges de %s per motius desconeguts." -#, fuzzy, c-format +#, c-format msgid "Unable to send message: %s (%s)" -msgstr "No s'ha pogut enviar el missatge (%s)." +msgstr "No s'ha pogut enviar el missatge: %s (%s)" #, c-format msgid "Unable to send message: %s" msgstr "No s'ha pogut enviar el missatge: %s" -#, fuzzy, c-format +#, c-format msgid "Unable to send message to %s: %s (%s)" -msgstr "No s'ha pogut enviar el missatge a %s:" - -#, fuzzy, c-format +msgstr "No s'ha pogut enviar el missatge a %s: %s (%s)" + +#, c-format msgid "Unable to send message to %s: %s" -msgstr "No s'ha pogut enviar el missatge a %s:" +msgstr "No s'ha pogut enviar el missatge a %s: %s" #, c-format msgid "User information not available: %s" @@ -7348,13 +7352,12 @@ "[No s'ha pogut mostrar el missatge d'aquest usuari perqu竪 contenia car�cters " "inv�lids.]" -#, fuzzy msgid "" "The last action you attempted could not be performed because you are over " "the rate limit. Please wait 10 seconds and try again.\n" msgstr "" "No s'ha pogut realitzar la darrera acci坦 que hav鱈eu intentat perqu竪 esteu " -"per sobre del l鱈mit. Espereu 10 segons i torneu-ho a provar." +"per sobre del l鱈mit. Espereu 10 segons i torneu-ho a provar.\n" #, c-format msgid "You have been disconnected from chat room %s." @@ -8648,7 +8651,7 @@ msgstr "ID de Sametime" msgid "An ambiguous user ID was entered" -msgstr "S'ha entrat un ID d'usuari ambigu" +msgstr "S'ha introdu誰t un ID d'usuari ambigu" #, c-format msgid "" @@ -10771,6 +10774,8 @@ msgid "" "Chat over IM. Supports AIM, Google Talk, Jabber/XMPP, MSN, Yahoo and more" msgstr "" +"Xategeu amb missatgeria instant�nia, amb AIM, Google Talk, Jabber/XMPP, MSN, " +"Yahoo i m辿s" msgid "Internet Messenger" msgstr "Missatger d'Internet" @@ -11494,7 +11499,7 @@ msgstr "/Amics/Ordena els amics" msgid "Type the host name for this certificate." -msgstr "Entreu el nom de l'ordinador al qual pertany aquest certificat." +msgstr "Introdu誰u el nom de l'ordinador al qual pertany aquest certificat." #. Widget creation function msgid "SSL Servers" @@ -12044,6 +12049,9 @@ msgid "Mongolian" msgstr "Mongol" +msgid "Malay" +msgstr "Malai" + msgid "Bokm奪l Norwegian" msgstr "Noruec bokm奪l" @@ -12115,6 +12123,9 @@ msgid "Turkish" msgstr "Turc" +msgid "Ukranian" +msgstr "Ucra誰n竪s" + # FIXME? msgid "Urdu" msgstr "Urdu" @@ -13070,8 +13081,10 @@ msgid "(Custom)" msgstr "(Personalitzat)" -msgid "(Default)" -msgstr "(Predeterminat)" +# Nom propi: http://www.penguinpimps.com/? +# "proxenetes" no queda gens, s'hi podria posar alguna altra cosa (josep) +msgid "Penguin Pimps" +msgstr "Penguin Pimps" msgid "The default Pidgin sound theme" msgstr "El tema de sons predeterminat del pidgin" @@ -13091,18 +13104,30 @@ msgid "Theme failed to copy." msgstr "No s'ha pogut copiar el tema." -msgid "Install Theme" -msgstr "Instal揃la el tema" - -msgid "" -"Select a smiley theme that you would like to use from the list below. New " -"themes can be installed by dragging and dropping them onto the theme list." -msgstr "" -"Seleccioneu un tema d'emoticones de la llista seg端ent. Es poden instal揃lar " -"temes nous arrossegant-los i deixant-los anar a la llista de temes." - -msgid "Icon" -msgstr "Icona" +msgid "Theme Selections" +msgstr "Selecci坦 del tema" + +#. Instructions +msgid "" +"Select a theme that you would like to use from the lists below.\n" +"New themes can be installed by dragging and dropping them onto the theme " +"list." +msgstr "" +"Seleccioneu el tema que vulgueu emprar de la llista d'aqu鱈 sota.\n" +"Es poden afegir temes nous arrossegant-los i deixant-los anar a la llista de " +"temes." + +msgid "Buddy List Theme:" +msgstr "Tema de la llista d'amics:" + +msgid "Status Icon Theme:" +msgstr "Tema de la icona d'estat:" + +msgid "Sound Theme:" +msgstr "Tema de sons:" + +msgid "Smiley Theme:" +msgstr "Tema d'emoticones:" msgid "Keyboard Shortcuts" msgstr "Dreceres de teclat" @@ -13110,10 +13135,6 @@ msgid "Cl_ose conversations with the Escape key" msgstr "Tanca les converses amb la tecla d'_escapament" -#. Buddy List Themes -msgid "Buddy List Theme" -msgstr "Tema de la llista d'amics" - #. System Tray msgid "System Tray Icon" msgstr "Icona d'estat" @@ -13200,9 +13221,6 @@ msgid "Font" msgstr "Tipus de lletra" -msgid "Use document font from _theme" -msgstr "_Empra el tipus de lletra del document del tema" - msgid "Use font from _theme" msgstr "Empra el tipus de lletra del _tema" @@ -13248,17 +13266,14 @@ msgid "_Enable automatic router port forwarding" msgstr "_Habilita la desviaci坦 autom�tica de ports de l'encaminador" -#, fuzzy msgid "_Manually specify range of ports to listen on:" -msgstr "_Especifica manualment el rang de ports on escoltar" - -#, fuzzy +msgstr "_Especifica manualment el rang de ports on escoltar:" + msgid "_Start:" -msgstr "E_stat:" - -#, fuzzy +msgstr "_Inici:" + msgid "_End:" -msgstr "_Amplia" +msgstr "_Final:" #. TURN server msgid "Relay Server (TURN)" @@ -13267,60 +13282,11 @@ msgid "_TURN server:" msgstr "Servidor _TURN:" -#, fuzzy msgid "Use_rname:" -msgstr "Nom d'usuari:" - -#, fuzzy +msgstr "Nom d'_usuari:" + msgid "Pass_word:" -msgstr "Contrasenya:" - -msgid "Proxy Server & Browser" -msgstr "Servidor intermediari i navegador" - -msgid "<b>Proxy configuration program was not found.</b>" -msgstr "" -"<b>No s'ha pogut trobar el programa de configuraci坦 del servidor " -"intermediari.</b>" - -msgid "<b>Browser configuration program was not found.</b>" -msgstr "<b>No s'ha pogut trobar el programa de configuraci坦 del navegador.</b>" - -msgid "" -"Proxy & Browser preferences are configured\n" -"in GNOME Preferences" -msgstr "" -"Les prefer竪ncies del servidor intermediari i\n" -"del navegador les gestiona el GNOME" - -msgid "Configure _Proxy" -msgstr "Configura el _servidor intermediari" - -msgid "Configure _Browser" -msgstr "Configura el _navegador" - -msgid "Proxy Server" -msgstr "Servidor intermediari" - -#. This is a global option that affects SOCKS4 usage even with account-specific proxy settings -#, fuzzy -msgid "Use remote _DNS with SOCKS4 proxies" -msgstr "Empra DNS remot amb servidors intermedi�ris SOCKS4" - -#, fuzzy -msgid "Proxy t_ype:" -msgstr "_Tipus de servidor intermediari" - -msgid "No proxy" -msgstr "Sense servidor intermediari" - -#, fuzzy -msgid "P_ort:" -msgstr "Port:" - -#, fuzzy -msgid "User_name:" -msgstr "Nom d'usuari:" +msgstr "Contrasen_ya:" msgid "Seamonkey" msgstr "Seamonkey" @@ -13361,6 +13327,15 @@ msgid "Browser Selection" msgstr "Selecci坦 del navegador" +msgid "Browser preferences are configured in GNOME preferences" +msgstr "Les prefer竪ncies del navegador es configuren a trav辿s del GNOME" + +msgid "<b>Browser configuration program was not found.</b>" +msgstr "<b>No s'ha pogut trobar el programa de configuraci坦 del navegador.</b>" + +msgid "Configure _Browser" +msgstr "Configura el _navegador" + msgid "_Browser:" msgstr "_Navegador:" @@ -13384,6 +13359,38 @@ "_Manual:\n" "(%s per a l'URL)" +msgid "Proxy Server" +msgstr "Servidor intermediari" + +msgid "Proxy preferences are configured in GNOME preferences" +msgstr "" +"Les prefer竪ncies del servidor intermediari es configuren a trav辿s el GNOME" + +msgid "<b>Proxy configuration program was not found.</b>" +msgstr "" +"<b>No s'ha pogut trobar el programa de configuraci坦 del servidor " +"intermediari.</b>" + +msgid "Configure _Proxy" +msgstr "Configura el _servidor intermediari" + +#. This is a global option that affects SOCKS4 usage even with +#. * account-specific proxy settings +msgid "Use remote _DNS with SOCKS4 proxies" +msgstr "Empra _DNS remot amb servidors intermedi�ris SOCKS4" + +msgid "Proxy t_ype:" +msgstr "_Tipus de servidor intermediari:" + +msgid "No proxy" +msgstr "Sense servidor intermediari" + +msgid "P_ort:" +msgstr "P_ort:" + +msgid "User_name:" +msgstr "_Nom d'usuari:" + msgid "Log _format:" msgstr "_Format del registre:" @@ -13467,25 +13474,18 @@ msgid "Based on keyboard or mouse use" msgstr "Basat en l'炭s del teclat o el ratol鱈" +msgid "_Minutes before becoming idle:" +msgstr "_Minuts abans de passar a inactiu:" + +msgid "Change to this status when _idle:" +msgstr "_Canvia l'estat quan estigui inactiu:" + msgid "_Auto-reply:" msgstr "Resposta _autom�tica:" msgid "When both away and idle" msgstr "En estar absent i inactiu alhora" -#. Auto-away stuff -msgid "Auto-away" -msgstr "Auto-abs竪ncia" - -msgid "_Minutes before becoming idle:" -msgstr "_Minuts abans de passar a inactiu:" - -msgid "Change status when _idle" -msgstr "_Canvia l'estat quan estigui inactiu" - -msgid "Change _status to:" -msgstr "Canvia l'_estat a:" - #. Signon status stuff msgid "Status at Startup" msgstr "L'estat en iniciar" @@ -13499,15 +13499,15 @@ msgid "Interface" msgstr "Interf鱈cie" -msgid "Smiley Themes" -msgstr "Temes d'emoticones" - msgid "Browser" msgstr "Navegador" msgid "Status / Idle" msgstr "Estat / Inactiu" +msgid "Themes" +msgstr "Temes" + msgid "Allow all users to contact me" msgstr "Permet a tots els usuaris contactar amb mi" @@ -13854,11 +13854,6 @@ msgid "Pidgin smileys" msgstr "Emoticones del Pidgin" -# Nom propi: http://www.penguinpimps.com/? -# "proxenetes" no queda gens, s'hi podria posar alguna altra cosa (josep) -msgid "Penguin Pimps" -msgstr "Penguin Pimps" - msgid "Selecting this disables graphical emoticons." msgstr "Si seleccioneu aix嘆 s'inhabilitaran les emoticones gr�fiques." @@ -14505,6 +14500,9 @@ msgid "Conversation Entry" msgstr "Entrada de la conversa" +msgid "Conversation History" +msgstr "Hist嘆ric de converses" + msgid "Request Dialog" msgstr "Di�leg de sol揃licitud" @@ -15038,6 +15036,27 @@ msgid "This plugin is useful for debbuging XMPP servers or clients." msgstr "Aquest connector 辿s 炭til per a depurar servidors i clients XMPP." +#~ msgid "(Default)" +#~ msgstr "(Predeterminat)" + +#~ msgid "Install Theme" +#~ msgstr "Instal揃la el tema" + +#~ msgid "Icon" +#~ msgstr "Icona" + +#~ msgid "Use document font from _theme" +#~ msgstr "_Empra el tipus de lletra del document del tema" + +#~ msgid "Proxy Server & Browser" +#~ msgstr "Servidor intermediari i navegador" + +#~ msgid "Auto-away" +#~ msgstr "Auto-abs竪ncia" + +#~ msgid "Change _status to:" +#~ msgstr "Canvia l'_estat a:" + #~ msgid "Send instant messages over multiple protocols" #~ msgstr "Envieu missatges instantanis en m炭ltiples protocols" @@ -15794,7 +15813,7 @@ #~ msgstr "Estat desconegut" #~ msgid "You entered a group ID outside the acceptable range" -#~ msgstr "Heu entrat un identificador de grup fora del rang" +#~ msgstr "Heu introdu誰t un identificador de grup fora del rang" #~ msgid "Are you sure you want to leave this Qun?" #~ msgstr "Esteu segur que voleu deixar aquest Qun?" @@ -16074,9 +16093,6 @@ #~ msgid "_Send To" #~ msgstr "_Envia a" -#~ msgid "Conversation History" -#~ msgstr "Hist嘆ric de converses" - #~ msgid "Log Viewer" #~ msgstr "Visualitzador del registre" @@ -17344,9 +17360,6 @@ #~ msgid "Burmese" #~ msgstr "Birm�" -#~ msgid "Ukrainian" -#~ msgstr "Ucra誰n竪s" - #~ msgid "Xhosa" #~ msgstr "Xosa"
--- a/po/fr.po Sat Nov 28 05:51:05 2009 +0000 +++ b/po/fr.po Sun Nov 29 17:32:05 2009 +0000 @@ -21,8 +21,8 @@ msgstr "" "Project-Id-Version: Pidgin\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-11-14 20:34-0500\n" -"PO-Revision-Date: 2009-08-29 09:40+0200\n" +"POT-Creation-Date: 2009-11-28 15:44+0100\n" +"PO-Revision-Date: 2009-11-28 15:03+0100\n" "Last-Translator: �ric Boumaour <zongo_fr@users.sourceforge.net>\n" "Language-Team: fr <fr@li.org>\n" "MIME-Version: 1.0\n" @@ -644,9 +644,8 @@ msgid "Enable Sounds" msgstr "Activer les sons" -#, fuzzy msgid "You are not connected." -msgstr "Impossible de se connecter." +msgstr "Vous n'棚tes pas connect辿." msgid "<AUTO-REPLY> " msgstr "<R辿ponse automatique> " @@ -657,9 +656,8 @@ msgstr[0] "Liste de %d utilisateur�:\n" msgstr[1] "Liste de %d utilisateurs�:\n" -#, fuzzy msgid "Supported debug options are: plugins version" -msgstr "Les options de d辿buggage support辿es sont�: version" +msgstr "Les options de d辿buggage support辿es sont�: plugins version" msgid "No such command (in this context)." msgstr "Cette commande n'existe pas dans ce contexte." @@ -1545,10 +1543,10 @@ #, c-format msgid "TinyURL for above: %s" -msgstr "" +msgstr "TinyURL pour ci-dessus�: %s" msgid "Please wait while TinyURL fetches a shorter URL ..." -msgstr "" +msgstr "Veuillez patientez pendant que TinyURL g辿n竪re une URL plus courte..." msgid "Only create TinyURL for URLs of this length or greater" msgstr "Cr辿ation de TinyURL seulement pour les liens de cette taille mini" @@ -1570,6 +1568,7 @@ msgid "Online" msgstr "En ligne" +#. primative, no, id, name msgid "Offline" msgstr "D辿connect辿" @@ -1678,6 +1677,8 @@ "The certificate is not trusted because no certificate that can verify it is " "currently trusted." msgstr "" +"Il n'y a pas de confiance dans ce certificat parce qu'il n'y a pas de " +"confiance dans aucun des certificats qui le v辿rifient." msgid "The certificate is not valid yet." msgstr "Le certificat n'est pas encore valide." @@ -1909,9 +1910,9 @@ msgid "Resolver process exited without answering our request" msgstr "Le processus de r辿solution s'est arr棚t辿 sans r辿pondre." -#, fuzzy, c-format +#, c-format msgid "Error converting %s to punycode: %d" -msgstr "Erreur � la r辿solution du nom %s�: %d" +msgstr "Erreur � la conversion de %s en punycode�: %d" #, c-format msgid "Thread creation failure: %s" @@ -2234,17 +2235,14 @@ msgid "A non-recoverable Farsight2 error has occurred." msgstr "Une erreur insurmontable de Farsight2 est survenue." -#, fuzzy msgid "Conference error" -msgstr "Erreur de conf辿rence." - -#, fuzzy +msgstr "Erreur de conf辿rence" + msgid "Error with your microphone" -msgstr "Probl竪me avec votre micro." - -#, fuzzy +msgstr "Probl竪me avec votre micro" + msgid "Error with your webcam" -msgstr "Probl竪me avec votre webcam." +msgstr "Probl竪me avec votre webcam" #, c-format msgid "Error creating session: %s" @@ -3199,10 +3197,12 @@ msgid "Add to chat..." msgstr "Ajouter � la discussion..." +#. 0 #. Global msgid "Available" msgstr "Disponible" +#. 1 #. get_yahoo_status_from_purple_status() returns YAHOO_STATUS_CUSTOM for #. * the generic away state (YAHOO_STATUS_TYPE_AWAY) with no message #. Away stuff @@ -4024,12 +4024,14 @@ msgstr "D辿connexion" # Pour avoir le m棚me texte que 束�Free for Chat�損 +#. 2 msgid "Chatty" msgstr "Libre pour discuter" msgid "Extended Away" msgstr "Longue absence" +#. 3 msgid "Do Not Disturb" msgstr "Ne pas d辿ranger" @@ -4297,6 +4299,7 @@ msgid "None (To pending)" msgstr "Aucune (Destination en attente)" +#. 0 msgid "None" msgstr "Aucun" @@ -4606,9 +4609,8 @@ msgid "configure: Configure a chat room." msgstr "configure�: Configurer un salon de discussions" -#, fuzzy msgid "part [message]: Leave the room." -msgstr "part [salon]�: Quitter le salon" +msgstr "part [salon]�: Quitter le salon." msgid "register: Register with a chat room." msgstr "register�: S'enregistrer dans un salon" @@ -5280,7 +5282,7 @@ "Le support de SSL est n辿cessaire pour MSN. Veuillez installer une " "biblioth竪que SSL pour l'application." -#, fuzzy, c-format +#, c-format msgid "" "Unable to add the buddy %s because the username is invalid. Usernames must " "be valid email addresses." @@ -5509,9 +5511,8 @@ msgid "Unknown error (%d)" msgstr "Erreur inconnue (%d)" -#, fuzzy msgid "Unable to remove user" -msgstr "Impossible d'ajouter un utilisateur" +msgstr "Impossible de supprimer l'utilisateur" msgid "Mobile message was not sent because it was too long." msgstr "Le message mobile n'a pas 辿t辿 envoy辿 parce qu'il est trop long." @@ -5751,28 +5752,84 @@ msgid "%s has removed you from his or her buddy list." msgstr "L'utilisateur %s vous a supprim辿 de sa liste de contacts." +#. 1 +msgid "Angry" +msgstr "En col竪re" + +#. 2 +msgid "Excited" +msgstr "Excit辿" + +#. 3 +msgid "Grumpy" +msgstr "Grognon" + +#. 4 +msgid "Happy" +msgstr "Heureux" + +#. 5 +msgid "In Love" +msgstr "Amoureux" + +#. 6 +msgid "Invincible" +msgstr "Invincible" + +#. 7 +msgid "Sad" +msgstr "Triste" + +#. 8 +msgid "Hot" +msgstr "Chaud" + +#. 9 +msgid "Sick" +msgstr "Malade" + +#. 10 +msgid "Sleepy" +msgstr "Somnolant" + #. show current mood -#, fuzzy msgid "Current Mood" -msgstr "Votre humeur actuelle" +msgstr "Humeur actuelle" #. add all moods to list -#, fuzzy msgid "New Mood" -msgstr "Humeur de l'utilisateur" - -#, fuzzy +msgstr "Nouvelle humeur" + msgid "Change your Mood" -msgstr "Changer de mot de passe" - -#, fuzzy +msgstr "Changer d'humeur" + msgid "How do you feel right now?" -msgstr "Je ne suis pas l� pour l'instant." +msgstr "Comment vous sentez-vous�?" + +msgid "The PIN you entered is invalid." +msgstr "Le code d'acc竪s est non valide." + +msgid "The PIN you entered has an invalid length [4-10]." +msgstr "Le code d'acc竪s n'a pas la bonne longueur [4-10]." + +msgid "The PIN is invalid. It should only consist of digits [0-9]." +msgstr "" +"Le code d'acc竪s est non valide. Il doit 棚tre uniquement compos辿 de chiffres." + +msgid "The two PINs you entered do not match." +msgstr "Les nouveaux codes d'acc竪s diff竪rent." + +msgid "The name you entered is invalid." +msgstr "Le nom saisi est non valide." + +msgid "" +"The birthday you entered is invalid. The correct format is: 'YYYY-MM-DD'." +msgstr "" +"La date de naissance saisie est non valide. Le format est�: AAAA-MM-JJ." #. show error to user -#, fuzzy msgid "Profile Update Error" -msgstr "Erreur d'辿criture" +msgstr "Erreur � la mise � jour du profil" #. no profile information yet, so we cannot update #. (reference: "libpurple/request.h") @@ -5781,353 +5838,303 @@ msgid "Your profile information is not yet retrieved. Please try again later." msgstr "" +"Les informations de votre profil n'ont pu 棚tre r辿cup辿r辿es. Veuillez " +"r辿essayer plus tard." #. pin -#, fuzzy msgid "PIN" -msgstr "UIN" +msgstr "Code" msgid "Verify PIN" -msgstr "" +msgstr "V辿rification code" #. display name -#, fuzzy msgid "Display Name" -msgstr "Nom de famille" +msgstr "Nom affich辿" #. hidden msgid "Hide my number" -msgstr "" +msgstr "Cacher mon num辿ro" #. mobile number -#, fuzzy msgid "Mobile Number" msgstr "T辿l辿phone portable" -#, fuzzy msgid "Update your Profile" -msgstr "Profil de l'utilisateur" +msgstr "Mettre � jour votre profil" msgid "Here you can update your MXit profile" -msgstr "" +msgstr "Vous pouvez mettre � jour votre profil MXit ici" msgid "View Splash" -msgstr "" +msgstr "Voir la banni竪re" msgid "There is no splash-screen currently available" -msgstr "" - -#, fuzzy +msgstr "Il n'y a pas de banni竪re disponible pour l'instant" + msgid "About" -msgstr "� mon propos" +msgstr "� propos" #. display / change mood -#, fuzzy msgid "Change Mood..." -msgstr "Changer de mot de passe..." +msgstr "Changer d'humeur..." #. display / change profile -#, fuzzy msgid "Change Profile..." -msgstr "Changer de mot de passe..." +msgstr "Changer le profil..." #. display splash-screen -#, fuzzy msgid "View Splash..." -msgstr "Voir les archives..." +msgstr "Voir la banni竪re..." #. display plugin version -#, fuzzy msgid "About..." -msgstr "� mon propos" +msgstr "� propos..." #. the file is too big -#, fuzzy msgid "The file you are trying to send is too large!" -msgstr "Message trop long" - -msgid "" -"Unable to connect to the mxit HTTP server. Please check your server server " -"settings." -msgstr "" - -#, fuzzy +msgstr "Le fichier que vous voulez envoyer est trop gros�!" + +msgid "" +"Unable to connect to the MXit HTTP server. Please check your server settings." +msgstr "" +"Impossible de se connecter au serveur HTTP MXit. Veuillez v辿rifier votre " +"configuration." + msgid "Logging In..." -msgstr "Connexion" - -#, fuzzy -msgid "" -"Unable to connect to the mxit server. Please check your server server " -"settings." -msgstr "" -"Impossible de se connecter au serveur. Veuillez saisir l'adresse du serveur " -"sur lequel vous voulez vous connecter." - -#, fuzzy +msgstr "Connexion..." + +msgid "" +"Unable to connect to the MXit server. Please check your server settings." +msgstr "" +"Impossible de se connecter au serveur MXit. Veuillez v辿rifier votre " +"configuration." + msgid "Connecting..." -msgstr "Connexion en cours" +msgstr "Connexion..." + +msgid "The nick name you entered is invalid." +msgstr "Le pseudo saisi est non valide." + +msgid "The PIN you entered has an invalid length [7-10]." +msgstr "Le code d'acc竪s saisi n'a pas la bonne taille [7-10]." #. mxit login name msgid "MXit Login Name" -msgstr "" +msgstr "Nom d'utilisateur MXit" #. nick name -#, fuzzy msgid "Nick Name" msgstr "Pseudonyme" #. show the form to the user to complete -#, fuzzy msgid "Register New MXit Account" -msgstr "Enregistrer un nouveau compte XMPP" - -#, fuzzy +msgstr "Enregistrer un nouveau compte MXit" + msgid "Please fill in the following fields:" -msgstr "Veuillez renseigner les rubriques suivantes" +msgstr "Veuillez renseigner les rubriques suivantes�:" #. no reply from the WAP site msgid "Error contacting the MXit WAP site. Please try again later." msgstr "" +"Erreur � la connexion au site WAP de MXit. Veuillez r辿essayer plus tard." #. wapserver error #. server could not find the user msgid "" "MXit is currently unable to process the request. Please try again later." msgstr "" +"MXit ne peut g辿rer cette requ棚te pour l'instant. Veuillez r辿essayer plus " +"tard." msgid "Wrong security code entered. Please try again later." -msgstr "" +msgstr "Mauvais code de s辿curit辿 saisi. Veuillez r辿essayer plus tard." msgid "Your session has expired. Please try again later." -msgstr "" +msgstr "Votre session a expir辿e. Veuillez r辿essayer plus tard." msgid "Invalid country selected. Please try again." -msgstr "" +msgstr "Pays choisi non valide. Veuillez r辿essayer plus tard." msgid "Username is not registered. Please register first." msgstr "" +"Le nom d'utilisateur n'est pas enregistr辿. Veuillez l'enregistrer d'abord." msgid "Username is already registered. Please choose another username." msgstr "" - -#, fuzzy +"Le nom d'utilisateur est d辿j� enregistr辿. Veuillez en choisir un autre." + msgid "Internal error. Please try again later." -msgstr "Le serveur est non disponible. Veuillez r辿essayer plus tard." +msgstr "Erreur interne. Veuillez r辿essayer plus tard." msgid "You did not enter the security code" -msgstr "" - -#, fuzzy +msgstr "Vous n'avez pas saisi le code de s辿curit辿" + msgid "Security Code" -msgstr "S辿curit辿 activ辿e" +msgstr "Code de s辿curit辿" #. ask for input -#, fuzzy msgid "Enter Security Code" -msgstr "Saisissez le code" - -#, fuzzy +msgstr "Saisissez le code de s辿curit辿" + msgid "Your Country" -msgstr "Pays" - -#, fuzzy +msgstr "Votre pays" + msgid "Your Language" -msgstr "Langue pr辿f辿r辿e" +msgstr "Votre langue" #. display the form to the user and wait for his/her input -#, fuzzy msgid "MXit Authorization" -msgstr "Demande d'autorisation" +msgstr "Autorisation MXit" msgid "MXit account validation" -msgstr "" - -#, fuzzy +msgstr "Validation du compte MXit" + msgid "Retrieving User Information..." -msgstr "Informations du serveur" - -#, fuzzy +msgstr "R辿cup辿ration des informations de l'utilisateur..." + +msgid "Loading menu..." +msgstr "Chargement du menu..." + msgid "Status Message" -msgstr "Messages envoy辿s" - -#, fuzzy +msgstr "Messages d'辿tat" + msgid "Hidden Number" -msgstr "Deuxi竪me pr辿nom" - -#, fuzzy +msgstr "Num辿ro cach辿" + msgid "Your Mobile Number..." -msgstr "Changer le num辿ro de t辿l辿phone portable..." +msgstr "Votre num辿ro de t辿l辿phone portable..." #. Configuration options #. WAP server (reference: "libpurple/accountopt.h") -#, fuzzy msgid "WAP Server" -msgstr "Serveur" - -#, fuzzy +msgstr "Serveur WAP" + msgid "Connect via HTTP" -msgstr "Connexion par TCP" +msgstr "Connexion par HTTP" msgid "Enable splash-screen popup" -msgstr "" +msgstr "Activer l'affichage de la banni竪re" #. we must have lost the connection, so terminate it so that we can reconnect msgid "We have lost the connection to MXit. Please reconnect." -msgstr "" +msgstr "Connexion perdue avec MXit. Veuillez vous reconnecter." #. packet could not be queued for transmission -#, fuzzy msgid "Message Send Error" -msgstr "Erreur message XMPP" - -#, fuzzy +msgstr "Erreur � l'envoi du message" + msgid "Unable to process your request at this time" -msgstr "Impossible de r辿soudre l'adresse internet." +msgstr "Impossible d'effectuer votre requ棚te en ce moment." msgid "Timeout while waiting for a response from the MXit server." -msgstr "" - -#, fuzzy +msgstr "Temps d'attente d辿pass辿 pour la r辿ponse du serveur MXit." + msgid "Successfully Logged In..." -msgstr "Entr辿e r辿ussie dans le Qun" - -#, fuzzy +msgstr "Connexion r辿ussie..." + +#, c-format +msgid "" +"%s sent you an encrypted message, but it is not supported on this client." +msgstr "%s vous a envoy辿 un message chiffr辿, ce qui n'est pas support辿." + msgid "Message Error" -msgstr "Erreur message XMPP" +msgstr "Erreur de message" msgid "Cannot perform redirect using the specified protocol" -msgstr "" - -#, fuzzy +msgstr "Impossible de faire une redirection avec le protocole utilis辿" + +msgid "An internal MXit server error occurred." +msgstr "Une erreur interne au serveur MXit est survenue." + +#, c-format +msgid "Login error: %s (%i)" +msgstr "Erreur de connexion�: %s (%i)" + +#, c-format +msgid "Logout error: %s (%i)" +msgstr "Erreur de d辿connexion�: %s (%i)" + msgid "Contact Error" -msgstr "Erreur de connexion" - -#, fuzzy +msgstr "Erreur de contact" + msgid "Message Sending Error" -msgstr "Erreur message XMPP" - -#, fuzzy +msgstr "Erreur � l'envoi du message" + msgid "Status Error" -msgstr "Erreur dans le flux" - -#, fuzzy +msgstr "Erreur de message d'辿tat" + msgid "Mood Error" -msgstr "Erreur d'ic担ne" - -#, fuzzy +msgstr "Erreur d'humeur" + msgid "Invitation Error" -msgstr "Erreur de d辿sinscription" - -#, fuzzy +msgstr "Erreur d'invitation" + msgid "Contact Removal Error" -msgstr "Erreur de connexion" - -#, fuzzy +msgstr "Erreur de suppression de contact" + msgid "Subscription Error" -msgstr "Inscription" - -#, fuzzy +msgstr "Erreur d'inscription" + msgid "Contact Update Error" -msgstr "Erreur de connexion" - -#, fuzzy +msgstr "Erreur de mise � jour de contact" + msgid "File Transfer Error" -msgstr "Transfert de fichier" - -#, fuzzy +msgstr "Erreur de transfert de fichier" + msgid "Cannot create MultiMx room" -msgstr "Impossible de cr辿er l'alerte" - -#, fuzzy +msgstr "Impossible de cr辿er un salon MultiMx" + msgid "MultiMx Invitation Error" -msgstr "Erreur de d辿sinscription" - -#, fuzzy +msgstr "Erreur d'invitation MultiMx" + msgid "Profile Error" -msgstr "Erreur d'辿criture" +msgstr "Erreur de profil" #. bad packet msgid "Invalid packet received from MXit." -msgstr "" +msgstr "Paquet de donn辿es non valide re巽u du serveur MXit." #. connection error msgid "A connection error occurred to MXit. (read stage 0x01)" -msgstr "" +msgstr "Erreur de connexion MXit (辿tape de lecture 0x01)." #. connection closed msgid "A connection error occurred to MXit. (read stage 0x02)" -msgstr "" +msgstr "Erreur de connexion MXit (辿tape de lecture 0x02)." msgid "A connection error occurred to MXit. (read stage 0x03)" -msgstr "" +msgstr "Erreur de connexion MXit (辿tape de lecture 0x03)." #. malformed packet length record (too long) msgid "A connection error occurred to MXit. (read stage 0x04)" -msgstr "" +msgstr "Erreur de connexion MXit (辿tape de lecture 0x04)." #. connection error msgid "A connection error occurred to MXit. (read stage 0x05)" -msgstr "" +msgstr "Erreur de connexion MXit (辿tape de lecture 0x05)." #. connection closed msgid "A connection error occurred to MXit. (read stage 0x06)" -msgstr "" - -msgid "Angry" -msgstr "En col竪re" - -msgid "Excited" -msgstr "Excit辿" - -#, fuzzy -msgid "Grumpy" -msgstr "Groupe" - -msgid "Happy" -msgstr "Heureux" - -msgid "In Love" -msgstr "Amoureux" - -msgid "Invincible" -msgstr "Invincible" - -msgid "Sad" -msgstr "Triste" - -#, fuzzy -msgid "Hot" -msgstr "_H担te�:" - -#, fuzzy -msgid "Sick" -msgstr "Pseudonyme" - -msgid "Sleepy" -msgstr "Somnolant" - -#, fuzzy +msgstr "Erreur de connexion MXit (辿tape de lecture 0x06)." + msgid "Pending" -msgstr "Envoi en cours" - -#, fuzzy +msgstr "En attente" + msgid "Invited" -msgstr "Inviter" - -#, fuzzy +msgstr "Invit辿" + msgid "Rejected" -msgstr "Refuser" - -#, fuzzy +msgstr "Refus辿" + msgid "Deleted" -msgstr "Supprimer" +msgstr "Supprim辿" msgid "MXit Advertising" -msgstr "" - -#, fuzzy +msgstr "Publicit辿 MXit" + msgid "More Information" -msgstr "Informations professionnelles" +msgstr "Plus d'informations" #, c-format msgid "No such user: %s" @@ -6908,46 +6915,42 @@ msgstr "Impossible sur AOL" msgid "Cannot receive IM due to parental controls" -msgstr "" +msgstr "Impossible de recevoir le message � cause du contr担le parental" msgid "Cannot send SMS without accepting terms" -msgstr "" - -#, fuzzy +msgstr "Impossible d'envoyer de SMS sans accepter les termes" + msgid "Cannot send SMS" -msgstr "Impossible d'envoyer le fichier" +msgstr "Impossible d'envoyer le SMS" #. SMS_WITHOUT_DISCLAIMER is weird -#, fuzzy msgid "Cannot send SMS to this country" -msgstr "Impossible d'envoyer un dossier." +msgstr "Impossible d'envoyer le SMS vers ce pays" #. Undocumented msgid "Cannot send SMS to unknown country" -msgstr "" +msgstr "Impossible d'envoyer le SMS vers un pays inconnu" msgid "Bot accounts cannot initiate IMs" -msgstr "" +msgstr "Les comptes Bot ne peuvent pas commencer les conversations" msgid "Bot account cannot IM this user" -msgstr "" +msgstr "Le compte Bot ne peut pas envoyer de message � cette personne" msgid "Bot account reached IM limit" -msgstr "" +msgstr "Le compte Bot a atteint sa limite de messages" msgid "Bot account reached daily IM limit" -msgstr "" +msgstr "Le compte Bot a atteint sa limite de messages quotidiens" msgid "Bot account reached monthly IM limit" -msgstr "" - -#, fuzzy +msgstr "Le compte Bot a atteint sa limite de messages mensuels" + msgid "Unable to receive offline messages" -msgstr "Impossible d'envoyer le message" - -#, fuzzy +msgstr "Impossible de recevoir les messages d辿connect辿s" + msgid "Offline message store full" -msgstr "Message d辿connect辿" +msgstr "Stockage des messages d辿connect辿s plein" msgid "" "(There was an error receiving this message. The buddy you are speaking with " @@ -7118,7 +7121,6 @@ msgstr "Le service est temporairement indisponible." #. username connecting too frequently -#, fuzzy msgid "" "Your username has been connecting and disconnecting too frequently. Wait ten " "minutes and try again. If you continue to try, you will need to wait even " @@ -7136,13 +7138,12 @@ "� jour sur %s." #. IP address connecting too frequently -#, fuzzy msgid "" "Your IP address has been connecting and disconnecting too frequently. Wait a " "minute and try again. If you continue to try, you will need to wait even " "longer." msgstr "" -"Vous vous reconnectez trop rapidement. Attendez quelques minutes et " +"Votre adresse IP se reconnecte trop rapidement. Attendez quelques minutes et " "r辿essayez. Si vous persistez maintenant, il vous faudra attendre encore plus " "longtemps." @@ -7291,21 +7292,21 @@ msgstr[0] "Vous avez rat辿 %hu message de %s pour des raisons inconnues." msgstr[1] "Vous avez rat辿 %hu messages de %s pour des raisons inconnues." -#, fuzzy, c-format +#, c-format msgid "Unable to send message: %s (%s)" -msgstr "Impossible d'envoyer le message (%s)" +msgstr "Impossible d'envoyer le message�: %s (%s)" #, c-format msgid "Unable to send message: %s" msgstr "Impossible d'envoyer le message�: %s" -#, fuzzy, c-format +#, c-format msgid "Unable to send message to %s: %s (%s)" -msgstr "Impossible d'envoyer le message vers %s�:" - -#, fuzzy, c-format +msgstr "Impossible d'envoyer le message vers %s�: %s (%s)" + +#, c-format msgid "Unable to send message to %s: %s" -msgstr "Impossible d'envoyer le message vers %s�:" +msgstr "Impossible d'envoyer le message vers %s�: %s" #, c-format msgid "User information not available: %s" @@ -7334,13 +7335,12 @@ "[Impossible d'afficher un message de cet utilisateur car il contient des " "caract竪res non valides.]" -#, fuzzy msgid "" "The last action you attempted could not be performed because you are over " "the rate limit. Please wait 10 seconds and try again.\n" msgstr "" "La derni竪re action n'a pas pu 棚tre effectu辿e car vous avez d辿pass辿 le quota " -"limite. Veuillez attendre 10 secondes et r辿essayer." +"limite. Veuillez attendre 10 secondes et r辿essayer.\n" #, c-format msgid "You have been disconnected from chat room %s." @@ -10197,12 +10197,13 @@ msgid "Can't send SMS. Unable to obtain mobile carrier." msgstr "" +"Impossible d'envoyer le SMS. Impossible de trouver le fournisseur mobile." msgid "Can't send SMS. Unknown mobile carrier." -msgstr "" +msgstr "Impossible d'envoyer le SNS. Fournisseur mobile inconnu." msgid "Getting mobile carrier to send the SMS." -msgstr "" +msgstr "R辿cup辿ration du fournisseur mobile pour l'envoi du SMS." #. Write a local message to this conversation showing that a request for a #. * Doodle session has been made @@ -10746,6 +10747,8 @@ msgid "" "Chat over IM. Supports AIM, Google Talk, Jabber/XMPP, MSN, Yahoo and more" msgstr "" +"Conversation par messages instantan辿s. Supporte AIM, Google Talk, Jabber/" +"XMPP, MSN, Yahoo et d'autres" msgid "Internet Messenger" msgstr "Messagerie internet" @@ -12017,6 +12020,9 @@ msgid "Mongolian" msgstr "Mongol" +msgid "Malay" +msgstr "Malaisien" + msgid "Bokm奪l Norwegian" msgstr "Norv辿gien bokm奪l" @@ -12086,6 +12092,9 @@ msgid "Turkish" msgstr "Turc" +msgid "Ukranian" +msgstr "Ukrainien" + msgid "Urdu" msgstr "Ourdou" @@ -12724,10 +12733,10 @@ "\n" msgid "DIR" -msgstr "" +msgstr "DOS" msgid "use DIR for config files" -msgstr "utilise le dossier DIR pour les fichiers de config" +msgstr "utilise le dossier DOS pour les fichiers de config" msgid "print debugging messages to stdout" msgstr "affiche les messages de debug sur la sortie standard" @@ -12745,16 +12754,17 @@ msgstr "ne pas se connecter automatiquement" msgid "NAME" -msgstr "" - -#, fuzzy +msgstr "NOM" + msgid "" "enable specified account(s) (optional argument NAME\n" " specifies account(s) to use, separated by commas.\n" " Without this only the first account will be enabled)." msgstr "" -"active certains comptes (l'argument facultatif NAME\n" -" sp辿cifie ces comptes, s辿par辿s par des virgules." +"active certains comptes (l'argument facultatif NOM\n" +" sp辿cifie ces comptes, s辿par辿s par des " +"virgules. Sans cela, seul le premier compte sera " +"activ辿.)" msgid "X display to use" msgstr "affichage X � utiliser" @@ -13020,21 +13030,19 @@ msgstr "�v辿nement d'alerte inconnu. Veuillez reporter cette erreur." msgid "(Custom)" -msgstr "" - -#, fuzzy -msgid "(Default)" -msgstr "(d辿faut)" +msgstr "(Personnalis辿)" + +msgid "Penguin Pimps" +msgstr "Penguin Pimps" msgid "The default Pidgin sound theme" -msgstr "" - -#, fuzzy +msgstr "Le th竪me de sons par d辿faut Pidgin" + msgid "The default Pidgin buddy list theme" -msgstr "�diteur de th竪me de liste de contacts Pidgin" +msgstr "Le th竪me de liste de contacts par d辿faut Pidgin" msgid "The default Pidgin status icon theme" -msgstr "" +msgstr "Le th竪me d'ic担nes par d辿faut Pidgin" msgid "Theme failed to unpack." msgstr "Le th竪me de frimousses n'a pas pu 棚tre d辿ball辿." @@ -13045,19 +13053,30 @@ msgid "Theme failed to copy." msgstr "Le th竪me de frimousses n'a pas pu 棚tre copi辿." -msgid "Install Theme" -msgstr "Installer un th竪me" - -msgid "" -"Select a smiley theme that you would like to use from the list below. New " -"themes can be installed by dragging and dropping them onto the theme list." -msgstr "" -"Choisissez un th竪me de frimousses que vous voulez utiliser dans la liste ci-" -"dessous. De nouveau th竪mes peuvent 棚tre install辿s en les faisant glisser " -"dans la liste des th竪mes." - -msgid "Icon" -msgstr "Ic担ne" +msgid "Theme Selections" +msgstr "Choix des th竪mes" + +#. Instructions +msgid "" +"Select a theme that you would like to use from the lists below.\n" +"New themes can be installed by dragging and dropping them onto the theme " +"list." +msgstr "" +"Choisissez un th竪me que vous voulez utiliser dans la liste ci-dessous.\n" +"De nouveau th竪mes peuvent 棚tre install辿s en les faisant glisser dans la " +"liste des th竪mes." + +msgid "Buddy List Theme:" +msgstr "Th竪me de liste de contacts�:" + +msgid "Status Icon Theme:" +msgstr "Th竪me d'ic担nes d'辿tat�:" + +msgid "Sound Theme:" +msgstr "Th竪me de sons�:" + +msgid "Smiley Theme:" +msgstr "Th竪mes de frimousses�:" msgid "Keyboard Shortcuts" msgstr "Raccourcis clavier" @@ -13065,10 +13084,6 @@ msgid "Cl_ose conversations with the Escape key" msgstr "Fermer les conversations avec la touche _Echap" -#. Buddy List Themes -msgid "Buddy List Theme" -msgstr "Th竪me de liste de contacts" - #. System Tray msgid "System Tray Icon" msgstr "Ic担ne de notification" @@ -13155,9 +13170,6 @@ msgid "Font" msgstr "Police" -msgid "Use document font from _theme" -msgstr "Utiliser la police de document du _th竪me" - msgid "Use font from _theme" msgstr "Utiliser la police du th竪me" @@ -13180,15 +13192,13 @@ msgid "Cannot start browser configuration program." msgstr "Impossible de lancer le programme de configuration du navigateur." -#, fuzzy msgid "Disabled" -msgstr "_D辿sactiver" +msgstr "D辿sactiv辿" #, c-format msgid "Use _automatically detected IP address: %s" msgstr "_D辿tection auto de l'adresse IP�: %s" -#, fuzzy msgid "ST_UN server:" msgstr "Serveur ST_UN�:" @@ -13204,78 +13214,27 @@ msgid "_Enable automatic router port forwarding" msgstr "_Activer la redirection automatique des ports du routeur" -#, fuzzy msgid "_Manually specify range of ports to listen on:" -msgstr "Sp辿cifier _manuellement la plage de ports � 辿couter" - -#, fuzzy +msgstr "Sp辿cifier _manuellement la plage de ports � 辿couter�:" + msgid "_Start:" -msgstr "�_tat�:" - -#, fuzzy +msgstr "_D辿but�:" + msgid "_End:" -msgstr "_Etendre" +msgstr "_Fin�:" #. TURN server msgid "Relay Server (TURN)" msgstr "Serveur relai (TURN)" -#, fuzzy msgid "_TURN server:" -msgstr "Serveur ST_UN�:" - -#, fuzzy +msgstr "Serveur _TURN�:" + msgid "Use_rname:" -msgstr "Utilisateur�:" - -#, fuzzy +msgstr "Utilisateu_r�:" + msgid "Pass_word:" -msgstr "Mot de passe�:" - -msgid "Proxy Server & Browser" -msgstr "Serveur proxy & navigateur" - -msgid "<b>Proxy configuration program was not found.</b>" -msgstr "<b>Le programme de configuration de proxy n'a pas 辿t辿 trouv辿.</b>" - -msgid "<b>Browser configuration program was not found.</b>" -msgstr "<b>Le programme de configuration du navigateur n'a pas 辿t辿 trouv辿.</b>" - -msgid "" -"Proxy & Browser preferences are configured\n" -"in GNOME Preferences" -msgstr "" -"Le choix du serveur proxy & navigateur\n" -"est g辿r辿 par les options de GNOME" - -msgid "Configure _Proxy" -msgstr "_Configurer le proxy" - -msgid "Configure _Browser" -msgstr "_Configurer le navigateur" - -msgid "Proxy Server" -msgstr "Serveur proxy" - -#. This is a global option that affects SOCKS4 usage even with account-specific proxy settings -#, fuzzy -msgid "Use remote _DNS with SOCKS4 proxies" -msgstr "Utiliser une DNS distantes avec SOCKS4" - -#, fuzzy -msgid "Proxy t_ype:" -msgstr "_Type�:" - -msgid "No proxy" -msgstr "Aucun" - -#, fuzzy -msgid "P_ort:" -msgstr "_Port�:" - -#, fuzzy -msgid "User_name:" -msgstr "Utilisateur�:" +msgstr "Mot de _passe�:" msgid "Seamonkey" msgstr "Seamonkey" @@ -13316,6 +13275,15 @@ msgid "Browser Selection" msgstr "Choix du navigateur" +msgid "Browser preferences are configured in GNOME preferences" +msgstr "Le choix du navigateur est g辿r辿 par les options de GNOME" + +msgid "<b>Browser configuration program was not found.</b>" +msgstr "<b>Le programme de configuration du navigateur n'a pas 辿t辿 trouv辿.</b>" + +msgid "Configure _Browser" +msgstr "_Configurer le navigateur" + msgid "_Browser:" msgstr "_Navigateur�:" @@ -13339,6 +13307,35 @@ "_Manuel�:\n" "(%s pour l'URL)" +msgid "Proxy Server" +msgstr "Serveur proxy" + +msgid "Proxy preferences are configured in GNOME preferences" +msgstr "Le choix du serveur proxy est g辿r辿 par les options de GNOME" + +msgid "<b>Proxy configuration program was not found.</b>" +msgstr "<b>Le programme de configuration de proxy n'a pas 辿t辿 trouv辿.</b>" + +msgid "Configure _Proxy" +msgstr "_Configurer le proxy" + +#. This is a global option that affects SOCKS4 usage even with +#. * account-specific proxy settings +msgid "Use remote _DNS with SOCKS4 proxies" +msgstr "Utiliser une _DNS distantes avec SOCKS4" + +msgid "Proxy t_ype:" +msgstr "_Typede proxy�:" + +msgid "No proxy" +msgstr "Aucun" + +msgid "P_ort:" +msgstr "_Port�:" + +msgid "User_name:" +msgstr "Utilisateur�:" + msgid "Log _format:" msgstr "_Format des archives�:" @@ -13422,25 +13419,18 @@ msgid "Based on keyboard or mouse use" msgstr "Selon l'activit辿 du clavier ou de la souris" +msgid "_Minutes before becoming idle:" +msgstr "_Minutes avant de passer inactif�:" + +msgid "Change to this status when _idle:" +msgstr "Changer vers cet 辿tat lorsque _inactif�:" + msgid "_Auto-reply:" msgstr "_R辿ponse automatique�:" msgid "When both away and idle" msgstr "Lorsque absent et inactif" -#. Auto-away stuff -msgid "Auto-away" -msgstr "Absence automatique" - -msgid "_Minutes before becoming idle:" -msgstr "_Minutes avant de passer inactif�:" - -msgid "Change status when _idle" -msgstr "Changer d'辿tat lorsque _inactif" - -msgid "Change _status to:" -msgstr "_Changer l'辿tat en�:" - #. Signon status stuff msgid "Status at Startup" msgstr "�tat au d辿marrage" @@ -13454,15 +13444,15 @@ msgid "Interface" msgstr "Interface" -msgid "Smiley Themes" -msgstr "Th竪mes des frimousses" - msgid "Browser" msgstr "Navigateur" msgid "Status / Idle" msgstr "�tat / Inactivit辿" +msgid "Themes" +msgstr "Th竪mes" + msgid "Allow all users to contact me" msgstr "Permettre � tous les utilisateurs de me contacter" @@ -13809,9 +13799,6 @@ msgid "Pidgin smileys" msgstr "Frimousses de Pidgin" -msgid "Penguin Pimps" -msgstr "Penguin Pimps" - msgid "Selecting this disables graphical emoticons." msgstr "Ce choix d辿sactive les frimousses graphiques." @@ -14462,6 +14449,9 @@ msgid "Conversation Entry" msgstr "Ligne de conversation" +msgid "Conversation History" +msgstr "Historique des conversations" + msgid "Request Dialog" msgstr "Boite de message pour requ棚te" @@ -14925,9 +14915,8 @@ msgid "_Start %s on Windows startup" msgstr "_D辿marrer %s au lancement de Windows" -#, fuzzy msgid "Allow multiple instances" -msgstr "autoriser plusieurs instances du logiciel" +msgstr "Autoriser plusieurs instances" msgid "_Dockable Buddy List" msgstr "Liste de contacts _accrochable" @@ -14990,6 +14979,22 @@ msgstr "Ce plugin est utile pour d辿bugger les clients ou serveurs XMPP." #, fuzzy +#~ msgid "(Default)" +#~ msgstr "(d辿faut)" + +#~ msgid "Install Theme" +#~ msgstr "Installer un th竪me" + +#~ msgid "Icon" +#~ msgstr "Ic担ne" + +#~ msgid "Auto-away" +#~ msgstr "Absence automatique" + +#~ msgid "Change _status to:" +#~ msgstr "_Changer l'辿tat en�:" + +#, fuzzy #~ msgid "The root certificate this one claims to be issued by is unknown." #~ msgstr "" #~ "Le certificat racine dont est pr辿tendu issu ce certificat est inconnu de " @@ -15010,9 +15015,6 @@ #~ msgid "GTK+ Runtime Version" #~ msgstr "Version des biblioth竪ques GTK+" -#~ msgid "Without this only the first account will be enabled)." -#~ msgstr "Sans cela, seul le premier compte sera activ辿.)" - #~ msgid "Calling ... " #~ msgstr "Appel... " @@ -15507,9 +15509,6 @@ #~ msgid "Burmese" #~ msgstr "Birman" -#~ msgid "Ukrainian" -#~ msgstr "Ukrainien" - #~ msgid "Xhosa" #~ msgstr "Xhosa"