changeset 22903:ab1e99cb4ced

merge of '0d3a3dbf15f3b76dc4ee06bc9177442fe4906bc5' and 'eed179323cd437e9f08587c2290f44afa248093d'
author Éric Boumaour <eric.boumaour_pidgin@m4x.org>
date Sun, 11 May 2008 11:24:29 +0000
parents c9aebd4762a8 (diff) d83c2f34cef2 (current diff)
children 7e2e4d3abd59
files
diffstat 21 files changed, 227 insertions(+), 113 deletions(-) [+]
line wrap: on
line diff
--- a/COPYRIGHT	Sun May 11 11:19:42 2008 +0000
+++ b/COPYRIGHT	Sun May 11 11:24:29 2008 +0000
@@ -249,6 +249,7 @@
 Kurt McKee
 Torrey McMahon
 Robert McQueen
+Mihály Mészáros
 Robert Mibus
 Lars T. Mikkelsen
 Benjamin Miller
--- a/ChangeLog	Sun May 11 11:19:42 2008 +0000
+++ b/ChangeLog	Sun May 11 11:24:29 2008 +0000
@@ -53,6 +53,9 @@
 
 	Finch:
 	* New default binding ctrl+x to open context menus.
+	* Menu triggers and other bindings will no longer conflict.
+	* Middle click pastes the internal clipboard (when mouse support is
+	  enabled).
 
 version 2.4.1 (03/31/2008):
 	http://developer.pidgin.im/query?status=closed&milestone=2.4.1
--- a/ChangeLog.API	Sun May 11 11:19:42 2008 +0000
+++ b/ChangeLog.API	Sun May 11 11:24:29 2008 +0000
@@ -11,6 +11,9 @@
 		* Callbacks to Purple::Util::fetch_url and the
 		  Purple::Request::* functions can now be specified as both
 		  strings (the name of the callback function) and as coderefs.
+	Finch:
+		libgnt:
+		* Added gnt_bindable_check_key to check if a keystroke is bound.
 
 version 2.4.0 (02/29/2008):
 	libpurple:
--- a/configure.ac	Sun May 11 11:19:42 2008 +0000
+++ b/configure.ac	Sun May 11 11:24:29 2008 +0000
@@ -1221,7 +1221,15 @@
 
 dnl Check for NetworkManager.h; if we don't have it, oh well
 	if test "x$enable_nm" = "xyes" ; then
-		AC_CHECK_HEADERS(NetworkManager/NetworkManager.h, [], enable_nm=no)
+		PKG_CHECK_MODULES(NETWORKMANAGER, [NetworkManager], [
+			AC_SUBST(NETWORKMANAGER_CFLAGS)
+			AC_SUBST(NETWORKMANAGER_LIBS)
+			AC_DEFINE(HAVE_NETWORKMANAGER, 1, [Define if we have NetworkManager.])
+		], [
+			AC_MSG_ERROR([
+NetworkManager development headers not found.
+Use --disable-nm if you do not need NetworkManager support.
+])])
 	fi
 else
 	enable_nm=no
--- a/finch/gntlog.h	Sun May 11 11:19:42 2008 +0000
+++ b/finch/gntlog.h	Sun May 11 11:24:29 2008 +0000
@@ -1,7 +1,6 @@
 /**
  * @file gntlog.h GNT Log viewer
  * @ingroup finch
- * @see @ref gntlog-signals
  */
 
 /* finch
--- a/finch/libgnt/gntbindable.c	Sun May 11 11:19:42 2008 +0000
+++ b/finch/libgnt/gntbindable.c	Sun May 11 11:24:29 2008 +0000
@@ -339,6 +339,13 @@
 	return FALSE;
 }
 
+gboolean
+gnt_bindable_check_key(GntBindable *bindable, const char *keys) {
+	GntBindableClass *klass = GNT_BINDABLE_CLASS(GNT_BINDABLE_GET_CLASS(bindable));
+	GntBindableActionParam *param = g_hash_table_lookup(klass->bindings, keys);
+	return (param && param->action);
+}
+
 static void
 register_binding(GntBindableClass *klass, const char *name, const char *trigger, GList *list)
 {
--- a/finch/libgnt/gntbindable.h	Sun May 11 11:19:42 2008 +0000
+++ b/finch/libgnt/gntbindable.h	Sun May 11 11:24:29 2008 +0000
@@ -149,6 +149,16 @@
 gboolean gnt_bindable_perform_action_key(GntBindable *bindable, const char *keys);
 
 /**
+ * Discover if a key is bound.
+ *
+ * @param bindable  The bindable object.
+ * @param keys      The key to check for.
+ *
+ * @return  @c TRUE if the the key has an action associated with it.
+ */
+gboolean gnt_bindable_check_key(GntBindable *bindable, const char *keys);
+
+/**
  * Perform an action on a bindable object.
  *
  * @param bindable  The bindable object.
--- a/finch/libgnt/gntentry.c	Sun May 11 11:19:42 2008 +0000
+++ b/finch/libgnt/gntentry.c	Sun May 11 11:24:29 2008 +0000
@@ -839,6 +839,17 @@
 	entry_redraw(widget);
 }
 
+static gboolean
+gnt_entry_clicked(GntWidget *widget, GntMouseEvent event, int x, int y)
+{
+	if (event == GNT_MIDDLE_MOUSE_DOWN) {
+		clipboard_paste(GNT_BINDABLE(widget), NULL);
+		return TRUE;
+	}
+	return FALSE;
+
+}
+
 static void
 gnt_entry_class_init(GntEntryClass *klass)
 {
@@ -846,6 +857,7 @@
 	char s[2] = {erasechar(), 0};
 
 	parent_class = GNT_WIDGET_CLASS(klass);
+	parent_class->clicked = gnt_entry_clicked;
 	parent_class->destroy = gnt_entry_destroy;
 	parent_class->draw = gnt_entry_draw;
 	parent_class->map = gnt_entry_map;
--- a/finch/libgnt/gntmenu.c	Sun May 11 11:19:42 2008 +0000
+++ b/finch/libgnt/gntmenu.c	Sun May 11 11:24:29 2008 +0000
@@ -168,7 +168,8 @@
 			continue;
 		while (*text) {
 			char ch = tolower(*text++);
-			if (ch == ' ' || bools[(int)GET_VAL(ch)])
+			char t[2] = {ch, '\0'};
+			if (ch == ' ' || bools[(int)GET_VAL(ch)] || gnt_bindable_check_key(GNT_BINDABLE(menu), t))
 				continue;
 			trigger = ch;
 			break;
--- a/libpurple/Makefile.am	Sun May 11 11:19:42 2008 +0000
+++ b/libpurple/Makefile.am	Sun May 11 11:24:29 2008 +0000
@@ -244,7 +244,7 @@
 	$(DBUS_LIBS) \
 	$(GLIB_LIBS) \
 	$(LIBXML_LIBS) \
-	$(LIBNM_LIBS) \
+	$(NETWORKMANAGER_LIBS) \
 	$(INTLLIBS) \
 	-lm
 
@@ -258,4 +258,4 @@
 	$(DEBUG_CFLAGS) \
 	$(DBUS_CFLAGS) \
 	$(LIBXML_CFLAGS) \
-	$(LIBNM_CFLAGS)
+	$(NETWORKMANAGER_CFLAGS)
--- a/libpurple/blist.h	Sun May 11 11:19:42 2008 +0000
+++ b/libpurple/blist.h	Sun May 11 11:24:29 2008 +0000
@@ -957,6 +957,7 @@
  * @param node The node.
  *
  * @return The type of the node.
+ * @since 2.1.0
  */
 PurpleBlistNodeType purple_blist_node_get_type(PurpleBlistNode *node);
 
--- a/libpurple/conversation.h	Sun May 11 11:19:42 2008 +0000
+++ b/libpurple/conversation.h	Sun May 11 11:24:29 2008 +0000
@@ -119,7 +119,7 @@
 	PURPLE_MESSAGE_IMAGES      = 0x1000, /**< Message contains images  */
 	PURPLE_MESSAGE_NOTIFY      = 0x2000, /**< Message is a notification */
 	PURPLE_MESSAGE_NO_LINKIFY  = 0x4000, /**< Message should not be auto-
-										   linkified */
+										   linkified @since 2.1.0 */
 	PURPLE_MESSAGE_INVISIBLE   = 0x8000, /**< Message should not be displayed */
 } PurpleMessageFlags;
 
--- a/libpurple/eventloop.h	Sun May 11 11:19:42 2008 +0000
+++ b/libpurple/eventloop.h	Sun May 11 11:24:29 2008 +0000
@@ -141,6 +141,7 @@
 	 * #timeout_add.
 	 *
 	 * @see purple_timeout_add_seconds()
+	 * @since 2.1.0
 	 **/
 	guint (*timeout_add_seconds)(guint interval, GSourceFunc function,
 	                             gpointer data);
--- a/libpurple/network.c	Sun May 11 11:19:42 2008 +0000
+++ b/libpurple/network.c	Sun May 11 11:24:29 2008 +0000
@@ -59,9 +59,9 @@
 #  define HX_SIZE_OF_IFREQ(a) sizeof(a)
 #endif
 
-#ifdef HAVE_NETWORKMANAGER_NETWORKMANAGER_H
+#ifdef HAVE_NETWORKMANAGER
 #include <dbus/dbus-glib.h>
-#include <NetworkManager/NetworkManager.h>
+#include <NetworkManager.h>
 
 static DBusGConnection *nm_conn = NULL;
 static DBusGProxy *nm_proxy = NULL;
@@ -81,7 +81,7 @@
 	UPnPMappingAddRemove *mapping_data;
 };
 
-#ifdef HAVE_NETWORKMANAGER_NETWORKMANAGER_H
+#ifdef HAVE_NETWORKMANAGER
 static NMState nm_get_network_state(void);
 #endif
 
@@ -593,7 +593,7 @@
 gboolean
 purple_network_is_available(void)
 {
-#ifdef HAVE_NETWORKMANAGER_NETWORKMANAGER_H
+#ifdef HAVE_NETWORKMANAGER
 	NMState state = nm_get_network_state();
 	if (state == NM_STATE_UNKNOWN)
 	{
@@ -612,7 +612,7 @@
 #endif
 }
 
-#ifdef HAVE_NETWORKMANAGER_NETWORKMANAGER_H
+#ifdef HAVE_NETWORKMANAGER
 static void
 nm_update_state(NMState state)
 {
@@ -700,7 +700,7 @@
 void
 purple_network_init(void)
 {
-#ifdef HAVE_NETWORKMANAGER_NETWORKMANAGER_H
+#ifdef HAVE_NETWORKMANAGER
 	GError *error = NULL;
 #endif
 #ifdef _WIN32
@@ -729,7 +729,7 @@
 	if(purple_prefs_get_bool("/purple/network/map_ports") || purple_prefs_get_bool("/purple/network/auto_ip"))
 		purple_upnp_discover(NULL, NULL);
 
-#ifdef HAVE_NETWORKMANAGER_NETWORKMANAGER_H
+#ifdef HAVE_NETWORKMANAGER
 	nm_conn = dbus_g_bus_get(DBUS_BUS_SYSTEM, &error);
 	if (!nm_conn) {
 		purple_debug_warning("network", "Error connecting to DBus System service: %s.\n", error->message);
@@ -738,8 +738,8 @@
 		                                     NM_DBUS_SERVICE,
 		                                     NM_DBUS_PATH,
 		                                     NM_DBUS_INTERFACE);
-		dbus_g_proxy_add_signal(nm_proxy, NM_DBUS_SIGNAL_STATE_CHANGE, G_TYPE_UINT, G_TYPE_INVALID);
-		dbus_g_proxy_connect_signal(nm_proxy, NM_DBUS_SIGNAL_STATE_CHANGE,
+		dbus_g_proxy_add_signal(nm_proxy, "StateChange", G_TYPE_UINT, G_TYPE_INVALID);
+		dbus_g_proxy_connect_signal(nm_proxy, "StateChange",
 		                            G_CALLBACK(nm_state_change_cb), NULL, NULL);
 
 		dbus_proxy = dbus_g_proxy_new_for_name(nm_conn,
@@ -762,9 +762,9 @@
 void
 purple_network_uninit(void)
 {
-#ifdef HAVE_NETWORKMANAGER_NETWORKMANAGER_H
+#ifdef HAVE_NETWORKMANAGER
 	if (nm_proxy) {
-		dbus_g_proxy_disconnect_signal(nm_proxy, NM_DBUS_SIGNAL_STATE_CHANGE, G_CALLBACK(nm_state_change_cb), NULL);
+		dbus_g_proxy_disconnect_signal(nm_proxy, "StateChange", G_CALLBACK(nm_state_change_cb), NULL);
 		g_object_unref(G_OBJECT(nm_proxy));
 	}
 	if (dbus_proxy) {
--- a/libpurple/prpl.h	Sun May 11 11:19:42 2008 +0000
+++ b/libpurple/prpl.h	Sun May 11 11:24:29 2008 +0000
@@ -177,6 +177,7 @@
 	/**
 	 * Indicates that slash commands are native to this protocol.
 	 * Used as a hint that unknown commands should not be sent as messages.
+	 * @since 2.1.0
 	 */
 	OPT_PROTO_SLASH_COMMANDS_NATIVE = 0x00000400,
 
--- a/libpurple/util.c	Sun May 11 11:19:42 2008 +0000
+++ b/libpurple/util.c	Sun May 11 11:24:29 2008 +0000
@@ -831,9 +831,6 @@
 				tzoff = tzhrs*60*60 + tzmins*60;
 				if (offset_positive)
 					tzoff *= -1;
-				/* We don't want the C library doing DST calculations
-				 * if we know the UTC offset already. */
-				t.tm_isdst = 0;
 			}
 			else if (utc)
 			{
@@ -895,14 +892,11 @@
 		}
 	}
 
+	retval = mktime(&t);
+
 	if (tm != NULL)
-	{
 		*tm = t;
-		tm->tm_isdst = -1;
-		mktime(tm);
-	}
-
-	retval = mktime(&t);
+
 	if (tzoff != PURPLE_NO_TZ_OFF)
 		retval += tzoff;
 
--- a/libpurple/util.h	Sun May 11 11:19:42 2008 +0000
+++ b/libpurple/util.h	Sun May 11 11:24:29 2008 +0000
@@ -1090,7 +1090,7 @@
 /**
  * Checks if the given IP address is a syntactically valid IPv4 address.
  *
- * @param address The IP address to validate.
+ * @param ip The IP address to validate.
  *
  * @return True if the IP address is syntactically correct.
  */
--- a/pidgin/gtkdialogs.c	Sun May 11 11:19:42 2008 +0000
+++ b/pidgin/gtkdialogs.c	Sun May 11 11:24:29 2008 +0000
@@ -629,7 +629,7 @@
 #endif
 
 #ifndef _WIN32
-#ifdef HAVE_NETWORKMANAGER_NETWORKMANAGER_H
+#ifdef HAVE_NETWORKMANAGER
 	g_string_append(str, "    <b>NetworkManager:</b> Enabled<br/>");
 #else
 	g_string_append(str, "    <b>NetworkManager:</b> Disabled<br/>");
--- a/pidgin/gtkthemes.h	Sun May 11 11:19:42 2008 +0000
+++ b/pidgin/gtkthemes.h	Sun May 11 11:24:29 2008 +0000
@@ -46,10 +46,20 @@
 extern GSList *smiley_themes;
 
 void pidgin_themes_init(void);
+
 gboolean pidgin_themes_smileys_disabled(void);
+
 void pidgin_themes_smiley_themeize(GtkWidget *);
+
 void pidgin_themes_smiley_theme_probe(void);
+
 void pidgin_themes_load_smiley_theme(const char *file, gboolean load);
+
+/**
+ * @since 2.1.0
+ */
 void pidgin_themes_remove_smiley_theme(const char *file);
+
 GSList *pidgin_themes_get_proto_smileys(const char *id);
-#endif /* _PIDGINDIALOGS_H_ */
+
+#endif /* _PIDGINTHEMES_H_ */
--- a/pidgin/plugins/history.c	Sun May 11 11:19:42 2008 +0000
+++ b/pidgin/plugins/history.c	Sun May 11 11:24:29 2008 +0000
@@ -43,6 +43,7 @@
 	char *header;
 	char *protocol;
 	char *escaped_alias;
+	char *header_date;
 
 	convtype = purple_conversation_get_type(c);
 	gtkconv = PIDGIN_CONVERSATION(c);
@@ -122,8 +123,13 @@
 		gtk_imhtml_append_text(GTK_IMHTML(gtkconv->imhtml), "<BR>", options);
 
 	escaped_alias = g_markup_escape_text(alias, -1);
-	header = g_strdup_printf(_("<b>Conversation with %s on %s:</b><br>"), escaped_alias,
-							 purple_date_format_full(localtime(&((PurpleLog *)logs->data)->time)));
+
+	if (((PurpleLog *)logs->data)->tm)
+		header_date = purple_date_format_full(((PurpleLog *)logs->data)->tm);
+	else
+		header_date = purple_date_format_full(localtime(&((PurpleLog *)logs->data)->time));
+
+	header = g_strdup_printf(_("<b>Conversation with %s on %s:</b><br>"), escaped_alias, header_date);
 	gtk_imhtml_append_text(GTK_IMHTML(gtkconv->imhtml), header, options);
 	g_free(header);
 	g_free(escaped_alias);
--- a/po/de.po	Sun May 11 11:19:42 2008 +0000
+++ b/po/de.po	Sun May 11 11:24:29 2008 +0000
@@ -11,9 +11,9 @@
 msgstr ""
 "Project-Id-Version: de\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-04-12 10:45+0200\n"
-"PO-Revision-Date: 2008-04-12 10:45+0200\n"
-"Last-Translator: Jochen Kemnade <jochenkemnade@web.de>\n"
+"POT-Creation-Date: 2008-05-10 23:34+0200\n"
+"PO-Revision-Date: 2008-05-10 23:15+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"
@@ -67,7 +67,7 @@
 msgid "Account was not added"
 msgstr "Konto wurde nicht hinzugefügt"
 
-msgid "Screenname of an account must be non-empty."
+msgid "Username of an account must be non-empty."
 msgstr "Benutzername eines Kontos darf nicht leer sein."
 
 msgid "New mail notifications"
@@ -91,7 +91,7 @@
 msgid "Protocol:"
 msgstr "Protokoll:"
 
-msgid "Screen name:"
+msgid "Username:"
 msgstr "Benutzername:"
 
 msgid "Password:"
@@ -178,7 +178,7 @@
 msgid "Default"
 msgstr "Standard"
 
-msgid "You must provide a screename for the buddy."
+msgid "You must provide a username for the buddy."
 msgstr "Sie müssen einen Benutzernamen für den Buddy angeben."
 
 msgid "You must provide a group."
@@ -193,8 +193,8 @@
 msgid "Error adding buddy"
 msgstr "Fehler beim Hinzufügen des Buddys"
 
-msgid "Screen Name"
-msgstr "Benutzername"
+msgid "Username"
+msgstr "Benutzer"
 
 msgid "Alias (optional)"
 msgstr "Alias (optional)"
@@ -354,11 +354,11 @@
 msgstr "Sperrung aufheben"
 
 msgid ""
-"Please enter the screen name or alias of the person you would like to Block/"
+"Please enter the username or alias of the person you would like to Block/"
 "Unblock."
 msgstr ""
-"Bitte geben Sie den Benutzernamen der Person ein, die Sie blockieren oder "
-"für die Sie die Blockierung aufheben wollen."
+"Bitte geben Sie den Benutzernamen oder den Alias der Person ein, die Sie "
+"blockieren oder für die Sie die Blockierung aufheben wollen."
 
 #. Not multiline
 #. Not masked?
@@ -369,10 +369,10 @@
 msgid "New Instant Message"
 msgstr "Neue Sofortnachricht"
 
-msgid ""
-"Please enter the screen name or alias of the person you would like to IM."
-msgstr ""
-"Bitte geben Sie den Benutzernamen der Person ein, mit der Sie chatten wollen."
+msgid "Please enter the username or alias of the person you would like to IM."
+msgstr ""
+"Bitte geben Sie den Benutzernamen oder den Alias der Person ein, mit der Sie "
+"chatten wollen."
 
 msgid "Channel"
 msgstr "Kanal"
@@ -386,6 +386,13 @@
 msgid "Join"
 msgstr "Betreten"
 
+msgid ""
+"Please enter the username or alias of the person whose log you would like to "
+"view."
+msgstr ""
+"Bitte geben Sie den Benutzernamen oder den Alias der Person ein, deren "
+"Mitschnitt Sie sehen möchten."
+
 #. Create the "Options" frame.
 msgid "Options"
 msgstr "Optionen"
@@ -399,6 +406,9 @@
 msgid "Join Chat..."
 msgstr "Chat betreten..."
 
+msgid "View Log..."
+msgstr "Mitschnitt anzeigen..."
+
 msgid "Show"
 msgstr "Anzeigen"
 
@@ -610,9 +620,6 @@
 msgid "Add Buddy Pounce..."
 msgstr "Buddy-Alarm hinzufügen..."
 
-msgid "View Log..."
-msgstr "Mitschnitt anzeigen..."
-
 msgid "Enable Logging"
 msgstr "Mitschnitt einschalten"
 
@@ -865,6 +872,9 @@
 msgid "(none)"
 msgstr "(kein)"
 
+msgid "URI"
+msgstr "URI"
+
 msgid "ERROR"
 msgstr "FEHLER"
 
@@ -1114,6 +1124,12 @@
 msgid "Logging"
 msgstr "Mitschnitt"
 
+msgid "You must fill all the required fields."
+msgstr "Sie müssen alle erforderlichen Felder ausfüllen."
+
+msgid "The required fields are underlined."
+msgstr "Die erforderlichen Felder sind unterstrichen."
+
 msgid "Not implemented yet."
 msgstr "Noch nicht implementiert."
 
@@ -1163,7 +1179,7 @@
 msgid "Others talk in chat"
 msgstr "Andere sprechen im Chat"
 
-msgid "Someone says your screen name in chat"
+msgid "Someone says your username in chat"
 msgstr "Jemand nennt Ihren Benutzernamen im Chat"
 
 msgid "GStreamer Failure"
@@ -2503,10 +2519,10 @@
 #. *< summary
 msgid ""
 "Prepends a newline to messages so that the rest of the message appears below "
-"the screen name in the conversation window."
+"the username in the conversation window."
 msgstr ""
 "Fügt einen Zeilenumbruch vor Nachrichten ein, sodass im Gesprächsfenster der "
-"Nachrichtentext unter dem Benutzernamen erscheint."
+"Rest der Nachricht unter dem Benutzernamen erscheint."
 
 msgid "Offline Message Emulation"
 msgstr "Offline-Nachrichten-Emulation"
@@ -3152,9 +3168,6 @@
 msgid "Encodings"
 msgstr "Kodierungen"
 
-msgid "Username"
-msgstr "Benutzer"
-
 msgid "Real name"
 msgstr "Echter Name"
 
@@ -3169,6 +3182,17 @@
 msgstr "Falscher Modus"
 
 #, c-format
+msgid "Ban on %s by %s, set %ld seconds ago"
+msgstr "Verbot zu %s von %s, gesetzt vor %ld Sekunden"
+
+#, c-format
+msgid "Ban on %s"
+msgstr "Verbot zu %s"
+
+msgid "End of ban list"
+msgstr "Ende der Bannliste"
+
+#, c-format
 msgid "You are banned from %s."
 msgstr "Sie sind aus %s verbannt worden."
 
@@ -3531,6 +3555,11 @@
 "Der Server benötigt TLS/SSL zur Anmeldung.  Es wurde kein TLS/SSL-Support "
 "gefunden."
 
+msgid "You require encryption, but no TLS/SSL support found."
+msgstr ""
+"Sie fordern Verschlüsselung, aber es wurde keine TLS/SSL-Unterstützung "
+"gefunden."
+
 msgid "Server requires plaintext authentication over an unencrypted stream"
 msgstr ""
 "Der Server erfordert eine Klartext-Authentifizierung über einen "
@@ -3554,13 +3583,6 @@
 msgid "Server does not use any supported authentication method"
 msgstr "Der Server benutzt keine der unterstützten Authentifizierungsmethoden"
 
-msgid ""
-"This server requires plaintext authentication over an unencrypted "
-"connection.  Allow this and continue authentication?"
-msgstr ""
-"Der Server erfordert eine Klartext-Authentifizierung über einen "
-"unverschlüsselten Kanal.  Wollen Sie dies erlauben und fortfahren?"
-
 msgid "Invalid challenge from server"
 msgstr "Ungültige Challenge vom Server"
 
@@ -4449,9 +4471,6 @@
 msgid "Allow plaintext auth over unencrypted streams"
 msgstr "Erlaube Klartext-Authentifikation über einen unverschlüsselten Kanal"
 
-msgid "Use GSSAPI (Kerberos v5) for authentication"
-msgstr "GSSAPI (Kerberos v5) für Authentifizierung benutzen"
-
 msgid "Connect port"
 msgstr "Verbindungsport"
 
@@ -4626,7 +4645,7 @@
 msgid "Already logged in"
 msgstr "Schon angemeldet"
 
-msgid "Invalid screen name"
+msgid "Invalid username"
 msgstr "Ungültiger Benutzername"
 
 msgid "Invalid friendly name"
@@ -5302,7 +5321,7 @@
 msgid "Unable to add \"%s\"."
 msgstr "Kann „%s“ nicht hinzufügen."
 
-msgid "The screen name specified is invalid."
+msgid "The username specified is invalid."
 msgstr "Der angegebene Benutzername ist ungültig."
 
 msgid "Has you"
@@ -5729,10 +5748,10 @@
 msgid "Master archive is misconfigured"
 msgstr "Master-Archiv ist falsch konfiguriert"
 
-msgid "Incorrect screen name or password"
-msgstr "Falscher Benutzername oder falsches Passwort"
-
-msgid "Could not recognize the host of the screen name you entered"
+msgid "Incorrect username or password"
+msgstr "Ungültiger Benutzername oder Passwort"
+
+msgid "Could not recognize the host of the username you entered"
 msgstr ""
 "Konnte den Rechnernamen des Benutzers, den Sie eingegeben haben, nicht "
 "erkennen"
@@ -5749,8 +5768,8 @@
 msgid "You have reached your limit for the number of contacts allowed"
 msgstr "Sie haben die Grenze der maximal erlaubten Kontakte erreicht"
 
-msgid "You have entered an incorrect screen name"
-msgstr "Sie haben einen falschen Benutzernamen eingegeben"
+msgid "You have entered an incorrect username"
+msgstr "Sie haben einen ungültigen Benutzernamen eingegeben"
 
 msgid "An error occurred while updating the directory"
 msgstr "Beim Aktualisieren des Verzeichnisses trat ein Fehler auf"
@@ -6720,11 +6739,11 @@
 
 #, c-format
 msgid ""
-"The user %s has given you permission to add you to their buddy list.  Do you "
-"want to add them?"
-msgstr ""
-"Der Benutzer %s hat Ihnen gestattet, Sie zu seiner Buddy-Liste hinzuzufügen. "
-"Möchten Sie ihn hinzufügen?"
+"The user %s has given you permission to add him or her to your buddy list.  "
+"Do you want to add this user?"
+msgstr ""
+"Der Benutzer %s hat Ihnen gestattet, Sie zu Ihrer Buddy-Liste hinzuzufügen. "
+"Möchten Sie diesen Benutzer hinzufügen?"
 
 msgid "Authorization Given"
 msgstr "Autorisierung wurde gegeben"
@@ -8395,16 +8414,16 @@
 msgid "Performing key exchange"
 msgstr "Schlüsselaustausch"
 
+msgid "Unable to create connection"
+msgstr "Kann Verbindung nicht erstellen"
+
+msgid "Could not load SILC key pair"
+msgstr "Konnte SILC-Schlüsselpaar nicht laden"
+
 #. Progress
 msgid "Connecting to SILC Server"
 msgstr "Verbinde mit SILC-Server"
 
-msgid "Could not load SILC key pair"
-msgstr "Konnte SILC-Schlüsselpaar nicht laden"
-
-msgid "Unable to create connection"
-msgstr "Kann Verbindung nicht erstellen"
-
 msgid "Out of memory"
 msgstr "Kein Speicher verfügbar"
 
@@ -8864,7 +8883,7 @@
 msgid "Could not resolve hostname"
 msgstr "Konnte den Hostnamen nicht auflösen"
 
-msgid "SIP screen names may not contain whitespaces or @ symbols"
+msgid "SIP usernames may not contain whitespaces or @ symbols"
 msgstr "SIP-Benutzernamen dürfen keine Leerzeichen oder @-Symbole enthalten"
 
 #. *< type
@@ -8986,7 +9005,7 @@
 msgid "Failure unknown: %s."
 msgstr "Unbekannter Fehler: %s."
 
-msgid "Incorrect screen name or password."
+msgid "Incorrect username or password."
 msgstr "Ungültiger Benutzername oder Passwort."
 
 msgid "The service is temporarily unavailable."
@@ -9134,9 +9153,6 @@
 msgid "Ignore buddy?"
 msgstr "Buddy ignorieren?"
 
-msgid "Invalid screen name."
-msgstr "Ungültiger Benutzername."
-
 msgid "Your account is locked, please log in to the Yahoo! website."
 msgstr ""
 "Ihr Konto ist gesperrt. Bitte melden Sie sich auf der Yahoo! Webseite an."
@@ -9817,24 +9833,20 @@
 msgstr " (%s)"
 
 #. 10053
-#, c-format
 msgid "Connection interrupted by other software on your computer."
 msgstr ""
 "Die Verbindung wurde von einer anderen Software auf ihrem Computer "
 "unterbrochen."
 
 #. 10054
-#, c-format
 msgid "Remote host closed connection."
 msgstr "Der entfernte Host hat die Verbindung beendet."
 
 #. 10060
-#, c-format
 msgid "Connection timed out."
 msgstr "Verbindungsabbruch wegen Zeitüberschreitung."
 
 #. 10061
-#, c-format
 msgid "Connection refused."
 msgstr "Verbindung abgelehnt."
 
@@ -9860,11 +9872,8 @@
 msgid "Pro_tocol:"
 msgstr "Pro_tokoll:"
 
-msgid "Screen _name:"
-msgstr "Benutzer_name:"
-
-msgid "_Local alias:"
-msgstr "Lokaler _Alias:"
+msgid "_Username:"
+msgstr "_Benutzer:"
 
 msgid "Remember pass_word"
 msgstr "Pass_wort speichern"
@@ -9873,6 +9882,9 @@
 msgid "User Options"
 msgstr "Benutzereinstellungen"
 
+msgid "_Local alias:"
+msgstr "Lokaler _Alias:"
+
 msgid "New _mail notifications"
 msgstr "Benachrichtigung über neue _Mails"
 
@@ -9930,9 +9942,6 @@
 msgid "_Port:"
 msgstr "_Port:"
 
-msgid "_Username:"
-msgstr "_Benutzer:"
-
 msgid "Pa_ssword:"
 msgstr "P_asswort:"
 
@@ -10003,6 +10012,9 @@
 "auseinandernehmen, wenn Sie auf 'Expandieren' im Kontextmenü des Kontakts "
 "klicken"
 
+msgid "Please update the necessary fields."
+msgstr "Bitte aktualisieren Sie die erforderlichen Felder."
+
 msgid "Room _List"
 msgstr "Ra_umliste"
 
@@ -10074,6 +10086,9 @@
 msgid "Persistent"
 msgstr "Persistent"
 
+msgid "_Edit Settings..."
+msgstr "_Einstellungen bearbeiten..."
+
 msgid "_Collapse"
 msgstr "_Zusammenklappen"
 
@@ -10367,7 +10382,7 @@
 msgid "Add a buddy.\n"
 msgstr "Einen Buddy hinzufügen.\n"
 
-msgid "Buddy's _screen name:"
+msgid "Buddy's _username:"
 msgstr "_Benutzername des Buddys:"
 
 msgid "(Optional) A_lias:"
@@ -10503,6 +10518,9 @@
 msgid "Set Custom Icon..."
 msgstr "Setze benutzerdefiniertes Icon..."
 
+msgid "Change Size"
+msgstr "Ändere Größe"
+
 msgid "Remove Custom Icon"
 msgstr "Benutzerdefiniertes Icon entfernen"
 
@@ -11080,8 +11098,8 @@
 msgstr "Benutzer-Info abrufen"
 
 msgid ""
-"Please enter the screen name or alias of the person whose info you would "
-"like to view."
+"Please enter the username or alias of the person whose info you would like "
+"to view."
 msgstr ""
 "Bitte geben Sie den Benutzernamen oder den Alias der Person ein, deren Info "
 "Sie sehen möchten."
@@ -11089,13 +11107,6 @@
 msgid "View User Log"
 msgstr "Benutzer-Mitschnitt anzeigen"
 
-msgid ""
-"Please enter the screen name or alias of the person whose log you would like "
-"to view."
-msgstr ""
-"Bitte geben Sie den Benutzernamen der Person ein, deren Mitschnitt Sie sehen "
-"möchten."
-
 msgid "Alias Contact"
 msgstr "Kontakt-Alias"
 
@@ -11283,6 +11294,9 @@
 msgid "_Reset formatting"
 msgstr "Formatierung _zurücksetzen"
 
+msgid "Disable _smileys in selected text"
+msgstr "_Smileys im selektierten Text abschalten"
+
 msgid "Hyperlink color"
 msgstr "Hyperlink-Farbe"
 
@@ -11852,6 +11866,12 @@
 msgid "Icon"
 msgstr "Icon"
 
+msgid "Keyboard Shortcuts"
+msgstr "Tastaturkürzel"
+
+msgid "Cl_ose conversations with the Escape key"
+msgstr "_Schließe Gespräche mit der Escape-Taste"
+
 msgid "System Tray Icon"
 msgstr "Kontrollleisten-Icon"
 
@@ -11931,6 +11951,9 @@
 msgid "Minimi_ze new conversation windows"
 msgstr "Neue Gesprächsfenster mi_nimieren"
 
+msgid "Minimum input area height in lines:"
+msgstr "Minimale Höhe des Eingabefeldes in Zeilen:"
+
 msgid "Font"
 msgstr "Schriftart"
 
@@ -12328,6 +12351,9 @@
 msgid "Saved statuses..."
 msgstr "Gespeicherter Status..."
 
+msgid "Status Selector"
+msgstr "Statusauswahl"
+
 msgid "Google Talk"
 msgstr "Google Talk"
 
@@ -12769,7 +12795,7 @@
 msgid "Please enter the person's information below."
 msgstr "Bitte geben Sie die Informationen zu der Person unten ein."
 
-msgid "Please enter the buddy's screen name and account type below."
+msgid "Please enter the buddy's username and account type below."
 msgstr ""
 "Geben Sie bitte den Benutzernamen des Buddys und den Kontentyp unten ein."
 
@@ -12851,6 +12877,9 @@
 msgstr ""
 "Eine Linie zeichnen um neue Nachrichten in einer Unterhaltung anzuzeigen."
 
+msgid "Jump to markerline"
+msgstr "Springen zur Markierunglinie"
+
 msgid "Draw Markerline in "
 msgstr "Zeichne eine Markierunglinie in "
 
@@ -12915,7 +12944,7 @@
 msgid "Notify For"
 msgstr "Benachrichtigung für"
 
-msgid "\t_Only when someone says your screen name"
+msgid "\t_Only when someone says your username"
 msgstr "\t_Nur wenn jemand Ihren Benutzernamen nennt"
 
 msgid "_Focused windows"
@@ -12944,6 +12973,10 @@
 msgid "R_aise conversation window"
 msgstr "G_esprächsfenster in den Vordergrund bringen"
 
+#. Present conversation method button
+msgid "_Present conversation window"
+msgstr "G_esprächsfenster anzeigen"
+
 #. ---------- "Notification Removals" ----------
 msgid "Notification Removal"
 msgstr "Entfernung von Benachrichtigungen"
@@ -13153,6 +13186,30 @@
 "Prüft regelmäßig, ob neue Versionen verfügbar sind und zeigt die Änderungen "
 "an."
 
+#. *< major version
+#. *< minor version
+#. *< type
+#. *< ui_requirement
+#. *< flags
+#. *< dependencies
+#. *< priority
+#. *< id
+msgid "Send Button"
+msgstr "Senden-Knopf"
+
+#. *< name
+#. *< version
+msgid "Conversation Window Send Button."
+msgstr "Senden-Knopf für das Gesprächsfenster."
+
+#. *< summary
+msgid ""
+"Adds a Send button to the entry area of the conversation window. Intended "
+"for when no physical keyboard is present."
+msgstr ""
+"Fügt einen Senden-Knopf zum Eingabefeld des Gesprächsfensters hinzu. Die ist "
+"für Fälle gedacht, wo keine Tastatur vorhanden ist."
+
 msgid "Duplicate Correction"
 msgstr "Duplikat-Korrektur"