changeset 31636:dff70c2930e8

propagate from branch 'im.pidgin.pidgin' (head d6053150b258c5c8b2ac60e091a7d0d1b2d9be1d) to branch 'im.pidgin.pidgin.mxit' (head 15f4e610ac107f652c16aef6c2f7c2ecbe739a8c)
author andrew.victor@mxit.com
date Sun, 08 May 2011 14:06:04 +0000 (2011-05-08)
parents a8cf2003ee7c (current diff) dd83aa0bc5c0 (diff)
children 6ed15e063e58
files
diffstat 11 files changed, 1554 insertions(+), 1729 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/protocols/msn/p2p.c	Fri May 06 08:12:34 2011 +0000
+++ b/libpurple/protocols/msn/p2p.c	Sun May 08 14:06:04 2011 +0000
@@ -313,11 +313,28 @@
 }
 
 gboolean
-msn_p2p_msg_is_data(const MsnP2PHeaderFlag flags)
+msn_p2p_msg_is_data(const MsnP2PInfo *info)
 {
-	return (flags == P2P_MSN_OBJ_DATA ||
-	        flags == (P2P_WLM2009_COMP | P2P_MSN_OBJ_DATA) ||
-	        flags == P2P_FILE_DATA);
+	gboolean data = FALSE;
+
+	switch (info->version) {
+		case MSN_P2P_VERSION_ONE: {
+			guint32 flags = info->header.v1.flags;
+			data = (flags == P2P_MSN_OBJ_DATA ||
+			        flags == (P2P_WLM2009_COMP | P2P_MSN_OBJ_DATA) ||
+			        flags == P2P_FILE_DATA);
+			break;
+		}
+
+		case MSN_P2P_VERSION_TWO:
+			data = info->header.v2.message_len > 0;
+			break;
+
+		default:
+			purple_debug_error("msn", "Invalid P2P Info version: %d\n", info->version);
+	}
+
+	return data;
 }
 
 gboolean
@@ -362,6 +379,116 @@
 	return final;
 }
 
+void
+msn_p2p_info_create_ack(MsnP2PInfo *old_info, MsnP2PInfo *new_info)
+{
+	switch (old_info->version) {
+		case MSN_P2P_VERSION_ONE: {
+			MsnP2PHeader *old = &old_info->header.v1;
+			MsnP2PHeader *new = &new_info->header.v1;
+
+			new->session_id = old->session_id;
+			new->flags = P2P_ACK;
+			new->ack_id = old->id;
+			new->ack_sub_id = old->ack_id;
+			new->ack_size = old->total_size;
+			break;
+		}
+
+		case MSN_P2P_VERSION_TWO: {
+			MsnP2Pv2Header *old = &old_info->header.v2;
+			MsnP2Pv2Header *new = &new_info->header.v2;
+
+			msn_tlvlist_add_32(&new->header_tlv, P2P_TLV_TYPE_ACK, old->base_id + old->message_len);
+			new->opcode = P2P_OPCODE_NONE;
+
+			if (old->message_len > 0) {
+				if (!msn_tlv_gettlv(old->header_tlv, P2P_TLV_TYPE_ACK, 1)) {
+					if (old->opcode & P2P_OPCODE_SYN) {
+						msn_tlv_t *ack_tlv;
+						new->opcode |= P2P_OPCODE_RAK;
+						
+						ack_tlv = msn_tlv_gettlv(old->header_tlv, P2P_TLV_TYPE_PEER_INFO, 1);
+						if (ack_tlv) {
+							msn_tlvlist_add_tlv(&new->header_tlv, ack_tlv);
+							new->opcode |= P2P_OPCODE_SYN;
+						}
+					}
+				}
+			}
+			break;
+		}
+
+		default:
+			purple_debug_error("msn", "Invalid P2P Info version: %d\n", old_info->version);
+	}
+}
+
+gboolean
+msn_p2p_info_require_ack(MsnP2PInfo *info)
+{
+	gboolean ret = FALSE;
+
+	switch (info->version) {
+		case MSN_P2P_VERSION_ONE: {
+			guint32 flags = msn_p2p_info_get_flags(info);
+
+			ret = flags == P2P_NO_FLAG || flags == P2P_WLM2009_COMP ||
+			      msn_p2p_msg_is_data(info);
+			break;
+		}
+
+		case MSN_P2P_VERSION_TWO:
+			ret = (info->header.v2.opcode & P2P_OPCODE_RAK) > 0;
+			break;
+
+		default:
+			purple_debug_error("msn", "Invalid P2P Info version: %d\n", info->version);
+	}
+
+	return ret;
+}
+
+gboolean
+msn_p2p_info_is_ack(MsnP2PInfo *info)
+{
+	gboolean ret = FALSE;
+
+	switch (info->version) {
+		case MSN_P2P_VERSION_ONE: {
+			ret = msn_p2p_info_get_flags(info) == P2P_ACK;
+			break;
+		}
+
+		case MSN_P2P_VERSION_TWO:
+			ret = msn_tlv_gettlv(info->header.v2.header_tlv, P2P_TLV_TYPE_ACK, 1) != NULL;
+			break;
+
+		default:
+			purple_debug_error("msn", "Invalid P2P Info version: %d\n", info->version);
+	}
+
+	return ret;
+}
+
+void
+msn_p2p_info_init_first(MsnP2PInfo *info, MsnP2PInfo *old_info)
+{
+	switch (info->version) {
+		case MSN_P2P_VERSION_ONE:
+			info->header.v1.session_id = old_info->header.v1.session_id;
+			info->header.v1.flags = old_info->header.v1.flags;
+			break;
+
+		case MSN_P2P_VERSION_TWO:
+			info->header.v2.data_tf = TF_FIRST;
+			break;
+
+		default:
+			purple_debug_error("msn", "Invalid P2P Info version: %d\n", info->version);
+	}
+}
+
 guint32
 msn_p2p_info_get_session_id(MsnP2PInfo *info)
 {
@@ -478,7 +605,7 @@
 			break;
 
 		case MSN_P2P_VERSION_TWO:
-			/* Nothing to do! */
+			flags = info->header.v2.data_tf;
 			break;
 
 		default:
@@ -653,7 +780,7 @@
 			break;
 
 		case MSN_P2P_VERSION_TWO:
-			/* Nothing to do! */
+			info->header.v2.data_tf = flags;
 			break;
 
 		default:
--- a/libpurple/protocols/msn/p2p.h	Fri May 06 08:12:34 2011 +0000
+++ b/libpurple/protocols/msn/p2p.h	Sun May 08 14:06:04 2011 +0000
@@ -65,7 +65,7 @@
 	guint16 version;
 	guint16 reserved;
 	guint32 caps;
-} PeerInfo;
+} P2PPeerInfo;
 
 typedef enum
 {
@@ -76,26 +76,26 @@
 
 typedef enum
 {
-	TLP_PEER_INFO   = 0x01, /**< Client peer info */
-	TLP_ACK         = 0x02, /**< ACK */
-	TLP_NAK         = 0x03  /**< NAK */
-} TLP;
+	P2P_TLV_TYPE_PEER_INFO  = 0x01, /**< Client peer info */
+	P2P_TLV_TYPE_ACK        = 0x02, /**< ACK */
+	P2P_TLV_TYPE_NAK        = 0x03  /**< NAK */
+} P2PTLVType;
 
 typedef enum
 {
-	TLP_LEN_PEER_INFO   = 12,
-	TLP_LEN_ACK         = 4,
-	TLP_LEN_NAK         = 4
-} TLPLength;
+	P2P_TLV_LEN_PEER_INFO   = 12,
+	P2P_TLV_LEN_ACK         = 4,
+	P2P_TLV_LEN_NAK         = 4
+} P2PTLVLength;
 
 typedef enum
 {
-	PI_PVER     = 0x0200,
-	PI_IMP_ID   = 0,
-	PI_VER      = 0x0e00,
-	PI_RES      = 0,
-	PI_CAPS     = 0x0000010f
-} PeerInfoVal;
+	P2P_PI_PVER     = 0x0200,
+	P2P_PI_IMP_ID   = 0,
+	P2P_PI_VER      = 0x0e00,
+	P2P_PI_RES      = 0,
+	P2P_PI_CAPS     = 0x0000010f
+} P2PPeerInfoVal;
 
 #define DLP_REMAINING 0x01; 	/**< Indicates the remaining data to transfer.*/
 #define DLP_REMAINING_LEN 8
@@ -183,7 +183,7 @@
 msn_p2p_info_to_string(MsnP2PInfo *info, GString *str);
 
 gboolean
-msn_p2p_msg_is_data(const MsnP2PHeaderFlag flags);
+msn_p2p_msg_is_data(const MsnP2PInfo *info);
 
 gboolean
 msn_p2p_info_is_valid(MsnP2PInfo *info);
@@ -191,6 +191,18 @@
 gboolean
 msn_p2p_info_is_final(MsnP2PInfo *info);
 
+void
+msn_p2p_info_create_ack(MsnP2PInfo *old_info, MsnP2PInfo *new_info);
+
+gboolean
+msn_p2p_info_require_ack(MsnP2PInfo *info);
+
+gboolean
+msn_p2p_info_is_ack(MsnP2PInfo *info);
+
+void
+msn_p2p_info_init_first(MsnP2PInfo *new_info, MsnP2PInfo *old_info);
+
 guint32
 msn_p2p_info_get_session_id(MsnP2PInfo *info);
 
--- a/libpurple/protocols/msn/slpcall.c	Fri May 06 08:12:34 2011 +0000
+++ b/libpurple/protocols/msn/slpcall.c	Sun May 08 14:06:04 2011 +0000
@@ -1130,7 +1130,7 @@
 		}
 		g_free(body_str);
 	}
-	 else if (msn_p2p_msg_is_data(flags))
+	 else if (msn_p2p_msg_is_data(slpmsg->p2p_info))
 	{
 		slpcall = msn_slplink_find_slp_call_with_session_id(slplink, session_id);
 
@@ -1147,7 +1147,7 @@
 			slpcall->wasted = TRUE;
 		}
 	}
-	else if (flags == P2P_ACK)
+	else if (msn_p2p_info_is_ack(slpmsg->p2p_info))
 	{
 		/* Acknowledgement of previous message. Don't do anything currently. */
 	}
--- a/libpurple/protocols/msn/slplink.c	Fri May 06 08:12:34 2011 +0000
+++ b/libpurple/protocols/msn/slplink.c	Sun May 08 14:06:04 2011 +0000
@@ -292,7 +292,7 @@
 	part = msn_slpmsgpart_new(msn_p2p_info_dup(info));
 	part->ack_data = slpmsg;
 
-	real_size = (msn_p2p_info_get_flags(info) == P2P_ACK) ? 0 : slpmsg->size;
+	real_size = msn_p2p_info_is_ack(info) ? 0 : slpmsg->size;
 
 	offset = msn_p2p_info_get_offset(info);
 	if (offset < real_size)
@@ -330,8 +330,7 @@
 	msn_slplink_send_part(slplink, part);
 
 
-	if (msn_p2p_msg_is_data(msn_p2p_info_get_flags(info)) &&
-		(slpmsg->slpcall != NULL))
+	if (msn_p2p_msg_is_data(info) && slpmsg->slpcall != NULL)
 	{
 		slpmsg->slpcall->progress = TRUE;
 
@@ -358,7 +357,7 @@
 	{
 		msn_p2p_info_set_ack_id(info, rand() % 0xFFFFFF00);
 	}
-	else if (msn_p2p_msg_is_data(flags))
+	else if (msn_p2p_msg_is_data(info))
 	{
 		MsnSlpCall *slpcall;
 		slpcall = slpmsg->slpcall;
@@ -447,22 +446,19 @@
 {
 	MsnSlpMessage *slpmsg;
 	guint32 session_id;
-	guint32 flags;
 
 	slpmsg = msn_slpmsg_new(slplink);
 	slpmsg->id = msn_p2p_info_get_id(info);
 	session_id = msn_p2p_info_get_session_id(info);
-	msn_p2p_info_set_session_id(slpmsg->p2p_info, session_id);
 	slpmsg->size = msn_p2p_info_get_total_size(info);
-	flags = msn_p2p_info_get_flags(info);
-	msn_p2p_info_set_flags(slpmsg->p2p_info, flags);
+	msn_p2p_info_init_first(slpmsg->p2p_info, info);
 
 	if (session_id)
 	{
 		slpmsg->slpcall = msn_slplink_find_slp_call_with_session_id(slplink, session_id);
 		if (slpmsg->slpcall != NULL)
 		{
-			if (msn_p2p_msg_is_data(flags))
+			if (msn_p2p_msg_is_data(info))
 			{
 				PurpleXfer *xfer = slpmsg->slpcall->xfer;
 				if (xfer != NULL)
@@ -502,7 +498,6 @@
 process_complete_msg(MsnSlpLink *slplink, MsnSlpMessage *slpmsg, MsnP2PInfo *info)
 {
 	MsnSlpCall *slpcall;
-	guint32 flags;
 
 	slpcall = msn_slp_process_msg(slplink, slpmsg);
 
@@ -513,10 +508,7 @@
 
 	purple_debug_info("msn", "msn_slplink_process_msg: slpmsg complete\n");
 
-	flags = msn_p2p_info_get_flags(slpmsg->p2p_info);
-
-	if (flags == P2P_NO_FLAG || flags == P2P_WLM2009_COMP ||
-	    msn_p2p_msg_is_data(flags))
+	if (msn_p2p_info_require_ack(slpmsg->p2p_info))
 	{
 		/* Release all the messages and send the ACK */
 
@@ -605,8 +597,7 @@
 
 	slpmsg_add_part(slpmsg, part);
 
-	if (msn_p2p_msg_is_data(msn_p2p_info_get_flags(slpmsg->p2p_info)) &&
-		(slpmsg->slpcall != NULL))
+	if (msn_p2p_msg_is_data(slpmsg->p2p_info) && slpmsg->slpcall != NULL)
 	{
 		slpmsg->slpcall->progress = TRUE;
 
--- a/libpurple/protocols/msn/slpmsg.c	Fri May 06 08:12:34 2011 +0000
+++ b/libpurple/protocols/msn/slpmsg.c	Sun May 08 14:06:04 2011 +0000
@@ -206,12 +206,8 @@
 	slpmsg = msn_slpmsg_new(NULL);
 
 	new_info = slpmsg->p2p_info;
-	msn_p2p_info_set_session_id(new_info, msn_p2p_info_get_session_id(ack_info));
+	msn_p2p_info_create_ack(ack_info, new_info);
 	slpmsg->size = msn_p2p_info_get_total_size(ack_info);
-	msn_p2p_info_set_flags(new_info, P2P_ACK);
-	msn_p2p_info_set_ack_id(new_info, msn_p2p_info_get_id(ack_info));
-	msn_p2p_info_set_ack_sub_id(new_info, msn_p2p_info_get_ack_id(ack_info));
-	msn_p2p_info_set_ack_size(new_info, msn_p2p_info_get_total_size(ack_info));
 	slpmsg->info = "SLP ACK";
 
 	return slpmsg;
--- a/libpurple/protocols/msn/slpmsg_part.c	Fri May 06 08:12:34 2011 +0000
+++ b/libpurple/protocols/msn/slpmsg_part.c	Sun May 08 14:06:04 2011 +0000
@@ -175,7 +175,7 @@
 
 	slpmsg = data;
 
-	real_size = (msn_p2p_info_get_flags(slpmsg->p2p_info) == P2P_ACK) ? 0 : slpmsg->size;
+	real_size = msn_p2p_info_is_ack(slpmsg->p2p_info) ? 0 : slpmsg->size;
 
 	offset = msn_p2p_info_get_offset(slpmsg->p2p_info);
 	offset += msn_p2p_info_get_length(part->info);
@@ -197,7 +197,7 @@
 	else
 	{
 		/* The whole message has been sent */
-		if (msn_p2p_msg_is_data(msn_p2p_info_get_flags(slpmsg->p2p_info)))
+		if (msn_p2p_msg_is_data(slpmsg->p2p_info))
 		{
 			if (slpmsg->slpcall != NULL)
 			{
--- a/libpurple/protocols/msn/tlv.c	Fri May 06 08:12:34 2011 +0000
+++ b/libpurple/protocols/msn/tlv.c	Sun May 08 14:06:04 2011 +0000
@@ -169,7 +169,7 @@
 }
 
 int
-msn_tlvlist_add_raw(GSList **list, const guint16 type, const guint16 length, const char *value)
+msn_tlvlist_add_raw(GSList **list, const guint8 type, const guint8 length, const char *value)
 {
 	msn_tlv_t *tlv;
 
@@ -186,7 +186,7 @@
 }
 
 int
-msn_tlvlist_add_8(GSList **list, const guint16 type, const guint8 value)
+msn_tlvlist_add_8(GSList **list, const guint8 type, const guint8 value)
 {
 	char v8[1];
 
@@ -196,7 +196,7 @@
 }
 
 int
-msn_tlvlist_add_16(GSList **list, const guint16 type, const guint16 value)
+msn_tlvlist_add_16(GSList **list, const guint8 type, const guint16 value)
 {
 	char v16[2];
 
@@ -206,7 +206,7 @@
 }
 
 int
-msn_tlvlist_add_32(GSList **list, const guint16 type, const guint32 value)
+msn_tlvlist_add_32(GSList **list, const guint8 type, const guint32 value)
 {
 	char v32[4];
 
@@ -216,19 +216,25 @@
 }
 
 int
-msn_tlvlist_add_str(GSList **list, const guint16 type, const char *value)
+msn_tlvlist_add_str(GSList **list, const guint8 type, const char *value)
 {
 	return msn_tlvlist_add_raw(list, type, strlen(value), value);
 }
 
 int
-msn_tlvlist_add_empty(GSList **list, const guint16 type)
+msn_tlvlist_add_empty(GSList **list, const guint8 type)
 {
 	return msn_tlvlist_add_raw(list, type, 0, NULL);
 }
 
 int
-msn_tlvlist_replace_raw(GSList **list, const guint16 type, const guint16 length, const char *value)
+msn_tlvlist_add_tlv(GSList **list, const msn_tlv_t *tlv)
+{
+	return msn_tlvlist_add_raw(list, tlv->type, tlv->length, (const char *)tlv->value);
+}
+
+int
+msn_tlvlist_replace_raw(GSList **list, const guint8 type, const guint8 length, const char *value)
 {
 	GSList *cur;
 	msn_tlv_t *tlv;
@@ -257,19 +263,19 @@
 }
 
 int
-msn_tlvlist_replace_str(GSList **list, const guint16 type, const char *str)
+msn_tlvlist_replace_str(GSList **list, const guint8 type, const char *str)
 {
 	return msn_tlvlist_replace_raw(list, type, strlen(str), str);
 }
 
 int
-msn_tlvlist_replace_empty(GSList **list, const guint16 type)
+msn_tlvlist_replace_empty(GSList **list, const guint8 type)
 {
 	return msn_tlvlist_replace_raw(list, type, 0, NULL);
 }
 
 int
-msn_tlvlist_replace_8(GSList **list, const guint16 type, const guint8 value)
+msn_tlvlist_replace_8(GSList **list, const guint8 type, const guint8 value)
 {
 	char v8[1];
 
@@ -279,7 +285,7 @@
 }
 
 int
-msn_tlvlist_replace_32(GSList **list, const guint16 type, const guint32 value)
+msn_tlvlist_replace_32(GSList **list, const guint8 type, const guint32 value)
 {
 	char v32[4];
 
@@ -288,8 +294,14 @@
 	return msn_tlvlist_replace_raw(list, type, 4, v32);
 }
 
+int
+msn_tlvlist_replace_tlv(GSList **list, const msn_tlv_t *tlv)
+{
+	return msn_tlvlist_replace_raw(list, tlv->type, tlv->length, (const char *)tlv->value);
+}
+
 void
-msn_tlvlist_remove(GSList **list, const guint16 type)
+msn_tlvlist_remove(GSList **list, const guint8 type)
 {
 	GSList *cur, *next;
 	msn_tlv_t *tlv;
@@ -356,7 +368,7 @@
 }
 
 msn_tlv_t *
-msn_tlv_gettlv(GSList *list, const guint16 type, const int nth)
+msn_tlv_gettlv(GSList *list, const guint8 type, const int nth)
 {
 	msn_tlv_t *tlv;
 	int i;
@@ -373,7 +385,7 @@
 }
 
 int
-msn_tlv_getlength(GSList *list, const guint16 type, const int nth)
+msn_tlv_getlength(GSList *list, const guint8 type, const int nth)
 {
 	msn_tlv_t *tlv;
 
@@ -397,7 +409,7 @@
 }
 
 char *
-msn_tlv_getstr(GSList *list, const guint16 type, const int nth)
+msn_tlv_getstr(GSList *list, const guint8 type, const int nth)
 {
 	msn_tlv_t *tlv;
 
@@ -409,7 +421,7 @@
 }
 
 guint8
-msn_tlv_get8(GSList *list, const guint16 type, const int nth)
+msn_tlv_get8(GSList *list, const guint8 type, const int nth)
 {
 	msn_tlv_t *tlv;
 
@@ -421,7 +433,7 @@
 }
 
 guint16
-msn_tlv_get16(GSList *list, const guint16 type, const int nth)
+msn_tlv_get16(GSList *list, const guint8 type, const int nth)
 {
 	msn_tlv_t *tlv;
 
@@ -433,7 +445,7 @@
 }
 
 guint32
-msn_tlv_get32(GSList *list, const guint16 type, const int nth)
+msn_tlv_get32(GSList *list, const guint8 type, const int nth)
 {
 	msn_tlv_t *tlv;
 
--- a/libpurple/protocols/msn/tlv.h	Fri May 06 08:12:34 2011 +0000
+++ b/libpurple/protocols/msn/tlv.h	Sun May 08 14:06:04 2011 +0000
@@ -38,12 +38,12 @@
 /* TLV handling functions */
 char *msn_tlv_getvalue_as_string(msn_tlv_t *tlv);
 
-msn_tlv_t *msn_tlv_gettlv(GSList *list, const guint16 type, const int nth);
-int msn_tlv_getlength(GSList *list, const guint16 type, const int nth);
-char *msn_tlv_getstr(GSList *list, const guint16 type, const int nth);
-guint8 msn_tlv_get8(GSList *list, const guint16 type, const int nth);
-guint16 msn_tlv_get16(GSList *list, const guint16 type, const int nth);
-guint32 msn_tlv_get32(GSList *list, const guint16 type, const int nth);
+msn_tlv_t *msn_tlv_gettlv(GSList *list, const guint8 type, const int nth);
+int msn_tlv_getlength(GSList *list, const guint8 type, const int nth);
+char *msn_tlv_getstr(GSList *list, const guint8 type, const int nth);
+guint8 msn_tlv_get8(GSList *list, const guint8 type, const int nth);
+guint16 msn_tlv_get16(GSList *list, const guint8 type, const int nth);
+guint32 msn_tlv_get32(GSList *list, const guint8 type, const int nth);
 
 /* TLV list handling functions */
 GSList *msn_tlvlist_read(const char *bs, size_t bs_len);
@@ -55,21 +55,23 @@
 char *msn_tlvlist_write(GSList *list, size_t *out_len);
 void msn_tlvlist_free(GSList *list);
 
-int msn_tlvlist_add_raw(GSList **list, const guint16 type, const guint16 length, const char *value);
-int msn_tlvlist_add_empty(GSList **list, const guint16 type);
-int msn_tlvlist_add_8(GSList **list, const guint16 type, const guint8 value);
-int msn_tlvlist_add_16(GSList **list, const guint16 type, const guint16 value);
-int msn_tlvlist_add_32(GSList **list, const guint16 type, const guint32 value);
-int msn_tlvlist_add_str(GSList **list, const guint16 type, const char *value);
+int msn_tlvlist_add_raw(GSList **list, const guint8 type, const guint8 length, const char *value);
+int msn_tlvlist_add_empty(GSList **list, const guint8 type);
+int msn_tlvlist_add_8(GSList **list, const guint8 type, const guint8 value);
+int msn_tlvlist_add_16(GSList **list, const guint8 type, const guint16 value);
+int msn_tlvlist_add_32(GSList **list, const guint8 type, const guint32 value);
+int msn_tlvlist_add_str(GSList **list, const guint8 type, const char *value);
+int msn_tlvlist_add_tlv(GSList **list, const msn_tlv_t *tlv);
 
-int msn_tlvlist_replace_raw(GSList **list, const guint16 type, const guint16 lenth, const char *value);
-int msn_tlvlist_replace_str(GSList **list, const guint16 type, const char *str);
-int msn_tlvlist_replace_empty(GSList **list, const guint16 type);
-int msn_tlvlist_replace_8(GSList **list, const guint16 type, const guint8 value);
-int msn_tlvlist_replace_16(GSList **list, const guint16 type, const guint16 value);
-int msn_tlvlist_replace_32(GSList **list, const guint16 type, const guint32 value);
+int msn_tlvlist_replace_raw(GSList **list, const guint8 type, const guint8 lenth, const char *value);
+int msn_tlvlist_replace_str(GSList **list, const guint8 type, const char *str);
+int msn_tlvlist_replace_empty(GSList **list, const guint8 type);
+int msn_tlvlist_replace_8(GSList **list, const guint8 type, const guint8 value);
+int msn_tlvlist_replace_16(GSList **list, const guint8 type, const guint16 value);
+int msn_tlvlist_replace_32(GSList **list, const guint8 type, const guint32 value);
+int msn_tlvlist_replace_tlv(GSList **list, const msn_tlv_t *tlv);
 
-void msn_tlvlist_remove(GSList **list, const guint16 type);
+void msn_tlvlist_remove(GSList **list, const guint8 type);
 
 #endif /* MSN_TLV_H */
 
--- a/po/ca.po	Fri May 06 08:12:34 2011 +0000
+++ b/po/ca.po	Sun May 08 14:06:04 2011 +0000
@@ -33,8 +33,8 @@
 msgstr ""
 "Project-Id-Version: Pidgin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-30 11:04+0100\n"
-"PO-Revision-Date: 2011-01-30 11:11+0100\n"
+"POT-Creation-Date: 2011-05-07 10:31+0200\n"
+"PO-Revision-Date: 2011-05-07 10:48+0200\n"
 "Last-Translator: Josep Puigdemont i Casamaj坦 <josep.puigdemont@gmail.com>\n"
 "Language-Team: Catalan <tradgnome@softcatala.net>\n"
 "Language: ca\n"
@@ -239,6 +239,9 @@
 msgid "Alias (optional)"
 msgstr "�lies (opcional)"
 
+msgid "Invite message (optional)"
+msgstr "Missatge d'invitaci坦 (opcional)"
+
 msgid "Add in group"
 msgstr "Afegeix al grup"
 
@@ -1975,6 +1978,9 @@
 msgid "Unknown reason"
 msgstr "Motiu desconegut"
 
+msgid "Aborting DNS lookup in Tor Proxy mode."
+msgstr "S'ha avortat la cerca del DNS en el mode de servidor intermediari Tor."
+
 #, c-format
 msgid ""
 "Error reading %s: \n"
@@ -2405,9 +2411,8 @@
 msgid "Create a new directory for each user"
 msgstr "Crea un directori nou per a cada usuari"
 
-#, fuzzy
 msgid "Escape the filenames"
-msgstr "%s ha cancel揃lat la transfer竪ncia del fitxer"
+msgstr "Empra car�cters escapats en els noms de fitxer"
 
 msgid "Notes"
 msgstr "Notes"
@@ -3223,6 +3228,21 @@
 msgid "Change Gadu-Gadu Password"
 msgstr "Canvia la contrasenya per al Gadu-Gadu"
 
+msgid "Show status to:"
+msgstr "Mostra l'estat a:"
+
+msgid "All people"
+msgstr "Tothom"
+
+msgid "Only buddies"
+msgstr "Nom辿s amics"
+
+msgid "Change status broadcasting"
+msgstr "Canvia la difusi坦 de l'estat"
+
+msgid "Please, select who can see your status"
+msgstr "Seleccioneu qui pot veure el vostre estat"
+
 #, c-format
 msgid "Select a chat for buddy: %s"
 msgstr "Seleccioneu un xat per a l'amic: %s"
@@ -3254,9 +3274,7 @@
 msgstr "UIN"
 
 #. first name
-#. purple_notify_user_info_add_pair( info, _( "Hidden Number" ), profile->hidden ? _( "Yes" ) : _( "No" ) );
 #. optional information
-#. purple_notify_user_info_add_pair( info, _( "Title" ), profile->title );
 msgid "First Name"
 msgstr "Nom"
 
@@ -3368,6 +3386,19 @@
 msgid "GG server"
 msgstr "Servidor GG"
 
+msgid "Don't use encryption"
+msgstr "No empris xifratge"
+
+msgid "Use encryption if available"
+msgstr "Empra xifratge si est� disponible"
+
+#. TODO
+msgid "Require encryption"
+msgstr "Requereix xifratge"
+
+msgid "Connection security"
+msgstr "Seguretat de la connexi坦"
+
 #, c-format
 msgid "Unknown command: %s"
 msgstr "Ordre desconeguda: %s"
@@ -3403,7 +3434,6 @@
 #. * buffer that stores what is "being sent" until the
 #. * PurpleHTTPConnection reports it is fully sent.
 #.
-#. TODO: what to do here - do we really have to disconnect?
 #. TODO: do we really want to disconnect on a failure to write?
 #, c-format
 msgid "Lost connection with server: %s"
@@ -3660,6 +3690,9 @@
 msgid "action &lt;action to perform&gt;:  Perform an action."
 msgstr "action &lt;acci坦 a dur a terme&gt;:  realitza una acci坦."
 
+msgid "authserv: Send a command to authserv"
+msgstr "authserv: envia una ordre al authserv"
+
 msgid ""
 "away [message]:  Set an away message, or use no message to return from being "
 "away."
@@ -4017,7 +4050,6 @@
 msgid "Postal Code"
 msgstr "Codi postal"
 
-#. purple_notify_user_info_add_pair( info, _( "Email" ), profile->email );
 msgid "Country"
 msgstr "Pa鱈s"
 
@@ -4787,18 +4819,9 @@
 msgid "Domain"
 msgstr "Domini"
 
-msgid "Require encryption"
-msgstr "Requereix xifratge"
-
-msgid "Use encryption if available"
-msgstr "Empra xifratge si est� disponible"
-
 msgid "Use old-style SSL"
 msgstr "Empra SSL antic"
 
-msgid "Connection security"
-msgstr "Seguretat de la connexi坦"
-
 msgid "Allow plaintext auth over unencrypted streams"
 msgstr "Permet autoritzaci坦 de text sobre fluxos sense xifrar"
 
@@ -4910,6 +4933,7 @@
 "No s'ha pogut enviar el fitxer a %s, at竪s que l'usuari no permet la "
 "transfer竪ncia de fitxers"
 
+#. not success
 msgid "File Send Failed"
 msgstr "Ha fallat la transfer竪ncia del fitxer"
 
@@ -5632,18 +5656,6 @@
 msgid "Unable to Add"
 msgstr "No s'ha pogut afegir"
 
-msgid "Authorization Request Message:"
-msgstr "Missatge de petici坦 d'autoritzaci坦:"
-
-msgid "Please authorize me!"
-msgstr "Autoritzeu-me, si us plau."
-
-#. *
-#. * A wrapper for purple_request_action() that uses @c OK and @c Cancel buttons.
-#.
-msgid "_OK"
-msgstr "_D'acord"
-
 msgid "Error retrieving profile"
 msgstr "S'ha produ誰t un error en recuperar el perfil"
 
@@ -5856,6 +5868,11 @@
 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."
 
+msgid "Mobile message was not sent because an unknown error occurred."
+msgstr ""
+"No s'ha pogut enviar el missatge al m嘆bil perqu竪 s'ha produ誰t un error "
+"desconegut."
+
 #, c-format
 msgid ""
 "The MSN server will shut down for maintenance in %d minute. You will "
@@ -6031,18 +6048,6 @@
 msgid "The username specified is invalid."
 msgstr "El nom d'usuari especificat no 辿s v�lid."
 
-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 Display Name you entered is invalid."
 msgstr "El nom d'usuari que heu introdu誰t no 辿s v�lid."
 
@@ -6066,35 +6071,65 @@
 "Encara no s'ha pogut recuperar la informaci坦 del vostre perfil. Torneu-ho a "
 "intentar m辿s tard."
 
-msgid "Your UID"
-msgstr "El vostre UID"
+#. display name
+#. nick name (required)
+msgid "Display Name"
+msgstr "Nom que es mostrar�"
+
+#. about me
+msgid "About Me"
+msgstr "Quant a mi"
+
+#. where I live
+msgid "Where I Live"
+msgstr "On visc"
+
+#. mobile number
+msgid "Mobile Number"
+msgstr "N炭mero de tel竪fon m嘆bil"
+
+#. is searchable
+msgid "Can be searched"
+msgstr "Pot cercar-se"
+
+#. is suggestable
+msgid "Can be suggested"
+msgstr "Pot suggerir-se"
+
+msgid "Update your MXit Profile"
+msgstr "Actualitzeu el vostre perfil MXit"
+
+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."
+
+#. show error to user
+msgid "PIN Update Error"
+msgstr "S'ha produ誰t un error en actualitzar el PIN"
 
 #. pin
 #. pin (required)
 msgid "PIN"
 msgstr "PIN"
 
+#. verify pin
 msgid "Verify PIN"
 msgstr "Verifiqueu el PIN"
 
-#. display name
-#. nick name (required)
-msgid "Display Name"
-msgstr "Nom que es mostrar�"
-
-#. hidden
-msgid "Hide my number"
-msgstr "Oculta el meu n炭mero"
-
-#. mobile number
-msgid "Mobile Number"
-msgstr "N炭mero de tel竪fon m嘆bil"
-
-msgid "Update your Profile"
-msgstr "Actualitzeu el vostre perfil"
-
-msgid "Here you can update your MXit profile"
-msgstr "Aqu鱈 podeu actualitzar el vostre perfil MXit"
+#. (reference: "libpurple/request.h")
+msgid "Change PIN"
+msgstr "Canvia el PIN"
+
+msgid "Change MXit PIN"
+msgstr "Canvia el PIN de l'MXit"
 
 msgid "View Splash"
 msgstr "Mostra la pantalla de presentaci坦"
@@ -6105,10 +6140,34 @@
 msgid "About"
 msgstr "Quant a"
 
+msgid "Search for user"
+msgstr "Cerca un usuari"
+
+msgid "Search for a MXit contact"
+msgstr "Cerca un contacte de l'MXit"
+
+msgid "Type search information"
+msgstr "Escriviu informaci坦 de la cerca"
+
+msgid "_Search"
+msgstr "C_erca"
+
 #. display / change profile
 msgid "Change Profile..."
 msgstr "Canvia el perfil..."
 
+#. change PIN
+msgid "Change PIN..."
+msgstr "Canvia el PIN..."
+
+#. suggested friends
+msgid "Suggested friends..."
+msgstr "Amics suggerits..."
+
+#. search for contacts
+msgid "Search for contacts..."
+msgstr "Cerca contactes..."
+
 #. display splash-screen
 msgid "View Splash..."
 msgstr "Mostra la pantalla de presentaci坦..."
@@ -6137,6 +6196,9 @@
 msgid "Connecting..."
 msgstr "S'est� connectant..."
 
+msgid "The Display Name you entered is too short."
+msgstr "El nom d'usuari que heu introdu誰t 辿s massa curt."
+
 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]."
 
@@ -6211,13 +6273,12 @@
 msgid "Retrieving User Information..."
 msgstr "S'est� obtenint informaci坦 de l'usuari..."
 
-#. you were kicked
+msgid "was kicked"
+msgstr "ha estat fet fora"
+
 msgid "You have been kicked from this MultiMX."
 msgstr "Us han fet fora d'aquest MultiMX."
 
-msgid "was kicked"
-msgstr "ha estat fet fora"
-
 msgid "_Room Name:"
 msgstr "Nom de la _Sala:"
 
@@ -6239,9 +6300,19 @@
 msgid "Hidden Number"
 msgstr "Nombre ocult"
 
+msgid "No profile available"
+msgstr "El perfil no est� disponible"
+
+msgid "This contact does not have a profile."
+msgstr "Aquest contacte no t辿 cap perfil."
+
 msgid "Your MXit ID..."
 msgstr "El vostre identificador MXit..."
 
+#. contact is in Deleted, Rejected or None state
+msgid "Re-Invite"
+msgstr "Convida de nou"
+
 #. Configuration options
 #. WAP server (reference: "libpurple/accountopt.h")
 msgid "WAP Server"
@@ -6256,6 +6327,30 @@
 msgid "Last Online"
 msgstr "Darrer cop en l鱈nia"
 
+msgid "Invite Message"
+msgstr "Missatge d'invitaci坦"
+
+msgid "No results"
+msgstr "Cap resultat"
+
+msgid "No contacts found."
+msgstr "No s'ha trobat cap contacte."
+
+#. define columns
+msgid "UserId"
+msgstr "Usuari"
+
+msgid "Where I live"
+msgstr "On visc"
+
+#, c-format
+msgid "You have %i suggested friends."
+msgstr "Teniu %i suggeriments d'amics."
+
+#, c-format
+msgid "We found %i contacts that match your search."
+msgstr "Hem trobat %i contactes que coincideixen amb la cerca."
+
 #. 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 "S'ha trencat la connexi坦 a MXit. Torneu-vos a connectar."
@@ -7013,6 +7108,12 @@
 msgid "Authorization Denied Message:"
 msgstr "Missatge de denegaci坦 de l'autoritzaci坦:"
 
+#. *
+#. * A wrapper for purple_request_action() that uses @c OK and @c Cancel buttons.
+#.
+msgid "_OK"
+msgstr "_D'acord"
+
 #, c-format
 msgid "Received unexpected response from %s: %s"
 msgstr "S'ha rebut una resposta inesperada de %s: %s"
@@ -7373,7 +7474,6 @@
 msgstr "S'ha rebut l'autoritzaci坦"
 
 #. Unregistered username
-#. uid is not exist
 #. the username does not exist
 msgid "Username does not exist"
 msgstr "L'usuari no existeix"
@@ -7546,6 +7646,14 @@
 msgid "You have been disconnected from chat room %s."
 msgstr "Se us ha desconnectat de la conversa %s."
 
+msgid "The new formatting is invalid."
+msgstr "El format nou no 辿s v�lid."
+
+msgid "Username formatting can change only capitalization and whitespace."
+msgstr ""
+"El format del nom d'usuari nom辿s pot canviar maj炭scules i min炭scules, i "
+"espais en blanc."
+
 msgid "Pop-Up Message"
 msgstr "Missatge emergent"
 
@@ -7811,14 +7919,6 @@
 msgid "ICQ Privacy Options"
 msgstr "Opcions de privadesa d'ICQ"
 
-msgid "The new formatting is invalid."
-msgstr "El format nou no 辿s v�lid."
-
-msgid "Username formatting can change only capitalization and whitespace."
-msgstr ""
-"El format del nom d'usuari nom辿s pot canviar maj炭scules i min炭scules, i "
-"espais en blanc."
-
 msgid "Change Address To:"
 msgstr "Canvia l'adre巽a per:"
 
@@ -7844,9 +7944,6 @@
 msgid "Type the email address of the buddy you are searching for."
 msgstr "Escriviu l'adre巽a de correu de l'amic que estigueu cercant."
 
-msgid "_Search"
-msgstr "C_erca"
-
 msgid "Set User Info (web)..."
 msgstr "Estableix informaci坦 d'usuari (web)..."
 
@@ -7883,9 +7980,6 @@
 msgid "Search for Buddy by Email Address..."
 msgstr "Cerca un amic per l'adre巽a de correu..."
 
-msgid "Don't use encryption"
-msgstr "No empris xifratge"
-
 msgid "Use clientLogin"
 msgstr "Empra clientLogin"
 
@@ -8163,727 +8257,6 @@
 msgid "These buddies will always see you as offline"
 msgstr "Aquests amics us veuran sempre fora de l鱈nia"
 
-msgid "Aquarius"
-msgstr "Aquari"
-
-msgid "Pisces"
-msgstr "Peixos"
-
-msgid "Aries"
-msgstr "�ries"
-
-msgid "Taurus"
-msgstr "Taure"
-
-msgid "Gemini"
-msgstr "Bessons"
-
-msgid "Cancer"
-msgstr "Cranc"
-
-msgid "Leo"
-msgstr "Lle坦"
-
-msgid "Virgo"
-msgstr "Verge"
-
-msgid "Libra"
-msgstr "Balan巽a"
-
-msgid "Scorpio"
-msgstr "Escorpi坦"
-
-msgid "Sagittarius"
-msgstr "Sagitari"
-
-msgid "Capricorn"
-msgstr "Capricorn"
-
-msgid "Rat"
-msgstr "Rata"
-
-msgid "Ox"
-msgstr "Bou"
-
-msgid "Tiger"
-msgstr "Tigre"
-
-msgid "Rabbit"
-msgstr "Conill"
-
-msgid "Dragon"
-msgstr "Drac"
-
-msgid "Snake"
-msgstr "Serp"
-
-msgid "Horse"
-msgstr "Cavall"
-
-msgid "Goat"
-msgstr "Ovella"
-
-msgid "Monkey"
-msgstr "Mico"
-
-msgid "Rooster"
-msgstr "Gall"
-
-msgid "Dog"
-msgstr "Gos"
-
-msgid "Pig"
-msgstr "Porc"
-
-msgid "Other"
-msgstr "Altres"
-
-msgid "Visible"
-msgstr "Visible"
-
-msgid "Friend Only"
-msgstr "Nom辿s amic"
-
-msgid "Private"
-msgstr "Privat"
-
-msgid "QQ Number"
-msgstr "N炭mero QQ"
-
-msgid "Country/Region"
-msgstr "Pa鱈s/Regi坦"
-
-msgid "Province/State"
-msgstr "Prov鱈ncia/Estat"
-
-msgid "Zipcode"
-msgstr "Codi postal"
-
-msgid "Phone Number"
-msgstr "N炭mero de tel竪fon"
-
-msgid "Authorize adding"
-msgstr "Autoritzar que us afegeixin"
-
-msgid "Cellphone Number"
-msgstr "N炭mero de m嘆bil"
-
-msgid "Personal Introduction"
-msgstr "Introducci坦 personal"
-
-msgid "City/Area"
-msgstr "Ciutat/�rea"
-
-msgid "Publish Mobile"
-msgstr "Publica el m嘆bil"
-
-msgid "Publish Contact"
-msgstr "Publica el contacte"
-
-msgid "College"
-msgstr "Col揃legi"
-
-msgid "Horoscope"
-msgstr "Hor嘆scop"
-
-msgid "Zodiac"
-msgstr "Zod鱈ac"
-
-msgid "Blood"
-msgstr "Sang"
-
-msgid "True"
-msgstr "Cert"
-
-msgid "False"
-msgstr "Fals"
-
-msgid "Modify Contact"
-msgstr "Modifica el contacte"
-
-msgid "Modify Address"
-msgstr "Modifica l'adre巽a"
-
-msgid "Modify Extended Information"
-msgstr "Modifica la informaci坦 estesa"
-
-msgid "Modify Information"
-msgstr "Modifica la informaci坦"
-
-msgid "Update"
-msgstr "Actualitza"
-
-msgid "Could not change buddy information."
-msgstr "No s'ha pogut canviar la informaci坦 l'amic."
-
-msgid "Note"
-msgstr "Nota"
-
-# FIXME: "memo", el qq t辿 una terminologia molt peculiar
-#. callback
-msgid "Buddy Memo"
-msgstr "Memo de l'amic"
-
-msgid "Change his/her memo as you like"
-msgstr "Canvieu-ne el memo"
-
-msgid "_Modify"
-msgstr "_Modifica"
-
-msgid "Memo Modify"
-msgstr "Modifica el memo"
-
-msgid "Server says:"
-msgstr "El servidor diu:"
-
-msgid "Your request was accepted."
-msgstr "S'ha acceptat la vostra sol揃licitud."
-
-msgid "Your request was rejected."
-msgstr "S'ha rebutjat la vostra sol揃licitud."
-
-#, c-format
-msgid "%u requires verification: %s"
-msgstr "%u requereix verificaci坦: %s"
-
-# Nota: t鱈tol de finestra
-msgid "Add buddy question"
-msgstr "Afegir una pregunta"
-
-msgid "Enter answer here"
-msgstr "Introdu誰u la resposta aqu鱈"
-
-msgid "Send"
-msgstr "Envia"
-
-msgid "Invalid answer."
-msgstr "La resposta no 辿s v�lida"
-
-msgid "Authorization denied message:"
-msgstr "Missatge de denegaci坦 de l'autoritzaci坦:"
-
-msgid "Sorry, you're not my style."
-msgstr "Em sap greu, no sou el meu tipus."
-
-#, c-format
-msgid "%u needs authorization"
-msgstr "Cal autoritzaci坦 per a %u"
-
-# Nota: t鱈tol de finestra (josep)
-msgid "Add buddy authorize"
-msgstr "Autoritzaci坦 per a afegir un amic"
-
-msgid "Enter request here"
-msgstr "Introdu誰u la sol揃licitud aqu鱈"
-
-msgid "Would you be my friend?"
-msgstr "Voleu ser el meu amic?"
-
-msgid "QQ Buddy"
-msgstr "Amic QQ"
-
-msgid "Add buddy"
-msgstr "Afegeix un amic"
-
-msgid "Invalid QQ Number"
-msgstr "El nombre QQ no 辿s v�lid"
-
-msgid "Failed sending authorize"
-msgstr "No s'ha pogut enviar l'autoritzaci坦"
-
-#, c-format
-msgid "Failed removing buddy %u"
-msgstr "No s'ha pogut suprimir l'amic %u"
-
-#, c-format
-msgid "Failed removing me from %d's buddy list"
-msgstr "No us heu pogut suprimir de la llista d'amics de %d"
-
-msgid "No reason given"
-msgstr "No s'ha indicat cap motiu"
-
-#. only need to get value
-#, c-format
-msgid "You have been added by %s"
-msgstr "%s us ha afegit"
-
-msgid "Would you like to add him?"
-msgstr "Voleu afegir-lo?"
-
-#, c-format
-msgid "Rejected by %s"
-msgstr "Rebutjat per %s"
-
-#, c-format
-msgid "Message: %s"
-msgstr "Missatge: %s"
-
-msgid "ID: "
-msgstr "Identificador: "
-
-msgid "Group ID"
-msgstr "Identificador del Grup"
-
-msgid "QQ Qun"
-msgstr "QQ Qun"
-
-msgid "Please enter Qun number"
-msgstr "Introdu誰u el n炭mero Qun"
-
-msgid "You can only search for permanent Qun\n"
-msgstr "Nom辿s podeu cercar Quns permanents\n"
-
-msgid "(Invalid UTF-8 string)"
-msgstr "(No 辿s una cadena UTF-8 v�lida)"
-
-msgid "Not member"
-msgstr "No en s坦c membre"
-
-msgid "Member"
-msgstr "Membre"
-
-msgid "Requesting"
-msgstr "Demanant"
-
-msgid "Admin"
-msgstr "Administrador"
-
-# FIXME
-#. XXX: Should this be "Topic"?
-msgid "Room Title"
-msgstr "Nom de la sala"
-
-msgid "Notice"
-msgstr "Av鱈s"
-
-msgid "Detail"
-msgstr "Detalls"
-
-msgid "Creator"
-msgstr "Creador"
-
-msgid "About me"
-msgstr "Quant a mi"
-
-msgid "Category"
-msgstr "Categoria"
-
-msgid "The Qun does not allow others to join"
-msgstr "Aquest Qun no permet que s'hi afegeixi ning炭"
-
-msgid "Join QQ Qun"
-msgstr "Entra al Qun QQ"
-
-msgid "Input request here"
-msgstr "Introdu誰u la sol揃licitud aqu鱈"
-
-#, c-format
-msgid "Successfully joined Qun %s (%u)"
-msgstr "S'ha entrat al Qun %s (%u)"
-
-msgid "Successfully joined Qun"
-msgstr "S'ha entrat al Qun"
-
-#, c-format
-msgid "Qun %u denied from joining"
-msgstr "No se us ha perm竪s entrar al Qun %u"
-
-msgid "QQ Qun Operation"
-msgstr "Operaci坦 Qun QQ"
-
-msgid "Failed:"
-msgstr "Ha fallat:"
-
-msgid "Join Qun, Unknown Reply"
-msgstr "Resposta desconeguda en entrar al Qun"
-
-msgid "Quit Qun"
-msgstr "Surt del Qun"
-
-msgid ""
-"Note, if you are the creator, \n"
-"this operation will eventually remove this Qun."
-msgstr ""
-"Nota, si en sou el creador, \n"
-"aquesta operaci坦 suprimir� aquest Qun."
-
-msgid "Sorry, you are not our style"
-msgstr "Em sap greu, no sou el meu tipus"
-
-msgid "Successfully changed Qun members"
-msgstr "S'ha canviat els membres del Qun"
-
-msgid "Successfully changed Qun information"
-msgstr "S'ha canviat la iformaci坦 del Qun correctament"
-
-msgid "You have successfully created a Qun"
-msgstr "Heu creat un Qun"
-
-msgid "Would you like to set up detailed information now?"
-msgstr "Voleu establir informaci坦 detallada ara?"
-
-msgid "Setup"
-msgstr "Configuraci坦"
-
-#, c-format
-msgid "%u requested to join Qun %u for %s"
-msgstr "%u ha sol揃licitat unir-se al Qun %u per %s"
-
-#, c-format
-msgid "%u request to join Qun %u"
-msgstr "%u ha sol揃licitat unir-se al Qun %u"
-
-#, c-format
-msgid "Failed to join Qun %u, operated by admin %u"
-msgstr "No s'ha pogut entrar al Qun %u, administrat per %u"
-
-#, c-format
-msgid "<b>Joining Qun %u is approved by admin %u for %s</b>"
-msgstr "<b>L'administrador %2$u us ha perm竪s unir-vos al Qun %1$u per %3$s</b>"
-
-#, c-format
-msgid "<b>Removed buddy %u.</b>"
-msgstr "<b>S'ha suprimit l'amic %u.</b>"
-
-#, c-format
-msgid "<b>New buddy %u joined.</b>"
-msgstr "<b>El nou amic %u ha entrat.</b>"
-
-#, c-format
-msgid "Unknown-%d"
-msgstr "Desconegut-%d"
-
-msgid "Level"
-msgstr "Nivell"
-
-msgid " VIP"
-msgstr " VIP"
-
-msgid " TCP"
-msgstr " TCP"
-
-msgid " FromMobile"
-msgstr " FromMobile"
-
-msgid " BindMobile"
-msgstr " BindMobile"
-
-msgid " Video"
-msgstr " V鱈deo"
-
-msgid " Zone"
-msgstr " Zona"
-
-# Nota: nom辿s apareix si es defineix DEBUG
-msgid "Flag"
-msgstr "Bandera"
-
-# Nota: nom辿s apareix si es defineix DEBUG
-msgid "Ver"
-msgstr "Ver"
-
-msgid "Invalid name"
-msgstr "QQ: El nom d'usuari no 辿s v�lid"
-
-msgid "Select icon..."
-msgstr "Selecciona una icona..."
-
-#, c-format
-msgid "<b>Login time</b>: %d-%d-%d, %d:%d:%d<br>\n"
-msgstr "<b>Temps d'entrada</b>: %d-%d-%d, %d:%d:%d<br>\n"
-
-#, c-format
-msgid "<b>Total Online Buddies</b>: %d<br>\n"
-msgstr "<b>Amic en l鱈nia</b>: %d<br>\n"
-
-#, c-format
-msgid "<b>Last Refresh</b>: %d-%d-%d, %d:%d:%d<br>\n"
-msgstr "<b>Actualitzat per darrer cop</b>: %d-%d-%d, %d:%d:%d<br>\n"
-
-#, c-format
-msgid "<b>Server</b>: %s<br>\n"
-msgstr "<b>Servidor</b>: %s<br>\n"
-
-#, c-format
-msgid "<b>Client Tag</b>: %s<br>\n"
-msgstr "<b>Etiqueta del client</b>: %s<br>\n"
-
-#, c-format
-msgid "<b>Connection Mode</b>: %s<br>\n"
-msgstr "<b>Mode de connexi坦</b>: %s<br>\n"
-
-#, c-format
-msgid "<b>My Internet IP</b>: %s:%d<br>\n"
-msgstr "<b>La meva adre巽a IP</b>: %s:%d<br>\n"
-
-#, c-format
-msgid "<b>Sent</b>: %lu<br>\n"
-msgstr "<b>Enviats</b>: %lu<br>\n"
-
-#, c-format
-msgid "<b>Resend</b>: %lu<br>\n"
-msgstr "<b>Reenviats</b>: %lu<br>\n"
-
-#, c-format
-msgid "<b>Lost</b>: %lu<br>\n"
-msgstr "<b>Perduts</b>: %lu<br>\n"
-
-#, c-format
-msgid "<b>Received</b>: %lu<br>\n"
-msgstr "<b>Rebuts</b>: %lu<br>\n"
-
-#, c-format
-msgid "<b>Received Duplicate</b>: %lu<br>\n"
-msgstr "<b>Rebuts duplicats</b>: %lu<br>\n"
-
-#, c-format
-msgid "<b>Time</b>: %d-%d-%d, %d:%d:%d<br>\n"
-msgstr "<b>Temps</b>: %d-%d-%d, %d:%d:%d<br>\n"
-
-#, c-format
-msgid "<b>IP</b>: %s<br>\n"
-msgstr "<b>IP</b>: %s<br>\n"
-
-msgid "Login Information"
-msgstr "Informaci坦 de la connexi坦"
-
-msgid "<p><b>Original Author</b>:<br>\n"
-msgstr "<p><b>Autor original</b>:<br>\n"
-
-msgid "<p><b>Code Contributors</b>:<br>\n"
-msgstr "<p><b>Col揃laboradors del codi</b>:<br>\n"
-
-msgid "<p><b>Lovely Patch Writers</b>:<br>\n"
-msgstr "<p><b>Encantadors apeda巽adors (de codi)</b>:<br>\n"
-
-msgid "<p><b>Acknowledgement</b>:<br>\n"
-msgstr "<p><b>Reconeixement</b>:<br>\n"
-
-msgid "<p><b>Scrupulous Testers</b>:<br>\n"
-msgstr "<p><b>Comprovadors del codi</b>:<br>\n"
-
-msgid "and more, please let me know... thank you!))"
-msgstr "i m辿s, si us plau feu-m'ho saber... gr�cies!!!))"
-
-# FIXME: ush... traducci坦 lliure... 
-msgid "<p><i>And, all the boys in the backroom...</i><br>\n"
-msgstr "<p><i>I tothom que ho ha fet possible...<i><br>\n"
-
-msgid "<i>Feel free to join us!</i> :)"
-msgstr "<i>No dubteu a col揃laborar amb nosaltres!</i> :)"
-
-#, c-format
-msgid "About OpenQ %s"
-msgstr "Quant a l'OpenQ %s"
-
-msgid "Change Icon"
-msgstr "Canvia la icona"
-
-msgid "Change Password"
-msgstr "Canvia la contrasenya"
-
-msgid "Account Information"
-msgstr "Informaci坦 del compte"
-
-msgid "Update all QQ Quns"
-msgstr "Actualitza tots els Quns QQ"
-
-msgid "About OpenQ"
-msgstr "Quant a l'OpenQ"
-
-msgid "Modify Buddy Memo"
-msgstr "Modifica el memo de l'amic"
-
-#. *< type
-#. *< ui_requirement
-#. *< flags
-#. *< dependencies
-#. *< priority
-#. *< id
-#. *< name
-#. *< version
-#. *  summary
-#. *  description
-msgid "QQ Protocol Plugin"
-msgstr "Connector per al protocol QQ"
-
-msgid "Auto"
-msgstr "Auto"
-
-msgid "Select Server"
-msgstr "Seleccioneu un servidor"
-
-msgid "QQ2008"
-msgstr "QQ2008"
-
-msgid "QQ2007"
-msgstr "QQ2007"
-
-msgid "QQ2005"
-msgstr "QQ2005"
-
-msgid "Connect by TCP"
-msgstr "Connecta amb TCP"
-
-msgid "Show server notice"
-msgstr "Mostra els avisos del servidor"
-
-msgid "Show server news"
-msgstr "Mostra les not鱈cies del servidor"
-
-msgid "Show chat room when msg comes"
-msgstr "Mostra la sala de xat quan hi arribin missatges"
-
-# FIXME: keep alive -> perman竪ncia
-msgid "Keep alive interval (seconds)"
-msgstr "Interval de perman竪ncia (en segons)"
-
-msgid "Update interval (seconds)"
-msgstr "Interval d'actualitzaci坦 (en segons)"
-
-msgid "Unable to decrypt server reply"
-msgstr "No es pot desxifrar la resposta del servidor"
-
-#, c-format
-msgid "Failed requesting token, 0x%02X"
-msgstr "S'ha produ誰t un error en sol揃licitar el testimoni, 0x%02X"
-
-#, c-format
-msgid "Invalid token len, %d"
-msgstr "La longiud del testimoni no 辿s v�lida, %d"
-
-#. extend redirect used in QQ2006
-msgid "Redirect_EX is not currently supported"
-msgstr "Redirect_EX no est� implementat"
-
-#. need activation
-#. need activation
-#. need activation
-msgid "Activation required"
-msgstr "Cal activaci坦"
-
-#, c-format
-msgid "Unknown reply code when logging in (0x%02X)"
-msgstr "No s'ha reconegut el codi de resposta en entrar (0x%02X)"
-
-# FIXME: captcha
-msgid "Requesting captcha"
-msgstr "S'est� sol揃licitant un capcha"
-
-msgid "Checking captcha"
-msgstr "S'est� comprovant el captcha"
-
-msgid "Failed captcha verification"
-msgstr "Ha fallat la verificaci坦 del captcha"
-
-msgid "Captcha Image"
-msgstr "Imatge captcha"
-
-msgid "Enter code"
-msgstr "Introdu誰u el codi"
-
-msgid "QQ Captcha Verification"
-msgstr "Verificaci坦 del captcha QQ"
-
-msgid "Enter the text from the image"
-msgstr "Introdu誰u el text de la imatge"
-
-#, c-format
-msgid "Unknown reply when checking password (0x%02X)"
-msgstr ""
-"No s'ha reconegut el codi de resposta en comprovar la contrasenya (0x%02X)"
-
-#, c-format
-msgid ""
-"Unknown reply code when logging in (0x%02X):\n"
-"%s"
-msgstr ""
-"No s'ha reconegut el codi de resposta en entrar (0x%02X):\n"
-"%s"
-
-msgid "Socket error"
-msgstr "Error del s嘆col"
-
-msgid "Getting server"
-msgstr "S'est� obtenint el servidor"
-
-msgid "Requesting token"
-msgstr "S'est� sol揃licitant un testimoni"
-
-msgid "Unable to resolve hostname"
-msgstr "No s'ha pogut resoldre el nom de l'ordinador"
-
-msgid "Invalid server or port"
-msgstr "El servidor o el port no s坦n v�lids"
-
-msgid "Connecting to server"
-msgstr "S'est� connectant al servidor"
-
-msgid "QQ Error"
-msgstr "Error del QQ"
-
-#, c-format
-msgid ""
-"Server News:\n"
-"%s\n"
-"%s\n"
-"%s"
-msgstr ""
-"Not鱈cies del servidor:\n"
-"%s\n"
-"%s\n"
-"%s"
-
-#, c-format
-msgid "%s:%s"
-msgstr "%s:%s"
-
-#, c-format
-msgid "From %s:"
-msgstr "De %s:"
-
-#, c-format
-msgid ""
-"Server notice From %s: \n"
-"%s"
-msgstr ""
-"Av鱈s del servidor de %s: \n"
-"%s"
-
-msgid "Unknown SERVER CMD"
-msgstr "Ordre del servidor desconeguda"
-
-#, c-format
-msgid ""
-"Error reply of %s(0x%02X)\n"
-"Room %u, reply 0x%02X"
-msgstr ""
-"Resposta d'error de %s(0x%02X)\n"
-"Sala %u, resposta 0x%02X"
-
-msgid "QQ Qun Command"
-msgstr "Ordre QQ Qun"
-
-msgid "Unable to decrypt login reply"
-msgstr "No s'ha pogut desxifrar la resposta d'entrada"
-
-msgid "Unknown LOGIN CMD"
-msgstr "Ordre d'entrada desconeguda"
-
-msgid "Unknown CLIENT CMD"
-msgstr "Ordre de client desconeguda"
-
-#, c-format
-msgid "%d has declined the file %s"
-msgstr "%d ha refusat el fitxer %s"
-
-msgid "File Send"
-msgstr "S'ha enviat el fitxer"
-
-#, c-format
-msgid "%d cancelled the transfer of %s"
-msgstr "%d ha cancel揃lat la transfer竪ncia de %s"
-
 #, c-format
 msgid "<b>Group Title:</b> %s<br>"
 msgstr "<b>T鱈tol del grup:</b> %s<br>"
@@ -9654,6 +9027,9 @@
 msgid "Unit"
 msgstr "Unitat"
 
+msgid "Note"
+msgstr "Nota"
+
 msgid "Join Chat"
 msgstr "Entra a un xat"
 
@@ -10302,6 +9678,9 @@
 msgid "Unable to create listen socket"
 msgstr "No s'ha pogut crear el s嘆col on escoltar"
 
+msgid "Unable to resolve hostname"
+msgstr "No s'ha pogut resoldre el nom de l'ordinador"
+
 msgid "SIP usernames may not contain whitespaces or @ symbols"
 msgstr "Els noms d'usuari SIP no poden contenir espais en blanc ni @"
 
@@ -10422,6 +9801,9 @@
 msgid "Yahoo! system message for %s:"
 msgstr "Missatge del sistema de yahoo! per a %s:"
 
+msgid "Authorization denied message:"
+msgstr "Missatge de denegaci坦 de l'autoritzaci坦:"
+
 #, c-format
 msgid ""
 "%s has (retroactively) denied your request to add them to your list for the "
@@ -11219,15 +10601,18 @@
 msgid "No Proxy"
 msgstr "Sense servidor intermediari"
 
-msgid "HTTP"
-msgstr "HTTP"
-
 msgid "SOCKS 4"
 msgstr "SOCKS 4"
 
 msgid "SOCKS 5"
 msgstr "SOCKS 5"
 
+msgid "Tor/Privacy (SOCKS5)"
+msgstr "Tor/Privadesa (SOCKS5)"
+
+msgid "HTTP"
+msgstr "HTTP"
+
 msgid "Use Environmental Settings"
 msgstr "Empra les opcions de l'entorn"
 
@@ -11255,6 +10640,12 @@
 msgid "Pa_ssword:"
 msgstr "_Contrasenya:"
 
+msgid "Use _silence suppression"
+msgstr "Empra la supressi坦 del silenci"
+
+msgid "_Voice and Video"
+msgstr "_Veu i v鱈deo"
+
 msgid "Unable to save new account"
 msgstr "No s'ha pogut desar el compte nou"
 
@@ -11303,9 +10694,20 @@
 "d'amics."
 
 #, c-format
+msgid ""
+"<a href=\"viewinfo\">%s</a>%s%s%s wants to add you (%s) to his or her buddy "
+"list%s%s"
+msgstr ""
+"<a href=\"viewinfo\">%s</a>%s%s%s us vol afegir (%s) a la seva llista d'amics"
+"%s%s"
+
+#, c-format
 msgid "%s%s%s%s wants to add you (%s) to his or her buddy list%s%s"
 msgstr "L'usuari %s%s%s%s us vol afegir (%s) a la seva llista d'amics%s%s"
 
+msgid "Send Instant Message"
+msgstr "Envia un missatge instantani"
+
 #. Buddy List
 msgid "Background Color"
 msgstr "Color de fons"
@@ -11859,6 +11261,9 @@
 msgid "(Optional) A_lias:"
 msgstr "(Opcional) �_lies:"
 
+msgid "(Optional) _Invite message:"
+msgstr "(Opcional) Missatge d'_invitaci坦:"
+
 msgid "Add buddy to _group:"
 msgstr "Afegeix l'amic al _grup:"
 
@@ -13345,6 +12750,13 @@
 msgstr "Avisos nous"
 
 # FIXME: Cancel揃la?
+#. Translators: Make sure you translate "Dismiss" differently than
+#. "close"!  This string is used in the "You have pounced" dialog
+#. that appears when one of your Buddy Pounces is triggered.  In
+#. this context "Dismiss" means "I acknowledge that I've seen that
+#. this pounce was triggered--remove it from this list."  Translating
+#. it as "Remove" is acceptable if you can't think of a more precise
+#. word.
 msgid "Dismiss"
 msgstr "Rebutja"
 
@@ -14479,6 +13891,9 @@
 msgid "PubSub Leaf"
 msgstr "Fulla PubSub"
 
+msgid "Other"
+msgstr "Altres"
+
 msgid ""
 "\n"
 "<b>Description:</b> "
@@ -15343,6 +14758,21 @@
 msgid "D_evice"
 msgstr "D_ispositiu"
 
+msgid "DROP"
+msgstr "DROP"
+
+msgid "Volume:"
+msgstr "Volum:"
+
+msgid "Silence threshold:"
+msgstr "Llindar per al sileici:"
+
+msgid "Input and Output Settings"
+msgstr "Par�metres d'entrada i sortida"
+
+msgid "Microphone Test"
+msgstr "Test del micr嘆fon"
+
 #. *< magic
 #. *< major version
 #. *< minor version
@@ -15355,9 +14785,6 @@
 msgid "Voice/Video Settings"
 msgstr "Configuraci坦 del so/v鱈deo"
 
-msgid "Voice and Video Settings"
-msgstr "Configuraci坦 de la veu i el v鱈deo"
-
 #. *< name
 #. *< version
 msgid "Configure your microphone and webcam."
@@ -15635,6 +15062,668 @@
 msgid "You do not have permission to uninstall this application."
 msgstr "No tens perm鱈s per desinstal.lar aquesta aplicaci坦."
 
+#~ msgid "Authorization Request Message:"
+#~ msgstr "Missatge de petici坦 d'autoritzaci坦:"
+
+#~ msgid "Please authorize me!"
+#~ msgstr "Autoritzeu-me, si us plau."
+
+#~ msgid "Your UID"
+#~ msgstr "El vostre UID"
+
+#~ msgid "Hide my number"
+#~ msgstr "Oculta el meu n炭mero"
+
+#~ msgid "Here you can update your MXit profile"
+#~ msgstr "Aqu鱈 podeu actualitzar el vostre perfil MXit"
+
+#~ msgid "Aquarius"
+#~ msgstr "Aquari"
+
+#~ msgid "Pisces"
+#~ msgstr "Peixos"
+
+#~ msgid "Aries"
+#~ msgstr "�ries"
+
+#~ msgid "Taurus"
+#~ msgstr "Taure"
+
+#~ msgid "Gemini"
+#~ msgstr "Bessons"
+
+#~ msgid "Cancer"
+#~ msgstr "Cranc"
+
+#~ msgid "Leo"
+#~ msgstr "Lle坦"
+
+#~ msgid "Virgo"
+#~ msgstr "Verge"
+
+#~ msgid "Libra"
+#~ msgstr "Balan巽a"
+
+#~ msgid "Scorpio"
+#~ msgstr "Escorpi坦"
+
+#~ msgid "Sagittarius"
+#~ msgstr "Sagitari"
+
+#~ msgid "Capricorn"
+#~ msgstr "Capricorn"
+
+#~ msgid "Rat"
+#~ msgstr "Rata"
+
+#~ msgid "Ox"
+#~ msgstr "Bou"
+
+#~ msgid "Tiger"
+#~ msgstr "Tigre"
+
+#~ msgid "Rabbit"
+#~ msgstr "Conill"
+
+#~ msgid "Dragon"
+#~ msgstr "Drac"
+
+#~ msgid "Snake"
+#~ msgstr "Serp"
+
+#~ msgid "Horse"
+#~ msgstr "Cavall"
+
+#~ msgid "Goat"
+#~ msgstr "Ovella"
+
+#~ msgid "Monkey"
+#~ msgstr "Mico"
+
+#~ msgid "Rooster"
+#~ msgstr "Gall"
+
+#~ msgid "Dog"
+#~ msgstr "Gos"
+
+#~ msgid "Pig"
+#~ msgstr "Porc"
+
+#~ msgid "Visible"
+#~ msgstr "Visible"
+
+#~ msgid "Friend Only"
+#~ msgstr "Nom辿s amic"
+
+#~ msgid "Private"
+#~ msgstr "Privat"
+
+#~ msgid "QQ Number"
+#~ msgstr "N炭mero QQ"
+
+#~ msgid "Country/Region"
+#~ msgstr "Pa鱈s/Regi坦"
+
+#~ msgid "Province/State"
+#~ msgstr "Prov鱈ncia/Estat"
+
+#~ msgid "Zipcode"
+#~ msgstr "Codi postal"
+
+#~ msgid "Phone Number"
+#~ msgstr "N炭mero de tel竪fon"
+
+#~ msgid "Authorize adding"
+#~ msgstr "Autoritzar que us afegeixin"
+
+#~ msgid "Cellphone Number"
+#~ msgstr "N炭mero de m嘆bil"
+
+#~ msgid "Personal Introduction"
+#~ msgstr "Introducci坦 personal"
+
+#~ msgid "City/Area"
+#~ msgstr "Ciutat/�rea"
+
+#~ msgid "Publish Mobile"
+#~ msgstr "Publica el m嘆bil"
+
+#~ msgid "Publish Contact"
+#~ msgstr "Publica el contacte"
+
+#~ msgid "College"
+#~ msgstr "Col揃legi"
+
+#~ msgid "Horoscope"
+#~ msgstr "Hor嘆scop"
+
+#~ msgid "Zodiac"
+#~ msgstr "Zod鱈ac"
+
+#~ msgid "Blood"
+#~ msgstr "Sang"
+
+#~ msgid "True"
+#~ msgstr "Cert"
+
+#~ msgid "False"
+#~ msgstr "Fals"
+
+#~ msgid "Modify Contact"
+#~ msgstr "Modifica el contacte"
+
+#~ msgid "Modify Address"
+#~ msgstr "Modifica l'adre巽a"
+
+#~ msgid "Modify Extended Information"
+#~ msgstr "Modifica la informaci坦 estesa"
+
+#~ msgid "Modify Information"
+#~ msgstr "Modifica la informaci坦"
+
+#~ msgid "Update"
+#~ msgstr "Actualitza"
+
+#~ msgid "Could not change buddy information."
+#~ msgstr "No s'ha pogut canviar la informaci坦 l'amic."
+
+# FIXME: "memo", el qq t辿 una terminologia molt peculiar
+#~ msgid "Buddy Memo"
+#~ msgstr "Memo de l'amic"
+
+#~ msgid "Change his/her memo as you like"
+#~ msgstr "Canvieu-ne el memo"
+
+#~ msgid "_Modify"
+#~ msgstr "_Modifica"
+
+#~ msgid "Memo Modify"
+#~ msgstr "Modifica el memo"
+
+#~ msgid "Server says:"
+#~ msgstr "El servidor diu:"
+
+#~ msgid "Your request was accepted."
+#~ msgstr "S'ha acceptat la vostra sol揃licitud."
+
+#~ msgid "Your request was rejected."
+#~ msgstr "S'ha rebutjat la vostra sol揃licitud."
+
+#~ msgid "%u requires verification: %s"
+#~ msgstr "%u requereix verificaci坦: %s"
+
+# Nota: t鱈tol de finestra
+#~ msgid "Add buddy question"
+#~ msgstr "Afegir una pregunta"
+
+#~ msgid "Enter answer here"
+#~ msgstr "Introdu誰u la resposta aqu鱈"
+
+#~ msgid "Send"
+#~ msgstr "Envia"
+
+#~ msgid "Invalid answer."
+#~ msgstr "La resposta no 辿s v�lida"
+
+#~ msgid "Sorry, you're not my style."
+#~ msgstr "Em sap greu, no sou el meu tipus."
+
+#~ msgid "%u needs authorization"
+#~ msgstr "Cal autoritzaci坦 per a %u"
+
+# Nota: t鱈tol de finestra (josep)
+#~ msgid "Add buddy authorize"
+#~ msgstr "Autoritzaci坦 per a afegir un amic"
+
+#~ msgid "Enter request here"
+#~ msgstr "Introdu誰u la sol揃licitud aqu鱈"
+
+#~ msgid "Would you be my friend?"
+#~ msgstr "Voleu ser el meu amic?"
+
+#~ msgid "QQ Buddy"
+#~ msgstr "Amic QQ"
+
+#~ msgid "Add buddy"
+#~ msgstr "Afegeix un amic"
+
+#~ msgid "Invalid QQ Number"
+#~ msgstr "El nombre QQ no 辿s v�lid"
+
+#~ msgid "Failed sending authorize"
+#~ msgstr "No s'ha pogut enviar l'autoritzaci坦"
+
+#~ msgid "Failed removing buddy %u"
+#~ msgstr "No s'ha pogut suprimir l'amic %u"
+
+#~ msgid "Failed removing me from %d's buddy list"
+#~ msgstr "No us heu pogut suprimir de la llista d'amics de %d"
+
+#~ msgid "No reason given"
+#~ msgstr "No s'ha indicat cap motiu"
+
+#~ msgid "You have been added by %s"
+#~ msgstr "%s us ha afegit"
+
+#~ msgid "Would you like to add him?"
+#~ msgstr "Voleu afegir-lo?"
+
+#~ msgid "Rejected by %s"
+#~ msgstr "Rebutjat per %s"
+
+#~ msgid "Message: %s"
+#~ msgstr "Missatge: %s"
+
+#~ msgid "ID: "
+#~ msgstr "Identificador: "
+
+#~ msgid "Group ID"
+#~ msgstr "Identificador del Grup"
+
+#~ msgid "QQ Qun"
+#~ msgstr "QQ Qun"
+
+#~ msgid "Please enter Qun number"
+#~ msgstr "Introdu誰u el n炭mero Qun"
+
+#~ msgid "You can only search for permanent Qun\n"
+#~ msgstr "Nom辿s podeu cercar Quns permanents\n"
+
+#~ msgid "(Invalid UTF-8 string)"
+#~ msgstr "(No 辿s una cadena UTF-8 v�lida)"
+
+#~ msgid "Not member"
+#~ msgstr "No en s坦c membre"
+
+#~ msgid "Member"
+#~ msgstr "Membre"
+
+#~ msgid "Requesting"
+#~ msgstr "Demanant"
+
+#~ msgid "Admin"
+#~ msgstr "Administrador"
+
+# FIXME
+#~ msgid "Room Title"
+#~ msgstr "Nom de la sala"
+
+#~ msgid "Notice"
+#~ msgstr "Av鱈s"
+
+#~ msgid "Detail"
+#~ msgstr "Detalls"
+
+#~ msgid "Creator"
+#~ msgstr "Creador"
+
+#~ msgid "Category"
+#~ msgstr "Categoria"
+
+#~ msgid "The Qun does not allow others to join"
+#~ msgstr "Aquest Qun no permet que s'hi afegeixi ning炭"
+
+#~ msgid "Join QQ Qun"
+#~ msgstr "Entra al Qun QQ"
+
+#~ msgid "Input request here"
+#~ msgstr "Introdu誰u la sol揃licitud aqu鱈"
+
+#~ msgid "Successfully joined Qun %s (%u)"
+#~ msgstr "S'ha entrat al Qun %s (%u)"
+
+#~ msgid "Successfully joined Qun"
+#~ msgstr "S'ha entrat al Qun"
+
+#~ msgid "Qun %u denied from joining"
+#~ msgstr "No se us ha perm竪s entrar al Qun %u"
+
+#~ msgid "QQ Qun Operation"
+#~ msgstr "Operaci坦 Qun QQ"
+
+#~ msgid "Failed:"
+#~ msgstr "Ha fallat:"
+
+#~ msgid "Join Qun, Unknown Reply"
+#~ msgstr "Resposta desconeguda en entrar al Qun"
+
+#~ msgid "Quit Qun"
+#~ msgstr "Surt del Qun"
+
+#~ msgid ""
+#~ "Note, if you are the creator, \n"
+#~ "this operation will eventually remove this Qun."
+#~ msgstr ""
+#~ "Nota, si en sou el creador, \n"
+#~ "aquesta operaci坦 suprimir� aquest Qun."
+
+#~ msgid "Sorry, you are not our style"
+#~ msgstr "Em sap greu, no sou el meu tipus"
+
+#~ msgid "Successfully changed Qun members"
+#~ msgstr "S'ha canviat els membres del Qun"
+
+#~ msgid "Successfully changed Qun information"
+#~ msgstr "S'ha canviat la iformaci坦 del Qun correctament"
+
+#~ msgid "You have successfully created a Qun"
+#~ msgstr "Heu creat un Qun"
+
+#~ msgid "Would you like to set up detailed information now?"
+#~ msgstr "Voleu establir informaci坦 detallada ara?"
+
+#~ msgid "Setup"
+#~ msgstr "Configuraci坦"
+
+#~ msgid "%u requested to join Qun %u for %s"
+#~ msgstr "%u ha sol揃licitat unir-se al Qun %u per %s"
+
+#~ msgid "%u request to join Qun %u"
+#~ msgstr "%u ha sol揃licitat unir-se al Qun %u"
+
+#~ msgid "Failed to join Qun %u, operated by admin %u"
+#~ msgstr "No s'ha pogut entrar al Qun %u, administrat per %u"
+
+#~ msgid "<b>Joining Qun %u is approved by admin %u for %s</b>"
+#~ msgstr ""
+#~ "<b>L'administrador %2$u us ha perm竪s unir-vos al Qun %1$u per %3$s</b>"
+
+#~ msgid "<b>Removed buddy %u.</b>"
+#~ msgstr "<b>S'ha suprimit l'amic %u.</b>"
+
+#~ msgid "<b>New buddy %u joined.</b>"
+#~ msgstr "<b>El nou amic %u ha entrat.</b>"
+
+#~ msgid "Unknown-%d"
+#~ msgstr "Desconegut-%d"
+
+#~ msgid "Level"
+#~ msgstr "Nivell"
+
+#~ msgid " VIP"
+#~ msgstr " VIP"
+
+#~ msgid " TCP"
+#~ msgstr " TCP"
+
+#~ msgid " FromMobile"
+#~ msgstr " FromMobile"
+
+#~ msgid " BindMobile"
+#~ msgstr " BindMobile"
+
+#~ msgid " Video"
+#~ msgstr " V鱈deo"
+
+#~ msgid " Zone"
+#~ msgstr " Zona"
+
+# Nota: nom辿s apareix si es defineix DEBUG
+#~ msgid "Flag"
+#~ msgstr "Bandera"
+
+# Nota: nom辿s apareix si es defineix DEBUG
+#~ msgid "Ver"
+#~ msgstr "Ver"
+
+#~ msgid "Invalid name"
+#~ msgstr "QQ: El nom d'usuari no 辿s v�lid"
+
+#~ msgid "Select icon..."
+#~ msgstr "Selecciona una icona..."
+
+#~ msgid "<b>Login time</b>: %d-%d-%d, %d:%d:%d<br>\n"
+#~ msgstr "<b>Temps d'entrada</b>: %d-%d-%d, %d:%d:%d<br>\n"
+
+#~ msgid "<b>Total Online Buddies</b>: %d<br>\n"
+#~ msgstr "<b>Amic en l鱈nia</b>: %d<br>\n"
+
+#~ msgid "<b>Last Refresh</b>: %d-%d-%d, %d:%d:%d<br>\n"
+#~ msgstr "<b>Actualitzat per darrer cop</b>: %d-%d-%d, %d:%d:%d<br>\n"
+
+#~ msgid "<b>Server</b>: %s<br>\n"
+#~ msgstr "<b>Servidor</b>: %s<br>\n"
+
+#~ msgid "<b>Client Tag</b>: %s<br>\n"
+#~ msgstr "<b>Etiqueta del client</b>: %s<br>\n"
+
+#~ msgid "<b>Connection Mode</b>: %s<br>\n"
+#~ msgstr "<b>Mode de connexi坦</b>: %s<br>\n"
+
+#~ msgid "<b>My Internet IP</b>: %s:%d<br>\n"
+#~ msgstr "<b>La meva adre巽a IP</b>: %s:%d<br>\n"
+
+#~ msgid "<b>Sent</b>: %lu<br>\n"
+#~ msgstr "<b>Enviats</b>: %lu<br>\n"
+
+#~ msgid "<b>Resend</b>: %lu<br>\n"
+#~ msgstr "<b>Reenviats</b>: %lu<br>\n"
+
+#~ msgid "<b>Lost</b>: %lu<br>\n"
+#~ msgstr "<b>Perduts</b>: %lu<br>\n"
+
+#~ msgid "<b>Received</b>: %lu<br>\n"
+#~ msgstr "<b>Rebuts</b>: %lu<br>\n"
+
+#~ msgid "<b>Received Duplicate</b>: %lu<br>\n"
+#~ msgstr "<b>Rebuts duplicats</b>: %lu<br>\n"
+
+#~ msgid "<b>Time</b>: %d-%d-%d, %d:%d:%d<br>\n"
+#~ msgstr "<b>Temps</b>: %d-%d-%d, %d:%d:%d<br>\n"
+
+#~ msgid "<b>IP</b>: %s<br>\n"
+#~ msgstr "<b>IP</b>: %s<br>\n"
+
+#~ msgid "Login Information"
+#~ msgstr "Informaci坦 de la connexi坦"
+
+#~ msgid "<p><b>Original Author</b>:<br>\n"
+#~ msgstr "<p><b>Autor original</b>:<br>\n"
+
+#~ msgid "<p><b>Code Contributors</b>:<br>\n"
+#~ msgstr "<p><b>Col揃laboradors del codi</b>:<br>\n"
+
+#~ msgid "<p><b>Lovely Patch Writers</b>:<br>\n"
+#~ msgstr "<p><b>Encantadors apeda巽adors (de codi)</b>:<br>\n"
+
+#~ msgid "<p><b>Acknowledgement</b>:<br>\n"
+#~ msgstr "<p><b>Reconeixement</b>:<br>\n"
+
+#~ msgid "<p><b>Scrupulous Testers</b>:<br>\n"
+#~ msgstr "<p><b>Comprovadors del codi</b>:<br>\n"
+
+#~ msgid "and more, please let me know... thank you!))"
+#~ msgstr "i m辿s, si us plau feu-m'ho saber... gr�cies!!!))"
+
+# FIXME: ush... traducci坦 lliure... 
+#~ msgid "<p><i>And, all the boys in the backroom...</i><br>\n"
+#~ msgstr "<p><i>I tothom que ho ha fet possible...<i><br>\n"
+
+#~ msgid "<i>Feel free to join us!</i> :)"
+#~ msgstr "<i>No dubteu a col揃laborar amb nosaltres!</i> :)"
+
+#~ msgid "About OpenQ %s"
+#~ msgstr "Quant a l'OpenQ %s"
+
+#~ msgid "Change Password"
+#~ msgstr "Canvia la contrasenya"
+
+#~ msgid "Account Information"
+#~ msgstr "Informaci坦 del compte"
+
+#~ msgid "Update all QQ Quns"
+#~ msgstr "Actualitza tots els Quns QQ"
+
+#~ msgid "About OpenQ"
+#~ msgstr "Quant a l'OpenQ"
+
+#~ msgid "Modify Buddy Memo"
+#~ msgstr "Modifica el memo de l'amic"
+
+#~ msgid "QQ Protocol Plugin"
+#~ msgstr "Connector per al protocol QQ"
+
+#~ msgid "Auto"
+#~ msgstr "Auto"
+
+#~ msgid "Select Server"
+#~ msgstr "Seleccioneu un servidor"
+
+#~ msgid "QQ2008"
+#~ msgstr "QQ2008"
+
+#~ msgid "QQ2007"
+#~ msgstr "QQ2007"
+
+#~ msgid "QQ2005"
+#~ msgstr "QQ2005"
+
+#~ msgid "Connect by TCP"
+#~ msgstr "Connecta amb TCP"
+
+#~ msgid "Show server notice"
+#~ msgstr "Mostra els avisos del servidor"
+
+#~ msgid "Show server news"
+#~ msgstr "Mostra les not鱈cies del servidor"
+
+#~ msgid "Show chat room when msg comes"
+#~ msgstr "Mostra la sala de xat quan hi arribin missatges"
+
+# FIXME: keep alive -> perman竪ncia
+#~ msgid "Keep alive interval (seconds)"
+#~ msgstr "Interval de perman竪ncia (en segons)"
+
+#~ msgid "Update interval (seconds)"
+#~ msgstr "Interval d'actualitzaci坦 (en segons)"
+
+#~ msgid "Unable to decrypt server reply"
+#~ msgstr "No es pot desxifrar la resposta del servidor"
+
+#~ msgid "Failed requesting token, 0x%02X"
+#~ msgstr "S'ha produ誰t un error en sol揃licitar el testimoni, 0x%02X"
+
+#~ msgid "Invalid token len, %d"
+#~ msgstr "La longiud del testimoni no 辿s v�lida, %d"
+
+#~ msgid "Redirect_EX is not currently supported"
+#~ msgstr "Redirect_EX no est� implementat"
+
+#~ msgid "Activation required"
+#~ msgstr "Cal activaci坦"
+
+#~ msgid "Unknown reply code when logging in (0x%02X)"
+#~ msgstr "No s'ha reconegut el codi de resposta en entrar (0x%02X)"
+
+# FIXME: captcha
+#~ msgid "Requesting captcha"
+#~ msgstr "S'est� sol揃licitant un capcha"
+
+#~ msgid "Checking captcha"
+#~ msgstr "S'est� comprovant el captcha"
+
+#~ msgid "Failed captcha verification"
+#~ msgstr "Ha fallat la verificaci坦 del captcha"
+
+#~ msgid "Captcha Image"
+#~ msgstr "Imatge captcha"
+
+#~ msgid "Enter code"
+#~ msgstr "Introdu誰u el codi"
+
+#~ msgid "QQ Captcha Verification"
+#~ msgstr "Verificaci坦 del captcha QQ"
+
+#~ msgid "Enter the text from the image"
+#~ msgstr "Introdu誰u el text de la imatge"
+
+#~ msgid "Unknown reply when checking password (0x%02X)"
+#~ msgstr ""
+#~ "No s'ha reconegut el codi de resposta en comprovar la contrasenya (0x%02X)"
+
+#~ msgid ""
+#~ "Unknown reply code when logging in (0x%02X):\n"
+#~ "%s"
+#~ msgstr ""
+#~ "No s'ha reconegut el codi de resposta en entrar (0x%02X):\n"
+#~ "%s"
+
+#~ msgid "Socket error"
+#~ msgstr "Error del s嘆col"
+
+#~ msgid "Getting server"
+#~ msgstr "S'est� obtenint el servidor"
+
+#~ msgid "Requesting token"
+#~ msgstr "S'est� sol揃licitant un testimoni"
+
+#~ msgid "Invalid server or port"
+#~ msgstr "El servidor o el port no s坦n v�lids"
+
+#~ msgid "Connecting to server"
+#~ msgstr "S'est� connectant al servidor"
+
+#~ msgid "QQ Error"
+#~ msgstr "Error del QQ"
+
+#~ msgid ""
+#~ "Server News:\n"
+#~ "%s\n"
+#~ "%s\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Not鱈cies del servidor:\n"
+#~ "%s\n"
+#~ "%s\n"
+#~ "%s"
+
+#~ msgid "%s:%s"
+#~ msgstr "%s:%s"
+
+#~ msgid "From %s:"
+#~ msgstr "De %s:"
+
+#~ msgid ""
+#~ "Server notice From %s: \n"
+#~ "%s"
+#~ msgstr ""
+#~ "Av鱈s del servidor de %s: \n"
+#~ "%s"
+
+#~ msgid "Unknown SERVER CMD"
+#~ msgstr "Ordre del servidor desconeguda"
+
+#~ msgid ""
+#~ "Error reply of %s(0x%02X)\n"
+#~ "Room %u, reply 0x%02X"
+#~ msgstr ""
+#~ "Resposta d'error de %s(0x%02X)\n"
+#~ "Sala %u, resposta 0x%02X"
+
+#~ msgid "QQ Qun Command"
+#~ msgstr "Ordre QQ Qun"
+
+#~ msgid "Unable to decrypt login reply"
+#~ msgstr "No s'ha pogut desxifrar la resposta d'entrada"
+
+#~ msgid "Unknown LOGIN CMD"
+#~ msgstr "Ordre d'entrada desconeguda"
+
+#~ msgid "Unknown CLIENT CMD"
+#~ msgstr "Ordre de client desconeguda"
+
+#~ msgid "%d has declined the file %s"
+#~ msgstr "%d ha refusat el fitxer %s"
+
+#~ msgid "File Send"
+#~ msgstr "S'ha enviat el fitxer"
+
+#~ msgid "%d cancelled the transfer of %s"
+#~ msgstr "%d ha cancel揃lat la transfer竪ncia de %s"
+
+#~ msgid "Voice and Video Settings"
+#~ msgstr "Configuraci坦 de la veu i el v鱈deo"
+
 #~ msgid "Automatically reject from users not in buddy list"
 #~ msgstr ""
 #~ "Rebutja autom�ticament dels usuaris que no estiguin a la llista d'amics"
@@ -15720,9 +15809,6 @@
 #~ msgid "How do you feel right now?"
 #~ msgstr "Com us trobeu ara mateix?"
 
-#~ msgid "Change Mood..."
-#~ msgstr "Canvia l'estat d'�nim..."
-
 #~ msgid "Orientation"
 #~ msgstr "Orientaci坦"
 
@@ -15895,9 +15981,6 @@
 #~ 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"
 
@@ -16338,9 +16421,6 @@
 #~ msgid "Please provide a shortcut to associate with the smiley."
 #~ msgstr "Especifiqueu una drecera associada a l'emoticona."
 
-#~ msgid "Please select an image for the smiley."
-#~ msgstr "Seleccioneu una imatge per a l'emoticona."
-
 #~ msgid "Activate which ID?"
 #~ msgstr "Quin ID voleu activar?"
 
@@ -16362,9 +16442,6 @@
 #~ msgid "Widget Sizes"
 #~ msgstr "Mides del giny"
 
-#~ msgid "Invite message"
-#~ msgstr "Missatge d'invitaci坦"
-
 #~ msgid ""
 #~ "Please enter the name of the user you wish to invite,\n"
 #~ "along with an optional invite message."
--- a/po/de.po	Fri May 06 08:12:34 2011 +0000
+++ b/po/de.po	Sun May 08 14:06:04 2011 +0000
@@ -11,8 +11,8 @@
 msgstr ""
 "Project-Id-Version: de\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-03 22:53+0200\n"
-"PO-Revision-Date: 2011-05-04 21:58+0200\n"
+"POT-Creation-Date: 2011-05-08 00:19+0200\n"
+"PO-Revision-Date: 2011-05-08 00:17+0200\n"
 "Last-Translator: Bj旦rn Voigt <bjoern@cs.tu-berlin.de>\n"
 "Language-Team: German <de@li.org>\n"
 "Language: de\n"
@@ -6365,7 +6365,8 @@
 
 #, c-format
 msgid "We found %i contacts that match your search."
-msgstr "Wir fanden %i Kontakt(e), die Ihner Suchanfrage entspricht/entsprechen."
+msgstr ""
+"Wir fanden %i Kontakt(e), die Ihrer Suchanfrage entspricht/entsprechen."
 
 #. we must have lost the connection, so terminate it so that we can reconnect
 msgid "We have lost the connection to MXit. Please reconnect."
@@ -12672,7 +12673,7 @@
 "\n"
 
 msgid "DIR"
-msgstr "VERZ"
+msgstr "DIR"
 
 msgid "use DIR for config files"
 msgstr "DIR als Konfigurationsverzeichnis benutzen"
@@ -12701,13 +12702,12 @@
 "                      Without this only the first account will be enabled)."
 msgstr ""
 "angegebene Konten aktivieren (optionales Argument NAME\n"
-"                      bestimmt Konto(n), die benutzt werden sollen,\n"
-"                      getrennt durch Kommata.\n"
-"                      Ohne diesen Parameter wird nur das erste "
-"Konto                       aktiviert)."
+"                      bestimmt Konto(n), das/die benutzt werden soll(en),\n"
+"                      getrennt durch Kommata. Ohne diesen Parameter wird \n"
+"                      nur das erste Konto aktiviert)."
 
 msgid "X display to use"
-msgstr "das zu benutzenden X-Display"
+msgstr "das zu benutzende X-Display"
 
 msgid "display the current version and exit"
 msgstr "zeigt die aktuelle Version und beendet das Programm"
@@ -14806,7 +14806,7 @@
 msgstr "G_er辰t"
 
 msgid "DROP"
-msgstr "STUMMGESCHALTET"
+msgstr "Stille, da unterhalb des Schwellwerts"
 
 msgid "Volume:"
 msgstr "Lautst辰rke:"
--- a/po/fr.po	Fri May 06 08:12:34 2011 +0000
+++ b/po/fr.po	Sun May 08 14:06:04 2011 +0000
@@ -21,8 +21,8 @@
 msgstr ""
 "Project-Id-Version: Pidgin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-30 21:28+0100\n"
-"PO-Revision-Date: 2011-01-30 21:14+0100\n"
+"POT-Creation-Date: 2011-05-06 19:19+0200\n"
+"PO-Revision-Date: 2011-05-06 19:16+0200\n"
 "Last-Translator: �ric Boumaour <zongo_fr@users.sourceforge.net>\n"
 "Language-Team: fr <fr@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -229,6 +229,9 @@
 msgid "Alias (optional)"
 msgstr "Alias (facultatif)`"
 
+msgid "Invite message (optional)"
+msgstr "Message d'invitation (facultatif)"
+
 msgid "Add in group"
 msgstr "Ajouter au groupe"
 
@@ -1952,6 +1955,9 @@
 msgid "Unknown reason"
 msgstr "Raison inconnue"
 
+msgid "Aborting DNS lookup in Tor Proxy mode."
+msgstr "Annulation de la recherche DNS en mode Proxy Tor."
+
 #, c-format
 msgid ""
 "Error reading %s: \n"
@@ -3214,6 +3220,21 @@
 msgid "Change Gadu-Gadu Password"
 msgstr "Changer le le mot de passe Gadu-Gadu"
 
+msgid "Show status to:"
+msgstr "Montrer l'辿tat ��:"
+
+msgid "All people"
+msgstr "Tout le monde"
+
+msgid "Only buddies"
+msgstr "Aux contacts"
+
+msgid "Change status broadcasting"
+msgstr "Changer la diffusion de l'辿tat"
+
+msgid "Please, select who can see your status"
+msgstr "Veuillez choisir qui peut voir votre 辿tat"
+
 #, c-format
 msgid "Select a chat for buddy: %s"
 msgstr "Choisissez un salon de discussions pour le contact�: %s"
@@ -3246,9 +3267,7 @@
 msgstr "UIN"
 
 #. first name
-#. purple_notify_user_info_add_pair( info, _( "Hidden Number" ), profile->hidden ? _( "Yes" ) : _( "No" ) );
 #. optional information
-#. purple_notify_user_info_add_pair( info, _( "Title" ), profile->title );
 msgid "First Name"
 msgstr "Pr辿nom"
 
@@ -3360,6 +3379,19 @@
 msgid "GG server"
 msgstr "Serveur GG"
 
+msgid "Don't use encryption"
+msgstr "Ne pas utiliser de chiffrement"
+
+msgid "Use encryption if available"
+msgstr "Utiliser le chiffrement si disponible"
+
+#. TODO
+msgid "Require encryption"
+msgstr "N辿cessite chiffrement"
+
+msgid "Connection security"
+msgstr "S辿curit辿 de la connexion"
+
 #, c-format
 msgid "Unknown command: %s"
 msgstr "Commande inconnue�: %s"
@@ -3395,7 +3427,6 @@
 #. * buffer that stores what is "being sent" until the
 #. * PurpleHTTPConnection reports it is fully sent.
 #.
-#. TODO: what to do here - do we really have to disconnect?
 #. TODO: do we really want to disconnect on a failure to write?
 #, c-format
 msgid "Lost connection with server: %s"
@@ -3651,6 +3682,9 @@
 msgid "action &lt;action to perform&gt;:  Perform an action."
 msgstr "action &lt;action � faire&gt;�: R辿aliser une action."
 
+msgid "authserv: Send a command to authserv"
+msgstr "authserv�: Envoyer une commande au service authserv."
+
 msgid ""
 "away [message]:  Set an away message, or use no message to return from being "
 "away."
@@ -4014,7 +4048,6 @@
 msgid "Postal Code"
 msgstr "Code postal"
 
-#. purple_notify_user_info_add_pair( info, _( "Email" ), profile->email );
 msgid "Country"
 msgstr "Pays"
 
@@ -4788,18 +4821,9 @@
 msgid "Domain"
 msgstr "Domaine"
 
-msgid "Require encryption"
-msgstr "N辿cessite chiffrement"
-
-msgid "Use encryption if available"
-msgstr "Utiliser le chiffrement si disponible"
-
 msgid "Use old-style SSL"
 msgstr "Utiliser le SSL ancien style"
 
-msgid "Connection security"
-msgstr "S辿curit辿 de la connexion"
-
 msgid "Allow plaintext auth over unencrypted streams"
 msgstr "Autoriser l'authentification en clair pour les flux crypt辿s"
 
@@ -4911,6 +4935,7 @@
 "Impossible d'envoyer le fichier � %s, cet utilisateur ne supporte pas le "
 "transfert de fichiers"
 
+#. not success
 msgid "File Send Failed"
 msgstr "�chec d'envoi de fichier"
 
@@ -5636,18 +5661,6 @@
 msgid "Unable to Add"
 msgstr "Impossible d'ajouter"
 
-msgid "Authorization Request Message:"
-msgstr "Message pour la demande d'autorisation�:"
-
-msgid "Please authorize me!"
-msgstr "Autorise moi, s'il te pla樽t�!"
-
-#. *
-#. * A wrapper for purple_request_action() that uses @c OK and @c Cancel buttons.
-#.
-msgid "_OK"
-msgstr "_OK"
-
 msgid "Error retrieving profile"
 msgstr "Erreur � la r辿cup辿ration du profil."
 
@@ -5859,6 +5872,9 @@
 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."
 
+msgid "Mobile message was not sent because an unknown error occurred."
+msgstr "Le message mobile n'a pas 辿t辿 envoy辿 � cause d'une erreur inconnue."
+
 #, c-format
 msgid ""
 "The MSN server will shut down for maintenance in %d minute. You will "
@@ -6023,19 +6039,6 @@
 msgid "The username specified is invalid."
 msgstr "Le nom d'utilisateur fourni est non valide."
 
-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 Display Name you entered is invalid."
 msgstr "Le nom � afficher saisi est non valide."
 
@@ -6058,35 +6061,66 @@
 "Les informations de votre profil n'ont pu 棚tre r辿cup辿r辿es. Veuillez "
 "r辿essayer plus tard."
 
-msgid "Your UID"
-msgstr "Votre UID"
+#. display name
+#. nick name (required)
+msgid "Display Name"
+msgstr "Nom affich辿"
+
+#. about me
+msgid "About Me"
+msgstr "� propos de moi"
+
+#. where I live
+msgid "Where I Live"
+msgstr "O湛 je vis"
+
+#. mobile number
+msgid "Mobile Number"
+msgstr "T辿l辿phone portable"
+
+#. is searchable
+msgid "Can be searched"
+msgstr "Peut 棚tre recherch辿"
+
+#. is suggestable
+msgid "Can be suggested"
+msgstr "Peut 棚tre sugg辿r辿"
+
+msgid "Update your MXit Profile"
+msgstr "Mettre � jour votre profil MXit"
+
+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."
+
+#. show error to user
+msgid "PIN Update Error"
+msgstr "Erreur � la mise � jour du code PIN"
 
 #. pin
 #. pin (required)
 msgid "PIN"
 msgstr "Code"
 
+#. verify pin
 msgid "Verify PIN"
 msgstr "V辿rification code"
 
-#. display name
-#. nick name (required)
-msgid "Display Name"
-msgstr "Nom affich辿"
-
-#. hidden
-msgid "Hide my number"
-msgstr "Cacher mon num辿ro"
-
-#. mobile number
-msgid "Mobile Number"
-msgstr "T辿l辿phone portable"
-
-msgid "Update your Profile"
-msgstr "Mettre � jour votre profil"
-
-msgid "Here you can update your MXit profile"
-msgstr "Vous pouvez mettre � jour votre profil MXit ici"
+#. (reference: "libpurple/request.h")
+msgid "Change PIN"
+msgstr "Changer le code PIN"
+
+msgid "Change MXit PIN"
+msgstr "Changer le code PIN MXit"
 
 msgid "View Splash"
 msgstr "Voir la banni竪re"
@@ -6097,10 +6131,34 @@
 msgid "About"
 msgstr "� propos"
 
+msgid "Search for user"
+msgstr "Rechercher un utilisateur"
+
+msgid "Search for a MXit contact"
+msgstr "Rechercher un contact MXit"
+
+msgid "Type search information"
+msgstr "Saisissez les informations de recherche"
+
+msgid "_Search"
+msgstr "_Recherche"
+
 #. display / change profile
 msgid "Change Profile..."
 msgstr "Changer le profil..."
 
+#. change PIN
+msgid "Change PIN..."
+msgstr "Changer le code PIN..."
+
+#. suggested friends
+msgid "Suggested friends..."
+msgstr "Sugg辿rer des amis..."
+
+#. search for contacts
+msgid "Search for contacts..."
+msgstr "Chercher des contacts..."
+
 #. display splash-screen
 msgid "View Splash..."
 msgstr "Voir la banni竪re..."
@@ -6131,6 +6189,9 @@
 msgid "Connecting..."
 msgstr "Connexion..."
 
+msgid "The Display Name you entered is too short."
+msgstr "Le nom � afficher saisi est trop court."
+
 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]."
 
@@ -6205,13 +6266,12 @@
 msgid "Retrieving User Information..."
 msgstr "R辿cup辿ration des informations de l'utilisateur..."
 
-#. you were kicked
+msgid "was kicked"
+msgstr "a 辿t辿 expuls辿"
+
 msgid "You have been kicked from this MultiMX."
 msgstr "Vous avez 辿t辿 expuls辿 de ce MultiMX."
 
-msgid "was kicked"
-msgstr "a 辿t辿 expuls辿"
-
 msgid "_Room Name:"
 msgstr "_Salon�:"
 
@@ -6232,9 +6292,19 @@
 msgid "Hidden Number"
 msgstr "Num辿ro cach辿"
 
+msgid "No profile available"
+msgstr "Aucun profil disponible"
+
+msgid "This contact does not have a profile."
+msgstr "Ce contact n'a pas de profil."
+
 msgid "Your MXit ID..."
 msgstr "Votre identifiant MXitId..."
 
+#. contact is in Deleted, Rejected or None state
+msgid "Re-Invite"
+msgstr "R辿-inviter"
+
 #. Configuration options
 #. WAP server (reference: "libpurple/accountopt.h")
 msgid "WAP Server"
@@ -6249,6 +6319,30 @@
 msgid "Last Online"
 msgstr "En ligne derni竪rement"
 
+msgid "Invite Message"
+msgstr "Message d'invitation"
+
+msgid "No results"
+msgstr "Aucun r辿sultat"
+
+msgid "No contacts found."
+msgstr "Aucun utilisateur trouv辿."
+
+#. define columns
+msgid "UserId"
+msgstr "ID d'utilisateur"
+
+msgid "Where I live"
+msgstr "O湛 je vis"
+
+#, c-format
+msgid "You have %i suggested friends."
+msgstr "Vous avez %i amis sugg辿r辿s."
+
+#, c-format
+msgid "We found %i contacts that match your search."
+msgstr "%i contacts correspondent � votre recherche."
+
 #. 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 "Connexion perdue avec MXit. Veuillez vous reconnecter."
@@ -6988,6 +7082,12 @@
 msgid "Authorization Denied Message:"
 msgstr "Message de refus d'autorisation�:"
 
+#. *
+#. * A wrapper for purple_request_action() that uses @c OK and @c Cancel buttons.
+#.
+msgid "_OK"
+msgstr "_OK"
+
 #, c-format
 msgid "Received unexpected response from %s: %s"
 msgstr "R辿ception d'une r辿ponse non attendue de %s�: %s"
@@ -7346,7 +7446,6 @@
 msgstr "Autorisation re巽ue."
 
 #. Unregistered username
-#. uid is not exist
 #. the username does not exist
 msgid "Username does not exist"
 msgstr "Cet utilisateur n'existe pas"
@@ -7529,6 +7628,14 @@
 msgid "You have been disconnected from chat room %s."
 msgstr "Vous avez 辿t辿 d辿connect辿 du salon %s"
 
+msgid "The new formatting is invalid."
+msgstr "Le nouvel affichage est non valide"
+
+msgid "Username formatting can change only capitalization and whitespace."
+msgstr ""
+"Le format d'affichage du nom d'utilisateur permet uniquement de changer les "
+"majuscules et les espaces."
+
 msgid "Pop-Up Message"
 msgstr "Message en fen棚tre"
 
@@ -7802,14 +7909,6 @@
 msgid "ICQ Privacy Options"
 msgstr "Options de confidentialit辿 ICQ"
 
-msgid "The new formatting is invalid."
-msgstr "Le nouvel affichage est non valide"
-
-msgid "Username formatting can change only capitalization and whitespace."
-msgstr ""
-"Le format d'affichage du nom d'utilisateur permet uniquement de changer les "
-"majuscules et les espaces."
-
 msgid "Change Address To:"
 msgstr "Nouvelle adresse�:"
 
@@ -7835,9 +7934,6 @@
 msgid "Type the email address of the buddy you are searching for."
 msgstr "Saisissez l'adresse 辿lectronique du contact que vous cherchez"
 
-msgid "_Search"
-msgstr "_Recherche"
-
 msgid "Set User Info (web)..."
 msgstr "Modifier les informations (web)..."
 
@@ -7874,9 +7970,6 @@
 msgid "Search for Buddy by Email Address..."
 msgstr "Chercher un contact par adresse 辿lectronique..."
 
-msgid "Don't use encryption"
-msgstr "Ne pas utiliser de chiffrement"
-
 msgid "Use clientLogin"
 msgstr "Utiliser clientLogin"
 
@@ -8151,717 +8244,6 @@
 msgid "These buddies will always see you as offline"
 msgstr "Ces contacts ne vous verront jamais connect辿s"
 
-msgid "Aquarius"
-msgstr "Verseau"
-
-msgid "Pisces"
-msgstr "Poissons"
-
-msgid "Aries"
-msgstr "B辿lier"
-
-msgid "Taurus"
-msgstr "Taureau"
-
-msgid "Gemini"
-msgstr "G辿meaux"
-
-msgid "Cancer"
-msgstr "Cancer"
-
-msgid "Leo"
-msgstr "Lion"
-
-msgid "Virgo"
-msgstr "Vierge"
-
-msgid "Libra"
-msgstr "Balance"
-
-msgid "Scorpio"
-msgstr "Scorpion"
-
-msgid "Sagittarius"
-msgstr "Sagittaire"
-
-msgid "Capricorn"
-msgstr "Capricorne"
-
-msgid "Rat"
-msgstr "Rat"
-
-msgid "Ox"
-msgstr "B�uf"
-
-msgid "Tiger"
-msgstr "Tigre"
-
-msgid "Rabbit"
-msgstr "Li竪vre"
-
-msgid "Dragon"
-msgstr "Dragon"
-
-msgid "Snake"
-msgstr "Serpent"
-
-msgid "Horse"
-msgstr "Cheval"
-
-msgid "Goat"
-msgstr "Ch竪vre"
-
-msgid "Monkey"
-msgstr "Singe"
-
-msgid "Rooster"
-msgstr "Coq"
-
-msgid "Dog"
-msgstr "Chien"
-
-msgid "Pig"
-msgstr "Cochon"
-
-msgid "Other"
-msgstr "Autre"
-
-msgid "Visible"
-msgstr "Visible"
-
-msgid "Friend Only"
-msgstr "Amis seulement"
-
-msgid "Private"
-msgstr "Priv辿"
-
-msgid "QQ Number"
-msgstr "Num辿ro QQ"
-
-msgid "Country/Region"
-msgstr "Pays/r辿gion"
-
-msgid "Province/State"
-msgstr "Province/�tat"
-
-msgid "Zipcode"
-msgstr "Code postal"
-
-msgid "Phone Number"
-msgstr "T辿l辿phone fixe"
-
-msgid "Authorize adding"
-msgstr "Autoriser l'ajout"
-
-msgid "Cellphone Number"
-msgstr "T辿l辿phone portable"
-
-msgid "Personal Introduction"
-msgstr "Informations personnelles"
-
-msgid "City/Area"
-msgstr "Ville/Localit辿"
-
-msgid "Publish Mobile"
-msgstr "Publier le t辿l辿phone portable"
-
-msgid "Publish Contact"
-msgstr "Publier les informations de contact"
-
-msgid "College"
-msgstr "�ducation"
-
-msgid "Horoscope"
-msgstr "Signe du zodiaque"
-
-msgid "Zodiac"
-msgstr "Signe du zodiaque chinois"
-
-msgid "Blood"
-msgstr "Groupe sanguin"
-
-msgid "True"
-msgstr "Vrai"
-
-msgid "False"
-msgstr "Faux"
-
-msgid "Modify Contact"
-msgstr "Modifier les infos de contact"
-
-msgid "Modify Address"
-msgstr "Modifier l'adresse"
-
-msgid "Modify Extended Information"
-msgstr "Modifier mes infos 辿tendues"
-
-msgid "Modify Information"
-msgstr "Modifier mes informations"
-
-msgid "Update"
-msgstr "Mettre � jour"
-
-msgid "Could not change buddy information."
-msgstr "Impossible de changer les informations du contact."
-
-msgid "Note"
-msgstr "Commentaire"
-
-#. callback
-msgid "Buddy Memo"
-msgstr "M辿mo du contact"
-
-msgid "Change his/her memo as you like"
-msgstr "Vous pouvez changer son m辿mo � votre convenance"
-
-msgid "_Modify"
-msgstr "_Modifier"
-
-msgid "Memo Modify"
-msgstr "Changer m辿mo"
-
-msgid "Server says:"
-msgstr "Message du serveur�:"
-
-msgid "Your request was accepted."
-msgstr "Votre requ棚te a 辿t辿 accept辿e."
-
-msgid "Your request was rejected."
-msgstr "Votre requ棚te a 辿t辿 rejet辿e."
-
-#, c-format
-msgid "%u requires verification: %s"
-msgstr "%u demande une v辿rification�: %s"
-
-msgid "Add buddy question"
-msgstr "Ajouter une question pour les nouveaux contacts"
-
-msgid "Enter answer here"
-msgstr "Saisissez la r辿ponse ici"
-
-msgid "Send"
-msgstr "Envoyer"
-
-msgid "Invalid answer."
-msgstr "R辿ponse non valide."
-
-msgid "Authorization denied message:"
-msgstr "Message de refus d'autorisation�:"
-
-msgid "Sorry, you're not my style."
-msgstr "D辿sol辿, tu n'es pas mon genre."
-
-#, c-format
-msgid "%u needs authorization"
-msgstr "%u demande une autorisation"
-
-msgid "Add buddy authorize"
-msgstr "Ajouter une autorisation de contact"
-
-msgid "Enter request here"
-msgstr "Saisissez votre demande"
-
-msgid "Would you be my friend?"
-msgstr "Veux-tu 棚tre mon ami�?"
-
-msgid "QQ Buddy"
-msgstr "Contact QQ"
-
-msgid "Add buddy"
-msgstr "Ajouter un contact"
-
-msgid "Invalid QQ Number"
-msgstr "Num辿ro QQ non valide"
-
-msgid "Failed sending authorize"
-msgstr "�chec � l'envoi de l'autorisation"
-
-#, c-format
-msgid "Failed removing buddy %u"
-msgstr "�chec lors de la suppression du contact %u"
-
-#, c-format
-msgid "Failed removing me from %d's buddy list"
-msgstr "�chec lors de ma suppression de la liste de %d"
-
-msgid "No reason given"
-msgstr "Pas de raison donn辿e"
-
-#. only need to get value
-#, c-format
-msgid "You have been added by %s"
-msgstr "Vous avez 辿t辿 ajout辿 par %s."
-
-msgid "Would you like to add him?"
-msgstr "Voulez-vous l'ajouter�?"
-
-#, c-format
-msgid "Rejected by %s"
-msgstr "Refus辿 par %s"
-
-#, c-format
-msgid "Message: %s"
-msgstr "Message�: %s"
-
-msgid "ID: "
-msgstr "ID�: "
-
-msgid "Group ID"
-msgstr "ID du groupe"
-
-msgid "QQ Qun"
-msgstr "QQ Qun"
-
-msgid "Please enter Qun number"
-msgstr "Saisissez le num辿ro Qun"
-
-msgid "You can only search for permanent Qun\n"
-msgstr "Vous ne pouvez chercher que les Qun permanents.\n"
-
-msgid "(Invalid UTF-8 string)"
-msgstr "(Chaine de caract竪res UTF-8 non valide)"
-
-msgid "Not member"
-msgstr "Non membre"
-
-msgid "Member"
-msgstr "Membre"
-
-msgid "Requesting"
-msgstr "Demande en cours"
-
-msgid "Admin"
-msgstr "Admin"
-
-#. XXX: Should this be "Topic"?
-msgid "Room Title"
-msgstr "Titre du salon"
-
-msgid "Notice"
-msgstr "Envoi d'infos"
-
-msgid "Detail"
-msgstr "D辿tail"
-
-msgid "Creator"
-msgstr "Cr辿ateur"
-
-msgid "About me"
-msgstr "� mon propos"
-
-msgid "Category"
-msgstr "Cat辿gorie"
-
-msgid "The Qun does not allow others to join"
-msgstr "Ce Qun est ferm辿 aux inscriptions"
-
-msgid "Join QQ Qun"
-msgstr "Rejoindre un Qun QQ"
-
-msgid "Input request here"
-msgstr "Saisissez votre demande"
-
-#, c-format
-msgid "Successfully joined Qun %s (%u)"
-msgstr "Entr辿e r辿ussie dans le Qun %s (%u)"
-
-msgid "Successfully joined Qun"
-msgstr "Entr辿e r辿ussie dans le Qun"
-
-#, c-format
-msgid "Qun %u denied from joining"
-msgstr "L'entr辿e dans le Qun %u a 辿t辿 refus辿e"
-
-msgid "QQ Qun Operation"
-msgstr "Op辿ration QQ Qun"
-
-msgid "Failed:"
-msgstr "�chec�:"
-
-msgid "Join Qun, Unknown Reply"
-msgstr "Joindre un Qun, r辿ponse inconnue"
-
-msgid "Quit Qun"
-msgstr "Parir du Qun"
-
-msgid ""
-"Note, if you are the creator, \n"
-"this operation will eventually remove this Qun."
-msgstr ""
-"Note�: si vous en 棚tes le cr辿ateur, \n"
-"cette op辿ration peut supprimer ce Qun."
-
-msgid "Sorry, you are not our style"
-msgstr "D辿sol辿s, tu n'es pas notre genre."
-
-msgid "Successfully changed Qun members"
-msgstr "Vous avez modifi辿 la liste des membres du Qun."
-
-msgid "Successfully changed Qun information"
-msgstr "Vous avez modifi辿 les informations du Qun."
-
-msgid "You have successfully created a Qun"
-msgstr "Vous avez cr辿辿 un Qun."
-
-msgid "Would you like to set up detailed information now?"
-msgstr "Voulez-vous modifier les infos d辿taill辿es maintenant�?"
-
-msgid "Setup"
-msgstr "Options"
-
-#, c-format
-msgid "%u requested to join Qun %u for %s"
-msgstr "L'utilisateur %u demande � rejoindre le Qun %u pour %s"
-
-#, c-format
-msgid "%u request to join Qun %u"
-msgstr "L'utilisateur %u demande � rejoindre le Qun %u"
-
-#, c-format
-msgid "Failed to join Qun %u, operated by admin %u"
-msgstr "�chec pour rejoindre le Qun %u, administr辿 par %u"
-
-#, c-format
-msgid "<b>Joining Qun %u is approved by admin %u for %s</b>"
-msgstr "<b>L'entr辿e dans le Qun %u a 辿t辿 approuv辿e par l'admin %u pour %s</b>"
-
-#, c-format
-msgid "<b>Removed buddy %u.</b>"
-msgstr "<b>Contact supprim辿 %u.</b>"
-
-#, c-format
-msgid "<b>New buddy %u joined.</b>"
-msgstr "<b>Nouveau contact %u entr辿.</b>"
-
-#, c-format
-msgid "Unknown-%d"
-msgstr "Inconnu-%d"
-
-msgid "Level"
-msgstr "Niveau"
-
-msgid " VIP"
-msgstr " VIP"
-
-msgid " TCP"
-msgstr " TCP"
-
-msgid " FromMobile"
-msgstr " FromMobile"
-
-msgid " BindMobile"
-msgstr " BindMobile"
-
-msgid " Video"
-msgstr " Vid辿o"
-
-msgid " Zone"
-msgstr " Zone"
-
-msgid "Flag"
-msgstr "Drapeau"
-
-msgid "Ver"
-msgstr "Ver"
-
-msgid "Invalid name"
-msgstr "Nom d'utilisateur non valide"
-
-msgid "Select icon..."
-msgstr "Choisir une ic担ne..."
-
-#, c-format
-msgid "<b>Login time</b>: %d-%d-%d, %d:%d:%d<br>\n"
-msgstr "<b>Heure de connexion�:</b> %d-%d-%d, %d:%d:%d<br>\n"
-
-#, c-format
-msgid "<b>Total Online Buddies</b>: %d<br>\n"
-msgstr "<b>Contacts connect辿s�:</b> %d<br>\n"
-
-#, c-format
-msgid "<b>Last Refresh</b>: %d-%d-%d, %d:%d:%d<br>\n"
-msgstr "<b>Derni竪re mise � jour�:</b> %d-%d-%d, %d:%d:%d<br>\n"
-
-#, c-format
-msgid "<b>Server</b>: %s<br>\n"
-msgstr "<b>Serveur�:</b> %s<br>\n"
-
-#, c-format
-msgid "<b>Client Tag</b>: %s<br>\n"
-msgstr "<b>�tiquette du client�:</b> %s<br>\n"
-
-#, c-format
-msgid "<b>Connection Mode</b>: %s<br>\n"
-msgstr "<b>Type de connexion�:</b> %s<br>\n"
-
-#, c-format
-msgid "<b>My Internet IP</b>: %s:%d<br>\n"
-msgstr "<b>Adresse internet IP�:</b> %s:%d<br>\n"
-
-#, c-format
-msgid "<b>Sent</b>: %lu<br>\n"
-msgstr "<b>Envoy辿s�:</b> %lu<br>\n"
-
-#, c-format
-msgid "<b>Resend</b>: %lu<br>\n"
-msgstr "<b>R辿-envoy辿s�:</b> %lu<br>\n"
-
-#, c-format
-msgid "<b>Lost</b>: %lu<br>\n"
-msgstr "<b>Perdus�:</b> %lu<br>\n"
-
-#, c-format
-msgid "<b>Received</b>: %lu<br>\n"
-msgstr "<b>Re巽us�:</b> %lu<br>\n"
-
-#, c-format
-msgid "<b>Received Duplicate</b>: %lu<br>\n"
-msgstr "<b>Doubles re巽us�:</b> %lu<br>\n"
-
-#, c-format
-msgid "<b>Time</b>: %d-%d-%d, %d:%d:%d<br>\n"
-msgstr "<b>Heure�:</b> %d-%d-%d, %d:%d:%d<br>\n"
-
-#, c-format
-msgid "<b>IP</b>: %s<br>\n"
-msgstr "<b>IP�:</b> %s<br>\n"
-
-msgid "Login Information"
-msgstr "Informations de connexion"
-
-msgid "<p><b>Original Author</b>:<br>\n"
-msgstr "<p><b>Auteur original�:</b><br>\n"
-
-msgid "<p><b>Code Contributors</b>:<br>\n"
-msgstr "<p><b>Contributeurs au code�:</b><br>\n"
-
-msgid "<p><b>Lovely Patch Writers</b>:<br>\n"
-msgstr "<p><b>Charmants contributeurs de patchs�:</b><br>\n"
-
-msgid "<p><b>Acknowledgement</b>:<br>\n"
-msgstr "<p><b>Remerciements�:</b><br>\n"
-
-msgid "<p><b>Scrupulous Testers</b>:<br>\n"
-msgstr "<p><b>Testeurs scrupuleux�:</b><br>\n"
-
-msgid "and more, please let me know... thank you!))"
-msgstr "et d'autres, faites-nous le savoir... merci�!"
-
-msgid "<p><i>And, all the boys in the backroom...</i><br>\n"
-msgstr "<p><i>et toutes les personnes dans les coulisses...</i><br>\n"
-
-msgid "<i>Feel free to join us!</i> :)"
-msgstr "<i>N'h辿sitez pas � nous rejoindre�!</i> :)"
-
-#, c-format
-msgid "About OpenQ %s"
-msgstr "� propos de OpenQ %s"
-
-msgid "Change Icon"
-msgstr "Changer l'ic担ne"
-
-msgid "Change Password"
-msgstr "Changer de mot de passe"
-
-msgid "Account Information"
-msgstr "Informations du compte"
-
-msgid "Update all QQ Quns"
-msgstr "Mettre � jour tous les Quns QQ"
-
-msgid "About OpenQ"
-msgstr "� propos de OpenQ"
-
-msgid "Modify Buddy Memo"
-msgstr "Changer le m辿mo de l'utilisateur"
-
-#. *< type
-#. *< ui_requirement
-#. *< flags
-#. *< dependencies
-#. *< priority
-#. *< id
-#. *< name
-#. *< version
-#. *  summary
-#. *  description
-msgid "QQ Protocol Plugin"
-msgstr "Plugin pour le protocole QQ"
-
-msgid "Auto"
-msgstr "Auto"
-
-msgid "Select Server"
-msgstr "Choisir le serveur"
-
-msgid "QQ2008"
-msgstr "QQ2008"
-
-msgid "QQ2007"
-msgstr "QQ2007"
-
-msgid "QQ2005"
-msgstr "QQ2005"
-
-msgid "Connect by TCP"
-msgstr "Connexion par TCP"
-
-msgid "Show server notice"
-msgstr "Afficher les infos du serveur"
-
-msgid "Show server news"
-msgstr "Afficher les nouveaut辿s du serveur"
-
-msgid "Show chat room when msg comes"
-msgstr "Afficher le salon de discussions quand un message arrive"
-
-msgid "Keep alive interval (seconds)"
-msgstr "D辿lai de Keep alive (en secondes)"
-
-msgid "Update interval (seconds)"
-msgstr "D辿lai de mise � jour (en secondes)"
-
-msgid "Unable to decrypt server reply"
-msgstr "Impossible de d辿chiffrer la r辿ponse du serveur"
-
-#, c-format
-msgid "Failed requesting token, 0x%02X"
-msgstr "�chec lors de la demande du token, 0x%02X"
-
-#, c-format
-msgid "Invalid token len, %d"
-msgstr "Taille de token non valide�: %d"
-
-#. extend redirect used in QQ2006
-msgid "Redirect_EX is not currently supported"
-msgstr "Redirect_EX n'est pas support辿e pour l'instant"
-
-#. need activation
-#. need activation
-#. need activation
-msgid "Activation required"
-msgstr "Activation n辿cessaire"
-
-#, c-format
-msgid "Unknown reply code when logging in (0x%02X)"
-msgstr "R辿ponse inconnue � la connexion (0x%02X)"
-
-msgid "Requesting captcha"
-msgstr "Demande de captcha"
-
-msgid "Checking captcha"
-msgstr "V辿rification du code du captcha"
-
-msgid "Failed captcha verification"
-msgstr "�chec � la v辿rification du captcha"
-
-msgid "Captcha Image"
-msgstr "Image captcha"
-
-msgid "Enter code"
-msgstr "Saisissez le code"
-
-msgid "QQ Captcha Verification"
-msgstr "V辿rification du captcha QQ"
-
-msgid "Enter the text from the image"
-msgstr "Saisissez le texte de l'image"
-
-#, c-format
-msgid "Unknown reply when checking password (0x%02X)"
-msgstr "R辿ponse inconnue � la v辿rification du mot de passe (0x%02X)"
-
-#, c-format
-msgid ""
-"Unknown reply code when logging in (0x%02X):\n"
-"%s"
-msgstr ""
-"R辿ponse inconnue � la connexion (0x%02X)�:\n"
-"%s"
-
-msgid "Socket error"
-msgstr "Erreur de socket."
-
-msgid "Getting server"
-msgstr "R辿cup辿ration du serveur"
-
-msgid "Requesting token"
-msgstr "Requ棚te d'un token"
-
-msgid "Unable to resolve hostname"
-msgstr "Impossible de r辿soudre l'adresse internet."
-
-msgid "Invalid server or port"
-msgstr "Serveur ou port non valide"
-
-msgid "Connecting to server"
-msgstr "Connexion au serveur"
-
-msgid "QQ Error"
-msgstr "Erreur QQ"
-
-#, c-format
-msgid ""
-"Server News:\n"
-"%s\n"
-"%s\n"
-"%s"
-msgstr ""
-"Nouveaut辿s du serveur�:\n"
-"%s\n"
-"%s\n"
-"%s"
-
-#, c-format
-msgid "%s:%s"
-msgstr "%s�: %s"
-
-#, c-format
-msgid "From %s:"
-msgstr "De %s�:"
-
-#, c-format
-msgid ""
-"Server notice From %s: \n"
-"%s"
-msgstr ""
-"Info du serveur de %s�: \n"
-"%s"
-
-msgid "Unknown SERVER CMD"
-msgstr "Commande SERVER inconnue"
-
-#, c-format
-msgid ""
-"Error reply of %s(0x%02X)\n"
-"Room %u, reply 0x%02X"
-msgstr ""
-"Erreur � la r辿ponse %s(0x%02X)\n"
-"Salon %u, r辿ponse 0x%02X"
-
-msgid "QQ Qun Command"
-msgstr "Commande Qun QQ"
-
-msgid "Unable to decrypt login reply"
-msgstr "Impossible de d辿chiffrer la r辿ponse de connexion"
-
-msgid "Unknown LOGIN CMD"
-msgstr "Commande LOGIN inconnue"
-
-msgid "Unknown CLIENT CMD"
-msgstr "Commande CLIENT inconnue"
-
-#, c-format
-msgid "%d has declined the file %s"
-msgstr "%d a refus辿 le fichier %s"
-
-msgid "File Send"
-msgstr "Envoi de fichier"
-
-#, c-format
-msgid "%d cancelled the transfer of %s"
-msgstr "%d a annul辿 le transfert de %s"
-
 #, c-format
 msgid "<b>Group Title:</b> %s<br>"
 msgstr "<b>Titre du groupe�:</b> %s<br>"
@@ -9629,6 +9011,9 @@
 msgid "Unit"
 msgstr "Groupe"
 
+msgid "Note"
+msgstr "Commentaire"
+
 msgid "Join Chat"
 msgstr "Rejoindre une discussion"
 
@@ -10278,6 +9663,9 @@
 msgid "Unable to create listen socket"
 msgstr "Impossible de se mettre en 辿coute sur la connexion"
 
+msgid "Unable to resolve hostname"
+msgstr "Impossible de r辿soudre l'adresse internet."
+
 msgid "SIP usernames may not contain whitespaces or @ symbols"
 msgstr ""
 "Les noms d'utilisateur SIP ne peuvent pas avoir d'espace ou de symbole @."
@@ -10395,6 +9783,9 @@
 msgid "Yahoo! system message for %s:"
 msgstr "Message syst竪me Yahoo! pour %s�:"
 
+msgid "Authorization denied message:"
+msgstr "Message de refus d'autorisation�:"
+
 #, c-format
 msgid ""
 "%s has (retroactively) denied your request to add them to your list for the "
@@ -11189,15 +10580,18 @@
 msgid "No Proxy"
 msgstr "Pas de proxy"
 
-msgid "HTTP"
-msgstr "HTTP"
-
 msgid "SOCKS 4"
 msgstr "SOCKS 4"
 
 msgid "SOCKS 5"
 msgstr "SOCKS 5"
 
+msgid "Tor/Privacy (SOCKS5)"
+msgstr "Tor/Privacy (SOCKS5)"
+
+msgid "HTTP"
+msgstr "HTTP"
+
 msgid "Use Environmental Settings"
 msgstr "Utiliser les param竪tres d'environnement"
 
@@ -11225,6 +10619,12 @@
 msgid "Pa_ssword:"
 msgstr "_Mot de passe�:"
 
+msgid "Use _silence suppression"
+msgstr "Utiliser la suppression de_ silences"
+
+msgid "_Voice and Video"
+msgstr "_Voix et vid辿o"
+
 msgid "Unable to save new account"
 msgstr "Impossible d'enregistrer le nouveau compte."
 
@@ -11273,9 +10673,20 @@
 "liste de contacts."
 
 #, c-format
+msgid ""
+"<a href=\"viewinfo\">%s</a>%s%s%s wants to add you (%s) to his or her buddy "
+"list%s%s"
+msgstr ""
+"<a href=\"viewinfo\">%s</a>%s%s%s veut vous (%s) ajouter � sa liste de "
+"contacts%s%s"
+
+#, c-format
 msgid "%s%s%s%s wants to add you (%s) to his or her buddy list%s%s"
 msgstr "%s%s%s%s veut vous (%s) ajouter � sa liste de contacts%s%s"
 
+msgid "Send Instant Message"
+msgstr "Envoyer un message"
+
 #. Buddy List
 msgid "Background Color"
 msgstr "Couleur de fond"
@@ -11829,6 +11240,9 @@
 msgid "(Optional) A_lias:"
 msgstr "A_lias (facultatif)�:"
 
+msgid "(Optional) _Invite message:"
+msgstr "Message d'_invitation (facultatif)�:"
+
 msgid "Add buddy to _group:"
 msgstr "Ajouter ce contact au _groupe�:"
 
@@ -13299,8 +12713,15 @@
 msgid "New Pounces"
 msgstr "Nouvelles alertes"
 
+#. Translators: Make sure you translate "Dismiss" differently than
+#. "close"!  This string is used in the "You have pounced" dialog
+#. that appears when one of your Buddy Pounces is triggered.  In
+#. this context "Dismiss" means "I acknowledge that I've seen that
+#. this pounce was triggered--remove it from this list."  Translating
+#. it as "Remove" is acceptable if you can't think of a more precise
+#. word.
 msgid "Dismiss"
-msgstr "Fermer"
+msgstr "Disposer"
 
 msgid "<span weight=\"bold\" size=\"larger\">You have pounced!</span>"
 msgstr "<span weight=\"bold\" size=\"larger\">Vous avez des alertes�!</span>"
@@ -14419,6 +13840,9 @@
 msgid "PubSub Leaf"
 msgstr "Feuillet PubSub"
 
+msgid "Other"
+msgstr "Autre"
+
 msgid ""
 "\n"
 "<b>Description:</b> "
@@ -15286,6 +14710,21 @@
 msgid "D_evice"
 msgstr "Appa_reil"
 
+msgid "DROP"
+msgstr "Couper"
+
+msgid "Volume:"
+msgstr "Volume�:"
+
+msgid "Silence threshold:"
+msgstr "Seuil du silence�:"
+
+msgid "Input and Output Settings"
+msgstr "Configuration d'entr辿e/sortie"
+
+msgid "Microphone Test"
+msgstr "Test du microphone"
+
 #. *< magic
 #. *< major version
 #. *< minor version
@@ -15298,9 +14737,6 @@
 msgid "Voice/Video Settings"
 msgstr "Param竪tres voix et vid辿o"
 
-msgid "Voice and Video Settings"
-msgstr "Param竪tres voix et vid辿o"
-
 #. *< name
 #. *< version
 msgid "Configure your microphone and webcam."
@@ -15578,16 +15014,197 @@
 msgid "You do not have permission to uninstall this application."
 msgstr "Vous n'avez pas les permissions pour supprimer cette application."
 
-#~ msgid "Automatically reject from users not in buddy list"
-#~ msgstr ""
-#~ "Refuser automatiquement si l'utilisateur n'est pas dans ma liste de "
-#~ "contacts"
-
-#~ msgid "bug master"
-#~ msgstr "maitre des bogues"
-
-#~ msgid "An error occurred on the in-band bytestream transfer\n"
-#~ msgstr "Erreur lors du transfert dans le flux de donn辿es in-band.\n"
+#~ msgid "Authorization Request Message:"
+#~ msgstr "Message pour la demande d'autorisation�:"
+
+#~ msgid "Please authorize me!"
+#~ msgstr "Autorise moi, s'il te pla樽t�!"
+
+#~ msgid "Your UID"
+#~ msgstr "Votre UID"
+
+#~ msgid "Hide my number"
+#~ msgstr "Cacher mon num辿ro"
+
+#~ msgid "Aquarius"
+#~ msgstr "Verseau"
+
+#~ msgid "Pisces"
+#~ msgstr "Poissons"
+
+#~ msgid "Aries"
+#~ msgstr "B辿lier"
+
+#~ msgid "Taurus"
+#~ msgstr "Taureau"
+
+#~ msgid "Gemini"
+#~ msgstr "G辿meaux"
+
+#~ msgid "Cancer"
+#~ msgstr "Cancer"
+
+#~ msgid "Leo"
+#~ msgstr "Lion"
+
+#~ msgid "Virgo"
+#~ msgstr "Vierge"
+
+#~ msgid "Libra"
+#~ msgstr "Balance"
+
+#~ msgid "Scorpio"
+#~ msgstr "Scorpion"
+
+#~ msgid "Sagittarius"
+#~ msgstr "Sagittaire"
+
+#~ msgid "Capricorn"
+#~ msgstr "Capricorne"
+
+#~ msgid "Rat"
+#~ msgstr "Rat"
+
+#~ msgid "Ox"
+#~ msgstr "B�uf"
+
+#~ msgid "Tiger"
+#~ msgstr "Tigre"
+
+#~ msgid "Rabbit"
+#~ msgstr "Li竪vre"
+
+#~ msgid "Dragon"
+#~ msgstr "Dragon"
+
+#~ msgid "Snake"
+#~ msgstr "Serpent"
+
+#~ msgid "Horse"
+#~ msgstr "Cheval"
+
+#~ msgid "Goat"
+#~ msgstr "Ch竪vre"
+
+#~ msgid "Monkey"
+#~ msgstr "Singe"
+
+#~ msgid "Rooster"
+#~ msgstr "Coq"
+
+#~ msgid "Dog"
+#~ msgstr "Chien"
+
+#~ msgid "Pig"
+#~ msgstr "Cochon"
+
+#~ msgid "Visible"
+#~ msgstr "Visible"
+
+#~ msgid "Friend Only"
+#~ msgstr "Amis seulement"
+
+#~ msgid "Private"
+#~ msgstr "Priv辿"
+
+#~ msgid "Country/Region"
+#~ msgstr "Pays/r辿gion"
+
+#~ msgid "Province/State"
+#~ msgstr "Province/�tat"
+
+#~ msgid "Zipcode"
+#~ msgstr "Code postal"
+
+#~ msgid "Phone Number"
+#~ msgstr "T辿l辿phone fixe"
+
+#~ msgid "Authorize adding"
+#~ msgstr "Autoriser l'ajout"
+
+#~ msgid "Cellphone Number"
+#~ msgstr "T辿l辿phone portable"
+
+#~ msgid "Personal Introduction"
+#~ msgstr "Informations personnelles"
+
+#~ msgid "City/Area"
+#~ msgstr "Ville/Localit辿"
+
+#~ msgid "Publish Mobile"
+#~ msgstr "Publier le t辿l辿phone portable"
+
+#~ msgid "Publish Contact"
+#~ msgstr "Publier les informations de contact"
+
+#~ msgid "College"
+#~ msgstr "�ducation"
+
+#~ msgid "Horoscope"
+#~ msgstr "Signe du zodiaque"
+
+#~ msgid "Zodiac"
+#~ msgstr "Signe du zodiaque chinois"
+
+#~ msgid "Blood"
+#~ msgstr "Groupe sanguin"
+
+#~ msgid "True"
+#~ msgstr "Vrai"
+
+#~ msgid "False"
+#~ msgstr "Faux"
+
+#~ msgid "Modify Contact"
+#~ msgstr "Modifier les infos de contact"
+
+#~ msgid "Modify Address"
+#~ msgstr "Modifier l'adresse"
+
+#~ msgid "Modify Extended Information"
+#~ msgstr "Modifier mes infos 辿tendues"
+
+#~ msgid "Modify Information"
+#~ msgstr "Modifier mes informations"
+
+#~ msgid "Update"
+#~ msgstr "Mettre � jour"
+
+#~ msgid "Could not change buddy information."
+#~ msgstr "Impossible de changer les informations du contact."
+
+#~ msgid "Buddy Memo"
+#~ msgstr "M辿mo du contact"
+
+#~ msgid "Change his/her memo as you like"
+#~ msgstr "Vous pouvez changer son m辿mo � votre convenance"
+
+#~ msgid "_Modify"
+#~ msgstr "_Modifier"
+
+#~ msgid "Memo Modify"
+#~ msgstr "Changer m辿mo"
+
+#~ msgid "Server says:"
+#~ msgstr "Message du serveur�:"
+
+#~ msgid "Your request was accepted."
+#~ msgstr "Votre requ棚te a 辿t辿 accept辿e."
+
+#~ msgid "Your request was rejected."
+#~ msgstr "Votre requ棚te a 辿t辿 rejet辿e."
+
+#~ msgid "%u requires verification: %s"
+#~ msgstr "%u demande une v辿rification�: %s"
+
+#~ msgid "Add buddy question"
+#~ msgstr "Ajouter une question pour les nouveaux contacts"
+
+#~ msgid "Enter answer here"
+#~ msgstr "Saisissez la r辿ponse ici"
+
+#~ msgid "Send"
+#~ msgstr "Envoyer"
 
 #~ msgid "Transfer was closed."
 #~ msgstr "Le transfert a 辿t辿 interrompu."
@@ -15747,9 +15364,6 @@
 #~ msgid "Auto-away"
 #~ msgstr "Absence automatique"
 
-#~ msgid "Change _status to:"
-#~ msgstr "_Changer l'辿tat en�:"
-
 #~ msgid "Send instant messages over multiple protocols"
 #~ msgstr "Envoie des messages instantan辿s en utilisant divers protocoles"
 
@@ -15963,9 +15577,6 @@
 #~ msgid "Please provide a shortcut to associate with the smiley."
 #~ msgstr "Veuillez fournir un raccourci correspondant � cette frimousse."
 
-#~ msgid "Please select an image for the smiley."
-#~ msgstr "Veuillez choisir une image pour cette frimousse."
-
 #~ msgid "Cursor Color"
 #~ msgstr "Couleur du curseur"
 
@@ -15978,9 +15589,6 @@
 #~ msgid "Widget Sizes"
 #~ msgstr "Tailles des 辿l辿ments"
 
-#~ msgid "Invite message"
-#~ msgstr "Message d'invitation"
-
 #~ msgid ""
 #~ "Please enter the name of the user you wish to invite,\n"
 #~ "along with an optional invite message."