From: Jonny Lamb Date: Thu, 25 Jun 2009 17:52:48 +0000 (+0100) Subject: Merge branch 'debugger' X-Git-Url: https://git.0d.be/?p=empathy.git;a=commitdiff_plain;h=2f64117b60d24ba5ad3f4bb1c41d4ea3a91f15a6;hp=807b62250294666c0dccc27fbab03c1c782dd38b Merge branch 'debugger' --- diff --git a/configure.ac b/configure.ac index ce87cb87..df6ec7ec 100644 --- a/configure.ac +++ b/configure.ac @@ -96,6 +96,8 @@ PKG_CHECK_MODULES(LIBEMPATHY, telepathy-glib >= $TELEPATHY_GLIB_REQUIRED libmissioncontrol >= $MISSION_CONTROL_REQUIRED telepathy-farsight + farsight2-0.10 + gstreamer-0.10 ]) PKG_CHECK_MODULES(LIBEMPATHYGTK, @@ -109,7 +111,6 @@ PKG_CHECK_MODULES(LIBEMPATHYGTK, libcanberra-gtk >= $LIBCANBERRA_GTK_REQUIRED telepathy-glib >= $TELEPATHY_GLIB_REQUIRED libmissioncontrol >= $MISSION_CONTROL_REQUIRED - telepathy-farsight farsight2-0.10 gstreamer-0.10 gstreamer-interfaces-0.10 @@ -120,16 +121,14 @@ PKG_CHECK_MODULES(EMPATHY, glib-2.0 >= $GLIB_REQUIRED gobject-2.0 gio-2.0 >= $GLIB_REQUIRED - gconf-2.0 >= $GCONF_REQUIRED - x11 + gdk-x11-2.0 gtk+-2.0 >= $GTK_REQUIRED - libcanberra-gtk >= $LIBCANBERRA_GTK_REQUIRED libebook-1.2 + dbus-glib-1 telepathy-glib >= $TELEPATHY_GLIB_REQUIRED libmissioncontrol >= $MISSION_CONTROL_REQUIRED telepathy-farsight gstreamer-0.10 - gstreamer-interfaces-0.10 ]) PKG_CHECK_MODULES(LIBNOTIFY, libnotify >= $LIBNOTIFY_REQUIRED) diff --git a/data/empathy.schemas.in b/data/empathy.schemas.in index 81ea5e86..fb068e5b 100644 --- a/data/empathy.schemas.in +++ b/data/empathy.schemas.in @@ -172,7 +172,7 @@ - + /schemas/apps/empathy/sounds/sounds_contact_logout /apps/empathy/sounds/sounds_contact_logout @@ -201,7 +201,7 @@ - + /schemas/apps/empathy/sounds/sounds_service_logout /apps/empathy/sounds/sounds_service_logout @@ -260,6 +260,36 @@ + + /schemas/apps/empathy/notifications/notifications_contact_signin + /apps/empathy/notifications/notifications_contact_signin + empathy + bool + false + + Popup notifications when a contact sign in + + Whether or not to show a popup notification when a contact goes + online. + + + + + + /schemas/apps/empathy/notifications/notifications_contact_signout + /apps/empathy/notifications/notifications_contact_signout + empathy + bool + false + + Popup notifications when a contact sign out + + Whether or not to show a popup notification when a contact goes + offline. + + + + /schemas/apps/empathy/ui/separate_chat_windows /apps/empathy/ui/separate_chat_windows @@ -289,6 +319,20 @@ + + /schemas/apps/empathy/conversation/show_contacts_in_rooms + /apps/empathy/conversation/show_contacts_in_rooms + empathy + bool + true + + Show contact list in rooms + + Whether or not to show the contact list in chat rooms. + + + + /schemas/apps/empathy/conversation/theme /apps/empathy/conversation/theme @@ -372,7 +416,7 @@ Character to add after nickname when using nick completion (tab) in group chat. - + @@ -434,7 +478,7 @@ - + /schemas/apps/empathy/autoconnect /apps/empathy/autoconnect diff --git a/docs/libempathy-gtk/libempathy-gtk.types b/docs/libempathy-gtk/libempathy-gtk.types index 7672cc98..ead69316 100644 --- a/docs/libempathy-gtk/libempathy-gtk.types +++ b/docs/libempathy-gtk/libempathy-gtk.types @@ -1,4 +1,5 @@ empathy_account_chooser_get_type +empathy_adium_data_get_type empathy_audio_sink_get_type empathy_audio_src_get_type empathy_avatar_chooser_get_type diff --git a/libempathy-gtk/Makefile.am b/libempathy-gtk/Makefile.am index 2a4438e5..c38a96f2 100644 --- a/libempathy-gtk/Makefile.am +++ b/libempathy-gtk/Makefile.am @@ -226,11 +226,15 @@ endif if HAVE_WEBKIT libempathy_gtk_handwritten_source += \ + empathy-plist.c \ empathy-theme-adium.c libempathy_gtk_headers += \ + empathy-plist.h \ empathy-theme-adium.h else EXTRA_DIST += \ + empathy-plist.c \ + empathy-plist.h \ empathy-theme-adium.c \ empathy-theme-adium.h endif diff --git a/libempathy-gtk/empathy-account-chooser.c b/libempathy-gtk/empathy-account-chooser.c index 915b37b2..488486fd 100644 --- a/libempathy-gtk/empathy-account-chooser.c +++ b/libempathy-gtk/empathy-account-chooser.c @@ -361,7 +361,7 @@ empathy_account_chooser_get_has_all_option (EmpathyAccountChooser *chooser) g_return_val_if_fail (EMPATHY_IS_ACCOUNT_CHOOSER (chooser), FALSE); priv = GET_PRIV (chooser); - + return priv->has_all_option; } @@ -653,11 +653,11 @@ account_chooser_separator_func (GtkTreeModel *model, gboolean is_separator; priv = GET_PRIV (chooser); - + if (!priv->has_all_option) { return FALSE; } - + gtk_tree_model_get (model, iter, COL_ACCOUNT_TEXT, &text, -1); is_separator = text == NULL; g_free (text); diff --git a/libempathy-gtk/empathy-account-widget.c b/libempathy-gtk/empathy-account-widget.c index 669869a4..b0d7f8de 100644 --- a/libempathy-gtk/empathy-account-widget.c +++ b/libempathy-gtk/empathy-account-widget.c @@ -238,11 +238,11 @@ account_widget_generic_format_param_name (const gchar *param_name) gchar *p; str = g_strdup (param_name); - + if (str && g_ascii_isalpha (str[0])) { str[0] = g_ascii_toupper (str[0]); } - + while ((p = strchr (str, '-')) != NULL) { if (p[1] != '\0' && g_ascii_isalpha (p[1])) { p[0] = ' '; @@ -251,7 +251,7 @@ account_widget_generic_format_param_name (const gchar *param_name) p++; } - + return str; } @@ -448,7 +448,7 @@ empathy_account_widget_add_forget_button (McAccount *account, GtkWidget *button_forget; GtkWidget *entry_password; gchar *password = NULL; - + button_forget = GTK_WIDGET (gtk_builder_get_object (gui, button)); entry_password = GTK_WIDGET (gtk_builder_get_object (gui, entry)); diff --git a/libempathy-gtk/empathy-avatar-chooser.c b/libempathy-gtk/empathy-avatar-chooser.c index 8c005a02..83475b56 100644 --- a/libempathy-gtk/empathy-avatar-chooser.c +++ b/libempathy-gtk/empathy-avatar-chooser.c @@ -810,14 +810,14 @@ avatar_chooser_drag_data_received_cb (GtkWidget *widget, if (input_stream != NULL) { GFileInfo *info; - + info = g_file_query_info (file, G_FILE_ATTRIBUTE_STANDARD_SIZE, 0, NULL, NULL); if (info != NULL) { goffset size; gssize bytes_read; - + size = g_file_info_get_size (info); data = g_malloc (size); @@ -838,7 +838,7 @@ avatar_chooser_drag_data_received_cb (GtkWidget *widget, g_object_unref (input_stream); } - + g_object_unref (file); } diff --git a/libempathy-gtk/empathy-chat-text-view.c b/libempathy-gtk/empathy-chat-text-view.c index 95e67b71..c47b5474 100644 --- a/libempathy-gtk/empathy-chat-text-view.c +++ b/libempathy-gtk/empathy-chat-text-view.c @@ -103,10 +103,10 @@ chat_text_view_url_event_cb (GtkTextTag *tag, if (gtk_text_iter_get_offset (&start) != gtk_text_iter_get_offset (&end)) { return FALSE; } - + if (event->type == GDK_BUTTON_RELEASE && event->button.button == 1) { start = end = *iter; - + if (gtk_text_iter_backward_to_tag_toggle (&start, tag) && gtk_text_iter_forward_to_tag_toggle (&end, tag)) { str = gtk_text_buffer_get_text (priv->buffer, @@ -118,7 +118,7 @@ chat_text_view_url_event_cb (GtkTextTag *tag, g_free (str); } } - + return FALSE; } @@ -133,31 +133,31 @@ chat_text_view_event_cb (EmpathyChatTextView *view, GtkTextIter iter; GdkWindow *win; gint x, y, buf_x, buf_y; - + type = gtk_text_view_get_window_type (GTK_TEXT_VIEW (view), event->window); - + if (type != GTK_TEXT_WINDOW_TEXT) { return FALSE; } - + /* Get where the pointer really is. */ win = gtk_text_view_get_window (GTK_TEXT_VIEW (view), type); if (!win) { return FALSE; } - + gdk_window_get_pointer (win, &x, &y, NULL); - + /* Get the iter where the cursor is at */ gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (view), type, x, y, &buf_x, &buf_y); - + gtk_text_view_get_iter_at_location (GTK_TEXT_VIEW (view), &iter, buf_x, buf_y); - + if (gtk_text_iter_has_tag (&iter, tag)) { if (!hand) { hand = gdk_cursor_new (GDK_HAND2); @@ -170,7 +170,7 @@ chat_text_view_event_cb (EmpathyChatTextView *view, } gdk_window_set_cursor (win, beam); } - + return FALSE; } @@ -192,7 +192,7 @@ chat_text_view_create_tags (EmpathyChatTextView *view) g_signal_connect (tag, "event", G_CALLBACK (chat_text_view_url_event_cb), view); - + g_signal_connect (view, "motion-notify-event", G_CALLBACK (chat_text_view_event_cb), tag); @@ -203,7 +203,7 @@ chat_text_view_system_font_update (EmpathyChatTextView *view) { PangoFontDescription *font_description = NULL; gchar *font_name; - + if (empathy_conf_get_string (empathy_conf_get (), "/desktop/gnome/interface/document_font_name", &font_name) && font_name) { @@ -212,9 +212,9 @@ chat_text_view_system_font_update (EmpathyChatTextView *view) } else { font_description = NULL; } - + gtk_widget_modify_font (GTK_WIDGET (view), font_description); - + if (font_description) { pango_font_description_free (font_description); } @@ -226,7 +226,7 @@ chat_text_view_notify_system_font_cb (EmpathyConf *conf, gpointer user_data) { EmpathyChatTextView *view = user_data; - + chat_text_view_system_font_update (view); } @@ -240,10 +240,10 @@ static void chat_text_view_copy_address_cb (GtkMenuItem *menuitem, const gchar *url) { GtkClipboard *clipboard; - + clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD); gtk_clipboard_set_text (clipboard, url, -1); - + clipboard = gtk_clipboard_get (GDK_SELECTION_PRIMARY); gtk_clipboard_set_text (clipboard, url, -1); } @@ -260,66 +260,66 @@ chat_text_view_populate_popup (EmpathyChatTextView *view, GtkTextIter iter, start, end; GtkWidget *item; gchar *str = NULL; - + priv = GET_PRIV (view); - + /* Clear menu item */ if (gtk_text_buffer_get_char_count (priv->buffer) > 0) { item = gtk_separator_menu_item_new (); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); gtk_widget_show (item); - + item = gtk_image_menu_item_new_from_stock (GTK_STOCK_CLEAR, NULL); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); gtk_widget_show (item); - + g_signal_connect_swapped (item, "activate", G_CALLBACK (empathy_chat_view_clear), view); } - + /* Link context menu items */ table = gtk_text_buffer_get_tag_table (priv->buffer); tag = gtk_text_tag_table_lookup (table, EMPATHY_CHAT_TEXT_VIEW_TAG_LINK); - + gtk_widget_get_pointer (GTK_WIDGET (view), &x, &y); - + gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (view), GTK_TEXT_WINDOW_WIDGET, x, y, &x, &y); - + gtk_text_view_get_iter_at_location (GTK_TEXT_VIEW (view), &iter, x, y); - + start = end = iter; - + if (gtk_text_iter_backward_to_tag_toggle (&start, tag) && gtk_text_iter_forward_to_tag_toggle (&end, tag)) { str = gtk_text_buffer_get_text (priv->buffer, &start, &end, FALSE); } - + if (EMP_STR_EMPTY (str)) { g_free (str); return; } - + /* NOTE: Set data just to get the string freed when not needed. */ g_object_set_data_full (G_OBJECT (menu), "url", str, (GDestroyNotify) g_free); - + item = gtk_separator_menu_item_new (); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); gtk_widget_show (item); - + item = gtk_menu_item_new_with_mnemonic (_("_Copy Link Address")); g_signal_connect (item, "activate", G_CALLBACK (chat_text_view_copy_address_cb), str); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); gtk_widget_show (item); - + item = gtk_menu_item_new_with_mnemonic (_("_Open Link")); g_signal_connect (item, "activate", G_CALLBACK (chat_text_view_open_address_cb), @@ -332,18 +332,24 @@ static gboolean chat_text_view_is_scrolled_down (EmpathyChatTextView *view) { GtkWidget *sw; - + sw = gtk_widget_get_parent (GTK_WIDGET (view)); if (GTK_IS_SCROLLED_WINDOW (sw)) { GtkAdjustment *vadj; - + gdouble value; + gdouble upper; + gdouble page_size; + vadj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (sw)); - - if (vadj->value + vadj->page_size / 2 < vadj->upper - vadj->page_size) { + value = gtk_adjustment_get_value (vadj); + upper = gtk_adjustment_get_upper (vadj); + page_size = gtk_adjustment_get_page_size (vadj); + + if (value < upper - page_size) { return FALSE; } } - + return TRUE; } @@ -356,23 +362,23 @@ chat_text_view_maybe_trim_buffer (EmpathyChatTextView *view) gint remove; GtkTextTagTable *table; GtkTextTag *tag; - + priv = GET_PRIV (view); - + gtk_text_buffer_get_end_iter (priv->buffer, &bottom); line = gtk_text_iter_get_line (&bottom); if (line < MAX_LINES) { return; } - + remove = line - MAX_LINES; gtk_text_buffer_get_start_iter (priv->buffer, &top); - + bottom = top; if (!gtk_text_iter_forward_lines (&bottom, remove)) { return; } - + /* Track backwords to a place where we can safely cut, we don't do it in * the middle of a tag. */ @@ -381,11 +387,11 @@ chat_text_view_maybe_trim_buffer (EmpathyChatTextView *view) if (!tag) { return; } - + if (!gtk_text_iter_forward_to_tag_toggle (&bottom, tag)) { return; } - + if (!gtk_text_iter_equal (&top, &bottom)) { gtk_text_buffer_delete (priv->buffer, &top, &bottom); } @@ -436,7 +442,7 @@ chat_text_view_append_timestamp (EmpathyChatTextView *view, priv->last_timestamp = timestamp; - g_string_free (str, TRUE); + g_string_free (str, TRUE); } static void @@ -461,7 +467,7 @@ chat_text_maybe_append_date_and_time (EmpathyChatTextView *view, append_date = TRUE; append_time = TRUE; } - + g_date_free (last_date); g_date_free (date); @@ -480,14 +486,14 @@ chat_text_view_size_allocate (GtkWidget *widget, GtkAllocation *alloc) { gboolean down; - + down = chat_text_view_is_scrolled_down (EMPATHY_CHAT_TEXT_VIEW (widget)); - + GTK_WIDGET_CLASS (empathy_chat_text_view_parent_class)->size_allocate (widget, alloc); - + if (down) { GtkAdjustment *adj; - + adj = GTK_TEXT_VIEW (widget)->vadjustment; gtk_adjustment_set_value (adj, adj->upper - adj->page_size); } @@ -502,7 +508,7 @@ chat_text_view_drag_motion (GtkWidget *widget, { /* Don't handle drag motion, since we don't want the view to scroll as * the result of dragging something across it. */ - + return FALSE; } @@ -550,14 +556,14 @@ chat_text_view_finalize (GObject *object) { EmpathyChatTextView *view; EmpathyChatTextViewPriv *priv; - + view = EMPATHY_CHAT_TEXT_VIEW (object); priv = GET_PRIV (view); - + DEBUG ("%p", object); - + empathy_conf_notify_remove (empathy_conf_get (), priv->notify_system_fonts_id); - + if (priv->last_contact) { g_object_unref (priv->last_contact); } @@ -568,7 +574,7 @@ chat_text_view_finalize (GObject *object) g_source_remove (priv->scroll_timeout); } g_object_unref (priv->smiley_manager); - + G_OBJECT_CLASS (empathy_chat_text_view_parent_class)->finalize (object); } @@ -577,7 +583,7 @@ empathy_chat_text_view_class_init (EmpathyChatTextViewClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); - + object_class->finalize = chat_text_view_finalize; object_class->get_property = chat_text_view_get_property; object_class->set_property = chat_text_view_set_property; @@ -610,18 +616,18 @@ empathy_chat_text_view_init (EmpathyChatTextView *view) EmpathyChatTextViewPriv *priv = G_TYPE_INSTANCE_GET_PRIVATE (view, EMPATHY_TYPE_CHAT_TEXT_VIEW, EmpathyChatTextViewPriv); - view->priv = priv; + view->priv = priv; priv->buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); priv->last_timestamp = 0; priv->allow_scrolling = TRUE; priv->smiley_manager = empathy_smiley_manager_dup_singleton (); - + g_object_set (view, "wrap-mode", GTK_WRAP_WORD_CHAR, "editable", FALSE, "cursor-visible", FALSE, NULL); - + priv->notify_system_fonts_id = empathy_conf_notify_add (empathy_conf_get (), "/desktop/gnome/interface/document_font_name", @@ -643,13 +649,13 @@ chat_text_view_scroll_cb (EmpathyChatTextView *view) EmpathyChatTextViewPriv *priv; GtkAdjustment *adj; gdouble max_val; - + priv = GET_PRIV (view); adj = GTK_TEXT_VIEW (view)->vadjustment; max_val = adj->upper - adj->page_size; - + g_return_val_if_fail (priv->scroll_time != NULL, FALSE); - + if (g_timer_elapsed (priv->scroll_time, NULL) > MAX_SCROLL_TIME) { /* time's up. jump to the end and kill the timer */ gtk_adjustment_set_value (adj, max_val); @@ -658,7 +664,7 @@ chat_text_view_scroll_cb (EmpathyChatTextView *view) priv->scroll_timeout = 0; return FALSE; } - + /* scroll by 1/3rd the remaining distance */ gtk_adjustment_set_value (adj, gtk_adjustment_get_value (adj) + ((max_val - gtk_adjustment_get_value (adj)) / 3)); return TRUE; @@ -668,9 +674,9 @@ static void chat_text_view_scroll_down (EmpathyChatView *view) { EmpathyChatTextViewPriv *priv = GET_PRIV (view); - + g_return_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view)); - + if (!priv->allow_scrolling) { return; } @@ -697,29 +703,29 @@ chat_text_view_append_message (EmpathyChatView *view, EmpathyChatTextViewPriv *priv = GET_PRIV (text_view); gboolean bottom; time_t timestamp; - + g_return_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view)); g_return_if_fail (EMPATHY_IS_MESSAGE (msg)); - + if (!empathy_message_get_body (msg)) { return; } - + bottom = chat_text_view_is_scrolled_down (text_view); - + chat_text_view_maybe_trim_buffer (EMPATHY_CHAT_TEXT_VIEW (view)); - + timestamp = empathy_message_get_timestamp (msg); chat_text_maybe_append_date_and_time (text_view, timestamp); if (EMPATHY_CHAT_TEXT_VIEW_GET_CLASS (view)->append_message) { EMPATHY_CHAT_TEXT_VIEW_GET_CLASS (view)->append_message (text_view, msg); } - + if (bottom) { chat_text_view_scroll_down (view); } - + if (priv->last_contact) { g_object_unref (priv->last_contact); } @@ -757,7 +763,7 @@ chat_text_view_append_event (EmpathyChatView *view, if (bottom) { chat_text_view_scroll_down (view); } - + if (priv->last_contact) { g_object_unref (priv->last_contact); priv->last_contact = NULL; @@ -770,9 +776,9 @@ chat_text_view_scroll (EmpathyChatView *view, gboolean allow_scrolling) { EmpathyChatTextViewPriv *priv = GET_PRIV (view); - + g_return_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view)); - + DEBUG ("Scrolling %s", allow_scrolling ? "enabled" : "disabled"); priv->allow_scrolling = allow_scrolling; @@ -785,11 +791,11 @@ static gboolean chat_text_view_get_has_selection (EmpathyChatView *view) { GtkTextBuffer *buffer; - + g_return_val_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view), FALSE); - + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); - + return gtk_text_buffer_get_has_selection (buffer); } @@ -798,18 +804,18 @@ chat_text_view_clear (EmpathyChatView *view) { GtkTextBuffer *buffer; EmpathyChatTextViewPriv *priv; - + g_return_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view)); - + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); gtk_text_buffer_set_text (buffer, "", -1); - + /* We set these back to the initial values so we get * timestamps when clearing the window to know when * conversations start. */ priv = GET_PRIV (view); - + priv->last_timestamp = 0; } @@ -825,18 +831,18 @@ chat_text_view_find_previous (EmpathyChatView *view, GtkTextIter iter_match_end; gboolean found; gboolean from_start = FALSE; - + g_return_val_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view), FALSE); g_return_val_if_fail (search_criteria != NULL, FALSE); - + priv = GET_PRIV (view); - + buffer = priv->buffer; - + if (EMP_STR_EMPTY (search_criteria)) { if (priv->find_mark_previous) { gtk_text_buffer_get_start_iter (buffer, &iter_at_mark); - + gtk_text_buffer_move_mark (buffer, priv->find_mark_previous, &iter_at_mark); @@ -850,14 +856,14 @@ chat_text_view_find_previous (EmpathyChatView *view, &iter_at_mark, &iter_at_mark); } - + return FALSE; } - + if (new_search) { from_start = TRUE; } - + if (priv->find_mark_previous) { gtk_text_buffer_get_iter_at_mark (buffer, &iter_at_mark, @@ -866,22 +872,22 @@ chat_text_view_find_previous (EmpathyChatView *view, gtk_text_buffer_get_end_iter (buffer, &iter_at_mark); from_start = TRUE; } - + priv->find_last_direction = FALSE; - + found = empathy_text_iter_backward_search (&iter_at_mark, search_criteria, &iter_match_start, &iter_match_end, NULL); - + if (!found) { gboolean result = FALSE; - + if (from_start) { return result; } - + /* Here we wrap around. */ if (!new_search && !priv->find_wrapped) { priv->find_wrapped = TRUE; @@ -890,10 +896,10 @@ chat_text_view_find_previous (EmpathyChatView *view, FALSE); priv->find_wrapped = FALSE; } - + return result; } - + /* Set new mark and show on screen */ if (!priv->find_mark_previous) { priv->find_mark_previous = gtk_text_buffer_create_mark (buffer, NULL, @@ -904,7 +910,7 @@ chat_text_view_find_previous (EmpathyChatView *view, priv->find_mark_previous, &iter_match_start); } - + if (!priv->find_mark_next) { priv->find_mark_next = gtk_text_buffer_create_mark (buffer, NULL, &iter_match_end, @@ -914,17 +920,17 @@ chat_text_view_find_previous (EmpathyChatView *view, priv->find_mark_next, &iter_match_end); } - + gtk_text_view_scroll_to_mark (GTK_TEXT_VIEW (view), priv->find_mark_previous, 0.0, TRUE, 0.5, 0.5); - + gtk_text_buffer_move_mark_by_name (buffer, "selection_bound", &iter_match_start); gtk_text_buffer_move_mark_by_name (buffer, "insert", &iter_match_end); - + return TRUE; } @@ -940,18 +946,18 @@ chat_text_view_find_next (EmpathyChatView *view, GtkTextIter iter_match_end; gboolean found; gboolean from_start = FALSE; - + g_return_val_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view), FALSE); g_return_val_if_fail (search_criteria != NULL, FALSE); - + priv = GET_PRIV (view); - + buffer = priv->buffer; - + if (EMP_STR_EMPTY (search_criteria)) { if (priv->find_mark_next) { gtk_text_buffer_get_start_iter (buffer, &iter_at_mark); - + gtk_text_buffer_move_mark (buffer, priv->find_mark_next, &iter_at_mark); @@ -965,14 +971,14 @@ chat_text_view_find_next (EmpathyChatView *view, &iter_at_mark, &iter_at_mark); } - + return FALSE; } - + if (new_search) { from_start = TRUE; } - + if (priv->find_mark_next) { gtk_text_buffer_get_iter_at_mark (buffer, &iter_at_mark, @@ -981,22 +987,22 @@ chat_text_view_find_next (EmpathyChatView *view, gtk_text_buffer_get_start_iter (buffer, &iter_at_mark); from_start = TRUE; } - + priv->find_last_direction = TRUE; - + found = empathy_text_iter_forward_search (&iter_at_mark, search_criteria, &iter_match_start, &iter_match_end, NULL); - + if (!found) { gboolean result = FALSE; - + if (from_start) { return result; } - + /* Here we wrap around. */ if (!new_search && !priv->find_wrapped) { priv->find_wrapped = TRUE; @@ -1005,10 +1011,10 @@ chat_text_view_find_next (EmpathyChatView *view, FALSE); priv->find_wrapped = FALSE; } - + return result; } - + /* Set new mark and show on screen */ if (!priv->find_mark_next) { priv->find_mark_next = gtk_text_buffer_create_mark (buffer, NULL, @@ -1019,7 +1025,7 @@ chat_text_view_find_next (EmpathyChatView *view, priv->find_mark_next, &iter_match_end); } - + if (!priv->find_mark_previous) { priv->find_mark_previous = gtk_text_buffer_create_mark (buffer, NULL, &iter_match_start, @@ -1029,17 +1035,17 @@ chat_text_view_find_next (EmpathyChatView *view, priv->find_mark_previous, &iter_match_start); } - + gtk_text_view_scroll_to_mark (GTK_TEXT_VIEW (view), priv->find_mark_next, 0.0, TRUE, 0.5, 0.5); - + gtk_text_buffer_move_mark_by_name (buffer, "selection_bound", &iter_match_start); gtk_text_buffer_move_mark_by_name (buffer, "insert", &iter_match_end); - + return TRUE; } @@ -1054,15 +1060,15 @@ chat_text_view_find_abilities (EmpathyChatView *view, GtkTextIter iter_at_mark; GtkTextIter iter_match_start; GtkTextIter iter_match_end; - + g_return_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view)); g_return_if_fail (search_criteria != NULL); g_return_if_fail (can_do_previous != NULL && can_do_next != NULL); - + priv = GET_PRIV (view); - + buffer = priv->buffer; - + if (can_do_previous) { if (priv->find_mark_previous) { gtk_text_buffer_get_iter_at_mark (buffer, @@ -1071,14 +1077,14 @@ chat_text_view_find_abilities (EmpathyChatView *view, } else { gtk_text_buffer_get_start_iter (buffer, &iter_at_mark); } - + *can_do_previous = empathy_text_iter_backward_search (&iter_at_mark, search_criteria, &iter_match_start, &iter_match_end, NULL); } - + if (can_do_next) { if (priv->find_mark_next) { gtk_text_buffer_get_iter_at_mark (buffer, @@ -1087,7 +1093,7 @@ chat_text_view_find_abilities (EmpathyChatView *view, } else { gtk_text_buffer_get_start_iter (buffer, &iter_at_mark); } - + *can_do_next = empathy_text_iter_forward_search (&iter_at_mark, search_criteria, &iter_match_start, @@ -1107,37 +1113,37 @@ chat_text_view_highlight (EmpathyChatView *view, GtkTextIter iter_match_start; GtkTextIter iter_match_end; gboolean found; - + g_return_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view)); - + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); - + gtk_text_buffer_get_start_iter (buffer, &iter); - + gtk_text_buffer_get_bounds (buffer, &iter_start, &iter_end); gtk_text_buffer_remove_tag_by_name (buffer, EMPATHY_CHAT_TEXT_VIEW_TAG_HIGHLIGHT, &iter_start, &iter_end); - + if (EMP_STR_EMPTY (text)) { return; } - + while (1) { found = empathy_text_iter_forward_search (&iter, text, &iter_match_start, &iter_match_end, NULL); - + if (!found) { break; } - + gtk_text_buffer_apply_tag_by_name (buffer, EMPATHY_CHAT_TEXT_VIEW_TAG_HIGHLIGHT, &iter_match_start, &iter_match_end); - + iter = iter_match_end; gtk_text_iter_forward_char (&iter); } @@ -1148,12 +1154,12 @@ chat_text_view_copy_clipboard (EmpathyChatView *view) { GtkTextBuffer *buffer; GtkClipboard *clipboard; - + g_return_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view)); - + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD); - + gtk_text_buffer_copy_clipboard (buffer, clipboard); } @@ -1177,9 +1183,9 @@ EmpathyContact * empathy_chat_text_view_get_last_contact (EmpathyChatTextView *view) { EmpathyChatTextViewPriv *priv = GET_PRIV (view); - + g_return_val_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view), NULL); - + return priv->last_contact; } @@ -1188,7 +1194,7 @@ empathy_chat_text_view_set_only_if_date (EmpathyChatTextView *view, gboolean only_if_date) { EmpathyChatTextViewPriv *priv = GET_PRIV (view); - + g_return_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view)); if (only_if_date != priv->only_if_date) { diff --git a/libempathy-gtk/empathy-chat-view.c b/libempathy-gtk/empathy-chat-view.c index e0a7905d..ed5740a8 100644 --- a/libempathy-gtk/empathy-chat-view.c +++ b/libempathy-gtk/empathy-chat-view.c @@ -31,21 +31,21 @@ GType empathy_chat_view_get_type (void) { static GType type = 0; - + if (!type) { static const GTypeInfo type_info = { sizeof (EmpathyChatViewIface), chat_view_base_init, NULL, }; - + type = g_type_register_static (G_TYPE_INTERFACE, "EmpathyChatView", &type_info, 0); - + g_type_interface_add_prerequisite (type, GTK_TYPE_WIDGET); } - + return type; } @@ -53,7 +53,7 @@ static void chat_view_base_init (gpointer klass) { static gboolean initialized = FALSE; - + if (!initialized) { initialized = TRUE; } @@ -64,7 +64,7 @@ empathy_chat_view_append_message (EmpathyChatView *view, EmpathyMessage *msg) { g_return_if_fail (EMPATHY_IS_CHAT_VIEW (view)); - + if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->append_message) { EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->append_message (view, msg); @@ -76,7 +76,7 @@ empathy_chat_view_append_event (EmpathyChatView *view, const gchar *str) { g_return_if_fail (EMPATHY_IS_CHAT_VIEW (view)); - + if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->append_event) { EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->append_event (view, str); @@ -88,7 +88,7 @@ empathy_chat_view_scroll (EmpathyChatView *view, gboolean allow_scrolling) { g_return_if_fail (EMPATHY_IS_CHAT_VIEW (view)); - + if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->scroll) { EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->scroll (view, allow_scrolling); @@ -99,7 +99,7 @@ void empathy_chat_view_scroll_down (EmpathyChatView *view) { g_return_if_fail (EMPATHY_IS_CHAT_VIEW (view)); - + if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->scroll_down) { EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->scroll_down (view); } @@ -109,7 +109,7 @@ gboolean empathy_chat_view_get_has_selection (EmpathyChatView *view) { g_return_val_if_fail (EMPATHY_IS_CHAT_VIEW (view), FALSE); - + if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->get_has_selection) { return EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->get_has_selection (view); } @@ -120,7 +120,7 @@ void empathy_chat_view_clear (EmpathyChatView *view) { g_return_if_fail (EMPATHY_IS_CHAT_VIEW (view)); - + if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->clear) { EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->clear (view); } @@ -132,7 +132,7 @@ empathy_chat_view_find_previous (EmpathyChatView *view, gboolean new_search) { g_return_val_if_fail (EMPATHY_IS_CHAT_VIEW (view), FALSE); - + if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_previous) { return EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_previous (view, search_criteria, @@ -147,7 +147,7 @@ empathy_chat_view_find_next (EmpathyChatView *view, gboolean new_search) { g_return_val_if_fail (EMPATHY_IS_CHAT_VIEW (view), FALSE); - + if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_next) { return EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_next (view, search_criteria, @@ -164,7 +164,7 @@ empathy_chat_view_find_abilities (EmpathyChatView *view, gboolean *can_do_next) { g_return_if_fail (EMPATHY_IS_CHAT_VIEW (view)); - + if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_abilities) { EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_abilities (view, search_criteria, @@ -178,7 +178,7 @@ empathy_chat_view_highlight (EmpathyChatView *view, const gchar *text) { g_return_if_fail (EMPATHY_IS_CHAT_VIEW (view)); - + if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->highlight) { EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->highlight (view, text); } @@ -188,7 +188,7 @@ void empathy_chat_view_copy_clipboard (EmpathyChatView *view) { g_return_if_fail (EMPATHY_IS_CHAT_VIEW (view)); - + if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->copy_clipboard) { EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->copy_clipboard (view); } diff --git a/libempathy-gtk/empathy-chat.c b/libempathy-gtk/empathy-chat.c index 0fb77f24..9c5e47b0 100644 --- a/libempathy-gtk/empathy-chat.c +++ b/libempathy-gtk/empathy-chat.c @@ -69,6 +69,7 @@ typedef struct { gchar *name; gchar *subject; EmpathyContact *remote_contact; + gboolean show_contacts; EmpathyLogManager *log_manager; EmpathyAccountManager *account_manager; @@ -107,6 +108,7 @@ enum { PROP_NAME, PROP_SUBJECT, PROP_REMOTE_CONTACT, + PROP_SHOW_CONTACTS, }; static guint signals[LAST_SIGNAL] = { 0 }; @@ -141,6 +143,9 @@ chat_get_property (GObject *object, case PROP_REMOTE_CONTACT: g_value_set_object (value, priv->remote_contact); break; + case PROP_SHOW_CONTACTS: + g_value_set_boolean (value, priv->show_contacts); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); break; @@ -159,6 +164,9 @@ chat_set_property (GObject *object, case PROP_TP_CHAT: empathy_chat_set_tp_chat (chat, EMPATHY_TP_CHAT (g_value_get_object (value))); break; + case PROP_SHOW_CONTACTS: + empathy_chat_set_show_contacts (chat, g_value_get_boolean (value)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); break; @@ -199,7 +207,7 @@ chat_new_connection_cb (EmpathyAccountManager *manager, if (!priv->tp_chat && empathy_account_equal (account, priv->account) && priv->handle_type != TP_HANDLE_TYPE_NONE && !EMP_STR_EMPTY (priv->id)) { - + DEBUG ("Account reconnected, request a new Text channel"); switch (priv->handle_type) { @@ -294,7 +302,7 @@ chat_sent_message_add (EmpathyChat *chat, /* Save the sent message in our repeat buffer */ list = priv->sent_messages; - + /* Remove any other occurances of this msg */ while ((item = g_slist_find_custom (list, str, (GCompareFunc) strcmp)) != NULL) { list = g_slist_remove_link (list, item); @@ -325,7 +333,7 @@ chat_sent_message_get_next (EmpathyChat *chat) { EmpathyChatPriv *priv; gint max; - + priv = GET_PRIV (chat); if (!priv->sent_messages) { @@ -338,7 +346,7 @@ chat_sent_message_get_next (EmpathyChat *chat) if (priv->sent_messages_index < max) { priv->sent_messages_index++; } - + DEBUG ("Returning next message index:%d", priv->sent_messages_index); return g_slist_nth_data (priv->sent_messages, priv->sent_messages_index); @@ -352,7 +360,7 @@ chat_sent_message_get_last (EmpathyChat *chat) g_return_val_if_fail (EMPATHY_IS_CHAT (chat), NULL); priv = GET_PRIV (chat); - + if (!priv->sent_messages) { DEBUG ("No sent messages, last message is NULL"); return NULL; @@ -1188,15 +1196,18 @@ chat_reset_size_request (gpointer widget) } static void -chat_set_show_contacts (EmpathyChat *chat, gboolean show) +chat_update_contacts_visibility (EmpathyChat *chat) { EmpathyChatPriv *priv = GET_PRIV (chat); + gboolean show; + + show = priv->remote_contact == NULL && priv->show_contacts; if (!priv->scrolled_window_contacts) { return; } - if (show) { + if (show && priv->contact_list_view == NULL) { EmpathyContactListStore *store; gint min_width; @@ -1227,34 +1238,47 @@ chat_set_show_contacts (EmpathyChat *chat, gboolean show) gtk_widget_show (priv->contact_list_view); gtk_widget_show (priv->scrolled_window_contacts); g_object_unref (store); - } else { + } else if (!show) { priv->contacts_width = gtk_paned_get_position (GTK_PANED (priv->hpaned)); gtk_widget_hide (priv->scrolled_window_contacts); - if (priv->contact_list_view) { + if (priv->contact_list_view != NULL) { gtk_widget_destroy (priv->contact_list_view); priv->contact_list_view = NULL; } } } +void +empathy_chat_set_show_contacts (EmpathyChat *chat, + gboolean show) +{ + EmpathyChatPriv *priv = GET_PRIV (chat); + + priv->show_contacts = show; + + chat_update_contacts_visibility (chat); + + g_object_notify (G_OBJECT (chat), "show-contacts"); +} + static void chat_remote_contact_changed_cb (EmpathyChat *chat) { EmpathyChatPriv *priv = GET_PRIV (chat); - if (priv->remote_contact) { + if (priv->remote_contact != NULL) { g_object_unref (priv->remote_contact); priv->remote_contact = NULL; } priv->remote_contact = empathy_tp_chat_get_remote_contact (priv->tp_chat); - if (priv->remote_contact) { + if (priv->remote_contact != NULL) { g_object_ref (priv->remote_contact); priv->handle_type = TP_HANDLE_TYPE_CONTACT; g_free (priv->id); priv->id = g_strdup (empathy_contact_get_id (priv->remote_contact)); } - else if (priv->tp_chat) { + else if (priv->tp_chat != NULL) { TpChannel *channel; channel = empathy_tp_chat_get_channel (priv->tp_chat); @@ -1263,7 +1287,7 @@ chat_remote_contact_changed_cb (EmpathyChat *chat) priv->id = g_strdup (empathy_tp_chat_get_id (priv->tp_chat)); } - chat_set_show_contacts (chat, priv->remote_contact == NULL); + chat_update_contacts_visibility (chat); g_object_notify (G_OBJECT (chat), "remote-contact"); g_object_notify (G_OBJECT (chat), "id"); @@ -1288,7 +1312,7 @@ chat_destroy_cb (EmpathyTpChat *tp_chat, empathy_chat_view_append_event (chat->view, _("Disconnected")); gtk_widget_set_sensitive (chat->input_text_view, FALSE); - chat_set_show_contacts (chat, FALSE); + empathy_chat_set_show_contacts (chat, FALSE); } static void @@ -1373,7 +1397,7 @@ chat_create_ui (EmpathyChat *chat) gtk_widget_show (chat->input_text_view); /* Create contact list */ - chat_set_show_contacts (chat, priv->remote_contact == NULL); + chat_update_contacts_visibility (chat); /* Initialy hide the topic, will be shown if not empty */ gtk_widget_hide (priv->hbox_topic); @@ -1531,42 +1555,56 @@ empathy_chat_class_init (EmpathyChatClass *klass) "The tp chat object", EMPATHY_TYPE_TP_CHAT, G_PARAM_CONSTRUCT | - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); g_object_class_install_property (object_class, PROP_ACCOUNT, g_param_spec_object ("account", "Account of the chat", "The account of the chat", MC_TYPE_ACCOUNT, - G_PARAM_READABLE)); + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); g_object_class_install_property (object_class, PROP_ID, g_param_spec_string ("id", "Chat's id", "The id of the chat", NULL, - G_PARAM_READABLE)); + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); g_object_class_install_property (object_class, PROP_NAME, g_param_spec_string ("name", "Chat's name", "The name of the chat", NULL, - G_PARAM_READABLE)); + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); g_object_class_install_property (object_class, PROP_SUBJECT, g_param_spec_string ("subject", "Chat's subject", "The subject or topic of the chat", NULL, - G_PARAM_READABLE)); + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); g_object_class_install_property (object_class, PROP_REMOTE_CONTACT, g_param_spec_object ("remote-contact", "The remote contact", "The remote contact is any", EMPATHY_TYPE_CONTACT, - G_PARAM_READABLE)); + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); + g_object_class_install_property (object_class, + PROP_SHOW_CONTACTS, + g_param_spec_boolean ("show-contacts", + "Contacts' visibility", + "The visibility of the contacts' list", + TRUE, + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); signals[COMPOSING] = g_signal_new ("composing", @@ -1619,6 +1657,10 @@ empathy_chat_init (EmpathyChat *chat) G_CALLBACK (chat_new_connection_cb), chat); + empathy_conf_get_bool (empathy_conf_get (), + EMPATHY_PREFS_CHAT_SHOW_CONTACTS_IN_ROOMS, + &priv->show_contacts); + /* Block events for some time to avoid having "has come online" or * "joined" messages. */ priv->block_events_timeout_id = diff --git a/libempathy-gtk/empathy-chat.h b/libempathy-gtk/empathy-chat.h index 12fac961..c38fd64a 100644 --- a/libempathy-gtk/empathy-chat.h +++ b/libempathy-gtk/empathy-chat.h @@ -82,6 +82,8 @@ void empathy_chat_correct_word (EmpathyChat *chat, GtkTextIter *end, const gchar *new_word); gboolean empathy_chat_is_room (EmpathyChat *chat); +void empathy_chat_set_show_contacts (EmpathyChat *chat, + gboolean show); G_END_DECLS #endif /* __EMPATHY_CHAT_H__ */ diff --git a/libempathy-gtk/empathy-conf.h b/libempathy-gtk/empathy-conf.h index 47949139..937a4bf9 100644 --- a/libempathy-gtk/empathy-conf.h +++ b/libempathy-gtk/empathy-conf.h @@ -48,6 +48,8 @@ struct _EmpathyConfClass { #define EMPATHY_PREFS_NOTIFICATIONS_ENABLED EMPATHY_PREFS_PATH "/notifications/notifications_enabled" #define EMPATHY_PREFS_NOTIFICATIONS_DISABLED_AWAY EMPATHY_PREFS_PATH "/notifications/notifications_disabled_away" #define EMPATHY_PREFS_NOTIFICATIONS_FOCUS EMPATHY_PREFS_PATH "/notifications/notifications_focus" +#define EMPATHY_PREFS_NOTIFICATIONS_CONTACT_SIGNIN EMPATHY_PREFS_PATH "/notifications/notifications_contact_signin" +#define EMPATHY_PREFS_NOTIFICATIONS_CONTACT_SIGNOUT EMPATHY_PREFS_PATH "/notifications/notifications_contact_signout" #define EMPATHY_PREFS_SOUNDS_ENABLED EMPATHY_PREFS_PATH "/sounds/sounds_enabled" #define EMPATHY_PREFS_SOUNDS_DISABLED_AWAY EMPATHY_PREFS_PATH "/sounds/sounds_disabled_away" #define EMPATHY_PREFS_SOUNDS_INCOMING_MESSAGE EMPATHY_PREFS_PATH "/sounds/sounds_incoming_message" @@ -59,6 +61,7 @@ struct _EmpathyConfClass { #define EMPATHY_PREFS_SOUNDS_CONTACT_LOGOUT EMPATHY_PREFS_PATH "/sounds/sounds_contact_logout" #define EMPATHY_PREFS_POPUPS_WHEN_AVAILABLE EMPATHY_PREFS_PATH "/notifications/popups_when_available" #define EMPATHY_PREFS_CHAT_SHOW_SMILEYS EMPATHY_PREFS_PATH "/conversation/graphical_smileys" +#define EMPATHY_PREFS_CHAT_SHOW_CONTACTS_IN_ROOMS EMPATHY_PREFS_PATH "/conversation/show_contacts_in_rooms" #define EMPATHY_PREFS_CHAT_THEME EMPATHY_PREFS_PATH "/conversation/theme" #define EMPATHY_PREFS_CHAT_ADIUM_PATH EMPATHY_PREFS_PATH "/conversation/adium_path" #define EMPATHY_PREFS_CHAT_SPELL_CHECKER_LANGUAGES EMPATHY_PREFS_PATH "/conversation/spell_checker_languages" diff --git a/libempathy-gtk/empathy-contact-dialogs.c b/libempathy-gtk/empathy-contact-dialogs.c index 307b0fbb..39edbf57 100644 --- a/libempathy-gtk/empathy-contact-dialogs.c +++ b/libempathy-gtk/empathy-contact-dialogs.c @@ -398,7 +398,7 @@ empathy_new_contact_dialog_show (GtkWindow *parent) button, GTK_RESPONSE_CANCEL); gtk_widget_show (button); - + /* Add button */ button = gtk_button_new_with_label (GTK_STOCK_ADD); gtk_button_set_use_stock (GTK_BUTTON (button), TRUE); diff --git a/libempathy-gtk/empathy-contact-list-store.c b/libempathy-gtk/empathy-contact-list-store.c index 261b2cc6..0e9372be 100644 --- a/libempathy-gtk/empathy-contact-list-store.c +++ b/libempathy-gtk/empathy-contact-list-store.c @@ -601,7 +601,7 @@ empathy_contact_list_store_set_sort_criterium (EmpathyContactListStore *stor EMPATHY_CONTACT_LIST_STORE_COL_STATUS, GTK_SORT_ASCENDING); break; - + case EMPATHY_CONTACT_LIST_STORE_SORT_NAME: gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store), EMPATHY_CONTACT_LIST_STORE_COL_NAME, @@ -738,7 +738,7 @@ contact_list_store_setup (EmpathyContactListStore *store) G_TYPE_BOOLEAN, /* Is separator */ G_TYPE_BOOLEAN, /* Can make audio calls */ G_TYPE_BOOLEAN}; /* Can make video calls */ - + priv = GET_PRIV (store); gtk_tree_store_set_column_types (GTK_TREE_STORE (store), @@ -853,7 +853,7 @@ contact_list_store_add_contact (EmpathyContactListStore *store, GList *groups = NULL, *l; priv = GET_PRIV (store); - + if (EMP_STR_EMPTY (empathy_contact_get_name (contact)) || (!priv->show_offline && !empathy_contact_is_online (contact))) { return; @@ -922,7 +922,7 @@ contact_list_store_remove_contact (EmpathyContactListStore *store, if (!iters) { return; } - + /* Clean up model */ model = GTK_TREE_MODEL (store); @@ -1156,7 +1156,7 @@ contact_list_store_contact_active_new (EmpathyContactListStore *store, DEBUG ("Contact:'%s' now active, and %s be removed", empathy_contact_get_name (contact), remove ? "WILL" : "WILL NOT"); - + data = g_slice_new0 (ShowActiveData); data->store = g_object_ref (store); diff --git a/libempathy-gtk/empathy-contact-list-view.c b/libempathy-gtk/empathy-contact-list-view.c index c106653b..61db60cd 100644 --- a/libempathy-gtk/empathy-contact-list-view.c +++ b/libempathy-gtk/empathy-contact-list-view.c @@ -121,7 +121,7 @@ contact_list_view_tooltip_destroy_cb (GtkWidget *widget, EmpathyContactListView *view) { EmpathyContactListViewPriv *priv = GET_PRIV (view); - + if (priv->tooltip_widget) { DEBUG ("Tooltip destroyed"); g_object_unref (priv->tooltip_widget); @@ -230,7 +230,7 @@ contact_list_view_drag_got_contact (EmpathyTpContactFactory *factory, if (data->new_group) { empathy_contact_list_add_to_group (list, contact, data->new_group); } - if (data->old_group && data->action == GDK_ACTION_MOVE) { + if (data->old_group && data->action == GDK_ACTION_MOVE) { empathy_contact_list_remove_from_group (list, contact, data->old_group); } } @@ -1272,7 +1272,7 @@ empathy_contact_list_view_new (EmpathyContactListStore *store, EmpathyContactFeatureFlags contact_features) { g_return_val_if_fail (EMPATHY_IS_CONTACT_LIST_STORE (store), NULL); - + return g_object_new (EMPATHY_TYPE_CONTACT_LIST_VIEW, "store", store, "contact-features", contact_features, @@ -1344,7 +1344,7 @@ contact_list_view_remove_dialog_show (GtkWindow *parent, { GtkWidget *dialog; gboolean res; - + dialog = gtk_message_dialog_new (parent, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, "%s", message); @@ -1446,7 +1446,7 @@ contact_list_view_remove_activate_cb (GtkMenuItem *menuitem, { EmpathyContactListViewPriv *priv = GET_PRIV (view); EmpathyContact *contact; - + contact = empathy_contact_list_view_dup_selected (view); if (contact) { @@ -1455,7 +1455,7 @@ contact_list_view_remove_activate_cb (GtkMenuItem *menuitem, parent = empathy_get_toplevel_window (GTK_WIDGET (view)); text = g_strdup_printf (_("Do you really want to remove the contact '%s'?"), - empathy_contact_get_name (contact)); + empathy_contact_get_name (contact)); if (contact_list_view_remove_dialog_show (parent, _("Removing contact"), text)) { EmpathyContactList *list; diff --git a/libempathy-gtk/empathy-contact-menu.c b/libempathy-gtk/empathy-contact-menu.c index fdd9c34a..2bad5c9f 100644 --- a/libempathy-gtk/empathy-contact-menu.c +++ b/libempathy-gtk/empathy-contact-menu.c @@ -141,7 +141,7 @@ empathy_contact_chat_menu_item_new (EmpathyContact *contact) g_signal_connect (item, "activate", G_CALLBACK (empathy_contact_chat_menu_item_activated), contact); - + return item; } @@ -244,7 +244,7 @@ empathy_contact_log_menu_item_new (EmpathyContact *contact) g_signal_connect_swapped (item, "activate", G_CALLBACK (contact_log_menu_item_activate_cb), contact); - + return item; } @@ -293,7 +293,7 @@ empathy_contact_info_menu_item_new (EmpathyContact *contact) g_signal_connect_swapped (item, "activate", G_CALLBACK (contact_info_menu_item_activate_cb), contact); - + return item; } @@ -320,7 +320,7 @@ empathy_contact_edit_menu_item_new (EmpathyContact *contact) g_signal_connect_swapped (item, "activate", G_CALLBACK (contact_edit_menu_item_activate_cb), contact); - + return item; } diff --git a/libempathy-gtk/empathy-log-window.c b/libempathy-gtk/empathy-log-window.c index dc2efa33..21d73f8e 100644 --- a/libempathy-gtk/empathy-log-window.c +++ b/libempathy-gtk/empathy-log-window.c @@ -320,7 +320,7 @@ log_window_find_changed_cb (GtkTreeSelection *selection, gtk_widget_set_sensitive (window->button_next, FALSE); empathy_chat_view_clear (window->chatview_find); - + return; } @@ -646,7 +646,7 @@ log_window_chats_populate (EmpathyLogWindow *window) gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, COL_CHAT_ICON, "empathy-available", /* FIXME */ - COL_CHAT_NAME, hit->chat_id, + COL_CHAT_NAME, hit->chat_id, COL_CHAT_ACCOUNT, account, COL_CHAT_ID, hit->chat_id, COL_CHAT_IS_CHATROOM, hit->is_chatroom, diff --git a/libempathy-gtk/empathy-new-message-dialog.c b/libempathy-gtk/empathy-new-message-dialog.c index 512cd1ba..9aee4291 100644 --- a/libempathy-gtk/empathy-new-message-dialog.c +++ b/libempathy-gtk/empathy-new-message-dialog.c @@ -239,7 +239,7 @@ new_message_change_state_button_cb (GtkEditable *editable, id = gtk_entry_get_text (GTK_ENTRY (editable)); sensitive = !EMP_STR_EMPTY (id); - + gtk_widget_set_sensitive (dialog->button_chat, sensitive); gtk_widget_set_sensitive (dialog->button_call, sensitive); } diff --git a/libempathy-gtk/empathy-plist.c b/libempathy-gtk/empathy-plist.c new file mode 100644 index 00000000..4cc392be --- /dev/null +++ b/libempathy-gtk/empathy-plist.c @@ -0,0 +1,336 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2008 Christophe Fergeau + * Based on itdb_plist parser from the gtkpod project. + * + * The code contained in this file is free software; you can redistribute + * it and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version + * 2.1 of the License, or (at your option) any later version. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this code; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "config.h" + +#include +#include +#include +#include +#include + +#include "empathy-plist.h" + +static GValue *empathy_plist_parse_node (xmlNode *a_node); + +static GValue * +empathy_plist_parse_integer (xmlNode *a_node) +{ + char *str_val; + char *end_ptr; + gint int_val; + + str_val = (char *) xmlNodeGetContent (a_node); + int_val = strtol (str_val, &end_ptr, 0); + if (*end_ptr != '\0') { + xmlFree (str_val); + return NULL; + } + xmlFree (str_val); + + return tp_g_value_slice_new_int (int_val); +} + +static GValue * +empathy_plist_parse_string (xmlNode *a_node) +{ + char *str_val; + GValue *value; + + str_val = (char *) xmlNodeGetContent (a_node); + + value = tp_g_value_slice_new_string (str_val); + + xmlFree (str_val); + + return value; +} + +static GValue * +empathy_plist_parse_real (xmlNode *a_node) +{ + char *str_val; + char *end_ptr; + gdouble double_val; + + str_val = (char *) xmlNodeGetContent (a_node); + double_val = g_ascii_strtod (str_val, &end_ptr); + if (*end_ptr != '\0') { + xmlFree (str_val); + return NULL; + } + xmlFree (str_val); + + return tp_g_value_slice_new_double (double_val); +} + +static GValue * +empathy_plist_parse_boolean (xmlNode *a_node) +{ + gboolean bool_val; + + if (strcmp ((char *) a_node->name, "true") == 0) { + bool_val = TRUE; + } else if (strcmp ((char *) a_node->name, "false") == 0) { + bool_val = FALSE; + } else { + return NULL; + } + + return tp_g_value_slice_new_boolean (bool_val); +} + +static GValue * +empathy_plist_parse_data (xmlNode *a_node) +{ + char *str_val; + guchar *raw_data; + gsize len; + GValue *value; + + str_val = (char *) xmlNodeGetContent (a_node); + raw_data = g_base64_decode (str_val, &len); + xmlFree (str_val); + + value = tp_g_value_slice_new_bytes (len, raw_data); + + g_free (raw_data); + + return value; +} + +static xmlNode * +empathy_plist_parse_one_dict_entry (xmlNode *a_node, GHashTable *dict) +{ + xmlNode *cur_node = a_node; + xmlChar *key_name; + GValue *value; + + while (cur_node && + (xmlStrcmp (cur_node->name, (xmlChar *) "key") != 0)) { + cur_node = cur_node->next; + } + if (!cur_node) { + return NULL; + } + key_name = xmlNodeGetContent (cur_node); + cur_node = cur_node->next; + while (cur_node && xmlIsBlankNode (cur_node)) { + cur_node = cur_node->next; + } + if (!cur_node) { + xmlFree (key_name); + return NULL; + } + + value = empathy_plist_parse_node (cur_node); + if (value) { + g_hash_table_insert (dict, g_strdup ((char *) key_name), value); + } + xmlFree (key_name); + + return cur_node->next; +} + +static GValue * +empathy_plist_parse_dict (xmlNode *a_node) +{ + xmlNode *cur_node = a_node->children; + GHashTable *dict; + + dict = g_hash_table_new_full (g_str_hash, g_str_equal, + g_free, (GDestroyNotify) tp_g_value_slice_free); + + while (cur_node) { + if (xmlIsBlankNode (cur_node)) { + cur_node = cur_node->next; + } else { + cur_node = empathy_plist_parse_one_dict_entry (cur_node, dict); + } + } + + return tp_g_value_slice_new_take_boxed (G_TYPE_HASH_TABLE, dict); +} + +static GValue * +empathy_plist_parse_array (xmlNode *a_node) +{ + xmlNode *cur_node = a_node->children; + GValueArray *array; + + array = g_value_array_new (4); + + while (cur_node) { + GValue *cur_value; + + cur_value = empathy_plist_parse_node (cur_node); + if (cur_value) { + g_value_array_append (array, cur_value); + tp_g_value_slice_free (cur_value); + } + + /* When an array contains an element enclosed in "unknown" tags (ie + * non-type ones), we silently skip them since early + * SysInfoExtended files used to have values enclosed within + * tags. + */ + cur_node = cur_node->next; + } + + return tp_g_value_slice_new_take_boxed (G_TYPE_VALUE_ARRAY, array); +} + +typedef GValue *(*ParseCallback) (xmlNode *); + +struct Parser { + const char * const type_name; + ParseCallback parser; +}; + +static const struct Parser parsers[] = { {"integer", empathy_plist_parse_integer}, + {"real", empathy_plist_parse_real}, + {"string", empathy_plist_parse_string}, + {"true", empathy_plist_parse_boolean}, + {"false", empathy_plist_parse_boolean}, + {"data", empathy_plist_parse_data}, + {"dict", empathy_plist_parse_dict}, + {"array", empathy_plist_parse_array}, + {NULL, NULL} }; + +static ParseCallback +empathy_plist_get_parser_for_type (const xmlChar *type) +{ + guint i = 0; + + while (parsers[i].type_name) { + if (xmlStrcmp (type, (xmlChar *) parsers[i].type_name) == 0) { + if (parsers[i].parser) { + return parsers[i].parser; + } + } + i++; + } + return NULL; +} + +static GValue * +empathy_plist_parse_node (xmlNode *a_node) +{ + ParseCallback parser; + + g_return_val_if_fail (a_node != NULL, NULL); + parser = empathy_plist_get_parser_for_type (a_node->name); + if (parser) { + return parser (a_node); + } else { + return NULL; + } +} + +static GValue * +empathy_plist_parse (xmlNode * a_node) +{ + xmlNode *cur_node; + + if (!a_node) { + return NULL; + } + if (xmlStrcmp (a_node->name, (xmlChar *) "plist") != 0) { + return NULL; + } + cur_node = a_node->xmlChildrenNode; + while (cur_node && (xmlIsBlankNode (cur_node))) { + cur_node = cur_node->next; + } + if (cur_node) { + return empathy_plist_parse_node (cur_node); + } + + return NULL; +} + +/** + * empathy_plist_parse_from_file: + * @filename: file containing XML plist data to parse + * + * Parses the XML plist file. If an error occurs during the parsing, + * empathy_plist_parse_from_file() will return NULL. + * + * Returns: NULL on error, a newly allocated + * #GValue otherwise. Free it using tp_g_value_slice_free() + */ +GValue * +empathy_plist_parse_from_file (const char *filename) +{ + xmlDoc *doc = NULL; + xmlNode *root_element = NULL; + GValue *parsed_doc; + + doc = xmlReadFile (filename, NULL, 0); + + if (!doc) { + return NULL; + } + + root_element = xmlDocGetRootElement (doc); + + parsed_doc = empathy_plist_parse (root_element); + + xmlFreeDoc (doc); + xmlCleanupParser (); + + return parsed_doc; +} + +/** + * empathy_plist_parse_from_memory: + * @data: memory location containing XML plist data to parse + * @len: length in bytes of the string to parse + * + * Parses the XML plist file stored in @data which length is @len + * bytes. If an error occurs during the parsing, + * empathy_plist_parse_from_memory() will return NULL. + * + * Returns: NULL on error, a newly allocated + * #GValue otherwise. Free it using tp_g_value_slice_free() + */ +GValue * +empathy_plist_parse_from_memory (const char *data, gsize len) +{ + xmlDoc *doc = NULL; + xmlNode *root_element = NULL; + GValue *parsed_doc; + + doc = xmlReadMemory (data, len, "noname.xml", NULL, 0); + + if (doc == NULL) { + return NULL; + } + + root_element = xmlDocGetRootElement (doc); + + parsed_doc = empathy_plist_parse (root_element); + + xmlFreeDoc (doc); + xmlCleanupParser (); + + return parsed_doc; +} + diff --git a/libempathy-gtk/empathy-plist.h b/libempathy-gtk/empathy-plist.h new file mode 100644 index 00000000..a15ad6a0 --- /dev/null +++ b/libempathy-gtk/empathy-plist.h @@ -0,0 +1,34 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2008 Christophe Fergeau + * Based on itdb_plist parser from the gtkpod project. + * + * The code contained in this file is free software; you can redistribute + * it and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version + * 2.1 of the License, or (at your option) any later version. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this code; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef __EMPATHY_PLIST_H__ +#define __EMPATHY_PLIST_H__ + +#include +#include + +G_BEGIN_DECLS + +GValue * empathy_plist_parse_from_file (const char *filename); +GValue * empathy_plist_parse_from_memory (const char *data, gsize len); + +G_END_DECLS + +#endif diff --git a/libempathy-gtk/empathy-presence-chooser.c b/libempathy-gtk/empathy-presence-chooser.c index 879e0413..8fba26ff 100644 --- a/libempathy-gtk/empathy-presence-chooser.c +++ b/libempathy-gtk/empathy-presence-chooser.c @@ -293,7 +293,7 @@ presence_chooser_is_preset (EmpathyPresenceChooser *self) for (l = presets; l; l = l->next) { char *preset = (char *) l->data; - if (!strcmp (status, preset)) { + if (!tp_strdiff (status, preset)) { match = TRUE; break; } @@ -468,6 +468,10 @@ presence_chooser_entry_icon_release_cb (EmpathyPresenceChooser *self, state = empathy_idle_get_state (priv->idle); status = empathy_idle_get_status (priv->idle); + if (!empathy_status_presets_is_valid (state)) + /* It doesn't make sense to add such presence as favorite */ + return; + if (presence_chooser_is_preset (self)) { /* remove the entry */ DEBUG ("REMOVING PRESET (%i, %s)\n", state, status); diff --git a/libempathy-gtk/empathy-smiley-manager.c b/libempathy-gtk/empathy-smiley-manager.c index e8f62342..900e9211 100644 --- a/libempathy-gtk/empathy-smiley-manager.c +++ b/libempathy-gtk/empathy-smiley-manager.c @@ -314,7 +314,7 @@ empathy_smiley_manager_parse (EmpathySmileyManager *manager, for (t = text; *t; t = g_utf8_next_char (t)) { SmileyManagerTree *child; gunichar c; - + c = g_utf8_get_char (t); child = smiley_manager_tree_find_child (cur_tree, c); diff --git a/libempathy-gtk/empathy-spell.c b/libempathy-gtk/empathy-spell.c index 9cd7c555..076e81a0 100644 --- a/libempathy-gtk/empathy-spell.c +++ b/libempathy-gtk/empathy-spell.c @@ -175,7 +175,7 @@ spell_notify_languages_cb (EmpathyConf *conf, enchant_broker_free_dict (lang->config, lang->speller); enchant_broker_free (lang->config); - + g_slice_free (SpellLanguage, lang); } @@ -363,7 +363,7 @@ empathy_spell_get_suggestions (const gchar *word) suggestions = enchant_dict_suggest (lang->speller, word, len, &number_of_suggestions); - + for (i = 0; i < number_of_suggestions; i++) { suggestion_list = g_list_append (suggestion_list, g_strdup (suggestions[i])); diff --git a/libempathy-gtk/empathy-theme-adium.c b/libempathy-gtk/empathy-theme-adium.c index 321d1998..b16a3e7c 100644 --- a/libempathy-gtk/empathy-theme-adium.c +++ b/libempathy-gtk/empathy-theme-adium.c @@ -25,46 +25,63 @@ #include #include +#include +#include + #include #include +#include #include "empathy-theme-adium.h" #include "empathy-smiley-manager.h" #include "empathy-conf.h" #include "empathy-ui-utils.h" +#include "empathy-plist.h" #define DEBUG_FLAG EMPATHY_DEBUG_CHAT #include #define GET_PRIV(obj) EMPATHY_GET_PRIV (obj, EmpathyThemeAdium) +/* "Join" consecutive messages with timestamps within five minutes */ +#define MESSAGE_JOIN_PERIOD 5*60 + typedef struct { + EmpathyAdiumData *data; EmpathySmileyManager *smiley_manager; EmpathyContact *last_contact; + time_t last_timestamp; gboolean page_loaded; GList *message_queue; - gchar *path; - gchar *default_avatar_filename; - gchar *template_html; - gchar *basedir; - gchar *in_content_html; - gsize in_content_len; - gchar *in_nextcontent_html; - gsize in_nextcontent_len; - gchar *out_content_html; - gsize out_content_len; - gchar *out_nextcontent_html; - gsize out_nextcontent_len; - gchar *status_html; - gsize status_len; } EmpathyThemeAdiumPriv; +struct _EmpathyAdiumData { + guint ref_count; + gchar *path; + gchar *basedir; + gchar *default_avatar_filename; + gchar *default_incoming_avatar_filename; + gchar *default_outgoing_avatar_filename; + gchar *template_html; + gchar *in_content_html; + gsize in_content_len; + gchar *in_nextcontent_html; + gsize in_nextcontent_len; + gchar *out_content_html; + gsize out_content_len; + gchar *out_nextcontent_html; + gsize out_nextcontent_len; + gchar *status_html; + gsize status_len; + GHashTable *info; +}; + static void theme_adium_iface_init (EmpathyChatViewIface *iface); enum { PROP_0, - PROP_PATH, + PROP_ADIUM_DATA, }; G_DEFINE_TYPE_WITH_CODE (EmpathyThemeAdium, empathy_theme_adium, @@ -72,100 +89,6 @@ G_DEFINE_TYPE_WITH_CODE (EmpathyThemeAdium, empathy_theme_adium, G_IMPLEMENT_INTERFACE (EMPATHY_TYPE_CHAT_VIEW, theme_adium_iface_init)); -static void -theme_adium_load (EmpathyThemeAdium *theme) -{ - EmpathyThemeAdiumPriv *priv = GET_PRIV (theme); - gchar *file; - gchar *template_html = NULL; - gsize template_len; - GString *string; - gchar **strv = NULL; - gchar *css_path; - guint len = 0; - guint i = 0; - gchar *basedir_uri; - - priv->basedir = g_strconcat (priv->path, G_DIR_SEPARATOR_S "Contents" G_DIR_SEPARATOR_S "Resources" G_DIR_SEPARATOR_S, NULL); - basedir_uri = g_strconcat ("file://", priv->basedir, NULL); - - /* Load html files */ - file = g_build_filename (priv->basedir, "Incoming", "Content.html", NULL); - g_file_get_contents (file, &priv->in_content_html, &priv->in_content_len, NULL); - g_free (file); - - file = g_build_filename (priv->basedir, "Incoming", "NextContent.html", NULL); - g_file_get_contents (file, &priv->in_nextcontent_html, &priv->in_nextcontent_len, NULL); - g_free (file); - - file = g_build_filename (priv->basedir, "Outgoing", "Content.html", NULL); - g_file_get_contents (file, &priv->out_content_html, &priv->out_content_len, NULL); - g_free (file); - - file = g_build_filename (priv->basedir, "Outgoing", "NextContent.html", NULL); - g_file_get_contents (file, &priv->out_nextcontent_html, &priv->out_nextcontent_len, NULL); - g_free (file); - - file = g_build_filename (priv->basedir, "Status.html", NULL); - g_file_get_contents (file, &priv->status_html, &priv->status_len, NULL); - g_free (file); - - css_path = g_build_filename (priv->basedir, "main.css", NULL); - - /* There is 2 formats for Template.html: The old one has 4 parameters, - * the new one has 5 parameters. */ - file = g_build_filename (priv->basedir, "Template.html", NULL); - if (g_file_get_contents (file, &template_html, &template_len, NULL)) { - strv = g_strsplit (template_html, "%@", -1); - len = g_strv_length (strv); - } - g_free (file); - - if (len != 5 && len != 6) { - /* Either the theme has no template or it don't have the good - * number of parameters. Fallback to use our own template. */ - g_free (template_html); - g_strfreev (strv); - - file = empathy_file_lookup ("Template.html", "data"); - g_file_get_contents (file, &template_html, &template_len, NULL); - g_free (file); - strv = g_strsplit (template_html, "%@", -1); - len = g_strv_length (strv); - } - - /* Replace %@ with the needed information in the template html. */ - string = g_string_sized_new (template_len); - g_string_append (string, strv[i++]); - g_string_append (string, priv->basedir); - g_string_append (string, strv[i++]); - if (len == 6) { - /* We include main.css by default */ - g_string_append_printf (string, "@import url(\"%s\");", css_path); - g_string_append (string, strv[i++]); - /* FIXME: We should set the variant css here */ - g_string_append (string, ""); - } else { - /* FIXME: We should set main.css OR the variant css */ - g_string_append (string, css_path); - } - g_string_append (string, strv[i++]); - g_string_append (string, ""); /* We don't want header */ - g_string_append (string, strv[i++]); - g_string_append (string, ""); /* FIXME: We don't support footer yet */ - g_string_append (string, strv[i++]); - priv->template_html = g_string_free (string, FALSE); - - /* Load the template */ - webkit_web_view_load_html_string (WEBKIT_WEB_VIEW (theme), - priv->template_html, basedir_uri); - - g_free (basedir_uri); - g_free (template_html); - g_free (css_path); - g_strfreev (strv); -} - static WebKitNavigationResponse theme_adium_navigation_requested_cb (WebKitWebView *view, WebKitWebFrame *frame, @@ -190,12 +113,12 @@ theme_adium_populate_popup_cb (WebKitWebView *view, /* Remove default menu items */ gtk_container_foreach (GTK_CONTAINER (menu), (GtkCallback) gtk_widget_destroy, NULL); - + /* Select all item */ item = gtk_image_menu_item_new_from_stock (GTK_STOCK_SELECT_ALL, NULL); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); gtk_widget_show (item); - + g_signal_connect_swapped (item, "activate", G_CALLBACK (webkit_web_view_select_all), view); @@ -205,7 +128,7 @@ theme_adium_populate_popup_cb (WebKitWebView *view, item = gtk_image_menu_item_new_from_stock (GTK_STOCK_COPY, NULL); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); gtk_widget_show (item); - + g_signal_connect_swapped (item, "activate", G_CALLBACK (webkit_web_view_copy_clipboard), view); @@ -215,11 +138,11 @@ theme_adium_populate_popup_cb (WebKitWebView *view, item = gtk_separator_menu_item_new (); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); gtk_widget_show (item); - + item = gtk_image_menu_item_new_from_stock (GTK_STOCK_CLEAR, NULL); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); gtk_widget_show (item); - + g_signal_connect_swapped (item, "activate", G_CALLBACK (empathy_chat_view_clear), view); @@ -343,7 +266,7 @@ escape_and_append_len (GString *string, const gchar *str, gint len) switch (*str) { case '\\': /* \ becomes \\ */ - g_string_append (string, "\\\\"); + g_string_append (string, "\\\\"); break; case '\"': /* " becomes \" */ @@ -382,6 +305,9 @@ theme_adium_append_html (EmpathyThemeAdium *theme, const gchar *message, const gchar *avatar_filename, const gchar *name, + const gchar *contact_id, + const gchar *service_name, + const gchar *message_classes, time_t timestamp) { GString *string; @@ -397,10 +323,28 @@ theme_adium_append_html (EmpathyThemeAdium *theme, if (theme_adium_match (&cur, "%message%")) { replace = message; + } else if (theme_adium_match (&cur, "%messageClasses%")) { + replace = message_classes; } else if (theme_adium_match (&cur, "%userIconPath%")) { replace = avatar_filename; } else if (theme_adium_match (&cur, "%sender%")) { replace = name; + } else if (theme_adium_match (&cur, "%senderScreenName%")) { + replace = contact_id; + } else if (theme_adium_match (&cur, "%senderDisplayName%")) { + /* %senderDisplayName% - + * "The serverside (remotely set) name of the sender, + * such as an MSN display name." + * + * We don't have access to that yet so we use local + * alias instead.*/ + replace = name; + } else if (theme_adium_match (&cur, "%service%")) { + replace = service_name; + } else if (theme_adium_match (&cur, "%shortTime%")) { + dup_replace = empathy_time_to_string_local (timestamp, + EMPATHY_TIME_FORMAT_DISPLAY_SHORT); + replace = dup_replace; } else if (theme_adium_match (&cur, "%time")) { gchar *format = NULL; gchar *end; @@ -448,15 +392,20 @@ theme_adium_append_message (EmpathyChatView *view, EmpathyThemeAdium *theme = EMPATHY_THEME_ADIUM (view); EmpathyThemeAdiumPriv *priv = GET_PRIV (theme); EmpathyContact *sender; + McAccount *account; + McProfile *account_profile; gchar *dup_body = NULL; const gchar *body; const gchar *name; + const gchar *contact_id; EmpathyAvatar *avatar; const gchar *avatar_filename = NULL; time_t timestamp; gchar *html = NULL; gsize len = 0; const gchar *func; + const gchar *service_name; + const gchar *message_classes = NULL; if (!priv->page_loaded) { priv->message_queue = g_list_prepend (priv->message_queue, @@ -466,6 +415,9 @@ theme_adium_append_message (EmpathyChatView *view, /* Get information */ sender = empathy_message_get_sender (msg); + account = empathy_contact_get_account (sender); + account_profile = mc_account_get_profile (account); + service_name = mc_profile_get_display_name (account_profile); timestamp = empathy_message_get_timestamp (msg); body = empathy_message_get_body (msg); dup_body = theme_adium_parse_body (theme, body); @@ -473,6 +425,7 @@ theme_adium_append_message (EmpathyChatView *view, body = dup_body; } name = empathy_contact_get_name (sender); + contact_id = empathy_contact_get_id (sender); /* If this is a /me, append an event */ if (empathy_message_get_tptype (msg) == TP_CHANNEL_TEXT_MESSAGE_TYPE_ACTION) { @@ -491,46 +444,68 @@ theme_adium_append_message (EmpathyChatView *view, avatar_filename = avatar->filename; } if (!avatar_filename) { - if (!priv->default_avatar_filename) { - priv->default_avatar_filename = - empathy_filename_from_icon_name ("stock_person", - GTK_ICON_SIZE_DIALOG); + if (empathy_contact_is_user (sender)) { + avatar_filename = priv->data->default_outgoing_avatar_filename; + } else { + avatar_filename = priv->data->default_incoming_avatar_filename; + } + if (!avatar_filename) { + if (!priv->data->default_avatar_filename) { + priv->data->default_avatar_filename = + empathy_filename_from_icon_name ("stock_person", + GTK_ICON_SIZE_DIALOG); + } + avatar_filename = priv->data->default_avatar_filename; } - avatar_filename = priv->default_avatar_filename; } /* Get the right html/func to add the message */ func = "appendMessage"; - if (empathy_contact_equal (priv->last_contact, sender)) { + /* + * To mimick Adium's behavior, we only want to join messages + * sent within a 5 minute time frame. + */ + if (empathy_contact_equal (priv->last_contact, sender) && + (timestamp - priv->last_timestamp < MESSAGE_JOIN_PERIOD)) { func = "appendNextMessage"; if (empathy_contact_is_user (sender)) { - html = priv->out_nextcontent_html; - len = priv->out_nextcontent_len; + message_classes = "consecutive incoming message"; + html = priv->data->out_nextcontent_html; + len = priv->data->out_nextcontent_len; } if (!html) { - html = priv->in_nextcontent_html; - len = priv->in_nextcontent_len; + message_classes = "consecutive message outgoing"; + html = priv->data->in_nextcontent_html; + len = priv->data->in_nextcontent_len; } } if (!html) { if (empathy_contact_is_user (sender)) { - html = priv->out_content_html; - len = priv->out_content_len; + if (!message_classes) { + message_classes = "incoming message"; + } + html = priv->data->out_content_html; + len = priv->data->out_content_len; } if (!html) { - html = priv->in_content_html; - len = priv->in_content_len; + if (!message_classes) { + message_classes = "message outgoing"; + } + html = priv->data->in_content_html; + len = priv->data->in_content_len; } } theme_adium_append_html (theme, func, html, len, body, avatar_filename, - name, timestamp); + name, contact_id, service_name, message_classes, + timestamp); /* Keep the sender of the last displayed message */ if (priv->last_contact) { g_object_unref (priv->last_contact); } priv->last_contact = g_object_ref (sender); + priv->last_timestamp = timestamp; g_free (dup_body); } @@ -542,10 +517,11 @@ theme_adium_append_event (EmpathyChatView *view, EmpathyThemeAdium *theme = EMPATHY_THEME_ADIUM (view); EmpathyThemeAdiumPriv *priv = GET_PRIV (theme); - if (priv->status_html) { + if (priv->data->status_html) { theme_adium_append_html (theme, "appendMessage", - priv->status_html, priv->status_len, - str, NULL, NULL, + priv->data->status_html, + priv->data->status_len, + str, NULL, NULL, NULL, NULL, "event", empathy_time_get_current ()); } @@ -583,9 +559,10 @@ theme_adium_clear (EmpathyChatView *view) gchar *basedir_uri; priv->page_loaded = FALSE; - basedir_uri = g_strconcat ("file://", priv->basedir, NULL); + basedir_uri = g_strconcat ("file://", priv->data->basedir, NULL); webkit_web_view_load_html_string (WEBKIT_WEB_VIEW (view), - priv->template_html, basedir_uri); + priv->data->template_html, + basedir_uri); g_free (basedir_uri); } @@ -683,14 +660,7 @@ theme_adium_finalize (GObject *object) { EmpathyThemeAdiumPriv *priv = GET_PRIV (object); - g_free (priv->basedir); - g_free (priv->template_html); - g_free (priv->in_content_html); - g_free (priv->in_nextcontent_html); - g_free (priv->out_content_html); - g_free (priv->out_nextcontent_html); - g_free (priv->default_avatar_filename); - g_free (priv->path); + empathy_adium_data_unref (priv->data); G_OBJECT_CLASS (empathy_theme_adium_parent_class)->finalize (object); } @@ -716,7 +686,32 @@ theme_adium_dispose (GObject *object) static void theme_adium_constructed (GObject *object) { - theme_adium_load (EMPATHY_THEME_ADIUM (object)); + EmpathyThemeAdiumPriv *priv = GET_PRIV (object); + gchar *basedir_uri; + const gchar *font_family = NULL; + gint font_size = 0; + WebKitWebSettings *webkit_settings; + + /* Set default settings */ + font_family = tp_asv_get_string (priv->data->info, "DefaultFontFamily"); + font_size = tp_asv_get_int32 (priv->data->info, "DefaultFontSize", NULL); + webkit_settings = webkit_web_settings_new (); + if (font_family) { + g_object_set (G_OBJECT (webkit_settings), "default-font-family", font_family, NULL); + } + if (font_size) { + g_object_set (G_OBJECT (webkit_settings), "default-font-size", font_size, NULL); + } + webkit_web_view_set_settings (WEBKIT_WEB_VIEW (object), webkit_settings); + + /* Load template */ + basedir_uri = g_strconcat ("file://", priv->data->basedir, NULL); + webkit_web_view_load_html_string (WEBKIT_WEB_VIEW (object), + priv->data->template_html, + basedir_uri); + + g_object_unref (webkit_settings); + g_free (basedir_uri); } static void @@ -728,8 +723,8 @@ theme_adium_get_property (GObject *object, EmpathyThemeAdiumPriv *priv = GET_PRIV (object); switch (param_id) { - case PROP_PATH: - g_value_set_string (value, priv->path); + case PROP_ADIUM_DATA: + g_value_set_boxed (value, priv->data); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); @@ -746,9 +741,9 @@ theme_adium_set_property (GObject *object, EmpathyThemeAdiumPriv *priv = GET_PRIV (object); switch (param_id) { - case PROP_PATH: - g_free (priv->path); - priv->path = g_value_dup_string (value); + case PROP_ADIUM_DATA: + g_assert (priv->data == NULL); + priv->data = g_value_dup_boxed (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); @@ -760,7 +755,7 @@ static void empathy_theme_adium_class_init (EmpathyThemeAdiumClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); - + object_class->finalize = theme_adium_finalize; object_class->dispose = theme_adium_dispose; object_class->constructed = theme_adium_constructed; @@ -768,13 +763,14 @@ empathy_theme_adium_class_init (EmpathyThemeAdiumClass *klass) object_class->set_property = theme_adium_set_property; g_object_class_install_property (object_class, - PROP_PATH, - g_param_spec_string ("path", - "The theme path", - "Path to the adium theme", - g_get_home_dir (), + PROP_ADIUM_DATA, + g_param_spec_boxed ("adium-data", + "The theme data", + "Data for the adium theme", + EMPATHY_TYPE_ADIUM_DATA, G_PARAM_CONSTRUCT_ONLY | - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); g_type_class_add_private (object_class, sizeof (EmpathyThemeAdiumPriv)); @@ -786,7 +782,7 @@ empathy_theme_adium_init (EmpathyThemeAdium *theme) EmpathyThemeAdiumPriv *priv = G_TYPE_INSTANCE_GET_PRIVATE (theme, EMPATHY_TYPE_THEME_ADIUM, EmpathyThemeAdiumPriv); - theme->priv = priv; + theme->priv = priv; priv->smiley_manager = empathy_smiley_manager_dup_singleton (); @@ -802,17 +798,17 @@ empathy_theme_adium_init (EmpathyThemeAdium *theme) } EmpathyThemeAdium * -empathy_theme_adium_new (const gchar *path) +empathy_theme_adium_new (EmpathyAdiumData *data) { - g_return_val_if_fail (empathy_theme_adium_is_valid (path), NULL); + g_return_val_if_fail (data != NULL, NULL); return g_object_new (EMPATHY_TYPE_THEME_ADIUM, - "path", path, + "adium-data", data, NULL); } gboolean -empathy_theme_adium_is_valid (const gchar *path) +empathy_adium_path_is_valid (const gchar *path) { gboolean ret; gchar *file; @@ -829,3 +825,227 @@ empathy_theme_adium_is_valid (const gchar *path) return ret; } +GHashTable * +empathy_adium_info_new (const gchar *path) +{ + gchar *file; + GValue *value; + GHashTable *info = NULL; + + g_return_val_if_fail (empathy_adium_path_is_valid (path), NULL); + + file = g_build_filename (path, "Contents", "Info.plist", NULL); + value = empathy_plist_parse_from_file (file); + g_free (file); + + if (value) { + info = g_value_dup_boxed (value); + tp_g_value_slice_free (value); + } + + return info; +} + +GType +empathy_adium_data_get_type (void) +{ + static GType type_id = 0; + + if (!type_id) + { + type_id = g_boxed_type_register_static ("EmpathyAdiumData", + (GBoxedCopyFunc) empathy_adium_data_ref, + (GBoxedFreeFunc) empathy_adium_data_unref); + } + + return type_id; +} + +EmpathyAdiumData * +empathy_adium_data_new_with_info (const gchar *path, GHashTable *info) +{ + EmpathyAdiumData *data; + gchar *file; + gchar *template_html = NULL; + gsize template_len; + gchar *footer_html = NULL; + gsize footer_len; + GString *string; + gchar **strv = NULL; + gchar *css_path; + guint len = 0; + guint i = 0; + + g_return_val_if_fail (empathy_adium_path_is_valid (path), NULL); + + data = g_slice_new0 (EmpathyAdiumData); + data->ref_count = 1; + data->path = g_strdup (path); + data->basedir = g_strconcat (path, G_DIR_SEPARATOR_S "Contents" + G_DIR_SEPARATOR_S "Resources" G_DIR_SEPARATOR_S, NULL); + data->info = g_hash_table_ref (info); + + /* Load html files */ + file = g_build_filename (data->basedir, "Incoming", "Content.html", NULL); + g_file_get_contents (file, &data->in_content_html, &data->in_content_len, NULL); + g_free (file); + + file = g_build_filename (data->basedir, "Incoming", "NextContent.html", NULL); + g_file_get_contents (file, &data->in_nextcontent_html, &data->in_nextcontent_len, NULL); + g_free (file); + + file = g_build_filename (data->basedir, "Outgoing", "Content.html", NULL); + g_file_get_contents (file, &data->out_content_html, &data->out_content_len, NULL); + g_free (file); + + file = g_build_filename (data->basedir, "Outgoing", "NextContent.html", NULL); + g_file_get_contents (file, &data->out_nextcontent_html, &data->out_nextcontent_len, NULL); + g_free (file); + + file = g_build_filename (data->basedir, "Status.html", NULL); + g_file_get_contents (file, &data->status_html, &data->status_len, NULL); + g_free (file); + + file = g_build_filename (data->basedir, "Footer.html", NULL); + g_file_get_contents (file, &footer_html, &footer_len, NULL); + g_free (file); + + file = g_build_filename (data->basedir, "Incoming", "buddy_icon.png", NULL); + if (g_file_test (file, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)) { + data->default_incoming_avatar_filename = file; + } else { + g_free (file); + } + + file = g_build_filename (data->basedir, "Outgoing", "buddy_icon.png", NULL); + if (g_file_test (file, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)) { + data->default_outgoing_avatar_filename = file; + } else { + g_free (file); + } + + css_path = g_build_filename (data->basedir, "main.css", NULL); + + /* There is 2 formats for Template.html: The old one has 4 parameters, + * the new one has 5 parameters. */ + file = g_build_filename (data->basedir, "Template.html", NULL); + if (g_file_get_contents (file, &template_html, &template_len, NULL)) { + strv = g_strsplit (template_html, "%@", -1); + len = g_strv_length (strv); + } + g_free (file); + + if (len != 5 && len != 6) { + /* Either the theme has no template or it don't have the good + * number of parameters. Fallback to use our own template. */ + g_free (template_html); + g_strfreev (strv); + + file = empathy_file_lookup ("Template.html", "data"); + g_file_get_contents (file, &template_html, &template_len, NULL); + g_free (file); + strv = g_strsplit (template_html, "%@", -1); + len = g_strv_length (strv); + } + + /* Replace %@ with the needed information in the template html. */ + string = g_string_sized_new (template_len); + g_string_append (string, strv[i++]); + g_string_append (string, data->basedir); + g_string_append (string, strv[i++]); + if (len == 6) { + const gchar *variant; + + /* We include main.css by default */ + g_string_append_printf (string, "@import url(\"%s\");", css_path); + g_string_append (string, strv[i++]); + variant = tp_asv_get_string (data->info, "DefaultVariant"); + if (variant) { + g_string_append (string, "Variants/"); + g_string_append (string, variant); + g_string_append (string, ".css"); + } + } else { + /* FIXME: We should set main.css OR the variant css */ + g_string_append (string, css_path); + } + g_string_append (string, strv[i++]); + g_string_append (string, ""); /* We don't want header */ + g_string_append (string, strv[i++]); + /* FIXME: We should replace adium %macros% in footer */ + if (footer_html) { + g_string_append (string, footer_html); + } + g_string_append (string, strv[i++]); + data->template_html = g_string_free (string, FALSE); + + g_free (footer_html); + g_free (template_html); + g_free (css_path); + g_strfreev (strv); + + return data; +} + +EmpathyAdiumData * +empathy_adium_data_new (const gchar *path) +{ + EmpathyAdiumData *data; + GHashTable *info; + + info = empathy_adium_info_new (path); + data = empathy_adium_data_new_with_info (path, info); + g_hash_table_unref (info); + + return data; +} + +EmpathyAdiumData * +empathy_adium_data_ref (EmpathyAdiumData *data) +{ + g_return_val_if_fail (data != NULL, NULL); + + data->ref_count++; + + return data; +} + +void +empathy_adium_data_unref (EmpathyAdiumData *data) +{ + g_return_if_fail (data != NULL); + + data->ref_count--; + if (data->ref_count == 0) { + g_free (data->path); + g_free (data->basedir); + g_free (data->template_html); + g_free (data->in_content_html); + g_free (data->in_nextcontent_html); + g_free (data->out_content_html); + g_free (data->out_nextcontent_html); + g_free (data->default_avatar_filename); + g_free (data->default_incoming_avatar_filename); + g_free (data->default_outgoing_avatar_filename); + g_free (data->status_html); + g_hash_table_unref (data->info); + g_slice_free (EmpathyAdiumData, data); + } +} + +GHashTable * +empathy_adium_data_get_info (EmpathyAdiumData *data) +{ + g_return_val_if_fail (data != NULL, NULL); + + return data->info; +} + +const gchar * +empathy_adium_data_get_path (EmpathyAdiumData *data) +{ + g_return_val_if_fail (data != NULL, NULL); + + return data->path; +} + diff --git a/libempathy-gtk/empathy-theme-adium.h b/libempathy-gtk/empathy-theme-adium.h index b6267568..a8ed19de 100644 --- a/libempathy-gtk/empathy-theme-adium.h +++ b/libempathy-gtk/empathy-theme-adium.h @@ -37,6 +37,7 @@ G_BEGIN_DECLS typedef struct _EmpathyThemeAdium EmpathyThemeAdium; typedef struct _EmpathyThemeAdiumClass EmpathyThemeAdiumClass; +typedef struct _EmpathyAdiumData EmpathyAdiumData; struct _EmpathyThemeAdium { WebKitWebView parent; @@ -48,8 +49,21 @@ struct _EmpathyThemeAdiumClass { }; GType empathy_theme_adium_get_type (void) G_GNUC_CONST; -EmpathyThemeAdium *empathy_theme_adium_new (const gchar *path); -gboolean empathy_theme_adium_is_valid (const gchar *path); +EmpathyThemeAdium *empathy_theme_adium_new (EmpathyAdiumData *data); + +gboolean empathy_adium_path_is_valid (const gchar *path); +GHashTable *empathy_adium_info_new (const gchar *path); + +#define EMPATHY_TYPE_ADIUM_DATA (empathy_adium_data_get_type ()) +GType empathy_adium_data_get_type (void) G_GNUC_CONST; +EmpathyAdiumData *empathy_adium_data_new (const gchar *path); +EmpathyAdiumData *empathy_adium_data_new_with_info (const gchar *path, + GHashTable *info); +EmpathyAdiumData *empathy_adium_data_ref (EmpathyAdiumData *data); +void empathy_adium_data_unref (EmpathyAdiumData *data); +GHashTable *empathy_adium_data_get_info (EmpathyAdiumData *data); +const gchar *empathy_adium_data_get_path (EmpathyAdiumData *data); + G_END_DECLS diff --git a/libempathy-gtk/empathy-theme-boxes.c b/libempathy-gtk/empathy-theme-boxes.c index 64d95d4f..f5224278 100644 --- a/libempathy-gtk/empathy-theme-boxes.c +++ b/libempathy-gtk/empathy-theme-boxes.c @@ -167,7 +167,7 @@ table_size_allocate_cb (GtkWidget *view, gtk_widget_get_size_request (box, NULL, &height); width = allocation->width; - + width -= \ gtk_text_view_get_right_margin (GTK_TEXT_VIEW (view)) - \ gtk_text_view_get_left_margin (GTK_TEXT_VIEW (view)); @@ -269,7 +269,7 @@ theme_boxes_maybe_append_header (EmpathyThemeBoxes *theme, NULL); g_free (tmp); g_free (str); - + /* Set foreground color of labels to the same color than the header tag. */ table = gtk_text_buffer_get_tag_table (buffer); tag = gtk_text_tag_table_lookup (table, EMPATHY_THEME_BOXES_TAG_HEADER); @@ -349,7 +349,7 @@ theme_boxes_notify_show_avatars_cb (EmpathyConf *conf, gpointer user_data) { EmpathyThemeBoxesPriv *priv = GET_PRIV (user_data); - + empathy_conf_get_bool (conf, key, &priv->show_avatars); } diff --git a/libempathy-gtk/empathy-theme-irc.c b/libempathy-gtk/empathy-theme-irc.c index 183a5cc5..5d298564 100644 --- a/libempathy-gtk/empathy-theme-irc.c +++ b/libempathy-gtk/empathy-theme-irc.c @@ -83,7 +83,7 @@ theme_irc_append_message (EmpathyChatTextView *view, nick_tag = EMPATHY_THEME_IRC_TAG_NICK_OTHER; } } - + gtk_text_buffer_get_end_iter (buffer, &iter); /* The nickname. */ diff --git a/libempathy-gtk/empathy-theme-manager.c b/libempathy-gtk/empathy-theme-manager.c index c6da8ea6..ba3d48e6 100644 --- a/libempathy-gtk/empathy-theme-manager.c +++ b/libempathy-gtk/empathy-theme-manager.c @@ -193,7 +193,7 @@ theme_manager_update_boxes_tags (EmpathyThemeBoxes *theme, /* FIXME: GtkTextTag don't support to set color properties to NULL. * See bug #542523 */ - + #define TAG_SET(prop, prop_set, value) \ if (value != NULL) { \ g_object_set (tag, prop, value, NULL); \ @@ -252,7 +252,7 @@ theme_manager_update_boxes_tags (EmpathyThemeBoxes *theme, } static void -theme_manager_update_simple_tags (EmpathyThemeBoxes *theme) +on_style_set_cb (GtkWidget *widget, GtkStyle *previous_style, gpointer data) { GtkStyle *style; gchar color1[10]; @@ -260,14 +260,14 @@ theme_manager_update_simple_tags (EmpathyThemeBoxes *theme) gchar color3[10]; gchar color4[10]; - style = gtk_widget_get_default_style (); + style = gtk_widget_get_style (GTK_WIDGET (widget)); theme_manager_gdk_color_to_hex (&style->base[GTK_STATE_SELECTED], color1); theme_manager_gdk_color_to_hex (&style->bg[GTK_STATE_SELECTED], color2); theme_manager_gdk_color_to_hex (&style->dark[GTK_STATE_SELECTED], color3); theme_manager_gdk_color_to_hex (&style->fg[GTK_STATE_SELECTED], color4); - theme_manager_update_boxes_tags (theme, + theme_manager_update_boxes_tags (EMPATHY_THEME_BOXES (widget), color4, /* header_foreground */ color2, /* header_background */ color3, /* header_line_background */ @@ -287,7 +287,8 @@ theme_manager_update_boxes_theme (EmpathyThemeManager *manager, EmpathyThemeManagerPriv *priv = GET_PRIV (manager); if (strcmp (priv->name, "simple") == 0) { - theme_manager_update_simple_tags (theme); + g_signal_connect (G_OBJECT (theme), "style-set", + G_CALLBACK (on_style_set_cb), theme); } else if (strcmp (priv->name, "clean") == 0) { theme_manager_update_boxes_tags (theme, @@ -329,8 +330,28 @@ empathy_theme_manager_create_view (EmpathyThemeManager *manager) #ifdef HAVE_WEBKIT if (strcmp (priv->name, "adium") == 0) { - if (empathy_theme_adium_is_valid (priv->adium_path)) { - return EMPATHY_CHAT_VIEW (empathy_theme_adium_new (priv->adium_path)); + if (empathy_adium_path_is_valid (priv->adium_path)) { + static EmpathyAdiumData *data = NULL; + EmpathyThemeAdium *theme_adium; + + if (data && + !tp_strdiff (empathy_adium_data_get_path (data), + priv->adium_path)) { + /* Theme did not change, reuse data */ + theme_adium = empathy_theme_adium_new (data); + return EMPATHY_CHAT_VIEW (theme_adium); + } + + /* Theme changed, drop old data if any and + * load a new one */ + if (data) { + empathy_adium_data_unref (data); + data = NULL; + } + + data = empathy_adium_data_new (priv->adium_path); + theme_adium = empathy_theme_adium_new (data); + return EMPATHY_CHAT_VIEW (theme_adium); } else { /* The adium path is not valid, fallback to classic theme */ return EMPATHY_CHAT_VIEW (theme_manager_create_irc_view (manager)); @@ -348,25 +369,6 @@ empathy_theme_manager_create_view (EmpathyThemeManager *manager) return EMPATHY_CHAT_VIEW (theme); } -static void -theme_manager_color_hash_notify_cb (EmpathyThemeManager *manager) -{ - EmpathyThemeManagerPriv *priv = GET_PRIV (manager); - - /* FIXME: Make that work, it should update color when theme changes but - * it doesnt seems to work with all themes. */ - - if (strcmp (priv->name, "simple") == 0) { - GList *l; - - /* We are using the simple theme which use the GTK theme color, - * Update views to use the new color. */ - for (l = priv->boxes_views; l; l = l->next) { - theme_manager_update_simple_tags (EMPATHY_THEME_BOXES (l->data)); - } - } -} - static gboolean theme_manager_ensure_theme_exists (const gchar *name) { @@ -512,12 +514,6 @@ empathy_theme_manager_init (EmpathyThemeManager *manager) theme_manager_notify_adium_path_cb (empathy_conf_get (), EMPATHY_PREFS_CHAT_ADIUM_PATH, manager); - - /* Track GTK color changes */ - priv->settings = gtk_settings_get_default (); - g_signal_connect_swapped (priv->settings, "notify::color-hash", - G_CALLBACK (theme_manager_color_hash_notify_cb), - manager); } EmpathyThemeManager * diff --git a/libempathy-gtk/empathy-ui-utils.c b/libempathy-gtk/empathy-ui-utils.c index cf423de4..902bcb3e 100644 --- a/libempathy-gtk/empathy-ui-utils.c +++ b/libempathy-gtk/empathy-ui-utils.c @@ -1311,8 +1311,8 @@ empathy_window_present (GtkWindow *window, } timestamp = gtk_get_current_event_time (); - gtk_window_set_skip_taskbar_hint (window, FALSE); gtk_window_present_with_time (window, timestamp); + gtk_window_set_skip_taskbar_hint (window, FALSE); /* FIXME: This shouldn't be required as gtk_window_present's doc says * it deiconify automatically. */ gtk_window_deiconify (window); diff --git a/libempathy/empathy-chatroom.c b/libempathy/empathy-chatroom.c index 6575bb99..147fca0a 100644 --- a/libempathy/empathy-chatroom.c +++ b/libempathy/empathy-chatroom.c @@ -407,11 +407,11 @@ empathy_chatroom_get_name (EmpathyChatroom *chatroom) g_return_val_if_fail (EMPATHY_IS_CHATROOM (chatroom), NULL); priv = GET_PRIV (chatroom); - + if (EMP_STR_EMPTY (priv->name)) { return priv->room; } - + return priv->name; } diff --git a/libempathy/empathy-contact-manager.c b/libempathy/empathy-contact-manager.c index f415ec19..07342448 100644 --- a/libempathy/empathy-contact-manager.c +++ b/libempathy/empathy-contact-manager.c @@ -123,7 +123,7 @@ contact_manager_invalidated_cb (TpProxy *connection, list = g_hash_table_lookup (priv->lists, connection); if (list) { empathy_tp_contact_list_remove_all (list); - g_hash_table_remove (priv->lists, connection); + g_hash_table_remove (priv->lists, connection); } } @@ -499,7 +499,7 @@ contact_manager_remove_group (EmpathyContactList *manager, const gchar *group) { EmpathyContactManagerPriv *priv = GET_PRIV (manager); - + g_return_if_fail (EMPATHY_IS_CONTACT_MANAGER (manager)); g_hash_table_foreach (priv->lists, @@ -529,7 +529,7 @@ empathy_contact_manager_can_add (EmpathyContactManager *manager, { EmpathyContactManagerPriv *priv = GET_PRIV (manager); EmpathyTpContactList *list; - + g_return_val_if_fail (EMPATHY_IS_CONTACT_MANAGER (manager), FALSE); list = g_hash_table_lookup (priv->lists, connection); diff --git a/libempathy/empathy-idle.c b/libempathy/empathy-idle.c index c7230792..3ed58de9 100644 --- a/libempathy/empathy-idle.c +++ b/libempathy/empathy-idle.c @@ -91,6 +91,10 @@ idle_presence_changed_cb (MissionControl *mc, priv = GET_PRIV (idle); + if (state == TP_CONNECTION_PRESENCE_TYPE_UNSET) + /* Assume our presence is offline if MC reports UNSET */ + state = TP_CONNECTION_PRESENCE_TYPE_OFFLINE; + DEBUG ("Presence changed to '%s' (%d)", status, state); g_free (priv->status); @@ -729,7 +733,7 @@ empathy_idle_set_use_nm (EmpathyIdle *idle, g_clear_error (&error); nm_status = NM_STATE_ASLEEP; } - + idle_nm_state_change_cb (priv->nm_proxy, nm_status, idle); } else { priv->nm_connected = TRUE; diff --git a/libempathy/empathy-status-presets.c b/libempathy/empathy-status-presets.c index 9f9a2030..135212cc 100644 --- a/libempathy/empathy-status-presets.c +++ b/libempathy/empathy-status-presets.c @@ -131,16 +131,17 @@ status_presets_file_parse (const gchar *filename) if (state_str) { state = empathy_presence_from_str (state_str); - - if (is_default) { - DEBUG ("Default status preset state is:" - " '%s', status:'%s'", state_str, - status); - - status_presets_set_default (state, status); - } else { - preset = status_preset_new (state, status); - presets = g_list_append (presets, preset); + if (empathy_status_presets_is_valid (state)) { + if (is_default) { + DEBUG ("Default status preset state is:" + " '%s', status:'%s'", state_str, + status); + + status_presets_set_default (state, status); + } else { + preset = status_preset_new (state, status); + presets = g_list_append (presets, preset); + } } } @@ -405,3 +406,31 @@ empathy_status_presets_clear_default (void) status_presets_file_save (); } + +/** + * empathy_status_presets_is_valid: + * @state: a #TpConnectionPresenceType + * + * Check if a presence type can be used as a preset. + * + * Returns: %TRUE if the presence type can be used as a preset. + */ +gboolean +empathy_status_presets_is_valid (TpConnectionPresenceType state) +{ + switch (state) { + case TP_CONNECTION_PRESENCE_TYPE_UNSET: + case TP_CONNECTION_PRESENCE_TYPE_OFFLINE: + case TP_CONNECTION_PRESENCE_TYPE_UNKNOWN: + case TP_CONNECTION_PRESENCE_TYPE_ERROR: + return FALSE; + + case TP_CONNECTION_PRESENCE_TYPE_AVAILABLE: + case TP_CONNECTION_PRESENCE_TYPE_AWAY: + case TP_CONNECTION_PRESENCE_TYPE_EXTENDED_AWAY: + case TP_CONNECTION_PRESENCE_TYPE_HIDDEN: + case TP_CONNECTION_PRESENCE_TYPE_BUSY: + return TRUE; + } + return FALSE; +} diff --git a/libempathy/empathy-status-presets.h b/libempathy/empathy-status-presets.h index 335dbcfc..331c630d 100644 --- a/libempathy/empathy-status-presets.h +++ b/libempathy/empathy-status-presets.h @@ -40,6 +40,7 @@ const gchar * empathy_status_presets_get_default_status (void); void empathy_status_presets_set_default (TpConnectionPresenceType state, const gchar *status); void empathy_status_presets_clear_default (void); +gboolean empathy_status_presets_is_valid (TpConnectionPresenceType state); G_END_DECLS diff --git a/libempathy/empathy-time.c b/libempathy/empathy-time.c index 5a934a5e..19397e7a 100644 --- a/libempathy/empathy-time.c +++ b/libempathy/empathy-time.c @@ -42,7 +42,7 @@ empathy_time_get_local_time (struct tm *tm) { const gchar *timezone; time_t t; - + timezone = g_getenv ("TZ"); g_setenv ("TZ", "", TRUE); diff --git a/libempathy/empathy-tp-chat.c b/libempathy/empathy-tp-chat.c index 794e3e3b..ac61392e 100644 --- a/libempathy/empathy-tp-chat.c +++ b/libempathy/empathy-tp-chat.c @@ -993,7 +993,7 @@ tp_chat_constructor (GType type, /* Get initial member contacts */ members = tp_channel_group_get_members (priv->channel); - handles = tp_intset_to_array (members); + handles = tp_intset_to_array (members); empathy_tp_contact_factory_get_from_handles (priv->factory, handles->len, (TpHandle *) handles->data, tp_chat_got_added_contacts_cb, NULL, NULL, chat); diff --git a/libempathy/empathy-tp-contact-list.c b/libempathy/empathy-tp-contact-list.c index 58cb89cb..cdb0431c 100644 --- a/libempathy/empathy-tp-contact-list.c +++ b/libempathy/empathy-tp-contact-list.c @@ -205,7 +205,7 @@ tp_contact_list_group_members_changed_cb (TpChannel *channel, g_signal_emit_by_name (list, "groups-changed", contact, group_name, TRUE); - } + } for (i = 0; i < removed->len; i++) { EmpathyContact *contact; @@ -224,7 +224,7 @@ tp_contact_list_group_members_changed_cb (TpChannel *channel, g_signal_emit_by_name (list, "groups-changed", contact, group_name, FALSE); - } + } } static void diff --git a/libempathy/empathy-utils.c b/libempathy/empathy-utils.c index 47746f53..fca7fcb5 100644 --- a/libempathy/empathy-utils.c +++ b/libempathy/empathy-utils.c @@ -193,7 +193,7 @@ empathy_xml_node_get_child_content (xmlNodePtr node, if (l) { return xmlNodeGetContent (l); } - + return NULL; } @@ -220,10 +220,10 @@ empathy_xml_node_find_child_prop_value (xmlNodePtr node, if (prop && strcmp (prop, prop_value) == 0) { found = l; } - + xmlFree (prop); } - + return found; } diff --git a/po/bn_IN.po b/po/bn_IN.po index dc88cc73..b1472340 100644 --- a/po/bn_IN.po +++ b/po/bn_IN.po @@ -2,15 +2,16 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # -# Runa Bhattacharjee , 2008. +# Runa Bhattacharjee , 2008, 2009. msgid "" msgstr "" "Project-Id-Version: bn_IN\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-08-21 03:59+0000\n" -"PO-Revision-Date: 2008-08-21 19:43+0530\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" +"product=empathy&component=general\n" +"POT-Creation-Date: 2009-06-19 11:50+0000\n" +"PO-Revision-Date: 2009-06-19 18:45+0530\n" "Last-Translator: Runa Bhattacharjee \n" -"Language-Team: Bengali INDIA \n" +"Language-Team: Bengali INDIA \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -40,8 +41,11 @@ msgid "Chat window theme" msgstr "আলাপন উইন্ডোর থিম" #: ../data/empathy.schemas.in.h:4 -msgid "Comma separated list of spell checker languages to use (e.g. en, fr, nl)." -msgstr "বিভিন্ন ভাষার জন্য ব্যবহারযোগ্য বানান-পরীক্ষণ ব্যবস্থার তালিকা, কমা চিহ্ন দ্বারা বিভক্ত (উদাহরণস্বরূপ, en, fr, nl)।" +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" +"বিভিন্ন ভাষার জন্য ব্যবহারযোগ্য বানান-পরীক্ষণ ব্যবস্থার তালিকা, কমা চিহ্ন দ্বারা " +"বিভক্ত (উদাহরণস্বরূপ, en, fr, nl)।" #: ../data/empathy.schemas.in.h:5 msgid "Compact contact list" @@ -56,809 +60,1277 @@ msgid "Default directory to select an avatar image from" msgstr "ব্যবহারকারীর অবতার চিহ্নকারী ছবি নির্ধারণের জন্য ব্যবহৃত ডিফল্ট ডিরেক্টরি" #: ../data/empathy.schemas.in.h:8 -msgid "Empathy should auto-connect on startup" -msgstr "আরম্ভকালে Empathy দ্বারা স্বয়ংক্রিয়রূপে সংযোগ স্থাপন করা হবে" +msgid "Disable popup notifications when away" +msgstr "অনুপস্থিত হলে পপ-আপ সূচনাবার্তা নিষ্ক্রিয় করা হবে" #: ../data/empathy.schemas.in.h:9 -msgid "Empathy should use the avatar of the contact as the chat window icon" -msgstr "" +msgid "Disable sounds when away" +msgstr "অনুপস্থিত হলে শব্দ নিষ্ক্রিয় করা হবে" #: ../data/empathy.schemas.in.h:10 -msgid "Enable popup when contact is available" -msgstr "পরিচিত ব্যক্তি উপস্থিত হলে পপ-আপ সক্রিয় করা হবে" +msgid "Empathy can publish the user's location" +msgstr "" #: ../data/empathy.schemas.in.h:11 -msgid "Enable sound when away" -msgstr "অনুপস্থিত হলে শব্দ সক্রিয় করা হবে" +msgid "Empathy can use the GPS to guess the location" +msgstr "" #: ../data/empathy.schemas.in.h:12 -msgid "Enable sound when busy" -msgstr "ব্যস্ত অবস্থায় শব্দ সক্রিয় করা হবে" +msgid "Empathy can use the cellular network to guess the location" +msgstr "" #: ../data/empathy.schemas.in.h:13 +msgid "Empathy can use the network to guess the location" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +msgid "Empathy default download folder" +msgstr "Empathy-র ডিফল্ট ডাউনলোড ফোল্ডার" + +#: ../data/empathy.schemas.in.h:15 +msgid "Empathy has asked about importing accounts" +msgstr "Empathy দ্বারা অ্যাকাউন্ট ইম্পোর্ট সম্পর্কে জিজ্ঞাসা করা হয়েছে" + +#: ../data/empathy.schemas.in.h:16 +msgid "Empathy should auto-connect on startup" +msgstr "আরম্ভকালে Empathy দ্বারা স্বয়ংক্রিয়রূপে সংযোগ স্থাপন করা হবে" + +#: ../data/empathy.schemas.in.h:17 +#, fuzzy +msgid "Empathy should reduce the location's accuracy" +msgstr "আরম্ভকালে Empathy দ্বারা স্বয়ংক্রিয়রূপে সংযোগ স্থাপন করা হবে" + +#: ../data/empathy.schemas.in.h:18 +msgid "Empathy should use the avatar of the contact as the chat window icon" +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +msgid "Enable popup notifications for new messages" +msgstr "নতুন বার্তার জন্য পপ-আপ সূচনাবার্তা সক্রিয় করা হবে" + +#: ../data/empathy.schemas.in.h:20 msgid "Enable spell checker" msgstr "বানা পরীক্ষণ সক্রিয় করা হবে" -#: ../data/empathy.schemas.in.h:14 +#: ../data/empathy.schemas.in.h:21 msgid "Hide main window" msgstr "প্রধান উইন্ডো আড়াল করা হবে" -#: ../data/empathy.schemas.in.h:15 +#: ../data/empathy.schemas.in.h:22 msgid "Hide the main window." msgstr "প্রধান উইন্ডো আড়াল করা হবে।" -#: ../data/empathy.schemas.in.h:16 +#: ../data/empathy.schemas.in.h:23 msgid "NetworkManager should be used" msgstr "NetworkManager ব্যবহার করা হবে" -#: ../data/empathy.schemas.in.h:17 +#: ../data/empathy.schemas.in.h:24 msgid "Nick completed character" msgstr "" -#: ../data/empathy.schemas.in.h:18 +#: ../data/empathy.schemas.in.h:25 msgid "Open new chats in separate windows" msgstr "নতুন আলাপন আরম্ভ হলে পৃথক উইন্ডোর মধ্যে প্রদর্শন করা হবে" -#: ../data/empathy.schemas.in.h:19 +#: ../data/empathy.schemas.in.h:26 +msgid "Path of the adium theme to use" +msgstr "" + +#: ../data/empathy.schemas.in.h:27 +#, fuzzy +msgid "Path of the adium theme to use if the theme used for chat is adium." +msgstr "চ্যাট-রুমের জন্য থিম ব্যবহার করা হবে কি না।" + +#: ../data/empathy.schemas.in.h:28 +msgid "Play a sound for incoming messages" +msgstr "নতুন বার্তা প্রাপ্ত হলে শব্দ বাজানো হবে" + +#: ../data/empathy.schemas.in.h:29 +msgid "Play a sound for new conversations" +msgstr "নতুন আলাপনের জন্য শব্দ বাজানো হবে" + +#: ../data/empathy.schemas.in.h:30 +msgid "Play a sound for outgoing messages" +msgstr "নতুন বার্তা পাঠানো হলে শব্দ বাজানো হবে" + +#: ../data/empathy.schemas.in.h:31 +msgid "Play a sound when a contact logs in" +msgstr "পরিচিত ব্যক্তি লগ-ইন করলে শব্দ বাজানো হবে" + +#: ../data/empathy.schemas.in.h:32 +msgid "Play a sound when a contact logs out" +msgstr "পরিচিত ব্যক্তি লগ-আউট করলে শব্দ বাজানো হবে" + +#: ../data/empathy.schemas.in.h:33 +msgid "Play a sound when we log in" +msgstr "নিজে লগ-ইন করলে শব্দ বাজানো হবে" + +#: ../data/empathy.schemas.in.h:34 +msgid "Play a sound when we log out" +msgstr "নিজে লগ-আউট করলে শব্দ বাজানো হবে" + +#: ../data/empathy.schemas.in.h:35 +msgid "Popup notifications if the chat isn't focused" +msgstr "" + +#: ../data/empathy.schemas.in.h:36 msgid "Salut account is created" msgstr "Salut অ্যাকাউন্ট নির্মিত হয়েছে" -#: ../data/empathy.schemas.in.h:20 +#: ../data/empathy.schemas.in.h:37 msgid "Show avatars" msgstr "অবতারের ছবি প্রদর্শন করা হবে" -#: ../data/empathy.schemas.in.h:21 +#: ../data/empathy.schemas.in.h:38 +#, fuzzy +msgid "Show contact list in rooms" +msgstr "পরিচিত ব্যক্তিদের তালিকা প্রদর্শন করা হবে (_S)" + +#: ../data/empathy.schemas.in.h:39 msgid "Show hint about closing the main window" msgstr "প্রধান উইন্ডো বন্ধ করার জন্য ইঙ্গিত প্রদর্শন করা হবে" -#: ../data/empathy.schemas.in.h:22 +#: ../data/empathy.schemas.in.h:40 msgid "Show offline contacts" msgstr "অফ-লাইন অবস্থায় থাকা পরিচিত ব্যক্তিদের তালিকা প্রদর্শন করা হবে" -#: ../data/empathy.schemas.in.h:23 +#: ../data/empathy.schemas.in.h:41 msgid "Spell checking languages" msgstr "ভাষার জন্য বানা পরীক্ষণ" -#: ../data/empathy.schemas.in.h:24 +#: ../data/empathy.schemas.in.h:42 +msgid "The default folder to save file transfers in." +msgstr "বিনিময় করা সামগ্রী সংরক্ষণের জন্য চিহ্নিত ফোল্ডার।" + +#: ../data/empathy.schemas.in.h:43 msgid "The last directory that an avatar image was chosen from." msgstr "সর্বশেষ অবতারের জন্য ব্যবহৃথ ছবিটি যে ডিরেক্টরি থেকে নির্বাচন করা হয়েছে।" -#: ../data/empathy.schemas.in.h:25 +#: ../data/empathy.schemas.in.h:44 msgid "The theme that is used to display the conversation in chat windows." msgstr "" -#: ../data/empathy.schemas.in.h:26 +#: ../data/empathy.schemas.in.h:45 msgid "Use graphical smileys" msgstr "গ্রাফিক্যাল স্মাইলি ব্যবহার করুন" -#: ../data/empathy.schemas.in.h:27 +#: ../data/empathy.schemas.in.h:46 msgid "Use notification sounds" msgstr "সূচনামূলক শব্দ ব্যবহার করা হবে" -#: ../data/empathy.schemas.in.h:28 +#: ../data/empathy.schemas.in.h:47 msgid "Use theme for chat rooms" +msgstr "চ্যাট-রুমের জন্য থিম প্রয়োগ করা হবে" + +#: ../data/empathy.schemas.in.h:48 +#, fuzzy +msgid "Whether or not Empathy can publish the user's location to his contacts." msgstr "" +"পরিচিতি তালিকায় উপস্থিত ব্যক্তিরা অফ-লাইন থাকলে, তালিকায় তাদের প্রদর্শন করা হবে " +"কি না।" -#: ../data/empathy.schemas.in.h:29 +#: ../data/empathy.schemas.in.h:49 +msgid "Whether or not Empathy can use the GPS to guess the location." +msgstr "" + +#: ../data/empathy.schemas.in.h:50 +msgid "" +"Whether or not Empathy can use the cellular network to guess the location." +msgstr "" + +#: ../data/empathy.schemas.in.h:51 +#, fuzzy +msgid "Whether or not Empathy can use the network to guess the location." +msgstr "নতুন আলাপন সম্পর্কে সূচনাপ্রদানের জন্য শব্দ বাজানো হবে কি না।" + +#: ../data/empathy.schemas.in.h:52 +msgid "" +"Whether or not Empathy has asked about importing accounts from other " +"programs." +msgstr "" + +#: ../data/empathy.schemas.in.h:53 msgid "" "Whether or not Empathy should automatically log in to your accounts on " "startup." msgstr "Empathy প্রারম্ভকালে স্বয়ংক্রিয়রূপে সকল অ্যাকাউন্টে লগ-ইন করা হবে কি না।" -#: ../data/empathy.schemas.in.h:30 +#: ../data/empathy.schemas.in.h:54 +#, fuzzy +msgid "" +"Whether or not Empathy should reduce the location's accuracy for privacy " +"reasons." +msgstr "Empathy প্রারম্ভকালে স্বয়ংক্রিয়রূপে সকল অ্যাকাউন্টে লগ-ইন করা হবে কি না।" + +#: ../data/empathy.schemas.in.h:55 msgid "" "Whether or not Empathy should use the avatar of the contact as the chat " "window icon." msgstr "" -#: ../data/empathy.schemas.in.h:31 -msgid "Whether or not the Salut account has been created on the first Empathy run." +#: ../data/empathy.schemas.in.h:56 +msgid "" +"Whether or not the Salut account has been created on the first Empathy run." msgstr "Empathy প্রথমবার সঞ্চালনের সময় Salut অ্যাকাউন্ট নির্মিত হয়েছে কি না।" -#: ../data/empathy.schemas.in.h:32 +#: ../data/empathy.schemas.in.h:57 msgid "" "Whether or not the network manager should be used to automatically " "disconnect/reconnect." -msgstr "স্বয়ংক্রিয়রূপে সংযোগ স্থাপন/বিচ্ছিন্ন করার জন্য network manager প্রয়োগ করা হবে কি না।" +msgstr "" +"স্বয়ংক্রিয়রূপে সংযোগ স্থাপন/বিচ্ছিন্ন করার জন্য network manager প্রয়োগ করা হবে কি না।" -#: ../data/empathy.schemas.in.h:33 +#: ../data/empathy.schemas.in.h:58 msgid "" "Whether or not to check words typed against the languages you want to check " "with." msgstr "" -#: ../data/empathy.schemas.in.h:34 -msgid "Whether or not to convert smileys into graphical images in conversations." +#: ../data/empathy.schemas.in.h:59 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." msgstr "" -#: ../data/empathy.schemas.in.h:35 -msgid "Whether or not to play a sound when messages arrive." -msgstr "বার্তা প্রাপ্ত হলে শব্দ বাজানো হবে কি না।" +#: ../data/empathy.schemas.in.h:60 +msgid "" +"Whether or not to play a sound to notify for contacts logging in the network." +msgstr "" +"পরিচিত ব্যক্তিরা নেটওয়ার্কে লগ-ইন করলে, সূচনাপ্রদানের জন্য শব্দ বাজানো হবে কি না।" -#: ../data/empathy.schemas.in.h:36 -msgid "Whether or not to play sounds when away." -msgstr "অনুপস্থিত অবস্থায় শব্দ বাজানো হবে কি না।" +#: ../data/empathy.schemas.in.h:61 +msgid "" +"Whether or not to play a sound to notify for contacts logging off the " +"network." +msgstr "" +"পরিচিত ব্যক্তিরা নেটওয়ার্কে লগ-অফ করলে, সূচনাপ্রদানের জন্য শব্দ বাজানো হবে কি না।" -#: ../data/empathy.schemas.in.h:37 -msgid "Whether or not to play sounds when busy." -msgstr "ব্যস্ত অবস্থায় শব্দ বাজানো হবে কি না।" +#: ../data/empathy.schemas.in.h:62 +msgid "Whether or not to play a sound to notify for events." +msgstr "বিভিন্ন ঘটনা সম্পর্কে সূচনাপ্রদানের জন্য শব্দ বাজানো হবে কি না।" -#: ../data/empathy.schemas.in.h:38 -msgid "Whether or not to show a popup when a contact becomes available." +#: ../data/empathy.schemas.in.h:63 +msgid "Whether or not to play a sound to notify for incoming messages." +msgstr "প্রাপ্ত বার্তা সম্পর্কে সূচনাপ্রদানের জন্য শব্দ বাজানো হবে কি না।" + +#: ../data/empathy.schemas.in.h:64 +msgid "Whether or not to play a sound to notify for new conversations." +msgstr "নতুন আলাপন সম্পর্কে সূচনাপ্রদানের জন্য শব্দ বাজানো হবে কি না।" + +#: ../data/empathy.schemas.in.h:65 +msgid "Whether or not to play a sound to notify for outgoing messages." +msgstr "প্রেরিত বার্তা সম্পর্কে সূচনাপ্রদানের জন্য শব্দ বাজানো হবে কি না।" + +#: ../data/empathy.schemas.in.h:66 +msgid "Whether or not to play a sound when logging in a network." +msgstr "নেটওয়ার্কে লগ-ইন করলে সূচনাপ্রদানের জন্য শব্দ বাজানো হবে কি না।" + +#: ../data/empathy.schemas.in.h:67 +msgid "Whether or not to play a sound when logging off a network." +msgstr "নেটওয়ার্কে লগ-অফ করলে সূচনাপ্রদানের জন্য শব্দ বাজানো হবে কি না।" + +#: ../data/empathy.schemas.in.h:68 +msgid "Whether or not to play sound notifications when away or busy." +msgstr "অনুপস্থিত অথবা ব্যস্ত থাকলে সূচনাপ্রদানের জন্য শব্দ বাজানো হবে কি না।" + +#: ../data/empathy.schemas.in.h:69 +msgid "" +"Whether or not to show a popup notification when receiving a new message " +"even if the chat is already opened, but not focused." msgstr "" -#: ../data/empathy.schemas.in.h:39 +#: ../data/empathy.schemas.in.h:70 +msgid "" +"Whether or not to show a popup notification when receiving a new message." +msgstr "নতুন বার্তা প্রাপ্ত করা হলে পপ-আপের মাধ্যমে সূচনা প্রদান করা হবে কি না।" + +#: ../data/empathy.schemas.in.h:71 msgid "" "Whether or not to show avatars for contacts in the contact list and chat " "windows." msgstr "" -#: ../data/empathy.schemas.in.h:40 +#: ../data/empathy.schemas.in.h:72 msgid "Whether or not to show contacts that are offline in the contact list." msgstr "" +"পরিচিতি তালিকায় উপস্থিত ব্যক্তিরা অফ-লাইন থাকলে, তালিকায় তাদের প্রদর্শন করা হবে " +"কি না।" -#: ../data/empathy.schemas.in.h:41 +#: ../data/empathy.schemas.in.h:73 +msgid "Whether or not to show popup notifications when away or busy." +msgstr "অনুপস্থিত অথবা ব্যস্ত থাকলে পপ সূচনাবার্তা প্রদর্শন করা হবে কি না।" + +#: ../data/empathy.schemas.in.h:74 +#, fuzzy +msgid "Whether or not to show the contact list in chat rooms." +msgstr "সংকুচিত মোডে, পরিচিতি তালিকা প্রদর্শন করা হবে কি না।" + +#: ../data/empathy.schemas.in.h:75 msgid "" "Whether or not to show the message dialog about closing the main window with " "the 'x' button in the title bar." msgstr "" -#: ../data/empathy.schemas.in.h:42 +#: ../data/empathy.schemas.in.h:76 msgid "Whether to show the contact list in compact mode or not." -msgstr "" +msgstr "সংকুচিত মোডে, পরিচিতি তালিকা প্রদর্শন করা হবে কি না।" -#: ../data/empathy.schemas.in.h:43 +#: ../data/empathy.schemas.in.h:77 msgid "Whether to use the theme for chat rooms or not." -msgstr "" +msgstr "চ্যাট-রুমের জন্য থিম ব্যবহার করা হবে কি না।" -#: ../data/empathy.schemas.in.h:44 +#: ../data/empathy.schemas.in.h:78 msgid "" "Which criterium to use when sorting the contact list. Default is to use sort " "by the contact's name with the value \"name\". A value of \"state\" will " "sort the contact list by state." msgstr "" -#: ../libempathy/empathy-tp-contact-list.c:731 ../src/empathy.c:248 +#: ../libempathy/empathy-ft-handler.c:838 +msgid "The hash of the received file and the sent one do not match" +msgstr "" + +#: ../libempathy/empathy-ft-handler.c:1098 +msgid "File transfer not supported by remote contact" +msgstr "" + +#: ../libempathy/empathy-ft-handler.c:1156 +msgid "The selected file is not a regular file" +msgstr "" + +#: ../libempathy/empathy-ft-handler.c:1165 +msgid "The selected file is empty" +msgstr "" + +#: ../libempathy/empathy-tp-contact-list.c:757 ../src/empathy.c:287 msgid "People nearby" msgstr "নিকটবর্তী ব্যক্তিরা" -#: ../libempathy/empathy-utils.c:345 +#: ../libempathy/empathy-tp-file.c:279 +msgid "Socket type not supported" +msgstr "" + +#: ../libempathy/empathy-tp-file.c:398 +msgid "No reason was specified" +msgstr "কোনো কারণ উল্লিখিত হয়নি" + +#: ../libempathy/empathy-tp-file.c:401 +msgid "The change in state was requested" +msgstr "অবস্থার পরিবর্তন অনুরোধ করা হয়েছে" + +#: ../libempathy/empathy-tp-file.c:404 +msgid "You canceled the file transfer" +msgstr "ফাইল বিনিময়ের কাজ আপনি বাতিল করেছেন" + +#: ../libempathy/empathy-tp-file.c:407 +msgid "The other participant canceled the file transfer" +msgstr "ফাইল বিনিময়ের কাজ অন্য ব্যবহারকারী বাতিল করেছেন" + +#: ../libempathy/empathy-tp-file.c:410 +msgid "Error while trying to transfer the file" +msgstr "ফাইল বিনিময় করতে সমস্যা" + +#: ../libempathy/empathy-tp-file.c:413 +msgid "The other participant is unable to transfer the file" +msgstr "অন্য ব্যবহারকারী ফাইল বিনিময় করতে সক্ষম হননি" + +#: ../libempathy/empathy-tp-file.c:416 +msgid "Unknown reason" +msgstr "অজানা কারণ" + +#: ../libempathy/empathy-utils.c:274 msgid "Available" msgstr "উপস্থিত" -#: ../libempathy/empathy-utils.c:347 +#: ../libempathy/empathy-utils.c:276 msgid "Busy" msgstr "ব্যস্ত" -#: ../libempathy/empathy-utils.c:350 +#: ../libempathy/empathy-utils.c:279 msgid "Away" msgstr "অনুপস্থিত" -#: ../libempathy/empathy-utils.c:352 +#: ../libempathy/empathy-utils.c:281 msgid "Hidden" msgstr "আড়ালে" -#: ../libempathy/empathy-utils.c:355 +#: ../libempathy/empathy-utils.c:283 msgid "Offline" msgstr "অফ-লাইন" -#: ../libempathy-gtk/empathy-account-chooser.c:337 +#: ../libempathy/empathy-time.c:137 +#, c-format +msgid "%d second ago" +msgid_plural "%d seconds ago" +msgstr[0] "" +msgstr[1] "" + +#: ../libempathy/empathy-time.c:142 +#, c-format +msgid "%d minute ago" +msgid_plural "%d minutes ago" +msgstr[0] "" +msgstr[1] "" + +#: ../libempathy/empathy-time.c:147 +#, c-format +msgid "%d hour ago" +msgid_plural "%d hours ago" +msgstr[0] "" +msgstr[1] "" + +#: ../libempathy/empathy-time.c:152 +#, c-format +msgid "%d day ago" +msgid_plural "%d days ago" +msgstr[0] "" +msgstr[1] "" + +#: ../libempathy/empathy-time.c:157 +#, c-format +msgid "%d week ago" +msgid_plural "%d weeks ago" +msgstr[0] "" +msgstr[1] "" + +#: ../libempathy/empathy-time.c:162 +#, c-format +msgid "%d month ago" +msgid_plural "%d months ago" +msgstr[0] "" +msgstr[1] "" + +#: ../libempathy/empathy-time.c:167 +msgid "in the future" +msgstr "" + +#: ../libempathy-gtk/empathy-account-chooser.c:419 msgid "All" msgstr "সকল" #: ../libempathy-gtk/empathy-account-widget.c:302 -#: ../libempathy-gtk/empathy-account-widget.c:347 +#: ../libempathy-gtk/empathy-account-widget.c:354 #, c-format msgid "%s:" msgstr "%s:" -#: ../libempathy-gtk/empathy-account-widget-aim.glade.h:1 -#: ../libempathy-gtk/empathy-account-widget-generic.glade.h:1 -#: ../libempathy-gtk/empathy-account-widget-groupwise.glade.h:1 -#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:1 -#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:1 -#: ../libempathy-gtk/empathy-account-widget-msn.glade.h:1 -#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:1 -#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:1 -#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:1 -msgid "Advanced" +#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:1 +#: ../libempathy-gtk/empathy-account-widget-generic.ui.h:1 +#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:1 +#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:1 +#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:1 +#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:1 +#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:1 +#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:1 +#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:1 +#, fuzzy +msgid "Advanced" msgstr "উন্নত বিকল্প" -#: ../libempathy-gtk/empathy-account-widget-aim.glade.h:2 -#: ../libempathy-gtk/empathy-account-widget-groupwise.glade.h:2 -#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:2 -#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:3 -#: ../libempathy-gtk/empathy-account-widget-msn.glade.h:2 -#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:4 -#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:2 -msgid "Forget password and clear the entry." -msgstr "" - -#: ../libempathy-gtk/empathy-account-widget-aim.glade.h:3 -#: ../libempathy-gtk/empathy-account-widget-groupwise.glade.h:4 -#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:4 -#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:5 -#: ../libempathy-gtk/empathy-account-widget-msn.glade.h:4 -#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:5 -#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:3 +#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:2 +#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:3 +#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:3 +#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:4 +#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:3 +#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:4 +#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:2 msgid "Pass_word:" msgstr "পাসওয়ার্ড: (_w)" -#: ../libempathy-gtk/empathy-account-widget-aim.glade.h:4 +#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:3 msgid "Screen _Name:" msgstr "পর্দায় ব্যবহৃত নাম: (_N)" -#: ../libempathy-gtk/empathy-account-widget-aim.glade.h:5 -#: ../libempathy-gtk/empathy-account-widget-groupwise.glade.h:5 -#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:6 -#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:11 -#: ../libempathy-gtk/empathy-account-widget-msn.glade.h:5 -#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:8 +#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:4 +#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:4 +#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:5 +#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:10 +#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:4 +#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:7 msgid "_Port:" msgstr "পোর্ট: (_P)" -#: ../libempathy-gtk/empathy-account-widget-aim.glade.h:6 -#: ../libempathy-gtk/empathy-account-widget-groupwise.glade.h:6 -#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:7 -#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:12 -#: ../libempathy-gtk/empathy-account-widget-msn.glade.h:6 -#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:10 -#: ../src/empathy-new-chatroom-dialog.glade.h:10 +#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:5 +#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:5 +#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:6 +#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:11 +#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:5 +#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:9 +#: ../src/empathy-new-chatroom-dialog.ui.h:9 msgid "_Server:" msgstr "সার্ভার: (_S)" -#: ../libempathy-gtk/empathy-account-widget-groupwise.glade.h:3 -#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:4 -#: ../libempathy-gtk/empathy-account-widget-msn.glade.h:3 +#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:2 +#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:2 +#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:2 msgid "Login I_D:" msgstr "লগ-ইন ID: (_D)" -#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:3 +#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:2 msgid "ICQ _UIN:" msgstr "ICQ _UIN:" -#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:5 -#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:6 +#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:4 +#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:5 msgid "_Charset:" msgstr "ক্যারসেট: (_C)" -#: ../libempathy-gtk/empathy-account-widget-irc.c:245 +#: ../libempathy-gtk/empathy-account-widget-irc.c:241 msgid "New Network" msgstr "নতুন নেটওয়ার্ক" -#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:1 -msgid "Network" -msgstr "নেটওয়ার্ক" - -#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:2 -msgid "Servers" -msgstr "সার্ভার" - -#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:3 +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:1 msgid "Charset:" msgstr "ক্যারসেট:" -#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:4 -msgid "Create a new IRC network" -msgstr "নতুন IRC নেটওয়ার্ক নির্মাণ করুন" - -#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:5 -msgid "Edit the selected IRC network" -msgstr "নির্বাচিত IRC নেটওয়ার্কের বৈশিষ্ট্য পরিবর্তন করুন" - -#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:6 +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:2 msgid "Network" msgstr "নেটওয়ার্ক" -#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:7 +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:3 msgid "Network:" msgstr "নেটওয়ার্ক:" -#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:8 +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:4 msgid "Nickname:" msgstr "উপনাম (Nickname):" -#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:9 +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:5 msgid "Password:" msgstr "পাসওয়ার্ড:" -#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:10 +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:6 msgid "Quit message:" msgstr "প্রস্থানকালে প্রদর্শিত বার্তা:" -#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:11 +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:7 msgid "Real name:" msgstr "নাম:" -#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:12 -msgid "Remove the selected IRC network" -msgstr "নির্বাচিত IRC নেটওয়ার্ক মুছে ফেলুন" +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:8 +#, fuzzy +msgid "Servers" +msgstr "সার্ভার" -#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:2 -msgid "Override server settings" +#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:3 +#, fuzzy +msgid "Override server settings" msgstr "সার্ভারের বৈশিষ্ট্য উপেক্ষা করা হবে" -#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:6 +#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:5 msgid "Pri_ority:" msgstr "গুরুত্ব: (_o))" -#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:7 +#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:6 msgid "Reso_urce:" -msgstr "" +msgstr "সামগ্রী: (_u)" -#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:8 +#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:7 msgid "Use old SS_L" msgstr "পুরোনো SSL ব্যবহার করা হবে (_L)" -#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:9 +#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:8 msgid "_Encryption required (TLS/SSL)" msgstr "এনক্রিপশন আবশ্যক (TLS/SSL) (_E)" -#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:10 +#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:9 msgid "_Ignore SSL certificate errors" msgstr "SSL সার্টিফিকেট সংক্রান্ত সমস্যা উপেক্ষা করা হবে (_I)" -#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:2 +#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:2 msgid "_Email:" msgstr "ই-মেইল: (_E)" -#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:3 -msgid "_First Name: " +#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:3 +msgid "_First Name:" msgstr "নাম: (_F)" -#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:4 +#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:4 msgid "_Jabber ID:" msgstr "_Jabber ID:" -#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:5 +#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:5 msgid "_Last Name:" msgstr "পদবি: (_L)" -#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:6 -#: ../src/empathy-chatrooms-window.glade.h:8 +#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:6 msgid "_Nickname:" msgstr "উপনাম: (_N)" -#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:7 +#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:7 msgid "_Published Name:" msgstr "প্রকাশিত নাম: (_P)" #. look up the DNS SRV record at the service's domain for the host name of a STUN server. -#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:3 +#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:3 msgid "Discover STUN" -msgstr "" +msgstr "STUN অনুসন্ধান করা হবে" -#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:6 +#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:5 msgid "STUN Server:" msgstr "STUN সার্ভার:" -#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:7 +#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:6 msgid "STUN port:" msgstr "STUN পোর্ট:" -#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:8 +#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:7 msgid "_Username:" msgstr "ব্যবহারকারীর নাম: (_U)" -#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:4 +#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:3 msgid "Use _Yahoo Japan" msgstr "Yahoo Japan ব্যবহার করা হবে (_Y)" -#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:5 +#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:4 msgid "Yahoo I_D:" msgstr "Yahoo I_D:" -#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:7 +#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:6 msgid "_Ignore conference and chatroom invitations" -msgstr "" +msgstr "বৈঠক ও চ্যাট-রুম থেকে প্রাপ্ত আমন্ত্রণগুলি উপেক্ষা করা হবে (_I)" -#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:9 +#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:8 msgid "_Room List locale:" -msgstr "" +msgstr "রুম তালিকার লোকেইল: (_R)" + +#: ../libempathy-gtk/empathy-avatar-chooser.c:449 +#: ../libempathy-gtk/empathy-avatar-chooser.c:525 +msgid "Couldn't convert image" +msgstr "ছবি রূপান্তর করতে ব্যর্থ" -#: ../libempathy-gtk/empathy-avatar-chooser.c:457 +#: ../libempathy-gtk/empathy-avatar-chooser.c:450 +msgid "None of the accepted image formats is supported on your system" +msgstr "গ্রহণযোগ্য ছবির বিন্যাসগুলির মধ্যে একটিও আপনার সিস্টেম দ্বারা সমর্থিত হয় না" + +#: ../libempathy-gtk/empathy-avatar-chooser.c:933 msgid "Select Your Avatar Image" -msgstr "" +msgstr "নিজের অবতারের ছবি নির্বাচন করুন" -#: ../libempathy-gtk/empathy-avatar-chooser.c:460 +#: ../libempathy-gtk/empathy-avatar-chooser.c:936 msgid "No Image" msgstr "ছবি ব্যবহৃত হবে না" -#: ../libempathy-gtk/empathy-avatar-chooser.c:520 +#: ../libempathy-gtk/empathy-avatar-chooser.c:998 msgid "Images" msgstr "ছবি" -#: ../libempathy-gtk/empathy-avatar-chooser.c:524 +#: ../libempathy-gtk/empathy-avatar-chooser.c:1002 msgid "All Files" msgstr "সর্বধরনের ফাইল" -#: ../libempathy-gtk/empathy-avatar-image.c:294 +#: ../libempathy-gtk/empathy-avatar-image.c:324 msgid "Click to enlarge" msgstr "বড় মাপে প্রদর্শনের জন্য ক্লিক করুন" -#: ../libempathy-gtk/empathy-chat.c:497 +#: ../libempathy-gtk/empathy-chat.c:186 +msgid "Failed to reconnect this chat" +msgstr "" + +#: ../libempathy-gtk/empathy-chat.c:404 +msgid "Unsupported command" +msgstr "" + +#: ../libempathy-gtk/empathy-chat.c:539 msgid "offline" msgstr "অফ-লাইন" -#: ../libempathy-gtk/empathy-chat.c:500 +#: ../libempathy-gtk/empathy-chat.c:542 msgid "invalid contact" msgstr "পরিচিত ব্যক্তির তথ্য বৈধ নয়" -#: ../libempathy-gtk/empathy-chat.c:503 +#: ../libempathy-gtk/empathy-chat.c:545 msgid "permission denied" msgstr "অনুমতি প্রদান করা হয়নি" -#: ../libempathy-gtk/empathy-chat.c:506 +#: ../libempathy-gtk/empathy-chat.c:548 msgid "too long message" msgstr "বার্তা অত্যাধিক লম্বা" -#: ../libempathy-gtk/empathy-chat.c:509 +#: ../libempathy-gtk/empathy-chat.c:551 msgid "not implemented" msgstr "প্রয়োগ করা হয়নি" -#: ../libempathy-gtk/empathy-chat.c:512 +#: ../libempathy-gtk/empathy-chat.c:554 msgid "unknown" msgstr "অজানা" -#: ../libempathy-gtk/empathy-chat.c:516 +#: ../libempathy-gtk/empathy-chat.c:558 #, c-format msgid "Error sending message '%s': %s" msgstr "'%s' বার্তা পাঠাতে সমস্যা: %s" -#: ../libempathy-gtk/empathy-chat.c:546 +#: ../libempathy-gtk/empathy-chat.c:588 #, c-format msgid "Topic set to: %s" -msgstr "" +msgstr "নির্ধারিত বিষয়: %s" -#: ../libempathy-gtk/empathy-chat.c:548 +#: ../libempathy-gtk/empathy-chat.c:590 msgid "No topic defined" +msgstr "বিষয় নির্ধারিত হয়নি" + +#: ../libempathy-gtk/empathy-chat.c:959 +msgid "(No Suggestions)" msgstr "" -#: ../libempathy-gtk/empathy-chat.c:963 +#: ../libempathy-gtk/empathy-chat.c:1013 msgid "Insert Smiley" msgstr "স্মাইলি চিহ্ন অন্তর্ভুক্ত করুন" -#: ../libempathy-gtk/empathy-chat.c:979 +#. send button +#: ../libempathy-gtk/empathy-chat.c:1031 +#: ../libempathy-gtk/empathy-ui-utils.c:1476 msgid "_Send" msgstr "পাঠিয়ে দিন (_S)" -#: ../libempathy-gtk/empathy-chat.c:1013 -msgid "_Check Word Spelling..." -msgstr "শব্দের বানান পরীক্ষা করুন...(_C)" +#: ../libempathy-gtk/empathy-chat.c:1065 +msgid "_Spelling Suggestions" +msgstr "" -#: ../libempathy-gtk/empathy-chat.c:1119 +#: ../libempathy-gtk/empathy-chat.c:1179 #, c-format msgid "%s has joined the room" -msgstr "" +msgstr "%s রুমে এসেছেন" -#: ../libempathy-gtk/empathy-chat.c:1122 +#: ../libempathy-gtk/empathy-chat.c:1182 #, c-format msgid "%s has left the room" -msgstr "" +msgstr "%s রুম থেকে চলে গেছেন" -#: ../libempathy-gtk/empathy-chat.c:1236 ../src/empathy-call-window.c:406 +#: ../libempathy-gtk/empathy-chat.c:1313 ../src/empathy-call-window.c:1199 msgid "Disconnected" msgstr "বিচ্ছিন্ন" -#: ../libempathy-gtk/empathy-chat.c:1608 +#: ../libempathy-gtk/empathy-chat.c:1742 msgid "Connected" msgstr "সংযুক্ত" -#: ../libempathy-gtk/empathy-chat.glade.h:1 -msgid "Topic:" -msgstr "বিষয়:" +#: ../libempathy-gtk/empathy-chat.c:1792 +#: ../libempathy-gtk/empathy-log-window.c:501 +msgid "Conversation" +msgstr "আলাপন" -#: ../libempathy-gtk/empathy-chat.glade.h:2 -msgid "Group Chat" -msgstr "" +#: ../libempathy-gtk/empathy-chat.ui.h:1 ../src/empathy-chat-window.c:471 +msgid "Topic:" +msgstr "বিষয়:" -#: ../libempathy-gtk/empathy-chat-view.c:430 +#: ../libempathy-gtk/empathy-chat-text-view.c:316 msgid "_Copy Link Address" msgstr "লিঙ্ক দ্বারা চিহ্নিত ঠিকানা কপি করুন (_C)" -#: ../libempathy-gtk/empathy-chat-view.c:438 +#: ../libempathy-gtk/empathy-chat-text-view.c:323 msgid "_Open Link" msgstr "লিঙ্ক দ্বারা চিহ্নিত খুলুন (_O)" -#: ../libempathy-gtk/empathy-contact-dialogs.c:180 -msgid "Personal Information" -msgstr "ব্যক্তিগত তথ্য" +#. Translators: timestamp displayed between conversations in +#. * chat windows (strftime format string) +#: ../libempathy-gtk/empathy-chat-text-view.c:415 +msgid "%A %B %d %Y" +msgstr "%A %B %d %Y" -#: ../libempathy-gtk/empathy-contact-dialogs.c:183 +#: ../libempathy-gtk/empathy-contact-dialogs.c:179 +#: ../libempathy-gtk/empathy-contact-dialogs.c:238 msgid "Edit Contact Information" msgstr "যোগাযোগ সংক্রান্ত তথ্য পরিবর্তন করুন" -#: ../libempathy-gtk/empathy-contact-dialogs.c:186 -msgid "Contact Information" -msgstr "যোগাযোগ সংক্রান্ত তথ্য" - -#: ../libempathy-gtk/empathy-contact-dialogs.c:283 -msgid "I would like to add you to my contact list." -msgstr "আমি আপনাকের আমার পরিচিতি তালিকায় যোগ করতে ইচ্ছুক।" +#: ../libempathy-gtk/empathy-contact-dialogs.c:289 +msgid "Personal Information" +msgstr "ব্যক্তিগত তথ্য" -#: ../libempathy-gtk/empathy-contact-dialogs.c:307 +#: ../libempathy-gtk/empathy-contact-dialogs.c:392 msgid "New Contact" msgstr "নতুন পরিচিতি" -#: ../libempathy-gtk/empathy-contact-dialogs.glade.h:1 +#: ../libempathy-gtk/empathy-contact-dialogs.ui.h:1 msgid "Decide _Later" msgstr "পরে নির্ধারণ করা হবে (_L)" -#: ../libempathy-gtk/empathy-contact-dialogs.glade.h:2 +#: ../libempathy-gtk/empathy-contact-dialogs.ui.h:2 msgid "Subscription Request" -msgstr "" +msgstr "সাবস্ক্রিপশনের অনুরোধ" -#: ../libempathy-gtk/empathy-contact-list-view.c:1226 +#: ../libempathy-gtk/empathy-contact-list-view.c:1378 #, c-format msgid "Do you really want to remove the group '%s'?" msgstr "'%s' নাম দল কি নিশ্চিতরূপে মুছে ফেলতে ইচ্ছুক?" -#: ../libempathy-gtk/empathy-contact-list-view.c:1228 +#: ../libempathy-gtk/empathy-contact-list-view.c:1380 msgid "Removing group" msgstr "দল মুছে ফেলা হচ্ছে" -#: ../libempathy-gtk/empathy-contact-list-view.c:1275 -#: ../libempathy-gtk/empathy-contact-list-view.c:1354 +#: ../libempathy-gtk/empathy-contact-list-view.c:1427 +#: ../libempathy-gtk/empathy-contact-list-view.c:1505 msgid "_Remove" msgstr "মুছে ফেলুন (_R)" -#: ../libempathy-gtk/empathy-contact-list-view.c:1305 +#: ../libempathy-gtk/empathy-contact-list-view.c:1457 #, c-format msgid "Do you really want to remove the contact '%s'?" -msgstr "" +msgstr "আপনি কি নিশ্চিতরূপে '%s'-কে পরিচিত তালিকা থেকে সরিয়ে ফেলতে ইচ্ছুক?" -#: ../libempathy-gtk/empathy-contact-list-view.c:1307 +#: ../libempathy-gtk/empathy-contact-list-view.c:1459 msgid "Removing contact" -msgstr "" - -#: ../libempathy-gtk/empathy-contact-list-view.c:1312 -msgid "Sorry, I don't want you in my contact list anymore." -msgstr "" +msgstr "পরিচিত ব্যক্তিকে সরিয়ে ফেলা হচ্ছে" -#: ../libempathy-gtk/empathy-contact-menu.c:109 -#: ../src/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/empathy-contact-menu.c:135 +#: ../src/empathy-main-window.ui.h:8 msgid "_Chat" msgstr "আলাপন (_C)" -#: ../libempathy-gtk/empathy-contact-menu.c:130 -msgid "_Call" -msgstr "" +#: ../libempathy-gtk/empathy-contact-menu.c:166 +#, fuzzy +msgctxt "menu item" +msgid "_Audio Call" +msgstr "ডেকে নিন (_C)" -#: ../libempathy-gtk/empathy-contact-menu.c:169 -#: ../src/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-contact-menu.c:198 +#, fuzzy +msgctxt "menu item" +msgid "_Video Call" +msgstr "ডেকে নিন (_C)" + +#: ../libempathy-gtk/empathy-contact-menu.c:237 msgid "_View Previous Conversations" msgstr "পূর্ববর্তী আলাপ প্রদর্শন করা হবে (_V)" -#: ../libempathy-gtk/empathy-contact-menu.c:197 +#: ../libempathy-gtk/empathy-contact-menu.c:259 +msgid "Send file" +msgstr "ফাইল পাঠান" + +#: ../libempathy-gtk/empathy-contact-menu.c:287 msgid "Infor_mation" msgstr "তথ্য (_m)" -#: ../libempathy-gtk/empathy-contact-menu.c:224 -#: ../src/empathy-chat-window.glade.h:14 ../src/empathy-main-window.glade.h:11 +#: ../libempathy-gtk/empathy-contact-menu.c:314 +#: ../src/empathy-main-window.ui.h:11 msgid "_Edit" msgstr "সম্পাদনা (_E)" -#: ../libempathy-gtk/empathy-contact-widget.c:358 +#: ../libempathy-gtk/empathy-contact-menu.c:372 +msgid "Inviting to this room" +msgstr "এই রুমে আমন্ত্রণ করুন" + +#: ../libempathy-gtk/empathy-contact-menu.c:403 +msgid "_Invite to chatroom" +msgstr "চ্যাট-রুমে আমন্ত্রণ করুন (_I)" + +#: ../libempathy-gtk/empathy-contact-selector.c:129 +msgid "Select a contact" +msgstr "একটি পরিচিতি নির্বাচন করুন" + +#: ../libempathy-gtk/empathy-contact-widget.c:440 msgid "Save Avatar" msgstr "অবতারের ছবি সংরক্ষণ করুন" -#: ../libempathy-gtk/empathy-contact-widget.c:414 +#: ../libempathy-gtk/empathy-contact-widget.c:496 msgid "Unable to save avatar" msgstr "অবতারের ছবি সংরক্ষণ করতে ব্যর্থ" -#: ../libempathy-gtk/empathy-contact-widget.c:875 +#: ../libempathy-gtk/empathy-contact-widget.c:979 msgid "Select" msgstr "নির্বাচন করুন" -#: ../libempathy-gtk/empathy-contact-widget.c:884 -#: ../src/empathy-main-window.c:853 +#: ../libempathy-gtk/empathy-contact-widget.c:988 +#: ../src/empathy-main-window.c:905 msgid "Group" msgstr "দল" -#: ../libempathy-gtk/empathy-contact-widget.glade.h:1 -msgid "Client Information" -msgstr "ক্লায়েন্ট সংক্রান্ত তথ্য" +#: ../libempathy-gtk/empathy-contact-widget.c:1239 +msgid "Country ISO Code:" +msgstr "" -#: ../libempathy-gtk/empathy-contact-widget.glade.h:2 -msgid "Contact Details" -msgstr "যোগাযোগ সংক্রান্ত বিবরণ" +#: ../libempathy-gtk/empathy-contact-widget.c:1241 +#, fuzzy +msgid "Country:" +msgstr "অ্যাকাউন্ট:" -#: ../libempathy-gtk/empathy-contact-widget.glade.h:3 -msgid "Contact" -msgstr "যোগাযোগ" +#: ../libempathy-gtk/empathy-contact-widget.c:1243 +#, fuzzy +msgid "State:" +msgstr "অবস্থা:" -#: ../libempathy-gtk/empathy-contact-widget.glade.h:4 -msgid "Groups" -msgstr "দল" +#: ../libempathy-gtk/empathy-contact-widget.c:1245 +#, fuzzy +msgid "City:" +msgstr "ক্লায়েন্ট:" -#: ../libempathy-gtk/empathy-contact-widget.glade.h:5 -#: ../libempathy-gtk/empathy-new-message-dialog.glade.h:1 -#: ../src/empathy-chatrooms-window.glade.h:1 -#: ../src/empathy-new-chatroom-dialog.glade.h:1 -msgid "Account:" -msgstr "অ্যাকাউন্ট:" +#: ../libempathy-gtk/empathy-contact-widget.c:1247 +#, fuzzy +msgid "Area:" +msgstr "আর্মেনিয়ান" -#: ../libempathy-gtk/empathy-contact-widget.glade.h:6 -msgid "Alias:" +#: ../libempathy-gtk/empathy-contact-widget.c:1249 +msgid "Postal Code:" msgstr "" -#: ../libempathy-gtk/empathy-contact-widget.glade.h:7 -msgid "Birthday:" -msgstr "জন্মদিন:" +#: ../libempathy-gtk/empathy-contact-widget.c:1251 +#, fuzzy +msgid "Street:" +msgstr "নির্বাচন করুন" -#: ../libempathy-gtk/empathy-contact-widget.glade.h:8 -msgid "Client:" -msgstr "ক্লায়েন্ট:" +#: ../libempathy-gtk/empathy-contact-widget.c:1253 +msgid "Building:" +msgstr "" -#: ../libempathy-gtk/empathy-contact-widget.glade.h:9 -msgid "Contact information" -msgstr "যোগাযোগ সংক্রান্ত তথ্য" +#: ../libempathy-gtk/empathy-contact-widget.c:1255 +#, fuzzy +msgid "Floor:" +msgstr "উদ্দিষ্ট বস্তু: (_F)" -#: ../libempathy-gtk/empathy-contact-widget.glade.h:10 -msgid "Email:" -msgstr "ই-মেইল:" +#: ../libempathy-gtk/empathy-contact-widget.c:1257 +#, fuzzy +msgid "Room:" +msgstr "রুম: (_R)" -#: ../libempathy-gtk/empathy-contact-widget.glade.h:11 -msgid "Fullname:" -msgstr "সম্পূর্ণ নাম:" +#: ../libempathy-gtk/empathy-contact-widget.c:1259 +#, fuzzy +msgid "Text:" +msgstr "প্রকৃতি:" -#. Identifier to connect to Instant Messaging network -#: ../libempathy-gtk/empathy-contact-widget.glade.h:13 -msgid "Identifier:" +#: ../libempathy-gtk/empathy-contact-widget.c:1261 +#, fuzzy +msgid "Description:" +msgstr "সংস্করণ:" + +#: ../libempathy-gtk/empathy-contact-widget.c:1263 +msgid "URI:" msgstr "" -#: ../libempathy-gtk/empathy-contact-widget.glade.h:14 -msgid "Information requested..." -msgstr "অনুরোধ করা তথ্য..." +#: ../libempathy-gtk/empathy-contact-widget.c:1265 +msgid "Accuracy Level:" +msgstr "" -#: ../libempathy-gtk/empathy-contact-widget.glade.h:15 -msgid "OS:" -msgstr "OS:" +#: ../libempathy-gtk/empathy-contact-widget.c:1267 +msgid "Error:" +msgstr "" -#: ../libempathy-gtk/empathy-contact-widget.glade.h:16 -msgid "" -"Select the groups you want this contact to appear in. Note that you can " -"select more than one group or no groups." +#: ../libempathy-gtk/empathy-contact-widget.c:1269 +msgid "Vertical Error (meters):" msgstr "" -#: ../libempathy-gtk/empathy-contact-widget.glade.h:17 -msgid "Version:" -msgstr "সংস্করণ:" +#: ../libempathy-gtk/empathy-contact-widget.c:1271 +msgid "Horizontal Error (meters):" +msgstr "" -#: ../libempathy-gtk/empathy-contact-widget.glade.h:18 -msgid "Web site:" -msgstr "ওয়েব-সাইট:" +#: ../libempathy-gtk/empathy-contact-widget.c:1273 +msgid "Speed:" +msgstr "" -#: ../libempathy-gtk/empathy-contact-widget.glade.h:19 -msgid "_Add Group" -msgstr "দল যোগ করুন (_A)" +#: ../libempathy-gtk/empathy-contact-widget.c:1275 +#, fuzzy +msgid "Bearing:" +msgstr "সংস্করণ:" -#: ../libempathy-gtk/empathy-irc-network-dialog.c:284 -msgid "new server" +#: ../libempathy-gtk/empathy-contact-widget.c:1277 +msgid "Climb Speed:" +msgstr "" + +#: ../libempathy-gtk/empathy-contact-widget.c:1279 +msgid "Last Updated on:" +msgstr "" + +#: ../libempathy-gtk/empathy-contact-widget.c:1281 +msgid "Longitude:" +msgstr "" + +#: ../libempathy-gtk/empathy-contact-widget.c:1283 +msgid "Latitude:" +msgstr "" + +#: ../libempathy-gtk/empathy-contact-widget.c:1285 +msgid "Altitude:" +msgstr "" + +#: ../libempathy-gtk/empathy-contact-widget.c:1332 +#, fuzzy +msgid "Location" +msgstr "যোগাযোগ" + +#: ../libempathy-gtk/empathy-contact-widget.c:1345 +#, fuzzy +msgid "Location, " +msgstr "যোগাযোগ" + +#: ../libempathy-gtk/empathy-contact-widget.c:1395 +msgid "%B %e, %Y at %R UTC" +msgstr "" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:1 +msgid "Location at (date)\t" +msgstr "" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:2 +#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:1 +#: ../src/empathy-chatrooms-window.ui.h:1 +#: ../src/empathy-new-chatroom-dialog.ui.h:1 +msgid "Account:" +msgstr "অ্যাকাউন্ট:" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:3 +msgid "Alias:" +msgstr "উপনাম:" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:4 +msgid "Birthday:" +msgstr "জন্মদিন:" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:5 +#, fuzzy +msgid "Client Information" +msgstr "ক্লায়েন্ট সংক্রান্ত তথ্য" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:6 +msgid "Client:" +msgstr "ক্লায়েন্ট:" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:7 +#: ../src/empathy-main-window.c:888 +msgid "Contact" +msgstr "পরিচিত ব্যক্তি" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:8 +#, fuzzy +msgid "Contact Details" +msgstr "যোগাযোগ সংক্রান্ত বিবরণ" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:9 +msgid "Email:" +msgstr "ই-মেইল:" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:10 +msgid "Fullname:" +msgstr "সম্পূর্ণ নাম:" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:11 +#, fuzzy +msgid "Groups" +msgstr "দল" + +#. Identifier to connect to Instant Messaging network +#: ../libempathy-gtk/empathy-contact-widget.ui.h:13 +msgid "Identifier:" +msgstr "সনাক্তচিহ্ন:" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:14 +msgid "Information requested..." +msgstr "অনুরোধ করা তথ্য..." + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:15 +msgid "OS:" +msgstr "OS:" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:16 +msgid "" +"Select the groups you want this contact to appear in. Note that you can " +"select more than one group or no groups." +msgstr "" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:17 +msgid "Version:" +msgstr "সংস্করণ:" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:18 +msgid "Web site:" +msgstr "ওয়েব-সাইট:" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:19 +msgid "_Add Group" +msgstr "দল যোগ করুন (_A)" + +#: ../libempathy-gtk/empathy-irc-network-dialog.c:283 +msgid "new server" msgstr "নতুন সার্ভার" -#: ../libempathy-gtk/empathy-irc-network-dialog.c:513 +#: ../libempathy-gtk/empathy-irc-network-dialog.c:510 msgid "Server" msgstr "সার্ভার" -#: ../libempathy-gtk/empathy-irc-network-dialog.c:528 +#: ../libempathy-gtk/empathy-irc-network-dialog.c:525 msgid "Port" msgstr "পোর্ট" -#: ../libempathy-gtk/empathy-irc-network-dialog.c:541 +#: ../libempathy-gtk/empathy-irc-network-dialog.c:538 msgid "SSL" msgstr "SSL" -#: ../libempathy-gtk/empathy-log-window.c:497 +#: ../libempathy-gtk/empathy-log-window.c:494 +#: ../src/empathy-import-dialog.c:281 msgid "Account" msgstr "অ্যাকাউন্ট" -#: ../libempathy-gtk/empathy-log-window.c:504 ../src/empathy-chat-window.c:276 -msgid "Conversation" -msgstr "" - -#: ../libempathy-gtk/empathy-log-window.c:514 +#: ../libempathy-gtk/empathy-log-window.c:511 msgid "Date" msgstr "তারিখ" -#. Tab Label -#: ../libempathy-gtk/empathy-log-window.glade.h:2 +#: ../libempathy-gtk/empathy-log-window.ui.h:1 msgid "Conversations" -msgstr "" +msgstr "আলাপন" -#: ../libempathy-gtk/empathy-log-window.glade.h:3 +#: ../libempathy-gtk/empathy-log-window.ui.h:2 msgid "Previous Conversations" -msgstr "" +msgstr "পূর্ববর্তী আলাপন" -#. Tab Label -#: ../libempathy-gtk/empathy-log-window.glade.h:5 +#: ../libempathy-gtk/empathy-log-window.ui.h:3 msgid "Search" msgstr "অনুসন্ধান" -#. Searching *for* something -#: ../libempathy-gtk/empathy-log-window.glade.h:7 +#: ../libempathy-gtk/empathy-log-window.ui.h:4 msgid "_For:" -msgstr "" +msgstr "উদ্দিষ্ট বস্তু: (_F)" -#: ../libempathy-gtk/empathy-new-message-dialog.glade.h:2 -msgid "Call" -msgstr "" +#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:2 +msgid "C_all" +msgstr "ডাকুন (_a)" -#: ../libempathy-gtk/empathy-new-message-dialog.glade.h:3 -#: ../src/empathy-chat-window.glade.h:2 -msgid "Chat" -msgstr "আলাপন" +#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:3 +msgid "C_hat" +msgstr "আলাপন (_h)" -#: ../libempathy-gtk/empathy-new-message-dialog.glade.h:4 +#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:4 msgid "Contact ID:" -msgstr "" +msgstr "পরিচিতির ID:" -#: ../libempathy-gtk/empathy-new-message-dialog.glade.h:5 +#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:5 msgid "New Conversation" +msgstr "নতুন আলাপন" + +#. COL_STATE_ICON_NAME +#. COL_STATE +#. COL_STATUS_TEXT +#. COL_DISPLAY_MARKUP +#. COL_STATUS_CUSTOMISABLE +#. COL_TYPE +#: ../libempathy-gtk/empathy-presence-chooser.c:172 +#, fuzzy +msgid "Custom Message..." +msgstr "স্বনির্ধারিত বার্তা..." + +#: ../libempathy-gtk/empathy-presence-chooser.c:227 +#, fuzzy +msgid "Edit Custom Messages..." +msgstr "স্বনির্ধারিত বার্তা..." + +#: ../libempathy-gtk/empathy-presence-chooser.c:326 +msgid "Click to remove this status as a favorite" +msgstr "" + +#: ../libempathy-gtk/empathy-presence-chooser.c:335 +msgid "Click to make this status a favorite" +msgstr "" + +#: ../libempathy-gtk/empathy-presence-chooser.c:369 +#, fuzzy +msgid "Set status" +msgstr "অবস্থা" + +#: ../libempathy-gtk/empathy-presence-chooser.c:782 +msgid "Set your presence and current status" msgstr "" #. Custom messages -#: ../libempathy-gtk/empathy-presence-chooser.c:685 +#: ../libempathy-gtk/empathy-presence-chooser.c:1017 msgid "Custom messages..." msgstr "স্বনির্ধারিত বার্তা..." -#: ../libempathy-gtk/empathy-presence-chooser.glade.h:1 -msgid "Custom message" +#: ../libempathy-gtk/empathy-status-preset-dialog.c:362 +#, fuzzy +msgid "Enter Custom Message" msgstr "স্বনির্ধারিত বার্তা" -#: ../libempathy-gtk/empathy-presence-chooser.glade.h:2 -msgid "Message:" -msgstr "বার্তা:" - -#: ../libempathy-gtk/empathy-presence-chooser.glade.h:3 -msgid "Save message" -msgstr "বার্তা সংরক্ষণ করুন" - -#: ../libempathy-gtk/empathy-presence-chooser.glade.h:4 -msgid "Status:" -msgstr "অবস্থা:" - -#: ../libempathy-gtk/empathy-spell-dialog.c:88 -msgid "Word" -msgstr "শব্দ" +#: ../libempathy-gtk/empathy-status-preset-dialog.c:521 +#, fuzzy +msgid "Edit Custom Messages" +msgstr "স্বনির্ধারিত বার্তা" -#: ../libempathy-gtk/empathy-spell-dialog.c:265 -msgid "Suggestions for the word" +#: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:1 +msgid "Add _New Preset" msgstr "" -#: ../libempathy-gtk/empathy-spell-dialog.glade.h:1 -msgid "Spell Checker" -msgstr "বানান পরীক্ষণ ব্যবস্থা" +#: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:2 +#, fuzzy +msgid "Saved Presets" +msgstr "বার্তা সংরক্ষণ করুন" -#: ../libempathy-gtk/empathy-spell-dialog.glade.h:2 -msgid "Suggestions for the word:" +#: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:3 +msgid "gtk-add" msgstr "" -#: ../libempathy-gtk/empathy-theme-boxes.c:745 -#: ../libempathy-gtk/empathy-theme-irc.c:293 -msgid "%A %d %B %Y" -msgstr "%A %d %B %Y" +#: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:4 +msgid "gtk-remove" +msgstr "" -#: ../libempathy-gtk/empathy-theme-manager.c:73 +#: ../libempathy-gtk/empathy-theme-manager.c:66 msgid "Classic" msgstr "পারম্পরিক" -#: ../libempathy-gtk/empathy-theme-manager.c:74 +#: ../libempathy-gtk/empathy-theme-manager.c:67 msgid "Simple" msgstr "সাধারণ" -#: ../libempathy-gtk/empathy-theme-manager.c:75 +#: ../libempathy-gtk/empathy-theme-manager.c:68 msgid "Clean" msgstr "পরিশ্রুত" -#: ../libempathy-gtk/empathy-theme-manager.c:76 +#: ../libempathy-gtk/empathy-theme-manager.c:69 msgid "Blue" msgstr "নীল" -#: ../libempathy-gtk/empathy-ui-utils.c:1330 +#: ../libempathy-gtk/empathy-theme-manager.c:71 +msgid "Adium" +msgstr "" + +#: ../libempathy-gtk/empathy-ui-utils.c:1378 msgid "Unable to open URI" msgstr "URI খুলতে ব্যর্থ" +#: ../libempathy-gtk/empathy-ui-utils.c:1468 +msgid "Select a file" +msgstr "একটি ফাইল নির্বাচন করুন" + +#: ../libempathy-gtk/empathy-ui-utils.c:1526 +#, fuzzy +msgid "Select a destination" +msgstr "একটি পরিচিতি নির্বাচন করুন" + +#: ../libempathy-gtk/empathy-ui-utils.c:1555 +msgid "Received an instant message" +msgstr "ইনস্ট্যান্ট বার্তা প্রাপ্ত হয়েছে" + +#: ../libempathy-gtk/empathy-ui-utils.c:1557 +msgid "Sent an instant message" +msgstr "ইনস্ট্যান্ট বার্তা পাঠানো হয়েছে" + +#: ../libempathy-gtk/empathy-ui-utils.c:1559 +msgid "Incoming chat request" +msgstr "চ্যাটের আগত অনুরোধ" + +#: ../libempathy-gtk/empathy-ui-utils.c:1561 +msgid "Contact connected" +msgstr "পরিচিতির সাথে সংযোগ করা হয়েছে" + +#: ../libempathy-gtk/empathy-ui-utils.c:1563 +msgid "Contact disconnected" +msgstr "পরিচিতির সাথে সংযোগ বিচ্ছিন্ন করা হয়েছে" + +#: ../libempathy-gtk/empathy-ui-utils.c:1565 +msgid "Connected to server" +msgstr "সার্ভারের সাথে সংযুক্ত" + +#: ../libempathy-gtk/empathy-ui-utils.c:1567 +msgid "Disconnected from server" +msgstr "সার্ভারে সাথে সংযোগ বিচ্ছিন্ন" + +#: ../libempathy-gtk/empathy-ui-utils.c:1569 +msgid "Incoming voice call" +msgstr "আগত ভাষ্যের কল" + +#: ../libempathy-gtk/empathy-ui-utils.c:1571 +msgid "Outgoing voice call" +msgstr "বাহিরগামি ভাষ্যের কল" + +#: ../libempathy-gtk/empathy-ui-utils.c:1573 +msgid "Voice call ended" +msgstr "ভাষ্যের কল সমাপ্ত হয়েছে" + #: ../libempathy-gtk/totem-subtitle-encoding.c:158 msgid "Current Locale" msgstr "বর্তমান লোকেইল" @@ -1030,19 +1502,21 @@ msgstr "ভিয়েতনামিস" #. * vim: sw=2 ts=8 cindent noai bs=2 #. #: ../megaphone/data/GNOME_Megaphone_Applet.schemas.in.h:1 -msgid "The contact to display in the applet. Empty means no contact is displayed." +msgid "" +"The contact to display in the applet. Empty means no contact is displayed." msgstr "" +"অ্যাপ্লেটের মধ্যে প্রদর্শনযোগ্য পরিচিতি। ফাঁকা হলে কোনো পরিচিতি প্রদর্শন করা হবে না।" #: ../megaphone/data/GNOME_Megaphone_Applet.schemas.in.h:2 msgid "The contact's avatar token. Empty means contact has no avatar." -msgstr "" +msgstr "পরিচিতির অবতারের টোকেন। পরিচিতির অবতার না থাকলে ফাঁকা থাকবে।" #: ../megaphone/data/GNOME_Megaphone_Applet.server.in.in.h:1 msgid "Megaphone" msgstr "মেগাফোন" #: ../megaphone/data/GNOME_Megaphone_Applet.server.in.in.h:2 -#: ../megaphone/src/megaphone-applet.c:417 +#: ../megaphone/src/megaphone-applet.c:527 msgid "Talk!" msgstr "Talk!" @@ -1056,10 +1530,18 @@ msgid "_Information" msgstr "তথ্য (_I)" #: ../megaphone/data/GNOME_Megaphone_Applet.xml.h:3 -#: ../src/empathy-main-window.glade.h:15 +#: ../src/empathy-main-window.ui.h:18 msgid "_Preferences" msgstr "পছন্দ (_P)" +#: ../megaphone/src/megaphone-applet.c:168 +msgid "Please configure a contact." +msgstr "অনুগ্রহ করে পরিচিতির তথ্য কনফিগার করুন।" + +#: ../megaphone/src/megaphone-applet.c:258 +msgid "Select contact..." +msgstr "পরিচিত ব্যক্তি নির্বাচ করুন..." + #: ../nothere/data/GNOME_NotHere_Applet.server.in.in.h:1 msgid "Presence" msgstr "উপস্থিতি" @@ -1069,23 +1551,23 @@ msgstr "উপস্থিতি" msgid "Set your own presence" msgstr "নিজের উপস্থিতি সংক্রান্ত তথ্য নির্ধারণ করুন" -#: ../src/empathy.c:380 +#: ../src/empathy.c:478 msgid "Don't connect on startup" msgstr "প্রারম্ভে সংযোগ স্থাপন করা হবে না" -#: ../src/empathy.c:384 +#: ../src/empathy.c:482 msgid "Don't show the contact list on startup" msgstr "প্রারম্ভকালে পরিচিত ব্যক্তিদের তালিকা প্রদর্শন করা হবে না" -#: ../src/empathy.c:388 +#: ../src/empathy.c:486 msgid "Show the accounts dialog" msgstr "অ্যাকাউন্ট সংক্রান্ত ডায়লগ প্রদর্শন করা হবে" -#: ../src/empathy.c:400 +#: ../src/empathy.c:498 msgid "- Empathy Instant Messenger" msgstr "- Empathy Instant Messenger" -#: ../src/empathy-about-dialog.c:84 +#: ../src/empathy-about-dialog.c:83 msgid "" "Empathy is free software; you can redistribute it and/or modify it under the " "terms of the GNU General Public License as published by the Free Software " @@ -1097,7 +1579,7 @@ msgstr "" "Foundation; either version 2 of the License, or (at your option) any later " "version." -#: ../src/empathy-about-dialog.c:88 +#: ../src/empathy-about-dialog.c:87 msgid "" "Empathy is distributed in the hope that it will be useful, but WITHOUT ANY " "WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS " @@ -1109,7 +1591,7 @@ msgstr "" "FOR A PARTICULAR PURPOSE. See the GNU General Public License for more " "details." -#: ../src/empathy-about-dialog.c:92 +#: ../src/empathy-about-dialog.c:91 msgid "" "You should have received a copy of the GNU General Public License along with " "Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " @@ -1119,30 +1601,29 @@ msgstr "" "Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " "Street, Fifth Floor, Boston, MA 02110-130159 USA" -#: ../src/empathy-about-dialog.c:120 +#: ../src/empathy-about-dialog.c:119 msgid "An Instant Messaging client for GNOME" -msgstr "" +msgstr "GNOME-র সাথে ব্যবহারযোগ্য ইনস্ট্যান্ট মেসেজিং ক্লায়েন্ট" -#: ../src/empathy-about-dialog.c:126 +#: ../src/empathy-about-dialog.c:125 msgid "translator-credits" msgstr "রুণা ভট্টাচার্য্য (runab@redhat.com)" -#: ../src/empathy-accounts-dialog.c:389 +#: ../src/empathy-accounts-dialog.c:393 msgid "Enabled" msgstr "সক্রিয়" -#: ../src/empathy-accounts-dialog.c:399 -#: ../src/empathy-accounts-dialog.glade.h:4 +#: ../src/empathy-accounts-dialog.c:403 ../src/empathy-accounts-dialog.ui.h:1 msgid "Accounts" msgstr "অ্যাকাউন্ট" #. To translator: %s is the protocol name -#: ../src/empathy-accounts-dialog.c:862 +#: ../src/empathy-accounts-dialog.c:837 #, c-format msgid "New %s account" msgstr "নতুন %s অ্যাকাউন্ট" -#: ../src/empathy-accounts-dialog.c:972 +#: ../src/empathy-accounts-dialog.c:950 #, c-format msgid "" "You are about to remove your %s account!\n" @@ -1151,7 +1632,7 @@ msgstr "" "আপনি %s অ্যাকাউন্টটি মুছে ফেলতে চলেছেন!\n" "আপনি কি নিশ্চিতরূপে এগিয়ে যেতে ইচ্ছুক?" -#: ../src/empathy-accounts-dialog.c:978 +#: ../src/empathy-accounts-dialog.c:956 msgid "" "Any associated conversations and chat rooms will NOT be removed if you " "decide to proceed.\n" @@ -1160,589 +1641,1055 @@ msgid "" "be available." msgstr "" -#: ../src/empathy-accounts-dialog.glade.h:1 -msgid "New Account" -msgstr "নতুন অ্যাকাউন্ট" - -#: ../src/empathy-accounts-dialog.glade.h:2 -msgid "No protocol installed" -msgstr "কোনো প্রোটোকল ইনস্টল করা হয়নি" - -#: ../src/empathy-accounts-dialog.glade.h:3 -msgid "Settings" -msgstr "বিবিধ বৈশিষ্ট্য" +#: ../src/empathy-accounts-dialog.ui.h:2 +#, fuzzy +msgid "Add Account" +msgstr "অ্যাকাউন্ট" -#: ../src/empathy-accounts-dialog.glade.h:5 +#: ../src/empathy-accounts-dialog.ui.h:3 msgid "Cr_eate" msgstr "নির্মাণ করুন (_e)" -#: ../src/empathy-accounts-dialog.glade.h:6 -msgid "I already have an account I want to use" -msgstr "ব্যবহারযোগ্য আমার একটি অ্যাকাউন্ট বর্তমান উপস্থিত রয়েছে" +#: ../src/empathy-accounts-dialog.ui.h:4 +#, fuzzy +msgid "Gmail" +msgstr "ই-মেইল:" + +#: ../src/empathy-accounts-dialog.ui.h:5 +msgid "Import Accounts..." +msgstr "অ্যাকাউন্ট ইম্পোর্ট করুন..." + +#: ../src/empathy-accounts-dialog.ui.h:6 +#, fuzzy +msgid "No protocol installed" +msgstr "কোনো প্রোটোকল ইনস্টল করা হয়নি" -#: ../src/empathy-accounts-dialog.glade.h:7 +#: ../src/empathy-accounts-dialog.ui.h:7 +#, fuzzy +msgid "Settings" +msgstr "বিবিধ বৈশিষ্ট্য" + +#: ../src/empathy-accounts-dialog.ui.h:8 msgid "" "To add a new account, you first have to install a backend for each protocol " "you want to use." -msgstr "নতুন অ্যাকাউন্ট যোগ করার জন্য, প্রথমে ব্যবহারযোগ্য প্রতিটি প্রোটোকলের জন্য একটি ব্যাক-এন্ড ইনস্টল করা আবশ্যক।" +msgstr "" +"নতুন অ্যাকাউন্ট যোগ করার জন্য, প্রথমে ব্যবহারযোগ্য প্রতিটি প্রোটোকলের জন্য একটি ব্যাক-" +"এন্ড ইনস্টল করা আবশ্যক।" -#: ../src/empathy-accounts-dialog.glade.h:8 +#: ../src/empathy-accounts-dialog.ui.h:9 msgid "Type:" msgstr "প্রকৃতি:" -#: ../src/empathy-call-window.c:142 -msgid "Closed" -msgstr "বন্ধ" - -#: ../src/empathy-call-window.c:254 -msgid "End this call?" -msgstr "" +#: ../src/empathy-accounts-dialog.ui.h:10 +#, fuzzy +msgid "_Add..." +msgstr "পরিচিত ব্যক্তির তথ্য যোগ করুন... (_A)" -#: ../src/empathy-call-window.c:256 -msgid "Closing this window will end the call in progress." -msgstr "" +#: ../src/empathy-accounts-dialog.ui.h:11 +#, fuzzy +msgid "_Create a new account" +msgstr "নতুন IRC নেটওয়ার্ক নির্মাণ করুন" -#: ../src/empathy-call-window.c:257 -msgid "_End Call" -msgstr "" +#: ../src/empathy-accounts-dialog.ui.h:12 +#, fuzzy +msgid "_Reuse an existing account" +msgstr "অ্যাকাউন্ট প্রদর্শন ও সম্পাদনা" -#: ../src/empathy-call-window.c:311 -msgid "Incoming call" -msgstr "" +#: ../src/empathy-call-window.c:63 +msgid "Connecting..." +msgstr "সংযোগ স্থাপন করা হচ্ছে..." -#: ../src/empathy-call-window.c:313 -#, c-format -msgid "%s is calling you, do you want to answer?" -msgstr "" +#: ../src/empathy-call-window.c:415 +msgid "Contrast" +msgstr "বৈপরিত্য" -#: ../src/empathy-call-window.c:319 -msgid "_Reject" -msgstr "প্রত্যাখ্যান করুন (_R)" +#: ../src/empathy-call-window.c:418 +msgid "Brightness" +msgstr "উজ্জ্বলতা" -#: ../src/empathy-call-window.c:324 -msgid "_Answer" -msgstr "উত্তর দিন (_A)" +#: ../src/empathy-call-window.c:421 +msgid "Gamma" +msgstr "গামা" -#: ../src/empathy-call-window.c:379 -msgid "Empathy Call" -msgstr "" +#: ../src/empathy-call-window.c:526 +msgid "Volume" +msgstr "আওয়াজ" -#. To translators: Readying is the first state of the call, it is -#. * preparing the connection and it does not yet ring. -#: ../src/empathy-call-window.c:382 -msgid "Readying" -msgstr "প্রস্তুত করা হচ্ছে" +#: ../src/empathy-call-window.c:728 +msgid "_Sidebar" +msgstr "সাইড-বার (_S)" -#: ../src/empathy-call-window.c:391 -#, c-format -msgid "%s - Empathy Call" -msgstr "" +#: ../src/empathy-call-window.c:747 +msgid "Dialpad" +msgstr "ডায়াল-প্যাড" -#: ../src/empathy-call-window.c:395 -msgid "Ringing" -msgstr "ঘন্টি বাজছে" +#: ../src/empathy-call-window.c:753 +msgid "Audio input" +msgstr "অডিও ইনপুট" -#: ../src/empathy-call-window.c:408 -msgid "Connecting" -msgstr "সংযোগ স্থাপন করা হচ্ছে" +#: ../src/empathy-call-window.c:757 +msgid "Video input" +msgstr "ভিডিও ইনপুট" -#: ../src/empathy-call-window.c:524 +#: ../src/empathy-call-window.c:820 #, c-format -msgid "Incoming call from %s rejected because there is already a running call." +msgid "Call with %s" msgstr "" -#: ../src/empathy-call-window.glade.h:1 -msgid "#" -msgstr "#" +#: ../src/empathy-call-window.c:889 +#, fuzzy +msgid "Call" +msgstr "ডেকে নিন (_C)" -#: ../src/empathy-call-window.glade.h:2 -msgid "*" -msgstr "*" +#. Translators: number of minutes:seconds the caller has been connected +#: ../src/empathy-call-window.c:1308 +#, fuzzy, c-format +msgid "Connected — %d:%02dm" +msgstr "সংযুক্ত -- %d:%02dm" -#: ../src/empathy-call-window.glade.h:3 -msgid "0" -msgstr "০" +#: ../src/empathy-call-window.ui.h:1 +msgid "Hang up" +msgstr "" -#: ../src/empathy-call-window.glade.h:4 -msgid "1" -msgstr "১" +#: ../src/empathy-call-window.ui.h:2 +msgid "Redial" +msgstr "" -#: ../src/empathy-call-window.glade.h:5 -msgid "2" -msgstr "২" +#: ../src/empathy-call-window.ui.h:3 +msgid "Send Audio" +msgstr "অডিও পাঠান" -#: ../src/empathy-call-window.glade.h:6 -msgid "3" -msgstr "৩" +#: ../src/empathy-call-window.ui.h:4 +msgid "Send video" +msgstr "ভিডিও পাঠান" -#: ../src/empathy-call-window.glade.h:7 -msgid "4" -msgstr "৪" +#: ../src/empathy-call-window.ui.h:5 +msgid "Video preview" +msgstr "ভিডিওর পূর্বদৃশ্য" -#: ../src/empathy-call-window.glade.h:8 -msgid "5" -msgstr "৫" +#: ../src/empathy-call-window.ui.h:6 +msgid "_Call" +msgstr "ডেকে নিন (_C)" -#: ../src/empathy-call-window.glade.h:9 -msgid "6" -msgstr "৬" +#: ../src/empathy-call-window.ui.h:7 ../src/empathy-main-window.ui.h:21 +msgid "_View" +msgstr "প্রদর্শন (_V)" -#: ../src/empathy-call-window.glade.h:10 -msgid "7" -msgstr "৭" +#: ../src/empathy-chat-window.c:343 +#, c-format +msgid "Conversations (%d)" +msgstr "আলাপন (%d)" -#: ../src/empathy-call-window.glade.h:11 -msgid "8" -msgstr "৮" +#: ../src/empathy-chat-window.c:475 +msgid "Typing a message." +msgstr "বার্তা লেখা হচ্ছে।" -#: ../src/empathy-call-window.glade.h:12 -msgid "9" -msgstr "৯" +#: ../src/empathy-chatrooms-window.c:258 +msgid "Name" +msgstr "নাম" -#. To translators: The keypad is numbers [0-9], asterisk (*) and hash (#). Presented like on any phone -#: ../src/empathy-call-window.glade.h:14 -msgid "Keypad" -msgstr "কি-প্যাড" +#: ../src/empathy-chatrooms-window.c:276 +msgid "Room" +msgstr "রুম" -#: ../src/empathy-call-window.glade.h:15 -msgid "Volume" -msgstr "আওয়াজ" +#: ../src/empathy-chatrooms-window.c:285 +msgid "Auto-Connect" +msgstr "স্বয়ংক্রিয়-সংযোগ" -#: ../src/empathy-call-window.glade.h:16 -msgid "Hang Up" +#: ../src/empathy-chatrooms-window.ui.h:2 +msgid "Manage Favorite Rooms" msgstr "" -#: ../src/empathy-call-window.glade.h:17 -msgid "Send Video" -msgstr "ভিডিও পাঠান" +#: ../src/empathy-event-manager.c:377 +msgid "Incoming call" +msgstr "আগমনকারী কল" -#: ../src/empathy-chat-window.c:319 +#: ../src/empathy-event-manager.c:380 #, c-format -msgid "Conversations (%d)" +msgid "%s is calling you, do you want to answer?" msgstr "" -#: ../src/empathy-chat-window.c:397 -msgid "Topic:" -msgstr "বিষয়:" +#: ../src/empathy-event-manager.c:387 +msgid "_Reject" +msgstr "প্রত্যাখ্যান করুন (_R)" -#: ../src/empathy-chat-window.c:400 -msgid "Typing a message." -msgstr "বার্তা লেখা হচ্ছে।" +#: ../src/empathy-event-manager.c:393 +msgid "_Answer" +msgstr "উত্তর দিন (_A)" -#: ../src/empathy-chat-window.glade.h:1 -msgid "C_lear" -msgstr "মুছে ফেলুন (_l)" +#: ../src/empathy-event-manager.c:505 +#, c-format +msgid "Incoming call from %s" +msgstr "%s থেকে আগমনকারী কল" -#: ../src/empathy-chat-window.glade.h:3 -msgid "Insert _Smiley" -msgstr "স্মাইলি যোগ করুন (_S)" +#: ../src/empathy-event-manager.c:545 +#, c-format +msgid "%s is offering you an invitation" +msgstr "%s আপনাকে আমন্ত্রণ জানাচ্ছেন" -#: ../src/empathy-chat-window.glade.h:4 -msgid "Invitation _message:" -msgstr "আমন্ত্রণ বার্তা: (_m)" +#: ../src/empathy-event-manager.c:551 +msgid "An external application will be started to handle it." +msgstr "এটি পরিচালনার জন্য একটি বহিস্থিত অ্যাপ্লিকেশন আরম্ভ করা হবে।" -#: ../src/empathy-chat-window.glade.h:5 -msgid "Invite" -msgstr "আমন্ত্রণ করুন" +#: ../src/empathy-event-manager.c:556 +msgid "You don't have the needed external application to handle it." +msgstr "এটি পরিচালনার জন্য বহিস্থিত অ্যাপ্লিকেশনের প্রয়োজন নেই।" -#: ../src/empathy-chat-window.glade.h:6 -msgid "Move Tab _Left" -msgstr "ট্যাব বাঁদিকে সরিয়ে নিন (_L)" +#: ../src/empathy-event-manager.c:683 +msgid "Room invitation" +msgstr "রুমের আমন্ত্রণ" -#: ../src/empathy-chat-window.glade.h:7 -msgid "Move Tab _Right" -msgstr "ট্যাব ডানদিকে সরিয়ে নিন (_R)" +#: ../src/empathy-event-manager.c:686 +#, c-format +msgid "%s is inviting you to join %s" +msgstr "%s আপনাকে %s-এ আমন্ত্রণ জানাচ্ছেন" -#: ../src/empathy-chat-window.glade.h:8 -msgid "Select who would you like to invite:" -msgstr "আমন্ত্রিতদের তালিকা তৈরি করুন:" +#: ../src/empathy-event-manager.c:694 +msgid "_Decline" +msgstr "প্রত্যাখ্যান করুন (_D)" -#: ../src/empathy-chat-window.glade.h:9 -msgid "You have been invited to join a chat conference." -msgstr "" +#: ../src/empathy-event-manager.c:699 +#: ../src/empathy-new-chatroom-dialog.ui.h:7 +msgid "_Join" +msgstr "যোগ দিন (_J)" -#: ../src/empathy-chat-window.glade.h:10 -msgid "_Contact" -msgstr "পরিচিত ব্যক্তি (_C)" +#: ../src/empathy-event-manager.c:738 +#, c-format +msgid "%s invited you to join %s" +msgstr "%s আপনাকে %s-এ আমন্ত্রণ জানিয়েছেন" -#: ../src/empathy-chat-window.glade.h:11 ../src/empathy-main-window.glade.h:10 -msgid "_Contents" -msgstr "সূচী (_C)" +#: ../src/empathy-event-manager.c:764 +#, c-format +msgid "Incoming file transfer from %s" +msgstr "" -#: ../src/empathy-chat-window.glade.h:12 -msgid "_Conversation" +#: ../src/empathy-event-manager.c:944 +#, c-format +msgid "Subscription requested by %s" +msgstr "%s দ্বারা অনুরোধ করা সাবস্ক্রিপশন" + +#: ../src/empathy-event-manager.c:948 +#, c-format +msgid "" +"\n" +"Message: %s" msgstr "" +"\n" +"বার্তা: %s" -#: ../src/empathy-chat-window.glade.h:13 -msgid "_Detach Tab" -msgstr "ট্যাব বিচ্ছিন্ন করুন (_D)" +#. Translators: time left, when it is more than one hour +#: ../src/empathy-ft-manager.c:101 +#, c-format +msgid "%u:%02u.%02u" +msgstr "%u:%02u.%02u" -#: ../src/empathy-chat-window.glade.h:15 ../src/empathy-main-window.glade.h:12 -msgid "_Help" -msgstr "সাহায্য (_H)" +#. Translators: time left, when is is less than one hour +#: ../src/empathy-ft-manager.c:104 +#, c-format +msgid "%02u.%02u" +msgstr "%02u.%02u" -#: ../src/empathy-chat-window.glade.h:16 -msgid "_Next Tab" -msgstr "পরবর্তী ট্যাব (_N)" +#: ../src/empathy-ft-manager.c:180 +msgctxt "file transfer percent" +msgid "Unknown" +msgstr "অজানা" -#: ../src/empathy-chat-window.glade.h:17 -msgid "_Previous Tab" -msgstr "পূর্ববর্তী ট্যাব (_P)" +#: ../src/empathy-ft-manager.c:275 +#, fuzzy, c-format +msgid "%s of %s at %s/s" +msgstr "%s, সর্বমোট %s" -#: ../src/empathy-chat-window.glade.h:18 -msgid "_Tabs" -msgstr "ট্যাব (_T)" +#: ../src/empathy-ft-manager.c:276 +#, c-format +msgid "%s of %s" +msgstr "%s, সর্বমোট %s" -#: ../src/empathy-chatrooms-window.c:262 -msgid "Name" -msgstr "নাম" +#. translators: first %s is filename, second %s is the contact name +#: ../src/empathy-ft-manager.c:307 +#, c-format +msgid "Receiving \"%s\" from %s" +msgstr "\"%s\" প্রাপ্ত করা হচ্ছে, %s থেকে" -#: ../src/empathy-chatrooms-window.c:280 -msgid "Room" -msgstr "" +#. translators: first %s is filename, second %s is the contact name +#: ../src/empathy-ft-manager.c:310 +#, c-format +msgid "Sending \"%s\" to %s" +msgstr "\"%s\" পাঠানো হচ্ছে, %s-কে" -#: ../src/empathy-chatrooms-window.c:289 -msgid "Auto-Connect" -msgstr "স্বয়ংক্রিয়-সংযোগ" +#. translators: first %s is filename, second %s +#. * is the contact name +#: ../src/empathy-ft-manager.c:340 +#, fuzzy, c-format +msgid "Error receiving \"%s\" from %s" +msgstr "\"%s\" প্রাপ্ত করা হচ্ছে, %s থেকে" -#: ../src/empathy-chatrooms-window.glade.h:2 -msgid "Edit Favorite Room" +#: ../src/empathy-ft-manager.c:343 +msgid "Error receiving a file" msgstr "" -#: ../src/empathy-chatrooms-window.glade.h:3 -msgid "Join room on start_up" -msgstr "" +#: ../src/empathy-ft-manager.c:348 +#, fuzzy, c-format +msgid "Error sending \"%s\" to %s" +msgstr "\"%s\" পাঠানো হচ্ছে, %s-কে" -#: ../src/empathy-chatrooms-window.glade.h:4 -msgid "Join this chat room when Empathy starts and you are connected" -msgstr "" +#: ../src/empathy-ft-manager.c:351 +#, fuzzy +msgid "Error sending a file" +msgstr "'%s' বার্তা পাঠাতে সমস্যা: %s" -#: ../src/empathy-chatrooms-window.glade.h:5 -msgid "Manage Favorite Rooms" -msgstr "" +#. translators: first %s is filename, second %s +#. * is the contact name +#: ../src/empathy-ft-manager.c:490 +#, c-format +msgid "\"%s\" received from %s" +msgstr "\"%s\" প্রাপ্ত হয়েছে, %s থেকে" -#: ../src/empathy-chatrooms-window.glade.h:6 -msgid "N_ame:" -msgstr "নাম: (_a)" +#. translators: first %s is filename, second %s +#. * is the contact name +#: ../src/empathy-ft-manager.c:495 +#, c-format +msgid "\"%s\" sent to %s" +msgstr "\"%s\" প্রেরিত হয়েছে, %s-কে" -#: ../src/empathy-chatrooms-window.glade.h:7 -msgid "S_erver:" -msgstr "সার্ভার: (_e)" +#: ../src/empathy-ft-manager.c:498 +msgid "File transfer completed" +msgstr "ফাইল বিনিময় সম্পূর্ণ হয়েছে" -#: ../src/empathy-chatrooms-window.glade.h:9 -#: ../src/empathy-new-chatroom-dialog.glade.h:9 -msgid "_Room:" -msgstr "" +#: ../src/empathy-ft-manager.c:617 ../src/empathy-ft-manager.c:784 +#, fuzzy +msgid "Waiting for the other participant's response" +msgstr "অন্য ব্যবহারকারীর প্রতিক্রিয়ার অপেক্ষা করা হচ্ছে" -#: ../src/empathy-event-manager.c:166 +#: ../src/empathy-ft-manager.c:643 ../src/empathy-ft-manager.c:681 #, c-format -msgid "" -"New message from %s:\n" -"%s" +msgid "Checking integrity of \"%s\"" msgstr "" -"%s থেকে প্রাপ্ত নতুন বার্তা:\n" -"%s" -#: ../src/empathy-event-manager.c:205 +#: ../src/empathy-ft-manager.c:646 ../src/empathy-ft-manager.c:684 #, c-format -msgid "Incoming call from %s" +msgid "Hashing \"%s\"" msgstr "" -#: ../src/empathy-event-manager.c:238 -#, c-format -msgid "" -"%s is offering you an invitation, but you don't have the needed external " -"application to handle it." -msgstr "" +#: ../src/empathy-ft-manager.c:1024 +msgid "%" +msgstr "%" -#: ../src/empathy-event-manager.c:263 -msgid "Invitation Error" -msgstr "আমন্ত্রণ সংক্রান্ত ত্রুটি" +#: ../src/empathy-ft-manager.c:1036 +msgid "File" +msgstr "ফাইল" -#: ../src/empathy-event-manager.c:289 -#, c-format -msgid "" -"%s is offering you an invitation. An external application will be started to " -"handle it." -msgstr "" +#: ../src/empathy-ft-manager.c:1058 +msgid "Remaining" +msgstr "অবশিষ্ট" -#: ../src/empathy-event-manager.c:345 -#, c-format -msgid "Subscription requested by %s" +#: ../src/empathy-ft-manager.ui.h:1 +#, fuzzy +msgid "File Transfers" +msgstr "ফাইল বিনিময়" + +#: ../src/empathy-ft-manager.ui.h:2 +msgid "Remove completed, canceled and failed file transfers from the list" msgstr "" -#: ../src/empathy-event-manager.c:348 -#, c-format +#. Translators: this is the header of a treeview column +#: ../src/empathy-import-dialog.c:259 +msgid "Import" +msgstr "ইম্পোর্ট" + +#: ../src/empathy-import-dialog.c:268 +msgid "Protocol" +msgstr "প্রোটোকল" + +#: ../src/empathy-import-dialog.c:294 +msgid "Source" +msgstr "উৎসস্থল" + +#: ../src/empathy-import-dialog.c:388 msgid "" -"\n" -"Message: %s" +"No accounts to import could be found. Empathy currently only supports " +"importing accounts from Pidgin." msgstr "" -"\n" -"বার্তা: %s" -#: ../src/empathy-main-window.c:466 -msgid "Show and edit accounts" -msgstr "অ্যাকাউন্ট প্রদর্শন ও সম্পাদনা" +#: ../src/empathy-import-dialog.ui.h:1 +msgid "Import Accounts" +msgstr "অ্যাকাউন্ট ইম্পোর্ট করুন" -#: ../src/empathy-main-window.c:836 -msgid "Contact" -msgstr "পরিচিত ব্যক্তি" - -#: ../src/empathy-main-window.c:1038 +#: ../src/empathy-main-window.c:395 msgid "_Edit account" msgstr "অ্যাকাউন্ট সম্পাদনা (_E)" -#: ../src/empathy-main-window.c:1121 +#: ../src/empathy-main-window.c:498 msgid "No error specified" msgstr "ত্রুটি নির্ধারিত হয়নি" -#: ../src/empathy-main-window.c:1124 +#: ../src/empathy-main-window.c:501 msgid "Network error" msgstr "নেটওয়ার্ক সংক্রান্ত ত্রুটি" -#: ../src/empathy-main-window.c:1127 +#: ../src/empathy-main-window.c:504 msgid "Authentication failed" msgstr "অনুমোদন ব্যর্থ" -#: ../src/empathy-main-window.c:1130 +#: ../src/empathy-main-window.c:507 msgid "Encryption error" msgstr "এনক্রিপশন সংক্রান্ত ত্রুটি" -#: ../src/empathy-main-window.c:1133 +#: ../src/empathy-main-window.c:510 msgid "Name in use" msgstr "নাম বর্তমানে ব্যবহৃত হচ্ছে" -#: ../src/empathy-main-window.c:1136 +#: ../src/empathy-main-window.c:513 msgid "Certificate not provided" msgstr "সার্টিফিকেট উপলব্ধ করা হয়নি" -#: ../src/empathy-main-window.c:1139 +#: ../src/empathy-main-window.c:516 msgid "Certificate untrusted" msgstr "সার্টিফিকেট বিশ্বস্ত নয়" -#: ../src/empathy-main-window.c:1142 +#: ../src/empathy-main-window.c:519 msgid "Certificate expired" msgstr "সার্টিফিকেটের মেয়াদ উত্তীর্ণ হয়েছে" -#: ../src/empathy-main-window.c:1145 +#: ../src/empathy-main-window.c:522 msgid "Certificate not activated" msgstr "সার্টিফিকেট সক্রিয় করা হয়নি" -#: ../src/empathy-main-window.c:1148 +#: ../src/empathy-main-window.c:525 msgid "Certificate hostname mismatch" msgstr "সার্টিফিকেটের হোস্টনেম-এ গরমিল" -#: ../src/empathy-main-window.c:1151 +#: ../src/empathy-main-window.c:528 msgid "Certificate fingerprint mismatch" msgstr "সার্টিফিকেটের ফিনঙ্গারপ্রিন্ট-এ গরমিল" -#: ../src/empathy-main-window.c:1154 +#: ../src/empathy-main-window.c:531 msgid "Certificate self-signed" msgstr "স্বয়ং স্বাক্ষরিত সার্টিফিকেট" -#: ../src/empathy-main-window.c:1157 +#: ../src/empathy-main-window.c:534 msgid "Certificate error" msgstr "সার্টিফিকেট সংক্রান্ত ত্রুটি" -#: ../src/empathy-main-window.c:1160 +#: ../src/empathy-main-window.c:537 msgid "Unknown error" msgstr "অজানা ত্রুটি" -#: ../src/empathy-main-window.glade.h:1 +#: ../src/empathy-main-window.c:1220 +msgid "Show and edit accounts" +msgstr "অ্যাকাউন্ট প্রদর্শন ও সম্পাদনা" + +#: ../src/empathy-main-window.ui.h:1 ../src/empathy-preferences.ui.h:10 msgid "Contact List" msgstr "পরিচিত ব্যক্তিদের তালিকা" -#: ../src/empathy-main-window.glade.h:2 +#: ../src/empathy-main-window.ui.h:2 +msgid "Contacts on a _Map" +msgstr "" + +#: ../src/empathy-main-window.ui.h:3 msgid "Context" msgstr "প্রসঙ্গ" -#: ../src/empathy-main-window.glade.h:3 +#: ../src/empathy-main-window.ui.h:4 msgid "Join _Favorites" -msgstr "" - -#: ../src/empathy-main-window.glade.h:4 -msgid "Join _New..." -msgstr "" +msgstr "জনপ্রিয়গুলিতে যোগ দিন (_F)" -#: ../src/empathy-main-window.glade.h:5 +#: ../src/empathy-main-window.ui.h:5 msgid "Manage Favorites" -msgstr "" - -#: ../src/empathy-main-window.glade.h:6 -msgid "Show _Offline Contacts" -msgstr "" +msgstr "জনপ্রিয় মান পরিচালনা" -#: ../src/empathy-main-window.glade.h:7 +#: ../src/empathy-main-window.ui.h:6 msgid "_Accounts" msgstr "অ্যাকাউন্ট তালিকা (_A)" -#: ../src/empathy-main-window.glade.h:8 +#: ../src/empathy-main-window.ui.h:7 msgid "_Add Contact..." msgstr "পরিচিত ব্যক্তির তথ্য যোগ করুন... (_A)" -#: ../src/empathy-main-window.glade.h:13 ../src/empathy-status-icon.glade.h:2 -msgid "_New Conversation..." +#: ../src/empathy-main-window.ui.h:9 +msgid "_Contents" +msgstr "সূচী (_C)" + +#: ../src/empathy-main-window.ui.h:10 +msgid "_Debug" msgstr "" -#: ../src/empathy-main-window.glade.h:14 +#: ../src/empathy-main-window.ui.h:12 +#, fuzzy +msgid "_File Transfers" +msgstr "ফাইল বিনিময়" + +#: ../src/empathy-main-window.ui.h:13 +msgid "_Help" +msgstr "সাহায্য (_H)" + +#: ../src/empathy-main-window.ui.h:14 +#, fuzzy +msgid "_Join..." +msgstr "যোগ দিন (_J)" + +#: ../src/empathy-main-window.ui.h:15 ../src/empathy-status-icon.ui.h:2 +msgid "_New Conversation..." +msgstr "নতুন আলাপন...(_N)" + +#: ../src/empathy-main-window.ui.h:16 +#, fuzzy +msgid "_Offline Contacts" +msgstr "অফ-লাইন পরিচিতিদের তথ্য প্রকাশ করা হবে (_O)" + +#: ../src/empathy-main-window.ui.h:17 msgid "_Personal Information" msgstr "ব্যক্তিগত তথ্য (_P)" -#: ../src/empathy-main-window.glade.h:16 +#: ../src/empathy-main-window.ui.h:19 +#, fuzzy +msgid "_Previous Conversations" +msgstr "পূর্ববর্তী আলাপন" + +#: ../src/empathy-main-window.ui.h:20 msgid "_Room" +msgstr "রুম (_R)" + +#: ../src/empathy-new-chatroom-dialog.c:332 +#, fuzzy +msgid "Chat Room" +msgstr "চ্যাট রুম" + +#: ../src/empathy-new-chatroom-dialog.c:348 +#, fuzzy +msgid "Members" +msgstr "থিম" + +#: ../src/empathy-new-chatroom-dialog.c:492 +#, c-format +msgctxt "" +"Room/Join's roomlist tooltip. Parametersare a channel name, yes/no, yes/no " +"and a number." +msgid "" +"%s\n" +"Invite required: %s\n" +"Password required: %s\n" +"Members: %s" msgstr "" -#: ../src/empathy-new-chatroom-dialog.c:290 -msgid "Chat Rooms" +#: ../src/empathy-new-chatroom-dialog.c:494 +#: ../src/empathy-new-chatroom-dialog.c:495 +msgid "Yes" msgstr "" -#: ../src/empathy-new-chatroom-dialog.glade.h:2 -msgid "Browse:" -msgstr "ব্রাউজ করুন:" +#: ../src/empathy-new-chatroom-dialog.c:494 +#: ../src/empathy-new-chatroom-dialog.c:495 +msgid "No" +msgstr "" + +#: ../src/empathy-new-chatroom-dialog.c:522 +msgid "Could not start room listing" +msgstr "" -#: ../src/empathy-new-chatroom-dialog.glade.h:3 -msgid "Enter the room name to join here or click on one or more rooms in the list." +#: ../src/empathy-new-chatroom-dialog.c:532 +msgid "Could not stop room listing" msgstr "" -#: ../src/empathy-new-chatroom-dialog.glade.h:4 +#: ../src/empathy-new-chatroom-dialog.ui.h:2 +msgid "Couldn't load room list" +msgstr "" + +#: ../src/empathy-new-chatroom-dialog.ui.h:3 +msgid "" +"Enter the room name to join here or click on one or more rooms in the list." +msgstr "" + +#: ../src/empathy-new-chatroom-dialog.ui.h:4 msgid "" "Enter the server which hosts the room, or leave it empty if the room is on " "the current account's server" msgstr "" -#: ../src/empathy-new-chatroom-dialog.glade.h:5 -msgid "Join" -msgstr "যোগ দিন" +#: ../src/empathy-new-chatroom-dialog.ui.h:5 +#, fuzzy +msgid "Join Room" +msgstr "রুম" -#: ../src/empathy-new-chatroom-dialog.glade.h:6 -msgid "Join New" -msgstr "নতুনে যোগ দিন" +#: ../src/empathy-new-chatroom-dialog.ui.h:6 +#, fuzzy +msgid "Room List" +msgstr "রুম তালিকার লোকেইল: (_R)" -#: ../src/empathy-new-chatroom-dialog.glade.h:7 -msgid "Re_fresh" -msgstr "নতুন করে প্রদর্শন (_f)" +#: ../src/empathy-new-chatroom-dialog.ui.h:8 +msgid "_Room:" +msgstr "রুম: (_R)" -#: ../src/empathy-new-chatroom-dialog.glade.h:8 -msgid "This list represents all chat rooms hosted on the server you have entered." -msgstr "" +#: ../src/empathy-preferences.c:159 +msgid "Message received" +msgstr "প্রাপ্ত বার্তা" -#: ../src/empathy-preferences.c:264 -msgid "Language" -msgstr "ভাষা" +#: ../src/empathy-preferences.c:160 +msgid "Message sent" +msgstr "বার্তা পাঠানো হয়েছে" -#: ../src/empathy-preferences.glade.h:1 -msgid "Appearance" -msgstr "চেহারা ছবি" +#: ../src/empathy-preferences.c:161 +msgid "New conversation" +msgstr "নতুন আলাপন" -#. To translators: Audio notifications preferences -#: ../src/empathy-preferences.glade.h:3 -msgid "Audio" -msgstr "অডিও" +#: ../src/empathy-preferences.c:162 +msgid "Contact goes online" +msgstr "পরিচিতি অন-লাইন এসেছেন" -#: ../src/empathy-preferences.glade.h:4 -msgid "Behaviour" -msgstr "আচরণ" +#: ../src/empathy-preferences.c:163 +msgid "Contact goes offline" +msgstr "পরিচিতি অফ-লাইন চলে গেছেন" -#: ../src/empathy-preferences.glade.h:5 -msgid "Contact List" -msgstr "পরিচিতদের তালিকা" +#: ../src/empathy-preferences.c:164 +msgid "Account connected" +msgstr "অ্যাকাউন্ট সংযুক্ত করা হয়েছে" -#: ../src/empathy-preferences.glade.h:6 -msgid "Enable spell checking for languages:" -msgstr "চিহ্নিত ভাষাগুলির জন্য বানান পরীক্ষণ সক্রিয় করা হবে:" +#: ../src/empathy-preferences.c:165 +msgid "Account disconnected" +msgstr "অ্যাকাউন্টের সাথে সংযোগ বিচ্ছিন্ন করা হয়েছে" + +#: ../src/empathy-preferences.c:432 +msgid "Language" +msgstr "ভাষা" -#. To translators: Visual notifications preferences, like notify bubbles, etc. -#: ../src/empathy-preferences.glade.h:8 -msgid "Visual" +#: ../src/empathy-preferences.ui.h:1 +msgid "Adium theme to use:" msgstr "" -#: ../src/empathy-preferences.glade.h:9 -msgid "" -"The list of languages reflects only the languages for which you have " -"a dictionary installed." +#: ../src/empathy-preferences.ui.h:2 +msgid "Allow _GPS usage" msgstr "" -#: ../src/empathy-preferences.glade.h:10 +#: ../src/empathy-preferences.ui.h:3 +msgid "Allow _cellphone usage" +msgstr "" + +#: ../src/empathy-preferences.ui.h:4 +msgid "Allow _network usage" +msgstr "" + +#: ../src/empathy-preferences.ui.h:5 +#, fuzzy +msgid "Appearance" +msgstr "চেহারা ছবি" + +#: ../src/empathy-preferences.ui.h:6 msgid "Automatically _connect on startup " msgstr "প্রারম্ভকালে স্বয়ংক্রিয়রূপে সংযোগ স্থাপন করা হবে (_c)" -#: ../src/empathy-preferences.glade.h:11 +#: ../src/empathy-preferences.ui.h:7 msgid "Avatars are user chosen images shown in the contact list" msgstr "" -#: ../src/empathy-preferences.glade.h:12 +#: ../src/empathy-preferences.ui.h:8 +#, fuzzy +msgid "Behavior" +msgstr "আচরণ" + +#: ../src/empathy-preferences.ui.h:9 msgid "Chat Th_eme:" -msgstr "" +msgstr "চ্যাটের থিম: (_e)" + +#: ../src/empathy-preferences.ui.h:11 +msgid "Disable notifications when _away or busy" +msgstr "অনুপস্থিত অথবা ব্যস্ত থাকলে সূচনাপ্রদানের ব্যবস্থা নিষ্ক্রিয় করা হবে (_a)" -#: ../src/empathy-preferences.glade.h:13 -msgid "Display notifications when contacts come _online" -msgstr "পরিচিত ব্যক্তিরা অন-লাইন যোগদান করলে সূচনাবার্তা প্রদর্শিত হবে (_o)" +#: ../src/empathy-preferences.ui.h:12 +msgid "Disable sounds when _away or busy" +msgstr "অনুপস্থিত অথবা ব্যস্ত থাকলে শব্দ নিষ্ক্রিয় করা হবে (_a)" -#: ../src/empathy-preferences.glade.h:14 -msgid "Enable sounds when _away" -msgstr "অনুপস্থিত হলে শব্দ সক্রিয় করা হবে (_a)" +#: ../src/empathy-preferences.ui.h:13 +msgid "Enable notifications when the _chat is not focused" +msgstr "" -#: ../src/empathy-preferences.glade.h:15 -msgid "Enable sounds when _busy" -msgstr "ব্যস্ত অবস্থায় শব্দ সক্রিয় করা হবে (_b)" +#: ../src/empathy-preferences.ui.h:14 +#, fuzzy +msgid "Enable spell checking for languages:" +msgstr "চিহ্নিত ভাষাগুলির জন্য বানান পরীক্ষণ সক্রিয় করা হবে:" -#: ../src/empathy-preferences.glade.h:16 +#: ../src/empathy-preferences.ui.h:15 msgid "General" msgstr "সাধারণ" -#: ../src/empathy-preferences.glade.h:17 +#: ../src/empathy-preferences.ui.h:16 +msgid "Geoclue Settings" +msgstr "" + +#: ../src/empathy-preferences.ui.h:17 +#, fuzzy +msgid "Location" +msgstr "সূচনাবার্তা" + +#: ../src/empathy-preferences.ui.h:18 +msgid "Not a valid adium theme" +msgstr "" + +#: ../src/empathy-preferences.ui.h:19 msgid "Notifications" msgstr "সূচনাবার্তা" -#: ../src/empathy-preferences.glade.h:18 +#: ../src/empathy-preferences.ui.h:20 +#, fuzzy +msgid "Play sound for events" +msgstr "বিভিন্ন ঘটনার জন্য শব্দ বাজানো হবে" + +#: ../src/empathy-preferences.ui.h:21 msgid "Preferences" msgstr "পছন্দ" -#: ../src/empathy-preferences.glade.h:19 +#: ../src/empathy-preferences.ui.h:22 +msgid "Privacy" +msgstr "" + +#: ../src/empathy-preferences.ui.h:23 +msgid "" +"Reduced location accuracy means that nothing more precise than your city, " +"state and country will be published. GPS coordinates will have a random " +"value added (±0.25°)." +msgstr "" + +#: ../src/empathy-preferences.ui.h:24 msgid "Show _avatars" msgstr "অবতারের ছবি প্রদর্শন করা হবে (_a)" -#: ../src/empathy-preferences.glade.h:20 +#: ../src/empathy-preferences.ui.h:25 msgid "Show _smileys as images" msgstr "ছবি রূপে স্মাইলি প্রদর্শন করা হবে (_s)" -#: ../src/empathy-preferences.glade.h:21 +#: ../src/empathy-preferences.ui.h:26 msgid "Show co_mpact contact list" -msgstr "" +msgstr "পরিচিতিদের তালিকা সংকুচন করে প্রদর্শন করা হবে (_m)" + +#: ../src/empathy-preferences.ui.h:27 +#, fuzzy +msgid "Show contact _list in rooms" +msgstr "পরিচিত ব্যক্তিদের তালিকা প্রদর্শন করা হবে (_S)" -#: ../src/empathy-preferences.glade.h:22 +#: ../src/empathy-preferences.ui.h:28 msgid "Sort by _name" msgstr "নাম অনুযায়ী সুবিন্যস্ত করা হবে (_n)" -#: ../src/empathy-preferences.glade.h:23 +#: ../src/empathy-preferences.ui.h:29 msgid "Sort by s_tate" msgstr "অবস্থা অনুযায়ী সুবিন্যস্ত করা হবে (_t)" -#: ../src/empathy-preferences.glade.h:24 +#: ../src/empathy-preferences.ui.h:30 +msgid "Sounds" +msgstr "শব্দ" + +#: ../src/empathy-preferences.ui.h:31 msgid "Spell Checking" msgstr "বানা পরীক্ষণ" -#: ../src/empathy-preferences.glade.h:25 +#: ../src/empathy-preferences.ui.h:32 +msgid "" +"The list of languages reflects only the languages for which you have a " +"dictionary installed." +msgstr "" + +#: ../src/empathy-preferences.ui.h:33 msgid "Themes" msgstr "থিম" -#: ../src/empathy-preferences.glade.h:26 +#: ../src/empathy-preferences.ui.h:34 +msgid "_Enable bubble notifications" +msgstr "বাবল দ্বারা সূচনাপ্রদান সক্রিয় করা হবে (_E)" + +#: ../src/empathy-preferences.ui.h:35 +msgid "_Enable sound notifications" +msgstr "শব্দ দ্বারা সূচনাপ্রদান সক্রিয় করা হবে (_E)" + +#: ../src/empathy-preferences.ui.h:36 msgid "_Open new chats in separate windows" +msgstr "নতুন চ্যাটগুলি পৃথক উইন্ডোর মধ্যে খোলা হবে (_O)" + +#: ../src/empathy-preferences.ui.h:37 +msgid "_Publish location to my contacts" msgstr "" -#: ../src/empathy-preferences.glade.h:27 -msgid "_Play sound when messages arrive" -msgstr "নতুন বার্তা প্রাপ্ত হলে শব্দ বাজানো হবে (_P)" +#: ../src/empathy-preferences.ui.h:38 +msgid "_Reduce location accuracy" +msgstr "" -#: ../src/empathy-status-icon.glade.h:1 +#: ../src/empathy-status-icon.ui.h:1 msgid "Status" msgstr "অবস্থা" -#: ../src/empathy-status-icon.glade.h:3 +#: ../src/empathy-status-icon.ui.h:3 msgid "_Quit" msgstr "প্রস্থান (_Q)" -#: ../src/empathy-status-icon.glade.h:4 +#: ../src/empathy-status-icon.ui.h:4 msgid "_Show Contact List" msgstr "পরিচিত ব্যক্তিদের তালিকা প্রদর্শন করা হবে (_S)" +#: ../src/empathy-tube-dispatch.c:375 +#, c-format +msgid "Unable to start application for service %s: %s" +msgstr "%s পরিসেবার জন্য অ্যাপ্লিকেশন আরম্ভ করতে ব্যর্থ: %s" + +#: ../src/empathy-tube-dispatch.c:446 +#, c-format +msgid "" +"An invitation was offered for service %s, but you don't have the needed " +"application to handle it" +msgstr "" + +#: ../src/empathy-call-window-fullscreen.ui.h:1 +msgid "gtk-leave-fullscreen" +msgstr "" + +#: ../src/empathy-map-view.ui.h:1 +#, fuzzy +msgid "Contact Map View" +msgstr "পরিচিত ব্যক্তিদের তালিকা" + +#: ../src/empathy-debug-dialog.c:111 ../src/empathy-debug-dialog.c:1075 +msgid "Error" +msgstr "" + +#: ../src/empathy-debug-dialog.c:114 ../src/empathy-debug-dialog.c:1069 +#, fuzzy +msgid "Critical" +msgstr "ক্রোয়েশিয়ান" + +#: ../src/empathy-debug-dialog.c:117 ../src/empathy-debug-dialog.c:1063 +#, fuzzy +msgid "Warning" +msgstr "অবশিষ্ট" + +#: ../src/empathy-debug-dialog.c:120 ../src/empathy-debug-dialog.c:1057 +#: ../src/empathy-debug-dialog.c:1105 +#, fuzzy +msgid "Message" +msgstr "বার্তা:" + +#: ../src/empathy-debug-dialog.c:123 ../src/empathy-debug-dialog.c:1051 +msgid "Info" +msgstr "" + +#: ../src/empathy-debug-dialog.c:126 ../src/empathy-debug-dialog.c:1045 +msgid "Debug" +msgstr "" + +#: ../src/empathy-debug-dialog.c:837 +#, fuzzy +msgid "Save" +msgstr "সার্ভার" + +#: ../src/empathy-debug-dialog.c:940 +msgid "Debug Window" +msgstr "" + +#: ../src/empathy-debug-dialog.c:1013 +msgid "Pause" +msgstr "" + +#: ../src/empathy-debug-dialog.c:1025 +msgid "Level " +msgstr "" + +#: ../src/empathy-debug-dialog.c:1094 +#, fuzzy +msgid "Time" +msgstr "সাধারণ" + +#: ../src/empathy-debug-dialog.c:1096 +#, fuzzy +msgid "Domain" +msgstr "রোমেনিয়ান" + +#: ../src/empathy-debug-dialog.c:1098 +msgid "Category" +msgstr "" + +#: ../src/empathy-debug-dialog.c:1100 +msgid "Level" +msgstr "" + +#: ../src/empathy-debug-dialog.c:1132 +msgid "" +"The selected connection manager does not support the remote debugging " +"extension." +msgstr "" + +#~ msgid "Forget password and clear the entry." +#~ msgstr "পাসওয়ার্ড মুছে ফেলা হবে ও এনট্রি পরিশ্রুত করা হবে।" + +#~ msgid "Network" +#~ msgstr "নেটওয়ার্ক" + +#~ msgid "Servers" +#~ msgstr "সার্ভার" + +#~ msgid "Edit the selected IRC network" +#~ msgstr "নির্বাচিত IRC নেটওয়ার্কের বৈশিষ্ট্য পরিবর্তন করুন" + +#~ msgid "Remove the selected IRC network" +#~ msgstr "নির্বাচিত IRC নেটওয়ার্ক মুছে ফেলুন" + +#~ msgid "_Check Word Spelling..." +#~ msgstr "শব্দের বানান পরীক্ষা করুন...(_C)" + +#~ msgid "Topic:" +#~ msgstr "বিষয়:" + +#~ msgid "Group Chat" +#~ msgstr "দলভিক্তিক আলাপন" + +#~ msgid "Contact Information" +#~ msgstr "যোগাযোগ সংক্রান্ত তথ্য" + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "আমি আপনাকের আমার পরিচিতি তালিকায় যোগ করতে ইচ্ছুক।" + +#~ msgid "Sorry, I don't want you in my contact list anymore." +#~ msgstr "দুঃখিত, আমার পরিচিতি তালিকায় আপনাকে আমি স্থান দিতে ইচ্ছুক নই।" + +#~ msgid "Groups" +#~ msgstr "দল" + +#~ msgid "Contact information" +#~ msgstr "যোগাযোগ সংক্রান্ত তথ্য" + +#~ msgid "Word" +#~ msgstr "শব্দ" + +#~ msgid "Suggestions for the word" +#~ msgstr "শব্দের প্রস্তাব" + +#~ msgid "Spell Checker" +#~ msgstr "বানান পরীক্ষণ ব্যবস্থা" + +#~ msgid "Suggestions for the word:" +#~ msgstr "শব্দের প্রস্তাব:" + +#~ msgid "New Account" +#~ msgstr "নতুন অ্যাকাউন্ট" + +#~ msgid "I already have an account I want to use" +#~ msgstr "ব্যবহারযোগ্য আমার একটি অ্যাকাউন্ট বর্তমান উপস্থিত রয়েছে" + +#~| msgid "" +#~| "New message from %s:\n" +#~| "%s" +#~ msgid "New message from %s" +#~ msgstr "%s থেকে প্রাপ্ত নতুন বার্তা" + +#~ msgid "C_lear" +#~ msgstr "মুছে ফেলুন (_l)" + +#~ msgid "Chat" +#~ msgstr "আলাপন" + +#~ msgid "Insert _Smiley" +#~ msgstr "স্মাইলি যোগ করুন (_S)" + +#~ msgid "Invitation _message:" +#~ msgstr "আমন্ত্রণ বার্তা: (_m)" + +#~ msgid "Invite" +#~ msgstr "আমন্ত্রণ করুন" + +#~ msgid "Move Tab _Left" +#~ msgstr "ট্যাব বাঁদিকে সরিয়ে নিন (_L)" + +#~ msgid "Move Tab _Right" +#~ msgstr "ট্যাব ডানদিকে সরিয়ে নিন (_R)" + +#~ msgid "Select who would you like to invite:" +#~ msgstr "আমন্ত্রিতদের তালিকা তৈরি করুন:" + +#~ msgid "You have been invited to join a chat conference." +#~ msgstr "চ্যাট বৈঠকে যোগদানের জন্য আপনাকে আমন্ত্রণ করা হয়েছে।" + +#~ msgid "_Contact" +#~ msgstr "পরিচিত ব্যক্তি (_C)" + +#~ msgid "_Conversation" +#~ msgstr "আলাপন (_C)" + +#~ msgid "_Detach Tab" +#~ msgstr "ট্যাব বিচ্ছিন্ন করুন (_D)" + +#~ msgid "_Favorite Chatroom" +#~ msgstr "জনপ্রিয় চ্যাট-রুম (_F)" + +#~ msgid "_Next Tab" +#~ msgstr "পরবর্তী ট্যাব (_N)" + +#~ msgid "_Previous Tab" +#~ msgstr "পূর্ববর্তী ট্যাব (_P)" + +#~ msgid "_Tabs" +#~ msgstr "ট্যাব (_T)" + +#~ msgid "Edit Favorite Room" +#~ msgstr "জনপ্রিয় রুমের তালিকা সম্পাদনা" + +#~ msgid "Join room on start_up" +#~ msgstr "প্রারম্ভকালে রুমে সংযোগ করা হবে (_u)" + +#~ msgid "N_ame:" +#~ msgstr "নাম: (_a)" + +#~ msgid "S_erver:" +#~ msgstr "সার্ভার: (_e)" + +#~| msgid "unknown" +#~ msgctxt "file size" +#~ msgid "Unknown" +#~ msgstr "অজানা" + +#~ msgid "\"%s\" receiving from %s" +#~ msgstr "\"%s\" প্রাপ্ত করা হচ্ছে, %s থেকে" + +#~ msgid "\"%s\" sending to %s" +#~ msgstr "\"%s\" পাঠানো হচ্ছে, %s-কে" + +#~ msgid "File transfer canceled: %s" +#~ msgstr "ফাইল বিনিময় বাতিল করা হয়েছে: %s" + +#~| msgid "unknown" +#~ msgctxt "remaining time" +#~ msgid "Unknown" +#~ msgstr "অজানা" + +#~ msgid "Cannot save file to this location" +#~ msgstr "এই স্থানে ফাইল সংরক্ষণ করা সম্ভব নয়" + +#~ msgid "Save file as..." +#~ msgstr "নতুন রূপে ফাইল সংরক্ষণ করুন..." + +#~| msgid "unknown" +#~ msgid "unknown size" +#~ msgstr "অজানা মাপ" + +#~| msgid "I would like to add you to my contact list." +#~ msgid "%s would like to send you a file" +#~ msgstr "%s আপনাকে একটি ফাইল সংরক্ষণ করতে ইচ্ছুক" + +#~ msgid "Do you want to accept the file \"%s\" (%s)?" +#~ msgstr "আপনি কি \"%s\" (%s) ফাইলটি গ্রহণ করতে ইচ্ছুক?" + +#~| msgid "_Accounts" +#~ msgid "_Accept" +#~ msgstr "গ্রহণ করুন (_A)" + +#~ msgid "Join _New..." +#~ msgstr "নতুন একটিতে যোগ দিন...(_N)" + +#~ msgid "Browse:" +#~ msgstr "ব্রাউজ করুন:" + +#~ msgid "Join" +#~ msgstr "যোগ দিন" + +#~ msgid "Join New" +#~ msgstr "নতুনে যোগ দিন" + +#~ msgid "Re_fresh" +#~ msgstr "নতুন করে প্রদর্শন (_f)" + +#~ msgid "Contact List" +#~ msgstr "পরিচিতদের তালিকা" diff --git a/po/es.po b/po/es.po index 4ef1512f..c8bde79a 100644 --- a/po/es.po +++ b/po/es.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: empathy.HEAD\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=empathy&component=general\n" -"POT-Creation-Date: 2009-06-12 10:05+0000\n" -"PO-Revision-Date: 2009-06-13 13:14+0200\n" +"POT-Creation-Date: 2009-06-19 13:18+0000\n" +"PO-Revision-Date: 2009-06-21 12:05+0200\n" "Last-Translator: Jorge González \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" @@ -139,7 +139,6 @@ msgid "Path of the adium theme to use" msgstr "Ruta del tema adium que usar" #: ../data/empathy.schemas.in.h:27 -#| msgid "Whether to use the theme for chat rooms or not." msgid "Path of the adium theme to use if the theme used for chat is adium." msgstr "Ruta al tema adium que usar si el tema usado para el chat es adium." @@ -185,63 +184,68 @@ msgid "Show avatars" msgstr "Mostrar avatares" #: ../data/empathy.schemas.in.h:38 +#| msgid "_Show Contact List" +msgid "Show contact list in rooms" +msgstr "Mostrar lista de contactos en salas" + +#: ../data/empathy.schemas.in.h:39 msgid "Show hint about closing the main window" msgstr "Mostrar consejo sobre cómo cerrar la ventana principal" -#: ../data/empathy.schemas.in.h:39 +#: ../data/empathy.schemas.in.h:40 msgid "Show offline contacts" msgstr "Mostrar contactos no conectados" -#: ../data/empathy.schemas.in.h:40 +#: ../data/empathy.schemas.in.h:41 msgid "Spell checking languages" msgstr "Idiomas para revisión ortográfica" -#: ../data/empathy.schemas.in.h:41 +#: ../data/empathy.schemas.in.h:42 msgid "The default folder to save file transfers in." msgstr "La carpeta predeterminada donde guardar los archivos transferidos." -#: ../data/empathy.schemas.in.h:42 +#: ../data/empathy.schemas.in.h:43 msgid "The last directory that an avatar image was chosen from." msgstr "Último directorio del que fue elegido un avatar." -#: ../data/empathy.schemas.in.h:43 +#: ../data/empathy.schemas.in.h:44 msgid "The theme that is used to display the conversation in chat windows." msgstr "" "El tema que se usará para mostrar la conversación en las ventanas de chat." -#: ../data/empathy.schemas.in.h:44 +#: ../data/empathy.schemas.in.h:45 msgid "Use graphical smileys" msgstr "Usar emoticonos gráficos" -#: ../data/empathy.schemas.in.h:45 +#: ../data/empathy.schemas.in.h:46 msgid "Use notification sounds" msgstr "Usar sonidos de notificación" -#: ../data/empathy.schemas.in.h:46 +#: ../data/empathy.schemas.in.h:47 msgid "Use theme for chat rooms" msgstr "Usar tema para salas de chat" -#: ../data/empathy.schemas.in.h:47 +#: ../data/empathy.schemas.in.h:48 msgid "Whether or not Empathy can publish the user's location to his contacts." msgstr "" "Indica si Empathy puede publicar la ubicación del usuario a sus contactos." -#: ../data/empathy.schemas.in.h:48 +#: ../data/empathy.schemas.in.h:49 msgid "Whether or not Empathy can use the GPS to guess the location." msgstr "Indica si Empathy puede usar el GPS para deducir la ubicación." -#: ../data/empathy.schemas.in.h:49 +#: ../data/empathy.schemas.in.h:50 msgid "" "Whether or not Empathy can use the cellular network to guess the location." msgstr "" "Indica si Empathy puede usar la red telefónica móvil para deducir la " "ubicación." -#: ../data/empathy.schemas.in.h:50 +#: ../data/empathy.schemas.in.h:51 msgid "Whether or not Empathy can use the network to guess the location." msgstr "Indica si Empathy puede usar la red para deducir la ubicación." -#: ../data/empathy.schemas.in.h:51 +#: ../data/empathy.schemas.in.h:52 msgid "" "Whether or not Empathy has asked about importing accounts from other " "programs." @@ -249,7 +253,7 @@ msgstr "" "Indica si Empathy ha preguntado acerca de importar cuentas de otros " "programas." -#: ../data/empathy.schemas.in.h:52 +#: ../data/empathy.schemas.in.h:53 msgid "" "Whether or not Empathy should automatically log in to your accounts on " "startup." @@ -257,7 +261,7 @@ msgstr "" "Indica si Empathy debe iniciar sesión en sus cuentas automáticamente al " "inicio." -#: ../data/empathy.schemas.in.h:53 +#: ../data/empathy.schemas.in.h:54 msgid "" "Whether or not Empathy should reduce the location's accuracy for privacy " "reasons." @@ -265,7 +269,7 @@ msgstr "" "Indica si Empathy debería reducir la precisión de la ubicación por motivos " "de privacidad." -#: ../data/empathy.schemas.in.h:54 +#: ../data/empathy.schemas.in.h:55 msgid "" "Whether or not Empathy should use the avatar of the contact as the chat " "window icon." @@ -273,14 +277,14 @@ msgstr "" "Indica si Empathy debería usar el avatar del contacto como el icono de la " "ventana de chat." -#: ../data/empathy.schemas.in.h:55 +#: ../data/empathy.schemas.in.h:56 msgid "" "Whether or not the Salut account has been created on the first Empathy run." msgstr "" "Indica si la cuenta Salut se ha creado cuando ejecutó por primera vez " "Empathy." -#: ../data/empathy.schemas.in.h:56 +#: ../data/empathy.schemas.in.h:57 msgid "" "Whether or not the network manager should be used to automatically " "disconnect/reconnect." @@ -288,7 +292,7 @@ msgstr "" "Indica si se debe usar el gestor de la red para desconectarse/reconectarse " "automáticamente." -#: ../data/empathy.schemas.in.h:57 +#: ../data/empathy.schemas.in.h:58 msgid "" "Whether or not to check words typed against the languages you want to check " "with." @@ -296,21 +300,21 @@ msgstr "" "Indica si se deben revisar las palabras tecleadas con respecto a los idiomas " "con los que quiere comprobarlo." -#: ../data/empathy.schemas.in.h:58 +#: ../data/empathy.schemas.in.h:59 msgid "" "Whether or not to convert smileys into graphical images in conversations." msgstr "" "Indica si se deben convertir los emoticonos en imágenes gráficas en las " "conversaciones." -#: ../data/empathy.schemas.in.h:59 +#: ../data/empathy.schemas.in.h:60 msgid "" "Whether or not to play a sound to notify for contacts logging in the network." msgstr "" "Indica si se debe reproducir un sonido para notificar los inicios de sesión " "de los contactos en la red." -#: ../data/empathy.schemas.in.h:60 +#: ../data/empathy.schemas.in.h:61 msgid "" "Whether or not to play a sound to notify for contacts logging off the " "network." @@ -318,40 +322,40 @@ msgstr "" "Indica si se debe reproducir un sonido para notificar las finalizaciones de " "sesión de los contactos en la red." -#: ../data/empathy.schemas.in.h:61 +#: ../data/empathy.schemas.in.h:62 msgid "Whether or not to play a sound to notify for events." msgstr "Indica si se debe reproducir un sonido para notificar eventos." -#: ../data/empathy.schemas.in.h:62 +#: ../data/empathy.schemas.in.h:63 msgid "Whether or not to play a sound to notify for incoming messages." msgstr "" "Indica si se debe reproducir un sonido para notificar mensajes entrantes." -#: ../data/empathy.schemas.in.h:63 +#: ../data/empathy.schemas.in.h:64 msgid "Whether or not to play a sound to notify for new conversations." msgstr "" "Indica si se debe reproducir un sonido para notificar conversaciones nuevas." -#: ../data/empathy.schemas.in.h:64 +#: ../data/empathy.schemas.in.h:65 msgid "Whether or not to play a sound to notify for outgoing messages." msgstr "" "Indica si se debe reproducir un sonido para notificar mensajes salientes." -#: ../data/empathy.schemas.in.h:65 +#: ../data/empathy.schemas.in.h:66 msgid "Whether or not to play a sound when logging in a network." msgstr "Indica si se debe reproducir un sonido al iniciar sesión en una red." -#: ../data/empathy.schemas.in.h:66 +#: ../data/empathy.schemas.in.h:67 msgid "Whether or not to play a sound when logging off a network." msgstr "Indica si se debe reproducir un sonido al finalizar sesión en una red." -#: ../data/empathy.schemas.in.h:67 +#: ../data/empathy.schemas.in.h:68 msgid "Whether or not to play sound notifications when away or busy." msgstr "" "Indica si se deben reproducir sonidos de notificaciones cuando se esté " "ausente u ocupado." -#: ../data/empathy.schemas.in.h:68 +#: ../data/empathy.schemas.in.h:69 msgid "" "Whether or not to show a popup notification when receiving a new message " "even if the chat is already opened, but not focused." @@ -359,14 +363,14 @@ msgstr "" "Indica si de deben mostrar notificaciones emergentes al recibir un mensaje " "nuevo incluso si la ventana de chat ya está abierta pero no tiene el foco." -#: ../data/empathy.schemas.in.h:69 +#: ../data/empathy.schemas.in.h:70 msgid "" "Whether or not to show a popup notification when receiving a new message." msgstr "" "Indica si se deben mostrar notificaciones emergentes al recibir un mensaje " "nuevo." -#: ../data/empathy.schemas.in.h:70 +#: ../data/empathy.schemas.in.h:71 msgid "" "Whether or not to show avatars for contacts in the contact list and chat " "windows." @@ -374,19 +378,24 @@ msgstr "" "Indica si se debe mostrar los avatares para los contactos en la lista de " "contactos y ventanas de chat." -#: ../data/empathy.schemas.in.h:71 +#: ../data/empathy.schemas.in.h:72 msgid "Whether or not to show contacts that are offline in the contact list." msgstr "" "Indica si se debe mostrar los contactos que están desconectados en la lista " "de contactos." -#: ../data/empathy.schemas.in.h:72 +#: ../data/empathy.schemas.in.h:73 msgid "Whether or not to show popup notifications when away or busy." msgstr "" "Indica si se deben mostrar las notificaciones emergentes cuando se esté " "ausente u ocupado." -#: ../data/empathy.schemas.in.h:73 +#: ../data/empathy.schemas.in.h:74 +#| msgid "Whether to show the contact list in compact mode or not." +msgid "Whether or not to show the contact list in chat rooms." +msgstr "Indica si se debe mostrar la lista de contactos en salas de chat." + +#: ../data/empathy.schemas.in.h:75 msgid "" "Whether or not to show the message dialog about closing the main window with " "the 'x' button in the title bar." @@ -394,15 +403,15 @@ msgstr "" "Indica si se debe mostrar un mensaje de diálogo sobre cómo cerrar la ventana " "principal con el botón 'x' en la barra de título." -#: ../data/empathy.schemas.in.h:74 +#: ../data/empathy.schemas.in.h:76 msgid "Whether to show the contact list in compact mode or not." msgstr "Indica si se debe mostrar la lista de contactos en modo compacto." -#: ../data/empathy.schemas.in.h:75 +#: ../data/empathy.schemas.in.h:77 msgid "Whether to use the theme for chat rooms or not." msgstr "Indica si se debe usar el tema para salas de chat." -#: ../data/empathy.schemas.in.h:76 +#: ../data/empathy.schemas.in.h:78 msgid "" "Which criterium to use when sorting the contact list. Default is to use sort " "by the contact's name with the value \"name\". A value of \"state\" will " @@ -420,7 +429,15 @@ msgstr "El «hash» del archivo recibido y del enviado no coinciden" msgid "File transfer not supported by remote contact" msgstr "El contacto remoto no soporta la transferencia de archivos" -#: ../libempathy/empathy-tp-contact-list.c:757 ../src/empathy.c:286 +#: ../libempathy/empathy-ft-handler.c:1156 +msgid "The selected file is not a regular file" +msgstr "El archivo seleccionado no es un archivo regular" + +#: ../libempathy/empathy-ft-handler.c:1165 +msgid "The selected file is empty" +msgstr "El archivo seleccionado está vacío" + +#: ../libempathy/empathy-tp-contact-list.c:757 ../src/empathy.c:287 msgid "People nearby" msgstr "Gente cerca" @@ -506,12 +523,21 @@ msgstr[1] "hace %d días" #: ../libempathy/empathy-time.c:157 #, c-format +#| msgid "%d second ago" +#| msgid_plural "%d seconds ago" +msgid "%d week ago" +msgid_plural "%d weeks ago" +msgstr[0] "hace %d semana" +msgstr[1] "hace %d semanas" + +#: ../libempathy/empathy-time.c:162 +#, c-format msgid "%d month ago" msgid_plural "%d months ago" msgstr[0] "hace %d mes" msgstr[1] "hace %d meses" -#: ../libempathy/empathy-time.c:162 +#: ../libempathy/empathy-time.c:167 msgid "in the future" msgstr "en el futuro" @@ -534,8 +560,9 @@ msgstr "%s:" #: ../libempathy-gtk/empathy-account-widget-salut.ui.h:1 #: ../libempathy-gtk/empathy-account-widget-sip.ui.h:1 #: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:1 -msgid "Advanced" -msgstr "Avanzado" +#| msgid "Advanced" +msgid "Advanced" +msgstr "Avanzado" #: ../libempathy-gtk/empathy-account-widget-aim.ui.h:2 #: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:3 @@ -571,7 +598,7 @@ msgid "_Server:" msgstr "_Servidor:" #: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:2 -#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:3 +#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:2 #: ../libempathy-gtk/empathy-account-widget-msn.ui.h:2 msgid "Login I_D:" msgstr "_ID de sesión:" @@ -590,44 +617,42 @@ msgid "New Network" msgstr "Red nueva" #: ../libempathy-gtk/empathy-account-widget-irc.ui.h:1 -msgid "Network" -msgstr "Red" - -#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:2 -msgid "Servers" -msgstr "Servidores" - -#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:3 msgid "Charset:" msgstr "Conjunto de caracteres:" -#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:4 +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:2 msgid "Network" msgstr "Red" -#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:5 +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:3 msgid "Network:" msgstr "Red:" -#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:6 +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:4 msgid "Nickname:" msgstr "Apodo:" -#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:7 +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:5 msgid "Password:" msgstr "Contraseña:" -#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:8 +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:6 msgid "Quit message:" msgstr "Mensaje de salida:" -#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:9 +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:7 msgid "Real name:" msgstr "Nombre real:" -#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:2 -msgid "Override server settings" -msgstr "Sobreescribir los ajustes del servidor" +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:8 +#| msgid "Server" +msgid "Servers" +msgstr "Servidores" + +#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:3 +#| msgid "Override server settings" +msgid "Override server settings" +msgstr "Sobreescribir los ajustes del servidor" #: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:5 msgid "Pri_ority:" @@ -735,96 +760,96 @@ msgstr "Todos los archivos" msgid "Click to enlarge" msgstr "Pulse para agrandar" -#: ../libempathy-gtk/empathy-chat.c:178 +#: ../libempathy-gtk/empathy-chat.c:186 msgid "Failed to reconnect this chat" msgstr "Falló al reconectar a este chat" -#: ../libempathy-gtk/empathy-chat.c:396 +#: ../libempathy-gtk/empathy-chat.c:404 msgid "Unsupported command" msgstr "Comando no soportado" -#: ../libempathy-gtk/empathy-chat.c:531 +#: ../libempathy-gtk/empathy-chat.c:539 msgid "offline" msgstr "desconectado" -#: ../libempathy-gtk/empathy-chat.c:534 +#: ../libempathy-gtk/empathy-chat.c:542 msgid "invalid contact" msgstr "contacto no válido" -#: ../libempathy-gtk/empathy-chat.c:537 +#: ../libempathy-gtk/empathy-chat.c:545 msgid "permission denied" msgstr "permiso denegado" -#: ../libempathy-gtk/empathy-chat.c:540 +#: ../libempathy-gtk/empathy-chat.c:548 msgid "too long message" msgstr "mensaje demasiado largo" -#: ../libempathy-gtk/empathy-chat.c:543 +#: ../libempathy-gtk/empathy-chat.c:551 msgid "not implemented" msgstr "no implementado" -#: ../libempathy-gtk/empathy-chat.c:546 +#: ../libempathy-gtk/empathy-chat.c:554 msgid "unknown" msgstr "desconocido" -#: ../libempathy-gtk/empathy-chat.c:550 +#: ../libempathy-gtk/empathy-chat.c:558 #, c-format msgid "Error sending message '%s': %s" msgstr "Error al enviar el mensaje «%s»: %s" -#: ../libempathy-gtk/empathy-chat.c:580 +#: ../libempathy-gtk/empathy-chat.c:588 #, c-format msgid "Topic set to: %s" msgstr "El tema se ha establecido a: %s" -#: ../libempathy-gtk/empathy-chat.c:582 +#: ../libempathy-gtk/empathy-chat.c:590 msgid "No topic defined" msgstr "No se ha definido el tema" -#: ../libempathy-gtk/empathy-chat.c:951 +#: ../libempathy-gtk/empathy-chat.c:959 msgid "(No Suggestions)" msgstr "(Sin sugerencias)" -#: ../libempathy-gtk/empathy-chat.c:1005 +#: ../libempathy-gtk/empathy-chat.c:1013 msgid "Insert Smiley" msgstr "Insertar emoticono" #. send button -#: ../libempathy-gtk/empathy-chat.c:1023 +#: ../libempathy-gtk/empathy-chat.c:1031 #: ../libempathy-gtk/empathy-ui-utils.c:1476 msgid "_Send" msgstr "E_nviar" -#: ../libempathy-gtk/empathy-chat.c:1057 +#: ../libempathy-gtk/empathy-chat.c:1065 msgid "_Spelling Suggestions" msgstr "_Sugerencias ortográficas" -#: ../libempathy-gtk/empathy-chat.c:1171 +#: ../libempathy-gtk/empathy-chat.c:1179 #, c-format msgid "%s has joined the room" msgstr "%s ha entrado en la sala" -#: ../libempathy-gtk/empathy-chat.c:1174 +#: ../libempathy-gtk/empathy-chat.c:1182 #, c-format msgid "%s has left the room" msgstr "%s ha dejado la sala" -#: ../libempathy-gtk/empathy-chat.c:1289 ../src/empathy-call-window.c:1107 +#: ../libempathy-gtk/empathy-chat.c:1313 ../src/empathy-call-window.c:1199 msgid "Disconnected" msgstr "Desconectado" -#: ../libempathy-gtk/empathy-chat.c:1700 +#: ../libempathy-gtk/empathy-chat.c:1742 msgid "Connected" msgstr "Conectado" -#: ../libempathy-gtk/empathy-chat.c:1750 +#: ../libempathy-gtk/empathy-chat.c:1792 #: ../libempathy-gtk/empathy-log-window.c:501 msgid "Conversation" msgstr "Conversación" -#: ../libempathy-gtk/empathy-chat.ui.h:1 -msgid "Topic:" -msgstr "Tema:" +#: ../libempathy-gtk/empathy-chat.ui.h:1 ../src/empathy-chat-window.c:471 +msgid "Topic:" +msgstr "Tema:" #: ../libempathy-gtk/empathy-chat-text-view.c:316 msgid "_Copy Link Address" @@ -1054,52 +1079,56 @@ msgid "%B %e, %Y at %R UTC" msgstr "%e de %B de %Y a las %R UTC" #: ../libempathy-gtk/empathy-contact-widget.ui.h:1 -msgid "Client Information" -msgstr "Información del cliente" - -#: ../libempathy-gtk/empathy-contact-widget.ui.h:2 -msgid "Contact Details" -msgstr "Detalles del contacto" - -#: ../libempathy-gtk/empathy-contact-widget.ui.h:3 -msgid "Contact" -msgstr "Contacto" - -#: ../libempathy-gtk/empathy-contact-widget.ui.h:4 -msgid "Groups" -msgstr "Grupos" - -#: ../libempathy-gtk/empathy-contact-widget.ui.h:5 msgid "Location at (date)\t" msgstr "Ubicación en (fecha)\t" -#: ../libempathy-gtk/empathy-contact-widget.ui.h:6 +#: ../libempathy-gtk/empathy-contact-widget.ui.h:2 #: ../libempathy-gtk/empathy-new-message-dialog.ui.h:1 #: ../src/empathy-chatrooms-window.ui.h:1 #: ../src/empathy-new-chatroom-dialog.ui.h:1 msgid "Account:" msgstr "Cuenta:" -#: ../libempathy-gtk/empathy-contact-widget.ui.h:7 +#: ../libempathy-gtk/empathy-contact-widget.ui.h:3 msgid "Alias:" msgstr "Apodo:" -#: ../libempathy-gtk/empathy-contact-widget.ui.h:8 +#: ../libempathy-gtk/empathy-contact-widget.ui.h:4 msgid "Birthday:" msgstr "Cumpleaños:" -#: ../libempathy-gtk/empathy-contact-widget.ui.h:9 +#: ../libempathy-gtk/empathy-contact-widget.ui.h:5 +#| msgid "Client Information" +msgid "Client Information" +msgstr "Información del cliente" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:6 msgid "Client:" msgstr "Cliente:" -#: ../libempathy-gtk/empathy-contact-widget.ui.h:10 +#: ../libempathy-gtk/empathy-contact-widget.ui.h:7 +#: ../src/empathy-main-window.c:888 +msgid "Contact" +msgstr "Contacto" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:8 +#| msgid "Contact Details" +msgid "Contact Details" +msgstr "Detalles del contacto" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:9 msgid "Email:" msgstr "Correo-e:" -#: ../libempathy-gtk/empathy-contact-widget.ui.h:11 +#: ../libempathy-gtk/empathy-contact-widget.ui.h:10 msgid "Fullname:" msgstr "Nombre completo:" +#: ../libempathy-gtk/empathy-contact-widget.ui.h:11 +#| msgid "Group" +msgid "Groups" +msgstr "Grupos" + #. Identifier to connect to Instant Messaging network #: ../libempathy-gtk/empathy-contact-widget.ui.h:13 msgid "Identifier:" @@ -1216,12 +1245,12 @@ msgstr "Pulse para hacer este estado uno favorito" msgid "Set status" msgstr "Establecer estado" -#: ../libempathy-gtk/empathy-presence-chooser.c:778 +#: ../libempathy-gtk/empathy-presence-chooser.c:782 msgid "Set your presence and current status" msgstr "Establecer su presencia y estado actual" #. Custom messages -#: ../libempathy-gtk/empathy-presence-chooser.c:1013 +#: ../libempathy-gtk/empathy-presence-chooser.c:1017 msgid "Custom messages..." msgstr "Mensajes personalizados…" @@ -1542,23 +1571,23 @@ msgstr "Presencia" msgid "Set your own presence" msgstr "Establezca su propia presencia" -#: ../src/empathy.c:476 +#: ../src/empathy.c:478 msgid "Don't connect on startup" msgstr "No conectarse automáticamente al inicio" -#: ../src/empathy.c:480 +#: ../src/empathy.c:482 msgid "Don't show the contact list on startup" msgstr "No mostrar la lista de contactos al inicio" -#: ../src/empathy.c:484 +#: ../src/empathy.c:486 msgid "Show the accounts dialog" msgstr "Mostrar el diálogo de las cuentas" -#: ../src/empathy.c:496 +#: ../src/empathy.c:498 msgid "- Empathy Instant Messenger" msgstr "- Mensajería instantánea Empathy" -#: ../src/empathy-about-dialog.c:84 +#: ../src/empathy-about-dialog.c:83 msgid "" "Empathy is free software; you can redistribute it and/or modify it under the " "terms of the GNU General Public License as published by the Free Software " @@ -1570,7 +1599,7 @@ msgstr "" "Foundation; ya sea en la versión 2 de la Licencia, o (a su elección) " "cualquier versión posterior." -#: ../src/empathy-about-dialog.c:88 +#: ../src/empathy-about-dialog.c:87 msgid "" "Empathy is distributed in the hope that it will be useful, but WITHOUT ANY " "WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS " @@ -1582,7 +1611,7 @@ msgstr "" "PARA UN PROPÓSITO PARTICULAR. Vea la Licencia Pública General de GNU para " "más detalles." -#: ../src/empathy-about-dialog.c:92 +#: ../src/empathy-about-dialog.c:91 msgid "" "You should have received a copy of the GNU General Public License along with " "Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " @@ -1592,11 +1621,11 @@ msgstr "" "con Gossip ; si no, escriba a la Free Software Foundation, Inc., 51 Franklin " "Street, Fifth Floor, Boston, MA 02110-130159 EE. UU." -#: ../src/empathy-about-dialog.c:120 +#: ../src/empathy-about-dialog.c:119 msgid "An Instant Messaging client for GNOME" msgstr "Un cliente de mensajería instantánea para GNOME" -#: ../src/empathy-about-dialog.c:126 +#: ../src/empathy-about-dialog.c:125 msgid "translator-credits" msgstr "Jorge González , 2007-2009" @@ -1604,7 +1633,7 @@ msgstr "Jorge González , 2007-2009" msgid "Enabled" msgstr "Activado" -#: ../src/empathy-accounts-dialog.c:403 ../src/empathy-accounts-dialog.ui.h:4 +#: ../src/empathy-accounts-dialog.c:403 ../src/empathy-accounts-dialog.ui.h:1 msgid "Accounts" msgstr "Cuentas" @@ -1636,27 +1665,35 @@ msgstr "" "\n" "Si decidiera volver a añadir la cuenta más tarde, estarán aún disponibles." -#: ../src/empathy-accounts-dialog.ui.h:1 -msgid "Add Account" -msgstr "Añadir cuenta" - #: ../src/empathy-accounts-dialog.ui.h:2 -msgid "No protocol installed" -msgstr "No hay protocolos instalados" +#| msgid "Account" +msgid "Add Account" +msgstr "Añadir cuenta" #: ../src/empathy-accounts-dialog.ui.h:3 -msgid "Settings" -msgstr "Configuración" - -#: ../src/empathy-accounts-dialog.ui.h:5 msgid "Cr_eate" msgstr "Cr_ear" -#: ../src/empathy-accounts-dialog.ui.h:6 +#: ../src/empathy-accounts-dialog.ui.h:4 +#| msgid "Email:" +msgid "Gmail" +msgstr "Gmail" + +#: ../src/empathy-accounts-dialog.ui.h:5 msgid "Import Accounts..." msgstr "Importar cuentas…" +#: ../src/empathy-accounts-dialog.ui.h:6 +#| msgid "No protocol installed" +msgid "No protocol installed" +msgstr "No hay protocolos instalados" + #: ../src/empathy-accounts-dialog.ui.h:7 +#| msgid "Settings" +msgid "Settings" +msgstr "Ajustes" + +#: ../src/empathy-accounts-dialog.ui.h:8 msgid "" "To add a new account, you first have to install a backend for each protocol " "you want to use." @@ -1664,19 +1701,19 @@ msgstr "" "Para añadir una nueva cuenta debe instalar primero un «backend» para cada " "protocolo que quiera usar." -#: ../src/empathy-accounts-dialog.ui.h:8 +#: ../src/empathy-accounts-dialog.ui.h:9 msgid "Type:" msgstr "Tipo:" -#: ../src/empathy-accounts-dialog.ui.h:9 +#: ../src/empathy-accounts-dialog.ui.h:10 msgid "_Add..." msgstr "_Añadir…" -#: ../src/empathy-accounts-dialog.ui.h:10 +#: ../src/empathy-accounts-dialog.ui.h:11 msgid "_Create a new account" msgstr "_Crear una cuenta nueva" -#: ../src/empathy-accounts-dialog.ui.h:11 +#: ../src/empathy-accounts-dialog.ui.h:12 msgid "_Reuse an existing account" msgstr "_Usar una cuenta ya existente" @@ -1684,49 +1721,49 @@ msgstr "_Usar una cuenta ya existente" msgid "Connecting..." msgstr "Conectando…" -#: ../src/empathy-call-window.c:405 +#: ../src/empathy-call-window.c:415 msgid "Contrast" msgstr "Contraste" -#: ../src/empathy-call-window.c:408 +#: ../src/empathy-call-window.c:418 msgid "Brightness" msgstr "Brillo" -#: ../src/empathy-call-window.c:411 +#: ../src/empathy-call-window.c:421 msgid "Gamma" msgstr "Gamma" -#: ../src/empathy-call-window.c:516 +#: ../src/empathy-call-window.c:526 msgid "Volume" msgstr "Volumen" -#: ../src/empathy-call-window.c:697 +#: ../src/empathy-call-window.c:728 msgid "_Sidebar" msgstr "Barra _lateral" -#: ../src/empathy-call-window.c:716 +#: ../src/empathy-call-window.c:747 msgid "Dialpad" msgstr "Teclado de llamada" -#: ../src/empathy-call-window.c:722 +#: ../src/empathy-call-window.c:753 msgid "Audio input" msgstr "Entrada de sonido" -#: ../src/empathy-call-window.c:726 +#: ../src/empathy-call-window.c:757 msgid "Video input" msgstr "Entrada de vídeo" -#: ../src/empathy-call-window.c:789 +#: ../src/empathy-call-window.c:820 #, c-format msgid "Call with %s" msgstr "Llamar con %s" -#: ../src/empathy-call-window.c:860 +#: ../src/empathy-call-window.c:889 msgid "Call" msgstr "Llamar" #. Translators: number of minutes:seconds the caller has been connected -#: ../src/empathy-call-window.c:1203 +#: ../src/empathy-call-window.c:1308 #, c-format msgid "Connected — %d:%02dm" msgstr "Conectado — %d:%02dm" @@ -1759,24 +1796,15 @@ msgstr "_Llamar" msgid "_View" msgstr "_Ver" -#: ../src/empathy-chat-window.c:342 +#: ../src/empathy-chat-window.c:343 #, c-format msgid "Conversations (%d)" msgstr "Conversaciones (%d)" -#: ../src/empathy-chat-window.c:470 -msgid "Topic:" -msgstr "Tema:" - -#: ../src/empathy-chat-window.c:474 +#: ../src/empathy-chat-window.c:475 msgid "Typing a message." msgstr "Tecleando un mensaje." -#: ../src/empathy-chat-window.c:935 ../src/empathy-event-manager.c:429 -#, c-format -msgid "New message from %s" -msgstr "Nuevo mensaje de %s" - #: ../src/empathy-chatrooms-window.c:258 msgid "Name" msgstr "Nombre" @@ -1810,58 +1838,58 @@ msgstr "_Rechazar" msgid "_Answer" msgstr "Re_spuesta" -#: ../src/empathy-event-manager.c:507 +#: ../src/empathy-event-manager.c:505 #, c-format msgid "Incoming call from %s" msgstr "Llamada entrante de %s" -#: ../src/empathy-event-manager.c:547 +#: ../src/empathy-event-manager.c:545 #, c-format msgid "%s is offering you an invitation" msgstr "%s le está ofreciendo una invitación" -#: ../src/empathy-event-manager.c:553 +#: ../src/empathy-event-manager.c:551 msgid "An external application will be started to handle it." msgstr "Se iniciará una aplicación externa para manejarla." -#: ../src/empathy-event-manager.c:558 +#: ../src/empathy-event-manager.c:556 msgid "You don't have the needed external application to handle it." msgstr "No tiene la aplicación externa necesaria para manejarla." -#: ../src/empathy-event-manager.c:685 +#: ../src/empathy-event-manager.c:683 msgid "Room invitation" msgstr "Invitación a una sala" -#: ../src/empathy-event-manager.c:688 +#: ../src/empathy-event-manager.c:686 #, c-format msgid "%s is inviting you to join %s" msgstr "%s le está invitando a unirse a %s" -#: ../src/empathy-event-manager.c:696 +#: ../src/empathy-event-manager.c:694 msgid "_Decline" msgstr "_Rechazar" -#: ../src/empathy-event-manager.c:701 +#: ../src/empathy-event-manager.c:699 #: ../src/empathy-new-chatroom-dialog.ui.h:7 msgid "_Join" msgstr "_Unirse" -#: ../src/empathy-event-manager.c:740 +#: ../src/empathy-event-manager.c:738 #, c-format msgid "%s invited you to join %s" msgstr "%s le ha invitado a unirse a %s" -#: ../src/empathy-event-manager.c:766 +#: ../src/empathy-event-manager.c:764 #, c-format msgid "Incoming file transfer from %s" msgstr "Transferencia de archivo entrante de %s" -#: ../src/empathy-event-manager.c:946 +#: ../src/empathy-event-manager.c:944 #, c-format msgid "Subscription requested by %s" msgstr "Petición de suscripción de %s" -#: ../src/empathy-event-manager.c:950 +#: ../src/empathy-event-manager.c:948 #, c-format msgid "" "\n" @@ -1974,7 +2002,8 @@ msgid "Remaining" msgstr "Restantes" #: ../src/empathy-ft-manager.ui.h:1 -msgid "File transfers" +#| msgid "_File Transfers" +msgid "File Transfers" msgstr "Transferencias de archivos" #: ../src/empathy-ft-manager.ui.h:2 @@ -2068,15 +2097,11 @@ msgstr "Error del certificado" msgid "Unknown error" msgstr "Error desconocido" -#: ../src/empathy-main-window.c:888 -msgid "Contact" -msgstr "Contacto" - #: ../src/empathy-main-window.c:1220 msgid "Show and edit accounts" msgstr "Mostrar y editar cuentas" -#: ../src/empathy-main-window.ui.h:1 +#: ../src/empathy-main-window.ui.h:1 ../src/empathy-preferences.ui.h:10 msgid "Contact List" msgstr "Lista de contactos" @@ -2217,158 +2242,162 @@ msgstr "Lista de salas" msgid "_Room:" msgstr "_Sala:" -#: ../src/empathy-preferences.c:158 +#: ../src/empathy-preferences.c:159 msgid "Message received" msgstr "Mensaje recibido" -#: ../src/empathy-preferences.c:159 +#: ../src/empathy-preferences.c:160 msgid "Message sent" msgstr "Mensaje enviado" -#: ../src/empathy-preferences.c:160 +#: ../src/empathy-preferences.c:161 msgid "New conversation" msgstr "Conversación nueva" -#: ../src/empathy-preferences.c:161 +#: ../src/empathy-preferences.c:162 msgid "Contact goes online" msgstr "El contacto se conecta" -#: ../src/empathy-preferences.c:162 +#: ../src/empathy-preferences.c:163 msgid "Contact goes offline" msgstr "El contacto se desconecta" -#: ../src/empathy-preferences.c:163 +#: ../src/empathy-preferences.c:164 msgid "Account connected" msgstr "Cuenta conectada" -#: ../src/empathy-preferences.c:164 +#: ../src/empathy-preferences.c:165 msgid "Account disconnected" msgstr "Cuenta desconectada" -#: ../src/empathy-preferences.c:427 +#: ../src/empathy-preferences.c:432 msgid "Language" msgstr "Idioma" #: ../src/empathy-preferences.ui.h:1 -msgid "Appearance" -msgstr "Apariencia" - -#: ../src/empathy-preferences.ui.h:2 -msgid "Behavior" -msgstr "Comportamiento" - -#: ../src/empathy-preferences.ui.h:3 -msgid "Contact List" -msgstr "Lista de contactos" - -#: ../src/empathy-preferences.ui.h:4 -msgid "Enable spell checking for languages:" -msgstr "Activar la revisión ortográfica para idiomas:" - -#: ../src/empathy-preferences.ui.h:5 -msgid "Geoclue Settings" -msgstr "Configuración de Geoclue" - -#: ../src/empathy-preferences.ui.h:6 -msgid "Play sound for events" -msgstr "Reproducir sonido para eventos" - -#: ../src/empathy-preferences.ui.h:7 -msgid "Privacy" -msgstr "Privacidad" - -#: ../src/empathy-preferences.ui.h:8 -msgid "" -"Reduced location accuracy means that nothing more precise than your " -"city, state and country will be published. GPS coordinates will have a " -"random value added (±0.25°)." -msgstr "" -"Reducir la precisión de la ubicación significa que no se publicará " -"nada más preciso que su ciudad, estado y país. Las coordenadas GPS tendrán " -"un valor aleatorio añadido (±0.25°)." - -#: ../src/empathy-preferences.ui.h:9 -msgid "" -"The list of languages reflects only the languages for which you have " -"a dictionary installed." -msgstr "" -"La lista de idiomas refleja sólo los idiomas para los cuales tiene un " -"diccionario instalado." - -#: ../src/empathy-preferences.ui.h:10 -msgid "Not a valid adium theme" -msgstr "No es un tema adium válido" - -#: ../src/empathy-preferences.ui.h:11 msgid "Adium theme to use:" msgstr "Tema adium que usar:" -#: ../src/empathy-preferences.ui.h:12 +#: ../src/empathy-preferences.ui.h:2 msgid "Allow _GPS usage" msgstr "Permitir el usso de _GPS" -#: ../src/empathy-preferences.ui.h:13 +#: ../src/empathy-preferences.ui.h:3 msgid "Allow _cellphone usage" msgstr "Permitir el uso de teléfono _móvil" -#: ../src/empathy-preferences.ui.h:14 +#: ../src/empathy-preferences.ui.h:4 msgid "Allow _network usage" msgstr "Permitir el uso de la _red" -#: ../src/empathy-preferences.ui.h:15 +#: ../src/empathy-preferences.ui.h:5 +#| msgid "Appearance" +msgid "Appearance" +msgstr "Apariencia" + +#: ../src/empathy-preferences.ui.h:6 msgid "Automatically _connect on startup " msgstr "_Conectarse automáticamente al inicio" -#: ../src/empathy-preferences.ui.h:16 +#: ../src/empathy-preferences.ui.h:7 msgid "Avatars are user chosen images shown in the contact list" msgstr "" "Los avatares son imágenes elegidas por el usuario que se muestran en la " "lista de contactos" -#: ../src/empathy-preferences.ui.h:17 +#: ../src/empathy-preferences.ui.h:8 +#| msgid "Behavior" +msgid "Behavior" +msgstr "Comportamiento" + +#: ../src/empathy-preferences.ui.h:9 msgid "Chat Th_eme:" msgstr "_Tema del chat:" -#: ../src/empathy-preferences.ui.h:18 +#: ../src/empathy-preferences.ui.h:11 msgid "Disable notifications when _away or busy" msgstr "Desactivar notificaciones al _ausentarse o estar ocupado" -#: ../src/empathy-preferences.ui.h:19 +#: ../src/empathy-preferences.ui.h:12 msgid "Disable sounds when _away or busy" msgstr "Desactivar sonidos al _ausentarse o estar ocupado" -#: ../src/empathy-preferences.ui.h:20 +#: ../src/empathy-preferences.ui.h:13 msgid "Enable notifications when the _chat is not focused" msgstr "Activar notificaciones cuando el _chat no tenga el foco" -#: ../src/empathy-preferences.ui.h:21 +#: ../src/empathy-preferences.ui.h:14 +#| msgid "Enable spell checking for languages:" +msgid "Enable spell checking for languages:" +msgstr "Activar la revisión ortográfica para idiomas:" + +#: ../src/empathy-preferences.ui.h:15 msgid "General" msgstr "General" -#: ../src/empathy-preferences.ui.h:22 +#: ../src/empathy-preferences.ui.h:16 +#| msgid "Geoclue Settings" +msgid "Geoclue Settings" +msgstr "Configuración de Geoclue" + +#: ../src/empathy-preferences.ui.h:17 msgid "Location" msgstr "Ubicación" -#: ../src/empathy-preferences.ui.h:23 +#: ../src/empathy-preferences.ui.h:18 +#| msgid "Not a valid adium theme" +msgid "Not a valid adium theme" +msgstr "No es un tema adium válido" + +#: ../src/empathy-preferences.ui.h:19 msgid "Notifications" msgstr "Notificaciones" -#: ../src/empathy-preferences.ui.h:24 +#: ../src/empathy-preferences.ui.h:20 +#| msgid "Play sound for events" +msgid "Play sound for events" +msgstr "Reproducir sonido para eventos" + +#: ../src/empathy-preferences.ui.h:21 msgid "Preferences" msgstr "Preferencias" -#: ../src/empathy-preferences.ui.h:25 +#: ../src/empathy-preferences.ui.h:22 +#| msgid "Privacy" +msgid "Privacy" +msgstr "Privacidad" + +#: ../src/empathy-preferences.ui.h:23 +#| msgid "" +#| "Reduced location accuracy means that nothing more precise than " +#| "your city, state and country will be published. GPS coordinates will " +#| "have a random value added (±0.25°)." +msgid "" +"Reduced location accuracy means that nothing more precise than your city, " +"state and country will be published. GPS coordinates will have a random " +"value added (±0.25°)." +msgstr "" +"Reducir la precisión de la ubicación significa que no se publicará nada más " +"preciso que su ciudad, estado y país. Las coordenadas GPS tendrán un valor " +"aleatorio añadido (±0.25°)." + +#: ../src/empathy-preferences.ui.h:24 msgid "Show _avatars" msgstr "Mostrar _avatares" -#: ../src/empathy-preferences.ui.h:26 +#: ../src/empathy-preferences.ui.h:25 msgid "Show _smileys as images" msgstr "Mostrar los _emoticonos como imágenes" -#: ../src/empathy-preferences.ui.h:27 +#: ../src/empathy-preferences.ui.h:26 msgid "Show co_mpact contact list" msgstr "Mostrar lista de contactos co_mpacta" +#: ../src/empathy-preferences.ui.h:27 +#| msgid "_Show Contact List" +msgid "Show contact _list in rooms" +msgstr "Mostrar _lista de contactos en salas" + #: ../src/empathy-preferences.ui.h:28 msgid "Sort by _name" msgstr "Ordenar por _nombre" @@ -2386,8 +2415,15 @@ msgid "Spell Checking" msgstr "Revisión ortográfica" #: ../src/empathy-preferences.ui.h:32 -msgid "Sélectionner un dossier" -msgstr "Seleccionar una carpeta" +#| msgid "" +#| "The list of languages reflects only the languages for which you " +#| "have a dictionary installed." +msgid "" +"The list of languages reflects only the languages for which you have a " +"dictionary installed." +msgstr "" +"La lista de idiomas refleja sólo los idiomas para los cuales tiene un " +"diccionario instalado." #: ../src/empathy-preferences.ui.h:33 msgid "Themes" @@ -2512,6 +2548,36 @@ msgstr "" "El gestor de conexiones seleccionado no soporta la extensión de depuración " "remota." +#~ msgid "Network" +#~ msgstr "Red" + +#~ msgid "Servers" +#~ msgstr "Servidores" + +#~ msgid "Topic:" +#~ msgstr "Tema:" + +#~ msgid "Contact" +#~ msgstr "Contacto" + +#~ msgid "Groups" +#~ msgstr "Grupos" + +#~ msgid "Add Account" +#~ msgstr "Añadir cuenta" + +#~ msgid "New message from %s" +#~ msgstr "Nuevo mensaje de %s" + +#~ msgid "File transfers" +#~ msgstr "Transferencias de archivos" + +#~ msgid "Contact List" +#~ msgstr "Lista de contactos" + +#~ msgid "Sélectionner un dossier" +#~ msgstr "Seleccionar una carpeta" + #~ msgid "I already have an account I want to use" #~ msgstr "Ya tengo una cuenta que quiero usar" diff --git a/po/ta.po b/po/ta.po index 97719da8..d070d0bd 100644 --- a/po/ta.po +++ b/po/ta.po @@ -1,20 +1,22 @@ -# translation of empathy.master.po to Tamil +# translation of ta.po to # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Dr.T.vasudevan , 2009. +# Dr.T.Vasudevan , 2009. msgid "" msgstr "" -"Project-Id-Version: empathy.master\n" +"Project-Id-Version: ta\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-05-20 13:57+0530\n" -"PO-Revision-Date: 2009-05-07 21:34+0530\n" -"Last-Translator: Dr.T.vasudevan \n" +"POT-Creation-Date: 2009-06-19 05:47+0530\n" +"PO-Revision-Date: 2009-06-20 14:19+0530\n" +"Last-Translator: Dr.T.Vasudevan \n" "Language-Team: Tamil \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.11.4\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" #: ../data/empathy.desktop.in.in.h:1 msgid "Empathy Instant Messenger" @@ -39,10 +41,8 @@ msgid "Chat window theme" msgstr "அரட்டை சாளர கருத்து" #: ../data/empathy.schemas.in.h:4 -msgid "" -"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." -msgstr "" -"சொல் திருத்தி மொழிகளை பயன்படுத்த காற் புள்ளியால் பிரித்த பட்டியல் (எ-டு. en, fr, nl)" +msgid "Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "சொல் திருத்தி மொழிகளை பயன்படுத்த காற் புள்ளியால் பிரித்த பட்டியல் (எ-டு. en, fr, nl)" #: ../data/empathy.schemas.in.h:5 msgid "Compact contact list" @@ -65,151 +65,202 @@ msgid "Disable sounds when away" msgstr "வெளியே உள்ள போது ஒலியை செயல் நீக்குக" #: ../data/empathy.schemas.in.h:10 +msgid "Empathy can publish the user's location" +msgstr "பயனரின் இடத்தை தொடர்புகளுக்கு எம்பதியால் காட்ட இயலும்" + +#: ../data/empathy.schemas.in.h:11 +msgid "Empathy can use the GPS to guess the location" +msgstr "எம்பதியால் பயனரின் இடத்தை ஊகிக்க ஜிபிஎஸ் ஐ பயன்படுத்த இயலும்" + +#: ../data/empathy.schemas.in.h:12 +msgid "Empathy can use the cellular network to guess the location" +msgstr "எம்பதியால் பயனரின் இடத்தை ஊகிக்க அலைபேசி வலையை பயன்படுத்த இயலும்" + +#: ../data/empathy.schemas.in.h:13 +msgid "Empathy can use the network to guess the location" +msgstr "எம்பதியால் பயனரின் இடத்தை ஊகிக்க வலையை பயன்படுத்த இயலும்" + +#: ../data/empathy.schemas.in.h:14 msgid "Empathy default download folder" msgstr "எம்பதி முன்னிருப்பு தரவிறக்க அடைவு" -#: ../data/empathy.schemas.in.h:11 +#: ../data/empathy.schemas.in.h:15 msgid "Empathy has asked about importing accounts" msgstr "எம்பதி கணக்குகளை இறக்குமதி செய்ய கேட்கிறது" -#: ../data/empathy.schemas.in.h:12 +#: ../data/empathy.schemas.in.h:16 msgid "Empathy should auto-connect on startup" msgstr "துவங்கும் போது எம்பதி தானியங்கியாக இணைக்க வேண்டும்." -#: ../data/empathy.schemas.in.h:13 +#: ../data/empathy.schemas.in.h:17 +msgid "Empathy should reduce the location's accuracy" +msgstr "துவங்கும் போது எம்பதி இடததின் குறிப்பை குறைக்க வேண்டும்." + +#: ../data/empathy.schemas.in.h:18 msgid "Empathy should use the avatar of the contact as the chat window icon" -msgstr "" -"துவங்கும் போது எம்பதி அரட்டை சாரளத்தில் சின்னமாக தொடர்பின் அவதாரத்தை காட்ட வேண்டும்." +msgstr "துவங்கும் போது எம்பதி அரட்டை சாரளத்தில் சின்னமாக தொடர்பின் அவதாரத்தை காட்ட வேண்டும்." -#: ../data/empathy.schemas.in.h:14 +#: ../data/empathy.schemas.in.h:19 msgid "Enable popup notifications for new messages" msgstr "புதிய செய்திகளுக்கு துள்ளு அறிவிப்புகளை செயல்படுத்து " -#: ../data/empathy.schemas.in.h:15 +#: ../data/empathy.schemas.in.h:20 msgid "Enable spell checker" msgstr "சொல் திருத்தியை செயல்படுத்து" -#: ../data/empathy.schemas.in.h:16 +#: ../data/empathy.schemas.in.h:21 msgid "Hide main window" msgstr "முதன்மை சாளரத்தை மறை " -#: ../data/empathy.schemas.in.h:17 +#: ../data/empathy.schemas.in.h:22 msgid "Hide the main window." msgstr "முதன்மை சாளரத்தை மறை " -#: ../data/empathy.schemas.in.h:18 +#: ../data/empathy.schemas.in.h:23 msgid "NetworkManager should be used" msgstr "வலைப்பின்னல் மேலாளரை பயன்படுத்த வேண்டும்" -#: ../data/empathy.schemas.in.h:19 +#: ../data/empathy.schemas.in.h:24 msgid "Nick completed character" msgstr "செல்லப்பெயரை பூர்த்தி செய்யும் எழுத்துரு" -#: ../data/empathy.schemas.in.h:20 +#: ../data/empathy.schemas.in.h:25 msgid "Open new chats in separate windows" msgstr "புதிய அரட்டைகளை தனி சாளரத்தில் திற" -#: ../data/empathy.schemas.in.h:21 +#: ../data/empathy.schemas.in.h:26 +msgid "Path of the adium theme to use" +msgstr "பயன்படுத்த வேண்டிய ஏடியம் கருத்துக்கு பாதை" + +#: ../data/empathy.schemas.in.h:27 +msgid "Path of the adium theme to use if the theme used for chat is adium." +msgstr "அரட்டை அறைகளில் எடியம் கருத்தை பயன்படுத்த வேண்டுமானால் அதன் பாதை" + +#: ../data/empathy.schemas.in.h:28 msgid "Play a sound for incoming messages" msgstr "உள்வரும் செய்திகளுக்கு ஒலி எழுப்பு" -#: ../data/empathy.schemas.in.h:22 +#: ../data/empathy.schemas.in.h:29 msgid "Play a sound for new conversations" msgstr "உள்வரும் உரையாடல்களுக்கு ஒலி எழுப்பு" -#: ../data/empathy.schemas.in.h:23 +#: ../data/empathy.schemas.in.h:30 msgid "Play a sound for outgoing messages" msgstr "வெளிச்செல்லும் செய்திகளுக்கு ஒலி எழுப்பு" -#: ../data/empathy.schemas.in.h:24 +#: ../data/empathy.schemas.in.h:31 msgid "Play a sound when a contact logs in" msgstr "தொடர்பு உள் நுழைகையில் ஒலி எழுப்பு" -#: ../data/empathy.schemas.in.h:25 +#: ../data/empathy.schemas.in.h:32 msgid "Play a sound when a contact logs out" msgstr "தொடர்பு வெளி செல்கையில் ஒலி எழுப்பு" -#: ../data/empathy.schemas.in.h:26 +#: ../data/empathy.schemas.in.h:33 msgid "Play a sound when we log in" msgstr "நாம் உள் நுழைகையில் ஒலி எழுப்பு" -#: ../data/empathy.schemas.in.h:27 +#: ../data/empathy.schemas.in.h:34 msgid "Play a sound when we log out" msgstr "நாம் வெளி செல்கையில் ஒலி எழுப்பு" -#: ../data/empathy.schemas.in.h:28 +#: ../data/empathy.schemas.in.h:35 msgid "Popup notifications if the chat isn't focused" msgstr "அரட்டை குவிப்பில் இல்லையானால் வெளித்துள்ளல் மூலம் அறிவி" -#: ../data/empathy.schemas.in.h:29 +#: ../data/empathy.schemas.in.h:36 msgid "Salut account is created" msgstr "சாலுட் கணக்கு துவக்கப்பட்டது " -#: ../data/empathy.schemas.in.h:30 +#: ../data/empathy.schemas.in.h:37 msgid "Show avatars" msgstr "அவதாரங்களை காட்டு" -#: ../data/empathy.schemas.in.h:31 +#: ../data/empathy.schemas.in.h:38 +msgid "Show contact list in rooms" +msgstr "தொடர்பு பட்டியல் ஐ அறைகளில் காட்டு " + +#: ../data/empathy.schemas.in.h:39 msgid "Show hint about closing the main window" msgstr "முதன்மை சாளரத்தை மூடிவது குறித்து குறிப்பு காட்டு " -#: ../data/empathy.schemas.in.h:32 +#: ../data/empathy.schemas.in.h:40 msgid "Show offline contacts" msgstr " வலை தொடர்பில்லாத தொடர்புகளை காட்டு" -#: ../data/empathy.schemas.in.h:33 +#: ../data/empathy.schemas.in.h:41 msgid "Spell checking languages" msgstr "எழுத்துப்பிழை திருத்த மொழி" -#: ../data/empathy.schemas.in.h:34 +#: ../data/empathy.schemas.in.h:42 msgid "The default folder to save file transfers in." msgstr "இடமாற்றிய கோப்புகளை சேமிக்க முன்னிருப்பு அடைவு" -#: ../data/empathy.schemas.in.h:35 +#: ../data/empathy.schemas.in.h:43 msgid "The last directory that an avatar image was chosen from." msgstr "அவதாரம் படம் தேர்ந்தெடுத்த கடைசி அடைவு " -#: ../data/empathy.schemas.in.h:36 +#: ../data/empathy.schemas.in.h:44 msgid "The theme that is used to display the conversation in chat windows." msgstr "அரட்டை சாளரங்களில் உரையாடல்களை காட்ட பயன்படும் கருத்து" -#: ../data/empathy.schemas.in.h:37 +#: ../data/empathy.schemas.in.h:45 msgid "Use graphical smileys" msgstr "வரைகலை சிரிப்பான்களை பயன்படுத்துக" -#: ../data/empathy.schemas.in.h:38 +#: ../data/empathy.schemas.in.h:46 msgid "Use notification sounds" msgstr "அறிவிப்பு ஒலிகளை பயன்படுத்துக" -#: ../data/empathy.schemas.in.h:39 +#: ../data/empathy.schemas.in.h:47 msgid "Use theme for chat rooms" msgstr "அரட்டை அறைகளுக்கு கருத்துக்களை பயன்படுத்துக" -#: ../data/empathy.schemas.in.h:40 +#: ../data/empathy.schemas.in.h:48 +msgid "Whether or not Empathy can publish the user's location to his contacts." +msgstr "பயனரின் இடத்தை தொடர்புகளுக்கு எம்பதி காட்ட வேண்டுமா இல்லையா?" + +#: ../data/empathy.schemas.in.h:49 +msgid "Whether or not Empathy can use the GPS to guess the location." +msgstr "எம்பதி பயனரின் இடத்தை ஊகிக்க ஜிபிஎஸ் ஐ பயன்படுத்தலாமா இல்லையா." + +#: ../data/empathy.schemas.in.h:50 +msgid "Whether or not Empathy can use the cellular network to guess the location." +msgstr "எம்பதி பயனரின் இடத்தை ஊகிக்க அலைபேசி வலையை பயன்படுத்தலாமா இல்லையா." + +#: ../data/empathy.schemas.in.h:51 +msgid "Whether or not Empathy can use the network to guess the location." +msgstr "எம்பதி பயனரின் இடத்தை ஊகிக்க வலையை பயன்படுத்தலாமா இல்லையா." + +#: ../data/empathy.schemas.in.h:52 msgid "" "Whether or not Empathy has asked about importing accounts from other " "programs." -msgstr "" -"எம்பதி மற்ற நிரல்களில் இருந்து கணக்குகளை இறக்குமதி செய்வது குறித்து வினவியதா இல்லையா." +msgstr "எம்பதி மற்ற நிரல்களில் இருந்து கணக்குகளை இறக்குமதி செய்வது குறித்து வினவியதா இல்லையா." -#: ../data/empathy.schemas.in.h:41 +#: ../data/empathy.schemas.in.h:53 msgid "" "Whether or not Empathy should automatically log in to your accounts on " "startup." msgstr "எம்பதி துவங்கும்போது கணக்குகளில் தானியங்கியாக உள்நுழைய வேண்டுமா இல்லையா." -#: ../data/empathy.schemas.in.h:42 +#: ../data/empathy.schemas.in.h:54 +msgid "" +"Whether or not Empathy should reduce the location's accuracy for privacy " +"reasons." +msgstr "அந்தரங்கத்தை காப்பாற்ற துவங்கும் போது எம்பதி இடத்தின் குறிப்பை குறைக்க வேண்டுமா இல்லையா" + +#: ../data/empathy.schemas.in.h:55 msgid "" "Whether or not Empathy should use the avatar of the contact as the chat " "window icon." msgstr "எம்பதி தொடர்பின் அவதாரத்தை அரட்டை அறை சின்னமாக பயன்படுத்த வேண்டுமா இல்லையா." -#: ../data/empathy.schemas.in.h:43 -msgid "" -"Whether or not the Salut account has been created on the first Empathy run." +#: ../data/empathy.schemas.in.h:56 +msgid "Whether or not the Salut account has been created on the first Empathy run." msgstr "முதல் ஓட்டத்தில் எம்பதி சலூட் கணக்கை உருவாக்கியதா இல்லையா." -#: ../data/empathy.schemas.in.h:44 +#: ../data/empathy.schemas.in.h:57 msgid "" "Whether or not the network manager should be used to automatically " "disconnect/reconnect." @@ -217,57 +268,55 @@ msgstr "" "வலைப்பின்னல் மேலாளர் ஐ தானியங்கியாக இணைக்கவும் இணைப்பு விலகவும் பயன்படுத்த வேண்டுமா " "இல்லையா" -#: ../data/empathy.schemas.in.h:45 +#: ../data/empathy.schemas.in.h:58 msgid "" "Whether or not to check words typed against the languages you want to check " "with." msgstr "நீங்கள் விரும்பிய மொழிகளில் உள்ளிட்ட சொற்களை சோதிக்க வேண்டுமா இல்லையா?" -#: ../data/empathy.schemas.in.h:46 -msgid "" -"Whether or not to convert smileys into graphical images in conversations." +#: ../data/empathy.schemas.in.h:59 +msgid "Whether or not to convert smileys into graphical images in conversations." msgstr "உரையாடல்களில் சிரிப்பான்களை வரைகலை படங்களாக மாற்ற வேண்டுமா இல்லையா?" -#: ../data/empathy.schemas.in.h:47 -msgid "" -"Whether or not to play a sound to notify for contacts logging in the network." +#: ../data/empathy.schemas.in.h:60 +msgid "Whether or not to play a sound to notify for contacts logging in the network." msgstr "வலைப்பின்னலில் தொடர்புகள் உள்நுழையும் போது ஒலியை எழுப்ப வேண்டுமா இல்லையா?" -#: ../data/empathy.schemas.in.h:48 +#: ../data/empathy.schemas.in.h:61 msgid "" "Whether or not to play a sound to notify for contacts logging off the " "network." msgstr "வலைப்பின்னலில் தொடர்புகள் வெளிச்செல்லும் போது ஒலியை எழுப்ப வேண்டுமா இல்லையா?" -#: ../data/empathy.schemas.in.h:49 +#: ../data/empathy.schemas.in.h:62 msgid "Whether or not to play a sound to notify for events." msgstr "நிகழ்வுகள் போது ஒலியை எழுப்ப வேண்டுமா இல்லையா?" -#: ../data/empathy.schemas.in.h:50 +#: ../data/empathy.schemas.in.h:63 msgid "Whether or not to play a sound to notify for incoming messages." msgstr "செய்திகள் உள்வரும் போது ஒலியை எழுப்ப வேண்டுமா இல்லையா?" -#: ../data/empathy.schemas.in.h:51 +#: ../data/empathy.schemas.in.h:64 msgid "Whether or not to play a sound to notify for new conversations." msgstr "புதிய உரையாடல்கள் போது ஒலியை எழுப்ப வேண்டுமா இல்லையா?" -#: ../data/empathy.schemas.in.h:52 +#: ../data/empathy.schemas.in.h:65 msgid "Whether or not to play a sound to notify for outgoing messages." msgstr "செய்திகள் வெளிச்செல்லும் போது ஒலியை எழுப்ப வேண்டுமா இல்லையா?" -#: ../data/empathy.schemas.in.h:53 +#: ../data/empathy.schemas.in.h:66 msgid "Whether or not to play a sound when logging in a network." msgstr "வலைப்பின்னலில் உள்நுழையும் போது ஒலி இயக்க வேண்டுமா இல்லையா?" -#: ../data/empathy.schemas.in.h:54 +#: ../data/empathy.schemas.in.h:67 msgid "Whether or not to play a sound when logging off a network." msgstr "வலைப்பின்னலில் வெளிச்செல்லும் போது ஒலி இயக்க வேண்டுமா இல்லையா?" -#: ../data/empathy.schemas.in.h:55 +#: ../data/empathy.schemas.in.h:68 msgid "Whether or not to play sound notifications when away or busy." msgstr "வெளியே அல்லது வேலையாக உள்ள போது ஒலி அறிக்கைகளை இயக்க வேண்டுமா இல்லையா?" -#: ../data/empathy.schemas.in.h:56 +#: ../data/empathy.schemas.in.h:69 msgid "" "Whether or not to show a popup notification when receiving a new message " "even if the chat is already opened, but not focused." @@ -275,26 +324,29 @@ msgstr "" "புதிய செய்தி ஒன்று வரும்போது அரட்டை திறந்து இருந்து குவிப்பில் இல்லாவிட்டாலும் துள்ளு " "அறிக்கையை காட்ட வேண்டுமா இல்லையா?" -#: ../data/empathy.schemas.in.h:57 -msgid "" -"Whether or not to show a popup notification when receiving a new message." +#: ../data/empathy.schemas.in.h:70 +msgid "Whether or not to show a popup notification when receiving a new message." msgstr "புதிய செய்தி ஒன்று வரும்போது துள்ளு அறிக்கையை காட்ட வேண்டுமா இல்லையா?" -#: ../data/empathy.schemas.in.h:58 +#: ../data/empathy.schemas.in.h:71 msgid "" "Whether or not to show avatars for contacts in the contact list and chat " "windows." msgstr "அரட்டை பட்டியலிலும் தொடர்பு பட்டியலிலும் அவதாரங்களை காட்ட வேண்டுமா இல்லையா?" -#: ../data/empathy.schemas.in.h:59 +#: ../data/empathy.schemas.in.h:72 msgid "Whether or not to show contacts that are offline in the contact list." msgstr "தொடர்பு பட்டியலிலும் இணைப்பில் இல்லாத தொடர்புகளை காட்ட வேண்டுமா இல்லையா?" -#: ../data/empathy.schemas.in.h:60 +#: ../data/empathy.schemas.in.h:73 msgid "Whether or not to show popup notifications when away or busy." msgstr "வெளியே அல்லது வேலையாக உள்ள போது துள்ளு அறிக்கைகளை காட்ட வேண்டுமா இல்லையா?" -#: ../data/empathy.schemas.in.h:61 +#: ../data/empathy.schemas.in.h:74 +msgid "Whether or not to show the contact list in chat rooms." +msgstr "அரட்டை அறையில் தொடர்பு பட்டியலை காட்ட வேண்டுமா இல்லையா?" + +#: ../data/empathy.schemas.in.h:75 msgid "" "Whether or not to show the message dialog about closing the main window with " "the 'x' button in the title bar." @@ -302,15 +354,15 @@ msgstr "" "தலைப்பு பட்டியில் x பொத்தானால் முதன்மை சாளரத்தை மூடுவதை குறித்த உரையாடலை காட்ட " "வேண்டுமா இல்லையா?" -#: ../data/empathy.schemas.in.h:62 +#: ../data/empathy.schemas.in.h:76 msgid "Whether to show the contact list in compact mode or not." msgstr "அடக்கப்பாங்கில் தொடர்பு பட்டியலை காட்ட வேண்டுமா இல்லையா?" -#: ../data/empathy.schemas.in.h:63 +#: ../data/empathy.schemas.in.h:77 msgid "Whether to use the theme for chat rooms or not." msgstr "அரட்டை அறைகளில் கருத்துக்களை பயன்படுத்த வேண்டுமா இல்லையா?" -#: ../data/empathy.schemas.in.h:64 +#: ../data/empathy.schemas.in.h:78 msgid "" "Which criterium to use when sorting the contact list. Default is to use sort " "by the contact's name with the value \"name\". A value of \"state\" will " @@ -320,36 +372,130 @@ msgstr "" "பெயர் மதிப்பு \"பெயர்\". \"நிலை\" என்ற மதிப்பு தொடர்பை நிலையை பொருத்து " "வரிசைப்படுத்தும்." -#: ../libempathy/empathy-tp-contact-list.c:727 ../src/empathy.c:278 +#: ../libempathy/empathy-ft-handler.c:838 +msgid "The hash of the received file and the sent one do not match" +msgstr "பெற்ற கோப்பின் ஹாஷ் உம் அனுப்பியகோப்பின் ஹாஷ் உம் இசையவில்லை." + +#: ../libempathy/empathy-ft-handler.c:1098 +msgid "File transfer not supported by remote contact" +msgstr "கோப்பு பறிமாற்றத்துக்கு தொலை தொலைதொடர்பில் ஆதரவில்லை" + +#: ../libempathy/empathy-ft-handler.c:1156 +msgid "The selected file is not a regular file" +msgstr "தேர்ந்தெடுத்த கோப்பு வழக்கமான கோப்பு அல்ல" + +#: ../libempathy/empathy-ft-handler.c:1165 +msgid "The selected file is empty" +msgstr "தேர்ந்தெடுத்த கோப்பு காலியாக உள்ளது" + +#: ../libempathy/empathy-tp-contact-list.c:757 ../src/empathy.c:287 msgid "People nearby" msgstr "அருகில் உள்ள மக்கள்" -#: ../libempathy/empathy-utils.c:251 +#: ../libempathy/empathy-tp-file.c:279 +msgid "Socket type not supported" +msgstr "சொருகி வாய் வகை க்கு ஆதரவில்லை" + +#: ../libempathy/empathy-tp-file.c:398 +msgid "No reason was specified" +msgstr "காரணம் குறிப்பிடவில்லை" + +#: ../libempathy/empathy-tp-file.c:401 +msgid "The change in state was requested" +msgstr "நிலையில் மாற்றம் வேண்டப்பட்டது" + +#: ../libempathy/empathy-tp-file.c:404 +msgid "You canceled the file transfer" +msgstr "நீங்கள் கோப்பு பரி மாற்றத்தை ரத்து செய்தீர்கள்" + +#: ../libempathy/empathy-tp-file.c:407 +msgid "The other participant canceled the file transfer" +msgstr "மற்ற பங்குதாரர் கோப்பு பரி மாற்றத்தை ரத்து செய்தார்." + +#: ../libempathy/empathy-tp-file.c:410 +msgid "Error while trying to transfer the file" +msgstr "கோப்பு பரி மாற்றத்தில் பிழை " + +#: ../libempathy/empathy-tp-file.c:413 +msgid "The other participant is unable to transfer the file" +msgstr "மற்ற பங்குதாரர் கோப்பு பரி மாற்றத்தை செய்ய முடியவில்லை." + +#: ../libempathy/empathy-tp-file.c:416 +msgid "Unknown reason" +msgstr "தெரியாத காரணம்" + +#: ../libempathy/empathy-utils.c:274 msgid "Available" msgstr "இருப்பவை" -#: ../libempathy/empathy-utils.c:253 +#: ../libempathy/empathy-utils.c:276 msgid "Busy" msgstr "வேலையில்" -#: ../libempathy/empathy-utils.c:256 +#: ../libempathy/empathy-utils.c:279 msgid "Away" msgstr "வெளியில்" -#: ../libempathy/empathy-utils.c:258 +#: ../libempathy/empathy-utils.c:281 msgid "Hidden" msgstr "மறைந்துள்ள" -#: ../libempathy/empathy-utils.c:261 +#: ../libempathy/empathy-utils.c:283 msgid "Offline" msgstr "இணைப்பு விலகி" +#: ../libempathy/empathy-time.c:137 +#, c-format +msgid "%d second ago" +msgid_plural "%d seconds ago" +msgstr[0] "%d வினாடி முன்" +msgstr[1] "%d வினாடிகள் முன்" + +#: ../libempathy/empathy-time.c:142 +#, c-format +msgid "%d minute ago" +msgid_plural "%d minutes ago" +msgstr[0] "%d நிமிடம் முன்" +msgstr[1] "%d நிமிடங்கள் முன்" + +#: ../libempathy/empathy-time.c:147 +#, c-format +msgid "%d hour ago" +msgid_plural "%d hours ago" +msgstr[0] "%d மணி முன்" +msgstr[1] "%d மணிகள் முன்" + +#: ../libempathy/empathy-time.c:152 +#, c-format +msgid "%d day ago" +msgid_plural "%d days ago" +msgstr[0] "%d நாள் முன்" +msgstr[1] "%d நாட்கள் முன்" + +#: ../libempathy/empathy-time.c:157 +#, c-format +msgid "%d week ago" +msgid_plural "%d weeks ago" +msgstr[0] "%d வாரம் முன்" +msgstr[1] "%d வாரங்கள் முன்" + +#: ../libempathy/empathy-time.c:162 +#, c-format +msgid "%d month ago" +msgid_plural "%d months ago" +msgstr[0] "%d மாதம் முன்" +msgstr[1] "%d மாதங்கள் முன்" + +#: ../libempathy/empathy-time.c:167 +msgid "in the future" +msgstr "எதிர்காலத்தில்" + #: ../libempathy-gtk/empathy-account-chooser.c:419 msgid "All" msgstr "அனைத்து" #: ../libempathy-gtk/empathy-account-widget.c:302 -#: ../libempathy-gtk/empathy-account-widget.c:349 +#: ../libempathy-gtk/empathy-account-widget.c:354 #, c-format msgid "%s:" msgstr "%s:" @@ -363,8 +509,8 @@ msgstr "%s:" #: ../libempathy-gtk/empathy-account-widget-salut.ui.h:1 #: ../libempathy-gtk/empathy-account-widget-sip.ui.h:1 #: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:1 -msgid "Advanced" -msgstr " மேம்பட்ட" +msgid "Advanced" +msgstr "மேம்பட்ட" #: ../libempathy-gtk/empathy-account-widget-aim.ui.h:2 #: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:3 @@ -395,12 +541,12 @@ msgstr "_P துறை:" #: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:11 #: ../libempathy-gtk/empathy-account-widget-msn.ui.h:5 #: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:9 -#: ../src/empathy-new-chatroom-dialog.ui.h:8 +#: ../src/empathy-new-chatroom-dialog.ui.h:9 msgid "_Server:" msgstr "(_S) சேவையகம்:" #: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:2 -#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:3 +#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:2 #: ../libempathy-gtk/empathy-account-widget-msn.ui.h:2 msgid "Login I_D:" msgstr "உள்நுழை அடையாளம் (_D):" @@ -419,44 +565,40 @@ msgid "New Network" msgstr "புதிய வலையமைப்பு" #: ../libempathy-gtk/empathy-account-widget-irc.ui.h:1 -msgid "Network" -msgstr "பிணையம்" - -#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:2 -msgid "Servers" -msgstr " சேவையகங்கள்" - -#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:3 msgid "Charset:" msgstr "எழுத்துருதொகுதி:" -#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:4 +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:2 msgid "Network" msgstr "வலையமைப்பு" -#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:5 +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:3 msgid "Network:" msgstr "பிணையம்:" -#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:6 +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:4 msgid "Nickname:" msgstr "புனைப்பெயர்:" -#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:7 +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:5 msgid "Password:" msgstr "கடவுச்சொல்:" -#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:8 +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:6 msgid "Quit message:" msgstr "வெளிச்செல் செய்திகள்:" -#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:9 +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:7 msgid "Real name:" msgstr "உண்மையான பெயர்:" -#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:2 -msgid "Override server settings" -msgstr "சேவையக அமைப்பை உதாசீனம் செய்" +#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:8 +msgid "Servers" +msgstr "சேவையகங்கள்" + +#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:3 +msgid "Override server settings" +msgstr "சேவையக அமைப்பை உதாசீனம் செய்" #: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:5 msgid "Pri_ority:" @@ -564,124 +706,120 @@ msgstr "அனைத்து கோப்புகள்" msgid "Click to enlarge" msgstr "பெரியதாக்க சொடுக்குக" -#: ../libempathy-gtk/empathy-chat.c:178 +#: ../libempathy-gtk/empathy-chat.c:186 msgid "Failed to reconnect this chat" msgstr "இந்த அரட்டைக்கு மீள் இணைப்பு தோற்றது " -#: ../libempathy-gtk/empathy-chat.c:396 +#: ../libempathy-gtk/empathy-chat.c:404 msgid "Unsupported command" msgstr "ஆதரவில்லாத கட்டளை" -#: ../libempathy-gtk/empathy-chat.c:531 +#: ../libempathy-gtk/empathy-chat.c:539 msgid "offline" msgstr "இணைப்பு விலகி " -#: ../libempathy-gtk/empathy-chat.c:534 +#: ../libempathy-gtk/empathy-chat.c:542 msgid "invalid contact" msgstr "செல்லுபடியாகாத தொடர்பு" -#: ../libempathy-gtk/empathy-chat.c:537 +#: ../libempathy-gtk/empathy-chat.c:545 msgid "permission denied" msgstr "அனுமதி மறுக்கப்பட்டது" -#: ../libempathy-gtk/empathy-chat.c:540 +#: ../libempathy-gtk/empathy-chat.c:548 msgid "too long message" msgstr "மிக நீள செய்தி" -#: ../libempathy-gtk/empathy-chat.c:543 +#: ../libempathy-gtk/empathy-chat.c:551 msgid "not implemented" msgstr "அமுலாக்கவில்லை" -#: ../libempathy-gtk/empathy-chat.c:546 +#: ../libempathy-gtk/empathy-chat.c:554 msgid "unknown" msgstr "தெரியாத" -#: ../libempathy-gtk/empathy-chat.c:550 +#: ../libempathy-gtk/empathy-chat.c:558 #, c-format msgid "Error sending message '%s': %s" msgstr "செய்தி '%s' அனுப்புவதில் பிழை: %s" -#: ../libempathy-gtk/empathy-chat.c:580 +#: ../libempathy-gtk/empathy-chat.c:588 #, c-format msgid "Topic set to: %s" msgstr "தலைப்பு இதற்கு அமை: %s" -#: ../libempathy-gtk/empathy-chat.c:582 +#: ../libempathy-gtk/empathy-chat.c:590 msgid "No topic defined" msgstr "தலைப்பு ஏதும் வரையறுக்கப்படவில்லை" -#: ../libempathy-gtk/empathy-chat.c:951 +#: ../libempathy-gtk/empathy-chat.c:959 msgid "(No Suggestions)" msgstr "(பரிந்துரைகள் இல்லை )" -#: ../libempathy-gtk/empathy-chat.c:1005 +#: ../libempathy-gtk/empathy-chat.c:1013 msgid "Insert Smiley" msgstr "சிரிப்பானை சொருகு" #. send button -#: ../libempathy-gtk/empathy-chat.c:1023 -#: ../libempathy-gtk/empathy-ui-utils.c:1507 +#: ../libempathy-gtk/empathy-chat.c:1031 +#: ../libempathy-gtk/empathy-ui-utils.c:1476 msgid "_Send" msgstr "அனுப்பு (_S)" -#: ../libempathy-gtk/empathy-chat.c:1057 +#: ../libempathy-gtk/empathy-chat.c:1065 msgid "_Spelling Suggestions" msgstr "_S எழுத்தாக்க பரிந்துரைகள் " -#: ../libempathy-gtk/empathy-chat.c:1171 +#: ../libempathy-gtk/empathy-chat.c:1179 #, c-format msgid "%s has joined the room" msgstr "%s அறையில் சேர்ந்தார்" -#: ../libempathy-gtk/empathy-chat.c:1174 +#: ../libempathy-gtk/empathy-chat.c:1182 #, c-format msgid "%s has left the room" msgstr "%s அறையில் இருந்து வெளியேறினார்" -#: ../libempathy-gtk/empathy-chat.c:1289 ../src/empathy-call-window.c:889 +#: ../libempathy-gtk/empathy-chat.c:1313 ../src/empathy-call-window.c:1199 msgid "Disconnected" msgstr "துண்டிக்கபட்டது" -#: ../libempathy-gtk/empathy-chat.c:1700 +#: ../libempathy-gtk/empathy-chat.c:1742 msgid "Connected" msgstr "இணைக்கப்பட்டது" -#: ../libempathy-gtk/empathy-chat.c:1750 +#: ../libempathy-gtk/empathy-chat.c:1792 #: ../libempathy-gtk/empathy-log-window.c:501 msgid "Conversation" msgstr "உரையாடல்" -#: ../libempathy-gtk/empathy-chat.ui.h:1 -msgid "Topic:" -msgstr " தலைப்பு" +#: ../libempathy-gtk/empathy-chat.ui.h:1 ../src/empathy-chat-window.c:471 +msgid "Topic:" +msgstr "தலைப்பு:" -#: ../libempathy-gtk/empathy-chat-text-view.c:323 +#: ../libempathy-gtk/empathy-chat-text-view.c:316 msgid "_Copy Link Address" msgstr "இணைப்பு முகவரியை நகலெடு (_C)" -#: ../libempathy-gtk/empathy-chat-text-view.c:331 +#: ../libempathy-gtk/empathy-chat-text-view.c:323 msgid "_Open Link" msgstr "இணைப்பினை திற (_O)" #. Translators: timestamp displayed between conversations in #. * chat windows (strftime format string) -#: ../libempathy-gtk/empathy-chat-text-view.c:424 +#: ../libempathy-gtk/empathy-chat-text-view.c:415 msgid "%A %B %d %Y" msgstr "%A %B %d %Y" #: ../libempathy-gtk/empathy-contact-dialogs.c:179 -#: ../libempathy-gtk/empathy-contact-dialogs.c:237 +#: ../libempathy-gtk/empathy-contact-dialogs.c:238 msgid "Edit Contact Information" msgstr "தொடர்பின் தகவல் ஐ திருத்து" -#: ../libempathy-gtk/empathy-contact-dialogs.c:288 +#: ../libempathy-gtk/empathy-contact-dialogs.c:289 msgid "Personal Information" msgstr "தனிப்பட்ட தகவல்" -#: ../libempathy-gtk/empathy-contact-dialogs.c:368 -msgid "I would like to add you to my contact list." -msgstr "உங்களை என் தொடர்பு பட்டியலில் சேர்க்க விரும்புகிறேன்." - #: ../libempathy-gtk/empathy-contact-dialogs.c:392 msgid "New Contact" msgstr "புதிய தொடர்பு" @@ -694,52 +832,45 @@ msgstr "(_L) பிறகு முடிவு எடுக்கலாம்" msgid "Subscription Request" msgstr "சந்தா வேண்டுதல்" -#: ../libempathy-gtk/empathy-contact-list-view.c:1377 +#: ../libempathy-gtk/empathy-contact-list-view.c:1378 #, c-format msgid "Do you really want to remove the group '%s'?" msgstr "நீங்கள் நிச்சயம் குழு '%s' ஐ நீக்க விரும்புகிறீர்களா?" -#: ../libempathy-gtk/empathy-contact-list-view.c:1379 +#: ../libempathy-gtk/empathy-contact-list-view.c:1380 msgid "Removing group" msgstr "குழுவை நீக்குதல்" -#: ../libempathy-gtk/empathy-contact-list-view.c:1426 +#: ../libempathy-gtk/empathy-contact-list-view.c:1427 #: ../libempathy-gtk/empathy-contact-list-view.c:1505 msgid "_Remove" msgstr "நீக்கவும் (_R)" -#: ../libempathy-gtk/empathy-contact-list-view.c:1456 +#: ../libempathy-gtk/empathy-contact-list-view.c:1457 #, c-format msgid "Do you really want to remove the contact '%s'?" msgstr "நீங்கள் நிச்சயம் தொடர்பு '%s' ஐ நீக்க விரும்புகிறீர்களா?" -#: ../libempathy-gtk/empathy-contact-list-view.c:1458 +#: ../libempathy-gtk/empathy-contact-list-view.c:1459 msgid "Removing contact" msgstr "தொடர்பு ஐ நீக்குதல்" -#: ../libempathy-gtk/empathy-contact-list-view.c:1463 -msgid "Sorry, I don't want you in my contact list anymore." -msgstr "மன்னிக்கவும். மேலும் நீங்கள் தொடர்பு பட்டியலில் இருக்க வேண்டாம்." - #: ../libempathy-gtk/empathy-contact-menu.c:135 -#: ../src/empathy-main-window.ui.h:9 +#: ../src/empathy-main-window.ui.h:8 msgid "_Chat" msgstr "_C அரட்டை" #: ../libempathy-gtk/empathy-contact-menu.c:166 - msgctxt "menu item" msgid "_Audio Call" msgstr "(_A) ஒலி அழைப்பு" #: ../libempathy-gtk/empathy-contact-menu.c:198 - msgctxt "menu item" msgid "_Video Call" msgstr "(_V) விடியோ அழைப்பு" #: ../libempathy-gtk/empathy-contact-menu.c:237 -#: ../src/empathy-main-window.ui.h:18 msgid "_View Previous Conversations" msgstr "(_V) முந்தைய உரையாடல்கள் ஐ காண்" @@ -768,58 +899,167 @@ msgstr "(_I) அரட்டை அறைக்கு அழைப்பு" msgid "Select a contact" msgstr "ஒரு தொடர்பு ஐ தேர்வு செய்க" -#: ../libempathy-gtk/empathy-contact-widget.c:413 +#: ../libempathy-gtk/empathy-contact-widget.c:440 msgid "Save Avatar" msgstr "அவதாரத்தை சேமி" -#: ../libempathy-gtk/empathy-contact-widget.c:469 +#: ../libempathy-gtk/empathy-contact-widget.c:496 msgid "Unable to save avatar" msgstr "அவதாரத்தை சேமிக்க முடியவில்லை" -#: ../libempathy-gtk/empathy-contact-widget.c:952 +#: ../libempathy-gtk/empathy-contact-widget.c:979 msgid "Select" msgstr "தேர்வு" -#: ../libempathy-gtk/empathy-contact-widget.c:961 -#: ../src/empathy-main-window.c:894 +#: ../libempathy-gtk/empathy-contact-widget.c:988 +#: ../src/empathy-main-window.c:905 msgid "Group" msgstr "குழு" -#: ../libempathy-gtk/empathy-contact-widget.ui.h:1 -msgid "Client Information" -msgstr " சார்ந்தோன் தகவல்" +#: ../libempathy-gtk/empathy-contact-widget.c:1239 +msgid "Country ISO Code:" +msgstr "நாட்டின் ஐஎஸ்ஓ குறி:" -#: ../libempathy-gtk/empathy-contact-widget.ui.h:2 -msgid "Contact Details" -msgstr "சார்ந்தோன் தொடர்பு விவரங்கள்" +#: ../libempathy-gtk/empathy-contact-widget.c:1241 +msgid "Country:" +msgstr "நாடு:" -#: ../libempathy-gtk/empathy-contact-widget.ui.h:3 -msgid "Contact" -msgstr "தொடர்பு" +#: ../libempathy-gtk/empathy-contact-widget.c:1243 +msgid "State:" +msgstr "மாநிலம்:" -#: ../libempathy-gtk/empathy-contact-widget.ui.h:4 -msgid "Groups" -msgstr "குழுக்கள்" +#: ../libempathy-gtk/empathy-contact-widget.c:1245 +msgid "City:" +msgstr "மாநகரம்:" -#: ../libempathy-gtk/empathy-contact-widget.ui.h:5 +#: ../libempathy-gtk/empathy-contact-widget.c:1247 +msgid "Area:" +msgstr "வட்டாரம்" + +#: ../libempathy-gtk/empathy-contact-widget.c:1249 +msgid "Postal Code:" +msgstr "அஞ்சல் குறி:" + +#: ../libempathy-gtk/empathy-contact-widget.c:1251 +msgid "Street:" +msgstr "தெரு:" + +#: ../libempathy-gtk/empathy-contact-widget.c:1253 +msgid "Building:" +msgstr "கட்டிடம்:" + +#: ../libempathy-gtk/empathy-contact-widget.c:1255 +msgid "Floor:" +msgstr "தளம்:" + +#: ../libempathy-gtk/empathy-contact-widget.c:1257 +msgid "Room:" +msgstr "அறை:" + +#: ../libempathy-gtk/empathy-contact-widget.c:1259 +msgid "Text:" +msgstr "உரை:" + +#: ../libempathy-gtk/empathy-contact-widget.c:1261 +msgid "Description:" +msgstr "விவரணம்:" + +#: ../libempathy-gtk/empathy-contact-widget.c:1263 +msgid "URI:" +msgstr "யூஆர்ஐ:" + +#: ../libempathy-gtk/empathy-contact-widget.c:1265 +msgid "Accuracy Level:" +msgstr "பிழையின்மை மட்டம்:" + +#: ../libempathy-gtk/empathy-contact-widget.c:1267 +msgid "Error:" +msgstr " பிழை:" + +#: ../libempathy-gtk/empathy-contact-widget.c:1269 +msgid "Vertical Error (meters):" +msgstr "செங்குத்து பிழை (மீட்டர்கள்):" + +#: ../libempathy-gtk/empathy-contact-widget.c:1271 +msgid "Horizontal Error (meters):" +msgstr "கிடைமட்ட பிழை (மீட்டர்கள்):" + +#: ../libempathy-gtk/empathy-contact-widget.c:1273 +msgid "Speed:" +msgstr "வேகம்:" + +#: ../libempathy-gtk/empathy-contact-widget.c:1275 +msgid "Bearing:" +msgstr "திசை கோணம்:" + +#: ../libempathy-gtk/empathy-contact-widget.c:1277 +msgid "Climb Speed:" +msgstr "ஏறும் வேகம்:" + +#: ../libempathy-gtk/empathy-contact-widget.c:1279 +msgid "Last Updated on:" +msgstr "கடைசியாக இற்றைப்படுத்தியது:" + +#: ../libempathy-gtk/empathy-contact-widget.c:1281 +msgid "Longitude:" +msgstr "தீர்கரேகை:" + +#: ../libempathy-gtk/empathy-contact-widget.c:1283 +msgid "Latitude:" +msgstr "அட்சரேகை:" + +#: ../libempathy-gtk/empathy-contact-widget.c:1285 +msgid "Altitude:" +msgstr "குத்துயரம்:" + +#: ../libempathy-gtk/empathy-contact-widget.c:1332 +msgid "Location" +msgstr "இடம்" + +#: ../libempathy-gtk/empathy-contact-widget.c:1345 +msgid "Location, " +msgstr "இடம்" + +#: ../libempathy-gtk/empathy-contact-widget.c:1395 +msgid "%B %e, %Y at %R UTC" +msgstr "%B %e, %Y %R யூடுசி (UTC) இல்" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:1 +msgid "Location at (date)\t" +msgstr "இடம் (date) போது\t" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:2 #: ../libempathy-gtk/empathy-new-message-dialog.ui.h:1 #: ../src/empathy-chatrooms-window.ui.h:1 #: ../src/empathy-new-chatroom-dialog.ui.h:1 msgid "Account:" msgstr "கணக்கு:" -#: ../libempathy-gtk/empathy-contact-widget.ui.h:6 +#: ../libempathy-gtk/empathy-contact-widget.ui.h:3 msgid "Alias:" msgstr "புனைப்பெயர்:" -#: ../libempathy-gtk/empathy-contact-widget.ui.h:7 +#: ../libempathy-gtk/empathy-contact-widget.ui.h:4 msgid "Birthday:" msgstr "பிறந்தநாள்:" -#: ../libempathy-gtk/empathy-contact-widget.ui.h:8 +#: ../libempathy-gtk/empathy-contact-widget.ui.h:5 +msgid "Client Information" +msgstr "சார்ந்தோன் தகவல்" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:6 msgid "Client:" msgstr "சார்ந்தோன்:" +#: ../libempathy-gtk/empathy-contact-widget.ui.h:7 +#: ../src/empathy-main-window.c:888 +msgid "Contact" +msgstr "தொடர்பு" + +#: ../libempathy-gtk/empathy-contact-widget.ui.h:8 +msgid "Contact Details" +msgstr "தொடர்பு விவரங்கள்" + #: ../libempathy-gtk/empathy-contact-widget.ui.h:9 msgid "Email:" msgstr "மின்னஞ்சல்:" @@ -828,20 +1068,24 @@ msgstr "மின்னஞ்சல்:" msgid "Fullname:" msgstr "முழுப்பெயர்:" +#: ../libempathy-gtk/empathy-contact-widget.ui.h:11 +msgid "Groups" +msgstr "குழுக்கள்" + #. Identifier to connect to Instant Messaging network -#: ../libempathy-gtk/empathy-contact-widget.ui.h:12 +#: ../libempathy-gtk/empathy-contact-widget.ui.h:13 msgid "Identifier:" msgstr "இனங்காட்டி:" -#: ../libempathy-gtk/empathy-contact-widget.ui.h:13 +#: ../libempathy-gtk/empathy-contact-widget.ui.h:14 msgid "Information requested..." msgstr "தகவல் வேண்டுதல்..." -#: ../libempathy-gtk/empathy-contact-widget.ui.h:14 +#: ../libempathy-gtk/empathy-contact-widget.ui.h:15 msgid "OS:" msgstr "OS:" -#: ../libempathy-gtk/empathy-contact-widget.ui.h:15 +#: ../libempathy-gtk/empathy-contact-widget.ui.h:16 msgid "" "Select the groups you want this contact to appear in. Note that you can " "select more than one group or no groups." @@ -849,15 +1093,15 @@ msgstr "" "இந்த தொடர்பு வர வேன்டிய குழுவை தேர்வு செய்க. நீங்கள் ஒன்றுக்கு மேற்பட்ட குழுக்களை தேர்வு " "செய்யலாம் அல்லது ஒன்றையும் தேர்வு செய்யாதிருக்கலாம்." -#: ../libempathy-gtk/empathy-contact-widget.ui.h:16 +#: ../libempathy-gtk/empathy-contact-widget.ui.h:17 msgid "Version:" msgstr "பதிப்பு:" -#: ../libempathy-gtk/empathy-contact-widget.ui.h:17 +#: ../libempathy-gtk/empathy-contact-widget.ui.h:18 msgid "Web site:" msgstr "வலைத்தளம்:" -#: ../libempathy-gtk/empathy-contact-widget.ui.h:18 +#: ../libempathy-gtk/empathy-contact-widget.ui.h:19 msgid "_Add Group" msgstr "குழுவை சேர் (_A)" @@ -924,40 +1168,40 @@ msgstr "புதிய உரையாடல்" #. COL_DISPLAY_MARKUP #. COL_STATUS_CUSTOMISABLE #. COL_TYPE -#: ../libempathy-gtk/empathy-presence-chooser.c:169 +#: ../libempathy-gtk/empathy-presence-chooser.c:172 msgid "Custom Message..." msgstr "தனிப்பயன் செய்தி..." -#: ../libempathy-gtk/empathy-presence-chooser.c:225 +#: ../libempathy-gtk/empathy-presence-chooser.c:227 msgid "Edit Custom Messages..." msgstr "திருத்து- தனிப்பயன் செய்திகள்..." -#: ../libempathy-gtk/empathy-presence-chooser.c:324 +#: ../libempathy-gtk/empathy-presence-chooser.c:326 msgid "Click to remove this status as a favorite" msgstr "இந்த நிலை பிடித்த நிலையாக இருப்பதை நீக்க சொடுக்கவும் " -#: ../libempathy-gtk/empathy-presence-chooser.c:333 +#: ../libempathy-gtk/empathy-presence-chooser.c:335 msgid "Click to make this status a favorite" msgstr "இந்த நிலை பிடித்த நிலையாக ஆக்க சொடுக்கவும் " -#: ../libempathy-gtk/empathy-presence-chooser.c:367 +#: ../libempathy-gtk/empathy-presence-chooser.c:369 msgid "Set status" msgstr "நிலையை அமை" -#: ../libempathy-gtk/empathy-presence-chooser.c:776 +#: ../libempathy-gtk/empathy-presence-chooser.c:782 msgid "Set your presence and current status" msgstr "உங்கள் நடப்பு நிலையையும் இருப்பையௌம் அமை " #. Custom messages -#: ../libempathy-gtk/empathy-presence-chooser.c:1011 +#: ../libempathy-gtk/empathy-presence-chooser.c:1017 msgid "Custom messages..." msgstr "தனிப்பயன் செய்திகள்..." -#: ../libempathy-gtk/empathy-status-preset-dialog.c:360 +#: ../libempathy-gtk/empathy-status-preset-dialog.c:362 msgid "Enter Custom Message" msgstr "தனிப்பயன் செய்தியை உள்ளிடுக" -#: ../libempathy-gtk/empathy-status-preset-dialog.c:482 +#: ../libempathy-gtk/empathy-status-preset-dialog.c:521 msgid "Edit Custom Messages" msgstr "தனிப்பயன் செய்திகளை திருத்துக" @@ -977,67 +1221,75 @@ msgstr "ஜிடிகே-சேர்" msgid "gtk-remove" msgstr "ஜிடிகே-நீக்கு" -#: ../libempathy-gtk/empathy-theme-manager.c:60 +#: ../libempathy-gtk/empathy-theme-manager.c:66 msgid "Classic" msgstr "தொன்மையான" -#: ../libempathy-gtk/empathy-theme-manager.c:61 +#: ../libempathy-gtk/empathy-theme-manager.c:67 msgid "Simple" msgstr "எளிய" -#: ../libempathy-gtk/empathy-theme-manager.c:62 +#: ../libempathy-gtk/empathy-theme-manager.c:68 msgid "Clean" msgstr "சுத்தமான" -#: ../libempathy-gtk/empathy-theme-manager.c:63 +#: ../libempathy-gtk/empathy-theme-manager.c:69 msgid "Blue" msgstr "நீலம்" -#: ../libempathy-gtk/empathy-ui-utils.c:1354 +#: ../libempathy-gtk/empathy-theme-manager.c:71 +msgid "Adium" +msgstr "ஏடியம்" + +#: ../libempathy-gtk/empathy-ui-utils.c:1378 msgid "Unable to open URI" msgstr "யூஆர்ஐ ஐ திறக்க முடியவில்லை" -#: ../libempathy-gtk/empathy-ui-utils.c:1499 +#: ../libempathy-gtk/empathy-ui-utils.c:1468 msgid "Select a file" msgstr "கோப்பை தேர்வு செய்" -#: ../libempathy-gtk/empathy-ui-utils.c:1535 +#: ../libempathy-gtk/empathy-ui-utils.c:1526 +msgid "Select a destination" +msgstr "ஒரு இலக்கிடம் தேர்வு செய்க" + +#: ../libempathy-gtk/empathy-ui-utils.c:1555 msgid "Received an instant message" msgstr "ஒரு உடனடி செய்தி கிடைக்கப்பெற்றது" -#: ../libempathy-gtk/empathy-ui-utils.c:1537 +#: ../libempathy-gtk/empathy-ui-utils.c:1557 msgid "Sent an instant message" msgstr "ஒரு உடனடி செய்தி அனுப்பு" -#: ../libempathy-gtk/empathy-ui-utils.c:1539 +#: ../libempathy-gtk/empathy-ui-utils.c:1559 msgid "Incoming chat request" msgstr "உள்வரும் அரட்டை வேண்டுதல்" -#: ../libempathy-gtk/empathy-ui-utils.c:1541 +#: ../libempathy-gtk/empathy-ui-utils.c:1561 msgid "Contact connected" msgstr "தொடர்பு இணைக்கப்பட்டது" -#: ../libempathy-gtk/empathy-ui-utils.c:1543 +#: ../libempathy-gtk/empathy-ui-utils.c:1563 msgid "Contact disconnected" msgstr "தொடர்பு துண்டிக்கப்பட்டது" -#: ../libempathy-gtk/empathy-ui-utils.c:1545 +#: ../libempathy-gtk/empathy-ui-utils.c:1565 msgid "Connected to server" msgstr "சேவையகத்துக்கு இணைக்கப்பட்டது" -#: ../libempathy-gtk/empathy-ui-utils.c:1547 +#: ../libempathy-gtk/empathy-ui-utils.c:1567 msgid "Disconnected from server" msgstr "சேவையகத்துக்கு இணைப்பு துண்டிக்கபட்டது" -#: ../libempathy-gtk/empathy-ui-utils.c:1549 +#: ../libempathy-gtk/empathy-ui-utils.c:1569 msgid "Incoming voice call" msgstr "உள்வரும் குரல் அழைப்பு" -#: ../libempathy-gtk/empathy-ui-utils.c:1551 +#: ../libempathy-gtk/empathy-ui-utils.c:1571 msgid "Outgoing voice call" msgstr "வெளி செல்லும் குரல் அழைப்பு" -#: ../libempathy-gtk/empathy-ui-utils.c:1553 +#: ../libempathy-gtk/empathy-ui-utils.c:1573 msgid "Voice call ended" msgstr "குரல் அழைப்பு முடிந்தது" @@ -1212,8 +1464,7 @@ msgstr "வியட்னாம்" #. * vim: sw=2 ts=8 cindent noai bs=2 #. #: ../megaphone/data/GNOME_Megaphone_Applet.schemas.in.h:1 -msgid "" -"The contact to display in the applet. Empty means no contact is displayed." +msgid "The contact to display in the applet. Empty means no contact is displayed." msgstr "சிறுநிரலில் காட்ட வேண்டிய தொடர்பு. காலி எனில் காட்ட தொடர்பு இல்லை" #: ../megaphone/data/GNOME_Megaphone_Applet.schemas.in.h:2 @@ -1239,7 +1490,7 @@ msgid "_Information" msgstr "(_I) தகவல்" #: ../megaphone/data/GNOME_Megaphone_Applet.xml.h:3 -#: ../src/empathy-main-window.ui.h:16 +#: ../src/empathy-main-window.ui.h:18 msgid "_Preferences" msgstr "முன்னுரிமைகள் (_P)" @@ -1260,19 +1511,19 @@ msgstr "இருப்பு" msgid "Set your own presence" msgstr "உங்கள் இருப்பை அமைக்கவும்" -#: ../src/empathy.c:437 +#: ../src/empathy.c:478 msgid "Don't connect on startup" msgstr "துவங்கும்போது இணைக்க வேண்டாம்" -#: ../src/empathy.c:441 +#: ../src/empathy.c:482 msgid "Don't show the contact list on startup" msgstr "துவங்கும்போது தொடர்பு பட்டியல் ஐ காட்ட வேண்டாம்" -#: ../src/empathy.c:445 +#: ../src/empathy.c:486 msgid "Show the accounts dialog" msgstr "கணக்குகள் உரையாடல் ஐ காட்டு " -#: ../src/empathy.c:457 +#: ../src/empathy.c:498 msgid "- Empathy Instant Messenger" msgstr "- எம்பதி உடனடி செய்தியாளர்" @@ -1316,21 +1567,21 @@ msgstr "க்னோமுக்கு ஒரு உடனடி செய்த msgid "translator-credits" msgstr "மொழிபெயர்ப்பாளர்-நன்றி அறிதல் " -#: ../src/empathy-accounts-dialog.c:391 +#: ../src/empathy-accounts-dialog.c:393 msgid "Enabled" msgstr "செயலாக்கப்பட்டது" -#: ../src/empathy-accounts-dialog.c:401 ../src/empathy-accounts-dialog.ui.h:4 +#: ../src/empathy-accounts-dialog.c:403 ../src/empathy-accounts-dialog.ui.h:1 msgid "Accounts" msgstr "கணக்குகள்" #. To translator: %s is the protocol name -#: ../src/empathy-accounts-dialog.c:834 +#: ../src/empathy-accounts-dialog.c:837 #, c-format msgid "New %s account" msgstr "புதிய %s கணக்கு" -#: ../src/empathy-accounts-dialog.c:944 +#: ../src/empathy-accounts-dialog.c:950 #, c-format msgid "" "You are about to remove your %s account!\n" @@ -1339,7 +1590,7 @@ msgstr "" "நீங்கள் உங்கள் %s கணக்கை நீக்கப்போகிறீர்கள்!\n" "நிச்சயம் தொடர வேண்டுமா?" -#: ../src/empathy-accounts-dialog.c:950 +#: ../src/empathy-accounts-dialog.c:956 msgid "" "Any associated conversations and chat rooms will NOT be removed if you " "decide to proceed.\n" @@ -1352,30 +1603,30 @@ msgstr "" "\n" "ஒரு வேளை பின்னொரு சமயம் கணக்கை புதுப்பிக்க எண்ணினால் அவை கிடைக்கும்." -#: ../src/empathy-accounts-dialog.ui.h:1 -msgid "New Account" -msgstr " புதிய கணக்கு" - #: ../src/empathy-accounts-dialog.ui.h:2 -msgid "No protocol installed" -msgstr "நெறிமுறைகள் ஏதும் நிறுவவில்லை" +msgid "Add Account" +msgstr "கணக்கு சேர்" #: ../src/empathy-accounts-dialog.ui.h:3 -msgid "Settings" -msgstr " அமைப்புகள்" - -#: ../src/empathy-accounts-dialog.ui.h:5 msgid "Cr_eate" msgstr "(_e) உருவாக்கு" -#: ../src/empathy-accounts-dialog.ui.h:6 -msgid "I already have an account I want to use" -msgstr "நான் பயன்படுத்த ஏற்கெனெவே ஒரு கணக்கு உள்ளது" +#: ../src/empathy-accounts-dialog.ui.h:4 +msgid "Gmail" +msgstr "ஜிமெய்ல்" -#: ../src/empathy-accounts-dialog.ui.h:7 +#: ../src/empathy-accounts-dialog.ui.h:5 msgid "Import Accounts..." msgstr "கணக்குகளை இறக்குமதி செய்க..." +#: ../src/empathy-accounts-dialog.ui.h:6 +msgid "No protocol installed" +msgstr "நெறிமுறைகள் ஏதும் நிறுவவில்லை" + +#: ../src/empathy-accounts-dialog.ui.h:7 +msgid "Settings" +msgstr "அமைப்புகள்" + #: ../src/empathy-accounts-dialog.ui.h:8 msgid "" "To add a new account, you first have to install a backend for each protocol " @@ -1392,53 +1643,61 @@ msgstr "வகை:" msgid "_Add..." msgstr "சேர்... (_A)" -#: ../src/empathy-call-window.c:370 +#: ../src/empathy-accounts-dialog.ui.h:11 +msgid "_Create a new account" +msgstr "(_C) ஒரு புதிய கணக்கை துவக்கு" + +#: ../src/empathy-accounts-dialog.ui.h:12 +msgid "_Reuse an existing account" +msgstr "(_R) இருக்கும் ஒரு கணக்கை மறு உபயோகம் செய்க" + +#: ../src/empathy-call-window.c:63 +msgid "Connecting..." +msgstr "இணைக்கிறது...." + +#: ../src/empathy-call-window.c:415 msgid "Contrast" msgstr "வேறுபாடு" -#: ../src/empathy-call-window.c:373 +#: ../src/empathy-call-window.c:418 msgid "Brightness" msgstr "வெளிச்சம்" -#: ../src/empathy-call-window.c:376 +#: ../src/empathy-call-window.c:421 msgid "Gamma" msgstr "காமா" -#: ../src/empathy-call-window.c:480 +#: ../src/empathy-call-window.c:526 msgid "Volume" msgstr "ஒலி அளவு" -#: ../src/empathy-call-window.c:592 +#: ../src/empathy-call-window.c:728 msgid "_Sidebar" msgstr "பக்கப்பட்டை(_S)" -#: ../src/empathy-call-window.c:611 +#: ../src/empathy-call-window.c:747 msgid "Dialpad" msgstr "டயல் அட்டை" -#: ../src/empathy-call-window.c:617 +#: ../src/empathy-call-window.c:753 msgid "Audio input" msgstr "ஒலி உள்ளீடு" -#: ../src/empathy-call-window.c:621 +#: ../src/empathy-call-window.c:757 msgid "Video input" msgstr "வீடியோ உள்ளீடு" -#: ../src/empathy-call-window.c:645 -msgid "Connecting..." -msgstr "இணைக்கிறது...." - -#: ../src/empathy-call-window.c:660 +#: ../src/empathy-call-window.c:820 #, c-format msgid "Call with %s" msgstr "%s ஆல் அழை " -#: ../src/empathy-call-window.c:694 +#: ../src/empathy-call-window.c:889 msgid "Call" msgstr "அழை" #. Translators: number of minutes:seconds the caller has been connected -#: ../src/empathy-call-window.c:971 +#: ../src/empathy-call-window.c:1308 #, c-format msgid "Connected — %d:%02dm" msgstr "இணைக்கப்பட்டது — %d:%02dm" @@ -1448,43 +1707,38 @@ msgid "Hang up" msgstr "துண்டி" #: ../src/empathy-call-window.ui.h:2 +msgid "Redial" +msgstr "மறு முயற்சி" + +#: ../src/empathy-call-window.ui.h:3 msgid "Send Audio" msgstr "ஒலி அனுப்பு " -#: ../src/empathy-call-window.ui.h:3 +#: ../src/empathy-call-window.ui.h:4 msgid "Send video" msgstr "விடியோ அனுப்பு" -#: ../src/empathy-call-window.ui.h:4 +#: ../src/empathy-call-window.ui.h:5 msgid "Video preview" msgstr "ஒளித்தோற்ற முன்னோட்டம்" -#: ../src/empathy-call-window.ui.h:5 +#: ../src/empathy-call-window.ui.h:6 msgid "_Call" msgstr "(_C) அழை" -#: ../src/empathy-call-window.ui.h:6 +#: ../src/empathy-call-window.ui.h:7 ../src/empathy-main-window.ui.h:21 msgid "_View" msgstr "பார்வை (_V)" -#: ../src/empathy-chat-window.c:308 +#: ../src/empathy-chat-window.c:343 #, c-format msgid "Conversations (%d)" msgstr "உரையாடல்கள் (%d)" -#: ../src/empathy-chat-window.c:413 -msgid "Topic:" -msgstr "தலைப்பு:" - -#: ../src/empathy-chat-window.c:418 +#: ../src/empathy-chat-window.c:475 msgid "Typing a message." msgstr "செய்திகள் தட்டச்சிடல்" -#: ../src/empathy-chat-window.c:889 ../src/empathy-event-manager.c:429 -#, c-format -msgid "New message from %s" -msgstr "%s இடமிருந்து புதிய செய்திகள்" - #: ../src/empathy-chatrooms-window.c:258 msgid "Name" msgstr "பெயர்" @@ -1518,59 +1772,58 @@ msgstr "(_R) ஏற்காதே" msgid "_Answer" msgstr "(_A) பதிலளி" -#: ../src/empathy-event-manager.c:507 +#: ../src/empathy-event-manager.c:505 #, c-format msgid "Incoming call from %s" msgstr "%s இடமிருந்து உள்வரும் அழைப்பு" -#: ../src/empathy-event-manager.c:547 +#: ../src/empathy-event-manager.c:545 #, c-format msgid "%s is offering you an invitation" msgstr "%s உங்களுக்கு ஒரு அழைப்பு வேண்டுதல் விடுக்கிறார்" -#: ../src/empathy-event-manager.c:553 +#: ../src/empathy-event-manager.c:551 msgid "An external application will be started to handle it." msgstr "இதை கையாள ஒரு வெளி பயன்பாடு துவக்கப்படும்." -#: ../src/empathy-event-manager.c:558 +#: ../src/empathy-event-manager.c:556 msgid "You don't have the needed external application to handle it." msgstr "இதை கையாள தேவையான ஒரு வெளி பயன்பாடு உங்கள் கணினியில் இல்லை." -#: ../src/empathy-event-manager.c:685 +#: ../src/empathy-event-manager.c:683 msgid "Room invitation" msgstr "அறை அழைப்பு" -#: ../src/empathy-event-manager.c:688 +#: ../src/empathy-event-manager.c:686 #, c-format msgid "%s is inviting you to join %s" msgstr "%s உங்களை %s உடன் சேர அழைக்கிறார்." -#. Decline button -#: ../src/empathy-event-manager.c:696 ../src/empathy-ft-manager.c:1037 +#: ../src/empathy-event-manager.c:694 msgid "_Decline" msgstr "நிராகரி (_D)" -#: ../src/empathy-event-manager.c:701 -#: ../src/empathy-new-chatroom-dialog.ui.h:6 +#: ../src/empathy-event-manager.c:699 +#: ../src/empathy-new-chatroom-dialog.ui.h:7 msgid "_Join" msgstr "(_J) இணை" -#: ../src/empathy-event-manager.c:740 +#: ../src/empathy-event-manager.c:738 #, c-format msgid "%s invited you to join %s" msgstr "%s %s இல் சேர உங்களை அழைத்துள்ளார்" -#: ../src/empathy-event-manager.c:848 +#: ../src/empathy-event-manager.c:764 #, c-format msgid "Incoming file transfer from %s" msgstr "%s இடமிருந்து உள்வரும் கோப்பு பரிமாற்றம்." -#: ../src/empathy-event-manager.c:923 +#: ../src/empathy-event-manager.c:944 #, c-format msgid "Subscription requested by %s" msgstr "%s இன் சந்தா வேண்டுதல்" -#: ../src/empathy-event-manager.c:927 +#: ../src/empathy-event-manager.c:948 #, c-format msgid "" "\n" @@ -1580,159 +1833,110 @@ msgstr "" "செய்தி: %s" #. Translators: time left, when it is more than one hour -#: ../src/empathy-ft-manager.c:114 +#: ../src/empathy-ft-manager.c:101 #, c-format msgid "%u:%02u.%02u" msgstr "%u:%02u.%02u" #. Translators: time left, when is is less than one hour -#: ../src/empathy-ft-manager.c:117 +#: ../src/empathy-ft-manager.c:104 #, c-format msgid "%02u.%02u" msgstr "%02u.%02u" -#: ../src/empathy-ft-manager.c:166 -msgid "No reason was specified" -msgstr "காரணம் குறிப்பிடவில்லை" - -#: ../src/empathy-ft-manager.c:168 -msgid "The change in state was requested" -msgstr "நிலையில் மாற்றம் வேண்டப்பட்டது" - -#: ../src/empathy-ft-manager.c:170 -msgid "You canceled the file transfer" -msgstr "நீங்கள் கோப்பு பரி மாற்றத்தை ரத்து செய்தீர்கள்" - -#: ../src/empathy-ft-manager.c:172 -msgid "The other participant canceled the file transfer" -msgstr "மற்ற பங்குதாரர் கோப்பு பரி மாற்றத்தை ரத்து செய்தார்." - -#: ../src/empathy-ft-manager.c:174 -msgid "Error while trying to transfer the file" -msgstr "கோப்பு பரி மாற்றத்தில் பிழை " +#: ../src/empathy-ft-manager.c:180 +msgctxt "file transfer percent" +msgid "Unknown" +msgstr "தெரியாத" -#: ../src/empathy-ft-manager.c:176 -msgid "The other participant is unable to transfer the file" -msgstr "மற்ற பங்குதாரர் கோப்பு பரி மாற்றத்தை செய்ய முடியவில்லை." +#: ../src/empathy-ft-manager.c:275 +#, c-format +msgid "%s of %s at %s/s" +msgstr "%s %sல் %s/s இல்" -#: ../src/empathy-ft-manager.c:178 -msgid "Unknown reason" -msgstr "தெரியாத காரணம்" +#: ../src/empathy-ft-manager.c:276 +#, c-format +msgid "%s of %s" +msgstr "%s %sல் " #. translators: first %s is filename, second %s is the contact name -#: ../src/empathy-ft-manager.c:228 +#: ../src/empathy-ft-manager.c:307 #, c-format msgid "Receiving \"%s\" from %s" msgstr " \"%s\" ஐ %s இடமிருந்து பெறுகிறது" #. translators: first %s is filename, second %s is the contact name -#: ../src/empathy-ft-manager.c:231 +#: ../src/empathy-ft-manager.c:310 #, c-format msgid "Sending \"%s\" to %s" msgstr "\"%s\" ஐ %s க்கு அனுப்புகிறது" -#: ../src/empathy-ft-manager.c:242 -msgctxt "file size" -msgid "Unknown" -msgstr "தெரியாத" +#. translators: first %s is filename, second %s +#. * is the contact name +#: ../src/empathy-ft-manager.c:340 +#, c-format +msgid "Error receiving \"%s\" from %s" +msgstr " \"%s\" ஐ %s இடமிருந்து பெறுகையில் பிழை" -#. translators: first %s is the transferred size, second %s is -#. * the total file size -#: ../src/empathy-ft-manager.c:251 +#: ../src/empathy-ft-manager.c:343 +msgid "Error receiving a file" +msgstr "கோப்பு பெறுகையில் பிழை" + +#: ../src/empathy-ft-manager.c:348 #, c-format -msgid "%s of %s at %s/s" -msgstr "%s %sல் %s/s இல்" +msgid "Error sending \"%s\" to %s" +msgstr "\"%s\" ஐ %s க்கு அனுப்புகையில் பிழை" -#: ../src/empathy-ft-manager.c:259 -msgid "Waiting for the other participant's response" -msgstr "மற்ற பங்கேற்பாளரின் பதிலுக்கு காத்திருத்தல்" +#: ../src/empathy-ft-manager.c:351 +msgid "Error sending a file" +msgstr "கோப்பு அனுப்புவதில் பிழை" -#: ../src/empathy-ft-manager.c:269 +#. translators: first %s is filename, second %s +#. * is the contact name +#: ../src/empathy-ft-manager.c:490 #, c-format msgid "\"%s\" received from %s" msgstr "\"%s\" %s இடமிருந்து கிடைத்தது" -#: ../src/empathy-ft-manager.c:275 +#. translators: first %s is filename, second %s +#. * is the contact name +#: ../src/empathy-ft-manager.c:495 #, c-format msgid "\"%s\" sent to %s" msgstr "\"%s\" %s க்கு அனுப்பப்பட்டது" -#: ../src/empathy-ft-manager.c:278 +#: ../src/empathy-ft-manager.c:498 msgid "File transfer completed" msgstr "கோப்பு பறிமாற்றம் முடிந்தது" -#: ../src/empathy-ft-manager.c:287 -#, c-format -msgid "\"%s\" receiving from %s" -msgstr "\"%s\" %s இடமிருந்து பெறப்படுகிறது" +#: ../src/empathy-ft-manager.c:617 ../src/empathy-ft-manager.c:784 +msgid "Waiting for the other participant's response" +msgstr "மற்ற பங்கேற்பாளரின் பதிலுக்கு காத்திருத்தல்" -#: ../src/empathy-ft-manager.c:293 +#: ../src/empathy-ft-manager.c:643 ../src/empathy-ft-manager.c:681 #, c-format -msgid "\"%s\" sending to %s" -msgstr "\"%s\" %s க்கு அனுப்பப்படுகிறது" +msgid "Checking integrity of \"%s\"" +msgstr " \"%s\" இன் நம்பகத்தன்மையை சோதிக்கிறது" -#: ../src/empathy-ft-manager.c:296 +#: ../src/empathy-ft-manager.c:646 ../src/empathy-ft-manager.c:684 #, c-format -msgid "File transfer canceled: %s" -msgstr "கோப்பு பறிமாற்றம் ரத்து செய்யப்பட்டது.: %s" - -#: ../src/empathy-ft-manager.c:310 -msgctxt "remaining time" -msgid "Stalled" -msgstr "Stalled" - -#: ../src/empathy-ft-manager.c:313 -msgctxt "remaining time" -msgid "Unknown" -msgstr "தெரியாத" - -#: ../src/empathy-ft-manager.c:372 -msgctxt "file transfer percent" -msgid "Unknown" -msgstr "தெரியாத" +msgid "Hashing \"%s\"" +msgstr " \"%s\" இன் ஹாஷ் மதிப்பை கணக்கிடுகிறது" -#: ../src/empathy-ft-manager.c:668 +#: ../src/empathy-ft-manager.c:1024 msgid "%" msgstr "%" -#: ../src/empathy-ft-manager.c:680 +#: ../src/empathy-ft-manager.c:1036 msgid "File" msgstr "கோப்பு" -#: ../src/empathy-ft-manager.c:702 +#: ../src/empathy-ft-manager.c:1058 msgid "Remaining" msgstr "மீதமுள்ளவை" -#: ../src/empathy-ft-manager.c:900 -msgid "Cannot save file to this location" -msgstr "இந்த இடத்தில் கோப்பை சேமிக்க முடியவில்லை" - -#: ../src/empathy-ft-manager.c:946 -msgid "Save file as..." -msgstr "கோப்பை இவ்வாறு சேமி..." - -#: ../src/empathy-ft-manager.c:1016 -msgid "unknown size" -msgstr "தெரியாத அளவு" - -#: ../src/empathy-ft-manager.c:1022 -#, c-format -msgid "%s would like to send you a file" -msgstr " %s உங்களுக்கு ஒரு கோப்பை அனுப்ப விழைகிறார்." - -#. Translators: the first %s is the file name, the second %s is the file size -#: ../src/empathy-ft-manager.c:1028 -#, c-format -msgid "Do you want to accept the file \"%s\" (%s)?" -msgstr "கோப்பு \"%s\" (%s) ஐ ஏற்க விருப்பமா?" - -#. Accept button -#: ../src/empathy-ft-manager.c:1046 -msgid "_Accept" -msgstr "ஏற்றுக்கொள் (_A)" - #: ../src/empathy-ft-manager.ui.h:1 -msgid "File transfers" +msgid "File Transfers" msgstr "கோப்பு பறிமாற்றங்கள் " #: ../src/empathy-ft-manager.ui.h:2 @@ -1766,139 +1970,147 @@ msgstr "" msgid "Import Accounts" msgstr "இறக்குமதி செய் கணக்குகள்" -#: ../src/empathy-main-window.c:393 +#: ../src/empathy-main-window.c:395 msgid "_Edit account" msgstr "(_E) கணக்குகளை திருத்துக" -#: ../src/empathy-main-window.c:496 +#: ../src/empathy-main-window.c:498 msgid "No error specified" msgstr "பிழை ஏதும் குறிப்பிடவில்லை" -#: ../src/empathy-main-window.c:499 +#: ../src/empathy-main-window.c:501 msgid "Network error" msgstr "வலையமைப்பு பிழை" -#: ../src/empathy-main-window.c:502 +#: ../src/empathy-main-window.c:504 msgid "Authentication failed" msgstr "உறுதி செய்தல் தோல்வி" -#: ../src/empathy-main-window.c:505 +#: ../src/empathy-main-window.c:507 msgid "Encryption error" msgstr "மறையாக்க பிழை" -#: ../src/empathy-main-window.c:508 +#: ../src/empathy-main-window.c:510 msgid "Name in use" msgstr "பயனில் உள்ள பெயர் " -#: ../src/empathy-main-window.c:511 +#: ../src/empathy-main-window.c:513 msgid "Certificate not provided" msgstr "சான்றிதழ் தரப்படவில்லை" -#: ../src/empathy-main-window.c:514 +#: ../src/empathy-main-window.c:516 msgid "Certificate untrusted" msgstr "சான்றிதழில் நம்பக தன்மை இல்லை" -#: ../src/empathy-main-window.c:517 +#: ../src/empathy-main-window.c:519 msgid "Certificate expired" msgstr "சான்றிதழ் காலாவதியானது" -#: ../src/empathy-main-window.c:520 +#: ../src/empathy-main-window.c:522 msgid "Certificate not activated" msgstr "சான்றிதழ் செயல்படுத்தப்படவில்லை" -#: ../src/empathy-main-window.c:523 +#: ../src/empathy-main-window.c:525 msgid "Certificate hostname mismatch" msgstr "சான்றிதழ் புரவலன் பெயர் ஒத்திசையவில்லை" -#: ../src/empathy-main-window.c:526 +#: ../src/empathy-main-window.c:528 msgid "Certificate fingerprint mismatch" msgstr "சான்றிதழ் அடையாளம் ஒத்திசையவில்லை" -#: ../src/empathy-main-window.c:529 +#: ../src/empathy-main-window.c:531 msgid "Certificate self-signed" msgstr "சான்றிதழ் தானே கையெழுத்திட்டது" -#: ../src/empathy-main-window.c:532 +#: ../src/empathy-main-window.c:534 msgid "Certificate error" msgstr "சான்றிதழ் பிழை" -#: ../src/empathy-main-window.c:535 +#: ../src/empathy-main-window.c:537 msgid "Unknown error" msgstr "தெரியாத பிழை" -#: ../src/empathy-main-window.c:877 -msgid "Contact" -msgstr "தொடர்பு" - -#: ../src/empathy-main-window.c:1194 +#: ../src/empathy-main-window.c:1220 msgid "Show and edit accounts" msgstr "கணக்குகளை காட்டவும் மற்றும் திருத்தவும் " -#: ../src/empathy-main-window.ui.h:1 +#: ../src/empathy-main-window.ui.h:1 ../src/empathy-preferences.ui.h:10 msgid "Contact List" msgstr "தொடர்பு பட்டியல்" #: ../src/empathy-main-window.ui.h:2 +msgid "Contacts on a _Map" +msgstr "(_M) தொடர்புகளை படத்தில் காட்டு " + +#: ../src/empathy-main-window.ui.h:3 msgid "Context" msgstr "சூழல்" -#: ../src/empathy-main-window.ui.h:3 +#: ../src/empathy-main-window.ui.h:4 msgid "Join _Favorites" msgstr "(_F) விருப்பங்கள் சேர் " -#: ../src/empathy-main-window.ui.h:4 +#: ../src/empathy-main-window.ui.h:5 msgid "Manage Favorites" msgstr "விருப்பங்களை மேலாளுக" -#: ../src/empathy-main-window.ui.h:5 -msgid "Show _File Transfers" -msgstr "(_F) கோப்பு பறிமாற்றங்களை காட்டுக" - #: ../src/empathy-main-window.ui.h:6 -msgid "Show _Offline Contacts" -msgstr "(_O) இணைப்பு விலகி உள்ள தொடர்புகள் ஐ காட்டுக" - -#: ../src/empathy-main-window.ui.h:7 msgid "_Accounts" msgstr "கணக்குகள் (_A)" -#: ../src/empathy-main-window.ui.h:8 +#: ../src/empathy-main-window.ui.h:7 msgid "_Add Contact..." msgstr "(_A) தொடர்பை சேர்..." -#: ../src/empathy-main-window.ui.h:10 +#: ../src/empathy-main-window.ui.h:9 msgid "_Contents" msgstr "உள்ளடக்கங்கள் (_C)" +#: ../src/empathy-main-window.ui.h:10 +msgid "_Debug" +msgstr "(_D) வழு நீக்கு" + #: ../src/empathy-main-window.ui.h:12 +msgid "_File Transfers" +msgstr "(_F) கோப்பு பறிமாற்றங்கள் " + +#: ../src/empathy-main-window.ui.h:13 msgid "_Help" msgstr "உதவி (_H)" -#: ../src/empathy-main-window.ui.h:13 +#: ../src/empathy-main-window.ui.h:14 msgid "_Join..." msgstr "(_J) சேர்..." -#: ../src/empathy-main-window.ui.h:14 ../src/empathy-status-icon.ui.h:2 +#: ../src/empathy-main-window.ui.h:15 ../src/empathy-status-icon.ui.h:2 msgid "_New Conversation..." msgstr "(_N) புதிய உரையாடல்..." -#: ../src/empathy-main-window.ui.h:15 +#: ../src/empathy-main-window.ui.h:16 +msgid "_Offline Contacts" +msgstr "(_O) இணைப்பு விலகி உள்ள தொடர்புகள்" + +#: ../src/empathy-main-window.ui.h:17 msgid "_Personal Information" msgstr "(_P) தனிப்பட்ட தகவல்" -#: ../src/empathy-main-window.ui.h:17 +#: ../src/empathy-main-window.ui.h:19 +msgid "_Previous Conversations" +msgstr "(_P) முந்தைய உரையாடல்கள்" + +#: ../src/empathy-main-window.ui.h:20 msgid "_Room" msgstr "(_R) அறை" -#: ../src/empathy-new-chatroom-dialog.c:319 +#: ../src/empathy-new-chatroom-dialog.c:332 msgid "Chat Room" msgstr "அரட்டை அறை" -#: ../src/empathy-new-chatroom-dialog.c:335 +#: ../src/empathy-new-chatroom-dialog.c:348 msgid "Members" msgstr "உறுப்பினர்கள்" -#: ../src/empathy-new-chatroom-dialog.c:464 +#: ../src/empathy-new-chatroom-dialog.c:492 #, c-format msgctxt "" "Room/Join's roomlist tooltip. Parametersare a channel name, yes/no, yes/no " @@ -1910,28 +2122,39 @@ msgid "" "Members: %s" msgstr "" "%s\n" -"Invite required: %s\n" -"Password required: %s\n" -"Members: %s" +"அழைப்பு தேவை: %s\n" +"கடவுச்சொல் தேவை: %s\n" +"உறுப்பினர்கள்: %s" -#: ../src/empathy-new-chatroom-dialog.c:466 -#: ../src/empathy-new-chatroom-dialog.c:467 +#: ../src/empathy-new-chatroom-dialog.c:494 +#: ../src/empathy-new-chatroom-dialog.c:495 msgid "Yes" msgstr "ஆம்" -#: ../src/empathy-new-chatroom-dialog.c:466 -#: ../src/empathy-new-chatroom-dialog.c:467 +#: ../src/empathy-new-chatroom-dialog.c:494 +#: ../src/empathy-new-chatroom-dialog.c:495 msgid "No" msgstr "இல்லை" +#: ../src/empathy-new-chatroom-dialog.c:522 +msgid "Could not start room listing" +msgstr "அறை பட்டியலை எடுப்பதை துவக்க முடியவில்லை" + +#: ../src/empathy-new-chatroom-dialog.c:532 +msgid "Could not stop room listing" +msgstr "அறை பட்டியலை எடுப்பதை நிறுத்த முடியவில்லை" + #: ../src/empathy-new-chatroom-dialog.ui.h:2 -msgid "" -"Enter the room name to join here or click on one or more rooms in the list." +msgid "Couldn't load room list" +msgstr "அறை பட்டியலை ஏற்ற முடியவில்லை" + +#: ../src/empathy-new-chatroom-dialog.ui.h:3 +msgid "Enter the room name to join here or click on one or more rooms in the list." msgstr "" "சேருவதற்கான அறை பெயரை இங்கு உள்ளிடுக. அல்லது பட்டியலில் உள்ள ஒன்றோ மேற்பட்ட பெயர்களையோ " "சொடுக்குக." -#: ../src/empathy-new-chatroom-dialog.ui.h:3 +#: ../src/empathy-new-chatroom-dialog.ui.h:4 msgid "" "Enter the server which hosts the room, or leave it empty if the room is on " "the current account's server" @@ -1939,158 +2162,206 @@ msgstr "" "அறையை தரும் சேவையகத்தின் பெயரை இங்கு உள்ளிடுக. அல்லது அது நடப்பு சேவையகத்தில் இருந்தால் " "வெற்றாக விடவும்." -#: ../src/empathy-new-chatroom-dialog.ui.h:4 +#: ../src/empathy-new-chatroom-dialog.ui.h:5 msgid "Join Room" msgstr "அறை இல் சேர் " -#: ../src/empathy-new-chatroom-dialog.ui.h:5 +#: ../src/empathy-new-chatroom-dialog.ui.h:6 msgid "Room List" msgstr "அறை பட்டியல்" -#: ../src/empathy-new-chatroom-dialog.ui.h:7 +#: ../src/empathy-new-chatroom-dialog.ui.h:8 msgid "_Room:" msgstr "(_R) அறை:" -#: ../src/empathy-preferences.c:156 +#: ../src/empathy-preferences.c:159 msgid "Message received" msgstr "தகவல் பெறப்பட்டது" -#: ../src/empathy-preferences.c:157 +#: ../src/empathy-preferences.c:160 msgid "Message sent" msgstr "தகவல் அனுப்பப்பட்டது" -#: ../src/empathy-preferences.c:158 +#: ../src/empathy-preferences.c:161 msgid "New conversation" msgstr "புதிய உரையாடல்" -#: ../src/empathy-preferences.c:159 +#: ../src/empathy-preferences.c:162 msgid "Contact goes online" msgstr "தொடர்பு இணைபில் வருகிறார்" -#: ../src/empathy-preferences.c:160 +#: ../src/empathy-preferences.c:163 msgid "Contact goes offline" msgstr "தொடர்பு இணைப்பு விலகி செல்கிறார்" -#: ../src/empathy-preferences.c:161 +#: ../src/empathy-preferences.c:164 msgid "Account connected" msgstr "கணக்கு இணைக்கப்பட்டது" -#: ../src/empathy-preferences.c:162 +#: ../src/empathy-preferences.c:165 msgid "Account disconnected" msgstr "கணக்கு இணைப்பு நீக்கப்பட்டது" -#: ../src/empathy-preferences.c:397 +#: ../src/empathy-preferences.c:432 msgid "Language" msgstr "மொழி" #: ../src/empathy-preferences.ui.h:1 -msgid "Appearance" -msgstr "தோற்றம்" +msgid "Adium theme to use:" +msgstr "பயன்படுத்த வேண்டிய ஏடியம் கருத்து:" #: ../src/empathy-preferences.ui.h:2 -msgid "Behavior" -msgstr "நடத்தை" +msgid "Allow _GPS usage" +msgstr "(_G) ஜிபிஎஸ் பயனை அனுமதி" #: ../src/empathy-preferences.ui.h:3 -msgid "Contact List" -msgstr " தொடர்பு பட்டியல்" +msgid "Allow _cellphone usage" +msgstr "(_c) அலைபேசி பயனை அனுமதி" #: ../src/empathy-preferences.ui.h:4 -msgid "Enable spell checking for languages:" -msgstr "மொழிகளுக்கு எழுத்து பிழை திருத்தத்தை செயல்படுத்து" +msgid "Allow _network usage" +msgstr "(_n) வலைப்பின்னல் பயனை அனுமதி" #: ../src/empathy-preferences.ui.h:5 -msgid "Play sound for events" -msgstr "நிகழ்வுகளுக்கு ஒலியை இயக்கு" +msgid "Appearance" +msgstr "தோற்றம்" #: ../src/empathy-preferences.ui.h:6 -msgid "" -"The list of languages reflects only the languages for which you have " -"a dictionary installed." -msgstr "" -"இந்த பட்டியல் நீங்கள் எந்த மொழிகளுக்கு அகராதி நிறுவி இருக்கிறீர்களோ அவற்றை மட்டுமே " -"காட்டுகிறது" - -#: ../src/empathy-preferences.ui.h:7 msgid "Automatically _connect on startup " msgstr "(_c) துவங்கும்போது தானியங்கியாக இணை" -#: ../src/empathy-preferences.ui.h:8 +#: ../src/empathy-preferences.ui.h:7 msgid "Avatars are user chosen images shown in the contact list" msgstr "அவதாரங்கள் என்பது தொடர்பு பட்டியலில் காணப்படும் பயனர் தேர்ந்தெடுத்த பிம்பங்கள்" +#: ../src/empathy-preferences.ui.h:8 +msgid "Behavior" +msgstr "நடத்தை" + #: ../src/empathy-preferences.ui.h:9 msgid "Chat Th_eme:" msgstr "(_e) அரட்டை கருத்து:" -#: ../src/empathy-preferences.ui.h:10 +#: ../src/empathy-preferences.ui.h:11 msgid "Disable notifications when _away or busy" msgstr "(_a) வெளியே அல்லது வேலையில் உள்ளபோது அறிவிப்புகளை செயல் நீக்கு" -#: ../src/empathy-preferences.ui.h:11 +#: ../src/empathy-preferences.ui.h:12 msgid "Disable sounds when _away or busy" msgstr "(_a) வெளியே அல்லது வேலையில் உள்ளபோது ஒலிகளை செயல் நீக்கு" -#: ../src/empathy-preferences.ui.h:12 +#: ../src/empathy-preferences.ui.h:13 msgid "Enable notifications when the _chat is not focused" msgstr "(_c) அரட்டை குவிப்பில் இல்லாத போது அறிவிப்புகளை செயல்படுத்து" -#: ../src/empathy-preferences.ui.h:13 +#: ../src/empathy-preferences.ui.h:14 +msgid "Enable spell checking for languages:" +msgstr "மொழிகளுக்கு எழுத்து பிழை திருத்தத்தை செயல்படுத்து:" + +#: ../src/empathy-preferences.ui.h:15 msgid "General" msgstr "பொது" -#: ../src/empathy-preferences.ui.h:14 +#: ../src/empathy-preferences.ui.h:16 +msgid "Geoclue Settings" +msgstr "ஜியோ க்ளூ அமைப்புகள்" + +#: ../src/empathy-preferences.ui.h:17 +msgid "Location" +msgstr "இடம்" + +#: ../src/empathy-preferences.ui.h:18 +msgid "Not a valid adium theme" +msgstr "செல்லுபடியாகும் ஏடியம் கருத்து அல்ல" + +#: ../src/empathy-preferences.ui.h:19 msgid "Notifications" msgstr "அறிவிப்புகள்" -#: ../src/empathy-preferences.ui.h:15 +#: ../src/empathy-preferences.ui.h:20 +msgid "Play sound for events" +msgstr "நிகழ்வுகளுக்கு ஒலியை இயக்கு" + +#: ../src/empathy-preferences.ui.h:21 msgid "Preferences" msgstr "விருப்பங்கள்" -#: ../src/empathy-preferences.ui.h:16 +#: ../src/empathy-preferences.ui.h:22 +msgid "Privacy" +msgstr "அந்தரங்கம்" + +#: ../src/empathy-preferences.ui.h:23 +msgid "" +"Reduced location accuracy means that nothing more precise than your city, " +"state and country will be published. GPS coordinates will have a random " +"value added (±0.25°)." +msgstr "" +"குறைத்த இட குறிப்பு எனில் உங்கள் மாநகரம், மாநிலம், நாடு தவிர ஒன்றும் " +"வெளியிடப்படாது. ஜிபிஎஸ் ஆயத்தொலைவுகளுக்கு தற்போக்கு மதிப்பு சேர்க்கப்படும் " +"(±0.25°)." + +#: ../src/empathy-preferences.ui.h:24 msgid "Show _avatars" msgstr "(_a) அவதாரங்களை காட்டு" -#: ../src/empathy-preferences.ui.h:17 +#: ../src/empathy-preferences.ui.h:25 msgid "Show _smileys as images" msgstr "(_s) சிரிப்பான்களை பிம்பங்களாக காட்டு" -#: ../src/empathy-preferences.ui.h:18 +#: ../src/empathy-preferences.ui.h:26 msgid "Show co_mpact contact list" msgstr "(_m) அடக்கமான தொடர்பு பட்டியல் ஐ காட்டு " -#: ../src/empathy-preferences.ui.h:19 +#: ../src/empathy-preferences.ui.h:27 +msgid "Show contact _list in rooms" +msgstr "(_l) அறைகளில் தொடர்பு பட்டியல் ஐ காட்டு " + +#: ../src/empathy-preferences.ui.h:28 msgid "Sort by _name" msgstr "(_n) பெயர் ஆல் வரிசைப்படுத்து" -#: ../src/empathy-preferences.ui.h:20 +#: ../src/empathy-preferences.ui.h:29 msgid "Sort by s_tate" msgstr "(_t) நிலை வாரியாக வரிசைப்படுத்து" -#: ../src/empathy-preferences.ui.h:21 +#: ../src/empathy-preferences.ui.h:30 msgid "Sounds" msgstr "ஒலிகள்" -#: ../src/empathy-preferences.ui.h:22 +#: ../src/empathy-preferences.ui.h:31 msgid "Spell Checking" msgstr "எழுத்து பிழை திருத்தம்" -#: ../src/empathy-preferences.ui.h:23 +#: ../src/empathy-preferences.ui.h:32 +msgid "" +"The list of languages reflects only the languages for which you have a " +"dictionary installed." +msgstr "இந்த பட்டியல் நீங்கள் எந்த மொழிகளுக்கு அகராதி நிறுவி இருக்கிறீர்களோ அவற்றை மட்டுமே காட்டுகிறது" + +#: ../src/empathy-preferences.ui.h:33 msgid "Themes" msgstr "கருத்துகள்" -#: ../src/empathy-preferences.ui.h:24 +#: ../src/empathy-preferences.ui.h:34 msgid "_Enable bubble notifications" msgstr "(_E) பலூனில் அறிவிப்புகளை செயல்படுத்து" -#: ../src/empathy-preferences.ui.h:25 +#: ../src/empathy-preferences.ui.h:35 msgid "_Enable sound notifications" msgstr "(_E) ஒலி அறிவிப்புகளை செயல்படுத்து" -#: ../src/empathy-preferences.ui.h:26 +#: ../src/empathy-preferences.ui.h:36 msgid "_Open new chats in separate windows" msgstr "(_O) புதிய அரட்டைகளை தனி சாளரங்களில் திற" +#: ../src/empathy-preferences.ui.h:37 +msgid "_Publish location to my contacts" +msgstr "(_P) என் தொடர்புகளுக்கு இடத்தை வெளியிடு" + +#: ../src/empathy-preferences.ui.h:38 +msgid "_Reduce location accuracy" +msgstr "(_R) இடத்தின் குறிப்பை குறை" + #: ../src/empathy-status-icon.ui.h:1 msgid "Status" msgstr "நிலை" @@ -2114,9 +2385,78 @@ msgid "" "An invitation was offered for service %s, but you don't have the needed " "application to handle it" msgstr "" -" %s சேவைக்கு அழைப்பு கொடுக்கப்பட்டது ஆனால் அதை கையாள உங்கள் கணினியில் தேவையான பயன்பாடு " +" %s சேவைக்கு அழைப்பு கொடுக்கப்பட்டது. ஆனால் அதை கையாள உங்கள் கணினியில் தேவையான பயன்பாடு " "இல்லை" #: ../src/empathy-call-window-fullscreen.ui.h:1 msgid "gtk-leave-fullscreen" msgstr "ஜிடிகே முழுத்திரையை விட்டுவிலகு" + +#: ../src/empathy-map-view.ui.h:1 +msgid "Contact Map View" +msgstr "தொடர்புகள் படக்காட்சி" + +#: ../src/empathy-debug-dialog.c:111 ../src/empathy-debug-dialog.c:1075 +msgid "Error" +msgstr " பிழை" + +#: ../src/empathy-debug-dialog.c:114 ../src/empathy-debug-dialog.c:1069 +msgid "Critical" +msgstr "ஆபத்தானன்" + +#: ../src/empathy-debug-dialog.c:117 ../src/empathy-debug-dialog.c:1063 +msgid "Warning" +msgstr "எச்சரிக்கை" + +#: ../src/empathy-debug-dialog.c:120 ../src/empathy-debug-dialog.c:1057 +#: ../src/empathy-debug-dialog.c:1105 +msgid "Message" +msgstr "செய்தி" + +#: ../src/empathy-debug-dialog.c:123 ../src/empathy-debug-dialog.c:1051 +msgid "Info" +msgstr "தகவல்" + +#: ../src/empathy-debug-dialog.c:126 ../src/empathy-debug-dialog.c:1045 +msgid "Debug" +msgstr "வழுநீக்கு" + +#: ../src/empathy-debug-dialog.c:837 +msgid "Save" +msgstr "சேமி" + +#: ../src/empathy-debug-dialog.c:940 +msgid "Debug Window" +msgstr "வழு நீக்கு சாளரம்" + +#: ../src/empathy-debug-dialog.c:1013 +msgid "Pause" +msgstr "தாமதி" + +#: ../src/empathy-debug-dialog.c:1025 +msgid "Level " +msgstr "மட்டம்" + +#: ../src/empathy-debug-dialog.c:1094 +msgid "Time" +msgstr "நேரம்" + +#: ../src/empathy-debug-dialog.c:1096 +msgid "Domain" +msgstr "களம்" + +#: ../src/empathy-debug-dialog.c:1098 +msgid "Category" +msgstr "வகை" + +#: ../src/empathy-debug-dialog.c:1100 +msgid "Level" +msgstr "மட்டம்" + +#: ../src/empathy-debug-dialog.c:1132 +msgid "" +"The selected connection manager does not support the remote debugging " +"extension." +msgstr "தேர்ந்தெடுத்த இணைப்பு மேலாளர் தொலை வழு நீக்கத்தை ஆதரிக்கவில்லை" + + diff --git a/src/Makefile.am b/src/Makefile.am index cd13bffb..42485b7d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -83,7 +83,7 @@ EXTRA_DIST = \ $(ui_DATA) if HAVE_LIBCHAMPLAIN -empathy_SOURCES += \ +empathy_handwritten_source += \ empathy-map-view.c \ empathy-map-view.h diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c index 1dcde458..4e2f4392 100644 --- a/src/empathy-accounts-dialog.c +++ b/src/empathy-accounts-dialog.c @@ -397,7 +397,7 @@ accounts_dialog_model_add_columns (EmpathyAccountsDialog *dialog) g_signal_connect (cell, "toggled", G_CALLBACK (accounts_dialog_enable_toggled_cb), dialog); - + /* Account column */ column = gtk_tree_view_column_new (); gtk_tree_view_column_set_title (column, _("Accounts")); @@ -440,7 +440,7 @@ accounts_dialog_model_select_first (EmpathyAccountsDialog *dialog) /* select first */ view = GTK_TREE_VIEW (dialog->treeview); model = gtk_tree_view_get_model (view); - + if (gtk_tree_model_get_iter_first (model, &iter)) { selection = gtk_tree_view_get_selection (view); gtk_tree_selection_select_iter (selection, &iter); @@ -510,7 +510,7 @@ accounts_dialog_get_account_iter (EmpathyAccountsDialog *dialog, GtkTreeSelection *selection; GtkTreeModel *model; gboolean ok; - + /* Update the status in the model */ view = GTK_TREE_VIEW (dialog->treeview); selection = gtk_tree_view_get_selection (view); @@ -730,7 +730,7 @@ accounts_dialog_connection_changed_cb (EmpathyAccountManager *manager, GtkTreeModel *model; GtkTreeIter iter; gboolean found; - + /* Update the status in the model */ model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->treeview)); @@ -1041,7 +1041,7 @@ accounts_dialog_destroy_cb (GtkWidget *widget, g_object_unref (dialog->account_manager); g_object_unref (dialog->mc); - + g_free (dialog); } diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c index 4ad1b260..75c6abfc 100644 --- a/src/empathy-call-window.c +++ b/src/empathy-call-window.c @@ -488,7 +488,7 @@ empathy_call_window_mic_volume_changed_cb (GtkAdjustment *adj, priv->volume = volume; /* Ensure that the toggle button is active if the volume is > 0 and inactive - * if it's smaller then 0 */ + * if it's smaller than 0 */ if ((volume > 0) != gtk_toggle_tool_button_get_active ( GTK_TOGGLE_TOOL_BUTTON (priv->mic_button))) gtk_toggle_tool_button_set_active ( @@ -1201,13 +1201,17 @@ empathy_call_window_disconnected (EmpathyCallWindow *self) gtk_action_set_sensitive (priv->redial, TRUE); gtk_widget_set_sensitive (priv->redial_button, TRUE); - /* Reseting the send_video and camera_buton to their initial state */ + /* Reseting the send_video, camera_buton and mic_button to their + initial state */ gtk_widget_set_sensitive (priv->camera_button, FALSE); + gtk_widget_set_sensitive (priv->mic_button, FALSE); gtk_action_set_sensitive (priv->send_video, FALSE); gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (priv->send_video), initial_video); gtk_toggle_tool_button_set_active ( GTK_TOGGLE_TOOL_BUTTON (priv->camera_button), initial_video); + gtk_toggle_tool_button_set_active ( + GTK_TOGGLE_TOOL_BUTTON (priv->mic_button), TRUE); gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (priv->show_preview), FALSE); @@ -1348,6 +1352,8 @@ empathy_call_window_connected (gpointer user_data) gtk_action_set_sensitive (priv->redial, FALSE); gtk_widget_set_sensitive (priv->redial_button, FALSE); + gtk_widget_set_sensitive (priv->mic_button, TRUE); + empathy_call_window_update_avatars_visibility (call, self); g_object_unref (call); @@ -1850,6 +1856,9 @@ empathy_call_window_mic_toggled_cb (GtkToggleToolButton *toggle, EmpathyCallWindowPriv *priv = GET_PRIV (window); gboolean active; + if (priv->audio_input == NULL) + return; + active = (gtk_toggle_tool_button_get_active (toggle)); if (active) diff --git a/src/empathy-call-window.ui b/src/empathy-call-window.ui index 57d9efce..9e7c0962 100644 --- a/src/empathy-call-window.ui +++ b/src/empathy-call-window.ui @@ -19,7 +19,7 @@ - gtk-cancel + call-stop menuhangup Hang up @@ -89,7 +89,7 @@ True True Hang up - gtk-cancel + call-stop True diff --git a/src/empathy-chat-window.c b/src/empathy-chat-window.c index 118c7375..898897b5 100644 --- a/src/empathy-chat-window.c +++ b/src/empathy-chat-window.c @@ -77,6 +77,7 @@ typedef struct { GtkUIManager *ui_manager; GtkAction *menu_conv_insert_smiley; GtkAction *menu_conv_favorite; + GtkAction *menu_conv_toggle_contacts; GtkAction *menu_edit_cut; GtkAction *menu_edit_copy; @@ -547,6 +548,8 @@ chat_window_conv_activate_cb (GtkAction *action, { EmpathyChatWindowPriv *priv = GET_PRIV (window); gboolean is_room; + gboolean active; + EmpathyContact *remote_contact = NULL; /* Favorite room menu */ is_room = empathy_chat_is_room (priv->current_chat); @@ -565,6 +568,22 @@ chat_window_conv_activate_cb (GtkAction *action, GTK_TOGGLE_ACTION (priv->menu_conv_favorite), found); } gtk_action_set_visible (priv->menu_conv_favorite, is_room); + + /* Show contacts menu */ + g_object_get (priv->current_chat, + "remote-contact", &remote_contact, + "show-contacts", &active, + NULL); + if (remote_contact == NULL) { + gtk_toggle_action_set_active ( + GTK_TOGGLE_ACTION (priv->menu_conv_toggle_contacts), + active); + } + gtk_action_set_visible (priv->menu_conv_toggle_contacts, + (remote_contact == NULL)); + if (remote_contact != NULL) { + g_object_unref (remote_contact); + } } static void @@ -602,12 +621,24 @@ chat_window_favorite_toggled_cb (GtkToggleAction *toggle_action, g_object_unref (chatroom); return; } - + if (!active && chatroom) { empathy_chatroom_manager_remove (priv->chatroom_manager, chatroom); } } +static void +chat_window_contacts_toggled_cb (GtkToggleAction *toggle_action, + EmpathyChatWindow *window) +{ + EmpathyChatWindowPriv *priv = GET_PRIV (window); + gboolean active; + + active = gtk_toggle_action_get_active (toggle_action); + + empathy_chat_set_show_contacts (priv->current_chat, active); +} + static const gchar * chat_get_window_id_for_geometry (EmpathyChat *chat) { @@ -1179,7 +1210,7 @@ chat_window_focus_in_event_cb (GtkWidget *widget, priv->chats_new_msg = g_list_remove (priv->chats_new_msg, priv->current_chat); chat_window_set_urgency_hint (window, FALSE); - + /* Update the title, since we now mark all unread messages as read. */ chat_window_update_chat_tab (priv->current_chat); @@ -1208,7 +1239,7 @@ chat_window_drag_data_received (GtkWidget *widget, id = (const gchar*) selection->data; DEBUG ("DND contact from roster with id:'%s'", id); - + strv = g_strsplit (id, "/", 2); account_id = strv[0]; contact_id = strv[1]; @@ -1236,18 +1267,18 @@ chat_window_drag_data_received (GtkWidget *widget, g_object_unref (account); g_strfreev (strv); - old_window = chat_window_find_chat (chat); + old_window = chat_window_find_chat (chat); if (old_window) { if (old_window == window) { gtk_drag_finish (context, TRUE, FALSE, time); return; } - + empathy_chat_window_move_chat (old_window, window, chat); } else { empathy_chat_window_add_chat (window, chat); } - + /* Added to take care of any outstanding chat events */ empathy_chat_window_present_chat (chat); @@ -1278,7 +1309,7 @@ chat_window_drag_data_received (GtkWidget *widget, gtk_drag_finish (context, TRUE, FALSE, time); return; } - + priv->dnd_same_window = FALSE; } @@ -1368,6 +1399,7 @@ empathy_chat_window_init (EmpathyChatWindow *window) "ui_manager", &priv->ui_manager, "menu_conv_insert_smiley", &priv->menu_conv_insert_smiley, "menu_conv_favorite", &priv->menu_conv_favorite, + "menu_conv_toggle_contacts", &priv->menu_conv_toggle_contacts, "menu_edit_cut", &priv->menu_edit_cut, "menu_edit_copy", &priv->menu_edit_copy, "menu_edit_paste", &priv->menu_edit_paste, @@ -1384,6 +1416,7 @@ empathy_chat_window_init (EmpathyChatWindow *window) "menu_conv", "activate", chat_window_conv_activate_cb, "menu_conv_clear", "activate", chat_window_clear_activate_cb, "menu_conv_favorite", "toggled", chat_window_favorite_toggled_cb, + "menu_conv_toggle_contacts", "toggled", chat_window_contacts_toggled_cb, "menu_conv_close", "activate", chat_window_close_activate_cb, "menu_edit", "activate", chat_window_edit_activate_cb, "menu_edit_cut", "activate", chat_window_cut_activate_cb, @@ -1565,14 +1598,14 @@ empathy_chat_window_add_chat (EmpathyChatWindow *window, /* If this window has just been created, position it */ if (priv->chats == NULL) { empathy_geometry_load (chat_get_window_id_for_geometry (chat), &x, &y, &w, &h); - + if (x >= 0 && y >= 0) { /* Let the window manager position it if we don't have * good x, y coordinates. */ gtk_window_move (GTK_WINDOW (priv->dialog), x, y); } - + if (w > 0 && h > 0) { /* Use the defaults from the ui file if we don't have * good w, h geometry. diff --git a/src/empathy-chat-window.ui b/src/empathy-chat-window.ui index 0d5a8318..8c8ea7d0 100644 --- a/src/empathy-chat-window.ui +++ b/src/empathy-chat-window.ui @@ -31,6 +31,13 @@ _Favorite Chatroom + + + menu_conv_toggle_contacts + TRUE + _Show Contact List + + gtk-close @@ -137,6 +144,7 @@ + diff --git a/src/empathy-event-manager.c b/src/empathy-event-manager.c index 1ee619e5..35c91c48 100644 --- a/src/empathy-event-manager.c +++ b/src/empathy-event-manager.c @@ -26,6 +26,7 @@ #include +#include #include #include #include @@ -37,6 +38,7 @@ #include +#include #include #include #include @@ -50,6 +52,8 @@ #define GET_PRIV(obj) EMPATHY_GET_PRIV (obj, EmpathyEventManager) +#define NOTIFICATION_TIMEOUT 2 /* seconds */ + typedef struct { EmpathyEventManager *manager; EmpathyDispatchOperation *operation; @@ -247,6 +251,13 @@ event_remove (EventPriv *event) event_free (event); } +static gboolean +autoremove_event_timeout_cb (EventPriv *event) +{ + event_remove (event); + return FALSE; +} + static void event_manager_add (EmpathyEventManager *manager, EmpathyContact *contact, const gchar *icon_name, const gchar *header, const gchar *message, @@ -260,6 +271,7 @@ event_manager_add (EmpathyEventManager *manager, EmpathyContact *contact, event->public.icon_name = g_strdup (icon_name); event->public.header = g_strdup (header); event->public.message = g_strdup (message); + event->public.must_ack = (func != NULL); event->inhibit = FALSE; event->func = func; event->user_data = user_data; @@ -269,6 +281,12 @@ event_manager_add (EmpathyEventManager *manager, EmpathyContact *contact, DEBUG ("Adding event %p", event); priv->events = g_slist_prepend (priv->events, event); g_signal_emit (event->manager, signals[EVENT_ADDED], 0, event); + + if (!event->public.must_ack) + { + g_timeout_add_seconds (NOTIFICATION_TIMEOUT, + (GSourceFunc) autoremove_event_timeout_cb, event); + } } static void @@ -956,6 +974,65 @@ event_manager_pendings_changed_cb (EmpathyContactList *list, g_free (header); } +static void +event_manager_presence_changed_cb (EmpathyContactMonitor *monitor, + EmpathyContact *contact, + TpConnectionPresenceType current, + TpConnectionPresenceType previous, + EmpathyEventManager *manager) +{ + McAccount *account; + gboolean just_connected; + EmpathyAccountManager *account_manager; + gchar *header = NULL; + gboolean preference = FALSE; + + account = empathy_contact_get_account (contact); + account_manager = empathy_account_manager_dup_singleton (); + just_connected = empathy_account_manager_is_account_just_connected ( + account_manager, account); + + g_object_unref (account_manager); + if (just_connected) + return; + + if (tp_connection_presence_type_cmp_availability (previous, + TP_CONNECTION_PRESENCE_TYPE_OFFLINE) > 0) + { + /* contact was online */ + empathy_conf_get_bool (empathy_conf_get (), + EMPATHY_PREFS_NOTIFICATIONS_CONTACT_SIGNOUT, &preference); + if (preference && tp_connection_presence_type_cmp_availability (current, + TP_CONNECTION_PRESENCE_TYPE_OFFLINE) <= 0) + { + /* someone is logging off */ + header = g_strdup_printf (_("%s is now offline."), + empathy_contact_get_name (contact)); + + event_manager_add (manager, contact, GTK_STOCK_DIALOG_INFO, header, + NULL, NULL, NULL, NULL); + } + } + else + { + /* contact was offline */ + empathy_conf_get_bool (empathy_conf_get (), + EMPATHY_PREFS_NOTIFICATIONS_CONTACT_SIGNIN, &preference); + if (preference && tp_connection_presence_type_cmp_availability (current, + TP_CONNECTION_PRESENCE_TYPE_OFFLINE) > 0) + { + /* someone is logging in */ + header = g_strdup_printf (_("%s is now online."), + empathy_contact_get_name (contact)); + + event_manager_add (manager, contact, GTK_STOCK_DIALOG_INFO, header, + NULL, NULL, NULL, NULL); + } + } + g_free (header); +} + + static GObject * event_manager_constructor (GType type, guint n_props, @@ -1034,6 +1111,12 @@ empathy_event_manager_init (EmpathyEventManager *manager) { EmpathyEventManagerPriv *priv = G_TYPE_INSTANCE_GET_PRIVATE (manager, EMPATHY_TYPE_EVENT_MANAGER, EmpathyEventManagerPriv); + EmpathyContactMonitor *monitor; + EmpathyContactList *list_iface; + + list_iface = EMPATHY_CONTACT_LIST (empathy_contact_manager_dup_singleton ()); + monitor = empathy_contact_list_get_monitor (list_iface); + g_object_unref (list_iface); manager->priv = priv; @@ -1043,6 +1126,8 @@ empathy_event_manager_init (EmpathyEventManager *manager) G_CALLBACK (event_manager_approve_channel_cb), manager); g_signal_connect (priv->contact_manager, "pendings-changed", G_CALLBACK (event_manager_pendings_changed_cb), manager); + g_signal_connect (monitor, "contact-presence-changed", + G_CALLBACK (event_manager_presence_changed_cb), manager); } EmpathyEventManager * diff --git a/src/empathy-event-manager.h b/src/empathy-event-manager.h index 42fd0c09..af73c8ea 100644 --- a/src/empathy-event-manager.h +++ b/src/empathy-event-manager.h @@ -53,6 +53,7 @@ typedef struct { gchar *icon_name; gchar *header; gchar *message; + gboolean must_ack; } EmpathyEvent; GType empathy_event_manager_get_type (void) G_GNUC_CONST; diff --git a/src/empathy-main-window.c b/src/empathy-main-window.c index 5830d2b7..e92817a0 100644 --- a/src/empathy-main-window.c +++ b/src/empathy-main-window.c @@ -197,7 +197,7 @@ main_window_flash_cb (EmpathyMainWindow *window) events = empathy_event_manager_get_events (window->event_manager); for (l = events; l; l = l->next) { data.event = l->data; - if (!data.event->contact) { + if (!data.event->contact || !data.event->must_ack) { continue; } diff --git a/src/empathy-map-view.c b/src/empathy-map-view.c index 99c496b2..86e15bdf 100644 --- a/src/empathy-map-view.c +++ b/src/empathy-map-view.c @@ -161,7 +161,7 @@ map_view_contacts_foreach (GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { - EmpathyMapView *window = (EmpathyMapView*) user_data; + EmpathyMapView *window = (EmpathyMapView *) user_data; EmpathyContact *contact; ClutterActor *marker; ClutterActor *texture; diff --git a/src/empathy-new-chatroom-dialog.c b/src/empathy-new-chatroom-dialog.c index 56366593..da90cbb4 100644 --- a/src/empathy-new-chatroom-dialog.c +++ b/src/empathy-new-chatroom-dialog.c @@ -362,7 +362,7 @@ new_chatroom_dialog_update_widgets (EmpathyNewChatroomDialog *dialog) McProfile *profile; const gchar *protocol; const gchar *room; - + account_chooser = EMPATHY_ACCOUNT_CHOOSER (dialog->account_chooser); account = empathy_account_chooser_dup_account (account_chooser); profile = mc_account_get_profile (account); @@ -545,7 +545,7 @@ new_chatroom_dialog_listing_cb (EmpathyTpRoomlist *room_list, /* Update the throbber */ if (listing) { - ephy_spinner_start (EPHY_SPINNER (dialog->throbber)); + ephy_spinner_start (EPHY_SPINNER (dialog->throbber)); } else { ephy_spinner_stop (EPHY_SPINNER (dialog->throbber)); } @@ -572,7 +572,7 @@ new_chatroom_dialog_model_row_activated_cb (GtkTreeView *tree_view, static void new_chatroom_dialog_model_selection_changed (GtkTreeSelection *selection, EmpathyNewChatroomDialog *dialog) -{ +{ GtkTreeModel *model; GtkTreeIter iter; gchar *room = NULL; diff --git a/src/empathy-preferences.c b/src/empathy-preferences.c index 4c88db67..0e2299ca 100644 --- a/src/empathy-preferences.c +++ b/src/empathy-preferences.c @@ -52,6 +52,7 @@ typedef struct { GtkWidget *checkbutton_show_avatars; GtkWidget *checkbutton_compact_contact_list; GtkWidget *checkbutton_show_smileys; + GtkWidget *checkbutton_show_contacts_in_rooms; GtkWidget *combobox_chat_theme; GtkWidget *hbox_adium_theme; GtkWidget *filechooserbutton_adium_theme; @@ -68,6 +69,8 @@ typedef struct { GtkWidget *checkbutton_notifications_enabled; GtkWidget *checkbutton_notifications_disabled_away; GtkWidget *checkbutton_notifications_focus; + GtkWidget *checkbutton_notifications_contact_signin; + GtkWidget *checkbutton_notifications_contact_signout; GtkWidget *treeview_spell_checker; @@ -199,6 +202,12 @@ preferences_setup_widgets (EmpathyPreferences *preferences) preferences_hookup_toggle_button (preferences, EMPATHY_PREFS_NOTIFICATIONS_FOCUS, preferences->checkbutton_notifications_focus); + preferences_hookup_toggle_button (preferences, + EMPATHY_PREFS_NOTIFICATIONS_CONTACT_SIGNIN, + preferences->checkbutton_notifications_contact_signin); + preferences_hookup_toggle_button (preferences, + EMPATHY_PREFS_NOTIFICATIONS_CONTACT_SIGNOUT, + preferences->checkbutton_notifications_contact_signout); preferences_hookup_sensitivity (preferences, EMPATHY_PREFS_NOTIFICATIONS_ENABLED, @@ -206,6 +215,12 @@ preferences_setup_widgets (EmpathyPreferences *preferences) preferences_hookup_sensitivity (preferences, EMPATHY_PREFS_NOTIFICATIONS_ENABLED, preferences->checkbutton_notifications_focus); + preferences_hookup_sensitivity (preferences, + EMPATHY_PREFS_NOTIFICATIONS_ENABLED, + preferences->checkbutton_notifications_contact_signin); + preferences_hookup_sensitivity (preferences, + EMPATHY_PREFS_NOTIFICATIONS_ENABLED, + preferences->checkbutton_notifications_contact_signout); preferences_hookup_toggle_button (preferences, EMPATHY_PREFS_SOUNDS_ENABLED, @@ -237,6 +252,10 @@ preferences_setup_widgets (EmpathyPreferences *preferences) EMPATHY_PREFS_CHAT_SHOW_SMILEYS, preferences->checkbutton_show_smileys); + preferences_hookup_toggle_button (preferences, + EMPATHY_PREFS_CHAT_SHOW_CONTACTS_IN_ROOMS, + preferences->checkbutton_show_contacts_in_rooms); + preferences_hookup_radio_button (preferences, EMPATHY_PREFS_CONTACTS_SORT_CRITERIUM, preferences->radiobutton_contact_list_sort_by_name); @@ -457,7 +476,7 @@ preferences_languages_add (EmpathyPreferences *preferences) codes != NULL); if (!codes) { gtk_widget_set_sensitive (preferences->treeview_spell_checker, FALSE); - } + } for (l = codes; l; l = l->next) { GtkTreeIter iter; @@ -655,12 +674,12 @@ preferences_widget_sync_string (const gchar *key, GtkWidget *widget) GEnumValue *enum_value; GSList *list; GtkWidget *toggle_widget; - + /* Get index from new string */ type = empathy_contact_list_store_sort_get_type (); enum_class = G_ENUM_CLASS (g_type_class_peek (type)); enum_value = g_enum_get_value_by_nick (enum_class, value); - + if (enum_value) { list = gtk_radio_button_get_group (GTK_RADIO_BUTTON (widget)); toggle_widget = g_slist_nth_data (list, enum_value->value); @@ -722,7 +741,7 @@ preferences_notify_int_cb (EmpathyConf *conf, const gchar *key, gpointer user_data) { - preferences_widget_sync_int (key, user_data); + preferences_widget_sync_int (key, user_data); } static void @@ -912,14 +931,14 @@ preferences_radio_button_toggled_cb (GtkWidget *button, GType type; GEnumClass *enum_class; GEnumValue *enum_value; - + group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (button)); - + /* Get string from index */ type = empathy_contact_list_store_sort_get_type (); enum_class = G_ENUM_CLASS (g_type_class_peek (type)); enum_value = g_enum_get_value (enum_class, g_slist_index (group, button)); - + if (!enum_value) { g_warning ("No GEnumValue for EmpathyContactListSort with GtkRadioButton index:%d", g_slist_index (group, button)); @@ -952,7 +971,7 @@ preferences_theme_adium_update_validity (EmpathyPreferences *preferences, const gchar *path) { #ifdef HAVE_WEBKIT - if (empathy_theme_adium_is_valid (path)) { + if (empathy_adium_path_is_valid (path)) { gtk_widget_hide (preferences->label_invalid_adium_theme); } else { gtk_widget_show (preferences->label_invalid_adium_theme); @@ -1190,6 +1209,7 @@ empathy_preferences_show (GtkWindow *parent) "checkbutton_show_avatars", &preferences->checkbutton_show_avatars, "checkbutton_compact_contact_list", &preferences->checkbutton_compact_contact_list, "checkbutton_show_smileys", &preferences->checkbutton_show_smileys, + "checkbutton_show_contacts_in_rooms", &preferences->checkbutton_show_contacts_in_rooms, "combobox_chat_theme", &preferences->combobox_chat_theme, "hbox_adium_theme", &preferences->hbox_adium_theme, "filechooserbutton_adium_theme", &preferences->filechooserbutton_adium_theme, @@ -1201,6 +1221,8 @@ empathy_preferences_show (GtkWindow *parent) "checkbutton_notifications_enabled", &preferences->checkbutton_notifications_enabled, "checkbutton_notifications_disabled_away", &preferences->checkbutton_notifications_disabled_away, "checkbutton_notifications_focus", &preferences->checkbutton_notifications_focus, + "checkbutton_notifications_contact_signin", &preferences->checkbutton_notifications_contact_signin, + "checkbutton_notifications_contact_signout", &preferences->checkbutton_notifications_contact_signout, "checkbutton_sounds_enabled", &preferences->checkbutton_sounds_enabled, "checkbutton_sounds_disabled_away", &preferences->checkbutton_sounds_disabled_away, "treeview_sounds", &preferences->treeview_sounds, diff --git a/src/empathy-preferences.ui b/src/empathy-preferences.ui index 6ae92d17..2b9f8557 100644 --- a/src/empathy-preferences.ui +++ b/src/empathy-preferences.ui @@ -37,7 +37,6 @@ True - 6 Show co_mpact contact list @@ -86,6 +85,22 @@ 2 + + + Show contact _list in rooms + True + True + False + True + True + True + + + False + False + 3 + + @@ -295,6 +310,32 @@ 1 + + + Enable notifications when a contact comes online + True + True + False + True + True + + + 2 + + + + + Enable notifications when a contact goes offline + True + True + False + True + True + + + 3 + + diff --git a/src/empathy-sidebar.c b/src/empathy-sidebar.c index caca6b5e..7b70229e 100644 --- a/src/empathy-sidebar.c +++ b/src/empathy-sidebar.c @@ -165,7 +165,7 @@ empathy_sidebar_set_property (GObject *object, switch (prop_id) { case PROP_CURRENT_PAGE: - empathy_sidebar_set_page (sidebar, g_value_get_object (value)); + empathy_sidebar_set_page (sidebar, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); diff --git a/src/empathy-status-icon.c b/src/empathy-status-icon.c index 9c219488..d6520ff7 100644 --- a/src/empathy-status-icon.c +++ b/src/empathy-status-icon.c @@ -229,13 +229,14 @@ status_icon_event_added_cb (EmpathyEventManager *manager, DEBUG ("New event %p", event); priv->event = event; - priv->showing_event_icon = TRUE; - - status_icon_update_icon (icon); - status_icon_update_tooltip (icon); + if (event->must_ack) { + priv->showing_event_icon = TRUE; + status_icon_update_icon (icon); + status_icon_update_tooltip (icon); + } status_icon_update_notification (icon); - if (!priv->blink_timeout) { + if (!priv->blink_timeout && priv->showing_event_icon) { priv->blink_timeout = g_timeout_add (BLINK_TIMEOUT, (GSourceFunc) status_icon_blink_timeout_cb, icon); @@ -260,7 +261,7 @@ status_icon_event_removed_cb (EmpathyEventManager *manager, /* update notification anyway, as it's safe and we might have been * changed presence in the meanwhile - */ + */ status_icon_update_notification (icon); if (!priv->event && priv->blink_timeout) { @@ -378,7 +379,7 @@ status_icon_key_press_event_cb (GtkWidget *window, } return FALSE; } - + static void status_icon_activate_cb (GtkStatusIcon *status_icon, EmpathyStatusIcon *icon) diff --git a/src/empathy.c b/src/empathy.c index fc6b5118..85124d1e 100644 --- a/src/empathy.c +++ b/src/empathy.c @@ -286,13 +286,13 @@ create_salut_account (void) account = mc_account_create (profile); mc_account_set_display_name (account, _("People nearby")); - + nickname = e_contact_get (contact, E_CONTACT_NICKNAME); first_name = e_contact_get (contact, E_CONTACT_GIVEN_NAME); last_name = e_contact_get (contact, E_CONTACT_FAMILY_NAME); email = e_contact_get (contact, E_CONTACT_EMAIL_1); jid = e_contact_get (contact, E_CONTACT_IM_JABBER_HOME_1); - + if (!tp_strdiff (nickname, "nickname")) { g_free (nickname); nickname = NULL; @@ -634,7 +634,7 @@ main (int argc, char *argv[]) (idle), TP_CONNECTION_PRESENCE_TYPE_OFFLINE) <= 0) { empathy_idle_set_state (idle, MC_PRESENCE_AVAILABLE); } - + create_salut_account (); /* Setting up UI */ diff --git a/tools/check-whitespace.sh b/tools/check-whitespace.sh index 84356f20..489322f9 100644 --- a/tools/check-whitespace.sh +++ b/tools/check-whitespace.sh @@ -8,6 +8,12 @@ then fail=1 fi +if grep -n ' $' "$@" +then + echo "^^^ The above files contain unwanted trailing tabs" + fail=1 +fi + # TODO: enable tab checking once all Empathy switched to TP coding style #if grep -n ' ' "$@" #then