changeset 32646:bea1a5c1df3a

propagate from branch 'im.pidgin.pidgin' (head 65538ec661afd2eb4ddcb91d43a8b3caaf4cc199) to branch 'im.pidgin.cpw.qulogic.gtk3' (head 89b331fa42d8694169587cf926d72901f89abb5a)
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Sun, 05 Dec 2010 03:10:05 +0000
parents e9afcbec8f20 (diff) 26ed36964769 (current diff)
children 4c0ab9308782
files configure.ac pidgin/gtkdialogs.c pidgin/gtkimhtml.c pidgin/gtkmedia.c pidgin/gtkscrollbook.c
diffstat 71 files changed, 2546 insertions(+), 1555 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Dec 03 23:03:58 2010 +0000
+++ b/ChangeLog	Sun Dec 05 03:10:05 2010 +0000
@@ -1,18 +1,97 @@
 Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul
 
-version 2.7.6 (??/??/????):
+version 2.7.8 (??/??/????):
+	General:
+	* Fix the exceptions in purple-remote on Python 2.6+. (Ari Pollak)
+	  (#12151)
+
+	Pidgin:
+	* When a conversation has reached the maximum limit on the number
+	  of smileys, display the text representation of the smiley properly
+	  when it contains HTML-escapable characters (e.g. "<3" was previously
+	  displayed as "&lt;3").
+	* Drop dependency on GdkGC and use Cairo instead.
+
+	libpurple:
+	* Fix multipart parsing when '=' is included in the boundary for
+	  purple_mime_document_parse. (Jakub Adam) (#11598)
+
+	AIM and ICQ:
+	* Buddies who unset their status message will now be correctly shown
+	  without a message in your buddy list. (#12988)
+
+	Gadu-Gadu:
+	* Updated our bundled libgadu and minimum requirement for external
+	  libgadu to 1.9.0. (#12789)
+
+	MSN:
+	* Stop showing ourselves in the list of endpoints that can be
+	  disconnected.
+	* Allow full-size display names, by not escaping (most) non-English
+	  characters. (#8508)
+	* Fix receiving messages from users on Yahoo and other federated
+	  services. (#13022)
+	* Correctly remove old endpoints when they sign out.
+
+version 2.7.7 (11/23/2010):
+	General:
+	* Allow multiple CA certificates to share the same Distinguished Name
+	  (DN).  Partially fixes remaining MSN issues from #12906.
+	* The GNUTLS SSL plugin now discards any certificate (and all subsequent
+	  certificates) in a chain if it did not sign the previous certificate.
+	  Partially fixes remaining MSN issues from #12906.
+	* Open requests related to a file transfer are now closed when the request
+	  is cancelled locally. (#11666)
+
+	AIM and ICQ:
+	* AIM should now connect if "Use clientLogin" is turned off and the
+	  "Server" field is set to anything other than "login.oscar.aol.com" or
+	  "slogin.oscar.aol.com". (#12948)
+	* Fix a crash on connection loss. (#5927)
+
+version 2.7.6 (11/21/2010):
+	General:
+	* Included Microsoft Internet Authority 2010 and Microsoft Secure Server
+	  Authority 2010 intermediate CA certificates to our bundle.  This fixes
+	  the "Unable to validate certificate" error for omega.contacts.msn.com.
+	  (#12906)
+
+	Pidgin:
+	* Avoid a use-after-free race condition in the media code (when
+	  there's an error reported by GStreamer). (#12806, Jakub Adam)
+
+	AIM and ICQ:
+	* SSL option has been changed to a tri-state menu with choices for
+	  "Don't Use Encryption", "Use Encryption if Available", and "Require
+	  Encryption".
+	* Fix some possible clientLogin URL issues introduced in version 2.7.5.
+	* Don't show a "<URL>: Ok" connection error when using clientLogin.
+	* Cleaned up some debug output for improved readability.
+
 	MSN:
 	* Added support for MSNP16, including Multiple Points of Presence (MPOP)
-	  which allows multiple simultaneous sign-ins.
+	  which allows multiple simultaneous sign-ins. (#8247)
 	* Added extended capabilities support (none implemented).
 	* Merged the work done on the Google SoC (major rewrite of SLP code)
 	* Reworked the data transfer architecture.
 	  (http://developer.pidgin.im/wiki/SlpArchitecture)
 	* Lots of little changes.
+	* Don't process zero-length DC messages. (#12660)
+	* Fixed a bunch of memory leaks.
+	* Prevent a use-after-free condition.
 
 	XMPP:
 	* Avoid a double-free in the Google Relay (V/V) code.
 	* Avoid double error message when failing a file transfer. (#12757)
+	* Password-related information is printed out for SASL authentication
+	  when the PURPLE_UNSAFE_DEBUG environment variable is set.
+	* Authentication mechanisms can now be added by UI's or other plugins
+	  with some work. This is outside the API/ABI rules! (#12715)
+	* Fixed a few printf("%s", NULL) crashes for broken OSes.
+
+	Windows-Specific Changes:
+	* Build the Pidgin Theme Editor plugin (finally).
+	* Untarring (for themes) now works for non-ASCII destination paths.
 
 version 2.7.5 (10/31/2010):
 	General:
--- a/ChangeLog.API	Fri Dec 03 23:03:58 2010 +0000
+++ b/ChangeLog.API	Sun Dec 05 03:10:05 2010 +0000
@@ -1,6 +1,13 @@
 Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul
 
-version 2.7.6 (??/??/????):
+version 2.7.8 (??/??/????):
+	* No changes
+
+version 2.7.7 (11/23/2010):
+	* No changes
+
+version 2.7.6 (11/21/2010):
+	* No changes
 
 version 2.7.5 (10/31/2010):
 	* No changes
--- a/NEWS	Fri Dec 03 23:03:58 2010 +0000
+++ b/NEWS	Sun Dec 05 03:10:05 2010 +0000
@@ -2,7 +2,16 @@
 
 Our development blog is available at: http://planet.pidgin.im
 
-2.7.6 (??/??/????):
+2.7.8 (??/??/????):
+
+2.7.7 (11/23/2010):
+	John: Well, this time around, we should finally have the certificate
+	issue really and fully fixed for all of you MSN users.  Also, we have
+	a few AIM-related fixes in this release, most notably the fix for the
+	new "SSL Handshake Failure" message some of you got after upgrading.
+	That one was an oversight on our part.  Enjoy the fixes!
+
+2.7.6 (11/21/2010):
 	Jorge: In this release I have merged two branches where I have spent
 	most of my time in the last months, the MSNP16 and SLP-rewrite.  I 
 	hope you all will enjoy the hability to be connected on multiple
@@ -11,6 +20,10 @@
 	happy with this rewrite because there was untoched code from almost
 	5 years ago. I hope you like this release!
 
+	John: In this release, we give you some new features and a bunch of
+	bug fixes.  This includes shipping intermediate certificates to fix
+	certificate validation for MSN's servers.  Upgrade and enjoy!
+
 2.7.5 (10/31/2010):
 	John: A bugfix release for all of you!  This time we fixed a bunch of
 	bugs ranging from annoying regressions to long-standing bugs we didn't
--- a/configure.ac	Fri Dec 03 23:03:58 2010 +0000
+++ b/configure.ac	Sun Dec 05 03:10:05 2010 +0000
@@ -46,7 +46,7 @@
 m4_define([purple_lt_current], [7])
 m4_define([purple_major_version], [2])
 m4_define([purple_minor_version], [7])
-m4_define([purple_micro_version], [6])
+m4_define([purple_micro_version], [8])
 m4_define([purple_version_suffix], [devel])
 m4_define([purple_version],
           [purple_major_version.purple_minor_version.purple_micro_version])
@@ -55,7 +55,7 @@
 m4_define([gnt_lt_current], [8])
 m4_define([gnt_major_version], [2])
 m4_define([gnt_minor_version], [8])
-m4_define([gnt_micro_version], [3])
+m4_define([gnt_micro_version], [5])
 m4_define([gnt_version_suffix], [devel])
 m4_define([gnt_version],
           [gnt_major_version.gnt_minor_version.gnt_micro_version])
@@ -1046,7 +1046,7 @@
 	gadu_manual_check="no"
 fi
 if test "x$gadu_manual_check" = "xno"; then
-	PKG_CHECK_MODULES(GADU, [libgadu >= 1.9.0-rc2], [
+	PKG_CHECK_MODULES(GADU, [libgadu >= 1.9.0], [
 		gadu_includes="yes"
 		gadu_libs="yes"
 	], [
--- a/libpurple/account.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/account.c	Sun Dec 05 03:10:05 2010 +0000
@@ -1087,6 +1087,9 @@
 	g_hash_table_destroy(account->settings);
 	g_hash_table_destroy(account->ui_settings);
 
+	if (account->proxy_info)
+		purple_proxy_info_destroy(account->proxy_info);
+
 	purple_account_set_status_types(account, NULL);
 
 	purple_presence_destroy(account->presence);
--- a/libpurple/certificate.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/certificate.c	Sun Dec 05 03:10:05 2010 +0000
@@ -947,6 +947,22 @@
 	return NULL;
 }
 
+static GSList *
+x509_ca_locate_certs(GList *lst, const gchar *dn)
+{
+	GList *cur;
+	GSList *crts = NULL;
+
+	for (cur = lst; cur; cur = cur->next) {
+		x509_ca_element *el = cur->data;
+		if (purple_strequal(dn, el->dn)) {
+			crts = g_slist_prepend(crts, el);
+		}
+	}
+	return crts;
+}
+
+
 static gboolean
 x509_ca_cert_in_pool(const gchar *id)
 {
@@ -985,6 +1001,31 @@
 	return crt;
 }
 
+static GSList *
+x509_ca_get_certs(const gchar *id)
+{
+	GSList *crts = NULL, *els = NULL;
+
+	g_return_val_if_fail(x509_ca_lazy_init(), NULL);
+	g_return_val_if_fail(id, NULL);
+
+	/* Search the memory-cached pool */
+	els = x509_ca_locate_certs(x509_ca_certs, id);
+
+	if (els != NULL) {
+		GSList *cur;
+		/* Make a copy of the memcached ones for the function caller
+		   to play with */
+		for (cur = els; cur; cur = cur->next) {
+			x509_ca_element *el = cur->data;
+			crts = g_slist_prepend(crts, purple_certificate_copy(el->crt));
+		}
+		g_slist_free(els);
+	}
+
+	return crts;
+}
+
 static gboolean
 x509_ca_put_cert(const gchar *id, PurpleCertificate *crt)
 {
@@ -1558,7 +1599,9 @@
 	PurpleCertificate *ca_crt, *end_crt;
 	PurpleCertificate *failing_crt;
 	GList *chain = vrq->cert_chain;
+	GSList *ca_crts, *cur;
 	GByteArray *last_fpr, *ca_fpr;
+	gboolean valid = FALSE;
 	gchar *ca_id;
 
 	peer_crt = (PurpleCertificate *) chain->data;
@@ -1646,8 +1689,8 @@
 	purple_debug_info("certificate/x509/tls_cached",
 			  "Checking for a CA with DN=%s\n",
 			  ca_id);
-	ca_crt = purple_certificate_pool_retrieve(ca, ca_id);
-	if ( NULL == ca_crt ) {
+	ca_crts = x509_ca_get_certs(ca_id);
+	if ( NULL == ca_crts ) {
 		flags |= PURPLE_CERTIFICATE_CA_UNKNOWN;
 
 		purple_debug_warning("certificate/x509/tls_cached",
@@ -1677,24 +1720,33 @@
 	 * the list, so here we are.
 	 */
 	last_fpr = purple_certificate_get_fingerprint_sha1(end_crt);
-	ca_fpr   = purple_certificate_get_fingerprint_sha1(ca_crt);
+	for (cur = ca_crts; cur; cur = cur->next) {
+		ca_crt = cur->data;
+		ca_fpr = purple_certificate_get_fingerprint_sha1(ca_crt);
 
-	if ( !byte_arrays_equal(last_fpr, ca_fpr) &&
-			!purple_certificate_signed_by(end_crt, ca_crt) )
-	{
-		/* TODO: If signed_by ever returns a reason, maybe mention
-		   that, too. */
-		/* TODO: Also mention the CA involved. While I could do this
-		   now, a full DN is a little much with which to assault the
-		   user's poor, leaky eyes. */
-		flags |= PURPLE_CERTIFICATE_INVALID_CHAIN;
+		if ( byte_arrays_equal(last_fpr, ca_fpr) ||
+				purple_certificate_signed_by(end_crt, ca_crt) )
+		{
+			/* TODO: If signed_by ever returns a reason, maybe mention
+			   that, too. */
+			/* TODO: Also mention the CA involved. While I could do this
+			   now, a full DN is a little much with which to assault the
+			   user's poor, leaky eyes. */
+			valid = TRUE;
+			g_byte_array_free(ca_fpr, TRUE);
+			break;
+		}
+
+		g_byte_array_free(ca_fpr, TRUE);
 	}
 
-	g_byte_array_free(ca_fpr, TRUE);
+	if (valid == FALSE)
+		flags |= PURPLE_CERTIFICATE_INVALID_CHAIN;
+
+	g_slist_foreach(ca_crts, (GFunc)purple_certificate_destroy, NULL);
+	g_slist_free(ca_crts);
 	g_byte_array_free(last_fpr, TRUE);
 
-	purple_certificate_destroy(ca_crt);
-
 	x509_tls_cached_check_subject_name(vrq, flags);
 }
 
--- a/libpurple/ft.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/ft.c	Sun Dec 05 03:10:05 2010 +0000
@@ -1488,6 +1488,20 @@
 
 	g_return_if_fail(xfer != NULL);
 
+	/* TODO: We definitely want to close any open request dialogs associated
+	   with this transfer.  However, in some cases the request dialog might
+	   own a reference on the xfer.  This happens at least with the "%s wants
+	   to send you %s" dialog from purple_xfer_ask_recv().  In these cases
+	   the ref count will not be decremented when the request dialog is
+	   closed, so the ref count will never reach 0 and the xfer will never
+	   be freed.  This is a memleak and should be fixed.  It's not clear what
+	   the correct fix is.  Probably requests should have a destroy function
+	   that is called when the request is destroyed.  But also, ref counting
+	   xfer objects makes this code REALLY complicated.  An alternate fix is
+	   to not ref count and instead just make sure the object still exists
+	   when we try to use it. */
+	purple_request_close_with_handle(xfer);
+
 	purple_xfer_set_status(xfer, PURPLE_XFER_STATUS_CANCEL_LOCAL);
 	xfer->end_time = time(NULL);
 
--- a/libpurple/mime.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/mime.c	Sun Dec 05 03:10:05 2010 +0000
@@ -436,6 +436,34 @@
 	g_free(bnd);
 }
 
+#define BOUNDARY "boundary="
+static char *
+parse_boundary(const char *ct)
+{
+	char *boundary_begin = g_strstr_len(ct, -1, BOUNDARY);
+	char *boundary_end;
+
+	if (!boundary_begin)
+		return NULL;
+
+	boundary_begin += sizeof(BOUNDARY) - 1;
+
+	if (*boundary_begin == '"') {
+		boundary_end = strchr(++boundary_begin, '"');
+		if (!boundary_end)
+			return NULL;
+	} else {
+		boundary_end = strchr(boundary_begin, ' ');
+		if (!boundary_end) {
+			boundary_end = strchr(boundary_begin, ';');
+			if (!boundary_end)
+				boundary_end = boundary_begin + strlen(boundary_begin);
+		}
+	}
+
+	return g_strndup(boundary_begin, boundary_end - boundary_begin);
+}
+#undef BOUNDARY
 
 PurpleMimeDocument *
 purple_mime_document_parsen(const char *buf, gsize len)
@@ -456,10 +484,11 @@
 
 	{
 		const char *ct = fields_get(&doc->fields, "content-type");
-		if(ct && purple_str_has_prefix(ct, "multipart")) {
-			char *bd = strrchr(ct, '=');
-			if(bd++) {
+		if (ct && purple_str_has_prefix(ct, "multipart")) {
+			char *bd = parse_boundary(ct);
+			if (bd) {
 				doc_parts_load(doc, bd, b, n);
+				g_free(bd);
 			}
 		}
 	}
--- a/libpurple/network.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/network.c	Sun Dec 05 03:10:05 2010 +0000
@@ -350,17 +350,15 @@
 
 	if (success) {
 		/* add port mapping to hash table */
-		gint *key = g_new(gint, 1);
-		gint *value = g_new(gint, 1);
-		*key = purple_network_get_port_from_fd(listen_data->listenfd);
-		*value = listen_data->socket_type;
-		g_hash_table_insert(upnp_port_mappings, key, value);
+		gint key = purple_network_get_port_from_fd(listen_data->listenfd);
+		gint value = listen_data->socket_type;
+		g_hash_table_insert(upnp_port_mappings, GINT_TO_POINTER(key), GINT_TO_POINTER(value));
 	}
 
 	if (listen_data->cb)
 		listen_data->cb(listen_data->listenfd, listen_data->cb_data);
 
-	/* Clear the UPnP mapping data, since it's complete and purple_netweork_listen_cancel() will try to cancel
+	/* Clear the UPnP mapping data, since it's complete and purple_network_listen_cancel() will try to cancel
 	 * it otherwise. */
 	listen_data->mapping_data = NULL;
 	purple_network_listen_cancel(listen_data);
@@ -370,16 +368,16 @@
 purple_network_finish_pmp_map_cb(gpointer data)
 {
 	PurpleNetworkListenData *listen_data;
-	gint *key = g_new(gint, 1);
-	gint *value = g_new(gint, 1);
+	gint key;
+	gint value;
 
 	listen_data = data;
 	listen_data->timer = 0;
 
 	/* add port mapping to hash table */
-	*key = purple_network_get_port_from_fd(listen_data->listenfd);
-	*value = listen_data->socket_type;
-	g_hash_table_insert(nat_pmp_port_mappings, key, value);
+	key = purple_network_get_port_from_fd(listen_data->listenfd);
+	value = listen_data->socket_type;
+	g_hash_table_insert(nat_pmp_port_mappings, GINT_TO_POINTER(key), GINT_TO_POINTER(value));
 
 	if (listen_data->cb)
 		listen_data->cb(listen_data->listenfd, listen_data->cb_data);
@@ -1045,42 +1043,42 @@
 purple_network_upnp_mapping_remove(gpointer key, gpointer value,
 	gpointer user_data)
 {
-	gint port = (gint) *((gint *) key);
-	gint protocol = (gint) *((gint *) value);
+	gint port = GPOINTER_TO_INT(key);
+	gint protocol = GPOINTER_TO_INT(value);
 	purple_debug_info("network", "removing UPnP port mapping for port %d\n",
 		port);
-	purple_upnp_remove_port_mapping(port, 
-		protocol == SOCK_STREAM ? "TCP" : "UDP", 
+	purple_upnp_remove_port_mapping(port,
+		protocol == SOCK_STREAM ? "TCP" : "UDP",
 		purple_network_upnp_mapping_remove_cb, NULL);
-	g_hash_table_remove(upnp_port_mappings, key);
+	g_hash_table_remove(upnp_port_mappings, GINT_TO_POINTER(port));
 }
 
 static void
 purple_network_nat_pmp_mapping_remove(gpointer key, gpointer value,
 	gpointer user_data)
 {
-	gint port = (gint) *((gint *) key);
-	gint protocol = (gint) *((gint *) value);
+	gint port = GPOINTER_TO_INT(key);
+	gint protocol = GPOINTER_TO_INT(value);
 	purple_debug_info("network", "removing NAT-PMP port mapping for port %d\n",
 		port);
 	purple_pmp_destroy_map(
-		protocol == SOCK_STREAM ? PURPLE_PMP_TYPE_TCP : PURPLE_PMP_TYPE_UDP, 
+		protocol == SOCK_STREAM ? PURPLE_PMP_TYPE_TCP : PURPLE_PMP_TYPE_UDP,
 		port);
-	g_hash_table_remove(nat_pmp_port_mappings, key);
+	g_hash_table_remove(nat_pmp_port_mappings, GINT_TO_POINTER(port));
 }
 
 void
 purple_network_remove_port_mapping(gint fd)
 {
 	int port = purple_network_get_port_from_fd(fd);
-	gint *protocol = g_hash_table_lookup(upnp_port_mappings, &port);
+	gint protocol = GPOINTER_TO_INT(g_hash_table_lookup(upnp_port_mappings, GINT_TO_POINTER(port)));
 
 	if (protocol) {
-		purple_network_upnp_mapping_remove(&port, protocol, NULL);
+		purple_network_upnp_mapping_remove(GINT_TO_POINTER(port), GINT_TO_POINTER(protocol), NULL);
 	} else {
-		protocol = g_hash_table_lookup(nat_pmp_port_mappings, &port);
+		protocol = GPOINTER_TO_INT(g_hash_table_lookup(nat_pmp_port_mappings, GINT_TO_POINTER(port)));
 		if (protocol) {
-			purple_network_nat_pmp_mapping_remove(&port, protocol, NULL);
+			purple_network_nat_pmp_mapping_remove(GINT_TO_POINTER(port), GINT_TO_POINTER(protocol), NULL);
 		}
 	}
 }
@@ -1178,16 +1176,14 @@
 
 	purple_pmp_init();
 	purple_upnp_init();
-	
+
 	purple_network_set_stun_server(
 		purple_prefs_get_string("/purple/network/stun_server"));
 	purple_network_set_turn_server(
 		purple_prefs_get_string("/purple/network/turn_server"));
 
-	upnp_port_mappings = 
-		g_hash_table_new_full(g_int_hash, g_int_equal, g_free, g_free);
-	nat_pmp_port_mappings =
-		g_hash_table_new_full(g_int_hash, g_int_equal, g_free, g_free);
+	upnp_port_mappings = g_hash_table_new(g_direct_hash, g_direct_equal);
+	nat_pmp_port_mappings = g_hash_table_new(g_direct_hash, g_direct_equal);
 }
 
 
@@ -1231,13 +1227,13 @@
 #endif
 	purple_signal_unregister(purple_network_get_handle(),
 							 "network-configuration-changed");
-	
+
 	if (stun_ip)
 		g_free(stun_ip);
 
 	g_hash_table_destroy(upnp_port_mappings);
 	g_hash_table_destroy(nat_pmp_port_mappings);
 
-	/* TODO: clean up remaining port mappings, note calling 
+	/* TODO: clean up remaining port mappings, note calling
 	 purple_upnp_remove_port_mapping from here doesn't quite work... */
 }
--- a/libpurple/plugins/ssl/ssl-gnutls.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/plugins/ssl/ssl-gnutls.c	Sun Dec 05 03:10:05 2010 +0000
@@ -520,11 +520,18 @@
 /* Forward declarations are fun! */
 static PurpleCertificate *
 x509_import_from_datum(const gnutls_datum dt, gnutls_x509_crt_fmt mode);
+/* indeed! */
+static gboolean
+x509_certificate_signed_by(PurpleCertificate * crt,
+			   PurpleCertificate * issuer);
+static void
+x509_destroy_certificate(PurpleCertificate * crt);
 
 static GList *
 ssl_gnutls_get_peer_certificates(PurpleSslConnection * gsc)
 {
 	PurpleSslGnutlsData *gnutls_data = PURPLE_SSL_GNUTLS_DATA(gsc);
+	PurpleCertificate *prvcrt = NULL;
 
 	/* List of Certificate instances to return */
 	GList * peer_certs = NULL;
@@ -550,7 +557,17 @@
 		/* Append is somewhat inefficient on linked lists, but is easy
 		   to read. If someone complains, I'll change it.
 		   TODO: Is anyone complaining? (Maybe elb?) */
-		peer_certs = g_list_append(peer_certs, newcrt);
+		/* only append if previous cert was actually signed by this one.
+		 * Thanks Microsoft. */
+		if ((prvcrt == NULL) || x509_certificate_signed_by(prvcrt, newcrt)) {
+			peer_certs = g_list_append(peer_certs, newcrt);
+			prvcrt = newcrt;
+		} else {
+			x509_destroy_certificate(newcrt);
+			purple_debug_error("gnutls", "Dropping further peer certificates "
+			                             "because the chain is broken!\n");
+			break;
+		}
 	}
 
 	/* cert_list doesn't need free()-ing */
--- a/libpurple/protocols/gg/lib/dcc7.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/gg/lib/dcc7.c	Sun Dec 05 03:10:05 2010 +0000
@@ -731,6 +731,7 @@
 		e->event.dcc7_accept.remote_port = dcc->remote_port;
 	} else {
 		e->type = GG_EVENT_DCC7_PENDING;
+		e->event.dcc7_pending.dcc7 = dcc;
 	}
 
 	if (gg_dcc7_connect(sess, dcc) == -1) {
@@ -1004,6 +1005,7 @@
 
 				if (gg_dcc7_reverse_connect(dcc) != -1) {
 					e->type = GG_EVENT_DCC7_PENDING;
+					e->event.dcc7_pending.dcc7 = dcc;
 				} else {
 					e->type = GG_EVENT_DCC7_ERROR;
 					e->event.dcc_error = GG_ERROR_DCC7_NET;
--- a/libpurple/protocols/gg/lib/events.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/gg/lib/events.c	Sun Dec 05 03:10:05 2010 +0000
@@ -1149,6 +1149,7 @@
 
 			e->type = GG_EVENT_NOTIFY60;
 			e->event.notify60 = malloc(sizeof(*e->event.notify60));
+
 			if (!e->event.notify60) {
 				gg_debug_session(sess, GG_DEBUG_MISC, "// gg_watch_fd_connected() not enough memory for notify data\n");
 				goto fail;
@@ -1159,7 +1160,7 @@
 			while (length >= sizeof(struct gg_notify_reply80)) {
 				uint32_t descr_len;
 				char *tmp;
-				
+
 				e->event.notify60[i].uin	= gg_fix32(n->uin);
 				e->event.notify60[i].status	= gg_fix32(n->status);
 				e->event.notify60[i].remote_ip	= n->remote_ip;
@@ -1169,7 +1170,6 @@
 				e->event.notify60[i].version	= 0x00;	/* not-supported */
 				e->event.notify60[i].time	= 0;	/* not-supported */
 
-				
 				descr_len = gg_fix32(n->descr_len);
 
 				length -= sizeof(struct gg_notify_reply80);
--- a/libpurple/protocols/gg/lib/libgadu.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/gg/lib/libgadu.c	Sun Dec 05 03:10:05 2010 +0000
@@ -69,7 +69,7 @@
 #  include <openssl/rand.h>
 #endif
 
-#define GG_LIBGADU_VERSION "1.9.0-rc2"
+#define GG_LIBGADU_VERSION "1.9.0"
 
 /**
  * Poziom rejestracji informacji odpluskwiających. Zmienna jest maską bitową
@@ -180,7 +180,7 @@
 #ifdef __GNUC__
 __attribute__ ((unused))
 #endif
-= "$Id: libgadu.c 878 2009-11-16 23:48:19Z wojtekka $";
+= "$Id: libgadu.c 923 2010-03-09 20:03:29Z wojtekka $";
 #endif
 
 #endif /* DOXYGEN */
@@ -1316,41 +1316,65 @@
  * \internal Zamienia tekst z formatowaniem Gadu-Gadu na HTML.
  *
  * \param dst Bufor wynikowy (może być \c NULL)
- * \param utf_msg Tekst źródłowy
+ * \param src Tekst źródłowy w UTF-8
  * \param format Atrybuty tekstu źródłowego
  * \param format_len Długość bloku atrybutów tekstu źródłowego
  *
+ * \note Wynikowy tekst nie jest idealnym kodem HTML, ponieważ ma jak
+ * dokładniej odzwierciedlać to, co wygenerowałby oryginalny klient.
+ *
  * \note Dokleja \c \\0 na końcu bufora wynikowego.
  *
  * \return Długość tekstu wynikowego bez \c \\0 (nawet jeśli \c dst to \c NULL).
  */
-static int gg_convert_to_html(char *dst, const char *utf_msg, const unsigned char *format, int format_len)
+static int gg_convert_to_html(char *dst, const char *src, const unsigned char *format, int format_len)
 {
 	const char span_fmt[] = "<span style=\"color:#%02x%02x%02x; font-family:'MS Shell Dlg 2'; font-size:9pt; \">";
 	const int span_len = 75;
-	const char img_fmt[] = "<img src=\"%02x%02x%02x%02x%02x%02x%02x%02x\">";
-	const int img_len = 28;
+	const char img_fmt[] = "<img name=\"%02x%02x%02x%02x%02x%02x%02x%02x\">";
+	const int img_len = 29;
 	int char_pos = 0;
-	int format_idx = 3;
+	int format_idx = 0;
 	unsigned char old_attr = 0;
 	const unsigned char *color = (const unsigned char*) "\x00\x00\x00";
 	int len, i;
 
 	len = 0;
 
-	for (i = 0; utf_msg[i] != 0; i++) {
-		unsigned char attr;
-		int attr_pos;
+	/* Nie mamy atrybutów dla pierwsze znaku, a tekst nie jest pusty, więc
+	 * tak czy inaczej trzeba otworzyć <span>. */
+
+	if (src[0] != 0 && (format_idx + 3 > format_len || (format[format_idx] | (format[format_idx + 1] << 8)) != 0)) {
+		if (dst != NULL)
+			sprintf(&dst[len], span_fmt, 0, 0, 0);
+
+		len += span_len;
+	}
+
+	/* Pętla przechodzi też przez kończące \0, żeby móc dokleić obrazek
+	 * na końcu tekstu. */
 
-		if (format_idx + 3 <= format_len) {
+	for (i = 0; ; i++) {
+		/* Analizuj atrybuty tak długo jak dotyczą aktualnego znaku. */
+		for (;;) {
+			unsigned char attr;
+			int attr_pos;
+
+			if (format_idx + 3 > format_len)
+				break;
+
 			attr_pos = format[format_idx] | (format[format_idx + 1] << 8);
+
+			if (attr_pos != char_pos)
+				break;
+
 			attr = format[format_idx + 2];
-		} else {
-			attr_pos = -1;
-			attr = 0;
-		}
+
+			/* Nie doklejaj atrybutów na końcu, co najwyżej obrazki. */
 
-		if (attr_pos == char_pos) {
+			if (src[i] == 0)
+				attr &= ~(GG_FONT_BOLD | GG_FONT_ITALIC | GG_FONT_UNDERLINE | GG_FONT_COLOR);
+
 			format_idx += 3;
 
 			if ((attr & (GG_FONT_BOLD | GG_FONT_ITALIC | GG_FONT_UNDERLINE | GG_FONT_COLOR)) != 0) {
@@ -1377,7 +1401,7 @@
 				if (dst != NULL)
 					sprintf(&dst[len], span_fmt, color[0], color[1], color[2]);
 				len += span_len;
-			} else if (char_pos == 0) {
+			} else if (char_pos == 0 && src[0] != 0) {
 				if (dst != NULL)
 					sprintf(&dst[len], span_fmt, 0, 0, 0);
 				len += span_len;
@@ -1410,14 +1434,11 @@
 			}
 
 			old_attr = attr;
-		} else if (i == 0) {
-			if (dst != NULL)
-				sprintf(&dst[len], span_fmt, 0, 0, 0);
-
-			len += span_len;
 		}
 
-		switch (utf_msg[i]) {
+		/* Doklej znak zachowując htmlowe escapowanie. */
+
+		switch (src[i]) {
 			case '&':
 				gg_append(dst, &len, "&amp;", 5);
 				break;
@@ -1437,19 +1458,25 @@
 				gg_append(dst, &len, "<br>", 4);
 				break;
 			case '\r':
+			case 0:
 				break;
 			default:
 				if (dst != NULL)
-					dst[len] = utf_msg[i];
+					dst[len] = src[i];
 				len++;
 		}
 
 		/* Sprawdź, czy bajt nie jest kontynuacją znaku unikodowego. */
 
-		if ((utf_msg[i] & 0xc0) != 0xc0)
+		if ((src[i] & 0xc0) != 0xc0)
 			char_pos++;
+
+		if (src[i] == 0)
+			break;
 	}
 
+	/* Zamknij tagi. */
+
 	if ((old_attr & GG_FONT_UNDERLINE) != 0)
 		gg_append(dst, &len, "</u>", 4);
 
@@ -1459,16 +1486,8 @@
 	if ((old_attr & GG_FONT_BOLD) != 0)
 		gg_append(dst, &len, "</b>", 4);
 
-	/* Dla pustych tekstów dodaj pusty <span>. */
-
-	if (i == 0) {
-		if (dst != NULL)
-			sprintf(&dst[len], span_fmt, 0, 0, 0);
-
-		len += span_len;
-	}
-
-	gg_append(dst, &len, "</span>", 7);
+	if (src[0] != 0)
+		gg_append(dst, &len, "</span>", 7);
 
 	if (dst != NULL)
 		dst[len] = 0;
@@ -1564,7 +1583,7 @@
 			formatlen = 9;
 		}
 
-		len = gg_convert_to_html(NULL, utf_msg, format, formatlen);
+		len = gg_convert_to_html(NULL, utf_msg, format + 3, formatlen - 3);
 
 		html_msg = malloc(len + 1);
 
@@ -1573,7 +1592,7 @@
 			goto cleanup;
 		}
 
-		gg_convert_to_html(html_msg, utf_msg, format, formatlen);
+		gg_convert_to_html(html_msg, utf_msg, format + 3, formatlen - 3);
 
 		s80.seq = gg_fix32(seq_no);
 		s80.msgclass = gg_fix32(msgclass);
--- a/libpurple/protocols/gg/lib/libgadu.h	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/gg/lib/libgadu.h	Sun Dec 05 03:10:05 2010 +0000
@@ -865,6 +865,13 @@
 };
 
 /**
+ * Opis zdarzenia \c GG_EVENT_DCC7_PENDING.
+ */
+struct gg_event_dcc7_pending {
+	struct gg_dcc7 *dcc7;	/**< Struktura połączenia */
+};
+
+/**
  * Opis zdarzenia \c GG_EVENT_DCC7_REJECT.
  */
 struct gg_event_dcc7_reject {
@@ -908,6 +915,7 @@
 	struct gg_dcc7 *dcc7_new;	/**< Nowe połączenie bezpośrednie (\c GG_EVENT_DCC7_NEW) */
 	enum gg_error_t dcc7_error;	/**< Błąd połączenia bezpośredniego (\c GG_EVENT_DCC7_ERROR) */
 	struct gg_event_dcc7_connected dcc7_connected;	/**< Informacja o zestawieniu połączenia bezpośredniego (\c GG_EVENT_DCC7_CONNECTED) */
+	struct gg_event_dcc7_pending dcc7_pending;	/**< Trwa próba połączenia bezpośredniego (\c GG_EVENT_DCC7_PENDING) */
 	struct gg_event_dcc7_reject dcc7_reject;	/**< Odrzucono połączenia bezpośredniego (\c GG_EVENT_DCC7_REJECT) */
 	struct gg_event_dcc7_accept dcc7_accept;	/**< Zaakceptowano połączenie bezpośrednie (\c GG_EVENT_DCC7_ACCEPT) */
 };
--- a/libpurple/protocols/jabber/jabber.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/jabber/jabber.c	Sun Dec 05 03:10:05 2010 +0000
@@ -477,7 +477,7 @@
 		char *text = NULL, *last_part = NULL, *tag_start = NULL;
 
 		/* Because debug logs with plaintext passwords make me sad */
-		if(js->state != JABBER_STREAM_CONNECTED &&
+		if (!purple_debug_is_unsafe() && js->state != JABBER_STREAM_CONNECTED &&
 				/* Either <auth> or <query><password>... */
 				(((tag_start = strstr(data, "<auth ")) &&
 					strstr(data, "xmlns='" NS_XMPP_SASL "'")) ||
--- a/libpurple/protocols/msn/cmdproc.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/cmdproc.c	Sun Dec 05 03:10:05 2010 +0000
@@ -122,7 +122,7 @@
 	servconn = cmdproc->servconn;
 
 	if (!servconn->connected) {
-		/* TODO: Need to free trans */
+		msn_transaction_destroy(trans);
 		return;
 	}
 
@@ -156,6 +156,8 @@
 
 	msn_servconn_write(servconn, data, len);
 
+	if (!trans->saveable)
+		msn_transaction_destroy(trans);
 	g_free(data);
 }
 
--- a/libpurple/protocols/msn/contact.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/contact.c	Sun Dec 05 03:10:05 2010 +0000
@@ -41,7 +41,8 @@
 	"ContactSave",
 	"MessengerPendingList",
 	"ContactMsgrAPI",
-	"BlockUnblock"
+	"BlockUnblock",
+	"Timer"
 };
 
 const char *MsnMemberRole[] =
@@ -189,6 +190,8 @@
 		strcat(buf, "Renaming Group,");
 	if (action & MSN_UPDATE_INFO)
 		strcat(buf, "Updating Contact Info,");
+	if (action & MSN_ANNOTATE_USER)
+		strcat(buf, "Annotating Contact,");
 
 	return buf;
 }
@@ -709,8 +712,9 @@
 		uid = xmlnode_get_data(contactId);
 		type = xmlnode_get_data(contactType);
 
-		/*setup the Display Name*/
+		/* Find out our settings */
 		if (type && !strcmp(type, "Me")) {
+			/* setup the Display Name */
 			if (purple_connection_get_display_name(pc) == NULL) {
 				char *friendly = NULL;
 				if ((displayName = xmlnode_get_child(contactInfo, "displayName")))
@@ -719,6 +723,23 @@
 					friendly ? purple_url_decode(friendly) : NULL);
 				g_free(friendly);
 			}
+
+			for (annotation = xmlnode_get_child(contactInfo, "annotations/Annotation");
+			     annotation;
+			     annotation = xmlnode_get_next_twin(annotation)) {
+				char *name, *value;
+				name = xmlnode_get_data(xmlnode_get_child(annotation, "Name"));
+				value = xmlnode_get_data(xmlnode_get_child(annotation, "Value"));
+				if (!strcmp(name, "MSN.IM.MPOP")) {
+					if (!value || atoi(value) != 0)
+						purple_account_set_bool(session->account, "mpop", TRUE);
+					else
+						purple_account_set_bool(session->account, "mpop", FALSE);
+				}
+				g_free(name);
+				g_free(value);
+			}
+
 			continue; /* Not adding own account as buddy to buddylist */
 		}
 
@@ -1497,6 +1518,100 @@
 	xmlnode_insert_child(contact, contact_info);
 	xmlnode_insert_child(contact, changes);
 
+	xmlnode_insert_data(xmlnode_get_child(state->body,
+	                                      "Header/ABApplicationHeader/PartnerScenario"),
+	                    MsnSoapPartnerScenarioText[MSN_PS_SAVE_CONTACT], -1);
+
+	if (user) {
+		xmlnode *contactId = xmlnode_new_child(contact, "contactId");
+		msn_callback_state_set_uid(state, user->uid);
+		xmlnode_insert_data(contactId, state->uid, -1);
+	} else {
+		xmlnode *contactType = xmlnode_new_child(contact_info, "contactType");
+		xmlnode_insert_data(contactType, "Me", -1);
+	}
+
+	msn_contact_request(state);
+}
+
+static void
+msn_annotate_contact_read_cb(MsnSoapMessage *req, MsnSoapMessage *resp,
+	gpointer data)
+{
+	MsnCallbackState *state = (MsnCallbackState *)data;
+	xmlnode *fault;
+
+	/* We don't know how to respond to this faultcode, so log it */
+	fault = xmlnode_get_child(resp->xml, "Body/Fault");
+	if (fault != NULL) {
+		char *fault_str = xmlnode_to_str(fault, NULL);
+		purple_debug_error("msn", "Operation {%s} Failed, SOAP Fault was: %s\n",
+		                   msn_contact_operation_str(state->action), fault_str);
+		g_free(fault_str);
+		return;
+	}
+
+	purple_debug_info("msn", "Contact annotated successfully\n");
+}
+
+/* Update a contact's annotations */
+void
+msn_annotate_contact(MsnSession *session, const char *passport, ...)
+{
+	va_list params;
+	MsnCallbackState *state;
+	xmlnode *contact;
+	xmlnode *contact_info;
+	xmlnode *annotations;
+	MsnUser *user = NULL;
+
+	g_return_if_fail(passport != NULL);
+
+	if (strcmp(passport, "Me") != 0) {
+		user = msn_userlist_find_user(session->userlist, passport);
+		if (!user)
+			return;
+	}
+
+	contact_info = xmlnode_new("contactInfo");
+	annotations = xmlnode_new_child(contact_info, "annotations");
+
+	va_start(params, passport);
+	while (TRUE) {
+		const char *name;
+		const char *value;
+		xmlnode *a, *n, *v;
+
+		name = va_arg(params, const char *);
+		if (!name)
+			break;
+
+		value = va_arg(params, const char *);
+		if (!value)
+			break;
+
+		a = xmlnode_new_child(annotations, "Annotation");
+		n = xmlnode_new_child(a, "Name");
+		xmlnode_insert_data(n, name, -1);
+		v = xmlnode_new_child(a, "Value");
+		xmlnode_insert_data(v, value, -1);
+	}
+	va_end(params);
+
+	state = msn_callback_state_new(session);
+
+	state->body = xmlnode_from_str(MSN_CONTACT_ANNOTATE_TEMPLATE, -1);
+	state->action = MSN_ANNOTATE_USER;
+	state->post_action = MSN_CONTACT_ANNOTATE_SOAP_ACTION;
+	state->post_url = MSN_ADDRESS_BOOK_POST_URL;
+	state->cb = msn_annotate_contact_read_cb;
+
+	xmlnode_insert_data(xmlnode_get_child(state->body,
+	                                      "Header/ABApplicationHeader/PartnerScenario"),
+	                    MsnSoapPartnerScenarioText[MSN_PS_SAVE_CONTACT], -1);
+
+	contact = xmlnode_get_child(state->body, "Body/ABContactUpdate/contacts/Contact");
+
 	if (user) {
 		xmlnode *contactId = xmlnode_new_child(contact, "contactId");
 		msn_callback_state_set_uid(state, user->uid);
--- a/libpurple/protocols/msn/contact.h	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/contact.h	Sun Dec 05 03:10:05 2010 +0000
@@ -36,7 +36,8 @@
 	MSN_ADD_GROUP       = 0x10,
 	MSN_DEL_GROUP       = 0x20,
 	MSN_RENAME_GROUP    = 0x40,
-	MSN_UPDATE_INFO     = 0x80
+	MSN_UPDATE_INFO     = 0x80,
+	MSN_ANNOTATE_USER   = 0x100
 } MsnCallbackAction;
 
 typedef enum
@@ -52,7 +53,8 @@
 	MSN_PS_SAVE_CONTACT,
 	MSN_PS_PENDING_LIST,
 	MSN_PS_CONTACT_API,
-	MSN_PS_BLOCK_UNBLOCK
+	MSN_PS_BLOCK_UNBLOCK,
+	MSN_PS_TIMER
 } MsnSoapPartnerScenario;
 
 #include "session.h"
@@ -408,7 +410,7 @@
 		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
 			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
 			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>Timer</PartnerScenario>"\
+			"<PartnerScenario></PartnerScenario>"\
 		"</ABApplicationHeader>"\
 		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
 			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
@@ -427,6 +429,37 @@
 	"</soap:Body>"\
 "</soap:Envelope>"
 
+/* Update Contact Annotations */
+#define MSN_CONTACT_ANNOTATE_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABContactUpdate"
+#define MSN_CONTACT_ANNOTATE_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
+"<soap:Envelope"\
+	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
+	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
+	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
+	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
+	"<soap:Header>"\
+		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
+			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
+			"<IsMigration>false</IsMigration>"\
+			"<PartnerScenario></PartnerScenario>"\
+		"</ABApplicationHeader>"\
+		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
+			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
+			"<TicketToken>EMPTY</TicketToken>"\
+		"</ABAuthHeader>"\
+	"</soap:Header>"\
+	"<soap:Body>"\
+		"<ABContactUpdate xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
+			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
+			"<contacts>"\
+				"<Contact xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
+					"<propertiesChanged>Annotation</propertiesChanged>"\
+				"</Contact>"\
+			"</contacts>"\
+		"</ABContactUpdate>"\
+	"</soap:Body>"\
+"</soap:Envelope>"
+
 /*******************************************************
  * Add/Delete contact from lists SOAP actions
  *******************************************************/
@@ -686,6 +719,8 @@
 /* contact SOAP operations */
 void msn_update_contact(MsnSession *session, const char *passport, MsnContactUpdateType type, const char* value);
 
+void msn_annotate_contact(MsnSession *session, const char *passport, ...) G_GNUC_NULL_TERMINATED;
+
 void msn_add_contact(MsnSession *session, MsnCallbackState *state,
 		     const char *passport);
 void msn_delete_contact(MsnSession *session, MsnUser *user);
--- a/libpurple/protocols/msn/directconn.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/directconn.c	Sun Dec 05 03:10:05 2010 +0000
@@ -630,8 +630,11 @@
 
 	case DC_STATE_ESTABLISHED:
 
-		part = msn_slpmsgpart_new_from_data(dc->in_buffer + 4, dc->header.length);
-		msn_slplink_process_msg(dc->slplink, part);
+		if (dc->header.length) {
+			part = msn_slpmsgpart_new_from_data(dc->in_buffer + 4, dc->header.length);
+			msn_slplink_process_msg(dc->slplink, part);
+			msn_slpmsgpart_destroy(part);
+		}
 
 		/*
 		if (dc->num_calls == 0) {
--- a/libpurple/protocols/msn/httpconn.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/httpconn.c	Sun Dec 05 03:10:05 2010 +0000
@@ -1,5 +1,5 @@
 /**
- * @file httpmethod.c HTTP connection method
+ * @file httpconn.c HTTP connection method
  *
  * purple
  *
--- a/libpurple/protocols/msn/msg.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/msg.c	Sun Dec 05 03:10:05 2010 +0000
@@ -50,18 +50,16 @@
 	return msg;
 }
 
-void
+/**
+ * Destroys a message.
+ *
+ * @param msg The message to destroy.
+ */
+static void
 msn_message_destroy(MsnMessage *msg)
 {
 	g_return_if_fail(msg != NULL);
 
-	if (msg->ref_count > 0)
-	{
-		msn_message_unref(msg);
-
-		return;
-	}
-
 	if (purple_debug_is_verbose())
 		purple_debug_info("msn", "message destroy (%p)\n", msg);
 
@@ -90,11 +88,11 @@
 	return msg;
 }
 
-MsnMessage *
+void
 msn_message_unref(MsnMessage *msg)
 {
-	g_return_val_if_fail(msg != NULL, NULL);
-	g_return_val_if_fail(msg->ref_count > 0, NULL);
+	g_return_if_fail(msg != NULL);
+	g_return_if_fail(msg->ref_count > 0);
 
 	msg->ref_count--;
 
@@ -102,13 +100,7 @@
 		purple_debug_info("msn", "message unref (%p)[%" G_GSIZE_FORMAT "]\n", msg, msg->ref_count);
 
 	if (msg->ref_count == 0)
-	{
 		msn_message_destroy(msg);
-
-		return NULL;
-	}
-
-	return msg;
 }
 
 MsnMessage *
@@ -368,6 +360,8 @@
 
 		memcpy(n, body, siz);
 		n += siz;
+
+		g_free(body);
 	}
 	else
 	{
@@ -1222,7 +1216,7 @@
 			g_free(text);
 
 			msn_switchboard_send_msg(swboard, cancel, TRUE);
-			msn_message_destroy(cancel);
+			msn_message_unref(cancel);
 		}
 
 	} else if (!strcmp(command, "CANCEL")) {
--- a/libpurple/protocols/msn/msg.h	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/msg.h	Sun Dec 05 03:10:05 2010 +0000
@@ -171,13 +171,6 @@
 						  const char *line_dem,const char *body_dem);
 
 /**
- * Destroys a message.
- *
- * @param msg The message to destroy.
- */
-void msn_message_destroy(MsnMessage *msg);
-
-/**
  * Increments the reference count on a message.
  *
  * @param msg The message.
@@ -195,7 +188,7 @@
  *
  * @return @a msg, or @c NULL if the new count is 0.
  */
-MsnMessage *msn_message_unref(MsnMessage *msg);
+void msn_message_unref(MsnMessage *msg);
 
 /**
  * Generates the payload data of a message.
--- a/libpurple/protocols/msn/msn.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/msn.c	Sun Dec 05 03:10:05 2010 +0000
@@ -132,7 +132,7 @@
 	swboard = msn_session_get_swboard(session, username, MSN_SB_FLAG_IM);
 
 	msn_switchboard_send_msg(swboard, msg, TRUE);
-	msn_message_destroy(msg);
+	msn_message_unref(msg);
 
 	return TRUE;
 }
@@ -250,41 +250,33 @@
 	MsnSession *session;
 	MsnTransaction *trans;
 	PurpleAccount *account;
-	const char *real_alias;
+	char real_alias[BUDDY_ALIAS_MAXLEN + 1];
 	struct public_alias_closure *closure;
 
 	session = purple_connection_get_protocol_data(pc);
 	cmdproc = session->notification->cmdproc;
 	account = purple_connection_get_account(pc);
 
-	if (alias && *alias)
-	{
-		char *tmp = g_strdup(alias);
-		real_alias = purple_url_encode(g_strstrip(tmp));
-		g_free(tmp);
-	}
-	else
-		real_alias = "";
-
-	if (strlen(real_alias) > BUDDY_ALIAS_MAXLEN)
-	{
-		if (failure_cb) {
-			struct public_alias_closure *closure =
-				g_new0(struct public_alias_closure, 1);
-			closure->account = account;
-			closure->failure_cb = failure_cb;
-			purple_timeout_add(0, set_public_alias_length_error, closure);
-		} else {
-			purple_notify_error(pc, NULL,
-			                    _("Your new MSN friendly name is too long."),
-			                    NULL);
+	if (alias && *alias) {
+		if (!msn_encode_spaces(alias, real_alias, BUDDY_ALIAS_MAXLEN + 1)) {
+			if (failure_cb) {
+				struct public_alias_closure *closure =
+					g_new0(struct public_alias_closure, 1);
+				closure->account = account;
+				closure->failure_cb = failure_cb;
+				purple_timeout_add(0, set_public_alias_length_error, closure);
+			} else {
+				purple_notify_error(pc, NULL,
+				                    _("Your new MSN friendly name is too long."),
+				                    NULL);
+			}
+			return;
 		}
-		return;
-	}
-
-	if (*real_alias == '\0') {
-		real_alias = purple_url_encode(purple_account_get_username(account));
-	}
+
+		if (real_alias[0] == '\0')
+			strcpy(real_alias, purple_account_get_username(account));
+	} else
+		strcpy(real_alias, purple_account_get_username(account));
 
 	closure = g_new0(struct public_alias_closure, 1);
 	closure->account = account;
@@ -528,6 +520,7 @@
 	PurpleRequestFields *fields;
 	PurpleRequestFieldGroup *group;
 	PurpleRequestField *field;
+	gboolean have_other_endpoints;
 	GSList *l;
 	MsnLocationData *data;
 
@@ -550,19 +543,37 @@
 
 	group = purple_request_field_group_new(_("Other Locations"));
 	purple_request_fields_add_group(fields, group);
-	field = purple_request_field_label_new("others-label", _("You can sign out from other locations here"));
-	purple_request_field_group_add_field(group, field);
-
+
+	have_other_endpoints = FALSE;
 	for (l = session->user->endpoints; l; l = l->next) {
 		MsnUserEndpoint *ep = l->data;
 
-		if (g_str_equal(ep->id, session->guid))
+		if (ep->id[0] != '\0' && strncasecmp(ep->id + 1, session->guid, 36) == 0)
 			/* Don't add myself to the list */
 			continue;
 
+		if (!have_other_endpoints) {
+			/* We do in fact have an endpoint other than ourselves... let's
+			   add a label */
+			field = purple_request_field_label_new("others-label",
+					_("You can sign out from other locations here"));
+			purple_request_field_group_add_field(group, field);
+		}
+
+		have_other_endpoints = TRUE;
 		field = purple_request_field_bool_new(ep->id, ep->name, FALSE);
 		purple_request_field_group_add_field(group, field);
 	}
+	if (!have_other_endpoints) {
+		/* TODO: Due to limitations in our current request field API, the
+		   following string will show up with a trailing colon.  This should
+		   be fixed either by adding an "include_colon" boolean, or creating
+		   a separate purple_request_field_label_new_without_colon function,
+		   or by never automatically adding the colon and requiring that
+		   callers add the colon themselves. */
+		field = purple_request_field_label_new("others-label", _("You are not signed in from any other locations."));
+		purple_request_field_group_add_field(group, field);
+	}
 
 	data = g_new0(MsnLocationData, 1);
 	data->account = account;
@@ -1149,18 +1160,27 @@
 static GList *
 msn_actions(PurplePlugin *plugin, gpointer context)
 {
+	PurpleConnection *gc;
+	MsnSession *session;
 	GList *m = NULL;
 	PurplePluginAction *act;
 
+	gc = (PurpleConnection *) context;
+	session = gc->proto_data;
+
 	act = purple_plugin_action_new(_("Set Friendly Name..."),
 								 msn_show_set_friendly_name);
 	m = g_list_append(m, act);
 	m = g_list_append(m, NULL);
 
-	act = purple_plugin_action_new(_("View Locations..."),
-	                               msn_show_locations);
-	m = g_list_append(m, act);
-	m = g_list_append(m, NULL);
+	if (purple_account_get_bool(session->account, "mpop", TRUE)
+	 && session->protocol_ver >= 16)
+	{
+		act = purple_plugin_action_new(_("View Locations..."),
+		                               msn_show_locations);
+		m = g_list_append(m, act);
+		m = g_list_append(m, NULL);
+	}
 
 	act = purple_plugin_action_new(_("Set Home Phone Number..."),
 								 msn_show_set_home_phone);
@@ -1374,7 +1394,7 @@
 	msn_message_set_bin_data(msg, body->str, body->len);
 
 	msn_switchboard_send_msg(swboard, msg, TRUE);
-	msn_message_destroy(msg);
+	msn_message_unref(msg);
 }
 
 static void msn_emoticon_destroy(MsnEmoticon *emoticon)
@@ -1563,7 +1583,7 @@
 			purple_timeout_add(0, msn_send_me_im, imdata);
 		}
 
-		msn_message_destroy(msg);
+		msn_message_unref(msg);
 	} else {
 		/*send Offline Instant Message,only to MSN Passport User*/
 		char *friendname;
@@ -1627,7 +1647,7 @@
 
 	msn_switchboard_send_msg(swboard, msg, FALSE);
 
-	msn_message_destroy(msg);
+	msn_message_unref(msg);
 
 	return MSN_TYPING_SEND_TIMEOUT;
 }
@@ -2053,7 +2073,7 @@
 	}
 
 	msn_switchboard_send_msg(swboard, msg, FALSE);
-	msn_message_destroy(msg);
+	msn_message_unref(msg);
 
 	g_free(msgformat);
 	g_free(msgtext);
@@ -3038,6 +3058,11 @@
 	prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
 											   option);
 
+	option = purple_account_option_bool_new(_("Allow connecting from multiple locations"),
+										  "mpop", TRUE);
+	prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
+											   option);
+
 	purple_cmd_register("nudge", "", PURPLE_CMD_P_PRPL,
 	                  PURPLE_CMD_FLAG_IM | PURPLE_CMD_FLAG_PRPL_ONLY,
 	                 "prpl-msn", msn_cmd_nudge,
--- a/libpurple/protocols/msn/msnutils.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/msnutils.c	Sun Dec 05 03:10:05 2010 +0000
@@ -182,29 +182,40 @@
  * We need this because we're only supposed to encode spaces in the font
  * names. purple_url_encode() isn't acceptable.
  */
-static const char *
-encode_spaces(const char *str)
+gboolean
+msn_encode_spaces(const char *str, char *buf, size_t len)
 {
-	static char buf[BUF_LEN];
-	const char *c;
-	char *d;
+	char *nonspace = buf;
 
-	g_return_val_if_fail(str != NULL, NULL);
+	while (isspace(*str))
+		str++;
 
-	for (c = str, d = buf; *c != '\0'; c++)
-	{
-		if (*c == ' ')
-		{
-			*d++ = '%';
-			*d++ = '2';
-			*d++ = '0';
+	for (; *str && len > 1; str++) {
+		if (*str == '%') {
+			if (len < 4)
+				break;
+			*buf++ = '%';
+			*buf++ = '2';
+			*buf++ = '5';
+			len -= 3;
+			nonspace = buf;
+		} else if (*str == ' ') {
+			if (len < 4)
+				break;
+			*buf++ = '%';
+			*buf++ = '2';
+			*buf++ = '0';
+			len -= 3;
+		} else {
+			*buf++ = *str;
+			len--;
+			nonspace = buf;
 		}
-		else
-			*d++ = *c;
 	}
-	*d = '\0';
 
-	return buf;
+	*nonspace = '\0';
+
+	return (*str == '\0');
 }
 
 /*
@@ -223,6 +234,7 @@
 	const char *c;
 	char *msg;
 	char *fontface = NULL;
+	char fontface_encoded[BUF_LEN];
 	char fonteffect[5];
 	char fontcolor[7];
 	char direction = '0';
@@ -449,8 +461,9 @@
 	if (fontface == NULL)
 		fontface = g_strdup("Segoe UI");
 
+	msn_encode_spaces(fontface, fontface_encoded, BUF_LEN);
 	*attributes = g_strdup_printf("FN=%s; EF=%s; CO=%s; PF=0; RL=%c",
-								  encode_spaces(fontface),
+								  fontface_encoded,
 								  fonteffect, fontcolor, direction);
 	*message = msg;
 
--- a/libpurple/protocols/msn/msnutils.h	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/msnutils.h	Sun Dec 05 03:10:05 2010 +0000
@@ -33,6 +33,18 @@
 char *rand_guid(void);
 
 /**
+ * Encodes the spaces in a string
+ *
+ * @param str The string to be encoded.
+ * @param buf The buffer to hold the encoded string.
+ * @param len The maximum length (including NUL) to put in @buf.
+ *
+ * @return Whether @str was able to fit in @buf.
+ */
+gboolean
+msn_encode_spaces(const char *str, char *buf, size_t len);
+
+/**
  * Parses the MSN message formatting into a format compatible with Purple.
  *
  * @param mime     The mime header with the formatting.
--- a/libpurple/protocols/msn/notification.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/notification.c	Sun Dec 05 03:10:05 2010 +0000
@@ -331,7 +331,7 @@
 
 	msn_cmdproc_process_msg(cmdproc, msg);
 
-	msn_message_destroy(msg);
+	msn_message_unref(msg);
 }
 
 static void
@@ -387,7 +387,10 @@
 	 * command and we are processing it */
 	if (cmd->payload == NULL) {
 		cmdproc->last_cmd->payload_cb = msg_cmd_post;
-		cmd->payload_len = atoi(cmd->params[3]);
+		if (cmdproc->session->protocol_ver >= 16)
+			cmd->payload_len = atoi(cmd->params[5]);
+		else
+			cmd->payload_len = atoi(cmd->params[3]);
 	} else {
 		g_return_if_fail(cmd->payload_cb != NULL);
 
@@ -1209,7 +1212,7 @@
 
 					g_free(body_str);
 					g_free(body_enc);
-					msn_message_destroy(msg);
+					msn_message_unref(msg);
 					trans->data = NULL;
 				}
 			}
@@ -1548,40 +1551,55 @@
 static void
 parse_user_endpoints(MsnUser *user, xmlnode *payloadNode)
 {
+	MsnSession *session;
 	xmlnode *epNode, *capsNode;
 	MsnUserEndpoint data;
 	const char *id;
 	char *caps, *tmp;
+	gboolean is_me;
 
 	purple_debug_info("msn", "Get EndpointData\n");
 
+	session = user->userlist->session;
+	is_me = (user == session->user);
+
+	msn_user_clear_endpoints(user);
 	for (epNode = xmlnode_get_child(payloadNode, "EndpointData");
 	     epNode;
 	     epNode = xmlnode_get_next_twin(epNode)) {
 		id = xmlnode_get_attrib(epNode, "id");
 		capsNode = xmlnode_get_child(epNode, "Capabilities");
 
-		if (capsNode != NULL) {
-			caps = xmlnode_get_data(capsNode);
-
-			data.clientid = strtoul(caps, &tmp, 10);
-			if (tmp && *tmp)
-				data.extcaps = strtoul(tmp + 1, NULL, 10);
-			else
+		/* Disconnect others, if MPOP is disabled */
+		if (is_me
+		 && !purple_account_get_bool(session->account, "mpop", TRUE)
+		 && strncasecmp(id + 1, session->guid, 36) != 0) {
+			purple_debug_info("msn", "Disconnecting Endpoint %s\n", id);
+
+			tmp = g_strdup_printf("%s;%s", user->passport, id);
+			msn_notification_send_uun(session, tmp, MSN_UNIFIED_NOTIFICATION_MPOP, "goawyplzthxbye");
+			g_free(tmp);
+		} else {
+			if (capsNode != NULL) {
+				caps = xmlnode_get_data(capsNode);
+
+				data.clientid = strtoul(caps, &tmp, 10);
+				if (tmp && *tmp)
+					data.extcaps = strtoul(tmp + 1, NULL, 10);
+				else
+					data.extcaps = 0;
+
+				g_free(caps);
+			} else {
+				data.clientid = 0;
 				data.extcaps = 0;
-
-			g_free(caps);
-
-		} else {
-			data.clientid = 0;
-			data.extcaps = 0;
+			}
+
+			msn_user_set_endpoint_data(user, id, &data);
 		}
-
-		msn_user_set_endpoint_data(user, id, &data);
 	}
 
-	/* Need to shortcut this check, probably... */
-	if (user == user->userlist->session->user) {
+	if (is_me && purple_account_get_bool(session->account, "mpop", TRUE)) {
 		for (epNode = xmlnode_get_child(payloadNode, "PrivateEndpointData");
 		     epNode;
 		     epNode = xmlnode_get_next_twin(epNode)) {
@@ -1939,12 +1957,6 @@
 		/* This isn't an official message. */
 		return;
 
-	if ((value = msn_message_get_header_value(msg, "kv")) != NULL)
-	{
-		g_free(session->passport_info.kv);
-		session->passport_info.kv = g_strdup(value);
-	}
-
 	if ((value = msn_message_get_header_value(msg, "sid")) != NULL)
 	{
 		g_free(session->passport_info.sid);
--- a/libpurple/protocols/msn/object.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/object.c	Sun Dec 05 03:10:05 2010 +0000
@@ -202,6 +202,8 @@
 	g_free(obj->friendly);
 	g_free(obj->sha1d);
 	g_free(obj->sha1c);
+	g_free(obj->url);
+	g_free(obj->url1);
 
 	purple_imgstore_unref(obj->img);
 
--- a/libpurple/protocols/msn/oim.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/oim.c	Sun Dec 05 03:10:05 2010 +0000
@@ -641,10 +641,10 @@
 			type = msn_message_get_content_type(multipart);
 			if (type && !strcmp(type, "text/plain")) {
 				decode_msg = (char *)purple_base64_decode(multipart->body, &body_len);
-				msn_message_destroy(multipart);
+				msn_message_unref(multipart);
 				break;
 			}
-			msn_message_destroy(multipart);
+			msn_message_unref(multipart);
 		}
 
 		g_strfreev(tokens);
@@ -652,7 +652,7 @@
 
 		if (decode_msg == NULL) {
 			purple_debug_error("msn", "Couldn't find text/plain OIM message.\n");
-			msn_message_destroy(message);
+			msn_message_unref(message);
 			return;
 		}
 	} else {
@@ -708,7 +708,7 @@
 
 	g_free(passport);
 	g_free(decode_msg);
-	msn_message_destroy(message);
+	msn_message_unref(message);
 }
 
 /* Parse the XML data,
--- a/libpurple/protocols/msn/p2p.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/p2p.c	Sun Dec 05 03:10:05 2010 +0000
@@ -1,3 +1,27 @@
+/**
+ * @file p2p.c MSN P2P functions
+ *
+ * purple
+ *
+ * Purple is the legal property of its developers, whose names are too numerous
+ * to list here.  Please refer to the COPYRIGHT file distributed with this
+ * source distribution.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
+ */
+
 #include "internal.h"
 
 #include "p2p.h"
@@ -71,6 +95,6 @@
 msn_p2p_msg_is_data(const MsnP2PHeaderFlag flags)
 {
 	return (flags == P2P_MSN_OBJ_DATA ||
-	        flags == (P2P_WML2009_COMP | P2P_MSN_OBJ_DATA) ||
+	        flags == (P2P_WLM2009_COMP | P2P_MSN_OBJ_DATA) ||
 	        flags == P2P_FILE_DATA);
 }
--- a/libpurple/protocols/msn/p2p.h	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/p2p.h	Sun Dec 05 03:10:05 2010 +0000
@@ -1,3 +1,27 @@
+/**
+ * @file p2p.h MSN P2P functions
+ *
+ * purple
+ *
+ * Purple is the legal property of its developers, whose names are too numerous
+ * to list here.  Please refer to the COPYRIGHT file distributed with this
+ * source distribution.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
+ */
+
 #ifndef MSN_P2P_H
 #define MSN_P2P_H
 
@@ -49,7 +73,7 @@
 	P2P_CLOSE           = 0x40,       /**< Close session */
 	P2P_TLP_ERROR       = 0x80,       /**< Error at transport layer protocol */
 	P2P_DC_HANDSHAKE    = 0x100,      /**< Direct Handshake */
-	P2P_WML2009_COMP    = 0x1000000,  /**< Compatibility with WLM 2009 */
+	P2P_WLM2009_COMP    = 0x1000000,  /**< Compatibility with WLM 2009 */
 	P2P_FILE_DATA       = 0x1000030   /**< File transfer data */
 } MsnP2PHeaderFlag;
 /* Info From:
--- a/libpurple/protocols/msn/sbconn.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/sbconn.c	Sun Dec 05 03:10:05 2010 +0000
@@ -1,3 +1,27 @@
+/**
+ * @file sbconn.c MSN Switchboard Connection
+ *
+ * purple
+ *
+ * Purple is the legal property of its developers, whose names are too numerous
+ * to list here.  Please refer to the COPYRIGHT file distributed with this
+ * source distribution.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
+ */
+
 #include "internal.h"
 #include "debug.h"
 
@@ -16,10 +40,10 @@
 	passport = purple_normalize(slplink->session->account, slplink->remote_user);
 	msn_message_set_header(msg, "P2P-Dest", passport);
 
+	msg->part = msn_slpmsgpart_ref(part);
 	data = msn_slpmsgpart_serialize(part, &size);
-	msg->part = msn_slpmsgpart_ref(part);
-
 	msn_message_set_bin_data(msg, data, size);
+	g_free(data);
 
 	if (slplink->swboard == NULL)
 	{
@@ -33,6 +57,7 @@
 	}
 
 	msn_switchboard_send_msg(slplink->swboard, msg, TRUE);
+	msn_message_unref(msg);
 }
 
 /** Called when a message times out. */
--- a/libpurple/protocols/msn/sbconn.h	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/sbconn.h	Sun Dec 05 03:10:05 2010 +0000
@@ -1,3 +1,27 @@
+/**
+ * @file sbconn.h MSN Switchboard Connection
+ *
+ * purple
+ *
+ * Purple is the legal property of its developers, whose names are too numerous
+ * to list here.  Please refer to the COPYRIGHT file distributed with this
+ * source distribution.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
+ */
+
 #ifndef MSN_SBCONN_H
 #define MSN_SBCONN_H
 
--- a/libpurple/protocols/msn/session.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/session.c	Sun Dec 05 03:10:05 2010 +0000
@@ -103,7 +103,6 @@
 	g_free(session->blocked_text);
 #endif
 
-	g_free(session->passport_info.kv);
 	g_free(session->passport_info.sid);
 	g_free(session->passport_info.mspauth);
 	g_free(session->passport_info.client_ip);
--- a/libpurple/protocols/msn/session.h	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/session.h	Sun Dec 05 03:10:05 2010 +0000
@@ -79,12 +79,12 @@
 
 	MsnLoginStep login_step; /**< The current step in the login process. */
 
-	gboolean connected;
-	gboolean logged_in; /**< A temporal flag to ignore local buddy list adds. */
+	gboolean connected:1;
+	gboolean logged_in:1; /**< A temporal flag to ignore local buddy list adds. */
+	gboolean destroying:1; /**< A flag that states if the session is being destroyed. */
+	gboolean http_method:1;
 	int      adl_fqy; /**< A count of ADL/FQY so status is only changed once. */
 	guint    login_timeout; /**< Timeout to force status change if ADL/FQY fail. */
-	gboolean destroying; /**< A flag that states if the session is being destroyed. */
-	gboolean http_method;
 
 	MsnNotification *notification;
 	MsnNexus        *nexus;
@@ -105,7 +105,6 @@
 
 	struct
 	{
-		char *kv;
 		char *sid;
 		char *mspauth;
 		unsigned long sl;
--- a/libpurple/protocols/msn/slpcall.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/slpcall.c	Sun Dec 05 03:10:05 2010 +0000
@@ -826,6 +826,7 @@
 
 		/* Try direct file transfer by sending a second INVITE */
 		dc = msn_dc_new(slpcall);
+		g_free(slpcall->branch);
 		slpcall->branch = rand_guid();
 
 		dc->listen_data = purple_network_listen_range(
@@ -1060,7 +1061,7 @@
 	body = slpmsg->buffer;
 	body_len = slpmsg->header->offset;
 
-	if (slpmsg->header->flags == P2P_NO_FLAG || slpmsg->header->flags == P2P_WML2009_COMP)
+	if (slpmsg->header->flags == P2P_NO_FLAG || slpmsg->header->flags == P2P_WLM2009_COMP)
 	{
 		char *body_str;
 
--- a/libpurple/protocols/msn/slplink.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/slplink.c	Sun Dec 05 03:10:05 2010 +0000
@@ -518,7 +518,7 @@
 			msn_directconn_send_handshake(directconn);
 #endif
 	}
-	else if (slpmsg->header->flags == P2P_NO_FLAG || slpmsg->header->flags == P2P_WML2009_COMP ||
+	else if (slpmsg->header->flags == P2P_NO_FLAG || slpmsg->header->flags == P2P_WLM2009_COMP ||
 			msn_p2p_msg_is_data(slpmsg->header->flags))
 	{
 		/* Release all the messages and send the ACK */
@@ -625,6 +625,10 @@
 	/* All the pieces of the slpmsg have been received */
 	if (header->offset + header->length >= header->total_size)
 		process_complete_msg(slplink, slpmsg, header);
+
+	/* NOTE: The slpmsg will be destroyed in process_complete_msg or left in
+	   the slplink until fully received. Don't free it here!
+	 */
 }
 
 void
--- a/libpurple/protocols/msn/slpmsg.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/slpmsg.c	Sun Dec 05 03:10:05 2010 +0000
@@ -1,5 +1,5 @@
 /**
- * @file slpmsg.h SLP Message functions
+ * @file slpmsg.c SLP Message functions
  *
  * purple
  *
@@ -54,41 +54,6 @@
 	return slpmsg;
 }
 
-MsnSlpMessage *msn_slpmsg_new_from_data(const char *data, size_t data_len)
-{
-	MsnSlpMessage *slpmsg;
-	MsnP2PHeader *header;
-	const char *tmp;
-	int body_len;
-
-	tmp = data;
-	slpmsg = msn_slpmsg_new(NULL);
-
-	if (data_len < sizeof(*header)) {
-		return NULL;
-	}
-
-	/* Extract the binary SLP header */
-	slpmsg->header = msn_p2p_header_from_wire((MsnP2PHeader*)tmp);
-
-	/* Extract the body */
-	body_len = data_len - (tmp - data);
-	/* msg->body_len = msg->msnslp_header.length; */
-
-	if (body_len > 0) {
-		slpmsg->size = body_len;
-		slpmsg->buffer = g_malloc(body_len);
-		memcpy(slpmsg->buffer, tmp, body_len);
-		tmp += body_len;
-	}
-
-	/* Extract the footer */
-	if (body_len >= 0) 
-		slpmsg->footer = msn_p2p_footer_from_wire((MsnP2PFooter*)tmp);
-
-	return slpmsg;
-}
-
 void
 msn_slpmsg_destroy(MsnSlpMessage *slpmsg)
 {
@@ -326,6 +291,9 @@
 
 	*ret_size = tmp - base;
 
+	g_free(header);
+	g_free(footer);
+
 	return base;
 }
 
--- a/libpurple/protocols/msn/slpmsg.h	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/slpmsg.h	Sun Dec 05 03:10:05 2010 +0000
@@ -78,16 +78,6 @@
 MsnSlpMessage *msn_slpmsg_new(MsnSlpLink *slplink);
 
 /**
- * Creates a MsnSlpMessage without a MsnSlpLink by parsing the raw data.
- *
- * @param data 		The raw data with the slp message.
- * @param data_len 	The len of the data
- *
- * @return The createed slp message.
- */
-MsnSlpMessage *msn_slpmsg_new_from_data(const char *data, size_t data_len);
-
-/**
  * Destroys a slp message
  *
  * @param slpmsg The slp message to destory.
--- a/libpurple/protocols/msn/slpmsg_part.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/slpmsg_part.c	Sun Dec 05 03:10:05 2010 +0000
@@ -1,3 +1,27 @@
+/**
+ * @file slpmsg_part.c MSNSLP Parts
+ *
+ * purple
+ *
+ * Purple is the legal property of its developers, whose names are too numerous
+ * to list here.  Please refer to the COPYRIGHT file distributed with this
+ * source distribution.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
+ */
+
 #include "internal.h"
 #include "debug.h"
 
@@ -28,13 +52,13 @@
 	const char *tmp;
 	int body_len;
 
-	tmp = data;
-	part = msn_slpmsgpart_new(NULL, NULL);
-
 	if (data_len < sizeof(*header)) {
 		return NULL;
 	}
 
+	part = msn_slpmsgpart_new(NULL, NULL);
+	tmp = data;
+
 	/* Extract the binary SLP header */
 	part->header = msn_p2p_header_from_wire((MsnP2PHeader*)tmp);
 	tmp += P2P_PACKET_HEADER_SIZE;
@@ -109,8 +133,7 @@
 {
 	g_return_if_fail(part != NULL);
 
-	if (part->buffer != NULL)
-		g_free(part->buffer);
+	g_free(part->buffer);
 
 	if (data != NULL && len > 0) {
 		part->buffer = g_malloc(len + 1);
@@ -154,6 +177,9 @@
 
 	*ret_size = tmp - base;
 
+	g_free(header);
+	g_free(footer);
+
 	return base;
 }
 /* We have received the message ack */
--- a/libpurple/protocols/msn/slpmsg_part.h	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/slpmsg_part.h	Sun Dec 05 03:10:05 2010 +0000
@@ -1,3 +1,27 @@
+/**
+ * @file slpmsg_part.h MSNSLP Parts
+ *
+ * purple
+ *
+ * Purple is the legal property of its developers, whose names are too numerous
+ * to list here.  Please refer to the COPYRIGHT file distributed with this
+ * source distribution.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
+ */
+
 #ifndef MSN_SLPMSG_PART_H
 #define MSN_SLPMSG_PART_H
 
--- a/libpurple/protocols/msn/switchboard.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/switchboard.c	Sun Dec 05 03:10:05 2010 +0000
@@ -225,7 +225,7 @@
 
 	msn_switchboard_send_msg(swboard, msg, TRUE);
 
-	msn_message_destroy(msg);
+	msn_message_unref(msg);
 }
 
 static void
@@ -743,7 +743,10 @@
 ubm_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd)
 {
 	purple_debug_misc("msn", "get UBM...\n");
-	cmd->payload_len = atoi(cmd->params[3]);
+	if (cmdproc->session->protocol_ver >= 16)
+		cmd->payload_len = atoi(cmd->params[5]);
+	else
+		cmd->payload_len = atoi(cmd->params[3]);
 	cmdproc->last_cmd->payload_cb = msg_cmd_post;
 }
 
--- a/libpurple/protocols/msn/transaction.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/transaction.c	Sun Dec 05 03:10:05 2010 +0000
@@ -220,10 +220,11 @@
 	purple_debug_info("msn", "timed out: %s %d %s\n", trans->command, trans->trId, trans->params);
 #endif
 
+	trans->timer = 0;
+
 	if (trans->timeout_cb != NULL)
 		trans->timeout_cb(trans->cmdproc, trans);
 
-	trans->timer = 0;
 	return FALSE;
 }
 
--- a/libpurple/protocols/msn/user.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/user.c	Sun Dec 05 03:10:05 2010 +0000
@@ -203,6 +203,8 @@
 		status = "phone";
 	else if (!g_ascii_strcasecmp(state, "LUN"))
 		status = "lunch";
+	else if (!g_ascii_strcasecmp(state, "HDN"))
+		status = NULL;
 	else
 		status = "available";
 
@@ -303,6 +305,22 @@
 }
 
 void
+msn_user_clear_endpoints(MsnUser *user)
+{
+	MsnUserEndpoint *ep;
+	GSList *l;
+
+	g_return_if_fail(user != NULL);
+
+	for (l = user->endpoints; l; l = g_slist_delete_link(l, l)) {
+		ep = l->data;
+		free_user_endpoint(ep);
+	}
+
+	user->endpoints = NULL;
+}
+
+void
 msn_user_set_op(MsnUser *user, MsnListOp list_op)
 {
 	g_return_if_fail(user != NULL);
--- a/libpurple/protocols/msn/user.h	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/user.h	Sun Dec 05 03:10:05 2010 +0000
@@ -286,6 +286,14 @@
 msn_user_set_endpoint_data(MsnUser *user, const char *endpoint, MsnUserEndpoint *data);
 
 /**
+ * Clears all endpoint data for a user.
+ *
+ * @param user     The user.
+ */
+void
+msn_user_clear_endpoints(MsnUser *user);
+
+/**
  * Sets the client id for a user.
  *
  * @param user     The user.
--- a/libpurple/protocols/msn/xfer.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/xfer.c	Sun Dec 05 03:10:05 2010 +0000
@@ -1,3 +1,27 @@
+/**
+ * @file xfer.c MSN File Transfer functions
+ *
+ * purple
+ *
+ * Purple is the legal property of its developers, whose names are too numerous
+ * to list here.  Please refer to the COPYRIGHT file distributed with this
+ * source distribution.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
+ */
+
 #include "internal.h"
 #include "debug.h"
 
--- a/libpurple/protocols/msn/xfer.h	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/msn/xfer.h	Sun Dec 05 03:10:05 2010 +0000
@@ -1,3 +1,27 @@
+/**
+ * @file xfer.h MSN File Transfer functions
+ *
+ * purple
+ *
+ * Purple is the legal property of its developers, whose names are too numerous
+ * to list here.  Please refer to the COPYRIGHT file distributed with this
+ * source distribution.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
+ */
+
 
 #include "slpcall.h"
 
--- a/libpurple/protocols/oscar/clientlogin.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/oscar/clientlogin.c	Sun Dec 05 03:10:05 2010 +0000
@@ -335,7 +335,8 @@
 		/* Note to translators: The first %s is a URL, the second is an
 		   error message. */
 		tmp = g_strdup_printf(_("Error requesting %s: %s"),
-				get_start_oscar_session_url(od), error_message);
+				get_start_oscar_session_url(od), error_message ?
+				error_message : _("The server returned an empty response"));
 		purple_connection_error_reason(gc,
 				PURPLE_CONNECTION_ERROR_NETWORK_ERROR, tmp);
 		g_free(tmp);
@@ -568,12 +569,9 @@
 
 	if (error_message != NULL || len == 0) {
 		gchar *tmp;
-		if (error_message != NULL)
-			tmp = g_strdup_printf(_("Error requesting %s: %s"),
-					get_client_login_url(od), error_message);
-		else
-			tmp = g_strdup_printf(_("Error requesting %s"),
-					get_client_login_url(od));
+		tmp = g_strdup_printf(_("Error requesting %s: %s"),
+				get_client_login_url(od), error_message ?
+				error_message : _("The server returned an empty response"));
 		purple_connection_error_reason(gc,
 				PURPLE_CONNECTION_ERROR_NETWORK_ERROR, tmp);
 		g_free(tmp);
--- a/libpurple/protocols/oscar/family_locate.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/oscar/family_locate.c	Sun Dec 05 03:10:05 2010 +0000
@@ -1043,7 +1043,7 @@
 						} else {
 							byte_stream_advance(bs, length2);
 							outinfo->status_len = 0;
-							outinfo->status = g_strdup("");
+							outinfo->status = NULL;
 							outinfo->status_encoding = NULL;
 						}
 					} break;
--- a/libpurple/protocols/oscar/oscar.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/oscar/oscar.c	Sun Dec 05 03:10:05 2010 +0000
@@ -283,7 +283,6 @@
 
 	/* Destroy the chat_connection */
 	od->oscar_chats = g_slist_remove(od->oscar_chats, cc);
-	flap_connection_schedule_destroy(cc->conn, OSCAR_DISCONNECT_DONE, NULL);
 	oscar_chat_destroy(cc);
 }
 
@@ -793,7 +792,7 @@
 			 * do what we know is best for them and change the setting out
 			 * from under them to the SSL login server.
 			 */
-			if (!strcmp(server, get_login_server(od->icq, FALSE))) {
+			if (!strcmp(server, get_login_server(od->icq, FALSE)) || !strcmp(server, AIM_ALT_LOGIN_SERVER)) {
 				purple_debug_info("oscar", "Account uses SSL, so changing server to default SSL server\n");
 				purple_account_set_string(account, "server", get_login_server(od->icq, TRUE));
 				server = get_login_server(od->icq, TRUE);
@@ -1367,7 +1366,7 @@
 	const char *status_id;
 	va_list ap;
 	aim_userinfo_t *info;
-	char *message = NULL;
+	char *message;
 	char *itmsurl = NULL;
 
 	gc = od->gc;
@@ -1454,16 +1453,13 @@
 		purple_prpl_got_user_status_deactive(account, info->bn, OSCAR_STATUS_ID_MOBILE);
 	}
 
-	/* Empty status means we should unset the status message. NULL status means we should keep it from the previous active status.
-	 * Same goes for itmsurl (which is available only for the "available" status).
-	 */
-	if (info->status != NULL) {
-		message = (info->status_len > 0) ? oscar_encoding_to_utf8(info->status_encoding, info->status, info->status_len) : NULL;
-	} else if (previous_status != NULL) {
-		message = g_strdup(purple_status_get_attr_string(previous_status, "message"));
-	}
+	message = (info->status && info->status_len > 0)
+			? oscar_encoding_to_utf8(info->status_encoding, info->status, info->status_len)
+			: NULL;
 
 	if (strcmp(status_id, OSCAR_STATUS_ID_AVAILABLE) == 0) {
+		/* TODO: If itmsurl is NULL, does that mean the URL has been
+		   cleared?  Or does it mean the URL should remain unchanged? */
 		if (info->itmsurl != NULL) {
 			itmsurl = (info->itmsurl_len > 0) ? oscar_encoding_to_utf8(info->itmsurl_encoding, info->itmsurl, info->itmsurl_len) : NULL;
 		} else if (previous_status != NULL && purple_status_is_available(previous_status)) {
@@ -4451,6 +4447,7 @@
 			purple_conversation_get_name(conv));
 
 	cc = find_oscar_chat(gc, purple_conv_chat_get_id(PURPLE_CONV_CHAT(conv)));
+	flap_connection_schedule_destroy(cc->conn, OSCAR_DISCONNECT_DONE, NULL);
 	oscar_chat_kill(gc, cc);
 }
 
--- a/libpurple/protocols/oscar/oscarcommon.h	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/oscar/oscarcommon.h	Sun Dec 05 03:10:05 2010 +0000
@@ -33,6 +33,7 @@
 #include "status.h"
 
 #define AIM_DEFAULT_LOGIN_SERVER "login.oscar.aol.com"
+#define AIM_ALT_LOGIN_SERVER "login.messaging.aol.com"
 #define AIM_DEFAULT_SSL_LOGIN_SERVER "slogin.oscar.aol.com"
 #define ICQ_DEFAULT_LOGIN_SERVER "login.icq.com"
 #define ICQ_DEFAULT_SSL_LOGIN_SERVER "slogin.icq.com"
--- a/libpurple/protocols/oscar/visibility.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/protocols/oscar/visibility.c	Sun Dec 05 03:10:05 2010 +0000
@@ -20,10 +20,25 @@
 
 #include "visibility.h"
 
-/* 4 separate strings are needed in order to ease translators' job */
+/* Translators: This string is a menu option that, if selected, will cause
+   you to appear online to the chosen user even when your status is set to
+   Invisible. */
 #define APPEAR_ONLINE		N_("Appear Online")
+
+/* Translators: This string is a menu option that, if selected, will cause
+   you to appear offline to the chosen user when your status is set to
+   Invisible (this is the default). */
 #define DONT_APPEAR_ONLINE	N_("Don't Appear Online")
+
+/* Translators: This string is a menu option that, if selected, will cause
+   you to always appear offline to the chosen user (even when your status
+   isn't Invisible). */
 #define APPEAR_OFFLINE		N_("Appear Offline")
+
+/* Translators: This string is a menu option that, if selected, will cause
+   you to appear offline to the chosen user if you are invisible, and
+   appear online to the chosen user if you are not invisible (this is the
+   default). */
 #define DONT_APPEAR_OFFLINE	N_("Don't Appear Offline")
 
 static guint16
--- a/libpurple/purple-remote	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/purple-remote	Sun Dec 05 03:10:05 2010 +0000
@@ -36,7 +36,8 @@
     def __call__(self, *args):
         result = self.cobj.obj.__getattr__(self.attr)(*args)
         if result == 0:
-            raise "Error: " + self.attr + " " + str(args) + " returned " + str(result)
+            raise Exception("Error: %s %s returned %s" %
+                            (self.attr, args, result))
         return result
             
 def show_help(requested=False):
@@ -223,7 +224,7 @@
                             elif type == "i":
                                 methodparams.append(int(value))
                             else:
-                                raise "Don't know how to handle type \"%s\"" % type
+                                raise Exception("Don't know how to handle type \"%s\"" % type)
                     return purple.__getattr__(command)(*methodparams)
             show_help()
 
--- a/libpurple/upnp.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/libpurple/upnp.c	Sun Dec 05 03:10:05 2010 +0000
@@ -162,9 +162,9 @@
 	while(discovery_callbacks) {
 		gpointer data;
 		PurpleUPnPCallback cb = discovery_callbacks->data;
-		discovery_callbacks = g_slist_remove(discovery_callbacks, cb);
+		discovery_callbacks = g_slist_delete_link(discovery_callbacks, discovery_callbacks);
 		data = discovery_callbacks->data;
-		discovery_callbacks = g_slist_remove(discovery_callbacks, data);
+		discovery_callbacks = g_slist_delete_link(discovery_callbacks, discovery_callbacks);
 		cb(success, data);
 	}
 }
--- a/pidgin.spec.in	Fri Dec 03 23:03:58 2010 +0000
+++ b/pidgin.spec.in	Sun Dec 05 03:10:05 2010 +0000
@@ -46,14 +46,14 @@
 %if "%{_vendor}" == "suse"
 # For SuSE:
 BuildRequires: gnutls-devel
-%define sslopts "--enable-gnutls=yes --enable-nss=no"
+%define sslopts --enable-gnutls=yes --enable-nss=no
 %{?_with_dbus:BuildRequires: dbus-1-devel >= 0.35}
 %{!?_without_gstreamer:BuildRequires: gstreamer010-devel >= 0.10}
 Requires(pre): gconf2
 Requires(post): gconf2
 Requires(preun): gconf2
 %else
-%define sslopts "--enable-gnutls=no --enable-nss=yes"
+%define sslopts --enable-gnutls=no --enable-nss=yes
 %{?_with_dbus:BuildRequires: dbus-devel >= 0.35}
 %{!?_without_gstreamer:BuildRequires: gstreamer-devel >= 0.10}
 Requires(pre): GConf2
--- a/pidgin/gtkdialogs.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/pidgin/gtkdialogs.c	Sun Dec 05 03:10:05 2010 +0000
@@ -168,7 +168,6 @@
 	{N_("Greek"),               "el", "Bouklis Panos", "panos@echidna-band.com"},
 	{N_("Australian English"),  "en_AU", "Peter Lawler", "trans@six-by-nine.com.au"},
 	{N_("Canadian English"),    "en_CA", "Adam Weinberger", "adamw@gnome.org"},
-	{N_("British English"),     "en_GB", "Luke Ross", "lukeross@sys3175.co.uk"},
 	{N_("Esperanto"),           "eo", "Stéphane Fillod", "fillods@users.sourceforge.net"},
 	{N_("Spanish"),             "es", "Javier Fernández-Sanguino Peña", "jfs@debian.org"},
 	{N_("Estonian"),            "et", "Ivar Smolin", "okul@linux.ee"},
@@ -260,6 +259,7 @@
 	{N_("Czech"),               "cs", "Honza Král", NULL},
 	{N_("Czech"),               "cs", "Miloslav Trmac", "mitr@volny.cz"},
 	{N_("German"),              "de", "Daniel Seifert, Karsten Weiss", NULL},
+	{N_("British English"),     "en_GB", "Luke Ross", "luke@lukeross.name"},
 	{N_("Spanish"),             "es", "JM Pérez Cáncer", NULL},
 	{N_("Spanish"),             "es", "Nicolás Lichtmaier", NULL},
 	{N_("Spanish"),             "es", "Amaya Rodrigo", NULL},
--- a/pidgin/gtkimhtml.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/pidgin/gtkimhtml.c	Sun Dec 05 03:10:05 2010 +0000
@@ -4941,18 +4941,20 @@
 	 * are apparently pretty inefficient.  Hopefully we can remove this
 	 * restriction when we're using a better HTML widget.
 	 */
+	unescaped = purple_unescape_html(smiley);
 	numsmileys_thismsg = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(imhtml), "gtkimhtml_numsmileys_thismsg"));
 	if (numsmileys_thismsg >= 30) {
-		gtk_text_buffer_insert(imhtml->text_buffer, iter, smiley, -1);
+		gtk_text_buffer_insert(imhtml->text_buffer, iter, unescaped, -1);
+		g_free(unescaped);
 		return;
 	}
 	numsmileys_total = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(imhtml), "gtkimhtml_numsmileys_total"));
 	if (numsmileys_total >= 300) {
-		gtk_text_buffer_insert(imhtml->text_buffer, iter, smiley, -1);
+		gtk_text_buffer_insert(imhtml->text_buffer, iter, unescaped, -1);
+		g_free(unescaped);
 		return;
 	}
 
-	unescaped = purple_unescape_html(smiley);
 	imhtml_smiley = gtk_imhtml_smiley_get(imhtml, sml, unescaped);
 
 	if (imhtml->format_functions & GTK_IMHTML_SMILEY) {
@@ -5029,7 +5031,7 @@
 		g_object_set_data(G_OBJECT(imhtml), "gtkimhtml_numsmileys_thismsg", GINT_TO_POINTER(numsmileys_thismsg + 1));
 		g_object_set_data(G_OBJECT(imhtml), "gtkimhtml_numsmileys_total", GINT_TO_POINTER(numsmileys_total + 1));
 	} else {
-		gtk_text_buffer_insert(imhtml->text_buffer, iter, smiley, -1);
+		gtk_text_buffer_insert(imhtml->text_buffer, iter, unescaped, -1);
 	}
 
 	if (ebox) {
--- a/pidgin/gtkmedia.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/pidgin/gtkmedia.c	Sun Dec 05 03:10:05 2010 +0000
@@ -399,6 +399,9 @@
 		gtkmedia->priv->ui = NULL;
 	}
 
+	if (gtkmedia->priv->timeout_id != 0)
+		g_source_remove(gtkmedia->priv->timeout_id);
+
 	G_OBJECT_CLASS(parent_class)->dispose(media);
 }
 
--- a/pidgin/gtkscrollbook.c	Fri Dec 03 23:03:58 2010 +0000
+++ b/pidgin/gtkscrollbook.c	Sun Dec 05 03:10:05 2010 +0000
@@ -65,9 +65,13 @@
 }
 
 static gboolean
-scroll_left_cb(PidginScrollBook *scroll_book)
+scroll_left_cb(PidginScrollBook *scroll_book, GdkEventButton *event)
 {
 	int index;
+
+	if (event->type != GDK_BUTTON_PRESS)
+		return FALSE;
+
 	index = gtk_notebook_get_current_page(GTK_NOTEBOOK(scroll_book->notebook));
 
 	if (index > 0)
@@ -76,9 +80,13 @@
 }
 
 static gboolean
-scroll_right_cb(PidginScrollBook *scroll_book)
+scroll_right_cb(PidginScrollBook *scroll_book, GdkEventButton *event)
 {
 	int index, count;
+
+	if (event->type != GDK_BUTTON_PRESS)
+		return FALSE;
+
 	index = gtk_notebook_get_current_page(GTK_NOTEBOOK(scroll_book->notebook));
 	count = gtk_notebook_get_n_pages(GTK_NOTEBOOK(scroll_book->notebook));
 
@@ -131,9 +139,10 @@
 }
 
 static gboolean
-scroll_close_cb(PidginScrollBook *scroll_book)
+scroll_close_cb(PidginScrollBook *scroll_book, GdkEventButton *event)
 {
-	gtk_widget_destroy(gtk_notebook_get_nth_page(GTK_NOTEBOOK(scroll_book->notebook), gtk_notebook_get_current_page(GTK_NOTEBOOK(scroll_book->notebook))));
+	if (event->type == GDK_BUTTON_PRESS)	
+		gtk_widget_destroy(gtk_notebook_get_nth_page(GTK_NOTEBOOK(scroll_book->notebook), gtk_notebook_get_current_page(GTK_NOTEBOOK(scroll_book->notebook))));
 	return FALSE;
 }
 
--- a/po/ChangeLog	Fri Dec 03 23:03:58 2010 +0000
+++ b/po/ChangeLog	Sun Dec 05 03:10:05 2010 +0000
@@ -1,6 +1,21 @@
 Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul
 
 version 2.7.6
+	* Albanian translation updated (Besnik Bleta)
+	* Bengali translation updated (Jamil Ahmed)
+	* Chinese (Hong Kong) translation updated (Ambrose C. Li, Paladin R.
+	  Liu)
+	* Chinese (Traditional) translation updated (Ambrose C. Li, Paladin R.
+	  Liu)
+	* Czech translation updated (David Vachulka)
+	* Dutch translation updated (Gideon van Melle)
+	* German translation updated (Björn Voigt, Jochen Kemnade)
+	* Hebrew translation updated (Shalom Craimer)
+	* Norwegian Nynorsk translation updated (Yngve Spjeld Landro)
+	* Polish translation updated (Piotr Drąg)
+	* Romanian translation updated (Mişu Moldovan)
+	* Spanish translation updated (Javier Fernández-Sanguino Peña)
+	* Ukrainian translation updated (Oleksandr Kovalenko)
 
 version 2.7.5
 	* German translation updated (Björn Voigt, Jochen Kemnade)
--- a/po/bn.po	Fri Dec 03 23:03:58 2010 +0000
+++ b/po/bn.po	Sun Dec 05 03:10:05 2010 +0000
@@ -13,8 +13,8 @@
 msgstr ""
 "Project-Id-Version: bn\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-21 00:11-0400\n"
-"PO-Revision-Date: 2010-08-17 13:37+0600\n"
+"POT-Creation-Date: 2010-11-21 13:55-0500\n"
+"PO-Revision-Date: 2010-11-08 13:37+0600\n"
 "Last-Translator: israt <israt@ankur.org.bd>\n"
 "Language-Team: Bengali <ankur-bd-l10n@googlegroups.com>\n"
 "Language: bn\n"
@@ -810,9 +810,8 @@
 msgid "Waiting for transfer to begin"
 msgstr "স্থানান্তর শুরু করার জন্য অপেক্ষা করা হচ্ছে"
 
-#, fuzzy
 msgid "Cancelled"
-msgstr "বাতিল করা হয়েছে"
+msgstr "বাতিলকৃত"
 
 # mark6
 msgid "Failed"
@@ -1750,13 +1749,12 @@
 "সার্টিফিকেটটি এখনও কার্যকর নয়। আপনার কম্পিউটারের সময় এবং তারিখ ঠিক আছে কিনা "
 "পরীক্ষা করুন।"
 
-#, fuzzy
 msgid ""
 "The certificate has expired and should not be considered valid.  Check that "
 "your computer's date and time are accurate."
 msgstr ""
-"সার্টিফিকেটটি এখনও কার্যকর নয়। আপনার কম্পিউটারের সময় এবং তারিখ ঠিক আছে কিনা "
-"পরীক্ষা করুন।"
+"সার্টিফিকেটটি মেয়াদোত্তীর্ণ এবং একে কার্যকর ধরা হবে না।  আপনার কম্পিউটারের সময় "
+"এবং তারিখ ঠিক আছে কিনা পরীক্ষা করুন।"
 
 # Translated by sadia
 #. Translators: "domain" refers to a DNS domain (e.g. talk.google.com)
@@ -4974,20 +4972,17 @@
 msgstr "ডোমেইন"
 
 # tithi
-#, fuzzy
 msgid "Require encryption"
-msgstr "অনুমোদন প্রয়োজন"
-
-#, fuzzy
+msgstr "প্রয়োজনীয় এনক্রিপশন"
+
 msgid "Use encryption if available"
-msgstr "ব্যবহারকারীর তথ্য পাওয়া যাচ্ছে না: %s"
+msgstr "যদি পাওয়া যায় তবে এনক্রিপশন ব্যবহার"
 
 msgid "Use old-style SSL"
-msgstr ""
-
-#, fuzzy
+msgstr "পুরাতন শৈলীর SSL ব্যবহার"
+
 msgid "Connection security"
-msgstr "সংযোগ সময়কাল উত্তীর্ণ"
+msgstr "সংযোগের নিরাপত্তা"
 
 # tithi
 msgid "Allow plaintext auth over unencrypted streams"
@@ -5102,15 +5097,6 @@
 msgid "Unknown Error in presence"
 msgstr "উপস্থিতিতে অজানা ত্রুটি"
 
-msgid "An error occurred on the in-band bytestream transfer\n"
-msgstr "ইন-ব্যান্ড বাইটস্ট্রিম বিনিময়ে ত্রুটি হয়েছে\n"
-
-msgid "Transfer was closed."
-msgstr "স্থানান্তর বন্ধ করে দেয়া হয়েছে।"
-
-msgid "Failed to open in-band bytestream"
-msgstr "ইন-ব্যান্ড বাইটস্ট্রিম খুলতে ব্যর্থ"
-
 #, c-format
 msgid "Unable to send file to %s, user does not support file transfers"
 msgstr "%s এ ফাইল পাঠাতে ব্যর্থ, ব্যবহাকারী ফাইল স্থানান্তর সমর্থন করে না"
@@ -5499,30 +5485,6 @@
 msgid "The username specified does not exist."
 msgstr "উল্লেখিত ব্যবহারকারীর নামটি বিদ্যমান নয়।"
 
-# fix me tithi
-#, c-format
-msgid "Buddy list synchronization issue in %s (%s)"
-msgstr "%1$s (%2$s) এ বন্ধু তালিকার অভিন্নকরণ ইস্যু"
-
-# tithi
-#, c-format
-msgid ""
-"%s on the local list is inside the group \"%s\" but not on the server list. "
-"Do you want this buddy to be added?"
-msgstr ""
-"%1$s স্থানীয় তালিকায় এবং \"%2$s\" দলে অন্তর্ভুক্ত কিন্তু সার্ভার তালিকায় নেই। আপনি "
-"কি এই বন্ধুটি যোগ করতে চান?"
-
-# msgstr ""
-# "স্থানীয় তালিকার %s গ্রুপ এ আছেন কিন্তু সার্ভার তালিকায় নেই।আপনি কি এই বন্ধুটিকে যোগ "
-# "করতে চান?"
-#, c-format
-msgid ""
-"%s is on the local list but not on the server list. Do you want this buddy "
-"to be added?"
-msgstr ""
-"%s স্থানীয় তালিকায় আছে কিন্তু সার্ভার তালিকায় নেই। আপনি কি এই বন্ধুকে যোগ করতে চান?"
-
 msgid "Unable to parse message"
 msgstr "বার্তা পার্স করা সম্ভব হয়নি"
 
@@ -5719,6 +5681,30 @@
 msgid "MSN Error: %s\n"
 msgstr "MSN ত্রুটি: %s\n"
 
+# fix me tithi
+#, c-format
+msgid "Buddy list synchronization issue in %s (%s)"
+msgstr "%1$s (%2$s) এ বন্ধু তালিকার অভিন্নকরণ ইস্যু"
+
+# tithi
+#, c-format
+msgid ""
+"%s on the local list is inside the group \"%s\" but not on the server list. "
+"Do you want this buddy to be added?"
+msgstr ""
+"%1$s স্থানীয় তালিকায় এবং \"%2$s\" দলে অন্তর্ভুক্ত কিন্তু সার্ভার তালিকায় নেই। আপনি "
+"কি এই বন্ধুটি যোগ করতে চান?"
+
+# msgstr ""
+# "স্থানীয় তালিকার %s গ্রুপ এ আছেন কিন্তু সার্ভার তালিকায় নেই।আপনি কি এই বন্ধুটিকে যোগ "
+# "করতে চান?"
+#, c-format
+msgid ""
+"%s is on the local list but not on the server list. Do you want this buddy "
+"to be added?"
+msgstr ""
+"%s স্থানীয় তালিকায় আছে কিন্তু সার্ভার তালিকায় নেই। আপনি কি এই বন্ধুকে যোগ করতে চান?"
+
 msgid "Other Contacts"
 msgstr "অন্যান্য পরিচিতি"
 
@@ -5775,14 +5761,26 @@
 msgid "Set friendly name for %s."
 msgstr "%s এর জন্য বন্ধুসুলভ নাম নির্ধারণ করুন।"
 
-# tithi
-msgid "Set your friendly name."
-msgstr "আপনার বন্ধুসুলভ নাম নির্ধারণ।"
+msgid "Set Friendly Name"
+msgstr "বন্ধুসুলভ নাম নির্ধারণ"
 
 # tithi
 msgid "This is the name that other MSN buddies will see you as."
 msgstr "অন্যান্য MSN বন্ধুরা আপনাকে এই নামে দেখবে"
 
+msgid "This Location"
+msgstr "এই অবস্থান"
+
+# tithi
+msgid "This is the name that identifies this location"
+msgstr "অবস্থানটি নির্দেশ করে এমন নাম"
+
+msgid "Other Locations"
+msgstr "অন্যান্য অবস্থান"
+
+msgid "You can sign out from other locations here"
+msgstr "আপনি এখানে অন্যান্য অবস্থান থেকে সাইন আউট করতে পারেন"
+
 # tithi
 msgid "Set your home phone number."
 msgstr "আপনার বাসার ফোন নাম্বার দিন।"
@@ -5878,6 +5876,9 @@
 msgid "Set Friendly Name..."
 msgstr "বন্ধুসুলভ নাম নির্ধারণ..."
 
+msgid "View Locations..."
+msgstr "অবস্থান প্রদর্শন..."
+
 msgid "Set Home Phone Number..."
 msgstr "বাসার ফোন নম্বর নির্ধারণ..."
 
@@ -7483,6 +7484,12 @@
 "আপনি খুব ঘনঘন সংযোগ স্থাপন এবং বিচ্ছিন্ন করছেন। দশ মিনিট অপেক্ষা করে পুনরায় চেষ্টা "
 "করুন। আপনি যদি চেষ্টা অব্যাহত রাখতে চান, আপনাকে আরও বেশী অপেক্ষা করতে হবে।"
 
+msgid ""
+"You required encryption in your account settings, but one of the servers "
+"doesn't support it."
+msgstr ""
+"আপনার অ্যাকাউন্ট সেটিং এ এনক্রিপশন প্রয়োজন, কিন্তু একটি সার্ভার এটি সমর্থন করে না।"
+
 # Translated by sadia
 #. Note to translators: The first %s is a URL, the second is an
 #. error message.
@@ -7856,6 +7863,12 @@
 "হলে, শুধুমাত্র বর্ণ, সংখ্যা এবং স্পেস দ্বারা গঠিত হবে, বা শুধুমাত্র সংখ্যা দ্বারা গঠিত "
 "হবে।"
 
+msgid ""
+"You required encryption in your account settings, but encryption is not "
+"supported by your system."
+msgstr ""
+"আপনার অ্যাকাউন্ট সেটিং এ এনক্রিপশন প্রয়োজন, কিন্তু আপনার সিস্টেম এটি সমর্থন করে না।"
+
 #, c-format
 msgid "You may be disconnected shortly.  If so, check %s for updates."
 msgstr "আপনি সাময়িকভাবে বিচ্ছিন্ন হতে পারেন। হালানাগাদের জন্য %s পরীক্ষা করুন."
@@ -8430,13 +8443,11 @@
 msgid "Set Privacy Options..."
 msgstr "গোপনীয়তার অপশন নির্ধারণ ..."
 
-#, fuzzy
 msgid "Show Visible List"
-msgstr "বন্ধু তালিকা প্রদর্শন (_L)"
-
-#, fuzzy
+msgstr "দৃশ্যমানদের তালিকা প্রদর্শন"
+
 msgid "Show Invisible List"
-msgstr "আমন্ত্রন তালিকা"
+msgstr "অদৃশ্যদের তালিকা প্রদর্শন"
 
 #. AIM actions
 msgid "Confirm Account"
@@ -8458,6 +8469,9 @@
 msgid "Search for Buddy by Email Address..."
 msgstr "ইমেইল ঠিকানার মাধ্যমে বন্ধু অনুসন্ধান..."
 
+msgid "Don't use encryption"
+msgstr "এনক্রিপশন ব্যবহার করা হবে না"
+
 msgid "Use clientLogin"
 msgstr "clientLogin ব্যবহার"
 
@@ -8677,7 +8691,7 @@
 msgid "Buddy Comment"
 msgstr "বন্ধুর মন্তব্য"
 
-#, fuzzy, c-format
+#, c-format
 msgid "User information not available: %s"
 msgstr "ব্যবহারকারীর তথ্য পাওয়া যাচ্ছে না: %s"
 
@@ -8690,7 +8704,7 @@
 msgstr "ব্যক্তিগত ওয়েব পেইজ"
 
 #. aim_userinfo_t
-#. strip_html_tags
+#. use_html_status
 msgid "Additional Information"
 msgstr "অতিরিক্ত তথ্য"
 
@@ -8724,50 +8738,55 @@
 msgstr "ক্ষমতা"
 
 # tithi
-#. 4 separate strings are needed in order to ease translators' job
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear online to the chosen user even when your status is set to
+#. Invisible.
 msgid "Appear Online"
 msgstr "অনলাইনে দেখান"
 
 # tithi
-#, fuzzy
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user when your status is set to
+#. Invisible (this is the default).
 msgid "Don't Appear Online"
-msgstr "অনলাইনে দেখান"
-
+msgstr "অনলাইনে দেখনো হবে না"
+
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to always appear offline to the chosen user (even when your status
+#. isn't Invisible).
 msgid "Appear Offline"
 msgstr "অফলাইনে দেখান"
 
-#, fuzzy
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user if you are invisible, and
+#. appear online to the chosen user if you are not invisible (this is the
+#. default).
 msgid "Don't Appear Offline"
-msgstr "অফলাইনে দেখান"
+msgstr "অফলাইনে দেখানো হবে না"
 
 # Kick =  তিরস্কার
 # OR  পদাঘাত
-#, fuzzy
 msgid "you have no buddies on this list"
-msgstr "MultiMX হতে আপনাকে তিরস্কার করা হয়েছে।"
-
-# tithi
-#, fuzzy, c-format
+msgstr "এই তালিকায় আপনার কোনো বন্ধু নেই"
+
+# tithi
+#, c-format
 msgid ""
 "You can add a buddy to this list by right-clicking on them and selecting \"%s"
 "\""
-msgstr ""
-"আপনি বন্ধু তলিকায় ডান ক্লিক করে এবং‌ \"অনুমোদনের জন্য পুনরায় অনুরোধ\" নির্বাচন করে "
-"তাদের থেকে আবার অনুমোদন চাইতে পারেন।"
-
-#, fuzzy
+msgstr "আপনি \"%s\" নির্বাচন করে বা ডান ক্লিক করে বন্ধু যোগ করতে পারেন"
+
 msgid "Visible List"
-msgstr "দৃশ্যমান"
+msgstr "দৃশ্যমান তালিকা"
 
 msgid "These buddies will see your status when you switch to \"Invisible\""
-msgstr ""
-
-#, fuzzy
+msgstr "আপনি \"অদৃশ্য\" হলে এই বন্ধুরা আপনার স্ট্যাটাস দেখতে পাবেন"
+
 msgid "Invisible List"
-msgstr "আমন্ত্রন তালিকা"
+msgstr "অদৃশ্যদের তালিকা"
 
 msgid "These buddies will always see you as offline"
-msgstr ""
+msgstr "এই বন্ধুরা আপনাকে সবসময় অফলাইন হিসেবে দেখতে পাবেন"
 
 # tithi
 msgid "Aquarius"
@@ -8967,9 +8986,9 @@
 msgstr "আপনার অনুরোধটি অনুমোদন করা যায়নি।"
 
 # tithi
-#, fuzzy, c-format
+#, c-format
 msgid "%u requires verification: %s"
-msgstr "%u এর সত্যতা যাচাই করা প্রয়োজন"
+msgstr "%u এর সত্যতা যাচাই করা প্রয়োজন: %s"
 
 msgid "Add buddy question"
 msgstr "বন্ধুর প্রশ্ন যোগ"
@@ -12210,7 +12229,7 @@
 msgstr ""
 "<span size='larger' weight='bold'>%s এ স্বাগতম!</span>\n"
 "\n"
-"আপনার তাৎক্ষনিক বার্তা অ্যাকাউন্ট কনফিগার করা নেই। %s এর সাথে সংযোগ পেতে  <b>"
+"আপনার তাৎক্ষণিক বার্তা অ্যাকাউন্ট কনফিগার করা নেই। %s এর সাথে সংযোগ পেতে  <b>"
 "\"যোগ...\"</b> বোতাম চাপুন এবং আপনার প্রথম অ্যাকাউন্টটি কনফিগার করুন। যদি আপনি %s "
 "এর মাধ্যমে একাধিক IM অ্যাকাউন্টে সংযুক্ত হতে চান তবে সেগুলোকে কনফিগার করতে পুনরায় "
 "<b>\"যোগ...\"</b> বোতাম চাপুন।\n"
@@ -12491,7 +12510,7 @@
 msgstr "/বন্ধুগণ (_B)"
 
 msgid "/Buddies/New Instant _Message..."
-msgstr "/বন্ধুগণ/নতুন তাৎক্ষনিক বার্তা... (_M)"
+msgstr "/বন্ধুগণ/নতুন তাৎক্ষণিক বার্তা... (_M)"
 
 msgid "/Buddies/Join a _Chat..."
 msgstr "/বন্ধুগণ/আড্ডায় যোগদান... (_C)"
@@ -12567,7 +12586,7 @@
 
 # snigdha
 msgid "/Tools/Set _Mood"
-msgstr "/টুল/মুড সেট (_M)"
+msgstr "/টুল/মুড নির্ধারণ (_M)"
 
 msgid "/Tools/_File Transfers"
 msgstr "/টুল/ফাইল স্থানান্তর (_F)"
@@ -12590,7 +12609,7 @@
 
 # snigdha
 msgid "/Help/_Build Information"
-msgstr "/সহায়ক /তথ্য গড়ুন (_B)"
+msgstr "/সহায়ক /বিল্ড সংক্রান্ত তথ্য (_B)"
 
 msgid "/Help/_Debug Window"
 msgstr "/সহায়তা/ডিবাগ উইন্ডো (_D)"
@@ -12820,7 +12839,7 @@
 msgstr "অনুগ্রহ করে যে দলটি যুক্ত করতে হবে তার নাম দিন।"
 
 msgid "Enable Account"
-msgstr "অ্যাকাউন্ট সক্রিয় করা হবে"
+msgstr "অ্যাকাউন্ট সক্রিয়"
 
 msgid "<PurpleMain>/Accounts/Enable Account"
 msgstr "<PurpleMain>/অ্যাকাউন্ট/অ্যাকাউন্ট সক্রিয়করণ"
@@ -13420,6 +13439,9 @@
 msgid "Lao"
 msgstr "লাও"
 
+msgid "Maithili"
+msgstr "মৈথিলি"
+
 msgid "Macedonian"
 msgstr "ম্যাসেডনিয়"
 
@@ -14733,9 +14755,8 @@
 msgid "_TURN server:"
 msgstr "TURN সার্ভার: (_T)"
 
-#, fuzzy
 msgid "_UDP Port:"
-msgstr "পোর্ট (_P):"
+msgstr "UDP পোর্ট (_U):"
 
 # Translated by sadia
 msgid "Use_rname:"
@@ -14762,7 +14783,7 @@
 msgstr "কনকোয়েরার"
 
 msgid "Google Chrome"
-msgstr ""
+msgstr "গুগল ক্রোম"
 
 #. Do not move the line below.  Code below expects gnome-open to be in
 #. * this list immediately after xdg-open!
@@ -14786,11 +14807,11 @@
 
 #. Translators: please do not translate "chromium-browser" here!
 msgid "Chromium (chromium-browser)"
-msgstr ""
+msgstr "ক্রোমিয়াম (chromium-browser)"
 
 #. Translators: please do not translate "chrome" here!
 msgid "Chromium (chrome)"
-msgstr ""
+msgstr "ক্রোমিয়াম (chrome)"
 
 msgid "Manual"
 msgstr "সহায়িকা"
@@ -15365,7 +15386,6 @@
 msgid "Small"
 msgstr "ছোট"
 
-#, fuzzy
 msgid "Smaller versions of the default smileys"
 msgstr "ডিফল্ট স্মাইলিগুলোর ছোট সংস্করণ"
 
@@ -16453,9 +16473,8 @@
 msgstr "ভয়েস/ভিডিও সেটিংসমূহ  "
 
 # Translated by sadia
-#, fuzzy
 msgid "Voice and Video Settings"
-msgstr "ভয়েস/ভিডিও সেটিংসমূহ  "
+msgstr "ভয়েস এবং ভিডিও সেটিং"
 
 # Translated by sadia
 #. *< name
@@ -16756,6 +16775,15 @@
 msgid "You do not have permission to uninstall this application."
 msgstr "আপনার এই অ্যাপ্লিকেশনটি আনইন্সটল করার অনুমতি নেই।"
 
+#~ msgid "An error occurred on the in-band bytestream transfer\n"
+#~ msgstr "ইন-ব্যান্ড বাইটস্ট্রিম বিনিময়ে ত্রুটি হয়েছে\n"
+
+#~ msgid "Transfer was closed."
+#~ msgstr "স্থানান্তর বন্ধ করে দেয়া হয়েছে।"
+
+#~ msgid "Failed to open in-band bytestream"
+#~ msgstr "ইন-ব্যান্ড বাইটস্ট্রিম খুলতে ব্যর্থ"
+
 # Translated by sadia
 #~ msgid "The certificate has expired and should not be considered valid."
 #~ msgstr "সার্টিফিকেটটি মেয়াদউত্তীর্ণ এবং বৈধ হিসেবে বিবেচনা করা উচিত নয়। "
@@ -16769,6 +16797,10 @@
 #~ msgstr "পুরাতন (পোর্ট 5223) SSL প্রয়োগ বাধ্য করা হবে"
 
 # tithi
+#~ msgid "Set your friendly name."
+#~ msgstr "আপনার বন্ধুসুলভ নাম নির্ধারণ।"
+
+# tithi
 #
 #
 # Translated by sadia
--- a/po/cs.po	Fri Dec 03 23:03:58 2010 +0000
+++ b/po/cs.po	Sun Dec 05 03:10:05 2010 +0000
@@ -9,8 +9,8 @@
 msgstr ""
 "Project-Id-Version: pidgin VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-21 00:11-0400\n"
-"PO-Revision-Date: 2010-10-15 17:26+0100\n"
+"POT-Creation-Date: 2010-11-21 13:55-0500\n"
+"PO-Revision-Date: 2010-11-21 11:47+0100\n"
 "Last-Translator: David Vachulka <david@konstrukce-cad.com>\n"
 "Language-Team: Czech <cs@li.org>\n"
 "Language: cs\n"
@@ -251,7 +251,7 @@
 msgstr "Chyba při přidávání skupiny"
 
 msgid "You must give a name for the group to add."
-msgstr "Musíte zadat název skupiny, kterou přidat."
+msgstr "Musíte zadat název skupiny, kterou chcete přidat."
 
 msgid "Add Group"
 msgstr "Přidat skupinu"
@@ -639,7 +639,7 @@
 msgstr "Povolit zvuky"
 
 msgid "You are not connected."
-msgstr "Nejsi připojen."
+msgstr "Nejste připojen."
 
 msgid "<AUTO-REPLY> "
 msgstr "<AUTO-ODPOVĚĎ> "
@@ -904,7 +904,7 @@
 msgstr "%s se pokouší spustit multimediální sezení s nepodporovaným typem."
 
 msgid "You have rejected the call."
-msgstr "Odmítnul jste volání."
+msgstr "Odmítli jste volání."
 
 msgid "call: Make an audio call."
 msgstr "call: Vytvořit audio hovor."
@@ -1254,7 +1254,7 @@
 msgstr "Osoba opustí chat"
 
 msgid "You talk in chat"
-msgstr "Vy mluvíte v chatu"
+msgstr "Mluvíte v chatu"
 
 msgid "Others talk in chat"
 msgstr "Jiní mluví v chatu"
@@ -1694,7 +1694,7 @@
 msgid ""
 "You have no database of root certificates, so this certificate cannot be "
 "validated."
-msgstr "Nemáte databázi certifikátů, takže certifikáty nemohou ověřeny."
+msgstr "Nemáte databázi certifikátů, takže certifikáty nemohou být ověřeny."
 
 msgid "The certificate chain presented is invalid."
 msgstr "Certifikační řetěz je neplatný."
@@ -4805,15 +4805,6 @@
 msgid "Unknown Error in presence"
 msgstr "Neznámá chyba v přítomnosti"
 
-msgid "An error occurred on the in-band bytestream transfer\n"
-msgstr "Chyba při in-band bytestream přenosu\n"
-
-msgid "Transfer was closed."
-msgstr "Přenos byl ukončen."
-
-msgid "Failed to open in-band bytestream"
-msgstr "Selhalo otevření in-band bytestreamu"
-
 #, c-format
 msgid "Unable to send file to %s, user does not support file transfers"
 msgstr "Nemohu odeslat soubor %s, uživatel nepodporuje přenosy souborů"
@@ -5127,26 +5118,6 @@
 msgid "The username specified does not exist."
 msgstr "Zadané jméno uživatele neexistuje."
 
-#, c-format
-msgid "Buddy list synchronization issue in %s (%s)"
-msgstr "Problém se synchronizací seznamu kamarádů v %s (%s)"
-
-#, c-format
-msgid ""
-"%s on the local list is inside the group \"%s\" but not on the server list. "
-"Do you want this buddy to be added?"
-msgstr ""
-"%s na místním seznamu je ve skupině \"%s\", ale ne v seznamu na serveru. "
-"Chcete přidat tohoto kamaráda?"
-
-#, c-format
-msgid ""
-"%s is on the local list but not on the server list. Do you want this buddy "
-"to be added?"
-msgstr ""
-"%s je na místním seznamu, ale ne v seznamu na serveru. Chcete přidat tohoto "
-"kamaráda?"
-
 msgid "Unable to parse message"
 msgstr "Nemohu zpracovat zprávu"
 
@@ -5317,6 +5288,26 @@
 msgid "MSN Error: %s\n"
 msgstr "Chyba MSN: %s\n"
 
+#, c-format
+msgid "Buddy list synchronization issue in %s (%s)"
+msgstr "Problém se synchronizací seznamu kamarádů v %s (%s)"
+
+#, c-format
+msgid ""
+"%s on the local list is inside the group \"%s\" but not on the server list. "
+"Do you want this buddy to be added?"
+msgstr ""
+"%s na místním seznamu je ve skupině \"%s\", ale ne v seznamu na serveru. "
+"Chcete přidat tohoto kamaráda?"
+
+#, c-format
+msgid ""
+"%s is on the local list but not on the server list. Do you want this buddy "
+"to be added?"
+msgstr ""
+"%s je na místním seznamu, ale ne v seznamu na serveru. Chcete přidat tohoto "
+"kamaráda?"
+
 msgid "Other Contacts"
 msgstr "Jiné kontakty"
 
@@ -5341,7 +5332,7 @@
 
 #, c-format
 msgid "%s sent you a voice chat invite, which is not yet supported."
-msgstr "%s vám poslal pozvánku k hlasovému chatu, který není podporováno."
+msgstr "%s vám poslal pozvánku k hlasovému chatu, který není podporován."
 
 msgid "Nudge"
 msgstr "Šťouchnutí"
@@ -5364,12 +5355,24 @@
 msgid "Set friendly name for %s."
 msgstr "Nastavit přátelské jméno pro %s."
 
-msgid "Set your friendly name."
-msgstr "Nastavit vaše přátelské jméno"
+msgid "Set Friendly Name"
+msgstr "Nastavit přátelské jméno"
 
 msgid "This is the name that other MSN buddies will see you as."
 msgstr "Toto je jméno, pod kterým vás budou vidět ostatní kamarádi MSN."
 
+msgid "This Location"
+msgstr "Toto umístění"
+
+msgid "This is the name that identifies this location"
+msgstr "Toto je jméno, které identifikuje toto umístění"
+
+msgid "Other Locations"
+msgstr "Další umístění"
+
+msgid "You can sign out from other locations here"
+msgstr "Můžete se přihlásit z jiného umístění"
+
 msgid "Set your home phone number."
 msgstr "Nastavte své domácí telefonní číslo."
 
@@ -5455,6 +5458,9 @@
 msgid "Set Friendly Name..."
 msgstr "Nastavit přátelské jméno..."
 
+msgid "View Locations..."
+msgstr "Zobrazit umístění..."
+
 msgid "Set Home Phone Number..."
 msgstr "Nastavit domácí telefonní číslo..."
 
@@ -5890,7 +5896,7 @@
 msgstr "PINy nesouhlasí."
 
 msgid "The Display Name you entered is invalid."
-msgstr "Zadaný jméno pro zobrazení není platné"
+msgstr "Zadané jméno pro zobrazení není platné"
 
 msgid ""
 "The birthday you entered is invalid. The correct format is: 'YYYY-MM-DD'."
@@ -5909,7 +5915,7 @@
 msgstr "Informace z profilu nebyly získány, zkuste to prosím později."
 
 msgid "Your UID"
-msgstr "Tvoje UID"
+msgstr "Vaše UID"
 
 #. pin
 #. pin (required)
@@ -6059,7 +6065,7 @@
 msgstr "Skryté číslo"
 
 msgid "Your MXit ID..."
-msgstr "Tvoje MXit ID..."
+msgstr "Vaše MXit ID..."
 
 #. Configuration options
 #. WAP server (reference: "libpurple/accountopt.h")
@@ -6840,6 +6846,13 @@
 "Připojovali a odpojovali jste se příliš často. Počkejte deset minut a zkuste "
 "to znovu. Pokud to budete dále zkouše, budete muset čekat ještě déle."
 
+msgid ""
+"You required encryption in your account settings, but one of the servers "
+"doesn't support it."
+msgstr ""
+"Vyžadujete šifrování v nastavení účtů, ale jeden ze serverů šifrování "
+"nepodporuje."
+
 #. Note to translators: The first %s is a URL, the second is an
 #. error message.
 #, c-format
@@ -7149,6 +7162,12 @@
 "uživatele musí být platná emailová adresa nebo začínat písmenem a obsahovat "
 "jen číslice, písmena a mezery, nebo obsahovat jen číslice."
 
+msgid ""
+"You required encryption in your account settings, but encryption is not "
+"supported by your system."
+msgstr ""
+"Vyžadujete šifrování v nastavení účtů, ale váš systém šifrování nepodporuje."
+
 #, c-format
 msgid "You may be disconnected shortly.  If so, check %s for updates."
 msgstr ""
@@ -7276,7 +7295,7 @@
 msgstr "Uživatel ICQ %u vám poslal kamaráda: %s (%s)"
 
 msgid "Do you want to add this buddy to your buddy list?"
-msgstr "Chcete přidat tohoto kamaráda do svého seznamu kamarádů?"
+msgstr "Chcete přidat tohoto kamaráda do vašeho seznamu kamarádů?"
 
 msgid "_Add"
 msgstr "_Přidat"
@@ -7671,13 +7690,11 @@
 msgid "Set Privacy Options..."
 msgstr "Nastavit možnosti soukromí..."
 
-#, fuzzy
 msgid "Show Visible List"
-msgstr "Zobrazit seznam _kamarádů"
-
-#, fuzzy
+msgstr "Zobrazit seznam viditelných kamarádů"
+
 msgid "Show Invisible List"
-msgstr "Seznam pozvaných"
+msgstr "Zobrazit seznam neviditelných kamarádů"
 
 #. AIM actions
 msgid "Confirm Account"
@@ -7695,6 +7712,9 @@
 msgid "Search for Buddy by Email Address..."
 msgstr "Hledat kamaráda podle emailové adresy..."
 
+msgid "Don't use encryption"
+msgstr "Nepoužívat šifrování"
+
 msgid "Use clientLogin"
 msgstr "Použít clientLogin"
 
@@ -7893,7 +7913,7 @@
 msgstr "Osobní WWW stránka"
 
 #. aim_userinfo_t
-#. strip_html_tags
+#. use_html_status
 msgid "Additional Information"
 msgstr "Přídavné informace"
 
@@ -7921,46 +7941,51 @@
 msgid "Capabilities"
 msgstr "Schopnosti"
 
-#. 4 separate strings are needed in order to ease translators' job
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear online to the chosen user even when your status is set to
+#. Invisible.
 msgid "Appear Online"
 msgstr "Vypadat připojen"
 
-#, fuzzy
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user when your status is set to
+#. Invisible (this is the default).
 msgid "Don't Appear Online"
-msgstr "Vypadat připojen"
-
+msgstr "Nevypadat připojen"
+
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to always appear offline to the chosen user (even when your status
+#. isn't Invisible).
 msgid "Appear Offline"
 msgstr "Vypadat odpojen"
 
-#, fuzzy
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user if you are invisible, and
+#. appear online to the chosen user if you are not invisible (this is the
+#. default).
 msgid "Don't Appear Offline"
-msgstr "Vypadat odpojen"
-
-#, fuzzy
+msgstr "Nevypadat odpojen"
+
 msgid "you have no buddies on this list"
-msgstr "Byl jste vykopnut z MultiMX."
-
-#, fuzzy, c-format
+msgstr "nemáte kamarády v tomto seznamu"
+
+#, c-format
 msgid ""
 "You can add a buddy to this list by right-clicking on them and selecting \"%s"
 "\""
-msgstr ""
-"Můžete znovu požádat o autorizaci od těchto kamarádů kliknutím na ně pravým "
-"tlačítkem a zvolením \"Znovu požádat o autorizaci.\""
-
-#, fuzzy
+msgstr "Můžete přidat kamaráda pravým kliknutím a vybráním \"%s\""
+
 msgid "Visible List"
-msgstr "Viditelný"
+msgstr "Seznam viditelných"
 
 msgid "These buddies will see your status when you switch to \"Invisible\""
-msgstr ""
-
-#, fuzzy
+msgstr "Tyto kamarádi uvidí váš stav při přepnutí na \"Neviditelný\""
+
 msgid "Invisible List"
-msgstr "Seznam pozvaných"
+msgstr "Seznam neviditelných"
 
 msgid "These buddies will always see you as offline"
-msgstr ""
+msgstr "Tyto kamarádi vás vždy uvidí jako odpojeného"
 
 msgid "Aquarius"
 msgstr "Vodnář"
@@ -8123,7 +8148,7 @@
 msgstr "Poznámka kamaráda"
 
 msgid "Change his/her memo as you like"
-msgstr "Změňte jeho/její poznámku podle sebe"
+msgstr "Změňte jeho/její poznámku podle vás"
 
 msgid "_Modify"
 msgstr "_Změnit"
@@ -8227,7 +8252,7 @@
 msgstr "Zadejte prosím Qun číslo"
 
 msgid "You can only search for permanent Qun\n"
-msgstr "You can only search for permanent Qun\n"
+msgstr "Můžete vyhledávat jen permanentní Qun\n"
 
 msgid "(Invalid UTF-8 string)"
 msgstr "(Neplatný UTF-8 řetězec)"
@@ -9415,7 +9440,7 @@
 
 #, c-format
 msgid "You have been killed by %s (%s)"
-msgstr "Byli jste zabiti v %s: (%s)"
+msgstr "Byli jste zabiti %s (%s)"
 
 #, c-format
 msgid "Killed by %s (%s)"
@@ -10179,7 +10204,7 @@
 
 #, c-format
 msgid "%s has sent you a webcam invite, which is not yet supported."
-msgstr "%s vám poslal pozvánku k WWW kameře, což ještě není podporováno."
+msgstr "%s vám poslal pozvánku k webové kameře, což ještě není podporováno."
 
 msgid "Your SMS was not delivered"
 msgstr "Vaše SMS nebyla doručena"
@@ -10268,7 +10293,7 @@
 "Your account has been locked due to too many failed login attempts.  Please "
 "try logging into the Yahoo! website."
 msgstr ""
-"Účet uzamčen pro příliš mnoho pokusů o přihlášení. Přihlášte se na stránku "
+"Účet uzamčen pro příliš mnoho pokusů o přihlášení. Přihlaste se na stránku "
 "Yahoo!."
 
 #, c-format
@@ -10393,7 +10418,7 @@
 
 #, c-format
 msgid "%s is trying to send you a group of %d files.\n"
-msgstr "%s zkouší vám poslat %d souborů.\n"
+msgstr "%s vám zkouší poslat %d souborů.\n"
 
 msgid "Write Error"
 msgstr "Chyba při zápisu"
@@ -10462,7 +10487,7 @@
 msgstr ""
 "Nemohu získat profil uživatele. To pravděpodobně znamená, že uživatel "
 "neexistuje; někdy ale Yahoo! opravdu nemůže najít profil uživatele. Pokud "
-"více, že uživatel existuje, zkuste to prosím znovu později."
+"víte, že uživatel existuje, zkuste to prosím znovu později."
 
 msgid "The user's profile is empty."
 msgstr "Profil uživatele je prázdný."
@@ -11057,7 +11082,7 @@
 
 #, 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 chce tě (%s) přidat do svého seznamu kamarádů%s%s"
+msgstr "%s%s%s%s chce vás (%s) přidat do svého seznamu kamarádů%s%s"
 
 #. Buddy List
 msgid "Background Color"
@@ -11170,7 +11195,7 @@
 msgid ""
 "The text information for when a chat has an unread message that mentions "
 "your nickname"
-msgstr "Text informace, když je v chatu zpráva s tvojí přezdívkou"
+msgstr "Text informace, když je v chatu zpráva s vaší přezdívkou"
 
 msgid "The text information for a buddy's status"
 msgstr "Text informace pro stav kamaráda"
@@ -12220,6 +12245,9 @@
 msgid "Lao"
 msgstr "Laonština"
 
+msgid "Maithili"
+msgstr "Maithili"
+
 msgid "Macedonian"
 msgstr "Makedonština"
 
@@ -12884,16 +12912,14 @@
 "Are you sure you want to permanently delete the log of the conversation with "
 "%s which started at %s?"
 msgstr ""
-"Opravdu že chcete natrvalo odstranit záznam konverzace s %s, který začal v "
-"%s?"
+"Opravdu chcete natrvalo odstranit záznam konverzace s %s, který začal v %s?"
 
 #, c-format
 msgid ""
 "Are you sure you want to permanently delete the log of the conversation in "
 "%s which started at %s?"
 msgstr ""
-"Opravdu že chcete natrvalo odstranit záznam konverzace v %s, který začal v "
-"%s?"
+"Opravdu chcete natrvalo odstranit záznam konverzace v %s, který začal v %s?"
 
 #, c-format
 msgid ""
@@ -13010,11 +13036,11 @@
 
 #, c-format
 msgid "%s wishes to start an audio/video session with you."
-msgstr "%s chce začít audio/video rozhovor s tebou."
+msgstr "%s chce začít audio/video rozhovor s vámi."
 
 #, c-format
 msgid "%s wishes to start a video session with you."
-msgstr "%s chce začít video rozhovor s tebou."
+msgstr "%s chce začít video rozhovor s vámi."
 
 msgid "Incoming Call"
 msgstr "Příchozí hovor"
@@ -13756,7 +13782,7 @@
 msgstr "_Přidat chat"
 
 msgid "Are you sure you want to delete the selected saved statuses?"
-msgstr "Opravdu že chcete odstranit zvolené uložené stavy?"
+msgstr "Opravdu chcete odstranit zvolené uložené stavy?"
 
 #. Use button
 msgid "_Use"
@@ -15299,6 +15325,18 @@
 msgid "You do not have permission to uninstall this application."
 msgstr "Nemáte oprávnění k odinstalaci této aplikace."
 
+#~ msgid "An error occurred on the in-band bytestream transfer\n"
+#~ msgstr "Chyba při in-band bytestream přenosu\n"
+
+#~ msgid "Transfer was closed."
+#~ msgstr "Přenos byl ukončen."
+
+#~ msgid "Failed to open in-band bytestream"
+#~ msgstr "Selhalo otevření in-band bytestreamu"
+
+#~ msgid "Set your friendly name."
+#~ msgstr "Nastavit vaše přátelské jméno"
+
 #~ msgid "The certificate has expired and should not be considered valid."
 #~ msgstr "Certifikát vypršel a neměl by být považován za platný."
 
@@ -15759,9 +15797,6 @@
 #~ msgid "In-Band Registration"
 #~ msgstr "In-Band registrace"
 
-#~ msgid "User Location"
-#~ msgstr "Umístění uživatele"
-
 #~ msgid "User Avatar"
 #~ msgstr "Avatar uživatele"
 
--- a/po/es.po	Fri Dec 03 23:03:58 2010 +0000
+++ b/po/es.po	Sun Dec 05 03:10:05 2010 +0000
@@ -53,8 +53,8 @@
 msgstr ""
 "Project-Id-Version: Pidgin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-21 00:11-0400\n"
-"PO-Revision-Date: 2010-08-02 23:10+0200\n"
+"POT-Creation-Date: 2010-11-21 13:55-0500\n"
+"PO-Revision-Date: 2010-11-17 03:10+0100\n"
 "Last-Translator: Javier Fernández-Sanguino <jfs@debian.org>\n"
 "Language-Team:  Spanish team <es@li.org>\n"
 "Language: \n"
@@ -1808,13 +1808,12 @@
 "El certificado no es válido aún. Compruebe que la fecha y hora de su "
 "ordenador son correctas."
 
-#, fuzzy
 msgid ""
 "The certificate has expired and should not be considered valid.  Check that "
 "your computer's date and time are accurate."
 msgstr ""
-"El certificado no es válido aún. Compruebe que la fecha y hora de su "
-"ordenador son correctas."
+"El certificado ha expirado y no se considera ya válido. Compruebe que la "
+"fecha y hora de su ordenador son correctas."
 
 #. Translators: "domain" refers to a DNS domain (e.g. talk.google.com)
 msgid "The certificate presented is not issued to this domain."
@@ -4870,20 +4869,17 @@
 msgid "Domain"
 msgstr "Dominio"
 
-#, fuzzy
 msgid "Require encryption"
-msgstr "Solicitar autorización"
-
-#, fuzzy
+msgstr "Solicitar cifrado"
+
 msgid "Use encryption if available"
-msgstr "Información de usuario de no disponible: %s"
+msgstr "Utilizar cifrado si es posible"
 
 msgid "Use old-style SSL"
-msgstr ""
-
-#, fuzzy
+msgstr "Utilizar SSL antiguo"
+
 msgid "Connection security"
-msgstr "Expiró la conexión"
+msgstr "Seguridad de la conexión"
 
 msgid "Allow plaintext auth over unencrypted streams"
 msgstr "Permitir autenticación en claro sobre canales no cifrados"
@@ -4989,15 +4985,6 @@
 msgid "Unknown Error in presence"
 msgstr "Error desconocido en presencia"
 
-msgid "An error occurred on the in-band bytestream transfer\n"
-msgstr "Se produjo un error en la transferencia de flujos de bytes en banda\n"
-
-msgid "Transfer was closed."
-msgstr "Se cerró la transferencia."
-
-msgid "Failed to open in-band bytestream"
-msgstr "Fallo al abrir un flujo de bytes en banda"
-
 #, c-format
 msgid "Unable to send file to %s, user does not support file transfers"
 msgstr ""
@@ -5317,26 +5304,6 @@
 msgid "The username specified does not exist."
 msgstr "El nombre de usuario especificado no existe."
 
-#, c-format
-msgid "Buddy list synchronization issue in %s (%s)"
-msgstr "Problema de sincronización de la lista de amigos en %s (%s)"
-
-#, c-format
-msgid ""
-"%s on the local list is inside the group \"%s\" but not on the server list. "
-"Do you want this buddy to be added?"
-msgstr ""
-"%s está en la lista local dentro del grupo «%s» pero no está en la lista del "
-"servidor. ¿Desea añadir a este amigo?"
-
-#, c-format
-msgid ""
-"%s is on the local list but not on the server list. Do you want this buddy "
-"to be added?"
-msgstr ""
-"%s está en la lista local pero no está en la lista del servidor. ¿Desea "
-"añadir a este amigo?"
-
 msgid "Unable to parse message"
 msgstr "No se pudo interpretar el mensaje"
 
@@ -5511,6 +5478,26 @@
 msgid "MSN Error: %s\n"
 msgstr "Error MSN: %s\n"
 
+#, c-format
+msgid "Buddy list synchronization issue in %s (%s)"
+msgstr "Problema de sincronización de la lista de amigos en %s (%s)"
+
+#, c-format
+msgid ""
+"%s on the local list is inside the group \"%s\" but not on the server list. "
+"Do you want this buddy to be added?"
+msgstr ""
+"%s está en la lista local dentro del grupo «%s» pero no está en la lista del "
+"servidor. ¿Desea añadir a este amigo?"
+
+#, c-format
+msgid ""
+"%s is on the local list but not on the server list. Do you want this buddy "
+"to be added?"
+msgstr ""
+"%s está en la lista local pero no está en la lista del servidor. ¿Desea "
+"añadir a este amigo?"
+
 msgid "Other Contacts"
 msgstr "Otros contactos"
 
@@ -5564,12 +5551,24 @@
 msgid "Set friendly name for %s."
 msgstr "Establecer  nombre de amigo para %s."
 
-msgid "Set your friendly name."
-msgstr "Establecer su nombre de amigo."
+msgid "Set Friendly Name"
+msgstr "Establecer nombre de amigo"
 
 msgid "This is the name that other MSN buddies will see you as."
 msgstr "Éste es el nombre bajo el que otros amigos MSN le verán."
 
+msgid "This Location"
+msgstr "Esta ubicación"
+
+msgid "This is the name that identifies this location"
+msgstr "Éste es el nombre que identifica a esta ubicación"
+
+msgid "Other Locations"
+msgstr "Otras ubicaciones"
+
+msgid "You can sign out from other locations here"
+msgstr "Puede desconectarse de otras ubicaciones aquí"
+
 msgid "Set your home phone number."
 msgstr "Establezca el número de teléfono de su domicilio."
 
@@ -5657,6 +5656,9 @@
 msgid "Set Friendly Name..."
 msgstr "Establecer su nombre de amigo..."
 
+msgid "View Locations..."
+msgstr "Ver ubicaciones..."
+
 msgid "Set Home Phone Number..."
 msgstr "Establecer el número de teléfono de su domicilio..."
 
@@ -7073,6 +7075,13 @@
 "inténtelo de nuevo. Si sigue intentándolo, necesitará esperar incluso más "
 "tiempo."
 
+msgid ""
+"You required encryption in your account settings, but one of the servers "
+"doesn't support it."
+msgstr ""
+"En su configuración de cuenta indicó que era necesario utilizar cifrado, "
+"pero ninguno de los servidores lo soporta."
+
 #. Note to translators: The first %s is a URL, the second is an
 #. error message.
 #, c-format
@@ -7387,6 +7396,13 @@
 "una letra y sólo pueden contener letras, números y espacios, o contener sólo "
 "números."
 
+msgid ""
+"You required encryption in your account settings, but encryption is not "
+"supported by your system."
+msgstr ""
+"Solicitó cifrado en su configuración de cuenta, pero su sistema no soporta "
+"el uso de cifrado."
+
 #, c-format
 msgid "You may be disconnected shortly.  If so, check %s for updates."
 msgstr ""
@@ -7862,9 +7878,8 @@
 msgid "Change Address To:"
 msgstr "Cambiar dirección a:"
 
-#, fuzzy
 msgid "you are not waiting for authorization"
-msgstr "<i>usted no está esperando autorización</i>"
+msgstr "usted no está esperando autorización"
 
 msgid "You are awaiting authorization from the following buddies"
 msgstr "En espera de la autorización de los siguientes amigos"
@@ -7903,13 +7918,11 @@
 msgid "Set Privacy Options..."
 msgstr "Configurar las opciones de privacidad..."
 
-#, fuzzy
 msgid "Show Visible List"
-msgstr "Mostrar la _lista de amigos"
-
-#, fuzzy
+msgstr "Mostrar lista visible"
+
 msgid "Show Invisible List"
-msgstr "Lista de invitados"
+msgstr "Mostrar lista invisible"
 
 #. AIM actions
 msgid "Confirm Account"
@@ -7927,6 +7940,9 @@
 msgid "Search for Buddy by Email Address..."
 msgstr "Buscar un amigo por correo electrónico..."
 
+msgid "Don't use encryption"
+msgstr "No utilizar cifrado"
+
 msgid "Use clientLogin"
 msgstr "Utilizar «clientLogin»"
 
@@ -8126,7 +8142,7 @@
 msgstr "Página web personal"
 
 #. aim_userinfo_t
-#. strip_html_tags
+#. use_html_status
 msgid "Additional Information"
 msgstr "Información adicional"
 
@@ -8154,46 +8170,53 @@
 msgid "Capabilities"
 msgstr "Capacidades"
 
-#. 4 separate strings are needed in order to ease translators' job
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear online to the chosen user even when your status is set to
+#. Invisible.
 msgid "Appear Online"
 msgstr "Parecer conectado"
 
-#, fuzzy
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user when your status is set to
+#. Invisible (this is the default).
 msgid "Don't Appear Online"
-msgstr "Parecer conectado"
-
+msgstr "No aparecer conectado"
+
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to always appear offline to the chosen user (even when your status
+#. isn't Invisible).
 msgid "Appear Offline"
 msgstr "Parecer desconectado"
 
-#, fuzzy
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user if you are invisible, and
+#. appear online to the chosen user if you are not invisible (this is the
+#. default).
 msgid "Don't Appear Offline"
-msgstr "Parecer desconectado"
-
-#, fuzzy
+msgstr "No aparecer desconectado"
+
 msgid "you have no buddies on this list"
-msgstr "Ha sido expulsado de este MultiMX."
-
-#, fuzzy, c-format
+msgstr "no tiene amigos en esta lista"
+
+#, c-format
 msgid ""
 "You can add a buddy to this list by right-clicking on them and selecting \"%s"
 "\""
 msgstr ""
-"Puede volver a pedir autorización a estos amigos apretando el botón derecho "
-"del ratón sobre ellos y escogiendo «Solicitar autorización otra vez.»"
-
-#, fuzzy
+"Puede añadir a un amigo a esta lista pulsando con el botón derecho del ratón "
+"sobre él y escogiendo «%s»"
+
 msgid "Visible List"
-msgstr "Visible"
+msgstr "Lista visible"
 
 msgid "These buddies will see your status when you switch to \"Invisible\""
-msgstr ""
-
-#, fuzzy
+msgstr "Estos amigos verán su estado cuando pase a estado «Invisible»"
+
 msgid "Invisible List"
-msgstr "Lista de invitados"
+msgstr "Lista invisible"
 
 msgid "These buddies will always see you as offline"
-msgstr ""
+msgstr "Estos amigos siempre le verán como desconectado"
 
 msgid "Aquarius"
 msgstr "Acuario"
@@ -8373,9 +8396,9 @@
 msgid "Your request was rejected."
 msgstr "Su solicitud fué rechazada."
 
-#, fuzzy, c-format
+#, c-format
 msgid "%u requires verification: %s"
-msgstr "%u solicita verificación"
+msgstr "%u solicita verificación: %s"
 
 msgid "Add buddy question"
 msgstr "Añadir una pregunta para el amigo"
@@ -11320,9 +11343,9 @@
 "Puede volver a esta ventana para añadir, editar o eliminar cuentas desde la "
 "ventana de lista de amigos seleccionando <b>Cuentas->Gestionar Cuentas</b>"
 
-#, fuzzy, c-format
+#, 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 quiere añadir a %s a su lista de amigos%s%s."
+msgstr "%s%s%s%s quiere añadirle (%s) a su lista de amigos%s%s."
 
 #. Buddy List
 msgid "Background Color"
@@ -12486,6 +12509,9 @@
 msgid "Lao"
 msgstr "Laosiano"
 
+msgid "Maithili"
+msgstr "Maithili"
+
 msgid "Macedonian"
 msgstr "Macedonio"
 
@@ -13708,9 +13734,8 @@
 msgid "_TURN server:"
 msgstr "Servidor _TURN:"
 
-#, fuzzy
 msgid "_UDP Port:"
-msgstr "_Puerto:"
+msgstr "Puerto _UDP:"
 
 msgid "Use_rname:"
 msgstr "Nombre de usua_rio:"
@@ -13734,7 +13759,7 @@
 msgstr "Konqueror"
 
 msgid "Google Chrome"
-msgstr ""
+msgstr "Google Chrome"
 
 #. Do not move the line below.  Code below expects gnome-open to be in
 #. * this list immediately after xdg-open!
@@ -13758,11 +13783,11 @@
 
 #. Translators: please do not translate "chromium-browser" here!
 msgid "Chromium (chromium-browser)"
-msgstr ""
+msgstr "Chromium (chromium-browser)"
 
 #. Translators: please do not translate "chrome" here!
 msgid "Chromium (chrome)"
-msgstr ""
+msgstr "Chromium (chrome)"
 
 msgid "Manual"
 msgstr "Manual"
@@ -14304,7 +14329,6 @@
 msgid "Small"
 msgstr "Pequeña"
 
-#, fuzzy
 msgid "Smaller versions of the default smileys"
 msgstr "Versiones más pequeñas de los emoticonos por omisión"
 
@@ -15354,9 +15378,8 @@
 msgid "Voice/Video Settings"
 msgstr "Configuración de voz/vídeo"
 
-#, fuzzy
 msgid "Voice and Video Settings"
-msgstr "Configuración de voz/vídeo"
+msgstr "Configuración de voz y vídeo"
 
 #. *< name
 #. *< version
@@ -15635,6 +15658,19 @@
 msgid "You do not have permission to uninstall this application."
 msgstr "No tiene permisos para desinstalar esta aplicación."
 
+#~ msgid "An error occurred on the in-band bytestream transfer\n"
+#~ msgstr ""
+#~ "Se produjo un error en la transferencia de flujos de bytes en banda\n"
+
+#~ msgid "Transfer was closed."
+#~ msgstr "Se cerró la transferencia."
+
+#~ msgid "Failed to open in-band bytestream"
+#~ msgstr "Fallo al abrir un flujo de bytes en banda"
+
+#~ msgid "Set your friendly name."
+#~ msgstr "Establecer su nombre de amigo."
+
 #~ msgid "The certificate has expired and should not be considered valid."
 #~ msgstr "El certificado ha expirado y no sería considerado válido."
 
--- a/po/hu.po	Fri Dec 03 23:03:58 2010 +0000
+++ b/po/hu.po	Sun Dec 05 03:10:05 2010 +0000
@@ -9,14 +9,14 @@
 msgstr ""
 "Project-Id-Version: pidgin 2.7\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-21 00:12-0400\n"
-"PO-Revision-Date: 2010-10-10 12:33+0200\n"
+"POT-Creation-Date: 2010-11-21 03:11+0100\n"
+"PO-Revision-Date: 2010-11-21 03:10+0100\n"
 "Last-Translator: Gabor Kelemen <kelemeng at gnome dot hu>\n"
 "Language-Team: Hungarian <gnome at fsf dot hu>\n"
-"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Language: \n"
 "Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 "X-Generator: KBabel 1.11.4\n"
 
@@ -4854,15 +4854,6 @@
 msgid "Unknown Error in presence"
 msgstr "Ismeretlen hiba a jelenlétben"
 
-msgid "An error occurred on the in-band bytestream transfer\n"
-msgstr "Hiba történt a bejövő adatfolyam átvitelében\n"
-
-msgid "Transfer was closed."
-msgstr "Az átvitel lezárva."
-
-msgid "Failed to open in-band bytestream"
-msgstr "A bejövő adatfolyam megnyitása meghiúsult"
-
 #, c-format
 msgid "Unable to send file to %s, user does not support file transfers"
 msgstr ""
@@ -5182,26 +5173,6 @@
 msgid "The username specified does not exist."
 msgstr "A megadott felhasználónév nem létezik."
 
-#, c-format
-msgid "Buddy list synchronization issue in %s (%s)"
-msgstr "Partnerlista-szinkronizációs probléma itt: %s (%s)"
-
-#, c-format
-msgid ""
-"%s on the local list is inside the group \"%s\" but not on the server list. "
-"Do you want this buddy to be added?"
-msgstr ""
-"%s a helyi listán a(z) %s csoport tagja, de a kiszolgáló listáján nem az. "
-"Szeretné ezt a partnert felvenni?"
-
-#, c-format
-msgid ""
-"%s is on the local list but not on the server list. Do you want this buddy "
-"to be added?"
-msgstr ""
-"%s rajta van a helyi listán, de a kiszolgáló listáján nincs. Szeretné ezt a "
-"partnert felvenni?"
-
 msgid "Unable to parse message"
 msgstr "Az üzenetet nem sikerült értelmezni"
 
@@ -5372,6 +5343,26 @@
 msgid "MSN Error: %s\n"
 msgstr "MSN hiba: %s\n"
 
+#, c-format
+msgid "Buddy list synchronization issue in %s (%s)"
+msgstr "Partnerlista-szinkronizációs probléma itt: %s (%s)"
+
+#, c-format
+msgid ""
+"%s on the local list is inside the group \"%s\" but not on the server list. "
+"Do you want this buddy to be added?"
+msgstr ""
+"%s a helyi listán a(z) %s csoport tagja, de a kiszolgáló listáján nem az. "
+"Szeretné ezt a partnert felvenni?"
+
+#, c-format
+msgid ""
+"%s is on the local list but not on the server list. Do you want this buddy "
+"to be added?"
+msgstr ""
+"%s rajta van a helyi listán, de a kiszolgáló listáján nincs. Szeretné ezt a "
+"partnert felvenni?"
+
 msgid "Other Contacts"
 msgstr "Egyéb partnerek"
 
@@ -5423,12 +5414,24 @@
 msgid "Set friendly name for %s."
 msgstr "Becenév beállítása %s számára."
 
-msgid "Set your friendly name."
-msgstr "Becenév beállítása."
+msgid "Set Friendly Name"
+msgstr "Becenév beállítása"
 
 msgid "This is the name that other MSN buddies will see you as."
 msgstr "Ezen a néven fogják látni az MSN partnerei."
 
+msgid "This Location"
+msgstr "Ez a hely"
+
+msgid "This is the name that identifies this location"
+msgstr "A helyet azonosító név"
+
+msgid "Other Locations"
+msgstr "Egyéb helyek"
+
+msgid "You can sign out from other locations here"
+msgstr "Itt kijelentkezhet más helyekről"
+
 msgid "Set your home phone number."
 msgstr "Otthoni telefonszám beállítása."
 
@@ -5517,6 +5520,9 @@
 msgid "Set Friendly Name..."
 msgstr "Becenév beállítása…"
 
+msgid "View Locations..."
+msgstr "Helyek megjelenítése…"
+
 msgid "Set Home Phone Number..."
 msgstr "Otthoni telefonszám beállítása…"
 
@@ -5847,8 +5853,8 @@
 
 msgid "The MSN servers are temporarily unavailable. Please wait and try again."
 msgstr ""
-"Az MSN kiszolgálók átmenetileg nem érhetők el. Kérem várjon és próbálja újra "
-"később."
+"Az MSN kiszolgálók átmenetileg nem érhetők el. Kérem várjon, és próbálja "
+"újra később."
 
 msgid "The MSN servers are going down temporarily"
 msgstr "Az MSN kiszolgálók átmenetileg leállnak"
@@ -5860,8 +5866,8 @@
 msgid ""
 "Your MSN buddy list is temporarily unavailable. Please wait and try again."
 msgstr ""
-"Az Ön MSN partnerlistája átmenetileg nem érhető el. Kérem várjon és próbálja "
-"újra később."
+"Az Ön MSN partnerlistája átmenetileg nem érhető el. Kérem várjon, és "
+"próbálja újra később."
 
 msgid "Handshaking"
 msgstr "Kézfogás"
@@ -6728,8 +6734,8 @@
 #, c-format
 msgid "Unable to send message. Could not get details for user (%s)."
 msgstr ""
-"Az üzenetet nem lehet elküldeni. A felhasználó részletei nem kérhetőek le "
-"(%s)."
+"Az üzenetet nem lehet elküldeni. A felhasználó részletei nem kérhetőek le (%"
+"s)."
 
 #, c-format
 msgid "Unable to add %s to your buddy list (%s)."
@@ -6889,14 +6895,13 @@
 msgstr "Kiszolgáló portja"
 
 msgid "Please authorize me so I can add you to my buddy list."
-msgstr ""
+msgstr "Engedje meg, hogy felvegyem partnerlistámra."
 
 msgid "No reason given."
 msgstr "Nincs ok megadva."
 
-#, fuzzy
 msgid "Authorization Denied Message:"
-msgstr "Hozzáférés elutasítva üzenet:"
+msgstr "Felhatalmazás elutasítva üzenet:"
 
 #, c-format
 msgid "Received unexpected response from %s: %s"
@@ -6913,6 +6918,13 @@
 "Ön túl gyakran jelentkezik ki/be. Várjon tíz percet és próbálja meg újra. Ha "
 "tovább folytatja, még többet kell majd várnia."
 
+msgid ""
+"You required encryption in your account settings, but one of the servers "
+"doesn't support it."
+msgstr ""
+"Fiókbeállításaiban titkosítást követelt meg, de az egyik kiszolgáló nem "
+"támogatja azt."
+
 #. Note to translators: The first %s is a URL, the second is an
 #. error message.
 #, c-format
@@ -6939,12 +6951,17 @@
 "encoding he is using, you can specify it in the advanced account options for "
 "your AIM/ICQ account.)"
 msgstr ""
+"(Hiba történt ezen üzenet fogadásakor. A partner valószínűleg a várttól "
+"eltérő kódolást használ. Ha tudja, milyen kódolást használ a partner, akkor "
+"megadhatja az AIM/ICQ fiók speciális beállításai közt.)"
 
 #, c-format
 msgid ""
 "(There was an error receiving this message.  Either you and %s have "
 "different encodings selected, or %s has a buggy client.)"
 msgstr ""
+"(Hiba történt ezen üzenet fogadásakor. Ön vagy %s eltérő kódolást választott "
+"ki, vagy %s hibás klienst használ.)"
 
 msgid "Could not join chat room"
 msgstr "Nem sikerült kapcsolódni a csevegőszobához"
@@ -7152,8 +7169,8 @@
 "%s tried to send you a %s file, but we only allow files up to %s over Direct "
 "IM.  Try using file transfer instead.\n"
 msgstr ""
-"%s egy %s fájlt próbált küldeni, de közvetlen kapcsolatban legfeljebb csak "
-"%s méretű fájl küldhető. Próbálkozzon inkább a fájlátvitellel.\n"
+"%s egy %s fájlt próbált küldeni, de közvetlen kapcsolatban legfeljebb csak %"
+"s méretű fájl küldhető. Próbálkozzon inkább a fájlátvitellel.\n"
 
 #, c-format
 msgid "File %s is %s, which is larger than the maximum size of %s."
@@ -7218,6 +7235,12 @@
 "kezdődniük és betűket, számokat, szóközöket, vagy csak számokat "
 "tartalmazhatnak."
 
+msgid ""
+"You required encryption in your account settings, but encryption is not "
+"supported by your system."
+msgstr ""
+"Fiókbeállításaiban titkosítást követelt meg, de rendszere nem támogatja azt."
+
 #, c-format
 msgid "You may be disconnected shortly.  If so, check %s for updates."
 msgstr ""
@@ -7711,7 +7734,7 @@
 "You can re-request authorization from these buddies by right-clicking on "
 "them and selecting \"Re-request Authorization.\""
 msgstr ""
-"Újra kérheti engedélyezést ezektől a partnerektől a jobb egérgombbal "
+"Újra kérheti az engedélyezést ezektől a partnerektől a jobb egérgombbal "
 "kattintva a nevükön, és az „Engedélyezés újra kérése” választásával"
 
 msgid "Find Buddy by Email"
@@ -7740,13 +7763,11 @@
 msgid "Set Privacy Options..."
 msgstr "Magánszféra-beállítások…"
 
-#, fuzzy
 msgid "Show Visible List"
-msgstr "P_artnerlista megjelenítése"
-
-#, fuzzy
+msgstr "Láthatók listája"
+
 msgid "Show Invisible List"
-msgstr "Meghívási lista"
+msgstr "Láthatatlanok listája"
 
 #. AIM actions
 msgid "Confirm Account"
@@ -7764,6 +7785,9 @@
 msgid "Search for Buddy by Email Address..."
 msgstr "Partner keresése e-mail cím szerint…"
 
+msgid "Don't use encryption"
+msgstr "Ne használjon titkosítást"
+
 msgid "Use clientLogin"
 msgstr "Kliensbejelentkezés használata"
 
@@ -7880,128 +7904,108 @@
 msgid "Voice"
 msgstr "Hang"
 
-#, fuzzy
 msgid "AIM Direct IM"
-msgstr "Közvetlen IM"
-
-#, fuzzy
+msgstr "AIM közvetlen IM"
+
 msgid "Get File"
-msgstr "Fájl küldése"
-
-#, fuzzy
+msgstr "Fájl kérése"
+
 msgid "Games"
-msgstr "Asszámi"
+msgstr "Játékok"
 
 msgid "ICQ Xtraz"
-msgstr ""
+msgstr "ICQ Xtraz"
 
 msgid "Add-Ins"
-msgstr ""
-
-#, fuzzy
+msgstr "Bővítmények"
+
 msgid "Send Buddy List"
-msgstr "Partnerlista"
-
-#, fuzzy
+msgstr "Partnerlista küldése"
+
 msgid "ICQ Direct Connect"
-msgstr "Közvetlen kapcsolatok engedélyezése"
-
-#, fuzzy
+msgstr "ICQ közvetlen kapcsolat"
+
 msgid "AP User"
-msgstr "Felhasználó hitelesítése"
+msgstr "AP felhasználó"
 
 msgid "ICQ RTF"
-msgstr ""
+msgstr "ICQ RTF"
 
 msgid "Nihilist"
-msgstr ""
-
-#, fuzzy
+msgstr "Nihilist"
+
 msgid "ICQ Server Relay"
-msgstr "A kiszolgáló válasza:"
+msgstr "ICQ kiszolgálótovábbítás"
 
 msgid "Old ICQ UTF8"
-msgstr ""
+msgstr "Régi ICQ UTF8"
 
 msgid "Trillian Encryption"
-msgstr ""
+msgstr "Trillian titkosítás"
 
 msgid "ICQ UTF8"
-msgstr ""
+msgstr "ICQ UTF8"
 
 msgid "Hiptop"
-msgstr ""
-
-#, fuzzy
+msgstr "Hiptop"
+
 msgid "Security Enabled"
-msgstr "Biztonsági kód"
-
-#, fuzzy
+msgstr "Biztonság engedélyezve"
+
 msgid "Video Chat"
-msgstr "_Videóhívás"
-
-#, fuzzy
+msgstr "Videocsevegés"
+
 msgid "iChat AV"
-msgstr "Csevegés"
-
-#, fuzzy
+msgstr "iChat AV"
+
 msgid "Live Video"
-msgstr " Videó"
-
-#, fuzzy
+msgstr "Élő videó"
+
 msgid "Camera"
-msgstr "Videokamera"
+msgstr "Kamera"
 
 msgid "Screen Sharing"
-msgstr ""
+msgstr "Képernyőmegosztás"
 
 msgid "IP Address"
 msgstr "IP cím"
 
-#, fuzzy
 msgid "Warning Level"
-msgstr "Figyelmeztetés"
-
-#, fuzzy
+msgstr "Figyelmeztetési szint"
+
 msgid "Buddy Comment"
-msgstr "Partnermegjegyzés:"
-
-#, fuzzy, c-format
+msgstr "Partnermegjegyzés"
+
+#, c-format
 msgid "User information not available: %s"
-msgstr "Titkosítás használata, ha elérhető"
+msgstr "A felhasználóinformációk nem érhetők el: %s"
 
 msgid "Mobile Phone"
 msgstr "Mobiltelefon"
 
-#, fuzzy
 msgid "Personal Web Page"
-msgstr "Személyes mobil"
+msgstr "Személyes weboldal"
 
 #. aim_userinfo_t
-#. strip_html_tags
-#, fuzzy
+#. use_html_status
 msgid "Additional Information"
-msgstr "Opcionális információk:"
+msgstr "További információk"
 
 msgid "Zip Code"
-msgstr ""
-
-#, fuzzy
+msgstr "Irányítószám"
+
 msgid "Work Information"
-msgstr "További információk"
+msgstr "Munkahely-információk"
 
 msgid "Division"
-msgstr ""
-
-#, fuzzy
+msgstr "Részleg"
+
 msgid "Position"
-msgstr "Leírás"
-
-#, fuzzy
+msgstr "Pozíció"
+
 msgid "Web Page"
-msgstr "Honlap"
-
-#, fuzzy
+msgstr "Weboldal"
+
 msgid "Online Since"
 msgstr "Kapcsolódva ezóta"
 
@@ -8009,48 +8013,43 @@
 msgstr "Tagság kezdete"
 
 msgid "Capabilities"
-msgstr ""
+msgstr "Képességek"
 
 #. 4 separate strings are needed in order to ease translators' job
 msgid "Appear Online"
 msgstr "Belépettként látszik"
 
-#, fuzzy
 msgid "Don't Appear Online"
-msgstr "Belépettként látszik"
+msgstr "Ne látsszon belépettként"
 
 msgid "Appear Offline"
 msgstr "Kilépettként látszik"
 
-#, fuzzy
 msgid "Don't Appear Offline"
-msgstr "Kilépettként látszik"
-
-#, fuzzy
+msgstr "Ne látsszon kilépettként"
+
 msgid "you have no buddies on this list"
-msgstr "Kirúgták ebből a MultiMX-ből."
-
-#, fuzzy, c-format
+msgstr "nincsenek partnerei ezen a listán"
+
+#, c-format
 msgid ""
 "You can add a buddy to this list by right-clicking on them and selecting \"%s"
 "\""
 msgstr ""
-"Újra kérheti engedélyezést ezektől a partnerektől a jobb egérgombbal "
-"kattintva a nevükön, és az „Engedélyezés újra kérése” választásával"
-
-#, fuzzy
+"Felveheti a partnert a listára a jobb egérgombbal kattintva a nevén, és a(z) "
+"„%s” kiválasztásával"
+
 msgid "Visible List"
-msgstr "Látható"
+msgstr "Látható számukra"
 
 msgid "These buddies will see your status when you switch to \"Invisible\""
-msgstr ""
-
-#, fuzzy
+msgstr "Ezek a partnerek látni fogják állapotát amikor „Láthatatlanra” vált"
+
 msgid "Invisible List"
-msgstr "Meghívási lista"
+msgstr "Láthatatlan számukra"
 
 msgid "These buddies will always see you as offline"
-msgstr ""
+msgstr "Ezek a partnerek mindig kilépettként fogják látni"
 
 msgid "Aquarius"
 msgstr "Vízöntő"
@@ -10798,8 +10797,8 @@
 #, c-format
 msgid "Access denied: HTTP proxy server forbids port %d tunneling"
 msgstr ""
-"Hozzáférés megtagadva: a HTTP proxy kiszolgáló tiltja az alagutazást a(z) "
-"%d. porton"
+"Hozzáférés megtagadva: a HTTP proxy kiszolgáló tiltja az alagutazást a(z) %"
+"d. porton"
 
 #, c-format
 msgid "Error resolving %s"
@@ -11047,8 +11046,8 @@
 "An error was encountered reading your %s.  The file has not been loaded, and "
 "the old file has been renamed to %s~."
 msgstr ""
-"Hiba történt a(z) %s olvasásakor. Ez a fájl nem lett betöltve, a régi fájl "
-"%s~ néven lett elmentve."
+"Hiba történt a(z) %s olvasásakor. Ez a fájl nem lett betöltve, a régi fájl %"
+"s~ néven lett elmentve."
 
 msgid ""
 "Chat over IM.  Supports AIM, Google Talk, Jabber/XMPP, MSN, Yahoo and more"
@@ -12354,6 +12353,9 @@
 msgid "Lao"
 msgstr "lao"
 
+msgid "Maithili"
+msgstr "Maithili"
+
 msgid "Macedonian"
 msgstr "macedón"
 
@@ -12474,8 +12476,8 @@
 "to multiple messaging services at once.  %s is written in C using GTK+.  %s "
 "is released, and may be modified and redistributed,  under the terms of the "
 "GPL version 2 (or later).  A copy of the GPL is distributed with %s.  %s is "
-"copyrighted by its contributors, a list of whom is also distributed with "
-"%s.  There is no warranty for %s.<BR><BR>"
+"copyrighted by its contributors, a list of whom is also distributed with %"
+"s.  There is no warranty for %s.<BR><BR>"
 msgstr ""
 "A %s egy libpurple alapú moduláris üzenetküldő kliens, amely egyszerre több "
 "üzenetküldő szolgáltatáshoz is képes csatlakozni. A %s GTK+ használatával, C "
@@ -13025,16 +13027,16 @@
 
 #, c-format
 msgid ""
-"Are you sure you want to permanently delete the log of the conversation in "
-"%s which started at %s?"
+"Are you sure you want to permanently delete the log of the conversation in %"
+"s which started at %s?"
 msgstr ""
 "Biztos, hogy törölni akarja a(z) %s csatornán folytatott, %s időpontban "
 "kezdődött beszélgetés naplóját?"
 
 #, c-format
 msgid ""
-"Are you sure you want to permanently delete the system log which started at "
-"%s?"
+"Are you sure you want to permanently delete the system log which started at %"
+"s?"
 msgstr ""
 "Biztos, hogy törölni akarja a(z) %s időpontban kezdődött rendszernaplót?"
 
@@ -15382,8 +15384,8 @@
 #, no-c-format
 msgid ""
 "Error Installing Spellchecking ($R3).$\\rIf retrying fails, manual "
-"installation instructions are at: http://developer.pidgin.im/wiki/Installing"
-"%20Pidgin#manual_win32_spellcheck_installation"
+"installation instructions are at: http://developer.pidgin.im/wiki/Installing%"
+"20Pidgin#manual_win32_spellcheck_installation"
 msgstr ""
 "Hiba a helyesírás-ellenőrző telepítésekor. ($R3).$\\rHa az újrapróbálkozás "
 "meghiúsul, akkor saját kezűleg is telepítheti a http://developer.pidgin.im/"
--- a/po/nl.po	Fri Dec 03 23:03:58 2010 +0000
+++ b/po/nl.po	Sun Dec 05 03:10:05 2010 +0000
@@ -8,8 +8,8 @@
 msgstr ""
 "Project-Id-Version: pidgin 2.7.3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-21 00:12-0400\n"
-"PO-Revision-Date: 2010-10-10 10:55+0100\n"
+"POT-Creation-Date: 2010-11-21 13:55-0500\n"
+"PO-Revision-Date: 2010-11-18 17:03+0100\n"
 "Last-Translator: Gideon van Melle <translations@gvmelle.com>\n"
 "Language-Team: Dutch <translations@gvmelle.com>\n"
 "Language: nl\n"
@@ -1777,7 +1777,7 @@
 msgstr "SSL certificaatfout"
 
 msgid "Unable to validate certificate"
-msgstr "Kan certificaat valideren"
+msgstr "Kan certificaat niet valideren"
 
 #, c-format
 msgid ""
@@ -4887,15 +4887,6 @@
 msgid "Unknown Error in presence"
 msgstr "Onbekende fout in aanwezigheid"
 
-msgid "An error occurred on the in-band bytestream transfer\n"
-msgstr "Er is een fout op de in-band bytestream overdracht\n"
-
-msgid "Transfer was closed."
-msgstr "Bestandsoverdracht gesloten."
-
-msgid "Failed to open in-band bytestream"
-msgstr "Kan geen in-band bytestream openen"
-
 #, c-format
 msgid "Unable to send file to %s, user does not support file transfers"
 msgstr ""
@@ -5214,25 +5205,6 @@
 msgid "The username specified does not exist."
 msgstr "Ingevoerde gebruikersnaam bestaat niet."
 
-#, c-format
-msgid "Buddy list synchronization issue in %s (%s)"
-msgstr "Synchronisatieprobleem in vriendenlijst van %s (%s)"
-
-#, c-format
-msgid ""
-"%s on the local list is inside the group \"%s\" but not on the server list. "
-"Do you want this buddy to be added?"
-msgstr ""
-"%s is op de lokale lijst in de groep \"%s\", maar niet op de serverlijst. "
-"Wilt u deze toevoegen?"
-
-#, c-format
-msgid ""
-"%s is on the local list but not on the server list. Do you want this buddy "
-"to be added?"
-msgstr ""
-"%s is op de lokale lijst, maar niet op de serverlijst. Wilt u deze toevoegen?"
-
 msgid "Unable to parse message"
 msgstr "Kan het bericht niet ontleden"
 
@@ -5403,6 +5375,25 @@
 msgid "MSN Error: %s\n"
 msgstr "MSN-fout: %s\n"
 
+#, c-format
+msgid "Buddy list synchronization issue in %s (%s)"
+msgstr "Synchronisatieprobleem in vriendenlijst van %s (%s)"
+
+#, c-format
+msgid ""
+"%s on the local list is inside the group \"%s\" but not on the server list. "
+"Do you want this buddy to be added?"
+msgstr ""
+"%s is op de lokale lijst in de groep \"%s\", maar niet op de serverlijst. "
+"Wilt u deze toevoegen?"
+
+#, c-format
+msgid ""
+"%s is on the local list but not on the server list. Do you want this buddy "
+"to be added?"
+msgstr ""
+"%s is op de lokale lijst, maar niet op de serverlijst. Wilt u deze toevoegen?"
+
 msgid "Other Contacts"
 msgstr "Andere Contactpersonen"
 
@@ -5454,12 +5445,24 @@
 msgid "Set friendly name for %s."
 msgstr "Geef een bijnaam voor %s."
 
-msgid "Set your friendly name."
-msgstr "Bijnaam instellen."
+msgid "Set Friendly Name"
+msgstr "Geef Bijnaam"
 
 msgid "This is the name that other MSN buddies will see you as."
 msgstr "Dit is de naam die andere MSN vrienden van u zullen zien."
 
+msgid "This Location"
+msgstr "Deze Locatie"
+
+msgid "This is the name that identifies this location"
+msgstr "Dit is de naam die deze locatie indentificeert."
+
+msgid "Other Locations"
+msgstr "andere Locaties"
+
+msgid "You can sign out from other locations here"
+msgstr "U kunt u hier bij andere locaties afmelden."
+
 msgid "Set your home phone number."
 msgstr "Telefoonnummer voor thuis instellen."
 
@@ -5546,6 +5549,9 @@
 msgid "Set Friendly Name..."
 msgstr "Bijnaam instellen..."
 
+msgid "View Locations..."
+msgstr "Bekijk Locaties..."
+
 msgid "Set Home Phone Number..."
 msgstr "Telefoon thuis instellen..."
 
@@ -6953,6 +6959,13 @@
 "U heeft u te snel aan en afgemeld. Wacht 10 minuten en probeer het nog een "
 "keer. Als u verder gaat moet u nog langer wachten."
 
+msgid ""
+"You required encryption in your account settings, but one of the servers "
+"doesn't support it."
+msgstr ""
+"U heeft encryptie nodig volgens uw account instellingen, maar één van de "
+"servers ondersteunt dit niet."
+
 #. Note to translators: The first %s is a URL, the second is an
 #. error message.
 #, c-format
@@ -7266,6 +7279,13 @@
 "met een letter en slechts cijfers, letters en spaties bevatten, of slechts "
 "nummers bevatten."
 
+msgid ""
+"You required encryption in your account settings, but encryption is not "
+"supported by your system."
+msgstr ""
+"U heeft encryptie nodig volgens uw account instellingen, maar encryptie "
+"wordt niet door uw systeem ondersteund."
+
 #, c-format
 msgid "You may be disconnected shortly.  If so, check %s for updates."
 msgstr ""
@@ -7783,13 +7803,11 @@
 msgid "Set Privacy Options..."
 msgstr "Privacy-opties instellen..."
 
-#, fuzzy
 msgid "Show Visible List"
-msgstr "Vriendenlijst _weergeven"
-
-#, fuzzy
+msgstr "Toon Zichtbaren Lijst"
+
 msgid "Show Invisible List"
-msgstr "Uitnodigingslijst"
+msgstr "Toon Onzichtbaren Lijst"
 
 #. AIM actions
 msgid "Confirm Account"
@@ -7807,6 +7825,9 @@
 msgid "Search for Buddy by Email Address..."
 msgstr "Vriend zoeken door middel van e-mail..."
 
+msgid "Don't use encryption"
+msgstr "Gebruik geen encryptie"
+
 msgid "Use clientLogin"
 msgstr "Gebruik clientLogin"
 
@@ -7999,9 +8020,9 @@
 msgid "Buddy Comment"
 msgstr "Opmerking bij Vriend"
 
-#, fuzzy, c-format
+#, c-format
 msgid "User information not available: %s"
-msgstr "Gebruik encryptie indien aanwezig"
+msgstr "Gebruikersinformatie niet beschikbaar: %s"
 
 msgid "Mobile Phone"
 msgstr "Mobiel nummer"
@@ -8010,7 +8031,7 @@
 msgstr "Persoonlijke webpagina"
 
 #. aim_userinfo_t
-#. strip_html_tags
+#. use_html_status
 msgid "Additional Information"
 msgstr "Extra informatie"
 
@@ -8038,46 +8059,54 @@
 msgid "Capabilities"
 msgstr "Mogelijkheden"
 
-#. 4 separate strings are needed in order to ease translators' job
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear online to the chosen user even when your status is set to
+#. Invisible.
 msgid "Appear Online"
 msgstr "Online weergeven"
 
-#, fuzzy
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user when your status is set to
+#. Invisible (this is the default).
 msgid "Don't Appear Online"
-msgstr "Online weergeven"
-
+msgstr "Niet Online weergeven"
+
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to always appear offline to the chosen user (even when your status
+#. isn't Invisible).
 msgid "Appear Offline"
 msgstr "offline weergeven"
 
-#, fuzzy
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user if you are invisible, and
+#. appear online to the chosen user if you are not invisible (this is the
+#. default).
 msgid "Don't Appear Offline"
-msgstr "offline weergeven"
-
-#, fuzzy
+msgstr "Niet Offline weergeven"
+
 msgid "you have no buddies on this list"
-msgstr "U bent uit deze MultiMX gegooid."
-
-#, fuzzy, c-format
+msgstr "U heeft geen vrienden op deze lijst"
+
+#, c-format
 msgid ""
 "You can add a buddy to this list by right-clicking on them and selecting \"%s"
 "\""
 msgstr ""
-"U kunt opnieuw toestemming aanvragen door met de rechter muisknop op de "
-"vrienden te klikken en de optie \"Opnieuw toestemming vragen.\" te kiezen."
-
-#, fuzzy
+"U kunt een vriend toevoegen aan deze lijst door rechts op een van hern te "
+"klikken en dan \"%s\" te selecteren"
+
 msgid "Visible List"
-msgstr "Beschikbaar"
+msgstr "Zichtbaren Lijst"
 
 msgid "These buddies will see your status when you switch to \"Invisible\""
 msgstr ""
-
-#, fuzzy
+"Deze vrienden kunnen uw status zien als u overschakelt naar \"Onzichtbaar\""
+
 msgid "Invisible List"
-msgstr "Uitnodigingslijst"
+msgstr "Onzichtbaren Lijst"
 
 msgid "These buddies will always see you as offline"
-msgstr ""
+msgstr "Deze vrienden zullen u altijd als Offline zien"
 
 msgid "Aquarius"
 msgstr "Waterman"
@@ -12382,6 +12411,9 @@
 msgid "Lao"
 msgstr "Laotiaans"
 
+msgid "Maithili"
+msgstr "Maithili"
+
 msgid "Macedonian"
 msgstr "Macedonisch"
 
@@ -15525,6 +15557,18 @@
 msgid "You do not have permission to uninstall this application."
 msgstr "U mag dit programma niet verwijderen."
 
+#~ msgid "An error occurred on the in-band bytestream transfer\n"
+#~ msgstr "Er is een fout op de in-band bytestream overdracht\n"
+
+#~ msgid "Transfer was closed."
+#~ msgstr "Bestandsoverdracht gesloten."
+
+#~ msgid "Failed to open in-band bytestream"
+#~ msgstr "Kan geen in-band bytestream openen"
+
+#~ msgid "Set your friendly name."
+#~ msgstr "Bijnaam instellen."
+
 #~ msgid "The certificate has expired and should not be considered valid."
 #~ msgstr ""
 #~ "Het certificaat is verlopen en moet niet als geldig worden beschouwd."
--- a/po/nn.po	Fri Dec 03 23:03:58 2010 +0000
+++ b/po/nn.po	Sun Dec 05 03:10:05 2010 +0000
@@ -5,8 +5,8 @@
 msgstr ""
 "Project-Id-Version: gtranslator\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-21 00:12-0400\n"
-"PO-Revision-Date: 2010-10-11 01:26+0100\n"
+"POT-Creation-Date: 2010-11-21 13:55-0500\n"
+"PO-Revision-Date: 2010-11-15 21:27+0100\n"
 "Last-Translator: Yngve Spjeld Landro <l10n@landro.net>\n"
 "Language-Team: Norwegian Nynorsk <l10n@landro.net>\n"
 "Language: nn\n"
@@ -3841,7 +3841,7 @@
 msgstr "Autentisering i klartekst"
 
 msgid "You require encryption, but it is not available on this server."
-msgstr "Du krev kryptering som ikkje er tilgjengeleg på denne tenaren."
+msgstr "Du krev kryptering, men han finst ikkje på denne tenaren."
 
 msgid "Invalid challenge from server"
 msgstr "Ugyldig utfordring frå tenaren"
@@ -4843,15 +4843,6 @@
 msgid "Unknown Error in presence"
 msgstr "Ukjend feil til stades"
 
-msgid "An error occurred on the in-band bytestream transfer\n"
-msgstr "Overføringa av samtidsdatastraumen feila\n"
-
-msgid "Transfer was closed."
-msgstr "Overføringa blei lukka."
-
-msgid "Failed to open in-band bytestream"
-msgstr "Klarte ikkje å opna samtidsdatastraum"
-
 #, c-format
 msgid "Unable to send file to %s, user does not support file transfers"
 msgstr ""
@@ -5169,26 +5160,6 @@
 msgid "The username specified does not exist."
 msgstr "Brukarnamnet finst ikkje"
 
-#, c-format
-msgid "Buddy list synchronization issue in %s (%s)"
-msgstr "Problem med synkroniseringa av vennelista i %s (%s)"
-
-#, c-format
-msgid ""
-"%s on the local list is inside the group \"%s\" but not on the server list. "
-"Do you want this buddy to be added?"
-msgstr ""
-"%s på den lokale lista er med i gruppa \"%s\", men ikkje på tenarlista. "
-"Ønskjer du å leggja ho/han til?"
-
-#, c-format
-msgid ""
-"%s is on the local list but not on the server list. Do you want this buddy "
-"to be added?"
-msgstr ""
-"%s er i den lokale lista, men ikkje på tenarlista. Ønskjer du å leggja ho/"
-"han til?"
-
 msgid "Unable to parse message"
 msgstr "Klarte ikkje å tyda meldinga"
 
@@ -5359,6 +5330,26 @@
 msgid "MSN Error: %s\n"
 msgstr "MSN-feil: %s\n"
 
+#, c-format
+msgid "Buddy list synchronization issue in %s (%s)"
+msgstr "Problem med synkroniseringa av vennelista i %s (%s)"
+
+#, c-format
+msgid ""
+"%s on the local list is inside the group \"%s\" but not on the server list. "
+"Do you want this buddy to be added?"
+msgstr ""
+"%s på den lokale lista er med i gruppa \"%s\", men ikkje på tenarlista. "
+"Ønskjer du å leggja ho/han til?"
+
+#, c-format
+msgid ""
+"%s is on the local list but not on the server list. Do you want this buddy "
+"to be added?"
+msgstr ""
+"%s er i den lokale lista, men ikkje på tenarlista. Ønskjer du å leggja ho/"
+"han til?"
+
 msgid "Other Contacts"
 msgstr "Andre kontaktar"
 
@@ -5411,12 +5402,24 @@
 msgid "Set friendly name for %s."
 msgstr "Vel visingsnamnet til %s."
 
-msgid "Set your friendly name."
-msgstr "Vel visingsnamn."
+msgid "Set Friendly Name"
+msgstr "Vel visingsnamn"
 
 msgid "This is the name that other MSN buddies will see you as."
 msgstr "Dette er namnet som vil synast hos andre MSN-venner."
 
+msgid "This Location"
+msgstr "Denne staden"
+
+msgid "This is the name that identifies this location"
+msgstr "Dette er namnet som identifiserer denne staden"
+
+msgid "Other Locations"
+msgstr "Andre stader"
+
+msgid "You can sign out from other locations here"
+msgstr "Du kan logga ut frå andre stader her"
+
 msgid "Set your home phone number."
 msgstr "Skriv inn heimetelefonnummeret ditt."
 
@@ -5502,6 +5505,9 @@
 msgid "Set Friendly Name..."
 msgstr "Vel visingsnamn…"
 
+msgid "View Locations..."
+msgstr "Vel stader…"
+
 msgid "Set Home Phone Number..."
 msgstr "Skriv inn heimetelefonnummer…"
 
@@ -5862,17 +5868,16 @@
 msgid "Retrieving buddy list"
 msgstr "Hentar vennelista"
 
-# dårleg formulering?
 #, c-format
 msgid "%s requests to view your webcam, but this request is not yet supported."
 msgstr ""
-"%s spør om å få sjå nettkameraet ditt. Denne funksjonen er enno ikkje støtta."
-
-# dårleg formulering?
+"%s spør om løyve til å sjå nettkameraet ditt, men førespurnaden er enno "
+"ikkje støtta."
+
 #, c-format
 msgid "%s invited you to view his/her webcam, but this is not yet supported."
 msgstr ""
-"%s har invitert deg til å få sjå nettkameraet hans/hennar, men funksjonen er "
+"%s har gjeve deg løyve til å sjå nettkameraet sitt, men denne funksjonen er "
 "enno ikkje støtta."
 
 msgid "Away From Computer"
@@ -6889,6 +6894,13 @@
 "Du har kopla til og blitt fråkopla for ofte. Vent i ti minutt og prøv igjen. "
 "Held du fram med å prøva, vil du måtta venta endå lenger."
 
+msgid ""
+"You required encryption in your account settings, but one of the servers "
+"doesn't support it."
+msgstr ""
+"Du krev kryptering i kontoinnstillingane dine, men ein av tenarane kan ikkje "
+"gje deg det."
+
 #. Note to translators: The first %s is a URL, the second is an
 #. error message.
 #, c-format
@@ -7200,6 +7212,13 @@
 "vera ei gyldig e-postadresse, eller begynna med ein bokstav og berre "
 "innehalda bokstavar, tal og mellomrom, eller berre innehalda tal."
 
+msgid ""
+"You required encryption in your account settings, but encryption is not "
+"supported by your system."
+msgstr ""
+"Du krev kryptering i kontoinnstillingane dine, men systemet ditt kan ikkje "
+"gje deg det."
+
 #, c-format
 msgid "You may be disconnected shortly.  If so, check %s for updates."
 msgstr ""
@@ -7704,13 +7723,11 @@
 msgid "Set Privacy Options..."
 msgstr "Personvernval…"
 
-#, fuzzy
 msgid "Show Visible List"
-msgstr "Vis venne_liste"
-
-#, fuzzy
+msgstr "Vis synleg liste"
+
 msgid "Show Invisible List"
-msgstr "Invitasjonsliste"
+msgstr "Vis usynleg liste"
 
 #. AIM actions
 msgid "Confirm Account"
@@ -7728,6 +7745,9 @@
 msgid "Search for Buddy by Email Address..."
 msgstr "Finn venn utfrå e-postadressa…"
 
+msgid "Don't use encryption"
+msgstr "Bruk ikkje kryptering"
+
 msgid "Use clientLogin"
 msgstr "Bruk klientpålogging"
 
@@ -7916,9 +7936,9 @@
 msgstr "Vennenotat"
 
 # 20101010 ylan meiner "mogleg" er betre enn "tilgjengeleg"
-#, fuzzy, c-format
+#, c-format
 msgid "User information not available: %s"
-msgstr "Bruk kryptering om mogleg"
+msgstr "Brukaropplysningar er ikkje tilgengelege: %s"
 
 msgid "Mobile Phone"
 msgstr "Mobiltelefon"
@@ -7927,7 +7947,7 @@
 msgstr "Personelg nettside"
 
 #. aim_userinfo_t
-#. strip_html_tags
+#. use_html_status
 msgid "Additional Information"
 msgstr "Tilleggsinformasjon"
 
@@ -7955,46 +7975,53 @@
 msgid "Capabilities"
 msgstr "Evner"
 
-#. 4 separate strings are needed in order to ease translators' job
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear online to the chosen user even when your status is set to
+#. Invisible.
 msgid "Appear Online"
 msgstr "Framstå som tilkopla"
 
-#, fuzzy
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user when your status is set to
+#. Invisible (this is the default).
 msgid "Don't Appear Online"
-msgstr "Framstå som tilkopla"
-
+msgstr "Framstå som fråkopla"
+
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to always appear offline to the chosen user (even when your status
+#. isn't Invisible).
 msgid "Appear Offline"
-msgstr "Verkar vera fråkopla"
-
-#, fuzzy
+msgstr "Framstå som fråkopla"
+
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user if you are invisible, and
+#. appear online to the chosen user if you are not invisible (this is the
+#. default).
 msgid "Don't Appear Offline"
-msgstr "Verkar vera fråkopla"
-
-#, fuzzy
+msgstr "Framstå som tilkopla"
+
 msgid "you have no buddies on this list"
-msgstr "Du er blitt sparka ut frå denne MultiMX-en."
-
-#, fuzzy, c-format
+msgstr "du har ingen venner på denne lista"
+
+#, c-format
 msgid ""
 "You can add a buddy to this list by right-clicking on them and selecting \"%s"
 "\""
 msgstr ""
-"Du kan be om godkjenning frå desse vennene igjen ved å høgreklikka dei og "
-"velja \"Spør om ny godkjenning.\""
-
-#, fuzzy
+"Du kan leggja til ein venn i denne lista ved å høgreklikka han og velja \"%s"
+"\""
+
 msgid "Visible List"
-msgstr "Synleg"
+msgstr "Synleg liste"
 
 msgid "These buddies will see your status when you switch to \"Invisible\""
-msgstr ""
-
-#, fuzzy
+msgstr "Desse vennene vil sjå statusen din om du byter til \"Usynleg\" "
+
 msgid "Invisible List"
-msgstr "Invitasjonsliste"
+msgstr "Usynleg liste"
 
 msgid "These buddies will always see you as offline"
-msgstr ""
+msgstr "Desse vennene vil alltid sjå deg som fråkopla"
 
 msgid "Aquarius"
 msgstr "Vassmannen"
@@ -12280,6 +12307,9 @@
 msgid "Lao"
 msgstr "Lao"
 
+msgid "Maithili"
+msgstr "Maithili"
+
 msgid "Macedonian"
 msgstr "Makedonsk"
 
@@ -15386,84 +15416,14 @@
 msgid "You do not have permission to uninstall this application."
 msgstr "Du har ikkje rettar til å avinstallera dette programmet."
 
-#~ msgid "The certificate has expired and should not be considered valid."
-#~ msgstr "Sertifikatet har gått ut og kan ikkje reknast for å vera gyldig."
-
-#~ msgid "Require SSL/TLS"
-#~ msgstr "Krev SSL/TLS"
-
-#~ msgid "Force old (port 5223) SSL"
-#~ msgstr "Overstyr med gammal SSL (port 5223)"
-
-#~ msgid ""
-#~ "[Unable to display a message from this user because it contained invalid "
-#~ "characters.]"
-#~ msgstr ""
-#~ "Klarer ikkje visa ei melding frå denne brukaren: ho inneheldt ulovlege "
-#~ "teikn.]"
-
-#~ msgid "Search for Buddy by Information"
-#~ msgstr "Søk etter venn utfrå opplysningar"
-
-#~ msgid "The nick name you entered is invalid."
-#~ msgstr "Kallenamnet du skreiv er ugyldig."
-
-#~ msgid "MXit Login Name"
-#~ msgstr "Påloggingsnamn MXit"
-
-#~ msgid "Nick Name"
-#~ msgstr "Kallenamn"
-
-#~ msgid "Your Mobile Number..."
-#~ msgstr "Mobiltelefonnummeret ditt…"
-
-#~ msgid "/Media/_Hangup"
-#~ msgstr "/Media/_Legg på"
-
-#~ msgid "The certificate is not valid yet."
-#~ msgstr "Sertifikatet er ikkje gyldig enno."
-
-#~ msgid "Rate to host"
-#~ msgstr "Fart mot vert"
-
-#~ msgid "Rate to client"
-#~ msgstr "Fart mot klient"
-
-#~ msgid "Unknown reason."
-#~ msgstr "Ukjend årsak."
-
-#~ msgid "Current Mood"
-#~ msgstr "Sinnsstemninga no"
-
-#~ msgid "New Mood"
-#~ msgstr "Ny sinnsstemning"
-
-#~ msgid "Change your Mood"
-#~ msgstr "Endra sinnsstemninga di"
-
-#~ msgid "How do you feel right now?"
-#~ msgstr "Korleis kjenner du deg nett no?"
-
-#~ msgid "Change Mood..."
-#~ msgstr "Endra sinnsstemninga…"
-
-#~ msgid "Orientation"
-#~ msgstr "Orientering"
-
-#~ msgid "The orientation of the tray."
-#~ msgstr "Panelorienteringa."
-
-#~ msgid "Artist"
-#~ msgstr "Kunstnar"
-
-#~ msgid "Album"
-#~ msgstr "Album"
-
-#~ msgid "Pager server"
-#~ msgstr "Søkjetenestetenar"
-
-#~ msgid "Yahoo Chat server"
-#~ msgstr "Yahoo pratetenar"
-
-#~ msgid "Yahoo Chat port"
-#~ msgstr "Yahoo prateport"
+#~ msgid "An error occurred on the in-band bytestream transfer\n"
+#~ msgstr "Overføringa av samtidsdatastraumen feila\n"
+
+#~ msgid "Transfer was closed."
+#~ msgstr "Overføringa blei lukka."
+
+#~ msgid "Failed to open in-band bytestream"
+#~ msgstr "Klarte ikkje å opna samtidsdatastraum"
+
+#~ msgid "Set your friendly name."
+#~ msgstr "Vel visingsnamn."
--- a/po/pl.po	Fri Dec 03 23:03:58 2010 +0000
+++ b/po/pl.po	Sun Dec 05 03:10:05 2010 +0000
@@ -13,8 +13,8 @@
 msgstr ""
 "Project-Id-Version: Pidgin Polish translation\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-21 00:12-0400\n"
-"PO-Revision-Date: 2010-10-20 12:58+0200\n"
+"POT-Creation-Date: 2010-11-21 13:55-0500\n"
+"PO-Revision-Date: 2010-11-16 22:28+0100\n"
 "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
 "Language-Team: Polish <pl@li.org>\n"
 "Language: pl\n"
@@ -4883,15 +4883,6 @@
 msgid "Unknown Error in presence"
 msgstr "Nieznany błąd obecności"
 
-msgid "An error occurred on the in-band bytestream transfer\n"
-msgstr "Wystąpił błąd przesyłania strumienia bitów w paśmie\n"
-
-msgid "Transfer was closed."
-msgstr "Przesyłanie zostało zamknięte."
-
-msgid "Failed to open in-band bytestream"
-msgstr "Otwarcie strumienia bitów w paśmie się nie powiodło"
-
 #, c-format
 msgid "Unable to send file to %s, user does not support file transfers"
 msgstr ""
@@ -5209,26 +5200,6 @@
 msgid "The username specified does not exist."
 msgstr "Podana nazwa użytkownika nie istnieje."
 
-#, c-format
-msgid "Buddy list synchronization issue in %s (%s)"
-msgstr "Problem synchronizacji listy znajomych w %s (%s)"
-
-#, c-format
-msgid ""
-"%s on the local list is inside the group \"%s\" but not on the server list. "
-"Do you want this buddy to be added?"
-msgstr ""
-"Użytkownik %s na lokalnej liście jest w grupie \"%s\", ale nie ma go na "
-"serwerze. Dodać tego znajomego?"
-
-#, c-format
-msgid ""
-"%s is on the local list but not on the server list. Do you want this buddy "
-"to be added?"
-msgstr ""
-"Użytkownik %s znajduje się na lokalnej liście, ale nie ma go na serwerze. "
-"Dodać tego użytkownika?"
-
 msgid "Unable to parse message"
 msgstr "Nie można przetworzyć wiadomości"
 
@@ -5399,6 +5370,26 @@
 msgid "MSN Error: %s\n"
 msgstr "Błąd MSN: %s\n"
 
+#, c-format
+msgid "Buddy list synchronization issue in %s (%s)"
+msgstr "Problem synchronizacji listy znajomych w %s (%s)"
+
+#, c-format
+msgid ""
+"%s on the local list is inside the group \"%s\" but not on the server list. "
+"Do you want this buddy to be added?"
+msgstr ""
+"Użytkownik %s na lokalnej liście jest w grupie \"%s\", ale nie ma go na "
+"serwerze. Dodać tego znajomego?"
+
+#, c-format
+msgid ""
+"%s is on the local list but not on the server list. Do you want this buddy "
+"to be added?"
+msgstr ""
+"Użytkownik %s znajduje się na lokalnej liście, ale nie ma go na serwerze. "
+"Dodać tego użytkownika?"
+
 msgid "Other Contacts"
 msgstr "Inne kontakty"
 
@@ -5452,12 +5443,24 @@
 msgid "Set friendly name for %s."
 msgstr "Ustawienie pseudonimu dla %s."
 
-msgid "Set your friendly name."
-msgstr "Ustawienie pseudonimu."
+msgid "Set Friendly Name"
+msgstr "Ustaw pseudonim"
 
 msgid "This is the name that other MSN buddies will see you as."
 msgstr "Ta nazwa będzie widoczna dla innych znajomych MSN."
 
+msgid "This Location"
+msgstr "To położenie"
+
+msgid "This is the name that identifies this location"
+msgstr "Ta nazwa identyfikuje to położenie."
+
+msgid "Other Locations"
+msgstr "Inne położenia"
+
+msgid "You can sign out from other locations here"
+msgstr "Tutaj można wylogować się z innych położeń"
+
 msgid "Set your home phone number."
 msgstr "Ustawienie numeru telefonu domowego."
 
@@ -5543,6 +5546,9 @@
 msgid "Set Friendly Name..."
 msgstr "Ustaw pseudonim..."
 
+msgid "View Locations..."
+msgstr "Wyświetl położenia..."
+
 msgid "Set Home Phone Number..."
 msgstr "Ustaw domowy numer telefonu..."
 
@@ -6953,6 +6959,13 @@
 "spróbować ponownie. Jeśli próba zostanie podjęta teraz, czas oczekiwania "
 "jeszcze się wydłuży."
 
+msgid ""
+"You required encryption in your account settings, but one of the servers "
+"doesn't support it."
+msgstr ""
+"Szyfrowanie jest wymagane w ustawieniach konta, ale jeden z serwerów go nie "
+"obsługuje."
+
 #. Note to translators: The first %s is a URL, the second is an
 #. error message.
 #, c-format
@@ -7263,6 +7276,13 @@
 "Nazwy użytkowników muszą być prawidłowymi adresami e-mail lub zaczynać się "
 "od litery i zawierać tylko litery, liczby i spacje lub zawierać tylko liczby."
 
+msgid ""
+"You required encryption in your account settings, but encryption is not "
+"supported by your system."
+msgstr ""
+"Wymagane jest szyfrowanie w ustawieniach konta, ale nie jest ono obsługiwane "
+"przez system."
+
 #, c-format
 msgid "You may be disconnected shortly.  If so, check %s for updates."
 msgstr ""
@@ -7802,13 +7822,11 @@
 msgid "Set Privacy Options..."
 msgstr "Ustaw opcje prywatności..."
 
-#, fuzzy
 msgid "Show Visible List"
-msgstr "Lista widocznych"
-
-#, fuzzy
+msgstr "Wyświetl lista widocznych"
+
 msgid "Show Invisible List"
-msgstr "Lista niewidocznych"
+msgstr "Wyświetl listę niewidocznych"
 
 #. AIM actions
 msgid "Confirm Account"
@@ -7826,6 +7844,9 @@
 msgid "Search for Buddy by Email Address..."
 msgstr "Wyszukaj znajomych według adresu e-mail..."
 
+msgid "Don't use encryption"
+msgstr "Bez użycia szyfrowania"
+
 msgid "Use clientLogin"
 msgstr "Użycie logowania klienta"
 
@@ -8026,7 +8047,7 @@
 msgstr "Osobista strona WWW"
 
 #. aim_userinfo_t
-#. strip_html_tags
+#. use_html_status
 msgid "Additional Information"
 msgstr "Dodatkowe informacje"
 
@@ -8054,16 +8075,28 @@
 msgid "Capabilities"
 msgstr "Możliwości"
 
-#. 4 separate strings are needed in order to ease translators' job
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear online to the chosen user even when your status is set to
+#. Invisible.
 msgid "Appear Online"
 msgstr "Wygląda na tryb online"
 
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user when your status is set to
+#. Invisible (this is the default).
 msgid "Don't Appear Online"
 msgstr "Nie wygląda na tryb online"
 
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to always appear offline to the chosen user (even when your status
+#. isn't Invisible).
 msgid "Appear Offline"
 msgstr "Wygląda na tryb offline"
 
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user if you are invisible, and
+#. appear online to the chosen user if you are not invisible (this is the
+#. default).
 msgid "Don't Appear Offline"
 msgstr "Nie wygląda na tryb offline"
 
@@ -12376,6 +12409,9 @@
 msgid "Lao"
 msgstr "laotański"
 
+msgid "Maithili"
+msgstr "maithili"
+
 msgid "Macedonian"
 msgstr "macedoński"
 
--- a/po/ro.po	Fri Dec 03 23:03:58 2010 +0000
+++ b/po/ro.po	Sun Dec 05 03:10:05 2010 +0000
@@ -5,11 +5,11 @@
 # Contributions: 2007, Alexandru Szasz <alexxed@gmail.com>
 msgid ""
 msgstr ""
-"Project-Id-Version: pidgin-2.7.4\n"
+"Project-Id-Version: pidgin-2.7.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-21 00:12-0400\n"
-"PO-Revision-Date: 2010-10-20 23:11+0300\n"
-"Last-Translator: Mișu Moldovan <dumol@gnome.org>\n"
+"POT-Creation-Date: 2010-11-21 13:55-0500\n"
+"PO-Revision-Date: 2010-11-20 18:36+0200\n"
+"Last-Translator: Mișu Moldovan <dumol@l10n.ro>\n"
 "Language-Team: Romanian <debian-l10n-romanian@lists.debian.org>\n"
 "Language: ro\n"
 "MIME-Version: 1.0\n"
@@ -4861,15 +4861,6 @@
 msgid "Unknown Error in presence"
 msgstr "Eroare necunoscută în starea de prezență"
 
-msgid "An error occurred on the in-band bytestream transfer\n"
-msgstr "A apărut o eroare la transferul de octeți în-bandă\n"
-
-msgid "Transfer was closed."
-msgstr "Transferul a fost închis"
-
-msgid "Failed to open in-band bytestream"
-msgstr "Nu s-a putut deschide fluxul de octeți în-bandă"
-
 #, c-format
 msgid "Unable to send file to %s, user does not support file transfers"
 msgstr ""
@@ -5186,26 +5177,6 @@
 msgid "The username specified does not exist."
 msgstr "Numele de utilizator specificat nu există."
 
-#, c-format
-msgid "Buddy list synchronization issue in %s (%s)"
-msgstr "Probleme de sincronizare a liste de contacte în %s (%s)"
-
-#, c-format
-msgid ""
-"%s on the local list is inside the group \"%s\" but not on the server list. "
-"Do you want this buddy to be added?"
-msgstr ""
-"%s din grupul „%s” e în lista contactelor, dar nu este în lista de pe "
-"server. Doriți să adăugați acest contact?"
-
-#, c-format
-msgid ""
-"%s is on the local list but not on the server list. Do you want this buddy "
-"to be added?"
-msgstr ""
-"%s este în lista contactelor, dar nu și în lista de pe server. Doriți să "
-"adăugați acest contact?"
-
 msgid "Unable to parse message"
 msgstr "Nu se poate prelucra mesajul"
 
@@ -5376,6 +5347,26 @@
 msgid "MSN Error: %s\n"
 msgstr "Eroare MSN: %s\n"
 
+#, c-format
+msgid "Buddy list synchronization issue in %s (%s)"
+msgstr "Probleme de sincronizare a liste de contacte în %s (%s)"
+
+#, c-format
+msgid ""
+"%s on the local list is inside the group \"%s\" but not on the server list. "
+"Do you want this buddy to be added?"
+msgstr ""
+"%s din grupul „%s” e în lista contactelor, dar nu este în lista de pe "
+"server. Doriți să adăugați acest contact?"
+
+#, c-format
+msgid ""
+"%s is on the local list but not on the server list. Do you want this buddy "
+"to be added?"
+msgstr ""
+"%s este în lista contactelor, dar nu și în lista de pe server. Doriți să "
+"adăugați acest contact?"
+
 msgid "Other Contacts"
 msgstr "Alte contacte"
 
@@ -5428,12 +5419,24 @@
 msgid "Set friendly name for %s."
 msgstr "Alegeți un pseudonim pentru %s."
 
-msgid "Set your friendly name."
-msgstr "Alegeți-vă un pseudonim propriu."
+msgid "Set Friendly Name"
+msgstr "Introducere pseudonim"
 
 msgid "This is the name that other MSN buddies will see you as."
 msgstr "Acesta este numele sub care veți fi cunoscuți de contactele MSN."
 
+msgid "This Location"
+msgstr "Acest loc"
+
+msgid "This is the name that identifies this location"
+msgstr "Aceasta este denumirea pentru acest loc"
+
+msgid "Other Locations"
+msgstr "Alte locuri"
+
+msgid "You can sign out from other locations here"
+msgstr "Aici puteți să anulați alte autentificări curente"
+
 msgid "Set your home phone number."
 msgstr "Introduceți numărul telefonului de acasă."
 
@@ -5520,6 +5523,9 @@
 msgid "Set Friendly Name..."
 msgstr "Introducere pseudonim..."
 
+msgid "View Locations..."
+msgstr "Vizualizare locuri..."
+
 msgid "Set Home Phone Number..."
 msgstr "Introducere număr telefon acasă..."
 
@@ -6926,6 +6932,12 @@
 "V-ați conectat și deconectat prea des. Așteptați zece minute și încercați "
 "din nou. Dacă continuați să încercați, va trebui să așteptați mai mult."
 
+msgid ""
+"You required encryption in your account settings, but one of the servers "
+"doesn't support it."
+msgstr ""
+"Se cere criptare în opțiunile contului, dar unul dintre servere nu o suportă."
+
 #. Note to translators: The first %s is a URL, the second is an
 #. error message.
 #, c-format
@@ -7238,6 +7250,13 @@
 "cu o literă și să conțină doar litere, numere și spații sau să conțină doar "
 "numere."
 
+msgid ""
+"You required encryption in your account settings, but encryption is not "
+"supported by your system."
+msgstr ""
+"Se cere criptare în opțiunile contului, dar acest sistem de operare nu o "
+"suportă."
+
 #, c-format
 msgid "You may be disconnected shortly.  If so, check %s for updates."
 msgstr ""
@@ -7769,13 +7788,11 @@
 msgid "Set Privacy Options..."
 msgstr "Opțiuni de securitate..."
 
-#, fuzzy
 msgid "Show Visible List"
-msgstr "Listă de vizibilitate"
-
-#, fuzzy
+msgstr "Lista celor ce vă văd"
+
 msgid "Show Invisible List"
-msgstr "Listă de invizibilitate"
+msgstr "Lista celor ce nu vă văd"
 
 #. AIM actions
 msgid "Confirm Account"
@@ -7793,6 +7810,9 @@
 msgid "Search for Buddy by Email Address..."
 msgstr "Căutare contact după adresa de mail..."
 
+msgid "Don't use encryption"
+msgstr "Nu utiliza criptare"
+
 msgid "Use clientLogin"
 msgstr "Utilizați clientLogin"
 
@@ -7992,7 +8012,7 @@
 msgstr "Pagină personală"
 
 #. aim_userinfo_t
-#. strip_html_tags
+#. use_html_status
 msgid "Additional Information"
 msgstr "Alte informații"
 
@@ -8020,16 +8040,28 @@
 msgid "Capabilities"
 msgstr "Facilități"
 
-#. 4 separate strings are needed in order to ease translators' job
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear online to the chosen user even when your status is set to
+#. Invisible.
 msgid "Appear Online"
 msgstr "Apar online"
 
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user when your status is set to
+#. Invisible (this is the default).
 msgid "Don't Appear Online"
 msgstr "Nu apar online"
 
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to always appear offline to the chosen user (even when your status
+#. isn't Invisible).
 msgid "Appear Offline"
 msgstr "Apar offline"
 
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user if you are invisible, and
+#. appear online to the chosen user if you are not invisible (this is the
+#. default).
 msgid "Don't Appear Offline"
 msgstr "Nu apar offline"
 
@@ -12354,6 +12386,9 @@
 msgid "Lao"
 msgstr "Lao"
 
+msgid "Maithili"
+msgstr "Maithili"
+
 msgid "Macedonian"
 msgstr "Macedoneană"
 
@@ -15458,3 +15493,15 @@
 
 msgid "You do not have permission to uninstall this application."
 msgstr "Nu aveţi drepturile de acces necesare dezinstalării acestei aplicaţii."
+
+#~ msgid "An error occurred on the in-band bytestream transfer\n"
+#~ msgstr "A apărut o eroare la transferul de octeți în-bandă\n"
+
+#~ msgid "Transfer was closed."
+#~ msgstr "Transferul a fost închis"
+
+#~ msgid "Failed to open in-band bytestream"
+#~ msgstr "Nu s-a putut deschide fluxul de octeți în-bandă"
+
+#~ msgid "Set your friendly name."
+#~ msgstr "Alegeți-vă un pseudonim propriu."
--- a/po/sq.po	Fri Dec 03 23:03:58 2010 +0000
+++ b/po/sq.po	Sun Dec 05 03:10:05 2010 +0000
@@ -8,8 +8,8 @@
 msgstr ""
 "Project-Id-Version: trunk\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-21 00:12-0400\n"
-"PO-Revision-Date: 2010-05-03 11:41+0200\n"
+"POT-Creation-Date: 2010-11-21 13:55-0500\n"
+"PO-Revision-Date: 2010-11-16 20:58+0200\n"
 "Last-Translator: Besnik Bleta <besnik@programeshqip.org>\n"
 "Language-Team: Albanian <besnik@programeshqip.org>\n"
 "Language: sq\n"
@@ -65,9 +65,8 @@
 msgid "Error"
 msgstr "Gabim"
 
-#, fuzzy
 msgid "Account was not modified"
-msgstr "Nuk u shtua llogaria"
+msgstr "Llogaria nuk u ndryshua"
 
 msgid "Account was not added"
 msgstr "Nuk u shtua llogaria"
@@ -78,10 +77,14 @@
 msgid ""
 "The account's protocol cannot be changed while it is connected to the server."
 msgstr ""
+"Protokolli i llogarisë nuk mund të ndryshohet kur është i lidhur te "
+"shërbyesi."
 
 msgid ""
 "The account's username cannot be changed while it is connected to the server."
 msgstr ""
+"Emri i përdoruesit për llogarinë nuk mund të ndryshohet kur është i lidhur "
+"te shërbyesi."
 
 msgid "New mail notifications"
 msgstr "Njoftime poste të re"
@@ -814,7 +817,7 @@
 msgstr "Po pritet të fillojë shpërngulja"
 
 msgid "Cancelled"
-msgstr "Anuluar"
+msgstr "U anulua"
 
 msgid "Failed"
 msgstr "Dështova"
@@ -1299,7 +1302,7 @@
 msgstr "Dikush thotë emrin tuaj në fjalosje"
 
 msgid "Attention received"
-msgstr ""
+msgstr "U mor vëmendje"
 
 msgid "GStreamer Failure"
 msgstr "Dështim i GStreamer-it"
@@ -1726,12 +1729,15 @@
 "The certificate is not valid yet.  Check that your computer's date and time "
 "are accurate."
 msgstr ""
-
-#, fuzzy
+"Dëshmia nuk është ende e vlefshme.  Kontrolloni që data dhe koha e "
+"kompjuterit tuaj janë të sakta."
+
 msgid ""
 "The certificate has expired and should not be considered valid.  Check that "
 "your computer's date and time are accurate."
-msgstr "Dëshmia ka skaduar dhe nuk duhet marrë si e vlefshme."
+msgstr ""
+"Dëshmia ka skaduar dhe nuk duhet marrë si e vlefshme. Kontrolloni në janë të "
+"sakta data dhe ora e kompjuterit."
 
 #. Translators: "domain" refers to a DNS domain (e.g. talk.google.com)
 msgid "The certificate presented is not issued to this domain."
@@ -4073,19 +4079,18 @@
 "Shërbyesi mendon se mirëfilltësimi është i plotë, por klienti nuk mendon "
 "kështu."
 
-#, fuzzy
 msgid "Server may require plaintext authentication over an unencrypted stream"
 msgstr ""
-"karshi një rrjedhe të pakoduar shërbyesi lyp mirëfilltësim me bazë tekst të "
-"thjeshtë"
-
-#, fuzzy, c-format
+"Shërbyesi mund të kërkojë mirëfilltësim në trajtë teksti të thjeshtë përmes "
+"një lidhjeje të pakoduar."
+
+#, c-format
 msgid ""
 "%s may require plaintext authentication over an unencrypted connection.  "
 "Allow this and continue authentication?"
 msgstr ""
-"%s lyp mirëfilltësim në trajtë teksti të thjeshtë përmes një lidhjeje të "
-"pakoduar. Ta lejojë këtë dhe të vazhdojë me mirëfilltësimin? "
+"%s mund të kërkojë mirëfilltësim në trajtë teksti të thjeshtë përmes një "
+"lidhjeje të pakoduar. Të lejohet kjo dhe të vazhdohet me mirëfilltësimin? "
 
 msgid "SASL authentication failed"
 msgstr "Mirëfilltësimi SASL dështoi"
@@ -4984,20 +4989,17 @@
 msgid "Domain"
 msgstr "Përkatësi"
 
-#, fuzzy
 msgid "Require encryption"
-msgstr "Kërko autorizim"
-
-#, fuzzy
+msgstr "Lyp kodim"
+
 msgid "Use encryption if available"
-msgstr "Të dhëna përdoruesi jo të mundshme: %s"
+msgstr "Përdor kodim në qoftë e mundur"
 
 msgid "Use old-style SSL"
-msgstr ""
-
-#, fuzzy
+msgstr "Përdor SSL të vjetër"
+
 msgid "Connection security"
-msgstr "Rivendosje lidhjeje"
+msgstr "Siguri Lidhjeje"
 
 msgid "Allow plaintext auth over unencrypted streams"
 msgstr "Lejo autorizim në formë teksti të thjeshtë në rrjedha të pakoduara"
@@ -5104,15 +5106,6 @@
 msgid "Unknown Error in presence"
 msgstr "Gabim i Panjohur te prania"
 
-msgid "An error occurred on the in-band bytestream transfer\n"
-msgstr "Ndodhi një gabim në shpërnguljen \"in-band bytestream\"\n"
-
-msgid "Transfer was closed."
-msgstr "Shpërngulja u mbyll."
-
-msgid "Failed to open in-band bytestream"
-msgstr "Dështoi në hapjen e \"in-band bytestream\""
-
 #, c-format
 msgid "Unable to send file to %s, user does not support file transfers"
 msgstr ""
@@ -5436,26 +5429,6 @@
 msgid "The username specified does not exist."
 msgstr "Emri i dhënë i përdoruesit nuk ekziston."
 
-#, c-format
-msgid "Buddy list synchronization issue in %s (%s)"
-msgstr "Problem njëkohësimi liste shokësh në %s (%s)"
-
-#, c-format
-msgid ""
-"%s on the local list is inside the group \"%s\" but not on the server list. "
-"Do you want this buddy to be added?"
-msgstr ""
-"%s i listës vendore është brenda grupit \"%s\" por jo në listën e "
-"shërbyesit. Doni të shtohet ky shok?"
-
-#, c-format
-msgid ""
-"%s is on the local list but not on the server list. Do you want this buddy "
-"to be added?"
-msgstr ""
-"%s është në listën vendore por jo në listën e shërbyesit. Doni të shtohet ky "
-"shok?"
-
 msgid "Unable to parse message"
 msgstr "I pazoti të përtypë mesazh"
 
@@ -5626,6 +5599,26 @@
 msgid "MSN Error: %s\n"
 msgstr "Gabim MSN: %s\n"
 
+#, c-format
+msgid "Buddy list synchronization issue in %s (%s)"
+msgstr "Problem njëkohësimi liste shokësh në %s (%s)"
+
+#, c-format
+msgid ""
+"%s on the local list is inside the group \"%s\" but not on the server list. "
+"Do you want this buddy to be added?"
+msgstr ""
+"%s i listës vendore është brenda grupit \"%s\" por jo në listën e "
+"shërbyesit. Doni të shtohet ky shok?"
+
+#, c-format
+msgid ""
+"%s is on the local list but not on the server list. Do you want this buddy "
+"to be added?"
+msgstr ""
+"%s është në listën vendore por jo në listën e shërbyesit. Doni të shtohet ky "
+"shok?"
+
 msgid "Other Contacts"
 msgstr "Kontakte të Tjera"
 
@@ -5678,12 +5671,24 @@
 msgid "Set friendly name for %s."
 msgstr "Caktoni emër miqësor për %s."
 
-msgid "Set your friendly name."
-msgstr "Caktoni ermin tuaj miqësor."
+msgid "Set Friendly Name"
+msgstr "Caktoni Emër Miqësor"
 
 msgid "This is the name that other MSN buddies will see you as."
 msgstr "Ky është emri me të cilin do t'ju shohin shokë të tjerë MSN-së."
 
+msgid "This Location"
+msgstr "Këtë Vend"
+
+msgid "This is the name that identifies this location"
+msgstr "Ky është emri që identifikon këtë vend"
+
+msgid "Other Locations"
+msgstr "Vende të Tjera"
+
+msgid "You can sign out from other locations here"
+msgstr "Këtu mund të dilni prej vendesh të tjera"
+
 msgid "Set your home phone number."
 msgstr "Vini numrin tuaj të telefonit."
 
@@ -5770,6 +5775,9 @@
 msgid "Set Friendly Name..."
 msgstr "Caktoni Emër Miqësor..."
 
+msgid "View Locations..."
+msgstr "Shihni Vendet..."
+
 msgid "Set Home Phone Number..."
 msgstr "Vini Numër Telefoni të Shtëpisë..."
 
@@ -6019,9 +6027,8 @@
 msgid "Show custom smileys"
 msgstr "Shfaq emotikone vetjake"
 
-#, fuzzy
 msgid "Allow direct connections"
-msgstr "I pazoti të krijojë lidhje"
+msgstr "Lejo lidhje të drejtpërdrejta"
 
 msgid "nudge: nudge a user to get their attention"
 msgstr "nudge: preke një përdorues me bërryl për t'i tërhequr vëmendjen"
@@ -6226,9 +6233,8 @@
 msgid "The two PINs you entered do not match."
 msgstr "Dy PIN-et që dhatë nuk përputhen."
 
-#, fuzzy
 msgid "The Display Name you entered is invalid."
-msgstr "Emri që dhatë është i pavlefshëm."
+msgstr "Emri për në Ekran që dhatë është e mangët."
 
 msgid ""
 "The birthday you entered is invalid. The correct format is: 'YYYY-MM-DD'."
@@ -6249,7 +6255,7 @@
 "Të dhënat e profilit tuaj nuk janë marrë ende. Ju lutem,, riprovoni më vonë."
 
 msgid "Your UID"
-msgstr ""
+msgstr "UID-ja juaj"
 
 #. pin
 #. pin (required)
@@ -6333,7 +6339,7 @@
 
 #. mxit login name
 msgid "MXit ID"
-msgstr ""
+msgstr "ID MXit"
 
 #. show the form to the user to complete
 msgid "Register New MXit Account"
@@ -6363,17 +6369,15 @@
 msgid "Invalid country selected. Please try again."
 msgstr "U përzgjodh vend i pavlefshëm. Ju lutem,, riprovoni."
 
-#, fuzzy
 msgid "The MXit ID you entered is not registered. Please register first."
 msgstr ""
-"Emri i përdoruesit nuk është i regjistruar. Ju lutem,, së pari  "
+"ID-ja MXit që dhatë nuk është e regjistruar. Ju lutem, së pari  "
 "regjistrohuni."
 
-#, fuzzy
 msgid "The MXit ID you entered is already registered. Please choose another."
 msgstr ""
-"Ky emër përdoruesi është i regjistruar tashmë. Ju lutem,, zgjidhni një emër "
-"tjetër përdoruesi."
+"ID-ja MXit që dhatë është tashmë e regjistruar. Ju lutem, zgjidhni një "
+"tjetër."
 
 msgid "Internal error. Please try again later."
 msgstr "Gabim i brendshëm. Ju lutem,, riprovoni më vonë."
@@ -6412,17 +6416,15 @@
 msgid "Status Message"
 msgstr "Mesazh Gjendjeje"
 
-#, fuzzy
 msgid "Rejection Message"
-msgstr "Mesazhe të Marrë"
+msgstr "Mesazh Mospranimi"
 
 #. hidden number
 msgid "Hidden Number"
 msgstr "Numër i Fshehur"
 
-#, fuzzy
 msgid "Your MXit ID..."
-msgstr "ID Yahoo..."
+msgstr "ID-ja Juaj MXit..."
 
 #. Configuration options
 #. WAP server (reference: "libpurple/accountopt.h")
@@ -6437,26 +6439,21 @@
 msgstr "Aktivizo flluskën e siglës"
 
 #. you were kicked
-#, fuzzy
 msgid "You have been kicked from this MultiMX."
-msgstr "Jeni përzënë: (%s)"
-
-#, fuzzy
+msgstr "Jepni përzënë nga ky MultiMX."
+
 msgid "was kicked"
-msgstr "Biletë e pavlefshme"
-
-#, fuzzy
+msgstr "u përzu"
+
 msgid "_Room Name:"
-msgstr "_Dhomë:"
+msgstr "_Emër Dhome:"
 
 #. Display system message in chat window
-#, fuzzy
 msgid "You have invited"
-msgstr "Ju ka ardhur postë!"
-
-#, fuzzy
+msgstr "Keni ftuar"
+
 msgid "Last Online"
-msgstr "I lidhur"
+msgstr "Së fundi Online"
 
 #. we must have lost the connection, so terminate it so that we can reconnect
 msgid "We have lost the connection to MXit. Please reconnect."
@@ -7234,6 +7231,13 @@
 "Jeni lidhur e shkëputur shumë shpesh. Prisni dhjetë minuta dhe riprovoni. "
 "nëse vazhdoni të provoni, do t'ju duhet të prisni edhe më."
 
+msgid ""
+"You required encryption in your account settings, but one of the servers "
+"doesn't support it."
+msgstr ""
+"Te rregullimet tuaja për llogarinë kërkuat kodim, por një nga shërbyesat nuk "
+"e mbulon atë. "
+
 #. Note to translators: The first %s is a URL, the second is an
 #. error message.
 #, c-format
@@ -7528,7 +7532,7 @@
 msgstr "I padukshëm"
 
 msgid "Evil"
-msgstr ""
+msgstr "Goxha i keq"
 
 msgid "Depression"
 msgstr "Depresion"
@@ -7571,6 +7575,13 @@
 "të fillojnë me një gërmë dhe të përmbajnë vetëm gërma, numra dhe hapësira, "
 "ose të përmbajnë vetëm numra."
 
+msgid ""
+"You required encryption in your account settings, but encryption is not "
+"supported by your system."
+msgstr ""
+"Te rregullimet tuaja për llogarinë kërkuat kodim, por kodimi nuk mbulohet "
+"nga sistemi juaj. "
+
 #, c-format
 msgid "You may be disconnected shortly.  If so, check %s for updates."
 msgstr ""
@@ -8053,9 +8064,8 @@
 msgid "Change Address To:"
 msgstr "Ndrysho Vendndodhje Si:"
 
-#, fuzzy
 msgid "you are not waiting for authorization"
-msgstr "<i>nuk po prisni për autorizim</i>"
+msgstr "nuk po prisni për autorizim"
 
 msgid "You are awaiting authorization from the following buddies"
 msgstr "Po prisni autorizim prej shokëve vijues"
@@ -8093,13 +8103,11 @@
 msgid "Set Privacy Options..."
 msgstr "Caktoni Mundësi Vetësie..."
 
-#, fuzzy
 msgid "Show Visible List"
-msgstr "Shfaq _Listë Shokësh"
-
-#, fuzzy
+msgstr "Shfaq Listë të Dukshme"
+
 msgid "Show Invisible List"
-msgstr "Listë Ftesash"
+msgstr "Shfaq Listë të Padukshme"
 
 #. AIM actions
 msgid "Confirm Account"
@@ -8117,6 +8125,9 @@
 msgid "Search for Buddy by Email Address..."
 msgstr "Kërkoni një Shok përmes Vendndodhjes Email..."
 
+msgid "Don't use encryption"
+msgstr "Mos përdor kodim"
+
 msgid "Use clientLogin"
 msgstr "Përdor \"clientLogin\""
 
@@ -8315,7 +8326,7 @@
 msgstr "Faqe Web Personale"
 
 #. aim_userinfo_t
-#. strip_html_tags
+#. use_html_status
 msgid "Additional Information"
 msgstr "Të dhëna Shtesë"
 
@@ -8343,46 +8354,53 @@
 msgid "Capabilities"
 msgstr "Aftësi"
 
-#. 4 separate strings are needed in order to ease translators' job
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear online to the chosen user even when your status is set to
+#. Invisible.
 msgid "Appear Online"
 msgstr "Shfaqu I lidhur"
 
-#, fuzzy
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user when your status is set to
+#. Invisible (this is the default).
 msgid "Don't Appear Online"
-msgstr "Shfaqu I lidhur"
-
+msgstr "Mos u Shfaq Online"
+
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to always appear offline to the chosen user (even when your status
+#. isn't Invisible).
 msgid "Appear Offline"
 msgstr "Shfaqet Jo i lidhur"
 
-#, fuzzy
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user if you are invisible, and
+#. appear online to the chosen user if you are not invisible (this is the
+#. default).
 msgid "Don't Appear Offline"
-msgstr "Shfaqet Jo i lidhur"
-
-#, fuzzy
+msgstr "Mos Shfaq Offline"
+
 msgid "you have no buddies on this list"
-msgstr "Jeni përzënë: (%s)"
-
-#, fuzzy, c-format
+msgstr "nuk keni shokë në këtë listë"
+
+#, c-format
 msgid ""
 "You can add a buddy to this list by right-clicking on them and selecting \"%s"
 "\""
 msgstr ""
-"Mund të rikërkoni autorizim prej këtyre shokëve duke djathtas klikuar mbi ta "
-"dhe përzgjedhur \"Rikërko Autorizim.\""
-
-#, fuzzy
+"Një shok mund ta shtoni në këtë listë duke djathtasklikuar mbi të dhe "
+"përzgjedhur \"%s\""
+
 msgid "Visible List"
-msgstr "I dukshëm"
+msgstr "Listë e Dukshme"
 
 msgid "These buddies will see your status when you switch to \"Invisible\""
-msgstr ""
-
-#, fuzzy
+msgstr "Këta shokë do ta shohin gjendjen tuaj kur kaloni si \"I padukshëm\""
+
 msgid "Invisible List"
-msgstr "Listë Ftesash"
+msgstr "Listë e Padukshme"
 
 msgid "These buddies will always see you as offline"
-msgstr ""
+msgstr "Këta shokë do t'ju shohin përherë si offline"
 
 msgid "Aquarius"
 msgstr "Ujori"
@@ -8567,9 +8585,9 @@
 msgid "Your request was rejected."
 msgstr "Kërkesa juaj u hodh poshtë."
 
-#, fuzzy, c-format
+#, c-format
 msgid "%u requires verification: %s"
-msgstr "%u lyp verifikim"
+msgstr "%u lyp verifikim: %s"
 
 msgid "Add buddy question"
 msgstr "Pyetje shtimi shoku"
@@ -10002,7 +10020,7 @@
 msgstr "Nuk mundi të asgjësojë përdorues"
 
 msgid "WATCH"
-msgstr ""
+msgstr "MBIKQYRE"
 
 msgid "Cannot watch user"
 msgstr "S'ndjek dot përdoruesin"
@@ -10653,9 +10671,8 @@
 msgid "Ignore conference and chatroom invitations"
 msgstr "Shpërfill ftesa konferencash dhe dhomash fjalosjeje"
 
-#, fuzzy
 msgid "Use account proxy for HTTP and HTTPS connections"
-msgstr "Përdor ndërmjetës llogarie për lidhje SSL"
+msgstr "Për lidhjet HTTP dhe HTTPS përdor ndërmjetës llogarie "
 
 msgid "Chat room list URL"
 msgstr "Url liste dhome fjalosjeje"
@@ -11597,9 +11614,9 @@
 "Mund t'i riktheheni kësaj dritareje për shtim, përpunim apo heqje llogarish "
 "nga <b>Llogari->Administroni Llogarira</b> te dritarja e Listave të Shokëve"
 
-#, fuzzy, c-format
+#, 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 don të shtojë %s te listë e tij ose e saj shokësh%s%s"
+msgstr "%s%s%s%s don t'ju shtojë (%s) te lista e tij e shokëve %s%s"
 
 #. Buddy List
 msgid "Background Color"
@@ -12653,9 +12670,8 @@
 msgid "Arabic"
 msgstr "Arabe"
 
-#, fuzzy
 msgid "Assamese"
-msgstr "I turpëruar"
+msgstr "Asameze"
 
 msgid "Belarusian Latin"
 msgstr "Bjelloruse Latine"
@@ -12780,12 +12796,14 @@
 msgid "Lao"
 msgstr "Lao"
 
+msgid "Maithili"
+msgstr "Maithili"
+
 msgid "Macedonian"
 msgstr "Maqedone"
 
-#, fuzzy
 msgid "Malayalam"
-msgstr "Malaje"
+msgstr "Malajalame"
 
 msgid "Mongolian"
 msgstr "Mongole"
@@ -13508,7 +13526,7 @@
 "\n"
 
 msgid "DIR"
-msgstr ""
+msgstr "DIR"
 
 msgid "use DIR for config files"
 msgstr "për kartela formësimi përdor DIR"
@@ -13530,7 +13548,7 @@
 msgstr "mos hyr vetvetiu"
 
 msgid "NAME"
-msgstr ""
+msgstr "EMËR"
 
 msgid ""
 "enable specified account(s) (optional argument NAME\n"
@@ -13578,9 +13596,8 @@
 msgid "Exiting because another libpurple client is already running.\n"
 msgstr "Po dilet, ngaqë ka një tjetër klient libpurple në xhirim e sipër.\n"
 
-#, fuzzy
 msgid "_Media"
-msgstr "/_Media"
+msgstr "_Media"
 
 msgid "_Hangup"
 msgstr ""
@@ -14007,9 +14024,8 @@
 msgid "_TURN server:"
 msgstr "Shërbyes _TURN:"
 
-#, fuzzy
 msgid "_UDP Port:"
-msgstr "_Portë:"
+msgstr "Portë _UDP:"
 
 msgid "Use_rname:"
 msgstr "_Emër përdoruesi:"
@@ -14033,7 +14049,7 @@
 msgstr "Konqueror"
 
 msgid "Google Chrome"
-msgstr ""
+msgstr "Google Chrome"
 
 #. Do not move the line below.  Code below expects gnome-open to be in
 #. * this list immediately after xdg-open!
@@ -14057,11 +14073,11 @@
 
 #. Translators: please do not translate "chromium-browser" here!
 msgid "Chromium (chromium-browser)"
-msgstr ""
+msgstr "Chromium (chromium-browser)"
 
 #. Translators: please do not translate "chrome" here!
 msgid "Chromium (chrome)"
-msgstr ""
+msgstr "Chromium (chrome)"
 
 msgid "Manual"
 msgstr "Dorazi"
@@ -14605,7 +14621,6 @@
 msgid "Small"
 msgstr "E vogël"
 
-#, fuzzy
 msgid "Smaller versions of the default smileys"
 msgstr "Versione më të vegjël të emotikoneve parazgjedhje"
 
@@ -15798,9 +15813,8 @@
 msgid "Voice/Video Settings"
 msgstr "Rregullime Zë/Figurë"
 
-#, fuzzy
 msgid "Voice and Video Settings"
-msgstr "Rregullime Zë/Figurë"
+msgstr "Rregullime për Zë dhe Video"
 
 #. *< name
 #. *< version
@@ -15950,35 +15964,39 @@
 "$(^Name) is released under the GNU General Public License (GPL). The license "
 "is provided here for information purposes only. $_CLICK"
 msgstr ""
+"$(^Name) qarkullon nën lejen GNU General Public License (GPL). Leja këtu "
+"jepet vetëm për qëllime informimi. $_CLICK"
 
 #. Installer Subsection Detailed Description
 msgid "A multi-platform GUI toolkit, used by Pidgin"
-msgstr "Një grup mjetesh shumëplatformësh për GUI, përdorur nga Pidgin-i"
+msgstr "Një grupmjetesh ndërplatformësh GUI, i përdorur nga Pidgin"
 
 msgid ""
 "An instance of Pidgin is currently running.  Please exit Pidgin and try "
 "again."
 msgstr ""
+"Ka një instancë të Pidgin-it në xhirim e sipër.  Ju lutem, dilni prej Pidgin-"
+"it dhe riprovoni."
 
 #. Installer Subsection Detailed Description
 msgid "Core Pidgin files and dlls"
-msgstr "Kartela dhe dll bazë të Pidgin-it"
+msgstr "Kartelat dhe dll-të bazë të Pidgin-it"
 
 #. Installer Subsection Detailed Description
 msgid "Create a Start Menu entry for Pidgin"
-msgstr ""
+msgstr "Krijo një zë Menuje Nisjeje për Pidgin-n"
 
 #. Installer Subsection Detailed Description
 msgid "Create a shortcut to Pidgin on the Desktop"
-msgstr ""
+msgstr "Krijo në Desktop një shkurtire për Pidgin-in"
 
 #. Installer Subsection Text
 msgid "Debug Symbols (for reporting crashes)"
-msgstr ""
+msgstr "Simbole Diagnostikimi (për raportim vithisjesh)"
 
 #. Installer Subsection Text
 msgid "Desktop"
-msgstr ""
+msgstr "Desktop"
 
 #. $R2 will display the URL that the GTK+ Runtime failed to download from
 msgid ""
@@ -15986,12 +16004,18 @@
 "function; if retrying fails, you may need to use the 'Offline Installer' "
 "from http://pidgin.im/download/windows/ ."
 msgstr ""
+"Gabim në shkarkimin e GTK+ Runtime ($R2).$\\rE domosdoshme që të funksionojë "
+"Pidgin-i; nëse riprovoni dhe prapë dështon, mund t'ju duhet të përdorni "
+"'Instaluesin Offline' prej http://pidgin.im/download/windows/ ."
 
 #. $R2 will display the URL that the Debug Symbols failed to download from
 msgid ""
 "Error Installing Debug Symbols ($R2).$\\rIf retrying fails, you may need to "
 "use the 'Offline Installer' from http://pidgin.im/download/windows/ ."
 msgstr ""
+"Gabim gjatë Instalimit të Simboleve të Diagnostikimit ($R2).$\\rNëse "
+"riprovoni dhe prapë dështon, mund t'ju duhet të përdorni 'Instaluesin "
+"Offline' prej http://pidgin.im/download/windows/ ."
 
 #. $R3 will display the URL that the Dictionary failed to download from
 #, no-c-format
@@ -16000,74 +16024,78 @@
 "installation instructions are at: http://developer.pidgin.im/wiki/Installing"
 "%20Pidgin#manual_win32_spellcheck_installation"
 msgstr ""
+"Gabim gjatë Instalimit të Kontrollit të Drejtshkrimit ($R3).$\\rNëse "
+"riprovoni dhe prapë dështon, udhëzimet për instalimin dorazi gjenden te: "
+"http://developer.pidgin.im/wiki/Installing"
+"%20Pidgin#manual_win32_spellcheck_installation"
 
 #. Installer Subsection Text
-#, fuzzy
 msgid "GTK+ Runtime (required if not present)"
-msgstr "GTK+ Runtime Environment (i nevojshëm)"
+msgstr "GTK+ Runtime (i domosdoshëm, nëse nuk është i pranishëm)"
 
 #. Installer Subsection Text
-#, fuzzy
 msgid "Localizations"
-msgstr "Vendndodhje"
+msgstr "Përkthime"
 
 #. "Next >" appears on a button on the License Page of the Installer
 msgid "Next >"
-msgstr "Më tej >"
+msgstr "Pasuesi >"
 
 #. Installer Subsection Text
 msgid "Pidgin Instant Messaging Client (required)"
-msgstr "Klient Shkëmbimi Mesazhesh të Atypëratyshëm Pidgin (i nevojshëm)"
+msgstr "Klienti Pidgin për ShKëmbim Mesazhesh të Atypëratyshëm (i domosdoshëm)"
 
 msgid ""
 "Pidgin requires a compatible GTK+ Runtime (which doesn't appear to be "
 "already present).$\\rAre you sure you want to skip installing the GTK+ "
 "Runtime?"
 msgstr ""
+"Pidgin-i lyp një GTK+ Runtime (që nuk duket se e keni).$\\rJeni i sigurt që "
+"dëshironi të anashkaloni instalimin e GTK+ Runtime?"
 
 #. Installer Subsection Text
-#, fuzzy
 msgid "Shortcuts"
 msgstr "Shkurtore"
 
 #. Installer Subsection Detailed Description
 msgid "Shortcuts for starting Pidgin"
-msgstr ""
+msgstr "Shkurtore për nisjen e Pidgin-it"
 
 #. Installer Subsection Text
 msgid "Spellchecking Support"
-msgstr ""
+msgstr "Mbulim Kontrolli Drejtshkrimi"
 
 #  Autostart
 #. Installer Subsection Text
-#, fuzzy
 msgid "Start Menu"
-msgstr "Nisje"
+msgstr "Menu Nisjeje"
 
 #. Installer Subsection Detailed Description
 msgid ""
 "Support for Spellchecking.  (Internet connection required for installation)"
 msgstr ""
+"Mbulim i Kontrollit të Drejtshkrimit. (Lyp lidhje në Internet për instalimin)"
 
 msgid "The installer is already running."
-msgstr ""
+msgstr "Instaluesi është në xhirim e sipër."
 
 msgid ""
 "The uninstaller could not find registry entries for Pidgin.$\\rIt is likely "
 "that another user installed this application."
 msgstr ""
-"Çinstaluesi nuk gjeti dot zëra regjistri për Pidgin-in.$\\rKa mundësi që "
-"këtë zbatim ta ketë instaluar një tjetër përdorues."
+"instaluesi nuk gjeti dot zërat e regjistrit për Pidgin-in.$\\rKa gjasa që "
+"këtë zbatim ta ketë instaluar një përdorues tjetër."
 
 #. Installer Subsection Text
-#, fuzzy
 msgid "URI Handlers"
-msgstr "Trajtues URL-je myim"
+msgstr "Trajtuesa URI"
 
 msgid ""
 "Unable to uninstall the currently installed version of Pidgin. The new "
 "version will be installed without removing the currently installed version."
 msgstr ""
+"I pazoti të çinstaloj versionin e tanishëm të Pidgin-it. Versioni i ri do të "
+"instalohet pa hequr versionin e tanishëm."
 
 #. Text displayed on Installer Finish Page
 msgid "Visit the Pidgin Web Page"
@@ -16076,28 +16104,42 @@
 msgid "You do not have permission to uninstall this application."
 msgstr "Nuk keni leje të çinstaloni këtë zbatim."
 
+#~ msgid "The certificate is not valid yet."
+#~ msgstr "Dëshmia nuk është ende e vlefshme."
+
 #~ msgid "Require SSL/TLS"
 #~ msgstr "Lyp SSL/TLS"
 
 #~ msgid "Force old (port 5223) SSL"
 #~ msgstr "Detyro SSL të vjetër (porta 5223)"
 
-#~ msgid "The name you entered is invalid."
-#~ msgstr "Emri që dhatë është i pavlefshëm."
-
-#  The conversion failed!
-#~ msgid ""
-#~ "[Unable to display a message from this user because it contained invalid "
-#~ "characters.]"
-#~ msgstr ""
-#~ "[I pazoti të shfaqë mesazh prej këtij përdoruesi sepse përmbante shenja "
-#~ "të pavlefshme.]"
-
-#~ msgid "Search for Buddy by Information"
-#~ msgstr "Kërko për Shokë sipas Të dhënash"
-
-#~ msgid "The certificate is not valid yet."
-#~ msgstr "Dëshmia nuk është ende e vlefshme."
+#~ msgid "An error occurred on the in-band bytestream transfer\n"
+#~ msgstr "Ndodhi një gabim në shpërnguljen \"in-band bytestream\"\n"
+
+#~ msgid "Transfer was closed."
+#~ msgstr "Shpërngulja u mbyll."
+
+#~ msgid "Failed to open in-band bytestream"
+#~ msgstr "Dështoi në hapjen e \"in-band bytestream\""
+
+#~ msgid "Set your friendly name."
+#~ msgstr "Caktoni ermin tuaj miqësor."
+
+#~ msgid "Current Mood"
+#~ msgstr "Humori i Çastit"
+
+#~ msgid "New Mood"
+#~ msgstr "Humori i Ri"
+
+#  if (js->protocol_options & CHANGE_PASSWORD) {
+#~ msgid "Change your Mood"
+#~ msgstr "Ndryshoni Humorin tuaj"
+
+#~ msgid "How do you feel right now?"
+#~ msgstr "Si ndjeheni tani?"
+
+#~ msgid "Change Mood..."
+#~ msgstr "Ndryshoni Humor..."
 
 #~ msgid "The nick name you entered is invalid."
 #~ msgstr "Nofka që dhatë është e mangët."
@@ -16120,21 +16162,16 @@
 #~ msgid "Unknown reason."
 #~ msgstr "Arsye e panjohur."
 
-#~ msgid "Current Mood"
-#~ msgstr "Humori i Çastit"
-
-#~ msgid "New Mood"
-#~ msgstr "Humori i Ri"
-
-#  if (js->protocol_options & CHANGE_PASSWORD) {
-#~ msgid "Change your Mood"
-#~ msgstr "Ndryshoni Humorin tuaj"
-
-#~ msgid "How do you feel right now?"
-#~ msgstr "Si ndjeheni tani?"
-
-#~ msgid "Change Mood..."
-#~ msgstr "Ndryshoni Humor..."
+#  The conversion failed!
+#~ msgid ""
+#~ "[Unable to display a message from this user because it contained invalid "
+#~ "characters.]"
+#~ msgstr ""
+#~ "[I pazoti të shfaqë mesazh prej këtij përdoruesi sepse përmbante shenja "
+#~ "të pavlefshme.]"
+
+#~ msgid "Search for Buddy by Information"
+#~ msgstr "Kërko për Shokë sipas Të dhënash"
 
 #~ msgid "Error creating conference."
 #~ msgstr "Gabim në krijimin e konferencës."
@@ -16440,9 +16477,6 @@
 #~ msgid "XHTML-IM"
 #~ msgstr "XHTML-IM"
 
-#~ msgid "User Location"
-#~ msgstr "Vendndodhje Përdoruesi"
-
 #~ msgid "User Avatar"
 #~ msgstr "Avatar Përdoruesi"
 
--- a/po/uk.po	Fri Dec 03 23:03:58 2010 +0000
+++ b/po/uk.po	Sun Dec 05 03:10:05 2010 +0000
@@ -9,8 +9,8 @@
 msgstr ""
 "Project-Id-Version: Pidgin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-21 00:12-0400\n"
-"PO-Revision-Date: 2010-10-10 21:42+0300\n"
+"POT-Creation-Date: 2010-11-21 13:55-0500\n"
+"PO-Revision-Date: 2010-11-17 22:25+0300\n"
 "Last-Translator: Oleksandr Kovalenko <alx.kovalenko@gmail.com>\n"
 "Language-Team: Ukrainian <uk@li.org>\n"
 "Language: uk\n"
@@ -4852,17 +4852,6 @@
 msgid "Unknown Error in presence"
 msgstr "Невідома помилка стану присутності"
 
-# http://xmpp.org/extensions/xep-0047.html
-msgid "An error occurred on the in-band bytestream transfer\n"
-msgstr "Сталася помилка передавання внутрішнього потоку даних (IBB)\n"
-
-msgid "Transfer was closed."
-msgstr "Передавання було закрито."
-
-# http://xmpp.org/extensions/xep-0047.html
-msgid "Failed to open in-band bytestream"
-msgstr "Помилка відкривання внутрішнього потоку даних (IBB)"
-
 #, c-format
 msgid "Unable to send file to %s, user does not support file transfers"
 msgstr ""
@@ -5178,26 +5167,6 @@
 msgid "The username specified does not exist."
 msgstr "Визначене ім'я користувача не існує."
 
-#, c-format
-msgid "Buddy list synchronization issue in %s (%s)"
-msgstr "Проблема синхронізації переліку контактів у %s (%s)"
-
-#, c-format
-msgid ""
-"%s on the local list is inside the group \"%s\" but not on the server list. "
-"Do you want this buddy to be added?"
-msgstr ""
-"%s є у локальному переліку у групі \"%s\", але відсутній у переліку сервера. "
-"Хочете додати цей контакт?"
-
-#, c-format
-msgid ""
-"%s is on the local list but not on the server list. Do you want this buddy "
-"to be added?"
-msgstr ""
-"%s є у локальному переліку, але відсутній у переліку сервера. Хочете додати "
-"цей контакт?"
-
 msgid "Unable to parse message"
 msgstr "Не вдається розібрати повідомлення"
 
@@ -5368,6 +5337,26 @@
 msgid "MSN Error: %s\n"
 msgstr "Помилка MSN: %s\n"
 
+#, c-format
+msgid "Buddy list synchronization issue in %s (%s)"
+msgstr "Проблема синхронізації переліку контактів у %s (%s)"
+
+#, c-format
+msgid ""
+"%s on the local list is inside the group \"%s\" but not on the server list. "
+"Do you want this buddy to be added?"
+msgstr ""
+"%s є у локальному переліку у групі \"%s\", але відсутній у переліку сервера. "
+"Хочете додати цей контакт?"
+
+#, c-format
+msgid ""
+"%s is on the local list but not on the server list. Do you want this buddy "
+"to be added?"
+msgstr ""
+"%s є у локальному переліку, але відсутній у переліку сервера. Хочете додати "
+"цей контакт?"
+
 msgid "Other Contacts"
 msgstr "Інші контакти"
 
@@ -5420,12 +5409,24 @@
 msgid "Set friendly name for %s."
 msgstr "Встановити дружнє ім'я для %s."
 
-msgid "Set your friendly name."
-msgstr "Введіть ваше дружнє ім'я."
+msgid "Set Friendly Name"
+msgstr "Встановити дружнє ім'я"
 
 msgid "This is the name that other MSN buddies will see you as."
 msgstr "Ім'я, під яким вас будуть бачити інші користувачі MSN."
 
+msgid "This Location"
+msgstr "Це місцезнаходження"
+
+msgid "This is the name that identifies this location"
+msgstr "Ця назва визначає місцезнаходження"
+
+msgid "Other Locations"
+msgstr "Інше місцезнаходження"
+
+msgid "You can sign out from other locations here"
+msgstr "Тут ви можете вийти з іншого місцезнаходження"
+
 msgid "Set your home phone number."
 msgstr "Введіть номер вашого домашнього телефону."
 
@@ -5512,6 +5513,9 @@
 msgid "Set Friendly Name..."
 msgstr "Встановити дружнє ім'я..."
 
+msgid "View Locations..."
+msgstr "Переглянути місцезнаходження..."
+
 msgid "Set Home Phone Number..."
 msgstr "Встановити номер домашнього телефону..."
 
@@ -6898,13 +6902,13 @@
 
 msgid "Please authorize me so I can add you to my buddy list."
 msgstr ""
+"Будь ласка, авторизуйте мене і я зможу додати Вас до мого переліку контактів."
 
 msgid "No reason given."
 msgstr "Причина не вказана."
 
-#, fuzzy
 msgid "Authorization Denied Message:"
-msgstr "Повідомлення відмови у авторизації:"
+msgstr "Повідомлення відмови в авторизації:"
 
 #, c-format
 msgid "Received unexpected response from %s: %s"
@@ -6921,6 +6925,13 @@
 "Ви занадто часто з'єднуєтесь та від'єднуєтесь. Зачекайте 10 хвилин та "
 "спробуйте знову. Якщо ви продовжите спроби, вам доведеться чекати ще довше."
 
+msgid ""
+"You required encryption in your account settings, but one of the servers "
+"doesn't support it."
+msgstr ""
+"Ви увімкнули необхідність шифрування в налаштуваннях облікового запису, але "
+"один з серверів не підтримує його."
+
 #. Note to translators: The first %s is a URL, the second is an
 #. error message.
 #, c-format
@@ -6947,12 +6958,18 @@
 "encoding he is using, you can specify it in the advanced account options for "
 "your AIM/ICQ account.)"
 msgstr ""
+"(Сталася помилка отримання цього повідомлення. Контакт, з яким ви "
+"спілкуєтесь, можливо використовує інше кодування, ніж очікується. Якщо ви "
+"знаєте, яке кодування він використовує, ви можете визначити його в "
+"розширених налаштуваннях облікового запису AIM/ICQ.) "
 
 #, c-format
 msgid ""
 "(There was an error receiving this message.  Either you and %s have "
 "different encodings selected, or %s has a buggy client.)"
 msgstr ""
+"(Сталася помилка отримання цього повідомлення. Або ви та %s обрали різні "
+"кодування, або %s користується клієнтом з помилками.)"
 
 msgid "Could not join chat room"
 msgstr "Не вдалося приєднатися до кімнати балачки"
@@ -7230,6 +7247,13 @@
 "користувачів мають бути правильними адресами ел. пошти або починатися з "
 "літери та містити тільки літери, цифри та пробіли, або тільки цифри."
 
+msgid ""
+"You required encryption in your account settings, but encryption is not "
+"supported by your system."
+msgstr ""
+"Ви увімкнули необхідність шифрування в налаштуваннях облікового запису, але "
+"шифрування не підтримується вашою системою."
+
 #, c-format
 msgid "You may be disconnected shortly.  If so, check %s for updates."
 msgstr "Незабаром вас можуть від'єднати. Якщо так, перевірте %s на оновлення."
@@ -7758,13 +7782,11 @@
 msgid "Set Privacy Options..."
 msgstr "Встановити опції приватності..."
 
-#, fuzzy
 msgid "Show Visible List"
-msgstr "Показати _перелік контактів"
-
-#, fuzzy
+msgstr "Показати перелік видимих"
+
 msgid "Show Invisible List"
-msgstr "Перелік запрошень"
+msgstr "Показати перелік невидимих"
 
 #. AIM actions
 msgid "Confirm Account"
@@ -7782,6 +7804,9 @@
 msgid "Search for Buddy by Email Address..."
 msgstr "Шукати користувача за адресою ел.пошти..."
 
+msgid "Don't use encryption"
+msgstr "Не використовувати шифрування"
+
 msgid "Use clientLogin"
 msgstr "Використовувати clientLogin"
 
@@ -7897,177 +7922,164 @@
 msgid "Voice"
 msgstr "Голос"
 
-#, fuzzy
 msgid "AIM Direct IM"
-msgstr "Пряме миттєве повідомлення"
-
-#, fuzzy
+msgstr "AIM Direct IM"
+
 msgid "Get File"
-msgstr "Надсилання файлу"
-
-#, fuzzy
+msgstr "Отримати файл"
+
 msgid "Games"
-msgstr "Асамська"
+msgstr "Ігри"
 
 msgid "ICQ Xtraz"
-msgstr ""
+msgstr "ICQ Xtraz"
 
 msgid "Add-Ins"
-msgstr ""
-
-#, fuzzy
+msgstr "Додатки"
+
 msgid "Send Buddy List"
-msgstr "Перелік контактів"
-
-#, fuzzy
+msgstr "Надіслати перелік контактів"
+
 msgid "ICQ Direct Connect"
-msgstr "Дозволити прямі з'єднання"
-
-#, fuzzy
+msgstr "Пряме з'єднання ICQ"
+
 msgid "AP User"
-msgstr "Користувач"
+msgstr "Користувач AP"
 
 msgid "ICQ RTF"
-msgstr ""
+msgstr "ICQ RTF"
 
 msgid "Nihilist"
-msgstr ""
-
-#, fuzzy
+msgstr "Нігіліст"
+
 msgid "ICQ Server Relay"
-msgstr "Сервер каже:"
+msgstr "Транзитний сервер ICQ"
 
 msgid "Old ICQ UTF8"
-msgstr ""
+msgstr "Старий ICQ UTF8"
 
 msgid "Trillian Encryption"
-msgstr ""
+msgstr "Шифрування Trillian"
 
 msgid "ICQ UTF8"
-msgstr ""
+msgstr "ICQ UTF8"
 
 msgid "Hiptop"
-msgstr ""
-
-#, fuzzy
+msgstr "Хіп-хоп"
+
 msgid "Security Enabled"
-msgstr "Код безпеки"
-
-#, fuzzy
+msgstr "Безпека увімкнена"
+
 msgid "Video Chat"
-msgstr "_Відеовиклик"
-
-#, fuzzy
+msgstr "Відеобалачка"
+
 msgid "iChat AV"
-msgstr "Балачка"
-
-#, fuzzy
+msgstr "iChat AV"
+
 msgid "Live Video"
-msgstr " Відео"
-
-#, fuzzy
+msgstr "Відео наживо"
+
 msgid "Camera"
-msgstr "Відеокамера"
+msgstr "Камера"
 
 msgid "Screen Sharing"
-msgstr ""
+msgstr "Спільний екран"
 
 msgid "IP Address"
 msgstr "IP Адреса"
 
-#, fuzzy
 msgid "Warning Level"
-msgstr "Застереження"
-
-#, fuzzy
+msgstr "Рівень застереження"
+
 msgid "Buddy Comment"
-msgstr "Коментар користувача:"
-
-#, fuzzy, c-format
+msgstr "Коментар користувача"
+
+#, c-format
 msgid "User information not available: %s"
-msgstr "Використовувати шифрування, коли це можливо"
+msgstr "Відомості про користувача недоступні: %s"
 
 msgid "Mobile Phone"
 msgstr "Мобільний телефон"
 
-#, fuzzy
 msgid "Personal Web Page"
-msgstr "Особистий мобільний"
+msgstr "Особиста сторінка тенет"
 
 #. aim_userinfo_t
-#. strip_html_tags
-#, fuzzy
+#. use_html_status
 msgid "Additional Information"
-msgstr "Необов'язкові відомості:"
+msgstr "Додаткові відомості"
 
 msgid "Zip Code"
-msgstr ""
-
-#, fuzzy
+msgstr "Поштовий код"
+
 msgid "Work Information"
-msgstr "Більше відомостей"
+msgstr "Відомості про роботу"
 
 msgid "Division"
-msgstr ""
-
-#, fuzzy
+msgstr "Відділ"
+
 msgid "Position"
-msgstr "Опис"
-
-#, fuzzy
+msgstr "Посада"
+
 msgid "Web Page"
-msgstr "Домашня сторінка"
-
-#, fuzzy
+msgstr "Сторінка тенет"
+
 msgid "Online Since"
-msgstr "У мережі з"
+msgstr "В мережі з"
 
 msgid "Member Since"
 msgstr "Член з"
 
 msgid "Capabilities"
-msgstr ""
-
-#. 4 separate strings are needed in order to ease translators' job
+msgstr "Можливості"
+
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear online to the chosen user even when your status is set to
+#. Invisible.
 msgid "Appear Online"
 msgstr "З'явився в мережі"
 
-#, fuzzy
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user when your status is set to
+#. Invisible (this is the default).
 msgid "Don't Appear Online"
-msgstr "З'явився в мережі"
-
+msgstr "Не з'являвся в мережі"
+
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to always appear offline to the chosen user (even when your status
+#. isn't Invisible).
 msgid "Appear Offline"
 msgstr "З'явився поза мережею"
 
-#, fuzzy
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user if you are invisible, and
+#. appear online to the chosen user if you are not invisible (this is the
+#. default).
 msgid "Don't Appear Offline"
-msgstr "З'явився поза мережею"
-
-#, fuzzy
+msgstr "Не з'являвся поза мережею"
+
 msgid "you have no buddies on this list"
-msgstr "Вас викинули з цього MultiMX."
-
-#, fuzzy, c-format
+msgstr "немає контактів в цьому переліку"
+
+#, c-format
 msgid ""
 "You can add a buddy to this list by right-clicking on them and selecting \"%s"
 "\""
 msgstr ""
-"Ви можете повторно запитати авторизацію від цих користувачів, клацнувши на "
-"них правою кнопкою миші та вибравши \"Повторний запит авторизації\"."
-
-#, fuzzy
+"Ви можете додати контакт до цього переліку натиснувши на ньому правою "
+"кнопкою миші на вибравши \"%s"
+
 msgid "Visible List"
-msgstr "Видимий"
+msgstr "Перелік видимих"
 
 msgid "These buddies will see your status when you switch to \"Invisible\""
-msgstr ""
-
-#, fuzzy
+msgstr "Ці контакти бачитимуть ваш стан, коли ви перемкнетеся на \"Невидимий\""
+
 msgid "Invisible List"
-msgstr "Перелік запрошень"
+msgstr "Перелік невидимих"
 
 msgid "These buddies will always see you as offline"
-msgstr ""
+msgstr "Ці контакти завжди будуть бачити, що ви поза мережею"
 
 msgid "Aquarius"
 msgstr "Водолій"
@@ -12365,6 +12377,9 @@
 msgid "Lao"
 msgstr "Лао"
 
+msgid "Maithili"
+msgstr "Майтхілі"
+
 msgid "Macedonian"
 msgstr "Македонська"
 
@@ -15461,21 +15476,3 @@
 
 msgid "You do not have permission to uninstall this application."
 msgstr "Ви не маєте права на видалення цієї програми."
-
-#~ msgid "The certificate has expired and should not be considered valid."
-#~ msgstr "Термін дії сертифікату закінчився і його не слід вважати дійсним."
-
-#~ msgid "_UDP:"
-#~ msgstr "_UDP:"
-
-#~ msgid "_TCP:"
-#~ msgstr "_TCP:"
-
-#~ msgid "_TLS:"
-#~ msgstr "_TLS:"
-
-#~ msgid "Require SSL/TLS"
-#~ msgstr "Потребує SSL/TLS"
-
-#~ msgid "Force old (port 5223) SSL"
-#~ msgstr "Примусово старий (порт 5223) SSL"
--- a/po/zh_HK.po	Fri Dec 03 23:03:58 2010 +0000
+++ b/po/zh_HK.po	Sun Dec 05 03:10:05 2010 +0000
@@ -8,7 +8,7 @@
 # LINE NUMBERS (LINES BEGINNING WITH #:) IN THIS FILE.
 #
 # This file is distributed under the same license as the "Pidgin" package.
-# $InternalId: zh_TW.po,v 1.650 2010/10/17 14:56:33 acli Exp $
+# $InternalId: zh_TW.po,v 1.655 2010/11/18 06:05:50 acli Exp $
 #
 # ----------------------------------------------------------
 # For internal use only:
@@ -60,11 +60,11 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Pidgin 2.7.4\n"
+"Project-Id-Version: Pidgin 2.7.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-21 00:12-0400\n"
-"PO-Revision-Date: 2010-10-17 10:55-0400\n"
-"Last-Translator: Paladin R. Liu <paladin@ms1.hinet.net>\n"
+"POT-Creation-Date: 2010-11-21 13:55-0500\n"
+"PO-Revision-Date: 2010-11-15 16:24-0500\n"
+"Last-Translator: Ambrose Li <ambrose.li@gmail.com>\n"
 "Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
 "Language: zh_HK\n"
 "MIME-Version: 1.0\n"
@@ -5036,16 +5036,6 @@
 msgid "Unknown Error in presence"
 msgstr "不明的狀態資訊錯誤"
 
-msgid "An error occurred on the in-band bytestream transfer\n"
-msgstr "帶內位元組流傳輸途中發生錯誤\n"
-
-# XXX 還是直譯「被關閉」? 20090305 acli
-msgid "Transfer was closed."
-msgstr "傳輸已被中止。"
-
-msgid "Failed to open in-band bytestream"
-msgstr "無法開啟帶內位元組流"
-
 #, c-format
 msgid "Unable to send file to %s, user does not support file transfers"
 msgstr "無法傳送檔案至 %s,因為對方不支援檔案傳輸"
@@ -5465,28 +5455,6 @@
 msgid "The username specified does not exist."
 msgstr "你所輸入的帳號並不存在。"
 
-# XXX 暫譯
-#, c-format
-msgid "Buddy list synchronization issue in %s (%s)"
-msgstr "為 %s (%s) 的好友清單進行同步化途中出現問題"
-
-# XXX 暫譯
-#, c-format
-msgid ""
-"%s on the local list is inside the group \"%s\" but not on the server list. "
-"Do you want this buddy to be added?"
-msgstr ""
-"%s 在本地端的好友清單的「%s」羣組裏,卻不在伺服器上;你要新增這個好友至伺服器"
-"的好友清單嗎?"
-
-# XXX 暫譯
-#, c-format
-msgid ""
-"%s is on the local list but not on the server list. Do you want this buddy "
-"to be added?"
-msgstr ""
-"%s 在本地端的好友清單,郤不在伺服器上;你要新增這個好友至伺服器的好友清單嗎?"
-
 msgid "Unable to parse message"
 msgstr "無法解析訊息"
 
@@ -5665,6 +5633,28 @@
 msgid "MSN Error: %s\n"
 msgstr "MSN 錯誤:%s\n"
 
+# XXX 暫譯
+#, c-format
+msgid "Buddy list synchronization issue in %s (%s)"
+msgstr "為 %s (%s) 的好友清單進行同步化途中出現問題"
+
+# XXX 暫譯
+#, c-format
+msgid ""
+"%s on the local list is inside the group \"%s\" but not on the server list. "
+"Do you want this buddy to be added?"
+msgstr ""
+"%s 在本地端的好友清單的「%s」羣組裏,卻不在伺服器上;你要新增這個好友至伺服器"
+"的好友清單嗎?"
+
+# XXX 暫譯
+#, c-format
+msgid ""
+"%s is on the local list but not on the server list. Do you want this buddy "
+"to be added?"
+msgstr ""
+"%s 在本地端的好友清單,郤不在伺服器上;你要新增這個好友至伺服器的好友清單嗎?"
+
 # XXX 暫譯,有待改進 - 20090226 acli
 # NOTE: (09時14分13秒 EST) wing: what does "Other Contacts" (msn/group.h:36) actually mean? ..
 # NOTE: (09時24分18秒 EST) khc: I'd probably just translate to 其他人, hehe
@@ -5720,8 +5710,8 @@
 msgid "Set friendly name for %s."
 msgstr "設定 %s 的網名。"
 
-msgid "Set your friendly name."
-msgstr "設定你的網名。"
+msgid "Set Friendly Name"
+msgstr "設定網名"
 
 # NOTE MSN的暱稱不像Yahoo;使用者可以輸入任何的新暱稱,
 # NOTE 即使和使用者的帳號毫無關係,似乎也是有效的
@@ -5729,6 +5719,18 @@
 msgid "This is the name that other MSN buddies will see you as."
 msgstr "別人在 MSN 查閱你的個人資料時顯示這個網名。"
 
+msgid "This Location"
+msgstr "目前所在位置"
+
+msgid "This is the name that identifies this location"
+msgstr "目前的所在位置將以這個名稱代表"
+
+msgid "Other Locations"
+msgstr "其他所在位置"
+
+msgid "You can sign out from other locations here"
+msgstr "你可在這裏登出其他所在位置"
+
 msgid "Set your home phone number."
 msgstr "設定你的家用電話號碼。"
 
@@ -5815,6 +5817,9 @@
 msgid "Set Friendly Name..."
 msgstr "設定網名..."
 
+msgid "View Locations..."
+msgstr "檢視所在位置..."
+
 msgid "Set Home Phone Number..."
 msgstr "設定家用電話號碼..."
 
@@ -7195,7 +7200,7 @@
 msgstr "伺服器通訊埠"
 
 msgid "Please authorize me so I can add you to my buddy list."
-msgstr "請通過我的認證要求,好讓我可以將您加入我的好友清單中。"
+msgstr "請通過我的認證要求,好讓我可以將你加入我的好友清單中。"
 
 msgid "No reason given."
 msgstr "沒有給予原因。"
@@ -7220,6 +7225,11 @@
 "你的連線/斷線動作太過頻繁。請等待十分鐘後再行重試。如果你依然繼續嘗試連線,"
 "那麼你的等待時間將會更加的延長。"
 
+msgid ""
+"You required encryption in your account settings, but one of the servers "
+"doesn't support it."
+msgstr "你在帳號設定中指定了使用加密,但其中一個伺服器不支援加密功能。"
+
 # NOTE 單寫「要求 %s」好像有些怪 - acli 20090902
 #. Note to translators: The first %s is a URL, the second is an
 #. error message.
@@ -7246,8 +7256,8 @@
 "encoding he is using, you can specify it in the advanced account options for "
 "your AIM/ICQ account.)"
 msgstr ""
-"(接收這個訊息時發生了錯誤。正在跟您交談的好友很可能在使用與您想像不乎的字元"
-"編碼;如果您知道那是什麼編碼,請在您的 AIM/ICQ 帳號的「進階設定」中的「編碼」"
+"(接收這個訊息時發生了錯誤。正在跟你交談的好友很可能在使用與你想像不乎的字符"
+"編碼;如果你知道那是什麼編碼,請在你的 AIM/ICQ 帳號的「進階設定」中的「編碼」"
 "欄位指定。)"
 
 #, c-format
@@ -7255,7 +7265,7 @@
 "(There was an error receiving this message.  Either you and %s have "
 "different encodings selected, or %s has a buggy client.)"
 msgstr ""
-"(接收這個訊息時發生了錯誤。可能您和 %s 選用了不同的編碼,也有可能是 %s 在使"
+"(接收這個訊息時發生了錯誤。可能你和 %s 選用了不同的編碼,也有可能是 %s 在使"
 "用有問題的用戶端程式。)"
 
 msgid "Could not join chat room"
@@ -7538,6 +7548,11 @@
 "無法以 %s 身份登入,因為這個帳號是無效的。帳號必須為有效電郵地址;或者以英文"
 "字母起始,並只含英文字母、數字及空白;或者只由數字組成。"
 
+msgid ""
+"You required encryption in your account settings, but encryption is not "
+"supported by your system."
+msgstr "你在帳號設定中指定了使用加密,但你的系統不支援加密功能。"
+
 #, c-format
 msgid "You may be disconnected shortly.  If so, check %s for updates."
 msgstr "你可能會在短時間內中斷連線。如果屬實,請到 %s 看看有沒有更新。"
@@ -8027,13 +8042,11 @@
 msgid "Set Privacy Options..."
 msgstr "設定私隱選項..."
 
-#, fuzzy
 msgid "Show Visible List"
-msgstr "公開"
-
-#, fuzzy
+msgstr "顯示「報稱上線」清單"
+
 msgid "Show Invisible List"
-msgstr "邀請清單"
+msgstr "顯示「報稱離線」清單"
 
 #. AIM actions
 msgid "Confirm Account"
@@ -8051,6 +8064,9 @@
 msgid "Search for Buddy by Email Address..."
 msgstr "使用電子郵件地址搜尋好友..."
 
+msgid "Don't use encryption"
+msgstr "不使用加密"
+
 msgid "Use clientLogin"
 msgstr "使用 clientLogin"
 
@@ -8247,7 +8263,7 @@
 msgstr "iChat 視像聊天"
 
 msgid "Live Video"
-msgstr "動態視訊"
+msgstr "動態視像"
 
 #  NOTE AIM_CAPS_CAMERA,即是什麼呢(^^;)
 msgid "Camera"
@@ -8266,10 +8282,9 @@
 msgid "Buddy Comment"
 msgstr "好友備註"
 
-#  NOTE Connection security 選項,指在伺服器支援的情況下使用 TLS, 如伺服器不支援 TLS 則以不加密的方式繼續進行連線
-#, fuzzy, c-format
+#, c-format
 msgid "User information not available: %s"
-msgstr "當伺服器支援時,使用加密功能"
+msgstr "找不到使用者資訊:%s"
 
 msgid "Mobile Phone"
 msgstr "流動電話"
@@ -8278,12 +8293,12 @@
 msgstr "個人網頁"
 
 #. aim_userinfo_t
-#. strip_html_tags
+#. use_html_status
 msgid "Additional Information"
 msgstr "其他資訊"
 
 msgid "Zip Code"
-msgstr "郵遞區號"
+msgstr "郵遞編號"
 
 msgid "Work Information"
 msgstr "工作資訊"
@@ -8305,50 +8320,63 @@
 msgstr "成為成員的時間"
 
 msgid "Capabilities"
-msgstr "相容性"
-
-#. 4 separate strings are needed in order to ease translators' job
+msgstr "兼容性"
+
+#  NOTE 這四個字串在 Oscar (ICQ) 的解釋在此:http://pidgin.im/pipermail/translators/2010-November/000554.html
+#  NOTE Oscar: 把好友新增到 Visible List 內
+#  NOTE Yahoo: 狀態為「隱身」時,對某指定的好友報稱上線
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear online to the chosen user even when your status is set to
+#. Invisible.
 msgid "Appear Online"
 msgstr "報稱上線"
 
-#, fuzzy
+#  NOTE 把好友從 Visible List 內移除
+#  NOTE 參閱 "Don't Appear Permanently Offline"
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user when your status is set to
+#. Invisible (this is the default).
 msgid "Don't Appear Online"
-msgstr "報稱上線"
-
-# NOTE 下次登入時不報稱離線,所以加「暫時」字眼
+msgstr "停止報稱上線"
+
+#  NOTE Oscar: 把好友新增到 Invisible List 內
+#  NOTE Yahoo: 狀態為「隱身」時,對某指定的好友報稱離線
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to always appear offline to the chosen user (even when your status
+#. isn't Invisible).
 msgid "Appear Offline"
-msgstr "暫時報稱離線"
-
-# NOTE 下次登入時不報稱離線,所以加「暫時」字眼
-#, fuzzy
+msgstr "報稱離線"
+
+#  NOTE 把好友從 Invisible List 內移除
+#  NOTE 參閱 "Don't Appear Permanently Offline"
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user if you are invisible, and
+#. appear online to the chosen user if you are not invisible (this is the
+#. default).
 msgid "Don't Appear Offline"
-msgstr "暫時報稱離線"
-
-#, fuzzy
+msgstr "停止報稱離線"
+
 msgid "you have no buddies on this list"
-msgstr "你已經從MultiMX中被踢出。"
-
-#, fuzzy, c-format
+msgstr "這清單內沒有好友"
+
+#, c-format
 msgid ""
 "You can add a buddy to this list by right-clicking on them and selecting \"%s"
 "\""
 msgstr ""
-"你可以重新要求這些好友的認證,只要在好友清單中以滑鼠右鍵點擊他們,然後選擇"
-"「要求重新認證」。"
-
-#, fuzzy
+"把好友新增在這清單內,只要在好友清單中以滑鼠右鍵點擊他們,然後選擇「%s」"
+
 msgid "Visible List"
-msgstr "公開"
+msgstr "「報稱上線」清單"
 
 msgid "These buddies will see your status when you switch to \"Invisible\""
-msgstr ""
-
-#, fuzzy
+msgstr "這些好友在你隱身時仍能看見你的上線狀態"
+
 msgid "Invisible List"
-msgstr "邀請清單"
+msgstr "「報稱離線」清單"
 
 msgid "These buddies will always see you as offline"
-msgstr ""
+msgstr "長時間向這些好友隱身"
 
 msgid "Aquarius"
 msgstr "水秤座"
@@ -8426,7 +8454,7 @@
 msgstr "其他"
 
 msgid "Visible"
-msgstr "公開"
+msgstr "不隱身"
 
 # XXX 暫譯 - 20090226
 msgid "Friend Only"
@@ -10798,6 +10826,7 @@
 msgstr "不在伺服器上的清單中"
 
 # NOTE Yahoo 官方譯「永遠顯示離線」,說白一點其實即是(針對某人)「長期隠身」
+#  NOTE 參閱 "Appear Offline"
 msgid "Appear Permanently Offline"
 msgstr "長期報稱離線"
 
@@ -10805,6 +10834,7 @@
 msgstr "現狀"
 
 #  NOTE 這是清單內的一個指令
+#  NOTE 參閱 "Don't Appear Offline"
 msgid "Don't Appear Permanently Offline"
 msgstr "停止長期報稱離線"
 
@@ -12779,6 +12809,11 @@
 msgid "Lao"
 msgstr "寮國文"
 
+#  NOTE 代碼 mai,印度的一種方言,維基百科譯「邁蒂利語」
+#  XXX 找不到正式的台灣譯文,參閱 http://zh.wikipedia.org/zh/迈蒂利语, http://tc.wangchao.net.cn/baike/detail_2071696.html
+msgid "Maithili"
+msgstr "邁蒂利文"
+
 #  NOTE「馬其頓文」是一種東歐語文,跟希臘的馬其頓並無關係
 msgid "Macedonian"
 msgstr "馬其頓文"
@@ -15969,6 +16004,19 @@
 msgid "You do not have permission to uninstall this application."
 msgstr "你沒有權限移除程式。"
 
+#~ msgid "An error occurred on the in-band bytestream transfer\n"
+#~ msgstr "帶內位元組流傳輸途中發生錯誤\n"
+
+# XXX 還是直譯「被關閉」? 20090305 acli
+#~ msgid "Transfer was closed."
+#~ msgstr "傳輸已被中止。"
+
+#~ msgid "Failed to open in-band bytestream"
+#~ msgstr "無法開啟帶內位元組流"
+
+#~ msgid "Set your friendly name."
+#~ msgstr "設定您的暱稱。"
+
 #~ msgid "The certificate has expired and should not be considered valid."
 #~ msgstr "這張憑證已逾期,應視作無效。"
 
--- a/po/zh_TW.po	Fri Dec 03 23:03:58 2010 +0000
+++ b/po/zh_TW.po	Sun Dec 05 03:10:05 2010 +0000
@@ -6,7 +6,7 @@
 # LINE NUMBERS (LINES BEGINNING WITH #:) IN THIS FILE.
 #
 # This file is distributed under the same license as the "Pidgin" package.
-# $InternalId: zh_TW.po,v 1.650 2010/10/17 14:56:33 acli Exp $
+# $InternalId: zh_TW.po,v 1.655 2010/11/18 06:05:50 acli Exp $
 #
 # ----------------------------------------------------------
 # For internal use only:
@@ -58,11 +58,11 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Pidgin 2.7.4\n"
+"Project-Id-Version: Pidgin 2.7.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-21 00:12-0400\n"
-"PO-Revision-Date: 2010-10-17 10:55-0400\n"
-"Last-Translator: Paladin R. Liu <paladin@ms1.hinet.net>\n"
+"POT-Creation-Date: 2010-11-21 13:55-0500\n"
+"PO-Revision-Date: 2010-11-15 16:24-0500\n"
+"Last-Translator: Ambrose Li <ambrose.li@gmail.com>\n"
 "Language-Team: Chinese (Traditional) <zh-l10n@linux.org.tw>\n"
 "Language: zh_TW\n"
 "MIME-Version: 1.0\n"
@@ -373,10 +373,10 @@
 msgstr "如果要重置名稱,請輸入空白字串。"
 
 msgid "Removing this contact will also remove all the buddies in the contact"
-msgstr "移除這組好友會同時移除裏面的所有好友"
+msgstr "移除這組好友會同時移除裡面的所有好友"
 
 msgid "Removing this group will also remove all the buddies in the group"
-msgstr "移除這個群組會同時移除裏面的所有好友"
+msgstr "移除這個群組會同時移除裡面的所有好友"
 
 #, c-format
 msgid "Are you sure you want to remove %s?"
@@ -728,14 +728,14 @@
 msgstr "支援的除錯選項有:plugins version"
 
 msgid "No such command (in this context)."
-msgstr "沒有這個指令(可在這裏使用)"
+msgstr "沒有這個指令(可在這裡使用)"
 
 msgid ""
 "Use \"/help &lt;command&gt;\" for help on a specific command.\n"
 "The following commands are available in this context:\n"
 msgstr ""
 "要獲得某一指令的說明,輸入「/help &lt;指令&gt;」即可。\n"
-"在這裏,可用的指令有:\n"
+"在這裡,可用的指令有:\n"
 
 #, c-format
 msgid ""
@@ -5034,16 +5034,6 @@
 msgid "Unknown Error in presence"
 msgstr "不明的狀態資訊錯誤"
 
-msgid "An error occurred on the in-band bytestream transfer\n"
-msgstr "帶內位元組流傳輸途中發生錯誤\n"
-
-# XXX 還是直譯「被關閉」? 20090305 acli
-msgid "Transfer was closed."
-msgstr "傳輸已被中止。"
-
-msgid "Failed to open in-band bytestream"
-msgstr "無法開啟帶內位元組流"
-
 #, c-format
 msgid "Unable to send file to %s, user does not support file transfers"
 msgstr "無法傳送檔案至 %s,因為對方不支援檔案傳輸"
@@ -5463,28 +5453,6 @@
 msgid "The username specified does not exist."
 msgstr "您所輸入的帳號並不存在。"
 
-# XXX 暫譯
-#, c-format
-msgid "Buddy list synchronization issue in %s (%s)"
-msgstr "為 %s (%s) 的好友清單進行同步化途中出現問題"
-
-# XXX 暫譯
-#, c-format
-msgid ""
-"%s on the local list is inside the group \"%s\" but not on the server list. "
-"Do you want this buddy to be added?"
-msgstr ""
-"%s 在本地端的好友清單的「%s」群組裏,卻不在伺服器上;您要新增這個好友至伺服器"
-"的好友清單嗎?"
-
-# XXX 暫譯
-#, c-format
-msgid ""
-"%s is on the local list but not on the server list. Do you want this buddy "
-"to be added?"
-msgstr ""
-"%s 在本地端的好友清單,郤不在伺服器上;您要新增這個好友至伺服器的好友清單嗎?"
-
 msgid "Unable to parse message"
 msgstr "無法解析訊息"
 
@@ -5663,6 +5631,28 @@
 msgid "MSN Error: %s\n"
 msgstr "MSN 錯誤:%s\n"
 
+# XXX 暫譯
+#, c-format
+msgid "Buddy list synchronization issue in %s (%s)"
+msgstr "為 %s (%s) 的好友清單進行同步化途中出現問題"
+
+# XXX 暫譯
+#, c-format
+msgid ""
+"%s on the local list is inside the group \"%s\" but not on the server list. "
+"Do you want this buddy to be added?"
+msgstr ""
+"%s 在本地端的好友清單的「%s」群組裡,卻不在伺服器上;您要新增這個好友至伺服器"
+"的好友清單嗎?"
+
+# XXX 暫譯
+#, c-format
+msgid ""
+"%s is on the local list but not on the server list. Do you want this buddy "
+"to be added?"
+msgstr ""
+"%s 在本地端的好友清單,郤不在伺服器上;您要新增這個好友至伺服器的好友清單嗎?"
+
 # XXX 暫譯,有待改進 - 20090226 acli
 # NOTE: (09時14分13秒 EST) wing: what does "Other Contacts" (msn/group.h:36) actually mean? ..
 # NOTE: (09時24分18秒 EST) khc: I'd probably just translate to 其他人, hehe
@@ -5679,7 +5669,7 @@
 
 #, c-format
 msgid "%s sent a wink. <a href='msn-wink://%s'>Click here to play it</a>"
-msgstr "%s 對您眨眼,<a href='msn-wink://%s'>請點擊這裏播放這個動作</a>"
+msgstr "%s 對您眨眼,<a href='msn-wink://%s'>請點擊這裡播放這個動作</a>"
 
 #, c-format
 msgid "%s sent a wink, but it could not be saved"
@@ -5687,7 +5677,7 @@
 
 #, c-format
 msgid "%s sent a voice clip. <a href='audio://%s'>Click here to play it</a>"
-msgstr "%s 送來了一段語音片段,<a href='audio://%s'>請點擊這裏播放</a>"
+msgstr "%s 送來了一段語音片段,<a href='audio://%s'>請點擊這裡播放</a>"
 
 #, c-format
 msgid "%s sent a voice clip, but it could not be saved"
@@ -5718,8 +5708,8 @@
 msgid "Set friendly name for %s."
 msgstr "設定 %s 的暱稱。"
 
-msgid "Set your friendly name."
-msgstr "設定您的暱稱。"
+msgid "Set Friendly Name"
+msgstr "設定暱稱"
 
 # NOTE MSN的暱稱不像Yahoo;使用者可以輸入任何的新暱稱,
 # NOTE 即使和使用者的帳號毫無關係,似乎也是有效的
@@ -5727,6 +5717,18 @@
 msgid "This is the name that other MSN buddies will see you as."
 msgstr "別人在 MSN 查閱您的個人資料時顯示這個暱稱。"
 
+msgid "This Location"
+msgstr "目前所在位置"
+
+msgid "This is the name that identifies this location"
+msgstr "目前的所在位置將以這個名稱代表"
+
+msgid "Other Locations"
+msgstr "其他所在位置"
+
+msgid "You can sign out from other locations here"
+msgstr "您可在這裡登出其他所在位置"
+
 msgid "Set your home phone number."
 msgstr "設定您的住家電話號碼。"
 
@@ -5780,7 +5782,7 @@
 msgstr "正在工作"
 
 msgid "Has you"
-msgstr "你在他(她)的好友清單裏"
+msgstr "你在他(她)的好友清單裡"
 
 msgid "Home Phone Number"
 msgstr "住家電話號碼"
@@ -5813,6 +5815,9 @@
 msgid "Set Friendly Name..."
 msgstr "設定暱稱..."
 
+msgid "View Locations..."
+msgstr "檢視所在位置..."
+
 msgid "Set Home Phone Number..."
 msgstr "設定住家電話號碼..."
 
@@ -6293,7 +6298,7 @@
 msgstr "更新個人資料"
 
 msgid "Here you can update your MXit profile"
-msgstr "您可以在這裏更新您在 MXit 的個人資料"
+msgstr "您可以在這裡更新您在 MXit 的個人資料"
 
 msgid "View Splash"
 msgstr "檢視啟動畫面"
@@ -7218,6 +7223,11 @@
 "您的連線/斷線動作太過頻繁。請等待十分鐘後再行重試。如果您依然繼續嘗試著連"
 "線,那麼您的等待時間將會更加的延長。"
 
+msgid ""
+"You required encryption in your account settings, but one of the servers "
+"doesn't support it."
+msgstr "您在帳號設定中指定了使用加密,但其中一個伺服器不支援加密功能。"
+
 # NOTE 單寫「要求 %s」好像有些怪 - acli 20090902
 #. Note to translators: The first %s is a URL, the second is an
 #. error message.
@@ -7231,7 +7241,7 @@
 msgstr "伺服器表示登入前必須完成圖片驗證,但這用戶端尚未支援圖片驗證。"
 
 msgid "AOL does not allow your screen name to authenticate here"
-msgstr "AOL 不允許您的帳號在這裏登入"
+msgstr "AOL 不允許您的帳號在這裡登入"
 
 # NOTE 單寫「要求 %s」好像有些怪 - acli 20090902
 #, c-format
@@ -7536,6 +7546,11 @@
 "無法以 %s 身份登入,因為這個帳號是無效的。帳號必須為有效電郵地址;或者以英文"
 "字母起始,並只含英文字母、數字及空白;或者只由數字組成。"
 
+msgid ""
+"You required encryption in your account settings, but encryption is not "
+"supported by your system."
+msgstr "您在帳號設定中指定了使用加密,但您的系統不支援加密功能。"
+
 #, c-format
 msgid "You may be disconnected shortly.  If so, check %s for updates."
 msgstr "您可能會在短時間內中斷連線。如果屬實,請到 %s 看看有沒有更新。"
@@ -8025,13 +8040,11 @@
 msgid "Set Privacy Options..."
 msgstr "設定隱私選項..."
 
-#, fuzzy
 msgid "Show Visible List"
-msgstr "公開"
-
-#, fuzzy
+msgstr "顯示「報稱上線」清單"
+
 msgid "Show Invisible List"
-msgstr "邀請清單"
+msgstr "顯示「報稱離線」清單"
 
 #. AIM actions
 msgid "Confirm Account"
@@ -8049,6 +8062,9 @@
 msgid "Search for Buddy by Email Address..."
 msgstr "使用電子郵件地址搜尋好友..."
 
+msgid "Don't use encryption"
+msgstr "不使用加密"
+
 msgid "Use clientLogin"
 msgstr "使用 clientLogin"
 
@@ -8264,10 +8280,9 @@
 msgid "Buddy Comment"
 msgstr "好友備註"
 
-#  NOTE Connection security 選項,指在伺服器支援的情況下使用 TLS, 如伺服器不支援 TLS 則以不加密的方式繼續進行連線
-#, fuzzy, c-format
+#, c-format
 msgid "User information not available: %s"
-msgstr "當伺服器支援時,使用加密功能"
+msgstr "找不到使用者資訊:%s"
 
 msgid "Mobile Phone"
 msgstr "行動電話"
@@ -8276,7 +8291,7 @@
 msgstr "個人網頁"
 
 #. aim_userinfo_t
-#. strip_html_tags
+#. use_html_status
 msgid "Additional Information"
 msgstr "其他資訊"
 
@@ -8305,48 +8320,61 @@
 msgid "Capabilities"
 msgstr "相容性"
 
-#. 4 separate strings are needed in order to ease translators' job
+#  NOTE 這四個字串在 Oscar (ICQ) 的解釋在此:http://pidgin.im/pipermail/translators/2010-November/000554.html
+#  NOTE Oscar: 把好友新增到 Visible List 內
+#  NOTE Yahoo: 狀態為「隱身」時,對某指定的好友報稱上線
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear online to the chosen user even when your status is set to
+#. Invisible.
 msgid "Appear Online"
 msgstr "報稱上線"
 
-#, fuzzy
+#  NOTE 把好友從 Visible List 內移除
+#  NOTE 參閱 "Don't Appear Permanently Offline"
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user when your status is set to
+#. Invisible (this is the default).
 msgid "Don't Appear Online"
-msgstr "報稱上線"
-
-# NOTE 下次登入時不報稱離線,所以加「暫時」字眼
+msgstr "停止報稱上線"
+
+#  NOTE Oscar: 把好友新增到 Invisible List 內
+#  NOTE Yahoo: 狀態為「隱身」時,對某指定的好友報稱離線
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to always appear offline to the chosen user (even when your status
+#. isn't Invisible).
 msgid "Appear Offline"
-msgstr "暫時報稱離線"
-
-# NOTE 下次登入時不報稱離線,所以加「暫時」字眼
-#, fuzzy
+msgstr "報稱離線"
+
+#  NOTE 把好友從 Invisible List 內移除
+#  NOTE 參閱 "Don't Appear Permanently Offline"
+#. Translators: This string is a menu option that, if selected, will cause
+#. you to appear offline to the chosen user if you are invisible, and
+#. appear online to the chosen user if you are not invisible (this is the
+#. default).
 msgid "Don't Appear Offline"
-msgstr "暫時報稱離線"
-
-#, fuzzy
+msgstr "停止報稱離線"
+
 msgid "you have no buddies on this list"
-msgstr "您已經從MultiMX中被踢出。"
-
-#, fuzzy, c-format
+msgstr "這清單內沒有好友"
+
+#, c-format
 msgid ""
 "You can add a buddy to this list by right-clicking on them and selecting \"%s"
 "\""
 msgstr ""
-"您可以重新要求這些好友的認證,只要在好友清單中以滑鼠右鍵點擊他們,然後選擇"
-"「要求重新認證」。"
-
-#, fuzzy
+"把好友新增在這清單內,只要在好友清單中以滑鼠右鍵點擊他們,然後選擇「%s」"
+
 msgid "Visible List"
-msgstr "公開"
+msgstr "「報稱上線」清單"
 
 msgid "These buddies will see your status when you switch to \"Invisible\""
-msgstr ""
-
-#, fuzzy
+msgstr "這些好友在您隱身時仍能看見您的上線狀態"
+
 msgid "Invisible List"
-msgstr "邀請清單"
+msgstr "「報稱離線」清單"
 
 msgid "These buddies will always see you as offline"
-msgstr ""
+msgstr "長時間向這些好友隱身"
 
 msgid "Aquarius"
 msgstr "水秤座"
@@ -8424,7 +8452,7 @@
 msgstr "其他"
 
 msgid "Visible"
-msgstr "公開"
+msgstr "不隱身"
 
 # XXX 暫譯 - 20090226
 msgid "Friend Only"
@@ -10792,6 +10820,7 @@
 msgstr "不在伺服器上的清單中"
 
 # NOTE Yahoo 官方譯「永遠顯示離線」,說白一點其實即是(針對某人)「長期隠身」
+#  NOTE 參閱 "Appear Offline"
 msgid "Appear Permanently Offline"
 msgstr "長期報稱離線"
 
@@ -10799,6 +10828,7 @@
 msgstr "現狀"
 
 #  NOTE 這是清單內的一個指令
+#  NOTE 參閱 "Don't Appear Offline"
 msgid "Don't Appear Permanently Offline"
 msgstr "停止長期報稱離線"
 
@@ -12773,6 +12803,11 @@
 msgid "Lao"
 msgstr "寮國文"
 
+#  NOTE 代碼 mai,印度的一種方言,維基百科譯「邁蒂利語」
+#  XXX 找不到正式的台灣譯文,參閱 http://zh.wikipedia.org/zh/迈蒂利语, http://tc.wangchao.net.cn/baike/detail_2071696.html
+msgid "Maithili"
+msgstr "邁蒂利文"
+
 #  NOTE「馬其頓文」是一種東歐語文,跟希臘的馬其頓並無關係
 msgid "Macedonian"
 msgstr "馬其頓文"
@@ -12951,7 +12986,7 @@
 "如果希望獲得<font size=\"4\">其他 Pidgin 使用者提供的支援</font>,可電郵至<a "
 "href=\"mailto:support@pidgin.im\">support@pidgin.im</a>。<br/>這是個<b>公開的"
 "</b>郵件論壇!(<a href=\"http://pidgin.im/pipermail/support/\">論壇存檔請點"
-"擊這裏</a>)<br/>本論壇恕不為第三者開發的模組(包括通訊協定模組)提供任何支"
+"擊這裡</a>)<br/>本論壇恕不為第三者開發的模組(包括通訊協定模組)提供任何支"
 "援!<br/>發帖請以<b>英文</b>為主;以中文或其他語文發帖亦可,但收到的回覆未必"
 "有用。<br/>"
 
@@ -14685,7 +14720,7 @@
 "The buddy with the <i>largest score</i> is the buddy who will have priority "
 "in the contact.\n"
 msgstr ""
-"若果一個好友其實概括了好幾個好友帳號,通訊時便根據這裏\n"
+"若果一個好友其實概括了好幾個好友帳號,通訊時便根據這裡\n"
 "所給定的得分值計分,積分最多者為「優先」,成為當時實際\n"
 "使用的好友帳號。\n"
 
@@ -15963,6 +15998,19 @@
 msgid "You do not have permission to uninstall this application."
 msgstr "您沒有權限移除程式。"
 
+#~ msgid "An error occurred on the in-band bytestream transfer\n"
+#~ msgstr "帶內位元組流傳輸途中發生錯誤\n"
+
+# XXX 還是直譯「被關閉」? 20090305 acli
+#~ msgid "Transfer was closed."
+#~ msgstr "傳輸已被中止。"
+
+#~ msgid "Failed to open in-band bytestream"
+#~ msgstr "無法開啟帶內位元組流"
+
+#~ msgid "Set your friendly name."
+#~ msgstr "設定您的暱稱。"
+
 #~ msgid "The certificate has expired and should not be considered valid."
 #~ msgstr "這張憑證已逾期,應視作無效。"