# HG changeset patch # User Sadrul Habib Chowdhury # Date 1196198150 0 # Node ID 80a57819485e8c15e850727524aa9087233e71e0 # Parent 2325df611c0468aeeda31e471a730dc155845d02# Parent 55146766c91d965fb481a951ee8ae0cdb1359eba merge of '72fffff81de35e7d400bf8b8fb18ba7ed84a6b8c' and 'e7f1ca64fe26b46544c0f64f082c81a0a9e96f5f' diff -r 2325df611c04 -r 80a57819485e finch/libgnt/gntmain.c --- a/finch/libgnt/gntmain.c Tue Nov 27 21:13:01 2007 +0000 +++ b/finch/libgnt/gntmain.c Tue Nov 27 21:15:50 2007 +0000 @@ -21,7 +21,7 @@ */ #define _GNU_SOURCE -#if defined(__APPLE__) || defined(__unix__) +#if (defined(__APPLE__) || defined(__unix__)) && !defined(__FreeBSD__) #define _XOPEN_SOURCE_EXTENDED #endif diff -r 2325df611c04 -r 80a57819485e finch/libgnt/gntwm.c --- a/finch/libgnt/gntwm.c Tue Nov 27 21:13:01 2007 +0000 +++ b/finch/libgnt/gntwm.c Tue Nov 27 21:15:50 2007 +0000 @@ -21,7 +21,7 @@ */ #define _GNU_SOURCE -#if defined(__APPLE__) || defined(__unix__) +#if (defined(__APPLE__) || defined(__unix__)) && !defined(__FreeBSD__) #define _XOPEN_SOURCE_EXTENDED #endif diff -r 2325df611c04 -r 80a57819485e libpurple/protocols/bonjour/jabber.c --- a/libpurple/protocols/bonjour/jabber.c Tue Nov 27 21:13:01 2007 +0000 +++ b/libpurple/protocols/bonjour/jabber.c Tue Nov 27 21:15:50 2007 +0000 @@ -19,6 +19,9 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + +#include "internal.h" + #ifndef _WIN32 #include #include @@ -33,7 +36,6 @@ #include #include -#include "internal.h" #include "network.h" #include "eventloop.h" #include "connection.h" diff -r 2325df611c04 -r 80a57819485e pidgin/gtkblist.c --- a/pidgin/gtkblist.c Tue Nov 27 21:13:01 2007 +0000 +++ b/pidgin/gtkblist.c Tue Nov 27 21:15:50 2007 +0000 @@ -2537,7 +2537,7 @@ * * */ -#define STATUS_SIZE 22 +#define STATUS_SIZE 16 #define TOOLTIP_BORDER 12 #define SMALL_SPACE 6 #define LARGE_SPACE 12 @@ -3451,8 +3451,8 @@ struct _pidgin_blist_node *gtkbuddynode = NULL; PurpleBuddy *buddy = NULL; PurpleChat *chat = NULL; - GtkIconSize icon_size = gtk_icon_size_from_name((size == PIDGIN_STATUS_ICON_LARGE) ? PIDGIN_ICON_SIZE_TANGO_SMALL : - PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL); + GtkIconSize icon_size = gtk_icon_size_from_name((size == PIDGIN_STATUS_ICON_LARGE) ? PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL : + PIDGIN_ICON_SIZE_TANGO_MICROSCOPIC); if(PURPLE_BLIST_NODE_IS_CONTACT(node)) { if(!gtknode->contact_expanded) { @@ -4480,12 +4480,6 @@ } static void -generic_error_ignore_cb(PurpleAccount *account) -{ - purple_account_clear_current_error(account); -} - -static void generic_error_destroy_cb(GtkObject *dialog, PurpleAccount *account) { @@ -4523,7 +4517,6 @@ (enabled ? PURPLE_CALLBACK(purple_account_connect) : PURPLE_CALLBACK(generic_error_enable_cb)), _("Modify Account"), PURPLE_CALLBACK(generic_error_modify_cb), - _("Ignore"), PURPLE_CALLBACK(generic_error_ignore_cb), NULL); g_free(primary); @@ -4608,14 +4601,6 @@ } static void -ignore_elsewhere_accounts(PidginMiniDialog *mini_dialog, - GtkButton *button, - gpointer unused) -{ - elsewhere_foreach_account(mini_dialog, purple_account_clear_current_error); -} - -static void ensure_signed_on_elsewhere_minidialog(PidginBuddyList *gtkblist) { PidginBuddyListPrivate *priv = PIDGIN_BUDDY_LIST_GET_PRIVATE(gtkblist); @@ -4625,14 +4610,11 @@ return; mini_dialog = priv->signed_on_elsewhere = - pidgin_mini_dialog_new(NULL, NULL, PIDGIN_STOCK_DISCONNECT); + pidgin_mini_dialog_new(_("Welcome back!"), NULL, PIDGIN_STOCK_DISCONNECT); pidgin_mini_dialog_add_button(mini_dialog, _("Re-enable"), reconnect_elsewhere_accounts, NULL); - pidgin_mini_dialog_add_button(mini_dialog, _("Ignore"), - ignore_elsewhere_accounts, NULL); - add_error_dialog(gtkblist, GTK_WIDGET(mini_dialog)); /* Set priv->signed_on_elsewhere to NULL when the dialog is destroyed */ @@ -4658,11 +4640,11 @@ } title = g_strdup_printf( - ngettext("%d account was disabled because you signed on from another location.", - "%d accounts were disabled because you signed on from another location.", + ngettext("%d account was disabled because you signed on from another location:", + "%d accounts were disabled because you signed on from another location:", accounts), accounts); - pidgin_mini_dialog_set_title(mini_dialog, title); + pidgin_mini_dialog_set_description(mini_dialog, title); g_free(title); } @@ -5744,7 +5726,7 @@ return; status = pidgin_blist_get_status_icon((PurpleBlistNode*)buddy, - PIDGIN_STATUS_ICON_SMALL); + biglist ? PIDGIN_STATUS_ICON_LARGE : PIDGIN_STATUS_ICON_SMALL); /* Speed it up if we don't want buddy icons. */ if(biglist) @@ -5828,6 +5810,7 @@ PurpleBlistNode *cnode; PurpleContact *contact; PurpleBuddy *buddy; + gboolean biglist = purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_buddy_icons"); struct _pidgin_blist_node *gtknode; if (editing_blist) @@ -5863,7 +5846,7 @@ char *mark; status = pidgin_blist_get_status_icon(cnode, - PIDGIN_STATUS_ICON_SMALL); + biglist? PIDGIN_STATUS_ICON_LARGE : PIDGIN_STATUS_ICON_SMALL); mark = g_markup_escape_text(purple_contact_get_alias(contact), -1); gtk_tree_store_set(gtkblist->treemodel, &iter, @@ -5942,6 +5925,7 @@ GdkPixbuf *status, *avatar, *emblem, *prpl_icon; char *mark; gboolean showicons = purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_buddy_icons"); + gboolean biglist = purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_buddy_icons"); PidginBlistNode *ui; PurpleConversation *conv; gboolean hidden; @@ -5954,7 +5938,7 @@ hidden = (conv && (ui->conv.flags & PIDGIN_BLIST_NODE_HAS_PENDING_MESSAGE)); status = pidgin_blist_get_status_icon(node, - PIDGIN_STATUS_ICON_SMALL); + biglist ? PIDGIN_STATUS_ICON_LARGE : PIDGIN_STATUS_ICON_SMALL); emblem = pidgin_blist_get_emblem(node); /* Speed it up if we don't want buddy icons. */ diff -r 2325df611c04 -r 80a57819485e pidgin/gtkconv.c --- a/pidgin/gtkconv.c Tue Nov 27 21:13:01 2007 +0000 +++ b/pidgin/gtkconv.c Tue Nov 27 21:15:50 2007 +0000 @@ -235,11 +235,7 @@ switch (purple_conversation_get_type(conv)) { case PURPLE_CONV_TYPE_IM: { - if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/im/close_immediately")) - close_this_sucker(gtkconv); - else - hide_conv(gtkconv, TRUE); - break; + hide_conv(gtkconv, TRUE); } case PURPLE_CONV_TYPE_CHAT: { @@ -266,43 +262,6 @@ return FALSE; } -static gboolean -size_allocate_cb(GtkWidget *w, GtkAllocation *allocation, PidginConversation *gtkconv) -{ - PurpleConversation *conv = gtkconv->active_conv; - - if (!GTK_WIDGET_VISIBLE(w)) - return FALSE; - - if (!PIDGIN_IS_PIDGIN_CONVERSATION(conv)) - return FALSE; - if (gtkconv->auto_resize) { - return FALSE; - } - - if (gdk_window_get_state(gtkconv->win->window->window) & GDK_WINDOW_STATE_MAXIMIZED) { - return FALSE; - } - - /* I find that I resize the window when it has a bunch of conversations in it, mostly so that the - * tab bar will fit, but then I don't want new windows taking up the entire screen. I check to see - * if there is only one conversation in the window. This way we'll be setting new windows to the - * size of the last resized new window. */ - /* I think that the above justification is not the majority, and that the new tab resizing should - * negate it anyway. --luke */ - if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) - { - if (w == gtkconv->lower_hbox) - purple_prefs_set_int(PIDGIN_PREFS_ROOT "/conversations/im/entry_height", allocation->height); - } - else if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT) - { - if (w == gtkconv->lower_hbox) - purple_prefs_set_int(PIDGIN_PREFS_ROOT "/conversations/chat/entry_height", allocation->height); - } - return FALSE; -} - static void default_formatize(PidginConversation *c) { @@ -452,18 +411,6 @@ gtkconv->send_history = g_list_prepend(first, NULL); } -static void -reset_default_size(PidginConversation *gtkconv) -{ - PurpleConversation *conv = gtkconv->active_conv; - if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT) - gtk_widget_set_size_request(gtkconv->lower_hbox, -1, - purple_prefs_get_int(PIDGIN_PREFS_ROOT "/conversations/chat/entry_height")); - else - gtk_widget_set_size_request(gtkconv->lower_hbox, -1, - purple_prefs_get_int(PIDGIN_PREFS_ROOT "/conversations/im/entry_height")); -} - static gboolean check_for_and_do_command(PurpleConversation *conv) { @@ -573,7 +520,6 @@ if (check_for_and_do_command(conv)) { if (gtkconv->entry_growing) { - reset_default_size(gtkconv); gtkconv->entry_growing = FALSE; } gtk_imhtml_clear(GTK_IMHTML(gtkconv->entry)); @@ -633,7 +579,6 @@ gtk_imhtml_clear(GTK_IMHTML(gtkconv->entry)); if (gtkconv->entry_growing) { - reset_default_size(gtkconv); gtkconv->entry_growing = FALSE; } gtkconv_set_unseen(gtkconv, PIDGIN_UNSEEN_NONE); @@ -4369,7 +4314,7 @@ gtk_menu_shell_insert(GTK_MENU_SHELL(menu), menuitem, 1); } -static void resize_imhtml_cb(PidginConversation *gtkconv) +static gboolean resize_imhtml_cb(PidginConversation *gtkconv) { GtkTextBuffer *buffer; GtkTextIter iter; @@ -4406,18 +4351,12 @@ diff = height - gtkconv->entry->allocation.height; - if (diff > 0) { - gtk_widget_size_request(gtkconv->lower_hbox, &sr); - gtkconv->entry_growing = TRUE; - - /* uncomment this to auto resize even after the user manually - resizes - gtk_paned_set_position(GTK_PANED(gtkconv->lower_hbox->parent->parent), - -1); - */ - gtk_widget_set_size_request(gtkconv->lower_hbox, -1, - diff + gtkconv->lower_hbox->allocation.height); - } + gtk_widget_size_request(gtkconv->lower_hbox, &sr); + gtkconv->entry_growing = TRUE; + + gtk_widget_set_size_request(gtkconv->lower_hbox, -1, + diff + gtkconv->lower_hbox->allocation.height); + return FALSE; } static void @@ -4687,19 +4626,15 @@ static GtkWidget * setup_common_pane(PidginConversation *gtkconv) { - GtkWidget *paned, *vbox, *frame, *imhtml_sw, *event_box; + GtkWidget *vbox, *frame, *imhtml_sw, *event_box; GtkCellRenderer *rend; GtkTreePath *path; PurpleConversation *conv = gtkconv->active_conv; gboolean chat = (conv->type == PURPLE_CONV_TYPE_CHAT); GtkPolicyType imhtml_sw_hscroll; - paned = gtk_vpaned_new(); - gtk_widget_show(paned); - /* Setup the top part of the pane */ vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); - gtk_paned_pack1(GTK_PANED(paned), vbox, TRUE, TRUE); gtk_widget_show(vbox); /* Setup the info pane */ @@ -4794,30 +4729,18 @@ g_signal_connect(G_OBJECT(gtkconv->imhtml), "key_release_event", G_CALLBACK(refocus_entry_cb), gtkconv); - /* Setup the bottom half of the conversation window */ - vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); - gtk_paned_pack2(GTK_PANED(paned), vbox, FALSE, TRUE); - gtk_widget_show(vbox); - gtkconv->lower_hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); - gtk_box_pack_start(GTK_BOX(vbox), gtkconv->lower_hbox, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(vbox), gtkconv->lower_hbox, FALSE, FALSE, 0); gtk_widget_show(gtkconv->lower_hbox); - vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); - gtk_box_pack_end(GTK_BOX(gtkconv->lower_hbox), vbox, TRUE, TRUE, 0); - gtk_widget_show(vbox); - /* Setup the toolbar, entry widget and all signals */ frame = pidgin_create_imhtml(TRUE, >kconv->entry, >kconv->toolbar, NULL); - gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(gtkconv->lower_hbox), frame, TRUE, TRUE, 0); gtk_widget_show(frame); gtk_widget_set_name(gtkconv->entry, "pidgin_conv_entry"); gtk_imhtml_set_protocol_name(GTK_IMHTML(gtkconv->entry), purple_account_get_protocol_name(conv->account)); - gtk_widget_set_size_request(gtkconv->lower_hbox, -1, - chat ? purple_prefs_get_int(PIDGIN_PREFS_ROOT "/conversations/chat/entry_height") : - purple_prefs_get_int(PIDGIN_PREFS_ROOT "/conversations/im/entry_height")); g_signal_connect(G_OBJECT(gtkconv->entry), "populate-popup", G_CALLBACK(entry_popup_menu_cb), gtkconv); @@ -4827,8 +4750,6 @@ G_CALLBACK(send_cb), gtkconv); g_signal_connect_after(G_OBJECT(gtkconv->entry), "button_press_event", G_CALLBACK(entry_stop_rclick_cb), NULL); - g_signal_connect(G_OBJECT(gtkconv->lower_hbox), "size-allocate", - G_CALLBACK(size_allocate_cb), gtkconv); gtkconv->entry_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(gtkconv->entry)); @@ -4851,7 +4772,7 @@ default_formatize(gtkconv); g_signal_connect_after(G_OBJECT(gtkconv->entry), "format_function_clear", G_CALLBACK(clear_formatting_cb), gtkconv); - return paned; + return vbox; } static void @@ -5111,6 +5032,7 @@ gtk_widget_show(gtkconv->toolbar); else gtk_widget_hide(gtkconv->toolbar); + g_idle_add((GSourceFunc)resize_imhtml_cb, gtkconv); if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/im/show_buddy_icons")) gtk_widget_show(gtkconv->infopane_hbox); @@ -7121,6 +7043,8 @@ gtk_widget_show(gtkconv->toolbar); else gtk_widget_hide(gtkconv->toolbar); + + g_idle_add((GSourceFunc)resize_imhtml_cb,gtkconv); } } @@ -7621,7 +7545,6 @@ purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/conversations/im/show_buddy_icons", TRUE); purple_prefs_add_string(PIDGIN_PREFS_ROOT "/conversations/im/hide_new", "never"); - purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/conversations/im/close_immediately", TRUE); #ifdef _WIN32 purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/win32/minimize_new_convs", FALSE); diff -r 2325df611c04 -r 80a57819485e pidgin/gtkimhtml.c --- a/pidgin/gtkimhtml.c Tue Nov 27 21:13:01 2007 +0000 +++ b/pidgin/gtkimhtml.c Tue Nov 27 21:15:50 2007 +0000 @@ -31,6 +31,7 @@ #include "internal.h" #include "pidgin.h" +#include "pidginstock.h" #include "debug.h" #include "util.h" @@ -811,6 +812,7 @@ static void hijack_menu_cb(GtkIMHtml *imhtml, GtkMenu *menu, gpointer data) { GtkWidget *menuitem; + GtkWidget *mi, *img; menuitem = gtk_menu_item_new_with_mnemonic(_("Paste as Plain _Text")); gtk_widget_show(menuitem); @@ -836,6 +838,28 @@ gtk_menu_shell_insert(GTK_MENU_SHELL(menu), menuitem, 5); g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK(clear_formatting_cb), imhtml); + + mi = gtk_menu_item_new(); + gtk_widget_show(mi); + gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), mi); + + img = gtk_image_new_from_stock(PIDGIN_STOCK_TOOLBAR_SMILEY, GTK_ICON_SIZE_MENU); + mi = gtk_image_menu_item_new_with_label(_("_Smile!")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(mi), img); + gtk_widget_show(mi); + gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), mi); + + img = gtk_image_new_from_stock(PIDGIN_STOCK_TOOLBAR_INSERT, GTK_ICON_SIZE_MENU); + mi = gtk_image_menu_item_new_with_label(_("_Insert")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(mi), img); + gtk_widget_show(mi); + gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), mi); + + img = gtk_image_new_from_stock(GTK_STOCK_BOLD, GTK_ICON_SIZE_MENU); + mi = gtk_image_menu_item_new_with_label(_("_Font")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(mi), img); + gtk_widget_show(mi); + gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), mi); } static char * @@ -4257,6 +4281,33 @@ g_object_unref(object); } +static void populate_popup_cb(GtkTextView *textview, GtkMenu *menu, gpointer nul) +{ + GtkWidget *mi, *img; + + mi = gtk_menu_item_new(); + gtk_widget_show(mi); + gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), mi); + + img = gtk_image_new_from_stock(GTK_STOCK_BOLD, GTK_ICON_SIZE_MENU); + mi = gtk_image_menu_item_new_with_label(_("_Font")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(mi), img); + gtk_widget_show(mi); + gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), mi); + + img = gtk_image_new_from_stock(PIDGIN_STOCK_TOOLBAR_INSERT, GTK_ICON_SIZE_MENU); + mi = gtk_image_menu_item_new_with_label(_("_Insert")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(mi), img); + gtk_widget_show(mi); + gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), mi); + + img = gtk_image_new_from_stock(PIDGIN_STOCK_TOOLBAR_SMILEY, GTK_ICON_SIZE_MENU); + mi = gtk_image_menu_item_new_with_label(_("_Smile!")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(mi), img); + gtk_widget_show(mi); + gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), mi); +} + static void imhtml_toggle_bold(GtkIMHtml *imhtml) { GtkTextIter start, end; diff -r 2325df611c04 -r 80a57819485e pidgin/gtkprefs.c --- a/pidgin/gtkprefs.c Tue Nov 27 21:13:01 2007 +0000 +++ b/pidgin/gtkprefs.c Tue Nov 27 21:15:50 2007 +0000 @@ -995,8 +995,6 @@ pidgin_prefs_checkbox(_("Show _formatting on incoming messages"), PIDGIN_PREFS_ROOT "/conversations/show_incoming_formatting", vbox); - pidgin_prefs_checkbox(_("Close IMs immediately when the tab is closed"), - PIDGIN_PREFS_ROOT "/conversations/im/close_immediately", vbox); iconpref1 = pidgin_prefs_checkbox(_("Show _detailed information"), PIDGIN_PREFS_ROOT "/conversations/im/show_buddy_icons", vbox); @@ -2306,6 +2304,7 @@ purple_prefs_remove(PIDGIN_PREFS_ROOT "/blist/show_group_count"); purple_prefs_remove(PIDGIN_PREFS_ROOT "/blist/show_warning_level"); purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/button_type"); + purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/close_immediately"); purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/ctrl_enter_sends"); purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/enter_sends"); purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/escape_closes"); diff -r 2325df611c04 -r 80a57819485e po/de.po --- a/po/de.po Tue Nov 27 21:13:01 2007 +0000 +++ b/po/de.po Tue Nov 27 21:15:50 2007 +0000 @@ -11,9 +11,9 @@ msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-11-22 21:19+0100\n" -"PO-Revision-Date: 2007-11-17 16:14+0100\n" -"Last-Translator: Bjoern Voigt \n" +"POT-Creation-Date: 2007-11-27 10:57+0100\n" +"PO-Revision-Date: 2007-11-27 10:57+0100\n" +"Last-Translator: Jochen Kemnade \n" "Language-Team: Deutsch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -493,6 +493,14 @@ msgid "Re-enable Account" msgstr "Konten reaktivieren" +msgid "" +"The account has disconnected and you are no longer in this chat. You will be " +"automatically rejoined in the chat when the account reconnects." +msgstr "" +"Das Konto wurde getrennt und Sie sind nicht mehr in diesem Chat. Sie werden " +"automatisch wieder mit dem Chat verbunden, wenn das Konto wieder verbunden " +"ist." + msgid "No such command." msgstr "Es gibt kein solches Kommando." @@ -10059,19 +10067,19 @@ msgid "Re-enable" msgstr "Reaktivieren" -msgid "Ignore" -msgstr "Ignorieren" - -#, c-format -msgid "%d account was disabled because you signed on from another location." +msgid "Welcome back!" +msgstr "Willkommen zurück!" + +#, 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." +"%d accounts were disabled because you signed on from another location:" msgstr[0] "" "%d Konto wurde deaktiviert, da Sie sich von einem anderen Ort angemeldet " -"haben." +"haben:" msgstr[1] "" "%d Konten wurden deaktiviert, da Sie sich von einem anderen Ort angemeldet " -"haben." +"haben:" msgid "Username:" msgstr "Benutzername:" @@ -10237,6 +10245,9 @@ msgid "Un-Ignore" msgstr "Nicht Ignorieren" +msgid "Ignore" +msgstr "Ignorieren" + msgid "Get Away Message" msgstr "Neue Abwesenheitsnachricht abholen" @@ -13119,6 +13130,3 @@ msgid "This plugin is useful for debbuging XMPP servers or clients." msgstr "" "Dieses Plugin ist nützlich zur Fehlersuche in XMPP-Servern oder -Clients." - -msgid "Buddy" -msgstr "Buddy"