diff options
author | Matthew Barnes <mbarnes@src.gnome.org> | 2008-12-28 12:16:48 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@src.gnome.org> | 2008-12-28 12:16:48 +0800 |
commit | a6c6f6d90674cf789a114768f8597086b572ffae (patch) | |
tree | deba09b296186f3695a51cec37ae1a71b394fe6c | |
parent | 8e2b445e9dd2ec76be420bfffdf13bbacae14a3e (diff) | |
download | gsoc2013-evolution-a6c6f6d90674cf789a114768f8597086b572ffae.tar.gz gsoc2013-evolution-a6c6f6d90674cf789a114768f8597086b572ffae.tar.zst gsoc2013-evolution-a6c6f6d90674cf789a114768f8597086b572ffae.zip |
Solve a translation issue related to the New menu.
svn path=/branches/kill-bonobo/; revision=36934
-rw-r--r-- | addressbook/gui/component/e-book-shell-module.c | 4 | ||||
-rw-r--r-- | calendar/modules/e-cal-shell-module.c | 8 | ||||
-rw-r--r-- | calendar/modules/e-memo-shell-module.c | 4 | ||||
-rw-r--r-- | calendar/modules/e-task-shell-module.c | 4 | ||||
-rw-r--r-- | mail/e-mail-reader.c | 2 | ||||
-rw-r--r-- | mail/e-mail-shell-module.c | 4 | ||||
-rw-r--r-- | shell/e-shell-window.c | 38 | ||||
-rw-r--r-- | shell/e-shell-window.h | 4 | ||||
-rw-r--r-- | shell/test/e-test-shell-module.c | 4 |
9 files changed, 51 insertions, 21 deletions
diff --git a/addressbook/gui/component/e-book-shell-module.c b/addressbook/gui/component/e-book-shell-module.c index a3f8a7aea0..0e48f06858 100644 --- a/addressbook/gui/component/e-book-shell-module.c +++ b/addressbook/gui/component/e-book-shell-module.c @@ -288,7 +288,7 @@ static GtkActionEntry item_entries[] = { { "contact-new", "contact-new", - N_("_Contact"), /* XXX Need C_() here */ + NC_("New", "_Contact"), "<Shift><Control>c", N_("Create a new contact"), G_CALLBACK (action_contact_new_cb) }, @@ -305,7 +305,7 @@ static GtkActionEntry source_entries[] = { { "address-book-new", "address-book-new", - N_("Address _Book"), + NC_("New", "Address _Book"), NULL, N_("Create a new address book"), G_CALLBACK (action_address_book_new_cb) } diff --git a/calendar/modules/e-cal-shell-module.c b/calendar/modules/e-cal-shell-module.c index b6e1aa4208..d4fed663be 100644 --- a/calendar/modules/e-cal-shell-module.c +++ b/calendar/modules/e-cal-shell-module.c @@ -376,21 +376,21 @@ static GtkActionEntry item_entries[] = { { "event-new", "appointment-new", - N_("_Appointment"), /* XXX Need C_() here */ + NC_("New", "_Appointment"), "<Control>a", N_("Create a new appointment"), G_CALLBACK (action_event_new_cb) }, { "event-all-day-new", "stock_new-24h-appointment", - N_("All Day A_ppointment"), + NC_("New", "All Day A_ppointment"), NULL, N_("Create a new all-day appointment"), G_CALLBACK (action_event_new_cb) }, { "event-meeting-new", "stock_new-meeting", - N_("M_eeting"), + NC_("New", "M_eeting"), "<Control>e", N_("Create a new meeting request"), G_CALLBACK (action_event_new_cb) } @@ -400,7 +400,7 @@ static GtkActionEntry source_entries[] = { { "calendar-new", "x-office-calendar", - N_("Cale_ndar"), + NC_("New", "Cale_ndar"), NULL, N_("Create a new calendar"), G_CALLBACK (action_calendar_new_cb) } diff --git a/calendar/modules/e-memo-shell-module.c b/calendar/modules/e-memo-shell-module.c index 9f6c45b695..a82a8c5235 100644 --- a/calendar/modules/e-memo-shell-module.c +++ b/calendar/modules/e-memo-shell-module.c @@ -282,7 +282,7 @@ static GtkActionEntry item_entries[] = { { "memo-new", "stock_insert-note", - N_("Mem_o"), /* XXX Need C_() here */ + NC_("New", "Mem_o"), "<Shift><Control>o", N_("Create a new memo"), G_CALLBACK (action_memo_new_cb) }, @@ -299,7 +299,7 @@ static GtkActionEntry source_entries[] = { { "memo-list-new", "stock_notes", - N_("Memo Li_st"), + NC_("New", "Memo Li_st"), NULL, N_("Create a new memo list"), G_CALLBACK (action_memo_list_new_cb) } diff --git a/calendar/modules/e-task-shell-module.c b/calendar/modules/e-task-shell-module.c index 9ed38b0cad..dbcb58104b 100644 --- a/calendar/modules/e-task-shell-module.c +++ b/calendar/modules/e-task-shell-module.c @@ -282,7 +282,7 @@ static GtkActionEntry item_entries[] = { { "task-new", "stock_task", - N_("_Task"), /* XXX Need C_() here */ + NC_("New", "_Task"), "<Shift><Control>t", N_("Create a new task"), G_CALLBACK (action_task_new_cb) }, @@ -299,7 +299,7 @@ static GtkActionEntry source_entries[] = { { "task-list-new", "stock_todo", - N_("Tas_k List"), + NC_("New", "Tas_k List"), NULL, N_("Create a new task list"), G_CALLBACK (action_task_list_new_cb) } diff --git a/mail/e-mail-reader.c b/mail/e-mail-reader.c index ca23deda78..112e8e9a80 100644 --- a/mail/e-mail-reader.c +++ b/mail/e-mail-reader.c @@ -1521,7 +1521,7 @@ e_mail_reader_init (EMailReader *reader) action = gtk_action_group_get_action (action_group, "mail-previous"); g_object_set (action, "short-label", _("Previous"), NULL); - action = gtk_action_group_get_action (action_group, "mail-reply"); + action = gtk_action_group_get_action (action_group, "mail-reply-sender"); g_object_set (action, "short-label", _("Reply"), NULL); /* Connect signals. */ diff --git a/mail/e-mail-shell-module.c b/mail/e-mail-shell-module.c index c918cf64af..2accb7db94 100644 --- a/mail/e-mail-shell-module.c +++ b/mail/e-mail-shell-module.c @@ -459,7 +459,7 @@ static GtkActionEntry item_entries[] = { { "mail-message-new", "mail-message-new", - N_("_Mail Message"), /* XXX C_() here */ + NC_("New", "_Mail Message"), "<Shift><Control>m", N_("Compose a new mail message"), G_CALLBACK (action_mail_message_new_cb) } @@ -469,7 +469,7 @@ static GtkActionEntry source_entries[] = { { "mail-folder-new", "folder-new", - N_("Mail _Folder"), + NC_("New", "Mail _Folder"), NULL, N_("Create a new mail folder"), G_CALLBACK (action_mail_folder_new_cb) } diff --git a/shell/e-shell-window.c b/shell/e-shell-window.c index af08f4cc4e..a110bad82f 100644 --- a/shell/e-shell-window.c +++ b/shell/e-shell-window.c @@ -727,12 +727,14 @@ e_shell_window_set_safe_mode (EShellWindow *shell_window, * #EShellModuleInfo). * * The registered #GtkAction<!-- -->s should be for creating individual - * items such as an email message or a calendar appointment. + * items such as an email message or a calendar appointment. The action + * labels should be marked for translation with the "New" context using + * the NC_() macro. **/ void e_shell_window_register_new_item_actions (EShellWindow *shell_window, const gchar *module_name, - const GtkActionEntry *entries, + GtkActionEntry *entries, guint n_entries) { GtkActionGroup *action_group; @@ -749,6 +751,19 @@ e_shell_window_register_new_item_actions (EShellWindow *shell_window, accel_group = gtk_ui_manager_get_accel_group (ui_manager); module_name = g_intern_string (module_name); + /* XXX The action label translations are retrieved from the + * message context "New", but gtk_action_group_add_actions() + * does not support message contexts. So we have to fetch + * the label translations ourselves before adding them to + * the action group. + * + * gtk_action_group_set_translate_func() does not help here + * because the action tooltips do not use a message context + * (though I suppose they could). */ + for (ii = 0; ii < n_entries; ii++) + entries[ii].label = g_dpgettext2 ( + GETTEXT_PACKAGE, "New", entries[ii].label); + gtk_action_group_add_actions ( action_group, entries, n_entries, shell_window); @@ -801,12 +816,14 @@ e_shell_window_register_new_item_actions (EShellWindow *shell_window, * #EShellModuleInfo). * * The registered #GtkAction<!-- -->s should be for creating item - * containers such as an email folder or a calendar. + * containers such as an email folder or a calendar. The action labels + * should be marked for translation with the "New" context using the + * NC_() macro. **/ void e_shell_window_register_new_source_actions (EShellWindow *shell_window, const gchar *module_name, - const GtkActionEntry *entries, + GtkActionEntry *entries, guint n_entries) { GtkActionGroup *action_group; @@ -823,6 +840,19 @@ e_shell_window_register_new_source_actions (EShellWindow *shell_window, accel_group = gtk_ui_manager_get_accel_group (ui_manager); module_name = g_intern_string (module_name); + /* XXX The action label translations are retrieved from the + * message context "New", but gtk_action_group_add_actions() + * does not support message contexts. So we have to fetch + * the label translations ourselves before adding them to + * the action group. + * + * gtk_action_group_set_translate_func() does not help here + * because the action tooltips do not use a message context + * (though I suppose they could). */ + for (ii = 0; ii < n_entries; ii++) + entries[ii].label = g_dpgettext2 ( + GETTEXT_PACKAGE, "New", entries[ii].label); + gtk_action_group_add_actions ( action_group, entries, n_entries, shell_window); diff --git a/shell/e-shell-window.h b/shell/e-shell-window.h index 00887cadea..7543413a5c 100644 --- a/shell/e-shell-window.h +++ b/shell/e-shell-window.h @@ -103,12 +103,12 @@ void e_shell_window_set_safe_mode (EShellWindow *shell_window, void e_shell_window_register_new_item_actions (EShellWindow *shell_window, const gchar *module_name, - const GtkActionEntry *entries, + GtkActionEntry *entries, guint n_entries); void e_shell_window_register_new_source_actions (EShellWindow *shell_window, const gchar *module_name, - const GtkActionEntry *entries, + GtkActionEntry *entries, guint n_entries); G_END_DECLS diff --git a/shell/test/e-test-shell-module.c b/shell/test/e-test-shell-module.c index 2668396a12..6b2c5c4179 100644 --- a/shell/test/e-test-shell-module.c +++ b/shell/test/e-test-shell-module.c @@ -53,7 +53,7 @@ static GtkActionEntry item_entries[] = { { "test-item-new", "document-new", - N_("_Test Item"), + NC_("New", "_Test Item"), NULL, N_("Create a new test item"), G_CALLBACK (action_test_item_new_cb) } @@ -63,7 +63,7 @@ static GtkActionEntry source_entries[] = { { "test-source-new", "folder-new", - N_("Test _Source"), + NC_("New", "Test _Source"), NULL, N_("Create a new test source"), G_CALLBACK (action_test_source_new_cb) } |