changeset 24265:c5c494da87b7

merge of '05c26e9f58c2ab03f9f6d60143405f368789957d' and 'd23d06190a3e58a0c78a5071310cd724ac228634'
author Richard Laager <rlaager@wiktel.com>
date Thu, 09 Oct 2008 11:58:07 +0000
parents 18c497e147aa (diff) a29ae9a5c311 (current diff)
children 162aa340b165
files
diffstat 34 files changed, 1540 insertions(+), 686 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Oct 09 11:57:28 2008 +0000
+++ b/ChangeLog	Thu Oct 09 11:58:07 2008 +0000
@@ -15,6 +15,8 @@
 	  help with discoverability.  CTRL+S is no longer bound to mute.
 	* Added ability to change the color of visited links (using the theme
 	  control plugin, or setting the color in ~/.gtkrc-2.0)
+	* Fix a crash occuring when a custom smiley is deleted and re-added and
+	  used in an open conversation after being re-added
 
 	Finch:
 	* A new 'Nested Grouping' option in the 'Grouping' plugin. Group
@@ -26,6 +28,10 @@
 	* Sending and receiving custom smileys using the specification in
 	  XEP-0231 (bits of binary) and XHTML-IM
 
+	Yahoo:
+	* Only send a Ping once every hour.  This prevents the account from
+	  being disconnected from the server periodically.
+
 version 2.5.1 (08/30/2008):
 	libpurple:
 	* In the Join/Part plugin, add the ability to apply the rules to
--- a/libpurple/conversation.h	Thu Oct 09 11:57:28 2008 +0000
+++ b/libpurple/conversation.h	Thu Oct 09 11:58:07 2008 +0000
@@ -114,7 +114,7 @@
 	                                        which are only open for
 	                                        internal UI purposes
 	                                        (e.g. for contact-aware
-	                                         conversions).           */
+	                                         conversations).           */
 	PURPLE_MESSAGE_NICK        = 0x0020, /**< Contains your nick.      */
 	PURPLE_MESSAGE_NO_LOG      = 0x0040, /**< Do not log.              */
 	PURPLE_MESSAGE_WHISPER     = 0x0080, /**< Whispered message.       */
--- a/libpurple/dnsquery.c	Thu Oct 09 11:57:28 2008 +0000
+++ b/libpurple/dnsquery.c	Thu Oct 09 11:58:07 2008 +0000
@@ -461,8 +461,8 @@
 		return FALSE;
 	}
 	if (rc < sizeof(dns_params)) {
-		purple_debug_error("dns", "Tried to read %" G_GSSIZE_FORMAT
-				" bytes from child but only read %" G_GSSIZE_FORMAT "\n",
+		purple_debug_error("dns", "Tried to write %" G_GSSIZE_FORMAT
+				" bytes to child but only wrote %" G_GSSIZE_FORMAT "\n",
 				sizeof(dns_params), rc);
 		purple_dnsquery_resolver_destroy(resolver);
 		return FALSE;
--- a/libpurple/protocols/bonjour/mdns_common.c	Thu Oct 09 11:57:28 2008 +0000
+++ b/libpurple/protocols/bonjour/mdns_common.c	Thu Oct 09 11:58:07 2008 +0000
@@ -46,6 +46,30 @@
 	g_free(data);
 }
 
+#define MAX_TXT_CONSTITUENT_LEN 255
+
+/* Make sure that the value isn't longer than it is supposed to be */
+static const char*
+get_max_txt_record_value(const char *key, const char *value)
+{
+	/* "each constituent string of a DNS TXT record is limited to 255 bytes"
+	 * This includes the key and the '='
+	 */
+	static char buffer[MAX_TXT_CONSTITUENT_LEN + 1];
+	gchar *end_valid = NULL;
+	int len = MIN(strlen(value), MAX_TXT_CONSTITUENT_LEN - (strlen(key) + 2));
+
+	strncpy(buffer, value, len);
+
+	buffer[len] = '\0';
+
+	/* If we've cut part of a utf-8 character, kill it */
+	if (!g_utf8_validate(buffer, -1, (const gchar **)&end_valid))
+		*end_valid = '\0';
+
+	return buffer;
+}
+
 static GSList *generate_presence_txt_records(BonjourDnsSd *data) {
 	GSList *ret = NULL;
 	PurpleKeyValuePair *kvp;
@@ -62,13 +86,20 @@
 #define _M_ADD_R(k, v) \
 	kvp = g_new0(PurpleKeyValuePair, 1); \
 	kvp->key = g_strdup(k); \
-	kvp->value = g_strdup(v); \
+	kvp->value = g_strdup(get_max_txt_record_value(k, v)); \
 	ret = g_slist_prepend(ret, kvp); \
 
 	/* We should try to follow XEP-0174, but some clients have "issues", so we humor them.
 	 * See http://telepathy.freedesktop.org/wiki/SalutInteroperability
 	 */
 
+	/* Large TXT records are problematic.
+	 * While it is technically possible for this to exceed a standard 512-byte
+	 * DNS message, it shouldn't happen unless we get wacky data entered for
+	 * some of the freeform fields.  It is even less likely to exceed the
+	 * recommended maximum of 1300 bytes.
+	 */
+
 	/* Needed by iChat */
 	_M_ADD_R("txtvers", "1")
 	/* Needed by Gaim/Pidgin <= 2.0.1 (remove at some point) */
--- a/libpurple/protocols/irc/msgs.c	Thu Oct 09 11:57:28 2008 +0000
+++ b/libpurple/protocols/irc/msgs.c	Thu Oct 09 11:58:07 2008 +0000
@@ -215,8 +215,10 @@
 			/* This is an extended syntax, not in RFC 1459 */
 			int t1 = atoi(args[4]);
 			time_t t2 = time(NULL);
+			char *time = purple_str_seconds_to_string(t2 - t1);
 			msg = g_strdup_printf(_("Ban on %s by %s, set %s ago"),
-			                      args[2], args[3], purple_str_seconds_to_string(t2 - t1));
+			                      args[2], args[3], time);
+			g_free(time);
 		} else {
 			msg = g_strdup_printf(_("Ban on %s"), args[2]);
 		}
--- a/libpurple/protocols/jabber/jabber.c	Thu Oct 09 11:57:28 2008 +0000
+++ b/libpurple/protocols/jabber/jabber.c	Thu Oct 09 11:58:07 2008 +0000
@@ -131,6 +131,9 @@
 			}
 			if((my_jb = jabber_buddy_find(js, full_jid, TRUE)))
 				my_jb->subscription |= JABBER_SUB_BOTH;
+
+			purple_connection_set_display_name(js->gc, full_jid);
+
 			g_free(full_jid);
 		}
 	} else {
--- a/libpurple/protocols/msn/contact.c	Thu Oct 09 11:57:28 2008 +0000
+++ b/libpurple/protocols/msn/contact.c	Thu Oct 09 11:58:07 2008 +0000
@@ -941,6 +941,7 @@
 
 	MsnUserList *userlist;
 	MsnUser *user;
+	xmlnode *guid;
 
 	g_return_if_fail(session != NULL);
 
@@ -960,6 +961,15 @@
 
 	user = msn_userlist_find_add_user(userlist, state->who, state->who);
 	msn_user_add_group_id(user, state->guid);
+
+	guid = xmlnode_get_child(resp->xml,
+		"Body/ABContactAddResponse/ABContactAddResult/guid");
+	if (guid != NULL) {
+		char *uid = xmlnode_get_data(guid);
+		msn_user_set_uid(user, uid);
+		purple_debug_info("msn", "Set %s guid to %s.\n", state->who, uid);
+		g_free(uid);
+	}
 }
 
 /* add a Contact in MSN_INDIVIDUALS_GROUP */
@@ -1016,6 +1026,15 @@
 
 	if (state->action & MSN_ADD_BUDDY) {
 		MsnUser *user = msn_userlist_find_user(userlist, state->who);
+		xmlnode *guid = xmlnode_get_child(resp->xml,
+			"Body/ABGroupContactAddResponse/ABGroupContactAddResult/guid");
+
+		if (guid != NULL) {
+			char *uid = xmlnode_get_data(guid);
+			msn_user_set_uid(user, uid);
+			purple_debug_info("msn", "Set %s guid to %s.\n", state->who, uid);
+			g_free(uid);
+		}
 
 		if ( !msn_user_is_yahoo(state->session->account, state->who) ) {
 			msn_userlist_add_buddy_to_list(userlist, state->who, MSN_LIST_AL);
@@ -1111,20 +1130,24 @@
 
 /*delete a Contact*/
 void
-msn_delete_contact(MsnSession *session, const char *contactId)
+msn_delete_contact(MsnSession *session, MsnUser *user)
 {
 	gchar *body = NULL;
 	gchar *contact_id_xml = NULL ;
 	MsnCallbackState *state;
 
-	g_return_if_fail(contactId != NULL);
-	contact_id_xml = g_strdup_printf(MSN_CONTACT_ID_XML, contactId);
+	if (user->uid != NULL) {
+		contact_id_xml = g_strdup_printf(MSN_CONTACT_ID_XML, user->uid);
+		purple_debug_info("msn", "Deleting contact with contactId: %s\n", user->uid);
+	} else {
+		contact_id_xml = g_strdup_printf(MSN_CONTACT_XML, user->passport);
+		purple_debug_info("msn", "Deleting contact with passport: %s\n", user->passport);
+	}
 
 	state = msn_callback_state_new(session);
-	msn_callback_state_set_uid(state, contactId);
+	msn_callback_state_set_uid(state, user->uid);
 
 	/* build SOAP request */
-	purple_debug_info("msn", "Deleting contact with contactId: %s\n", contactId);
 	body = g_strdup_printf(MSN_DEL_CONTACT_TEMPLATE, contact_id_xml);
 
 	state->body = xmlnode_from_str(body, -1);
@@ -1191,7 +1214,10 @@
 	msn_callback_state_set_guid(state, groupId);
 	msn_callback_state_set_old_group_name(state, group_name);
 
-	contact_id_xml = g_strdup_printf(MSN_CONTACT_ID_XML, user->uid);
+	if (user->uid != NULL)
+		contact_id_xml = g_strdup_printf(MSN_CONTACT_ID_XML, user->uid);
+	else
+		contact_id_xml = g_strdup_printf(MSN_CONTACT_XML, passport);
 	body = g_strdup_printf(MSN_CONTACT_DEL_GROUP_TEMPLATE, contact_id_xml, groupId);
 
 	state->body = xmlnode_from_str(body, -1);
--- a/libpurple/protocols/msn/contact.h	Thu Oct 09 11:57:28 2008 +0000
+++ b/libpurple/protocols/msn/contact.h	Thu Oct 09 11:58:07 2008 +0000
@@ -654,7 +654,7 @@
 
 void msn_add_contact(MsnSession *session, MsnCallbackState *state,
 		     const char *passport);
-void msn_delete_contact(MsnSession *session, const char *contactId);
+void msn_delete_contact(MsnSession *session, MsnUser *user);
 
 void msn_add_contact_to_group(MsnSession *session, MsnCallbackState *state,
 			      const char *passport, const char *groupId);
--- a/libpurple/protocols/msn/group.h	Thu Oct 09 11:57:28 2008 +0000
+++ b/libpurple/protocols/msn/group.h	Thu Oct 09 11:58:07 2008 +0000
@@ -33,10 +33,10 @@
 #include "userlist.h"
 
 #define MSN_INDIVIDUALS_GROUP_ID	"1983"
-#define MSN_INDIVIDUALS_GROUP_NAME	"Other Contacts"
+#define MSN_INDIVIDUALS_GROUP_NAME	_("Other Contacts")
 
 #define MSN_NON_IM_GROUP_ID		"email"
-#define MSN_NON_IM_GROUP_NAME	"Non-IM Contacts"
+#define MSN_NON_IM_GROUP_NAME	_("Non-IM Contacts")
 
 /**
  * A group.
--- a/libpurple/protocols/msn/msg.c	Thu Oct 09 11:57:28 2008 +0000
+++ b/libpurple/protocols/msn/msg.c	Thu Oct 09 11:58:07 2008 +0000
@@ -114,6 +114,7 @@
 	char *message_cr;
 
 	msg = msn_message_new(MSN_MSG_TEXT);
+	msg->retries = 1;
 	msn_message_set_attr(msg, "User-Agent", PACKAGE_NAME "/" VERSION);
 	msn_message_set_content_type(msg, "text/plain");
 	msn_message_set_charset(msg, "UTF-8");
--- a/libpurple/protocols/msn/msg.h	Thu Oct 09 11:57:28 2008 +0000
+++ b/libpurple/protocols/msn/msg.h	Thu Oct 09 11:58:07 2008 +0000
@@ -129,6 +129,8 @@
 	void *ack_data; /**< The data used by callbacks. */
 
 	MsnMsgErrorType error; /**< The error of the message. */
+
+	guint32 retries;
 };
 
 /**
@@ -243,24 +245,6 @@
  */
 char msn_message_get_flag(const MsnMessage *msg);
 
-#if 0
-/**
- * Sets the body of a message.
- *
- * @param msg  The message.
- * @param body The body of the message.
- */
-void msn_message_set_body(MsnMessage *msg, const char *body);
-
-/**
- * Returns the body of the message.
- *
- * @param msg The message.
- *
- * @return The body of the message.
- */
-const char *msn_message_get_body(const MsnMessage *msg);
-#endif
 /**
  * Sets the binary content of the message.
  *
--- a/libpurple/protocols/msn/msn.c	Thu Oct 09 11:57:28 2008 +0000
+++ b/libpurple/protocols/msn/msn.c	Thu Oct 09 11:58:07 2008 +0000
@@ -42,6 +42,7 @@
 #include "msnutils.h"
 #include "version.h"
 
+#include "msg.h"
 #include "switchboard.h"
 #include "notification.h"
 #include "sync.h"
@@ -1115,6 +1116,31 @@
 	return list;
 }
 
+void
+msn_send_im_message(MsnSession *session, MsnMessage *msg)
+{
+	MsnEmoticon *smile;
+	GSList *smileys;
+	GString *emoticons = NULL;
+	const char *username = purple_account_get_username(session->account);
+	MsnSwitchBoard *swboard = msn_session_get_swboard(session, msg->remote_user, MSN_SB_FLAG_IM);
+
+	smileys = msn_msg_grab_emoticons(msg->body, username);
+	while (smileys) {
+		smile = (MsnEmoticon*)smileys->data;
+		emoticons = msn_msg_emoticon_add(emoticons, smile);
+		msn_emoticon_destroy(smile);
+		smileys = g_slist_delete_link(smileys, smileys);
+	}
+
+	if (emoticons) {
+		msn_send_emoticons(swboard, emoticons);
+		g_string_free(emoticons, TRUE);
+	}
+
+	msn_switchboard_send_msg(swboard, msg, TRUE);
+}
+
 static int
 msn_send_im(PurpleConnection *gc, const char *who, const char *message,
 			PurpleMessageFlags flags)
@@ -1135,6 +1161,13 @@
 	session = gc->proto_data;
 	swboard = msn_session_find_swboard(session, who);
 
+	if (!strncmp("tel:+", who, 5)) {
+		char *text = purple_markup_strip_html(message);
+		send_to_mobile(gc, who, text);
+		g_free(text);
+		return 1;
+	}
+
 	if (buddy) {
 		PurplePresence *p = purple_buddy_get_presence(buddy);
 		if (purple_presence_is_status_primitive_active(p, PURPLE_STATUS_MOBILE)) {
@@ -1170,31 +1203,13 @@
 		purple_debug_info("msn", "prepare to send online Message\n");
 		if (g_ascii_strcasecmp(who, username))
 		{
-			MsnEmoticon *smile;
-			GSList *smileys;
-			GString *emoticons = NULL;
-
 			if (msn_user_is_yahoo(account, who)) {
 				/*we send the online and offline Message to Yahoo User via UBM*/
 				purple_debug_info("msn", "send to Yahoo User\n");
 				uum_send_msg(session, msg);
 			} else {
 				purple_debug_info("msn", "send via switchboard\n");
-				swboard = msn_session_get_swboard(session, who, MSN_SB_FLAG_IM);
-				smileys = msn_msg_grab_emoticons(message, username);
-				while (smileys) {
-					smile = (MsnEmoticon*)smileys->data;
-					emoticons = msn_msg_emoticon_add(emoticons, smile);
-					msn_emoticon_destroy(smile);
-					smileys = g_slist_delete_link(smileys, smileys);
-				}
-
-				if (emoticons) {
-					msn_send_emoticons(swboard, emoticons);
-					g_string_free(emoticons, TRUE);
-				}
-
-				msn_switchboard_send_msg(swboard, msg, TRUE);
+				msn_send_im_message(session, msg);
 			}
 		}
 		else
--- a/libpurple/protocols/msn/msn.h	Thu Oct 09 11:57:28 2008 +0000
+++ b/libpurple/protocols/msn/msn.h	Thu Oct 09 11:58:07 2008 +0000
@@ -55,6 +55,8 @@
 
 #include "ft.h"
 
+#include "msg.h"
+
 #define MSN_BUF_LEN 8192
 
 /* Windows Live Messenger Server*/
@@ -142,5 +144,6 @@
 
 void msn_act_id(PurpleConnection *gc, const char *entry);
 void msn_send_privacy(PurpleConnection *gc);
+void msn_send_im_message(MsnSession *session, MsnMessage *msg);
 
 #endif /* _MSN_H_ */
--- a/libpurple/protocols/msn/notification.c	Thu Oct 09 11:57:28 2008 +0000
+++ b/libpurple/protocols/msn/notification.c	Thu Oct 09 11:58:07 2008 +0000
@@ -306,7 +306,7 @@
 	 * to see the Local ID
 	 */
 	msn_cmdproc_send(cmdproc, "CVR",
-					"0x0409 winnt 5.1 i386 MSNMSGR 8.5.1288 msmsgs %s",
+					"0x0409 winnt 5.1 i386 MSNMSGR 8.5.1302 BC01 %s",
 					 purple_account_get_username(account));
 }
 
@@ -1060,7 +1060,8 @@
 {
 	PurpleConnection *gc;
 	MsnUserList *userlist;
-	char *who = NULL, *text = NULL;
+	const char *who = NULL;
+	char *text = NULL;
 	const char *id = NULL;
 	xmlnode *payloadNode, *from, *msg, *textNode;
 
@@ -1104,13 +1105,18 @@
 	   </NOTIFICATION>
 	*/
 
-	if (!(payloadNode = xmlnode_from_str(payload, len)) ||
-		!(from = xmlnode_get_child(payloadNode, "FROM")) ||
-		!(msg = xmlnode_get_child(payloadNode, "MSG")) ||
-		!(textNode = xmlnode_get_child(msg, "BODY/TEXT")))
+	payloadNode = xmlnode_from_str(payload, len);
+	if (!payloadNode)
 		return;
 
-	who = g_strdup(xmlnode_get_attrib(from, "name"));
+	if (!(from = xmlnode_get_child(payloadNode, "FROM")) ||
+		!(msg = xmlnode_get_child(payloadNode, "MSG")) ||
+		!(textNode = xmlnode_get_child(msg, "BODY/TEXT"))) {
+		xmlnode_free(payloadNode);
+		return;
+	}
+
+	who = xmlnode_get_attrib(from, "name");
 	if (!who) return;
 
 	text = xmlnode_get_data(textNode);
@@ -1121,10 +1127,8 @@
 		MsnUser *user =
 			msn_userlist_find_user_with_mobile_phone(userlist, who + 4);
 
-		if(user && user->passport) {
-			g_free(who);
-			who = g_strdup(user->passport);
-		}
+		if (user && user->passport)
+			who = user->passport;
 	}
 
 	id = xmlnode_get_attrib(msg, "id");
@@ -1143,7 +1147,6 @@
 	}
 
 	g_free(text);
-	g_free(who);
 	xmlnode_free(payloadNode);
 }
 
--- a/libpurple/protocols/msn/servconn.c	Thu Oct 09 11:57:28 2008 +0000
+++ b/libpurple/protocols/msn/servconn.c	Thu Oct 09 11:58:07 2008 +0000
@@ -400,9 +400,9 @@
 		return;
 
 	} else if (len <= 0) {
-		purple_debug_error("msn", "servconn read error,"
-		                          "len: %" G_GSSIZE_FORMAT ", errno: %d, error: %s\n",
-		                          len, errno, g_strerror(errno));
+		purple_debug_error("msn", "servconn %03d read error,"
+			"len: %" G_GSSIZE_FORMAT ", errno: %d, error: %s\n",
+			servconn->num, len, errno, g_strerror(errno));
 		msn_servconn_got_error(servconn, MSN_SERVCONN_ERROR_READ);
 
 		return;
--- a/libpurple/protocols/msn/switchboard.c	Thu Oct 09 11:57:28 2008 +0000
+++ b/libpurple/protocols/msn/switchboard.c	Thu Oct 09 11:58:07 2008 +0000
@@ -375,6 +375,19 @@
 	g_strfreev(params);
 }
 
+static gboolean
+msg_resend_cb(gpointer data)
+{
+	MsnSwitchBoard *swboard = data;
+
+	purple_debug_info("msn", "unqueuing unsent message to %s", swboard->im_user);
+
+	msn_switchboard_request(swboard);
+	msn_switchboard_request_add_user(swboard, swboard->im_user);
+	swboard->reconn_timeout_h = 0;
+	return FALSE;
+}
+
 static void
 msg_error_helper(MsnCmdProc *cmdproc, MsnMessage *msg, MsnMsgErrorType error)
 {
@@ -413,6 +426,34 @@
 		}
 		else if (error == MSN_MSG_ERROR_SB)
 		{
+			MsnSession *session = swboard->session;
+
+			if (!session->destroying && msg->retries &&	swboard->im_user &&
+				(swboard->error == MSN_SB_ERROR_CONNECTION ||
+					swboard->error == MSN_SB_ERROR_UNKNOWN)) {
+				MsnSwitchBoard *new_sw = msn_session_find_swboard(session,
+					swboard->im_user);
+
+				if (new_sw == NULL || new_sw->reconn_timeout_h == 0) {
+					new_sw = msn_switchboard_new(session);
+					new_sw->im_user = g_strdup(swboard->im_user);
+					new_sw->reconn_timeout_h = purple_timeout_add_seconds(3, msg_resend_cb, new_sw);
+					new_sw->flag |= MSN_SB_FLAG_IM;
+				}
+
+				body_str = msn_message_to_string(msg);
+				body_enc = g_markup_escape_text(body_str, -1);
+				g_free(body_str);
+
+				purple_debug_info("msn", "queuing unsent message to %s: %s",
+					swboard->im_user, body_enc);
+				g_free(body_enc);
+				msn_send_im_message(session, msg);
+				msg->retries--;
+
+				return;
+			}
+
 			switch (swboard->error)
 			{
 				case MSN_SB_ERROR_OFFLINE:
--- a/libpurple/protocols/msn/switchboard.h	Thu Oct 09 11:57:28 2008 +0000
+++ b/libpurple/protocols/msn/switchboard.h	Thu Oct 09 11:58:07 2008 +0000
@@ -104,6 +104,7 @@
 	MsnSBErrorType error; /**< The error that occurred in this switchboard
 							(if applicable). */
 	GList *slplinks; /**< The list of slplinks that are using this switchboard. */
+	guint reconn_timeout_h;
 };
 
 /**
--- a/libpurple/protocols/msn/userlist.c	Thu Oct 09 11:57:28 2008 +0000
+++ b/libpurple/protocols/msn/userlist.c	Thu Oct 09 11:58:07 2008 +0000
@@ -610,6 +610,22 @@
 	}
 }
 
+typedef struct {
+	MsnSession *session;
+	char *uid;
+} MsnUserlistABData;
+
+static void
+userlist_ab_delete_cb(void *data, int choice)
+{
+	MsnUserlistABData *ab = (MsnUserlistABData *)data;
+
+	/* msn_delete_contact(ab->session, ab->uid, (gboolean)choice); */
+
+	g_free(ab->uid);
+	g_free(ab);
+}
+
 void
 msn_userlist_rem_buddy(MsnUserList *userlist, const char *who)
 {
@@ -625,7 +641,18 @@
 
 	/* delete the contact from address book via soap action */
 	if (user != NULL) {
-		msn_delete_contact(userlist->session, user->uid);
+		if (0 /*not ready yet*/ && userlist->session->passport_info.email_enabled) {
+			MsnUserlistABData *ab = g_new0(MsnUserlistABData, 1);
+			ab->session = userlist->session;
+			ab->uid = g_strdup(user->uid); /* Not necessary? */
+			purple_request_yes_no(userlist->session->account,
+				_("Delete Buddy from Address Book?"),
+				_("Do you want to delete this buddy from your address book as well?"),
+				user->passport, 0, userlist->session->account, user->passport,
+				NULL, ab,
+				G_CALLBACK(userlist_ab_delete_cb), G_CALLBACK(userlist_ab_delete_cb));
+		} else
+			msn_delete_contact(userlist->session, user);
 	}
 }
 
--- a/libpurple/protocols/oscar/oscar.c	Thu Oct 09 11:57:28 2008 +0000
+++ b/libpurple/protocols/oscar/oscar.c	Thu Oct 09 11:58:07 2008 +0000
@@ -508,7 +508,7 @@
 		b = purple_find_buddy(account, destsn);
 		if ((b != NULL) && (PURPLE_BUDDY_IS_ONLINE(b)))
 		{
-			*msg = g_convert(from, -1, "UTF-16BE", "UTF-8", NULL, &msglen, NULL);
+			*msg = g_convert(from, -1, "UTF-16BE", "UTF-8", NULL, &msglen, &err);
 			if (*msg != NULL)
 			{
 				*charset = AIM_CHARSET_UNICODE;
@@ -516,6 +516,11 @@
 				*msglen_int = msglen;
 				return;
 			}
+
+			purple_debug_error("oscar", "Conversion from UTF-8 to UTF-16BE failed: %s.\n",
+							   err->message);
+			g_error_free(err);
+			err = NULL;
 		}
 	}
 
@@ -531,7 +536,7 @@
 	 * XXX - We need a way to only attempt to convert if we KNOW "from"
 	 * can be converted to "charsetstr"
 	 */
-	*msg = g_convert(from, -1, charsetstr, "UTF-8", NULL, &msglen, NULL);
+	*msg = g_convert(from, -1, charsetstr, "UTF-8", NULL, &msglen, &err);
 	if (*msg != NULL) {
 		*charset = AIM_CHARSET_CUSTOM;
 		*charsubset = 0x0000;
@@ -539,6 +544,11 @@
 		return;
 	}
 
+	purple_debug_info("oscar", "Conversion from UTF-8 to %s failed (%s), falling back to unicode.\n",
+					  charsetstr, err->message);
+	g_error_free(err);
+	err = NULL;
+
 	/*
 	 * Nothing else worked, so send as UTF-16BE.
 	 */
@@ -552,6 +562,7 @@
 
 	purple_debug_error("oscar", "Error converting a Unicode message: %s\n", err->message);
 	g_error_free(err);
+	err = NULL;
 
 	purple_debug_error("oscar", "This should NEVER happen!  Sending UTF-8 text flagged as ASCII.\n");
 	*msg = g_strdup(from);
--- a/pidgin/gtkaccount.c	Thu Oct 09 11:57:28 2008 +0000
+++ b/pidgin/gtkaccount.c	Thu Oct 09 11:58:07 2008 +0000
@@ -451,7 +451,8 @@
 	if (dialog->account != NULL)
 		username = g_strdup(purple_account_get_username(dialog->account));
 
-	if (!username && PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(dialog->prpl_info, get_account_text_table)) {
+	if (!username && dialog->prpl_info
+			&& PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(dialog->prpl_info, get_account_text_table)) {
 		GdkColor color = {0, 34952, 35466, 34181};
 		GHashTable *table;
 		const char *label;
@@ -724,7 +725,7 @@
 {
 	PurpleAccountOption *option;
 	PurpleAccount *account;
-	GtkWidget *frame, *vbox, *check, *entry, *combo, *menu, *item;
+	GtkWidget *frame, *vbox, *check, *entry, *combo;
 	GList *list, *node;
 	gint i, idx, int_value;
 	GtkListStore *model;
@@ -858,13 +859,6 @@
 						gtk_entry_set_invisible_char(GTK_ENTRY(entry), PIDGIN_INVISIBLE_CHAR);
 				}
 
-				/* Google Talk default domain hackery! */
-				menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(dialog->protocol_menu));
-				item = gtk_menu_get_active(GTK_MENU(menu));
-				if (str_value == NULL && g_object_get_data(G_OBJECT(item), "fake") &&
-					!strcmp(_("Connect server"),  purple_account_option_get_text(option)))
-					str_value = "talk.google.com";
-
 				if (str_value != NULL)
 					gtk_entry_set_text(GTK_ENTRY(entry), str_value);
 
--- a/pidgin/gtkblist.c	Thu Oct 09 11:57:28 2008 +0000
+++ b/pidgin/gtkblist.c	Thu Oct 09 11:58:07 2008 +0000
@@ -4663,8 +4663,6 @@
 {
 	PidginBuddyListPrivate *priv = PIDGIN_BUDDY_LIST_GET_PRIVATE(gtkblist);
 	gtk_container_add(GTK_CONTAINER(priv->error_scrollbook), dialog);
-
-	set_urgent();
 }
 
 static GtkWidget *
@@ -4811,7 +4809,6 @@
 		GTK_CONTAINER(priv->error_scrollbook), account);
 	pidgin_mini_dialog_set_description(PIDGIN_MINI_DIALOG(mini_dialog),
 		description);
-	set_urgent();
 }
 
 
@@ -4967,8 +4964,6 @@
 	gtk_widget_show_all(account_label);
 
 	update_signed_on_elsewhere_minidialog_title();
-
-	set_urgent();
 }
 
 static void
@@ -4994,7 +4989,6 @@
 	GtkContainer *c = GTK_CONTAINER(priv->signed_on_elsewhere->contents);
 	GtkWidget *label = find_child_widget_by_account(c, account);
 	gtk_widget_set_tooltip_text(label, description);
-	set_urgent();
 #endif
 }
 
--- a/pidgin/gtkconn.c	Thu Oct 09 11:57:28 2008 +0000
+++ b/pidgin/gtkconn.c	Thu Oct 09 11:58:07 2008 +0000
@@ -208,7 +208,9 @@
 	while (l) {
 		PurpleAccount *a = (PurpleAccount*)l->data;
 		if (!purple_account_is_disconnected(a)) {
-			purple_account_disconnect(a);
+			purple_connection_error_reason(purple_account_get_connection(a),
+			                               PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
+			                               _("Network disconnected"));
 		}
 		l = l->next;
 	}
--- a/pidgin/gtkimhtml.c	Thu Oct 09 11:57:28 2008 +0000
+++ b/pidgin/gtkimhtml.c	Thu Oct 09 11:58:07 2008 +0000
@@ -348,6 +348,9 @@
 			g_string_free (t->values, TRUE);
 			g_free (t->children);
 		}
+		if (t && t->image) {
+			t->image->imhtml = NULL;
+		}
 		g_free (t);
 	}
 }
@@ -1958,7 +1961,6 @@
 	}
 }
 
-/* this isn't used yet
 static void gtk_smiley_tree_remove (GtkSmileyTree     *tree,
 			GtkIMHtmlSmiley   *smiley)
 {
@@ -1974,7 +1976,7 @@
 
 		pos = strchr (t->values->str, *x);
 		if (pos)
-			t = t->children [(int) pos - (int) t->values->str];
+			t = t->children [(unsigned int) pos - (unsigned int) t->values->str];
 		else
 			return;
 
@@ -1985,8 +1987,6 @@
 		t->image = NULL;
 	}
 }
-*/
-
 
 static gint
 gtk_smiley_tree_lookup (GtkSmileyTree *tree,
@@ -2046,6 +2046,25 @@
 	return 0;
 }
 
+static void
+gtk_imhtml_disassociate_smiley_foreach(gpointer key, gpointer value,
+	gpointer user_data)
+{
+	GtkSmileyTree *tree = (GtkSmileyTree *) value;
+	GtkIMHtmlSmiley *smiley = (GtkIMHtmlSmiley *) user_data;
+	gtk_smiley_tree_remove(tree, smiley);
+}
+
+static void
+gtk_imhtml_disassociate_smiley(GtkIMHtmlSmiley *smiley)
+{
+	if (smiley->imhtml) {
+		gtk_smiley_tree_remove(smiley->imhtml->default_smilies, smiley);
+		g_hash_table_foreach(smiley->imhtml->smiley_data, 
+			gtk_imhtml_disassociate_smiley_foreach, smiley);
+	}
+}
+
 void
 gtk_imhtml_associate_smiley (GtkIMHtml       *imhtml,
 			     const gchar     *sml,
@@ -5617,12 +5636,14 @@
 	smiley->smile = g_strdup(shortcut);
 	smiley->hidden = hide;
 	smiley->flags = flags;
+	smiley->imhtml = NULL;
 	gtk_imhtml_smiley_reload(smiley);
 	return smiley;
 }
 
 void gtk_imhtml_smiley_destroy(GtkIMHtmlSmiley *smiley)
 {
+	gtk_imhtml_disassociate_smiley(smiley);
 	g_free(smiley->smile);
 	g_free(smiley->file);
 	if (smiley->icon)
--- a/pidgin/gtkstatusbox.c	Thu Oct 09 11:57:28 2008 +0000
+++ b/pidgin/gtkstatusbox.c	Thu Oct 09 11:58:07 2008 +0000
@@ -397,6 +397,11 @@
 	status_box->icon_box = gtk_event_box_new();
 	gtk_widget_set_parent(status_box->icon_box, GTK_WIDGET(status_box));
 	gtk_widget_show(status_box->icon_box);
+#if 0
+	gtk_widget_set_tooltip_text(status_box->icon_box,
+			status_box->account ? _("Click to change your buddyicon for this account.") :
+				_("Click to change your buddyicon for all accounts."));
+#endif
 
 	if (status_box->account &&
 		!purple_account_get_bool(status_box->account, "use-global-buddyicon", TRUE))
@@ -1199,69 +1204,22 @@
 	}
 
 	status_box->connecting_index = 0;
-	status_box->connecting_pixbufs[0] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT0,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[1] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT1,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[2] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT2,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[3] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT3,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[4] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT4,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[5] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT5,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[6] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT6,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[7] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT7,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[8] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT8,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[9] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT9,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[10] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT10,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[11] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT11,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[12] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT12,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[13] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT13,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[14] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT14,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[15] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT15,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[16] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT16,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[17] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT17,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[18] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT18,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[19] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT19,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[20] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT20,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[21] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT21,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[22] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT22,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[23] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT23,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[24] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT24,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[25] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT25,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[26] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT26,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[27] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT27,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[28] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT28,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[29] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT29,
-								     icon_size, "PidginStatusBox");
-	status_box->connecting_pixbufs[30] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_CONNECT30,
-								     icon_size, "PidginStatusBox");
-
+
+#define CACHE_ANIMATION_CONNECT(index) \
+	status_box->connecting_pixbufs[index] = gtk_widget_render_icon (GTK_WIDGET(status_box->vbox),\
+			PIDGIN_STOCK_ANIMATION_CONNECT ## index, icon_size, "PidginStatusBox")
+
+	CACHE_ANIMATION_CONNECT(0);
+	CACHE_ANIMATION_CONNECT(1);
+	CACHE_ANIMATION_CONNECT(2);
+	CACHE_ANIMATION_CONNECT(3);
+	CACHE_ANIMATION_CONNECT(4);
+	CACHE_ANIMATION_CONNECT(5);
+	CACHE_ANIMATION_CONNECT(6);
+	CACHE_ANIMATION_CONNECT(7);
+	CACHE_ANIMATION_CONNECT(8);
+
+#undef CACHE_ANIMATION_CONNECT
 
 	for (i = 0; i < G_N_ELEMENTS(status_box->typing_pixbufs); i++) {
 		if (status_box->typing_pixbufs[i] != NULL)
@@ -1269,16 +1227,18 @@
 	}
 
 	status_box->typing_index = 0;
-	status_box->typing_pixbufs[0] =  gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_TYPING0,
-								     icon_size, "PidginStatusBox");
-	status_box->typing_pixbufs[1] =  gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_TYPING1,
-								     icon_size, "PidginStatusBox");
-	status_box->typing_pixbufs[2] =  gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_TYPING2,
-								     icon_size, "PidginStatusBox");
-	status_box->typing_pixbufs[3] =  gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_TYPING3,
-								     icon_size, "PidginStatusBox");
-	status_box->typing_pixbufs[4] =  gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), PIDGIN_STOCK_ANIMATION_TYPING4,
-								     icon_size, "PidginStatusBox");
+
+#define CACHE_ANIMATION_TYPING(index) \
+	status_box->typing_pixbufs[index] =  gtk_widget_render_icon (GTK_WIDGET(status_box->vbox), \
+			PIDGIN_STOCK_ANIMATION_TYPING ## index, icon_size, "PidginStatusBox")
+
+	CACHE_ANIMATION_TYPING(0);
+	CACHE_ANIMATION_TYPING(1);
+	CACHE_ANIMATION_TYPING(2);
+	CACHE_ANIMATION_TYPING(3);
+	CACHE_ANIMATION_TYPING(4);
+
+#undef CACHE_ANIMATION_TYPING
 }
 
 static void account_enabled_cb(PurpleAccount *acct, PidginStatusBox *status_box)
@@ -2712,9 +2672,15 @@
 	{
 		if (status_box->imhtml_visible)
 		{
+			GtkTextIter start, end;
+			GtkTextBuffer *buffer;
 			gtk_widget_show_all(status_box->vbox);
 			status_box->typing = g_timeout_add(TYPING_TIMEOUT, (GSourceFunc)remove_typing_cb, status_box);
 			gtk_widget_grab_focus(status_box->imhtml);
+			buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(status_box->imhtml));
+			gtk_text_buffer_get_bounds(buffer, &start, &end);
+			gtk_text_buffer_move_mark(buffer, gtk_text_buffer_get_mark(buffer, "insert"), &end);
+			gtk_text_buffer_move_mark(buffer, gtk_text_buffer_get_mark(buffer, "selection_bound"), &start);
 		}
 		else
 		{
--- a/pidgin/gtkstatusbox.h	Thu Oct 09 11:57:28 2008 +0000
+++ b/pidgin/gtkstatusbox.h	Thu Oct 09 11:58:07 2008 +0000
@@ -111,7 +111,7 @@
 
 	GdkPixbuf *error_pixbuf;
 	int connecting_index;
-	GdkPixbuf *connecting_pixbufs[31];
+	GdkPixbuf *connecting_pixbufs[9];
 	int typing_index;
 	GdkPixbuf *typing_pixbufs[6];
 
--- a/pidgin/plugins/notify.c	Thu Oct 09 11:57:28 2008 +0000
+++ b/pidgin/plugins/notify.c	Thu Oct 09 11:58:07 2008 +0000
@@ -557,9 +557,7 @@
 static void
 handle_urgent(PidginWindow *win, gboolean set)
 {
-#ifndef _WIN32
 	pidgin_set_urgent(GTK_WINDOW(win->window), set);
-#endif
 }
 
 static void
@@ -767,12 +765,15 @@
 
 	/* Urgent method button */
 	toggle = gtk_check_button_new_with_mnemonic(_("Set window manager \"_URGENT\" hint"));
+#else
+	/* TODO: When we're not string frozen, mark for translation */
+	toggle = gtk_check_button_new_with_mnemonic("_Flash window");
+#endif
 	gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
 	                             purple_prefs_get_bool("/plugins/gtk/X11/notify/method_urgent"));
 	g_signal_connect(G_OBJECT(toggle), "toggled",
 	                 G_CALLBACK(method_toggle_cb), "method_urgent");
-#endif
 
 	/* Raise window method button */
 	toggle = gtk_check_button_new_with_mnemonic(_("R_aise conversation window"));
--- a/pidgin/win32/nsis/translations/finnish.nsh	Thu Oct 09 11:57:28 2008 +0000
+++ b/pidgin/win32/nsis/translations/finnish.nsh	Thu Oct 09 11:58:07 2008 +0000
@@ -1,16 +1,18 @@
 ;;
-;;  finish.nsh
+;;  finnish.nsh
 ;;
-;;  Finish language strings for the Windows Pidgin NSIS installer.
+;;  Finnish language strings for the Windows Pidgin NSIS installer.
 ;;  Windows Code page: 1252
 ;;
 ;;  Authors: Toni "Daigle" Impi <toni.impio@pp1.inet.fi>
 ;;           Timo Jyrinki <timo.jyrinki@iki.fi>, 2008
 ;;           
-;;  Version 2
+;;  Version 3
 ;;
 
-; Startup GTK+ check
+; Startup checks
+!define INSTALLER_IS_RUNNING			"Asennusohjelma on jo kynniss."
+!define PIDGIN_IS_RUNNING			"Pidgin on tll hetkell kynniss. Poistu Pidginist ja yrit uudelleen."
 !define GTK_INSTALLER_NEEDED			"Ajonaikainen GTK+-ymprist joko puuttuu tai tarvitsee pivityst.$\rOle hyv ja asenna v${GTK_MIN_VERSION} tai uudempi ajonaikainen GTK+-ymprist."
 
 ; License Page
@@ -19,12 +21,12 @@
 
 ; Components Page
 !define PIDGIN_SECTION_TITLE			"Pidgin-pikaviestin (vaaditaan)"
-!define GTK_SECTION_TITLE			"Ajonaikainen GTK+-ymprist (vaaditaan)"
+!define GTK_SECTION_TITLE			"Ajonaikainen GTK-ymprist (vaaditaan)"
 !define PIDGIN_SHORTCUTS_SECTION_TITLE 		"Pikakuvakkeet"
 !define PIDGIN_DESKTOP_SHORTCUT_SECTION_TITLE 	"Typyt"
 !define PIDGIN_STARTMENU_SHORTCUT_SECTION_TITLE "Kynnistysvalikko"
 !define PIDGIN_SECTION_DESCRIPTION		"Pidginin ytimen tiedostot ja kirjastot"
-!define GTK_SECTION_DESCRIPTION		"Monialustainen Pidginin kyttm kyttliittymkirjasto"
+!define GTK_SECTION_DESCRIPTION		"Pidginin kyttm monialustainen kyttliittymkirjasto"
 
 !define PIDGIN_SHORTCUTS_SECTION_DESCRIPTION   	"Pikakuvakkeet Pidginin kynnistmiseksi"
 !define PIDGIN_DESKTOP_SHORTCUT_DESC   		"Tee Pidgin-pikakuvake typydlle"
@@ -53,4 +55,26 @@
 !define PIDGIN_SPELLCHECK_DICT_ERROR		"Virhe asennettaessa oikoluvun sanakirjaa"
 !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION	"Tuki oikoluvulle.  (Asennukseen tarvitaan Internet-yhteys)"
 !define ASPELL_INSTALL_FAILED			"Asennus eponnistui"
+!define PIDGIN_SPELLCHECK_BRETON		"bretoni"
+!define PIDGIN_SPELLCHECK_CATALAN		"katalaani"
+!define PIDGIN_SPELLCHECK_CZECH		"tshekki"
+!define PIDGIN_SPELLCHECK_WELSH		"kymri"
+!define PIDGIN_SPELLCHECK_DANISH		"tanska"
+!define PIDGIN_SPELLCHECK_GERMAN		"saksa"
+!define PIDGIN_SPELLCHECK_GREEK		"kreikka"
+!define PIDGIN_SPELLCHECK_ENGLISH		"englanti"
+!define PIDGIN_SPELLCHECK_ESPERANTO		"esperanto"
+!define PIDGIN_SPELLCHECK_SPANISH		"espanja"
+!define PIDGIN_SPELLCHECK_FAROESE		"fri"
+!define PIDGIN_SPELLCHECK_FRENCH		"ranska"
+!define PIDGIN_SPELLCHECK_ITALIAN		"italia"
+!define PIDGIN_SPELLCHECK_DUTCH		"hollanti"
+!define PIDGIN_SPELLCHECK_NORWEGIAN		"norja"
+!define PIDGIN_SPELLCHECK_POLISH		"puola"
+!define PIDGIN_SPELLCHECK_PORTUGUESE		"portugali"
+!define PIDGIN_SPELLCHECK_ROMANIAN		"romania"
+!define PIDGIN_SPELLCHECK_RUSSIAN		"venj"
+!define PIDGIN_SPELLCHECK_SLOVAK		"slovakia"
+!define PIDGIN_SPELLCHECK_SWEDISH		"ruotsi"
+!define PIDGIN_SPELLCHECK_UKRAINIAN		"ukraina"
 
--- a/pidgin/win32/winpidgin.c	Thu Oct 09 11:57:28 2008 +0000
+++ b/pidgin/win32/winpidgin.c	Thu Oct 09 11:58:07 2008 +0000
@@ -212,6 +212,9 @@
 		return;
 	}
 
+	/* Set $HOME so that the GTK+ settings get stored in the right place */
+	_snprintf(path2, sizeof(path2), "HOME=%s", path);
+	_putenv(path2);
 
 	/* Set up the settings dir base to be \\path\to
 	 * The actual settings dir will be \\path\to\.purple */
--- a/po/POTFILES.in	Thu Oct 09 11:57:28 2008 +0000
+++ b/po/POTFILES.in	Thu Oct 09 11:58:07 2008 +0000
@@ -98,6 +98,7 @@
 libpurple/protocols/msn/contact.c
 libpurple/protocols/msn/dialog.c
 libpurple/protocols/msn/error.c
+libpurple/protocols/msn/group.h
 libpurple/protocols/msn/msn.c
 libpurple/protocols/msn/nexus.c
 libpurple/protocols/msn/notification.c
--- a/po/de.po	Thu Oct 09 11:57:28 2008 +0000
+++ b/po/de.po	Thu Oct 09 11:58:07 2008 +0000
@@ -11,9 +11,9 @@
 msgstr ""
 "Project-Id-Version: de\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-09-01 10:30+0200\n"
-"PO-Revision-Date: 2008-09-01 10:30+0200\n"
-"Last-Translator: Jochen Kemnade <jochenkemnade@web.de>\n"
+"POT-Creation-Date: 2008-10-02 23:10+0200\n"
+"PO-Revision-Date: 2008-10-02 23:07+0200\n"
+"Last-Translator: Björn Voigt <bjoern@cs.tu-berlin.de>\n"
 "Language-Team: Deutsch <de@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -76,7 +76,7 @@
 msgid "Remember password"
 msgstr "Passwort speichern"
 
-msgid "There's no protocol plugins installed."
+msgid "There are no protocol plugins installed."
 msgstr "Es sind keine Protokoll-Plugins installiert."
 
 msgid "(You probably forgot to 'make install'.)"
@@ -1519,10 +1519,10 @@
 msgstr "Keine Gruppierung"
 
 msgid "Nested Subgroup"
-msgstr ""
+msgstr "Verschachtelte Untergruppe"
 
 msgid "Nested Grouping (experimental)"
-msgstr ""
+msgstr "Verschachtelte Gruppen (experimentell)"
 
 msgid "Provides alternate buddylist grouping options."
 msgstr "Bietet alternative Einstellungen für die Kontaktlisten-Gruppierung."
@@ -1839,8 +1839,8 @@
 "Fehler beim Lesen vom Auflösungsprozess:\n"
 "%s"
 
-msgid "EOF while reading from resolver process"
-msgstr "EOF während vom Resolver-Prozess gelesen wurde"
+msgid "Resolver process exited without answering our request"
+msgstr "Auflösungsprozess hat sich beendet ohne die Anfrage zu beantworten"
 
 #, c-format
 msgid "Thread creation failure: %s"
@@ -4554,6 +4554,11 @@
 msgid "File transfer proxies"
 msgstr "Proxys für Dateiübertragungen"
 
+#. this should probably be part of global smiley theme settings later on,
+#. shared with MSN
+msgid "Show Custom Smileys"
+msgstr "Zeige benutzerdefinierte Smileys"
+
 #, c-format
 msgid "%s has left the conversation."
 msgstr "%s hat das Gespräch verlassen."
@@ -4869,6 +4874,12 @@
 msgid "MSN Error: %s\n"
 msgstr "MSN-Fehler: %s\n"
 
+msgid "Other Contacts"
+msgstr "Andere Kontakte"
+
+msgid "Non-IM Contacts"
+msgstr "Nicht-IM-Kontakte"
+
 msgid "Nudge"
 msgstr "Anstoßen"
 
@@ -4939,6 +4950,9 @@
 msgid "Page"
 msgstr "Nachricht"
 
+msgid "Has you"
+msgstr "Hat Sie"
+
 msgid "Home Phone Number"
 msgstr "Private Telefonnummer"
 
@@ -5221,6 +5235,9 @@
 msgid "Unable to add user"
 msgstr "Kann den Benutzer nicht hinzufügen"
 
+msgid "The following users are missing from your addressbook"
+msgstr "Die folgenden Benutzer fehlen in Ihrem Adressbuch"
+
 #, c-format
 msgid "Unable to add user on %s (%s)"
 msgstr "Kann den Benutzer nicht zu %s (%s) hinzufügen"
@@ -5424,6 +5441,12 @@
 msgid "%s has removed you from his or her buddy list."
 msgstr "Der Benutzer %s hat Sie von seiner Buddy-Liste gelöscht."
 
+msgid "Delete Buddy from Address Book?"
+msgstr "Buddy aus dem Adressbuch löschen?"
+
+msgid "Do you want to delete this buddy from your address book as well?"
+msgstr "Möchten Sie diesen Buddy außerdem aus Ihrem Adressbuch löschen?"
+
 #. only notify the user about problems adding to the friends list
 #. * maybe we should do something else for other lists, but it probably
 #. * won't cause too many problems if we just ignore it
@@ -5437,9 +5460,6 @@
 msgid "This Hotmail account may not be active."
 msgstr "Dieses Hotmail-Konto ist vielleicht nicht aktiv."
 
-msgid "Has you"
-msgstr "Hat Sie"
-
 #. *< type
 #. *< ui_requirement
 #. *< flags
@@ -6130,6 +6150,9 @@
 msgid "AIM Protocol Plugin"
 msgstr "AIM-Protokoll-Plugin"
 
+msgid "ICQ UIN..."
+msgstr "ICQ-UIN..."
+
 #. *< type
 #. *< ui_requirement
 #. *< flags
@@ -6193,7 +6216,7 @@
 msgstr "Bewertung zum Client"
 
 msgid "Service unavailable"
-msgstr "Server unerreichbar"
+msgstr "Dienst nicht unerreichbar"
 
 msgid "Service not defined"
 msgstr "Dienst nicht definiert"
@@ -7173,14 +7196,22 @@
 msgid "Other"
 msgstr "Andere"
 
-msgid "Modify my information"
-msgstr "Meine Informationen bearbeiten"
-
-msgid "Update my information"
-msgstr "Meine Informationen aktualisieren"
-
-msgid "Your information has been updated"
-msgstr "Ihre Informationen wurden aktualisiert"
+msgid "Modify information"
+msgstr "Informationen bearbeiten"
+
+msgid "Update information"
+msgstr "Informationen aktualisieren"
+
+#. TODO: We don't really need to notify the user about this, do we?
+#. TODO: Does the user really need to be notified about this?
+msgid "QQ Buddy"
+msgstr "QQ-Buddy"
+
+msgid "Successed:"
+msgstr "Erfolgreich:"
+
+msgid "Change buddy information."
+msgstr "Buddy-Informationen bearbeiten"
 
 #, c-format
 msgid ""
@@ -7198,30 +7229,28 @@
 msgid "You rejected %d's request"
 msgstr "Sie haben die Anfrage von %d abgelehnt"
 
-msgid "Input your reason:"
-msgstr "Geben Sie Ihren Grund an:"
-
 msgid "Reject request"
 msgstr "Anfrage ablehnen"
 
 #. title
-msgid "Sorry, you are not my type..."
+msgid "Sorry, you are not my style..."
 msgstr "Tut mir Leid, du bist nicht mein Typ..."
 
 msgid "Add buddy with auth request failed"
 msgstr "Benutzer hinzufügen, wenn Autorisierungsanfrage fehlschlug"
 
-#. TODO: We don't really need to notify the user about this, do we?
-msgid "You have successfully removed a buddy"
-msgstr "Sie haben einen Buddy entfernt"
-
-#. TODO: Does the user really need to be notified about this?
-msgid "You have successfully removed yourself from your friend's buddy list"
-msgstr "Sie haben sich erfolgreich von der Kontaktliste Ihres Freunds entfernt"
-
-#, c-format
-msgid "User %d needs authentication"
-msgstr "Benutzer %d benötigt Authentifizierung"
+msgid "Failed:"
+msgstr "Gescheitert:"
+
+msgid "Remove buddy"
+msgstr "Buddy entfernen"
+
+msgid "Remove from other's buddy list"
+msgstr "Von der Liste des Buddys entfernen"
+
+#, c-format
+msgid "%d needs authentication"
+msgstr "%d benötigt Authentifizierung"
 
 msgid "Input request here"
 msgstr "Anfrage hier eingeben"
@@ -7237,14 +7266,14 @@
 msgstr "Senden"
 
 #, c-format
-msgid "You have added %d to buddy list"
-msgstr "Sie haben %d zu Ihrer Buddy-Liste hinzugefügt"
-
-msgid "QQid Error"
-msgstr "QQid-Fehler"
-
-msgid "Invalid QQid"
-msgstr "Ungültige QQid"
+msgid "Add into %d's buddy list"
+msgstr "Zu %ds Buddy-Liste hinzufügen"
+
+msgid "QQ Number Error"
+msgstr "Fehler in QQ-Nummer"
+
+msgid "Invalid QQ Number"
+msgstr "Ungültige QQ-Nummer"
 
 msgid "ID: "
 msgstr "ID: "
@@ -7264,19 +7293,19 @@
 msgid "QQ Qun"
 msgstr "QQ-Qun"
 
-msgid "Please enter external group ID"
-msgstr "Bitte geben Sie die externe Gruppen-ID an"
-
-msgid "You can only search for permanent QQ groups\n"
-msgstr "Sie können nur nach permanenten QQ-Gruppen suchen\n"
-
-#, c-format
-msgid "User %d requested to join group %d"
-msgstr "Benutzer %d möchte der Gruppe %d beitreten"
-
-#, c-format
-msgid "Reason: %s"
-msgstr "Grund: %s"
+msgid "Please enter Qun number"
+msgstr "Bitte geben Sie die Qun-Nummer ein"
+
+msgid "You can only search for permanent Qun\n"
+msgstr "Sie können nur nach permanenten Qun suchen\n"
+
+#, c-format
+msgid "%d request to join Qun %d"
+msgstr "%d möchte dem Qun %d beitreten"
+
+#, c-format
+msgid "Message: %s"
+msgstr "Nachricht: %s"
 
 msgid "QQ Qun Operation"
 msgstr "QQ-Qun-Operation"
@@ -7285,23 +7314,23 @@
 msgstr "Akzeptieren"
 
 #, c-format
-msgid "Your request to join group %d has been rejected by admin %d"
-msgstr "Ihre Anfrage, der Gruppe %d beizutreten wurde von Admin %d abgelehnt"
-
-#, c-format
-msgid "Your request to join group %d has been approved by admin %d"
-msgstr "Ihre Anfrage, der Gruppe %d beizutreten wurde von Admin %d akzeptiert"
-
-#, c-format
-msgid "You [%d] have left group \"%d\""
-msgstr "Sie [%d] haben die Gruppe „%d“ verlassen"
-
-#, c-format
-msgid "You [%d] have been added to group \"%d\""
-msgstr "Sie [%d] wurden der Gruppe „%d“ hinzugefügt"
-
-msgid "This group has been added to your buddy list"
-msgstr "Diese Gruppe wurde Ihrer Buddy-Liste hinzugefügt"
+msgid "Failed to join Qun %d, operated by admin %d"
+msgstr "Dem Qun %d, moderiert von admin %d, konnte nicht beigetreten werden"
+
+#, c-format
+msgid "Successed to join Qun %d, operated by admin %d"
+msgstr "Erfolgreicher Beitritt in den Qun %d, moderiert vom Admin %d"
+
+#, c-format
+msgid "[%d] removed from Qun \"%d\""
+msgstr "[%d] vom Qun „%d“ entfernt"
+
+msgid "Notice:"
+msgstr "Bemerkung:"
+
+#, c-format
+msgid "[%d] added to Qun \"%d\""
+msgstr "[%d] zum Qun „%d“ hinzugefügt"
 
 msgid "I am not a member"
 msgstr "Ich bin kein Mitglied"
@@ -7309,8 +7338,8 @@
 msgid "I am a member"
 msgstr "Ich bin Mitglied"
 
-msgid "I am applying to join"
-msgstr "Ich möchte beitreten"
+msgid "I am requesting"
+msgstr "Ich frage an"
 
 msgid "I am the admin"
 msgstr "Ich bin der Admin"
@@ -7318,17 +7347,21 @@
 msgid "Unknown status"
 msgstr "Unbekannter Status"
 
-msgid "This group does not allow others to join"
-msgstr "Dieser Gruppe können andere nicht beitreten"
-
-msgid "You have successfully left the group"
-msgstr "Sie haben die Gruppe erfolgreich verlassen"
-
-msgid "QQ Group Auth"
-msgstr "QQ-Gruppenauthentifikation"
-
-msgid "Your authorization request has been accepted by the QQ server"
-msgstr "Ihre Autorisierungsanfrage wurde vom QQ-Server akzeptiert"
+msgid "The Qun does not allow others to join"
+msgstr "Diesen Qun können andere nicht beitreten"
+
+msgid "Remove from Qun"
+msgstr "vom Qun entfernen"
+
+msgid "Join to Qun"
+msgstr "Qun betreten"
+
+#, c-format
+msgid "Qun %d denied to join"
+msgstr "Qun %d hat Ihren Beitritt abgelehnt"
+
+msgid "Join Qun, Unknow Reply"
+msgstr "Qun-Beitritt, Unbekannte Antwort"
 
 msgid "You entered a group ID outside the acceptable range"
 msgstr "Sie haben eine Gruppen-ID außerhalb des erlaubten Bereichs angegeben"
@@ -7347,24 +7380,34 @@
 msgid "Do you want to approve the request?"
 msgstr "Wollen sie die Anfrage akzeptieren?"
 
-msgid "Enter your reason:"
-msgstr "Geben Sie Ihren Grund an:"
-
-msgid "You have successfully modified Qun member"
-msgstr "Sie haben die Qun-Mitgliedschaft erfolgreich modifiziert"
-
-msgid "You have successfully modified Qun information"
-msgstr "Sie haben die Qun-Information erfolgreich modifiziert"
+msgid "Change Qun member"
+msgstr "Qun-Mitglied ändern"
+
+msgid "Change Qun information"
+msgstr "Qun-Informationen bearbeiten"
 
 msgid "You have successfully created a Qun"
 msgstr "Sie haben einen Qun angelegt"
 
-msgid "Would you like to set up the Qun details now?"
-msgstr "Möchten Sie jetzt die Qun-Details einstellen?"
+msgid "Would you like to set up the detail information now?"
+msgstr "Möchten Sie jetzt Detail-Informationen einstellen?"
 
 msgid "Setup"
 msgstr "Setup"
 
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+"%s\n"
+"\n"
+"%s"
+
+msgid "QQ Server News"
+msgstr "QQ-Server-News"
+
 msgid "System Message"
 msgstr "Systemnachricht"
 
@@ -7391,13 +7434,13 @@
 msgstr " FromMobile"
 
 msgid " BindMobile"
-msgstr "BindMobile"
+msgstr " BindMobile"
 
 msgid " Video"
 msgstr " Video"
 
-msgid " Space"
-msgstr " Raum"
+msgid " Zone"
+msgstr " Zone"
 
 msgid "Flag"
 msgstr "Flagge"
@@ -7417,20 +7460,36 @@
 msgstr "<b>Letzte Aktualisierung</b>: %s<br>\n"
 
 #, c-format
-msgid "<b>Server</b>: %s: %d<br>\n"
-msgstr "<b>Server</b>: %s: %d<br>\n"
+msgid "<b>Server</b>: %s<br>\n"
+msgstr "<b>Server</b>: %s<br>\n"
 
 #, c-format
 msgid "<b>Connection Mode</b>: %s<br>\n"
 msgstr "<b>Verbindungsmodus</b>: %s<br>\n"
 
 #, c-format
-msgid "<b>Real hostname</b>: %s: %d<br>\n"
-msgstr "<b>Wirklicher Hostname</b>: %s: %d<br>\n"
-
-#, c-format
-msgid "<b>My Public IP</b>: %s<br>\n"
-msgstr "<b>Meine öffentlich IP</b>: %s<br>\n"
+msgid "<b>My Internet Address</b>: %s<br>\n"
+msgstr "<b>Meine Internet-Adresse</b>: %s<br>\n"
+
+#, c-format
+msgid "<b>Sent</b>: %lu<br>\n"
+msgstr "<b>Gesendet</b>: %lu<br>\n"
+
+#, c-format
+msgid "<b>Resend</b>: %lu<br>\n"
+msgstr "<b>Erneut senden</b>: %lu<br>\n"
+
+#, c-format
+msgid "<b>Lost</b>: %lu<br>\n"
+msgstr "<b>Verloren</b>: %lu<br>\n"
+
+#, c-format
+msgid "<b>Received</b>: %lu<br>\n"
+msgstr "<b>Empfangen</b>: %lu<br>\n"
+
+#, c-format
+msgid "<b>Received Duplicate</b>: %lu<br>\n"
+msgstr "<b>Duplikat empfangen</b>: %lu<br>\n"
 
 #, c-format
 msgid "<b>Login Time</b>: %s<br>\n"
@@ -7453,11 +7512,11 @@
 msgid "Change Password"
 msgstr "Passwort ändern"
 
-msgid "Show Login Information"
-msgstr "Login-Informationen anzeigen"
-
-msgid "Leave this QQ Qun"
-msgstr "Dieses QQ-Qun verlassen"
+msgid "Account Information"
+msgstr "Kontoinformationen"
+
+msgid "Leave the QQ Qun"
+msgstr "Diesen QQ-Qun verlassen"
 
 msgid "Block this buddy"
 msgstr "Diesen Buddy blockieren"
@@ -7475,11 +7534,17 @@
 msgid "QQ Protocol\tPlugin"
 msgstr "QQ-Protokoll-Plugin"
 
-msgid "Connect using TCP"
+msgid "Auto"
+msgstr "Auto"
+
+msgid "Connect by TCP"
 msgstr "Über TCP verbinden"
 
-msgid "resend interval(s)"
-msgstr "Neusenden-Intervall(e)"
+msgid "Show server notice"
+msgstr "Server-Nachricht anzeigen"
+
+msgid "Show server news"
+msgstr "Server-News anzeigen"
 
 msgid "Keep alive interval(s)"
 msgstr "Intervall(e) zum Aufrechterhalten der Verbindung (Keep alive)"
@@ -7488,14 +7553,37 @@
 msgstr "Aktualisierungsintervall(e)"
 
 #, c-format
+msgid "Invalid token reply code, 0x%02X"
+msgstr "Ungültiger Token-Antwort-Code, 0x%02X"
+
+#, c-format
 msgid "Invalid token len, %d"
 msgstr "Ungültige Länge des Tokens, %d"
 
+msgid "Unable login for not support Redirect_EX now"
+msgstr "Anmeldung nicht möglich, Redirect_EX wird noch nicht unterstützt"
+
+#, c-format
+msgid "Error password: %s"
+msgstr "Passwort-Fehler: %s"
+
+#, c-format
+msgid "Need active: %s"
+msgstr "Brauche aktiv: %s"
+
+#, c-format
+msgid "Unable login for unknow reply code 0x%02X"
+msgstr "Anmeldung nicht möglich, unbekannter Antwort-Code 0x%02X"
+
 msgid "Keep alive error"
 msgstr "Fehler beim Aufrechterhalten der Verbindung (Keep alive)"
 
-msgid "Failed to connect server"
-msgstr "Verbinden zum Server fehlgeschlagen"
+msgid "Failed to connect all servers"
+msgstr "Konnte nicht alle Server verbinden"
+
+#. we didn't successfully connect. tdt->toc_fd is valid here
+msgid "Unable to connect."
+msgstr "Verbindung nicht möglich."
 
 msgid "Socket error"
 msgstr "Socket-Fehler"
@@ -7517,54 +7605,46 @@
 msgid "Connection lost"
 msgstr "Verbindung verloren"
 
+#. Update the login progress status display
+msgid "Request token"
+msgstr "Anfragekürzel"
+
 msgid "Couldn't resolve host"
 msgstr "Kann den Hostnamen nicht auflösen"
 
-msgid "hostname is NULL or port is 0"
-msgstr "Hostname ist NULL oder Port ist 0"
+msgid "Invalid server or port"
+msgstr "Ungültiger Server oder Port"
 
 #, c-format
 msgid "Connecting server %s, retries %d"
 msgstr "Verbinde zu Server %s, %d Wiederholungen"
 
-#. we didn't successfully connect. tdt->toc_fd is valid here
-msgid "Unable to connect."
-msgstr "Verbindung nicht möglich."
-
-msgid "Could not resolve hostname"
-msgstr "Konnte den Hostnamen nicht auflösen"
-
-msgid "Unable to login. Check debug log."
-msgstr "Anmeldung fehlgeschlagen, Debugmitschnitt beachten."
-
-msgid "Unable to login"
-msgstr "Anmeldung fehlgeschlagen"
-
-#, c-format
-msgid ""
-"Reply %s(0x%02X )\n"
-"Sent %s(0x%02X )\n"
-"Room id %d, reply [0x%02X]: \n"
-"%s"
-msgstr ""
-"Antwort %s(0x%02X )\n"
-"Gesendet %s(0x%02X )\n"
-"Raum-ID %d, Antwort [0x%02X]: \n"
-"%s"
-
-msgid "Failed room reply"
-msgstr "Antwort vom Raum gescheitert"
-
-#, c-format
-msgid "You are not a member of group \"%s\"\n"
-msgstr "Sie sind ein Mitglied der Gruppe „%s“\n"
+msgid "QQ Error"
+msgstr "QQ-Fehler"
+
+msgid "Unknow SERVER CMD"
+msgstr "Unbekanntes SERVER-CMD"
+
+#, c-format
+msgid ""
+"Error reply of %s(0x%02X)\n"
+"Room %d, reply 0x%02X"
+msgstr ""
+"Fehlerantwort %s(0x%02X)\n"
+"Raum %d, Antwort 0x%02X"
+
+msgid "QQ Qun Command"
+msgstr "QQ-Qun-Kommando"
+
+#, c-format
+msgid "You are not a member of QQ Qun \"%s\"\n"
+msgstr "Sie sind kein Mitglied des Qun „%s“\n"
 
 msgid "Can not decrypt login reply"
 msgstr "Kann die Antwort der Anmeldung nicht entschlüsseln"
 
-#, c-format
-msgid "Invalid token reply code, 0x%02X"
-msgstr "Ungültiger Token-Antwort-Code, 0x%02X"
+msgid "Unknow reply CMD"
+msgstr "Unbekanntes Antwort-CMD"
 
 #, c-format
 msgid "%d has declined the file %s"
@@ -7577,7 +7657,10 @@
 msgid "%d canceled the transfer of %s"
 msgstr "%d hat die Übertragung von %s abgebrochen"
 
-msgid "Do you want to add this buddy?"
+msgid "Do you approve the requestion?"
+msgstr "Wollen sie die Anfrage akzeptieren?"
+
+msgid "Do you add the buddy?"
 msgstr "Möchten Sie diesen Buddy hinzufügen?"
 
 #. only need to get value
@@ -7589,16 +7672,19 @@
 msgstr "Möchten Sie ihn hinzufügen?"
 
 #, c-format
-msgid "%s has added you [%s] to his or her buddy list"
-msgstr "%s hat Sie [%s] zu seiner Buddy-Liste hinzugefügt"
-
-#, c-format
-msgid "User %s rejected your request"
-msgstr "Benutzer %s hat Ihre Anfrage abgelehnt"
-
-#, c-format
-msgid "User %s approved your request"
-msgstr "Benutzer %s hat Ihre Anfrage akzeptiert"
+msgid "%s added you [%s] to buddy list"
+msgstr "%s hat Sie [%s] zur Buddy-Liste hinzugefügt"
+
+msgid "QQ Budy"
+msgstr "QQ-Buddy"
+
+#, c-format
+msgid "Requestion rejected by %s"
+msgstr "Anfrage abgelehnt von %s"
+
+#, c-format
+msgid "Requestion approved by %s"
+msgstr "Anfrage akzeptiert von %s"
 
 #. TODO: this should go through purple_account_request_authorization()
 #, c-format
@@ -7606,21 +7692,23 @@
 msgstr "%s möchte Sie [%s] als Freund hinzufügen"
 
 #, c-format
-msgid "Message: %s"
-msgstr "Nachricht: %s"
-
-#, c-format
-msgid "%s is not in your buddy list"
-msgstr "%s ist nicht in Ihrer Buddy-Liste"
-
-#, c-format
-msgid "Notice from: %s"
-msgstr "Ankündigung von %s"
+msgid "%s is not in buddy list"
+msgstr "%s ist nicht in der Buddy-Liste"
+
+msgid "Would you add?"
+msgstr "Möchten Sie ihn hinzufügen?"
+
+#, c-format
+msgid "From %s:"
+msgstr "Von %s:"
 
 #, c-format
 msgid "%s"
 msgstr "%s"
 
+msgid "QQ Server Notice"
+msgstr "QQ-Server-Nachricht"
+
 msgid "Connection closed (writing)"
 msgstr "Verbindung geschlossen (schreibend)"
 
@@ -9090,6 +9178,9 @@
 msgid "Could not create listen socket"
 msgstr "Kann Listen-Socket nicht erstellen"
 
+msgid "Could not resolve hostname"
+msgstr "Konnte den Hostnamen nicht auflösen"
+
 msgid "SIP usernames may not contain whitespaces or @ symbols"
 msgstr "SIP-Benutzernamen dürfen keine Leerzeichen oder @-Symbole enthalten"
 
@@ -9307,7 +9398,7 @@
 #, c-format
 msgid "%s has sent you a webcam invite, which is not yet supported."
 msgstr ""
-"%s hat Ihnen eine Webcam-Einladung gesenden, die noch nicht unterstützt wird."
+"%s hat Ihnen eine Webcam-Einladung gesendet, die noch nicht unterstützt wird."
 
 msgid "Your Yahoo! message did not get sent."
 msgstr "Ihre Yahoo!-Nachricht wurde nicht verschickt."
@@ -9474,6 +9565,9 @@
 msgid "doodle: Request user to start a Doodle session"
 msgstr "doodle: Einen Benutzer auffordern, eine Mal-Sitzung zu starten"
 
+msgid "Yahoo ID..."
+msgstr "Yahoo-ID..."
+
 #. *< type
 #. *< ui_requirement
 #. *< flags
@@ -10029,6 +10123,10 @@
 msgstr "Verbindung zu %s nicht möglich"
 
 #, c-format
+msgid "Error reading from %s: response too long (%d bytes limit)"
+msgstr "Fehler beim Lesen von %s: Antwort zu lang (%d Bytes maximal)"
+
+#, c-format
 msgid ""
 "Unable to allocate enough memory to hold the contents from %s.  The web "
 "server may be trying something malicious."
@@ -10683,6 +10781,9 @@
 msgid "SSL Servers"
 msgstr "SSL-Server"
 
+msgid "Network disconnected"
+msgstr "vom Netzwerk abgemeldet"
+
 msgid "Unknown command."
 msgstr "Unbekanntes Kommando."
 
@@ -11559,6 +11660,14 @@
 msgid "Color to draw hyperlinks."
 msgstr "Farbe zum Darstellen von Hyperlinks."
 
+msgid "Hyperlink visited color"
+msgstr "Farbe für besuchte Hyperlinks"
+
+msgid "Color to draw hyperlinks after it has been visited (or activated)."
+msgstr ""
+"Farbe zum Darstellen von Hyperlinks, wenn sie besucht (oder aktiviert) "
+"wurden."
+
 msgid "Hyperlink prelight color"
 msgstr "Hyperlink-Farbe"
 
@@ -11581,7 +11690,7 @@
 "Farbe, mit der der Name in einer empfangenen Nachricht dargestellt wird."
 
 msgid "\"Attention\" Name Color"
-msgstr "Farbe des Absendernamens für \"Achtung\"-Nachrichten"
+msgstr "Farbe des Absendernamens für „Achtung“-Nachrichten"
 
 msgid "Color to draw the name of a message you received containing your name."
 msgstr ""
@@ -11608,7 +11717,7 @@
 "Die Farbe, die für die Tipp-Benachrichtigungsmeldung benutzt werden soll"
 
 msgid "Typing notification font"
-msgstr "Tipp-Benachrichtigungs-Schriftart"
+msgstr "Tipp-Benachrichtigungsschriftart"
 
 msgid "The font to use for the typing notification"
 msgstr ""
@@ -11823,7 +11932,7 @@
 msgstr "Löschen des Mitschnitts fehlgeschlagen"
 
 msgid "Check permissions and try again."
-msgstr "Überprüfenb Sie die Berechtigungen und versuchen Sie es erneut."
+msgstr "Überprüfen Sie die Berechtigungen und versuchen Sie es erneut."
 
 #, c-format
 msgid ""
@@ -12429,14 +12538,17 @@
 "Klang-_Abspielbefehl:\n"
 "(%s für den Dateinamen)"
 
+msgid "M_ute sounds"
+msgstr "Stu_mmschalten"
+
 msgid "Sounds when conversation has _focus"
 msgstr "Klang, wenn das Gespräch den _Fokus hat"
 
-msgid "Enable sounds:"
-msgstr "Klänge aktivieren:"
-
-msgid "Volume:"
-msgstr "Lautstärke:"
+msgid "_Enable sounds:"
+msgstr "_Klänge aktivieren:"
+
+msgid "V_olume:"
+msgstr "_Lautstärke:"
 
 msgid "Play"
 msgstr "Abspielen"
@@ -12666,6 +12778,12 @@
 msgid "Custom Smiley Manager"
 msgstr "Verwaltung für benutzerdefinierte Smileys"
 
+msgid "Click to change your buddyicon for this account."
+msgstr "Klicken Sie hier, um Ihr Buddy-Icon für dieses Konto zu ändern."
+
+msgid "Click to change your buddyicon for all accounts."
+msgstr "Klicken Sie hier, um Ihr Buddy-Icon für alle Konten zu ändern."
+
 msgid "Waiting for network connection"
 msgstr "Warte auf Netzwerkverbindung"
 
@@ -13385,6 +13503,9 @@
 msgid "Hyperlink Color"
 msgstr "Hyperlink-Farbe"
 
+msgid "Visited Hyperlink Color"
+msgstr "Farbe für besuchte Hyperlinks"
+
 msgid "Highlighted Message Name Color"
 msgstr "Farbe des Absendernamens für hervorgehobene Nachrichten"
 
--- a/po/fi.po	Thu Oct 09 11:57:28 2008 +0000
+++ b/po/fi.po	Thu Oct 09 11:58:07 2008 +0000
@@ -10,8 +10,8 @@
 msgstr ""
 "Project-Id-Version: Pidgin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-08-28 12:10+0300\n"
-"PO-Revision-Date: 2008-08-28 12:19+0300\n"
+"POT-Creation-Date: 2008-09-30 19:46+0300\n"
+"PO-Revision-Date: 2008-09-30 19:46+0300\n"
 "Last-Translator: Timo Jyrinki <timo.jyrinki@iki.fi>\n"
 "Language-Team: \n"
 "MIME-Version: 1.0\n"
@@ -73,7 +73,7 @@
 msgid "Remember password"
 msgstr "Muista salasana"
 
-msgid "There's no protocol plugins installed."
+msgid "There are no protocol plugins installed."
 msgstr "Yhteyskäytäntöliitännäisiä ei ole asennettu."
 
 msgid "(You probably forgot to 'make install'.)"
@@ -298,7 +298,8 @@
 msgstr "Syötä tyhjä merkkijono palauttaaksesi oletusnimen."
 
 msgid "Removing this contact will also remove all the buddies in the contact"
-msgstr "Kontaktin poistaminen poistaa myös kaikki kontaktissa olevat tuttavat"
+msgstr ""
+"Yhteystiedon poistaminen poistaa myös kaikki yhteystiedossa olevat tuttavat"
 
 msgid "Removing this group will also remove all the buddies in the group"
 msgstr "Ryhmän poistaminen poistaa myös kaikki ryhmässä olevat tuttavat"
@@ -1508,6 +1509,12 @@
 msgid "No Grouping"
 msgstr "Ei ryhmittelyä"
 
+msgid "Nested Subgroup"
+msgstr "Sisäkkäinen alaryhmä"
+
+msgid "Nested Grouping (experimental)"
+msgstr "Sisäkkäinen ryhmittely (kokeellinen)"
+
 msgid "Provides alternate buddylist grouping options."
 msgstr "Mahdollistaa vaihtoehtoisia tuttavien ryhmittelyvalintoja."
 
@@ -1822,8 +1829,8 @@
 "%s"
 
 #, c-format
-msgid "EOF while reading from resolver process"
-msgstr "EOF luettaessa selvitysprosessista"
+msgid "Resolver process exited without answering our request"
+msgstr "Selvitinprosessi päättyi vastaamatta pyyntöön"
 
 #, c-format
 msgid "Thread creation failure: %s"
@@ -4517,6 +4524,11 @@
 msgid "File transfer proxies"
 msgstr "Tiedostonsiirron välipalvelimet"
 
+#. this should probably be part of global smiley theme settings later on,
+#. shared with MSN
+msgid "Show Custom Smileys"
+msgstr "Näytä omat hymiöt"
+
 #, c-format
 msgid "%s has left the conversation."
 msgstr "%s on lähtenyt keskustelusta."
@@ -4624,8 +4636,8 @@
 "This information is visible to all contacts on your contact list, so choose "
 "something appropriate."
 msgstr ""
-"Tämä tieto on näkyvillä kaikille tuttavissa oleville kontakteille, joten "
-"valitse jotain soveliasta."
+"Tämä tieto on näkyvillä kaikille yhteystietoluettelossa oleville "
+"yhteystiedoille, joten valitse jotain soveliasta."
 
 msgid "Set Nickname..."
 msgstr "Aseta kutsumanimi..."
@@ -4868,6 +4880,10 @@
 msgstr "Passport-tiliä ei ole verifioitu"
 
 #, c-format
+msgid "Passport account suspended"
+msgstr "Passport-tili jäädytetty"
+
+#, c-format
 msgid "Bad ticket"
 msgstr "Bad ticket"
 
@@ -4879,6 +4895,12 @@
 msgid "MSN Error: %s\n"
 msgstr "MSN-virhe: %s\n"
 
+msgid "Other Contacts"
+msgstr "Muut yhteystiedot"
+
+msgid "Non-IM Contacts"
+msgstr "Pikaviestittömät yhteystiedot"
+
 msgid "Nudge"
 msgstr "Tönäise"
 
@@ -4950,6 +4972,9 @@
 msgid "Page"
 msgstr "Lähetä"
 
+msgid "Has you"
+msgstr "Olet hänen listallaan"
+
 msgid "Home Phone Number"
 msgstr "Kotipuhelinnumero"
 
@@ -5229,6 +5254,9 @@
 msgid "Unable to add user"
 msgstr "Käyttäjää ei voi lisätä"
 
+msgid "The following users are missing from your addressbook"
+msgstr "Seuraavat käyttäjät puuttuvat osoitekirjastasi"
+
 #, c-format
 msgid "Unable to add user on %s (%s)"
 msgstr "Käyttäjää ei voi lisätä %s (%s)"
@@ -5413,6 +5441,12 @@
 msgid "%s has removed you from his or her buddy list."
 msgstr "%s on poistanut sinut tuttavistaan."
 
+msgid "Delete Buddy from Address Book?"
+msgstr "Poista tuttava osoitekirjasta?"
+
+msgid "Do you want to delete this buddy from your address book as well?"
+msgstr "Haluatko poistaa tämän tuttavan myös osoitekirjastasi?"
+
 #. only notify the user about problems adding to the friends list
 #. * maybe we should do something else for other lists, but it probably
 #. * won't cause too many problems if we just ignore it
@@ -5426,9 +5460,6 @@
 msgid "This Hotmail account may not be active."
 msgstr "Tämä Hotmail-tili ei välttämättä ole aktiivinen."
 
-msgid "Has you"
-msgstr "Olet hänen listallaan"
-
 #. *< type
 #. *< ui_requirement
 #. *< flags
@@ -6104,6 +6135,9 @@
 msgid "AIM Protocol Plugin"
 msgstr "AIM-yhteyskäytäntöliitännäinen"
 
+msgid "ICQ UIN..."
+msgstr "ICQ UIN..."
+
 #. *< type
 #. *< ui_requirement
 #. *< flags
@@ -6445,7 +6479,6 @@
 msgid "Unable to get a valid login hash."
 msgstr "Kelvollista sisäänkirjautumistiivistettä ei saatu."
 
-#. allow multple logins?
 msgid "Password sent"
 msgstr "Salasana lähetetty"
 
@@ -7124,14 +7157,22 @@
 msgid "Other"
 msgstr "Muu"
 
-msgid "Modify my information"
-msgstr "Muokkaa tietojani"
-
-msgid "Update my information"
-msgstr "Päivitä tietoni"
-
-msgid "Your information has been updated"
-msgstr "Tietosi on päivitetty"
+msgid "Modify information"
+msgstr "Muokkaa tietoja"
+
+msgid "Update information"
+msgstr "Päivitä tiedot"
+
+#. TODO: We don't really need to notify the user about this, do we?
+#. TODO: Does the user really need to be notified about this?
+msgid "QQ Buddy"
+msgstr "QQ-tuttava"
+
+msgid "Successed:"
+msgstr "Onnistui:"
+
+msgid "Change buddy information."
+msgstr "Muuta tuttavan tietoja."
 
 #, c-format
 msgid ""
@@ -7147,29 +7188,27 @@
 msgid "You rejected %d's request"
 msgstr "Kieltäydyit %d:n pyynnöstä"
 
-msgid "Input your reason:"
-msgstr "Anna syy:"
-
 msgid "Reject request"
 msgstr "Kieltäydy pyynnöstä"
 
 #. title
-msgid "Sorry, you are not my type..."
+msgid "Sorry, you are not my style..."
 msgstr "Pahoittelut, en ole kiinnostunut..."
 
 msgid "Add buddy with auth request failed"
 msgstr "Lisää tuttava jolla on epäonnistunut valtuutuspyyntö"
 
-#. TODO: We don't really need to notify the user about this, do we?
-msgid "You have successfully removed a buddy"
-msgstr "Tuttava poistettu onnistuneesti"
-
-#. TODO: Does the user really need to be notified about this?
-msgid "You have successfully removed yourself from your friend's buddy list"
-msgstr "Sinut on onnistuneesti poistettu kaverisi tuttavista"
-
-#, c-format
-msgid "User %d needs authentication"
+msgid "Failed:"
+msgstr "Epäonnistui:"
+
+msgid "Remove buddy"
+msgstr "Poista tuttava"
+
+msgid "Remove from other's buddy list"
+msgstr "Poista toisen tuttavista"
+
+#, c-format
+msgid "%d needs authentication"
 msgstr "Käyttäjä %d tarvitsee valtuutuksen"
 
 msgid "Input request here"
@@ -7186,14 +7225,14 @@
 msgstr "Lähetä"
 
 #, c-format
-msgid "You have added %d to buddy list"
-msgstr "Käyttäjä %d lisätty tuttaviisi"
-
-msgid "QQid Error"
-msgstr "QQid-virhe"
-
-msgid "Invalid QQid"
-msgstr "Epäkelpo QQid"
+msgid "Add into %d's buddy list"
+msgstr "Lisää %d:n tuttaviin"
+
+msgid "QQ Number Error"
+msgstr "QQ-numerovirhe"
+
+msgid "Invalid QQ Number"
+msgstr "Epäkelpo QQ-numero"
 
 msgid "ID: "
 msgstr "Tunniste (ID): "
@@ -7213,19 +7252,19 @@
 msgid "QQ Qun"
 msgstr "QQ Qun"
 
-msgid "Please enter external group ID"
-msgstr "Syötä ulkopuolisen ryhmän tunniste (ID)"
-
-msgid "You can only search for permanent QQ groups\n"
-msgstr "Voit etsiä vain pysyviä QQ-ryhmiä\n"
-
-#, c-format
-msgid "User %d requested to join group %d"
-msgstr "Käyttäjä %d haki ryhmän %d jäsenyyttä"
-
-#, c-format
-msgid "Reason: %s"
-msgstr "Syy: %s"
+msgid "Please enter Qun number"
+msgstr "Anna Qun-numero"
+
+msgid "You can only search for permanent Qun\n"
+msgstr "Voit etsiä vain pysyviä Quneja\n"
+
+#, c-format
+msgid "%d request to join Qun %d"
+msgstr "%d pyysi liittymään Quniin %d"
+
+#, c-format
+msgid "Message: %s"
+msgstr "Viesti: %s"
 
 msgid "QQ Qun Operation"
 msgstr "QQ Qun -toiminta"
@@ -7233,33 +7272,33 @@
 msgid "Approve"
 msgstr "Hyväksy"
 
-#, c-format
-msgid "Your request to join group %d has been rejected by admin %d"
+#, fuzzy, c-format
+msgid "Failed to join Qun %d, operated by admin %d"
+msgstr "Liittyminen tuttavan seuraan keskusteluhuoneeseen epäonnistui"
+
+#, fuzzy, c-format
+msgid "Successed to join Qun %d, operated by admin %d"
 msgstr "Pyyntösi liittyä ryhmään %d evättiin ylläpitäjän %d toimesta"
 
-#, c-format
-msgid "Your request to join group %d has been approved by admin %d"
-msgstr "Pyyntösi liittyä ryhmään %d hyväksyttiin ylläpitäjän %d toimesta"
-
-#, c-format
-msgid "You [%d] have left group \"%d\""
+#, fuzzy, c-format
+msgid "[%d] removed from Qun \"%d\""
 msgstr "Sinä [%d] olet poistunut ryhmästä \"%d\""
 
-#, c-format
-msgid "You [%d] have been added to group \"%d\""
+msgid "Notice:"
+msgstr "Huomautus:"
+
+#, fuzzy, c-format
+msgid "[%d] added to Qun \"%d\""
 msgstr "Sinä [%d] olet lisätty ryhmään \"%d\""
 
-msgid "This group has been added to your buddy list"
-msgstr "Tämä ryhmä on lisätty tuttaviisi"
-
 msgid "I am not a member"
 msgstr "En ole jäsen"
 
 msgid "I am a member"
 msgstr "Olen jäsen"
 
-msgid "I am applying to join"
-msgstr "Pyydän liittymistä"
+msgid "I am requesting"
+msgstr "Olen tekemässä pyyntöä"
 
 msgid "I am the admin"
 msgstr "Olen ylläpitäjä"
@@ -7267,17 +7306,24 @@
 msgid "Unknown status"
 msgstr "Tuntematon tila"
 
-msgid "This group does not allow others to join"
+#, fuzzy
+msgid "The Qun does not allow others to join"
 msgstr "Tämä ryhmä ei salli muiden liittyä"
 
-msgid "You have successfully left the group"
-msgstr "Ryhmästä poistuminen onnistui"
-
-msgid "QQ Group Auth"
-msgstr "QQ-ryhmän valtuutus"
-
-msgid "Your authorization request has been accepted by the QQ server"
-msgstr "QQ-palvelin on hyväksynyt valtuutuspyyntösi"
+#, fuzzy
+msgid "Remove from Qun"
+msgstr "Poista ryhmä"
+
+#, fuzzy
+msgid "Join to Qun"
+msgstr "Liity ryhmäkeskusteluun"
+
+#, c-format
+msgid "Qun %d denied to join"
+msgstr "Qun %d kielsi liittymisen"
+
+msgid "Join Qun, Unknow Reply"
+msgstr "Quniin liittyminen, tuntematon vastaus"
 
 msgid "You entered a group ID outside the acceptable range"
 msgstr ""
@@ -7298,24 +7344,37 @@
 msgid "Do you want to approve the request?"
 msgstr "Haluatko hyväksyä pyynnön?"
 
-msgid "Enter your reason:"
-msgstr "Anna syy:"
-
-msgid "You have successfully modified Qun member"
-msgstr "Qun-jäsentä muokattu onnistuneesti"
-
-msgid "You have successfully modified Qun information"
-msgstr "Qun-tietojen muokkaus onnistui"
+#, fuzzy
+msgid "Change Qun member"
+msgstr "Puhelinnumero"
+
+#, fuzzy
+msgid "Change Qun information"
+msgstr "Kanavatiedot"
 
 msgid "You have successfully created a Qun"
 msgstr "Qun:n luonti onnistui"
 
-msgid "Would you like to set up the Qun details now?"
+#, fuzzy
+msgid "Would you like to set up the detail information now?"
 msgstr "Haluatko asettaa Qun:n yksityiskohdat nyt?"
 
 msgid "Setup"
 msgstr "Asetukset"
 
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+"%s\n"
+"\n"
+"%s"
+
+msgid "QQ Server News"
+msgstr "QQ-palvelimen uutisia"
+
 msgid "System Message"
 msgstr "Järjestelmäviesti"
 
@@ -7348,8 +7407,8 @@
 msgid " Video"
 msgstr " Video"
 
-msgid " Space"
-msgstr " Space"
+msgid " Zone"
+msgstr " Zone"
 
 msgid "Flag"
 msgstr "Lippu"
@@ -7369,20 +7428,36 @@
 msgstr "<b>Viimeisin päivitys:</b> %s<br>\n"
 
 #, c-format
-msgid "<b>Server</b>: %s: %d<br>\n"
-msgstr "<b>Palvelin:</b>: %s: %d<br>\n"
+msgid "<b>Server</b>: %s<br>\n"
+msgstr "<b>Palvelin:</b>: %s<br>\n"
 
 #, c-format
 msgid "<b>Connection Mode</b>: %s<br>\n"
 msgstr "<b>Yhteystila</b>: %s<br>\n"
 
 #, c-format
-msgid "<b>Real hostname</b>: %s: %d<br>\n"
-msgstr "<b>Todellinen palvelinnimi:</b>: %s: %d<br>\n"
-
-#, c-format
-msgid "<b>My Public IP</b>: %s<br>\n"
-msgstr "<b>Oma julkinen IP</b>: %s<br>\n"
+msgid "<b>My Internet Address</b>: %s<br>\n"
+msgstr "<b>Internet-osoitteeni:</b> %s<br>\n"
+
+#, c-format
+msgid "<b>Sent</b>: %lu<br>\n"
+msgstr "<b>Lähetetty</b>: %lu<br>\n"
+
+#, c-format
+msgid "<b>Resend</b>: %lu<br>\n"
+msgstr "<b>Uudelleenlähetys</b>: %lu<br>\n"
+
+#, c-format
+msgid "<b>Lost</b>: %lu<br>\n"
+msgstr "<b>Hukattu</b>: %lu<br>\n"
+
+#, c-format
+msgid "<b>Received</b>: %lu<br>\n"
+msgstr "<b>Vastaanotettu</b>: %lu<br>\n"
+
+#, c-format
+msgid "<b>Received Duplicate</b>: %lu<br>\n"
+msgstr "<b>Vastaanotettiin moneen kertaan</b>: %lu<br>\n"
 
 #, c-format
 msgid "<b>Login Time</b>: %s<br>\n"
@@ -7405,11 +7480,11 @@
 msgid "Change Password"
 msgstr "Vaihda salasana"
 
-msgid "Show Login Information"
-msgstr "Näytä kirjautumistiedot"
-
-msgid "Leave this QQ Qun"
-msgstr "Poistu tästä QQ-Qunista"
+msgid "Account Information"
+msgstr "Tilin tiedot"
+
+msgid "Leave the QQ Qun"
+msgstr "Poistu QQ-Qunista"
 
 msgid "Block this buddy"
 msgstr "Estä tämä tuttava"
@@ -7427,11 +7502,17 @@
 msgid "QQ Protocol\tPlugin"
 msgstr "QQ-yhteyskäytäntöliitännäinen"
 
-msgid "Connect using TCP"
+msgid "Auto"
+msgstr "Auto"
+
+msgid "Connect by TCP"
 msgstr "Yhdistetään käyttäen TCP:tä"
 
-msgid "resend interval(s)"
-msgstr "uudelleenlähetyksen aikaväli (s)"
+msgid "Show server notice"
+msgstr "Näytä palvelinhuomautukset"
+
+msgid "Show server news"
+msgstr "Näytä palvelinuutiset"
 
 msgid "Keep alive interval(s)"
 msgstr "Jatkuvan yhteydenpidon aikaväli (s)"
@@ -7440,15 +7521,39 @@
 msgstr "Päivitysten aikaväli (s)"
 
 #, c-format
+msgid "Invalid token reply code, 0x%02X"
+msgstr "Epäkelpo poletin vastauskoodi, 0x%02X"
+
+#, c-format
 msgid "Invalid token len, %d"
 msgstr "Epäkelpo poletin pituus, %d"
 
+msgid "Unable login for not support Redirect_EX now"
+msgstr "Kirjautuminen ei onnistu, koska Redirect_EX:ää ei tueta"
+
+#, fuzzy, c-format
+msgid "Error password: %s"
+msgstr "Virhe vaihdettaessa salasanaa"
+
+#, c-format
+msgid "Need active: %s"
+msgstr "Tarvitaan aktiivinen: %s"
+
+#, fuzzy, c-format
+msgid "Unable login for unknow reply code 0x%02X"
+msgstr "Epäkelpo poletin vastauskoodi, 0x%02X"
+
 msgid "Keep alive error"
 msgstr "Jatkuvan yhteydenpidon virhe"
 
-msgid "Failed to connect server"
+#, fuzzy
+msgid "Failed to connect all servers"
 msgstr "Palvelimeen ei saatu yhteyttä"
 
+#. we didn't successfully connect. tdt->toc_fd is valid here
+msgid "Unable to connect."
+msgstr "Yhteyden muodostaminen epäonnistui."
+
 msgid "Socket error"
 msgstr "Pistokevirhe"
 
@@ -7469,54 +7574,47 @@
 msgid "Connection lost"
 msgstr "Yhteys katkesi"
 
+#. Update the login progress status display
+#, c-format
+msgid "Request token"
+msgstr "Pyydä poletti"
+
 msgid "Couldn't resolve host"
 msgstr "Yhteyttä isäntään ei voi löytää"
 
-msgid "hostname is NULL or port is 0"
-msgstr "isäntänimi on NULL tai portti on 0"
+msgid "Invalid server or port"
+msgstr "Epäkelpo palvelin tai portti"
 
 #, c-format
 msgid "Connecting server %s, retries %d"
 msgstr "Yhdistetään palvelimelle %s, uudelleenyrityskerrat %d"
 
-#. we didn't successfully connect. tdt->toc_fd is valid here
-msgid "Unable to connect."
-msgstr "Yhteyden muodostaminen epäonnistui."
-
-msgid "Could not resolve hostname"
-msgstr "Isäntänimeä ei voi selvittää"
-
-msgid "Unable to login. Check debug log."
-msgstr "Ei voi kirjautua. Tarkista virheenjäljitysloki."
-
-msgid "Unable to login"
-msgstr "Ei voi kirjautua"
-
-#, c-format
-msgid ""
-"Reply %s(0x%02X )\n"
-"Sent %s(0x%02X )\n"
-"Room id %d, reply [0x%02X]: \n"
-"%s"
-msgstr ""
-"Vastaus %s(0x%02X )\n"
-"Lähetetty %s(0x%02X )\n"
-"Huoneen tunniste %d, vastaus [0x%02X]: \n"
-"%s"
-
-msgid "Failed room reply"
-msgstr "Epäonnistunut huoneen vastaus"
-
-#, c-format
-msgid "You are not a member of group \"%s\"\n"
+msgid "QQ Error"
+msgstr "QQ-virhe"
+
+msgid "Unknow SERVER CMD"
+msgstr "Tuntematon SERVER CMD"
+
+#, c-format
+msgid ""
+"Error reply of %s(0x%02X)\n"
+"Room %d, reply 0x%02X"
+msgstr ""
+"Virheellinen vastaus kohteesta %s(0x%02X)\n"
+"Huone %d, vastaus 0x%02X"
+
+msgid "QQ Qun Command"
+msgstr "QQ-Qun-komento"
+
+#, fuzzy, c-format
+msgid "You are not a member of QQ Qun \"%s\"\n"
 msgstr "Sinä et ole ryhmän \"%s\" jäsen\n"
 
 msgid "Can not decrypt login reply"
 msgstr "Kirjautumisvastauksen salausta ei voi purkaa"
 
-#, c-format
-msgid "Invalid token reply code, 0x%02X"
-msgstr "Epäkelpo poletin vastauskoodi, 0x%02X"
+msgid "Unknow reply CMD"
+msgstr "Tuntematon vastaus-CMD"
 
 #, c-format
 msgid "%d has declined the file %s"
@@ -7529,8 +7627,11 @@
 msgid "%d canceled the transfer of %s"
 msgstr "%d peruutti tiedoston %s siirron"
 
-msgid "Do you want to add this buddy?"
-msgstr "Haluatko lisätä tämän tuttavan?"
+msgid "Do you approve the requestion?"
+msgstr "Haluatko hyväksyä pyynnön?"
+
+msgid "Do you add the buddy?"
+msgstr "Haluatko lisätä tuttavan?"
 
 #. only need to get value
 #, c-format
@@ -7540,17 +7641,20 @@
 msgid "Would you like to add him?"
 msgstr "Haluatko lisätä hänet?"
 
-#, c-format
-msgid "%s has added you [%s] to his or her buddy list"
+#, fuzzy, c-format
+msgid "%s added you [%s] to buddy list"
 msgstr "Käyttäjä %s on lisännyt sinut [%s] tuttaviisi"
 
-#, c-format
-msgid "User %s rejected your request"
-msgstr "Käyttäjä %s on kieltäytynyt pyynnöstäsi"
-
-#, c-format
-msgid "User %s approved your request"
-msgstr "Käyttäjä %s on hyväksynyt pyyntösi"
+msgid "QQ Budy"
+msgstr "QQ-tuttava"
+
+#, c-format
+msgid "Requestion rejected by %s"
+msgstr "%s hylkäsi pyynnön"
+
+#, c-format
+msgid "Requestion approved by %s"
+msgstr "%s hyväksyi pyynnön"
 
 #. TODO: this should go through purple_account_request_authorization()
 #, c-format
@@ -7558,21 +7662,23 @@
 msgstr "Käyttäjä %s tahtoo lisätä sinut [%s] kaverikseen"
 
 #, c-format
-msgid "Message: %s"
-msgstr "Viesti: %s"
-
-#, c-format
-msgid "%s is not in your buddy list"
-msgstr "%s ei ole tuttavissasi"
-
-#, c-format
-msgid "Notice from: %s"
-msgstr "Ilmoitus käyttäjältä: %s"
+msgid "%s is not in buddy list"
+msgstr "%s ei ole tuttavissa"
+
+msgid "Would you add?"
+msgstr "Haluatko lisätä?"
+
+#, c-format
+msgid "From %s:"
+msgstr "Lähettäjä %s:"
 
 #, c-format
 msgid "%s"
 msgstr "%s"
 
+msgid "QQ Server Notice"
+msgstr "QQ-palvelinhuomautus"
+
 msgid "Connection closed (writing)"
 msgstr "Yhteys suljettu (kirjoitus)"
 
@@ -9026,6 +9132,9 @@
 msgid "Could not create listen socket"
 msgstr "Kuuntelupistokkeen luominen epäonnistui"
 
+msgid "Could not resolve hostname"
+msgstr "Isäntänimeä ei voi selvittää"
+
 msgid "SIP usernames may not contain whitespaces or @ symbols"
 msgstr "SIP-käyttäjänimissä ei tule olla välilyöntejä tai @-merkkejä"
 
@@ -9414,6 +9523,9 @@
 msgid "doodle: Request user to start a Doodle session"
 msgstr "doodle: Pyydä käyttäjää aloittamaan piirtelyistunto"
 
+msgid "Yahoo ID..."
+msgstr "Yahoo ID..."
+
 #. *< type
 #. *< ui_requirement
 #. *< flags
@@ -9962,6 +10074,10 @@
 msgstr "Kohteeseen %s ei kyetty muodostamaan yhteyttä"
 
 #, c-format
+msgid "Error reading from %s: response too long (%d bytes limit)"
+msgstr "Virhe luettaessa kohteesta %s: vastaus liian pitkä (%d tavun raja)"
+
+#, c-format
 msgid ""
 "Unable to allocate enough memory to hold the contents from %s.  The web "
 "server may be trying something malicious."
@@ -10147,10 +10263,10 @@
 msgstr ""
 "<span size='larger' weight='bold'>Tervetuloa %siin!</span>\n"
 "\n"
-"Pikaviestintilejä ei ole määritelty. Yhdistääksesi %sillä "
-"napsauta <b>Lisää</b>-painiketta ja määritä ensimmäisen käyttäjätilisi "
-"tiedot. Jos haluat %sin yhdistävän useampiin pikaviestintileihin, napsauta "
-"uudestaan <b>Lisää</b>-painiketta määritelläksesi ne kaikki.\n"
+"Pikaviestintilejä ei ole määritelty. Yhdistääksesi %sillä napsauta <b>Lisää</"
+"b>-painiketta ja määritä ensimmäisen käyttäjätilisi tiedot. Jos haluat %sin "
+"yhdistävän useampiin pikaviestintileihin, napsauta uudestaan <b>Lisää</b>-"
+"painiketta määritelläksesi ne kaikki.\n"
 "\n"
 "Voit palata tähän ikkunaan lisäämään, muokkaamaan tai poistamaan tilejä "
 "valitsemalla <b>Käyttäjätilit->Tilien hallinta</b> Tuttavat-ikkunassa."
@@ -10159,8 +10275,8 @@
 msgid "You have %d contact named %s. Would you like to merge them?"
 msgid_plural ""
 "You currently have %d contacts named %s. Would you like to merge them?"
-msgstr[0] "Sinulla on %d kontakti jonka nimi on %s. Haluatko yhdistää ne?"
-msgstr[1] "Sinulla on %d kontaktia joiden nimi on %s. Haluatko yhdistää ne?"
+msgstr[0] "Sinulla on %d yhteystieto jonka nimi on %s. Haluatko yhdistää ne?"
+msgstr[1] "Sinulla on %d yhteystietoa joiden nimi on %s. Haluatko yhdistää ne?"
 
 msgid ""
 "Merging these contacts will cause them to share a single entry on the buddy "
@@ -10612,6 +10728,9 @@
 msgid "SSL Servers"
 msgstr "SSL-palvelimet"
 
+msgid "Network disconnected"
+msgstr "Verkkoyhteys katkesi"
+
 msgid "Unknown command."
 msgstr "Tuntematon komento."
 
@@ -11062,6 +11181,9 @@
 msgid "French"
 msgstr "ranska"
 
+msgid "Irish"
+msgstr "irlanti"
+
 msgid "Galician"
 msgstr "galego"
 
@@ -11479,6 +11601,12 @@
 msgid "Color to draw hyperlinks."
 msgstr "Väri jolla piirretään hyperlinkit"
 
+msgid "Hyperlink visited color"
+msgstr "Vieraillun hyperlinkin väri"
+
+msgid "Color to draw hyperlinks after it has been visited (or activated)."
+msgstr "Väri jolla piirretään vierailtu (tai aktivoitu) hyperlinkki."
+
 msgid "Hyperlink prelight color"
 msgstr "Hyperlinkin ensiväri"
 
@@ -12343,14 +12471,17 @@
 "Äänik_omento:\n"
 "(%s tiedostonimeksi)"
 
+msgid "M_ute sounds"
+msgstr "Vaimenn_a äänet"
+
 msgid "Sounds when conversation has _focus"
 msgstr "Äänet kun keskusteluikkuna on _aktiivinen"
 
-msgid "Enable sounds:"
-msgstr "Ota äänet käyttöön:"
-
-msgid "Volume:"
-msgstr "Äänenvoimakkuus:"
+msgid "_Enable sounds:"
+msgstr "Ota ään_et käyttöön:"
+
+msgid "V_olume:"
+msgstr "Äänenv_oimakkuus:"
 
 msgid "Play"
 msgstr "Soita"
@@ -13274,6 +13405,9 @@
 msgid "Hyperlink Color"
 msgstr "Hyperlinkin väri"
 
+msgid "Visited Hyperlink Color"
+msgstr "Vieraillun hyperlinkin väri"
+
 msgid "Highlighted Message Name Color"
 msgstr "Korostetun viestin nimen väri"
 
@@ -13700,6 +13834,93 @@
 "Tätä liitännäistä voidaan käyttää XMPP-palvelimien tai -asiakasohjelmien "
 "virheenjäljitykseen."
 
+#~ msgid "EOF while reading from resolver process"
+#~ msgstr "EOF luettaessa selvitysprosessista"
+
+#~ msgid "Your information has been updated"
+#~ msgstr "Tietosi on päivitetty"
+
+#~ msgid "Input your reason:"
+#~ msgstr "Anna syy:"
+
+#~ msgid "You have successfully removed a buddy"
+#~ msgstr "Tuttava poistettu onnistuneesti"
+
+#~ msgid "You have successfully removed yourself from your friend's buddy list"
+#~ msgstr "Sinut on onnistuneesti poistettu kaverisi tuttavista"
+
+#~ msgid "You have added %d to buddy list"
+#~ msgstr "Käyttäjä %d lisätty tuttaviisi"
+
+#~ msgid "Invalid QQid"
+#~ msgstr "Epäkelpo QQid"
+
+#~ msgid "Please enter external group ID"
+#~ msgstr "Syötä ulkopuolisen ryhmän tunniste (ID)"
+
+#~ msgid "Reason: %s"
+#~ msgstr "Syy: %s"
+
+#~ msgid "Your request to join group %d has been approved by admin %d"
+#~ msgstr "Pyyntösi liittyä ryhmään %d hyväksyttiin ylläpitäjän %d toimesta"
+
+#~ msgid "This group has been added to your buddy list"
+#~ msgstr "Tämä ryhmä on lisätty tuttaviisi"
+
+#~ msgid "I am applying to join"
+#~ msgstr "Pyydän liittymistä"
+
+#~ msgid "You have successfully left the group"
+#~ msgstr "Ryhmästä poistuminen onnistui"
+
+#~ msgid "QQ Group Auth"
+#~ msgstr "QQ-ryhmän valtuutus"
+
+#~ msgid "Your authorization request has been accepted by the QQ server"
+#~ msgstr "QQ-palvelin on hyväksynyt valtuutuspyyntösi"
+
+#~ msgid "Enter your reason:"
+#~ msgstr "Anna syy:"
+
+#~ msgid "You have successfully modified Qun member"
+#~ msgstr "Qun-jäsentä muokattu onnistuneesti"
+
+#~ msgid "You have successfully modified Qun information"
+#~ msgstr "Qun-tietojen muokkaus onnistui"
+
+#~ msgid " Space"
+#~ msgstr " Space"
+
+#~ msgid "<b>Real hostname</b>: %s: %d<br>\n"
+#~ msgstr "<b>Todellinen palvelinnimi:</b>: %s: %d<br>\n"
+
+#~ msgid "Show Login Information"
+#~ msgstr "Näytä kirjautumistiedot"
+
+#~ msgid "resend interval(s)"
+#~ msgstr "uudelleenlähetyksen aikaväli (s)"
+
+#~ msgid "hostname is NULL or port is 0"
+#~ msgstr "isäntänimi on NULL tai portti on 0"
+
+#~ msgid "Unable to login. Check debug log."
+#~ msgstr "Ei voi kirjautua. Tarkista virheenjäljitysloki."
+
+#~ msgid "Unable to login"
+#~ msgstr "Ei voi kirjautua"
+
+#~ msgid "Failed room reply"
+#~ msgstr "Epäonnistunut huoneen vastaus"
+
+#~ msgid "User %s rejected your request"
+#~ msgstr "Käyttäjä %s on kieltäytynyt pyynnöstäsi"
+
+#~ msgid "User %s approved your request"
+#~ msgstr "Käyttäjä %s on hyväksynyt pyyntösi"
+
+#~ msgid "Notice from: %s"
+#~ msgstr "Ilmoitus käyttäjältä: %s"
+
 #~ msgid "Code [0x%02X]: %s"
 #~ msgstr "Koodi [0x%02X]: %s"
 
@@ -14242,9 +14463,6 @@
 #~ msgid "<span weight='bold' size='larger'>Welcome to "
 #~ msgstr "<span weight='bold' size='larger'>Tervetuloa "
 
-#~ msgid "You are using "
-#~ msgstr "Käytät ohjelmaa: "
-
 #~ msgid "_Start "
 #~ msgstr "_Käynnistä "
 
@@ -14425,9 +14643,6 @@
 #~ msgid "<b>%s:</b> %s"
 #~ msgstr "<b>%s:</b> %s"
 
-#~ msgid "<b>%s:</b> %s<br>"
-#~ msgstr "<b>%s:</b> %s<br>"
-
 #~ msgid "<b>Idle for:</b> %s<br>"
 #~ msgstr "<b>Jouten:</b> %s<br>"
 
@@ -14495,12 +14710,6 @@
 #~ msgid "<b>Status:</b> %s"
 #~ msgstr "<b>Tila:</b> %s"
 
-#~ msgid "<b>IP Address:</b> %s<br>"
-#~ msgstr "<b>IP-osoite:</b> %s<br>"
-
-#~ msgid "<b>User:</b> %s<br>"
-#~ msgstr "<b>Käyttäjä:</b> %s<br>"
-
 #~ msgid "Tag"
 #~ msgstr "Merkitse"
 
@@ -14525,9 +14734,6 @@
 #~ msgid "Invalid password"
 #~ msgstr "Virheellinen salasana"
 
-#~ msgid "Invalid username or password"
-#~ msgstr "Epäkelpo käyttäjänimi tai salasana"
-
 #~ msgid ""
 #~ "The user %s requires authorization before being added to a buddy list.  "
 #~ "Do you want to send an authorization request?"
@@ -14619,9 +14825,6 @@
 #~ msgid "gaim_proxy_connect() failed"
 #~ msgstr "gaim_proxy_connect() epäonnistui"
 
-#~ msgid "QQ Server"
-#~ msgstr "QQ-palvelin"
-
 #~ msgid "QQ Port"
 #~ msgstr "QQ-portti"
 
@@ -15297,9 +15500,6 @@
 #~ msgid "AIM"
 #~ msgstr "AIM"
 
-#~ msgid "ICQ UIN"
-#~ msgstr "ICQ UIN"
-
 #~ msgid "Yahoo"
 #~ msgstr "Yahoo"
 
@@ -15522,9 +15722,6 @@
 #~ "\n"
 #~ "Poista poissaolotila kaikilta käyttäjätileiltä.\n"
 
-#~ msgid "Show fewer options"
-#~ msgstr "Näytä vähemmän valintoja"
-
 #~ msgid "New group name"
 #~ msgstr "Uusi ryhmänimi"
 
@@ -15589,9 +15786,6 @@
 #~ msgid "Send a file to the user"
 #~ msgstr "Lähetä tiedosto käyttäjälle"
 
-#~ msgid "Remove the user from your buddy list"
-#~ msgstr "Poista käyttäjä tuttavalistalta"
-
 #~ msgid "Invite a user"
 #~ msgstr "Kutsu käyttäjä"
 
--- a/po/hu.po	Thu Oct 09 11:57:28 2008 +0000
+++ b/po/hu.po	Thu Oct 09 11:58:07 2008 +0000
@@ -9,8 +9,8 @@
 msgstr ""
 "Project-Id-Version: pidgin 2.5\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-08-14 11:31+0200\n"
-"PO-Revision-Date: 2008-08-14 11:29+0200\n"
+"POT-Creation-Date: 2008-10-02 19:31+0200\n"
+"PO-Revision-Date: 2008-10-02 18:55+0200\n"
 "Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
 "Language-Team: Hungarian <gnome@fsf.hu>\n"
 "MIME-Version: 1.0\n"
@@ -73,6 +73,7 @@
 msgid "Remember password"
 msgstr "Emlékezzen a jelszóra"
 
+#, fuzzy
 msgid "There's no protocol plugins installed."
 msgstr "Nincsenek protokollbővítmények telepítve."
 
@@ -329,6 +330,7 @@
 msgid "Nickname"
 msgstr "Becenév"
 
+#. Never know what those translations might end up like...
 #. Idle stuff
 msgid "Idle"
 msgstr "Inaktív"
@@ -1822,9 +1824,11 @@
 "Hiba a feloldó folyamatból olvasás közben:\n"
 "%s"
 
-#, c-format
+#, fuzzy, c-format
 msgid "EOF while reading from resolver process"
-msgstr "Fájl vége jel érkezett a feloldó folyamatból olvasás közben"
+msgstr ""
+"Hiba a feloldó folyamatból olvasás közben:\n"
+"%s"
 
 #, c-format
 msgid "Thread creation failure: %s"
@@ -2394,6 +2398,9 @@
 msgid "User Inactivity Timeout (in minutes)"
 msgstr "Felhasználó inaktivitási időtartama (perc)"
 
+msgid "Apply hiding rules to buddies"
+msgstr "Elrejtési szabályok alkalmazása partnerekre"
+
 #. *< type
 #. *< ui_requirement
 #. *< flags
@@ -4894,6 +4901,14 @@
 msgid "MSN Error: %s\n"
 msgstr "MSN hiba: %s\n"
 
+#, fuzzy
+msgid "Other Contacts"
+msgstr "Előnyben részesített kapcsolat"
+
+#, fuzzy
+msgid "Non-IM Contacts"
+msgstr "Kapcsolat eltávolítása"
+
 msgid "Nudge"
 msgstr "Bökés"
 
@@ -7173,14 +7188,17 @@
 msgid "Other"
 msgstr "Egyéb"
 
+#, fuzzy
 msgid "Modify my information"
 msgstr "Információk módosítása"
 
+#, fuzzy
 msgid "Update my information"
 msgstr "Információk frissítése"
 
+#, fuzzy
 msgid "Your information has been updated"
-msgstr "Információi frissítve lettek"
+msgstr "A jelszava meg lett változtatva."
 
 #, c-format
 msgid ""
@@ -7198,12 +7216,13 @@
 msgstr "Visszautasította %d kérését"
 
 msgid "Input your reason:"
-msgstr "Indokolja meg:"
+msgstr ""
 
 msgid "Reject request"
 msgstr "Kérés visszautasítása"
 
 #. title
+#, fuzzy
 msgid "Sorry, you are not my type..."
 msgstr "Bocs, nem vagy az esetem…"
 
@@ -7211,14 +7230,16 @@
 msgstr "A partner felvétele felhatalmazási kéréssel meghiúsult"
 
 #. TODO: We don't really need to notify the user about this, do we?
+#, fuzzy
 msgid "You have successfully removed a buddy"
-msgstr "Sikeresen eltávolított egy partnert"
+msgstr "Sikeresen létrehozott egy Qun-t"
 
 #. TODO: Does the user really need to be notified about this?
+#, fuzzy
 msgid "You have successfully removed yourself from your friend's buddy list"
-msgstr "Sikeresen eltávolította magát egy partner partnerlistájáról"
-
-#, c-format
+msgstr "%s eltávolította Önt a partnerlistájáról."
+
+#, fuzzy, c-format
 msgid "User %d needs authentication"
 msgstr "A(z) %d felhasználó felhatalmazást kér"
 
@@ -7235,15 +7256,17 @@
 msgid "Send"
 msgstr "Küldés"
 
-#, c-format
+#, fuzzy, c-format
 msgid "You have added %d to buddy list"
-msgstr "Felvette a(z) %d azonosítójú felhasználót a partnerlistájára"
-
+msgstr "%s felvette Önt [%s] a partnerlistájára"
+
+#, fuzzy
 msgid "QQid Error"
 msgstr "QQid hiba"
 
+#, fuzzy
 msgid "Invalid QQid"
-msgstr "Érvénytelen QQid"
+msgstr "Érvénytelen authzid"
 
 msgid "ID: "
 msgstr "Azonosító: "
@@ -7263,19 +7286,21 @@
 msgid "QQ Qun"
 msgstr "QQ Qun"
 
+#, fuzzy
 msgid "Please enter external group ID"
-msgstr "Adja meg a külső csoportazonosítót"
-
+msgstr "Adja meg %s új nevét"
+
+#, fuzzy
 msgid "You can only search for permanent QQ groups\n"
-msgstr "Csak állandó QQ csoportok között kereshet\n"
-
-#, c-format
+msgstr "Csak állandó Qun-t kereshet\n"
+
+#, fuzzy, c-format
 msgid "User %d requested to join group %d"
-msgstr "A(z) %d felhasználó csatlakozásra jelentkezett a(z) %d csoporthoz"
-
-#, c-format
+msgstr "A(z) %d felhasználó csatlakozni szeretne a(z) %d Qun-hoz"
+
+#, fuzzy, c-format
 msgid "Reason: %s"
-msgstr "Ok: %s"
+msgstr "Verzió: \t%s\n"
 
 msgid "QQ Qun Operation"
 msgstr "QQ Qun művelet"
@@ -7283,24 +7308,25 @@
 msgid "Approve"
 msgstr "Jóváhagyás"
 
-#, c-format
+#, fuzzy, c-format
 msgid "Your request to join group %d has been rejected by admin %d"
 msgstr "A csatlakozási kérelmét a(z) %d csoporthoz %d admin visszautasította"
 
-#, c-format
+#, fuzzy, c-format
 msgid "Your request to join group %d has been approved by admin %d"
-msgstr "A csatlakozási kérelmét a(z) %d csoporthoz %d admin jóváhagyta"
-
-#, c-format
+msgstr "A csatlakozási kérelmét a(z) %d csoporthoz %d admin visszautasította"
+
+#, fuzzy, c-format
 msgid "You [%d] have left group \"%d\""
-msgstr "Ön [%d] kilépett a következő csoportból: „%d”"
-
-#, c-format
+msgstr "Ön [%d] fel lett véve a következő csoportba: „%d”"
+
+#, fuzzy, c-format
 msgid "You [%d] have been added to group \"%d\""
-msgstr "Ön [%d] fel lett véve a következő csoportba: „%d”"
-
+msgstr "%s felvette"
+
+#, fuzzy
 msgid "This group has been added to your buddy list"
-msgstr "A csoport fel lett véve a partnerlistájára"
+msgstr "%s felvette Önt a partnerlistájára."
 
 msgid "I am not a member"
 msgstr "Nem vagyok tag"
@@ -7309,7 +7335,7 @@
 msgstr "Tag vagyok"
 
 msgid "I am applying to join"
-msgstr "Csatlakozásra jelentkezem"
+msgstr ""
 
 msgid "I am the admin"
 msgstr "Admin vagyok"
@@ -7317,17 +7343,19 @@
 msgid "Unknown status"
 msgstr "Ismeretlen állapot"
 
+#, fuzzy
 msgid "This group does not allow others to join"
 msgstr "Ez a csoport nem engedélyezi mások csatlakozását"
 
+#, fuzzy
 msgid "You have successfully left the group"
-msgstr "Sikeresen elhagyta a csoportot"
+msgstr "Sikeresen létrehozott egy Qun-t"
 
 msgid "QQ Group Auth"
-msgstr "QQ csoporthitelesítés"
+msgstr ""
 
 msgid "Your authorization request has been accepted by the QQ server"
-msgstr "A hitelesítési kérését elfogadta a QQ kiszolgáló"
+msgstr ""
 
 msgid "You entered a group ID outside the acceptable range"
 msgstr "Az elfogadható tartományon kívüli csoportazonosítót adott meg"
@@ -7346,18 +7374,22 @@
 msgid "Do you want to approve the request?"
 msgstr "Jóvá kívánja hagyni a kérést?"
 
+#, fuzzy
 msgid "Enter your reason:"
-msgstr "Indokolja meg:"
-
+msgstr "Írja be alább a jegyzetet…"
+
+#, fuzzy
 msgid "You have successfully modified Qun member"
-msgstr "Sikeresen módosította a Qun tagot"
-
+msgstr "Sikeresen létrehozott egy Qun-t"
+
+#, fuzzy
 msgid "You have successfully modified Qun information"
-msgstr "Sikeresen módosította a Qun információkat"
+msgstr "Sikeresen létrehozott egy Qun-t"
 
 msgid "You have successfully created a Qun"
 msgstr "Sikeresen létrehozott egy Qun-t"
 
+#, fuzzy
 msgid "Would you like to set up the Qun details now?"
 msgstr "Be kívánja állítani most a Qun részleteit?"
 
@@ -7395,8 +7427,9 @@
 msgid " Video"
 msgstr " Videó"
 
+#, fuzzy
 msgid " Space"
-msgstr " Hely"
+msgstr "MySpace"
 
 msgid "Flag"
 msgstr "Jelző"
@@ -7415,7 +7448,7 @@
 msgid "<b>Last Refresh</b>: %s<br>\n"
 msgstr "<b>Utolsó frissítés</b>: %s<br>\n"
 
-#, c-format
+#, fuzzy, c-format
 msgid "<b>Server</b>: %s: %d<br>\n"
 msgstr "<b>Kiszolgáló</b>: %s: %d<br>\n"
 
@@ -7423,13 +7456,13 @@
 msgid "<b>Connection Mode</b>: %s<br>\n"
 msgstr "<b>Kapcsolat módja</b>: %s<br>\n"
 
-#, c-format
+#, fuzzy, c-format
 msgid "<b>Real hostname</b>: %s: %d<br>\n"
-msgstr "<b>Valódi gépnév</b>: %s: %d<br>\n"
-
-#, c-format
+msgstr "<b>Utolsó frissítés</b>: %s<br>\n"
+
+#, fuzzy, c-format
 msgid "<b>My Public IP</b>: %s<br>\n"
-msgstr "<b>Nyilvános IP címem</b>: %s<br>\n"
+msgstr "<b>Utolsó bejelentkezési IP</b>: %s<br>\n"
 
 #, c-format
 msgid "<b>Login Time</b>: %s<br>\n"
@@ -7452,9 +7485,11 @@
 msgid "Change Password"
 msgstr "Jelszó módosítása"
 
+#, fuzzy
 msgid "Show Login Information"
-msgstr "Bejelentkezési információk megjelenítése"
-
+msgstr "Bejelentkezési információk"
+
+#, fuzzy
 msgid "Leave this QQ Qun"
 msgstr "Kilépés ebből a QQ Qun-ből"
 
@@ -7474,11 +7509,13 @@
 msgid "QQ Protocol\tPlugin"
 msgstr "QQ protokoll\tbővítmény"
 
+#, fuzzy
 msgid "Connect using TCP"
 msgstr "Kapcsolódás TCP segítségével"
 
+#, fuzzy
 msgid "resend interval(s)"
-msgstr "újraküldési időköz"
+msgstr "Frissítési időköz"
 
 msgid "Keep alive interval(s)"
 msgstr "Kapcsolat-fenntartási időköz"
@@ -7493,8 +7530,9 @@
 msgid "Keep alive error"
 msgstr "Kapcsolat-fenntartási hiba"
 
+#, fuzzy
 msgid "Failed to connect server"
-msgstr "Nem sikerült a kiszolgálóhoz kapcsolódni"
+msgstr "Nem sikerült a kiszolgálóhoz kapcsolódni."
 
 msgid "Socket error"
 msgstr "Foglalathiba"
@@ -7520,7 +7558,7 @@
 msgstr "Nem sikerült a kiszolgáló feloldása"
 
 msgid "hostname is NULL or port is 0"
-msgstr "a gépnév üres vagy a port 0"
+msgstr ""
 
 #, c-format
 msgid "Connecting server %s, retries %d"
@@ -7533,13 +7571,15 @@
 msgid "Could not resolve hostname"
 msgstr "A gépnév nem oldható fel"
 
+#, fuzzy
 msgid "Unable to login. Check debug log."
-msgstr "Nem lehet bejelentkezni. Nézze meg a hibakeresési naplót."
-
+msgstr "A bővítmény nem tölthető be"
+
+#, fuzzy
 msgid "Unable to login"
-msgstr "Nem lehet bejelentkezni"
-
-#, c-format
+msgstr "A bővítmény nem tölthető be"
+
+#, fuzzy, c-format
 msgid ""
 "Reply %s(0x%02X )\n"
 "Sent %s(0x%02X )\n"
@@ -7551,10 +7591,11 @@
 "Szobaazonosító: %d, válasz: [0x%02X]: \n"
 "%s"
 
+#, fuzzy
 msgid "Failed room reply"
-msgstr "A szobaválasz sikertelen"
-
-#, c-format
+msgstr "A partner eltávolítása sikertelen"
+
+#, fuzzy, c-format
 msgid "You are not a member of group \"%s\"\n"
 msgstr "Ön nem tagja a következő csoportnak: „%s”\n"
 
@@ -7576,6 +7617,7 @@
 msgid "%d canceled the transfer of %s"
 msgstr "%d megszakította a(z) %s átvitelét"
 
+#, fuzzy
 msgid "Do you want to add this buddy?"
 msgstr "Fel kívánja venni ezt a partnert?"
 
@@ -7587,17 +7629,17 @@
 msgid "Would you like to add him?"
 msgstr "Szeretné felvenni?"
 
-#, c-format
+#, fuzzy, c-format
 msgid "%s has added you [%s] to his or her buddy list"
-msgstr "%s felvette Önt [%s] a partnerlistájára"
-
-#, c-format
+msgstr "%s felvette Önt a partnerlistájára."
+
+#, fuzzy, c-format
 msgid "User %s rejected your request"
-msgstr "%s felhasználó visszautasította a kérését"
-
-#, c-format
+msgstr "Visszautasította %d kérését"
+
+#, fuzzy, c-format
 msgid "User %s approved your request"
-msgstr "%s felhasználó jóváhagyta kérését"
+msgstr "Jóvá kívánja hagyni a kérést?"
 
 #. TODO: this should go through purple_account_request_authorization()
 #, c-format
@@ -7608,13 +7650,13 @@
 msgid "Message: %s"
 msgstr "Üzenet: %s"
 
-#, c-format
+#, fuzzy, c-format
 msgid "%s is not in your buddy list"
 msgstr "%s nincs a partnerlistáján"
 
-#, c-format
+#, fuzzy, c-format
 msgid "Notice from: %s"
-msgstr "Értesítés a következőtől: %s"
+msgstr "Megjegyzés"
 
 #, c-format
 msgid "%s"
@@ -10229,7 +10271,7 @@
 "all.\n"
 "\n"
 "You can come back to this window to add, edit, or remove accounts from "
-"<b>Accounts->Add/Edit</b> in the Buddy List window"
+"<b>Accounts->Manage Accounts</b> in the Buddy List window"
 msgstr ""
 "<span size='larger' weight='bold'>Üdvözli a %s!</span>\n"
 "\n"
@@ -10238,7 +10280,7 @@
 "azt szeretné hogy a %s több fiókhoz csatlakozzon, kattintson újra a "
 "<b>Hozzáadás</b> gombra és állítsa be mindet.\n"
 "\n"
-"A Partnerlista ablak <b>Fiókok -> Hozzáadás/Szerkesztés</b> menüpontja "
+"A Partnerlista ablak <b>Fiókok -> Fiókok kezelése</b> menüpontja "
 "segítségével visszatérhet ehhez az ablakhoz fiókok hozzáadásához, "
 "szerkesztéséhez vagy eltávolításához."
 
@@ -12439,11 +12481,13 @@
 msgid "Sounds when conversation has _focus"
 msgstr "Hangok lejátszása, ha a társalgás ablaka a_ktív"
 
+#, fuzzy
 msgid "Enable sounds:"
-msgstr "Hangok engedélyezése:"
-
+msgstr "Hangok _engedélyezése:"
+
+#, fuzzy
 msgid "Volume:"
-msgstr "Hangerő:"
+msgstr "H_angerő:"
 
 msgid "Play"
 msgstr "Lejátszás"
@@ -12807,6 +12851,9 @@
 msgid "_Open Mail"
 msgstr "_Levél megnyitása"
 
+msgid "_Edit"
+msgstr "S_zerkesztés"
+
 msgid "Pidgin Tooltip"
 msgstr "Pidgin buboréksúgó"
 
@@ -13797,3 +13844,193 @@
 msgstr ""
 "Ez a bővítmény XMPP kiszolgálókban vagy kliensekben végzett hibakereséshez "
 "hasznos."
+
+#~ msgid "Nested Subgroup"
+#~ msgstr "Beágyazott alcsoport"
+
+#~ msgid "Nested Grouping (experimental)"
+#~ msgstr "Beágyazott csoportosítás (kísérleti)"
+
+#~ msgid "Resolver process exited without answering our request"
+#~ msgstr "A feloldó folyamat a kérés megválaszolása nélkül lépett ki"
+
+#~ msgid "Passport account suspended"
+#~ msgstr "A Passport fiók felfüggesztve"
+
+#~ msgid "ICQ UIN..."
+#~ msgstr "ICQ UIN…"
+
+#~ msgid "QQ Buddy"
+#~ msgstr "QQ partner"
+
+#~ msgid "Successed:"
+#~ msgstr "Sikeres:"
+
+#~ msgid "Change buddy information."
+#~ msgstr "Partnerinformációk módosítása."
+
+#~ msgid "Failed:"
+#~ msgstr "Sikertelen:"
+
+#~ msgid "Remove buddy"
+#~ msgstr "Partner törlése"
+
+#~ msgid "Remove from other's buddy list"
+#~ msgstr "Eltávolítás mások partnerlistájáról"
+
+#~ msgid "Add into %d's buddy list"
+#~ msgstr "Hozzáadás %d partnerlistájához"
+
+#~ msgid "QQ Number Error"
+#~ msgstr "QQ számhiba"
+
+#~ msgid "Invalid QQ Number"
+#~ msgstr "Érvénytelen QQ szám"
+
+#~ msgid "Please enter Qun number"
+#~ msgstr "Adja meg a Qun számot"
+
+#, fuzzy
+#~ msgid "Failed to join Qun %d, operated by admin %d"
+#~ msgstr "Partner csatlakoztatása a csevegéshez sikertelen"
+
+#, fuzzy
+#~ msgid "[%d] removed from Qun \"%d\""
+#~ msgstr "Ön [%d] kilépett a következő csoportból: „%d”"
+
+#, fuzzy
+#~ msgid "I am requesting"
+#~ msgstr "Hibás kérés"
+
+#, fuzzy
+#~ msgid "Remove from Qun"
+#~ msgstr "Csoport törlése"
+
+#, fuzzy
+#~ msgid "Join to Qun"
+#~ msgstr "Csatlakozás csevegéshez"
+
+#, fuzzy
+#~ msgid "Change Qun member"
+#~ msgstr "Telefonszám"
+
+#, fuzzy
+#~ msgid "Change Qun information"
+#~ msgstr "Csatornainformációk"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s\n"
+#~ "\n"
+#~ "%s"
+#~ msgstr "%s (%s)"
+
+#, fuzzy
+#~ msgid "QQ Server News"
+#~ msgstr "ICQ közvetítő kiszolgáló"
+
+#, fuzzy
+#~ msgid " Zone"
+#~ msgstr "Nincs"
+
+#, fuzzy
+#~ msgid "<b>My Internet Address</b>: %s<br>\n"
+#~ msgstr "<b>Kapcsolat módja</b>: %s<br>\n"
+
+#, fuzzy
+#~ msgid "<b>Sent</b>: %lu<br>\n"
+#~ msgstr "<b>Kiszolgáló</b>: %s: %d<br>\n"
+
+#, fuzzy
+#~ msgid "<b>Lost</b>: %lu<br>\n"
+#~ msgstr "<b>Utolsó frissítés</b>: %s<br>\n"
+
+#, fuzzy
+#~ msgid "<b>Received</b>: %lu<br>\n"
+#~ msgstr "<b>Kiszolgáló</b>: %s: %d<br>\n"
+
+#, fuzzy
+#~ msgid "<b>Received Duplicate</b>: %lu<br>\n"
+#~ msgstr "<b>Nyilvános IP címem</b>: %s<br>\n"
+
+#, fuzzy
+#~ msgid "Account Information"
+#~ msgstr "Az azonosító jellemzői"
+
+#, fuzzy
+#~ msgid "Auto"
+#~ msgstr "Auto"
+
+#, fuzzy
+#~ msgid "Show server notice"
+#~ msgstr "Kiszolgáló portja"
+
+#, fuzzy
+#~ msgid "Show server news"
+#~ msgstr "Kiszolgáló címe"
+
+#, fuzzy
+#~ msgid "Error password: %s"
+#~ msgstr "Hiba a jelszó módosításakor"
+
+#, fuzzy
+#~ msgid "Unable login for unknow reply code 0x%02X"
+#~ msgstr "Érvénytelen jelsorválaszkód, 0x%02X"
+
+#, fuzzy
+#~ msgid "Failed to connect all servers"
+#~ msgstr "Nem sikerült a kiszolgálóhoz kapcsolódni"
+
+#, fuzzy
+#~ msgid "Request token"
+#~ msgstr "Kérés elutasítva"
+
+#, fuzzy
+#~ msgid "Invalid server or port"
+#~ msgstr "Érvénytelen hiba"
+
+#, fuzzy
+#~ msgid "QQ Qun Command"
+#~ msgstr "Parancs"
+
+#, fuzzy
+#~ msgid "Unknow reply CMD"
+#~ msgstr "Ismeretlen ok"
+
+#, fuzzy
+#~ msgid "QQ Budy"
+#~ msgstr "Partner"
+
+#, fuzzy
+#~ msgid "Would you add?"
+#~ msgstr "Szeretné felvenni?"
+
+#, fuzzy
+#~ msgid "From %s:"
+#~ msgstr "Feladó %s:"
+
+#, fuzzy
+#~ msgid "QQ Server Notice"
+#~ msgstr "Kiszolgáló portja"
+
+#~ msgid "Yahoo ID..."
+#~ msgstr "Yahoo azonosító…"
+
+#~ msgid "Error reading from %s: response too long (%d bytes limit)"
+#~ msgstr "Hiba %s olvasása közben: a válasz túl hosszú (%d bájtos korlát)"
+
+#~ msgid "Irish"
+#~ msgstr "Ír"
+
+#~ msgid "Hyperlink visited color"
+#~ msgstr "Meglátogatott hiperhivatkozás színe"
+
+#~ msgid "Color to draw hyperlinks after it has been visited (or activated)."
+#~ msgstr ""
+#~ "Meglátogatott (aktivált) hiperhivatkozások rajzolásához használt szín."
+
+#~ msgid "M_ute sounds"
+#~ msgstr "_Hangok némítása"
+
+#~ msgid "Visited Hyperlink Color"
+#~ msgstr "Meglátogatott hiperhivatkozás színe"
--- a/po/lt.po	Thu Oct 09 11:57:28 2008 +0000
+++ b/po/lt.po	Thu Oct 09 11:58:07 2008 +0000
@@ -10,8 +10,8 @@
 msgstr ""
 "Project-Id-Version: Gaim 2.0.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-08-26 01:00+0200\n"
-"PO-Revision-Date: 2008-08-26 01:02+0200\n"
+"POT-Creation-Date: 2008-10-02 08:37+0200\n"
+"PO-Revision-Date: 2008-10-02 08:52+0200\n"
 "Last-Translator: Laurynas Biveinis <laurynas.biveinis@gmail.com>\n"
 "Language-Team:\n"
 "MIME-Version: 1.0\n"
@@ -75,7 +75,7 @@
 msgstr "Prisiminti slaptažodį"
 
 msgid "There's no protocol plugins installed."
-msgstr "Nėra suinstaliuotas nė vienas protokolo papildinys."
+msgstr "Nesuinstaliuotas nė vienas protokolo papildinys."
 
 msgid "(You probably forgot to 'make install'.)"
 msgstr "(Turbūt pamiršote paleisti „make install“.)"
@@ -332,6 +332,7 @@
 msgid "Nickname"
 msgstr "Vardas"
 
+#. Never know what those translations might end up like...
 #. Idle stuff
 msgid "Idle"
 msgstr "Neveiklus"
@@ -1150,6 +1151,7 @@
 msgid "%s has sent you a message. (%s)"
 msgstr "%s atsiuntė Jums žinutę. (%s)"
 
+#, c-format
 msgid "Unknown pounce event. Please report this!"
 msgstr "Nežinomas reakcijos veiksmas. Prašome apie tai pranešti!"
 
@@ -1521,6 +1523,7 @@
 "Kai pradedamas naujas pokalbis, šis papildinys įterps paskutinio pokalbio "
 "tekstą su tuo pačiu pašnekovu į pokalbių langą."
 
+#, c-format
 msgid "Online"
 msgstr "Prisijungęs"
 
@@ -1860,8 +1863,9 @@
 "Skaitymo iš DNS adresų keitiklio proceso klaida:\n"
 "%s"
 
+#, c-format
 msgid "EOF while reading from resolver process"
-msgstr "Failo pabaiga skaitymo iš DNS adresų keitiklio proceso metu"
+msgstr "EOF (failo pabaiga) beskaitant iš adresų keitiklio proceso"
 
 #, c-format
 msgid "Thread creation failure: %s"
@@ -1949,6 +1953,7 @@
 msgid "Transfer of file %s complete"
 msgstr "Failo %s perdavimas baigtas"
 
+#, c-format
 msgid "File transfer complete"
 msgstr "Failo perdavimas baigtas"
 
@@ -1956,6 +1961,7 @@
 msgid "You canceled the transfer of %s"
 msgstr "Jūs nutraukėte %s perdavimą"
 
+#, c-format
 msgid "File transfer cancelled"
 msgstr "Failo perdavimas nutrauktas"
 
@@ -2164,6 +2170,7 @@
 msgid "You are using %s, but this plugin requires %s."
 msgstr "Jūs naudojatės %s, bet šiam papildiniui reikia %s."
 
+#, c-format
 msgid "This plugin has not defined an ID."
 msgstr "Šis papildinys nenustatė ID"
 
@@ -2440,6 +2447,9 @@
 msgid "User Inactivity Timeout (in minutes)"
 msgstr "Vartotojo neveiklumo laukimo laikas (minutėmis)"
 
+msgid "Apply hiding rules to buddies"
+msgstr "Pritaikyti bičiuliams slėpimo taisykles"
+
 #. *< type
 #. *< ui_requirement
 #. *< flags
@@ -3101,6 +3111,7 @@
 #. get_yahoo_status_from_purple_status() returns YAHOO_STATUS_CUSTOM for
 #. * the generic away state (YAHOO_STATUS_TYPE_AWAY) with no message
 #. Away stuff
+#, c-format
 msgid "Away"
 msgstr "Pasitraukęs"
 
@@ -4012,6 +4023,7 @@
 msgid "Extended Away"
 msgstr "Ilgam pasitraukęs"
 
+#, c-format
 msgid "Do Not Disturb"
 msgstr "Netrukdyti"
 
@@ -4778,163 +4790,216 @@
 "Bičiulis %s yra vietiniame sąraše, tačiau jo nėra serverio sąraše.  Ar "
 "norite įtraukti šį bičiulį į serverio sąrašą?"
 
+#, c-format
 msgid "Unable to parse message"
 msgstr "Negalima išanalizuoti pranešimo"
 
+#, c-format
 msgid "Syntax Error (probably a client bug)"
 msgstr "Sintaksės klaida (greičiausiai Gaim riktas)"
 
+#, c-format
 msgid "Invalid email address"
 msgstr "Neteisingas el. pašto adresas"
 
+#, c-format
 msgid "User does not exist"
 msgstr "Vartotojas neegzistuoja"
 
+#, c-format
 msgid "Fully qualified domain name missing"
 msgstr "Trūksta viso srities vardo"
 
+#, c-format
 msgid "Already logged in"
 msgstr "Jau prisijungęs"
 
+#, c-format
 msgid "Invalid username"
 msgstr "Neteisingas vardas"
 
+#, c-format
 msgid "Invalid friendly name"
 msgstr "Neteisingas patogusis vardas"
 
+#, c-format
 msgid "List full"
 msgstr "Sąrašas pilnas"
 
+#, c-format
 msgid "Already there"
 msgstr "Jau yra ten"
 
+#, c-format
 msgid "Not on list"
 msgstr "Sąraše nėra"
 
+#, c-format
 msgid "User is offline"
 msgstr "Vartotojas atsijungęs"
 
+#, c-format
 msgid "Already in the mode"
 msgstr "Jau yra būsenoje"
 
+#, c-format
 msgid "Already in opposite list"
 msgstr "Jau yra priešingame sąraše"
 
+#, c-format
 msgid "Too many groups"
 msgstr "Per daug grupių"
 
+#, c-format
 msgid "Invalid group"
 msgstr "Neteisinga grupė"
 
+#, c-format
 msgid "User not in group"
 msgstr "Vartotojo nėra grupėje"
 
+#, c-format
 msgid "Group name too long"
 msgstr "Grupės pavadinimas per ilgas"
 
+#, c-format
 msgid "Cannot remove group zero"
 msgstr "Negalima pašalinti nulinės grupės"
 
+#, c-format
 msgid "Tried to add a user to a group that doesn't exist"
 msgstr "Bandyta įtraukti vartotoją į neegzistuojančią grupę"
 
+#, c-format
 msgid "Switchboard failed"
 msgstr "Komutatoriaus klaida"
 
+#, c-format
 msgid "Notify transfer failed"
 msgstr "Nepavyko perduoti informavimo"
 
+#, c-format
 msgid "Required fields missing"
 msgstr "Trūksta reikalingų laukų"
 
+#, c-format
 msgid "Too many hits to a FND"
 msgstr "Per daug pataikymų į FND"
 
+#, c-format
 msgid "Not logged in"
 msgstr "Neprisijungęs"
 
+#, c-format
 msgid "Service temporarily unavailable"
 msgstr "Tarnyba laikinai neprieinama"
 
+#, c-format
 msgid "Database server error"
 msgstr "Duomenų bazės serverio klaida"
 
+#, c-format
 msgid "Command disabled"
 msgstr "Komanda išjungta"
 
+#, c-format
 msgid "File operation error"
 msgstr "Failo operacijos klaida"
 
+#, c-format
 msgid "Memory allocation error"
 msgstr "Atminties paskyrimo klaida"
 
+#, c-format
 msgid "Wrong CHL value sent to server"
 msgstr "Serveriui nusiųsta bloga CHL reikšmė"
 
+#, c-format
 msgid "Server busy"
 msgstr "Serveris užimtas"
 
+#, c-format
 msgid "Server unavailable"
 msgstr "Serveris neprieinamas"
 
 # Kaip išversti „peer“?
+#, c-format
 msgid "Peer notification server down"
 msgstr "Kitų vartotojų informavimo serveris neprieinamas"
 
+#, c-format
 msgid "Database connect error"
 msgstr "Prisijungimo prie duomenų bazės klaida"
 
+#, c-format
 msgid "Server is going down (abandon ship)"
 msgstr "Serveris išjungiamas (palikite laivą)"
 
+#, c-format
 msgid "Error creating connection"
 msgstr "Jungties kūrimo klaida"
 
+#, c-format
 msgid "CVR parameters are either unknown or not allowed"
 msgstr "CVR parametrai yra nežinomi arba neleistini"
 
+#, c-format
 msgid "Unable to write"
 msgstr "Negalima rašyti"
 
+#, c-format
 msgid "Session overload"
 msgstr "Seanso perkrova"
 
+#, c-format
 msgid "User is too active"
 msgstr "Vartotojas yra per daug aktyvus"
 
+#, c-format
 msgid "Too many sessions"
 msgstr "Per daug seansų"
 
+#, c-format
 msgid "Passport not verified"
 msgstr "Microsoft .NET pasas nepatikrintas"
 
+#, c-format
 msgid "Bad friend file"
 msgstr "Blogas draugų failas"
 
+#, c-format
 msgid "Not expected"
 msgstr "Netikėta"
 
+#, c-format
 msgid "Friendly name changes too rapidly"
 msgstr "Patogusis vardas keičiasi per dažnai"
 
+#, c-format
 msgid "Server too busy"
 msgstr "Serveris per daug užimtas"
 
+#, c-format
 msgid "Authentication failed"
 msgstr "Nepavyko nustatyti tapatybę"
 
+#, c-format
 msgid "Not allowed when offline"
 msgstr "Atsijungus neleidžiama"
 
+#, c-format
 msgid "Not accepting new users"
 msgstr "Nauji vartotojai nepriimami"
 
+#, c-format
 msgid "Kids Passport without parental consent"
 msgstr "Vaikiškas Microsoft .NET pasas be tėvų sutikimo"
 
+#, c-format
 msgid "Passport account not yet verified"
 msgstr "Microsoft .NET paso paskyra dar nepatikrinta"
 
+#, c-format
 msgid "Bad ticket"
 msgstr "Blogas bilietas"
 
@@ -6128,6 +6193,7 @@
 msgid "Error. SSL support is not installed."
 msgstr "Klaida. SSL palaikymas neįdiegtas."
 
+#, c-format
 msgid "This conference has been closed. No more messages can be sent."
 msgstr "Ši konferencija uždaryta. Daugiau žinučių siųsti negalima."
 
@@ -6410,18 +6476,23 @@
 msgid "Screen Sharing"
 msgstr "Ekrano dalinimasis"
 
+#, c-format
 msgid "Free For Chat"
 msgstr "Prieinamas pokalbiui"
 
+#, c-format
 msgid "Not Available"
 msgstr "Neprieinamas"
 
+#, c-format
 msgid "Occupied"
 msgstr "Užimtas"
 
+#, c-format
 msgid "Web Aware"
 msgstr "Žinantis apie žiniatinklį"
 
+#, c-format
 msgid "Invisible"
 msgstr "Nematomas"
 
@@ -7129,6 +7200,7 @@
 msgid "Attempting to connect to %s:%hu."
 msgstr "Bandoma prisijungti prie %s:%hu."
 
+#, c-format
 msgid "Attempting to connect via proxy server."
 msgstr "Bandoma jungtis per tarpininką serverį."
 
@@ -7264,7 +7336,7 @@
 msgstr "Atnaujinti savo informaciją"
 
 msgid "Your information has been updated"
-msgstr "Jūsų informacija atnaujinta"
+msgstr "Jūsų informacija buvo atnaujinta"
 
 #, c-format
 msgid ""
@@ -7282,7 +7354,7 @@
 msgstr "Atmetėte iš %d gautą prašymą"
 
 msgid "Input your reason:"
-msgstr "Įveskite savo priežastį:"
+msgstr "Įveskite priežastį:"
 
 msgid "Reject request"
 msgstr "Atmesti prašymą"
@@ -7304,7 +7376,7 @@
 
 #, c-format
 msgid "User %d needs authentication"
-msgstr "Vartotojui %d reikia patvirtinti prieigą"
+msgstr "Vartotojui %d reikia prieigos patvirtinimo"
 
 msgid "Input request here"
 msgstr "Įveskite prašymą čia"
@@ -7322,7 +7394,7 @@
 
 #, c-format
 msgid "You have added %d to buddy list"
-msgstr "Jūs įtraukėte %d į bičiulių sąrašą"
+msgstr "Jūs pridėjote %d į bičiulių sąrašą"
 
 msgid "QQid Error"
 msgstr "QQid klaida"
@@ -7356,7 +7428,7 @@
 
 #, c-format
 msgid "User %d requested to join group %d"
-msgstr "Vartotojas %d prašo būti prijungtas prie grupės %d"
+msgstr "Vartotojas %d paprašė prisijungti prie grupės %d"
 
 #, c-format
 msgid "Reason: %s"
@@ -7370,12 +7442,11 @@
 
 #, c-format
 msgid "Your request to join group %d has been rejected by admin %d"
-msgstr "Jūsų prašymas tapti grupės %d nariu buvo atmestas administratoriaus %d"
+msgstr "Jūsų prašymas prisijungti prie grupės %d buvo atmestas administratoriaus %d"
 
 #, c-format
 msgid "Your request to join group %d has been approved by admin %d"
-msgstr ""
-"Jūsų prašymas tapti grupės %d nariu buvo patvirtintas administratoriaus %d"
+msgstr "Jūsų prašymas prisijungti prie grupės %d buvo patvirtintas administratoriaus %d"
 
 #, c-format
 msgid "You [%d] have left group \"%d\""
@@ -7383,10 +7454,10 @@
 
 #, c-format
 msgid "You [%d] have been added to group \"%d\""
-msgstr "Jus [%d] pridėjo į grupę „%d“"
+msgstr "Jūs [%d] prisijungėte prie grupės „%d“"
 
 msgid "This group has been added to your buddy list"
-msgstr "Ši grupė buvo įtraukta į Jūsų bičiulių sąrašą"
+msgstr "Ši grupė pridėta į Jūsų bičiulių sąrašą"
 
 msgid "I am not a member"
 msgstr "Nesu narys"
@@ -7395,7 +7466,7 @@
 msgstr "Esu narys"
 
 msgid "I am applying to join"
-msgstr "Prašau būti priimtas"
+msgstr "Esu prašantis prisijungti"
 
 msgid "I am the admin"
 msgstr "Esu administratorius"
@@ -7404,16 +7475,16 @@
 msgstr "Nežinoma būsena"
 
 msgid "This group does not allow others to join"
-msgstr "Ši grupė neleidžia kitiems prie jos prisijungti"
+msgstr "Ši grupė neleidžia kitiems prisijungti"
 
 msgid "You have successfully left the group"
-msgstr "Sėkmingai palikote grupę"
+msgstr "Jūs sėkmingai palikote pokalbių kambarį"
 
 msgid "QQ Group Auth"
-msgstr "QQ grupės prieiga"
+msgstr "QQ grupės prieigos teisė"
 
 msgid "Your authorization request has been accepted by the QQ server"
-msgstr "Jūsų prieigos suteikimo operacija patvirtinta QQ serverio"
+msgstr "Jūsų prieigos teisės prašymas priimtas QQ serverio"
 
 msgid "You entered a group ID outside the acceptable range"
 msgstr "Įvedėte grupės identifikacinį numerį, nesantį priimtiname intervale"
@@ -7428,31 +7499,24 @@
 "Jeigu esate grupės sukūrėjas, ši operacija galiausiai pašalins šį pokalbių "
 "kambarį."
 
-#, c-format
-msgid "Code [0x%02X]: %s"
-msgstr "Kodas [0x%02X]: %s"
-
-msgid "Group Operation Error"
-msgstr "Grupės operacijos klaida"
-
 #. we want to see window
 msgid "Do you want to approve the request?"
 msgstr "Ar norite patvirtinti šį prašymą?"
 
 msgid "Enter your reason:"
-msgstr "Įveskite savo priežastį:"
+msgstr "Įveskite priežastį:"
 
 msgid "You have successfully modified Qun member"
-msgstr "Jūs sėkmingai pakeitėte Qun pokalbių kambario dalyvio informaciją"
+msgstr "Jūs sėkmingai pakeitėte Qun narį"
 
 msgid "You have successfully modified Qun information"
-msgstr "Jūs sėkmingai pakeitėte Qun pokalbių kambario informaciją"
+msgstr "Jūs sėkmingai pakeitėte Qun informaciją"
 
 msgid "You have successfully created a Qun"
 msgstr "Jūs sėkmingai sukūrėte pokalbių kambarį"
 
 msgid "Would you like to set up the Qun details now?"
-msgstr "Ar norite sutvarkyti šio pokalbių kambario detales dabar?"
+msgstr "Ar norite nustatyti šio Qun detales dabar?"
 
 msgid "Setup"
 msgstr "Nustatyti"
@@ -7490,7 +7554,7 @@
 msgstr " Vaizdas"
 
 msgid " Space"
-msgstr " „Space“"
+msgstr " Vieta"
 
 msgid "Flag"
 msgstr "Vėliava"
@@ -7511,7 +7575,7 @@
 
 #, c-format
 msgid "<b>Server</b>: %s: %d<br>\n"
-msgstr "<b>Serverios</b>: %s: %d<br>\n"
+msgstr "<b>Serveris</b>: %s: %d<br>\n"
 
 #, c-format
 msgid "<b>Connection Mode</b>: %s<br>\n"
@@ -7519,7 +7583,7 @@
 
 #, c-format
 msgid "<b>Real hostname</b>: %s: %d<br>\n"
-msgstr "<b>Tikras mazgo vardas</b>: %s: %d<br>\n"
+msgstr "<b>Tikrasis serverio vardas</b>: %s: %d<br>\n"
 
 #, c-format
 msgid "<b>My Public IP</b>: %s<br>\n"
@@ -7550,7 +7614,7 @@
 msgstr "Rodyti prisijungimo informaciją"
 
 msgid "Leave this QQ Qun"
-msgstr "Palikti šį QQ Qun pokalbių kambarį"
+msgstr "Palikti šį QQ Qun"
 
 msgid "Block this buddy"
 msgstr "Blokuoti šį bičiulį"
@@ -7578,10 +7642,10 @@
 msgstr "QQ protokolo    papildinys"
 
 msgid "Connect using TCP"
-msgstr "Jungtis naudojant TCP"
+msgstr "Prisijungti naudojant TCP"
 
 msgid "resend interval(s)"
-msgstr "persiuntimo intervalas (-ai)"
+msgstr "Persiuntimo intervalas(-ai)"
 
 msgid "Keep alive interval(s)"
 msgstr "Jungties palaikymo intervalas (-ai)"
@@ -7623,7 +7687,7 @@
 msgstr "Nepavyko nustatyti mazgo IP adreso"
 
 msgid "hostname is NULL or port is 0"
-msgstr "mazgo vardas yra NULL arba prievadas yra 0"
+msgstr "Mazgo vardas NULL arba prievado numeris 0"
 
 #, c-format
 msgid "Connecting server %s, retries %d"
@@ -7637,10 +7701,32 @@
 msgstr "Nepavyko nustatyti mazgo IP adreso"
 
 msgid "Unable to login. Check debug log."
-msgstr "Nepavyko prisijungti, patikrinkite derinimo žurnalą"
+msgstr "Prisijungti nepavyko.  Pažiūrėkite į derinimo žurnalą"
 
 msgid "Unable to login"
-msgstr "Nepavyko prisijungti"
+msgstr "Prisijungti nepavyko"
+
+#, c-format
+msgid ""
+"Reply %s(0x%02X )\n"
+"Sent %s(0x%02X )\n"
+"Room id %d, reply [0x%02X]: \n"
+"%s"
+msgstr ""
+"Atsakymas %s(0x%02X )\n"
+"Išsiųsta %s(0x%02X )\n"
+"Kambario ID %d, atsakymas [0x%02X]: \n"
+"%s"
+
+msgid "Failed room reply"
+msgstr "Nepavykęs kambario atsakas"
+
+#, c-format
+msgid "You are not a member of group \"%s\"\n"
+msgstr "Nesate grupės „%s“ narys\n"
+
+msgid "Can not decrypt login reply"
+msgstr "Nepavyko iššifruoti prisijungimo atsakymo"
 
 #, c-format
 msgid "Invalid token reply code, 0x%02X"
@@ -7658,7 +7744,7 @@
 msgstr "%d nutraukė %s perdavimą"
 
 msgid "Do you want to add this buddy?"
-msgstr "Ar norite įtraukti šį bičiulį į Jūsų bičiulių sąrašą?"
+msgstr "Ar norite įtraukti šį bičiulį?"
 
 #. only need to get value
 #, c-format
@@ -7691,11 +7777,11 @@
 
 #, c-format
 msgid "%s is not in your buddy list"
-msgstr "Vartotojo %s nėra Jūsų bičiulių sąraše"
+msgstr "%s nėra Jūsų bičiulių sąraše"
 
 #, c-format
 msgid "Notice from: %s"
-msgstr "Skelbimas nuo: %s"
+msgstr "Pranešimas iš: %s"
 
 #, c-format
 msgid "%s"
@@ -8294,6 +8380,7 @@
 msgid "<br><b>Channel Topic:</b><br>%s"
 msgstr "<br><b>Kanalo tema:</b><br>%s"
 
+#, c-format
 msgid "<br><b>Channel Modes:</b> "
 msgstr "<br><b>Kanalo būsenos:</b> "
 
@@ -8318,6 +8405,7 @@
 msgid "Channel Public Keys List"
 msgstr "Kanalo viešųjų raktų sąrašas"
 
+#, c-format
 msgid ""
 "Channel authentication is used to secure the channel from unauthorized "
 "access. The authentication may be based on passphrase and digital "
@@ -8717,6 +8805,7 @@
 msgid "Your Current Mood"
 msgstr "Jūsų dabartinė nuotaika"
 
+#, c-format
 msgid "Normal"
 msgstr "Normaliai"
 
@@ -9112,34 +9201,44 @@
 msgid "No server statistics available"
 msgstr "Nėra prieinamos serverio statistikos"
 
+#, c-format
 msgid "Failure: Version mismatch, upgrade your client"
 msgstr "Nesėkmė: versijų neatitikimas, atnaujinkite savo klientą"
 
+#, c-format
 msgid "Failure: Remote does not trust/support your public key"
 msgstr ""
 "Nesekmė: nuotolinis mazgas nepasitiki arba nepalaiko Jūsų viešojo rakto"
 
+#, c-format
 msgid "Failure: Remote does not support proposed KE group"
 msgstr "Nesekmė: nuotolinis mazgas nepalaiko siūlomos KE grupės"
 
+#, c-format
 msgid "Failure: Remote does not support proposed cipher"
 msgstr "Nesekmė: nuotolinis mazgas nepalaiko siūlomo šifro"
 
+#, c-format
 msgid "Failure: Remote does not support proposed PKCS"
 msgstr "Nesekmė: nuotolinis mazgas nepalaiko siūlomo PKCS"
 
+#, c-format
 msgid "Failure: Remote does not support proposed hash function"
 msgstr "Nesekmė: nuotolinis mazgas nepalaiko siūlomos maišos funkcijos"
 
+#, c-format
 msgid "Failure: Remote does not support proposed HMAC"
 msgstr "Nesekmė: nuotolinis mazgas nepalaiko siūlomo HMAC"
 
+#, c-format
 msgid "Failure: Incorrect signature"
 msgstr "Nesekmė: neteisingas parašas"
 
+#, c-format
 msgid "Failure: Invalid cookie"
 msgstr "Nesekmė: neteisingas slapukas"
 
+#, c-format
 msgid "Failure: Authentication failed"
 msgstr "Nesekmė: tapatybės nustatymas nepavyko"
 
@@ -9253,6 +9352,7 @@
 msgid "Warning of %s not allowed."
 msgstr "Vartotojo %s perspėjimas neleidžiamas"
 
+#, c-format
 msgid "A message has been dropped, you are exceeding the server speed limit."
 msgstr "Žinutė prarasta, Jūs viršijote maksimalią serverio greičio ribą"
 
@@ -9272,30 +9372,39 @@
 msgid "You missed an IM from %s because it was sent too fast."
 msgstr "Jūs praleidote žinutę iš %s, nes ji buvo išsiųsta per greitai."
 
+#, c-format
 msgid "Failure."
 msgstr "Nesekmė."
 
+#, c-format
 msgid "Too many matches."
 msgstr "Per daug atitikimų."
 
+#, c-format
 msgid "Need more qualifiers."
 msgstr "Reikia labiau apibrėžti."
 
+#, c-format
 msgid "Dir service temporarily unavailable."
 msgstr "Katalogo tarnyba laikinai neprieinama."
 
+#, c-format
 msgid "Email lookup restricted."
 msgstr "El. pašto adresų paieška apribota."
 
+#, c-format
 msgid "Keyword ignored."
 msgstr "Ignoruotas bazinis žodis"
 
+#, c-format
 msgid "No keywords."
 msgstr "Nėra bazinių žodžių"
 
+#, c-format
 msgid "User has no directory information."
 msgstr "Vartotojas neturi katalogo informacijos"
 
+#, c-format
 msgid "Country not supported."
 msgstr "Nepalaikoma šalis."
 
@@ -9303,16 +9412,20 @@
 msgid "Failure unknown: %s."
 msgstr "Nežinoma nesekmė: %s."
 
+#, c-format
 msgid "Incorrect username or password."
 msgstr "Neteisingas naudotojo vardas arba slaptažodis"
 
+#, c-format
 msgid "The service is temporarily unavailable."
 msgstr "Paslauga laikinai nepasiekiama"
 
+#, c-format
 msgid "Your warning level is currently too high to log in."
 msgstr ""
 "Jūsų perspėjimo lygis šiuo metu yra per aukštas, kad galėtumėte prisijungti."
 
+#, c-format
 msgid ""
 "You have been connecting and disconnecting too frequently.  Wait ten minutes "
 "and try again.  If you continue to try, you will need to wait even longer."
@@ -10046,6 +10159,12 @@
 msgid "+++ %s became unidle"
 msgstr "+++ %s tapo veiklus"
 
+#.
+#. * This string determines how some dates are displayed.  The default
+#. * string "%x %X" shows the date then the time.  Translators can
+#. * change this to "%X %x" if they want the time to be shown first,
+#. * followed by the date.
+#.
 #, c-format
 msgid "%x %X"
 msgstr "%x %X"
@@ -10147,22 +10266,27 @@
 msgstr " (%s)"
 
 #. 10053
+#, c-format
 msgid "Connection interrupted by other software on your computer."
 msgstr "Jungtis nutraukta kitos programos jūsų kompiuteryje."
 
 #. 10054
+#, c-format
 msgid "Remote host closed connection."
 msgstr "Nutolęs mazgas uždarė jungtį."
 
 #. 10060
+#, c-format
 msgid "Connection timed out."
 msgstr "Jungties laukimo laikas baigėsi."
 
 #. 10061
+#, c-format
 msgid "Connection refused."
 msgstr "Jungtis atmesta."
 
 #. 10048
+#, c-format
 msgid "Address already in use."
 msgstr "Adresas jau užimtas"
 
@@ -10300,13 +10424,17 @@
 "all.\n"
 "\n"
 "You can come back to this window to add, edit, or remove accounts from "
-"<b>Accounts->Add/Edit</b> in the Buddy List window"
+"<b>Accounts->Manage Accounts</b> in the Buddy List window"
 msgstr ""
 "<span size='larger' weight='bold'>Sveikiname pradėjus naudoti %s!</span>\n"
 "\n"
-"Jūs neturite nustatytų paskyrų.  Norėdami su %s prisijungti, paspauskite <b>„Pridėti“</b> mygtuką žemiau ir sukonfigūruokite pirmąją savo paskyrą.  Jei norite, kad %s prisijungtų prie daugiau paskyrų, paspauskite <b>„Pridėti“</b> daugiau kartų ir sukonfigūruokite visas paskyras.\n"
-"\n"
-"Vėliau galite sugrįžti į šį langą sukurti, keisti, ar pašalinti paskyrų per <b>„Paskyros“ -> „Pridėti/Keisti“</b> meniu bičiulių sąrašo lange."
+"Jūs neturite nustatytų paskyrų.  Norėdami su %s prisijungti, paspauskite <b>"
+"„Pridėti“</b> mygtuką žemiau ir sukonfigūruokite pirmąją savo paskyrą.  Jei "
+"norite, kad %s prisijungtų prie daugiau paskyrų, paspauskite <b>„Pridėti“</"
+"b> daugiau kartų ir sukonfigūruokite visas paskyras.\n"
+"\n"
+"Vėliau galite sugrįžti į šį langą sukurti, keisti, ar pašalinti paskyrų per "
+"<b>„Paskyros“ -> „Pridėti/Keisti“</b> meniu bičiulių sąrašo lange."
 
 #, c-format
 msgid "You have %d contact named %s. Would you like to merge them?"
@@ -11420,6 +11548,7 @@
 "pateiktas pilnas autorių sąrašas.  Mes neteikiame jokios garantijos šiai "
 "programai.<br><br>"
 
+#, c-format
 msgid "<FONT SIZE=\"4\">IRC:</FONT> #pidgin on irc.freenode.net<BR><BR>"
 msgstr ""
 "<FONT SIZE=\"4\">IRC:</FONT> #pidgin kanalas serveryje irc.freenode."
@@ -11781,9 +11910,11 @@
 msgid "Save Image"
 msgstr "Įrašyti vaizdą"
 
+#, c-format
 msgid "_Save Image..."
 msgstr "Įrašyti vai_zdą..."
 
+#, c-format
 msgid "_Add Custom Smiley..."
 msgstr "_Pridėti tinkintą šypsenėlę"
 
@@ -12532,21 +12663,27 @@
 msgid "Sound Selection"
 msgstr "Garso išrinkimas"
 
+#, c-format
 msgid "Quietest"
 msgstr "Tyliausiai"
 
+#, c-format
 msgid "Quieter"
 msgstr "Tyliau"
 
+#, c-format
 msgid "Quiet"
 msgstr "Tyliai"
 
+#, c-format
 msgid "Loud"
 msgstr "Garsiai"
 
+#, c-format
 msgid "Louder"
 msgstr "Garsiau"
 
+#, c-format
 msgid "Loudest"
 msgstr "Garsiausiai"
 
@@ -12941,6 +13078,9 @@
 msgid "_Open Mail"
 msgstr "_Atverti paštą"
 
+msgid "_Edit"
+msgstr "K_eisti"
+
 msgid "Pidgin Tooltip"
 msgstr "Pidgin mygtukų etiketės"
 
@@ -13603,6 +13743,7 @@
 msgid "Select Color"
 msgstr "Pasirinkite spalvą"
 
+#, c-format
 msgid "Select Interface Font"
 msgstr "Pasirinkite sąsajos šriftą"
 
@@ -13850,6 +13991,7 @@
 msgid "Timestamp Format Options"
 msgstr "Laiko žymių formato parinktys"
 
+#, c-format
 msgid "_Force 24-hour time format"
 msgstr "_Būtinai naudoti 24 valandų laiko formatą"
 
--- a/po/sv.po	Thu Oct 09 11:57:28 2008 +0000
+++ b/po/sv.po	Thu Oct 09 11:58:07 2008 +0000
@@ -1137,7 +1137,7 @@
 msgstr "Meddela kompisar att du skriver till dem"
 
 msgid "Log format"
-msgstr "Logg format"
+msgstr "Loggformat"
 
 msgid "Log IMs"
 msgstr "Logga snabbmeddelanden"
@@ -11650,7 +11650,7 @@
 
 #, c-format
 msgid "_Add Custom Smiley..."
-msgstr "Lägg till egn smiley..."
+msgstr "Lägg till egen smiley..."
 
 msgid "Select Font"
 msgstr "Välj typsnitt"
@@ -12140,7 +12140,7 @@
 msgstr "Dölj konversationsfönster"
 
 msgid "_Hide new IM conversations:"
-msgstr "_Dölj nya IM konversationer:"
+msgstr "_Dölj nya IM-konversationer:"
 
 msgid "When away"
 msgstr "Vid frånvaro"
@@ -12611,7 +12611,7 @@
 msgstr "Var god ange en genväg att assocciera med den valda smileyn."
 
 msgid "Duplicate Shortcut"
-msgstr "Duplicera genvägen"
+msgstr "Genvägen är upptagen"
 
 msgid ""
 "A custom smiley for the selected shortcut already exists. Please specify a "
@@ -13738,7 +13738,7 @@
 #. *< priority
 #. *< id
 msgid "XMPP Console"
-msgstr "XMPP Konsoll"
+msgstr "XMPP-konsoll"
 
 msgid "Account: "
 msgstr "Konto: "