diff --git a/gramps2/ChangeLog b/gramps2/ChangeLog index 416574e60..e123b0f8e 100644 --- a/gramps2/ChangeLog +++ b/gramps2/ChangeLog @@ -1,6 +1,11 @@ 2005-05-13 Alex Roitman * src/DateDisplay.py (DateDisplayEn): Localize format names. + * src/get_strings: Support extracting strings from tips.xml file. + * src/build_po: Process tips.xml file. + * src/TipOfDay.py (TipOfDay.__init__): Use translated tips. + * src/po/template.po: new translatable strings. + 2005-05-13 Martin Hawlisch * src/SelectChild.py (on_save_child_clicked) Commit new parent family of child properly; correct handle/object mismatch; exec parent callback diff --git a/gramps2/src/TipOfDay.py b/gramps2/src/TipOfDay.py index ce9e7ca9d..20c11538a 100644 --- a/gramps2/src/TipOfDay.py +++ b/gramps2/src/TipOfDay.py @@ -27,6 +27,7 @@ #------------------------------------------------------------------------- from xml.parsers.expat import ParserCreate from random import Random +from gettext import gettext as _ #------------------------------------------------------------------------- # @@ -68,7 +69,7 @@ class TipOfDay: index = 0 rval = 0 while rval == 0: - tip.set_text(tip_list[new_index[index]]) + tip.set_text(_(tip_list[new_index[index]])) tip.set_use_markup(1) rval = top.run() if index >= len(tip_list)-1: diff --git a/gramps2/src/build_po b/gramps2/src/build_po index b9aec0dde..d5a405302 100755 --- a/gramps2/src/build_po +++ b/gramps2/src/build_po @@ -4,5 +4,5 @@ then mv po/template.po po/template.po.bak fi -./get_strings -o po/template.po *.py */*.py *.glade */*.glade +./get_strings -o po/template.po *.py */*.py *.glade */*.glade data/tips.xml diff --git a/gramps2/src/get_strings b/gramps2/src/get_strings index 8d564ef71..945cc1492 100755 --- a/gramps2/src/get_strings +++ b/gramps2/src/get_strings @@ -9,6 +9,7 @@ # Completely butchered to add glade support for the GRAMPS # project by Don Allingham (dallingham@users.sourceforge.net) # +# Further bastardized by Alex # $Id$ @@ -120,7 +121,6 @@ import getopt import tokenize import operator import re -import string import os from xml.sax import make_parser,handler,SAXParseException @@ -213,6 +213,87 @@ class GladeParser(handler.ContentHandler): def characters(self, data): self.text = self.text + data +class TipExtractor: + + def __init__(self,msgs): + self.strings = msgs + + def add_string(self, str, lineno): + if str.strip() == "": + return + if _ignore.has_key(str): + return + entry = (self.file, lineno) + if self.strings.has_key(str): + self.strings[str][entry] = 0 + else: + self.strings[str] = {entry: 0} + + def parse(self,file): + self.p = make_parser() + self.p.setContentHandler(TipParser(self,file)) + filename = "file://" + os.path.abspath(file) + self.file = file + self.p.parse(filename) + +class TipParser(handler.ContentHandler): + """ + SAX parsing class for the Tips XML file. + + This parser needs to extract strings in *exactly* the same way + as the TipOfDay.TipParser does. Otherwise, msgid's won't be correctly + matched. + """ + + def __init__(self,parent,filename): + """ + Creates a SheetParser class that populates the passed StyleSheetList + class. + + sheetlist - StyleSheetList instance to be loaded from the file. + """ + handler.ContentHandler.__init__(self) + self.parent = parent + self.translate = 0 + self.text = "" + self.filename = filename + self.lineno = 0 + + def startElement(self,tag,attrs): + """ + Overridden class that handles the start of a XML element + """ + if tag == "tip": + self.text = "" + elif tag != "tips": + # let all the other tags through, except for the "tips" tag + self.text = self.text + "<%s>" % tag + + def endElement(self,tag): + "Overridden class that handles the start of a XML element" + if tag == "tip": + if not _int_re.match(self.text): + text = self.escape(self.text) + self.parent.add_string(' '.join(text.split()), + self.locator.getLineNumber()) + elif tag != "tips": + # let all the other tags through, except for the "tips" tag + self.text = self.text + "" % tag + + def setDocumentLocator(self,locator): + self.locator = locator + + def characters(self, data): + self.text = self.text + data + + def escape(self,text): + """ + The tip's text will be interpreted as a markup, so we need to escape + some special chars. + """ + text = text.replace('&','&'); # Must be first + return text + # The normal pot-file header. msgmerge and Emacs's po-mode work better if it's # there. pot_header = _('''\ @@ -270,7 +351,7 @@ def escape(s): s = list(s) for i in range(len(s)): s[i] = escapes[ord(s[i])] - return string.join(s,'') + return ''.join(s) def safe_eval(s): @@ -281,7 +362,7 @@ def safe_eval(s): def normalize(s): # This converts the various Python string types into a format that is # appropriate for .po files, namely much closer to C style. - lines = string.split(s,'\n') + lines = s.split('\n') if len(lines) == 1: s = '"' + escape(s) + '"' else: @@ -291,7 +372,7 @@ def normalize(s): for i in range(len(lines)): lines[i] = escape(lines[i]) lineterm = '\\n"\n"' - s = '""\n"' + string.join(lines,lineterm) + '"' + s = '""\n"' + lineterm.join(lines) + '"' return s class TokenEater: @@ -342,7 +423,7 @@ class TokenEater: # of messages seen. Reset state for the next batch. If there # were no strings inside _(), then just ignore this entry. if self.__data: - self.__addentry(string.join(self.__data,'')) + self.__addentry(''.join(self.__data)) self.__state = self.__waiting elif ttype == tokenize.STRING: self.__data.append(safe_eval(tstring)) @@ -499,13 +580,18 @@ def main(): # slurp through all the files eater = TokenEater(options) p = GladeExtractor(eater.get_messages()) + tp = TipExtractor(eater.get_messages()) for filename in args: if filename[-5:] == 'glade': print 'Working on %s' % filename p.parse(filename) - elif filename[-3:] == 'xml': + elif filename[-8:] == 'tips.xml': + # Using our own custom Tips parser for tips.xml print 'Working on %s' % filename + tp.parse(filename) + elif filename[-3:] == 'xml': + # THIS IS NOT WORKING -- something has changed in SAX/Expat try: parser = make_parser() pxml = XMLParser(filename,eater.get_messages()) diff --git a/gramps2/src/po/template.po b/gramps2/src/po/template.po index 7850a5382..a2fbaf993 100644 --- a/gramps2/src/po/template.po +++ b/gramps2/src/po/template.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: GRAMPS VERSION\n" -"POT-Creation-Date: Thu May 12 08:32:15 2005\n" +"POT-Creation-Date: Fri May 13 12:02:11 2005\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -183,7 +183,7 @@ msgstr "" msgid "Mothe_r" msgstr "" -#: ChooseParents.py:485 SelectChild.py:287 SelectChild.py:304 +#: ChooseParents.py:485 SelectChild.py:287 SelectChild.py:306 msgid "Error selecting a child" msgstr "" @@ -202,7 +202,7 @@ msgstr "" #: ChooseParents.py:621 FamilyView.py:1100 MergePeople.py:136 #: plugins/FamilyGroup.py:261 plugins/IndivComplete.py:215 #: plugins/IndivComplete.py:217 plugins/IndivComplete.py:449 -#: plugins/IndivSummary.py:289 plugins/NavWebPage.py:724 +#: plugins/IndivSummary.py:289 plugins/NavWebPage.py:725 #: plugins/WebPage.py:337 plugins/WebPage.py:340 msgid "Mother" msgstr "" @@ -210,7 +210,7 @@ msgstr "" #: ChooseParents.py:622 FamilyView.py:1098 MergePeople.py:134 #: plugins/FamilyGroup.py:248 plugins/IndivComplete.py:206 #: plugins/IndivComplete.py:208 plugins/IndivComplete.py:444 -#: plugins/IndivSummary.py:275 plugins/NavWebPage.py:720 +#: plugins/IndivSummary.py:275 plugins/NavWebPage.py:721 #: plugins/WebPage.py:336 plugins/WebPage.py:339 msgid "Father" msgstr "" @@ -227,30 +227,54 @@ msgstr "" msgid "Column Name" msgstr "" -#: Date.py:103 +#: Date.py:104 msgid "Gregorian" msgstr "" -#: Date.py:104 +#: Date.py:105 msgid "Julian" msgstr "" -#: Date.py:105 +#: Date.py:106 msgid "Hebrew" msgstr "" -#: Date.py:106 +#: Date.py:107 msgid "French Republican" msgstr "" -#: Date.py:107 +#: Date.py:108 msgid "Persian" msgstr "" -#: Date.py:108 +#: Date.py:109 msgid "Islamic" msgstr "" +#: DateDisplay.py:295 +msgid "Month Day, Year" +msgstr "" + +#: DateDisplay.py:295 +msgid "Numerical" +msgstr "" + +#: DateDisplay.py:295 +msgid "YYYY-MM-DD (ISO)" +msgstr "" + +#: DateDisplay.py:296 +msgid "DAY MON YEAR" +msgstr "" + +#: DateDisplay.py:296 +msgid "Day Month Year" +msgstr "" + +#: DateDisplay.py:296 +msgid "MON DAY, YEAR" +msgstr "" + #: DateEdit.py:74 DateEdit.py:83 msgid "Regular" msgstr "" @@ -368,7 +392,7 @@ msgstr "" #: plugins/DetAncestralReport.py:308 plugins/DetAncestralReport.py:315 #: plugins/DetDescendantReport.py:330 plugins/DetDescendantReport.py:337 #: plugins/FamilyGroup.py:458 plugins/IndivComplete.py:281 -#: plugins/IndivSummary.py:165 plugins/NavWebPage.py:771 +#: plugins/IndivSummary.py:165 plugins/NavWebPage.py:772 #: plugins/RelCalc.py:115 plugins/WebPage.py:652 msgid "unknown" msgstr "" @@ -611,14 +635,14 @@ msgstr "" #: EditSource.py:274 EventEdit.py:339 MergePeople.py:110 const.py:233 #: const.py:241 plugins/EventCmp.py:408 plugins/FamilyGroup.py:200 #: plugins/FamilyGroup.py:334 plugins/GraphViz.py:236 plugins/GraphViz.py:237 -#: plugins/NavWebPage.py:640 plugins/ScratchPad.py:464 +#: plugins/NavWebPage.py:641 plugins/ScratchPad.py:464 msgid "Birth" msgstr "" #: EditSource.py:274 EventEdit.py:339 MergePeople.py:112 #: plugins/EventCmp.py:408 plugins/FamilyGroup.py:218 #: plugins/FamilyGroup.py:336 plugins/FamilyGroup.py:338 -#: plugins/NavWebPage.py:648 +#: plugins/NavWebPage.py:649 msgid "Death" msgstr "" @@ -772,7 +796,7 @@ msgstr "" #: FamilyView.py:75 MergePeople.py:108 PeopleView.py:60 #: plugins/IndivComplete.py:417 plugins/IndivSummary.py:239 -#: plugins/NavWebPage.py:631 plugins/WebPage.py:327 plugins/WebPage.py:329 +#: plugins/NavWebPage.py:632 plugins/WebPage.py:327 plugins/WebPage.py:329 #: plugins/WebPage.py:331 msgid "Gender" msgstr "" @@ -1656,11 +1680,11 @@ msgid "Alternate Names" msgstr "" #: MergePeople.py:122 gramps.glade:8928 gramps.glade:12659 -#: plugins/NavWebPage.py:656 +#: plugins/NavWebPage.py:657 msgid "Events" msgstr "" -#: MergePeople.py:129 PedView.py:693 plugins/NavWebPage.py:716 +#: MergePeople.py:129 PedView.py:693 plugins/NavWebPage.py:717 msgid "Parents" msgstr "" @@ -1672,7 +1696,7 @@ msgstr "" msgid "No parents found" msgstr "" -#: MergePeople.py:140 PedView.py:598 plugins/NavWebPage.py:729 +#: MergePeople.py:140 PedView.py:598 plugins/NavWebPage.py:730 msgid "Spouses" msgstr "" @@ -1786,7 +1810,7 @@ msgid "Siblings" msgstr "" #: PedView.py:659 plugins/FamilyGroup.py:400 plugins/IndivComplete.py:295 -#: plugins/IndivSummary.py:179 plugins/NavWebPage.py:738 +#: plugins/IndivSummary.py:179 plugins/NavWebPage.py:739 #: plugins/WebPage.py:670 msgid "Children" msgstr "" @@ -1802,7 +1826,7 @@ msgstr "" #: PeopleView.py:83 WriteGedcom.py:327 gramps_main.py:952 #: plugins/EventCmp.py:158 plugins/ExportVCalendar.py:81 #: plugins/ExportVCard.py:84 plugins/GraphViz.py:513 -#: plugins/IndivComplete.py:509 plugins/NavWebPage.py:1066 +#: plugins/IndivComplete.py:509 plugins/NavWebPage.py:1067 #: plugins/StatisticsChart.py:827 plugins/TimeLine.py:411 #: plugins/WebPage.py:1261 plugins/WriteFtree.py:86 plugins/WriteGeneWeb.py:87 msgid "Entire Database" @@ -1871,7 +1895,7 @@ msgstr "" #: PluginMgr.py:162 PluginMgr.py:163 PluginMgr.py:164 PluginMgr.py:189 #: PluginMgr.py:191 PluginMgr.py:192 PluginMgr.py:223 PluginMgr.py:224 -#: PluginMgr.py:225 ReportUtils.py:1751 Witness.py:83 Witness.py:166 +#: PluginMgr.py:225 ReportUtils.py:1755 Witness.py:83 Witness.py:166 #: const.py:234 const.py:247 const.py:493 const.py:506 gramps_main.py:1721 #: plugins/Check.py:474 plugins/ScratchPad.py:78 plugins/WebPage.py:331 msgid "Unknown" @@ -1930,7 +1954,7 @@ msgid "Reload plugins" msgstr "" #: Plugins.py:727 plugins/Eval.py:140 plugins/Leak.py:136 -#: plugins/TestcaseGenerator.py:539 +#: plugins/TestcaseGenerator.py:648 msgid "Debug" msgstr "" @@ -2336,15 +2360,15 @@ msgstr "" msgid "Private" msgstr "" -#: ReportUtils.py:502 ReportUtils.py:1052 ReportUtils.py:1150 -#: ReportUtils.py:1441 ReportUtils.py:1534 plugins/DetAncestralReport.py:192 +#: ReportUtils.py:502 ReportUtils.py:1056 ReportUtils.py:1154 +#: ReportUtils.py:1445 ReportUtils.py:1538 plugins/DetAncestralReport.py:192 #: plugins/DetAncestralReport.py:350 plugins/DetDescendantReport.py:216 #: plugins/DetDescendantReport.py:371 msgid "He" msgstr "" -#: ReportUtils.py:504 ReportUtils.py:1054 ReportUtils.py:1152 -#: ReportUtils.py:1443 ReportUtils.py:1536 plugins/DetAncestralReport.py:194 +#: ReportUtils.py:504 ReportUtils.py:1058 ReportUtils.py:1156 +#: ReportUtils.py:1447 ReportUtils.py:1540 plugins/DetAncestralReport.py:194 #: plugins/DetAncestralReport.py:348 plugins/DetDescendantReport.py:218 #: plugins/DetDescendantReport.py:369 msgid "She" @@ -2478,565 +2502,565 @@ msgstr "" msgid "%(female_name)s%(endnotes)s." msgstr "" -#: ReportUtils.py:816 +#: ReportUtils.py:820 msgid "He married %(spouse)s %(date)s in %(place)s%(endnotes)s." msgstr "" -#: ReportUtils.py:822 +#: ReportUtils.py:826 msgid "She married %(spouse)s %(date)s in %(place)s%(endnotes)s." msgstr "" -#: ReportUtils.py:829 +#: ReportUtils.py:833 msgid "He married %(spouse)s %(date)s%(endnotes)s." msgstr "" -#: ReportUtils.py:834 ReportUtils.py:845 +#: ReportUtils.py:838 ReportUtils.py:849 msgid "She married %(spouse)s in %(place)s%(endnotes)s." msgstr "" -#: ReportUtils.py:840 +#: ReportUtils.py:844 msgid "He married %(spouse)s in %(place)s%(endnotes)s." msgstr "" -#: ReportUtils.py:851 +#: ReportUtils.py:855 msgid "He married %(spouse)s%(endnotes)s." msgstr "" -#: ReportUtils.py:855 +#: ReportUtils.py:859 msgid "She married %(spouse)s%(endnotes)s." msgstr "" -#: ReportUtils.py:861 +#: ReportUtils.py:865 msgid "He also married %(spouse)s %(date)s in %(place)s%(endnotes)s." msgstr "" -#: ReportUtils.py:867 +#: ReportUtils.py:871 msgid "She also married %(spouse)s %(date)s in %(place)s%(endnotes)s." msgstr "" -#: ReportUtils.py:874 +#: ReportUtils.py:878 msgid "He also married %(spouse)s %(date)s%(endnotes)s." msgstr "" -#: ReportUtils.py:879 ReportUtils.py:890 +#: ReportUtils.py:883 ReportUtils.py:894 msgid "She also married %(spouse)s in %(place)s%(endnotes)s." msgstr "" -#: ReportUtils.py:885 +#: ReportUtils.py:889 msgid "He also married %(spouse)s in %(place)s%(endnotes)s." msgstr "" -#: ReportUtils.py:896 +#: ReportUtils.py:900 msgid "He also married %(spouse)s%(endnotes)s." msgstr "" -#: ReportUtils.py:900 +#: ReportUtils.py:904 msgid "She also married %(spouse)s%(endnotes)s." msgstr "" -#: ReportUtils.py:921 +#: ReportUtils.py:925 msgid "He married %(spouse)s." msgstr "" -#: ReportUtils.py:923 +#: ReportUtils.py:927 msgid "She married %(spouse)s." msgstr "" -#: ReportUtils.py:926 +#: ReportUtils.py:930 msgid "He had relationship with %(spouse)s." msgstr "" -#: ReportUtils.py:929 +#: ReportUtils.py:933 msgid "She had relationship with %(spouse)s." msgstr "" -#: ReportUtils.py:934 +#: ReportUtils.py:938 msgid "He also married %(spouse)s." msgstr "" -#: ReportUtils.py:936 +#: ReportUtils.py:940 msgid "She also married %(spouse)s." msgstr "" -#: ReportUtils.py:939 +#: ReportUtils.py:943 msgid "He also had relationship with %(spouse)s." msgstr "" -#: ReportUtils.py:942 +#: ReportUtils.py:946 msgid "She also had relationship with %(spouse)s." msgstr "" -#: ReportUtils.py:973 +#: ReportUtils.py:977 msgid "He was the son of %(father)s and %(mother)s." msgstr "" -#: ReportUtils.py:977 +#: ReportUtils.py:981 msgid "He is the son of %(father)s and %(mother)s." msgstr "" -#: ReportUtils.py:982 +#: ReportUtils.py:986 msgid "He was the son of %(mother)s." msgstr "" -#: ReportUtils.py:985 +#: ReportUtils.py:989 msgid "He is the son of %(mother)s." msgstr "" -#: ReportUtils.py:989 +#: ReportUtils.py:993 msgid "He was the son of %(father)s." msgstr "" -#: ReportUtils.py:992 +#: ReportUtils.py:996 msgid "He is the son of %(father)s." msgstr "" -#: ReportUtils.py:997 +#: ReportUtils.py:1001 msgid "She was the daughter of %(father)s and %(mother)s." msgstr "" -#: ReportUtils.py:1001 +#: ReportUtils.py:1005 msgid "She is the daughter of %(father)s and %(mother)s." msgstr "" -#: ReportUtils.py:1006 +#: ReportUtils.py:1010 msgid "She was the daughter of %(mother)s." msgstr "" -#: ReportUtils.py:1009 +#: ReportUtils.py:1013 msgid "She is the daughter of %(mother)s." msgstr "" -#: ReportUtils.py:1013 +#: ReportUtils.py:1017 msgid "She was the daughter of %(father)s." msgstr "" -#: ReportUtils.py:1016 +#: ReportUtils.py:1020 msgid "She is the daughter of %(father)s." msgstr "" -#: ReportUtils.py:1064 +#: ReportUtils.py:1068 msgid "%(male_name)s was born on %(birth_date)s in %(birth_place)s." msgstr "" -#: ReportUtils.py:1069 +#: ReportUtils.py:1073 msgid "%(male_name)s was born on %(birth_date)s." msgstr "" -#: ReportUtils.py:1073 +#: ReportUtils.py:1077 msgid "%(male_name)s was born in %(month_year)s in %(birth_place)s." msgstr "" -#: ReportUtils.py:1078 +#: ReportUtils.py:1082 msgid "%(male_name)s was born in %(month_year)s." msgstr "" -#: ReportUtils.py:1082 +#: ReportUtils.py:1086 msgid "%(male_name)s was born in %(birth_place)s." msgstr "" -#: ReportUtils.py:1089 +#: ReportUtils.py:1093 msgid "%(female_name)s was born on %(birth_date)s in %(birth_place)s." msgstr "" -#: ReportUtils.py:1094 +#: ReportUtils.py:1098 msgid "%(female_name)s was born on %(birth_date)s." msgstr "" -#: ReportUtils.py:1098 +#: ReportUtils.py:1102 msgid "%(female_name)s was born in %(month_year)s in %(birth_place)s." msgstr "" -#: ReportUtils.py:1103 +#: ReportUtils.py:1107 msgid "%(female_name)s was born in %(month_year)s." msgstr "" -#: ReportUtils.py:1107 +#: ReportUtils.py:1111 msgid "%(female_name)s was born in %(birth_place)s." msgstr "" -#: ReportUtils.py:1163 +#: ReportUtils.py:1167 msgid "%(male_name)s died on %(death_date)s in %(death_place)s." msgstr "" -#: ReportUtils.py:1168 +#: ReportUtils.py:1172 msgid "%(male_name)s died on %(death_date)s in %(death_place)s at the age of %(age)d years." msgstr "" -#: ReportUtils.py:1175 +#: ReportUtils.py:1179 msgid "%(male_name)s died on %(death_date)s in %(death_place)s at the age of %(age)d months." msgstr "" -#: ReportUtils.py:1182 +#: ReportUtils.py:1186 msgid "%(male_name)s died on %(death_date)s in %(death_place)s at the age of %(age)d days." msgstr "" -#: ReportUtils.py:1190 +#: ReportUtils.py:1194 msgid "%(male_name)s died on %(death_date)s." msgstr "" -#: ReportUtils.py:1193 +#: ReportUtils.py:1197 msgid "%(male_name)s died on %(death_date)s at the age of %(age)d years." msgstr "" -#: ReportUtils.py:1198 +#: ReportUtils.py:1202 msgid "%(male_name)s died on %(death_date)s at the age of %(age)d months." msgstr "" -#: ReportUtils.py:1203 +#: ReportUtils.py:1207 msgid "%(male_name)s died on %(death_date)s at the age of %(age)d days." msgstr "" -#: ReportUtils.py:1210 +#: ReportUtils.py:1214 msgid "%(male_name)s died in %(month_year)s in %(death_place)s." msgstr "" -#: ReportUtils.py:1215 +#: ReportUtils.py:1219 msgid "%(male_name)s died in %(month_year)s in %(death_place)s at the age of %(age)d years." msgstr "" -#: ReportUtils.py:1222 +#: ReportUtils.py:1226 msgid "%(male_name)s died in %(month_year)s in %(death_place)s at the age of %(age)d months." msgstr "" -#: ReportUtils.py:1229 +#: ReportUtils.py:1233 msgid "%(male_name)s died in %(month_year)s in %(death_place)s at the age of %(age)d days." msgstr "" -#: ReportUtils.py:1237 +#: ReportUtils.py:1241 msgid "%(male_name)s died in %(month_year)s." msgstr "" -#: ReportUtils.py:1240 +#: ReportUtils.py:1244 msgid "%(male_name)s died in %(month_year)s at the age of %(age)d years." msgstr "" -#: ReportUtils.py:1245 +#: ReportUtils.py:1249 msgid "%(male_name)s died in %(month_year)s at the age of %(age)d months." msgstr "" -#: ReportUtils.py:1250 +#: ReportUtils.py:1254 msgid "%(male_name)s died in %(month_year)s at the age of %(age)d days." msgstr "" -#: ReportUtils.py:1257 +#: ReportUtils.py:1261 msgid "%(male_name)s died in %(death_place)s." msgstr "" -#: ReportUtils.py:1260 +#: ReportUtils.py:1264 msgid "%(male_name)s died in %(death_place)s at the age of %(age)d years." msgstr "" -#: ReportUtils.py:1265 +#: ReportUtils.py:1269 msgid "%(male_name)s died in %(death_place)s at the age of %(age)d months." msgstr "" -#: ReportUtils.py:1270 +#: ReportUtils.py:1274 msgid "%(male_name)s died in %(death_place)s at the age of %(age)d days." msgstr "" -#: ReportUtils.py:1279 +#: ReportUtils.py:1283 msgid "%(male_name)s died at the age of %(age)d years." msgstr "" -#: ReportUtils.py:1283 +#: ReportUtils.py:1287 msgid "%(male_name)s died at the age of %(age)d months." msgstr "" -#: ReportUtils.py:1287 +#: ReportUtils.py:1291 msgid "%(male_name)s died at the age of %(age)d days." msgstr "" -#: ReportUtils.py:1294 +#: ReportUtils.py:1298 msgid "%(female_name)s died on %(death_date)s in %(death_place)s." msgstr "" -#: ReportUtils.py:1299 +#: ReportUtils.py:1303 msgid "%(female_name)s died on %(death_date)s in %(death_place)s at the age of %(age)d years." msgstr "" -#: ReportUtils.py:1306 +#: ReportUtils.py:1310 msgid "%(female_name)s died on %(death_date)s in %(death_place)s at the age of %(age)d months." msgstr "" -#: ReportUtils.py:1313 +#: ReportUtils.py:1317 msgid "%(female_name)s died on %(death_date)s in %(death_place)s at the age of %(age)d days." msgstr "" -#: ReportUtils.py:1321 +#: ReportUtils.py:1325 msgid "%(female_name)s died on %(death_date)s." msgstr "" -#: ReportUtils.py:1324 +#: ReportUtils.py:1328 msgid "%(female_name)s died on %(death_date)s at the age of %(age)d years." msgstr "" -#: ReportUtils.py:1329 +#: ReportUtils.py:1333 msgid "%(female_name)s died on %(death_date)s at the age of %(age)d months." msgstr "" -#: ReportUtils.py:1334 +#: ReportUtils.py:1338 msgid "%(female_name)s died on %(death_date)s at the age of %(age)d days." msgstr "" -#: ReportUtils.py:1341 +#: ReportUtils.py:1345 msgid "%(female_name)s died in %(month_year)s in %(death_place)s." msgstr "" -#: ReportUtils.py:1346 +#: ReportUtils.py:1350 msgid "%(female_name)s died in %(month_year)s in %(death_place)s at the age of %(age)d years." msgstr "" -#: ReportUtils.py:1353 +#: ReportUtils.py:1357 msgid "%(female_name)s died in %(month_year)s in %(death_place)s at the age of %(age)d months." msgstr "" -#: ReportUtils.py:1360 +#: ReportUtils.py:1364 msgid "%(female_name)s died in %(month_year)s in %(death_place)s at the age of %(age)d days." msgstr "" -#: ReportUtils.py:1368 +#: ReportUtils.py:1372 msgid "%(female_name)s died in %(month_year)s." msgstr "" -#: ReportUtils.py:1371 +#: ReportUtils.py:1375 msgid "%(female_name)s died in %(month_year)s at the age of %(age)d years." msgstr "" -#: ReportUtils.py:1376 +#: ReportUtils.py:1380 msgid "%(female_name)s died in %(month_year)s at the age of %(age)d months." msgstr "" -#: ReportUtils.py:1381 +#: ReportUtils.py:1385 msgid "%(female_name)s died in %(month_year)s at the age of %(age)d days." msgstr "" -#: ReportUtils.py:1388 +#: ReportUtils.py:1392 msgid "%(female_name)s died in %(death_place)s." msgstr "" -#: ReportUtils.py:1391 +#: ReportUtils.py:1395 msgid "%(female_name)s died in %(death_place)s at the age of %(age)d years." msgstr "" -#: ReportUtils.py:1396 +#: ReportUtils.py:1400 msgid "%(female_name)s died in %(death_place)s at the age of %(age)d months." msgstr "" -#: ReportUtils.py:1401 +#: ReportUtils.py:1405 msgid "%(female_name)s died in %(death_place)s at the age of %(age)d days." msgstr "" -#: ReportUtils.py:1410 +#: ReportUtils.py:1414 msgid "%(female_name)s died at the age of %(age)d years." msgstr "" -#: ReportUtils.py:1414 +#: ReportUtils.py:1418 msgid "%(female_name)s died at the age of %(age)d months." msgstr "" -#: ReportUtils.py:1418 +#: ReportUtils.py:1422 msgid "%(female_name)s died at the age of %(age)d days." msgstr "" -#: ReportUtils.py:1471 +#: ReportUtils.py:1475 msgid "%(male_name)s was buried on %(burial_date)s in %(burial_place)s." msgstr "" -#: ReportUtils.py:1476 +#: ReportUtils.py:1480 msgid "%(male_name)s was buried on %(burial_date)s." msgstr "" -#: ReportUtils.py:1480 +#: ReportUtils.py:1484 msgid "%(male_name)s was buried in %(month_year)s in %(burial_place)s." msgstr "" -#: ReportUtils.py:1485 +#: ReportUtils.py:1489 msgid "%(male_name)s was buried in %(month_year)s." msgstr "" -#: ReportUtils.py:1489 +#: ReportUtils.py:1493 msgid "%(male_name)s was buried in %(burial_place)s." msgstr "" -#: ReportUtils.py:1492 +#: ReportUtils.py:1496 msgid "%(male_name)s was buried." msgstr "" -#: ReportUtils.py:1497 +#: ReportUtils.py:1501 msgid "%(female_name)s was buried on %(burial_date)s in %(burial_place)s." msgstr "" -#: ReportUtils.py:1502 +#: ReportUtils.py:1506 msgid "%(female_name)s was buried on %(burial_date)s." msgstr "" -#: ReportUtils.py:1506 +#: ReportUtils.py:1510 msgid "%(female_name)s was buried in %(month_year)s in %(burial_place)s." msgstr "" -#: ReportUtils.py:1511 +#: ReportUtils.py:1515 msgid "%(female_name)s was buried in %(month_year)s." msgstr "" -#: ReportUtils.py:1515 +#: ReportUtils.py:1519 msgid "%(female_name)s was buried in %(burial_place)s." msgstr "" -#: ReportUtils.py:1518 +#: ReportUtils.py:1522 msgid "%(female_name)s was buried." msgstr "" -#: ReportUtils.py:1548 +#: ReportUtils.py:1552 msgid "%(male_name)s Born: %(birth_date)s %(birth_place)s Died: %(death_date)s %(death_place)s." msgstr "" -#: ReportUtils.py:1555 +#: ReportUtils.py:1559 msgid "%(male_name)s Born: %(birth_date)s %(birth_place)s Died: %(death_date)s." msgstr "" -#: ReportUtils.py:1563 +#: ReportUtils.py:1567 msgid "%(male_name)s Born: %(birth_date)s %(birth_place)s Died: %(death_place)s." msgstr "" -#: ReportUtils.py:1570 +#: ReportUtils.py:1574 msgid "%(male_name)s Born: %(birth_date)s %(birth_place)s." msgstr "" -#: ReportUtils.py:1577 +#: ReportUtils.py:1581 msgid "%(male_name)s Born: %(birth_date)s Died: %(death_date)s %(death_place)s." msgstr "" -#: ReportUtils.py:1582 +#: ReportUtils.py:1586 msgid "%(male_name)s Born: %(birth_date)s Died: %(death_date)s." msgstr "" -#: ReportUtils.py:1588 +#: ReportUtils.py:1592 msgid "%(male_name)s Born: %(birth_date)s Died: %(death_place)s." msgstr "" -#: ReportUtils.py:1593 +#: ReportUtils.py:1597 msgid "%(male_name)s Born: %(birth_date)s." msgstr "" -#: ReportUtils.py:1599 +#: ReportUtils.py:1603 msgid "%(male_name)s Born: %(birth_place)s Died: %(death_date)s %(death_place)s." msgstr "" -#: ReportUtils.py:1606 +#: ReportUtils.py:1610 msgid "%(male_name)s Born: %(birth_place)s Died: %(death_date)s." msgstr "" -#: ReportUtils.py:1614 +#: ReportUtils.py:1618 msgid "%(male_name)s Born: %(birth_place)s Died: %(death_place)s." msgstr "" -#: ReportUtils.py:1621 +#: ReportUtils.py:1625 msgid "%(male_name)s Born: %(birth_place)s." msgstr "" -#: ReportUtils.py:1627 +#: ReportUtils.py:1631 msgid "%(male_name)s Died: %(death_date)s %(death_place)s." msgstr "" -#: ReportUtils.py:1632 +#: ReportUtils.py:1636 msgid "%(male_name)s Died: %(death_date)s." msgstr "" -#: ReportUtils.py:1637 +#: ReportUtils.py:1641 msgid "%(male_name)s Died: %(death_place)s." msgstr "" -#: ReportUtils.py:1640 +#: ReportUtils.py:1644 msgid "%(male_name)s." msgstr "" -#: ReportUtils.py:1647 +#: ReportUtils.py:1651 msgid "%(female_name)s Born: %(birth_date)s %(birth_place)s Died: %(death_date)s %(death_place)s." msgstr "" -#: ReportUtils.py:1654 +#: ReportUtils.py:1658 msgid "%(female_name)s Born: %(birth_date)s %(birth_place)s Died: %(death_date)s." msgstr "" -#: ReportUtils.py:1662 +#: ReportUtils.py:1666 msgid "%(female_name)s Born: %(birth_date)s %(birth_place)s Died: %(death_place)s." msgstr "" -#: ReportUtils.py:1669 +#: ReportUtils.py:1673 msgid "%(female_name)s Born: %(birth_date)s %(birth_place)s." msgstr "" -#: ReportUtils.py:1676 +#: ReportUtils.py:1680 msgid "%(female_name)s Born: %(birth_date)s Died: %(death_date)s %(death_place)s." msgstr "" -#: ReportUtils.py:1681 +#: ReportUtils.py:1685 msgid "%(female_name)s Born: %(birth_date)s Died: %(death_date)s." msgstr "" -#: ReportUtils.py:1687 +#: ReportUtils.py:1691 msgid "%(female_name)s Born: %(birth_date)s Died: %(death_place)s." msgstr "" -#: ReportUtils.py:1692 +#: ReportUtils.py:1696 msgid "%(female_name)s Born: %(birth_date)s." msgstr "" -#: ReportUtils.py:1698 +#: ReportUtils.py:1702 msgid "%(female_name)s Born: %(birth_place)s Died: %(death_date)s %(death_place)s." msgstr "" -#: ReportUtils.py:1705 +#: ReportUtils.py:1709 msgid "%(female_name)s Born: %(birth_place)s Died: %(death_date)s." msgstr "" -#: ReportUtils.py:1713 +#: ReportUtils.py:1717 msgid "%(female_name)s Born: %(birth_place)s Died: %(death_place)s." msgstr "" -#: ReportUtils.py:1720 +#: ReportUtils.py:1724 msgid "%(female_name)s Born: %(birth_place)s." msgstr "" -#: ReportUtils.py:1726 +#: ReportUtils.py:1730 msgid "%(female_name)s Died: %(death_date)s %(death_place)s." msgstr "" -#: ReportUtils.py:1731 +#: ReportUtils.py:1735 msgid "%(female_name)s Died: %(death_date)s." msgstr "" -#: ReportUtils.py:1736 +#: ReportUtils.py:1740 msgid "%(female_name)s Died: %(death_place)s." msgstr "" -#: ReportUtils.py:1739 +#: ReportUtils.py:1743 msgid "%(female_name)s." msgstr "" -#: ReportUtils.py:1748 const.py:490 gramps.glade:4344 +#: ReportUtils.py:1752 const.py:490 gramps.glade:4344 #: plugins/FamilyGroup.py:376 plugins/FamilyGroup.py:378 msgid "Married" msgstr "" -#: ReportUtils.py:1749 const.py:491 +#: ReportUtils.py:1753 const.py:491 msgid "Unmarried" msgstr "" -#: ReportUtils.py:1750 const.py:492 +#: ReportUtils.py:1754 const.py:492 msgid "Civil Union" msgstr "" -#: ReportUtils.py:1752 const.py:234 const.py:248 const.py:494 +#: ReportUtils.py:1756 const.py:234 const.py:248 const.py:494 #: mergedata.glade:255 msgid "Other" msgstr "" -#: SelectChild.py:288 SelectChild.py:305 +#: SelectChild.py:288 SelectChild.py:307 msgid "A person cannot be linked as his/her own child" msgstr "" -#: SelectChild.py:329 +#: SelectChild.py:331 msgid "Add Child to Family (%s)" msgstr "" @@ -3250,7 +3274,7 @@ msgstr "" #: WriteGedcom.py:331 plugins/DescendReport.py:116 #: plugins/ExportVCalendar.py:85 plugins/ExportVCard.py:88 #: plugins/FtmStyleDescendants.py:121 plugins/GraphViz.py:517 -#: plugins/IndivComplete.py:513 plugins/NavWebPage.py:1070 +#: plugins/IndivComplete.py:513 plugins/NavWebPage.py:1071 #: plugins/StatisticsChart.py:831 plugins/TimeLine.py:415 #: plugins/WebPage.py:1265 plugins/WriteFtree.py:90 plugins/WriteGeneWeb.py:91 msgid "Descendants of %s" @@ -3259,7 +3283,7 @@ msgstr "" #: WriteGedcom.py:335 plugins/Ancestors.py:141 plugins/ExportVCalendar.py:89 #: plugins/ExportVCard.py:92 plugins/FtmStyleAncestors.py:96 #: plugins/GraphViz.py:521 plugins/IndivComplete.py:517 -#: plugins/NavWebPage.py:1078 plugins/StatisticsChart.py:835 +#: plugins/NavWebPage.py:1079 plugins/StatisticsChart.py:835 #: plugins/TimeLine.py:419 plugins/WebPage.py:1273 plugins/WriteFtree.py:94 #: plugins/WriteGeneWeb.py:95 msgid "Ancestors of %s" @@ -3267,7 +3291,7 @@ msgstr "" #: WriteGedcom.py:339 plugins/ExportVCalendar.py:93 plugins/ExportVCard.py:96 #: plugins/GraphViz.py:525 plugins/IndivComplete.py:521 -#: plugins/NavWebPage.py:1082 plugins/StatisticsChart.py:839 +#: plugins/NavWebPage.py:1083 plugins/StatisticsChart.py:839 #: plugins/TimeLine.py:423 plugins/WebPage.py:1277 plugins/WriteFtree.py:98 #: plugins/WriteGeneWeb.py:99 msgid "People with common ancestor with %s" @@ -3666,7 +3690,7 @@ msgstr "" msgid "Code Generators" msgstr "" -#: const.py:937 plugins/NavWebPage.py:1246 plugins/WebPage.py:1715 +#: const.py:937 plugins/NavWebPage.py:1247 plugins/WebPage.py:1715 msgid "Web Page" msgstr "" @@ -3678,7 +3702,7 @@ msgstr "" msgid "Books" msgstr "" -#: const.py:943 plugins/NavWebPage.py:1148 plugins/ScratchPad.py:356 +#: const.py:943 plugins/NavWebPage.py:1149 plugins/ScratchPad.py:356 #: plugins/ScratchPad.py:405 plugins/ScratchPad.py:413 #: plugins/SimpleBookTitle.py:169 plugins/SimpleBookTitle.py:170 #: plugins/SimpleBookTitle.py:171 @@ -3689,6 +3713,398 @@ msgstr "" msgid "Graphics" msgstr "" +#: data/tips.xml:8 +msgid "You can represent a range of dates by using the format of \"between January 4, 2000 and March 20, 2003\"" +msgstr "" + +#: data/tips.xml:12 +msgid "You can drag and drop an image from either the Media View or any gallery into another gallery" +msgstr "" + +#: data/tips.xml:15 +msgid "You can add an image to any gallery or the Media View by dragging and dropping from a file manager or a web browser." +msgstr "" + +#: data/tips.xml:18 +msgid "You can set the birth order of children in a family even if you do not have birth dates by using drag and drop." +msgstr "" + +#: data/tips.xml:22 +msgid "You can convert an alternate name to the person's preferred name by selecting the desired name in the person's name list, bringing up the context menu by clicking the right mouse button, and selecting from the menu." +msgstr "" + +#: data/tips.xml:32 +msgid "ASKING RELATIVES BEFORE IT IS TOO LATE: Your oldest relatives could be your most important source of information. They usually know things about the family that hasn't been written down. They might tell you nuggets about people, the information about whom might one day be reduced to numbers. We often wonder why we didn't write down pieces of information that grandfather told us while we were young. Don't wait till it's too late..." +msgstr "" + +#: data/tips.xml:52 +msgid "THE PEOPLE VIEW: The People view throws up a list of all individuals in the database." +msgstr "" + +#: data/tips.xml:60 +msgid "FILTERING PEOPLE OUT: In the People view, you can 'filter' out individuals based on certain criteria. Go to the Filter (just to the right of the People icon) and choose one of the dozen different presets. For instance, all adopted people in the family tree can be located. People without a birth date mentioned can also be filtered. To get the results, click on Apply." +msgstr "" + +#: data/tips.xml:67 +msgid "INVERTED FILTERING: You can get another set of results by using the 'invert' option. For instance, if you choose to filter the 'People with children' preset filter, and then invert it, you'll find all the people without children in the family tree." +msgstr "" + +#: data/tips.xml:73 +msgid "LOCATING PEOPLE: In the People view, you can locate any individual by through the list of surnames. Then, click on the names themselves to unfold display of all the individuals with the same last name." +msgstr "" + +#: data/tips.xml:80 +msgid "TO ADD INFORMATION TO SELECTED PEOPLE: First, locate them in the People view. (Use the list of surnames, and click on the names to unfold the display of all individuals sharing the name). Then, go to the Family view, and add the relevant information." +msgstr "" + +#: data/tips.xml:86 +msgid "THE FAMILY VIEW: The Family view display a family of parents, grandparents and children along with the birth and death dates (if relevant) and relationships. You can navigate to nearby relatives with a single click." +msgstr "" + +#: data/tips.xml:94 +msgid "IMPROVING GRAMPS: Users are entitled to request enhancements to GRAMPS. Requesting an enhancement can be done either through the gramps-users or gramps-devel mailing lists, or by creating a Request for Enhancement (RFE) at http://sourceforge.net/tracker/?group_id=25770&atid=385140 The last is preferred." +msgstr "" + +#: data/tips.xml:101 +msgid "WHO WAS BORN WHEN: The 'Compare individual events' tool allows you to compare data of all (or some of) the individuals in your database. This is useful, say, if you wish to list the birth-dates of everyone in your database. For best results, your data needs to be complete." +msgstr "" + +#: data/tips.xml:110 +msgid "WHO'S THE OLDEST OF US ALL? You can find out a lot of statistical information about your entire family, using the Tools > Utilities > Verify the database facility. For instance, what was the maximum age of any individual in the family? Or the largest husband-wife age difference. Or the minimum age at which anyone in your family ever married. Or even the minimum age at which a woman bore a child." +msgstr "" + +#: data/tips.xml:117 +msgid "CALCULATING RELATIONSHIPS: This allows you to check if someone else in the entire family is related (by blood, not marriage) to you. Precise relationships as well as the common ancestors are reported. See Tools > Utilities > Relationship calculator." +msgstr "" + +#: data/tips.xml:126 +msgid "USEFUL CODES FOR SURNAMES: SoundEx is a utility that will allow you to type in a surname, then give you the SoundEx Code for that name. Knowing the SoundEx Code for a surname is very helpful for researching Census Data files (microfiche) at a library or other research facility. To get your Soundex codes for surnames in your database, go to Tools > Utilities > Generate SoundEx codes." +msgstr "" + +#: data/tips.xml:131 +msgid "SETTING YOUR PREFERENCES: Edit > Preferences will allow you to choose a number of settings, determining how your GRAMPS program should work." +msgstr "" + +#: data/tips.xml:137 +msgid "GRAMPS REPORTS: GRAMPS offers a wide number of reports that can be generated. The Text Reports are particularly useful if you want to send out the results of your family tree to members of the family, via e-mail." +msgstr "" + +#: data/tips.xml:144 +msgid "STARTING A NEW FAMILY TREE: The best way to start a new family tree is probably to add-in all the members of the family into the database (use Edit > Add or click on the Add button under the People menu). Then go about tracing the relationships among them all under the Family menu." +msgstr "" + +#: data/tips.xml:152 +msgid "TRACING RELATIONSHIPS: People from an existing database can easily be all linked into the family. Go to Family, and choose the second button to the right of the Relationship window. (The first button to the right of the relationship window adds a new person to the database, and adds to a new relationship.)" +msgstr "" + +#: data/tips.xml:160 +msgid "ASKING RELATIONS FOR DETAILS: To get inputs for building your family tree, ask key members of your extended family (including other families connected to yours via marriage) to send in information. Most important is the full name, date and places of birth and death (if expired), relationship within the family." +msgstr "" + +#: data/tips.xml:168 +msgid "UNSURE ABOUT BIRTH-DATES? If you're unsure about the birth-dates about individuals in your family, GRAMPS allows you to enter a wide range, based on a guess or an estimate. For instance, \"about 1908\" is also a valid entry. for a birth date in GRAMPS. Subsequently, the precise dates could be included once it is available." +msgstr "" + +#: data/tips.xml:174 +msgid "DUPLICATE ENTRIES: Tools > Database Processing > Find possible duplicate people allows you to located (and merge) entries of the same person entered more than once in the database." +msgstr "" + +#: data/tips.xml:182 +msgid "ADDING A SIBLING: To add siblings in Gramps, make either of your parents an active person (i.e. navigate to either of your parents). Then switch to the Family View and add a new child by clicking the button second from the top on the right of the Children list (the \"New\" button). Enter the data for the new person and click OK." +msgstr "" + +#: data/tips.xml:190 +msgid "EDITING THE RELATIONSHIP OF A CHILD: You can edit the relationship of the child to each parent by selecting the child, right-clicking, and choosing \"Edit the child-parent relationship\" item. If this is not your child but your wife's child, you would select \"Birth\" in relationship to her and \"Stepchild\" in relationship to you." +msgstr "" + +#: data/tips.xml:197 +msgid "ADDING A CHILD: If the child is already in the database, then you don't need to add him to the database. Just add the child to the family, which can be done by pressing the third button from the top (the \"Select\" button). Then, select the person from the list." +msgstr "" + +#: data/tips.xml:204 +msgid "SHOW-ALL CHECKBUTTON: The list of people you can add into a family is filtered to display only people who could possibly be the child (based on he birth-dates). In case GRAMPS is wrong in making this choice, you can always over-ride that filtering by checking \"Show all\" checkbutton." +msgstr "" + +#: data/tips.xml:210 +msgid "KEYBINDINGS: GRAMPS's manual is quite elaborate and well written; it also is detailed about keybindings (in a separate appendix) and other matters. Check it out." +msgstr "" + +#: data/tips.xml:217 +msgid "GRAMPS-USERS: Want to answer your queries about GRAMPS? Check out the gramps-users list. Many users are on the list, so you're likely to get an answer faster. If you need to ask questions -- use either gramps-devel or gramps-users at lists.sf.net, as appropriate for your questions." +msgstr "" + +#: data/tips.xml:224 +msgid "TIPS OF THE DAY: GRAMPS's has the option of popping up a window with the tip of the day about the use of GRAMPS. The tip is chosen randomly from the pool of tips. To add your own tip, send it in to gramps-users@lists.sf.net" +msgstr "" + +#: data/tips.xml:230 +msgid "GRAMPS (Genealogical Research and Analysis Management Programming System) offers you a well-designed user interface to make entering data easy, and browser-like controls to allow you to navigate your family tree with ease." +msgstr "" + +#: data/tips.xml:236 +msgid "DIFFERENT VIEWS: There are six different views for navigating your family: People, Family, Pedigree, Sources, Places, Media. Each helps you to achieve one or more specific tasks." +msgstr "" + +#: data/tips.xml:242 +msgid "CHANGING A CHILD/PARENT RELATIONSHIP: In the Family view, a right-click on the Children allows you to edit the child/parent relationship. This is used to mark out children as adopted or step-children." +msgstr "" + +#: data/tips.xml:249 +msgid "BOOKMARKING INDIVIDUALS: To 'bookmark' individuals in your database, navigate to them using the Family view, then right-click and 'add bookmark'. You can visit these bookmarks much like in your browser, simply via Bookmark > Go to bookmark." +msgstr "" + +#: data/tips.xml:255 +msgid "DATES: Incorrect date formats will show up with the red button alongside the date. Green means okay, and amber signifies acceptable. Click on the colored button to invoke Date Selection dialog, if you like." +msgstr "" + +#: data/tips.xml:265 +msgid "LISTING EVENTS: Events in the life of any individual in the database may be added via the Person > Edit Person > Events option. This space can be used to include a wide range of options ranging from adoptions, to baptisms (and other religious ceremonies), burials, causes of death, Census listings, degrees earned in education, divorce filings, elections, emigration, military service, nobility titles, number of marriages, occupations, ordination, property, religion, retirement, wills, etc." +msgstr "" + +#: data/tips.xml:282 +msgid "CHANGING PREFERRED NAME: If a person has several names, it is very easy to manage these names in Gramps. Find the person in the Family view, double-click on the record, and open Names tab. You can add different types of names here, like Married Name, Birth Name, etc. Selecting a preferred name is just a matter of right-clicking on the name and choosing the only item in the menu." +msgstr "" + +#: data/tips.xml:288 +msgid "The Pedigree view display the family in the traditional pedigree view. Hold the mouse over individuals to see more information about them and to move to more distant parts of the tree." +msgstr "" + +#: data/tips.xml:295 +msgid "The Sources view shows all the family's referenced sources in a single view." +msgstr "" + +#: data/tips.xml:304 +msgid "The Places view shows all places referred to in the database." +msgstr "" + +#: data/tips.xml:310 +msgid "The Media list includes all forms of media referenced by the database. These could be graphic images, videos, sound clips, spreadsheets, documents, and more." +msgstr "" + +#: data/tips.xml:315 +msgid "GRAMPS allows you to bookmark key individuals in your family tree, for quick access. The number able to be marked is unlimited." +msgstr "" + +#: data/tips.xml:322 +msgid "GRAMPS comes with a rich set of tools. This allows you to undertake operations such as checking database for errors and consistency, as well as the research and analysis tools such as event comparison, finding duplicate people, interactive descendant browser, and others." +msgstr "" + +#: data/tips.xml:328 +msgid "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." +msgstr "" + +#: data/tips.xml:334 +msgid "The Soundex generator allows you to generate the standard codes commonly used in genealogy, to compare similar sounding names even though spelled differently." +msgstr "" + +#: data/tips.xml:340 +msgid "Custom filters allow you to dig out family data and interesting facts, in a number of interesting selections. Such custom filters can be used in addition to the numerous preset filters." +msgstr "" + +#: data/tips.xml:347 +msgid "GRAMPS allows you to import from, and export to, GEDCOM format. There is extensive support for the industry standard GEDCOM version 5.5, so you can exchange GRAMPS information to and from users of most other genealogy programs." +msgstr "" + +#: data/tips.xml:353 +msgid "You can convert your data into a GRAMPS 'package', which is a compressed file containing your family tree data and any other files used. This is useful for backup or sharing with other GRAMPS users." +msgstr "" + +#: data/tips.xml:358 +msgid "Make your data portable -- you can export your family tree data and media directly to the GNOME file manager (Nautilus), for burning onto a CD." +msgstr "" + +#: data/tips.xml:364 +msgid "Web Family Tree (WFT) allows you to display your family tree online with only a single file, instead of many html files. GRAMPS allows you to export data to the WFT format." +msgstr "" + +#: data/tips.xml:368 +msgid "GRAMPS currently runs on Linux, BSD, and Solaris." +msgstr "" + +#: data/tips.xml:375 +msgid "There are several ways to report a bug, including the GRAMPS Bugs mailing list. The best way to report a bug is to use the GRAMPS Bug Tracker at Sourceforge. Using the bug tracker will make sure that your issue will be handled, and doesn't miss the developers' attention." +msgstr "" + +#: data/tips.xml:383 +msgid "GRAMPS is taken forward by a set of useful mailing-lists, which any serious user needs to consider joining. These lists include gramps-announce (announcements relating to the software project), gramps-bugs (to track bugs), gramps-devel (for developers), and gramps-users (for all users, including beginners)." +msgstr "" + +#: data/tips.xml:387 +msgid "Tonnes of GRAMPS-related information at http://gramps.sourceforge.net/" +msgstr "" + +#: data/tips.xml:393 +msgid "GRAMPS stands for Genealogical Research and Analysis Management Programming System. It allows you to store, edit, and research genealogical data, with similar functionality to other genealogical programs." +msgstr "" + +#: data/tips.xml:401 +msgid "GRAMPS offers some unique features, including the ability to input any bits and pieces of information directly into GRAMPS and rearrange/manipulate any data events in the entire data base (in any order or sequence) to assist the user in doing research, analysis and correlation with the potential of filling relationship gaps." +msgstr "" + +#: data/tips.xml:407 +msgid "Respect the privacy of people in your family tree. Genealogy shouldn't reveal anyone's current health condition, their financial information, and other information they would prefer be kept confidential." +msgstr "" + +#: data/tips.xml:415 +msgid "Be accurate when recording genealogical information. Don't make assumptions while recording primary information; write it exactly as you see it. Use bracketed comments to indicate your additions, deletions or comments. Use of the Latin 'sic' is recommended to confirm the accurate transcription of what seems to be an error." +msgstr "" + +#: data/tips.xml:420 +msgid "You can link any 'media' (including non-text information) and other file-types to your GRAMPS family tree." +msgstr "" + +#: data/tips.xml:426 +msgid "Privacy options allow the restriction of any information marked or information about living individuals. Data marked with this option can be excluded from reports and data exports." +msgstr "" + +#: data/tips.xml:432 +msgid "GRAMPS allows you to generate brief or detailed reports for the ancestors or descendents of any individual in your family tree, depending on your requirements." +msgstr "" + +#: data/tips.xml:437 +msgid "Multiple styles of reports are currently available by default. Users can also create their own custom styles." +msgstr "" + +#: data/tips.xml:444 +msgid "Eight output formats are supported by GRAMPS -- PDF, AbiWord, KWord, OpenOffice Writer, HTML, Rich Text Format (RTF), Latex, and plain text. These formats generate data which can be read on all computers, making it easy for anyone to access it." +msgstr "" + +#: data/tips.xml:449 +msgid "Custom reports can be created by advanced users under the \"plugin\" system which allows the sharing of custom report styles between users." +msgstr "" + +#: data/tips.xml:455 +msgid "Book report allows the user to collect a variety of reports in a single document, which in turn is easier to distribute, especially in a paper format." +msgstr "" + +#: data/tips.xml:461 +msgid "Want improvements in GRAMPS? You can do it yourself too. Since GRAMPS is free/libre and open source software, nobody prevents you from taking all of the code and continuing its development in whatever direction you see fit." +msgstr "" + +#: data/tips.xml:467 +msgid "Interested in getting notified when a GRAMPS release is made? Sign up on the gramps-announce mailing list ultra-low bandwidth, at http://lists.sourceforge.net/lists/listinfo/gramps-announce" +msgstr "" + +#: data/tips.xml:474 +msgid "Have questions about GRAMPS, or are you looking to discuss GRAMPS related items? The best place is the gramps-users mailing list http://lists.sourceforge.net/lists/listinfo/gramps-users You need to first sign-up to be able to post." +msgstr "" + +#: data/tips.xml:481 +msgid "Need enhancements for GRAMPS? Requesting an enhancement can be done either through the gramps-users or gramps-devel mailing lists, or by creating a Request for Enhancement (RFE) http://sourceforge.net/tracker/?group_id=25770&atid=385140" +msgstr "" + +#: data/tips.xml:487 +msgid "Good genealogy tip: Information collated about your family is only as good as the source it came from. Take time and trouble to write down all the details of where the information came from." +msgstr "" + +#: data/tips.xml:494 +msgid "Go from what you know to what you do not. Always record everything that is known before making conjecture. Often the facts at hand suggest plenty of direction for more research. Don't waste time looking through thousands of records hoping for a trail when you have other unexplored options." +msgstr "" + +#: data/tips.xml:501 +msgid "Genealogy isn't only about dates and names. It is about people. Be descriptive. Include the why of how things happened, and how descendents might have been shaped by the events they went through. Narratives go a long way in making your family interesting to others too." +msgstr "" + +#: data/tips.xml:506 +msgid "Join the gramps-users mailing list at http://lists.sourceforge.net/lists/listinfo/gramps-users" +msgstr "" + +#: data/tips.xml:512 +msgid "You can create graphical ancestor or descendent charts in several formats -- box charts, a fan chart, multiple formats (OpenOffice Draw, PDF, PostScript, SVG), and custom charts." +msgstr "" + +#: data/tips.xml:518 +msgid "You can easily export your family tree to a web page. Select the entire database, family lines or selected individuals to a collection of web pages ready for upload to the World Wide Web." +msgstr "" + +#: data/tips.xml:522 +msgid "Multiple calendars and date ranges are supported by GRAMPS." +msgstr "" + +#: data/tips.xml:526 +msgid "Support is mature for multiple languages and cultures." +msgstr "" + +#: data/tips.xml:530 +msgid "GRAMPS offers translations for 15 languages." +msgstr "" + +#: data/tips.xml:536 +msgid "GRAMPS has been designed so that new translations can easily be added with little development effort. If you are interested in participating please email gramps-devel@lists.sf.net" +msgstr "" + +#: data/tips.xml:540 +msgid "Relationship calculators in GRAMPS are available in four languages." +msgstr "" + +#: data/tips.xml:545 +msgid "GRAMPS offers full Unicode support. Characters for all languages are properly displayed." +msgstr "" + +#: data/tips.xml:552 +msgid "You can choose anyone as your 'home person' in GRAMPS. Use Edit -> Set Home Person. The home person is the person who is selected when the database is opened, when the home-button is pressed in your browser-like GRAMPS interface, and when Home is selected from the context menu anywhere." +msgstr "" + +#: data/tips.xml:557 +msgid "You can specify several names for a single person -- such as, birth name, marriage name, etc." +msgstr "" + +#: data/tips.xml:565 +msgid "To switch between the different names of a single individual (birth name, marriage name, etc) right-click on the name wanted in the list of alternative names (under the Names tag in the EditPerson dialog) and select an item from the context menu. This name will become the primary name, and will be used in all display-related places." +msgstr "" + +#: data/tips.xml:572 +msgid "Many current GRAMPS users contribute reports, suggestions, and feedback to the developers through various public mailing lists. The program is only a few years old and already has wide capabilities and features. Would you like to help too?" +msgstr "" + +#: data/tips.xml:576 +msgid "Numerous GRAMPS releases are made each year." +msgstr "" + +#: data/tips.xml:583 +msgid "GRAMPS is written in a computer language called Python using GTK and GNOME libraries. While only well supported in certain Unix and Linux environments, these are multi-platform development libraries, meaning that GRAMPS can be ported to any platform the required libraries are ported to." +msgstr "" + +#: data/tips.xml:589 +msgid "The Free/Libre and Open Source Software (FLOSS) development model means GRAMPS can be extended by any programmer since all of the source code is freely available under its license." +msgstr "" + +#: data/tips.xml:594 +msgid "GRAMPS is freely distributable under the General Public License, see http://www.gnu.org/licenses/licenses.html#GPL !" +msgstr "" + +#: data/tips.xml:601 +msgid "GRAMPS does not support TempleReady GEDCOM extensions, and offers limited drag-and-drop support. Currently, there is no support for drag and drop between databases. Graph reports are also limited in functionality." +msgstr "" + +#: data/tips.xml:607 +msgid "GRAMPS is the Genealogical Research and Analysis Management Program System. In other words, it a personal genealogy program letting you store, edit, and research genealogical data using the powers of your computer." +msgstr "" + +#: data/tips.xml:615 +msgid "GRAMPS can be downloaded from Sourceforge http://sf.net/projects/gramps at no charge. GRAMPS is an Free/Libre and Open Source Software project covered by the GNU General Public License http://www.gnu.org/copyleft/gpl.html . You have full access to the source code and are allowed to distribute the program and source code freely." +msgstr "" + +#: data/tips.xml:623 +msgid "A port of GRAMPS to Mac OS X exists from the Fink project http://fink.sourceforge.net/pdb/package.php/gramps . It is not unusual for this version to lag behind the Linux version. The port is not supported by the GRAMPS project (since few if any of us have Macs), but we try to help out where we can." +msgstr "" + +#: data/tips.xml:628 +msgid "GRAMPS works with KDE too, as long as the required GNOME libraries are installed." +msgstr "" + +#: data/tips.xml:633 +msgid "To run GRAMPS, you need to have GNOME installed. But you do not need to be running the GNOME desktop." +msgstr "" + +#: data/tips.xml:641 +msgid "GRAMPS makes every effort to maintain compatibility with GEDCOM, the general standard of recording genealogical information. We have import and export filters that enable GRAMPS to read and write GEDCOM files. Please do inform us about any GEDCOM flavor not supported by GRAMPS, and we will do our best to support it!" +msgstr "" + +#: data/tips.xml:647 +msgid "GRAMPS can produce many different charts and reports. Moreover, the plugin architecture enables a user (you) to create his own plugins which could be new reports, charts, or research tools." +msgstr "" + #: docgen/AbiWord2Doc.py:332 msgid "AbiWord document" msgstr "" @@ -4727,8 +5143,8 @@ msgstr "" #: gramps.glade:10390 gramps.glade:13390 gramps.glade:15487 gramps.glade:22509 #: gramps.glade:23738 gramps.glade:25557 gramps.glade:26561 gramps.glade:27929 #: gramps.glade:29359 plugins/Ancestors.py:159 plugins/IndivComplete.py:324 -#: plugins/NavWebPage.py:438 plugins/NavWebPage.py:443 -#: plugins/NavWebPage.py:539 plugins/ScratchPad.py:153 +#: plugins/NavWebPage.py:439 plugins/NavWebPage.py:444 +#: plugins/NavWebPage.py:540 plugins/ScratchPad.py:153 #: plugins/ScratchPad.py:293 plugins/ScratchPad.py:326 plugins/WebPage.py:222 msgid "Sources" msgstr "" @@ -5604,6 +6020,14 @@ msgstr "" msgid "Name contains..." msgstr "" +#: gramps_main.py:1037 +msgid "Any textual record contains..." +msgstr "" + +#: gramps_main.py:1042 +msgid "Any textual record matches regular expression..." +msgstr "" + #: gramps_main.py:1069 gramps_main.py:1092 msgid "Cannot merge people." msgstr "" @@ -5844,7 +6268,7 @@ msgstr "" #: plugins/FtmStyleAncestors.py:422 plugins/FtmStyleDescendants.py:572 #: plugins/GraphViz.py:971 plugins/GraphViz.py:985 #: plugins/IndivComplete.py:594 plugins/IndivSummary.py:390 -#: plugins/NavWebPage.py:1338 plugins/Summary.py:178 plugins/TimeLine.py:479 +#: plugins/NavWebPage.py:1339 plugins/Summary.py:178 plugins/TimeLine.py:479 #: plugins/WebPage.py:1904 msgid "Beta" msgstr "" @@ -6718,11 +7142,11 @@ msgstr "" msgid "vCard export options" msgstr "" -#: plugins/FamilyGroup.py:163 plugins/NavWebPage.py:758 +#: plugins/FamilyGroup.py:163 plugins/NavWebPage.py:759 msgid "Husband" msgstr "" -#: plugins/FamilyGroup.py:165 plugins/NavWebPage.py:760 +#: plugins/FamilyGroup.py:165 plugins/NavWebPage.py:761 msgid "Wife" msgstr "" @@ -7150,11 +7574,11 @@ msgstr "" msgid "GeneWeb import" msgstr "" -#: plugins/ImportGeneWeb.py:711 +#: plugins/ImportGeneWeb.py:713 msgid "GeneWeb files" msgstr "" -#: plugins/ImportGeneWeb.py:713 +#: plugins/ImportGeneWeb.py:715 msgid "GeneWeb" msgstr "" @@ -7331,134 +7755,134 @@ msgstr "" msgid "Introduction" msgstr "" -#: plugins/NavWebPage.py:444 +#: plugins/NavWebPage.py:445 msgid "All sources cited in the project." msgstr "" -#: plugins/NavWebPage.py:470 plugins/NavWebPage.py:473 +#: plugins/NavWebPage.py:471 plugins/NavWebPage.py:474 msgid "Download" msgstr "" -#: plugins/NavWebPage.py:490 plugins/NavWebPage.py:493 +#: plugins/NavWebPage.py:491 plugins/NavWebPage.py:494 msgid "Contact" msgstr "" -#: plugins/NavWebPage.py:582 +#: plugins/NavWebPage.py:583 msgid "Pedigree" msgstr "" -#: plugins/NavWebPage.py:673 +#: plugins/NavWebPage.py:674 msgid "Narrative" msgstr "" -#: plugins/NavWebPage.py:706 +#: plugins/NavWebPage.py:707 msgid "Relationships" msgstr "" -#: plugins/NavWebPage.py:762 plugins/NavWebPage.py:764 +#: plugins/NavWebPage.py:763 plugins/NavWebPage.py:765 msgid "Partner" msgstr "" -#: plugins/NavWebPage.py:831 +#: plugins/NavWebPage.py:832 msgid "%(description)s,    %(date)s    at    %(place)s" msgstr "" -#: plugins/NavWebPage.py:833 +#: plugins/NavWebPage.py:834 msgid "%(description)s,    %(date)s   " msgstr "" -#: plugins/NavWebPage.py:837 +#: plugins/NavWebPage.py:838 msgid "%(date)s    at    %(place)s" msgstr "" -#: plugins/NavWebPage.py:914 plugins/WebPage.py:818 +#: plugins/NavWebPage.py:915 plugins/WebPage.py:818 msgid "Generate HTML reports - GRAMPS" msgstr "" -#: plugins/NavWebPage.py:916 plugins/WebPage.py:820 +#: plugins/NavWebPage.py:917 plugins/WebPage.py:820 msgid "Creating Web Pages" msgstr "" -#: plugins/NavWebPage.py:925 plugins/WebPage.py:1097 +#: plugins/NavWebPage.py:926 plugins/WebPage.py:1097 msgid "Neither %s nor %s are directories" msgstr "" -#: plugins/NavWebPage.py:932 plugins/NavWebPage.py:936 -#: plugins/NavWebPage.py:948 plugins/NavWebPage.py:952 plugins/WebPage.py:1104 +#: plugins/NavWebPage.py:933 plugins/NavWebPage.py:937 +#: plugins/NavWebPage.py:949 plugins/NavWebPage.py:953 plugins/WebPage.py:1104 #: plugins/WebPage.py:1108 plugins/WebPage.py:1120 plugins/WebPage.py:1124 msgid "Could not create the directory: %s" msgstr "" -#: plugins/NavWebPage.py:1074 plugins/WebPage.py:1269 +#: plugins/NavWebPage.py:1075 plugins/WebPage.py:1269 msgid "Descendant Families of %s" msgstr "" -#: plugins/NavWebPage.py:1088 plugins/WebPage.py:1284 +#: plugins/NavWebPage.py:1089 plugins/WebPage.py:1284 msgid "Do not include records marked private" msgstr "" -#: plugins/NavWebPage.py:1089 plugins/WebPage.py:1285 +#: plugins/NavWebPage.py:1090 plugins/WebPage.py:1285 msgid "Restrict information on living people" msgstr "" -#: plugins/NavWebPage.py:1090 plugins/WebPage.py:1286 +#: plugins/NavWebPage.py:1091 plugins/WebPage.py:1286 msgid "Do not use images" msgstr "" -#: plugins/NavWebPage.py:1091 plugins/WebPage.py:1287 +#: plugins/NavWebPage.py:1092 plugins/WebPage.py:1287 msgid "Do not use images for living people" msgstr "" -#: plugins/NavWebPage.py:1092 plugins/WebPage.py:1288 +#: plugins/NavWebPage.py:1093 plugins/WebPage.py:1288 msgid "Do not include comments and text in source information" msgstr "" -#: plugins/NavWebPage.py:1093 plugins/WebPage.py:1292 +#: plugins/NavWebPage.py:1094 plugins/WebPage.py:1292 msgid "Image subdirectory" msgstr "" -#: plugins/NavWebPage.py:1094 +#: plugins/NavWebPage.py:1095 msgid "Web site title" msgstr "" -#: plugins/NavWebPage.py:1095 plugins/WebPage.py:1294 +#: plugins/NavWebPage.py:1096 plugins/WebPage.py:1294 msgid "File extension" msgstr "" -#: plugins/NavWebPage.py:1096 plugins/WebPage.py:1296 +#: plugins/NavWebPage.py:1097 plugins/WebPage.py:1296 msgid "Split alphabetical sections to separate pages" msgstr "" -#: plugins/NavWebPage.py:1097 plugins/WebPage.py:1299 +#: plugins/NavWebPage.py:1098 plugins/WebPage.py:1299 msgid "Include short ancestor tree" msgstr "" -#: plugins/NavWebPage.py:1149 +#: plugins/NavWebPage.py:1150 msgid "Home Note ID" msgstr "" -#: plugins/NavWebPage.py:1151 +#: plugins/NavWebPage.py:1152 msgid "Introduction Note ID" msgstr "" -#: plugins/NavWebPage.py:1154 plugins/WebPage.py:1427 +#: plugins/NavWebPage.py:1155 plugins/WebPage.py:1427 msgid "Privacy" msgstr "" -#: plugins/NavWebPage.py:1221 plugins/NavWebPage.py:1246 +#: plugins/NavWebPage.py:1222 plugins/NavWebPage.py:1247 #: plugins/WebPage.py:1699 plugins/WebPage.py:1715 plugins/WebPage.py:1903 msgid "Generate Web Site" msgstr "" -#: plugins/NavWebPage.py:1251 plugins/WebPage.py:1720 +#: plugins/NavWebPage.py:1252 plugins/WebPage.py:1720 msgid "Target Directory" msgstr "" -#: plugins/NavWebPage.py:1337 +#: plugins/NavWebPage.py:1338 msgid "Narrative Web Site" msgstr "" -#: plugins/NavWebPage.py:1339 plugins/WebPage.py:1905 +#: plugins/NavWebPage.py:1340 plugins/WebPage.py:1905 msgid "Generates web (HTML) pages for individuals, or a set of individuals." msgstr "" @@ -7952,42 +8376,46 @@ msgstr "" msgid "Provides a summary of the current database" msgstr "" -#: plugins/TestcaseGenerator.py:70 plugins/TestcaseGenerator.py:75 -#: plugins/TestcaseGenerator.py:112 +#: plugins/TestcaseGenerator.py:74 plugins/TestcaseGenerator.py:79 +#: plugins/TestcaseGenerator.py:121 msgid "Generate testcases" msgstr "" -#: plugins/TestcaseGenerator.py:79 +#: plugins/TestcaseGenerator.py:83 msgid "Generate Database errors" msgstr "" -#: plugins/TestcaseGenerator.py:83 +#: plugins/TestcaseGenerator.py:87 +msgid "Generate date tests" +msgstr "" + +#: plugins/TestcaseGenerator.py:91 msgid "Generate dummy families" msgstr "" -#: plugins/TestcaseGenerator.py:87 +#: plugins/TestcaseGenerator.py:95 msgid "Don't block transactions" msgstr "" -#: plugins/TestcaseGenerator.py:120 +#: plugins/TestcaseGenerator.py:129 msgid "" "Generating persons and families.\n" "Please wait." msgstr "" -#: plugins/TestcaseGenerator.py:157 +#: plugins/TestcaseGenerator.py:169 msgid "Testcase generator" msgstr "" -#: plugins/TestcaseGenerator.py:514 +#: plugins/TestcaseGenerator.py:623 msgid "Testcase generator step %d" msgstr "" -#: plugins/TestcaseGenerator.py:538 +#: plugins/TestcaseGenerator.py:647 msgid "Generate Testcases for persons and families" msgstr "" -#: plugins/TestcaseGenerator.py:540 +#: plugins/TestcaseGenerator.py:649 msgid "The testcase generator will generate some persons and families that have broken links in the database or data that is in conflict to a relation." msgstr ""