changeset 27846:9f91d6e0983c

propagate from branch 'im.pidgin.pidgin' (head 8c6407ae1c2c31473f78557c5805f8efa18e1ed8) to branch 'im.pidgin.pidgin.yaz' (head f312eb270934d9529df8503635b1d0a62e8de289)
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Mon, 02 Jun 2008 06:58:38 +0000
parents 2b997b690500 (diff) 0aa090fde749 (current diff)
children 0b36e6eb2439
files pidgin/gtkimhtml.c
diffstat 31 files changed, 556 insertions(+), 393 deletions(-) [+]
line wrap: on
line diff
--- a/COPYRIGHT	Fri May 30 14:29:33 2008 +0000
+++ b/COPYRIGHT	Mon Jun 02 06:58:38 2008 +0000
@@ -178,6 +178,7 @@
 hjheins
 Hil
 Casey Ho
+Andrew Hoffman
 Iain Holmes
 Joshua Honeycutt
 Nigel Horne
--- a/ChangeLog.API	Fri May 30 14:29:33 2008 +0000
+++ b/ChangeLog.API	Mon Jun 02 06:58:38 2008 +0000
@@ -36,7 +36,7 @@
 		* GTK_IMHTML_CUSTOM_SMILEY flag for GtkIMHtml.
 		* GTK+ Custom Smiley API.
 
-version 2.4.2:
+version 2.4.2 (05/17/2008):
 	perl:
 		Added:
 		* Purple::Prefs::get_children_names.
--- a/finch/gntblist.h	Fri May 30 14:29:33 2008 +0000
+++ b/finch/gntblist.h	Mon Jun 02 06:58:38 2008 +0000
@@ -34,6 +34,10 @@
  **********************************************************************/
 /*@{*/
 
+/**
+ * Buddylist manager for finch. This decides the visility, ordering and hierarchy
+ * of the buddylist nodes. This also manages the creation of tooltips.
+ */
 typedef struct
 {
 	const char *id;                                    /**< An identifier for the manager. */
--- a/libpurple/protocols/jabber/auth.c	Fri May 30 14:29:33 2008 +0000
+++ b/libpurple/protocols/jabber/auth.c	Mon Jun 02 06:58:38 2008 +0000
@@ -589,75 +589,6 @@
 	}
 }
 
-/*!
- * @brief Given the server challenge (message) and the key (password), calculate the HMAC-MD5 digest
- *
- * This is the crammd5 response.  Inspired by cyrus-sasl's _sasl_hmac_md5()
- */
-static void
-auth_hmac_md5(const char *challenge, size_t challenge_len, const char *key, size_t key_len, guchar *digest)
-{
-	PurpleCipher *cipher;
-	PurpleCipherContext *context;
-	int i;
-	/* inner padding - key XORd with ipad */
-	unsigned char k_ipad[65];    
-	/* outer padding - key XORd with opad */
-	unsigned char k_opad[65];    
-
-	cipher = purple_ciphers_find_cipher("md5");
-
-	/* if key is longer than 64 bytes reset it to key=MD5(key) */
-	if (strlen(key) > 64) {
-		guchar keydigest[16];
-
-		context = purple_cipher_context_new(cipher, NULL);
-		purple_cipher_context_append(context, (const guchar *)key, strlen(key));
-		purple_cipher_context_digest(context, 16, keydigest, NULL);
-		purple_cipher_context_destroy(context);
-
-		key = (char *)keydigest;
-		key_len = 16;
-	} 
-
-	/*
-	 * the HMAC_MD5 transform looks like:
-	 *
-	 * MD5(K XOR opad, MD5(K XOR ipad, text))
-	 *
-	 * where K is an n byte key
-	 * ipad is the byte 0x36 repeated 64 times
-	 * opad is the byte 0x5c repeated 64 times
-	 * and text is the data being protected
-	 */
-
-	/* start out by storing key in pads */
-	memset(k_ipad, '\0', sizeof k_ipad);
-	memset(k_opad, '\0', sizeof k_opad);
-	memcpy(k_ipad, (void *)key, key_len);
-	memcpy(k_opad, (void *)key, key_len);
-
-	/* XOR key with ipad and opad values */
-	for (i=0; i<64; i++) {
-		k_ipad[i] ^= 0x36;
-		k_opad[i] ^= 0x5c;
-	}
-
-	/* perform inner MD5 */
-	context = purple_cipher_context_new(cipher, NULL);
-	purple_cipher_context_append(context, k_ipad, 64); /* start with inner pad */
-	purple_cipher_context_append(context, (const guchar *)challenge, challenge_len); /* then text of datagram */
-	purple_cipher_context_digest(context, 16, digest, NULL); /* finish up 1st pass */
-	purple_cipher_context_destroy(context);
-
-	/* perform outer MD5 */	
-	context = purple_cipher_context_new(cipher, NULL);
-	purple_cipher_context_append(context, k_opad, 64); /* start with outer pad */
-	purple_cipher_context_append(context, digest, 16); /* then results of 1st hash */
-	purple_cipher_context_digest(context, 16, digest, NULL); /* finish up 2nd pass */
-	purple_cipher_context_destroy(context);
-}
-
 static void auth_old_cb(JabberStream *js, xmlnode *packet, gpointer data)
 {
 	JabberIq *iq;
@@ -703,14 +634,19 @@
 			jabber_iq_set_callback(iq, auth_old_result_cb, NULL);
 			jabber_iq_send(iq);
 
-		} else if(js->stream_id && xmlnode_get_child(query, "crammd5")) {
+		} else if(js->stream_id && (x = xmlnode_get_child(query, "crammd5"))) {
 			const char *challenge;
-			guchar digest[16];
-			char h[17], *p;
-			int i;
+			gchar digest[33];
+			PurpleCipherContext *hmac;
 
-			challenge = xmlnode_get_attrib(xmlnode_get_child(query, "crammd5"), "challenge");
-			auth_hmac_md5(challenge, strlen(challenge), pw, strlen(pw), digest);
+			/* Calculate the MHAC-MD5 digest */
+			challenge = xmlnode_get_attrib(x, "challenge");
+			hmac = purple_cipher_context_new_by_name("hmac", NULL);
+			purple_cipher_context_set_option(hmac, "hash", "md5");
+			purple_cipher_context_set_key(hmac, (guchar *)pw);
+			purple_cipher_context_append(hmac, (guchar *)challenge, strlen(challenge));
+			purple_cipher_context_digest_to_str(hmac, 33, digest, NULL);
+			purple_cipher_context_destroy(hmac);
 
 			/* Create the response query */
 			iq = jabber_iq_new_query(js, JABBER_IQ_SET, "jabber:iq:auth");
@@ -723,11 +659,7 @@
 
 			x = xmlnode_new_child(query, "crammd5");
 
-			/* Translate the digest to a hexadecimal notation */
-			p = h;
-			for(i=0; i<16; i++, p+=2)
-				snprintf(p, 3, "%02x", digest[i]);
-			xmlnode_insert_data(x, h, -1);
+			xmlnode_insert_data(x, digest, 32);
 
 			jabber_iq_set_callback(iq, auth_old_result_cb, NULL);
 			jabber_iq_send(iq);
--- a/libpurple/protocols/jabber/buddy.c	Fri May 30 14:29:33 2008 +0000
+++ b/libpurple/protocols/jabber/buddy.c	Mon Jun 02 06:58:38 2008 +0000
@@ -824,10 +824,14 @@
 		}		
 		if(jbr) {
 			char *purdy = NULL;
+			const char *status_name = jabber_buddy_state_get_name(jbr->state);
 			if(jbr->status)
 				purdy = purple_strdup_withhtml(jbr->status);
-			tmp = g_strdup_printf("%s%s%s", jabber_buddy_state_get_name(jbr->state),
-							(purdy ? ": " : ""),
+			if(status_name && purdy && !strcmp(status_name, purdy))
+				status_name = NULL;
+
+			tmp = g_strdup_printf("%s%s%s", (status_name ? status_name : ""),
+							((status_name && purdy) ? ": " : ""),
 							(purdy ? purdy : ""));
 			purple_notify_user_info_prepend_pair(user_info, _("Status"), tmp);
 			g_free(tmp);
@@ -964,6 +968,8 @@
 
 		for(resources = jbi->jb->resources; resources; resources = resources->next) {
 			char *purdy = NULL;
+			const char *status_name = NULL;
+
 			jbr = resources->data;
 
 			if(jbr->client.name) {
@@ -987,10 +993,14 @@
 				}
 			}
 
+			status_name = jabber_buddy_state_get_name(jbr->state);
 			if(jbr->status)
 				purdy = purple_strdup_withhtml(jbr->status);
-			tmp = g_strdup_printf("%s%s%s", jabber_buddy_state_get_name(jbr->state),
-								  (purdy ? ": " : ""),
+			if(status_name && purdy && !strcmp(status_name, purdy))
+				status_name = NULL;
+			
+			tmp = g_strdup_printf("%s%s%s", (status_name ? status_name : ""),
+								  ((status_name && purdy) ? ": " : ""),
 								  (purdy ? purdy : ""));
 			purple_notify_user_info_prepend_pair(user_info, _("Status"), tmp);
 			g_free(tmp);
--- a/libpurple/protocols/jabber/chat.c	Fri May 30 14:29:33 2008 +0000
+++ b/libpurple/protocols/jabber/chat.c	Mon Jun 02 06:58:38 2008 +0000
@@ -308,7 +308,7 @@
 
 	jabber_chat_part(chat, NULL);
 
-	chat->conv = NULL;
+	chat->left = TRUE;
 }
 
 void jabber_chat_destroy(JabberChat *chat)
--- a/libpurple/protocols/jabber/chat.h	Fri May 30 14:29:33 2008 +0000
+++ b/libpurple/protocols/jabber/chat.h	Mon Jun 02 06:58:38 2008 +0000
@@ -49,6 +49,7 @@
 	PurpleRequestType config_dialog_type;
 	void *config_dialog_handle;
 	GHashTable *members;
+	gboolean left;
 } JabberChat;
 
 GList *jabber_chat_info(PurpleConnection *gc);
--- a/libpurple/protocols/jabber/presence.c	Fri May 30 14:29:33 2008 +0000
+++ b/libpurple/protocols/jabber/presence.c	Mon Jun 02 06:58:38 2008 +0000
@@ -49,7 +49,7 @@
 	xmlnode *presence = user_data;
 	char *chat_full_jid;
 
-	if(!chat->conv)
+	if(!chat->conv || chat->left)
 		return;
 
 	chat_full_jid = g_strdup_printf("%s@%s/%s", chat->room, chat->server,
@@ -581,13 +581,13 @@
 		if(state == JABBER_BUDDY_STATE_ERROR) {
 			char *title, *msg = jabber_parse_error(js, packet, NULL);
 
-			if(chat->conv) {
+			if (!chat->conv) {
+				title = g_strdup_printf(_("Error joining chat %s"), from);
+				purple_serv_got_join_chat_failed(js->gc, chat->components);
+			} else {
 				title = g_strdup_printf(_("Error in chat %s"), from);
 				if (g_hash_table_size(chat->members) == 0)
 					serv_got_chat_left(js->gc, chat->id);
-			} else {
-				title = g_strdup_printf(_("Error joining chat %s"), from);
-				purple_serv_got_join_chat_failed(js->gc, chat->components);
 			}
 			purple_notify_error(js->gc, title, title, msg);
 			g_free(title);
@@ -609,8 +609,9 @@
 
 			/* If we haven't joined the chat yet, we don't care that someone
 			 * left, or it was us leaving after we closed the chat */
-			if(!chat->conv) {
-				if(jid->resource && chat->handle && !strcmp(jid->resource, chat->handle))
+			if (!chat->conv || chat->left) {
+				if (chat->left &&
+						jid->resource && chat->handle && !strcmp(jid->resource, chat->handle))
 					jabber_chat_destroy(chat);
 				jabber_id_free(jid);
 				g_free(status);
--- a/libpurple/protocols/jabber/xdata.c	Fri May 30 14:29:33 2008 +0000
+++ b/libpurple/protocols/jabber/xdata.c	Mon Jun 02 06:58:38 2008 +0000
@@ -232,10 +232,6 @@
 		if(!label)
 			label = var;
 
-		if((valuenode = xmlnode_get_child(fn, "value")))
-			value = xmlnode_get_data(valuenode);
-
-
 		if(!strcmp(type, "text-private")) {
 			if((valuenode = xmlnode_get_child(fn, "value")))
 				value = xmlnode_get_data(valuenode);
@@ -333,14 +329,16 @@
 			g_hash_table_replace(data->fields, g_strdup(var), GINT_TO_POINTER(JABBER_X_DATA_BOOLEAN));
 
 			g_free(value);
-		} else if(!strcmp(type, "fixed") && value) {
+		} else if(!strcmp(type, "fixed")) {
 			if((valuenode = xmlnode_get_child(fn, "value")))
 				value = xmlnode_get_data(valuenode);
 
-			field = purple_request_field_label_new("", value);
-			purple_request_field_group_add_field(group, field);
+			if(value != NULL) {
+				field = purple_request_field_label_new("", value);
+				purple_request_field_group_add_field(group, field);
 
-			g_free(value);
+				g_free(value);
+			}
 		} else if(!strcmp(type, "hidden")) {
 			if((valuenode = xmlnode_get_child(fn, "value")))
 				value = xmlnode_get_data(valuenode);
--- a/pidgin/gtkimhtml.c	Fri May 30 14:29:33 2008 +0000
+++ b/pidgin/gtkimhtml.c	Mon Jun 02 06:58:38 2008 +0000
@@ -4881,7 +4881,7 @@
 		gtk_text_view_add_child_at_anchor(GTK_TEXT_VIEW(imhtml), ebox ? ebox : icon, anchor);
 	} else if (imhtml_smiley != NULL && (imhtml->format_functions & GTK_IMHTML_SMILEY)) {
 		anchor = gtk_text_buffer_create_child_anchor(imhtml->text_buffer, iter);
-		imhtml_smiley->anchors = g_slist_append(imhtml_smiley->anchors, anchor);
+		imhtml_smiley->anchors = g_slist_append(imhtml_smiley->anchors, g_object_ref(anchor));
 		if (ebox) {
 			GtkWidget *img = gtk_image_new_from_stock(GTK_STOCK_MISSING_IMAGE, GTK_ICON_SIZE_MENU);
 			char *text = g_strdup(unescaped);
@@ -5521,8 +5521,11 @@
 	}
 
 	for (current = smiley->anchors; current; current = g_slist_next(current)) {
-
-		icon = gtk_image_new_from_animation(smiley->icon);
+		anchor = GTK_TEXT_CHILD_ANCHOR(current->data);
+		if (gtk_text_child_anchor_get_deleted(anchor))
+			icon = NULL;
+		else
+			icon = gtk_image_new_from_animation(smiley->icon);
 
 #ifdef DEBUG_CUSTOM_SMILEY
 		purple_debug_info("custom-smiley", "gtk_custom_smiley_closed(): got GtkImage %p from GtkPixbufAnimation %p for smiley '%s'\n",
@@ -5532,7 +5535,6 @@
 			GList *wids;
 			gtk_widget_show(icon);
 
-			anchor = GTK_TEXT_CHILD_ANCHOR(current->data);
 			wids = gtk_text_child_anchor_get_widgets(anchor);
 
 			g_object_set_data_full(G_OBJECT(anchor), "gtkimhtml_plaintext", purple_unescape_html(smiley->smile), g_free);
@@ -5549,7 +5551,7 @@
 			}
 			g_list_free(wids);
 		}
-
+		g_object_unref(anchor);
 	}
 
 	g_slist_free(smiley->anchors);
--- a/pidgin/gtksavedstatuses.c	Fri May 30 14:29:33 2008 +0000
+++ b/pidgin/gtksavedstatuses.c	Mon Jun 02 06:58:38 2008 +0000
@@ -1679,6 +1679,96 @@
 	return currently_selected;
 }
 
+static void
+pidgin_status_menu_update_iter(GtkWidget *combobox, GtkListStore *store, GtkTreeIter *iter,
+		PurpleSavedStatus *status)
+{
+	GdkPixbuf *pixbuf;
+
+	if (store == NULL)
+		store = GTK_LIST_STORE(gtk_combo_box_get_model(GTK_COMBO_BOX(combobox)));
+
+	pixbuf = pidgin_create_status_icon(purple_savedstatus_get_type(status),
+			combobox, PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL);
+	gtk_list_store_set(store, iter,
+			SS_MENU_TYPE_COLUMN, SS_MENU_ENTRY_TYPE_SAVEDSTATUS,
+			SS_MENU_ICON_COLUMN, pixbuf,
+			SS_MENU_TEXT_COLUMN, purple_savedstatus_get_title(status),
+			SS_MENU_DATA_COLUMN, GINT_TO_POINTER(purple_savedstatus_get_creation_time(status)),
+			SS_MENU_EMBLEM_COLUMN, GTK_STOCK_SAVE,
+			SS_MENU_EMBLEM_VISIBLE_COLUMN, TRUE,
+			-1);
+	if (pixbuf)
+		g_object_unref(G_OBJECT(pixbuf));
+}
+
+static gboolean
+pidgin_status_menu_find_iter(GtkListStore *store, GtkTreeIter *iter, PurpleSavedStatus *find)
+{
+	int type;
+	gpointer data;
+	time_t creation_time = purple_savedstatus_get_creation_time(find);
+	GtkTreeModel *model = GTK_TREE_MODEL(store);
+
+	if (!gtk_tree_model_get_iter_first(model, iter))
+		return FALSE;
+
+	do {
+		gtk_tree_model_get(model, iter,
+				SS_MENU_TYPE_COLUMN, &type,
+				SS_MENU_DATA_COLUMN, &data,
+				-1);
+		if (type == SS_MENU_ENTRY_TYPE_PRIMITIVE)
+			continue;
+		if (GPOINTER_TO_INT(data) == creation_time)
+			return TRUE;
+	} while (gtk_tree_model_iter_next(model, iter));
+
+	return FALSE;
+}
+
+static void
+savedstatus_added_cb(PurpleSavedStatus *status, GtkWidget *combobox)
+{
+	GtkListStore *store;
+	GtkTreeIter iter;
+
+	if (purple_savedstatus_is_transient(status))
+		return;
+
+	store = GTK_LIST_STORE(gtk_combo_box_get_model(GTK_COMBO_BOX(combobox)));
+	gtk_list_store_append(store, &iter);
+	pidgin_status_menu_update_iter(combobox, store, &iter, status);
+}
+
+static void
+savedstatus_deleted_cb(PurpleSavedStatus *status, GtkWidget *combobox)
+{
+	GtkListStore *store;
+	GtkTreeIter iter;
+
+	if (purple_savedstatus_is_transient(status))
+		return;
+
+	store = GTK_LIST_STORE(gtk_combo_box_get_model(GTK_COMBO_BOX(combobox)));
+	if (pidgin_status_menu_find_iter(store, &iter, status))
+		gtk_list_store_remove(store, &iter);
+}
+
+static void
+savedstatus_modified_cb(PurpleSavedStatus *status, GtkWidget *combobox)
+{
+	GtkListStore *store;
+	GtkTreeIter iter;
+
+	if (purple_savedstatus_is_transient(status))
+		return;
+
+	store = GTK_LIST_STORE(gtk_combo_box_get_model(GTK_COMBO_BOX(combobox)));
+	if (pidgin_status_menu_find_iter(store, &iter, status))
+		pidgin_status_menu_update_iter(combobox, store, &iter, status);
+}
+
 GtkWidget *pidgin_status_menu(PurpleSavedStatus *current_status, GCallback callback)
 {
 	GtkWidget *combobox;
@@ -1686,7 +1776,6 @@
 	GList *sorted, *cur;
 	int i = 0;
 	int index = -1;
-	GdkPixbuf *pixbuf;
 	GtkTreeIter iter;
 	GtkCellRenderer *text_rend;
 	GtkCellRenderer *icon_rend;
@@ -1720,18 +1809,9 @@
 		PurpleSavedStatus *status = (PurpleSavedStatus *) cur->data;
 		if (!purple_savedstatus_is_transient(status))
 		{
-			pixbuf = pidgin_create_status_icon(purple_savedstatus_get_type(status),
-							combobox, PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL);
 			gtk_list_store_append(model, &iter);
-			gtk_list_store_set(model, &iter,
-				SS_MENU_TYPE_COLUMN, SS_MENU_ENTRY_TYPE_SAVEDSTATUS,
-				SS_MENU_ICON_COLUMN, pixbuf,
-				SS_MENU_TEXT_COLUMN, purple_savedstatus_get_title(status),
-				SS_MENU_DATA_COLUMN, GINT_TO_POINTER(purple_savedstatus_get_creation_time(status)),
-				SS_MENU_EMBLEM_COLUMN, GTK_STOCK_SAVE,
-				SS_MENU_EMBLEM_VISIBLE_COLUMN, TRUE,
-				-1);
-			g_object_unref(G_OBJECT(pixbuf));
+
+			pidgin_status_menu_update_iter(combobox, model, &iter, status);
 
 			if (status == current_status)
 				index = i;
@@ -1756,6 +1836,17 @@
 	gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), index);
 	g_signal_connect(G_OBJECT(combobox), "changed", G_CALLBACK(status_menu_cb), callback);
 
+	/* Make sure the list is updated dynamically when a substatus is changed/deleted
+	 * or a new one is added. */
+	purple_signal_connect(purple_savedstatuses_get_handle(), "savedstatus-added",
+			combobox, G_CALLBACK(savedstatus_added_cb), combobox);
+	purple_signal_connect(purple_savedstatuses_get_handle(), "savedstatus-deleted",
+			combobox, G_CALLBACK(savedstatus_deleted_cb), combobox);
+	purple_signal_connect(purple_savedstatuses_get_handle(), "savedstatus-modified",
+			combobox, G_CALLBACK(savedstatus_modified_cb), combobox);
+	g_signal_connect(G_OBJECT(combobox), "destroy",
+			G_CALLBACK(purple_signals_disconnect_by_handle), NULL);
+
 	return combobox;
 }
 
--- a/pidgin/gtkstatusbox.c	Fri May 30 14:29:33 2008 +0000
+++ b/pidgin/gtkstatusbox.c	Mon Jun 02 06:58:38 2008 +0000
@@ -1706,6 +1706,48 @@
 }
 
 static void
+treeview_cursor_changed_cb(GtkTreeView *treeview, gpointer data)
+{
+	GtkTreeSelection *sel = gtk_tree_view_get_selection (treeview);
+	GtkTreeModel *model = GTK_TREE_MODEL (data);
+	GtkTreeIter iter;
+	GtkTreePath *cursor;
+	GtkTreePath *selection;
+	gint cmp;
+
+	if (gtk_tree_selection_get_selected (sel, NULL, &iter)) {
+		if ((selection = gtk_tree_model_get_path (model, &iter)) == NULL) {
+			/* Shouldn't happen, but ignore anyway */
+			return;
+		}
+	} else {
+		/* I don't think this can happen, but we'll just ignore it */
+		return;
+	}
+
+	gtk_tree_view_get_cursor (treeview, &cursor, NULL);
+	if (cursor == NULL) {
+		/* Probably won't happen in a 'cursor-changed' event? */
+		gtk_tree_path_free (selection);
+		return;
+	}
+
+	cmp = gtk_tree_path_compare (cursor, selection);
+	if (cmp < 0) {
+		/* The cursor moved up without moving the selection, so move it up again */
+		gtk_tree_path_prev (cursor);
+		gtk_tree_view_set_cursor (treeview, cursor, NULL, FALSE);
+	} else if (cmp > 0) {
+		/* The cursor moved down without moving the selection, so move it down again */
+		gtk_tree_path_next (cursor);
+		gtk_tree_view_set_cursor (treeview, cursor, NULL, FALSE);
+	}
+
+	gtk_tree_path_free (selection);
+	gtk_tree_path_free (cursor);
+}
+
+static void
 pidgin_status_box_init (PidginStatusBox *status_box)
 {
 	GtkCellRenderer *text_rend;
@@ -1869,6 +1911,8 @@
 					G_CALLBACK(imhtml_scroll_event_cb), status_box->imhtml);
 	g_signal_connect(G_OBJECT(status_box->popup_window), "button_release_event", G_CALLBACK(treeview_button_release_cb), status_box);
 	g_signal_connect(G_OBJECT(status_box->popup_window), "key_press_event", G_CALLBACK(treeview_key_press_event), status_box);
+	g_signal_connect(G_OBJECT(status_box->tree_view), "cursor-changed",
+					 G_CALLBACK(treeview_cursor_changed_cb), status_box->dropdown_store);
 
 #if GTK_CHECK_VERSION(2,6,0)
 	gtk_tree_view_set_row_separator_func(GTK_TREE_VIEW(status_box->tree_view), dropdown_store_row_separator_func, NULL, NULL);
--- a/po/ar.po	Fri May 30 14:29:33 2008 +0000
+++ b/po/ar.po	Mon Jun 02 06:58:38 2008 +0000
@@ -12918,12 +12918,18 @@
 #, c-format
 msgid "%s requests %s to accept %d file: %s (%.2f %s)%s%s"
 msgid_plural "%s requests %s to accept %d files: %s (%.2f %s)%s%s"
-msgstr[0] "‏%1$s لا يطلب من %2$s أن يقبل أيّة ملفات : %4$s (%5$.2f %6$s)%7$s%8$s"
-msgstr[1] "‏%1$s يطلب من %2$s أن يقبل ملفا واحدا: %4$s (%5$.2f %6$s)%7$s%8$s"
-msgstr[2] "‏%1$s يطلب من %2$s أن يقبل ملفين: %4$s (%5$.2f %6$s)%7$s%8$s"
-msgstr[3] "‏%s يطلب من %s أن يقبل %Id ملفات: %s (%.2f %s)%s%s"
-msgstr[4] "‏%s يطلب من %s أن يقبل %Id ملفا: %s (%.2f %s)%s%s"
-msgstr[5] "‏%s يطلب من %s أن يقبل %Id ملف: %s (%.2f %s)%s%s"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
+#msgstr[0] "‏%1$s لا يطلب من %2$s أن يقبل أيّة ملفات : %4$s (%5$.2f %6$s)%7$s%8$s"
+#msgstr[1] "‏%1$s يطلب من %2$s أن يقبل ملفا واحدا: %4$s (%5$.2f %6$s)%7$s%8$s"
+#msgstr[2] "‏%1$s يطلب من %2$s أن يقبل ملفين: %4$s (%5$.2f %6$s)%7$s%8$s"
+#msgstr[3] "‏%s يطلب من %s أن يقبل %Id ملفات: %s (%.2f %s)%s%s"
+#msgstr[4] "‏%s يطلب من %s أن يقبل %Id ملفا: %s (%.2f %s)%s%s"
+#msgstr[5] "‏%s يطلب من %s أن يقبل %Id ملف: %s (%.2f %s)%s%s"
 
 #: ../libpurple/protocols/toc/toc.c:2216
 #, c-format
@@ -14108,12 +14114,18 @@
 #, c-format
 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] "لا مراسلين لديك باسم %2$s. أتريد دمجهم؟"
-msgstr[1] "لديك مراسل واحد باسم %2$s. أتريد دمجه؟"
-msgstr[2] "لديك مراسليْن باسم %2$s. أتريد دمجهما؟"
-msgstr[3] "لديك %Id مراسلين باسم %s. أتريد دمجهم؟"
-msgstr[4] "لديك %Id مراسلا باسم %s. أتريد دمجهم؟"
-msgstr[5] "لديك %Id مراسل باسم %s. أتريد دمجهم؟"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
+#msgstr[0] "لا مراسلين لديك باسم %2$s. أتريد دمجهم؟"
+#msgstr[1] "لديك مراسل واحد باسم %2$s. أتريد دمجه؟"
+#msgstr[2] "لديك مراسليْن باسم %2$s. أتريد دمجهما؟"
+#msgstr[3] "لديك %Id مراسلين باسم %s. أتريد دمجهم؟"
+#msgstr[4] "لديك %Id مراسلا باسم %s. أتريد دمجهم؟"
+#msgstr[5] "لديك %Id مراسل باسم %s. أتريد دمجهم؟"
 
 #: ../pidgin/gtkblist.c:550
 msgid ""
@@ -14476,12 +14488,18 @@
 #, c-format
 msgid "%d unread message from %s\n"
 msgid_plural "%d unread messages from %s\n"
-msgstr[0] "لا رسائل غير مقروءة من %2$s\n"
-msgstr[1] "رسالة واحدة غير مقروءة من %2$s\n"
-msgstr[2] "رسالتان غير مقروءتان من %2$s\n"
-msgstr[3] "%Id رسائل غير مقروءة من %s\n"
-msgstr[4] "%Id رسالة غير مقروءة من %s\n"
-msgstr[5] "%Id رسالة غير مقروءة من %s\n"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
+#msgstr[0] "لا رسائل غير مقروءة من %2$s\n"
+#msgstr[1] "رسالة واحدة غير مقروءة من %2$s\n"
+#msgstr[2] "رسالتان غير مقروءتان من %2$s\n"
+#msgstr[3] "%Id رسائل غير مقروءة من %s\n"
+#msgstr[4] "%Id رسالة غير مقروءة من %s\n"
+#msgstr[5] "%Id رسالة غير مقروءة من %s\n"
 
 #: ../pidgin/gtkblist.c:4238
 msgid "Manually"
--- a/po/bn.po	Fri May 30 14:29:33 2008 +0000
+++ b/po/bn.po	Mon Jun 02 06:58:38 2008 +0000
@@ -6296,8 +6296,9 @@
 "%s on the local list is inside the group \"%s\" but not on the server list. "
 "Do you want this buddy to be added?"
 msgstr ""
-"স্থানীয় তালিকার %s গ্রুপ এ আছেন কিন্তু সার্ভার তালিকায় নেই।আপনি কি এই বন্ধুটিকে যোগ "
-"করতে চান?"
+#msgstr ""
+#"স্থানীয় তালিকার %s গ্রুপ এ আছেন কিন্তু সার্ভার তালিকায় নেই।আপনি কি এই বন্ধুটিকে যোগ "
+#"করতে চান?"
 
 #: ../libpurple/protocols/msn/dialog.c:124
 #, c-format
@@ -7833,7 +7834,8 @@
 #: ../libpurple/protocols/novell/novell.c:705
 #, c-format
 msgid "Could not get details for user %s (%s)."
-msgstr "ব্যবহারকারী %s এর বিবরন পাওয়া যাচ্ছে না"
+msgstr ""
+#msgstr "ব্যবহারকারী %s এর বিবরন পাওয়া যাচ্ছে না"
 
 #: ../libpurple/protocols/novell/novell.c:751
 #: ../libpurple/protocols/novell/novell.c:897
@@ -13730,8 +13732,8 @@
 #, c-format
 msgid "%d unread message from %s\n"
 msgid_plural "%d unread messages from %s\n"
-msgstr[0] "%s এর %d টি না পড়া বার্তা রয়েছে\n"
-msgstr[1] "%s এর %d টি না পড়া বার্তা রয়েছে\n"
+msgstr[0] "%2$s এর %1$d টি না পড়া বার্তা রয়েছে\n"
+msgstr[1] "%2$s এর %1$d টি না পড়া বার্তা রয়েছে\n"
 
 #: ../pidgin/gtkblist.c:3822
 msgid "Manually"
--- a/po/bs.po	Fri May 30 14:29:33 2008 +0000
+++ b/po/bs.po	Mon Jun 02 06:58:38 2008 +0000
@@ -8858,7 +8858,7 @@
 msgid "You missed %hu message from %s because it was too large."
 msgid_plural "You missed %hu messages from %s because they were too large."
 msgstr[0] "Propustili ste %hu poruku od %s, jer je bila prevelika."
-msgstr[1] "Propustili ste %hu poruke, jer su bile prevelike."
+msgstr[1] "Propustili ste %hu poruke od %s, jer su bile prevelike."
 
 #: ../libpurple/protocols/oscar/oscar.c:2614
 #, c-format
--- a/po/ca@valencia.po	Fri May 30 14:29:33 2008 +0000
+++ b/po/ca@valencia.po	Mon Jun 02 06:58:38 2008 +0000
@@ -13740,15 +13740,16 @@
 "You can come back to this window to add, edit, or remove accounts from "
 "<b>Accounts->Add/Edit</b> in the Buddy List window"
 msgstr ""
-"<span size='larger' weight='bold'>Benvinguts al %s!</span>\n"
-"\n"
-"No teniu cap compte de MI configurat. Per a connectar-vos amb el %s premeu "
-"el botó <b>Afig</b> de davall, i configureu el vostre primer compte. Si "
-"voleu connectar-vos amb més d'un compte de MI, torneu a prémer <b>Afig</b> "
-"fins a configurar-los tots.\n"
-"\n"
-"Podeu tornar a esta finestra per afegir, editar o suprimir comptes, a partir "
-"del menú <b>Comptes->Afig/Edita</b> de la finestra de la llista d'amics."
+#msgstr ""
+#"<span size='larger' weight='bold'>Benvinguts al %s!</span>\n"
+#"\n"
+#"No teniu cap compte de MI configurat. Per a connectar-vos amb el %s premeu "
+#"el botó <b>Afig</b> de davall, i configureu el vostre primer compte. Si "
+#"voleu connectar-vos amb més d'un compte de MI, torneu a prémer <b>Afig</b> "
+#"fins a configurar-los tots.\n"
+#"\n"
+#"Podeu tornar a esta finestra per afegir, editar o suprimir comptes, a partir "
+#"del menú <b>Comptes->Afig/Edita</b> de la finestra de la llista d'amics."
 
 #: ../pidgin/gtkblist.c:767
 msgid "Join a Chat"
--- a/po/de.po	Fri May 30 14:29:33 2008 +0000
+++ b/po/de.po	Mon Jun 02 06:58:38 2008 +0000
@@ -7,13 +7,14 @@
 #
 # This file is distributed under the same license as the Pidgin package.
 #
+# Bjoern Voigt <bjoern@cs.tu-berlin.de>, 2008.
 msgid ""
 msgstr ""
 "Project-Id-Version: de\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-05-29 17:29+0200\n"
-"PO-Revision-Date: 2008-05-29 17:28+0200\n"
-"Last-Translator: Jochen Kemnade <jochenkemnade@web.de>\n"
+"POT-Creation-Date: 2008-05-31 00:16+0200\n"
+"PO-Revision-Date: 2008-05-31 00:15+0200\n"
+"Last-Translator: Bjoern 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"
@@ -854,7 +855,7 @@
 msgstr "System-Mitschnitt"
 
 msgid "Emails"
-msgstr "Emails"
+msgstr "E-Mails"
 
 msgid "You have mail!"
 msgstr "Sie haben Post!"
@@ -2799,7 +2800,7 @@
 msgstr "Nachname"
 
 msgid "Email"
-msgstr "Email"
+msgstr "E-Mail"
 
 msgid "AIM Account"
 msgstr "AIM-Konto"
@@ -3913,7 +3914,7 @@
 "Benutzern zu suchen."
 
 msgid "Email Address"
-msgstr "Email-Adresse"
+msgstr "E-Mail-Adresse"
 
 msgid "Search for XMPP users"
 msgstr "Suche nach XMPP-Benutzern"
@@ -4651,7 +4652,7 @@
 msgstr "Syntaxfehler (wahrscheinlich ein Client-Bug)"
 
 msgid "Invalid email address"
-msgstr "Ungültige Email-Adresse"
+msgstr "Ungültige E-Mail-Adresse"
 
 msgid "User does not exist"
 msgstr "Benutzer existiert nicht"
@@ -4824,7 +4825,7 @@
 msgstr "%s anstoßen..."
 
 msgid "Email Address..."
-msgstr "Email-Adresse..."
+msgstr "E-Mail-Adresse..."
 
 msgid "Your new MSN friendly name is too long."
 msgstr "Ihr neuer MSN-Benutzername zu lang."
@@ -5013,7 +5014,7 @@
 msgstr "Fax (privat)"
 
 msgid "Personal Email"
-msgstr "Email (privat)"
+msgstr "E-Mail (privat)"
 
 msgid "Personal IM"
 msgstr "IM (privat)"
@@ -5056,7 +5057,7 @@
 msgstr "Fax (geschäftlich)"
 
 msgid "Work Email"
-msgstr "Email (geschäftlich)"
+msgstr "E-Mail (geschäftlich)"
 
 msgid "Work IM"
 msgstr "IM (geschäftlich)"
@@ -6291,7 +6292,7 @@
 "only letters, numbers and spaces, or contain only numbers."
 msgstr ""
 "Anmeldung fehlgeschlagen: Sie konnten nicht als %s angemeldet werden, da der "
-"Benutzername fehlerhaft ist.  Benutzernamen müssen gültige Email-Adressen "
+"Benutzername fehlerhaft ist.  Benutzernamen müssen gültige E-Mail-Adressen "
 "sein oder mit einem Buchstaben beginnen und nur Buchstaben, Ziffern und "
 "Leerzeichen enthalten oder nur aus Ziffern bestehen."
 
@@ -6440,7 +6441,7 @@
 "Message is:\n"
 "%s"
 msgstr ""
-"Sie haben eine ICQ-Email empfangen von %s [%s]\n"
+"Sie haben eine ICQ-E-Mail empfangen von %s [%s]\n"
 "\n"
 "Nachricht:\n"
 "%s"
@@ -6588,12 +6589,12 @@
 
 #, c-format
 msgid "No results found for email address %s"
-msgstr "Keine Ergebnisse für die Email-Adresse %s gefunden"
+msgstr "Keine Ergebnisse für die E-Mail-Adresse %s gefunden"
 
 #, c-format
 msgid "You should receive an email asking to confirm %s."
 msgstr ""
-"Sie sollten eine Email erhalten, in der Sie aufgefordert werden, %s zu "
+"Sie sollten eine E-Mail erhalten, in der Sie aufgefordert werden, %s zu "
 "bestätigen."
 
 msgid "Account Confirmation Requested"
@@ -6626,7 +6627,7 @@
 "Error 0x%04x: Unable to change email address because there is already a "
 "request pending for this username."
 msgstr ""
-"Error 0x%04x: Kann die Email-Adresse nicht ändern, weil es schon eine "
+"Error 0x%04x: Kann die E-Mail-Adresse nicht ändern, weil es schon eine "
 "laufende Anfrage für diesen Benutzernamen gibt."
 
 #, c-format
@@ -6634,7 +6635,7 @@
 "Error 0x%04x: Unable to change email address because the given address has "
 "too many usernames associated with it."
 msgstr ""
-"Fehler 0x%04x: Kann die Email-Adresse nicht ändern, weil zu dieser Adresse "
+"Fehler 0x%04x: Kann die E-Mail-Adresse nicht ändern, weil zu dieser Adresse "
 "schon zu viele Benutzernamen gehören."
 
 #, c-format
@@ -6642,7 +6643,7 @@
 "Error 0x%04x: Unable to change email address because the given address is "
 "invalid."
 msgstr ""
-"Fehler 0x%04x: Kann die Email-Adresse nicht ändern, weil die angegebene "
+"Fehler 0x%04x: Kann die E-Mail-Adresse nicht ändern, weil die angegebene "
 "Adresse falsch ist."
 
 #, c-format
@@ -6654,7 +6655,7 @@
 
 #, c-format
 msgid "The email address for %s is %s"
-msgstr "Die Email-Adresse für %s ist %s"
+msgstr "Die E-Mail-Adresse für %s ist %s"
 
 msgid "Account Info"
 msgstr "Konto-Info"
@@ -6718,7 +6719,7 @@
 "numbers and spaces, or contain only numbers."
 msgstr ""
 "Konnte den Buddy %s nicht hinzufügen, da der Benutzername falsch ist.  "
-"Benutzernamen müssen gültige Email-Adressen sein oder mit einem Buchstaben "
+"Benutzernamen müssen gültige E-Mail-Adressen sein oder mit einem Buchstaben "
 "beginnen und nur Buchstaben, Ziffern und Leerzeichen enthalten oder nur aus "
 "Ziffern bestehen."
 
@@ -6871,13 +6872,13 @@
 "fragen“ auswählen."
 
 msgid "Find Buddy by Email"
-msgstr "Suche Buddys nach Email-Adresse"
+msgstr "Suche Buddys nach E-Mail-Adresse"
 
 msgid "Search for a buddy by email address"
-msgstr "Suche nach einem Buddy mit einer bestimmten Email-Adresse"
+msgstr "Suche nach einem Buddy mit einer bestimmten E-Mail-Adresse"
 
 msgid "Type the email address of the buddy you are searching for."
-msgstr "Geben Sie die Email-Adresse des Buddys ein, nach dem Sie suchen."
+msgstr "Geben Sie die E-Mail-Adresse des Buddys ein, nach dem Sie suchen."
 
 msgid "_Search"
 msgstr "_Suchen"
@@ -6900,16 +6901,16 @@
 msgstr "Konto bestätigen"
 
 msgid "Display Currently Registered Email Address"
-msgstr "Zeige die aktuell registrierte Email-Adresse"
+msgstr "Zeige die aktuell registrierte E-Mail-Adresse"
 
 msgid "Change Currently Registered Email Address..."
-msgstr "Ändere die aktuell registrierte Email-Adresse..."
+msgstr "Ändere die aktuell registrierte E-Mail-Adresse..."
 
 msgid "Show Buddies Awaiting Authorization"
 msgstr "Zeige Buddys, von denen Sie Autorisierung erwarten"
 
 msgid "Search for Buddy by Email Address..."
-msgstr "Suche Buddys nach Email-Adresse..."
+msgstr "Suche Buddys nach E-Mail-Adresse..."
 
 msgid "Search for Buddy by Information"
 msgstr "Suche Buddy nach Information"
@@ -8747,7 +8748,7 @@
 
 #, c-format
 msgid "Email: \t\t%s\n"
-msgstr "Email: \t\t%s\n"
+msgstr "E-Mail: \t\t%s\n"
 
 #, c-format
 msgid "Host Name: \t%s\n"
@@ -8995,7 +8996,7 @@
 msgstr "Verzeichnis-Dienst ist zur Zeit nicht verfügbar."
 
 msgid "Email lookup restricted."
-msgstr "Email-Suche eingeschränkt."
+msgstr "E-Mail-Suche eingeschränkt."
 
 msgid "Keyword ignored."
 msgstr "Stichwort ignoriert."
@@ -11407,7 +11408,7 @@
 msgstr "Tipp-Benachrichtigung aktivieren"
 
 msgid "_Copy Email Address"
-msgstr "Kopiere _Email-Adresse"
+msgstr "Kopiere _E-Mail-Adresse"
 
 msgid "_Open Link in Browser"
 msgstr "Ö_ffne Link im Browser"
@@ -11778,8 +11779,8 @@
 #, c-format
 msgid "<b>%d new email.</b>"
 msgid_plural "<b>%d new emails.</b>"
-msgstr[0] "<b>%d neue Email.</b>"
-msgstr[1] "<b>%d neue Emails.</b>"
+msgstr[0] "<b>%d neue E-Mail.</b>"
+msgstr[1] "<b>%d neue E-Mails.</b>"
 
 #, c-format
 msgid "The browser command \"%s\" is invalid."
@@ -12864,19 +12865,19 @@
 msgstr "_Assoziiere den Buddy"
 
 msgid "Unable to send email"
-msgstr "Email konnte nicht gesendet werden"
+msgstr "E-Mail konnte nicht gesendet werden"
 
 msgid "The evolution executable was not found in the PATH."
 msgstr "Die ausführbare Evolution-Datei wurde nicht im Pfad (PATH) gefunden."
 
 msgid "An email address was not found for this buddy."
-msgstr "Für diesen Buddy wurde keine Email-Adresse gefunden."
+msgstr "Für diesen Buddy wurde keine E-Mail-Adresse gefunden."
 
 msgid "Add to Address Book"
 msgstr "Zum Adressbuch hinzufügen"
 
 msgid "Send Email"
-msgstr "Email senden"
+msgstr "E-Mail senden"
 
 #. Configuration frame
 msgid "Evolution Integration Configuration"
@@ -12926,7 +12927,7 @@
 msgstr "Nachname:"
 
 msgid "Email:"
-msgstr "Email:"
+msgstr "E-Mail:"
 
 #. *< type
 #. *< ui_requirement
@@ -12979,7 +12980,7 @@
 
 msgid "Adds a small box to the buddy list that shows if you have new mail."
 msgstr ""
-"Fügt eine kleine Box zur Buddy-Liste hinzu, die zeigt, ob Sie neue Emails "
+"Fügt eine kleine Box zur Buddy-Liste hinzu, die zeigt, ob Sie neue E-Mails "
 "haben."
 
 msgid "Markerline"
--- a/po/fi.po	Fri May 30 14:29:33 2008 +0000
+++ b/po/fi.po	Mon Jun 02 06:58:38 2008 +0000
@@ -16488,7 +16488,6 @@
 "<span foreground=\"red\" weight=\"bold\">Error: %s\n"
 "Check the plugin website for an update.</span>"
 msgstr ""
-"%s\n"
 "<span foreground=\"red\" weight=\"bold\">Virhe: %s\n"
 "Tarkista onko liitännäisen WWW-sivustolla päivitystä.</span>"
 
--- a/po/gl.po	Fri May 30 14:29:33 2008 +0000
+++ b/po/gl.po	Mon Jun 02 06:58:38 2008 +0000
@@ -14,7 +14,7 @@
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: KBabel 1.11.4\n"
 
 #: ../finch/finch.c:64 ../finch/finch.c:301 ../finch/finch.c:330
--- a/po/ko.po	Fri May 30 14:29:33 2008 +0000
+++ b/po/ko.po	Mon Jun 02 06:58:38 2008 +0000
@@ -913,7 +913,7 @@
 msgid "%s (%s) has %d new message."
 msgid_plural "%s (%s) has %d new messages."
 msgstr[0] "%s (%s) 에는 %d 개의 새 메일이 있습니다."
-msgstr[1] "%s (%s) 에는 %d 개의 새 메일이 있습니다."
+#msgstr[1] "%s (%s) 에는 %d 개의 새 메일이 있습니다."
 
 #: ../console/gntnotify.c:206
 #: ../gtk/gtknotify.c:322
@@ -1875,7 +1875,7 @@
 msgid "%d unread message from %s\n"
 msgid_plural "%d unread messages from %s\n"
 msgstr[0] "%2$s 님으로부터 %1$d개의 읽지 않은 메일이 있습니다.\n"
-msgstr[1] "%2$s さんから %1$d個の未?のメッセ?ジがあります\n"
+#msgstr[1] "%2$s さんから %1$d個の未?のメッセ?ジがあります\n"
 
 #: ../gtk/gtkblist.c:3654
 msgid "Manually"
@@ -2357,7 +2357,7 @@
 msgid "%d person in room"
 msgid_plural "%d people in room"
 msgstr[0] "대화실에 %d 명이 있습니다."
-msgstr[1] "대화실에 %d 명이 있습니다."
+#msgstr[1] "대화실에 %d 명이 있습니다."
 
 #: ../gtk/gtkconv.c:5855
 #: ../gtk/gtkstatusbox.c:567
@@ -2902,7 +2902,7 @@
 msgid "You are about to remove the contact containing %s and %d other buddy from your buddy list.  Do you want to continue?"
 msgid_plural "You are about to remove the contact containing %s and %d other buddies from your buddy list.  Do you want to continue?"
 msgstr[0] "친구 목록에서 %s 님을 포함한 %d 명의 친구의 삭제하려고 합니다. 계속 하시겠습니까?"
-msgstr[1] "친구 목록에서 %s 님을 포함한 %d 명의 친구의 삭제하려고 합니다. 계속 하시겠습니까?"
+#msgstr[1] "친구 목록에서 %s 님을 포함한 %d 명의 친구의 삭제하려고 합니다. 계속 하시겠습니까?"
 
 #: ../gtk/gtkdialogs.c:1016
 msgid "Remove Contact"
@@ -3598,14 +3598,14 @@
 msgid "%s has %d new message."
 msgid_plural "%s has %d new messages."
 msgstr[0] "%s 에는 %d 개의 새로운 메시지가 있습니다."
-msgstr[1] "%s 에는 %d 개의 새로운 메시지가 있습니다."
+#msgstr[1] "%s 에는 %d 개의 새로운 메시지가 있습니다."
 
 #: ../gtk/gtknotify.c:511
 #, c-format
 msgid "<b>You have %d new email.</b>"
 msgid_plural "<b>You have %d new emails.</b>"
 msgstr[0] "<b>%d 개의 새로운 메시지가 있습니다.</b>"
-msgstr[1] "<b>%d 개의 새로운 메시지가 있습니다.</b>"
+#msgstr[1] "<b>%d 개의 새로운 메시지가 있습니다.</b>"
 
 #: ../gtk/gtknotify.c:699
 #: ../libgaim/protocols/sametime/sametime.c:5548
@@ -5919,7 +5919,7 @@
 msgid "%d buddy from group %s was not removed because it belongs to an account which is disabled or offline.  This buddy and the group were not removed.\n"
 msgid_plural "%d buddies from group %s were not removed because they belong to accounts which are currently disabled or offline.  These buddies and the group were not removed.\n"
 msgstr[0] "%d 개의 계정이 사용 안 함 또는 오프라인 상태이기 때문에 그 계정을 그룹 %s (으)로부터 삭제하지 못했습니다. 그 친구와 그룹은 삭제할 수 없습니다.\n"
-msgstr[1] "%d 개의 계정이 사용 안 함 또는 오프라인 상태이기 때문에 그 계정을 그룹 %s (으)로부터 삭제하지 못했습니다. 그 친구와 그룹은 삭제할 수 없습니다.\n"
+#msgstr[1] "%d 개의 계정이 사용 안 함 또는 오프라인 상태이기 때문에 그 계정을 그룹 %s (으)로부터 삭제하지 못했습니다. 그 친구와 그룹은 삭제할 수 없습니다.\n"
 
 #: ../libgaim/blist.c:1929
 msgid "Group not removed"
@@ -9869,10 +9869,10 @@
 "MSN 서비스가 유지보수를 위해 %d 분간 정지하고 있습니다. 자동으로 접속이 끊길 예정이므로, 지금 수행되고 있는 대화를 종료해 주십시오.\n"
 "\n"
 "유지보수가 완료되면 다시 접속이 가능합니다."
-msgstr[1] ""
-"MSN 서비스가 유지보수를 위해 %d 분간 정지하고 있습니다. 자동으로 접속이 끊길 예정이므로, 지금 수행되고 있는 대화를 종료해 주십시오.\n"
-"\n"
-"유지보수가 완료되면 다시 접속이 가능합니다."
+#msgstr[1] ""
+#"MSN 서비스가 유지보수를 위해 %d 분간 정지하고 있습니다. 자동으로 접속이 끊길 예정이므로, 지금 수행되고 있는 대화를 종료해 주십시오.\n"
+#"\n"
+#"유지보수가 완료되면 다시 접속이 가능합니다."
 
 #: ../libgaim/protocols/msn/servconn.c:135
 msgid "Writing error"
@@ -10921,42 +10921,42 @@
 msgid "You missed %hu message from %s because it was invalid."
 msgid_plural "You missed %hu messages from %s because they were invalid."
 msgstr[0] "%2$s 님으로부터의 %1$hu 개의 메시지는 타당하지 않아 받지 못했습니다."
-msgstr[1] "%2$s 님으로부터의 %1$hu 개의 메시지는 타당하지 않아 받지 못했습니다."
+#msgstr[1] "%2$s 님으로부터의 %1$hu 개의 메시지는 타당하지 않아 받지 못했습니다."
 
 #: ../libgaim/protocols/oscar/oscar.c:2560
 #, c-format
 msgid "You missed %hu message from %s because it was too large."
 msgid_plural "You missed %hu messages from %s because they were too large."
 msgstr[0] "%2$s 님으로부터의 %1$hu개의 메시지는 너무 커서 받지 못했습니다."
-msgstr[1] "%2$s 님으로부터의 %1$hu개의 메시지는 너무 커서 받지 못했습니다."
+#msgstr[1] "%2$s 님으로부터의 %1$hu개의 메시지는 너무 커서 받지 못했습니다."
 
 #: ../libgaim/protocols/oscar/oscar.c:2569
 #, c-format
 msgid "You missed %hu message from %s because the rate limit has been exceeded."
 msgid_plural "You missed %hu messages from %s because the rate limit has been exceeded."
 msgstr[0] "속도 제한을 상회하여, %2$s 님으로부터의 %1$hu개의 메시지를 못했습니다."
-msgstr[1] "속도 제한을 상회하여, %2$s 님으로부터의 %1$hu개의 메시지를 못했습니다."
+#msgstr[1] "속도 제한을 상회하여, %2$s 님으로부터의 %1$hu개의 메시지를 못했습니다."
 
 #: ../libgaim/protocols/oscar/oscar.c:2578
 #, c-format
 msgid "You missed %hu message from %s because he/she was too evil."
 msgid_plural "You missed %hu messages from %s because he/she was too evil."
 msgstr[0] "유해한 상대방이어서, %2$s 님으로부터의 %1$hu개의 메시지를 못했습니다."
-msgstr[1] "유해한 상대방이어서, %2$s 님으로부터의 %1$hu개의 메시지를 못했습니다."
+#msgstr[1] "유해한 상대방이어서, %2$s 님으로부터의 %1$hu개의 메시지를 못했습니다."
 
 #: ../libgaim/protocols/oscar/oscar.c:2587
 #, c-format
 msgid "You missed %hu message from %s because you are too evil."
 msgid_plural "You missed %hu messages from %s because you are too evil."
 msgstr[0] "유해한 자신이어서, %2$s 님으로부터의 %1$hu개의 메시지를 못했습니다."
-msgstr[1] "유해한 자신이어서, %2$s 님으로부터의 %1$hu개의 메시지를 못했습니다."
+#msgstr[1] "유해한 자신이어서, %2$s 님으로부터의 %1$hu개의 메시지를 못했습니다."
 
 #: ../libgaim/protocols/oscar/oscar.c:2596
 #, c-format
 msgid "You missed %hu message from %s for an unknown reason."
 msgid_plural "You missed %hu messages from %s for an unknown reason."
 msgstr[0] "원인은 알 수 없지만, %2$s 님으로부터의 %1$hu개의 메시지를 못했습니다."
-msgstr[1] "원인은 알 수 없지만, %2$s 님으로부터의 %1$hu개의 메시지를 못했습니다."
+#msgstr[1] "원인은 알 수 없지만, %2$s 님으로부터의 %1$hu개의 메시지를 못했습니다."
 
 #: ../libgaim/protocols/oscar/oscar.c:2718
 #, c-format
@@ -11178,7 +11178,7 @@
 msgid "The maximum profile length of %d byte has been exceeded.  It has been truncated for you."
 msgid_plural "The maximum profile length of %d bytes has been exceeded.  It has been truncated for you."
 msgstr[0] "프로파일 길이가 최대값 %d 바이트를 초과하여 일부가 잘렸습니다."
-msgstr[1] "프로파일 길이가 최대값 %d 바이트를 초과하여 일부가 잘렸습니다."
+#msgstr[1] "프로파일 길이가 최대값 %d 바이트를 초과하여 일부가 잘렸습니다."
 
 #: ../libgaim/protocols/oscar/oscar.c:4461
 msgid "Profile too long."
@@ -11189,7 +11189,7 @@
 msgid "The maximum away message length of %d byte has been exceeded.  It has been truncated for you."
 msgid_plural "The maximum away message length of %d bytes has been exceeded.  It has been truncated for you."
 msgstr[0] "자리 비움 메시지 길이가 최대값 %d 바이트를 초과하여 일부가 잘렸습니다."
-msgstr[1] "자리 비움 메시지 길이가 최대값 %d 바이트를 초과하여 일부가 잘렸습니다."
+#msgstr[1] "자리 비움 메시지 길이가 최대값 %d 바이트를 초과하여 일부가 잘렸습니다."
 
 #: ../libgaim/protocols/oscar/oscar.c:4510
 msgid "Away message too long."
@@ -14183,7 +14183,7 @@
 msgid "%s requests %s to accept %d file: %s (%.2f %s)%s%s"
 msgid_plural "%s requests %s to accept %d files: %s (%.2f %s)%s%s"
 msgstr[0] "%s 님으로부터 %s 님에게 %d 개의 파일 요청: %s (%.2f %s)%s%s"
-msgstr[1] "%s 님으로부터 %s 님에게 %d 개의 파일 요청: %s (%.2f %s)%s%s"
+#msgstr[1] "%s 님으로부터 %s 님에게 %d 개의 파일 요청: %s (%.2f %s)%s%s"
 
 #: ../libgaim/protocols/toc/toc.c:2236
 #, c-format
@@ -14945,42 +14945,42 @@
 msgid "%d second"
 msgid_plural "%d seconds"
 msgstr[0] "%d 초"
-msgstr[1] "%d 초"
+#msgstr[1] "%d 초"
 
 #: ../libgaim/util.c:2939
 #, c-format
 msgid "%d day"
 msgid_plural "%d days"
 msgstr[0] "%d 일"
-msgstr[1] "%d 일"
+#msgstr[1] "%d 일"
 
 #: ../libgaim/util.c:2947
 #, c-format
 msgid "%s, %d hour"
 msgid_plural "%s, %d hours"
 msgstr[0] "%s %d 시간"
-msgstr[1] "%s %d 시간"
+#msgstr[1] "%s %d 시간"
 
 #: ../libgaim/util.c:2953
 #, c-format
 msgid "%d hour"
 msgid_plural "%d hours"
 msgstr[0] "%d 시간"
-msgstr[1] "%d 시간"
+#msgstr[1] "%d 시간"
 
 #: ../libgaim/util.c:2961
 #, c-format
 msgid "%s, %d minute"
 msgid_plural "%s, %d minutes"
 msgstr[0] "%s %d 분"
-msgstr[1] "%s %d 분"
+#msgstr[1] "%s %d 분"
 
 #: ../libgaim/util.c:2967
 #, c-format
 msgid "%d minute"
 msgid_plural "%d minutes"
 msgstr[0] "%d 분"
-msgstr[1] "%d 분"
+#msgstr[1] "%d 분"
 
 #: ../libgaim/util.c:3166
 #: ../libgaim/util.c:3464
--- a/po/lo.po	Fri May 30 14:29:33 2008 +0000
+++ b/po/lo.po	Mon Jun 02 06:58:38 2008 +0000
@@ -14,7 +14,7 @@
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+#"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
 #: ../finch/finch.c:64 ../finch/finch.c:301 ../finch/finch.c:330
 #: ../finch/finch.c:418
--- a/po/nb.po	Fri May 30 14:29:33 2008 +0000
+++ b/po/nb.po	Mon Jun 02 06:58:38 2008 +0000
@@ -10311,7 +10311,7 @@
 #: ../libpurple/protocols/qq/sys_msg.c:166
 #, c-format
 msgid "You have been added by %s"
-msgstr "Du har blitt lagt til av %s (%s)"
+msgstr "Du har blitt lagt til av %s"
 
 #: ../libpurple/protocols/qq/sys_msg.c:169
 #: ../libpurple/protocols/qq/sys_msg.c:263
--- a/po/nl.po	Fri May 30 14:29:33 2008 +0000
+++ b/po/nl.po	Mon Jun 02 06:58:38 2008 +0000
@@ -2489,10 +2489,11 @@
 "Activation date: %s\n"
 "Expiration date: %s\n"
 msgstr ""
-"Gemeenschappelijke naam: %s\n"
-"\n"
-"Vingerafdruk (SHA1): %s\n"
-"\n"
+#msgstr ""
+#"Gemeenschappelijke naam: %s\n"
+#"\n"
+#"Vingerafdruk (SHA1): %s\n"
+#"\n"
 
 #. TODO: Find what the handle ought to be
 #: ../libpurple/certificate.c:1905
@@ -6982,7 +6983,7 @@
 #: ../libpurple/protocols/msn/msn.c:129 ../libpurple/protocols/msnp9/msn.c:130
 #, c-format
 msgid "%s has nudged you!"
-msgstr "%s heeft je aangestoten [%s]"
+msgstr "%s heeft je aangestoten"
 
 #: ../libpurple/protocols/msn/msn.c:129 ../libpurple/protocols/msnp9/msn.c:130
 #, c-format
@@ -8177,7 +8178,8 @@
 #: ../libpurple/protocols/myspace/zap.c:59
 #, c-format
 msgid "%s has torched you!"
-msgstr "De gebruiker heeft u befakkeld"
+msgstr ""
+#msgstr "De gebruiker heeft u befakkeld"
 
 #: ../libpurple/protocols/myspace/zap.c:59
 #, c-format
@@ -8876,9 +8878,10 @@
 "(There was an error receiving this message.  Either you and %s have "
 "different encodings selected, or %s has a buggy client.)"
 msgstr ""
-"(Er is een fout opgetreden bij het ontvangen van het bericht. Of jij en %s "
-"hebben verschillende coderingen geselecteerd of de andere persoon gebruikt "
-"een chatprogramma met fouten.)"
+#msgstr ""
+#"(Er is een fout opgetreden bij het ontvangen van het bericht. Of jij en %s "
+#"hebben verschillende coderingen geselecteerd of de andere persoon gebruikt "
+#"een chatprogramma met fouten.)"
 
 #. Label
 #: ../libpurple/protocols/oscar/oscar.c:640 ../pidgin/gtkutils.c:2449
@@ -10452,7 +10455,7 @@
 #: ../libpurple/protocols/qq/send_file.c:707
 #, c-format
 msgid "%d has declined the file %s"
-msgstr "%s heeft het onderwerp veranderd naar: %sx"
+msgstr "%d heeft het onderwerp veranderd naar: %s"
 
 #: ../libpurple/protocols/qq/send_file.c:710
 #: ../libpurple/protocols/qq/send_file.c:739
--- a/po/ps.po	Fri May 30 14:29:33 2008 +0000
+++ b/po/ps.po	Mon Jun 02 06:58:38 2008 +0000
@@ -15,7 +15,7 @@
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+#"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
 #: ../finch/finch.c:64 ../finch/finch.c:301 ../finch/finch.c:330
 #: ../finch/finch.c:418
--- a/po/sq.po	Fri May 30 14:29:33 2008 +0000
+++ b/po/sq.po	Mon Jun 02 06:58:38 2008 +0000
@@ -14,6 +14,7 @@
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: KBabel 1.0.2\n"
 "X-Poedit-Language: Albanian\n"
 "X-Poedit-Country: ALBANIA\n"
--- a/po/ta.po	Fri May 30 14:29:33 2008 +0000
+++ b/po/ta.po	Mon Jun 02 06:58:38 2008 +0000
@@ -17,7 +17,7 @@
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+"Plural-Forms: Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Poedit-Country: INDIA\n"
 "X-Generator: KBabel 1.11.4\n"
 "X-Poedit-Bookmarks: -1,-1,-1,-1,-1,-1,-1,-1,-1,1715\n"
--- a/po/te.po	Fri May 30 14:29:33 2008 +0000
+++ b/po/te.po	Mon Jun 02 06:58:38 2008 +0000
@@ -9,6 +9,7 @@
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Translate Toolkit 0.10\n"
 "X-Poedit-Language: Telugu\n"
 "X-Poedit-SourceCharset: utf-8\n"
@@ -349,7 +350,7 @@
 #: ../pidgin/gtkaccount.c:2447
 #, c-format
 msgid "%s%s%s%s has made %s his or her buddy%s%s"
-msgstr " %s%s%s తన మిత్రుడు లేదా స్నేహితురాలు %s%s  గా  %s ను  చేర్చుకున్నారు "
+msgstr "%s%s%s%s తన మిత్రుడు లేదా స్నేహితురాలు %s%s  గా  %s ను  చేర్చుకున్నారు "
 
 #: ../finch/gntaccount.c:884
 #: ../pidgin/gtkaccount.c:2499
@@ -1044,7 +1045,7 @@
 msgstr ""
 "%s\n"
 "\n"
-"%s లోపాన్ని సరిచేసి అకౌంటును తిరిగి క్రియాశీలం చేసేదాకా అకౌంటుకు మళ్ళీ కనెక్ట్ చేయడానికి ప్రయత్నించదు."
+"లోపాన్ని సరిచేసి అకౌంటును తిరిగి క్రియాశీలం చేసేదాకా అకౌంటుకు మళ్ళీ కనెక్ట్ చేయడానికి ప్రయత్నించదు."
 
 #: ../finch/gntconn.c:138
 msgid "Re-enable Account"
@@ -1427,8 +1428,8 @@
 #, c-format
 msgid "%s (%s) has %d new message."
 msgid_plural "%s (%s) has %d new messages."
-msgstr[0] "%s has %d new message."
-msgstr[1] "%s के %d लिए नये संदेश हैं।"
+msgstr[0] "%s (%s) has %d new message."
+msgstr[1] "%s (%s) के %d लिए नये संदेश हैं।"
 
 #: ../finch/gntnotify.c:226
 #: ../pidgin/gtknotify.c:342
@@ -2496,7 +2497,8 @@
 #: ../libpurple/certificate.c:1185
 #, c-format
 msgid "Accept certificate for %s?"
-msgstr "సంభాషణ ఆహ్వానాన్ని అంగీకరించారా?"
+msgstr ""
+#msgstr "సంభాషణ ఆహ్వానాన్ని అంగీకరించారా?"
 
 #. TODO: Find what the handle ought to be
 #: ../libpurple/certificate.c:1191
@@ -3122,7 +3124,8 @@
 #: ../libpurple/plugin.c:663
 #, c-format
 msgid "%s requires %s, but it failed to unload."
-msgstr "%s డిపెండర్ ప్లగ్ ఇన్ అన్ లోడ్ కావడంలో వైఫల్యం."
+msgstr ""
+#msgstr "%s డిపెండర్ ప్లగ్ ఇన్ అన్ లోడ్ కావడంలో వైఫల్యం."
 
 #: ../libpurple/plugins/autoaccept.c:23
 msgid "Autoaccept"
@@ -3508,7 +3511,7 @@
 #: ../libpurple/plugins/statenotify.c:80
 #, c-format
 msgid "%s has signed off."
-msgstr "%s సైన్ ఆఫ్ చేశారు. (%s)"
+msgstr "%s సైన్ ఆఫ్ చేశారు."
 
 #: ../libpurple/plugins/log_reader.c:1587
 msgid "One or more messages may have been undeliverable."
@@ -4197,7 +4200,8 @@
 #: ../libpurple/protocols/gg/gg.c:278
 #, c-format
 msgid "Couldn't write buddy list for %s to %s"
-msgstr "మిత్రుల జాబితాను లోడ్ చేయలేకపోతోంది"
+msgstr ""
+#msgstr "మిత్రుల జాబితాను లోడ్ చేయలేకపోతోంది"
 
 #: ../libpurple/protocols/gg/gg.c:303
 #: ../libpurple/protocols/gg/gg.c:304
@@ -5024,7 +5028,8 @@
 #: ../libpurple/protocols/irc/msgs.c:1113
 #, c-format
 msgid "Cannot join %s: Registration is required."
-msgstr "నమోదు అవసరం"
+msgstr ""
+#msgstr "నమోదు అవసరం"
 
 #: ../libpurple/protocols/irc/msgs.c:1114
 #: ../libpurple/protocols/silc/ops.c:1093
@@ -5234,7 +5239,8 @@
 #: ../libpurple/protocols/jabber/auth.c:518
 #, c-format
 msgid "%s requires plaintext authentication over an unencrypted connection.  Allow this and continue authentication?"
-msgstr "ఈ సర్వర్‌కు ఎన్ క్రిప్ట్ కాని కనెక్షన్ కన్నా సాధారణ టెక్స్ట్ ప్రమాణీకరణ అవసరం. దీనికి అనుమతించి ప్రమాణీకరణను కొనసాగించమంటారా?"
+msgstr ""
+#msgstr "ఈ సర్వర్‌కు ఎన్ క్రిప్ట్ కాని కనెక్షన్ కన్నా సాధారణ టెక్స్ట్ ప్రమాణీకరణ అవసరం. దీనికి అనుమతించి ప్రమాణీకరణను కొనసాగించమంటారా?"
 
 #: ../libpurple/protocols/jabber/auth.c:325
 #: ../libpurple/protocols/jabber/auth.c:326
@@ -6007,7 +6013,8 @@
 #: ../libpurple/protocols/jabber/jabber.c:689
 #, c-format
 msgid "Registration to %s successful"
-msgstr "%s@%s నమోదు విజయవంతమైనది"
+msgstr ""
+#msgstr "%s@%s నమోదు విజయవంతమైనది"
 
 #: ../libpurple/protocols/jabber/jabber.c:691
 #: ../libpurple/protocols/jabber/jabber.c:692
@@ -6022,7 +6029,8 @@
 #: ../libpurple/protocols/jabber/jabber.c:719
 #, c-format
 msgid "Registration from %s successfully removed"
-msgstr "%s@%s నమోదు విజయవంతమైనది"
+msgstr ""
+#msgstr "%s@%s నమోదు విజయవంతమైనది"
 
 #: ../libpurple/protocols/jabber/jabber.c:721
 #: ../libpurple/protocols/jabber/jabber.c:722
@@ -6101,7 +6109,8 @@
 #: ../libpurple/protocols/jabber/jabber.c:1040
 #, c-format
 msgid "Register New Account at %s"
-msgstr "కొత్త జాబర్ అకౌంట్‌ను నమోదు చేయండి"
+msgstr ""
+#msgstr "కొత్త జాబర్ అకౌంట్‌ను నమోదు చేయండి"
 
 #: ../libpurple/protocols/jabber/jabber.c:1043
 msgid "Change Registration"
@@ -6582,7 +6591,8 @@
 #: ../libpurple/protocols/yahoo/yahoo.c:4131
 #, c-format
 msgid "%s has buzzed you!"
-msgstr "%s మీకు [%s] ను చేర్చారు"
+msgstr ""
+#msgstr "%s మీకు [%s] ను చేర్చారు"
 
 #: ../libpurple/protocols/jabber/jabber.c:2281
 #: ../libpurple/protocols/yahoo/yahoo.c:4132
@@ -7185,7 +7195,8 @@
 #: ../libpurple/protocols/msnp9/msn.c:131
 #, c-format
 msgid "%s has nudged you!"
-msgstr "%s మీకు [%s] ను చేర్చారు"
+msgstr ""
+#msgstr "%s మీకు [%s] ను చేర్చారు"
 
 #: ../libpurple/protocols/msn/msn.c:132
 #: ../libpurple/protocols/msnp9/msn.c:132
@@ -7767,7 +7778,8 @@
 #: ../libpurple/protocols/msn/notification.c:836
 #, c-format
 msgid "Unknown error (%d)"
-msgstr "అజ్ఞాత పొరపాటు"
+msgstr ""
+#msgstr "అజ్ఞాత పొరపాటు"
 
 #: ../libpurple/protocols/msn/notification.c:837
 #: ../libpurple/protocols/sametime/sametime.c:4471
@@ -8151,7 +8163,8 @@
 #: ../libpurple/protocols/myspace/myspace.c:1794
 #, c-format
 msgid "Protocol error, code %d: %s"
-msgstr "లోపం కోడ్ %d ను ప్రక్రియ తిప్పి పంపింది "
+msgstr ""
+#msgstr "లోపం కోడ్ %d ను ప్రక్రియ తిప్పి పంపింది "
 
 #: ../libpurple/protocols/myspace/myspace.c:1990
 #: ../libpurple/protocols/myspace/myspace.c:2024
@@ -8211,7 +8224,8 @@
 #: ../libpurple/protocols/myspace/myspace.c:2499
 #, c-format
 msgid "Couldn't connect to host: %s (%d)"
-msgstr "హోస్ట్‌కు కనెక్ట్ చేయలేదు"
+msgstr ""
+#msgstr "హోస్ట్‌కు కనెక్ట్ చేయలేదు"
 
 #: ../libpurple/protocols/myspace/myspace.c:2670
 #, fuzzy
@@ -9503,8 +9517,10 @@
 #, c-format
 msgid "You missed %hu message from %s for an unknown reason."
 msgid_plural "You missed %hu messages from %s for an unknown reason."
-msgstr[0] "అజ్ఞాత కారణములచేత మీరు %hu సందేశాలను %s నుండి  కోల్పోయినారు. "
-msgstr[1] "आपको अज्ञात कारनों से साइन-ऑफ करा गया है।"
+msgstr[0] ""
+msgstr[1] ""
+#msgstr[0] "అజ్ఞాత కారణములచేత మీరు %hu సందేశాలను %s నుండి  కోల్పోయినారు. "
+#msgstr[1] "आपको अज्ञात कारनों से साइन-ऑफ करा गया है।"
 
 # Data is assumed to be the destination sn
 #. Data is assumed to be the destination sn
@@ -9757,7 +9773,8 @@
 #: ../libpurple/protocols/oscar/oscar.c:5109
 #, c-format
 msgid "Could not add the buddy %s for an unknown reason."
-msgstr "అజ్ఞాత కారణంవల్ల మీ కమాండ్ విఫలమైనది."
+msgstr ""
+#msgstr "అజ్ఞాత కారణంవల్ల మీ కమాండ్ విఫలమైనది."
 
 #: ../libpurple/protocols/oscar/oscar.c:5226
 #, c-format
@@ -10169,7 +10186,8 @@
 #: ../libpurple/protocols/qq/buddy_info.c:601
 #, c-format
 msgid "Setting custom faces is not currently supported. Please choose an image from %s."
-msgstr "మీకిష్టమైన ముఖారవిందాలను సెట్ చేయడానికి ఇప్పుడు అవకాశంలేదు. ఇక్కడున్న బొమ్మల్లో  ఒకదాన్ని దయచేసి ఎంపికచేసుకోండి"
+msgstr ""
+#msgstr "మీకిష్టమైన ముఖారవిందాలను సెట్ చేయడానికి ఇప్పుడు అవకాశంలేదు. ఇక్కడున్న బొమ్మల్లో  ఒకదాన్ని దయచేసి ఎంపికచేసుకోండి"
 
 #: ../libpurple/protocols/qq/buddy_info.c:618
 #: ../libpurple/protocols/qq/buddy_info.c:631
@@ -10598,7 +10616,7 @@
 #: ../libpurple/protocols/qq/send_file.c:707
 #, c-format
 msgid "%d has declined the file %s"
-msgstr "ఫైలు %s ను %d నిరాకరించింది "
+msgstr "ఫైలు %2$s ను %1$d నిరాకరించింది "
 
 #: ../libpurple/protocols/qq/send_file.c:710
 #: ../libpurple/protocols/qq/send_file.c:739
@@ -10608,7 +10626,8 @@
 #: ../libpurple/protocols/qq/send_file.c:736
 #, c-format
 msgid "%d canceled the transfer of %s"
-msgstr "%sను ట్రాన్స్‌ఫర్ చేయడాన్ని %s రద్దు చేశారు."
+msgstr ""
+#msgstr "%sను ట్రాన్స్‌ఫర్ చేయడాన్ని %s రద్దు చేశారు."
 
 #: ../libpurple/protocols/qq/sendqueue.c:124
 msgid "Connection lost"
@@ -10637,7 +10656,8 @@
 #: ../libpurple/protocols/qq/sys_msg.c:176
 #, c-format
 msgid "%s has added you [%s] to his or her buddy list"
-msgstr "%s మిమ్మల్ని తన మిత్రుల జాబితాలో చేర్చారు."
+msgstr ""
+#msgstr "%s మిమ్మల్ని తన మిత్రుల జాబితాలో చేర్చారు."
 
 #: ../libpurple/protocols/qq/sys_msg.c:192
 #, c-format
@@ -13318,8 +13338,9 @@
 "Lost connection with %s:\n"
 "%s"
 msgstr ""
-"సర్వర్ తో కనెక్షన్ పోయింది:\n"
-"%s"
+#msgstr ""
+#"సర్వర్ తో కనెక్షన్ పోయింది:\n"
+#"%s"
 
 #: ../libpurple/protocols/yahoo/yahoo.c:2733
 #, c-format
@@ -13327,8 +13348,9 @@
 "Could not establish a connection with %s:\n"
 "%s"
 msgstr ""
-"సర్వర్ తో కనెక్షన్ సాధ్యపడలేదు: \n"
-"%s"
+#msgstr ""
+#"సర్వర్ తో కనెక్షన్ సాధ్యపడలేదు: \n"
+#"%s"
 
 #: ../libpurple/protocols/yahoo/yahoo.c:3092
 #: ../libpurple/protocols/yahoo/yahoo.c:3778
@@ -13836,7 +13858,8 @@
 msgid ""
 "Unable to create socket:\n"
 "%s"
-msgstr "సాకెట్‌ను సృష్టించలేదు. "
+msgstr ""
+#msgstr "సాకెట్‌ను సృష్టించలేదు. "
 
 #: ../libpurple/proxy.c:662
 #, c-format
@@ -14012,7 +14035,8 @@
 #: ../libpurple/status.c:613
 #, c-format
 msgid "%s (%s) changed status from %s to %s"
-msgstr "%s స్థితిని %s నుంచి %s కు మార్చబడింది"
+msgstr ""
+#msgstr "%s స్థితిని %s నుంచి %s కు మార్చబడింది"
 
 #: ../libpurple/status.c:624
 #, c-format
@@ -14022,17 +14046,20 @@
 #: ../libpurple/status.c:626
 #, c-format
 msgid "%s (%s) is now %s"
-msgstr "%s ఇప్పుడు %s"
+msgstr ""
+#msgstr "%s ఇప్పుడు %s"
 
 #: ../libpurple/status.c:632
 #, c-format
 msgid "%s is no longer %s"
-msgstr "ఇప్పుడు %s  దూరంలో లేరు/దు."
+msgstr ""
+#msgstr "ఇప్పుడు %s  దూరంలో లేరు/దు."
 
 #: ../libpurple/status.c:634
 #, c-format
 msgid "%s (%s) is no longer %s"
-msgstr "ఇప్పుడు %s  దూరంలో లేరు/దు."
+msgstr ""
+#msgstr "ఇప్పుడు %s  దూరంలో లేరు/దు."
 
 #: ../libpurple/status.c:1247
 #, c-format
@@ -14131,7 +14158,8 @@
 #: ../libpurple/util.c:3943
 #, c-format
 msgid "Unable to connect to %s"
-msgstr ",ర్వర్‌కు కనెక్ట్‌చేయలేని స్థితి. "
+msgstr ""
+#msgstr ",ర్వర్‌కు కనెక్ట్‌చేయలేని స్థితి. "
 
 #: ../libpurple/util.c:3770
 #, c-format
@@ -14151,7 +14179,8 @@
 #: ../libpurple/util.c:3861
 #, c-format
 msgid "Unable to connect to %s: %s"
-msgstr "సర్వర్‌కు కనెక్ట్‌చేయలేని స్థితి. "
+msgstr ""
+#msgstr "సర్వర్‌కు కనెక్ట్‌చేయలేని స్థితి. "
 
 #: ../pidgin.desktop.in.h:1
 msgid "Internet Messenger"
@@ -14345,9 +14374,10 @@
 "\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"
 msgstr ""
-"<స్పాన్ పరిమాణం='పెద్ద' బరువు='బోల్డ్'>స్వాగతం %s!</స్పాన్>\n"
-"\n"
-"మీ IM అకౌంట్లు కన్ఫిగర్ కాలేదు. %s తో కనెక్ట్ కావడం ప్రారంభించడానికి  <b>Add</b> ప్రెస్ చేయండి"
+#msgstr ""
+#"<స్పాన్ పరిమాణం='పెద్ద' బరువు='బోల్డ్'>స్వాగతం %s!</స్పాన్>\n"
+#"\n"
+#"మీ IM అకౌంట్లు కన్ఫిగర్ కాలేదు. %s తో కనెక్ట్ కావడం ప్రారంభించడానికి  <b>Add</b> ప్రెస్ చేయండి"
 
 #: ../pidgin/gtkblist.c:543
 #, c-format
@@ -14679,7 +14709,8 @@
 #: ../pidgin/gtkblist.c:3693
 #, c-format
 msgid "Idle %dd %dh %02dm"
-msgstr "ఖాళీ %dh %02dm"
+msgstr ""
+#msgstr "ఖాళీ %dh %02dm"
 
 #: ../pidgin/gtkblist.c:3695
 #, c-format
@@ -14754,7 +14785,8 @@
 #: ../pidgin/gtkblist.c:4494
 #, c-format
 msgid "%s disabled"
-msgstr "కమాండ్ పని చేయడం లేదు"
+msgstr ""
+#msgstr "కమాండ్ పని చేయడం లేదు"
 
 #: ../pidgin/gtkblist.c:4498
 msgid "Reconnect"
@@ -14778,8 +14810,10 @@
 #, c-format
 msgid "%d account was disabled because you signed on from another location."
 msgid_plural "%d accounts were disabled because you signed on from another location."
-msgstr[0] "మీరు మరో ప్రదేశంనుండి సైన్ ఆన్ చేశారు."
-msgstr[1] "మీరు మరో ప్రదేశంనుండి సైన్ ఆన్ చేశారు."
+msgstr[0] ""
+msgstr[1] ""
+#msgstr[0] "మీరు మరో ప్రదేశంనుండి సైన్ ఆన్ చేశారు."
+#msgstr[1] "మీరు మరో ప్రదేశంనుండి సైన్ ఆన్ చేశారు."
 
 #: ../pidgin/gtkblist.c:4860
 msgid "<b>Username:</b>"
@@ -15277,8 +15311,10 @@
 #, c-format
 msgid "%d person in room"
 msgid_plural "%d people in room"
-msgstr[0] "గదిలో %d మనుషులున్నారు "
-msgstr[1] "कक्ष में 0 लोग हैं"
+msgstr[0] ""
+msgstr[1] ""
+#msgstr[0] "గదిలో %d మనుషులున్నారు "
+#msgstr[1] "कक्ष में 0 लोग हैं"
 
 #: ../pidgin/gtkconv.c:6574
 #: ../pidgin/gtkstatusbox.c:660
@@ -16545,7 +16581,7 @@
 #: ../pidgin/gtkmain.c:398
 #, c-format
 msgid "%s %s. Try `%s -h' for more information.\n"
-msgstr "Gaim %s. ఇంకా వివరములకు `%s -h' ప్రయత్నించండి.\n"
+msgstr "%s %s. ఇంకా వివరములకు `%s -h' ప్రయత్నించండి.\n"
 
 #: ../pidgin/gtkmain.c:400
 #, c-format
@@ -16595,23 +16631,6 @@
 "on other protocols is at\n"
 "%swiki/DeveloperPages\n"
 msgstr ""
-"%s has segfaulted and attempted to dump a core file.\n"
-"This is a bug in the software and has happened through\n"
-"no fault of your own.\n"
-"\n"
-"If you can reproduce the crash, please notify the Pidgin\n"
-"developers by reporting a bug at\n"
-"%sbug.php\n"
-"\n"
-"Please make sure to specify what you were doing at the time\n"
-"and post the backtrace from the core file.  If you do not know\n"
-"how to get the backtrace, please read the instructions at\n"
-"%sgdb.php\n"
-"\n"
-"If you need further assistance, please IM either SeanEgn or \n"
-"LSchiere (via AIM).  Contact information for Sean and Luke \n"
-"on other protocols is at\n"
-"%scontactinfo.php\n"
 
 #. Translators may want to transliterate the name.
 #. It is not to be translated.
@@ -16644,8 +16663,10 @@
 #, c-format
 msgid "<b>%d new email.</b>"
 msgid_plural "<b>%d new emails.</b>"
-msgstr[0] "<b>ప్లగ్ ఇన్ వివరాలు</b>"
-msgstr[1] "<b>ప్లగ్ ఇన్ వివరాలు</b>"
+msgstr[0] ""
+msgstr[1] ""
+#msgstr[0] "<b>ప్లగ్ ఇన్ వివరాలు</b>"
+#msgstr[1] "<b>ప్లగ్ ఇన్ వివరాలు</b>"
 
 #: ../pidgin/gtknotify.c:998
 #, c-format
@@ -18136,8 +18157,8 @@
 "\n"
 "<b>Buddy Note</b>: %s"
 msgstr ""
-"\n"
-"<b>సోమరి:</b>"
+#"\n"
+#"<b>సోమరి:</b>"
 
 #: ../pidgin/plugins/history.c:195
 msgid "History"
@@ -18560,7 +18581,8 @@
 #: ../pidgin/plugins/relnot.c:71
 #, c-format
 msgid "You are using %s version %s.  The current version is %s.  You can get it from <a href=\"%s\">%s</a><hr>"
-msgstr "మీరు %s వెర్షన్‌ అనువాదాన్ని ఉపయోగిస్తున్నారు. ప్రస్తుత వెర్షన్ %s.<hr>"
+msgstr ""
+#msgstr "మీరు %s వెర్షన్‌ అనువాదాన్ని ఉపయోగిస్తున్నారు. ప్రస్తుత వెర్షన్ %s.<hr>"
 
 #: ../pidgin/plugins/relnot.c:79
 #, c-format
--- a/po/th.po	Fri May 30 14:29:33 2008 +0000
+++ b/po/th.po	Mon Jun 02 06:58:38 2008 +0000
@@ -16,7 +16,7 @@
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
 
 #: ../finch/finch.c:64 ../finch/finch.c:301 ../finch/finch.c:330
 #: ../finch/finch.c:418
@@ -15016,8 +15016,9 @@
 "\n"
 "%s"
 msgstr ""
-"เกิดข้อผิดพลาดขณะบันทึกรูป: %s\n"
-"%s"
+#msgstr ""
+#"เกิดข้อผิดพลาดขณะบันทึกรูป: %s\n"
+#"%s"
 
 #: ../pidgin/gtkimhtml.c:3482 ../pidgin/gtkimhtml.c:3494
 msgid "Save Image"
--- a/po/ur.po	Fri May 30 14:29:33 2008 +0000
+++ b/po/ur.po	Mon Jun 02 06:58:38 2008 +0000
@@ -13,6 +13,7 @@
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Translate Toolkit 0.10\n"
 "X-Poedit-Language: Urdu\n"
 "X-Poedit-SourceCharset: utf.8\n"
@@ -1398,8 +1399,10 @@
 #, c-format
 msgid "%s (%s) has %d new message."
 msgid_plural "%s (%s) has %d new messages."
-msgstr[0] "%s کے پاس %dنیا پیام ہے۔"
-msgstr[1] "%sک ےپاس    %dنئے پیامات ہیں۔"
+msgstr[0] ""
+msgstr[1] ""
+#msgstr[0] "%s کے پاس %dنیا پیام ہے۔"
+#msgstr[1] "%sک ےپاس    %dنئے پیامات ہیں۔"
 
 #: ../finch/gntnotify.c:226
 #: ../pidgin/gtknotify.c:342
@@ -2466,7 +2469,8 @@
 #: ../libpurple/certificate.c:1185
 #, c-format
 msgid "Accept certificate for %s?"
-msgstr "دعوت گفتگو قبول ؟"
+msgstr ""
+#msgstr "دعوت گفتگو قبول ؟"
 
 #. TODO: Find what the handle ought to be
 #: ../libpurple/certificate.c:1191
@@ -3083,7 +3087,8 @@
 #: ../libpurple/plugin.c:663
 #, c-format
 msgid "%s requires %s, but it failed to unload."
-msgstr "انحصاری پلگ ان%sان لوڈہونے میں ناكام ہوا۔"
+msgstr ""
+#msgstr "انحصاری پلگ ان%sان لوڈہونے میں ناكام ہوا۔"
 
 #: ../libpurple/plugins/autoaccept.c:23
 #, fuzzy
@@ -3099,7 +3104,8 @@
 #: ../libpurple/plugins/autoaccept.c:80
 #, c-format
 msgid "Autoaccepted file transfer of \"%s\" from \"%s\" completed."
-msgstr "%s سے ٹرانسفردرخواست فائل قبول؟"
+msgstr ""
+#msgstr "%s سے ٹرانسفردرخواست فائل قبول؟"
 
 #: ../libpurple/plugins/autoaccept.c:82
 msgid "Autoaccept complete"
@@ -4025,7 +4031,8 @@
 #: ../libpurple/protocols/gg/gg.c:278
 #, c-format
 msgid "Couldn't write buddy list for %s to %s"
-msgstr "بڈّی لسٹ لوڈ نہیں كرسكا"
+msgstr ""
+#msgstr "بڈّی لسٹ لوڈ نہیں كرسكا"
 
 #: ../libpurple/protocols/gg/gg.c:303
 #: ../libpurple/protocols/gg/gg.c:304
@@ -4821,7 +4828,8 @@
 #: ../libpurple/protocols/irc/msgs.c:1113
 #, c-format
 msgid "Cannot join %s: Registration is required."
-msgstr "رجسٹریشن کی ضروت تھی"
+msgstr ""
+#msgstr "رجسٹریشن کی ضروت تھی"
 
 #: ../libpurple/protocols/irc/msgs.c:1114
 #: ../libpurple/protocols/silc/ops.c:1093
@@ -5028,7 +5036,8 @@
 #: ../libpurple/protocols/jabber/auth.c:518
 #, c-format
 msgid "%s requires plaintext authentication over an unencrypted connection.  Allow this and continue authentication?"
-msgstr "اس سرور کو ان اینکریپٹیڈ کنیکشن پر سادہ متن تصدیق کی ضرورت ہے ۔ اس کو اجازت  ہے اور تصدیق جاری رکھنا ہے؟"
+msgstr ""
+#msgstr "اس سرور کو ان اینکریپٹیڈ کنیکشن پر سادہ متن تصدیق کی ضرورت ہے ۔ اس کو اجازت  ہے اور تصدیق جاری رکھنا ہے؟"
 
 #: ../libpurple/protocols/jabber/auth.c:325
 #: ../libpurple/protocols/jabber/auth.c:326
@@ -5789,7 +5798,7 @@
 #: ../libpurple/protocols/jabber/jabber.c:689
 #, c-format
 msgid "Registration to %s successful"
-msgstr "کا رجسٹریشن %s@%s کامیاب"
+msgstr "کا رجسٹریشن %s کامیاب"
 
 #: ../libpurple/protocols/jabber/jabber.c:691
 #: ../libpurple/protocols/jabber/jabber.c:692
@@ -5804,7 +5813,7 @@
 #: ../libpurple/protocols/jabber/jabber.c:719
 #, c-format
 msgid "Registration from %s successfully removed"
-msgstr "کا رجسٹریشن %s@%s کامیاب"
+msgstr "کا رجسٹریشن %s کامیاب"
 
 #: ../libpurple/protocols/jabber/jabber.c:721
 #: ../libpurple/protocols/jabber/jabber.c:722
@@ -5880,7 +5889,8 @@
 #: ../libpurple/protocols/jabber/jabber.c:1040
 #, c-format
 msgid "Register New Account at %s"
-msgstr "نیا مہمل اکاؤنٹ رجسٹر کریں"
+msgstr ""
+#msgstr "نیا مہمل اکاؤنٹ رجسٹر کریں"
 
 #: ../libpurple/protocols/jabber/jabber.c:1043
 msgid "Change Registration"
@@ -6342,7 +6352,8 @@
 #: ../libpurple/protocols/yahoo/yahoo.c:4131
 #, c-format
 msgid "%s has buzzed you!"
-msgstr "%s has added you [%s]"
+msgstr ""
+#msgstr "%s has added you [%s]"
 
 #: ../libpurple/protocols/jabber/jabber.c:2281
 #: ../libpurple/protocols/yahoo/yahoo.c:4132
@@ -6935,7 +6946,8 @@
 #: ../libpurple/protocols/msnp9/msn.c:131
 #, c-format
 msgid "%s has nudged you!"
-msgstr "%s has added you [%s]"
+msgstr ""
+#msgstr "%s has added you [%s]"
 
 #: ../libpurple/protocols/msn/msn.c:132
 #: ../libpurple/protocols/msnp9/msn.c:132
@@ -7495,7 +7507,8 @@
 #: ../libpurple/protocols/msn/notification.c:836
 #, c-format
 msgid "Unknown error (%d)"
-msgstr "نامعلوم خامی "
+msgstr ""
+#msgstr "نامعلوم خامی "
 
 #: ../libpurple/protocols/msn/notification.c:837
 #: ../libpurple/protocols/sametime/sametime.c:4471
@@ -7864,7 +7877,8 @@
 #: ../libpurple/protocols/myspace/myspace.c:1794
 #, c-format
 msgid "Protocol error, code %d: %s"
-msgstr "پروسیس لوٹایا گيا خامی کوڈ %d"
+msgstr ""
+#msgstr "پروسیس لوٹایا گيا خامی کوڈ %d"
 
 #: ../libpurple/protocols/myspace/myspace.c:1990
 #: ../libpurple/protocols/myspace/myspace.c:2024
@@ -7923,7 +7937,8 @@
 #: ../libpurple/protocols/myspace/myspace.c:2499
 #, c-format
 msgid "Couldn't connect to host: %s (%d)"
-msgstr "ہاسٹ سے کنیکٹ نہیں ہو سکا"
+msgstr ""
+#msgstr "ہاسٹ سے کنیکٹ نہیں ہو سکا"
 
 #: ../libpurple/protocols/myspace/myspace.c:2670
 #, fuzzy
@@ -8728,7 +8743,8 @@
 #: ../libpurple/protocols/oscar/oscar.c:457
 #, c-format
 msgid "(There was an error receiving this message.  Either you and %s have different encodings selected, or %s has a buggy client.)"
-msgstr "(پیام موصول ہونے میں خامی تھی۔  جس بڈی سے آپ بات کررہے تھے بہت حد تک قیاس ہے کہ کلائنٹ بگی تھا۔)"
+msgstr ""
+#msgstr "(پیام موصول ہونے میں خامی تھی۔  جس بڈی سے آپ بات کررہے تھے بہت حد تک قیاس ہے کہ کلائنٹ بگی تھا۔)"
 
 #. Label
 #: ../libpurple/protocols/oscar/oscar.c:639
@@ -9123,22 +9139,24 @@
 #, c-format
 msgid "You missed %hu message from %s because it was invalid."
 msgid_plural "You missed %hu messages from %s because they were invalid."
-msgstr[0] "آپ نے %huپیام"
-msgstr[1] "آپ نے "
+msgstr[0] ""
+msgstr[1] ""
+#msgstr[0] "آپ نے %huپیام"
+#msgstr[1] "آپ نے "
 
 #: ../libpurple/protocols/oscar/oscar.c:2615
 #, c-format
 msgid "You missed %hu message from %s because it was too large."
 msgid_plural "You missed %hu messages from %s because they were too large."
-msgstr[0] "آپ نے %sسے %hu پیام کو مس کردیا کیونکہ یہ بہت بڑا تھا۔"
-msgstr[1] "آپ نے %sسے %hu پیامات کو مس کردیا کیونکہ یہ بہت بڑےتھے۔"
+msgstr[0] "آپ نے %2$sسے %1$hu پیام کو مس کردیا کیونکہ یہ بہت بڑا تھا۔"
+msgstr[1] "آپ نے %2$sسے %1$hu پیامات کو مس کردیا کیونکہ یہ بہت بڑےتھے۔"
 
 #: ../libpurple/protocols/oscar/oscar.c:2624
 #, c-format
 msgid "You missed %hu message from %s because the rate limit has been exceeded."
 msgid_plural "You missed %hu messages from %s because the rate limit has been exceeded."
-msgstr[0] "آپ نے %sسے  %huپیام مس کردیا کیونکہ قیمت حد گذر گئی۔"
-msgstr[1] "آپ نے%sسے  %hu پیامات مس کردیئے کیونکہ قیمت حد گذر گئی۔"
+msgstr[0] "آپ نے %2$sسے  %1$huپیام مس کردیا کیونکہ قیمت حد گذر گئی۔"
+msgstr[1] "آپ نے%2$sسے  %1$hu پیامات مس کردیئے کیونکہ قیمت حد گذر گئی۔"
 
 #: ../libpurple/protocols/oscar/oscar.c:2633
 #, c-format
@@ -9151,15 +9169,15 @@
 #, c-format
 msgid "You missed %hu message from %s because you are too evil."
 msgid_plural "You missed %hu messages from %s because you are too evil."
-msgstr[0] "آپ نے  %sسے%huپیام مس کردیا کیونکہ آپ  بہت  ناشائستہ ہیں۔"
-msgstr[1] "آپ نے  %sسے%huپیامات مس کردیئے کیونکہ آپ  بہت   ناشائستہ  ہیں ۔"
+msgstr[0] "آپ نے  %2$sسے%1$huپیام مس کردیا کیونکہ آپ  بہت  ناشائستہ ہیں۔"
+msgstr[1] "آپ نے  %2$sسے%1$huپیامات مس کردیئے کیونکہ آپ  بہت   ناشائستہ  ہیں ۔"
 
 #: ../libpurple/protocols/oscar/oscar.c:2651
 #, c-format
 msgid "You missed %hu message from %s for an unknown reason."
 msgid_plural "You missed %hu messages from %s for an unknown reason."
-msgstr[0] " آپ نے نا معلوم وجہ کےلئے %sسے%hu پیام مس کردیا ۔"
-msgstr[1] " آپ نے نا معلوم وجہ کےلئے %sسے%hu پیامات مس کردیئے ۔"
+msgstr[0] " آپ نے نا معلوم وجہ کےلئے %2$sسے%1$hu پیام مس کردیا ۔"
+msgstr[1] " آپ نے نا معلوم وجہ کےلئے %2$sسے%1$hu پیامات مس کردیئے ۔"
 
 # Data is assumed to be the destination sn
 #. Data is assumed to be the destination sn
@@ -9405,7 +9423,8 @@
 #: ../libpurple/protocols/oscar/oscar.c:5109
 #, c-format
 msgid "Could not add the buddy %s for an unknown reason."
-msgstr "آپ کا کمانڈ نا معلوم سبب کے لئے ناکام ہوا۔"
+msgstr ""
+#msgstr "آپ کا کمانڈ نا معلوم سبب کے لئے ناکام ہوا۔"
 
 #: ../libpurple/protocols/oscar/oscar.c:5226
 #, c-format
@@ -9810,7 +9829,8 @@
 #: ../libpurple/protocols/qq/buddy_info.c:601
 #, c-format
 msgid "Setting custom faces is not currently supported. Please choose an image from %s."
-msgstr "آپ كسٹم فیس سیٹ كرنے كی كوشش كررہے ہیں ۔ گائم  جاری طورپر صرف معیاری فیسیس كو اجازت دیتا ہے۔ براہ كرم ایك امیج منتخب كیجیے"
+msgstr ""
+#msgstr "آپ كسٹم فیس سیٹ كرنے كی كوشش كررہے ہیں ۔ گائم  جاری طورپر صرف معیاری فیسیس كو اجازت دیتا ہے۔ براہ كرم ایك امیج منتخب كیجیے"
 
 #: ../libpurple/protocols/qq/buddy_info.c:618
 #: ../libpurple/protocols/qq/buddy_info.c:631
@@ -10271,7 +10291,8 @@
 #: ../libpurple/protocols/qq/sys_msg.c:176
 #, c-format
 msgid "%s has added you [%s] to his or her buddy list"
-msgstr "%sنے آپ كواپنی بڈی لسٹ میں شامل كردیا۔"
+msgstr ""
+#msgstr "%sنے آپ كواپنی بڈی لسٹ میں شامل كردیا۔"
 
 #: ../libpurple/protocols/qq/sys_msg.c:192
 #, c-format
@@ -12897,8 +12918,9 @@
 "Lost connection with %s:\n"
 "%s"
 msgstr ""
-"سرور كے ساتھ كنیكشن گم ہوا:\n"
-"%s"
+#msgstr ""
+#"سرور كے ساتھ كنیكشن گم ہوا:\n"
+#"%s"
 
 #: ../libpurple/protocols/yahoo/yahoo.c:2733
 #, c-format
@@ -12906,8 +12928,9 @@
 "Could not establish a connection with %s:\n"
 "%s"
 msgstr ""
-"سرور كے ساتھ كوئی كنیكشن اسٹابلیش نہیں كیا جاسكتا:\n"
-"%s"
+#msgstr ""
+#"سرور كے ساتھ كوئی كنیكشن اسٹابلیش نہیں كیا جاسكتا:\n"
+#"%s"
 
 #: ../libpurple/protocols/yahoo/yahoo.c:3092
 #: ../libpurple/protocols/yahoo/yahoo.c:3778
@@ -13551,12 +13574,12 @@
 #: ../libpurple/status.c:610
 #, c-format
 msgid "%s changed status from %s to %s"
-msgstr "%s changed status from %s to %s"
+msgstr ""
 
 #: ../libpurple/status.c:613
 #, c-format
 msgid "%s (%s) changed status from %s to %s"
-msgstr "%s changed status from %s to %s"
+msgstr ""
 
 #: ../libpurple/status.c:624
 #, c-format
@@ -13566,7 +13589,8 @@
 #: ../libpurple/status.c:626
 #, c-format
 msgid "%s (%s) is now %s"
-msgstr "%sابھی ہے %s"
+msgstr ""
+#msgstr "%sابھی ہے %s"
 
 #: ../libpurple/status.c:632
 #, c-format
@@ -13576,7 +13600,8 @@
 #: ../libpurple/status.c:634
 #, c-format
 msgid "%s (%s) is no longer %s"
-msgstr "%s اوریادہ نہیں ہےr %s"
+msgstr ""
+#msgstr "%s اوریادہ نہیں ہےr %s"
 
 #: ../libpurple/status.c:1247
 #, c-format
@@ -13673,7 +13698,8 @@
 #: ../libpurple/util.c:3943
 #, c-format
 msgid "Unable to connect to %s"
-msgstr "ہوسٹ سےكنیكٹ ہونے میں نااہل"
+msgstr ""
+#msgstr "ہوسٹ سےكنیكٹ ہونے میں نااہل"
 
 #: ../libpurple/util.c:3770
 #, c-format
@@ -13689,7 +13715,8 @@
 #: ../libpurple/util.c:3861
 #, c-format
 msgid "Unable to connect to %s: %s"
-msgstr "ہوسٹ سےكنیكٹ ہونے میں نااہل"
+msgstr ""
+#msgstr "ہوسٹ سےكنیكٹ ہونے میں نااہل"
 
 #: ../pidgin.desktop.in.h:1
 msgid "Internet Messenger"
@@ -13873,11 +13900,12 @@
 "\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"
 msgstr ""
-"<span size='larger' weight='bold'> گائم میں خوش آمدید!</span>\n"
-"\n"
-"آپ كوئي ہیئت والاIM اكاؤنٹس نہیں ركھتے ہیں ۔ گائم كے ساتھ   جوڑنا شروع كرنے كے لیے <b>ملاؤ</b> بٹن پر نیچے كلك  كیجیےا ور آپ كا پہلا اكاؤنٹ كو  ہیئت دیجیے۔  اگر آپ گائم كو متعدد IM اكاؤنٹس میں  چاہتے ہیں ، مال كو ہیئت دینے كے لیے دوبارہ <b>ملاؤ</b>  پر كلك كیجیے۔\n"
-"\n"
-"آپ ملانے ، مرتب، یا  اكاؤنٹس نكالنے كے لیے اس ونڈو كو  واپس جاسكتے ہیں ،بڈی فہرست  ونڈو میں <b>اكاؤنٹس->ملاؤ/مرتب</b>"
+#msgstr ""
+#"<span size='larger' weight='bold'> گائم میں خوش آمدید!</span>\n"
+#"\n"
+#"آپ كوئي ہیئت والاIM اكاؤنٹس نہیں ركھتے ہیں ۔ گائم كے ساتھ   جوڑنا شروع كرنے كے لیے <b>ملاؤ</b> بٹن پر نیچے كلك  كیجیےا ور آپ كا پہلا اكاؤنٹ كو  ہیئت دیجیے۔  اگر آپ گائم كو متعدد IM اكاؤنٹس میں  چاہتے ہیں ، مال كو ہیئت دینے كے لیے دوبارہ <b>ملاؤ</b>  پر كلك كیجیے۔\n"
+#"\n"
+#"آپ ملانے ، مرتب، یا  اكاؤنٹس نكالنے كے لیے اس ونڈو كو  واپس جاسكتے ہیں ،بڈی فہرست  ونڈو میں <b>اكاؤنٹس->ملاؤ/مرتب</b>"
 
 #: ../pidgin/gtkblist.c:543
 #, c-format
@@ -14203,7 +14231,7 @@
 #: ../pidgin/gtkblist.c:3693
 #, c-format
 msgid "Idle %dd %dh %02dm"
-msgstr "Idle %dh %02dm"
+msgstr ""
 
 #: ../pidgin/gtkblist.c:3695
 #, c-format
@@ -14278,7 +14306,8 @@
 #: ../pidgin/gtkblist.c:4494
 #, c-format
 msgid "%s disabled"
-msgstr "نااہل كیاگیا"
+msgstr ""
+#msgstr "نااہل كیاگیا"
 
 #: ../pidgin/gtkblist.c:4498
 msgid "Reconnect"
@@ -14300,8 +14329,10 @@
 #, c-format
 msgid "%d account was disabled because you signed on from another location."
 msgid_plural "%d accounts were disabled because you signed on from another location."
-msgstr[0] "آپ نے دوسرے لوکیشن سے سائنڈ آن کیا ہے۔"
-msgstr[1] "آپ نے دوسرے لوکیشن سے سائنڈ آن کیا ہے۔"
+msgstr[0] ""
+msgstr[1] ""
+#msgstr[0] "آپ نے دوسرے لوکیشن سے سائنڈ آن کیا ہے۔"
+#msgstr[1] "آپ نے دوسرے لوکیشن سے سائنڈ آن کیا ہے۔"
 
 #: ../pidgin/gtkblist.c:4860
 msgid "<b>Username:</b>"
@@ -14327,9 +14358,10 @@
 "\n"
 "You have no accounts enabled. Enable your IM accounts from the <b>Accounts</b> window at <b>Accounts->Manage</b>. Once you enable accounts, you'll be able to sign on, set your status, and talk to your friends."
 msgstr ""
-"<span weight='bold' size='larger'>گائم كو خوش آمدید!</span>\n"
-"\n"
-" آپ كوئی اكاؤنٹ ممكن نہيں ركھتے ہیں ۔<b>Accounts</b> اكاؤنٹس<b>Accounts->Add/Edit</b>ونڈو سے آپ كا  IM اكاؤنٹس ممكن كرو۔ایك  بار آپ  اكاؤنٹس  ممكن كرتے ہیں ،آپ سائن آن كو قابل كرتے ہیں ،آپ كا اسٹیٹس سیٹ كیجیے ، اورآپ كے فرینڈس سے بات  كیجیے۔"
+#msgstr ""
+#"<span weight='bold' size='larger'>گائم كو خوش آمدید!</span>\n"
+#"\n"
+#" آپ كوئی اكاؤنٹ ممكن نہيں ركھتے ہیں ۔<b>Accounts</b> اكاؤنٹس<b>Accounts->Add/Edit</b>ونڈو سے آپ كا  IM اكاؤنٹس ممكن كرو۔ایك  بار آپ  اكاؤنٹس  ممكن كرتے ہیں ،آپ سائن آن كو قابل كرتے ہیں ،آپ كا اسٹیٹس سیٹ كیجیے ، اورآپ كے فرینڈس سے بات  كیجیے۔"
 
 #. set the Show Offline Buddies option. must be done
 #. * after the treeview or faceprint gets mad. -Robot101
@@ -14756,8 +14788,9 @@
 #, c-format
 msgid "%d person in room"
 msgid_plural "%d people in room"
-msgstr[0] "%d فرد کمرے میں"
+msgstr[0] ""
 msgstr[1] ""
+#msgstr[0] "%d فرد کمرے میں"
 
 #: ../pidgin/gtkconv.c:6574
 #: ../pidgin/gtkstatusbox.c:660
@@ -15310,12 +15343,14 @@
 #: ../pidgin/gtkdialogs.c:368
 #, c-format
 msgid "About %s"
-msgstr "گائم کےبارےمیں"
+msgstr ""
+#msgstr "گائم کےبارےمیں"
 
 #: ../pidgin/gtkdialogs.c:411
 #, c-format
 msgid "%s is a graphical modular messaging client based on libpurple which is capable of connecting to AIM, MSN, Yahoo!, XMPP, ICQ, IRC, SILC, SIP/SIMPLE, Novell GroupWise, Lotus Sametime, Bonjour, Zephyr, MySpaceIM, Gadu-Gadu, and QQ all at once.  It is written using GTK+.<BR><BR>You may modify and redistribute the program under the terms of the GPL (version 2 or later).  A copy of the GPL is contained in the 'COPYING' file distributed with %s.  %s is copyrighted by its contributors.  See the 'COPYRIGHT' file for the complete list of contributors.  We provide no warranty for this program.<BR><BR>"
-msgstr "گائم AIM, MSN, Yahoo!,  كو استعمال كرتے ہوئے ایك ماڈیولر میسیجینگ كلائںٹ  كیبل ہے ۔Jabber, ICQ, IRC, SILC, SIP/SIMPLE, ناول  گروپ وائس، لوٹس مشابہ ٹائم،بونزور، زیفیر،گڈو گڈو، اورQQایك بار میں ۔یہ GTK+.<BR><BR> استعمال كرتے ہوئے لكھا جاتا ہے  آپ ترمیم كرینگے  اور  پروگرام كوGPL شرطوں كے ماتحٹ دوبارہ تقسیم كرینگے (version 2 or later).GPLكی ایك كاپی  'COPYING' فائل میں ركھتی ہے گائم سے تقسیم كی جاتی ہے۔ گائم  اسے شراكت داروں سے   كاپی رائٹیڈ ہے ۔ شراكت داروں كی مكمل فہرست كے لیے   گائم كی 'COPYRIGHT'   فائل دیكھیے۔ ہم اس پروگرام كے لیے كوئي وارنٹی مہیا نہیں كرتے ہیں ۔<BR><BR>"
+msgstr ""
+#msgstr "گائم AIM, MSN, Yahoo!,  كو استعمال كرتے ہوئے ایك ماڈیولر میسیجینگ كلائںٹ  كیبل ہے ۔Jabber, ICQ, IRC, SILC, SIP/SIMPLE, ناول  گروپ وائس، لوٹس مشابہ ٹائم،بونزور، زیفیر،گڈو گڈو، اورQQایك بار میں ۔یہ GTK+.<BR><BR> استعمال كرتے ہوئے لكھا جاتا ہے  آپ ترمیم كرینگے  اور  پروگرام كوGPL شرطوں كے ماتحٹ دوبارہ تقسیم كرینگے (version 2 or later).GPLكی ایك كاپی  'COPYING' فائل میں ركھتی ہے گائم سے تقسیم كی جاتی ہے۔ گائم  اسے شراكت داروں سے   كاپی رائٹیڈ ہے ۔ شراكت داروں كی مكمل فہرست كے لیے   گائم كی 'COPYRIGHT'   فائل دیكھیے۔ ہم اس پروگرام كے لیے كوئي وارنٹی مہیا نہیں كرتے ہیں ۔<BR><BR>"
 
 #: ../pidgin/gtkdialogs.c:429
 #, fuzzy
@@ -15898,17 +15933,18 @@
 #: ../pidgin/gtklog.c:309
 #, c-format
 msgid "Are you sure you want to permanently delete the system log which started at %s?"
-msgstr "كیا آپ واقعی %s for %sپرجھپٹنا خارج كرناچاہتےہیں؟"
+msgstr ""
+#msgstr "كیا آپ واقعی %s for %sپرجھپٹنا خارج كرناچاہتےہیں؟"
 
 #: ../pidgin/gtklog.c:453
 #, c-format
 msgid "<span size='larger' weight='bold'>Conversation in %s on %s</span>"
-msgstr "<span size='larger' weight='bold'>Conversation in %s on %s</span>"
+msgstr ""
 
 #: ../pidgin/gtklog.c:456
 #, c-format
 msgid "<span size='larger' weight='bold'>Conversation with %s on %s</span>"
-msgstr "<span size='larger' weight='bold'>Conversation with %s on %s</span>"
+msgstr ""
 
 #: ../pidgin/gtklog.c:503
 msgid "%B %Y"
@@ -15957,7 +15993,7 @@
 #: ../pidgin/gtkmain.c:398
 #, c-format
 msgid "%s %s. Try `%s -h' for more information.\n"
-msgstr "%s. كوشش `%s -h' مزید معلومات كے لیے.\n"
+msgstr "%s %s. كوشش `%s -h' مزید معلومات كے لیے.\n"
 
 #: ../pidgin/gtkmain.c:400
 #, c-format
@@ -15975,16 +16011,6 @@
 "  --display=DISPLAY   X display to use\n"
 "  -v, --version       display the current version and exit\n"
 msgstr ""
-"Gaim %s\n"
-"Usage: %s [OPTION]...\n"
-"\n"
-"  -c, --config=DIR    use DIR for config files\n"
-"  -d, --debug         print debugging messages to stdout\n"
-"  -h, --help          display this help and exit\n"
-"  -n, --nologin       don't automatically login\n"
-"  -l, --login[=NAME]  automatically login (optional argument NAME specifies\n"
-"                      account(s) to use, separated by commas)\n"
-"  -v, --version       display the current version and exit\n"
 
 #: ../pidgin/gtkmain.c:528
 #, c-format
@@ -16007,23 +16033,24 @@
 "on other protocols is at\n"
 "%swiki/DeveloperPages\n"
 msgstr ""
-"گائم سیگافالٹ ہوگیاہےاوراہم فائل كوپھینكنےكی كوشش كی۔ \n"
-"یہ سافٹ وئرمیں بگ ہے اوراس كے ذریعے ہواہے \n"
-"آپ كی كوئی غلطی نہیں۔\n"
-"\n"
-"اگرآپ دوبارہ كریش پروڈیوس كرسكتے ہیں تو، براہ كرم گائم\n"
-"ڈیولپرز كو بگ كی رپورٹ كریں\n"
-"%sbug.php\n"
-"\n"
-"اس بات كا خیال ركھیں یہ بتانانہ بھولیں كہ آپ اس وقت كیاكررہےتھے\n"
-"اور اہم فائل سےبیك ٹریس پوسٹ كریں۔ اگرآپ كو معلوم نہیں ہے \n"
-"بیك ٹریس كس طرح حاصل كریں تو،براہ كرم ہدایات پڑھیں\n"
-"%sgdb.php\n"
-"\n"
-"اگرآپ كومزیدمددكی ضرورت ہےتو، براہ كرم IM either SeanEgn or \n"
-"LSchiere (via AIM)٫  سین اورلیوك معلومات كےلیےرابطہ كریں  \n"
-"دیگرپروٹوكالزہے\n"
-"%scontactinfo.php\n"
+#msgstr ""
+#"گائم سیگافالٹ ہوگیاہےاوراہم فائل كوپھینكنےكی كوشش كی۔ \n"
+#"یہ سافٹ وئرمیں بگ ہے اوراس كے ذریعے ہواہے \n"
+#"آپ كی كوئی غلطی نہیں۔\n"
+#"\n"
+#"اگرآپ دوبارہ كریش پروڈیوس كرسكتے ہیں تو، براہ كرم گائم\n"
+#"ڈیولپرز كو بگ كی رپورٹ كریں\n"
+#"%sbug.php\n"
+#"\n"
+#"اس بات كا خیال ركھیں یہ بتانانہ بھولیں كہ آپ اس وقت كیاكررہےتھے\n"
+#"اور اہم فائل سےبیك ٹریس پوسٹ كریں۔ اگرآپ كو معلوم نہیں ہے \n"
+#"بیك ٹریس كس طرح حاصل كریں تو،براہ كرم ہدایات پڑھیں\n"
+#"%sgdb.php\n"
+#"\n"
+#"اگرآپ كومزیدمددكی ضرورت ہےتو، براہ كرم IM either SeanEgn or \n"
+#"LSchiere (via AIM)٫  سین اورلیوك معلومات كےلیےرابطہ كریں  \n"
+#"دیگرپروٹوكالزہے\n"
+#"%scontactinfo.php\n"
 
 #. Translators may want to transliterate the name.
 #. It is not to be translated.
@@ -16052,8 +16079,8 @@
 #, c-format
 msgid "<b>%d new email.</b>"
 msgid_plural "<b>%d new emails.</b>"
-msgstr[0] "<b>Plugin Details</b>"
-msgstr[1] "<b>Plugin Details</b>"
+msgstr[0] ""
+msgstr[1] ""
 
 #: ../pidgin/gtknotify.c:998
 #, c-format
@@ -16891,7 +16918,8 @@
 #: ../pidgin/gtkutils.c:1501
 #, c-format
 msgid "%s cannot transfer a folder. You will need to send the files within individually."
-msgstr "گائم فولڈ رٹرانسفر نہیں کر سکا ۔آپ کو انفرادی طور پر فائلیں بھیجنے کی ضرورت ہے"
+msgstr ""
+#msgstr "گائم فولڈ رٹرانسفر نہیں کر سکا ۔آپ کو انفرادی طور پر فائلیں بھیجنے کی ضرورت ہے"
 
 #: ../pidgin/gtkutils.c:1535
 #: ../pidgin/gtkutils.c:1547
@@ -17806,7 +17834,8 @@
 #: ../pidgin/plugins/relnot.c:71
 #, c-format
 msgid "You are using %s version %s.  The current version is %s.  You can get it from <a href=\"%s\">%s</a><hr>"
-msgstr "آپ گائم ورجن %s استعمال کررہے ہیں۔حالیہ ورجن ہے%s.<hr>"
+msgstr ""
+#msgstr "آپ گائم ورجن %s استعمال کررہے ہیں۔حالیہ ورجن ہے%s.<hr>"
 
 #: ../pidgin/plugins/relnot.c:79
 #, c-format
@@ -18091,7 +18120,8 @@
 #: ../pidgin/plugins/win32/winprefs/winprefs.c:312
 #, c-format
 msgid "_Start %s on Windows startup"
-msgstr "_ ونڈوز اسٹارٹ اپ پر گائم شروع کریں"
+msgstr ""
+#msgstr "_ ونڈوز اسٹارٹ اپ پر گائم شروع کریں"
 
 #: ../pidgin/plugins/win32/winprefs/winprefs.c:327
 msgid "_Dockable Buddy List"
--- a/po/vi.po	Fri May 30 14:29:33 2008 +0000
+++ b/po/vi.po	Mon Jun 02 06:58:38 2008 +0000
@@ -5860,7 +5860,8 @@
 #: ../libpurple/protocols/jabber/jabber.c:710
 #, c-format
 msgid "Registration to %s successful"
-msgstr "Đăng ký thành công với %s@%"
+msgstr ""
+#msgstr "Đăng ký thành công với %s@%"
 
 #: ../libpurple/protocols/jabber/jabber.c:712
 #: ../libpurple/protocols/jabber/jabber.c:713
@@ -11668,7 +11669,7 @@
 #: ../libpurple/protocols/silc10/ops.c:712
 #, c-format
 msgid "You have been kicked off <I>%s</I> by <I>%s</I> (%s)"
-msgstr "Bạn đã bị <I>%2$s</I> đã khỏi <I>%1$s</I> (%s)"
+msgstr "Bạn đã bị <I>%2$s</I> đã khỏi <I>%1$s</I> (%3$s)"
 
 #: ../libpurple/protocols/silc/ops.c:718
 #: ../libpurple/protocols/silc/ops.c:723
--- a/po/zh_CN.po	Fri May 30 14:29:33 2008 +0000
+++ b/po/zh_CN.po	Mon Jun 02 06:58:38 2008 +0000
@@ -13383,7 +13383,7 @@
 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] "您已经有名为 %s 的 %d 位联系人。您是否想要合并?"
+msgstr[0] "您已经有名为 %2$s 的 %1$d 位联系人。您是否想要合并?"
 
 #: ../pidgin/gtkblist.c:525
 msgid ""