Merge branch 'master' of github.com:gramps-project/gramps
This commit is contained in:
commit
7022c9af5a
@ -1,246 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.18.3 -->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.10"/>
|
||||
<object class="GtkListStore" id="model1">
|
||||
<columns>
|
||||
<!-- column-name gchararray -->
|
||||
<column type="gchararray"/>
|
||||
</columns>
|
||||
<data>
|
||||
<row>
|
||||
<col id="0" translatable="yes">- default -</col>
|
||||
</row>
|
||||
</data>
|
||||
</object>
|
||||
<object class="GtkDialog" id="phpgedview">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="title" translatable="yes">phpGedView import</property>
|
||||
<property name="window_position">mouse</property>
|
||||
<property name="destroy_with_parent">True</property>
|
||||
<property name="type_hint">dialog</property>
|
||||
<child internal-child="vbox">
|
||||
<object class="GtkBox" id="vbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child internal-child="action_area">
|
||||
<object class="GtkButtonBox" id="hbuttonbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="layout_style">end</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="button1">
|
||||
<property name="label">gtk-cancel</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can_default">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_stock">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="ok_button">
|
||||
<property name="label">gtk-apply</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can_default">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_stock">True</property>
|
||||
<signal name="activate" handler="on_ok_button_activate" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkGrid" id="table2">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="border_width">12</property>
|
||||
<property name="row_spacing">9</property>
|
||||
<property name="column_spacing">9</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label8">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">phpGedView import</property>
|
||||
<property name="justify">center</property>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="width">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkEntry" id="url_entry">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="width_chars">25</property>
|
||||
<property name="text" translatable="yes">http://</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="top_attach">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkEntry" id="username_entry">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="editable">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="top_attach">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkEntry" id="password_entry">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="editable">False</property>
|
||||
<property name="visibility">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="top_attach">5</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkComboBox" id="file_combo">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="model">model1</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="renderer1"/>
|
||||
<attributes>
|
||||
<attribute name="text">0</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="top_attach">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label10">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="label" translatable="yes">File:</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label11">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="label" translatable="yes">Username:</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label12">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="label" translatable="yes">Password:</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">5</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="version_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="halign">start</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="top_attach">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label7">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="label" translatable="yes">URL:</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkProgressBar" id="progressbar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="pulse_step">0.10000000149</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="top_attach">6</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">5</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<action-widgets>
|
||||
<action-widget response="-6">button1</action-widget>
|
||||
<action-widget response="-10">ok_button</action-widget>
|
||||
</action-widgets>
|
||||
</object>
|
||||
</interface>
|
@ -1,433 +0,0 @@
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2000-2005 Donald N. Allingham, Martin Hawlisch
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
|
||||
"Download a GEDCOM file from a phpGedView server"
|
||||
|
||||
import http.client as hcl
|
||||
from urllib.request import Request, urlopen
|
||||
from urllib.error import URLError
|
||||
from gi.repository import Gtk
|
||||
import os
|
||||
from tempfile import mkstemp
|
||||
from gramps.gen.const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.translation.gettext
|
||||
from gramps.gui.glade import Glade
|
||||
import gramps.plugins.lib.libgedcom as libgedcom
|
||||
|
||||
#
|
||||
# Interface to phpGedView
|
||||
#
|
||||
# See http://phpgedview.sourceforge.net/racp.php
|
||||
#
|
||||
class PHPGedViewConnector(object):
|
||||
|
||||
TYPE_INDI = 1
|
||||
TYPE_FAM = 2
|
||||
TYPE_SOUR = 3
|
||||
TYPE_REPO = 4
|
||||
TYPE_NOTE = 5
|
||||
TYPE_OBJE = 6
|
||||
TYPE_OTHER = 7
|
||||
TYPE_ALL = 99
|
||||
|
||||
POS_NEW = 1
|
||||
POS_FIRST = 2
|
||||
POS_NEXT = 3
|
||||
POS_PREV = 4
|
||||
POS_LAST = 5
|
||||
POS_ALL = 6
|
||||
|
||||
type_trans = {
|
||||
TYPE_INDI: "INDI",
|
||||
TYPE_FAM: "FAM",
|
||||
TYPE_SOUR: "SOUR",
|
||||
TYPE_REPO: "REPO",
|
||||
TYPE_NOTE: "NOTE",
|
||||
TYPE_OBJE: "OBJE",
|
||||
TYPE_OTHER: "OTHER",
|
||||
}
|
||||
pos_trans = {
|
||||
POS_NEW: "new",
|
||||
POS_FIRST: "first",
|
||||
POS_NEXT: "next",
|
||||
POS_PREV: "prev",
|
||||
POS_LAST: "last",
|
||||
POS_ALL: "all",
|
||||
}
|
||||
|
||||
def __init__(self,url,progressbar_cb=None):
|
||||
self.url = url
|
||||
self.sessionname = None
|
||||
self.sessionid = None
|
||||
self.connected = False
|
||||
self.progressbar_cb = progressbar_cb
|
||||
|
||||
def update_progressbar(self,text=None,pos=0,max=0):
|
||||
if self.progressbar_cb:
|
||||
self.progressbar_cb(text,pos,max)
|
||||
|
||||
def get_version(self):
|
||||
response = self.fetch_url_to_array( [("action","version",),])
|
||||
if response and response[0] == "SUCCESS":
|
||||
version = response[1]
|
||||
return version
|
||||
return None
|
||||
|
||||
def list_gedcoms(self):
|
||||
response = self.fetch_url_to_array( [("action","listgedcoms",),])
|
||||
if response and response[0] == "SUCCESS":
|
||||
gedcoms = []
|
||||
for i in range(1,len(response)):
|
||||
if not response[i].strip():
|
||||
break
|
||||
gedcoms.append(response[i].split("\t"))
|
||||
return gedcoms
|
||||
return None
|
||||
|
||||
|
||||
def connect_to_gedcom(self, filename=None, username=None, password=None):
|
||||
self.gedname = None
|
||||
params = []
|
||||
params.append( ("action","connect",))
|
||||
if filename:
|
||||
params.append( ("ged",filename,))
|
||||
if username:
|
||||
params.append( ("username",username,))
|
||||
if password:
|
||||
params.append( ("password",password,))
|
||||
|
||||
response = self.fetch_url_to_array( params)
|
||||
if response and response[0] == "SUCCESS":
|
||||
session = response[1].split("\t")
|
||||
self.sessionname = session[0]
|
||||
self.sessionid = session[1]
|
||||
self.connected = True
|
||||
if filename:
|
||||
self.gedname = filename
|
||||
return True
|
||||
return False
|
||||
|
||||
def list_xrefs(self, type = TYPE_ALL, pos=POS_ALL, xref=None):
|
||||
result = []
|
||||
types = []
|
||||
if type == self.TYPE_ALL:
|
||||
types.extend(self.type_trans)
|
||||
else:
|
||||
types.append(type)
|
||||
for entry in types:
|
||||
request = []
|
||||
request.append( ("action", "getxref"))
|
||||
request.append( ("type", self.type_trans[entry]))
|
||||
request.append( ("position", self.pos_trans[pos]))
|
||||
if xref:
|
||||
request.append( ("xref", xref))
|
||||
result_part = self.fetch_url_to_array( request)
|
||||
if result_part[0] == "SUCCESS":
|
||||
for x in range(1,len(result_part)):
|
||||
txt = result_part[x]
|
||||
if txt:
|
||||
txt = txt.strip()
|
||||
if len(txt) > 0:
|
||||
result.append( txt)
|
||||
else:
|
||||
break
|
||||
else:
|
||||
break
|
||||
return result
|
||||
|
||||
def get_records(self, xref):
|
||||
if not xref or len(xref) == 0:
|
||||
return None
|
||||
|
||||
# merge xref list to a semicolon separated string
|
||||
xref_str = ""
|
||||
try:
|
||||
for x in xref:
|
||||
xref_str += x+";"
|
||||
except TypeError:
|
||||
xref_str = xref
|
||||
|
||||
result = []
|
||||
request = []
|
||||
request.append( ("action", "get"))
|
||||
request.append( ("xref", xref_str))
|
||||
result_part = self.fetch_url_to_array( request)
|
||||
#print result_part
|
||||
if result_part[0] == "SUCCESS":
|
||||
for x in range(1,len(result_part)):
|
||||
txt = result_part[x].strip()
|
||||
if txt and txt != "":
|
||||
result.append( txt)
|
||||
return result
|
||||
|
||||
def fetch_full_gedcom( self, outfile=None):
|
||||
print(outfile)
|
||||
if outfile is None:
|
||||
gedname = self.gedname
|
||||
if not gedname:
|
||||
gedname = "temp.ged"
|
||||
filenameparts = gedname.split(".")
|
||||
(outfiled, outfilename) = mkstemp("."+filenameparts[1],filenameparts[0]+"_")
|
||||
outfile = os.fdopen(outfiled,"w")
|
||||
else:
|
||||
outfilename = outfile.name
|
||||
print(outfile)
|
||||
|
||||
outfile.write("0 HEAD\n")
|
||||
outfile.write("1 SOUR phpGedView\n")
|
||||
outfile.write("2 VERS %s\n" % self.get_version())
|
||||
outfile.write("2 NAME phpGedView\n")
|
||||
outfile.write("2 DATA %s\n" % self.url)
|
||||
outfile.write("1 CHAR UTF-8\n")
|
||||
outfile.write("1 GEDC\n")
|
||||
outfile.write("2 VERS 5.5\n")
|
||||
outfile.write("2 FORM LINEAGE-LINKED\n")
|
||||
outfile.write("1 NOTE Dowloaded using GRAMPS PHPGedViewConnector\n")
|
||||
|
||||
self.update_progressbar(_("Fetching index list..."))
|
||||
steps = ( self.TYPE_INDI,
|
||||
self.TYPE_FAM,
|
||||
self.TYPE_SOUR,
|
||||
self.TYPE_REPO,
|
||||
self.TYPE_NOTE,
|
||||
self.TYPE_OBJE
|
||||
)
|
||||
xref_list = []
|
||||
i = 0
|
||||
for type in steps:
|
||||
self.update_progressbar( _("Fetching index list..."), i, len(steps))
|
||||
xref_list += self.list_xrefs( type)
|
||||
i += 1
|
||||
self.update_progressbar( _("Fetching records..."))
|
||||
i = 0
|
||||
junk_size = 100
|
||||
for i in range(len(xref_list)/junk_size+1):
|
||||
self.update_progressbar( _("Fetching records..."), i*junk_size, len(xref_list))
|
||||
record = self.get_records(xref_list[i*junk_size:(i+1)*junk_size])
|
||||
if record:
|
||||
for r in record:
|
||||
outfile.write(r+"\n")
|
||||
outfile.flush()
|
||||
i += 1
|
||||
|
||||
outfile.write("0 TRLR\n")
|
||||
outfile.flush()
|
||||
outfile.close()
|
||||
return outfilename
|
||||
|
||||
|
||||
def get_variable(self, name="PEDIGREE_ROOT_ID"):
|
||||
if not name:
|
||||
return None
|
||||
result = []
|
||||
request = []
|
||||
request.append( ("action", "getvar"))
|
||||
request.append( ("var", name))
|
||||
result_part = self.fetch_url_to_array( request)
|
||||
if result_part[0] == "SUCCESS":
|
||||
for x in range(1,len(result_part)):
|
||||
txt = result_part[x].strip()
|
||||
if txt and txt != "":
|
||||
result.append( txt)
|
||||
return result
|
||||
|
||||
def fetch_url_to_array(self, params):
|
||||
request_url = self.url + "gdbi.php?"
|
||||
for param in params:
|
||||
request_url += "%s=%s&" % (param)
|
||||
if self.sessionname and self.sessionid:
|
||||
request_url += "%s=%s&" % (self.sessionname,self.sessionid)
|
||||
print("fetching %s" % request_url)
|
||||
request = Request(request_url)
|
||||
request.add_header("User-Agent", "Mozilla 1.2 (Win 98 jp)")
|
||||
f = urlopen(request)
|
||||
result = []
|
||||
line = f.readline()
|
||||
while line:
|
||||
result.append(line.strip())
|
||||
line = f.readline()
|
||||
if len(result) > 0:
|
||||
return result
|
||||
return None
|
||||
|
||||
|
||||
|
||||
#
|
||||
# Wrapper that uses the PHPGedViewConnector to download
|
||||
# the GEDCOM file and import it into the database.
|
||||
#
|
||||
class phpGedViewImporter(object):
|
||||
|
||||
def __init__(self, database):
|
||||
self.db = database
|
||||
self.url = None
|
||||
self.connector = None
|
||||
|
||||
top = Glade("phpgedview.glade")
|
||||
self.url_entry = top.get_object('url_entry')
|
||||
self.version_label = top.get_object('version_label')
|
||||
self.version_label.set_text("")
|
||||
self.file_combo = top.get_object('file_combo')
|
||||
self.file_combo.hide()
|
||||
self.username_entry = top.get_object('username_entry')
|
||||
self.username_entry.hide()
|
||||
self.password_entry = top.get_object('password_entry')
|
||||
self.password_entry.hide()
|
||||
self.ok_button = top.get_object('ok_button')
|
||||
self.ok_button.connect("activate", self.on_next_pressed_cb)
|
||||
self.ok_button.connect("button_release_event", self.on_next_pressed_cb)
|
||||
self.progressbar = top.get_object('progressbar')
|
||||
self.dialog = top.toplevel
|
||||
self.dialog.show()
|
||||
|
||||
def filter_url(self, url):
|
||||
if url[:7] != "http://":
|
||||
url = "http://"+url
|
||||
if url[-1:] != "/":
|
||||
url = url + "/"
|
||||
print(url)
|
||||
return url
|
||||
|
||||
def update_progressbar(self,text,step=0,max=0):
|
||||
self.progressbar.set_text(text)
|
||||
if max > 0:
|
||||
self.progressbar.set_fraction( 1.0 * step / max)
|
||||
else:
|
||||
self.progressbar.set_fraction( 0.0)
|
||||
while Gtk.events_pending():
|
||||
Gtk.main_iteration()
|
||||
|
||||
def on_next_pressed_cb(self, widget, event=None, data=None):
|
||||
if event:
|
||||
print(event.type)
|
||||
|
||||
if not self.url or self.url != self.url_entry.get_text():
|
||||
# url entered the first time or url changed
|
||||
self.url = self.filter_url( self.url_entry.get_text())
|
||||
if self.validate_server():
|
||||
self.url_entry.set_text( self.url)
|
||||
else:
|
||||
self.update_progressbar(_("Logging in..."))
|
||||
if self.connector.connect_to_gedcom(self.file_combo.get_active_text(), self.username_entry.get_text(), self.password_entry.get_text()):
|
||||
|
||||
self.update_progressbar( _("Fetching GEDCOM..."))
|
||||
|
||||
fn = self.connector.fetch_full_gedcom()
|
||||
|
||||
self.update_progressbar( _("Importing GEDCOM..."))
|
||||
|
||||
libgedcom.GedcomParser.importData(self.db, fn)
|
||||
# done. bye.
|
||||
self.dialog.destroy()
|
||||
|
||||
else:
|
||||
self.version_label.set_text(_("Error: login failed"))
|
||||
self.update_progressbar( _("done."))
|
||||
return 1
|
||||
|
||||
def validate_server(self):
|
||||
try:
|
||||
self.update_progressbar(_("Connecting..."))
|
||||
self.connector = PHPGedViewConnector(self.url,self.update_progressbar)
|
||||
self.update_progressbar(_("Get version..."))
|
||||
version = self.connector.get_version()
|
||||
if version:
|
||||
self.version_label.set_text(_("Version %s") % version)
|
||||
self.update_progressbar(_("Reading file list..."))
|
||||
files = self.connector.list_gedcoms()
|
||||
list_store = self.file_combo.get_model()
|
||||
list_store.clear()
|
||||
for file in files:
|
||||
list_store.append([file[0],])
|
||||
self.file_combo.show()
|
||||
self.username_entry.show()
|
||||
self.password_entry.show()
|
||||
return True
|
||||
|
||||
except (ValueError, URLError, hcl.InvalidURL) as e:
|
||||
print(e)
|
||||
self.version_label.set_text(_("Error: Invalid URL"))
|
||||
self.update_progressbar(_("done."))
|
||||
return False
|
||||
|
||||
|
||||
|
||||
# TODO: This should go into PHPGedViewConnector
|
||||
def filter_url( url):
|
||||
url = url.split("?")[0] # strip params
|
||||
if url[-1:] == "/": # strip trailing slash
|
||||
url = url[:-1]
|
||||
if url[-4:] in (".php",".htm") or url[-5:] in (".html"): # strip script name
|
||||
idx = url.rfind("/")
|
||||
if idx > 1:
|
||||
url = url[:idx]
|
||||
if url[:7] != "http://": # add protocol
|
||||
url = "http://"+url
|
||||
if url[-1:] != "/": # readd trailing slash
|
||||
url = url + "/"
|
||||
return url
|
||||
|
||||
|
||||
## # for Testing
|
||||
## if __name__ == "__main__":
|
||||
## def dummy_progress( text,pos=0,max=0):
|
||||
## if max > 0:
|
||||
## percent = pos*100/max
|
||||
## print "%s: %d%%" % (text,percent)
|
||||
## else:
|
||||
## print text
|
||||
|
||||
## try:
|
||||
## f = open("/tmp/sites.txt")
|
||||
## l = f.readline()
|
||||
## while l:
|
||||
## l = filter_url(l.strip())
|
||||
## print l
|
||||
## try:
|
||||
## c = PHPGedViewConnector(l,dummy_progress)
|
||||
## c.connect_to_gedcom()
|
||||
## v = c.get_version()
|
||||
## if v:
|
||||
## print("%s\t\t%s" % (v,l))
|
||||
## c.fetch_full_gedcom()
|
||||
## except KeyboardInterrupt:
|
||||
## exit
|
||||
## l = f.readline()
|
||||
## except IOError:
|
||||
## phpGedViewImporter(None)
|
||||
## Gtk.main()
|
||||
|
||||
## else:
|
||||
## #-------------------------------------------------------------------------
|
||||
## #
|
||||
## #
|
||||
## #
|
||||
## #-------------------------------------------------------------------------
|
||||
## def phpGedViewImporterCaller(database,active_person,callback,parent=None):
|
||||
## phpGedViewImporter(database)
|
||||
|
||||
## register_tool(
|
||||
## phpGedViewImporterCaller,
|
||||
## _("Import the gedcom from a phpGedView driven website"),
|
||||
## category=_("Import"),
|
||||
## description=_("phpGedView is an open source web application that generates dynamic webpages"
|
||||
## " out of a GEDCOM file. This plugin uses the gedcom access protocol to"
|
||||
## " retrieve the gedcom file from the webserver.")
|
||||
## )
|
@ -692,8 +692,6 @@ gramps/plugins/tool/ownereditor.glade
|
||||
gramps/plugins/tool/ownereditor.py
|
||||
gramps/plugins/tool/patchnames.glade
|
||||
gramps/plugins/tool/patchnames.py
|
||||
gramps/plugins/tool/phpgedview.glade
|
||||
gramps/plugins/tool/phpgedviewconnector.py
|
||||
gramps/plugins/tool/populatesources.py
|
||||
gramps/plugins/tool/rebuild.py
|
||||
gramps/plugins/tool/rebuildgenderstat.py
|
||||
|
266
po/fr.po
266
po/fr.po
@ -26,8 +26,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 4.1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-05-28 18:27+0200\n"
|
||||
"PO-Revision-Date: 2015-05-28 19:15+0100\n"
|
||||
"POT-Creation-Date: 2015-05-29 16:26+0200\n"
|
||||
"PO-Revision-Date: 2015-05-29 16:37+0100\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: French <traduc@traduc.org>\n"
|
||||
"Language: fr\n"
|
||||
@ -3023,8 +3023,8 @@ msgstr "Correspond aux citations ayant un nombre de références"
|
||||
#: ../gramps/gui/glade/mergedata.glade:775
|
||||
#: ../gramps/gui/glade/mergemedia.glade:213
|
||||
#: ../gramps/gui/glade/mergemedia.glade:229
|
||||
#: ../gramps/gui/glade/mergeplace.glade:208
|
||||
#: ../gramps/gui/glade/mergeplace.glade:223
|
||||
#: ../gramps/gui/glade/mergeplace.glade:206
|
||||
#: ../gramps/gui/glade/mergeplace.glade:221
|
||||
#: ../gramps/gui/glade/mergesource.glade:213
|
||||
#: ../gramps/gui/glade/mergesource.glade:229
|
||||
msgid "Title:"
|
||||
@ -3847,8 +3847,8 @@ msgstr "Correspond à un objet medium avec l'identifiant Gramps spécifié"
|
||||
#: ../gramps/gui/glade/mergeevent.glade:229
|
||||
#: ../gramps/gui/glade/mergenote.glade:246
|
||||
#: ../gramps/gui/glade/mergenote.glade:262
|
||||
#: ../gramps/gui/glade/mergeplace.glade:488
|
||||
#: ../gramps/gui/glade/mergeplace.glade:505
|
||||
#: ../gramps/gui/glade/mergeplace.glade:486
|
||||
#: ../gramps/gui/glade/mergeplace.glade:503
|
||||
#: ../gramps/gui/glade/mergerepository.glade:246
|
||||
#: ../gramps/gui/glade/mergerepository.glade:262
|
||||
msgid "Type:"
|
||||
@ -4978,6 +4978,8 @@ msgstr "Correspond aux lieux ayant une donnée de citation particulière"
|
||||
#: ../gramps/gui/glade/editplaceref.glade:214
|
||||
#: ../gramps/gui/glade/mergeperson.glade:224
|
||||
#: ../gramps/gui/glade/mergeperson.glade:240
|
||||
#: ../gramps/gui/glade/mergeplace.glade:426
|
||||
#: ../gramps/gui/glade/mergeplace.glade:443
|
||||
#: ../gramps/plugins/gramplet/soundgen.py:65
|
||||
msgid "Name:"
|
||||
msgstr "Nom :"
|
||||
@ -4992,8 +4994,8 @@ msgstr "Type de lieu :"
|
||||
#: ../gramps/gen/filters/rules/place/_hasdata.py:50
|
||||
#: ../gramps/gui/glade/editplace.glade:213
|
||||
#: ../gramps/gui/glade/editplaceref.glade:444
|
||||
#: ../gramps/gui/glade/mergeplace.glade:548
|
||||
#: ../gramps/gui/glade/mergeplace.glade:565
|
||||
#: ../gramps/gui/glade/mergeplace.glade:546
|
||||
#: ../gramps/gui/glade/mergeplace.glade:563
|
||||
msgid "Code:"
|
||||
msgstr "Code :"
|
||||
|
||||
@ -5150,15 +5152,15 @@ msgstr "Correspond aux lieux avec un titre précis "
|
||||
|
||||
#: ../gramps/gen/filters/rules/place/_inlatlonneighborhood.py:49
|
||||
#: ../gramps/gui/glade/editplaceref.glade:244
|
||||
#: ../gramps/gui/glade/mergeplace.glade:239
|
||||
#: ../gramps/gui/glade/mergeplace.glade:254
|
||||
#: ../gramps/gui/glade/mergeplace.glade:237
|
||||
#: ../gramps/gui/glade/mergeplace.glade:252
|
||||
msgid "Latitude:"
|
||||
msgstr "Latitude :"
|
||||
|
||||
#: ../gramps/gen/filters/rules/place/_inlatlonneighborhood.py:49
|
||||
#: ../gramps/gui/glade/editplaceref.glade:317
|
||||
#: ../gramps/gui/glade/mergeplace.glade:270
|
||||
#: ../gramps/gui/glade/mergeplace.glade:285
|
||||
#: ../gramps/gui/glade/mergeplace.glade:268
|
||||
#: ../gramps/gui/glade/mergeplace.glade:283
|
||||
msgid "Longitude:"
|
||||
msgstr "Longitude :"
|
||||
|
||||
@ -5298,7 +5300,6 @@ msgid "Address:"
|
||||
msgstr "Adresse :"
|
||||
|
||||
#: ../gramps/gen/filters/rules/repository/_hasrepo.py:49
|
||||
#: ../gramps/plugins/tool/phpgedview.glade:206
|
||||
msgid "URL:"
|
||||
msgstr "URL :"
|
||||
|
||||
@ -6999,7 +7000,7 @@ msgid "Multiple families get merged. This is unusual, the merge is aborted."
|
||||
msgstr "Plusieurs familles ont été fusionnées. Ce n'est pas habituel, la fusion est annulée."
|
||||
|
||||
#: ../gramps/gen/merge/mergeplacequery.py:60
|
||||
#: ../gramps/gui/merge/mergeplace.py:76
|
||||
#: ../gramps/gui/merge/mergeplace.py:78
|
||||
msgid "Merge Places"
|
||||
msgstr "Fusionner les lieux"
|
||||
|
||||
@ -12054,9 +12055,7 @@ msgstr "Vous devriez plutôt sélectionner un individu ou annuler l'édition"
|
||||
|
||||
#: ../gramps/gui/editors/editplace.py:84
|
||||
#: ../gramps/gui/glade/editplace.glade:288
|
||||
#: ../gramps/gui/glade/mergeplace.glade:428
|
||||
#: ../gramps/gui/glade/mergeplace.glade:445
|
||||
#: ../gramps/gui/merge/mergeplace.py:54
|
||||
#: ../gramps/gui/merge/mergeplace.py:56
|
||||
msgid "place|Name:"
|
||||
msgstr "Nom du lieu"
|
||||
|
||||
@ -14293,8 +14292,8 @@ msgstr "Source 2 "
|
||||
#: ../gramps/gui/glade/mergenote.glade:328
|
||||
#: ../gramps/gui/glade/mergeperson.glade:290
|
||||
#: ../gramps/gui/glade/mergeperson.glade:306
|
||||
#: ../gramps/gui/glade/mergeplace.glade:301
|
||||
#: ../gramps/gui/glade/mergeplace.glade:316
|
||||
#: ../gramps/gui/glade/mergeplace.glade:299
|
||||
#: ../gramps/gui/glade/mergeplace.glade:314
|
||||
#: ../gramps/gui/glade/mergerepository.glade:279
|
||||
#: ../gramps/gui/glade/mergerepository.glade:295
|
||||
#: ../gramps/gui/glade/mergesource.glade:345
|
||||
@ -14314,7 +14313,7 @@ msgstr "Les notes, objets media et données des deux citations seront combinés.
|
||||
#: ../gramps/gui/glade/mergemedia.glade:472
|
||||
#: ../gramps/gui/glade/mergenote.glade:487
|
||||
#: ../gramps/gui/glade/mergeperson.glade:427
|
||||
#: ../gramps/gui/glade/mergeplace.glade:638
|
||||
#: ../gramps/gui/glade/mergeplace.glade:636
|
||||
#: ../gramps/gui/glade/mergerepository.glade:415
|
||||
#: ../gramps/gui/glade/mergesource.glade:529
|
||||
msgid "Detailed Selection"
|
||||
@ -14348,12 +14347,12 @@ msgid "Title selection"
|
||||
msgstr "Sélection du titre"
|
||||
|
||||
#: ../gramps/gui/glade/mergedata.glade:576
|
||||
#: ../gramps/gui/glade/mergeplace.glade:182
|
||||
#: ../gramps/gui/glade/mergeplace.glade:180
|
||||
msgid "Place 1"
|
||||
msgstr "Lieu 1"
|
||||
|
||||
#: ../gramps/gui/glade/mergedata.glade:593
|
||||
#: ../gramps/gui/glade/mergeplace.glade:196
|
||||
#: ../gramps/gui/glade/mergeplace.glade:194
|
||||
msgid "Place 2"
|
||||
msgstr "Lieu 2"
|
||||
|
||||
@ -14528,9 +14527,9 @@ msgstr ""
|
||||
" utilisées en priorité pour le lieu fusionné."
|
||||
|
||||
# trunk
|
||||
#: ../gramps/gui/glade/mergeplace.glade:622
|
||||
msgid "Alternate locations, sources, urls, media objects and notes of both places will be combined."
|
||||
msgstr "Emplacements alternatifs, sources, urls, objets media et notes des deux lieux vont être rassemblés."
|
||||
#: ../gramps/gui/glade/mergeplace.glade:620
|
||||
msgid "Alternative names, sources, urls, media objects and notes of both places will be combined."
|
||||
msgstr "Noms alternatifs, sources, urls, objets media et notes des deux lieux vont être rassemblés."
|
||||
|
||||
# trunk
|
||||
#: ../gramps/gui/glade/mergerepository.glade:98
|
||||
@ -15459,7 +15458,7 @@ msgid "Addresses"
|
||||
msgstr "Adresses"
|
||||
|
||||
# manuel wiki
|
||||
#: ../gramps/gui/merge/mergeplace.py:52
|
||||
#: ../gramps/gui/merge/mergeplace.py:54
|
||||
msgid "manual|Merge_Places"
|
||||
msgstr "Fusion des lieux"
|
||||
|
||||
@ -16923,7 +16922,6 @@ msgstr "Sauvegarde Gramps XML"
|
||||
|
||||
#: ../gramps/gui/viewmanager.py:1249
|
||||
#: ../gramps/plugins/importer/importgedcom.glade:289
|
||||
#: ../gramps/plugins/tool/phpgedview.glade:158
|
||||
msgid "File:"
|
||||
msgstr "Fichier :"
|
||||
|
||||
@ -29973,22 +29971,22 @@ msgstr "Vérifier et réparer"
|
||||
# master
|
||||
#: ../gramps/plugins/tool/dateparserdisplaytest.py:67
|
||||
msgid "Start date test?"
|
||||
msgstr ""
|
||||
msgstr "Démarrer le test sur la date ?"
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/dateparserdisplaytest.py:68
|
||||
msgid "This test will create many persons and events in the current database. Do you really want to run this test?"
|
||||
msgstr ""
|
||||
msgstr "Ce test va créer de nombreuses personnes et événements dans votre base de données actuelle. Voulez-vous vraiment lancer ce test ?"
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/dateparserdisplaytest.py:71
|
||||
msgid "Run test"
|
||||
msgstr ""
|
||||
msgstr "Lancer le test"
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/dateparserdisplaytest.py:80
|
||||
msgid "Running Date Test"
|
||||
msgstr ""
|
||||
msgstr "Lancement du test sur la date"
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/dateparserdisplaytest.py:82
|
||||
@ -30044,16 +30042,14 @@ msgstr "Génération des dates"
|
||||
#. (4,7,1789,False,5,88,1876,False),"Text comment")
|
||||
#. dates.append( d)
|
||||
#: ../gramps/plugins/tool/dateparserdisplaytest.py:181
|
||||
#, fuzzy
|
||||
msgid "Date Test Plugin"
|
||||
msgstr "Greffons chargés"
|
||||
msgstr "Greffon de test sur les dates"
|
||||
|
||||
# master
|
||||
#. create pass and fail tags
|
||||
#: ../gramps/plugins/tool/dateparserdisplaytest.py:187
|
||||
#, fuzzy
|
||||
msgid "Pass"
|
||||
msgstr "Pâque juive"
|
||||
msgstr "Processus"
|
||||
|
||||
# trunk
|
||||
#: ../gramps/plugins/tool/dumpgenderstats.py:46
|
||||
@ -30684,104 +30680,6 @@ msgstr "Nom de famille composé"
|
||||
msgid "Extract information from names"
|
||||
msgstr "Extraire les données depuis les noms"
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/phpgedview.glade:19
|
||||
#: ../gramps/plugins/tool/phpgedview.glade:85
|
||||
#, fuzzy
|
||||
msgid "phpGedView import"
|
||||
msgstr "Importation GeneWeb"
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/phpgedview.glade:103
|
||||
msgid "http://"
|
||||
msgstr "http://"
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/phpgedview.glade:170
|
||||
#, fuzzy
|
||||
msgid "Username:"
|
||||
msgstr "Nom de famille"
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/phpgedview.glade:182
|
||||
#, fuzzy
|
||||
msgid "Password:"
|
||||
msgstr "Pâque juive"
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:204
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:215
|
||||
msgid "Fetching index list..."
|
||||
msgstr ""
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:218
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:222
|
||||
#, fuzzy
|
||||
msgid "Fetching records..."
|
||||
msgstr "Enregistrement manquant "
|
||||
|
||||
# Substantif (GNOME fr)
|
||||
# master
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:327
|
||||
#, fuzzy
|
||||
msgid "Logging in..."
|
||||
msgstr "Chargement des greffons..."
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:330
|
||||
msgid "Fetching GEDCOM..."
|
||||
msgstr ""
|
||||
|
||||
# Substantif (GNOME fr)
|
||||
# master
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:334
|
||||
#, fuzzy
|
||||
msgid "Importing GEDCOM..."
|
||||
msgstr "Importation des données..."
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:341
|
||||
#, fuzzy
|
||||
msgid "Error: login failed"
|
||||
msgstr "Erreur à l'ouverture du fichier."
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:342
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:367
|
||||
msgid "done."
|
||||
msgstr "fait."
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:347
|
||||
#, fuzzy
|
||||
msgid "Connecting..."
|
||||
msgstr "Sélection en cours..."
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:349
|
||||
#, fuzzy
|
||||
msgid "Get version..."
|
||||
msgstr "Version du schéma"
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:352
|
||||
#, fuzzy, python-format
|
||||
msgid "Version %s"
|
||||
msgstr "Version"
|
||||
|
||||
# Substantif (GNOME fr)
|
||||
# master
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:353
|
||||
#, fuzzy
|
||||
msgid "Reading file list..."
|
||||
msgstr "Lecture des données..."
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:366
|
||||
msgid "Error: Invalid URL"
|
||||
msgstr ""
|
||||
|
||||
# trunk
|
||||
# Substantif (GNOME fr)
|
||||
#: ../gramps/plugins/tool/rebuild.py:77
|
||||
@ -31045,9 +30943,8 @@ msgstr "Trier les événements familiaux de l'individu"
|
||||
# master
|
||||
#: ../gramps/plugins/tool/testcasegenerator.py:195
|
||||
#: ../gramps/plugins/tool/testcasegenerator.py:200
|
||||
#, fuzzy
|
||||
msgid "Generate testcases"
|
||||
msgstr "Filtres généraux"
|
||||
msgstr "Génère des tests de cas"
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/testcasegenerator.py:204
|
||||
@ -31055,42 +30952,38 @@ msgid ""
|
||||
"Generate low level database errors\n"
|
||||
"Correction needs database reload"
|
||||
msgstr ""
|
||||
"Génère des erreurs de bas niveau sur la base\n"
|
||||
"La correction nécessite de relancer la base de données."
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/testcasegenerator.py:209
|
||||
#, fuzzy
|
||||
msgid "Generate database errors"
|
||||
msgstr "Erreur de donnée Pro-Gen"
|
||||
msgstr "Génère des erreurs dans la base de données"
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/testcasegenerator.py:213
|
||||
#, fuzzy
|
||||
msgid "Generate dummy data"
|
||||
msgstr "Généré par"
|
||||
msgstr "Génère des données"
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/testcasegenerator.py:218
|
||||
#, fuzzy
|
||||
msgid "Generate long names"
|
||||
msgstr "Générations "
|
||||
msgstr "Génération de noms longs"
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/testcasegenerator.py:222
|
||||
#, fuzzy
|
||||
msgid "Add special characters"
|
||||
msgstr "Caractère %s illégal"
|
||||
msgstr "Ajout d'un caractère spécial"
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/testcasegenerator.py:226
|
||||
#, fuzzy
|
||||
msgid "Add serial number"
|
||||
msgstr "Numéro d'identifiant"
|
||||
msgstr "Ajout d'un numéro d'identifiant"
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/testcasegenerator.py:230
|
||||
#, fuzzy
|
||||
msgid "Add line break"
|
||||
msgstr "Ajouter un retrait après le nom"
|
||||
msgstr "Ajout d'une coupure de ligne"
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/testcasegenerator.py:234
|
||||
@ -31098,30 +30991,29 @@ msgid ""
|
||||
"Number of people to generate\n"
|
||||
"(Number is approximate because families are generated)"
|
||||
msgstr ""
|
||||
"Nombre d'individus à générer\n"
|
||||
"(le nombre est approximatif car des familles sont générées)"
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/testcasegenerator.py:284
|
||||
#, fuzzy
|
||||
msgid "Generating testcases"
|
||||
msgstr "Création du rapport"
|
||||
msgstr "Génération de tests de cas"
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/testcasegenerator.py:289
|
||||
msgid "Generating low level database errors"
|
||||
msgstr ""
|
||||
msgstr "Génération d'erreurs de bas niveau sur la base de données"
|
||||
|
||||
# Substantif (GNOME fr)
|
||||
# master
|
||||
#: ../gramps/plugins/tool/testcasegenerator.py:301
|
||||
#, fuzzy
|
||||
msgid "Generating families"
|
||||
msgstr "Écriture des familles"
|
||||
msgstr "Génération de familles"
|
||||
|
||||
# master
|
||||
#: ../gramps/plugins/tool/testcasegenerator.py:332
|
||||
#, fuzzy
|
||||
msgid "Generating database errors"
|
||||
msgstr "Création du rapport"
|
||||
msgstr "Génération d'erreurs dans la base de données"
|
||||
|
||||
# master
|
||||
#. Creates a media object with character encoding errors. This tests
|
||||
@ -31193,7 +31085,7 @@ msgstr "Création du rapport"
|
||||
#: ../gramps/plugins/tool/testcasegenerator.py:1449
|
||||
#, python-format
|
||||
msgid "Testcase generator step %d"
|
||||
msgstr ""
|
||||
msgstr "Générateur de test de cas, étape %d"
|
||||
|
||||
#: ../gramps/plugins/tool/tools.gpr.py:35
|
||||
msgid "Fix Capitalization of Family Names"
|
||||
@ -34239,6 +34131,70 @@ msgstr "Au moins une règle doit correspondre"
|
||||
msgid "Exactly one rule must apply"
|
||||
msgstr "Une seule règle doit correspondre"
|
||||
|
||||
# master
|
||||
#, fuzzy
|
||||
#~ msgid "phpGedView import"
|
||||
#~ msgstr "Importation GeneWeb"
|
||||
|
||||
# master
|
||||
#~ msgid "http://"
|
||||
#~ msgstr "http://"
|
||||
# master
|
||||
#, fuzzy
|
||||
#~ msgid "Username:"
|
||||
#~ msgstr "Nom de famille"
|
||||
|
||||
# master
|
||||
#, fuzzy
|
||||
#~ msgid "Password:"
|
||||
#~ msgstr "Pâque juive"
|
||||
|
||||
# master
|
||||
#, fuzzy
|
||||
#~ msgid "Fetching records..."
|
||||
#~ msgstr "Enregistrement manquant "
|
||||
|
||||
# Substantif (GNOME fr)
|
||||
# master
|
||||
#, fuzzy
|
||||
#~ msgid "Logging in..."
|
||||
#~ msgstr "Chargement des greffons..."
|
||||
|
||||
# Substantif (GNOME fr)
|
||||
# master
|
||||
#, fuzzy
|
||||
#~ msgid "Importing GEDCOM..."
|
||||
#~ msgstr "Importation des données..."
|
||||
|
||||
# master
|
||||
#, fuzzy
|
||||
#~ msgid "Error: login failed"
|
||||
#~ msgstr "Erreur à l'ouverture du fichier."
|
||||
|
||||
# master
|
||||
#~ msgid "done."
|
||||
#~ msgstr "fait."
|
||||
# master
|
||||
#, fuzzy
|
||||
#~ msgid "Connecting..."
|
||||
#~ msgstr "Sélection en cours..."
|
||||
|
||||
# master
|
||||
#, fuzzy
|
||||
#~ msgid "Get version..."
|
||||
#~ msgstr "Version du schéma"
|
||||
|
||||
# master
|
||||
#, fuzzy
|
||||
#~ msgid "Version %s"
|
||||
#~ msgstr "Version"
|
||||
|
||||
# Substantif (GNOME fr)
|
||||
# master
|
||||
#, fuzzy
|
||||
#~ msgid "Reading file list..."
|
||||
#~ msgstr "Lecture des données..."
|
||||
|
||||
#~ msgid "Cannot save place"
|
||||
#~ msgstr "Impossible d'enregistrer le lieu"
|
||||
|
||||
|
117
po/gramps.pot
117
po/gramps.pot
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-05-28 18:27+0200\n"
|
||||
"POT-Creation-Date: 2015-05-29 16:26+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -2925,8 +2925,8 @@ msgstr ""
|
||||
#: ../gramps/gui/glade/mergedata.glade:775
|
||||
#: ../gramps/gui/glade/mergemedia.glade:213
|
||||
#: ../gramps/gui/glade/mergemedia.glade:229
|
||||
#: ../gramps/gui/glade/mergeplace.glade:208
|
||||
#: ../gramps/gui/glade/mergeplace.glade:223
|
||||
#: ../gramps/gui/glade/mergeplace.glade:206
|
||||
#: ../gramps/gui/glade/mergeplace.glade:221
|
||||
#: ../gramps/gui/glade/mergesource.glade:213
|
||||
#: ../gramps/gui/glade/mergesource.glade:229
|
||||
msgid "Title:"
|
||||
@ -3708,8 +3708,8 @@ msgstr ""
|
||||
#: ../gramps/gui/glade/mergeevent.glade:229
|
||||
#: ../gramps/gui/glade/mergenote.glade:246
|
||||
#: ../gramps/gui/glade/mergenote.glade:262
|
||||
#: ../gramps/gui/glade/mergeplace.glade:488
|
||||
#: ../gramps/gui/glade/mergeplace.glade:505
|
||||
#: ../gramps/gui/glade/mergeplace.glade:486
|
||||
#: ../gramps/gui/glade/mergeplace.glade:503
|
||||
#: ../gramps/gui/glade/mergerepository.glade:246
|
||||
#: ../gramps/gui/glade/mergerepository.glade:262
|
||||
msgid "Type:"
|
||||
@ -4771,6 +4771,8 @@ msgstr ""
|
||||
#: ../gramps/gui/glade/editplaceref.glade:214
|
||||
#: ../gramps/gui/glade/mergeperson.glade:224
|
||||
#: ../gramps/gui/glade/mergeperson.glade:240
|
||||
#: ../gramps/gui/glade/mergeplace.glade:426
|
||||
#: ../gramps/gui/glade/mergeplace.glade:443
|
||||
#: ../gramps/plugins/gramplet/soundgen.py:65
|
||||
msgid "Name:"
|
||||
msgstr ""
|
||||
@ -4784,8 +4786,8 @@ msgstr ""
|
||||
#: ../gramps/gen/filters/rules/place/_hasdata.py:50
|
||||
#: ../gramps/gui/glade/editplace.glade:213
|
||||
#: ../gramps/gui/glade/editplaceref.glade:444
|
||||
#: ../gramps/gui/glade/mergeplace.glade:548
|
||||
#: ../gramps/gui/glade/mergeplace.glade:565
|
||||
#: ../gramps/gui/glade/mergeplace.glade:546
|
||||
#: ../gramps/gui/glade/mergeplace.glade:563
|
||||
msgid "Code:"
|
||||
msgstr ""
|
||||
|
||||
@ -4926,15 +4928,15 @@ msgstr ""
|
||||
|
||||
#: ../gramps/gen/filters/rules/place/_inlatlonneighborhood.py:49
|
||||
#: ../gramps/gui/glade/editplaceref.glade:244
|
||||
#: ../gramps/gui/glade/mergeplace.glade:239
|
||||
#: ../gramps/gui/glade/mergeplace.glade:254
|
||||
#: ../gramps/gui/glade/mergeplace.glade:237
|
||||
#: ../gramps/gui/glade/mergeplace.glade:252
|
||||
msgid "Latitude:"
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/gen/filters/rules/place/_inlatlonneighborhood.py:49
|
||||
#: ../gramps/gui/glade/editplaceref.glade:317
|
||||
#: ../gramps/gui/glade/mergeplace.glade:270
|
||||
#: ../gramps/gui/glade/mergeplace.glade:285
|
||||
#: ../gramps/gui/glade/mergeplace.glade:268
|
||||
#: ../gramps/gui/glade/mergeplace.glade:283
|
||||
msgid "Longitude:"
|
||||
msgstr ""
|
||||
|
||||
@ -5070,7 +5072,6 @@ msgid "Address:"
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/gen/filters/rules/repository/_hasrepo.py:49
|
||||
#: ../gramps/plugins/tool/phpgedview.glade:206
|
||||
msgid "URL:"
|
||||
msgstr ""
|
||||
|
||||
@ -6644,7 +6645,7 @@ msgid "Multiple families get merged. This is unusual, the merge is aborted."
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/gen/merge/mergeplacequery.py:60
|
||||
#: ../gramps/gui/merge/mergeplace.py:76
|
||||
#: ../gramps/gui/merge/mergeplace.py:78
|
||||
msgid "Merge Places"
|
||||
msgstr ""
|
||||
|
||||
@ -11371,9 +11372,7 @@ msgstr ""
|
||||
|
||||
#: ../gramps/gui/editors/editplace.py:84
|
||||
#: ../gramps/gui/glade/editplace.glade:288
|
||||
#: ../gramps/gui/glade/mergeplace.glade:428
|
||||
#: ../gramps/gui/glade/mergeplace.glade:445
|
||||
#: ../gramps/gui/merge/mergeplace.py:54
|
||||
#: ../gramps/gui/merge/mergeplace.py:56
|
||||
msgid "place|Name:"
|
||||
msgstr ""
|
||||
|
||||
@ -13521,8 +13520,8 @@ msgstr ""
|
||||
#: ../gramps/gui/glade/mergenote.glade:328
|
||||
#: ../gramps/gui/glade/mergeperson.glade:290
|
||||
#: ../gramps/gui/glade/mergeperson.glade:306
|
||||
#: ../gramps/gui/glade/mergeplace.glade:301
|
||||
#: ../gramps/gui/glade/mergeplace.glade:316
|
||||
#: ../gramps/gui/glade/mergeplace.glade:299
|
||||
#: ../gramps/gui/glade/mergeplace.glade:314
|
||||
#: ../gramps/gui/glade/mergerepository.glade:279
|
||||
#: ../gramps/gui/glade/mergerepository.glade:295
|
||||
#: ../gramps/gui/glade/mergesource.glade:345
|
||||
@ -13540,7 +13539,7 @@ msgstr ""
|
||||
#: ../gramps/gui/glade/mergemedia.glade:472
|
||||
#: ../gramps/gui/glade/mergenote.glade:487
|
||||
#: ../gramps/gui/glade/mergeperson.glade:427
|
||||
#: ../gramps/gui/glade/mergeplace.glade:638
|
||||
#: ../gramps/gui/glade/mergeplace.glade:636
|
||||
#: ../gramps/gui/glade/mergerepository.glade:415
|
||||
#: ../gramps/gui/glade/mergesource.glade:529
|
||||
msgid "Detailed Selection"
|
||||
@ -13573,12 +13572,12 @@ msgid "Title selection"
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/gui/glade/mergedata.glade:576
|
||||
#: ../gramps/gui/glade/mergeplace.glade:182
|
||||
#: ../gramps/gui/glade/mergeplace.glade:180
|
||||
msgid "Place 1"
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/gui/glade/mergedata.glade:593
|
||||
#: ../gramps/gui/glade/mergeplace.glade:196
|
||||
#: ../gramps/gui/glade/mergeplace.glade:194
|
||||
msgid "Place 2"
|
||||
msgstr ""
|
||||
|
||||
@ -13709,9 +13708,9 @@ msgid ""
|
||||
"primary data for the merged place."
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/gui/glade/mergeplace.glade:622
|
||||
#: ../gramps/gui/glade/mergeplace.glade:620
|
||||
msgid ""
|
||||
"Alternate locations, sources, urls, media objects and notes of both places "
|
||||
"Alternative names, sources, urls, media objects and notes of both places "
|
||||
"will be combined."
|
||||
msgstr ""
|
||||
|
||||
@ -14569,7 +14568,7 @@ msgstr ""
|
||||
msgid "Addresses"
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/gui/merge/mergeplace.py:52
|
||||
#: ../gramps/gui/merge/mergeplace.py:54
|
||||
msgid "manual|Merge_Places"
|
||||
msgstr ""
|
||||
|
||||
@ -15930,7 +15929,6 @@ msgstr ""
|
||||
|
||||
#: ../gramps/gui/viewmanager.py:1249
|
||||
#: ../gramps/plugins/importer/importgedcom.glade:289
|
||||
#: ../gramps/plugins/tool/phpgedview.glade:158
|
||||
msgid "File:"
|
||||
msgstr ""
|
||||
|
||||
@ -29251,75 +29249,6 @@ msgstr ""
|
||||
msgid "Extract information from names"
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/plugins/tool/phpgedview.glade:19
|
||||
#: ../gramps/plugins/tool/phpgedview.glade:85
|
||||
msgid "phpGedView import"
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/plugins/tool/phpgedview.glade:103
|
||||
msgid "http://"
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/plugins/tool/phpgedview.glade:170
|
||||
msgid "Username:"
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/plugins/tool/phpgedview.glade:182
|
||||
msgid "Password:"
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:204
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:215
|
||||
msgid "Fetching index list..."
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:218
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:222
|
||||
msgid "Fetching records..."
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:327
|
||||
msgid "Logging in..."
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:330
|
||||
msgid "Fetching GEDCOM..."
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:334
|
||||
msgid "Importing GEDCOM..."
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:341
|
||||
msgid "Error: login failed"
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:342
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:367
|
||||
msgid "done."
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:347
|
||||
msgid "Connecting..."
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:349
|
||||
msgid "Get version..."
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:352
|
||||
#, python-format
|
||||
msgid "Version %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:353
|
||||
msgid "Reading file list..."
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/plugins/tool/phpgedviewconnector.py:366
|
||||
msgid "Error: Invalid URL"
|
||||
msgstr ""
|
||||
|
||||
#: ../gramps/plugins/tool/rebuild.py:77
|
||||
msgid "Rebuilding secondary indexes..."
|
||||
msgstr ""
|
||||
|
Loading…
Reference in New Issue
Block a user