aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@src.gnome.org>2008-12-28 12:16:48 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2008-12-28 12:16:48 +0800
commita6c6f6d90674cf789a114768f8597086b572ffae (patch)
treedeba09b296186f3695a51cec37ae1a71b394fe6c
parent8e2b445e9dd2ec76be420bfffdf13bbacae14a3e (diff)
downloadgsoc2013-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.c4
-rw-r--r--calendar/modules/e-cal-shell-module.c8
-rw-r--r--calendar/modules/e-memo-shell-module.c4
-rw-r--r--calendar/modules/e-task-shell-module.c4
-rw-r--r--mail/e-mail-reader.c2
-rw-r--r--mail/e-mail-shell-module.c4
-rw-r--r--shell/e-shell-window.c38
-rw-r--r--shell/e-shell-window.h4
-rw-r--r--shell/test/e-test-shell-module.c4
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) }