From 86d35f1bb07ac4b67a7b64cd6db70fbcd0fbc52b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Rapinat?= Date: Wed, 15 Jun 2011 11:54:55 +0000 Subject: [PATCH] 4934: Menu items on SimpleTable and ScratchPad ignore translation strings for object class svn: r17792 --- src/ScratchPad.py | 7 ++++--- src/Simple/_SimpleTable.py | 7 ++++--- src/TransUtils.py | 29 ++++++++++++++++++++++++++++- 3 files changed, 36 insertions(+), 7 deletions(-) diff --git a/src/ScratchPad.py b/src/ScratchPad.py index eede08b9b..35b5af627 100644 --- a/src/ScratchPad.py +++ b/src/ScratchPad.py @@ -50,6 +50,7 @@ import DateHandler import GrampsDisplay import ManagedWindow from gen.ggettext import sgettext as _ +from TransUtils import trans_objclass from constfunc import mac from glade import Glade from DdTargets import DdTargets @@ -1325,13 +1326,13 @@ class MultiTreeView(gtk.TreeView): objclass, handle = None, None if objclass in ['Person', 'Event', 'Media', 'Source', 'Repository', 'Family', 'Note', 'Place']: - menu_item = gtk.MenuItem(_("See %s details") % objclass) + menu_item = gtk.MenuItem(_("the object|See %s details") % trans_objclass(objclass)) menu_item.connect("activate", lambda widget: self.edit_obj(objclass, handle)) popup.append(menu_item) menu_item.show() # --------------------------- - menu_item = gtk.MenuItem(_("Make Active %s") % objclass) + menu_item = gtk.MenuItem(_("the object|Make %s active") % trans_objclass(objclass)) menu_item.connect("activate", lambda widget: self.uistate.set_active(handle, objclass)) popup.append(menu_item) @@ -1347,7 +1348,7 @@ class MultiTreeView(gtk.TreeView): obj = self.dbstate.db.get_table_metadata(objclass)["handle_func"](my_handle) if obj: gids.add(obj.gramps_id) - menu_item = gtk.MenuItem(_("Create Filter from selected %s...") % objclass) + menu_item = gtk.MenuItem(_("the object|Create Filter from %s selected...") % trans_objclass(objclass)) menu_item.connect("activate", lambda widget: make_filter(self.dbstate, self.uistate, objclass, gids, title=self.title)) diff --git a/src/Simple/_SimpleTable.py b/src/Simple/_SimpleTable.py index 594fff0fb..e80d2ea1b 100644 --- a/src/Simple/_SimpleTable.py +++ b/src/Simple/_SimpleTable.py @@ -25,7 +25,8 @@ Provide a simplified table creation interface import cgi import copy -from gen.ggettext import gettext as _ +from gen.ggettext import sgettext as _ +from TransUtils import trans_objclass import cPickle as pickle import gen.lib @@ -129,7 +130,7 @@ class SimpleTable(object): if (index is not None and self.__link[index]): # See details (edit, etc): objclass, handle = self.__link[index] - menu_item = gtk.MenuItem(_("See %s details") % objclass) + menu_item = gtk.MenuItem(_("the object|See %s details") % trans_objclass(objclass)) menu_item.connect("activate", lambda widget: self.on_table_doubleclick(treeview)) popup.append(menu_item) @@ -139,7 +140,7 @@ class SimpleTable(object): (index is not None and self.__link[index])): objclass, handle = self.__link[index] if objclass == 'Person': - menu_item = gtk.MenuItem(_("Make Active Person")) + menu_item = gtk.MenuItem(_("the object|Make %s active") % trans_objclass('Person')) menu_item.connect("activate", lambda widget: self.on_table_click(treeview)) popup.append(menu_item) diff --git a/src/TransUtils.py b/src/TransUtils.py index 1e7f6fb58..d90c5a56a 100644 --- a/src/TransUtils.py +++ b/src/TransUtils.py @@ -296,4 +296,31 @@ def get_available_translations(): languages.sort() return languages - + +def trans_objclass(objclass_str): + """ + Translates objclass_str into "... %s", where objclass_str + is 'Person', 'person', 'Family', 'family', etc. + """ + from gen.ggettext import gettext as _ + objclass = objclass_str.lower() + if objclass == "person": + return _("the person") + elif objclass == "family": + return _("the family") + elif objclass == "place": + return _("the place") + elif objclass == "event": + return _("the event") + elif objclass == "repository": + return _("the repository") + elif objclass == "note": + return _("the note") + elif objclass in ["media", "mediaobject"]: + return _("the media") + elif objclass == "source": + return _("the source") + elif objclass == "filter": + return _("the filter") + else: + return _("See details")