From 5a950b20ac5b26d9a1f0646e3647dd61f9a15d89 Mon Sep 17 00:00:00 2001 From: Bart Feenstra Date: Thu, 8 Feb 2024 13:19:35 +0000 Subject: [PATCH] Fix errors with translations. --- betty/assets/locale/de-DE/betty.po | 409 +++++++++++++---------------- betty/assets/locale/fr-FR/betty.po | 210 +++++++-------- betty/assets/locale/nl-NL/betty.po | 312 ++++++++++------------ betty/assets/locale/uk/betty.po | 264 +++++++------------ 4 files changed, 532 insertions(+), 663 deletions(-) diff --git a/betty/assets/locale/de-DE/betty.po b/betty/assets/locale/de-DE/betty.po index cb7fd9778..d09d52f9f 100644 --- a/betty/assets/locale/de-DE/betty.po +++ b/betty/assets/locale/de-DE/betty.po @@ -8,51 +8,52 @@ msgstr "" "Project-Id-Version: Betty VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-02-01 15:27+0000\n" -"PO-Revision-Date: 2024-01-13 22:34+0100\n" -"Last-Translator: Rainer Thieringer \n" -"Language: de\n" +"PO-Revision-Date: 2024-02-08 13:24+0000\n" +"Last-Translator: Bart Feenstra \n" "Language-Team: rainerthi@gmail.com\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.14.0\n" +"X-Generator: Poedit 3.2.2\n" msgid "" "\n" -" Betty is an application that takes a family tree and " -"builds a website out of it, much like the one you\n" -" are viewing right now. The more information your " -"genealogical research contains, the more interactivity\n" -" Betty can add to your site, such as media galleries, " -"maps, and browsable family trees.\n" +" Betty is an application that takes a family tree and builds a " +"website out of it, much like the one you\n" +" are viewing right now. The more information your genealogical " +"research contains, the more interactivity\n" +" Betty can add to your site, such as media galleries, maps, and " +"browsable family trees.\n" " " msgstr "" "\n" -" Betty ist eine Anwendung, die aus Familienstammbäumen " -"Webseiten bauen kann, so ähnlich, wie diese Seite, \n" +" Betty ist eine Anwendung, die aus Familienstammbäumen Webseiten " +"bauen kann, so ähnlich, wie diese Seite, \n" " die du dir gerade anschaust. Je mehr Information deine " "genealogische Forschung beinhaltet, desto mehr \n" -" Interaktion kann Betty zu deiner Seite beitragen . Betty " -"kann Medien-Gallerien, Karten und verlinkte \n" +" Interaktion kann Betty zu deiner Seite beitragen . Betty kann " +"Medien-Gallerien, Karten und verlinkte \n" " Stammbäume erzeugen.\n" " " #, python-format msgid "" "\n" -" Betty was named after %(liberta_lankester_label)s, and " -"this website shows a small sample of her family\n" -" history. You can browse the pages about her and some of " -"her family to get an idea of what a Betty site\n" +" Betty was named after %(liberta_lankester_label)s, and this " +"website shows a small sample of her family\n" +" history. You can browse the pages about her and some of her " +"family to get an idea of what a Betty site\n" " looks like.\n" " " msgstr "" "\n" -" Betty ist benannt nach %(liberta_lankester_label)s und " -"diese Webseite zeigt einen kleinen Auszug aus\n" -" ihrer Familiengeschichte. Du kannst die Seiten " -"durchsuchen und so einen ersten Eindruck darüber\n" +" Betty ist benannt nach %(liberta_lankester_label)s und diese " +"Webseite zeigt einen kleinen Auszug aus\n" +" ihrer Familiengeschichte. Du kannst die Seiten durchsuchen und " +"so einen ersten Eindruck darüber\n" " gewinnen, was eine Betty Seite leisten kann.\n" " " @@ -69,21 +70,20 @@ msgstr "" #, python-format msgid "" "\n" -"Display Wikipedia summaries " -"for resources with external links. In your custom Jinja2 " -"templates, use the following:
\n"
+"Display Wikipedia summaries for "
+"resources with external links. In your custom Jinja2 templates, use the following: "
+"
\n"
 "{{% with resource=resource_with_links %}}\n"
 "    {{% include 'wikipedia.html.j2' %}}\n"
 "{{% endwith %}}\n"
 "
" msgstr "" "\n" -"Zeige Wikipedia " -"Zusammenfassungen für Ressourcen mit externen Links. In deinen " -"angepassten Jinja2 " -"templates, verwende den folgenden:
\n"
+"Zeige Wikipedia Zusammenfassungen für "
+"Ressourcen mit externen Links. In deinen angepassten Jinja2 templates, verwende den "
+"folgenden: 
\n"
 "{{% with resource=resource_with_links %}}\n"
 "    {{% include 'wikipedia.html.j2' %}}\n"
 "{{% endwith %}}\n"
@@ -123,8 +123,7 @@ msgid_plural ""
 "%(co_parent_labels)s."
 msgstr[0] "%(person_individual_name)s hat ein Kind mit  %(co_parent_labels)s."
 msgstr[1] ""
-"%(person_individual_name)s hat %(child_count)s Kinder mit "
-"%(co_parent_labels)s."
+"%(person_individual_name)s hat %(child_count)s Kinder mit %(co_parent_labels)s."
 
 #, python-format
 msgid "%(person_individual_name)s had a child."
@@ -137,20 +136,18 @@ msgid "%(person_individual_name)s is the child of %(parent_labels)s."
 msgstr "%(person_individual_name)s ist Kind von %(parent_labels)s."
 
 msgid ""
-"Copyright"
-" Wikipedia and its contributors."
+"Copyright "
+"Wikipedia and its contributors."
 msgstr ""
-"Copyright"
-" Wikipedia und Beitragende."
+"Copyright "
+"Wikipedia und Beitragende."
 
 msgid ""
-"A family history as told by Betty👵"
+"A family history as told by Betty👵"
 msgstr ""
-"Eine Familiengeschichte erzählt von Betty👵"
+"Eine Familiengeschichte erzählt von Betty👵"
 
 msgid "API documentation"
 msgstr "API Dokumentation"
@@ -191,26 +188,24 @@ msgid "Also known as %(names)s"
 msgstr "Auch bekannt als %(names)s"
 
 msgid ""
-"An optional alias is used instead of the locale code to identify this "
-"locale, such as in URLs. If US English is the only English language "
-"variant on your site, you may want to alias its language code from en-US to en, for instance."
+"An optional alias is used instead of the locale code to identify this locale, "
+"such as in URLs. If US English is the only English language variant on your "
+"site, you may want to alias its language code from en-US to "
+"en, for instance."
 msgstr ""
-"Ein optionaler Alias wird anstelle des Gebietsschema-Codes verwendet, um "
-"dieses Gebietsschema z.B. in URLs zu identifizieren. Wenn US-Englisch die"
-" einzige englische Sprachvariante auf Ihrer Website ist, können Sie "
-"beispielsweise statt Sprachcodes en-US den Alias  "
-"en verwenden."
+"Ein optionaler Alias wird anstelle des Gebietsschema-Codes verwendet, um dieses "
+"Gebietsschema z.B. in URLs zu identifizieren. Wenn US-Englisch die einzige "
+"englische Sprachvariante auf Ihrer Website ist, können Sie beispielsweise statt "
+"Sprachcodes en-US den Alias  en verwenden."
 
 msgid ""
-"An unexpected error occurred and Betty could not complete the task. "
-"Please report this problem and include the "
-"following details, so the team behind Betty can address it."
+"An unexpected error occurred and Betty could not complete the task. Please report this problem and include the following details, "
+"so the team behind Betty can address it."
 msgstr ""
-"Ein unerwarteter Fehler ist aufgetreten und Betty konnte die Aufgabe "
-"nicht beenden. Bitte melde dieses Problem "
-"und für die folgenden Details bei, so dass das Team hinter Betty die "
-"Ursache suchen kann."
+"Ein unerwarteter Fehler ist aufgetreten und Betty konnte die Aufgabe nicht "
+"beenden. Bitte melde dieses Problem und für die "
+"folgenden Details bei, so dass das Team hinter Betty die Ursache suchen kann."
 
 msgid "Ancestral names include"
 msgstr "Zu den Namen der Vorfahren gehören"
@@ -241,34 +236,31 @@ msgstr "Betty Dokumentation"
 
 msgid ""
 "Betty helps you visualize and publish your family history by building "
-"interactive genealogy websites out of your Gramps and GEDCOM "
-"family trees."
+"interactive genealogy websites out of your Gramps "
+"and GEDCOM family trees."
 msgstr ""
 "Betty hilft dir, dein Familiengeschichte zu visualisieren und zu "
-"veröffentlichen, indem sie aus deinen Gramps"
-" und GEDCOM Stammbäumen interaktive "
-"Genealogie-Websites erstellt."
+"veröffentlichen, indem sie aus deinen Gramps und GEDCOM Stammbäumen interaktive Genealogie-Websites "
+"erstellt."
 
 msgid ""
 "Betty is unfamiliar with Gramps event \"{event_id}\"'s type of "
 "\"{gramps_event_type}\". The event was imported, but its type was set to "
 "\"{betty_event_type}\"."
 msgstr ""
-"Betty ist mit dem Typ \"{gramps_event_type}\" von Gramps Ereignis "
-"\"{event_id}\" nicht vertraut. Das Ereignis wurde importiert, aber sein "
-"Typ wurde auf \"{betty_event_type}\" gesetzt."
+"Betty ist mit dem Typ \"{gramps_event_type}\" von Gramps Ereignis \"{event_id}\" "
+"nicht vertraut. Das Ereignis wurde importiert, aber sein Typ wurde auf "
+"\"{betty_event_type}\" gesetzt."
 
 msgid ""
-"Betty is unfamiliar with person \"{person_id}\"'s Gramps presence role of"
-" \"{gramps_presence_role}\" for the event with Gramps handle "
-"\"{event_handle}\". The role was imported, but set to "
-"\"{betty_presence_role}\"."
+"Betty is unfamiliar with person \"{person_id}\"'s Gramps presence role of "
+"\"{gramps_presence_role}\" for the event with Gramps handle \"{event_handle}\". "
+"The role was imported, but set to \"{betty_presence_role}\"."
 msgstr ""
 "Betty kennt die Anwesenheitsrolle \"{gramps_presence_role}\" der Person "
-"\"{person_id}\" für das Ereignis mit dem Gramps-Handle \"{event_handle}\""
-" nicht. Die Rolle wurde importiert, aber auf \"{betty_presence_role}\" "
-"gesetzt."
+"\"{person_id}\" für das Ereignis mit dem Gramps-Handle \"{event_handle}\" nicht. "
+"Die Rolle wurde importiert, aber auf \"{betty_presence_role}\" gesetzt."
 
 msgid "Betty project configuration ({supported_formats})"
 msgstr "Betty-Projektkonfiguration ({supported_formats})"
@@ -295,29 +287,27 @@ msgid "Cancel"
 msgstr "Abbrechen"
 
 msgid ""
-"Cannot determine the entity type for \"{entity_type}\". Did you perhaps "
-"make a typo, or could it be that the entity type comes from another "
-"package that is not yet installed?"
+"Cannot determine the entity type for \"{entity_type}\". Did you perhaps make a "
+"typo, or could it be that the entity type comes from another package that is not "
+"yet installed?"
 msgstr ""
-"Der Entitätstyp für \"{entity_type}\" kann nicht ermittelt werden. Haben "
-"Sie vielleicht einen Tippfehler gemacht, oder könnte es sein, dass der "
-"Entitätstyp aus einem anderen Paket stammt, das noch nicht installiert "
-"ist?"
+"Der Entitätstyp für \"{entity_type}\" kann nicht ermittelt werden. Haben Sie "
+"vielleicht einen Tippfehler gemacht, oder könnte es sein, dass der Entitätstyp "
+"aus einem anderen Paket stammt, das noch nicht installiert ist?"
 
 msgid ""
-"Cannot determine the extension type for \"{extension_type}\". Did you "
-"perhaps make a typo, or could it be that the extension type comes from "
-"another package that is not yet installed?"
+"Cannot determine the extension type for \"{extension_type}\". Did you perhaps "
+"make a typo, or could it be that the extension type comes from another package "
+"that is not yet installed?"
 msgstr ""
-"Der Erweiterungstyp für \"{extension_type}\" kann nicht ermittelt werden."
-" Haben Sie sich vielleicht vertippt, oder könnte es sein, dass der "
-"Erweiterungstyp aus einem anderen Paket stammt, das noch nicht "
-"installiert ist?"
+"Der Erweiterungstyp für \"{extension_type}\" kann nicht ermittelt werden. Haben "
+"Sie sich vielleicht vertippt, oder könnte es sein, dass der Erweiterungstyp aus "
+"einem anderen Paket stammt, das noch nicht installiert ist?"
 
 msgid "Cannot find an available port to bind the web server to."
 msgstr ""
-"Es wurde kein verfügbarer Port gefunden, an den der Webserver gebunden "
-"werden kann."
+"Es wurde kein verfügbarer Port gefunden, an den der Webserver gebunden werden "
+"kann."
 
 msgid "Cannot find and import \"{entity_type}\"."
 msgstr "Kann \"{entity_type}\" nicht finden und importieren."
@@ -326,18 +316,17 @@ msgid "Cannot find and import \"{extension_type}\"."
 msgstr "Kann \"{extension_type}\" nicht finden und importieren."
 
 msgid ""
-"Cannot generate pages for {entity_type}, because it is not a user-facing "
-"entity type."
+"Cannot generate pages for {entity_type}, because it is not a user-facing entity "
+"type."
 msgstr ""
-"Es können keine Seiten für {entity_type} erzeugt werden, da es sich nicht"
-" um einen benutzerorientierten Entitätstyp handelt."
+"Es können keine Seiten für {entity_type} erzeugt werden, da es sich nicht um "
+"einen benutzerorientierten Entitätstyp handelt."
 
 msgid ""
-"Cannot load coordinates \"{coordinates}\", because they are in an unknown"
-" format."
+"Cannot load coordinates \"{coordinates}\", because they are in an unknown format."
 msgstr ""
-"Die Koordinaten \"{coordinates}\" können nicht geladen werden, da sie in "
-"einem unbekannten Format vorliegen."
+"Die Koordinaten \"{coordinates}\" können nicht geladen werden, da sie in einem "
+"unbekannten Format vorliegen."
 
 msgid "Cannot remove the last remaining locale {locale}"
 msgstr "Kann das letzte verbleibende Gebietsschema {locale} nicht entfernen"
@@ -377,15 +366,13 @@ msgid "Continue reading on Wikipedia."
 msgstr "Auf Wikipedia weiterlesen."
 
 msgid ""
-"Copyright 2019-{year} Bart Feenstra & contributors. Betty is made "
-"available to you under the GNU General Public "
-"License, Version 3 (GPLv3)."
+"Copyright 2019-{year} Bart Feenstra & contributors. Betty is made available to "
+"you under the GNU "
+"General Public License, Version 3 (GPLv3)."
 msgstr ""
-"Copyright 2019-{year} Bart Feenstra & Beitragende. Betty wird "
-"bereitgestellt unter der GNU General Public "
-"License, Version 3 (GPLv3)."
+"Copyright 2019-{year} Bart Feenstra & Beitragende. Betty wird bereitgestellt "
+"unter der GNU General "
+"Public License, Version 3 (GPLv3)."
 
 msgid "Correspondence"
 msgstr "Schriftverkehr"
@@ -397,38 +384,37 @@ msgid "Could not extract {file_path} as a gzip (*.gz) file."
 msgstr "Konnte {file_path} nicht als gzip (*.gz) Date extrahieren."
 
 msgid ""
-"Could not extract {file_path} as a tar (*.tar) file after extracting the "
-"outer gzip (*.gz) file."
+"Could not extract {file_path} as a tar (*.tar) file after extracting the outer "
+"gzip (*.gz) file."
 msgstr ""
-"Konnte {file_path} nicht als tar-Datei (*.tar) extrahieren, nachdem die "
-"äußere gzip-Datei (*.gz) extrahiert wurde."
+"Konnte {file_path} nicht als tar-Datei (*.tar) extrahieren, nachdem die äußere "
+"gzip-Datei (*.gz) extrahiert wurde."
 
 msgid "Could not find the file \"{file_path}\"."
 msgstr "Konnte die Datei \"{file_path}\" nicht finden."
 
 msgid ""
-"Could not load \"{file_path}\" as a *.gpkg, a *.gramps, or an *.xml "
-"family tree."
+"Could not load \"{file_path}\" as a *.gpkg, a *.gramps, or an *.xml family tree."
 msgstr ""
-"Kann die Datei \"{file_path}\" nicht als *.gpkg, *.gramps, oder *.xml "
-"family tree laden."
+"Kann die Datei \"{file_path}\" nicht als *.gpkg, *.gramps, oder *.xml family "
+"tree laden."
 
 msgid "Create a new project"
 msgstr "Neues Projekt erstellen"
 
 msgid ""
-"Create events such as births and deaths by deriving their details from "
-"existing information."
+"Create events such as births and deaths by deriving their details from existing "
+"information."
 msgstr ""
-"Erstelle Ereignisse wie Geburten und Todesfälle, indem du deren Details "
-"aus vorhandenen Informationen ableitest."
+"Erstelle Ereignisse wie Geburten und Todesfälle, indem du deren Details aus "
+"vorhandenen Informationen ableitest."
 
 msgid ""
-"Created {created_derivations} additional {event_type} events based on "
-"existing information."
+"Created {created_derivations} additional {event_type} events based on existing "
+"information."
 msgstr ""
-"{created_derivations} zusätzliche {event_type} Ereignisse auf der "
-"Grundlage vorhandener Informationen erstellt."
+"{created_derivations} zusätzliche {event_type} Ereignisse auf der Grundlage "
+"vorhandener Informationen erstellt."
 
 msgid "Cremation"
 msgstr "Feuerbestattung"
@@ -455,25 +441,25 @@ msgid "Description, licensing, and image history"
 msgstr "Beschreibung, Lizenzierung und Bildgeschichte"
 
 msgid ""
-"Determine if people can be proven to have died. If not, mark them and "
-"their associated entities private."
+"Determine if people can be proven to have died. If not, mark them and their "
+"associated entities private."
 msgstr ""
-"Stellen Sie fest, ob der Tod von Personen nachgewiesen werden kann. Wenn "
-"nicht, markieren Sie sie und die zugehörigen Entitäten als privat."
+"Stellen Sie fest, ob der Tod von Personen nachgewiesen werden kann. Wenn nicht, "
+"markieren Sie sie und die zugehörigen Entitäten als privat."
 
 msgid ""
-"Display interactive family trees using Cytoscape."
+"Display interactive family trees using Cytoscape."
 msgstr ""
-"Interaktive Stammbäume mit Cytoscape anzeigen."
+"Interaktive Stammbäume mit Cytoscape "
+"anzeigen."
 
 msgid ""
-"Display lists of places as interactive maps using Leaflet."
+"Display lists of places as interactive maps using Leaflet."
 msgstr ""
-"Zeige Listen von Orten als interaktive Karten mit Leaflet an."
+"Zeige Listen von Orten als interaktive Karten mit Leaflet an."
 
 msgid ""
 "Display the HTTP API documentation in a user-friendly way using Twitter"
-" and Github."
+"Follow Betty on Twitter and Github."
 msgstr ""
-"Folge Betty auf Twitter"
-" und Github."
+"Folge Betty auf Twitter und Github."
 
 msgid "Funeral"
 msgstr "Beerdigung"
@@ -560,13 +546,13 @@ msgid "General"
 msgstr "General"
 
 msgid ""
-"Generate nginx configuration for your site, as well as a"
-" Dockerfile to build a Docker container around it."
+"Generate nginx configuration for your site, as well as a "
+"Dockerfile to build a Docker container around it."
 msgstr ""
-"Generiere nginx eine Konfigurationsdatei für deine "
-"Website sowie ein Dockerfile um einen Docker container zu bauen."
+"Generiere nginx eine Konfigurationsdatei für deine Website "
+"sowie ein Dockerfile um einen Docker container zu bauen."
 
 msgid "Generate entity listing pages"
 msgstr "Seiten zur Auflistung von Entitäten generieren"
@@ -722,11 +708,10 @@ msgid "Other attendees"
 msgstr "Andere Teilnehmer"
 
 msgid ""
-"Output more detailed logs and disable optimizations that make debugging "
-"harder."
+"Output more detailed logs and disable optimizations that make debugging harder."
 msgstr ""
-"Ausgabe detaillierterer Protokolle und deaktivieren von Optimierungen, "
-"die die Fehlersuche erschweren."
+"Ausgabe detaillierterer Protokolle und deaktivieren von Optimierungen, die die "
+"Fehlersuche erschweren."
 
 msgid "People"
 msgstr "Personen"
@@ -771,34 +756,31 @@ msgid "Primary color (inactive)"
 msgstr "Vorzugsfarbe (inaktiv)"
 
 msgid ""
-"Privatized person {privatized_person_id} ({privatized_person}) because "
-"they are likely still alive."
+"Privatized person {privatized_person_id} ({privatized_person}) because they are "
+"likely still alive."
 msgstr ""
-"Privatisierte Person {privatized_person_id} ({privatized_person}), da sie"
-" wahrscheinlich noch am Leben ist."
+"Privatisierte Person {privatized_person_id} ({privatized_person}), da sie "
+"wahrscheinlich noch am Leben ist."
 
 msgid ""
-"Privatized place {privatized_place_id} ({privatized_place}) because it is"
-" not associated with any public information."
+"Privatized place {privatized_place_id} ({privatized_place}) because it is not "
+"associated with any public information."
 msgstr ""
 
 msgid "Privatized {count} people because they are likely still alive."
 msgstr ""
-"Privatisierte {count} Personen, weil sie wahrscheinlich noch am Leben "
-"sind."
+"Privatisierte {count} Personen, weil sie wahrscheinlich noch am Leben sind."
 
 #, fuzzy
 msgid ""
-"Privatized {count} {entity_type}, because they are associated with "
-"private information."
+"Privatized {count} {entity_type}, because they are associated with private "
+"information."
 msgstr ""
-"Privatisiert {count} {entity_type}, weil sie mit Privatpersonen verbunden"
-" sind."
+"Privatisiert {count} {entity_type}, weil sie mit Privatpersonen verbunden sind."
 
 msgid ""
-"Privatized {privatized_entity_type} {privatized_entity_id} "
-"({privatized_entity}) because of {reason_entity_type} {reason_entity_id} "
-"({reason_entity})."
+"Privatized {privatized_entity_type} {privatized_entity_id} ({privatized_entity}) "
+"because of {reason_entity_type} {reason_entity_id} ({reason_entity})."
 msgstr ""
 "Privatisierte {privatized_entity_type} {privatized_entity_id} "
 "({privatized_entity}) weil {reason_entity_type} {reason_entity_id} "
@@ -895,40 +877,36 @@ msgid "The base URL must include a path."
 msgstr "Die Basis-URL muss einen Pfad beinhalten."
 
 msgid ""
-"The base URL must start with a scheme such as https://, http://, or "
-"file://."
+"The base URL must start with a scheme such as https://, http://, or file://."
 msgstr ""
-"Die Basis-URL muss mit einem Schema, wie https://, http://, or file:// "
-"starten."
+"Die Basis-URL muss mit einem Schema, wie https://, http://, or file:// starten."
 
 msgid ""
 "The betty:privacy Gramps attribute must have a value of \"public\" or "
-"\"private\", but \"{privacy_value}\" was given for {entity_type} "
-"{entity_id} ({entity_label}), which was ignored."
+"\"private\", but \"{privacy_value}\" was given for {entity_type} {entity_id} "
+"({entity_label}), which was ignored."
 msgstr ""
 "Das betty:privacy Gramps-Attribut muss einen Wert von \"public\" oder "
-"\"private\" haben, aber \"{privacy_value}\" wurde für {entity_type} "
-"{entity_id} ({entity_label}) angegeben, was ignoriert wurde."
+"\"private\" haben, aber \"{privacy_value}\" wurde für {entity_type} {entity_id} "
+"({entity_label}) angegeben, was ignoriert wurde."
 
 msgid ""
-"The entity reference must be for an entity of type "
-"{expected_entity_type_name} ({expected_entity_type_label}), but instead "
-"does not specify an entity type at all."
+"The entity reference must be for an entity of type {expected_entity_type_name} "
+"({expected_entity_type_label}), but instead does not specify an entity type at "
+"all."
 msgstr ""
-"Die Entitätsreferenz muss für eine Entität des Typs "
-"{expected_entity_type_name} ({expected_entity_type_label}) sein, gibt "
-"aber stattdessen überhaupt keinen Entitätstyp an."
+"Die Entitätsreferenz muss für eine Entität des Typs {expected_entity_type_name} "
+"({expected_entity_type_label}) sein, gibt aber stattdessen überhaupt keinen "
+"Entitätstyp an."
 
 msgid ""
-"The entity reference must be for an entity of type "
-"{expected_entity_type_name} ({expected_entity_type_label}), but instead "
-"is for an entity of type {actual_entity_type_name} "
-"({actual_entity_type_label})"
+"The entity reference must be for an entity of type {expected_entity_type_name} "
+"({expected_entity_type_label}), but instead is for an entity of type "
+"{actual_entity_type_name} ({actual_entity_type_label})"
 msgstr ""
-"Die Entitätsreferenz muss für eine Entität vom Typ "
-"{expected_entity_type_name} ({expected_entity_type_label}) sein, ist aber"
-" stattdessen für eine Entität vom Typ {actual_entity_type_name} "
-"({actual_entity_type_label})"
+"Die Entitätsreferenz muss für eine Entität vom Typ {expected_entity_type_name} "
+"({expected_entity_type_label}) sein, ist aber stattdessen für eine Entität vom "
+"Typ {actual_entity_type_name} ({actual_entity_type_label})"
 
 msgid "The following errors occurred"
 msgstr "Die folgenden Fehler sind aufgetreten"
@@ -999,8 +977,7 @@ msgstr "Es muss None/Null sein."
 
 msgid "This person's details are unavailable to protect their privacy."
 msgstr ""
-"Die Angaben zu dieser Person sind zum Schutz ihrer Privatsphäre nicht "
-"verfügbar."
+"Die Angaben zu dieser Person sind zum Schutz ihrer Privatsphäre nicht verfügbar."
 
 msgid "This person's name is unavailable to protect their privacy."
 msgstr "Der Name dieser Person ist zum Schutz ihrer Privatsphäre nicht verfügbar."
@@ -1021,20 +998,17 @@ msgid "URL"
 msgstr "URL"
 
 msgid ""
-"URLs look like /path instead of "
-"/path/index.html. This requires a web server that supports "
-"it."
+"URLs look like /path instead of /path/index.html. This "
+"requires a web server that supports it."
 msgstr ""
-"URLs sind als /path aufgebaut statt als "
-"/path/index.html. Die erfordert einen Webserver, der das "
-"unterstützt."
+"URLs sind als /path aufgebaut statt als /path/index.html. Die erfordert einen Webserver, der das unterstützt."
 
 msgid "Unknown"
 msgstr "Unbekannt"
 
 msgid ""
-"Unknown file format \".{extension}\". Supported formats are: "
-"{supported_formats}."
+"Unknown file format \".{extension}\". Supported formats are: {supported_formats}."
 msgstr ""
 "Unbekanntes Dateiformat \".{extension}\". Unterstützte Formate sind: "
 "{supported_formats}."
@@ -1043,20 +1017,19 @@ msgid "Unknown key: {unknown_key}. Did you mean {known_keys}?"
 msgstr "Unbekannter Schlüssel: {unknown_key}. Meinst du {known_keys}?"
 
 msgid ""
-"Updated {updated_derivations} {event_type} events based on existing "
-"information."
+"Updated {updated_derivations} {event_type} events based on existing information."
 msgstr ""
 "Aktualisierte {updated_derivations} {event_type} Ereignisse auf Grund "
 "existierender Informationen."
 
 #, python-format
 msgid ""
-"Use  and  to navigate results, or esc "
-"to exit the search. Search again with %(shortcut)s."
+"Use  and  to navigate results, or esc to exit "
+"the search. Search again with %(shortcut)s."
 msgstr ""
-"Nimm  und  um zwischen den Ergebnissen zu "
-"navigieren oder esc um die Suche zu verlassen. Neue Suche mit "
-"%(shortcut)s."
+"Nimm  und  um zwischen den Ergebnissen zu navigieren "
+"oder esc um die Suche zu verlassen. Neue Suche mit %(shortcut)s."
 
 msgid "Version: {version}"
 msgstr "Version: {version}"
@@ -1094,29 +1067,24 @@ msgstr "Zeugen"
 msgid "Work on a new or existing site of your own"
 msgstr "Arbeite an einer neuen oder bestehenden eigenen Seite"
 
-msgid ""
-"You can now view a Betty demonstration site at {url}."
+msgid "You can now view a Betty demonstration site at {url}."
 msgstr ""
-"Du kannt jetzt eine Betty Demoseite unter {url} "
-"sehen."
+"Du kannt jetzt eine Betty Demoseite unter {url} sehen."
 
 msgid "You can now view the documentation at {url}."
 msgstr ""
-"Du kannst jetzt die Dokumentation unter {url} "
-"einsehen."
+"Du kannst jetzt die Dokumentation unter {url} einsehen."
 
 msgid "You can now view your site at {url}."
 msgstr "Du kannst deine Seite jetzt unter {url} sehen."
 
 #, python-format
 msgid ""
-"Your browser cannot show PDF documents. Download"
-" %(file_name)s to view it on your device instead."
+"Your browser cannot show PDF documents. Download "
+"%(file_name)s to view it on your device instead."
 msgstr ""
-"Dein Browser kann keine PDF-Dokumente anzeigen Late %(file_name)s herunter, um sie auf deinem "
-"Gerät anzuzeigen."
+"Dein Browser kann keine PDF-Dokumente anzeigen Late "
+"%(file_name)s herunter, um sie auf deinem Gerät anzuzeigen."
 
 msgid "`npm` is available"
 msgstr "`npm` ist verfügbar"
@@ -1174,13 +1142,13 @@ msgid "in %(place)s"
 msgstr "in %(place)s"
 
 msgid ""
-"npm (https://www.npmjs.com/) must be available for features that require "
-"Node.js packages to be installed. Ensure that the `npm` executable is "
-"available in your `PATH`."
+"npm (https://www.npmjs.com/) must be available for features that require Node.js "
+"packages to be installed. Ensure that the `npm` executable is available in your "
+"`PATH`."
 msgstr ""
 "npm (https://www.npmjs.com/) muss installiert sein für Features, die "
-"installierte Node.js packages voraussetzen. Stelle sicher, dass das "
-"Programm `npm` in deinem `PATH` aufgeführt ist."
+"installierte Node.js packages voraussetzen. Stelle sicher, dass das Programm "
+"`npm` in deinem `PATH` aufgeführt ist."
 
 msgid "private"
 msgstr "anonym"
@@ -1279,4 +1247,3 @@ msgstr "{individual_name} {affiliation_name}"
 #, python-format
 msgid "© Copyright %(author)s, unless otherwise credited"
 msgstr "© Copyright %(author)s, außer anders erwähnt"
-
diff --git a/betty/assets/locale/fr-FR/betty.po b/betty/assets/locale/fr-FR/betty.po
index 508ae8691..131cc4814 100644
--- a/betty/assets/locale/fr-FR/betty.po
+++ b/betty/assets/locale/fr-FR/betty.po
@@ -8,34 +8,35 @@ msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
 "POT-Creation-Date: 2024-02-01 15:27+0000\n"
-"PO-Revision-Date: 2024-01-13 18:19+0100\n"
-"Last-Translator: Rainer Thieringer \n"
-"Language: fr\n"
+"PO-Revision-Date: 2024-02-08 13:24+0000\n"
+"Last-Translator: Bart Feenstra \n"
 "Language-Team: fr \n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: fr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
 "Generated-By: Babel 2.14.0\n"
+"X-Generator: Poedit 3.2.2\n"
 
 msgid ""
 "\n"
-"                Betty is an application that takes a family tree and "
-"builds a website out of it, much like the one you\n"
-"                are viewing right now. The more information your "
-"genealogical research contains, the more interactivity\n"
-"                Betty can add to your site, such as media galleries, "
-"maps, and browsable family trees.\n"
+"                Betty is an application that takes a family tree and builds a "
+"website out of it, much like the one you\n"
+"                are viewing right now. The more information your genealogical "
+"research contains, the more interactivity\n"
+"                Betty can add to your site, such as media galleries, maps, "
+"and browsable family trees.\n"
 "            "
 msgstr ""
 
 #, python-format
 msgid ""
 "\n"
-"                Betty was named after %(liberta_lankester_label)s, and "
-"this website shows a small sample of her family\n"
-"                history. You can browse the pages about her and some of "
-"her family to get an idea of what a Betty site\n"
+"                Betty was named after %(liberta_lankester_label)s, and this "
+"website shows a small sample of her family\n"
+"                history. You can browse the pages about her and some of her "
+"family to get an idea of what a Betty site\n"
 "                looks like.\n"
 "            "
 msgstr ""
@@ -53,10 +54,10 @@ msgstr ""
 #, python-format
 msgid ""
 "\n"
-"Display Wikipedia summaries "
-"for resources with external links. In your custom Jinja2 "
-"templates, use the following: 
\n"
+"Display Wikipedia summaries for "
+"resources with external links. In your custom Jinja2 templates, use the following: "
+"
\n"
 "{{% with resource=resource_with_links %}}\n"
 "    {{% include 'wikipedia.html.j2' %}}\n"
 "{{% endwith %}}\n"
@@ -111,20 +112,18 @@ msgid "%(person_individual_name)s is the child of %(parent_labels)s."
 msgstr "%(person_individual_name)s est l'enfant de %(parent_labels)s."
 
 msgid ""
-"Copyright"
-" Wikipedia and its contributors."
+"Copyright "
+"Wikipedia and its contributors."
 msgstr ""
-"Copyright"
-" Wikipedia et ses contributeurs."
+"Copyright Wikipedia et ses contributeurs."
 
 msgid ""
-"A family history as told by Betty👵"
+"A family history as told by Betty👵"
 msgstr ""
-"Une histoire familiale racontée parBetty👵"
+"Une histoire familiale racontée parBetty👵"
 
 msgid "API documentation"
 msgstr "documentation de l'API"
@@ -165,16 +164,16 @@ msgid "Also known as %(names)s"
 msgstr "Aussi connu comme %(names)s"
 
 msgid ""
-"An optional alias is used instead of the locale code to identify this "
-"locale, such as in URLs. If US English is the only English language "
-"variant on your site, you may want to alias its language code from en-US to en, for instance."
+"An optional alias is used instead of the locale code to identify this locale, "
+"such as in URLs. If US English is the only English language variant on your "
+"site, you may want to alias its language code from en-US to "
+"en, for instance."
 msgstr ""
 
 msgid ""
-"An unexpected error occurred and Betty could not complete the task. "
-"Please report this problem and include the "
-"following details, so the team behind Betty can address it."
+"An unexpected error occurred and Betty could not complete the task. Please report this problem and include the following "
+"details, so the team behind Betty can address it."
 msgstr ""
 
 msgid "Ancestral names include"
@@ -206,9 +205,8 @@ msgstr "Documentation de Betty"
 
 msgid ""
 "Betty helps you visualize and publish your family history by building "
-"interactive genealogy websites out of your Gramps and GEDCOM "
-"family trees."
+"interactive genealogy websites out of your Gramps and GEDCOM family trees."
 msgstr ""
 
 msgid ""
@@ -218,8 +216,8 @@ msgid ""
 msgstr ""
 
 msgid ""
-"Betty is unfamiliar with person \"{person_id}\"'s Gramps presence role of"
-" \"{gramps_presence_role}\" for the event with Gramps handle "
+"Betty is unfamiliar with person \"{person_id}\"'s Gramps presence role of "
+"\"{gramps_presence_role}\" for the event with Gramps handle "
 "\"{event_handle}\". The role was imported, but set to "
 "\"{betty_presence_role}\"."
 msgstr ""
@@ -249,15 +247,15 @@ msgid "Cancel"
 msgstr ""
 
 msgid ""
-"Cannot determine the entity type for \"{entity_type}\". Did you perhaps "
-"make a typo, or could it be that the entity type comes from another "
-"package that is not yet installed?"
+"Cannot determine the entity type for \"{entity_type}\". Did you perhaps make "
+"a typo, or could it be that the entity type comes from another package that "
+"is not yet installed?"
 msgstr ""
 
 msgid ""
-"Cannot determine the extension type for \"{extension_type}\". Did you "
-"perhaps make a typo, or could it be that the extension type comes from "
-"another package that is not yet installed?"
+"Cannot determine the extension type for \"{extension_type}\". Did you perhaps "
+"make a typo, or could it be that the extension type comes from another "
+"package that is not yet installed?"
 msgstr ""
 
 msgid "Cannot find an available port to bind the web server to."
@@ -275,8 +273,8 @@ msgid ""
 msgstr ""
 
 msgid ""
-"Cannot load coordinates \"{coordinates}\", because they are in an unknown"
-" format."
+"Cannot load coordinates \"{coordinates}\", because they are in an unknown "
+"format."
 msgstr ""
 
 msgid "Cannot remove the last remaining locale {locale}"
@@ -317,10 +315,9 @@ msgid "Continue reading on Wikipedia."
 msgstr "Poursuivez votre lecture sur Wikipedia."
 
 msgid ""
-"Copyright 2019-{year} Bart Feenstra & contributors. Betty is made "
-"available to you under the GNU General Public "
-"License, Version 3 (GPLv3)."
+"Copyright 2019-{year} Bart Feenstra & contributors. Betty is made available "
+"to you under the GNU "
+"General Public License, Version 3 (GPLv3)."
 msgstr ""
 
 msgid "Correspondence"
@@ -341,8 +338,8 @@ msgid "Could not find the file \"{file_path}\"."
 msgstr ""
 
 msgid ""
-"Could not load \"{file_path}\" as a *.gpkg, a *.gramps, or an *.xml "
-"family tree."
+"Could not load \"{file_path}\" as a *.gpkg, a *.gramps, or an *.xml family "
+"tree."
 msgstr ""
 
 msgid "Create a new project"
@@ -383,18 +380,18 @@ msgid "Description, licensing, and image history"
 msgstr ""
 
 msgid ""
-"Determine if people can be proven to have died. If not, mark them and "
-"their associated entities private."
+"Determine if people can be proven to have died. If not, mark them and their "
+"associated entities private."
 msgstr ""
 
 msgid ""
-"Display interactive family trees using Cytoscape."
+"Display interactive family trees using Cytoscape."
 msgstr ""
 
 msgid ""
-"Display lists of places as interactive maps using Leaflet."
+"Display lists of places as interactive maps using Leaflet."
 msgstr ""
 
 msgid ""
@@ -467,8 +464,8 @@ msgid "Find out more about this image on Wikimedia Commons."
 msgstr ""
 
 msgid ""
-"Follow Betty on Twitter"
-" and Github."
+"Follow Betty on Twitter and "
+"Github."
 msgstr ""
 
 msgid "Funeral"
@@ -478,9 +475,9 @@ msgid "General"
 msgstr ""
 
 msgid ""
-"Generate nginx configuration for your site, as well as a"
-" Dockerfile to build a Docker container around it."
+"Generate nginx configuration for your site, as well as a "
+"Dockerfile to build a Docker container around it."
 msgstr ""
 
 msgid "Generate entity listing pages"
@@ -685,21 +682,21 @@ msgid "Primary color (inactive)"
 msgstr ""
 
 msgid ""
-"Privatized person {privatized_person_id} ({privatized_person}) because "
-"they are likely still alive."
+"Privatized person {privatized_person_id} ({privatized_person}) because they "
+"are likely still alive."
 msgstr ""
 
 msgid ""
-"Privatized place {privatized_place_id} ({privatized_place}) because it is"
-" not associated with any public information."
+"Privatized place {privatized_place_id} ({privatized_place}) because it is not "
+"associated with any public information."
 msgstr ""
 
 msgid "Privatized {count} people because they are likely still alive."
 msgstr ""
 
 msgid ""
-"Privatized {count} {entity_type}, because they are associated with "
-"private information."
+"Privatized {count} {entity_type}, because they are associated with private "
+"information."
 msgstr ""
 
 msgid ""
@@ -799,27 +796,25 @@ msgid "The base URL must include a path."
 msgstr ""
 
 msgid ""
-"The base URL must start with a scheme such as https://, http://, or "
-"file://."
+"The base URL must start with a scheme such as https://, http://, or file://."
 msgstr ""
 
 msgid ""
 "The betty:privacy Gramps attribute must have a value of \"public\" or "
-"\"private\", but \"{privacy_value}\" was given for {entity_type} "
-"{entity_id} ({entity_label}), which was ignored."
+"\"private\", but \"{privacy_value}\" was given for {entity_type} {entity_id} "
+"({entity_label}), which was ignored."
 msgstr ""
 
 msgid ""
 "The entity reference must be for an entity of type "
-"{expected_entity_type_name} ({expected_entity_type_label}), but instead "
-"does not specify an entity type at all."
+"{expected_entity_type_name} ({expected_entity_type_label}), but instead does "
+"not specify an entity type at all."
 msgstr ""
 
 msgid ""
 "The entity reference must be for an entity of type "
-"{expected_entity_type_name} ({expected_entity_type_label}), but instead "
-"is for an entity of type {actual_entity_type_name} "
-"({actual_entity_type_label})"
+"{expected_entity_type_name} ({expected_entity_type_label}), but instead is "
+"for an entity of type {actual_entity_type_name} ({actual_entity_type_label})"
 msgstr ""
 
 msgid "The following errors occurred"
@@ -894,8 +889,7 @@ msgstr ""
 
 msgid "This person's name is unavailable to protect their privacy."
 msgstr ""
-"Le nom de cette personne n'est pas disponibles afin de protéger sa vie "
-"privée."
+"Le nom de cette personne n'est pas disponibles afin de protéger sa vie privée."
 
 msgid "This person's name is unknown."
 msgstr "Le nom de la personne est inconnu."
@@ -913,9 +907,8 @@ msgid "URL"
 msgstr ""
 
 msgid ""
-"URLs look like /path instead of "
-"/path/index.html. This requires a web server that supports "
-"it."
+"URLs look like /path instead of /path/index.html. "
+"This requires a web server that supports it."
 msgstr ""
 
 msgid "Unknown"
@@ -936,8 +929,8 @@ msgstr ""
 
 #, python-format
 msgid ""
-"Use  and  to navigate results, or esc "
-"to exit the search. Search again with %(shortcut)s."
+"Use  and  to navigate results, or esc to "
+"exit the search. Search again with %(shortcut)s."
 msgstr ""
 "Utilisez  et  pour parcourir les résultats, ou "
 "esc pour abondonner la recherche. Relancez la recherche avec "
@@ -980,8 +973,7 @@ msgid "Work on a new or existing site of your own"
 msgstr ""
 
 msgid ""
-"You can now view a Betty demonstration site at {url}."
+"You can now view a Betty demonstration site at {url}."
 msgstr ""
 
 msgid "You can now view the documentation at {url}."
@@ -992,8 +984,8 @@ msgstr ""
 
 #, python-format
 msgid ""
-"Your browser cannot show PDF documents. Download"
-" %(file_name)s to view it on your device instead."
+"Your browser cannot show PDF documents. Download "
+"%(file_name)s to view it on your device instead."
 msgstr ""
 
 msgid "`npm` is available"
@@ -1015,21 +1007,21 @@ msgstr ""
 
 msgid "from around {start_date} until sometime before around {end_date}"
 msgstr ""
-"entre approximativement le {start_date} et jusqu'approximativement "
-"quelques temps avant le {end_date} OK3"
+"entre approximativement le {start_date} et jusqu'approximativement quelques "
+"temps avant le {end_date} OK3"
 
 msgid "from around {start_date} until sometime before {end_date}"
 msgstr ""
-"entre approximativement le {start_date} et jusqu'à quelques temps avant "
-"le {end_date} OK3"
+"entre approximativement le {start_date} et jusqu'à quelques temps avant le "
+"{end_date} OK3"
 
 msgid "from around {start_date} until {end_date}"
 msgstr "entre approximativement le {start_date} et jusqu'au {end_date} OK3"
 
 msgid "from sometime after around {start_date} until around {end_date}"
 msgstr ""
-"entre approximativement après le {start_date} et jusqu'approximativement "
-"le {end_date} OK3"
+"entre approximativement après le {start_date} et jusqu'approximativement le "
+"{end_date} OK3"
 
 msgid "from sometime after around {start_date} until {end_date}"
 msgstr ""
@@ -1043,8 +1035,8 @@ msgstr ""
 
 msgid "from sometime after {start_date} until {end_date}"
 msgstr ""
-"d'approximativement quelques temps après le {start_date} jusqu'au "
-"{end_date} OK2"
+"d'approximativement quelques temps après le {start_date} jusqu'au {end_date} "
+"OK2"
 
 msgid "from {start_date}"
 msgstr "à partir du {start_date}"
@@ -1054,8 +1046,7 @@ msgstr "du {start_date} jusqu'à environ le {end_date} OK2"
 
 msgid "from {start_date} until sometime before around {end_date}"
 msgstr ""
-"du {start_date} jusqu'approximativement quelques temps avant le "
-"{end_date} OK2"
+"du {start_date} jusqu'approximativement quelques temps avant le {end_date} OK2"
 
 msgid "from {start_date} until sometime before {end_date}"
 msgstr "du {start_date} jusqu'à quelques temps avant le {end_date} OK2"
@@ -1068,9 +1059,9 @@ msgid "in %(place)s"
 msgstr "à %(place)s"
 
 msgid ""
-"npm (https://www.npmjs.com/) must be available for features that require "
-"Node.js packages to be installed. Ensure that the `npm` executable is "
-"available in your `PATH`."
+"npm (https://www.npmjs.com/) must be available for features that require Node."
+"js packages to be installed. Ensure that the `npm` executable is available in "
+"your `PATH`."
 msgstr ""
 
 msgid "private"
@@ -1112,18 +1103,16 @@ msgstr "quelques temps avant le {end_date}"
 
 msgid "sometime between around {start_date} and around {end_date}"
 msgstr ""
-"quelques temps entre approximativement le {start_date} et "
-"approximativement le {end_date} OK3"
+"quelques temps entre approximativement le {start_date} et approximativement "
+"le {end_date} OK3"
 
 msgid "sometime between around {start_date} and {end_date}"
 msgstr ""
-"quelques temps entre approximativement le {start_date} et le {end_date} "
-"OK3"
+"quelques temps entre approximativement le {start_date} et le {end_date} OK3"
 
 msgid "sometime between {start_date} and around {end_date}"
 msgstr ""
-"quelques temps entre le {start_date} et approximativement le {end_date} "
-"OK3"
+"quelques temps entre le {start_date} et approximativement le {end_date} OK3"
 
 msgid "sometime between {start_date} and {end_date}"
 msgstr "quelques temps entre le {start_date} et le {end_date} OK3"
@@ -1176,4 +1165,3 @@ msgstr "{individual_name} {affiliation_name}"
 #, python-format
 msgid "© Copyright %(author)s, unless otherwise credited"
 msgstr "© Copyright %(author)s, sauf crédit contraire"
-
diff --git a/betty/assets/locale/nl-NL/betty.po b/betty/assets/locale/nl-NL/betty.po
index 2f2dd8950..fd37d0092 100644
--- a/betty/assets/locale/nl-NL/betty.po
+++ b/betty/assets/locale/nl-NL/betty.po
@@ -8,50 +8,51 @@ msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
 "POT-Creation-Date: 2024-02-01 15:27+0000\n"
-"PO-Revision-Date: 2024-01-13 18:15+0100\n"
-"Last-Translator: Rainer Thieringer \n"
-"Language: nl\n"
+"PO-Revision-Date: 2024-02-08 13:24+0000\n"
+"Last-Translator: Bart Feenstra \n"
 "Language-Team: nl \n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: nl\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "Generated-By: Babel 2.14.0\n"
+"X-Generator: Poedit 3.2.2\n"
 
 msgid ""
 "\n"
-"                Betty is an application that takes a family tree and "
-"builds a website out of it, much like the one you\n"
-"                are viewing right now. The more information your "
-"genealogical research contains, the more interactivity\n"
-"                Betty can add to your site, such as media galleries, "
-"maps, and browsable family trees.\n"
+"                Betty is an application that takes a family tree and builds a "
+"website out of it, much like the one you\n"
+"                are viewing right now. The more information your genealogical "
+"research contains, the more interactivity\n"
+"                Betty can add to your site, such as media galleries, maps, and "
+"browsable family trees.\n"
 "            "
 msgstr ""
 "\n"
-"                Betty is een programma dat van een stamboom een website "
-"bouwt zoals de site die je nu aan het \n"
-"                bezoeken bent. Des te meer informatie je genealogisch "
-"onderzoek bevat, des te meer interactiviteit\n"
-"                Betty aan je site toe kan voegen,zoals mediagalerijen, "
-"kaarten, en visuele stambomen.\n"
+"                Betty is een programma dat van een stamboom een website bouwt "
+"zoals de site die je nu aan het \n"
+"                bezoeken bent. Des te meer informatie je genealogisch onderzoek "
+"bevat, des te meer interactiviteit\n"
+"                Betty aan je site toe kan voegen,zoals mediagalerijen, kaarten, "
+"en visuele stambomen.\n"
 "            "
 
 #, python-format
 msgid ""
 "\n"
-"                Betty was named after %(liberta_lankester_label)s, and "
-"this website shows a small sample of her family\n"
-"                history. You can browse the pages about her and some of "
-"her family to get an idea of what a Betty site\n"
+"                Betty was named after %(liberta_lankester_label)s, and this "
+"website shows a small sample of her family\n"
+"                history. You can browse the pages about her and some of her "
+"family to get an idea of what a Betty site\n"
 "                looks like.\n"
 "            "
 msgstr ""
 "\n"
-"                Betty is vernoemd naar %(liberta_lankester_label)s, en "
-"deze website bevat een uittreksel van haar familiegeschiedenis. Je kan de"
-" pagina's over haar en haar familie bekijken om een idee te krijgen van "
-"hoe een Betty-site eruit ziet.\n"
+"                Betty is vernoemd naar %(liberta_lankester_label)s, en deze "
+"website bevat een uittreksel van haar familiegeschiedenis. Je kan de pagina's "
+"over haar en haar familie bekijken om een idee te krijgen van hoe een Betty-site "
+"eruit ziet.\n"
 "            "
 
 #, python-format
@@ -67,10 +68,10 @@ msgstr ""
 #, python-format
 msgid ""
 "\n"
-"Display Wikipedia summaries "
-"for resources with external links. In your custom Jinja2 "
-"templates, use the following: 
\n"
+"Display Wikipedia summaries for "
+"resources with external links. In your custom Jinja2 templates, use the following: "
+"
\n"
 "{{% with resource=resource_with_links %}}\n"
 "    {{% include 'wikipedia.html.j2' %}}\n"
 "{{% endwith %}}\n"
@@ -111,8 +112,7 @@ msgid_plural ""
 "%(co_parent_labels)s."
 msgstr[0] "%(person_individual_name)s had een kind met %(co_parent_labels)s."
 msgstr[1] ""
-"%(person_individual_name)s had %(child_count)s kinderen met "
-"%(co_parent_labels)s."
+"%(person_individual_name)s had %(child_count)s kinderen met %(co_parent_labels)s."
 
 #, python-format
 msgid "%(person_individual_name)s had a child."
@@ -125,20 +125,18 @@ msgid "%(person_individual_name)s is the child of %(parent_labels)s."
 msgstr "%(person_individual_name)s is het kind van %(parent_labels)s."
 
 msgid ""
-"Copyright"
-" Wikipedia and its contributors."
+"Copyright "
+"Wikipedia and its contributors."
 msgstr ""
-"Copyright"
-" Wikipedia en bijdragers."
+"Copyright "
+"Wikipedia en bijdragers."
 
 msgid ""
-"A family history as told by Betty👵"
+"A family history as told by Betty👵"
 msgstr ""
-"Een familieverhaal verteld door Betty👵"
+"Een familieverhaal verteld door Betty👵"
 
 msgid "API documentation"
 msgstr "API-documentatie"
@@ -179,20 +177,20 @@ msgid "Also known as %(names)s"
 msgstr "Ook bekend als %(names)s"
 
 msgid ""
-"An optional alias is used instead of the locale code to identify this "
-"locale, such as in URLs. If US English is the only English language "
-"variant on your site, you may want to alias its language code from en-US to en, for instance."
+"An optional alias is used instead of the locale code to identify this locale, "
+"such as in URLs. If US English is the only English language variant on your "
+"site, you may want to alias its language code from en-US to "
+"en, for instance."
 msgstr ""
 
 msgid ""
-"An unexpected error occurred and Betty could not complete the task. "
-"Please report this problem and include the "
-"following details, so the team behind Betty can address it."
+"An unexpected error occurred and Betty could not complete the task. Please report this problem and include the following details, "
+"so the team behind Betty can address it."
 msgstr ""
 "Er is een onverwachte fout opgetreden en Betty kon iets niet afmaken. Meld dit probleem alsjeblieft en voeg de "
-"volgende details bij, zodat het team achter Betty er aan kan werken."
+"href=\"{report_url}\">Meld dit probleem alsjeblieft en voeg de volgende "
+"details bij, zodat het team achter Betty er aan kan werken."
 
 msgid "Ancestral names include"
 msgstr "De voorouders heetten"
@@ -223,14 +221,13 @@ msgstr "Betty-documentatie"
 
 msgid ""
 "Betty helps you visualize and publish your family history by building "
-"interactive genealogy websites out of your Gramps and GEDCOM "
-"family trees."
+"interactive genealogy websites out of your Gramps "
+"and GEDCOM family trees."
 msgstr ""
 "Betty helpt je je familiegeschiedenis te visualiseren en publiceren door "
 "interactieve genealogiewebsites te bouwen van je Gramps- en GEDCOM-stambomen."
+"href=\"{gramps_url}\">Gramps- en GEDCOM-"
+"stambomen."
 
 msgid ""
 "Betty is unfamiliar with Gramps event \"{event_id}\"'s type of "
@@ -239,10 +236,9 @@ msgid ""
 msgstr ""
 
 msgid ""
-"Betty is unfamiliar with person \"{person_id}\"'s Gramps presence role of"
-" \"{gramps_presence_role}\" for the event with Gramps handle "
-"\"{event_handle}\". The role was imported, but set to "
-"\"{betty_presence_role}\"."
+"Betty is unfamiliar with person \"{person_id}\"'s Gramps presence role of "
+"\"{gramps_presence_role}\" for the event with Gramps handle \"{event_handle}\". "
+"The role was imported, but set to \"{betty_presence_role}\"."
 msgstr ""
 
 msgid "Betty project configuration ({supported_formats})"
@@ -270,22 +266,22 @@ msgid "Cancel"
 msgstr "Annuleren"
 
 msgid ""
-"Cannot determine the entity type for \"{entity_type}\". Did you perhaps "
-"make a typo, or could it be that the entity type comes from another "
-"package that is not yet installed?"
+"Cannot determine the entity type for \"{entity_type}\". Did you perhaps make a "
+"typo, or could it be that the entity type comes from another package that is not "
+"yet installed?"
 msgstr ""
 "Het entiteitstype van \"{entity_type}\" kan niet gevonden worden. Heb je "
-"misschien een typefout gemaakt, of zou het kunnen dat het entiteitstype "
-"uit een package komt dat nog niet geïnstalleerd is?"
+"misschien een typefout gemaakt, of zou het kunnen dat het entiteitstype uit een "
+"package komt dat nog niet geïnstalleerd is?"
 
 msgid ""
-"Cannot determine the extension type for \"{extension_type}\". Did you "
-"perhaps make a typo, or could it be that the extension type comes from "
-"another package that is not yet installed?"
+"Cannot determine the extension type for \"{extension_type}\". Did you perhaps "
+"make a typo, or could it be that the extension type comes from another package "
+"that is not yet installed?"
 msgstr ""
-"Het entiteitstype van \"{extension_type}\" kan niet gevonden worden. Heb "
-"je misschien een typefout gemaakt, of zou het kunnen dat het "
-"entiteitstype uit een package komt dat nog niet geïnstalleerd is?"
+"Het entiteitstype van \"{extension_type}\" kan niet gevonden worden. Heb je "
+"misschien een typefout gemaakt, of zou het kunnen dat het entiteitstype uit een "
+"package komt dat nog niet geïnstalleerd is?"
 
 msgid "Cannot find an available port to bind the web server to."
 msgstr "Kan geen beschikbare poort voor de webserver vinden."
@@ -297,13 +293,12 @@ msgid "Cannot find and import \"{extension_type}\"."
 msgstr "Kan \"{extension_type}\" niet vinden en importeren."
 
 msgid ""
-"Cannot generate pages for {entity_type}, because it is not a user-facing "
-"entity type."
+"Cannot generate pages for {entity_type}, because it is not a user-facing entity "
+"type."
 msgstr ""
 
 msgid ""
-"Cannot load coordinates \"{coordinates}\", because they are in an unknown"
-" format."
+"Cannot load coordinates \"{coordinates}\", because they are in an unknown format."
 msgstr ""
 
 msgid "Cannot remove the last remaining locale {locale}"
@@ -344,15 +339,13 @@ msgid "Continue reading on Wikipedia."
 msgstr "Lees verder op Wikipedia."
 
 msgid ""
-"Copyright 2019-{year} Bart Feenstra & contributors. Betty is made "
-"available to you under the GNU General Public "
-"License, Version 3 (GPLv3)."
+"Copyright 2019-{year} Bart Feenstra & contributors. Betty is made available to "
+"you under the GNU "
+"General Public License, Version 3 (GPLv3)."
 msgstr ""
-"Copyright 2019-{year} Bart Feenstra & contributors. Betty is "
-"beschikbaar gemaakt onder de GNU General Public "
-"License, Version 3 (GPLv3)."
+"Copyright 2019-{year} Bart Feenstra & contributors. Betty is beschikbaar "
+"gemaakt onder de GNU "
+"General Public License, Version 3 (GPLv3)."
 
 msgid "Correspondence"
 msgstr "Correspondentie"
@@ -364,31 +357,30 @@ msgid "Could not extract {file_path} as a gzip (*.gz) file."
 msgstr ""
 
 msgid ""
-"Could not extract {file_path} as a tar (*.tar) file after extracting the "
-"outer gzip (*.gz) file."
+"Could not extract {file_path} as a tar (*.tar) file after extracting the outer "
+"gzip (*.gz) file."
 msgstr ""
 
 msgid "Could not find the file \"{file_path}\"."
 msgstr ""
 
 msgid ""
-"Could not load \"{file_path}\" as a *.gpkg, a *.gramps, or an *.xml "
-"family tree."
+"Could not load \"{file_path}\" as a *.gpkg, a *.gramps, or an *.xml family tree."
 msgstr ""
 
 msgid "Create a new project"
 msgstr "Maak een nieuw project"
 
 msgid ""
-"Create events such as births and deaths by deriving their details from "
-"existing information."
+"Create events such as births and deaths by deriving their details from existing "
+"information."
 msgstr ""
-"Maak gebeurtenissen zoals geboortes en overlijdens door de details "
-"hiervoor af te leiden van bestaande informatie."
+"Maak gebeurtenissen zoals geboortes en overlijdens door de details hiervoor af "
+"te leiden van bestaande informatie."
 
 msgid ""
-"Created {created_derivations} additional {event_type} events based on "
-"existing information."
+"Created {created_derivations} additional {event_type} events based on existing "
+"information."
 msgstr ""
 
 msgid "Cremation"
@@ -416,18 +408,18 @@ msgid "Description, licensing, and image history"
 msgstr "Beschrijving, licentie, en afbeeldingsgeschiedenis"
 
 msgid ""
-"Determine if people can be proven to have died. If not, mark them and "
-"their associated entities private."
+"Determine if people can be proven to have died. If not, mark them and their "
+"associated entities private."
 msgstr ""
 
 msgid ""
-"Display interactive family trees using Cytoscape."
+"Display interactive family trees using Cytoscape."
 msgstr ""
 
 msgid ""
-"Display lists of places as interactive maps using Leaflet."
+"Display lists of places as interactive maps using Leaflet."
 msgstr ""
 
 msgid ""
@@ -500,11 +492,11 @@ msgid "Find out more about this image on Wikimedia Commons."
 msgstr "Vind meer informatie over deze afbeelding op Wikimedia Commons."
 
 msgid ""
-"Follow Betty on Twitter"
-" and Github."
+"Follow Betty on Twitter and Github."
 msgstr ""
-"Volg Betty op Twitter "
-"en Github."
+"Volg Betty op Twitter en Github."
 
 msgid "Funeral"
 msgstr "Uitvaart"
@@ -513,13 +505,13 @@ msgid "General"
 msgstr "Algemeen"
 
 msgid ""
-"Generate nginx configuration for your site, as well as a"
-" Dockerfile to build a Docker container around it."
+"Generate nginx configuration for your site, as well as a "
+"Dockerfile to build a Docker container around it."
 msgstr ""
 "Genereer nginx-configuratie voor je site, evenals een "
-"Dockerfile om er een Docker-container omheen te bouwen."
+"Dockerfile om er een Docker-"
+"container omheen te bouwen."
 
 msgid "Generate entity listing pages"
 msgstr "Genereer pagina's met entiteitsoverzichten"
@@ -532,8 +524,7 @@ msgstr "Pagina's voor {count} {entity_type} in het {locale} gegenereerd."
 
 msgid "Generated the listing page for {entity_type} in {locale}."
 msgstr ""
-"Pagina met het overzicht van alle {entity_type} in het {locale} "
-"gegenereerd."
+"Pagina met het overzicht van alle {entity_type} in het {locale} gegenereerd."
 
 msgid "Generating OpenAPI specification..."
 msgstr "OpenAPI-specificatie aan het genereren..."
@@ -677,8 +668,7 @@ msgid "Other attendees"
 msgstr "Overige aanwezigen"
 
 msgid ""
-"Output more detailed logs and disable optimizations that make debugging "
-"harder."
+"Output more detailed logs and disable optimizations that make debugging harder."
 msgstr ""
 
 msgid "People"
@@ -724,37 +714,35 @@ msgid "Primary color (inactive)"
 msgstr "Primaire kleur (inactief)"
 
 msgid ""
-"Privatized person {privatized_person_id} ({privatized_person}) because "
-"they are likely still alive."
+"Privatized person {privatized_person_id} ({privatized_person}) because they are "
+"likely still alive."
 msgstr ""
-"Persoon {privatized_person_id} ({privatized_person}) geprivatiseerd omdat"
-" men waarschijnlijk nog leeft."
+"Persoon {privatized_person_id} ({privatized_person}) geprivatiseerd omdat men "
+"waarschijnlijk nog leeft."
 
 msgid ""
-"Privatized place {privatized_place_id} ({privatized_place}) because it is"
-" not associated with any public information."
+"Privatized place {privatized_place_id} ({privatized_place}) because it is not "
+"associated with any public information."
 msgstr ""
-"Plaats {privatized_place_id} ({privatized_place}) geprivatiseerd omdat "
-"deze niet met enige openbare informatie geassocieerd is."
+"Plaats {privatized_place_id} ({privatized_place}) geprivatiseerd omdat deze niet "
+"met enige openbare informatie geassocieerd is."
 
 msgid "Privatized {count} people because they are likely still alive."
 msgstr "{count} personen geprivatiseerd omdat zij waarschijnlijk nog leven."
 
 msgid ""
-"Privatized {count} {entity_type}, because they are associated with "
-"private information."
+"Privatized {count} {entity_type}, because they are associated with private "
+"information."
 msgstr ""
 "{count} {entity_type} geprivatiseerd, omdat deze met privéinformatie "
 "geassocieerd zijn."
 
 msgid ""
-"Privatized {privatized_entity_type} {privatized_entity_id} "
-"({privatized_entity}) because of {reason_entity_type} {reason_entity_id} "
-"({reason_entity})."
+"Privatized {privatized_entity_type} {privatized_entity_id} ({privatized_entity}) "
+"because of {reason_entity_type} {reason_entity_id} ({reason_entity})."
 msgstr ""
 "{privatized_entity_type} {privatized_entity_id} ({privatized_entity}) "
-"geprivatiseerd vanwege {reason_entity_type} {reason_entity_id} "
-"({reason_entity})."
+"geprivatiseerd vanwege {reason_entity_type} {reason_entity_id} ({reason_entity})."
 
 msgid "Privatizer"
 msgstr "Privatiseerder"
@@ -847,33 +835,30 @@ msgid "The base URL must include a path."
 msgstr "De basis-URL moet een pad bevatten."
 
 msgid ""
-"The base URL must start with a scheme such as https://, http://, or "
-"file://."
+"The base URL must start with a scheme such as https://, http://, or file://."
 msgstr ""
-"De basis-URL moet beginnen met een protocol als https://, http://, of "
-"file://."
+"De basis-URL moet beginnen met een protocol als https://, http://, of file://."
 
 msgid ""
 "The betty:privacy Gramps attribute must have a value of \"public\" or "
-"\"private\", but \"{privacy_value}\" was given for {entity_type} "
-"{entity_id} ({entity_label}), which was ignored."
+"\"private\", but \"{privacy_value}\" was given for {entity_type} {entity_id} "
+"({entity_label}), which was ignored."
 msgstr ""
 
 msgid ""
-"The entity reference must be for an entity of type "
-"{expected_entity_type_name} ({expected_entity_type_label}), but instead "
-"does not specify an entity type at all."
+"The entity reference must be for an entity of type {expected_entity_type_name} "
+"({expected_entity_type_label}), but instead does not specify an entity type at "
+"all."
 msgstr ""
 
 msgid ""
-"The entity reference must be for an entity of type "
-"{expected_entity_type_name} ({expected_entity_type_label}), but instead "
-"is for an entity of type {actual_entity_type_name} "
-"({actual_entity_type_label})"
+"The entity reference must be for an entity of type {expected_entity_type_name} "
+"({expected_entity_type_label}), but instead is for an entity of type "
+"{actual_entity_type_name} ({actual_entity_type_label})"
 msgstr ""
 "De entiteitsverwijzing moet verwijzen naar een entiteit van het type "
-"{expected_entity_type_name} ({expected_entity_type_label}), maar verwijst"
-" echter naar een entiteit van het type {actual_entity_type_name} "
+"{expected_entity_type_name} ({expected_entity_type_label}), maar verwijst echter "
+"naar een entiteit van het type {actual_entity_type_name} "
 "({actual_entity_type_label})"
 
 msgid "The following errors occurred"
@@ -963,20 +948,17 @@ msgid "URL"
 msgstr "URL"
 
 msgid ""
-"URLs look like /path instead of "
-"/path/index.html. This requires a web server that supports "
-"it."
+"URLs look like /path instead of /path/index.html. This "
+"requires a web server that supports it."
 msgstr ""
-"URL's zien eruit als /path in plaats van "
-"/path/index.html. Dit vereist een web server die dit "
-"ondersteunt."
+"URL's zien eruit als /path in plaats van /path/index.html. Dit vereist een web server die dit ondersteunt."
 
 msgid "Unknown"
 msgstr "Onbekend"
 
 msgid ""
-"Unknown file format \".{extension}\". Supported formats are: "
-"{supported_formats}."
+"Unknown file format \".{extension}\". Supported formats are: {supported_formats}."
 msgstr ""
 "Onbekend bestandstype \".{extension}\". Ondersteunde bestandstypes zijn: "
 "{supported_formats}."
@@ -985,18 +967,17 @@ msgid "Unknown key: {unknown_key}. Did you mean {known_keys}?"
 msgstr "Onbekende sleutel: {unknown_key}. Bedoel je {known_keys}?"
 
 msgid ""
-"Updated {updated_derivations} {event_type} events based on existing "
-"information."
+"Updated {updated_derivations} {event_type} events based on existing information."
 msgstr ""
 
 #, python-format
 msgid ""
-"Use  and  to navigate results, or esc "
-"to exit the search. Search again with %(shortcut)s."
+"Use  and  to navigate results, or esc to exit "
+"the search. Search again with %(shortcut)s."
 msgstr ""
-"Gebruik  en  om door de resultaten te bladeren, "
-"of esc om te stoppen met zoeken. Zoek opnieuw met "
-"%(shortcut)s."
+"Gebruik  en  om door de resultaten te bladeren, of "
+"esc om te stoppen met zoeken. Zoek opnieuw met %(shortcut)s."
 
 msgid "Version: {version}"
 msgstr "Versie: {version}"
@@ -1034,9 +1015,7 @@ msgstr "Getuigen"
 msgid "Work on a new or existing site of your own"
 msgstr "Werk aan een nieuwe of bestaande site van jezelf"
 
-msgid ""
-"You can now view a Betty demonstration site at {url}."
+msgid "You can now view a Betty demonstration site at {url}."
 msgstr ""
 
 msgid "You can now view the documentation at {url}."
@@ -1047,8 +1026,8 @@ msgstr "Je kan je site nu bekijken op {url}."
 
 #, python-format
 msgid ""
-"Your browser cannot show PDF documents. Download"
-" %(file_name)s to view it on your device instead."
+"Your browser cannot show PDF documents. Download "
+"%(file_name)s to view it on your device instead."
 msgstr ""
 
 msgid "`npm` is available"
@@ -1107,13 +1086,13 @@ msgid "in %(place)s"
 msgstr "te %(place)s"
 
 msgid ""
-"npm (https://www.npmjs.com/) must be available for features that require "
-"Node.js packages to be installed. Ensure that the `npm` executable is "
-"available in your `PATH`."
+"npm (https://www.npmjs.com/) must be available for features that require Node.js "
+"packages to be installed. Ensure that the `npm` executable is available in your "
+"`PATH`."
 msgstr ""
-"npm (https://www.npmjs.com/) moet beschikbaar zijn voor functionaliteit "
-"waarvoor Node.js packages geïnstalleerd moeten worden. Zorg ervoor dat "
-"het `npm`-programma beschikbaar is in je `PATH`."
+"npm (https://www.npmjs.com/) moet beschikbaar zijn voor functionaliteit waarvoor "
+"Node.js packages geïnstalleerd moeten worden. Zorg ervoor dat het `npm`-"
+"programma beschikbaar is in je `PATH`."
 
 msgid "private"
 msgstr "privé"
@@ -1212,4 +1191,3 @@ msgstr "{individual_name} {affiliation_name}"
 #, python-format
 msgid "© Copyright %(author)s, unless otherwise credited"
 msgstr "© Copyright %(author)s, tenzij anders vermeld"
-
diff --git a/betty/assets/locale/uk/betty.po b/betty/assets/locale/uk/betty.po
index 026bcf999..af4000d80 100644
--- a/betty/assets/locale/uk/betty.po
+++ b/betty/assets/locale/uk/betty.po
@@ -8,35 +8,34 @@ msgstr ""
 "Project-Id-Version: Betty VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
 "POT-Creation-Date: 2024-02-01 15:27+0000\n"
-"PO-Revision-Date: 2024-01-13 18:21+0100\n"
+"PO-Revision-Date: 2024-02-08 13:08+0000\n"
 "Last-Translator: Rainer Thieringer \n"
-"Language: uk\n"
 "Language-Team: uk \n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
-"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Language: uk\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 "Generated-By: Babel 2.14.0\n"
+"X-Generator: Poedit 3.2.2\n"
 
 msgid ""
 "\n"
-"                Betty is an application that takes a family tree and "
-"builds a website out of it, much like the one you\n"
-"                are viewing right now. The more information your "
-"genealogical research contains, the more interactivity\n"
-"                Betty can add to your site, such as media galleries, "
-"maps, and browsable family trees.\n"
+"                Betty is an application that takes a family tree and builds a website out of it, much like the one "
+"you\n"
+"                are viewing right now. The more information your genealogical research contains, the more "
+"interactivity\n"
+"                Betty can add to your site, such as media galleries, maps, and browsable family trees.\n"
 "            "
 msgstr ""
 
 #, python-format
 msgid ""
 "\n"
-"                Betty was named after %(liberta_lankester_label)s, and "
-"this website shows a small sample of her family\n"
-"                history. You can browse the pages about her and some of "
-"her family to get an idea of what a Betty site\n"
+"                Betty was named after %(liberta_lankester_label)s, and this website shows a small sample of her "
+"family\n"
+"                history. You can browse the pages about her and some of her family to get an idea of what a Betty "
+"site\n"
 "                looks like.\n"
 "            "
 msgstr ""
@@ -54,10 +53,9 @@ msgstr ""
 #, python-format
 msgid ""
 "\n"
-"Display Wikipedia summaries "
-"for resources with external links. In your custom Jinja2 "
-"templates, use the following: 
\n"
+"Display Wikipedia summaries for resources with external links. In your "
+"custom Jinja2 templates, use the following: "
+"
\n"
 "{{% with resource=resource_with_links %}}\n"
 "    {{% include 'wikipedia.html.j2' %}}\n"
 "{{% endwith %}}\n"
@@ -93,38 +91,29 @@ msgstr "%(event)s з %(subjects)s"
 
 #, python-format
 msgid "%(person_individual_name)s had a child with %(co_parent_labels)s."
-msgid_plural ""
-"%(person_individual_name)s had %(child_count)s children with "
-"%(co_parent_labels)s."
-msgstr[0] "У %(person_individual_name)s була дитина від %(co_parent_labels)s."
-msgstr[1] "У %(person_individual_name)s було 3 дитини з %(co_parent_labels)s."
-msgstr[2] "У %(person_individual_name)s було 3 дитини з %(co_parent_labels)s."
+msgid_plural "%(person_individual_name)s had %(child_count)s children with %(co_parent_labels)s."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
 #, python-format
 msgid "%(person_individual_name)s had a child."
 msgid_plural "%(person_individual_name)s had %(child_count)s children."
-msgstr[0] "У %(person_individual_name)s була дитина."
-msgstr[1] "У %(person_individual_name)s було %(child_count)s дитини."
-msgstr[2] "У %(person_individual_name)s було %(child_count)s дитини."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
 #, python-format
 msgid "%(person_individual_name)s is the child of %(parent_labels)s."
 msgstr "%(person_individual_name)s дитина %(parent_labels)s."
 
-msgid ""
-"Copyright"
-" Wikipedia and its contributors."
+msgid "Copyright Wikipedia and its contributors."
 msgstr ""
-"Авторські права на Вікіпедію та її дописувачів."
+"Авторські права на Вікіпедію та її "
+"дописувачів."
 
-msgid ""
-"A family history as told by Betty👵"
-msgstr ""
-"Сімейна історія, яку розповіла Betty👵"
+msgid "A family history as told by Betty👵"
+msgstr "Сімейна історія, яку розповіла Betty👵"
 
 msgid "API documentation"
 msgstr "документація API"
@@ -137,7 +126,7 @@ msgstr ""
 
 #, python-format
 msgid "Accessed %(date)s"
-msgstr "доступ %(date)s"
+msgstr "Доступ %(date)s"
 
 msgid "Add a family tree"
 msgstr ""
@@ -165,16 +154,14 @@ msgid "Also known as %(names)s"
 msgstr "Також відомий як %(names)s"
 
 msgid ""
-"An optional alias is used instead of the locale code to identify this "
-"locale, such as in URLs. If US English is the only English language "
-"variant on your site, you may want to alias its language code from en-US to en, for instance."
+"An optional alias is used instead of the locale code to identify this locale, such as in URLs. If US English is "
+"the only English language variant on your site, you may want to alias its language code from en-US to "
+"en, for instance."
 msgstr ""
 
 msgid ""
-"An unexpected error occurred and Betty could not complete the task. "
-"Please report this problem and include the "
-"following details, so the team behind Betty can address it."
+"An unexpected error occurred and Betty could not complete the task. Please report this "
+"problem and include the following details, so the team behind Betty can address it."
 msgstr ""
 
 msgid "Ancestral names include"
@@ -205,23 +192,18 @@ msgid "Betty documentation"
 msgstr ""
 
 msgid ""
-"Betty helps you visualize and publish your family history by building "
-"interactive genealogy websites out of your Gramps and GEDCOM "
-"family trees."
+"Betty helps you visualize and publish your family history by building interactive genealogy websites out of your "
+"Gramps and GEDCOM family trees."
 msgstr ""
 
 msgid ""
-"Betty is unfamiliar with Gramps event \"{event_id}\"'s type of "
-"\"{gramps_event_type}\". The event was imported, but its type was set to "
-"\"{betty_event_type}\"."
+"Betty is unfamiliar with Gramps event \"{event_id}\"'s type of \"{gramps_event_type}\". The event was imported, "
+"but its type was set to \"{betty_event_type}\"."
 msgstr ""
 
 msgid ""
-"Betty is unfamiliar with person \"{person_id}\"'s Gramps presence role of"
-" \"{gramps_presence_role}\" for the event with Gramps handle "
-"\"{event_handle}\". The role was imported, but set to "
-"\"{betty_presence_role}\"."
+"Betty is unfamiliar with person \"{person_id}\"'s Gramps presence role of \"{gramps_presence_role}\" for the event "
+"with Gramps handle \"{event_handle}\". The role was imported, but set to \"{betty_presence_role}\"."
 msgstr ""
 
 msgid "Betty project configuration ({supported_formats})"
@@ -249,15 +231,13 @@ msgid "Cancel"
 msgstr ""
 
 msgid ""
-"Cannot determine the entity type for \"{entity_type}\". Did you perhaps "
-"make a typo, or could it be that the entity type comes from another "
-"package that is not yet installed?"
+"Cannot determine the entity type for \"{entity_type}\". Did you perhaps make a typo, or could it be that the "
+"entity type comes from another package that is not yet installed?"
 msgstr ""
 
 msgid ""
-"Cannot determine the extension type for \"{extension_type}\". Did you "
-"perhaps make a typo, or could it be that the extension type comes from "
-"another package that is not yet installed?"
+"Cannot determine the extension type for \"{extension_type}\". Did you perhaps make a typo, or could it be that the "
+"extension type comes from another package that is not yet installed?"
 msgstr ""
 
 msgid "Cannot find an available port to bind the web server to."
@@ -269,14 +249,10 @@ msgstr ""
 msgid "Cannot find and import \"{extension_type}\"."
 msgstr ""
 
-msgid ""
-"Cannot generate pages for {entity_type}, because it is not a user-facing "
-"entity type."
+msgid "Cannot generate pages for {entity_type}, because it is not a user-facing entity type."
 msgstr ""
 
-msgid ""
-"Cannot load coordinates \"{coordinates}\", because they are in an unknown"
-" format."
+msgid "Cannot load coordinates \"{coordinates}\", because they are in an unknown format."
 msgstr ""
 
 msgid "Cannot remove the last remaining locale {locale}"
@@ -318,10 +294,8 @@ msgid "Continue reading on Wikipedia."
 msgstr "Продовжуйте читати у Вікіпедії."
 
 msgid ""
-"Copyright 2019-{year} Bart Feenstra & contributors. Betty is made "
-"available to you under the GNU General Public "
-"License, Version 3 (GPLv3)."
+"Copyright 2019-{year} Bart Feenstra & contributors. Betty is made available to you under the GNU General Public License, Version 3 (GPLv3)."
 msgstr ""
 
 msgid "Correspondence"
@@ -333,30 +307,22 @@ msgstr ""
 msgid "Could not extract {file_path} as a gzip (*.gz) file."
 msgstr ""
 
-msgid ""
-"Could not extract {file_path} as a tar (*.tar) file after extracting the "
-"outer gzip (*.gz) file."
+msgid "Could not extract {file_path} as a tar (*.tar) file after extracting the outer gzip (*.gz) file."
 msgstr ""
 
 msgid "Could not find the file \"{file_path}\"."
 msgstr ""
 
-msgid ""
-"Could not load \"{file_path}\" as a *.gpkg, a *.gramps, or an *.xml "
-"family tree."
+msgid "Could not load \"{file_path}\" as a *.gpkg, a *.gramps, or an *.xml family tree."
 msgstr ""
 
 msgid "Create a new project"
 msgstr ""
 
-msgid ""
-"Create events such as births and deaths by deriving their details from "
-"existing information."
+msgid "Create events such as births and deaths by deriving their details from existing information."
 msgstr ""
 
-msgid ""
-"Created {created_derivations} additional {event_type} events based on "
-"existing information."
+msgid "Created {created_derivations} additional {event_type} events based on existing information."
 msgstr ""
 
 msgid "Cremation"
@@ -383,24 +349,18 @@ msgstr "Імена нащадків є"
 msgid "Description, licensing, and image history"
 msgstr ""
 
-msgid ""
-"Determine if people can be proven to have died. If not, mark them and "
-"their associated entities private."
+msgid "Determine if people can be proven to have died. If not, mark them and their associated entities private."
 msgstr ""
 
-msgid ""
-"Display interactive family trees using Cytoscape."
+msgid "Display interactive family trees using Cytoscape."
 msgstr ""
 
-msgid ""
-"Display lists of places as interactive maps using Leaflet."
+msgid "Display lists of places as interactive maps using Leaflet."
 msgstr ""
 
 msgid ""
-"Display the HTTP API documentation in a user-friendly way using ReDoc."
+"Display the HTTP API documentation in a user-friendly way using ReDoc."
 msgstr ""
 
 msgid "Divorce"
@@ -468,8 +428,8 @@ msgid "Find out more about this image on Wikimedia Commons."
 msgstr ""
 
 msgid ""
-"Follow Betty on Twitter"
-" and Github."
+"Follow Betty on Twitter and Github."
 msgstr ""
 
 msgid "Funeral"
@@ -479,8 +439,7 @@ msgid "General"
 msgstr ""
 
 msgid ""
-"Generate nginx configuration for your site, as well as a"
-" Dockerfile to build a nginx configuration for your site, as well as a Dockerfile to build a Docker container around it."
 msgstr ""
 
@@ -637,9 +596,7 @@ msgstr ""
 msgid "Other attendees"
 msgstr "Інші відвідувачі"
 
-msgid ""
-"Output more detailed logs and disable optimizations that make debugging "
-"harder."
+msgid "Output more detailed logs and disable optimizations that make debugging harder."
 msgstr ""
 
 msgid "People"
@@ -684,28 +641,23 @@ msgstr ""
 msgid "Primary color (inactive)"
 msgstr ""
 
-msgid ""
-"Privatized person {privatized_person_id} ({privatized_person}) because "
-"they are likely still alive."
+msgid "Privatized person {privatized_person_id} ({privatized_person}) because they are likely still alive."
 msgstr ""
 
 msgid ""
-"Privatized place {privatized_place_id} ({privatized_place}) because it is"
-" not associated with any public information."
+"Privatized place {privatized_place_id} ({privatized_place}) because it is not associated with any public "
+"information."
 msgstr ""
 
 msgid "Privatized {count} people because they are likely still alive."
 msgstr ""
 
-msgid ""
-"Privatized {count} {entity_type}, because they are associated with "
-"private information."
+msgid "Privatized {count} {entity_type}, because they are associated with private information."
 msgstr ""
 
 msgid ""
-"Privatized {privatized_entity_type} {privatized_entity_id} "
-"({privatized_entity}) because of {reason_entity_type} {reason_entity_id} "
-"({reason_entity})."
+"Privatized {privatized_entity_type} {privatized_entity_id} ({privatized_entity}) because of {reason_entity_type} "
+"{reason_entity_id} ({reason_entity})."
 msgstr ""
 
 msgid "Privatizer"
@@ -798,28 +750,22 @@ msgstr ""
 msgid "The base URL must include a path."
 msgstr ""
 
-msgid ""
-"The base URL must start with a scheme such as https://, http://, or "
-"file://."
+msgid "The base URL must start with a scheme such as https://, http://, or file://."
 msgstr ""
 
 msgid ""
-"The betty:privacy Gramps attribute must have a value of \"public\" or "
-"\"private\", but \"{privacy_value}\" was given for {entity_type} "
-"{entity_id} ({entity_label}), which was ignored."
+"The betty:privacy Gramps attribute must have a value of \"public\" or \"private\", but \"{privacy_value}\" was "
+"given for {entity_type} {entity_id} ({entity_label}), which was ignored."
 msgstr ""
 
 msgid ""
-"The entity reference must be for an entity of type "
-"{expected_entity_type_name} ({expected_entity_type_label}), but instead "
-"does not specify an entity type at all."
+"The entity reference must be for an entity of type {expected_entity_type_name} ({expected_entity_type_label}), but "
+"instead does not specify an entity type at all."
 msgstr ""
 
 msgid ""
-"The entity reference must be for an entity of type "
-"{expected_entity_type_name} ({expected_entity_type_label}), but instead "
-"is for an entity of type {actual_entity_type_name} "
-"({actual_entity_type_label})"
+"The entity reference must be for an entity of type {expected_entity_type_name} ({expected_entity_type_label}), but "
+"instead is for an entity of type {actual_entity_type_name} ({actual_entity_type_label})"
 msgstr ""
 
 msgid "The following errors occurred"
@@ -845,23 +791,23 @@ msgstr "Це дитина %(parent_labels)s."
 #, python-format
 msgid "They grew up with a sibling."
 msgid_plural "They grew up with %(sibling_count)s siblings."
-msgstr[0] "У його батьків була ще одна дитина."
-msgstr[1] "У його батьків було ще %(sibling_count)s дітей."
-msgstr[2] "У його батьків було ще %(sibling_count)s дітей."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
 #, python-format
 msgid "They had a child with %(co_parent_labels)s."
 msgid_plural "They had %(child_count)s children with %(co_parent_labels)s."
-msgstr[0] "У нього була дитина від %(co_parent_labels)s."
-msgstr[1] "У нього було 3 дитини з %(co_parent_labels)s."
-msgstr[2] "У нього було 3 дитини з %(co_parent_labels)s."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
 #, python-format
 msgid "They had a child."
 msgid_plural "They had %(child_count)s children."
-msgstr[0] "У нього була дитина."
-msgstr[1] "У нього було %(child_count)s дитини."
-msgstr[2] "У нього було %(child_count)s дитини."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
 msgid "This field is required."
 msgstr ""
@@ -912,35 +858,29 @@ msgid "URL"
 msgstr ""
 
 msgid ""
-"URLs look like /path instead of "
-"/path/index.html. This requires a web server that supports "
-"it."
+"URLs look like /path instead of /path/index.html. This requires a web server that "
+"supports it."
 msgstr ""
 
 msgid "Unknown"
 msgstr "Невідомо"
 
-msgid ""
-"Unknown file format \".{extension}\". Supported formats are: "
-"{supported_formats}."
+msgid "Unknown file format \".{extension}\". Supported formats are: {supported_formats}."
 msgstr ""
 
 msgid "Unknown key: {unknown_key}. Did you mean {known_keys}?"
 msgstr ""
 
-msgid ""
-"Updated {updated_derivations} {event_type} events based on existing "
-"information."
+msgid "Updated {updated_derivations} {event_type} events based on existing information."
 msgstr ""
 
 #, python-format
 msgid ""
-"Use  and  to navigate results, or esc "
-"to exit the search. Search again with %(shortcut)s."
-msgstr ""
-"Використовуйте  і  для переміщення по результатах"
-" або esc для виходу з пошуку. Шукайте знову за допомогою "
+"Use  and  to navigate results, or esc to exit the search. Search again with "
 "%(shortcut)s."
+msgstr ""
+"Використовуйте  і  для переміщення по результатах або esc для виходу з пошуку. "
+"Шукайте знову за допомогою %(shortcut)s."
 
 msgid "Version: {version}"
 msgstr ""
@@ -978,9 +918,7 @@ msgstr "Свідки"
 msgid "Work on a new or existing site of your own"
 msgstr ""
 
-msgid ""
-"You can now view a Betty demonstration site at {url}."
+msgid "You can now view a Betty demonstration site at {url}."
 msgstr ""
 
 msgid "You can now view the documentation at {url}."
@@ -991,8 +929,8 @@ msgstr ""
 
 #, python-format
 msgid ""
-"Your browser cannot show PDF documents. Download"
-" %(file_name)s to view it on your device instead."
+"Your browser cannot show PDF documents. Download %(file_name)s to view it on your "
+"device instead."
 msgstr ""
 
 msgid "`npm` is available"
@@ -1051,9 +989,8 @@ msgid "in %(place)s"
 msgstr "в %(place)s"
 
 msgid ""
-"npm (https://www.npmjs.com/) must be available for features that require "
-"Node.js packages to be installed. Ensure that the `npm` executable is "
-"available in your `PATH`."
+"npm (https://www.npmjs.com/) must be available for features that require Node.js packages to be installed. Ensure "
+"that the `npm` executable is available in your `PATH`."
 msgstr ""
 
 msgid "private"
@@ -1069,9 +1006,9 @@ msgstr "ш"
 #, python-format
 msgid "show %(name_count)s more"
 msgid_plural "show %(name_count)s more"
-msgstr[0] "показати ще одну"
-msgstr[1] "показати ще %(name_count)s"
-msgstr[2] "показати ще %(name_count)s"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
 msgid "show fewer"
 msgstr "показати менше"
@@ -1154,4 +1091,3 @@ msgstr "{individual_name} {affiliation_name}"
 #, python-format
 msgid "© Copyright %(author)s, unless otherwise credited"
 msgstr "© Авторське право %(author)s, якщо інше не зараховано"
-