From: jerome <rom...@ya...> - 2009-12-23 08:29:48
Attachments:
Census.py.gz
|
Thank you ! > So, for example, if you were defining the 1801 French > Census then you would create an ID for it - FR1801 would be > a good choice. Then you would add define its date and > columns. To begin with you could make the report > columns the same as the attributes and make the columns > equal size. > > You will need to make the first column in each census > _('Name'). The editor looks for this value. Prior to the "slave|prisoner" labor (around 35 census with multiple fields since 1790 ...), I made a test with 'FR1831' (census.py.gz), but same result : I cannot see or use any entry whatever I do (add a source, a census event) ! Any idea ? Also a sourcerefmodel error : Traceback (most recent call last): File "trunk/src/gui/editors/displaytabs/embeddedlist.py", line 471, in rebuild self.model = self.construct_model() File "trunk/src/gui/editors/displaytabs/embeddedlist.py", line 457, in construct_model return self.build_model(self.get_data(), self.dbstate.db) File "trunk/src/gui/editors/displaytabs/sourcerefmodel.py", line 49, in __init__ self.append(row=[src.gramps_id, src.title, src.author, AttributeError: 'NoneType' object has no attribute 'gramps_id' Regards, Jérôme --- En date de : Mar 22.12.09, Nick Hall <nic...@ho...> a écrit : > De: Nick Hall <nic...@ho...> > Objet: Re: Re : [Gramps-devel] Census entry and Certificates in the Ecosystem definition > À: "jerome" <rom...@ya...> > Cc: "Gramps developers" <gra...@li...> > Date: Mardi 22 Décembre 2009, 20h14 > Jerome, > > Thanks for pointing out the error. I didn't test it > without any census sources defined. > > Yes, you will need some census definitions. I have > only supplied ones for the UK, but I would like to see if I > can generalise it for other countries. When you have > the definitions in the Census.py file then they need to be > associated with a source by adding an entry in the Data tab > for the source. > > Your suggestion of using XML format for the definition file > is a good one. I had thought about it, but the python > file was easier. I am now thinking that XML is the way > to go. > > At the moment there are three dictionaries. > > CENSUS_DATES holds the date for each census defined. > CENSUS_COLS define the columns in the census. Each > entry is the name of the attribute that will be used to > store the data for the column in the EventRef objects. > > REPORT_COLS define the columns that will be used in the > report. At the moment the report displays a column for > each attribute. The REPORT_COLS allows for a different > heading in the report to that used for the attribute. > The second element in the tuple is a column width - the sum > of these should not exceed 100. > > What I don't have at the moment is a way to specify the > header information for a census. What I need to do is > store a list of attributes that will be attached to the > census event. > > So, for example, if you were defining the 1801 French > Census then you would create an ID for it - FR1801 would be > a good choice. Then you would add define its date and > columns. To begin with you could make the report > columns the same as the attributes and make the columns > equal size. > > You will need to make the first column in each census > _('Name'). The editor looks for this value. This > probably needs some further thought. > > Let me know if you need some help getting it to work. > > I'll start to think about the XML format. > > Regards, > > Nick. > > jerome wrote: > > Nick, > > > > > > 31645: ERROR: gramps.py: line 121: Unhandled > exception > > Traceback (most recent call last): > > File "trunk/src/gui/viewmanager.py", > line 1629, in <lambda> > > return lambda x: > run_plugin(pdata, dbstate, uistate) > > File "trunk/src/gui/viewmanager.py", > line 1617, in run_plugin > > pdata.category, > pdata.require_active) > > File > "trunk/src/ReportBase/_ReportDialog.py", line 605, in > report > > dialog = dialog_class(dbstate, > uistate, options_class, name, trans_name) > > File > "trunk/src/ReportBase/_TextReportDialog.py", line 101, in > __init__ > > name, translated_name) > > File > "trunk/src/ReportBase/_DocReportDialog.py", line 66, in > __init__ > > name, trans_name) > > File > "trunk/src/ReportBase/_ReportDialog.py", line 96, in > __init__ > > > self.init_options(option_class) > > File > "trunk/src/ReportBase/_ReportDialog.py", line 103, in > init_options > > self.options = > option_class(self.raw_name, self.db) > > File > ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", > line 265, in __init__ > > > MenuReportOptions.__init__(self, name, > database) > > File > "trunk/src/ReportBase/_ReportOptions.py", line 809, in > __init__ > > GuiMenuOptions.__init__(self) > > File > "trunk/src/PluginUtils/_GuiOptions.py", line 1415, in > __init__ > > > self.add_menu_options(self.menu) > > File > ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", > line 286, in add_menu_options > > src_handle = > EnumeratedListOption(_('Source'), sources[0][0]) > > IndexError: list index out of range > > > > Does it mean that without "census keys", I am "really" > not able to use these gramplet and report [1][2] ? > > > > So, I need to add some census keys for my country > [3][4][5] on my local census.py [6], isn't it ? > > > > * FR16.. France 16.. (lordship) > > * FR1770 France 1770 (religious) > > * FR1801 France 1801 (civil) > > ... > > > > Is it not more logical to load a XML file ? > > Like calendar plugin with holidays.xml [7]. > > > > > > Regards, > > Jérôme > > > > > > --- > > [1] http://www.gramps-project.org/wiki/index.php?title=Census_Addons#Configuration > > [2] http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/README > > [3] http://www.gramps-project.org/wiki/index.php?title=Recording_French_Census_data > > [4] http://fr.geneawiki.com/index.php/Recensements > > [5] http://jomave.chez-alice.fr/sources/recensem.html > > [6] http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/Census.py?r1=25&r2=42&pathrev=44 > > [7] http://www.gramps-project.org/wiki/index.php?title=Calendar_tools_holidays > > > > > > > > > > > > --- En date de : Mar 22.12.09, Nick Hall <nic...@ho...> > a écrit : > > > > > >> De: Nick Hall <nic...@ho...> > >> Objet: [Gramps-devel] Census entry and > Certificates in the Ecosystem definition > >> À: "Gramps developers" <gra...@li...> > >> Date: Mardi 22 Décembre 2009, 15h12 > >> I have written a couple of Census > >> addons. > >> There is some documentation here: > >> > >> http://www.gramps-project.org/wiki/index.php?title=Census_Addons > >> > >> There is an editor which allows the user to enter > census > >> information in one place, in a format similar to > that of the original > >> census return. The objective was to make > entry of census data much quicker > >> whilst using a data format that also allows > editing using the standard > >> Gramps editors. > >> > >> There is also a census report which print census > data in a > >> format similar to that of the original census > return. > >> > >> It occurred to me that my addons may provide a > prototype > >> for Certificates as described in the Ecosystem > definition. > >> > >> http://www.gramps-project.org/wiki/index.php?title=GEPS_012:_Ecosystem_definition#Certificates > >> > >> Should I be thinking of changing my gramplet into > a > >> certificate? > >> > >> My code is in the gramps-addons repository and is > >> accessible from the plugins page: > >> > >> http://www.gramps-project.org/wiki/index.php?title=3.2_Third-party_Plugins > >> > >> Regards, > >> > >> Nick. > >> > >> > >> > ------------------------------------------------------------------------------ > >> This SF.Net email is sponsored by the Verizon > Developer > >> Community > >> Take advantage of Verizon's best-in-class app > development > >> support > >> A streamlined, 14 day to market process makes app > >> distribution fast and easy > >> Join now and get one step closer to millions of > Verizon > >> customers > >> http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > >> Gramps-devel mailing list > >> Gra...@li... > >> https://lists.sourceforge.net/lists/listinfo/gramps-devel > >> > >> > > > > > > > > > ------------------------------------------------------------------------ > > > |
From: jerome <rom...@ya...> - 2009-12-30 19:33:37
|
Nick, > I translate directly from the original xml file Maybe only strings which was already translated (Name, Place, Census, etc ...) are localized. Translation file is just a big dictionary with keys/values. So once entry is translated, strings can be re-used. Maybe that's why some distributions want to centralize all translations (consistency and to avoid duplicated work) ! Note, gramps-connect and gramps working together, also means re-use of translation strings[1] ... strings label should not be so far away ;) On census.xml, entries like : City or Borough Parish or Township Where Born Ecclesiastical District City or Borough ... cannot be translated because there are not on the translation template. (and will be ignored on translation) http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/census.xml?view=markup There is also strings translated 'out of gramps' : some common Gtk+ labels (ex: on buttons) PS: what does "Where Born" mean ? "place of birth" or it is a "mark/comment on census" ? Regards, Jérôme [1] http://www.gramps-project.org/bugs/view.php?id=3417 --- En date de : Mer 30.12.09, Nick Hall <nic...@ho...> a écrit : > De: Nick Hall <nic...@ho...> > Objet: Re: [Gramps-devel] Re : Census entry and Certificates in the Ecosystem definition > À: "jerome" <rom...@ya...> > Cc: "Gramps developers" <gra...@li...> > Date: Mercredi 30 Décembre 2009, 19h42 > Jerome, > > Thanks for the link. I need to read more about this. > > I added some code similar to this in commit 65. > > The Tip of the Day code reads an xml file which has > multiple > translations in it but ignores them. It then uses the > usual _ function > to translate the English text. I use the same > technique but skipped the > file conversion stage. I translate directly from the > original xml file > which I have not added the .in extension to. > > This may be confusing as it doesn't conform to an existing > standard. > Perhaps I should change this? > > The code should translate the xml file though. > > Regards, > > Nick. > > > jerome wrote: > > Nick, > > > > Thank you I will try under my locale. > > At first glance, I noted that you also planned to > allow translation on census.xml. > > > > Current make.py ignores this translation strings, we > need to add something like this : > > > > > system('''intltool-extract > --type=gettext/xml "%(addon)s"/*.xml.in''') > > > system('''intltool-extract > --type=gettext/glade "%(addon)s"/*.glade''') > > > system('''xgettext --language=Python > --keyword=_ --keyword=N_''' > > > ''' -o "%(addon)s/po/template.pot" "%(addon)s"/*.py ''') > > > system('''xgettext -j --keyword=_ > --keyword=N_''' > > > ''' -o "%(addon)s/po/template.pot" ''' > > > '''"%(addon)s"/*.glade.h''') > > > system('''xgettext -j --keyword=_ > --keyword=N_''' > > > ''' -o "%(addon)s/po/template.pot" ''' > > > '''"%(addon)s"/*.xml.in.h''') > > ... > > > > then we have the choice ! > > > > 1. retrieve translations and generate census.xml > > intltool-merge -x po/ census.xml.in census.xml > > > > 2. retrieve translations and generate multiple > localized census.xml > > intltool-merge -x -m po/ census.xml.in census.xml > > > > http://www.gnome.org/~malcolm/i18n/marking-strings.html#xml > > > > > > Regards, > > > > Jérôme. > > > > > |
From: Nick H. <nic...@ho...> - 2009-12-30 19:49:11
|
Jerome, It all gets translated for me. When I ran the clean and init the entries appeared in the po file for translation. "Where Born" does mean Birthplace. I'll email you the fr-local.po file I used for testing - it probably isn't a good translation though. Nick. jerome wrote: > Nick, > > >> I translate directly from the original xml file >> > > Maybe only strings which was already translated (Name, Place, Census, etc ...) are localized. Translation file is just a big dictionary with keys/values. So once entry is translated, strings can be re-used. Maybe that's why some distributions want to centralize all translations (consistency and to avoid duplicated work) ! > Note, gramps-connect and gramps working together, also means re-use of translation strings[1] ... strings label should not be so far away ;) > > On census.xml, entries like : > City or Borough > Parish or Township > Where Born > Ecclesiastical District > City or Borough > ... > cannot be translated because there are not on the translation template. (and will be ignored on translation) > http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/census.xml?view=markup > > There is also strings translated 'out of gramps' : some common Gtk+ labels (ex: on buttons) > > PS: what does "Where Born" mean ? > "place of birth" or it is a "mark/comment on census" ? > > > Regards, > Jérôme > > [1] http://www.gramps-project.org/bugs/view.php?id=3417 > > > --- En date de : Mer 30.12.09, Nick Hall <nic...@ho...> a écrit : > > >> De: Nick Hall <nic...@ho...> >> Objet: Re: [Gramps-devel] Re : Census entry and Certificates in the Ecosystem definition >> À: "jerome" <rom...@ya...> >> Cc: "Gramps developers" <gra...@li...> >> Date: Mercredi 30 Décembre 2009, 19h42 >> Jerome, >> >> Thanks for the link. I need to read more about this. >> >> I added some code similar to this in commit 65. >> >> The Tip of the Day code reads an xml file which has >> multiple >> translations in it but ignores them. It then uses the >> usual _ function >> to translate the English text. I use the same >> technique but skipped the >> file conversion stage. I translate directly from the >> original xml file >> which I have not added the .in extension to. >> >> This may be confusing as it doesn't conform to an existing >> standard. >> Perhaps I should change this? >> >> The code should translate the xml file though. >> >> Regards, >> >> Nick. >> >> >> jerome wrote: >> >>> Nick, >>> >>> Thank you I will try under my locale. >>> At first glance, I noted that you also planned to >>> >> allow translation on census.xml. >> >>> Current make.py ignores this translation strings, we >>> >> need to add something like this : >> >>> >>> >> system('''intltool-extract >> --type=gettext/xml "%(addon)s"/*.xml.in''') >> >>> >>> >> system('''intltool-extract >> --type=gettext/glade "%(addon)s"/*.glade''') >> >>> >>> >> system('''xgettext --language=Python >> --keyword=_ --keyword=N_''' >> >>> >>> >> ''' -o "%(addon)s/po/template.pot" "%(addon)s"/*.py ''') >> >>> >>> >> system('''xgettext -j --keyword=_ >> --keyword=N_''' >> >>> >>> >> ''' -o "%(addon)s/po/template.pot" ''' >> >>> >>> >> '''"%(addon)s"/*.glade.h''') >> >>> >>> >> system('''xgettext -j --keyword=_ >> --keyword=N_''' >> >>> >>> >> ''' -o "%(addon)s/po/template.pot" ''' >> >>> >>> >> '''"%(addon)s"/*.xml.in.h''') >> >>> ... >>> >>> then we have the choice ! >>> >>> 1. retrieve translations and generate census.xml >>> intltool-merge -x po/ census.xml.in census.xml >>> >>> 2. retrieve translations and generate multiple >>> >> localized census.xml >> >>> intltool-merge -x -m po/ census.xml.in census.xml >>> >>> http://www.gnome.org/~malcolm/i18n/marking-strings.html#xml >>> >>> >>> Regards, >>> >>> Jérôme. >>> >>> >>> > > > > > > > |
From: jerome <rom...@ya...> - 2009-12-30 20:09:35
|
Nick, Maybe I made a mistake ... :-[ "I translate directly from the original xml" means you directly translate into the xml ? You do not translate strings into po file ? Isn't it ? > I'll email you the fr-local.po file I used for testing - it > probably isn't a good translation though. I did not have gramps-addons (no Gramps on this PC ...), so I did not test Census translation yet ! Planned on next days. Thank you ! Jérôme --- En date de : Mer 30.12.09, Nick Hall <nic...@ho...> a écrit : > De: Nick Hall <nic...@ho...> > Objet: Re: [Gramps-devel] Re : Census entry and Certificates in the Ecosystem definition > À: "jerome" <rom...@ya...> > Cc: "Gramps developers" <gra...@li...> > Date: Mercredi 30 Décembre 2009, 20h48 > Jerome, > > It all gets translated for me. > > When I ran the clean and init the entries appeared in the > po file for translation. > > "Where Born" does mean Birthplace. > > I'll email you the fr-local.po file I used for testing - it > probably isn't a good translation though. > > Nick. > > jerome wrote: > > Nick, > > > > > >> I translate directly from the original xml > file > > > > Maybe only strings which was already translated (Name, > Place, Census, etc ...) are localized. Translation file is > just a big dictionary with keys/values. So once entry is > translated, strings can be re-used. Maybe that's why some > distributions want to centralize all translations > (consistency and to avoid duplicated work) ! > > Note, gramps-connect and gramps working together, also > means re-use of translation strings[1] ... strings label > should not be so far away ;) > > > > On census.xml, entries like : > > City or Borough > > Parish or Township > > Where Born > > Ecclesiastical District > > City or Borough > > ... > > cannot be translated because there are not on the > translation template. (and will be ignored on translation) > > http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/census.xml?view=markup > > > > There is also strings translated 'out of gramps' : > some common Gtk+ labels (ex: on buttons) > > > > PS: what does "Where Born" mean ? > > "place of birth" or it is a "mark/comment on census" > ? > > > > > > Regards, > > Jérôme > > > > [1] http://www.gramps-project.org/bugs/view.php?id=3417 > > > > > > --- En date de : Mer 30.12.09, Nick Hall <nic...@ho...> > a écrit : > > > > > >> De: Nick Hall <nic...@ho...> > >> Objet: Re: [Gramps-devel] Re : Census entry and > Certificates in the Ecosystem definition > >> À: "jerome" <rom...@ya...> > >> Cc: "Gramps developers" <gra...@li...> > >> Date: Mercredi 30 Décembre 2009, 19h42 > >> Jerome, > >> > >> Thanks for the link. I need to read more > about this. > >> > >> I added some code similar to this in commit 65. > >> > >> The Tip of the Day code reads an xml file which > has > >> multiple translations in it but ignores > them. It then uses the > >> usual _ function to translate the English > text. I use the same > >> technique but skipped the file conversion > stage. I translate directly from the > >> original xml file which I have not added the .in > extension to. > >> > >> This may be confusing as it doesn't conform to an > existing > >> standard. Perhaps I should change this? > >> > >> The code should translate the xml file though. > >> > >> Regards, > >> > >> Nick. > >> > >> > >> jerome wrote: > >> > >>> Nick, > >>> > >>> Thank you I will try under my locale. > >>> At first glance, I noted that you also planned > to > >>> > >> allow translation on census.xml. > >> > >>> Current make.py ignores this translation > strings, we > >>> > >> need to add something like this : > >> > >>> > >> system('''intltool-extract > >> --type=gettext/xml "%(addon)s"/*.xml.in''') > >> > >>> > >> system('''intltool-extract > >> --type=gettext/glade "%(addon)s"/*.glade''') > >> > >>> > >> system('''xgettext --language=Python > >> --keyword=_ --keyword=N_''' > >> > >>> > > >> ''' -o "%(addon)s/po/template.pot" > "%(addon)s"/*.py ''') > >> > >>> > >> system('''xgettext -j --keyword=_ > >> --keyword=N_''' > >> > >>> > > >> ''' -o "%(addon)s/po/template.pot" ''' > >> > >>> > > >> '''"%(addon)s"/*.glade.h''') > >> > >>> > >> system('''xgettext -j --keyword=_ > >> --keyword=N_''' > >> > >>> > > >> ''' -o "%(addon)s/po/template.pot" ''' > >> > >>> > > >> '''"%(addon)s"/*.xml.in.h''') > >> > >>> ... > >>> > >>> then we have the choice ! > >>> > >>> 1. retrieve translations and generate > census.xml > >>> intltool-merge -x po/ census.xml.in > census.xml > >>> > >>> 2. retrieve translations and generate > multiple > >>> > >> localized census.xml > >> > >>> intltool-merge -x -m po/ census.xml.in > census.xml > >>> > >>> http://www.gnome.org/~malcolm/i18n/marking-strings.html#xml > >>> > >>> > >>> Regards, > >>> > >>> Jérôme. > >>> > >>> > > > > > > > > > > > > |
From: Nick H. <nic...@ho...> - 2009-12-30 22:10:20
|
Jerome, The xml is in English only. The elements that need translating begin with underscores. The make.py script adds the translatable text to the po file. This allows the strings to be translated and added to the translation catalogue. When I read the xml, I read in the text in English and use the usual _() function to translate it. In this way I don't ever need the translated text in an xml file. We may want to change this approach though, if there is a more standard way of doing things. It is worth noting that although the Tip of the Day xml file is translated, only the English text is actually read, and the elements containing translated text are ignored. Regards, Nick. jerome wrote: > Nick, > > Maybe I made a mistake ... :-[ > "I translate directly from the original xml" means you directly translate into the xml ? You do not translate strings into po file ? Isn't it ? > > >> I'll email you the fr-local.po file I used for testing - it >> probably isn't a good translation though. >> > > I did not have gramps-addons (no Gramps on this PC ...), so I did not test Census translation yet ! Planned on next days. > > > Thank you ! > > Jérôme > > --- En date de : Mer 30.12.09, Nick Hall <nic...@ho...> a écrit : > > >> De: Nick Hall <nic...@ho...> >> Objet: Re: [Gramps-devel] Re : Census entry and Certificates in the Ecosystem definition >> À: "jerome" <rom...@ya...> >> Cc: "Gramps developers" <gra...@li...> >> Date: Mercredi 30 Décembre 2009, 20h48 >> Jerome, >> >> It all gets translated for me. >> >> When I ran the clean and init the entries appeared in the >> po file for translation. >> >> "Where Born" does mean Birthplace. >> >> I'll email you the fr-local.po file I used for testing - it >> probably isn't a good translation though. >> >> Nick. >> >> jerome wrote: >> >>> Nick, >>> >>> >>> >>>> I translate directly from the original xml >>>> >> file >> >>> Maybe only strings which was already translated (Name, >>> >> Place, Census, etc ...) are localized. Translation file is >> just a big dictionary with keys/values. So once entry is >> translated, strings can be re-used. Maybe that's why some >> distributions want to centralize all translations >> (consistency and to avoid duplicated work) ! >> >>> Note, gramps-connect and gramps working together, also >>> >> means re-use of translation strings[1] ... strings label >> should not be so far away ;) >> >>> On census.xml, entries like : >>> City or Borough >>> Parish or Township >>> Where Born >>> Ecclesiastical District >>> City or Borough >>> ... >>> cannot be translated because there are not on the >>> >> translation template. (and will be ignored on translation) >> >>> http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/census.xml?view=markup >>> >>> There is also strings translated 'out of gramps' : >>> >> some common Gtk+ labels (ex: on buttons) >> >>> PS: what does "Where Born" mean ? >>> "place of birth" or it is a "mark/comment on census" >>> >> ? >> >>> Regards, >>> Jérôme >>> >>> [1] http://www.gramps-project.org/bugs/view.php?id=3417 >>> >>> >>> --- En date de : Mer 30.12.09, Nick Hall <nic...@ho...> >>> >> a écrit : >> >>> >>> >>>> De: Nick Hall <nic...@ho...> >>>> Objet: Re: [Gramps-devel] Re : Census entry and >>>> >> Certificates in the Ecosystem definition >> >>>> À: "jerome" <rom...@ya...> >>>> Cc: "Gramps developers" <gra...@li...> >>>> Date: Mercredi 30 Décembre 2009, 19h42 >>>> Jerome, >>>> >>>> Thanks for the link. I need to read more >>>> >> about this. >> >>>> I added some code similar to this in commit 65. >>>> >>>> The Tip of the Day code reads an xml file which >>>> >> has >> >>>> multiple translations in it but ignores >>>> >> them. It then uses the >> >>>> usual _ function to translate the English >>>> >> text. I use the same >> >>>> technique but skipped the file conversion >>>> >> stage. I translate directly from the >> >>>> original xml file which I have not added the .in >>>> >> extension to. >> >>>> This may be confusing as it doesn't conform to an >>>> >> existing >> >>>> standard. Perhaps I should change this? >>>> >>>> The code should translate the xml file though. >>>> >>>> Regards, >>>> >>>> Nick. >>>> >>>> >>>> jerome wrote: >>>> >>>> >>>>> Nick, >>>>> >>>>> Thank you I will try under my locale. >>>>> At first glance, I noted that you also planned >>>>> >> to >> >>>>> >>>>> >>>> allow translation on census.xml. >>>> >>>> >>>>> Current make.py ignores this translation >>>>> >> strings, we >> >>>>> >>>>> >>>> need to add something like this : >>>> >>>> >>>>> >>>>> >>>> system('''intltool-extract >>>> --type=gettext/xml "%(addon)s"/*.xml.in''') >>>> >>>> >>>>> >>>>> >>>> system('''intltool-extract >>>> --type=gettext/glade "%(addon)s"/*.glade''') >>>> >>>> >>>>> >>>>> >>>> system('''xgettext --language=Python >>>> --keyword=_ --keyword=N_''' >>>> >>>> >>>>> >>>>> >> >> >>>> ''' -o "%(addon)s/po/template.pot" >>>> >> "%(addon)s"/*.py ''') >> >>>> >>>> >>>>> >>>>> >>>> system('''xgettext -j --keyword=_ >>>> --keyword=N_''' >>>> >>>> >>>>> >>>>> >> >> >>>> ''' -o "%(addon)s/po/template.pot" ''' >>>> >>>> >>>>> >>>>> >> >> >>>> '''"%(addon)s"/*.glade.h''') >>>> >>>> >>>>> >>>>> >>>> system('''xgettext -j --keyword=_ >>>> --keyword=N_''' >>>> >>>> >>>>> >>>>> >> >> >>>> ''' -o "%(addon)s/po/template.pot" ''' >>>> >>>> >>>>> >>>>> >> >> >>>> '''"%(addon)s"/*.xml.in.h''') >>>> >>>> >>>>> ... >>>>> >>>>> then we have the choice ! >>>>> >>>>> 1. retrieve translations and generate >>>>> >> census.xml >> >>>>> intltool-merge -x po/ census.xml.in >>>>> >> census.xml >> >>>>> 2. retrieve translations and generate >>>>> >> multiple >> >>>>> >>>>> >>>> localized census.xml >>>> >>>> >>>>> intltool-merge -x -m po/ census.xml.in >>>>> >> census.xml >> >>>>> http://www.gnome.org/~malcolm/i18n/marking-strings.html#xml >>>>> >>>>> >>>>> Regards, >>>>> >>>>> Jérôme. >>>>> >>>>> >>>>> >>> >>> >>> >>> >>> > > > > > > |
From: Jérôme <rom...@ya...> - 2009-12-31 08:33:48
|
Nick, > The make.py script adds the translatable text to the po file. This > allows the strings to be translated and added to the translation catalogue. Yes sorry, you also said it was enable on a previous revision ... http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons?view=rev&revision=65 I have just saw rev66 and I was surprised (not tested) you was able to get translations without XML support on make.py but it was added on rev65. I didn't know ... :-[ > In this way I don't ever need the translated text in an xml file. > > We may want to change this approach though, if there is a more standard > way of doing things. It is worth noting that although the Tip of the > Day xml file is translated, only the English text is actually read, and > the elements containing translated text are ignored. Yes, if so tips.xml management could be more simple. Maybe this will also allow users under Windows OS to see translated strings on tip of the day dialog ? way used by tips.xml.in was the only one sample I have seen ... Regards, Jérôme. Nick Hall a écrit : > Jerome, > > The xml is in English only. The elements that need translating begin > with underscores. > > The make.py script adds the translatable text to the po file. This > allows the strings to be translated and added to the translation catalogue. > > When I read the xml, I read in the text in English and use the usual _() > function to translate it. > > In this way I don't ever need the translated text in an xml file. > > We may want to change this approach though, if there is a more standard > way of doing things. It is worth noting that although the Tip of the > Day xml file is translated, only the English text is actually read, and > the elements containing translated text are ignored. > > Regards, > > Nick. > > jerome wrote: >> Nick, >> Maybe I made a mistake ... :-[ >> "I translate directly from the original xml" means you directly >> translate into the xml ? You do not translate strings into po file ? >> Isn't it ? >> >> >>> I'll email you the fr-local.po file I used for testing - it >>> probably isn't a good translation though. >>> >> >> I did not have gramps-addons (no Gramps on this PC ...), so I did not >> test Census translation yet ! Planned on next days. >> >> >> Thank you ! >> >> Jérôme >> >> --- En date de : Mer 30.12.09, Nick Hall <nic...@ho...> a >> écrit : >> >> >>> De: Nick Hall <nic...@ho...> >>> Objet: Re: [Gramps-devel] Re : Census entry and Certificates in the >>> Ecosystem definition >>> À: "jerome" <rom...@ya...> >>> Cc: "Gramps developers" <gra...@li...> >>> Date: Mercredi 30 Décembre 2009, 20h48 >>> Jerome, >>> >>> It all gets translated for me. >>> >>> When I ran the clean and init the entries appeared in the >>> po file for translation. >>> >>> "Where Born" does mean Birthplace. >>> >>> I'll email you the fr-local.po file I used for testing - it >>> probably isn't a good translation though. >>> >>> Nick. >>> >>> jerome wrote: >>> >>>> Nick, >>>> >>>> >>>>> I translate directly from the original xml >>>>> >>> file >>>> Maybe only strings which was already translated (Name, >>>> >>> Place, Census, etc ...) are localized. Translation file is >>> just a big dictionary with keys/values. So once entry is >>> translated, strings can be re-used. Maybe that's why some >>> distributions want to centralize all translations >>> (consistency and to avoid duplicated work) ! >>> >>>> Note, gramps-connect and gramps working together, also >>>> >>> means re-use of translation strings[1] ... strings label >>> should not be so far away ;) >>> >>>> On census.xml, entries like : >>>> City or Borough >>>> Parish or Township >>>> Where Born >>>> Ecclesiastical District >>>> City or Borough >>>> ... >>>> cannot be translated because there are not on the >>>> >>> translation template. (and will be ignored on translation) >>> >>>> http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/census.xml?view=markup >>>> >>>> >>>> There is also strings translated 'out of gramps' : >>>> >>> some common Gtk+ labels (ex: on buttons) >>> >>>> PS: what does "Where Born" mean ? >>>> "place of birth" or it is a "mark/comment on census" >>>> >>> ? >>> >>>> Regards, >>>> Jérôme >>>> >>>> [1] http://www.gramps-project.org/bugs/view.php?id=3417 >>>> >>>> >>>> --- En date de : Mer 30.12.09, Nick Hall <nic...@ho...> >>>> >>> a écrit : >>> >>>> >>>>> De: Nick Hall <nic...@ho...> >>>>> Objet: Re: [Gramps-devel] Re : Census entry and >>>>> >>> Certificates in the Ecosystem definition >>> >>>>> À: "jerome" <rom...@ya...> >>>>> Cc: "Gramps developers" <gra...@li...> >>>>> Date: Mercredi 30 Décembre 2009, 19h42 >>>>> Jerome, >>>>> >>>>> Thanks for the link. I need to read more >>>>> >>> about this. >>> >>>>> I added some code similar to this in commit 65. >>>>> >>>>> The Tip of the Day code reads an xml file which >>>>> >>> has >>> >>>>> multiple translations in it but ignores >>>>> >>> them. It then uses the >>> >>>>> usual _ function to translate the English >>>>> >>> text. I use the same >>> >>>>> technique but skipped the file conversion >>>>> >>> stage. I translate directly from the >>> >>>>> original xml file which I have not added the .in >>>>> >>> extension to. >>> >>>>> This may be confusing as it doesn't conform to an >>>>> >>> existing >>> >>>>> standard. Perhaps I should change this? >>>>> >>>>> The code should translate the xml file though. >>>>> >>>>> Regards, >>>>> >>>>> Nick. >>>>> >>>>> >>>>> jerome wrote: >>>>> >>>>>> Nick, >>>>>> >>>>>> Thank you I will try under my locale. >>>>>> At first glance, I noted that you also planned >>>>>> >>> to >>> >>>>>> >>>>> allow translation on census.xml. >>>>> >>>>>> Current make.py ignores this translation >>>>>> >>> strings, we >>> >>>>>> >>>>> need to add something like this : >>>>> >>>>>> >>>>> system('''intltool-extract >>>>> --type=gettext/xml "%(addon)s"/*.xml.in''') >>>>> >>>>>> >>>>> system('''intltool-extract >>>>> --type=gettext/glade "%(addon)s"/*.glade''') >>>>> >>>>>> >>>>> system('''xgettext --language=Python >>>>> --keyword=_ --keyword=N_''' >>>>> >>>>>> >>> >>>>> ''' -o "%(addon)s/po/template.pot" >>>>> >>> "%(addon)s"/*.py ''') >>> >>>>> >>>>>> >>>>> system('''xgettext -j --keyword=_ >>>>> --keyword=N_''' >>>>> >>>>>> >>> >>>>> ''' -o "%(addon)s/po/template.pot" ''' >>>>> >>>>>> >>> >>>>> '''"%(addon)s"/*.glade.h''') >>>>> >>>>>> >>>>> system('''xgettext -j --keyword=_ >>>>> --keyword=N_''' >>>>> >>>>>> >>> >>>>> ''' -o "%(addon)s/po/template.pot" ''' >>>>> >>>>>> >>> >>>>> '''"%(addon)s"/*.xml.in.h''') >>>>> >>>>>> ... >>>>>> >>>>>> then we have the choice ! >>>>>> >>>>>> 1. retrieve translations and generate >>>>>> >>> census.xml >>> >>>>>> intltool-merge -x po/ census.xml.in >>>>>> >>> census.xml >>> >>>>>> 2. retrieve translations and generate >>>>>> >>> multiple >>> >>>>>> >>>>> localized census.xml >>>>> >>>>>> intltool-merge -x -m po/ census.xml.in >>>>>> >>> census.xml >>> >>>>>> http://www.gnome.org/~malcolm/i18n/marking-strings.html#xml >>>>>> >>>>>> >>>>>> Regards, >>>>>> >>>>>> Jérôme. >>>>>> >>>>>> >>>> >>>> >>>> >> >> >> >> >> > |
From: Nick H. <nic...@ho...> - 2009-12-23 10:14:26
|
Jerome, Your Census.py file works for me. What you need to do is create a new source, or use an existing one, for the 1831 French census. Then edit the source and click on the Data tab. Create an entry with a key of "Census" and a value of "FR1831". These are case sensitive so check for the uppercase "C" in "Census" and uppercase "FR" in "FR1831". Now you are ready to add a census. In the gramplet view, open the Census Gramplet. This will display an empty list of censuses for the active person. If you click on the "New" button at the bottom of the gramplet, it will create a new census. The only option for the source will be the French 1831 census and the date of 1831 will be filled in automatically for you. I don't think that the error is related to the census addons because they do not use embedded lists. There is one problem that I have noticed; when I created a new census it didn't appear in the list. It should appear in the list of censuses so that it can be edited. I'll investigate why the list is not refreshing for the first census added. Let me know if you need any further help. Regards, Nick. jerome wrote: > Thank you ! > > >> So, for example, if you were defining the 1801 French >> Census then you would create an ID for it - FR1801 would be >> a good choice. Then you would add define its date and >> columns. To begin with you could make the report >> columns the same as the attributes and make the columns >> equal size. >> >> You will need to make the first column in each census >> _('Name'). The editor looks for this value. >> > > Prior to the "slave|prisoner" labor (around 35 census with multiple fields since 1790 ...), I made a test with 'FR1831' (census.py.gz), but same result : I cannot see or use any entry whatever I do (add a source, a census event) ! Any idea ? > > Also a sourcerefmodel error : > > Traceback (most recent call last): > File "trunk/src/gui/editors/displaytabs/embeddedlist.py", line 471, in rebuild > self.model = self.construct_model() > File "trunk/src/gui/editors/displaytabs/embeddedlist.py", line 457, in construct_model > return self.build_model(self.get_data(), self.dbstate.db) > File "trunk/src/gui/editors/displaytabs/sourcerefmodel.py", line 49, in __init__ > self.append(row=[src.gramps_id, src.title, src.author, > AttributeError: 'NoneType' object has no attribute 'gramps_id' > > > Regards, > > Jérôme > > > --- En date de : Mar 22.12.09, Nick Hall <nic...@ho...> a écrit : > > >> De: Nick Hall <nic...@ho...> >> Objet: Re: Re : [Gramps-devel] Census entry and Certificates in the Ecosystem definition >> À: "jerome" <rom...@ya...> >> Cc: "Gramps developers" <gra...@li...> >> Date: Mardi 22 Décembre 2009, 20h14 >> Jerome, >> >> Thanks for pointing out the error. I didn't test it >> without any census sources defined. >> >> Yes, you will need some census definitions. I have >> only supplied ones for the UK, but I would like to see if I >> can generalise it for other countries. When you have >> the definitions in the Census.py file then they need to be >> associated with a source by adding an entry in the Data tab >> for the source. >> >> Your suggestion of using XML format for the definition file >> is a good one. I had thought about it, but the python >> file was easier. I am now thinking that XML is the way >> to go. >> >> At the moment there are three dictionaries. >> >> CENSUS_DATES holds the date for each census defined. >> CENSUS_COLS define the columns in the census. Each >> entry is the name of the attribute that will be used to >> store the data for the column in the EventRef objects. >> >> REPORT_COLS define the columns that will be used in the >> report. At the moment the report displays a column for >> each attribute. The REPORT_COLS allows for a different >> heading in the report to that used for the attribute. >> The second element in the tuple is a column width - the sum >> of these should not exceed 100. >> >> What I don't have at the moment is a way to specify the >> header information for a census. What I need to do is >> store a list of attributes that will be attached to the >> census event. >> >> So, for example, if you were defining the 1801 French >> Census then you would create an ID for it - FR1801 would be >> a good choice. Then you would add define its date and >> columns. To begin with you could make the report >> columns the same as the attributes and make the columns >> equal size. >> >> You will need to make the first column in each census >> _('Name'). The editor looks for this value. This >> probably needs some further thought. >> >> Let me know if you need some help getting it to work. >> >> I'll start to think about the XML format. >> >> Regards, >> >> Nick. >> >> jerome wrote: >> >>> Nick, >>> >>> >>> 31645: ERROR: gramps.py: line 121: Unhandled >>> >> exception >> >>> Traceback (most recent call last): >>> File "trunk/src/gui/viewmanager.py", >>> >> line 1629, in <lambda> >> >>> return lambda x: >>> >> run_plugin(pdata, dbstate, uistate) >> >>> File "trunk/src/gui/viewmanager.py", >>> >> line 1617, in run_plugin >> >>> pdata.category, >>> >> pdata.require_active) >> >>> File >>> >> "trunk/src/ReportBase/_ReportDialog.py", line 605, in >> report >> >>> dialog = dialog_class(dbstate, >>> >> uistate, options_class, name, trans_name) >> >>> File >>> >> "trunk/src/ReportBase/_TextReportDialog.py", line 101, in >> __init__ >> >>> name, translated_name) >>> File >>> >> "trunk/src/ReportBase/_DocReportDialog.py", line 66, in >> __init__ >> >>> name, trans_name) >>> File >>> >> "trunk/src/ReportBase/_ReportDialog.py", line 96, in >> __init__ >> >>> >>> >> self.init_options(option_class) >> >>> File >>> >> "trunk/src/ReportBase/_ReportDialog.py", line 103, in >> init_options >> >>> self.options = >>> >> option_class(self.raw_name, self.db) >> >>> File >>> >> ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", >> line 265, in __init__ >> >>> >>> >> MenuReportOptions.__init__(self, name, >> database) >> >>> File >>> >> "trunk/src/ReportBase/_ReportOptions.py", line 809, in >> __init__ >> >>> GuiMenuOptions.__init__(self) >>> File >>> >> "trunk/src/PluginUtils/_GuiOptions.py", line 1415, in >> __init__ >> >>> >>> >> self.add_menu_options(self.menu) >> >>> File >>> >> ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", >> line 286, in add_menu_options >> >>> src_handle = >>> >> EnumeratedListOption(_('Source'), sources[0][0]) >> >>> IndexError: list index out of range >>> >>> Does it mean that without "census keys", I am "really" >>> >> not able to use these gramplet and report [1][2] ? >> >>> So, I need to add some census keys for my country >>> >> [3][4][5] on my local census.py [6], isn't it ? >> >>> * FR16.. France 16.. (lordship) >>> * FR1770 France 1770 (religious) >>> * FR1801 France 1801 (civil) >>> ... >>> >>> Is it not more logical to load a XML file ? >>> Like calendar plugin with holidays.xml [7]. >>> >>> >>> Regards, >>> Jérôme >>> >>> >>> --- >>> [1] http://www.gramps-project.org/wiki/index.php?title=Census_Addons#Configuration >>> [2] http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/README >>> [3] http://www.gramps-project.org/wiki/index.php?title=Recording_French_Census_data >>> [4] http://fr.geneawiki.com/index.php/Recensements >>> [5] http://jomave.chez-alice.fr/sources/recensem.html >>> [6] http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/Census.py?r1=25&r2=42&pathrev=44 >>> [7] http://www.gramps-project.org/wiki/index.php?title=Calendar_tools_holidays >>> >>> >>> >>> >>> >>> --- En date de : Mar 22.12.09, Nick Hall <nic...@ho...> >>> >> a écrit : >> >>> >>> >>>> De: Nick Hall <nic...@ho...> >>>> Objet: [Gramps-devel] Census entry and >>>> >> Certificates in the Ecosystem definition >> >>>> À: "Gramps developers" <gra...@li...> >>>> Date: Mardi 22 Décembre 2009, 15h12 >>>> I have written a couple of Census >>>> addons. >>>> There is some documentation here: >>>> >>>> http://www.gramps-project.org/wiki/index.php?title=Census_Addons >>>> >>>> There is an editor which allows the user to enter >>>> >> census >> >>>> information in one place, in a format similar to >>>> >> that of the original >> >>>> census return. The objective was to make >>>> >> entry of census data much quicker >> >>>> whilst using a data format that also allows >>>> >> editing using the standard >> >>>> Gramps editors. >>>> >>>> There is also a census report which print census >>>> >> data in a >> >>>> format similar to that of the original census >>>> >> return. >> >>>> It occurred to me that my addons may provide a >>>> >> prototype >> >>>> for Certificates as described in the Ecosystem >>>> >> definition. >> >>>> http://www.gramps-project.org/wiki/index.php?title=GEPS_012:_Ecosystem_definition#Certificates >>>> >>>> Should I be thinking of changing my gramplet into >>>> >> a >> >>>> certificate? >>>> >>>> My code is in the gramps-addons repository and is >>>> accessible from the plugins page: >>>> >>>> http://www.gramps-project.org/wiki/index.php?title=3.2_Third-party_Plugins >>>> >>>> Regards, >>>> >>>> Nick. >>>> >>>> >>>> >>>> >> ------------------------------------------------------------------------------ >> >>>> This SF.Net email is sponsored by the Verizon >>>> >> Developer >> >>>> Community >>>> Take advantage of Verizon's best-in-class app >>>> >> development >> >>>> support >>>> A streamlined, 14 day to market process makes app >>>> distribution fast and easy >>>> Join now and get one step closer to millions of >>>> >> Verizon >> >>>> customers >>>> http://p.sf.net/sfu/verizon-dev2dev >>>> >> _______________________________________________ >> >>>> Gramps-devel mailing list >>>> Gra...@li... >>>> https://lists.sourceforge.net/lists/listinfo/gramps-devel >>>> >>>> >>>> >>> >>> >>> >> ------------------------------------------------------------------------ >> > > > |
From: jerome <rom...@ya...> - 2009-12-23 16:37:31
|
Maybe I start to understand what is not working with my configuration and census addons : something between my locale, translated event, data_map and id ! Sorry, I don't have a working patch. > In the gramplet view, open the Census Gramplet. This > will display an > empty list of censuses for the active person. If you > click on the "New" > button at the bottom of the gramplet, it will create a new > census. The > only option for the source will be the French 1831 census > and the date > of 1831 will be filled in automatically for you. No, I cannot see any option for the source on list :( > Then edit the source and click on the Data tab. > Create an entry with a > key of "Census" and a value of "FR1831". These are > case sensitive so > check for the uppercase "C" in "Census" and uppercase "FR" > in "FR1831". I see an entry only if I use "Recensement" rather than "Census", which is the french translation ! I am able to add some data, but census report will crash : 88535: ERROR: _ReportDialog.py: line 640: Failed to run report. Traceback (most recent call last): File "trunk/src/ReportBase/_ReportDialog.py", line 615, in report MyReport.write_report() File ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", line 116, in write_report self.check_event(handle) File ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", line 127, in check_event source_ref = get_census_source_ref(self.database, event) File ".gramps/plugins/gramps-addons/contrib/Census/Census.py", line 237, in get_census_source_ref census_id = source.get_data_map()[_('Census')] AttributeError: 'NoneType' object has no attribute 'get_data_map' Regards, Jérôme R. --- En date de : Mer 23.12.09, Nick Hall <nic...@ho...> a écrit : > De: Nick Hall <nic...@ho...> > Objet: Re: Re : [Gramps-devel] Census entry and Certificates in the Ecosystem definition > À: "jerome" <rom...@ya...> > Cc: "Gramps developers" <gra...@li...> > Date: Mercredi 23 Décembre 2009, 11h14 > Jerome, > > Your Census.py file works for me. > > What you need to do is create a new source, or use an > existing one, for > the 1831 French census. > > Then edit the source and click on the Data tab. > Create an entry with a > key of "Census" and a value of "FR1831". These are > case sensitive so > check for the uppercase "C" in "Census" and uppercase "FR" > in "FR1831". > > Now you are ready to add a census. > > In the gramplet view, open the Census Gramplet. This > will display an > empty list of censuses for the active person. If you > click on the "New" > button at the bottom of the gramplet, it will create a new > census. The > only option for the source will be the French 1831 census > and the date > of 1831 will be filled in automatically for you. > > I don't think that the error is related to the census > addons because > they do not use embedded lists. > > There is one problem that I have noticed; when I created a > new census it > didn't appear in the list. It should appear in the > list of censuses so > that it can be edited. I'll investigate why the list > is not refreshing > for the first census added. > > Let me know if you need any further help. > > Regards, > > Nick. > > jerome wrote: > > Thank you ! > > > > > >> So, for example, if you were defining the 1801 > French > >> Census then you would create an ID for it - FR1801 > would be > >> a good choice. Then you would add define its > date and > >> columns. To begin with you could make the > report > >> columns the same as the attributes and make the > columns > >> equal size. > >> > >> You will need to make the first column in each > census > >> _('Name'). The editor looks for this value. > >> > > > > Prior to the "slave|prisoner" labor (around 35 census > with multiple fields since 1790 ...), I made a test with > 'FR1831' (census.py.gz), but same result : I cannot see or > use any entry whatever I do (add a source, a census event) ! > Any idea ? > > > > Also a sourcerefmodel error : > > > > Traceback (most recent call last): > > File > "trunk/src/gui/editors/displaytabs/embeddedlist.py", line > 471, in rebuild > > self.model = > self.construct_model() > > File > "trunk/src/gui/editors/displaytabs/embeddedlist.py", line > 457, in construct_model > > return > self.build_model(self.get_data(), self.dbstate.db) > > File > "trunk/src/gui/editors/displaytabs/sourcerefmodel.py", line > 49, in __init__ > > > self.append(row=[src.gramps_id, src.title, > src.author, > > AttributeError: 'NoneType' object has no attribute > 'gramps_id' > > > > > > Regards, > > > > Jérôme > > > > > > --- En date de : Mar 22.12.09, Nick Hall <nic...@ho...> > a écrit : > > > > > >> De: Nick Hall <nic...@ho...> > >> Objet: Re: Re : [Gramps-devel] Census entry and > Certificates in the Ecosystem definition > >> À: "jerome" <rom...@ya...> > >> Cc: "Gramps developers" <gra...@li...> > >> Date: Mardi 22 Décembre 2009, 20h14 > >> Jerome, > >> > >> Thanks for pointing out the error. I didn't > test it > >> without any census sources defined. > >> > >> Yes, you will need some census definitions. > I have > >> only supplied ones for the UK, but I would like to > see if I > >> can generalise it for other countries. When > you have > >> the definitions in the Census.py file then they > need to be > >> associated with a source by adding an entry in the > Data tab > >> for the source. > >> > >> Your suggestion of using XML format for the > definition file > >> is a good one. I had thought about it, but > the python > >> file was easier. I am now thinking that XML > is the way > >> to go. > >> > >> At the moment there are three dictionaries. > >> > >> CENSUS_DATES holds the date for each census > defined. > >> CENSUS_COLS define the columns in the > census. Each > >> entry is the name of the attribute that will be > used to > >> store the data for the column in the EventRef > objects. > >> > >> REPORT_COLS define the columns that will be used > in the > >> report. At the moment the report displays a > column for > >> each attribute. The REPORT_COLS allows for a > different > >> heading in the report to that used for the > attribute. > >> The second element in the tuple is a column width > - the sum > >> of these should not exceed 100. > >> > >> What I don't have at the moment is a way to > specify the > >> header information for a census. What I need > to do is > >> store a list of attributes that will be attached > to the > >> census event. > >> > >> So, for example, if you were defining the 1801 > French > >> Census then you would create an ID for it - FR1801 > would be > >> a good choice. Then you would add define its > date and > >> columns. To begin with you could make the > report > >> columns the same as the attributes and make the > columns > >> equal size. > >> > >> You will need to make the first column in each > census > >> _('Name'). The editor looks for this > value. This > >> probably needs some further thought. > >> > >> Let me know if you need some help getting it to > work. > >> > >> I'll start to think about the XML format. > >> > >> Regards, > >> > >> Nick. > >> > >> jerome wrote: > >> > >>> Nick, > >>> > >>> > >>> 31645: ERROR: gramps.py: line 121: Unhandled > >>> > >> exception > >> > >>> Traceback (most recent call last): > >>> File > "trunk/src/gui/viewmanager.py", > >>> > >> line 1629, in <lambda> > >> > >>> return lambda x: > >>> > >> run_plugin(pdata, dbstate, uistate) > >> > >>> File > "trunk/src/gui/viewmanager.py", > >>> > >> line 1617, in run_plugin > >> > >>> pdata.category, > >>> > >> pdata.require_active) > >> > >>> File > >>> > >> "trunk/src/ReportBase/_ReportDialog.py", line 605, > in > >> report > >> > >>> dialog = > dialog_class(dbstate, > >>> > >> uistate, options_class, name, trans_name) > >> > >>> File > >>> > >> "trunk/src/ReportBase/_TextReportDialog.py", line > 101, in > >> __init__ > >> > >>> name, translated_name) > >>> File > >>> > >> "trunk/src/ReportBase/_DocReportDialog.py", line > 66, in > >> __init__ > >> > >>> name, trans_name) > >>> File > >>> > >> "trunk/src/ReportBase/_ReportDialog.py", line 96, > in > >> __init__ > >> > >>> > >>> > >> self.init_options(option_class) > >> > >>> File > >>> > >> "trunk/src/ReportBase/_ReportDialog.py", line 103, > in > >> init_options > >> > >>> self.options = > >>> > >> option_class(self.raw_name, self.db) > >> > >>> File > >>> > >> > ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", > >> line 265, in __init__ > >> > >>> > >>> > >> MenuReportOptions.__init__(self, > name, > >> database) > >> > >>> File > >>> > >> "trunk/src/ReportBase/_ReportOptions.py", line > 809, in > >> __init__ > >> > >>> > GuiMenuOptions.__init__(self) > >>> File > >>> > >> "trunk/src/PluginUtils/_GuiOptions.py", line 1415, > in > >> __init__ > >> > >>> > >>> > >> self.add_menu_options(self.menu) > >> > >>> File > >>> > >> > ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", > >> line 286, in add_menu_options > >> > >>> src_handle = > >>> > >> EnumeratedListOption(_('Source'), sources[0][0]) > >> > >>> IndexError: list index out of range > >>> > >>> Does it mean that without "census keys", I am > "really" > >>> > >> not able to use these gramplet and report [1][2] > ? > >> > >>> So, I need to add some census keys for my > country > >>> > >> [3][4][5] on my local census.py [6], isn't it ? > >> > >>> * FR16.. France 16.. > (lordship) > >>> * FR1770 France 1770 > (religious) > >>> * FR1801 France 1801 > (civil) > >>> ... > >>> > >>> Is it not more logical to load a XML file ? > >>> Like calendar plugin with holidays.xml [7]. > >>> > >>> > >>> Regards, > >>> Jérôme > >>> > >>> > >>> --- > >>> [1] http://www.gramps-project.org/wiki/index.php?title=Census_Addons#Configuration > >>> [2] http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/README > >>> [3] http://www.gramps-project.org/wiki/index.php?title=Recording_French_Census_data > >>> [4] http://fr.geneawiki.com/index.php/Recensements > >>> [5] http://jomave.chez-alice.fr/sources/recensem.html > >>> [6] http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/Census.py?r1=25&r2=42&pathrev=44 > >>> [7] http://www.gramps-project.org/wiki/index.php?title=Calendar_tools_holidays > >>> > >>> > >>> > >>> > >>> > >>> --- En date de : Mar 22.12.09, Nick Hall > <nic...@ho...> > >>> > >> a écrit : > >> > >>> > >>> > >>>> De: Nick Hall <nic...@ho...> > >>>> Objet: [Gramps-devel] Census entry and > >>>> > >> Certificates in the Ecosystem definition > >> > >>>> À: "Gramps developers" <gra...@li...> > >>>> Date: Mardi 22 Décembre 2009, 15h12 > >>>> I have written a couple of Census > >>>> addons. > >>>> There is some documentation here: > >>>> > >>>> http://www.gramps-project.org/wiki/index.php?title=Census_Addons > >>>> > >>>> There is an editor which allows the user > to enter > >>>> > >> census > >> > >>>> information in one place, in a format > similar to > >>>> > >> that of the original > >> > >>>> census return. The objective was to > make > >>>> > >> entry of census data much quicker > >> > >>>> whilst using a data format that also > allows > >>>> > >> editing using the standard > >> > >>>> Gramps editors. > >>>> > >>>> There is also a census report which print > census > >>>> > >> data in a > >> > >>>> format similar to that of the original > census > >>>> > >> return. > >> > >>>> It occurred to me that my addons may > provide a > >>>> > >> prototype > >> > >>>> for Certificates as described in the > Ecosystem > >>>> > >> definition. > >> > >>>> http://www.gramps-project.org/wiki/index.php?title=GEPS_012:_Ecosystem_definition#Certificates > >>>> > >>>> Should I be thinking of changing my > gramplet into > >>>> > >> a > >> > >>>> certificate? > >>>> > >>>> My code is in the gramps-addons repository > and is > >>>> accessible from the plugins page: > >>>> > >>>> http://www.gramps-project.org/wiki/index.php?title=3.2_Third-party_Plugins > >>>> > >>>> Regards, > >>>> > >>>> Nick. > >>>> > >>>> > >>>> > >>>> > >> > ------------------------------------------------------------------------------ > >> > >>>> This SF.Net email is sponsored by the > Verizon > >>>> > >> Developer > >> > >>>> Community > >>>> Take advantage of Verizon's best-in-class > app > >>>> > >> development > >> > >>>> support > >>>> A streamlined, 14 day to market process > makes app > >>>> distribution fast and easy > >>>> Join now and get one step closer to > millions of > >>>> > >> Verizon > >> > >>>> customers > >>>> http://p.sf.net/sfu/verizon-dev2dev > >>>> > >> _______________________________________________ > >> > >>>> Gramps-devel mailing list > >>>> Gra...@li... > >>>> https://lists.sourceforge.net/lists/listinfo/gramps-devel > >>>> > >>>> > >>>> > >>> > >>> > >>> > >> > ------------------------------------------------------------------------ > >> > > > > > > > |
From: Nick H. <nic...@ho...> - 2009-12-24 00:55:39
|
Jerome, I have just committed an update that I think will fix this. The problem was with the translations. I was relying on the string "Census" which I had not defined in a single place. I have now defined it as the variable CENSUS_TAG in Census.py - you can translate this but you will have to use the translated version in the Data tab of the source object. I should work now because it is defined in a single place in the code. I have been experimenting with an XML file for the census definitions. How will this work with translations? I'd like to get this working with translations; if we have any more problems of this type I will try to run the French version on my machine. I don't know if it is as simple as changing an environment variable or if I will need to install a language pack. Regards, Nick. jerome wrote: > Maybe I start to understand what is not working with my configuration and census addons : something between my locale, translated event, data_map and id ! Sorry, I don't have a working patch. > > >> In the gramplet view, open the Census Gramplet. This >> will display an >> empty list of censuses for the active person. If you >> click on the "New" >> button at the bottom of the gramplet, it will create a new >> census. The >> only option for the source will be the French 1831 census >> and the date >> of 1831 will be filled in automatically for you. >> > > No, I cannot see any option for the source on list :( > > >> Then edit the source and click on the Data tab. >> Create an entry with a >> key of "Census" and a value of "FR1831". These are >> case sensitive so >> check for the uppercase "C" in "Census" and uppercase "FR" >> in "FR1831". >> > > I see an entry only if I use "Recensement" rather than "Census", which is the french translation ! > I am able to add some data, but census report will crash : > > 88535: ERROR: _ReportDialog.py: line 640: Failed to run report. > Traceback (most recent call last): > File "trunk/src/ReportBase/_ReportDialog.py", line 615, in report > MyReport.write_report() > File ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", line 116, in write_report > self.check_event(handle) > File ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", line 127, in check_event > source_ref = get_census_source_ref(self.database, event) > File ".gramps/plugins/gramps-addons/contrib/Census/Census.py", line 237, in get_census_source_ref > census_id = source.get_data_map()[_('Census')] > AttributeError: 'NoneType' object has no attribute 'get_data_map' > > > Regards, > Jérôme R. > > > --- En date de : Mer 23.12.09, Nick Hall <nic...@ho...> a écrit : > > >> De: Nick Hall <nic...@ho...> >> Objet: Re: Re : [Gramps-devel] Census entry and Certificates in the Ecosystem definition >> À: "jerome" <rom...@ya...> >> Cc: "Gramps developers" <gra...@li...> >> Date: Mercredi 23 Décembre 2009, 11h14 >> Jerome, >> >> Your Census.py file works for me. >> >> What you need to do is create a new source, or use an >> existing one, for >> the 1831 French census. >> >> Then edit the source and click on the Data tab. >> Create an entry with a >> key of "Census" and a value of "FR1831". These are >> case sensitive so >> check for the uppercase "C" in "Census" and uppercase "FR" >> in "FR1831". >> >> Now you are ready to add a census. >> >> In the gramplet view, open the Census Gramplet. This >> will display an >> empty list of censuses for the active person. If you >> click on the "New" >> button at the bottom of the gramplet, it will create a new >> census. The >> only option for the source will be the French 1831 census >> and the date >> of 1831 will be filled in automatically for you. >> >> I don't think that the error is related to the census >> addons because >> they do not use embedded lists. >> >> There is one problem that I have noticed; when I created a >> new census it >> didn't appear in the list. It should appear in the >> list of censuses so >> that it can be edited. I'll investigate why the list >> is not refreshing >> for the first census added. >> >> Let me know if you need any further help. >> >> Regards, >> >> Nick. >> >> jerome wrote: >> >>> Thank you ! >>> >>> >>> >>>> So, for example, if you were defining the 1801 >>>> >> French >> >>>> Census then you would create an ID for it - FR1801 >>>> >> would be >> >>>> a good choice. Then you would add define its >>>> >> date and >> >>>> columns. To begin with you could make the >>>> >> report >> >>>> columns the same as the attributes and make the >>>> >> columns >> >>>> equal size. >>>> >>>> You will need to make the first column in each >>>> >> census >> >>>> _('Name'). The editor looks for this value. >>>> >>>> >>> Prior to the "slave|prisoner" labor (around 35 census >>> >> with multiple fields since 1790 ...), I made a test with >> 'FR1831' (census.py.gz), but same result : I cannot see or >> use any entry whatever I do (add a source, a census event) ! >> Any idea ? >> >>> Also a sourcerefmodel error : >>> >>> Traceback (most recent call last): >>> File >>> >> "trunk/src/gui/editors/displaytabs/embeddedlist.py", line >> 471, in rebuild >> >>> self.model = >>> >> self.construct_model() >> >>> File >>> >> "trunk/src/gui/editors/displaytabs/embeddedlist.py", line >> 457, in construct_model >> >>> return >>> >> self.build_model(self.get_data(), self.dbstate.db) >> >>> File >>> >> "trunk/src/gui/editors/displaytabs/sourcerefmodel.py", line >> 49, in __init__ >> >>> >>> >> self.append(row=[src.gramps_id, src.title, >> src.author, >> >>> AttributeError: 'NoneType' object has no attribute >>> >> 'gramps_id' >> >>> Regards, >>> >>> Jérôme >>> >>> >>> --- En date de : Mar 22.12.09, Nick Hall <nic...@ho...> >>> >> a écrit : >> >>> >>> >>>> De: Nick Hall <nic...@ho...> >>>> Objet: Re: Re : [Gramps-devel] Census entry and >>>> >> Certificates in the Ecosystem definition >> >>>> À: "jerome" <rom...@ya...> >>>> Cc: "Gramps developers" <gra...@li...> >>>> Date: Mardi 22 Décembre 2009, 20h14 >>>> Jerome, >>>> >>>> Thanks for pointing out the error. I didn't >>>> >> test it >> >>>> without any census sources defined. >>>> >>>> Yes, you will need some census definitions. >>>> >> I have >> >>>> only supplied ones for the UK, but I would like to >>>> >> see if I >> >>>> can generalise it for other countries. When >>>> >> you have >> >>>> the definitions in the Census.py file then they >>>> >> need to be >> >>>> associated with a source by adding an entry in the >>>> >> Data tab >> >>>> for the source. >>>> >>>> Your suggestion of using XML format for the >>>> >> definition file >> >>>> is a good one. I had thought about it, but >>>> >> the python >> >>>> file was easier. I am now thinking that XML >>>> >> is the way >> >>>> to go. >>>> >>>> At the moment there are three dictionaries. >>>> >>>> CENSUS_DATES holds the date for each census >>>> >> defined. >> >>>> CENSUS_COLS define the columns in the >>>> >> census. Each >> >>>> entry is the name of the attribute that will be >>>> >> used to >> >>>> store the data for the column in the EventRef >>>> >> objects. >> >>>> REPORT_COLS define the columns that will be used >>>> >> in the >> >>>> report. At the moment the report displays a >>>> >> column for >> >>>> each attribute. The REPORT_COLS allows for a >>>> >> different >> >>>> heading in the report to that used for the >>>> >> attribute. >> >>>> The second element in the tuple is a column width >>>> >> - the sum >> >>>> of these should not exceed 100. >>>> >>>> What I don't have at the moment is a way to >>>> >> specify the >> >>>> header information for a census. What I need >>>> >> to do is >> >>>> store a list of attributes that will be attached >>>> >> to the >> >>>> census event. >>>> >>>> So, for example, if you were defining the 1801 >>>> >> French >> >>>> Census then you would create an ID for it - FR1801 >>>> >> would be >> >>>> a good choice. Then you would add define its >>>> >> date and >> >>>> columns. To begin with you could make the >>>> >> report >> >>>> columns the same as the attributes and make the >>>> >> columns >> >>>> equal size. >>>> >>>> You will need to make the first column in each >>>> >> census >> >>>> _('Name'). The editor looks for this >>>> >> value. This >> >>>> probably needs some further thought. >>>> >>>> Let me know if you need some help getting it to >>>> >> work. >> >>>> I'll start to think about the XML format. >>>> >>>> Regards, >>>> >>>> Nick. >>>> >>>> jerome wrote: >>>> >>>> >>>>> Nick, >>>>> >>>>> >>>>> 31645: ERROR: gramps.py: line 121: Unhandled >>>>> >>>>> >>>> exception >>>> >>>> >>>>> Traceback (most recent call last): >>>>> File >>>>> >> "trunk/src/gui/viewmanager.py", >> >>>>> >>>>> >>>> line 1629, in <lambda> >>>> >>>> >>>>> return lambda x: >>>>> >>>>> >>>> run_plugin(pdata, dbstate, uistate) >>>> >>>> >>>>> File >>>>> >> "trunk/src/gui/viewmanager.py", >> >>>>> >>>>> >>>> line 1617, in run_plugin >>>> >>>> >>>>> pdata.category, >>>>> >>>>> >>>> pdata.require_active) >>>> >>>> >>>>> File >>>>> >>>>> >>>> "trunk/src/ReportBase/_ReportDialog.py", line 605, >>>> >> in >> >>>> report >>>> >>>> >>>>> dialog = >>>>> >> dialog_class(dbstate, >> >>>>> >>>>> >>>> uistate, options_class, name, trans_name) >>>> >>>> >>>>> File >>>>> >>>>> >>>> "trunk/src/ReportBase/_TextReportDialog.py", line >>>> >> 101, in >> >>>> __init__ >>>> >>>> >>>>> name, translated_name) >>>>> File >>>>> >>>>> >>>> "trunk/src/ReportBase/_DocReportDialog.py", line >>>> >> 66, in >> >>>> __init__ >>>> >>>> >>>>> name, trans_name) >>>>> File >>>>> >>>>> >>>> "trunk/src/ReportBase/_ReportDialog.py", line 96, >>>> >> in >> >>>> __init__ >>>> >>>> >>>>> >>>>> >>>>> >>>> self.init_options(option_class) >>>> >>>> >>>>> File >>>>> >>>>> >>>> "trunk/src/ReportBase/_ReportDialog.py", line 103, >>>> >> in >> >>>> init_options >>>> >>>> >>>>> self.options = >>>>> >>>>> >>>> option_class(self.raw_name, self.db) >>>> >>>> >>>>> File >>>>> >>>>> >> ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", >> >>>> line 265, in __init__ >>>> >>>> >>>>> >>>>> >>>>> >>>> MenuReportOptions.__init__(self, >>>> >> name, >> >>>> database) >>>> >>>> >>>>> File >>>>> >>>>> >>>> "trunk/src/ReportBase/_ReportOptions.py", line >>>> >> 809, in >> >>>> __init__ >>>> >>>> >>>>> >>>>> >> GuiMenuOptions.__init__(self) >> >>>>> File >>>>> >>>>> >>>> "trunk/src/PluginUtils/_GuiOptions.py", line 1415, >>>> >> in >> >>>> __init__ >>>> >>>> >>>>> >>>>> >>>>> >>>> self.add_menu_options(self.menu) >>>> >>>> >>>>> File >>>>> >>>>> >> ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", >> >>>> line 286, in add_menu_options >>>> >>>> >>>>> src_handle = >>>>> >>>>> >>>> EnumeratedListOption(_('Source'), sources[0][0]) >>>> >>>> >>>>> IndexError: list index out of range >>>>> >>>>> Does it mean that without "census keys", I am >>>>> >> "really" >> >>>>> >>>>> >>>> not able to use these gramplet and report [1][2] >>>> >> ? >> >>>> >>>> >>>>> So, I need to add some census keys for my >>>>> >> country >> >>>>> >>>>> >>>> [3][4][5] on my local census.py [6], isn't it ? >>>> >>>> >>>>> * FR16.. France 16.. >>>>> >> (lordship) >> >>>>> * FR1770 France 1770 >>>>> >> (religious) >> >>>>> * FR1801 France 1801 >>>>> >> (civil) >> >>>>> ... >>>>> >>>>> Is it not more logical to load a XML file ? >>>>> Like calendar plugin with holidays.xml [7]. >>>>> >>>>> >>>>> Regards, >>>>> Jérôme >>>>> >>>>> >>>>> --- >>>>> [1] http://www.gramps-project.org/wiki/index.php?title=Census_Addons#Configuration >>>>> [2] http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/README >>>>> [3] http://www.gramps-project.org/wiki/index.php?title=Recording_French_Census_data >>>>> [4] http://fr.geneawiki.com/index.php/Recensements >>>>> [5] http://jomave.chez-alice.fr/sources/recensem.html >>>>> [6] http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/Census.py?r1=25&r2=42&pathrev=44 >>>>> [7] http://www.gramps-project.org/wiki/index.php?title=Calendar_tools_holidays >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> --- En date de : Mar 22.12.09, Nick Hall >>>>> >> <nic...@ho...> >> >>>>> >>>>> >>>> a écrit : >>>> >>>> >>>>> >>>>> >>>>> >>>>>> De: Nick Hall <nic...@ho...> >>>>>> Objet: [Gramps-devel] Census entry and >>>>>> >>>>>> >>>> Certificates in the Ecosystem definition >>>> >>>> >>>>>> À: "Gramps developers" <gra...@li...> >>>>>> Date: Mardi 22 Décembre 2009, 15h12 >>>>>> I have written a couple of Census >>>>>> addons. >>>>>> There is some documentation here: >>>>>> >>>>>> http://www.gramps-project.org/wiki/index.php?title=Census_Addons >>>>>> >>>>>> There is an editor which allows the user >>>>>> >> to enter >> >>>>>> >>>>>> >>>> census >>>> >>>> >>>>>> information in one place, in a format >>>>>> >> similar to >> >>>>>> >>>>>> >>>> that of the original >>>> >>>> >>>>>> census return. The objective was to >>>>>> >> make >> >>>>>> >>>>>> >>>> entry of census data much quicker >>>> >>>> >>>>>> whilst using a data format that also >>>>>> >> allows >> >>>>>> >>>>>> >>>> editing using the standard >>>> >>>> >>>>>> Gramps editors. >>>>>> >>>>>> There is also a census report which print >>>>>> >> census >> >>>>>> >>>>>> >>>> data in a >>>> >>>> >>>>>> format similar to that of the original >>>>>> >> census >> >>>>>> >>>>>> >>>> return. >>>> >>>> >>>>>> It occurred to me that my addons may >>>>>> >> provide a >> >>>>>> >>>>>> >>>> prototype >>>> >>>> >>>>>> for Certificates as described in the >>>>>> >> Ecosystem >> >>>>>> >>>>>> >>>> definition. >>>> >>>> >>>>>> http://www.gramps-project.org/wiki/index.php?title=GEPS_012:_Ecosystem_definition#Certificates >>>>>> >>>>>> Should I be thinking of changing my >>>>>> >> gramplet into >> >>>>>> >>>>>> >>>> a >>>> >>>> >>>>>> certificate? >>>>>> >>>>>> My code is in the gramps-addons repository >>>>>> >> and is >> >>>>>> accessible from the plugins page: >>>>>> >>>>>> http://www.gramps-project.org/wiki/index.php?title=3.2_Third-party_Plugins >>>>>> >>>>>> Regards, >>>>>> >>>>>> Nick. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >> ------------------------------------------------------------------------------ >> >>>> >>>> >>>>>> This SF.Net email is sponsored by the >>>>>> >> Verizon >> >>>>>> >>>>>> >>>> Developer >>>> >>>> >>>>>> Community >>>>>> Take advantage of Verizon's best-in-class >>>>>> >> app >> >>>>>> >>>>>> >>>> development >>>> >>>> >>>>>> support >>>>>> A streamlined, 14 day to market process >>>>>> >> makes app >> >>>>>> distribution fast and easy >>>>>> Join now and get one step closer to >>>>>> >> millions of >> >>>>>> >>>>>> >>>> Verizon >>>> >>>> >>>>>> customers >>>>>> http://p.sf.net/sfu/verizon-dev2dev >>>>>> >>>>>> >>>> _______________________________________________ >>>> >>>> >>>>>> Gramps-devel mailing list >>>>>> Gra...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/gramps-devel >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>>> >> ------------------------------------------------------------------------ >> >>>> >>>> >>> >>> > > > > > > |
From: Benny M. <ben...@gm...> - 2009-12-24 10:07:31
|
2009/12/24 Nick Hall <nic...@ho...>: > Jerome, > > I have just committed an update that I think will fix this. > > The problem was with the translations. I was relying on the string > "Census" which I had not defined in a single place. I have now defined > it as the variable CENSUS_TAG in Census.py - you can translate this but > you will have to use the translated version in the Data tab of the > source object. I should work now because it is defined in a single > place in the code. This would indicate a database change is needed to really support this. It is generally not acceptable to be dependent on text strings in the correct language in a field for functionality to work. The better approach is eg an enumeration type, with FR1740 being mapped to a string which can be translated. By storing the enumeration in the database, things are language independant. Perhaps we need to think for the data tab and event type and ... of a plugin system that can define extra types, with the GUI doing conversion for the user from his language to the english default and back. The workflow would then be: 1/user types in data 'abraca' 2/this is checked against a list of internationalized data fields, and translated to the default english 3/english is saved in the database 4/on display, english is translated to the language of the user. This is different from the present type fields of events. It would be usefull for custom data. I find it very annoying that I have so many custom Dutch fields in event type and data, ...., that can never be translated. So this is not about predefined types but about internatiolized data entry. Above still does not change the fact a module should not depend on specific text data to offer correct functionality :-) Benny > I have been experimenting with an XML file for the census definitions. > How will this work with translations? > > I'd like to get this working with translations; if we have any more > problems of this type I will try to run the French version on my > machine. I don't know if it is as simple as changing an environment > variable or if I will need to install a language pack. > > Regards, > > Nick. > > jerome wrote: >> Maybe I start to understand what is not working with my configuration and census addons : something between my locale, translated event, data_map and id ! Sorry, I don't have a working patch. >> >> >>> In the gramplet view, open the Census Gramplet. This >>> will display an >>> empty list of censuses for the active person. If you >>> click on the "New" >>> button at the bottom of the gramplet, it will create a new >>> census. The >>> only option for the source will be the French 1831 census >>> and the date >>> of 1831 will be filled in automatically for you. >>> >> >> No, I cannot see any option for the source on list :( >> >> >>> Then edit the source and click on the Data tab. >>> Create an entry with a >>> key of "Census" and a value of "FR1831". These are >>> case sensitive so >>> check for the uppercase "C" in "Census" and uppercase "FR" >>> in "FR1831". >>> >> >> I see an entry only if I use "Recensement" rather than "Census", which is the french translation ! >> I am able to add some data, but census report will crash : >> >> 88535: ERROR: _ReportDialog.py: line 640: Failed to run report. >> Traceback (most recent call last): >> File "trunk/src/ReportBase/_ReportDialog.py", line 615, in report >> MyReport.write_report() >> File ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", line 116, in write_report >> self.check_event(handle) >> File ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", line 127, in check_event >> source_ref = get_census_source_ref(self.database, event) >> File ".gramps/plugins/gramps-addons/contrib/Census/Census.py", line 237, in get_census_source_ref >> census_id = source.get_data_map()[_('Census')] >> AttributeError: 'NoneType' object has no attribute 'get_data_map' >> >> >> Regards, >> Jérôme R. >> >> >> --- En date de : Mer 23.12.09, Nick Hall <nic...@ho...> a écrit : >> >> >>> De: Nick Hall <nic...@ho...> >>> Objet: Re: Re : [Gramps-devel] Census entry and Certificates in the Ecosystem definition >>> À: "jerome" <rom...@ya...> >>> Cc: "Gramps developers" <gra...@li...> >>> Date: Mercredi 23 Décembre 2009, 11h14 >>> Jerome, >>> >>> Your Census.py file works for me. >>> >>> What you need to do is create a new source, or use an >>> existing one, for >>> the 1831 French census. >>> >>> Then edit the source and click on the Data tab. >>> Create an entry with a >>> key of "Census" and a value of "FR1831". These are >>> case sensitive so >>> check for the uppercase "C" in "Census" and uppercase "FR" >>> in "FR1831". >>> >>> Now you are ready to add a census. >>> >>> In the gramplet view, open the Census Gramplet. This >>> will display an >>> empty list of censuses for the active person. If you >>> click on the "New" >>> button at the bottom of the gramplet, it will create a new >>> census. The >>> only option for the source will be the French 1831 census >>> and the date >>> of 1831 will be filled in automatically for you. >>> >>> I don't think that the error is related to the census >>> addons because >>> they do not use embedded lists. >>> >>> There is one problem that I have noticed; when I created a >>> new census it >>> didn't appear in the list. It should appear in the >>> list of censuses so >>> that it can be edited. I'll investigate why the list >>> is not refreshing >>> for the first census added. >>> >>> Let me know if you need any further help. >>> >>> Regards, >>> >>> Nick. >>> >>> jerome wrote: >>> >>>> Thank you ! >>>> >>>> >>>> >>>>> So, for example, if you were defining the 1801 >>>>> >>> French >>> >>>>> Census then you would create an ID for it - FR1801 >>>>> >>> would be >>> >>>>> a good choice. Then you would add define its >>>>> >>> date and >>> >>>>> columns. To begin with you could make the >>>>> >>> report >>> >>>>> columns the same as the attributes and make the >>>>> >>> columns >>> >>>>> equal size. >>>>> >>>>> You will need to make the first column in each >>>>> >>> census >>> >>>>> _('Name'). The editor looks for this value. >>>>> >>>>> >>>> Prior to the "slave|prisoner" labor (around 35 census >>>> >>> with multiple fields since 1790 ...), I made a test with >>> 'FR1831' (census.py.gz), but same result : I cannot see or >>> use any entry whatever I do (add a source, a census event) ! >>> Any idea ? >>> >>>> Also a sourcerefmodel error : >>>> >>>> Traceback (most recent call last): >>>> File >>>> >>> "trunk/src/gui/editors/displaytabs/embeddedlist.py", line >>> 471, in rebuild >>> >>>> self.model = >>>> >>> self.construct_model() >>> >>>> File >>>> >>> "trunk/src/gui/editors/displaytabs/embeddedlist.py", line >>> 457, in construct_model >>> >>>> return >>>> >>> self.build_model(self.get_data(), self.dbstate.db) >>> >>>> File >>>> >>> "trunk/src/gui/editors/displaytabs/sourcerefmodel.py", line >>> 49, in __init__ >>> >>>> >>>> >>> self.append(row=[src.gramps_id, src.title, >>> src.author, >>> >>>> AttributeError: 'NoneType' object has no attribute >>>> >>> 'gramps_id' >>> >>>> Regards, >>>> >>>> Jérôme >>>> >>>> >>>> --- En date de : Mar 22.12.09, Nick Hall <nic...@ho...> >>>> >>> a écrit : >>> >>>> >>>> >>>>> De: Nick Hall <nic...@ho...> >>>>> Objet: Re: Re : [Gramps-devel] Census entry and >>>>> >>> Certificates in the Ecosystem definition >>> >>>>> À: "jerome" <rom...@ya...> >>>>> Cc: "Gramps developers" <gra...@li...> >>>>> Date: Mardi 22 Décembre 2009, 20h14 >>>>> Jerome, >>>>> >>>>> Thanks for pointing out the error. I didn't >>>>> >>> test it >>> >>>>> without any census sources defined. >>>>> >>>>> Yes, you will need some census definitions. >>>>> >>> I have >>> >>>>> only supplied ones for the UK, but I would like to >>>>> >>> see if I >>> >>>>> can generalise it for other countries. When >>>>> >>> you have >>> >>>>> the definitions in the Census.py file then they >>>>> >>> need to be >>> >>>>> associated with a source by adding an entry in the >>>>> >>> Data tab >>> >>>>> for the source. >>>>> >>>>> Your suggestion of using XML format for the >>>>> >>> definition file >>> >>>>> is a good one. I had thought about it, but >>>>> >>> the python >>> >>>>> file was easier. I am now thinking that XML >>>>> >>> is the way >>> >>>>> to go. >>>>> >>>>> At the moment there are three dictionaries. >>>>> >>>>> CENSUS_DATES holds the date for each census >>>>> >>> defined. >>> >>>>> CENSUS_COLS define the columns in the >>>>> >>> census. Each >>> >>>>> entry is the name of the attribute that will be >>>>> >>> used to >>> >>>>> store the data for the column in the EventRef >>>>> >>> objects. >>> >>>>> REPORT_COLS define the columns that will be used >>>>> >>> in the >>> >>>>> report. At the moment the report displays a >>>>> >>> column for >>> >>>>> each attribute. The REPORT_COLS allows for a >>>>> >>> different >>> >>>>> heading in the report to that used for the >>>>> >>> attribute. >>> >>>>> The second element in the tuple is a column width >>>>> >>> - the sum >>> >>>>> of these should not exceed 100. >>>>> >>>>> What I don't have at the moment is a way to >>>>> >>> specify the >>> >>>>> header information for a census. What I need >>>>> >>> to do is >>> >>>>> store a list of attributes that will be attached >>>>> >>> to the >>> >>>>> census event. >>>>> >>>>> So, for example, if you were defining the 1801 >>>>> >>> French >>> >>>>> Census then you would create an ID for it - FR1801 >>>>> >>> would be >>> >>>>> a good choice. Then you would add define its >>>>> >>> date and >>> >>>>> columns. To begin with you could make the >>>>> >>> report >>> >>>>> columns the same as the attributes and make the >>>>> >>> columns >>> >>>>> equal size. >>>>> >>>>> You will need to make the first column in each >>>>> >>> census >>> >>>>> _('Name'). The editor looks for this >>>>> >>> value. This >>> >>>>> probably needs some further thought. >>>>> >>>>> Let me know if you need some help getting it to >>>>> >>> work. >>> >>>>> I'll start to think about the XML format. >>>>> >>>>> Regards, >>>>> >>>>> Nick. >>>>> >>>>> jerome wrote: >>>>> >>>>> >>>>>> Nick, >>>>>> >>>>>> >>>>>> 31645: ERROR: gramps.py: line 121: Unhandled >>>>>> >>>>>> >>>>> exception >>>>> >>>>> >>>>>> Traceback (most recent call last): >>>>>> File >>>>>> >>> "trunk/src/gui/viewmanager.py", >>> >>>>>> >>>>>> >>>>> line 1629, in <lambda> >>>>> >>>>> >>>>>> return lambda x: >>>>>> >>>>>> >>>>> run_plugin(pdata, dbstate, uistate) >>>>> >>>>> >>>>>> File >>>>>> >>> "trunk/src/gui/viewmanager.py", >>> >>>>>> >>>>>> >>>>> line 1617, in run_plugin >>>>> >>>>> >>>>>> pdata.category, >>>>>> >>>>>> >>>>> pdata.require_active) >>>>> >>>>> >>>>>> File >>>>>> >>>>>> >>>>> "trunk/src/ReportBase/_ReportDialog.py", line 605, >>>>> >>> in >>> >>>>> report >>>>> >>>>> >>>>>> dialog = >>>>>> >>> dialog_class(dbstate, >>> >>>>>> >>>>>> >>>>> uistate, options_class, name, trans_name) >>>>> >>>>> >>>>>> File >>>>>> >>>>>> >>>>> "trunk/src/ReportBase/_TextReportDialog.py", line >>>>> >>> 101, in >>> >>>>> __init__ >>>>> >>>>> >>>>>> name, translated_name) >>>>>> File >>>>>> >>>>>> >>>>> "trunk/src/ReportBase/_DocReportDialog.py", line >>>>> >>> 66, in >>> >>>>> __init__ >>>>> >>>>> >>>>>> name, trans_name) >>>>>> File >>>>>> >>>>>> >>>>> "trunk/src/ReportBase/_ReportDialog.py", line 96, >>>>> >>> in >>> >>>>> __init__ >>>>> >>>>> >>>>>> >>>>>> >>>>>> >>>>> self.init_options(option_class) >>>>> >>>>> >>>>>> File >>>>>> >>>>>> >>>>> "trunk/src/ReportBase/_ReportDialog.py", line 103, >>>>> >>> in >>> >>>>> init_options >>>>> >>>>> >>>>>> self.options = >>>>>> >>>>>> >>>>> option_class(self.raw_name, self.db) >>>>> >>>>> >>>>>> File >>>>>> >>>>>> >>> ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", >>> >>>>> line 265, in __init__ >>>>> >>>>> >>>>>> >>>>>> >>>>>> >>>>> MenuReportOptions.__init__(self, >>>>> >>> name, >>> >>>>> database) >>>>> >>>>> >>>>>> File >>>>>> >>>>>> >>>>> "trunk/src/ReportBase/_ReportOptions.py", line >>>>> >>> 809, in >>> >>>>> __init__ >>>>> >>>>> >>>>>> >>>>>> >>> GuiMenuOptions.__init__(self) >>> >>>>>> File >>>>>> >>>>>> >>>>> "trunk/src/PluginUtils/_GuiOptions.py", line 1415, >>>>> >>> in >>> >>>>> __init__ >>>>> >>>>> >>>>>> >>>>>> >>>>>> >>>>> self.add_menu_options(self.menu) >>>>> >>>>> >>>>>> File >>>>>> >>>>>> >>> ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", >>> >>>>> line 286, in add_menu_options >>>>> >>>>> >>>>>> src_handle = >>>>>> >>>>>> >>>>> EnumeratedListOption(_('Source'), sources[0][0]) >>>>> >>>>> >>>>>> IndexError: list index out of range >>>>>> >>>>>> Does it mean that without "census keys", I am >>>>>> >>> "really" >>> >>>>>> >>>>>> >>>>> not able to use these gramplet and report [1][2] >>>>> >>> ? >>> >>>>> >>>>> >>>>>> So, I need to add some census keys for my >>>>>> >>> country >>> >>>>>> >>>>>> >>>>> [3][4][5] on my local census.py [6], isn't it ? >>>>> >>>>> >>>>>> * FR16.. France 16.. >>>>>> >>> (lordship) >>> >>>>>> * FR1770 France 1770 >>>>>> >>> (religious) >>> >>>>>> * FR1801 France 1801 >>>>>> >>> (civil) >>> >>>>>> ... >>>>>> >>>>>> Is it not more logical to load a XML file ? >>>>>> Like calendar plugin with holidays.xml [7]. >>>>>> >>>>>> >>>>>> Regards, >>>>>> Jérôme >>>>>> >>>>>> >>>>>> --- >>>>>> [1] http://www.gramps-project.org/wiki/index.php?title=Census_Addons#Configuration >>>>>> [2] http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/README >>>>>> [3] http://www.gramps-project.org/wiki/index.php?title=Recording_French_Census_data >>>>>> [4] http://fr.geneawiki.com/index.php/Recensements >>>>>> [5] http://jomave.chez-alice.fr/sources/recensem.html >>>>>> [6] http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/Census.py?r1=25&r2=42&pathrev=44 >>>>>> [7] http://www.gramps-project.org/wiki/index.php?title=Calendar_tools_holidays >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> --- En date de : Mar 22.12.09, Nick Hall >>>>>> >>> <nic...@ho...> >>> >>>>>> >>>>>> >>>>> a écrit : >>>>> >>>>> >>>>>> >>>>>> >>>>>> >>>>>>> De: Nick Hall <nic...@ho...> >>>>>>> Objet: [Gramps-devel] Census entry and >>>>>>> >>>>>>> >>>>> Certificates in the Ecosystem definition >>>>> >>>>> >>>>>>> À: "Gramps developers" <gra...@li...> >>>>>>> Date: Mardi 22 Décembre 2009, 15h12 >>>>>>> I have written a couple of Census >>>>>>> addons. >>>>>>> There is some documentation here: >>>>>>> >>>>>>> http://www.gramps-project.org/wiki/index.php?title=Census_Addons >>>>>>> >>>>>>> There is an editor which allows the user >>>>>>> >>> to enter >>> >>>>>>> >>>>>>> >>>>> census >>>>> >>>>> >>>>>>> information in one place, in a format >>>>>>> >>> similar to >>> >>>>>>> >>>>>>> >>>>> that of the original >>>>> >>>>> >>>>>>> census return. The objective was to >>>>>>> >>> make >>> >>>>>>> >>>>>>> >>>>> entry of census data much quicker >>>>> >>>>> >>>>>>> whilst using a data format that also >>>>>>> >>> allows >>> >>>>>>> >>>>>>> >>>>> editing using the standard >>>>> >>>>> >>>>>>> Gramps editors. >>>>>>> >>>>>>> There is also a census report which print >>>>>>> >>> census >>> >>>>>>> >>>>>>> >>>>> data in a >>>>> >>>>> >>>>>>> format similar to that of the original >>>>>>> >>> census >>> >>>>>>> >>>>>>> >>>>> return. >>>>> >>>>> >>>>>>> It occurred to me that my addons may >>>>>>> >>> provide a >>> >>>>>>> >>>>>>> >>>>> prototype >>>>> >>>>> >>>>>>> for Certificates as described in the >>>>>>> >>> Ecosystem >>> >>>>>>> >>>>>>> >>>>> definition. >>>>> >>>>> >>>>>>> http://www.gramps-project.org/wiki/index.php?title=GEPS_012:_Ecosystem_definition#Certificates >>>>>>> >>>>>>> Should I be thinking of changing my >>>>>>> >>> gramplet into >>> >>>>>>> >>>>>>> >>>>> a >>>>> >>>>> >>>>>>> certificate? >>>>>>> >>>>>>> My code is in the gramps-addons repository >>>>>>> >>> and is >>> >>>>>>> accessible from the plugins page: >>>>>>> >>>>>>> http://www.gramps-project.org/wiki/index.php?title=3.2_Third-party_Plugins >>>>>>> >>>>>>> Regards, >>>>>>> >>>>>>> Nick. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>> ------------------------------------------------------------------------------ >>> >>>>> >>>>> >>>>>>> This SF.Net email is sponsored by the >>>>>>> >>> Verizon >>> >>>>>>> >>>>>>> >>>>> Developer >>>>> >>>>> >>>>>>> Community >>>>>>> Take advantage of Verizon's best-in-class >>>>>>> >>> app >>> >>>>>>> >>>>>>> >>>>> development >>>>> >>>>> >>>>>>> support >>>>>>> A streamlined, 14 day to market process >>>>>>> >>> makes app >>> >>>>>>> distribution fast and easy >>>>>>> Join now and get one step closer to >>>>>>> >>> millions of >>> >>>>>>> >>>>>>> >>>>> Verizon >>>>> >>>>> >>>>>>> customers >>>>>>> http://p.sf.net/sfu/verizon-dev2dev >>>>>>> >>>>>>> >>>>> _______________________________________________ >>>>> >>>>> >>>>>>> Gramps-devel mailing list >>>>>>> Gra...@li... >>>>>>> https://lists.sourceforge.net/lists/listinfo/gramps-devel >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>> ------------------------------------------------------------------------ >>> >>>>> >>>>> >>>> >>>> >> >> >> >> >> >> > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > Gramps-devel mailing list > Gra...@li... > https://lists.sourceforge.net/lists/listinfo/gramps-devel > |
From: Jérôme <rom...@ya...> - 2009-12-24 10:38:04
Attachments:
sample.xml.in
|
Nick, > The problem was with the translations. I was relying on the string > "Census" which I had not defined in a single place. I have now defined > it as the variable CENSUS_TAG in Census.py - you can translate this but > you will have to use the translated version in the Data tab of the > source object. I should work now because it is defined in a single > place in the code. thank you, I will try the last version. > I'd like to get this working with translations; if we have any more > problems of this type I will try to run the French version on my > machine. I don't know if it is as simple as changing an environment > variable or if I will need to install a language pack. With 'msgfmt', you can create a compiled gettext file (fr.po => gramps.mo), place this file under {your selected_path}/fr/LC_MESSAGES/, then set an environnement variable on command line GRAMPSI18N={selected_path} python src/gramps.py (tip shared by Doug [1]) If you are under a Windows OS, you need msgfmt.exe binary (shoud be included into gettext package for windows). http://www.gramps-project.org/wiki/index.php?title=Translating_GRAMPS#GNU_.60gettext.27_utilities Maybe you just need to install langage pack for things like localized DateHandler, Relationships, locale gramps' tips, desktop file. > I have been experimenting with an XML file for the census definitions. > How will this work with translations? I suppose there is no translation string or variable ? i.e users are able to set country, whatever their locale (like into Ancestor report or Calendar reports). Note, glade files are also XML files. intltool [2] provides some tools for managing translations strings. And I remember a test [3] by using tips.xml data (need to add a mark on XML <_element></_element>, for having the translation). This had generated multiple localized xml file (nl, sv, fr, ...) So maybe one structure (set into a .in file) could be used for multiple locale files, or like holidays.xml one file could use a "country selector". Note, 'intltool' [2] is a GNOME thing, Windows users will not be able to _generate_ (cannot retrieve and merge XML data) a localized file according their locale (maybe like with current tips.xml ?) Regards, Jérôme. --- [1] http://www.gramps-project.org/wiki/index.php?title=Translating_GRAMPS#.24GRAMPSI18N [2] http://www.freedesktop.org/wiki/Software/intltool [3] http://old.nabble.com/Re%3A--Gramps-users--The-future-of-the-%27look-and-feel%27-of-GRAMPS-p26373843.html Nick Hall a écrit : > Jerome, > > I have just committed an update that I think will fix this. > > The problem was with the translations. I was relying on the string > "Census" which I had not defined in a single place. I have now defined > it as the variable CENSUS_TAG in Census.py - you can translate this but > you will have to use the translated version in the Data tab of the > source object. I should work now because it is defined in a single > place in the code. > > I have been experimenting with an XML file for the census definitions. > How will this work with translations? > > I'd like to get this working with translations; if we have any more > problems of this type I will try to run the French version on my > machine. I don't know if it is as simple as changing an environment > variable or if I will need to install a language pack. > > Regards, > > Nick. > > jerome wrote: >> Maybe I start to understand what is not working with my configuration >> and census addons : something between my locale, translated event, >> data_map and id ! Sorry, I don't have a working patch. >> >> >>> In the gramplet view, open the Census Gramplet. This >>> will display an empty list of censuses for the active person. If you >>> click on the "New" button at the bottom of the gramplet, it will >>> create a new >>> census. The only option for the source will be the French 1831 census >>> and the date of 1831 will be filled in automatically for you. >>> >> >> No, I cannot see any option for the source on list :( >> >> >>> Then edit the source and click on the Data tab. Create an entry with >>> a key of "Census" and a value of "FR1831". These are >>> case sensitive so check for the uppercase "C" in "Census" and >>> uppercase "FR" >>> in "FR1831". >>> >> >> I see an entry only if I use "Recensement" rather than "Census", which >> is the french translation ! >> I am able to add some data, but census report will crash : >> >> 88535: ERROR: _ReportDialog.py: line 640: Failed to run report. >> Traceback (most recent call last): >> File "trunk/src/ReportBase/_ReportDialog.py", line 615, in report >> MyReport.write_report() >> File ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", >> line 116, in write_report >> self.check_event(handle) >> File ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", >> line 127, in check_event >> source_ref = get_census_source_ref(self.database, event) >> File ".gramps/plugins/gramps-addons/contrib/Census/Census.py", line >> 237, in get_census_source_ref >> census_id = source.get_data_map()[_('Census')] >> AttributeError: 'NoneType' object has no attribute 'get_data_map' >> >> >> Regards, >> Jérôme R. >> >> >> --- En date de : Mer 23.12.09, Nick Hall <nic...@ho...> a >> écrit : >> >> >>> De: Nick Hall <nic...@ho...> >>> Objet: Re: Re : [Gramps-devel] Census entry and Certificates in the >>> Ecosystem definition >>> À: "jerome" <rom...@ya...> >>> Cc: "Gramps developers" <gra...@li...> >>> Date: Mercredi 23 Décembre 2009, 11h14 >>> Jerome, >>> >>> Your Census.py file works for me. >>> >>> What you need to do is create a new source, or use an >>> existing one, for the 1831 French census. >>> >>> Then edit the source and click on the Data tab. Create an entry with >>> a key of "Census" and a value of "FR1831". These are >>> case sensitive so check for the uppercase "C" in "Census" and >>> uppercase "FR" >>> in "FR1831". >>> >>> Now you are ready to add a census. >>> >>> In the gramplet view, open the Census Gramplet. This >>> will display an empty list of censuses for the active person. If you >>> click on the "New" button at the bottom of the gramplet, it will >>> create a new >>> census. The only option for the source will be the French 1831 census >>> and the date of 1831 will be filled in automatically for you. >>> >>> I don't think that the error is related to the census >>> addons because they do not use embedded lists. >>> >>> There is one problem that I have noticed; when I created a >>> new census it didn't appear in the list. It should appear in the >>> list of censuses so that it can be edited. I'll investigate why the >>> list >>> is not refreshing for the first census added. >>> >>> Let me know if you need any further help. >>> >>> Regards, >>> >>> Nick. >>> >>> jerome wrote: >>> >>>> Thank you ! >>>> >>>> >>>>> So, for example, if you were defining the 1801 >>>>> >>> French >>> >>>>> Census then you would create an ID for it - FR1801 >>>>> >>> would be >>> >>>>> a good choice. Then you would add define its >>>>> >>> date and >>> >>>>> columns. To begin with you could make the >>>>> >>> report >>> >>>>> columns the same as the attributes and make the >>>>> >>> columns >>> >>>>> equal size. >>>>> >>>>> You will need to make the first column in each >>>>> >>> census >>> >>>>> _('Name'). The editor looks for this value. >>>>> >>>> Prior to the "slave|prisoner" labor (around 35 census >>>> >>> with multiple fields since 1790 ...), I made a test with >>> 'FR1831' (census.py.gz), but same result : I cannot see or >>> use any entry whatever I do (add a source, a census event) ! >>> Any idea ? >>> >>>> Also a sourcerefmodel error : >>>> >>>> Traceback (most recent call last): >>>> File >>>> >>> "trunk/src/gui/editors/displaytabs/embeddedlist.py", line >>> 471, in rebuild >>> >>>> self.model = >>>> >>> self.construct_model() >>> >>>> File >>>> >>> "trunk/src/gui/editors/displaytabs/embeddedlist.py", line >>> 457, in construct_model >>> >>>> return >>>> >>> self.build_model(self.get_data(), self.dbstate.db) >>> >>>> File >>>> >>> "trunk/src/gui/editors/displaytabs/sourcerefmodel.py", line >>> 49, in __init__ >>> >>>> >>>> >>> self.append(row=[src.gramps_id, src.title, >>> src.author, >>> >>>> AttributeError: 'NoneType' object has no attribute >>>> >>> 'gramps_id' >>> >>>> Regards, >>>> >>>> Jérôme >>>> >>>> >>>> --- En date de : Mar 22.12.09, Nick Hall <nic...@ho...> >>>> >>> a écrit : >>> >>>> >>>>> De: Nick Hall <nic...@ho...> >>>>> Objet: Re: Re : [Gramps-devel] Census entry and >>>>> >>> Certificates in the Ecosystem definition >>> >>>>> À: "jerome" <rom...@ya...> >>>>> Cc: "Gramps developers" <gra...@li...> >>>>> Date: Mardi 22 Décembre 2009, 20h14 >>>>> Jerome, >>>>> >>>>> Thanks for pointing out the error. I didn't >>>>> >>> test it >>> >>>>> without any census sources defined. >>>>> >>>>> Yes, you will need some census definitions. >>> I have >>> >>>>> only supplied ones for the UK, but I would like to >>>>> >>> see if I >>> >>>>> can generalise it for other countries. When >>>>> >>> you have >>> >>>>> the definitions in the Census.py file then they >>>>> >>> need to be >>> >>>>> associated with a source by adding an entry in the >>>>> >>> Data tab >>> >>>>> for the source. >>>>> >>>>> Your suggestion of using XML format for the >>>>> >>> definition file >>> >>>>> is a good one. I had thought about it, but >>>>> >>> the python >>> >>>>> file was easier. I am now thinking that XML >>>>> >>> is the way >>> >>>>> to go. >>>>> >>>>> At the moment there are three dictionaries. >>>>> >>>>> CENSUS_DATES holds the date for each census >>>>> >>> defined. >>> >>>>> CENSUS_COLS define the columns in the >>>>> >>> census. Each >>> >>>>> entry is the name of the attribute that will be >>>>> >>> used to >>> >>>>> store the data for the column in the EventRef >>>>> >>> objects. >>> >>>>> REPORT_COLS define the columns that will be used >>>>> >>> in the >>> >>>>> report. At the moment the report displays a >>>>> >>> column for >>> >>>>> each attribute. The REPORT_COLS allows for a >>>>> >>> different >>> >>>>> heading in the report to that used for the >>>>> >>> attribute. >>>>> The second element in the tuple is a column width >>>>> >>> - the sum >>> >>>>> of these should not exceed 100. >>>>> >>>>> What I don't have at the moment is a way to >>>>> >>> specify the >>> >>>>> header information for a census. What I need >>>>> >>> to do is >>> >>>>> store a list of attributes that will be attached >>>>> >>> to the >>> >>>>> census event. >>>>> >>>>> So, for example, if you were defining the 1801 >>>>> >>> French >>> >>>>> Census then you would create an ID for it - FR1801 >>>>> >>> would be >>> >>>>> a good choice. Then you would add define its >>>>> >>> date and >>> >>>>> columns. To begin with you could make the >>>>> >>> report >>> >>>>> columns the same as the attributes and make the >>>>> >>> columns >>> >>>>> equal size. >>>>> >>>>> You will need to make the first column in each >>>>> >>> census >>> >>>>> _('Name'). The editor looks for this >>>>> >>> value. This >>> >>>>> probably needs some further thought. >>>>> >>>>> Let me know if you need some help getting it to >>>>> >>> work. >>> >>>>> I'll start to think about the XML format. >>>>> >>>>> Regards, >>>>> >>>>> Nick. >>>>> >>>>> jerome wrote: >>>>> >>>>>> Nick, >>>>>> >>>>>> >>>>>> 31645: ERROR: gramps.py: line 121: Unhandled >>>>>> >>>>> exception >>>>> >>>>>> Traceback (most recent call last): >>>>>> File >>>>>> >>> "trunk/src/gui/viewmanager.py", >>> >>>>>> >>>>> line 1629, in <lambda> >>>>> >>>>>> return lambda x: >>>>>> >>>>> run_plugin(pdata, dbstate, uistate) >>>>> >>>>>> File >>>>>> >>> "trunk/src/gui/viewmanager.py", >>> >>>>>> >>>>> line 1617, in run_plugin >>>>> >>>>>> pdata.category, >>>>>> >>>>> pdata.require_active) >>>>> >>>>>> File >>>>>> >>>>> "trunk/src/ReportBase/_ReportDialog.py", line 605, >>>>> >>> in >>> >>>>> report >>>>> >>>>>> dialog = >>>>>> >>> dialog_class(dbstate, >>> >>>>>> >>>>> uistate, options_class, name, trans_name) >>>>> >>>>>> File >>>>>> >>>>> "trunk/src/ReportBase/_TextReportDialog.py", line >>>>> >>> 101, in >>> >>>>> __init__ >>>>> >>>>>> name, translated_name) >>>>>> File >>>>>> >>>>> "trunk/src/ReportBase/_DocReportDialog.py", line >>>>> >>> 66, in >>> >>>>> __init__ >>>>> >>>>>> name, trans_name) >>>>>> File >>>>>> >>>>> "trunk/src/ReportBase/_ReportDialog.py", line 96, >>>>> >>> in >>> >>>>> __init__ >>>>> >>>>>> >>>>> self.init_options(option_class) >>>>> >>>>>> File >>>>>> >>>>> "trunk/src/ReportBase/_ReportDialog.py", line 103, >>>>> >>> in >>> >>>>> init_options >>>>> >>>>>> self.options = >>>>>> >>>>> option_class(self.raw_name, self.db) >>>>> >>>>>> File >>>>>> >>> ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", >>> >>>>> line 265, in __init__ >>>>> >>>>>> >>>>> MenuReportOptions.__init__(self, >>>>> >>> name, >>> >>>>> database) >>>>> >>>>>> File >>>>>> >>>>> "trunk/src/ReportBase/_ReportOptions.py", line >>>>> >>> 809, in >>> >>>>> __init__ >>>>> >>>>>> >>> GuiMenuOptions.__init__(self) >>> >>>>>> File >>>>>> >>>>> "trunk/src/PluginUtils/_GuiOptions.py", line 1415, >>>>> >>> in >>> >>>>> __init__ >>>>> >>>>>> >>>>> self.add_menu_options(self.menu) >>>>> >>>>>> File >>>>>> >>> ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", >>> >>>>> line 286, in add_menu_options >>>>> >>>>>> src_handle = >>>>>> >>>>> EnumeratedListOption(_('Source'), sources[0][0]) >>>>> >>>>>> IndexError: list index out of range >>>>>> >>>>>> Does it mean that without "census keys", I am >>>>>> >>> "really" >>> >>>>>> >>>>> not able to use these gramplet and report [1][2] >>>>> >>> ? >>> >>>>> >>>>>> So, I need to add some census keys for my >>>>>> >>> country >>> >>>>>> >>>>> [3][4][5] on my local census.py [6], isn't it ? >>>>> >>>>>> * FR16.. France 16.. >>>>>> >>> (lordship) >>> >>>>>> * FR1770 France 1770 >>>>>> >>> (religious) >>> >>>>>> * FR1801 France 1801 >>>>>> >>> (civil) >>> >>>>>> ... >>>>>> >>>>>> Is it not more logical to load a XML file ? >>>>>> Like calendar plugin with holidays.xml [7]. >>>>>> >>>>>> >>>>>> Regards, >>>>>> Jérôme >>>>>> >>>>>> >>>>>> --- >>>>>> [1] >>>>>> http://www.gramps-project.org/wiki/index.php?title=Census_Addons#Configuration >>>>>> >>>>>> [2] >>>>>> http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/README >>>>>> >>>>>> [3] >>>>>> http://www.gramps-project.org/wiki/index.php?title=Recording_French_Census_data >>>>>> >>>>>> [4] http://fr.geneawiki.com/index.php/Recensements >>>>>> [5] http://jomave.chez-alice.fr/sources/recensem.html >>>>>> [6] >>>>>> http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/Census.py?r1=25&r2=42&pathrev=44 >>>>>> >>>>>> [7] >>>>>> http://www.gramps-project.org/wiki/index.php?title=Calendar_tools_holidays >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> --- En date de : Mar 22.12.09, Nick Hall >>>>>> >>> <nic...@ho...> >>> >>>>>> >>>>> a écrit : >>>>> >>>>>> >>>>>>> De: Nick Hall <nic...@ho...> >>>>>>> Objet: [Gramps-devel] Census entry and >>>>>>> >>>>> Certificates in the Ecosystem definition >>>>> >>>>>>> À: "Gramps developers" <gra...@li...> >>>>>>> Date: Mardi 22 Décembre 2009, 15h12 >>>>>>> I have written a couple of Census >>>>>>> addons. There is some documentation here: >>>>>>> >>>>>>> http://www.gramps-project.org/wiki/index.php?title=Census_Addons >>>>>>> >>>>>>> There is an editor which allows the user >>>>>>> >>> to enter >>> >>>>>>> >>>>> census >>>>> >>>>>>> information in one place, in a format >>>>>>> >>> similar to >>> >>>>>>> >>>>> that of the original >>>>> >>>>>>> census return. The objective was to >>>>>>> >>> make >>> >>>>>>> >>>>> entry of census data much quicker >>>>> >>>>>>> whilst using a data format that also >>>>>>> >>> allows >>> >>>>>>> >>>>> editing using the standard >>>>> >>>>>>> Gramps editors. >>>>>>> >>>>>>> There is also a census report which print >>>>>>> >>> census >>> >>>>>>> >>>>> data in a >>>>> >>>>>>> format similar to that of the original >>>>>>> >>> census >>> >>>>>>> >>>>> return. >>>>> >>>>>>> It occurred to me that my addons may >>>>>>> >>> provide a >>> >>>>>>> >>>>> prototype >>>>> >>>>>>> for Certificates as described in the >>>>>>> >>> Ecosystem >>> >>>>>>> >>>>> definition. >>>>> >>>>>>> http://www.gramps-project.org/wiki/index.php?title=GEPS_012:_Ecosystem_definition#Certificates >>>>>>> >>>>>>> >>>>>>> Should I be thinking of changing my >>>>>>> >>> gramplet into >>> >>>>>>> >>>>> a >>>>> >>>>>>> certificate? >>>>>>> >>>>>>> My code is in the gramps-addons repository >>>>>>> >>> and is >>> >>>>>>> accessible from the plugins page: >>>>>>> >>>>>>> http://www.gramps-project.org/wiki/index.php?title=3.2_Third-party_Plugins >>>>>>> >>>>>>> >>>>>>> Regards, >>>>>>> >>>>>>> Nick. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>> ------------------------------------------------------------------------------ >>> >>> >>>>> >>>>>>> This SF.Net email is sponsored by the >>>>>>> >>> Verizon >>> >>>>>>> >>>>> Developer >>>>> >>>>>>> Community >>>>>>> Take advantage of Verizon's best-in-class >>>>>>> >>> app >>> >>>>>>> >>>>> development >>>>> >>>>>>> support >>>>>>> A streamlined, 14 day to market process >>>>>>> >>> makes app >>> >>>>>>> distribution fast and easy >>>>>>> Join now and get one step closer to >>>>>>> >>> millions of >>> >>>>>>> >>>>> Verizon >>>>> >>>>>>> customers >>>>>>> http://p.sf.net/sfu/verizon-dev2dev >>>>>>> >>>>> _______________________________________________ >>>>> >>>>>>> Gramps-devel mailing list >>>>>>> Gra...@li... >>>>>>> https://lists.sourceforge.net/lists/listinfo/gramps-devel >>>>>>> >>>>>>> >>>>>> >>>>>> >>> ------------------------------------------------------------------------ >>> >>>>> >>>> >> >> >> >> >> > |
From: jerome <rom...@ya...> - 2009-12-24 14:01:39
|
> I have been experimenting with an XML file for the > census definitions. How will this work with > translations? I was not thinking on translations or label definition, but it looks like your census.py, is not far away (on method to store values) from plugins/tool/ExtractCity.py. So an internal list like those are sometimes hard to maintain. An external migration of a list has been done on previous major release: src/data/lds.xml "IDs" are stored into an external XML file and can be selected into a choice list : LdsUtils.TEMPLES.name_code_data() I suppose to store list on an external support/file, will not break current code or the translations on labels ? --- En date de : Jeu 24.12.09, Jérôme <rom...@ya...> a écrit : > De: Jérôme <rom...@ya...> > Objet: Re: [Gramps-devel] Re : Census entry and Certificates in the Ecosystem definition > À: "Nick Hall" <nic...@ho...> > Cc: "Gramps developers" <gra...@li...> > Date: Jeudi 24 Décembre 2009, 11h37 > Nick, > > > > The problem was with the translations. I was > relying on the string "Census" which I had not defined in a > single place. I have now defined it as the variable > CENSUS_TAG in Census.py - you can translate this but you > will have to use the translated version in the Data tab of > the source object. I should work now because it is > defined in a single place in the code. > > thank you, I will try the last version. > > > I'd like to get this working with translations; > if we have any more problems of this type I will try to run > the French version on my machine. I don't know if it > is as simple as changing an environment variable or if I > will need to install a language pack. > > With 'msgfmt', you can create a compiled gettext file > (fr.po => gramps.mo), place this file under {your > selected_path}/fr/LC_MESSAGES/, then set an environnement > variable on command line GRAMPSI18N={selected_path} python > src/gramps.py (tip shared by Doug [1]) > > If you are under a Windows OS, you need msgfmt.exe binary > (shoud be included into gettext package for windows). > http://www.gramps-project.org/wiki/index.php?title=Translating_GRAMPS#GNU_.60gettext.27_utilities > > Maybe you just need to install langage pack for things like > localized DateHandler, Relationships, locale gramps' tips, > desktop file. > > > I have been experimenting with an XML file for the > census definitions. How will this work with > translations? > > I suppose there is no translation string or variable ? > i.e users are able to set country, whatever their locale > (like into Ancestor report or Calendar reports). > > Note, glade files are also XML files. intltool [2] provides > some tools for managing translations strings. And I remember > a test [3] by using tips.xml data (need to add a mark on XML > <_element></_element>, for having the > translation). This had generated multiple localized xml file > (nl, sv, fr, ...) > > So maybe one structure (set into a .in file) could be used > for multiple locale files, or like holidays.xml one file > could use a "country selector". > > Note, 'intltool' [2] is a GNOME thing, Windows users will > not be able to _generate_ (cannot retrieve and merge XML > data) a localized file according their locale (maybe like > with current tips.xml ?) > > > Regards, > > Jérôme. > > > --- > > [1] http://www.gramps-project.org/wiki/index.php?title=Translating_GRAMPS#.24GRAMPSI18N > [2] http://www.freedesktop.org/wiki/Software/intltool > [3] http://old.nabble.com/Re%3A--Gramps-users--The-future-of-the-%27look-and-feel%27-of-GRAMPS-p26373843.html > > > Nick Hall a écrit : > > Jerome, > > > > I have just committed an update that I think will fix > this. > > > > The problem was with the translations. I was > relying on the string "Census" which I had not defined in a > single place. I have now defined it as the variable > CENSUS_TAG in Census.py - you can translate this but you > will have to use the translated version in the Data tab of > the source object. I should work now because it is > defined in a single place in the code. > > > > I have been experimenting with an XML file for the > census definitions. How will this work with > translations? > > > > I'd like to get this working with translations; > if we have any more problems of this type I will try to run > the French version on my machine. I don't know if it > is as simple as changing an environment variable or if I > will need to install a language pack. > > > > Regards, > > > > Nick. > > > > jerome wrote: > >> Maybe I start to understand what is not working > with my configuration and census addons : something between > my locale, translated event, data_map and id ! Sorry, I > don't have a working patch. > >> > >> > >>> In the gramplet view, open the Census > Gramplet. This > >>> will display an empty list of censuses for the > active person. If you > >>> click on the "New" button at the bottom of the > gramplet, it will create a new > >>> census. The only option for the source > will be the French 1831 census > >>> and the date of 1831 will be filled in > automatically for you. > >>> > >> > >> No, I cannot see any option for the source on list > :( > >> > >> > >>> Then edit the source and click on the Data > tab. Create an entry with a key of "Census" and a value of > "FR1831". These are > >>> case sensitive so check for the uppercase "C" > in "Census" and uppercase "FR" > >>> in "FR1831". > >>> > >> > >> I see an entry only if I use "Recensement" rather > than "Census", which is the french translation ! > >> I am able to add some data, but census report will > crash : > >> > >> 88535: ERROR: _ReportDialog.py: line 640: Failed > to run report. > >> Traceback (most recent call last): > >> File > "trunk/src/ReportBase/_ReportDialog.py", line 615, in > report > >> MyReport.write_report() > >> File > ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", > line 116, in write_report > >> self.check_event(handle) > >> File > ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", > line 127, in check_event > >> source_ref = > get_census_source_ref(self.database, event) > >> File > ".gramps/plugins/gramps-addons/contrib/Census/Census.py", > line 237, in get_census_source_ref > >> census_id = > source.get_data_map()[_('Census')] > >> AttributeError: 'NoneType' object has no attribute > 'get_data_map' > >> > >> > >> Regards, > >> Jérôme R. > >> > >> > >> --- En date de : Mer 23.12.09, Nick Hall <nic...@ho...> > a écrit : > >> > >> > >>> De: Nick Hall <nic...@ho...> > >>> Objet: Re: Re : [Gramps-devel] Census entry > and Certificates in the Ecosystem definition > >>> À: "jerome" <rom...@ya...> > >>> Cc: "Gramps developers" <gra...@li...> > >>> Date: Mercredi 23 Décembre 2009, 11h14 > >>> Jerome, > >>> > >>> Your Census.py file works for me. > >>> > >>> What you need to do is create a new source, or > use an > >>> existing one, for the 1831 French census. > >>> > >>> Then edit the source and click on the Data > tab. Create an entry with a key of "Census" and a value of > "FR1831". These are > >>> case sensitive so check for the uppercase "C" > in "Census" and uppercase "FR" > >>> in "FR1831". > >>> > >>> Now you are ready to add a census. > >>> > >>> In the gramplet view, open the Census > Gramplet. This > >>> will display an empty list of censuses for the > active person. If you > >>> click on the "New" button at the bottom of the > gramplet, it will create a new > >>> census. The only option for the source > will be the French 1831 census > >>> and the date of 1831 will be filled in > automatically for you. > >>> > >>> I don't think that the error is related to the > census > >>> addons because they do not use embedded > lists. > >>> > >>> There is one problem that I have noticed; when > I created a > >>> new census it didn't appear in the list. > It should appear in the > >>> list of censuses so that it can be > edited. I'll investigate why the list > >>> is not refreshing for the first census added. > >>> > >>> Let me know if you need any further help. > >>> > >>> Regards, > >>> > >>> Nick. > >>> > >>> jerome wrote: > >>> > >>>> Thank you ! > >>>> > >>>> > >>>>> So, for example, if you were defining > the 1801 > >>>>> > > >>> French > >>> > >>>>> Census then you would create an ID for > it - FR1801 > >>>>> > > >>> would be > >>> > >>>>> a good choice. Then you would > add define its > >>>>> > > >>> date and > >>> > >>>>> columns. To begin with you could > make the > >>>>> > > >>> report > >>> > >>>>> columns the same as the attributes and > make the > >>>>> > > >>> columns > >>> > >>>>> equal size. > >>>>> > >>>>> You will need to make the first column > in each > >>>>> > > >>> census > >>> > >>>>> _('Name'). The editor looks for > this value. > >>>>> > > >>>> Prior to the "slave|prisoner" labor > (around 35 census > >>>> > >>> with multiple fields since 1790 ...), I made a > test with > >>> 'FR1831' (census.py.gz), but same result : I > cannot see or > >>> use any entry whatever I do (add a source, a > census event) ! > >>> Any idea ? > >>> > >>>> Also a sourcerefmodel error : > >>>> > >>>> Traceback (most recent call last): > >>>> File > >>>> > >>> > "trunk/src/gui/editors/displaytabs/embeddedlist.py", line > >>> 471, in rebuild > >>> > >>>> self.model = > >>>> > >>> self.construct_model() > >>> > >>>> File > >>>> > >>> > "trunk/src/gui/editors/displaytabs/embeddedlist.py", line > >>> 457, in construct_model > >>> > >>>> return > >>>> > >>> self.build_model(self.get_data(), > self.dbstate.db) > >>> > >>>> File > >>>> > >>> > "trunk/src/gui/editors/displaytabs/sourcerefmodel.py", line > >>> 49, in __init__ > >>> > >>>> > >>> self.append(row=[src.gramps_id, > src.title, > >>> src.author, > >>> > >>>> AttributeError: 'NoneType' object has no > attribute > >>>> > >>> 'gramps_id' > >>> > >>>> Regards, > >>>> > >>>> Jérôme > >>>> > >>>> > >>>> --- En date de : Mar 22.12.09, Nick Hall > <nic...@ho...> > >>>> > >>> a écrit : > >>> > >>>> > >>>>> De: Nick Hall <nic...@ho...> > >>>>> Objet: Re: Re : [Gramps-devel] Census > entry and > >>>>> > > >>> Certificates in the Ecosystem definition > >>> > >>>>> À: "jerome" <rom...@ya...> > >>>>> Cc: "Gramps developers" <gra...@li...> > >>>>> Date: Mardi 22 Décembre 2009, 20h14 > >>>>> Jerome, > >>>>> > >>>>> Thanks for pointing out the > error. I didn't > >>>>> > > >>> test it > >>> > >>>>> without any census sources defined. > >>>>> > >>>>> Yes, you will need some census > definitions. > >>> I have > >>> > >>>>> only supplied ones for the UK, but I > would like to > >>>>> > > >>> see if I > >>> > >>>>> can generalise it for other > countries. When > >>>>> > > >>> you have > >>> > >>>>> the definitions in the Census.py file > then they > >>>>> > > >>> need to be > >>> > >>>>> associated with a source by adding an > entry in the > >>>>> > > >>> Data tab > >>> > >>>>> for the source. > >>>>> > >>>>> Your suggestion of using XML format > for the > >>>>> > > >>> definition file > >>> > >>>>> is a good one. I had thought > about it, but > >>>>> > > >>> the python > >>> > >>>>> file was easier. I am now > thinking that XML > >>>>> > > >>> is the way > >>> > >>>>> to go. > >>>>> > >>>>> At the moment there are three > dictionaries. > >>>>> > >>>>> CENSUS_DATES holds the date for each > census > >>>>> > > >>> defined. > >>> > >>>>> CENSUS_COLS define the columns in the > >>>>> > > >>> census. Each > >>> > >>>>> entry is the name of the attribute > that will be > >>>>> > > >>> used to > >>> > >>>>> store the data for the column in the > EventRef > >>>>> > > >>> objects. > >>> > >>>>> REPORT_COLS define the columns that > will be used > >>>>> > > >>> in the > >>> > >>>>> report. At the moment the report > displays a > >>>>> > > >>> column for > >>> > >>>>> each attribute. The REPORT_COLS > allows for a > >>>>> > > >>> different > >>> > >>>>> heading in the report to that used for > the > >>>>> > > >>> attribute. > >>>>> The second element in the tuple is a > column width > >>>>> > > >>> - the sum > >>> > >>>>> of these should not exceed 100. > >>>>> > >>>>> What I don't have at the moment is a > way to > >>>>> > > >>> specify the > >>> > >>>>> header information for a census. > What I need > >>>>> > > >>> to do is > >>> > >>>>> store a list of attributes that will > be attached > >>>>> > > >>> to the > >>> > >>>>> census event. > >>>>> > >>>>> So, for example, if you were defining > the 1801 > >>>>> > > >>> French > >>> > >>>>> Census then you would create an ID for > it - FR1801 > >>>>> > > >>> would be > >>> > >>>>> a good choice. Then you would > add define its > >>>>> > > >>> date and > >>> > >>>>> columns. To begin with you could > make the > >>>>> > > >>> report > >>> > >>>>> columns the same as the attributes and > make the > >>>>> > > >>> columns > >>> > >>>>> equal size. > >>>>> > >>>>> You will need to make the first column > in each > >>>>> > > >>> census > >>> > >>>>> _('Name'). The editor looks for > this > >>>>> > > >>> value. This > >>> > >>>>> probably needs some further thought. > >>>>> > >>>>> Let me know if you need some help > getting it to > >>>>> > > >>> work. > >>> > >>>>> I'll start to think about the XML > format. > >>>>> > >>>>> Regards, > >>>>> > >>>>> Nick. > >>>>> > >>>>> jerome wrote: > >>>>> > > >>>>>> Nick, > >>>>>> > >>>>>> > >>>>>> 31645: ERROR: gramps.py: line 121: > Unhandled > >>>>>> > > >>>>> exception > >>>>> > > >>>>>> Traceback (most recent call > last): > >>>>>> File > >>>>>> > > >>> "trunk/src/gui/viewmanager.py", > >>> > >>>>>> > > >>>>> line 1629, in <lambda> > >>>>> > > >>>>>> > return lambda x: > >>>>>> > > >>>>> run_plugin(pdata, dbstate, uistate) > >>>>> > > >>>>>> File > >>>>>> > > >>> "trunk/src/gui/viewmanager.py", > >>> > >>>>>> > > >>>>> line 1617, in run_plugin > >>>>> > > >>>>>> > pdata.category, > >>>>>> > > >>>>> pdata.require_active) > >>>>> > > >>>>>> File > >>>>>> > > >>>>> > "trunk/src/ReportBase/_ReportDialog.py", line 605, > >>>>> > > >>> in > >>> > >>>>> report > >>>>> > > >>>>>> > dialog = > >>>>>> > > >>> dialog_class(dbstate, > >>> > >>>>>> > > >>>>> uistate, options_class, name, > trans_name) > >>>>> > > >>>>>> File > >>>>>> > > >>>>> > "trunk/src/ReportBase/_TextReportDialog.py", line > >>>>> > > >>> 101, in > >>> > >>>>> __init__ > >>>>> > > >>>>>> > name, translated_name) > >>>>>> File > >>>>>> > > >>>>> > "trunk/src/ReportBase/_DocReportDialog.py", line > >>>>> > > >>> 66, in > >>> > >>>>> __init__ > >>>>> > > >>>>>> > name, trans_name) > >>>>>> File > >>>>>> > > >>>>> > "trunk/src/ReportBase/_ReportDialog.py", line 96, > >>>>> > > >>> in > >>> > >>>>> __init__ > >>>>> > > >>>>>> > > >>>>> > self.init_options(option_class) > >>>>> > > >>>>>> File > >>>>>> > > >>>>> > "trunk/src/ReportBase/_ReportDialog.py", line 103, > >>>>> > > >>> in > >>> > >>>>> init_options > >>>>> > > >>>>>> > self.options = > >>>>>> > > >>>>> option_class(self.raw_name, self.db) > >>>>> > > >>>>>> File > >>>>>> > > >>> > ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", > >>> > >>>>> line 265, in __init__ > >>>>> > > >>>>>> > > >>>>> > MenuReportOptions.__init__(self, > >>>>> > > >>> name, > >>> > >>>>> database) > >>>>> > > >>>>>> File > >>>>>> > > >>>>> > "trunk/src/ReportBase/_ReportOptions.py", line > >>>>> > > >>> 809, in > >>> > >>>>> __init__ > >>>>> > > >>>>>> > > >>> GuiMenuOptions.__init__(self) > >>> > >>>>>> File > >>>>>> > > >>>>> > "trunk/src/PluginUtils/_GuiOptions.py", line 1415, > >>>>> > > >>> in > >>> > >>>>> __init__ > >>>>> > > >>>>>> > > >>>>> > self.add_menu_options(self.menu) > >>>>> > > >>>>>> File > >>>>>> > > >>> > ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", > >>> > >>>>> line 286, in add_menu_options > >>>>> > > >>>>>> > src_handle = > >>>>>> > > >>>>> EnumeratedListOption(_('Source'), > sources[0][0]) > >>>>> > > >>>>>> IndexError: list index out of > range > >>>>>> > >>>>>> Does it mean that without "census > keys", I am > >>>>>> > > >>> "really" > >>> > >>>>>> > > >>>>> not able to use these gramplet and > report [1][2] > >>>>> > > >>> ? > >>> > >>>>> > > >>>>>> So, I need to add some census keys > for my > >>>>>> > > >>> country > >>> > >>>>>> > > >>>>> [3][4][5] on my local census.py [6], > isn't it ? > >>>>> > > >>>>>> * FR16.. > France 16.. > >>>>>> > > >>> (lordship) > >>> > >>>>>> * FR1770 > France 1770 > >>>>>> > > >>> (religious) > >>> > >>>>>> * FR1801 > France 1801 > >>>>>> > > >>> (civil) > >>> > >>>>>> ... > >>>>>> > >>>>>> Is it not more logical to load a > XML file ? > >>>>>> Like calendar plugin with > holidays.xml [7]. > >>>>>> > >>>>>> > >>>>>> Regards, > >>>>>> Jérôme > >>>>>> > >>>>>> > >>>>>> --- > >>>>>> [1] http://www.gramps-project.org/wiki/index.php?title=Census_Addons#Configuration > > >>>>>> [2] http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/README > > >>>>>> [3] http://www.gramps-project.org/wiki/index.php?title=Recording_French_Census_data > > >>>>>> [4] http://fr.geneawiki.com/index.php/Recensements > >>>>>> [5] http://jomave.chez-alice.fr/sources/recensem.html > >>>>>> [6] http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/Census.py?r1=25&r2=42&pathrev=44 > > >>>>>> [7] http://www.gramps-project.org/wiki/index.php?title=Calendar_tools_holidays > > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> --- En date de : Mar 22.12.09, > Nick Hall > >>>>>> > > >>> <nic...@ho...> > >>> > >>>>>> > > >>>>> a écrit : > >>>>> > > >>>>>> > > >>>>>>> De: Nick Hall <nic...@ho...> > >>>>>>> Objet: [Gramps-devel] Census > entry and > >>>>>>> > > >>>>> Certificates in the Ecosystem > definition > >>>>> > > >>>>>>> À: "Gramps developers" <gra...@li...> > >>>>>>> Date: Mardi 22 Décembre 2009, > 15h12 > >>>>>>> I have written a couple of > Census > >>>>>>> addons. There is some > documentation here: > >>>>>>> > >>>>>>> http://www.gramps-project.org/wiki/index.php?title=Census_Addons > >>>>>>> > >>>>>>> There is an editor which > allows the user > >>>>>>> > > >>> to enter > >>> > >>>>>>> > > >>>>> census > >>>>> > > >>>>>>> information in one place, in a > format > >>>>>>> > > >>> similar to > >>> > >>>>>>> > > >>>>> that of the original > >>>>> > > >>>>>>> census return. The > objective was to > >>>>>>> > > >>> make > >>> > >>>>>>> > > >>>>> entry of census data much quicker > >>>>> > > >>>>>>> whilst using a data format > that also > >>>>>>> > > >>> allows > >>> > >>>>>>> > > >>>>> editing using the standard > >>>>> > > >>>>>>> Gramps editors. > >>>>>>> > >>>>>>> There is also a census report > which print > >>>>>>> > > >>> census > >>> > >>>>>>> > > >>>>> data in a > >>>>> > > >>>>>>> format similar to that of the > original > >>>>>>> > > >>> census > >>> > >>>>>>> > > >>>>> return. > >>>>> > > >>>>>>> It occurred to me that my > addons may > >>>>>>> > > >>> provide a > >>> > >>>>>>> > > >>>>> prototype > >>>>> > > >>>>>>> for Certificates as described > in the > >>>>>>> > > >>> Ecosystem > >>> > >>>>>>> > > >>>>> definition. > >>>>> > > >>>>>>> http://www.gramps-project.org/wiki/index.php?title=GEPS_012:_Ecosystem_definition#Certificates > > >>>>>>> > >>>>>>> Should I be thinking of > changing my > >>>>>>> > > >>> gramplet into > >>> > >>>>>>> > > >>>>> a > >>>>> > > >>>>>>> certificate? > >>>>>>> > >>>>>>> My code is in the > gramps-addons repository > >>>>>>> > > >>> and is > >>> > >>>>>>> accessible from the plugins > page: > >>>>>>> > >>>>>>> http://www.gramps-project.org/wiki/index.php?title=3.2_Third-party_Plugins > > >>>>>>> > >>>>>>> Regards, > >>>>>>> > >>>>>>> Nick. > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > > >>> > ------------------------------------------------------------------------------ > > >>> > >>>>> > > >>>>>>> This SF.Net email is sponsored > by the > >>>>>>> > > >>> Verizon > >>> > >>>>>>> > > >>>>> Developer > >>>>> > > >>>>>>> Community > >>>>>>> Take advantage of Verizon's > best-in-class > >>>>>>> > > >>> app > >>> > >>>>>>> > > >>>>> development > >>>>> > > >>>>>>> support > >>>>>>> A streamlined, 14 day to > market process > >>>>>>> > > >>> makes app > >>> > >>>>>>> distribution fast and easy > >>>>>>> Join now and get one step > closer to > >>>>>>> > > >>> millions of > >>> > >>>>>>> > > >>>>> Verizon > >>>>> > > >>>>>>> customers > >>>>>>> http://p.sf.net/sfu/verizon-dev2dev > >>>>>>> > > >>>>> > _______________________________________________ > >>>>> > > >>>>>>> Gramps-devel mailing list > >>>>>>> Gra...@li... > >>>>>>> https://lists.sourceforge.net/lists/listinfo/gramps-devel > >>>>>>> > >>>>>>> > > > >>>>>> > > > >>> > ------------------------------------------------------------------------ > >>> > >>>>> > > >>>> > > >> > >> > >> > >> > > > > -----La pièce jointe associée suit----- > > <?xml version="1.0" encoding="UTF-8"?> > <gramps> > <section> > <subsection> > <_task></_task> > <_answer>The 'merge' function allows > you to combine separately listed people into > one. This is very useful for combining two databases with > overlapping > people, or combining erroneously entered differing names > for one individual.</_answer> > <_step></_step> > <_step></_step> > <_step></_step> > </subsection> > <subsection> > <_task></_task> > <_answer>To easily merge two > people</_answer> > <_step>select them both (a second > person can be selected > by holding the Control key while clicking)</_step> > <_step>clicking on Edit > Fast > Merge</_step> > <_step></_step> > </subsection> > <subsection> > <_task></_task> > <_answer></_answer> > <_step></_step> > <_step></_step> > <_step></_step> > </subsection> > </section> > <section> > <subsection> > <_task></_task> > <_answer></_answer> > <_step></_step> > <_step></_step> > <_step></_step> > </subsection> > </section> > <section> > <subsection> > <_task></_task> > <_answer></_answer> > <_step></_step> > <_step></_step> > <_step></_step> > </subsection> > </section> > <section> > <subsection> > <_task></_task> > <_answer></_answer> > <_step></_step> > <_step></_step> > <_step></_step> > </subsection> > </section> > </gramps> > > -----La pièce jointe associée suit----- > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer > Community > Take advantage of Verizon's best-in-class app development > support > A streamlined, 14 day to market process makes app > distribution fast and easy > Join now and get one step closer to millions of Verizon > customers > http://p.sf.net/sfu/verizon-dev2dev > -----La pièce jointe associée suit----- > > _______________________________________________ > Gramps-devel mailing list > Gra...@li... > https://lists.sourceforge.net/lists/listinfo/gramps-devel > |
From: Nick H. <nic...@ho...> - 2009-12-30 15:42:18
|
Jerome, Thanks for the links. I managed to get a French translation working on my machine for testing. The Census addons now use a file called census.xml to hold the census definitions. Entries from this file will now be added to the po files for translation. There are also translatable strings from the other files. To get the translation to work I removed the fr-local.po file and re-initialised the project: python make.py clean Census python make.py init Census rm Census/po/fr-local.po python make.py init Census fr python make.py update Census fr Then I edited the po file. I have not uploaded a copy because I don't speak French and I translated using a web tool. I compiled the po file: python make.py compile Census fr The final step is to copy the locale directory structure containing the addon.mo file to where the addons are installed. One important thing to note is that I have allowed the tag that defines a source as a census source to be translated. This is the string at line 57 in Census.py. I translated this string and used the translation as the key in the Data tab of the source objects. Let me know if you have any problems. Regards, Nick. jerome wrote: >> I have been experimenting with an XML file for the >> census definitions. How will this work with >> translations? >> > > I was not thinking on translations or label definition, but it looks like your census.py, is not far away (on method to store values) from plugins/tool/ExtractCity.py. > > So an internal list like those are sometimes hard to maintain. > > An external migration of a list has been done on previous major release: src/data/lds.xml > "IDs" are stored into an external XML file and can be selected into a choice list : LdsUtils.TEMPLES.name_code_data() > > I suppose to store list on an external support/file, will not break current code or the translations on labels ? > > > > --- En date de : Jeu 24.12.09, Jérôme <rom...@ya...> a écrit : > > >> De: Jérôme <rom...@ya...> >> Objet: Re: [Gramps-devel] Re : Census entry and Certificates in the Ecosystem definition >> À: "Nick Hall" <nic...@ho...> >> Cc: "Gramps developers" <gra...@li...> >> Date: Jeudi 24 Décembre 2009, 11h37 >> Nick, >> >> >> >>> The problem was with the translations. I was >>> >> relying on the string "Census" which I had not defined in a >> single place. I have now defined it as the variable >> CENSUS_TAG in Census.py - you can translate this but you >> will have to use the translated version in the Data tab of >> the source object. I should work now because it is >> defined in a single place in the code. >> >> thank you, I will try the last version. >> >> >>> I'd like to get this working with translations; >>> >> if we have any more problems of this type I will try to run >> the French version on my machine. I don't know if it >> is as simple as changing an environment variable or if I >> will need to install a language pack. >> >> With 'msgfmt', you can create a compiled gettext file >> (fr.po => gramps.mo), place this file under {your >> selected_path}/fr/LC_MESSAGES/, then set an environnement >> variable on command line GRAMPSI18N={selected_path} python >> src/gramps.py (tip shared by Doug [1]) >> >> If you are under a Windows OS, you need msgfmt.exe binary >> (shoud be included into gettext package for windows). >> http://www.gramps-project.org/wiki/index.php?title=Translating_GRAMPS#GNU_.60gettext.27_utilities >> >> Maybe you just need to install langage pack for things like >> localized DateHandler, Relationships, locale gramps' tips, >> desktop file. >> >> >>> I have been experimenting with an XML file for the >>> >> census definitions. How will this work with >> translations? >> >> I suppose there is no translation string or variable ? >> i.e users are able to set country, whatever their locale >> (like into Ancestor report or Calendar reports). >> >> Note, glade files are also XML files. intltool [2] provides >> some tools for managing translations strings. And I remember >> a test [3] by using tips.xml data (need to add a mark on XML >> <_element></_element>, for having the >> translation). This had generated multiple localized xml file >> (nl, sv, fr, ...) >> >> So maybe one structure (set into a .in file) could be used >> for multiple locale files, or like holidays.xml one file >> could use a "country selector". >> >> Note, 'intltool' [2] is a GNOME thing, Windows users will >> not be able to _generate_ (cannot retrieve and merge XML >> data) a localized file according their locale (maybe like >> with current tips.xml ?) >> >> >> Regards, >> >> Jérôme. >> >> >> --- >> >> [1] http://www.gramps-project.org/wiki/index.php?title=Translating_GRAMPS#.24GRAMPSI18N >> [2] http://www.freedesktop.org/wiki/Software/intltool >> [3] http://old.nabble.com/Re%3A--Gramps-users--The-future-of-the-%27look-and-feel%27-of-GRAMPS-p26373843.html >> >> >> Nick Hall a écrit : >> >>> Jerome, >>> >>> I have just committed an update that I think will fix >>> >> this. >> >>> The problem was with the translations. I was >>> >> relying on the string "Census" which I had not defined in a >> single place. I have now defined it as the variable >> CENSUS_TAG in Census.py - you can translate this but you >> will have to use the translated version in the Data tab of >> the source object. I should work now because it is >> defined in a single place in the code. >> >>> I have been experimenting with an XML file for the >>> >> census definitions. How will this work with >> translations? >> >>> I'd like to get this working with translations; >>> >> if we have any more problems of this type I will try to run >> the French version on my machine. I don't know if it >> is as simple as changing an environment variable or if I >> will need to install a language pack. >> >>> Regards, >>> >>> Nick. >>> >>> jerome wrote: >>> >>>> Maybe I start to understand what is not working >>>> >> with my configuration and census addons : something between >> my locale, translated event, data_map and id ! Sorry, I >> don't have a working patch. >> >>>> >>>> >>>>> In the gramplet view, open the Census >>>>> >> Gramplet. This >> >>>>> will display an empty list of censuses for the >>>>> >> active person. If you >> >>>>> click on the "New" button at the bottom of the >>>>> >> gramplet, it will create a new >> >>>>> census. The only option for the source >>>>> >> will be the French 1831 census >> >>>>> and the date of 1831 will be filled in >>>>> >> automatically for you. >> >>>>> >>>>> >>>> No, I cannot see any option for the source on list >>>> >> :( >> >>>> >>>> >>>>> Then edit the source and click on the Data >>>>> >> tab. Create an entry with a key of "Census" and a value of >> "FR1831". These are >> >>>>> case sensitive so check for the uppercase "C" >>>>> >> in "Census" and uppercase "FR" >> >>>>> in "FR1831". >>>>> >>>>> >>>> I see an entry only if I use "Recensement" rather >>>> >> than "Census", which is the french translation ! >> >>>> I am able to add some data, but census report will >>>> >> crash : >> >>>> 88535: ERROR: _ReportDialog.py: line 640: Failed >>>> >> to run report. >> >>>> Traceback (most recent call last): >>>> File >>>> >> "trunk/src/ReportBase/_ReportDialog.py", line 615, in >> report >> >>>> MyReport.write_report() >>>> File >>>> >> ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", >> line 116, in write_report >> >>>> self.check_event(handle) >>>> File >>>> >> ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", >> line 127, in check_event >> >>>> source_ref = >>>> >> get_census_source_ref(self.database, event) >> >>>> File >>>> >> ".gramps/plugins/gramps-addons/contrib/Census/Census.py", >> line 237, in get_census_source_ref >> >>>> census_id = >>>> >> source.get_data_map()[_('Census')] >> >>>> AttributeError: 'NoneType' object has no attribute >>>> >> 'get_data_map' >> >>>> Regards, >>>> Jérôme R. >>>> >>>> >>>> --- En date de : Mer 23.12.09, Nick Hall <nic...@ho...> >>>> >> a écrit : >> >>>> >>>> >>>>> De: Nick Hall <nic...@ho...> >>>>> Objet: Re: Re : [Gramps-devel] Census entry >>>>> >> and Certificates in the Ecosystem definition >> >>>>> À: "jerome" <rom...@ya...> >>>>> Cc: "Gramps developers" <gra...@li...> >>>>> Date: Mercredi 23 Décembre 2009, 11h14 >>>>> Jerome, >>>>> >>>>> Your Census.py file works for me. >>>>> >>>>> What you need to do is create a new source, or >>>>> >> use an >> >>>>> existing one, for the 1831 French census. >>>>> >>>>> Then edit the source and click on the Data >>>>> >> tab. Create an entry with a key of "Census" and a value of >> "FR1831". These are >> >>>>> case sensitive so check for the uppercase "C" >>>>> >> in "Census" and uppercase "FR" >> >>>>> in "FR1831". >>>>> >>>>> Now you are ready to add a census. >>>>> >>>>> In the gramplet view, open the Census >>>>> >> Gramplet. This >> >>>>> will display an empty list of censuses for the >>>>> >> active person. If you >> >>>>> click on the "New" button at the bottom of the >>>>> >> gramplet, it will create a new >> >>>>> census. The only option for the source >>>>> >> will be the French 1831 census >> >>>>> and the date of 1831 will be filled in >>>>> >> automatically for you. >> >>>>> I don't think that the error is related to the >>>>> >> census >> >>>>> addons because they do not use embedded >>>>> >> lists. >> >>>>> There is one problem that I have noticed; when >>>>> >> I created a >> >>>>> new census it didn't appear in the list. >>>>> >> It should appear in the >> >>>>> list of censuses so that it can be >>>>> >> edited. I'll investigate why the list >> >>>>> is not refreshing for the first census added. >>>>> >>>>> Let me know if you need any further help. >>>>> >>>>> Regards, >>>>> >>>>> Nick. >>>>> >>>>> jerome wrote: >>>>> >>>>> >>>>>> Thank you ! >>>>>> >>>>>> >>>>>> >>>>>>> So, for example, if you were defining >>>>>>> >> the 1801 >> >>>>>>> >>>>>>> >> >> >>>>> French >>>>> >>>>> >>>>>>> Census then you would create an ID for >>>>>>> >> it - FR1801 >> >>>>>>> >>>>>>> >> >> >>>>> would be >>>>> >>>>> >>>>>>> a good choice. Then you would >>>>>>> >> add define its >> >>>>>>> >>>>>>> >> >> >>>>> date and >>>>> >>>>> >>>>>>> columns. To begin with you could >>>>>>> >> make the >> >>>>>>> >>>>>>> >> >> >>>>> report >>>>> >>>>> >>>>>>> columns the same as the attributes and >>>>>>> >> make the >> >>>>>>> >>>>>>> >> >> >>>>> columns >>>>> >>>>> >>>>>>> equal size. >>>>>>> >>>>>>> You will need to make the first column >>>>>>> >> in each >> >>>>>>> >>>>>>> >> >> >>>>> census >>>>> >>>>> >>>>>>> _('Name'). The editor looks for >>>>>>> >> this value. >> >>>>>>> >>>>>>> >> >> >>>>>> Prior to the "slave|prisoner" labor >>>>>> >> (around 35 census >> >>>>>> >>>>>> >>>>> with multiple fields since 1790 ...), I made a >>>>> >> test with >> >>>>> 'FR1831' (census.py.gz), but same result : I >>>>> >> cannot see or >> >>>>> use any entry whatever I do (add a source, a >>>>> >> census event) ! >> >>>>> Any idea ? >>>>> >>>>> >>>>>> Also a sourcerefmodel error : >>>>>> >>>>>> Traceback (most recent call last): >>>>>> File >>>>>> >>>>>> >> "trunk/src/gui/editors/displaytabs/embeddedlist.py", line >> >>>>> 471, in rebuild >>>>> >>>>> >>>>>> self.model = >>>>>> >>>>>> >>>>> self.construct_model() >>>>> >>>>> >>>>>> File >>>>>> >>>>>> >> "trunk/src/gui/editors/displaytabs/embeddedlist.py", line >> >>>>> 457, in construct_model >>>>> >>>>> >>>>>> return >>>>>> >>>>>> >>>>> self.build_model(self.get_data(), >>>>> >> self.dbstate.db) >> >>>>> >>>>> >>>>>> File >>>>>> >>>>>> >> "trunk/src/gui/editors/displaytabs/sourcerefmodel.py", line >> >>>>> 49, in __init__ >>>>> >>>>> >>>>>> >>>>>> >>>>> self.append(row=[src.gramps_id, >>>>> >> src.title, >> >>>>> src.author, >>>>> >>>>> >>>>>> AttributeError: 'NoneType' object has no >>>>>> >> attribute >> >>>>>> >>>>>> >>>>> 'gramps_id' >>>>> >>>>> >>>>>> Regards, >>>>>> >>>>>> Jérôme >>>>>> >>>>>> >>>>>> --- En date de : Mar 22.12.09, Nick Hall >>>>>> >> <nic...@ho...> >> >>>>>> >>>>>> >>>>> a écrit : >>>>> >>>>> >>>>>> >>>>>> >>>>>>> De: Nick Hall <nic...@ho...> >>>>>>> Objet: Re: Re : [Gramps-devel] Census >>>>>>> >> entry and >> >>>>>>> >>>>>>> >> >> >>>>> Certificates in the Ecosystem definition >>>>> >>>>> >>>>>>> À: "jerome" <rom...@ya...> >>>>>>> Cc: "Gramps developers" <gra...@li...> >>>>>>> Date: Mardi 22 Décembre 2009, 20h14 >>>>>>> Jerome, >>>>>>> >>>>>>> Thanks for pointing out the >>>>>>> >> error. I didn't >> >>>>>>> >>>>>>> >> >> >>>>> test it >>>>> >>>>> >>>>>>> without any census sources defined. >>>>>>> >>>>>>> Yes, you will need some census >>>>>>> >> definitions. >> >>>>> I have >>>>> >>>>> >>>>>>> only supplied ones for the UK, but I >>>>>>> >> would like to >> >>>>>>> >>>>>>> >> >> >>>>> see if I >>>>> >>>>> >>>>>>> can generalise it for other >>>>>>> >> countries. When >> >>>>>>> >>>>>>> >> >> >>>>> you have >>>>> >>>>> >>>>>>> the definitions in the Census.py file >>>>>>> >> then they >> >>>>>>> >>>>>>> >> >> >>>>> need to be >>>>> >>>>> >>>>>>> associated with a source by adding an >>>>>>> >> entry in the >> >>>>>>> >>>>>>> >> >> >>>>> Data tab >>>>> >>>>> >>>>>>> for the source. >>>>>>> >>>>>>> Your suggestion of using XML format >>>>>>> >> for the >> >>>>>>> >>>>>>> >> >> >>>>> definition file >>>>> >>>>> >>>>>>> is a good one. I had thought >>>>>>> >> about it, but >> >>>>>>> >>>>>>> >> >> >>>>> the python >>>>> >>>>> >>>>>>> file was easier. I am now >>>>>>> >> thinking that XML >> >>>>>>> >>>>>>> >> >> >>>>> is the way >>>>> >>>>> >>>>>>> to go. >>>>>>> >>>>>>> At the moment there are three >>>>>>> >> dictionaries. >> >>>>>>> CENSUS_DATES holds the date for each >>>>>>> >> census >> >>>>>>> >>>>>>> >> >> >>>>> defined. >>>>> >>>>> >>>>>>> CENSUS_COLS define the columns in the >>>>>>> >>>>>>> >> >> >>>>> census. Each >>>>> >>>>> >>>>>>> entry is the name of the attribute >>>>>>> >> that will be >> >>>>>>> >>>>>>> >> >> >>>>> used to >>>>> >>>>> >>>>>>> store the data for the column in the >>>>>>> >> EventRef >> >>>>>>> >>>>>>> >> >> >>>>> objects. >>>>> >>>>> >>>>>>> REPORT_COLS define the columns that >>>>>>> >> will be used >> >>>>>>> >>>>>>> >> >> >>>>> in the >>>>> >>>>> >>>>>>> report. At the moment the report >>>>>>> >> displays a >> >>>>>>> >>>>>>> >> >> >>>>> column for >>>>> >>>>> >>>>>>> each attribute. The REPORT_COLS >>>>>>> >> allows for a >> >>>>>>> >>>>>>> >> >> >>>>> different >>>>> >>>>> >>>>>>> heading in the report to that used for >>>>>>> >> the >> >>>>>>> >>>>>>> >> >> >>>>> attribute. >>>>> >>>>>>> The second element in the tuple is a >>>>>>> >> column width >> >>>>>>> >>>>>>> >> >> >>>>> - the sum >>>>> >>>>> >>>>>>> of these should not exceed 100. >>>>>>> >>>>>>> What I don't have at the moment is a >>>>>>> >> way to >> >>>>>>> >>>>>>> >> >> >>>>> specify the >>>>> >>>>> >>>>>>> header information for a census. >>>>>>> >> What I need >> >>>>>>> >>>>>>> >> >> >>>>> to do is >>>>> >>>>> >>>>>>> store a list of attributes that will >>>>>>> >> be attached >> >>>>>>> >>>>>>> >> >> >>>>> to the >>>>> >>>>> >>>>>>> census event. >>>>>>> >>>>>>> So, for example, if you were defining >>>>>>> >> the 1801 >> >>>>>>> >>>>>>> >> >> >>>>> French >>>>> >>>>> >>>>>>> Census then you would create an ID for >>>>>>> >> it - FR1801 >> >>>>>>> >>>>>>> >> >> >>>>> would be >>>>> >>>>> >>>>>>> a good choice. Then you would >>>>>>> >> add define its >> >>>>>>> >>>>>>> >> >> >>>>> date and >>>>> >>>>> >>>>>>> columns. To begin with you could >>>>>>> >> make the >> >>>>>>> >>>>>>> >> >> >>>>> report >>>>> >>>>> >>>>>>> columns the same as the attributes and >>>>>>> >> make the >> >>>>>>> >>>>>>> >> >> >>>>> columns >>>>> >>>>> >>>>>>> equal size. >>>>>>> >>>>>>> You will need to make the first column >>>>>>> >> in each >> >>>>>>> >>>>>>> >> >> >>>>> census >>>>> >>>>> >>>>>>> _('Name'). The editor looks for >>>>>>> >> this >> >>>>>>> >>>>>>> >> >> >>>>> value. This >>>>> >>>>> >>>>>>> probably needs some further thought. >>>>>>> >>>>>>> Let me know if you need some help >>>>>>> >> getting it to >> >>>>>>> >>>>>>> >> >> >>>>> work. >>>>> >>>>> >>>>>>> I'll start to think about the XML >>>>>>> >> format. >> >>>>>>> Regards, >>>>>>> >>>>>>> Nick. >>>>>>> >>>>>>> jerome wrote: >>>>>>> >>>>>>> >> >> >>>>>>>> Nick, >>>>>>>> >>>>>>>> >>>>>>>> 31645: ERROR: gramps.py: line 121: >>>>>>>> >> Unhandled >> >>>>>>>> >>>>>>>> >> >> >>>>>>> exception >>>>>>> >>>>>>> >> >> >>>>>>>> Traceback (most recent call >>>>>>>> >> last): >> >>>>>>>> File >>>>>>>> >>>>>>>> >> >> >>>>> "trunk/src/gui/viewmanager.py", >>>>> >>>>> >>>>>>>> >>>>>>>> >> >> >>>>>>> line 1629, in <lambda> >>>>>>> >>>>>>> >> >> >>>>>>>> >>>>>>>> >> return lambda x: >> >>>>>>>> >>>>>>>> >> >> >>>>>>> run_plugin(pdata, dbstate, uistate) >>>>>>> >>>>>>> >> >> >>>>>>>> File >>>>>>>> >>>>>>>> >> >> >>>>> "trunk/src/gui/viewmanager.py", >>>>> >>>>> >>>>>>>> >>>>>>>> >> >> >>>>>>> line 1617, in run_plugin >>>>>>> >>>>>>> >> >> >>>>>>>> >>>>>>>> >> pdata.category, >> >>>>>>>> >>>>>>>> >> >> >>>>>>> pdata.require_active) >>>>>>> >>>>>>> >> >> >>>>>>>> File >>>>>>>> >>>>>>>> >> >> >> "trunk/src/ReportBase/_ReportDialog.py", line 605, >> >>>>>>> >>>>>>> >> >> >>>>> in >>>>> >>>>> >>>>>>> report >>>>>>> >>>>>>> >> >> >>>>>>>> >>>>>>>> >> dialog = >> >>>>>>>> >>>>>>>> >> >> >>>>> dialog_class(dbstate, >>>>> >>>>> >>>>>>>> >>>>>>>> >> >> >>>>>>> uistate, options_class, name, >>>>>>> >> trans_name) >> >>>>>>> >>>>>>> >> >> >>>>>>>> File >>>>>>>> >>>>>>>> >> >> >> "trunk/src/ReportBase/_TextReportDialog.py", line >> >>>>>>> >>>>>>> >> >> >>>>> 101, in >>>>> >>>>> >>>>>>> __init__ >>>>>>> >>>>>>> >> >> >>>>>>>> >>>>>>>> >> name, translated_name) >> >>>>>>>> File >>>>>>>> >>>>>>>> >> >> >> "trunk/src/ReportBase/_DocReportDialog.py", line >> >>>>>>> >>>>>>> >> >> >>>>> 66, in >>>>> >>>>> >>>>>>> __init__ >>>>>>> >>>>>>> >> >> >>>>>>>> >>>>>>>> >> name, trans_name) >> >>>>>>>> File >>>>>>>> >>>>>>>> >> >> >> "trunk/src/ReportBase/_ReportDialog.py", line 96, >> >>>>>>> >>>>>>> >> >> >>>>> in >>>>> >>>>> >>>>>>> __init__ >>>>>>> >>>>>>> >> >> >>>>>>>> >>>>>>>> >> >> >>>>>>> >>>>>>> >> self.init_options(option_class) >> >>>>>>> >>>>>>> >> >> >>>>>>>> File >>>>>>>> >>>>>>>> >> >> >> "trunk/src/ReportBase/_ReportDialog.py", line 103, >> >>>>>>> >>>>>>> >> >> >>>>> in >>>>> >>>>> >>>>>>> init_options >>>>>>> >>>>>>> >> >> >>>>>>>> >>>>>>>> >> self.options = >> >>>>>>>> >>>>>>>> >> >> >>>>>>> option_class(self.raw_name, self.db) >>>>>>> >>>>>>> >> >> >>>>>>>> File >>>>>>>> >>>>>>>> >> >> >> ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", >> >>>>> >>>>> >>>>>>> line 265, in __init__ >>>>>>> >>>>>>> >> >> >>>>>>>> >>>>>>>> >> >> >>>>>>> >>>>>>> >> MenuReportOptions.__init__(self, >> >>>>>>> >>>>>>> >> >> >>>>> name, >>>>> >>>>> >>>>>>> database) >>>>>>> >>>>>>> >> >> >>>>>>>> File >>>>>>>> >>>>>>>> >> >> >> "trunk/src/ReportBase/_ReportOptions.py", line >> >>>>>>> >>>>>>> >> >> >>>>> 809, in >>>>> >>>>> >>>>>>> __init__ >>>>>>> >>>>>>> >> >> >>>>>>>> >>>>>>>> >> >> >>>>> GuiMenuOptions.__init__(self) >>>>> >>>>> >>>>>>>> File >>>>>>>> >>>>>>>> >> >> >> "trunk/src/PluginUtils/_GuiOptions.py", line 1415, >> >>>>>>> >>>>>>> >> >> >>>>> in >>>>> >>>>> >>>>>>> __init__ >>>>>>> >>>>>>> >> >> >>>>>>>> >>>>>>>> >> >> >>>>>>> >>>>>>> >> self.add_menu_options(self.menu) >> >>>>>>> >>>>>>> >> >> >>>>>>>> File >>>>>>>> >>>>>>>> >> >> >> ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", >> >>>>> >>>>> >>>>>>> line 286, in add_menu_options >>>>>>> >>>>>>> >> >> >>>>>>>> >>>>>>>> >> src_handle = >> >>>>>>>> >>>>>>>> >> >> >>>>>>> EnumeratedListOption(_('Source'), >>>>>>> >> sources[0][0]) >> >>>>>>> >>>>>>> >> >> >>>>>>>> IndexError: list index out of >>>>>>>> >> range >> >>>>>>>> Does it mean that without "census >>>>>>>> >> keys", I am >> >>>>>>>> >>>>>>>> >> >> >>>>> "really" >>>>> >>>>> >>>>>>>> >>>>>>>> >> >> >>>>>>> not able to use these gramplet and >>>>>>> >> report [1][2] >> >>>>>>> >>>>>>> >> >> >>>>> ? >>>>> >>>>> >>>>>>> >>>>>>> >> >> >>>>>>>> So, I need to add some census keys >>>>>>>> >> for my >> >>>>>>>> >>>>>>>> >> >> >>>>> country >>>>> >>>>> >>>>>>>> >>>>>>>> >> >> >>>>>>> [3][4][5] on my local census.py [6], >>>>>>> >> isn't it ? >> >>>>>>> >>>>>>> >> >> >>>>>>>> * FR16.. >>>>>>>> >> France 16.. >> >>>>>>>> >>>>>>>> >> >> >>>>> (lordship) >>>>> >>>>> >>>>>>>> * FR1770 >>>>>>>> >> France 1770 >> >>>>>>>> >>>>>>>> >> >> >>>>> (religious) >>>>> >>>>> >>>>>>>> * FR1801 >>>>>>>> >> France 1801 >> >>>>>>>> >>>>>>>> >> >> >>>>> (civil) >>>>> >>>>> >>>>>>>> ... >>>>>>>> >>>>>>>> Is it not more logical to load a >>>>>>>> >> XML file ? >> >>>>>>>> Like calendar plugin with >>>>>>>> >> holidays.xml [7]. >> >>>>>>>> Regards, >>>>>>>> Jérôme >>>>>>>> >>>>>>>> >>>>>>>> --- >>>>>>>> [1] http://www.gramps-project.org/wiki/index.php?title=Census_Addons#Configuration >>>>>>>> >>>>>>>> [2] http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/README >>>>>>>> >>>>>>>> [3] http://www.gramps-project.org/wiki/index.php?title=Recording_French_Census_data >>>>>>>> >>>>>>>> [4] http://fr.geneawiki.com/index.php/Recensements >>>>>>>> [5] http://jomave.chez-alice.fr/sources/recensem.html >>>>>>>> [6] http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/Census.py?r1=25&r2=42&pathrev=44 >>>>>>>> >>>>>>>> [7] http://www.gramps-project.org/wiki/index.php?title=Calendar_tools_holidays >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> --- En date de : Mar 22.12.09, >>>>>>>> >> Nick Hall >> >>>>>>>> >>>>>>>> >> >> >>>>> <nic...@ho...> >>>>> >>>>> >>>>>>>> >>>>>>>> >> >> >>>>>>> a écrit : >>>>>>> >>>>>>> >> >> >>>>>>>> >>>>>>>> >> >> >>>>>>>>> De: Nick Hall <nic...@ho...> >>>>>>>>> Objet: [Gramps-devel] Census >>>>>>>>> >> entry and >> >>>>>>>>> >>>>>>>>> >> >> >>>>>>> Certificates in the Ecosystem >>>>>>> >> definition >> >>>>>>> >>>>>>> >> >> >>>>>>>>> À: "Gramps developers" <gra...@li...> >>>>>>>>> Date: Mardi 22 Décembre 2009, >>>>>>>>> >> 15h12 >> >>>>>>>>> I have written a couple of >>>>>>>>> >> Census >> >>>>>>>>> addons. There is some >>>>>>>>> >> documentation here: >> >>>>>>>>> http://www.gramps-project.org/wiki/index.php?title=Census_Addons >>>>>>>>> >>>>>>>>> There is an editor which >>>>>>>>> >> allows the user >> >>>>>>>>> >>>>>>>>> >> >> >>>>> to enter >>>>> >>>>> >>>>>>>>> >>>>>>>>> >> >> >>>>>>> census >>>>>>> >>>>>>> >> >> >>>>>>>>> information in one place, in a >>>>>>>>> >> format >> >>>>>>>>> >>>>>>>>> >> >> >>>>> similar to >>>>> >>>>> >>>>>>>>> >>>>>>>>> >> >> >>>>>>> that of the original >>>>>>> >>>>>>> >> >> >>>>>>>>> census return. The >>>>>>>>> >> objective was to >> >>>>>>>>> >>>>>>>>> >> >> >>>>> make >>>>> >>>>> >>>>>>>>> >>>>>>>>> >> >> >>>>>>> entry of census data much quicker >>>>>>> >>>>>>> >> >> >>>>>>>>> whilst using a data format >>>>>>>>> >> that also >> >>>>>>>>> >>>>>>>>> >> >> >>>>> allows >>>>> >>>>> >>>>>>>>> >>>>>>>>> >> >> >>>>>>> editing using the standard >>>>>>> >>>>>>> >> >> >>>>>>>>> Gramps editors. >>>>>>>>> >>>>>>>>> There is also a census report >>>>>>>>> >> which print >> >>>>>>>>> >>>>>>>>> >> >> >>>>> census >>>>> >>>>> >>>>>>>>> >>>>>>>>> >> >> >>>>>>> data in a >>>>>>> >>>>>>> >> >> >>>>>>>>> format similar to that of the >>>>>>>>> >> original >> >>>>>>>>> >>>>>>>>> >> >> >>>>> census >>>>> >>>>> >>>>>>>>> >>>>>>>>> >> >> >>>>>>> return. >>>>>>> >>>>>>> >> >> >>>>>>>>> It occurred to me that my >>>>>>>>> >> addons may >> >>>>>>>>> >>>>>>>>> >> >> >>>>> provide a >>>>> >>>>> >>>>>>>>> >>>>>>>>> >> >> >>>>>>> prototype >>>>>>> >>>>>>> >> >> >>>>>>>>> for Certificates as described >>>>>>>>> >> in the >> >>>>>>>>> >>>>>>>>> >> >> >>>>> Ecosystem >>>>> >>>>> >>>>>>>>> >>>>>>>>> >> >> >>>>>>> definition. >>>>>>> >>>>>>> >> >> >>>>>>>>> http://www.gramps-project.org/wiki/index.php?title=GEPS_012:_Ecosystem_definition#Certificates >>>>>>>>> >>>>>>>>> Should I be thinking of >>>>>>>>> >> changing my >> >>>>>>>>> >>>>>>>>> >> >> >>>>> gramplet into >>>>> >>>>> >>>>>>>>> >>>>>>>>> >> >> >>>>>>> a >>>>>>> >>>>>>> >> >> >>>>>>>>> certificate? >>>>>>>>> >>>>>>>>> My code is in the >>>>>>>>> >> gramps-addons repository >> >>>>>>>>> >>>>>>>>> >> >> >>>>> and is >>>>> >>>>> >>>>>>>>> accessible from the plugins >>>>>>>>> >> page: >> >>>>>>>>> http://www.gramps-project.org/wiki/index.php?title=3.2_Third-party_Plugins >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> >>>>>>>>> Nick. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >> >> >> ------------------------------------------------------------------------------ >> >> >>>>> >>>>> >>>>>>> >>>>>>> >> >> >>>>>>>>> This SF.Net email is sponsored >>>>>>>>> >> by the >> >>>>>>>>> >>>>>>>>> >> >> >>>>> Verizon >>>>> >>>>> >>>>>>>>> >>>>>>>>> >> >> >>>>>>> Developer >>>>>>> >>>>>>> >> >> >>>>>>>>> Community >>>>>>>>> Take advantage of Verizon's >>>>>>>>> >> best-in-class >> >>>>>>>>> >>>>>>>>> >> >> >>>>> app >>>>> >>>>> >>>>>>>>> >>>>>>>>> >> >> >>>>>>> development >>>>>>> >>>>>>> >> >> >>>>>>>>> support >>>>>>>>> A streamlined, 14 day to >>>>>>>>> >> market process >> >>>>>>>>> >>>>>>>>> >> >> >>>>> makes app >>>>> >>>>> >>>>>>>>> distribution fast and easy >>>>>>>>> Join now and get one step >>>>>>>>> >> closer to >> >>>>>>>>> >>>>>>>>> >> >> >>>>> millions of >>>>> >>>>> >>>>>>>>> >>>>>>>>> >> >> >>>>>>> Verizon >>>>>>> >>>>>>> >> >> >>>>>>>>> customers >>>>>>>>> http://p.sf.net/sfu/verizon-dev2dev >>>>>>>>> >>>>>>>>> >> >> >> _______________________________________________ >> >>>>>>> >>>>>>> >> >> >>>>>>>>> Gramps-devel mailing list >>>>>>>>> Gra...@li... >>>>>>>>> https://lists.sourceforge.net/lists/listinfo/gramps-devel >>>>>>>>> >>>>>>>>> >>>>>>>>> >> >> >> >>>>>>>> >>>>>>>> >> >> >> >> ------------------------------------------------------------------------ >> >>>>> >>>>> >>>>>>> >>>>>>> >> >> >>>>>> >>>>>> >> >> >>>> >>>> >>>> >> -----La pièce jointe associée suit----- >> >> <?xml version="1.0" encoding="UTF-8"?> >> <gramps> >> <section> >> <subsection> >> <_task></_task> >> <_answer>The 'merge' function allows >> you to combine separately listed people into >> one. This is very useful for combining two databases with >> overlapping >> people, or combining erroneously entered differing names >> for one individual.</_answer> >> <_step></_step> >> <_step></_step> >> <_step></_step> >> </subsection> >> <subsection> >> <_task></_task> >> <_answer>To easily merge two >> people</_answer> >> <_step>select them both (a second >> person can be selected >> by holding the Control key while clicking)</_step> >> <_step>clicking on Edit > Fast >> Merge</_step> >> <_step></_step> >> </subsection> >> <subsection> >> <_task></_task> >> <_answer></_answer> >> <_step></_step> >> <_step></_step> >> <_step></_step> >> </subsection> >> </section> >> <section> >> <subsection> >> <_task></_task> >> <_answer></_answer> >> <_step></_step> >> <_step></_step> >> <_step></_step> >> </subsection> >> </section> >> <section> >> <subsection> >> <_task></_task> >> <_answer></_answer> >> <_step></_step> >> <_step></_step> >> <_step></_step> >> </subsection> >> </section> >> <section> >> <subsection> >> <_task></_task> >> <_answer></_answer> >> <_step></_step> >> <_step></_step> >> <_step></_step> >> </subsection> >> </section> >> </gramps> >> >> -----La pièce jointe associée suit----- >> >> ------------------------------------------------------------------------------ >> This SF.Net email is sponsored by the Verizon Developer >> Community >> Take advantage of Verizon's best-in-class app development >> support >> A streamlined, 14 day to market process makes app >> distribution fast and easy >> Join now and get one step closer to millions of Verizon >> customers >> http://p.sf.net/sfu/verizon-dev2dev >> -----La pièce jointe associée suit----- >> >> _______________________________________________ >> Gramps-devel mailing list >> Gra...@li... >> https://lists.sourceforge.net/lists/listinfo/gramps-devel >> >> > > > > > > |
From: jerome <rom...@ya...> - 2009-12-30 18:16:37
|
Nick, Thank you I will try under my locale. At first glance, I noted that you also planned to allow translation on census.xml. Current make.py ignores this translation strings, we need to add something like this : system('''intltool-extract --type=gettext/xml "%(addon)s"/*.xml.in''') system('''intltool-extract --type=gettext/glade "%(addon)s"/*.glade''') system('''xgettext --language=Python --keyword=_ --keyword=N_''' ''' -o "%(addon)s/po/template.pot" "%(addon)s"/*.py ''') system('''xgettext -j --keyword=_ --keyword=N_''' ''' -o "%(addon)s/po/template.pot" ''' '''"%(addon)s"/*.glade.h''') system('''xgettext -j --keyword=_ --keyword=N_''' ''' -o "%(addon)s/po/template.pot" ''' '''"%(addon)s"/*.xml.in.h''') ... then we have the choice ! 1. retrieve translations and generate census.xml intltool-merge -x po/ census.xml.in census.xml 2. retrieve translations and generate multiple localized census.xml intltool-merge -x -m po/ census.xml.in census.xml http://www.gnome.org/~malcolm/i18n/marking-strings.html#xml Regards, Jérôme. --- En date de : Mer 30.12.09, Nick Hall <nic...@ho...> a écrit : > De: Nick Hall <nic...@ho...> > Objet: Re: [Gramps-devel] Re : Census entry and Certificates in the Ecosystem definition > À: "jerome" <rom...@ya...> > Cc: "Gramps developers" <gra...@li...> > Date: Mercredi 30 Décembre 2009, 16h42 > Jerome, > > Thanks for the links. I managed to get a French > translation working on my machine for testing. > > The Census addons now use a file called census.xml to hold > the census definitions. Entries from this file will > now be added to the po files for translation. There > are also translatable strings from the other files. > > To get the translation to work I removed the fr-local.po > file and re-initialised the project: > > python make.py clean Census > python make.py init Census > rm Census/po/fr-local.po > python make.py init Census fr > python make.py update Census fr > > Then I edited the po file. I have not uploaded a copy > because I don't speak French and I translated using a web > tool. > > I compiled the po file: > > python make.py compile Census fr > > The final step is to copy the locale directory structure > containing the addon.mo file to where the addons are > installed. > > One important thing to note is that I have allowed the tag > that defines a source as a census source to be > translated. This is the string at line 57 in > Census.py. I translated this string and used the > translation as the key in the Data tab of the source > objects. > > Let me know if you have any problems. > > Regards, > > Nick. > > jerome wrote: > >> I have been experimenting with an XML file for > the > >> census definitions. How will this work with > >> translations? > >> > > > > I was not thinking on translations or label > definition, but it looks like your census.py, is not far > away (on method to store values) from > plugins/tool/ExtractCity.py. > > > > So an internal list like those are sometimes hard to > maintain. > > > > An external migration of a list has been done on > previous major release: src/data/lds.xml > > "IDs" are stored into an external XML file and can be > selected into a choice list : > LdsUtils.TEMPLES.name_code_data() > > > > I suppose to store list on an external support/file, > will not break current code or the translations on labels ? > > > > > > > > --- En date de : Jeu 24.12.09, Jérôme <rom...@ya...> > a écrit : > > > > > >> De: Jérôme <rom...@ya...> > >> Objet: Re: [Gramps-devel] Re : Census entry and > Certificates in the Ecosystem definition > >> À: "Nick Hall" <nic...@ho...> > >> Cc: "Gramps developers" <gra...@li...> > >> Date: Jeudi 24 Décembre 2009, 11h37 > >> Nick, > >> > >> > >> > >>> The problem was with the translations. I > was > >>> > >> relying on the string "Census" which I had not > defined in a > >> single place. I have now defined it as the > variable > >> CENSUS_TAG in Census.py - you can translate this > but you > >> will have to use the translated version in the > Data tab of > >> the source object. I should work now because > it is > >> defined in a single place in the code. > >> > >> thank you, I will try the last version. > >> > >> > >>> I'd like to get this working with > translations; > >> if we have any more problems of this type I will > try to run > >> the French version on my machine. I don't > know if it > >> is as simple as changing an environment variable > or if I > >> will need to install a language pack. > >> > >> With 'msgfmt', you can create a compiled gettext > file > >> (fr.po => gramps.mo), place this file > under {your > >> selected_path}/fr/LC_MESSAGES/, then set an > environnement > >> variable on command line > GRAMPSI18N={selected_path} python > >> src/gramps.py (tip shared by Doug [1]) > >> > >> If you are under a Windows OS, you need msgfmt.exe > binary > >> (shoud be included into gettext package for > windows). > >> http://www.gramps-project.org/wiki/index.php?title=Translating_GRAMPS#GNU_.60gettext.27_utilities > >> > >> Maybe you just need to install langage pack for > things like > >> localized DateHandler, Relationships, locale > gramps' tips, > >> desktop file. > >> > >> > >>> I have been experimenting with an XML file for > the > >>> > >> census definitions. How will this work with > >> translations? > >> > >> I suppose there is no translation string or > variable ? > >> i.e users are able to set country, whatever their > locale > >> (like into Ancestor report or Calendar reports). > >> > >> Note, glade files are also XML files. intltool [2] > provides > >> some tools for managing translations strings. And > I remember > >> a test [3] by using tips.xml data (need to add a > mark on XML > >> <_element></_element>, for having the > >> translation). This had generated multiple > localized xml file > >> (nl, sv, fr, ...) > >> > >> So maybe one structure (set into a .in file) could > be used > >> for multiple locale files, or like holidays.xml > one file > >> could use a "country selector". > >> > >> Note, 'intltool' [2] is a GNOME thing, Windows > users will > >> not be able to _generate_ (cannot retrieve and > merge XML > >> data) a localized file according their locale > (maybe like > >> with current tips.xml ?) > >> > >> > >> Regards, > >> > >> Jérôme. > >> > >> > >> --- > >> > >> [1] http://www.gramps-project.org/wiki/index.php?title=Translating_GRAMPS#.24GRAMPSI18N > >> [2] http://www.freedesktop.org/wiki/Software/intltool > >> [3] http://old.nabble.com/Re%3A--Gramps-users--The-future-of-the-%27look-and-feel%27-of-GRAMPS-p26373843.html > >> > >> > >> Nick Hall a écrit : > >> > >>> Jerome, > >>> > >>> I have just committed an update that I think > will fix > >>> > >> this. > >> > >>> The problem was with the translations. I > was > >>> > >> relying on the string "Census" which I had not > defined in a > >> single place. I have now defined it as the > variable > >> CENSUS_TAG in Census.py - you can translate this > but you > >> will have to use the translated version in the > Data tab of > >> the source object. I should work now because > it is > >> defined in a single place in the code. > >> > >>> I have been experimenting with an XML file for > the > >>> > >> census definitions. How will this work with > >> translations? > >> > >>> I'd like to get this working with > translations; > >> if we have any more problems of this type I will > try to run > >> the French version on my machine. I don't > know if it > >> is as simple as changing an environment variable > or if I > >> will need to install a language pack. > >> > >>> Regards, > >>> > >>> Nick. > >>> > >>> jerome wrote: > >>> > >>>> Maybe I start to understand what is not > working > >>>> > >> with my configuration and census addons : > something between > >> my locale, translated event, data_map and id ! > Sorry, I > >> don't have a working patch. > >> > >>>> > > >>>>> In the gramplet view, open the Census > >>>>> > > >> Gramplet. This > >> > >>>>> will display an empty list of censuses > for the > >>>>> > > >> active person. If you > >> > >>>>> click on the "New" button at the > bottom of the > >>>>> > > >> gramplet, it will create a new > >> > >>>>> census. The only option for the > source > >>>>> > > >> will be the French 1831 census > >> > >>>>> and the date of 1831 will be filled > in > >>>>> > > >> automatically for you. > >> > >>>>> > > >>>> No, I cannot see any option for the source > on list > >>>> > >> :( > >> > >>>> > > >>>>> Then edit the source and click on the > Data > >>>>> > > >> tab. Create an entry with a key of "Census" and a > value of > >> "FR1831". These are > >> > >>>>> case sensitive so check for the > uppercase "C" > >>>>> > > >> in "Census" and uppercase "FR" > >> > >>>>> in "FR1831". > >>>>> > > >>>> I see an entry only if I use "Recensement" > rather > >>>> > >> than "Census", which is the french translation ! > >> > >>>> I am able to add some data, but census > report will > >>>> > >> crash : > >> > >>>> 88535: ERROR: _ReportDialog.py: line 640: > Failed > >>>> > >> to run report. > >> > >>>> Traceback (most recent call last): > >>>> File > >>>> > >> "trunk/src/ReportBase/_ReportDialog.py", line 615, > in > >> report > >> > >>>> > MyReport.write_report() > >>>> File > >>>> > >> > ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", > >> line 116, in write_report > >> > >>>> > self.check_event(handle) > >>>> File > >>>> > >> > ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", > >> line 127, in check_event > >> > >>>> source_ref = > >>>> > >> get_census_source_ref(self.database, event) > >> > >>>> File > >>>> > >> > ".gramps/plugins/gramps-addons/contrib/Census/Census.py", > >> line 237, in get_census_source_ref > >> > >>>> census_id = > >>>> > >> source.get_data_map()[_('Census')] > >> > >>>> AttributeError: 'NoneType' object has no > attribute > >>>> > >> 'get_data_map' > >> > >>>> Regards, > >>>> Jérôme R. > >>>> > >>>> > >>>> --- En date de : Mer 23.12.09, Nick Hall > <nic...@ho...> > >>>> > >> a écrit : > >> > >>>> > > >>>>> De: Nick Hall <nic...@ho...> > >>>>> Objet: Re: Re : [Gramps-devel] Census > entry > >>>>> > > >> and Certificates in the Ecosystem definition > >> > >>>>> À: "jerome" <rom...@ya...> > >>>>> Cc: "Gramps developers" <gra...@li...> > >>>>> Date: Mercredi 23 Décembre 2009, > 11h14 > >>>>> Jerome, > >>>>> > >>>>> Your Census.py file works for me. > >>>>> > >>>>> What you need to do is create a new > source, or > >>>>> > > >> use an > >> > >>>>> existing one, for the 1831 French > census. > >>>>> > >>>>> Then edit the source and click on the > Data > >>>>> > > >> tab. Create an entry with a key of "Census" and a > value of > >> "FR1831". These are > >> > >>>>> case sensitive so check for the > uppercase "C" > >>>>> > > >> in "Census" and uppercase "FR" > >> > >>>>> in "FR1831". > >>>>> > >>>>> Now you are ready to add a census. > >>>>> > >>>>> In the gramplet view, open the Census > >>>>> > > >> Gramplet. This > >> > >>>>> will display an empty list of censuses > for the > >>>>> > > >> active person. If you > >> > >>>>> click on the "New" button at the > bottom of the > >>>>> > > >> gramplet, it will create a new > >> > >>>>> census. The only option for the > source > >>>>> > > >> will be the French 1831 census > >> > >>>>> and the date of 1831 will be filled > in > >>>>> > > >> automatically for you. > >> > >>>>> I don't think that the error is > related to the > >>>>> > > >> census > >> > >>>>> addons because they do not use > embedded > >>>>> > > >> lists. > >> > >>>>> There is one problem that I have > noticed; when > >>>>> > > >> I created a > >> > >>>>> new census it didn't appear in the > list. > >> It should appear in the > >> > >>>>> list of censuses so that it can be > >>>>> > > >> edited. I'll investigate why the list > >> > >>>>> is not refreshing for the first census > added. > >>>>> > >>>>> Let me know if you need any further > help. > >>>>> > >>>>> Regards, > >>>>> > >>>>> Nick. > >>>>> > >>>>> jerome wrote: > >>>>> > > >>>>>> Thank you ! > >>>>>> > >>>>>> > > >>>>>>> So, for example, if you were > defining > >>>>>>> > > >> the 1801 > >> > >>>>>>> > > >> > >>>>> French > >>>>> > > >>>>>>> Census then you would create > an ID for > >>>>>>> > > >> it - FR1801 > >> > >>>>>>> > > >> > >>>>> would be > >>>>> > > >>>>>>> a good choice. Then you > would > >>>>>>> > > >> add define its > >> > >>>>>>> > > >> > >>>>> date and > >>>>> > > >>>>>>> columns. To begin with > you could > >>>>>>> > > >> make the > >> > >>>>>>> > > >> > >>>>> report > >>>>> > > >>>>>>> columns the same as the > attributes and > >>>>>>> > > >> make the > >> > >>>>>>> > > >> > >>>>> columns > >>>>> > > >>>>>>> equal size. > >>>>>>> > >>>>>>> You will need to make the > first column > >>>>>>> > > >> in each > >> > >>>>>>> > > >> > >>>>> census > >>>>> > > >>>>>>> _('Name'). The editor > looks for > >>>>>>> > > >> this value. > >> > >>>>>>> > > >> > >>>>>> Prior to the "slave|prisoner" > labor > >>>>>> > > >> (around 35 census > >> > >>>>>> > > >>>>> with multiple fields since 1790 ...), > I made a > >>>>> > > >> test with > >> > >>>>> 'FR1831' (census.py.gz), but same > result : I > >>>>> > > >> cannot see or > >> > >>>>> use any entry whatever I do (add a > source, a > >>>>> > > >> census event) ! > >> > >>>>> Any idea ? > >>>>> > > >>>>>> Also a sourcerefmodel error : > >>>>>> > >>>>>> Traceback (most recent call > last): > >>>>>> File > >>>>>> > > >> > "trunk/src/gui/editors/displaytabs/embeddedlist.py", line > >> > >>>>> 471, in rebuild > >>>>> > > >>>>>> > self.model = > >>>>>> > > >>>>> self.construct_model() > >>>>> > > >>>>>> File > >>>>>> > > >> > "trunk/src/gui/editors/displaytabs/embeddedlist.py", line > >> > >>>>> 457, in construct_model > >>>>> > > >>>>>> > return > >>>>>> > > >>>>> self.build_model(self.get_data(), > >>>>> > > >> self.dbstate.db) > >> > >>>>> > > >>>>>> File > >>>>>> > > >> > "trunk/src/gui/editors/displaytabs/sourcerefmodel.py", line > >> > >>>>> 49, in __init__ > >>>>> > > >>>>>> > > >>>>> > self.append(row=[src.gramps_id, > >>>>> > > >> src.title, > >> > >>>>> src.author, > >>>>> > > >>>>>> AttributeError: 'NoneType' object > has no > >>>>>> > > >> attribute > >> > >>>>>> > > >>>>> 'gramps_id' > >>>>> > > >>>>>> Regards, > >>>>>> > >>>>>> Jérôme > >>>>>> > >>>>>> > >>>>>> --- En date de : Mar 22.12.09, > Nick Hall > >>>>>> > > >> <nic...@ho...> > >> > >>>>>> > > >>>>> a écrit : > >>>>> > > >>>>>> > > >>>>>>> De: Nick Hall <nic...@ho...> > >>>>>>> Objet: Re: Re : [Gramps-devel] > Census > >>>>>>> > > >> entry and > >> > >>>>>>> > > >> > >>>>> Certificates in the Ecosystem > definition > >>>>> > > >>>>>>> À: "jerome" <rom...@ya...> > >>>>>>> Cc: "Gramps developers" <gra...@li...> > >>>>>>> Date: Mardi 22 Décembre 2009, > 20h14 > >>>>>>> Jerome, > >>>>>>> > >>>>>>> Thanks for pointing out the > >>>>>>> > > >> error. I didn't > >> > >>>>>>> > > >> > >>>>> test it > >>>>> > > >>>>>>> without any census sources > defined. > >>>>>>> > >>>>>>> Yes, you will need some > census > >>>>>>> > > >> definitions. > > >>>>> I have > >>>>> > > >>>>>>> only supplied ones for the UK, > but I > >>>>>>> > > >> would like to > >> > >>>>>>> > > >> > >>>>> see if I > >>>>> > > >>>>>>> can generalise it for other > >>>>>>> > > >> countries. When > >> > >>>>>>> > > >> > >>>>> you have > >>>>> > > >>>>>>> the definitions in the > Census.py file > >>>>>>> > > >> then they > >> > >>>>>>> > > >> > >>>>> need to be > >>>>> > > >>>>>>> associated with a source by > adding an > >>>>>>> > > >> entry in the > >> > >>>>>>> > > >> > >>>>> Data tab > >>>>> > > >>>>>>> for the source. > >>>>>>> > >>>>>>> Your suggestion of using XML > format > >>>>>>> > > >> for the > >> > >>>>>>> > > >> > >>>>> definition file > >>>>> > > >>>>>>> is a good one. I had > thought > >>>>>>> > > >> about it, but > >> > >>>>>>> > > >> > >>>>> the python > >>>>> > > >>>>>>> file was easier. I am > now > >>>>>>> > > >> thinking that XML > >> > >>>>>>> > > >> > >>>>> is the way > >>>>> > > >>>>>>> to go. > >>>>>>> > >>>>>>> At the moment there are three > >>>>>>> > > >> dictionaries. > >> > >>>>>>> CENSUS_DATES holds the date > for each > >>>>>>> > > >> census > >> > >>>>>>> > > >> > >>>>> defined. > >>>>> > > >>>>>>> CENSUS_COLS define the columns > in the > >>>>>>> > > >> > >>>>> census. Each > >>>>> > > >>>>>>> entry is the name of the > attribute > >>>>>>> > > >> that will be > >> > >>>>>>> > > >> > >>>>> used to > >>>>> > > >>>>>>> store the data for the column > in the > >>>>>>> > > >> EventRef > >> > >>>>>>> > > >> > >>>>> objects. > >>>>> > > >>>>>>> REPORT_COLS define the columns > that > >>>>>>> > > >> will be used > >> > >>>>>>> > > >> > >>>>> in the > >>>>> > > >>>>>>> report. At the moment > the report > >>>>>>> > > >> displays a > >> > >>>>>>> > > >> > >>>>> column for > >>>>> > > >>>>>>> each attribute. The > REPORT_COLS > >>>>>>> > > >> allows for a > >> > >>>>>>> > > >> > >>>>> different > >>>>> > > >>>>>>> heading in the report to that > used for > >>>>>>> > > >> the > >> > >>>>>>> > > >> > >>>>> attribute. > > >>>>>>> The second element in the > tuple is a > >>>>>>> > > >> column width > >> > >>>>>>> > > >> > >>>>> - the sum > >>>>> > > >>>>>>> of these should not exceed > 100. > >>>>>>> > >>>>>>> What I don't have at the > moment is a > >>>>>>> > > >> way to > >> > >>>>>>> > > >> > >>>>> specify the > >>>>> > > >>>>>>> header information for a > census. > > >> What I need > >> > >>>>>>> > > >> > >>>>> to do is > >>>>> > > >>>>>>> store a list of attributes > that will > >>>>>>> > > >> be attached > >> > >>>>>>> > > >> > >>>>> to the > >>>>> > > >>>>>>> census event. > >>>>>>> > >>>>>>> So, for example, if you were > defining > >>>>>>> > > >> the 1801 > >> > >>>>>>> > > >> > >>>>> French > >>>>> > > >>>>>>> Census then you would create > an ID for > >>>>>>> > > >> it - FR1801 > >> > >>>>>>> > > >> > >>>>> would be > >>>>> > > >>>>>>> a good choice. Then you > would > >>>>>>> > > >> add define its > >> > >>>>>>> > > >> > >>>>> date and > >>>>> > > >>>>>>> columns. To begin with > you could > >>>>>>> > > >> make the > >> > >>>>>>> > > >> > >>>>> report > >>>>> > > >>>>>>> columns the same as the > attributes and > >>>>>>> > > >> make the > >> > >>>>>>> > > >> > >>>>> columns > >>>>> > > >>>>>>> equal size. > >>>>>>> > >>>>>>> You will need to make the > first column > >>>>>>> > > >> in each > >> > >>>>>>> > > >> > >>>>> census > >>>>> > > >>>>>>> _('Name'). The editor > looks for > >>>>>>> > > >> this > >> > >>>>>>> > > >> > >>>>> value. This > >>>>> > > >>>>>>> probably needs some further > thought. > >>>>>>> > >>>>>>> Let me know if you need some > help > >>>>>>> > > >> getting it to > >> > >>>>>>> > > >> > >>>>> work. > >>>>> > > >>>>>>> I'll start to think about the > XML > >>>>>>> > > >> format. > >> > >>>>>>> Regards, > >>>>>>> > >>>>>>> Nick. > >>>>>>> > >>>>>>> jerome wrote: > >>>>>>> > > >> > >>>>>>>> Nick, > >>>>>>>> > >>>>>>>> > >>>>>>>> 31645: ERROR: gramps.py: > line 121: > >>>>>>>> > > >> Unhandled > >> > >>>>>>>> > > > >> > > >>>>>>> exception > >>>>>>> > > >> > >>>>>>>> Traceback (most recent > call > >>>>>>>> > > >> last): > >> > >>>>>>>> File > >>>>>>>> > > >> > >>>>> "trunk/src/gui/viewmanager.py", > >>>>> > > >>>>>>>> > > > >> > > >>>>>>> line 1629, in <lambda> > >>>>>>> > > >> > >>>>>>>> > > >> return lambda x: > >> > >>>>>>>> > > > >> > > >>>>>>> run_plugin(pdata, dbstate, > uistate) > >>>>>>> > > >> > >>>>>>>> File > >>>>>>>> > > >> > >>>>> "trunk/src/gui/viewmanager.py", > >>>>> > > >>>>>>>> > > > >> > > >>>>>>> line 1617, in run_plugin > >>>>>>> > > >> > >>>>>>>> > > >> pdata.category, > >> > >>>>>>>> > > > >> > > >>>>>>> pdata.require_active) > >>>>>>> > > >> > >>>>>>>> File > >>>>>>>> > > > >> > "trunk/src/ReportBase/_ReportDialog.py", > line 605, > >> > >>>>>>> > > >> > >>>>> in > >>>>> > > >>>>>>> report > >>>>>>> > > >> > >>>>>>>> > > >> dialog = > >> > >>>>>>>> > > >> > >>>>> dialog_class(dbstate, > >>>>> > > >>>>>>>> > > > >> > > >>>>>>> uistate, options_class, name, > >>>>>>> > > >> trans_name) > >> > >>>>>>> > > >> > >>>>>>>> File > >>>>>>>> > > > >> > "trunk/src/ReportBase/_TextReportDialog.py", > line > >> > >>>>>>> > > >> > >>>>> 101, in > >>>>> > > >>>>>>> __init__ > >>>>>>> > > >> > >>>>>>>> > > >> name, translated_name) > >> > >>>>>>>> File > >>>>>>>> > > > >> > "trunk/src/ReportBase/_DocReportDialog.py", > line > >> > >>>>>>> > > >> > >>>>> 66, in > >>>>> > > >>>>>>> __init__ > >>>>>>> > > >> > >>>>>>>> > > >> name, trans_name) > >> > >>>>>>>> File > >>>>>>>> > > > >> > "trunk/src/ReportBase/_ReportDialog.py", > line 96, > >> > >>>>>>> > > >> > >>>>> in > >>>>> > > >>>>>>> __init__ > >>>>>>> > > >> > >>>>>>>> > > > >> > > >>>>>>> > > >> self.init_options(option_class) > >> > >>>>>>> > > >> > >>>>>>>> File > >>>>>>>> > > > >> > "trunk/src/ReportBase/_ReportDialog.py", > line 103, > >> > >>>>>>> > > >> > >>>>> in > >>>>> > > >>>>>>> init_options > >>>>>>> > > >> > >>>>>>>> > > >> self.options = > >> > >>>>>>>> > > > >> > > >>>>>>> option_class(self.raw_name, > self.db) > >>>>>>> > > >> > >>>>>>>> File > >>>>>>>> > > > >> > ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", > >> > >>>>> > > >>>>>>> line 265, in __init__ > >>>>>>> > > >> > >>>>>>>> > > > >> > > >>>>>>> > > >> MenuReportOptions.__init__(self, > >> > >>>>>>> > > >> > >>>>> name, > >>>>> > > >>>>>>> database) > >>>>>>> > > >> > >>>>>>>> File > >>>>>>>> > > > >> > "trunk/src/ReportBase/_ReportOptions.py", > line > >> > >>>>>>> > > >> > >>>>> 809, in > >>>>> > > >>>>>>> __init__ > >>>>>>> > > >> > >>>>>>>> > > > >> > >>>>> GuiMenuOptions.__init__(self) > >>>>> > > >>>>>>>> File > >>>>>>>> > > > >> > "trunk/src/PluginUtils/_GuiOptions.py", > line 1415, > >> > >>>>>>> > > >> > >>>>> in > >>>>> > > >>>>>>> __init__ > >>>>>>> > > >> > >>>>>>>> > > > >> > > >>>>>>> > > >> self.add_menu_options(self.menu) > >> > >>>>>>> > > >> > >>>>>>>> File > >>>>>>>> > > > >> > ".gramps/plugins/gramps-addons/contrib/Census/CensusReport.py", > >> > >>>>> > > >>>>>>> line 286, in add_menu_options > >>>>>>> > > >> > >>>>>>>> > > >> src_handle = > >> > >>>>>>>> > > > >> > > >>>>>>> > EnumeratedListOption(_('Source'), > >>>>>>> > > >> sources[0][0]) > >> > >>>>>>> > > >> > >>>>>>>> IndexError: list index out > of > >>>>>>>> > > >> range > >> > >>>>>>>> Does it mean that without > "census > >>>>>>>> > > >> keys", I am > >> > >>>>>>>> > > >> > >>>>> "really" > >>>>> > > >>>>>>>> > > > >> > > >>>>>>> not able to use these gramplet > and > >>>>>>> > > >> report [1][2] > >> > >>>>>>> > > >> > >>>>> ? > >>>>> > > >>>>>>> > > >> > >>>>>>>> So, I need to add some > census keys > >>>>>>>> > > >> for my > >> > >>>>>>>> > > >> > >>>>> country > >>>>> > > >>>>>>>> > > > >> > > >>>>>>> [3][4][5] on my local > census.py [6], > >>>>>>> > > >> isn't it ? > >> > >>>>>>> > > >> > >>>>>>>> * FR16.. > > > >> France 16.. > >> > >>>>>>>> > > >> > >>>>> (lordship) > >>>>> > > >>>>>>>> * FR1770 > > > >> France 1770 > >> > >>>>>>>> > > >> > >>>>> (religious) > >>>>> > > >>>>>>>> * FR1801 > > > >> France 1801 > >> > >>>>>>>> > > >> > >>>>> (civil) > >>>>> > > >>>>>>>> ... > >>>>>>>> > >>>>>>>> Is it not more logical to > load a > >>>>>>>> > > >> XML file ? > >> > >>>>>>>> Like calendar plugin with > >>>>>>>> > > >> holidays.xml [7]. > >> > >>>>>>>> Regards, > >>>>>>>> Jérôme > >>>>>>>> > >>>>>>>> > >>>>>>>> --- > >>>>>>>> [1] http://www.gramps-project.org/wiki/index.php?title=Census_Addons#Configuration > >>>>>>>> > [2] http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/README > >>>>>>>> > [3] http://www.gramps-project.org/wiki/index.php?title=Recording_French_Census_data > >>>>>>>> > [4] http://fr.geneawiki.com/index.php/Recensements > >>>>>>>> [5] http://jomave.chez-alice.fr/sources/recensem.html > >>>>>>>> [6] http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/contrib/Census/Census.py?r1=25&r2=42&pathrev=44 > >>>>>>>> > [7] http://www.gramps-project.org/wiki/index.php?title=Calendar_tools_holidays > >>>>>>>> > > >>>>>>>> > >>>>>>>> > >>>>>>>> --- En date de : Mar > 22.12.09, > >>>>>>>> > > >> Nick Hall > >> > >>>>>>>> > > >> > >>>>> <nic...@ho...> > >>>>> > > >>>>>>>> > > > >> > > >>>>>>> a écrit : > >>>>>>> > > >> > >>>>>>>> > > > >> > > >>>>>>>>> De: Nick Hall <nic...@ho...> > >>>>>>>>> Objet: [Gramps-devel] > Census > >>>>>>>>> > > >> entry and > >> > >>>>>>>>> > > > >> > > >>>>>>> Certificates in the Ecosystem > >>>>>>> > > >> definition > >> > >>>>>>> > > >> > >>>>>>>>> À: "Gramps > developers" <gra...@li...> > >>>>>>>>> Date: Mardi 22 > Décembre 2009, > >>>>>>>>> > > >> 15h12 > >> > >>>>>>>>> I have written a > couple of > >>>>>>>>> > > >> Census > >> > >>>>>>>>> addons. There is some > >>>>>>>>> > > >> documentation here: > >> > >>>>>>>>> http://www.gramps-project.org/wiki/index.php?title=Census_Addons > >>>>>>>>> > >>>>>>>>> There is an editor > which > >>>>>>>>> > > >> allows the user > >> > >>>>>>>>> > > > >> > >>>>> to enter > >>>>> > > >>>>>>>>> > > > >> > > >>>>>>> census > >>>>>>> > > >> > >>>>>>>>> information in one > place, in a > >>>>>>>>> > > >> format > >> > >>>>>>>>> > > > >> > >>>>> similar to > >>>>> > > >>>>>>>>> > > > >> > > >>>>>>> that of the original > >>>>>>> > > >> > >>>>>>>>> census return. > The > >>>>>>>>> > > >> objective was to > >> > >>>>>>>>> > > > >> > >>>>> make > >>>>> > > >>>>>>>>> > > > >> > > >>>>>>> entry of census data much > quicker > >>>>>>> > > >> > >>>>>>>>> whilst using a data > format > >>>>>>>>> > > >> that also > >> > >>>>>>>>> > > > >> > >>>>> allows > >>>>> > > >>>>>>>>> > > > >> > > >>>>>>> editing using the standard > >>>>>>> > > >> > >>>>>>>>> Gramps editors. > >>>>>>>>> > >>>>>>>>> There is also a census > report > >>>>>>>>> > > >> which print > >> > >>>>>>>>> > > > >> > >>>>> census > >>>>> > > >>>>>>>>> > > > >> > > >>>>>>> data in a > >>>>>>> > > >> > >>>>>>>>> format similar to that > of the > >>>>>>>>> > > >> original > >> > >>>>>>>>> > > > >> > >>>>> census > >>>>> > > >>>>>>>>> > > > >> > > >>>>>>> return. > >>>>>>> > > >> > >>>>>>>>> It occurred to me that > my > >>>>>>>>> > > >> addons may > >> > >>>>>>>>> > > > >> > >>>>> provide a > >>>>> > > >>>>>>>>> > > > >> > > >>>>>>> prototype > >>>>>>> > > >> > >>>>>>>>> for Certificates as > described > >>>>>>>>> > > >> in the > >> > >>>>>>>>> > > > >> > >>>>> Ecosystem > >>>>> > > >>>>>>>>> > > > >> > > >>>>>>> definition. > >>>>>>> > > >> > >>>>>>>>> http://www.gramps-project.org/wiki/index.php?title=GEPS_012:_Ecosystem_definition#Certificates > >>>>>>>>> > Should > I be thinking of > >>>>>>>>> > > >> changing my > >> > >>>>>>>>> > > > >> > >>>>> gramplet into > >>>>> > > >>>>>>>>> > > > >> > > >>>>>>> a > >>>>>>> > > >> > >>>>>>>>> certificate? > >>>>>>>>> > >>>>>>>>> My code is in the > >>>>>>>>> > > >> gramps-addons repository > >> > >>>>>>>>> > > > >> > >>>>> and is > >>>>> > > >>>>>>>>> accessible from the > plugins > >>>>>>>>> > > >> page: > >> > >>>>>>>>> http://www.gramps-project.org/wiki/index.php?title=3.2_Third-party_Plugins > >>>>>>>>> > > Regards, > >>>>>>>>> > >>>>>>>>> Nick. > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > > > >> > > ------------------------------------------------------------------------------ > >> > >> > >>>>> > > >>>>>>> > > >> > >>>>>>>>> This SF.Net email is > sponsored > >>>>>>>>> > > >> by the > >> > >>>>>>>>> > > > >> > >>>>> Verizon > >>>>> > > >>>>>>>>> > > > >> > > >>>>>>> Developer > >>>>>>> > > >> > >>>>>>>>> Community > >>>>>>>>> Take advantage of > Verizon's > >>>>>>>>> > > >> best-in-class > >> > >>>>>>>>> > > > >> > >>>>> app > >>>>> > > >>>>>>>>> > > > >> > > >>>>>>> development > >>>>>>> > > >> > >>>>>>>>> support > >>>>>>>>> A streamlined, 14 day > to > >>>>>>>>> > > >> market process > >> > >>>>>>>>> > > > >> > >>>>> makes app > >>>>> > > >>>>>>>>> distribution fast and > easy > >>>>>>>>> Join now and get one > step > >>>>>>>>> > > >> closer to > >> > >>>>>>>>> > > > >> > >>>>> millions of > >>>>> > > >>>>>>>>> > > > >> > > >>>>>>> Verizon > >>>>>>> > > >> > >>>>>>>>> customers > >>>>>>>>> http://p.sf.net/sfu/verizon-dev2dev > >>>>>>>>> > > > >> > > _______________________________________________ > >> > >>>>>>> > > >> > >>>>>>>>> Gramps-devel mailing > list > >>>>>>>>> Gra...@li... > >>>>>>>>> https://lists.sourceforge.net/lists/listinfo/gramps-devel > >>>>>>>>> > >>>>>>>>> > > > >> > > >>>>>>>> > > > >> > > ------------------------------------------------------------------------ > >> > >>>>> > > >>>>>>> > > >> > >>>>>> > > >> > >>>> > > >> -----La pièce jointe associée suit----- > >> > >> <?xml version="1.0" encoding="UTF-8"?> > >> <gramps> > >> <section> > >> <subsection> > >> > <_task></_task> > >> <_answer>The 'merge' > function allows > >> you to combine separately listed people into > >> one. This is very useful for combining two > databases with > >> overlapping > >> people, or combining erroneously entered differing > names > >> for one individual.</_answer> > >> > <_step></_step> > >> > <_step></_step> > >> > <_step></_step> > >> </subsection> > >> <subsection> > >> > <_task></_task> > >> <_answer>To easily > merge two > >> people</_answer> > >> <_step>select them > both (a second > >> person can be selected > >> by holding the Control key while > clicking)</_step> > >> <_step>clicking on > Edit > Fast > >> Merge</_step> > >> > <_step></_step> > >> </subsection> > >> <subsection> > >> > <_task></_task> > >> > <_answer></_answer> > >> > <_step></_step> > >> > <_step></_step> > >> > <_step></_step> > >> </subsection> > >> </section> > >> <section> > >> <subsection> > >> > <_task></_task> > >> > <_answer></_answer> > >> > <_step></_step> > >> > <_step></_step> > >> > <_step></_step> > >> </subsection> > >> </section> > >> <section> > >> <subsection> > >> > <_task></_task> > >> > <_answer></_answer> > >> > <_step></_step> > >> > <_step></_step> > >> > <_step></_step> > >> </subsection> > >> </section> > >> <section> > >> <subsection> > >> > <_task></_task> > >> > <_answer></_answer> > >> > <_step></_step> > >> > <_step></_step> > >> > <_step></_step> > >> </subsection> > >> </section> > >> </gramps> > >> > >> -----La pièce jointe associée suit----- > >> > >> > ------------------------------------------------------------------------------ > >> This SF.Net email is sponsored by the Verizon > Developer > >> Community > >> Take advantage of Verizon's best-in-class app > development > >> support > >> A streamlined, 14 day to market process makes app > >> distribution fast and easy > >> Join now and get one step closer to millions of > Verizon > >> customers > >> http://p.sf.net/sfu/verizon-dev2dev > -----La pièce jointe associée suit----- > >> > >> _______________________________________________ > >> Gramps-devel mailing list > >> Gra...@li... > >> https://lists.sourceforge.net/lists/listinfo/gramps-devel > >> > >> > > > > > > > > > > |
From: Nick H. <nic...@ho...> - 2009-12-30 18:43:11
|
Jerome, Thanks for the link. I need to read more about this. I added some code similar to this in commit 65. The Tip of the Day code reads an xml file which has multiple translations in it but ignores them. It then uses the usual _ function to translate the English text. I use the same technique but skipped the file conversion stage. I translate directly from the original xml file which I have not added the .in extension to. This may be confusing as it doesn't conform to an existing standard. Perhaps I should change this? The code should translate the xml file though. Regards, Nick. jerome wrote: > Nick, > > Thank you I will try under my locale. > At first glance, I noted that you also planned to allow translation on census.xml. > > Current make.py ignores this translation strings, we need to add something like this : > > system('''intltool-extract --type=gettext/xml "%(addon)s"/*.xml.in''') > system('''intltool-extract --type=gettext/glade "%(addon)s"/*.glade''') > system('''xgettext --language=Python --keyword=_ --keyword=N_''' > ''' -o "%(addon)s/po/template.pot" "%(addon)s"/*.py ''') > system('''xgettext -j --keyword=_ --keyword=N_''' > ''' -o "%(addon)s/po/template.pot" ''' > '''"%(addon)s"/*.glade.h''') > system('''xgettext -j --keyword=_ --keyword=N_''' > ''' -o "%(addon)s/po/template.pot" ''' > '''"%(addon)s"/*.xml.in.h''') > ... > > then we have the choice ! > > 1. retrieve translations and generate census.xml > intltool-merge -x po/ census.xml.in census.xml > > 2. retrieve translations and generate multiple localized census.xml > intltool-merge -x -m po/ census.xml.in census.xml > > http://www.gnome.org/~malcolm/i18n/marking-strings.html#xml > > > Regards, > > Jérôme. > > |
From: Jérôme <rom...@ya...> - 2010-01-01 09:58:16
|
Nick, First, the first state/country census in modern, contemporary France takes place on 1790-1793 [1][2], then often on a period of 5 years [3]. But some previous countings also exist before XVII century [4] . There is no index or real page number (except on numerical sources [5]) and often one book/box per district/arrondissement. So, source reference (page) will be rather an address for a period ... Also, place will be the city [6] ! I suppose parishes also made some censuses but they are not the most accessibles and just used before 1790. Censuses used on my genealogical search were civil documents on modern, contemporary period (1790-> today) : Books for periods. ex: 1835-1850 [7] means there was 3 census in France for this period (1836-1841-1846). I suppose one book was used for multiple censuses and that's why there is some corrections on each book page. > Let me know if you have any problems. I have three problems : * [census.xml design] Form is often the same for french civil census on modern, contemporary period (1790-> today). There is no religious references or place sub-divisions. One book/form = city + district. It is not a publication with an index scheme and page numbers. If source title is the book name/reference, then address will be the page reference and the city will be the place object... I could add into census.xml around 23 censuses from 1790 to 1906. Maybe sub-division on place will be the address set on source reference because it was the common classification in France ! * [Gramps] cannot set two keys with the same name on Source data map. That's logical : one source uses only one time the key name on data map. So I have a minor date/period issue because I cannot set multiple data keys with the same name : _('Census'). * [Census gramplet and report] do not display the source list ! Entries on source list are presents, just not displayed :( I like the idea to store informations into attributes and a report for sorting/managing them ! I am a little bit disturbed by the datamap entry on source object. But it seems to work with my data. Thank you ! Happy new year to all. :) Jérôme R. [1] http://www.penombre.org/inedits/03.htm [2] http://cassini.ehess.fr/cassini/fr/html/5_donnees.htm [3] http://cassini.ehess.fr/cassini/fr/html/8d_glossaire.htm#Recensement [4] http://archives.cg67.fr/scripts/02methodes/02b_methodes_conseils_k.asp [5] http://www.archives.rennes.fr/fonds/listecote.php?page=1&total=98&cotefond4=mod&serie=F&sousserie=1F [6] http://cassini.ehess.fr/cassini/fr/html/8d_glossaire.htm#Commune [7] http://www.gramps-project.org/wiki/index.php?title=Recording_French_Census_data Nick Hall a écrit : > Jerome, > > Thanks for the links. I managed to get a French translation working on > my machine for testing. > > The Census addons now use a file called census.xml to hold the census > definitions. Entries from this file will now be added to the po files > for translation. There are also translatable strings from the other files. > > To get the translation to work I removed the fr-local.po file and > re-initialised the project: > > python make.py clean Census > python make.py init Census > rm Census/po/fr-local.po > python make.py init Census fr > python make.py update Census fr > > Then I edited the po file. I have not uploaded a copy because I don't > speak French and I translated using a web tool. > > I compiled the po file: > > python make.py compile Census fr > > The final step is to copy the locale directory structure containing the > addon.mo file to where the addons are installed. > > One important thing to note is that I have allowed the tag that defines > a source as a census source to be translated. This is the string at > line 57 in Census.py. I translated this string and used the translation > as the key in the Data tab of the source objects. > > Let me know if you have any problems. > > Regards, > > Nick. > >>> This SF.Net email is sponsored by the Verizon Developer >>> Community >>> Take advantage of Verizon's best-in-class app development >>> support >>> A streamlined, 14 day to market process makes app >>> distribution fast and easy >>> Join now and get one step closer to millions of Verizon >>> customers >>> http://p.sf.net/sfu/verizon-dev2dev -----La pièce jointe associée >>> suit----- >>> >>> _______________________________________________ >>> Gramps-devel mailing list >>> Gra...@li... >>> https://lists.sourceforge.net/lists/listinfo/gramps-devel >>> >>> >> >> >> >> >> > |
From: jerome <rom...@ya...> - 2010-01-01 15:04:27
|
> * [Census gramplet and report] do not display the source > list ! > Entries on source list are presents, just not displayed :( stupid Jérôme ! Need to set a source title ... :-[ So, I just have two minor problems, but I should be able to adapt myself. Thank you, sounds to be a good way to manage and store census (also on French model) :) I will try to provide common XML data for most French censuses. Regards, Jérôme --- En date de : Ven 1.1.10, Jérôme <rom...@ya...> a écrit : > De: Jérôme <rom...@ya...> > Objet: Re: [Gramps-devel] Re : Census entry and Certificates in the Ecosystem definition > À: "Nick Hall" <nic...@ho...> > Cc: "Gramps developers" <gra...@li...> > Date: Vendredi 1 Janvier 2010, 10h58 > Nick, > > > First, the first state/country census in modern, > contemporary France > takes place on 1790-1793 [1][2], then often on a period of > 5 years [3]. > But some previous countings also exist before XVII century > [4] . > There is no index or real page number (except on numerical > sources [5]) > and often one book/box per district/arrondissement. > So, source reference (page) will be rather an address for a > period ... > Also, place will be the city [6] ! > I suppose parishes also made some censuses but they are not > the most > accessibles and just used before 1790. > > Censuses used on my genealogical search were civil > documents on modern, > contemporary period (1790-> today) : > Books for periods. > > ex: 1835-1850 [7] means there was 3 census in France for > this period (1836-1841-1846). I suppose one book was used > for multiple > censuses and that's why there is some corrections on each > book page. > > > Let me know if you have any problems. > > I have three problems : > > * [census.xml design] > Form is often the same for french civil census on modern, > contemporary > period (1790-> today). There is no religious > references or place sub-divisions. One book/form = city + > district. > It is not a publication with an index scheme and page > numbers. > If source title is the book name/reference, then address > will be the > page reference and the city will be the place object... > > I could add into census.xml around 23 censuses from 1790 to > 1906. > Maybe sub-division on place will be the address set on > source reference > because it was the common classification in France ! > > * [Gramps] cannot set two keys with the same name on Source > data map. > That's logical : one source uses only one time the key name > on data map. > So I have a minor date/period issue because I cannot set > multiple data > keys with the same name : > _('Census'). > > * [Census gramplet and report] do not display the source > list ! > Entries on source list are presents, just not displayed :( > > > I like the idea to store informations into attributes and a > report for > sorting/managing them ! I am a little bit disturbed by the > datamap entry > on source object. But it seems to work with my data. Thank > you ! > > > Happy new year to all. :) > > Jérôme R. > > > [1] http://www.penombre.org/inedits/03.htm > [2] http://cassini.ehess.fr/cassini/fr/html/5_donnees.htm > [3] http://cassini.ehess.fr/cassini/fr/html/8d_glossaire.htm#Recensement > [4] http://archives.cg67.fr/scripts/02methodes/02b_methodes_conseils_k.asp > [5] > http://www.archives.rennes.fr/fonds/listecote.php?page=1&total=98&cotefond4=mod&serie=F&sousserie=1F > [6] http://cassini.ehess.fr/cassini/fr/html/8d_glossaire.htm#Commune > [7] > http://www.gramps-project.org/wiki/index.php?title=Recording_French_Census_data > > > > Nick Hall a écrit : > > Jerome, > > > > Thanks for the links. I managed to get a French > translation working on > > my machine for testing. > > > > The Census addons now use a file called census.xml to > hold the census > > definitions. Entries from this file will now be > added to the po files > > for translation. There are also translatable > strings from the other files. > > > > To get the translation to work I removed the > fr-local.po file and > > re-initialised the project: > > > > python make.py clean Census > > python make.py init Census > > rm Census/po/fr-local.po > > python make.py init Census fr > > python make.py update Census fr > > > > Then I edited the po file. I have not uploaded a > copy because I don't > > speak French and I translated using a web tool. > > > > I compiled the po file: > > > > python make.py compile Census fr > > > > The final step is to copy the locale directory > structure containing the > > addon.mo file to where the addons are installed. > > > > One important thing to note is that I have allowed the > tag that defines > > a source as a census source to be translated. > This is the string at > > line 57 in Census.py. I translated this string > and used the translation > > as the key in the Data tab of the source objects. > > > > Let me know if you have any problems. > > > > Regards, > > > > Nick. > > > >>> This SF.Net email is sponsored by the Verizon > Developer > >>> Community > >>> Take advantage of Verizon's best-in-class app > development > >>> support > >>> A streamlined, 14 day to market process makes > app > >>> distribution fast and easy > >>> Join now and get one step closer to millions > of Verizon > >>> customers > >>> http://p.sf.net/sfu/verizon-dev2dev > -----La pièce jointe associée > >>> suit----- > >>> > >>> > _______________________________________________ > >>> Gramps-devel mailing list > >>> Gra...@li... > >>> https://lists.sourceforge.net/lists/listinfo/gramps-devel > >>> > >>> > >> > >> > >> > >> > >> > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer > Community > Take advantage of Verizon's best-in-class app development > support > A streamlined, 14 day to market process makes app > distribution fast and easy > Join now and get one step closer to millions of Verizon > customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > Gramps-devel mailing list > Gra...@li... > https://lists.sourceforge.net/lists/listinfo/gramps-devel > |
From: Nick H. <nic...@ho...> - 2010-01-02 21:51:09
|
Jerome, Thanks for the feedback. Jérôme wrote: > Nick, > > > First, the first state/country census in modern, contemporary France > takes place on 1790-1793 [1][2], then often on a period of 5 years > [3]. But some previous countings also exist before XVII century [4] . > There is no index or real page number (except on numerical sources > [5]) and often one book/box per district/arrondissement. > So, source reference (page) will be rather an address for a period ... I left this for the user to complete as appropriate. English census data can be referenced by a reference code, piece, folio and page. I thought about making this more complex by creating multiple fields in the editor, but I would have to concatenate them to store them in the "Volume/Page" field for the SourceRef object. It is acceptable to leave this empty if it is mot applicable. At the moment, the "Date" field of the SourceRef object is populated with the census date. I am thinking of adding a field to the editor for this, and defaulting it to the census date. I believe that this may be useful for Canadian census data where the date of completion of the census form may not be the same as the census date. > > Also, place will be the city [6] ! > I suppose parishes also made some censuses but they are not the most > accessibles and just used before 1790. Some English data doesn't specify an exact address. A Gramps place object can be created with the necessary detail. > > Censuses used on my genealogical search were civil documents on > modern, contemporary period (1790-> today) : > Books for periods. > > ex: 1835-1850 [7] means there was 3 census in France for > this period (1836-1841-1846). I suppose one book was used for multiple > censuses and that's why there is some corrections on each book page. > I can see why this would be a problem with my design. It is natural to define one source for a book which may contain 3 censuses. I use a source attached to a census event to indicate which census the event refers to. My assumption (that may be wrong) was that a source type would define the data to be captured in Event attributes and EventRef attributes. It will also define the fields that are required for a Source Reference - at the moment we have a single text field for "Volume/Page". The workaround is to define a separate source for each census year. The alternative would be to store the link to the census definition in an event sub-type field on the census object. So, for example, an event could have a type of "census", a sub-type of "French 1841 census" and an attached source of "French censuses 1835-1850". At the moment I could do this with a special attribute, but I don't really like that approach. We could re-consider this in the future, especially if event sub-types are added to Gramps. >> Let me know if you have any problems. > > I have three problems : > > * [census.xml design] > Form is often the same for french civil census on modern, contemporary > period (1790-> today). There is no religious > references or place sub-divisions. One book/form = city + district. > It is not a publication with an index scheme and page numbers. > If source title is the book name/reference, then address will be the > page reference and the city will be the place object... The xml allows you to define "columns" and "headings". The headings allow you to specify data fields that will be stored as attributes on the census Event object. The data entry fields will be build dynamically and it will be perfectly valid to not define any headings for a census if they are not applicable. The columns allow you to specify data fields that will be stored as attributes on the census EventRef objects for each person on the census. I assume that for a census to have genealogical value there will be data to be recorded against individuals on the census. > > I could add into census.xml around 23 censuses from 1790 to 1906. > Maybe sub-division on place will be the address set on source > reference because it was the common classification in France ! I'm not sure that I fully understand you here. Are you saying that you need to enter many census definitions that share the same headings and columns? If this is the case then it could be useful to put the current census definitions into <form> tags, and for a census definition to reference a form. > > * [Gramps] cannot set two keys with the same name on Source data map. > That's logical : one source uses only one time the key name on data map. > So I have a minor date/period issue because I cannot set multiple data > keys with the same name : > _('Census'). I think that I covered this earlier. > > * [Census gramplet and report] do not display the source list ! > Entries on source list are presents, just not displayed :( > > I see that you have solved this. > I like the idea to store informations into attributes and a report for > sorting/managing them ! I am a little bit disturbed by the datamap > entry on source object. But it seems to work with my data. Thank you ! > > I don't like the way I used the datamap entry on source object either. I needed a way of attaching a census definition to a source. Initially I did this by matching the text on the source titles - this was even worse. A better way would be to create a graphical tool to define these links and store them in a configuration file. Even better would be to add a source type to Gramps and use that. I don't know if it has been decided how plugins should write to configuration files yet. I also just haven't got around to thinking about this yet, I have added it to the future enhancements section on the wiki entry though. http://www.gramps-project.org/wiki/index.php?title=Census_Addons#Future_Enhancements It is only by learning from people who actually try this out that I can improve the addons. So thanks for your help. Regards, Nick. > Happy new year to all. :) > > Jérôme R. > > > [1] http://www.penombre.org/inedits/03.htm > [2] http://cassini.ehess.fr/cassini/fr/html/5_donnees.htm > [3] http://cassini.ehess.fr/cassini/fr/html/8d_glossaire.htm#Recensement > [4] > http://archives.cg67.fr/scripts/02methodes/02b_methodes_conseils_k.asp > [5] > http://www.archives.rennes.fr/fonds/listecote.php?page=1&total=98&cotefond4=mod&serie=F&sousserie=1F > > [6] http://cassini.ehess.fr/cassini/fr/html/8d_glossaire.htm#Commune > [7] > http://www.gramps-project.org/wiki/index.php?title=Recording_French_Census_data > > > > > Nick Hall a écrit : >> Jerome, >> >> Thanks for the links. I managed to get a French translation working >> on my machine for testing. >> >> The Census addons now use a file called census.xml to hold the census >> definitions. Entries from this file will now be added to the po >> files for translation. There are also translatable strings from the >> other files. >> >> To get the translation to work I removed the fr-local.po file and >> re-initialised the project: >> >> python make.py clean Census >> python make.py init Census >> rm Census/po/fr-local.po >> python make.py init Census fr >> python make.py update Census fr >> >> Then I edited the po file. I have not uploaded a copy because I >> don't speak French and I translated using a web tool. >> >> I compiled the po file: >> >> python make.py compile Census fr >> >> The final step is to copy the locale directory structure containing >> the addon.mo file to where the addons are installed. >> >> One important thing to note is that I have allowed the tag that >> defines a source as a census source to be translated. This is the >> string at line 57 in Census.py. I translated this string and used >> the translation as the key in the Data tab of the source objects. >> >> Let me know if you have any problems. >> >> Regards, >> >> Nick. >> >>>> This SF.Net email is sponsored by the Verizon Developer >>>> Community >>>> Take advantage of Verizon's best-in-class app development >>>> support >>>> A streamlined, 14 day to market process makes app >>>> distribution fast and easy >>>> Join now and get one step closer to millions of Verizon >>>> customers >>>> http://p.sf.net/sfu/verizon-dev2dev -----La pièce jointe associée >>>> suit----- >>>> >>>> _______________________________________________ >>>> Gramps-devel mailing list >>>> Gra...@li... >>>> https://lists.sourceforge.net/lists/listinfo/gramps-devel >>>> >>>> >>> >>> >>> >>> >> > > > |
From: jerome <rom...@ya...> - 2010-01-02 23:10:22
|
Nick, I have read more informations about french censuses. People have often access to books or forms (written by censors) on City Archives. And we can see publications (offical date set) on County Archives [1]. Informations are noted for this date. Sometimes a day-month-year is set, sometimes this could be a period resume. Sources are multiples and census events not always properly "time logged" ! Hand-(re)written source like a book/form for a period or a transcription for a date set by the State/Country ? Should be common between UK, Canada, USA, IT, BE and FR. All countries with provinces. I also read that there is around 750 censuses on my search county [2] ... In this case, I should rather allow a custom key (maybe just FR) without date and only standards fields/headings/columns [1] ! [1] Individual card of a person - Census 1836 http://www.census1836.com/screenShotsUK.htm [2] http://archives.cg67.fr/sources/pdf/2009_07_28_denombr_avant%20revo.pdf Regards, Jérôme --- En date de : Sam 2.1.10, Nick Hall <nic...@ho...> a écrit : > De: Nick Hall <nic...@ho...> > Objet: Re: [Gramps-devel] Re : Census entry and Certificates in the Ecosystem definition > À: rom...@ya... > Cc: "Gramps developers" <gra...@li...> > Date: Samedi 2 Janvier 2010, 22h51 > Jerome, > > Thanks for the feedback. > > Jérôme wrote: > > Nick, > > > > > > First, the first state/country census in modern, > contemporary France takes place on 1790-1793 [1][2], then > often on a period of 5 years [3]. But some previous > countings also exist before XVII century [4] . > > There is no index or real page number (except on > numerical sources [5]) and often one book/box per > district/arrondissement. > > So, source reference (page) will be rather an address > for a period ... > > I left this for the user to complete as appropriate. > English census data can be referenced by a reference code, > piece, folio and page. I thought about making this > more complex by creating multiple fields in the editor, but > I would have to concatenate them to store them in the > "Volume/Page" field for the SourceRef object. It is > acceptable to leave this empty if it is mot applicable. > > At the moment, the "Date" field of the SourceRef object is > populated with the census date. I am thinking of > adding a field to the editor for this, and defaulting it to > the census date. I believe that this may be useful for > Canadian census data where the date of completion of the > census form may not be the same as the census date. > > > > > Also, place will be the city [6] ! > > I suppose parishes also made some censuses but they > are not the most accessibles and just used before 1790. > > Some English data doesn't specify an exact address. A > Gramps place object can be created with the necessary > detail. > > > > > Censuses used on my genealogical search were civil > documents on modern, contemporary period (1790-> today) > : > > Books for periods. > > > > ex: 1835-1850 [7] means there was 3 census in France > for > > this period (1836-1841-1846). I suppose one book was > used for multiple > > censuses and that's why there is some corrections on > each book page. > > > > I can see why this would be a problem with my design. > It is natural to define one source for a book which may > contain 3 censuses. I use a source attached to a > census event to indicate which census the event refers to. > > My assumption (that may be wrong) was that a source type > would define the data to be captured in Event attributes and > EventRef attributes. It will also define the fields > that are required for a Source Reference - at the moment we > have a single text field for "Volume/Page". > > The workaround is to define a separate source for each > census year. > > The alternative would be to store the link to the census > definition in an event sub-type field on the census > object. So, for example, an event could have a type of > "census", a sub-type of "French 1841 census" and an attached > source of "French censuses 1835-1850". At the moment I > could do this with a special attribute, but I don't really > like that approach. We could re-consider this in the > future, especially if event sub-types are added to Gramps. > > >> Let me know if you have any problems. > > > > I have three problems : > > > > * [census.xml design] > > Form is often the same for french civil census on > modern, contemporary period (1790-> today). There is no > religious > > references or place sub-divisions. One book/form = > city + district. > > It is not a publication with an index scheme and page > numbers. > > If source title is the book name/reference, then > address will be the page reference and the city will be the > place object... > > The xml allows you to define "columns" and > "headings". The headings allow you to specify data > fields that will be stored as attributes on the census Event > object. The data entry fields will be build > dynamically and it will be perfectly valid to not define any > headings for a census if they are not applicable. The > columns allow you to specify data fields that will be stored > as attributes on the census EventRef objects for each person > on the census. I assume that for a census to have > genealogical value there will be data to be recorded against > individuals on the census. > > > > > I could add into census.xml around 23 censuses from > 1790 to 1906. > > Maybe sub-division on place will be the address set on > source reference because it was the common classification in > France ! > > I'm not sure that I fully understand you here. Are > you saying that you need to enter many census definitions > that share the same headings and columns? If this is > the case then it could be useful to put the current census > definitions into <form> tags, and for a census > definition to reference a form. > > > > > * [Gramps] cannot set two keys with the same name on > Source data map. > > That's logical : one source uses only one time the key > name on data map. > > So I have a minor date/period issue because I cannot > set multiple data keys with the same name : > > _('Census'). > > I think that I covered this earlier. > > > > > * [Census gramplet and report] do not display the > source list ! > > Entries on source list are presents, just not > displayed :( > > > > > > I see that you have solved this. > > > I like the idea to store informations into attributes > and a report for sorting/managing them ! I am a little bit > disturbed by the datamap entry on source object. But it > seems to work with my data. Thank you ! > > > > > > I don't like the way I used the datamap entry on source > object either. I needed a way of attaching a census > definition to a source. Initially I did this by > matching the text on the source titles - this was even > worse. > > A better way would be to create a graphical tool to define > these links and store them in a configuration file. > Even better would be to add a source type to Gramps and use > that. I don't know if it has been decided how plugins > should write to configuration files yet. I also just > haven't got around to thinking about this yet, I have added > it to the future enhancements section on the wiki entry > though. > > http://www.gramps-project.org/wiki/index.php?title=Census_Addons#Future_Enhancements > > It is only by learning from people who actually try this > out that I can improve the addons. So thanks for your > help. > > Regards, > > > Nick. > > > > Happy new year to all. :) > > > > Jérôme R. > > > > > > [1] http://www.penombre.org/inedits/03.htm > > [2] http://cassini.ehess.fr/cassini/fr/html/5_donnees.htm > > [3] http://cassini.ehess.fr/cassini/fr/html/8d_glossaire.htm#Recensement > > [4] http://archives.cg67.fr/scripts/02methodes/02b_methodes_conseils_k.asp > > [5] http://www.archives.rennes.fr/fonds/listecote.php?page=1&total=98&cotefond4=mod&serie=F&sousserie=1F > > > [6] http://cassini.ehess.fr/cassini/fr/html/8d_glossaire.htm#Commune > > [7] http://www.gramps-project.org/wiki/index.php?title=Recording_French_Census_data > > > > > > > > > Nick Hall a écrit : > >> Jerome, > >> > >> Thanks for the links. I managed to get a > French translation working on my machine for testing. > >> > >> The Census addons now use a file called census.xml > to hold the census definitions. Entries from this file > will now be added to the po files for translation. > There are also translatable strings from the other files. > >> > >> To get the translation to work I removed the > fr-local.po file and re-initialised the project: > >> > >> python make.py clean Census > >> python make.py init Census > >> rm Census/po/fr-local.po > >> python make.py init Census fr > >> python make.py update Census fr > >> > >> Then I edited the po file. I have not > uploaded a copy because I don't speak French and I > translated using a web tool. > >> > >> I compiled the po file: > >> > >> python make.py compile Census fr > >> > >> The final step is to copy the locale directory > structure containing the addon.mo file to where the addons > are installed. > >> > >> One important thing to note is that I have allowed > the tag that defines a source as a census source to be > translated. This is the string at line 57 in > Census.py. I translated this string and used the > translation as the key in the Data tab of the source > objects. > >> > >> Let me know if you have any problems. > >> > >> Regards, > >> > >> Nick. > >> > >>>> This SF.Net email is sponsored by the > Verizon Developer > >>>> Community > >>>> Take advantage of Verizon's best-in-class > app development > >>>> support > >>>> A streamlined, 14 day to market process > makes app > >>>> distribution fast and easy > >>>> Join now and get one step closer to > millions of Verizon > >>>> customers > >>>> http://p.sf.net/sfu/verizon-dev2dev -----La pièce > jointe associée suit----- > >>>> > >>>> > _______________________________________________ > >>>> Gramps-devel mailing list > >>>> Gra...@li... > >>>> https://lists.sourceforge.net/lists/listinfo/gramps-devel > >>>> > >>>> > >>> > >>> > >>> > >> > > > > > > > |
From: Nick H. <nic...@ho...> - 2010-01-04 19:12:27
|
Jerome, Thanks, this is interesting. It looks like I need to include an option to be able to enter the census date in the editor. I could keep the option to define a default. Then if a series of censuses were in the same book and had the same layout, then they could share the same source. There would still be a problem if censuses with the same source had a different layout. Defining a form separately from a census in the xml file could still be of a benefit if there are many sources which share the same layout. Although this doesn't cause a problem at the moment it requires duplicating entries in the xml. I'll add this to my to-do list. Regards, Nick. jerome wrote: > Nick, > > > I have read more informations about french censuses. People have often access to books or forms (written by censors) on City Archives. And we can see publications (offical date set) on County Archives [1]. Informations are noted for this date. Sometimes a day-month-year is set, sometimes this could be a period resume. > Sources are multiples and census events not always properly "time logged" ! > > Hand-(re)written source like a book/form for a period or a transcription for a date set by the State/Country ? > Should be common between UK, Canada, USA, IT, BE and FR. > All countries with provinces. > > I also read that there is around 750 censuses on my search county [2] ... In this case, I should rather allow a custom key (maybe just FR) without date and only standards fields/headings/columns [1] ! > > > [1] Individual card of a person - Census 1836 > http://www.census1836.com/screenShotsUK.htm > [2] http://archives.cg67.fr/sources/pdf/2009_07_28_denombr_avant%20revo.pdf > > > Regards, > Jérôme > > --- En date de : Sam 2.1.10, Nick Hall <nic...@ho...> a écrit : > > >> De: Nick Hall <nic...@ho...> >> Objet: Re: [Gramps-devel] Re : Census entry and Certificates in the Ecosystem definition >> À: rom...@ya... >> Cc: "Gramps developers" <gra...@li...> >> Date: Samedi 2 Janvier 2010, 22h51 >> Jerome, >> >> Thanks for the feedback. >> >> Jérôme wrote: >> >>> Nick, >>> >>> >>> First, the first state/country census in modern, >>> >> contemporary France takes place on 1790-1793 [1][2], then >> often on a period of 5 years [3]. But some previous >> countings also exist before XVII century [4] . >> >>> There is no index or real page number (except on >>> >> numerical sources [5]) and often one book/box per >> district/arrondissement. >> >>> So, source reference (page) will be rather an address >>> >> for a period ... >> >> I left this for the user to complete as appropriate. >> English census data can be referenced by a reference code, >> piece, folio and page. I thought about making this >> more complex by creating multiple fields in the editor, but >> I would have to concatenate them to store them in the >> "Volume/Page" field for the SourceRef object. It is >> acceptable to leave this empty if it is mot applicable. >> >> At the moment, the "Date" field of the SourceRef object is >> populated with the census date. I am thinking of >> adding a field to the editor for this, and defaulting it to >> the census date. I believe that this may be useful for >> Canadian census data where the date of completion of the >> census form may not be the same as the census date. >> >> >>> Also, place will be the city [6] ! >>> I suppose parishes also made some censuses but they >>> >> are not the most accessibles and just used before 1790. >> >> Some English data doesn't specify an exact address. A >> Gramps place object can be created with the necessary >> detail. >> >> >>> Censuses used on my genealogical search were civil >>> >> documents on modern, contemporary period (1790-> today) >> : >> >>> Books for periods. >>> >>> ex: 1835-1850 [7] means there was 3 census in France >>> >> for >> >>> this period (1836-1841-1846). I suppose one book was >>> >> used for multiple >> >>> censuses and that's why there is some corrections on >>> >> each book page. >> >> I can see why this would be a problem with my design. >> It is natural to define one source for a book which may >> contain 3 censuses. I use a source attached to a >> census event to indicate which census the event refers to. >> >> My assumption (that may be wrong) was that a source type >> would define the data to be captured in Event attributes and >> EventRef attributes. It will also define the fields >> that are required for a Source Reference - at the moment we >> have a single text field for "Volume/Page". >> >> The workaround is to define a separate source for each >> census year. >> >> The alternative would be to store the link to the census >> definition in an event sub-type field on the census >> object. So, for example, an event could have a type of >> "census", a sub-type of "French 1841 census" and an attached >> source of "French censuses 1835-1850". At the moment I >> could do this with a special attribute, but I don't really >> like that approach. We could re-consider this in the >> future, especially if event sub-types are added to Gramps. >> >> >>>> Let me know if you have any problems. >>>> >>> I have three problems : >>> >>> * [census.xml design] >>> Form is often the same for french civil census on >>> >> modern, contemporary period (1790-> today). There is no >> religious >> >>> references or place sub-divisions. One book/form = >>> >> city + district. >> >>> It is not a publication with an index scheme and page >>> >> numbers. >> >>> If source title is the book name/reference, then >>> >> address will be the page reference and the city will be the >> place object... >> >> The xml allows you to define "columns" and >> "headings". The headings allow you to specify data >> fields that will be stored as attributes on the census Event >> object. The data entry fields will be build >> dynamically and it will be perfectly valid to not define any >> headings for a census if they are not applicable. The >> columns allow you to specify data fields that will be stored >> as attributes on the census EventRef objects for each person >> on the census. I assume that for a census to have >> genealogical value there will be data to be recorded against >> individuals on the census. >> >> >>> I could add into census.xml around 23 censuses from >>> >> 1790 to 1906. >> >>> Maybe sub-division on place will be the address set on >>> >> source reference because it was the common classification in >> France ! >> >> I'm not sure that I fully understand you here. Are >> you saying that you need to enter many census definitions >> that share the same headings and columns? If this is >> the case then it could be useful to put the current census >> definitions into <form> tags, and for a census >> definition to reference a form. >> >> >>> * [Gramps] cannot set two keys with the same name on >>> >> Source data map. >> >>> That's logical : one source uses only one time the key >>> >> name on data map. >> >>> So I have a minor date/period issue because I cannot >>> >> set multiple data keys with the same name : >> >>> _('Census'). >>> >> I think that I covered this earlier. >> >> >>> * [Census gramplet and report] do not display the >>> >> source list ! >> >>> Entries on source list are presents, just not >>> >> displayed :( >> >>> >> I see that you have solved this. >> >> >>> I like the idea to store informations into attributes >>> >> and a report for sorting/managing them ! I am a little bit >> disturbed by the datamap entry on source object. But it >> seems to work with my data. Thank you ! >> >>> >> I don't like the way I used the datamap entry on source >> object either. I needed a way of attaching a census >> definition to a source. Initially I did this by >> matching the text on the source titles - this was even >> worse. >> >> A better way would be to create a graphical tool to define >> these links and store them in a configuration file. >> Even better would be to add a source type to Gramps and use >> that. I don't know if it has been decided how plugins >> should write to configuration files yet. I also just >> haven't got around to thinking about this yet, I have added >> it to the future enhancements section on the wiki entry >> though. >> >> http://www.gramps-project.org/wiki/index.php?title=Census_Addons#Future_Enhancements >> >> It is only by learning from people who actually try this >> out that I can improve the addons. So thanks for your >> help. >> >> Regards, >> >> >> Nick. >> >> >> >>> Happy new year to all. :) >>> >>> Jérôme R. >>> >>> >>> [1] http://www.penombre.org/inedits/03.htm >>> [2] http://cassini.ehess.fr/cassini/fr/html/5_donnees.htm >>> [3] http://cassini.ehess.fr/cassini/fr/html/8d_glossaire.htm#Recensement >>> [4] http://archives.cg67.fr/scripts/02methodes/02b_methodes_conseils_k.asp >>> [5] http://www.archives.rennes.fr/fonds/listecote.php?page=1&total=98&cotefond4=mod&serie=F&sousserie=1F >>> >>> [6] http://cassini.ehess.fr/cassini/fr/html/8d_glossaire.htm#Commune >>> [7] http://www.gramps-project.org/wiki/index.php?title=Recording_French_Census_data >>> >>> >>> Nick Hall a écrit : >>> >>>> Jerome, >>>> >>>> Thanks for the links. I managed to get a >>>> >> French translation working on my machine for testing. >> >>>> The Census addons now use a file called census.xml >>>> >> to hold the census definitions. Entries from this file >> will now be added to the po files for translation. >> There are also translatable strings from the other files. >> >>>> To get the translation to work I removed the >>>> >> fr-local.po file and re-initialised the project: >> >>>> python make.py clean Census >>>> python make.py init Census >>>> rm Census/po/fr-local.po >>>> python make.py init Census fr >>>> python make.py update Census fr >>>> >>>> Then I edited the po file. I have not >>>> >> uploaded a copy because I don't speak French and I >> translated using a web tool. >> >>>> I compiled the po file: >>>> >>>> python make.py compile Census fr >>>> >>>> The final step is to copy the locale directory >>>> >> structure containing the addon.mo file to where the addons >> are installed. >> >>>> One important thing to note is that I have allowed >>>> >> the tag that defines a source as a census source to be >> translated. This is the string at line 57 in >> Census.py. I translated this string and used the >> translation as the key in the Data tab of the source >> objects. >> >>>> Let me know if you have any problems. >>>> >>>> Regards, >>>> >>>> Nick. >>>> >>>> >>>>>> This SF.Net email is sponsored by the >>>>>> >> Verizon Developer >> >>>>>> Community >>>>>> Take advantage of Verizon's best-in-class >>>>>> >> app development >> >>>>>> support >>>>>> A streamlined, 14 day to market process >>>>>> >> makes app >> >>>>>> distribution fast and easy >>>>>> Join now and get one step closer to >>>>>> >> millions of Verizon >> >>>>>> customers >>>>>> http://p.sf.net/sfu/verizon-dev2dev -----La pièce >>>>>> >> jointe associée suit----- >> >>>>>> >> _______________________________________________ >> >>>>>> Gramps-devel mailing list >>>>>> Gra...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/gramps-devel >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>> >>> > > > > > > |