From 904bb880917d33389dd40e4db32e2610319fc514 Mon Sep 17 00:00:00 2001 From: Ben Silverman Date: Wed, 29 Jan 2025 11:17:23 -0500 Subject: [PATCH] Person active and deceased dates (#1687) --- geniza/entities/admin.py | 15 +- geniza/entities/metadata_export.py | 3 +- geniza/entities/models.py | 43 ++- .../templates/entities/person_detail.html | 21 +- geniza/entities/tests/test_entities_admin.py | 25 ++ .../tests/test_entities_metadata_export.py | 20 +- geniza/entities/tests/test_entities_models.py | 70 +++- geniza/locale/ar/LC_MESSAGES/django.po | 325 ++++++++++------- geniza/locale/en/LC_MESSAGES/django.po | 237 +++++++------ geniza/locale/he/LC_MESSAGES/django.po | 326 +++++++++++------- sitemedia/scss/pages/_person.scss | 28 +- 11 files changed, 733 insertions(+), 380 deletions(-) diff --git a/geniza/entities/admin.py b/geniza/entities/admin.py index 8e72ba55c..fbb5a9e71 100644 --- a/geniza/entities/admin.py +++ b/geniza/entities/admin.py @@ -282,11 +282,12 @@ class PersonAdmin(TabbedTranslationAdmin, SortableAdminBase, admin.ModelAdmin): "role", "has_page", "date", - "automatic_date", + "active_dates", + "deceased_mention_dates", "description", "tags", ) - readonly_fields = ("automatic_date",) + readonly_fields = ("active_dates", "deceased_mention_dates") inlines = ( NameInline, FootnoteInline, @@ -406,9 +407,13 @@ def get_urls(self): ] return urls + super().get_urls() - def automatic_date(self, obj): - """Display automatically generated date/date range for an event as a formatted string""" - return standard_date_display(obj.documents_date_range) + def active_dates(self, obj): + """Display automatically generated active date/date range for a person as a formatted string""" + return standard_date_display(obj.active_date_range) + + def deceased_mention_dates(self, obj): + """Display automatically generated deceased date/date range for a person as a formatted string""" + return standard_date_display(obj.deceased_date_range) actions = (export_to_csv, merge_people) diff --git a/geniza/entities/metadata_export.py b/geniza/entities/metadata_export.py index 9ec032121..a07c7e92b 100644 --- a/geniza/entities/metadata_export.py +++ b/geniza/entities/metadata_export.py @@ -114,7 +114,8 @@ def get_export_data_dict(self, person): ), "gender": person.get_gender_display(), "social_role": str(person.role), - "auto_date_range": standard_date_display(person.documents_date_range), + "active_date_range": standard_date_display(person.active_date_range), + "deceased_date_range": standard_date_display(person.deceased_date_range), "manual_date_range": person.date, "description": person.description, "related_people_count": person.related_people_count, diff --git a/geniza/entities/models.py b/geniza/entities/models.py index d91399bb2..62851c8f3 100644 --- a/geniza/entities/models.py +++ b/geniza/entities/models.py @@ -107,9 +107,13 @@ class DocumentDatableMixin: @property def documents_date_range(self): - """Standardized range of dates across associated documents""" + """Compute the total range of dates across all associated documents""" + return self.get_date_range(self.documents.all()) + + def get_date_range(self, doc_set): + """Standardized range of dates across a set of documents""" full_range = [None, None] - for doc in self.documents.all(): + for doc in doc_set: # get each doc's full range, including inferred and on-document doc_range = doc.dating_range() # if doc has a range, and the range is not [None, None], compare @@ -121,7 +125,6 @@ def documents_date_range(self): full_range = PartialDate.get_date_range( old_range=full_range, new_range=[start, end] ) - # prune Nones and use isoformat for standardized representation full_range = [d.isoformat() for d in full_range if d] if len(full_range) == 2 and full_range[0] == full_range[1]: @@ -414,22 +417,27 @@ def __str__(self): @property def date_str(self): - """Return a formatted string for the person's date range, for use in public site. + """Return a formatted string for the person's active date range, for use in public site. CE date override takes highest precedence, then fallback to computed date range from associated documents if override is unset. """ return ( standard_date_display(self.date) - or standard_date_display(self.documents_date_range) + or standard_date_display(self.active_date_range) or "" ) + @property + def deceased_date_str(self): + """Return a formatted string for the person's mentioned as deceased date range.""" + return standard_date_display(self.deceased_date_range) or "" + def solr_date_range(self): """Return the person's date range as a Solr date range.""" if self.date: solr_dating_range = self.date.split("/") else: - solr_dating_range = self.documents_date_range.split("/") + solr_dating_range = self.active_date_range.split("/") if solr_dating_range: # if a single date instead of a range, just return that date if ( @@ -647,6 +655,27 @@ def related_people(self): return relation_list + @property + def active_date_range(self): + """Standardized range of dates across documents where a person is (presumed) alive""" + relations = self.persondocumentrelation_set.exclude( + type__name__icontains="deceased" + ) + doc_ids = relations.values_list("document__pk", flat=True) + docs = Document.objects.filter(pk__in=doc_ids) + return self.get_date_range(docs) + + @property + def deceased_date_range(self): + """Standardized range of dates across associated documents where the relationship is + 'Mentioned (deceased)'""" + relations = self.persondocumentrelation_set.filter( + type__name__icontains="deceased" + ) + doc_ids = relations.values_list("document__pk", flat=True) + docs = Document.objects.filter(pk__in=doc_ids) + return self.get_date_range(docs) + def merge_with(self, merge_people, user=None): """Merge the specified people into this one. Combines all metadata into this person and creates a log entry documenting the merge. @@ -903,7 +932,7 @@ def index_data(self): for date in ( self.date.split("/") if self.date - else self.documents_date_range.split("/") + else self.active_date_range.split("/") ) ] index_data.update( diff --git a/geniza/entities/templates/entities/person_detail.html b/geniza/entities/templates/entities/person_detail.html index 0aca1533f..8cf768214 100644 --- a/geniza/entities/templates/entities/person_detail.html +++ b/geniza/entities/templates/entities/person_detail.html @@ -33,10 +33,23 @@

{# Translators: label for a person's gender #}
{% translate 'Gender' %}
{{ person.get_gender_display }}
- {% if person.date_str %} - {# Translators: label for a person's active dates in the PGP #} -
{% translate 'Active dates' %}
-
{{ person.date_str }}
+ {% if person.date_str or person.deceased_date_str %} + {# Translators: label for the dates of a person's appearances in PGP documents #} +
{% translate 'Dates' %}
+
+
+ {% if person.date_str %} + {# Translators: label for a person's active dates in the PGP #} +
{% translate 'Active dates' %}
+
{{ person.date_str }}
+ {% endif %} + {% if person.deceased_date_str %} + {# Translators: label for a person's date range when mentioned after death in PGP documents #} +
{% translate 'Posthumous mentions' %}
+
{{ person.deceased_date_str }}
+ {% endif %} +
+
{% endif %} {% if person.role %}
diff --git a/geniza/entities/tests/test_entities_admin.py b/geniza/entities/tests/test_entities_admin.py index c26a13620..691fdfc1d 100644 --- a/geniza/entities/tests/test_entities_admin.py +++ b/geniza/entities/tests/test_entities_admin.py @@ -7,6 +7,7 @@ from django.urls import reverse from pytest_django.asserts import assertContains, assertNotContains +from geniza.corpus.dates import standard_date_display from geniza.corpus.models import Dating, Document, LanguageScript from geniza.entities.admin import ( NameInlineFormSet, @@ -230,6 +231,30 @@ def test_export_relations_to_csv(self, person, person_multiname): assert str(person_multiname) in content assert "Partner" in content + def test_date_ranges(self, person, document, join): + document.doc_date_standard = "1200/1300" + document.save() + (pdrtype, _) = PersonDocumentRelationType.objects.get_or_create(name="test") + PersonDocumentRelation.objects.create( + person=person, document=document, type=pdrtype + ) + (deceased, _) = PersonDocumentRelationType.objects.get_or_create( + name="Mentioned (deceased)" + ) + join.doc_date_standard = "1310/1312" + join.save() + PersonDocumentRelation.objects.create( + person=person, document=join, type=deceased + ) + + person_admin = PersonAdmin(model=Person, admin_site=admin.site) + assert person_admin.active_dates(person) == standard_date_display( + document.doc_date_standard + ) + assert person_admin.deceased_mention_dates(person) == standard_date_display( + join.doc_date_standard + ) + @pytest.mark.django_db class TestNameInlineFormSet: diff --git a/geniza/entities/tests/test_entities_metadata_export.py b/geniza/entities/tests/test_entities_metadata_export.py index b5a806af6..23a14fdca 100644 --- a/geniza/entities/tests/test_entities_metadata_export.py +++ b/geniza/entities/tests/test_entities_metadata_export.py @@ -94,9 +94,17 @@ def test_person_iter_dicts(person, person_diacritic, person_multiname, document, person=person_diacritic, place=fustat, type=roots ) - person.documents.add(document) - person.documents.add(join) - person_multiname.documents.add(document) + document.doc_date_standard = "1200/1300" + document.save() + PersonDocumentRelation.objects.create(person=person, document=document) + PersonDocumentRelation.objects.create(person=person_multiname, document=document) + (deceased, _) = PersonDocumentRelationType.objects.get_or_create( + name="Mentioned (deceased)" + ) + join.doc_date_standard = "1310/1312" + join.save() + PersonDocumentRelation.objects.create(person=person, document=join, type=deceased) + person.tags.add("test") person.tags.add("example") person_multiname.tags.add("test") @@ -128,6 +136,12 @@ def test_person_iter_dicts(person, person_diacritic, person_multiname, document, assert "Mosul" in export_data.get("home_base") assert "test" in export_data.get("tags") assert "example" in export_data.get("tags") + assert export_data.get("active_date_range") == standard_date_display( + "1200/1300" + ) + assert export_data.get("deceased_date_range") == standard_date_display( + "1310/1312" + ) elif str(pers) == str(person_multiname): assert export_data.get("related_people_count") == 0 assert export_data.get("related_documents_count") == 1 diff --git a/geniza/entities/tests/test_entities_models.py b/geniza/entities/tests/test_entities_models.py index 823e16ff8..adbc6c451 100644 --- a/geniza/entities/tests/test_entities_models.py +++ b/geniza/entities/tests/test_entities_models.py @@ -439,7 +439,7 @@ def test_date_str(self, person, document): person.save() assert person.date_str == standard_date_display("1255") - def test_solr_date_range(self, person, document): + def test_solr_date_range(self, person, document, join): # no date: returns None assert not person.solr_date_range() # document dates: should use those @@ -447,6 +447,18 @@ def test_solr_date_range(self, person, document): document.save() PersonDocumentRelation.objects.create(person=person, document=document) assert person.solr_date_range() == "[1200 TO 1300]" + + # should NOT include mentioned (deceased) + (deceased, _) = PersonDocumentRelationType.objects.get_or_create( + name="Mentioned (deceased)" + ) + join.doc_date_standard = "1310/1312" + join.save() + PersonDocumentRelation.objects.create( + person=person, document=join, type=deceased + ) + assert person.solr_date_range() == "[1200 TO 1300]" + # person date override person.date = "1255" person.save() @@ -455,13 +467,24 @@ def test_solr_date_range(self, person, document): def test_total_to_index(self, person, person_multiname): assert Person.total_to_index() == 2 - def test_index_data(self, person, person_multiname, document): + def test_index_data(self, person, person_multiname, document, join): document.doc_date_standard = "1200/1300" document.save() (pdrtype, _) = PersonDocumentRelationType.objects.get_or_create(name="test") PersonDocumentRelation.objects.create( person=person, document=document, type=pdrtype ) + + # these dates should be ignored (deceased) + (deceased, _) = PersonDocumentRelationType.objects.get_or_create( + name="Mentioned (deceased)" + ) + join.doc_date_standard = "1310/1312" + join.save() + PersonDocumentRelation.objects.create( + person=person, document=join, type=deceased + ) + tags = ["testtag", "tag2"] for t in tags: person.tags.add(t) @@ -478,9 +501,10 @@ def test_index_data(self, person, person_multiname, document): index_data = person.index_data() assert index_data["url_s"] == person.get_absolute_url() assert index_data["has_page_b"] == True - assert index_data["documents_i"] == 1 + assert index_data["documents_i"] == 2 assert index_data["people_i"] == index_data["places_i"] == 0 - assert index_data["document_relation_ss"] == [str(pdrtype)] + assert str(pdrtype) in index_data["document_relation_ss"] + assert str(deceased) in index_data["document_relation_ss"] assert index_data["tags_ss_lower"] == tags assert index_data["date_dr"] == person.solr_date_range() assert index_data["date_str_s"] == person.date_str @@ -495,6 +519,44 @@ def test_index_data(self, person, person_multiname, document): in index_data["other_names_ss"] ) + def test_active_date_range(self, person, document, join): + # these dates should be used (active) + document.doc_date_standard = "1200/1300" + document.save() + (pdrtype, _) = PersonDocumentRelationType.objects.get_or_create(name="test") + PersonDocumentRelation.objects.create( + person=person, document=document, type=pdrtype + ) + # these dates should be ignored (deceased) + (deceased, _) = PersonDocumentRelationType.objects.get_or_create( + name="Mentioned (deceased)" + ) + join.doc_date_standard = "1310/1312" + join.save() + PersonDocumentRelation.objects.create( + person=person, document=join, type=deceased + ) + assert person.active_date_range == document.doc_date_standard + + def test_deceased_date_range(self, person, document, join): + # these dates should be ignored (active) + document.doc_date_standard = "1200/1300" + document.save() + (pdrtype, _) = PersonDocumentRelationType.objects.get_or_create(name="test") + PersonDocumentRelation.objects.create( + person=person, document=document, type=pdrtype + ) + # these dates should be used (deceased) + (deceased, _) = PersonDocumentRelationType.objects.get_or_create( + name="Mentioned (deceased)" + ) + join.doc_date_standard = "1310/1312" + join.save() + PersonDocumentRelation.objects.create( + person=person, document=join, type=deceased + ) + assert person.deceased_date_range == join.doc_date_standard + class TestPersonSolrQuerySet: def test_keyword_search(self): diff --git a/geniza/locale/ar/LC_MESSAGES/django.po b/geniza/locale/ar/LC_MESSAGES/django.po index bc99bf726..eafbff6d8 100644 --- a/geniza/locale/ar/LC_MESSAGES/django.po +++ b/geniza/locale/ar/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: princeton-geniza-project\n" "Report-Msgid-Bugs-To: cdhdevteam@princeton.edu\n" -"POT-Creation-Date: 2024-11-06 13:42-0500\n" +"POT-Creation-Date: 2025-01-29 10:50-0500\n" "PO-Revision-Date: 2024-11-06 19:02\n" "Last-Translator: \n" "Language-Team: Arabic\n" @@ -10,7 +10,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Crowdin-Project: princeton-geniza-project\n" "X-Crowdin-Project-ID: 520356\n" "X-Crowdin-Language: ar\n" @@ -28,7 +29,7 @@ msgid "Keyword or Phrase" msgstr "الكلمة المفتاحية أو العبارة" #. Translators: label for sort by relevance -#: corpus/forms.py:226 +#: corpus/forms.py:226 entities/forms.py:211 msgid "Relevance" msgstr "الصلة" @@ -93,14 +94,16 @@ msgid "RegEx" msgstr "" #. Translators: label for form sort field -#: corpus/forms.py:262 entities/forms.py:140 entities/forms.py:260 +#: corpus/forms.py:262 entities/forms.py:228 entities/forms.py:349 msgid "Sort by" msgstr "الترتيب حسب" #. Translators: label for filter documents by date range +#. Translators: label for the dates of a person's appearances in PGP documents #. Translators: Person "dates of activity" column header on the browse page -#: corpus/forms.py:269 entities/forms.py:121 -#: entities/templates/entities/person_list.html:109 +#: corpus/forms.py:269 entities/forms.py:207 +#: entities/templates/entities/person_detail.html:38 +#: entities/templates/entities/person_list.html:126 msgid "Dates" msgstr "" @@ -111,7 +114,6 @@ msgstr "" #. Translators: label for document type search form filter #: corpus/forms.py:285 -#| msgid "Input date" msgid "Document type" msgstr "" @@ -150,14 +152,13 @@ msgstr "" #. Translators: label for "search mode" (general or regex) #: corpus/forms.py:312 -#| msgid "Search Documents" msgid "Search mode" msgstr "" #. Translators: Default label when document does not have a type -#: corpus/forms.py:348 corpus/solr_queryset.py:293 +#: corpus/forms.py:348 corpus/models.py:1005 corpus/solr_queryset.py:332 #: corpus/templates/corpus/snippets/document_header.html:17 -#: corpus/templates/corpus/snippets/document_transcription.html:237 +#: corpus/templates/corpus/snippets/document_transcription.html:243 msgid "Unknown type" msgstr "نوع غير معروف" @@ -167,47 +168,56 @@ msgstr "ترتيب الصلة غير متوفر بدون مصطلح البحث #: corpus/forms.py:411 #, python-format -msgid "Regular expression cannot contain { without a preceding character, without an integer afterwards, or without a closing }. %s" +msgid "" +"Regular expression cannot contain { without a preceding character, without " +"an integer afterwards, or without a closing }. %s" msgstr "" #: corpus/forms.py:420 #, python-format -msgid "Regular expression cannot contain * without a preceding character, or multiple times in a row. %s" +msgid "" +"Regular expression cannot contain * without a preceding character, or " +"multiple times in a row. %s" msgstr "" #: corpus/forms.py:429 #, python-format -msgid "Regular expression cannot contain + without a preceding character, or multiple times in a row. %s" +msgid "" +"Regular expression cannot contain + without a preceding character, or " +"multiple times in a row. %s" msgstr "" #: corpus/forms.py:438 #, python-format -msgid "Regular expression cannot contain < or use a negative lookbehind query. %s" +msgid "" +"Regular expression cannot contain < or use a negative lookbehind query. %s" msgstr "" #: corpus/forms.py:448 #, python-format -msgid "Regular expression cannot contain the escape character \\ followed by an alphanumeric character other than one of DdSsWw, or at the end of a query. %s" +msgid "" +"Regular expression cannot contain the escape character \\ followed by an " +"alphanumeric character other than one of DdSsWw, or at the end of a query. %s" msgstr "" -#: corpus/models.py:1119 templates/base.html:21 +#: corpus/models.py:1128 templates/base.html:21 msgid "Princeton Geniza Project" msgstr "Princeton Geniza Project" #. Translators: attribution for local IIIF manifests -#: corpus/models.py:1121 +#: corpus/models.py:1130 #, python-format msgid "Compilation by %(pgp)s." msgstr "تجميع بواسطة %(pgp)s." #. Translators: attribution for local IIIF manifests that include transcription -#: corpus/models.py:1124 +#: corpus/models.py:1133 #, python-format msgid "Compilation and transcription by %(pgp)s." msgstr "التجميع والنسخ بواسطة %(pgp)s." #. Translators: manifest attribution note that content from other institutions may have restrictions -#: corpus/models.py:1126 +#: corpus/models.py:1135 msgid "Additional restrictions may apply." msgstr "قد تطبق قيود إضافية." @@ -324,8 +334,8 @@ msgstr "الوصف" #. Translators: accessibility label for people list #: corpus/templates/corpus/document_detail.html:153 #: corpus/templates/corpus/snippets/document_result.html:108 -#: entities/forms.py:133 entities/forms.py:255 -#: entities/templates/entities/person_list.html:146 +#: entities/forms.py:221 entities/forms.py:344 +#: entities/templates/entities/person_list.html:190 #: entities/templates/entities/place_list.html:80 #: entities/templates/entities/place_related_people.html:28 msgid "Related People" @@ -334,10 +344,12 @@ msgstr "" #. Translators: heading label for document related places #. Translators: label for sort by number of related places #. Translators: accessibility label for place list +#. Translators: heading label for document related places #: corpus/templates/corpus/document_detail.html:172 #: corpus/templates/corpus/snippets/document_result.html:112 -#: entities/forms.py:135 entities/templates/entities/person_list.html:150 +#: entities/forms.py:223 entities/templates/entities/person_list.html:194 #: entities/templates/entities/person_related_places.html:56 +#: entities/templates/entities/place_detail.html:93 msgid "Related Places" msgstr "" @@ -376,20 +388,35 @@ msgstr "تاريخ الإدخال" #. Translators: Date document was first added to the PGP #: corpus/templates/corpus/document_detail.html:234 #, python-format -msgid "\n" +msgid "" +"\n" " In PGP since %(date)s\n" " " msgstr "" +#. Translators: label for a citation for a document detail page +#. Translators: label for a citation for a person page +#: corpus/templates/corpus/document_detail.html:249 +#: entities/templates/entities/person_detail.html:131 +msgid "How to cite this record:" +msgstr "" + +#. Translators: accessibility label for a citation for a document +#. Translators: accessibility label for a citation for a person +#: corpus/templates/corpus/document_detail.html:253 +#: entities/templates/entities/person_detail.html:135 +msgid "Citation" +msgstr "" + #. Translators: label for permanent link to a document -#: corpus/templates/corpus/document_detail.html:247 +#: corpus/templates/corpus/document_detail.html:258 msgid "Link to this document:" msgstr "" #. Translators: accessibility label for permanent link to a document #. Translators: accessibility label for permanent link to a person -#: corpus/templates/corpus/document_detail.html:254 -#: entities/templates/entities/person_detail.html:133 +#: corpus/templates/corpus/document_detail.html:265 +#: entities/templates/entities/person_detail.html:146 msgid "Permalink" msgstr "رابط دائم" @@ -409,25 +436,26 @@ msgstr "" #. Translators: Search submit button #: corpus/templates/corpus/document_list.html:31 +#: entities/templates/entities/person_list.html:15 msgid "Submit search" msgstr "إرسال البحث" #: corpus/templates/corpus/document_list.html:37 #: corpus/templates/corpus/document_list.html:64 -#: entities/templates/entities/person_list.html:22 -#: entities/templates/entities/person_list.html:49 +#: entities/templates/entities/person_list.html:29 +#: entities/templates/entities/person_list.html:56 msgid "Filters" msgstr "عوامل التصفية" #. Translators: label for button to clear all applied filters #: corpus/templates/corpus/document_list.html:58 -#: entities/templates/entities/person_list.html:43 +#: entities/templates/entities/person_list.html:50 msgid "Clear all" msgstr "" #. Translators: label for 'filters' close button for mobile navigation #: corpus/templates/corpus/document_list.html:67 -#: entities/templates/entities/person_list.html:52 +#: entities/templates/entities/person_list.html:59 msgid "Close filter options" msgstr "إغلاق خيارات التصفية" @@ -437,14 +465,14 @@ msgstr "" #. Translators: search results section header #: corpus/templates/corpus/document_list.html:135 -#: entities/templates/entities/person_list.html:78 +#: entities/templates/entities/person_list.html:93 msgid "Results" msgstr "" #. Translators: number of search results #. Translators: number of results #: corpus/templates/corpus/document_list.html:139 -#: entities/templates/entities/person_list.html:82 +#: entities/templates/entities/person_list.html:97 #, python-format msgid "1 result" msgid_plural "%(count_humanized)s results" @@ -455,6 +483,10 @@ msgstr[3] "%(count_humanized)s نتائج" msgstr[4] "%(count_humanized)s نتائج" msgstr[5] "%(count_humanized)s مجموع النتائج" +#: corpus/templates/corpus/document_list.html:163 +msgid "View results in the Arabic Papyrology Database" +msgstr "" + #. Translators: accessibility label for a footnote source citation in scholarship records view #: corpus/templates/corpus/document_scholarship.html:21 msgid "Bibliographic citation" @@ -492,13 +524,11 @@ msgid "Jewish Theological Seminary logo" msgstr "شعار Jewish Theological Seminary" #: corpus/templates/corpus/snippets/document_result.html:23 -#| msgid "Input date" msgid "Document date" msgstr "" #. Translators: label for inferred date on a document #: corpus/templates/corpus/snippets/document_result.html:33 -#| msgid "Input date" msgid "Inferred date" msgstr "" @@ -515,14 +545,14 @@ msgstr[5] "" #. Translators: label for sort by number of related documents #: corpus/templates/corpus/snippets/document_result.html:116 -#: entities/forms.py:131 entities/forms.py:253 -#: entities/templates/entities/person_list.html:142 +#: entities/forms.py:219 entities/forms.py:342 +#: entities/templates/entities/person_list.html:186 #: entities/templates/entities/place_list.html:75 -#| msgid "Search Documents" msgid "Related Documents" msgstr "" #: corpus/templates/corpus/snippets/document_result.html:132 +#: entities/templates/entities/person_list.html:180 msgid "more" msgstr "المزيد" @@ -604,8 +634,10 @@ msgstr "" #. Translators: general search help text #: corpus/templates/corpus/snippets/document_search_helptext.html:7 -msgid "\n" -" Use keywords or phrases in any language to return matching or similar\n" +msgid "" +"\n" +" Use keywords or phrases in any language to return matching or " +"similar\n" " results across all fields. Arabic script searches will return both\n" " Arabic and Judaeo-Arabic transcription content.\n" " " @@ -619,7 +651,8 @@ msgstr "" #. Translators: regular expressions search mode help text #: corpus/templates/corpus/snippets/document_search_helptext.html:18 #, python-format -msgid "\n" +msgid "" +"\n" " Use Hebrew or Arabic script to find precise matches in the\n" " transcriptions. See\n" " How to Search\n" @@ -634,10 +667,13 @@ msgstr "" #. Translators: regular expression tip 1 #: corpus/templates/corpus/snippets/document_search_helptext.html:31 -msgid "\n" +msgid "" +"\n" " If you're looking for a word with one missing letter, use a\n" -" period. Two missing letters, use two periods or {2}.\n" -" Increase the number in the curly brackets to increase the number of\n" +" period. Two missing letters, use two periods or {2}.\n" +" Increase the number in the curly brackets to increase the number " +"of\n" " characters, or insert a range with a comma in between, ex.\n" " {0,5}.\n" " " @@ -645,7 +681,8 @@ msgstr "" #. Translators: regular expression tip 2 #: corpus/templates/corpus/snippets/document_search_helptext.html:41 -msgid "\n" +msgid "" +"\n" " If you don't know how many characters are missing, use\n" " .*.\n" " " @@ -653,8 +690,10 @@ msgstr "" #. Translators: regular expression tip 3 #: corpus/templates/corpus/snippets/document_search_helptext.html:48 -msgid "\n" -" If you know which characters you want, use square brackets to find\n" +msgid "" +"\n" +" If you know which characters you want, use square brackets to " +"find\n" " multiple spellings, ex. [יו] for yud or vav.\n" " " msgstr "" @@ -709,7 +748,7 @@ msgstr "عرض الترجمة" #. Translators: Label for editors of a transcription #: corpus/templates/corpus/snippets/document_transcription.html:92 -#: corpus/templates/corpus/snippets/document_transcription.html:107 +#: corpus/templates/corpus/snippets/document_transcription.html:110 #, python-format msgid "Editor: %(eds)s" msgid_plural "Editors: %(eds)s" @@ -721,8 +760,8 @@ msgstr[4] "" msgstr[5] "" #. Translators: Label for authors of a translation -#: corpus/templates/corpus/snippets/document_transcription.html:134 -#: corpus/templates/corpus/snippets/document_transcription.html:148 +#: corpus/templates/corpus/snippets/document_transcription.html:140 +#: corpus/templates/corpus/snippets/document_transcription.html:154 #, python-format msgid "Translator: %(eds)s" msgid_plural "Translators: %(eds)s" @@ -733,11 +772,11 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: corpus/templates/corpus/snippets/document_transcription.html:204 +#: corpus/templates/corpus/snippets/document_transcription.html:210 msgid "Zoom and Rotate" msgstr "تكبير و تدوير" -#: corpus/templates/corpus/snippets/document_transcription.html:240 +#: corpus/templates/corpus/snippets/document_transcription.html:246 #, python-format msgid "View %(related_doc)s" msgstr "عرض %(related_doc)s" @@ -770,37 +809,38 @@ msgstr "التالي" #. Translators: title of document search page #. Translators: label for link to document search page in main navigation -#: corpus/views.py:81 templates/snippets/menu.html:11 -#| msgid "Input date" +#: corpus/views.py:82 templates/snippets/menu.html:11 msgid "Documents" msgstr "" #. Translators: description of document search page, for search engines -#: corpus/views.py:83 +#: corpus/views.py:84 msgid "Search and browse Geniza documents." msgstr "البحث في وثائق جنيزا وتصفحها." -#: corpus/views.py:325 entities/views.py:601 +#: corpus/views.py:326 entities/views.py:721 #, python-format msgid "After %s" msgstr "" -#: corpus/views.py:327 entities/views.py:603 +#: corpus/views.py:328 entities/views.py:723 #, python-format msgid "Before %s" msgstr "" -#: corpus/views.py:378 -msgid "Error retrieving search results. Check regular expression for errors such as unescaped or unclosed brackets or parentheses." +#: corpus/views.py:399 +msgid "" +"Error retrieving search results. Check regular expression for errors such as " +"unescaped or unclosed brackets or parentheses." msgstr "" #. Translators: title of document scholarship page -#: corpus/views.py:509 +#: corpus/views.py:531 #, python-format msgid "Scholarship on %(doc)s" msgstr "منحة في %(doc)s" -#: corpus/views.py:516 +#: corpus/views.py:538 #, python-format msgid "%(count)d scholarship record" msgid_plural "%(count)d scholarship records" @@ -812,12 +852,12 @@ msgstr[4] "%(count)d سجلات منح دراسية" msgstr[5] "%(count)d سجلات منح دراسية" #. Translators: title of related documents page -#: corpus/views.py:557 +#: corpus/views.py:579 #, python-format msgid "Related documents for %(doc)s" msgstr "المستندات ذات الصلة لـ %(doc)s" -#: corpus/views.py:564 entities/views.py:210 +#: corpus/views.py:586 entities/views.py:317 #, python-format msgid "%(count)d related document" msgid_plural "%(count)d related documents" @@ -828,21 +868,37 @@ msgstr[3] "%(count)d مستندات ذات صلة" msgstr[4] "%(count)d مستندات ذات صلة" msgstr[5] "%(count)d مستندات ذات صلة" +#. Translators: placeholder for people keyword search input +#: entities/forms.py:195 +msgid "Search for people by name" +msgstr "" + +#. Translators: accessible label for people keyword search input +#: entities/forms.py:197 +#, fuzzy +#| msgid "Keyword or Phrase" +msgid "word or phrase" +msgstr "الكلمة المفتاحية أو العبارة" + #. Translators: label for a person's gender #. Translators: Person "gender" column header on the browse page -#: entities/forms.py:117 entities/templates/entities/person_detail.html:34 -#: entities/templates/entities/person_list.html:107 +#: entities/forms.py:202 entities/templates/entities/person_detail.html:34 +#: entities/templates/entities/person_list.html:124 msgid "Gender" msgstr "" +#: entities/forms.py:203 entities/views.py:737 +msgid "Detail page available" +msgstr "" + #. Translators: Label for a person's social role #. Translators: Person "social role" column header on the browse page -#: entities/forms.py:118 entities/templates/entities/person_detail.html:44 -#: entities/templates/entities/person_list.html:111 +#: entities/forms.py:204 entities/templates/entities/person_detail.html:57 +#: entities/templates/entities/person_list.html:128 msgid "Social role" msgstr "" -#: entities/forms.py:119 +#: entities/forms.py:205 msgid "Relation to documents" msgstr "" @@ -851,9 +907,9 @@ msgstr "" #. Translators: table header for person name #. Translators: table header for place name #. Translators: table header for person name -#: entities/forms.py:125 entities/forms.py:251 -#: entities/templates/entities/person_list.html:105 -#: entities/templates/entities/person_related_people.html:34 +#: entities/forms.py:213 entities/forms.py:340 +#: entities/templates/entities/person_list.html:120 +#: entities/templates/entities/person_related_people.html:35 #: entities/templates/entities/person_related_places.html:65 #: entities/templates/entities/place_list.html:57 #: entities/templates/entities/place_related_people.html:37 @@ -862,66 +918,71 @@ msgstr "" #. Translators: label for sort by person activity dates #. Translators: table header for document date -#: entities/forms.py:127 +#: entities/forms.py:215 #: entities/templates/entities/snippets/related_documents_table.html:31 msgid "Date" msgstr "" #. Translators: label for sort by social role -#: entities/forms.py:129 +#: entities/forms.py:217 msgid "Social Role" msgstr "" #. Translators: label for ascending sort -#: entities/forms.py:148 entities/forms.py:268 +#: entities/forms.py:236 entities/forms.py:357 msgid "Ascending" msgstr "" #. Translators: label for descending sort -#: entities/forms.py:150 entities/forms.py:270 +#: entities/forms.py:238 entities/forms.py:359 msgid "Descending" msgstr "" -#: entities/models.py:367 +#: entities/models.py:375 msgid "Male" msgstr "" -#: entities/models.py:368 +#: entities/models.py:376 msgid "Female" msgstr "" -#: entities/models.py:369 +#: entities/models.py:377 msgid "Unknown" msgstr "" -#: entities/models.py:1063 +#: entities/models.py:1220 msgid "Immediate family relations" msgstr "" -#: entities/models.py:1064 +#: entities/models.py:1221 msgid "Extended family" msgstr "" -#: entities/models.py:1065 +#: entities/models.py:1222 msgid "Relatives by marriage" msgstr "" -#: entities/models.py:1066 +#: entities/models.py:1223 msgid "Business and property relationships" msgstr "" -#: entities/models.py:1067 +#: entities/models.py:1224 msgid "Ambiguity" msgstr "" #. Translators: label for a person's active dates in the PGP -#: entities/templates/entities/person_detail.html:38 +#: entities/templates/entities/person_detail.html:43 msgid "Active dates" msgstr "" +#. Translators: label for a person's date range when mentioned after death in PGP documents +#: entities/templates/entities/person_detail.html:48 +msgid "Posthumous mentions" +msgstr "" + #. Translators: label for alternative names for a person #. Translators: label for alternative names for a place -#: entities/templates/entities/person_detail.html:54 +#: entities/templates/entities/person_detail.html:67 #: entities/templates/entities/place_detail.html:68 msgid "Other name" msgid_plural "Other names" @@ -934,62 +995,69 @@ msgstr[5] "" #. Translators: label for person description / bio #. Translators: Person "description / bio" column header on the browse page -#: entities/templates/entities/person_detail.html:70 -#: entities/templates/entities/person_list.html:113 +#: entities/templates/entities/person_detail.html:83 +#: entities/templates/entities/person_list.html:130 msgid "Description / Bio" msgstr "" #. Translators: label for person's life events timeline -#: entities/templates/entities/person_detail.html:79 +#: entities/templates/entities/person_detail.html:92 msgid "Life events" msgstr "" #. Translators: label for person bibliography -#: entities/templates/entities/person_detail.html:102 +#: entities/templates/entities/person_detail.html:115 msgid "Select bibliography" msgstr "" -#. Translators: label for a citation for a person page -#: entities/templates/entities/person_detail.html:118 -msgid "How to cite this record:" -msgstr "" - -#. Translators: accessibility label for a citation for a person -#: entities/templates/entities/person_detail.html:122 -msgid "Citation" -msgstr "" - #. Translators: label for permanent link to a person -#: entities/templates/entities/person_detail.html:129 +#: entities/templates/entities/person_detail.html:142 msgid "Link to this person:" msgstr "" #. Translators: label for people browse page list view -#: entities/templates/entities/person_list.html:14 +#: entities/templates/entities/person_list.html:21 msgid "Toggle list view" msgstr "" +#: entities/templates/entities/person_list.html:72 +#, fuzzy +#| msgid "Document Details" +msgid "Details" +msgstr "تفاصيل المستند" + +#. Translators: Person "other names" column header on the browse page +#: entities/templates/entities/person_list.html:122 +#: entities/templates/entities/place_list.html:66 +msgid "Other names" +msgstr "" + #. Translators: Person "document count" column header on the browse page #. Translators: table header for count of shared documents between people -#: entities/templates/entities/person_list.html:116 -#: entities/templates/entities/person_related_people.html:48 +#: entities/templates/entities/person_list.html:133 +#: entities/templates/entities/person_related_people.html:49 msgid "Number of related documents" msgstr "" #. Translators: Person "related people count" column header on the browse page -#: entities/templates/entities/person_list.html:120 +#: entities/templates/entities/person_list.html:137 msgid "Number of related people" msgstr "" #. Translators: Person "related place count" column header on the browse page -#: entities/templates/entities/person_list.html:124 +#: entities/templates/entities/person_list.html:141 msgid "Number of related places" msgstr "" +#: entities/templates/entities/person_list.html:159 +msgid "Also known as: " +msgstr "" + #. Translators: range of search results on the current page, out of total -#: entities/templates/entities/person_list.html:161 +#: entities/templates/entities/person_list.html:205 #, python-format -msgid "\n" +msgid "" +"\n" "
%(start)s – %(end)s of %(count_humanized)s
\n" " " msgstr "" @@ -997,7 +1065,7 @@ msgstr "" #. Translators: table header for relationship types between people #. Translators: table header for person-place relation type #. Translators: table header for document relation (with a person or place) -#: entities/templates/entities/person_related_people.html:41 +#: entities/templates/entities/person_related_people.html:42 #: entities/templates/entities/person_related_places.html:72 #: entities/templates/entities/snippets/related_documents_table.html:24 msgid "Relation" @@ -1005,7 +1073,7 @@ msgstr "" #. Translators: table header for notes on a relationship between people #. Translators: label for place notes -#: entities/templates/entities/person_related_people.html:54 +#: entities/templates/entities/person_related_people.html:55 #: entities/templates/entities/person_related_places.html:76 #: entities/templates/entities/place_detail.html:84 #: entities/templates/entities/place_related_people.html:48 @@ -1030,10 +1098,6 @@ msgstr "" msgid "metadata" msgstr "" -#: entities/templates/entities/place_list.html:66 -msgid "Other names" -msgstr "" - #. Translators: accessible label for section showing counts of entries related to an entity #: entities/templates/entities/place_list.html:73 msgid "Related entries" @@ -1042,7 +1106,8 @@ msgstr "" #. Translators: range of search results on the current page, out of total #: entities/templates/entities/place_list.html:90 #, python-format -msgid "\n" +msgid "" +"\n" "
%(start)s – %(end)s of %(count_humanized)s
\n" " " msgstr "" @@ -1090,7 +1155,6 @@ msgstr "" #. Translators: table header for document name (shelfmark) #: entities/templates/entities/snippets/related_documents_table.html:10 -#| msgid "Input date" msgid "Document" msgstr "" @@ -1100,18 +1164,18 @@ msgid "Type" msgstr "" #. Translators: title of entity "related documents" page -#: entities/views.py:202 +#: entities/views.py:309 #, python-format msgid "Related documents for %(p)s" msgstr "" #. Translators: title of entity "related people" page -#: entities/views.py:292 +#: entities/views.py:399 #, python-format msgid "Related people for %(p)s" msgstr "" -#: entities/views.py:300 entities/views.py:370 +#: entities/views.py:407 entities/views.py:477 #, python-format msgid "%(count)d related person" msgid_plural "%(count)d related people" @@ -1123,12 +1187,12 @@ msgstr[4] "" msgstr[5] "" #. Translators: title of person "related places" page -#: entities/views.py:429 +#: entities/views.py:536 #, python-format msgid "Related places for %(p)s" msgstr "" -#: entities/views.py:437 +#: entities/views.py:544 #, python-format msgid "%(count)d related place" msgid_plural "%(count)d related places" @@ -1141,23 +1205,23 @@ msgstr[5] "" #. Translators: title of people list/browse page #. Translators: label for link to people browse page in main navigation -#: entities/views.py:539 templates/snippets/menu.html:19 +#: entities/views.py:649 templates/snippets/menu.html:19 msgid "People" msgstr "" #. Translators: description of people list/browse page -#: entities/views.py:541 +#: entities/views.py:651 msgid "Browse people present in Geniza documents." msgstr "" #. Translators: title of places list/browse page #. Translators: label for link to places browse page in main navigation -#: entities/views.py:694 templates/snippets/menu.html:26 +#: entities/views.py:827 templates/snippets/menu.html:26 msgid "Places" msgstr "" #. Translators: description of places list/browse page -#: entities/views.py:696 +#: entities/views.py:829 msgid "Browse places present in Geniza documents." msgstr "" @@ -1171,14 +1235,21 @@ msgid "Edition" msgstr "الطبعة" #: pages/models.py:13 -msgid "Alternative text for visually impaired users to\n" +msgid "" +"Alternative text for visually impaired users to\n" "briefly communicate the intended message of the image in this context." -msgstr "نص بديل للمستخدمين ضعاف البصر\n" +msgstr "" +"نص بديل للمستخدمين ضعاف البصر\n" "لإيصال الرسالة المقصودة للصورة في هذا السياق بإيجاز." #: pages/models.py:44 -msgid "This text will only be read to non-sighted users and should describe the major insights or takeaways from the graphic. Multiple paragraphs are allowed." -msgstr "هذا النص سوف يقرأ فقط للمستخدمين غير المبصرين ويجب أن يصف الرؤى أو الأفكار الرئيسية من الرسوم. يسمح بفقرات متعددة." +msgid "" +"This text will only be read to non-sighted users and should describe the " +"major insights or takeaways from the graphic. Multiple paragraphs are " +"allowed." +msgstr "" +"هذا النص سوف يقرأ فقط للمستخدمين غير المبصرين ويجب أن يصف الرؤى أو الأفكار " +"الرئيسية من الرسوم. يسمح بفقرات متعددة." #. Translators: title for Not Found (404) error page #: templates/404.html:5 templates/404.html:13 diff --git a/geniza/locale/en/LC_MESSAGES/django.po b/geniza/locale/en/LC_MESSAGES/django.po index 449b171d5..66612d633 100644 --- a/geniza/locale/en/LC_MESSAGES/django.po +++ b/geniza/locale/en/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: geniza\n" "Report-Msgid-Bugs-To: cdhdevteam@princeton.edu\n" -"POT-Creation-Date: 2024-11-06 13:42-0500\n" +"POT-Creation-Date: 2025-01-29 10:50-0500\n" "PO-Revision-Date: 2022-08-01 14:25\n" "Last-Translator: \n" "Language-Team: English\n" @@ -28,7 +28,7 @@ msgid "Keyword or Phrase" msgstr "" #. Translators: label for sort by relevance -#: corpus/forms.py:226 +#: corpus/forms.py:226 entities/forms.py:211 msgid "Relevance" msgstr "" @@ -93,14 +93,16 @@ msgid "RegEx" msgstr "" #. Translators: label for form sort field -#: corpus/forms.py:262 entities/forms.py:140 entities/forms.py:260 +#: corpus/forms.py:262 entities/forms.py:228 entities/forms.py:349 msgid "Sort by" msgstr "" #. Translators: label for filter documents by date range +#. Translators: label for the dates of a person's appearances in PGP documents #. Translators: Person "dates of activity" column header on the browse page -#: corpus/forms.py:269 entities/forms.py:121 -#: entities/templates/entities/person_list.html:109 +#: corpus/forms.py:269 entities/forms.py:207 +#: entities/templates/entities/person_detail.html:38 +#: entities/templates/entities/person_list.html:126 msgid "Dates" msgstr "" @@ -157,9 +159,9 @@ msgid "Search mode" msgstr "Search Documents" #. Translators: Default label when document does not have a type -#: corpus/forms.py:348 corpus/solr_queryset.py:293 +#: corpus/forms.py:348 corpus/models.py:1005 corpus/solr_queryset.py:332 #: corpus/templates/corpus/snippets/document_header.html:17 -#: corpus/templates/corpus/snippets/document_transcription.html:237 +#: corpus/templates/corpus/snippets/document_transcription.html:243 msgid "Unknown type" msgstr "" @@ -201,24 +203,24 @@ msgid "" "alphanumeric character other than one of DdSsWw, or at the end of a query. %s" msgstr "" -#: corpus/models.py:1119 templates/base.html:21 +#: corpus/models.py:1128 templates/base.html:21 msgid "Princeton Geniza Project" msgstr "" #. Translators: attribution for local IIIF manifests -#: corpus/models.py:1121 +#: corpus/models.py:1130 #, python-format msgid "Compilation by %(pgp)s." msgstr "" #. Translators: attribution for local IIIF manifests that include transcription -#: corpus/models.py:1124 +#: corpus/models.py:1133 #, python-format msgid "Compilation and transcription by %(pgp)s." msgstr "" #. Translators: manifest attribution note that content from other institutions may have restrictions -#: corpus/models.py:1126 +#: corpus/models.py:1135 msgid "Additional restrictions may apply." msgstr "" @@ -307,8 +309,8 @@ msgstr "" #. Translators: accessibility label for people list #: corpus/templates/corpus/document_detail.html:153 #: corpus/templates/corpus/snippets/document_result.html:108 -#: entities/forms.py:133 entities/forms.py:255 -#: entities/templates/entities/person_list.html:146 +#: entities/forms.py:221 entities/forms.py:344 +#: entities/templates/entities/person_list.html:190 #: entities/templates/entities/place_list.html:80 #: entities/templates/entities/place_related_people.html:28 msgid "Related People" @@ -317,10 +319,12 @@ msgstr "" #. Translators: heading label for document related places #. Translators: label for sort by number of related places #. Translators: accessibility label for place list +#. Translators: heading label for document related places #: corpus/templates/corpus/document_detail.html:172 #: corpus/templates/corpus/snippets/document_result.html:112 -#: entities/forms.py:135 entities/templates/entities/person_list.html:150 +#: entities/forms.py:223 entities/templates/entities/person_list.html:194 #: entities/templates/entities/person_related_places.html:56 +#: entities/templates/entities/place_detail.html:93 msgid "Related Places" msgstr "" @@ -361,15 +365,29 @@ msgid "" " " msgstr "" +#. Translators: label for a citation for a document detail page +#. Translators: label for a citation for a person page +#: corpus/templates/corpus/document_detail.html:249 +#: entities/templates/entities/person_detail.html:131 +msgid "How to cite this record:" +msgstr "" + +#. Translators: accessibility label for a citation for a document +#. Translators: accessibility label for a citation for a person +#: corpus/templates/corpus/document_detail.html:253 +#: entities/templates/entities/person_detail.html:135 +msgid "Citation" +msgstr "" + #. Translators: label for permanent link to a document -#: corpus/templates/corpus/document_detail.html:247 +#: corpus/templates/corpus/document_detail.html:258 msgid "Link to this document:" msgstr "" #. Translators: accessibility label for permanent link to a document #. Translators: accessibility label for permanent link to a person -#: corpus/templates/corpus/document_detail.html:254 -#: entities/templates/entities/person_detail.html:133 +#: corpus/templates/corpus/document_detail.html:265 +#: entities/templates/entities/person_detail.html:146 msgid "Permalink" msgstr "" @@ -389,25 +407,26 @@ msgstr "" #. Translators: Search submit button #: corpus/templates/corpus/document_list.html:31 +#: entities/templates/entities/person_list.html:15 msgid "Submit search" msgstr "" #: corpus/templates/corpus/document_list.html:37 #: corpus/templates/corpus/document_list.html:64 -#: entities/templates/entities/person_list.html:22 -#: entities/templates/entities/person_list.html:49 +#: entities/templates/entities/person_list.html:29 +#: entities/templates/entities/person_list.html:56 msgid "Filters" msgstr "" #. Translators: label for button to clear all applied filters #: corpus/templates/corpus/document_list.html:58 -#: entities/templates/entities/person_list.html:43 +#: entities/templates/entities/person_list.html:50 msgid "Clear all" msgstr "" #. Translators: label for 'filters' close button for mobile navigation #: corpus/templates/corpus/document_list.html:67 -#: entities/templates/entities/person_list.html:52 +#: entities/templates/entities/person_list.html:59 msgid "Close filter options" msgstr "" @@ -417,20 +436,24 @@ msgstr "" #. Translators: search results section header #: corpus/templates/corpus/document_list.html:135 -#: entities/templates/entities/person_list.html:78 +#: entities/templates/entities/person_list.html:93 msgid "Results" msgstr "" #. Translators: number of search results #. Translators: number of results #: corpus/templates/corpus/document_list.html:139 -#: entities/templates/entities/person_list.html:82 +#: entities/templates/entities/person_list.html:97 #, python-format msgid "1 result" msgid_plural "%(count_humanized)s results" msgstr[0] "" msgstr[1] "" +#: corpus/templates/corpus/document_list.html:163 +msgid "View results in the Arabic Papyrology Database" +msgstr "" + #. Translators: accessibility label for a footnote source citation in scholarship records view #: corpus/templates/corpus/document_scholarship.html:21 msgid "Bibliographic citation" @@ -489,8 +512,8 @@ msgstr[1] "" #. Translators: label for sort by number of related documents #: corpus/templates/corpus/snippets/document_result.html:116 -#: entities/forms.py:131 entities/forms.py:253 -#: entities/templates/entities/person_list.html:142 +#: entities/forms.py:219 entities/forms.py:342 +#: entities/templates/entities/person_list.html:186 #: entities/templates/entities/place_list.html:75 #, fuzzy #| msgid "Search Documents" @@ -498,6 +521,7 @@ msgid "Related Documents" msgstr "Search Documents" #: corpus/templates/corpus/snippets/document_result.html:132 +#: entities/templates/entities/person_list.html:180 msgid "more" msgstr "" @@ -681,7 +705,7 @@ msgstr "" #. Translators: Label for editors of a transcription #: corpus/templates/corpus/snippets/document_transcription.html:92 -#: corpus/templates/corpus/snippets/document_transcription.html:107 +#: corpus/templates/corpus/snippets/document_transcription.html:110 #, python-format msgid "Editor: %(eds)s" msgid_plural "Editors: %(eds)s" @@ -689,19 +713,19 @@ msgstr[0] "" msgstr[1] "" #. Translators: Label for authors of a translation -#: corpus/templates/corpus/snippets/document_transcription.html:134 -#: corpus/templates/corpus/snippets/document_transcription.html:148 +#: corpus/templates/corpus/snippets/document_transcription.html:140 +#: corpus/templates/corpus/snippets/document_transcription.html:154 #, python-format msgid "Translator: %(eds)s" msgid_plural "Translators: %(eds)s" msgstr[0] "" msgstr[1] "" -#: corpus/templates/corpus/snippets/document_transcription.html:204 +#: corpus/templates/corpus/snippets/document_transcription.html:210 msgid "Zoom and Rotate" msgstr "" -#: corpus/templates/corpus/snippets/document_transcription.html:240 +#: corpus/templates/corpus/snippets/document_transcription.html:246 #, python-format msgid "View %(related_doc)s" msgstr "" @@ -734,40 +758,40 @@ msgstr "" #. Translators: title of document search page #. Translators: label for link to document search page in main navigation -#: corpus/views.py:81 templates/snippets/menu.html:11 +#: corpus/views.py:82 templates/snippets/menu.html:11 #, fuzzy #| msgid "Input date" msgid "Documents" msgstr "Input date" #. Translators: description of document search page, for search engines -#: corpus/views.py:83 +#: corpus/views.py:84 msgid "Search and browse Geniza documents." msgstr "" -#: corpus/views.py:325 entities/views.py:601 +#: corpus/views.py:326 entities/views.py:721 #, python-format msgid "After %s" msgstr "" -#: corpus/views.py:327 entities/views.py:603 +#: corpus/views.py:328 entities/views.py:723 #, python-format msgid "Before %s" msgstr "" -#: corpus/views.py:378 +#: corpus/views.py:399 msgid "" "Error retrieving search results. Check regular expression for errors such as " "unescaped or unclosed brackets or parentheses." msgstr "" #. Translators: title of document scholarship page -#: corpus/views.py:509 +#: corpus/views.py:531 #, python-format msgid "Scholarship on %(doc)s" msgstr "" -#: corpus/views.py:516 +#: corpus/views.py:538 #, python-format msgid "%(count)d scholarship record" msgid_plural "%(count)d scholarship records" @@ -775,33 +799,47 @@ msgstr[0] "" msgstr[1] "" #. Translators: title of related documents page -#: corpus/views.py:557 +#: corpus/views.py:579 #, python-format msgid "Related documents for %(doc)s" msgstr "" -#: corpus/views.py:564 entities/views.py:210 +#: corpus/views.py:586 entities/views.py:317 #, python-format msgid "%(count)d related document" msgid_plural "%(count)d related documents" msgstr[0] "" msgstr[1] "" +#. Translators: placeholder for people keyword search input +#: entities/forms.py:195 +msgid "Search for people by name" +msgstr "" + +#. Translators: accessible label for people keyword search input +#: entities/forms.py:197 +msgid "word or phrase" +msgstr "" + #. Translators: label for a person's gender #. Translators: Person "gender" column header on the browse page -#: entities/forms.py:117 entities/templates/entities/person_detail.html:34 -#: entities/templates/entities/person_list.html:107 +#: entities/forms.py:202 entities/templates/entities/person_detail.html:34 +#: entities/templates/entities/person_list.html:124 msgid "Gender" msgstr "" +#: entities/forms.py:203 entities/views.py:737 +msgid "Detail page available" +msgstr "" + #. Translators: Label for a person's social role #. Translators: Person "social role" column header on the browse page -#: entities/forms.py:118 entities/templates/entities/person_detail.html:44 -#: entities/templates/entities/person_list.html:111 +#: entities/forms.py:204 entities/templates/entities/person_detail.html:57 +#: entities/templates/entities/person_list.html:128 msgid "Social role" msgstr "" -#: entities/forms.py:119 +#: entities/forms.py:205 msgid "Relation to documents" msgstr "" @@ -810,9 +848,9 @@ msgstr "" #. Translators: table header for person name #. Translators: table header for place name #. Translators: table header for person name -#: entities/forms.py:125 entities/forms.py:251 -#: entities/templates/entities/person_list.html:105 -#: entities/templates/entities/person_related_people.html:34 +#: entities/forms.py:213 entities/forms.py:340 +#: entities/templates/entities/person_list.html:120 +#: entities/templates/entities/person_related_people.html:35 #: entities/templates/entities/person_related_places.html:65 #: entities/templates/entities/place_list.html:57 #: entities/templates/entities/place_related_people.html:37 @@ -821,66 +859,71 @@ msgstr "" #. Translators: label for sort by person activity dates #. Translators: table header for document date -#: entities/forms.py:127 +#: entities/forms.py:215 #: entities/templates/entities/snippets/related_documents_table.html:31 msgid "Date" msgstr "" #. Translators: label for sort by social role -#: entities/forms.py:129 +#: entities/forms.py:217 msgid "Social Role" msgstr "" #. Translators: label for ascending sort -#: entities/forms.py:148 entities/forms.py:268 +#: entities/forms.py:236 entities/forms.py:357 msgid "Ascending" msgstr "" #. Translators: label for descending sort -#: entities/forms.py:150 entities/forms.py:270 +#: entities/forms.py:238 entities/forms.py:359 msgid "Descending" msgstr "" -#: entities/models.py:367 +#: entities/models.py:375 msgid "Male" msgstr "" -#: entities/models.py:368 +#: entities/models.py:376 msgid "Female" msgstr "" -#: entities/models.py:369 +#: entities/models.py:377 msgid "Unknown" msgstr "" -#: entities/models.py:1063 +#: entities/models.py:1220 msgid "Immediate family relations" msgstr "" -#: entities/models.py:1064 +#: entities/models.py:1221 msgid "Extended family" msgstr "" -#: entities/models.py:1065 +#: entities/models.py:1222 msgid "Relatives by marriage" msgstr "" -#: entities/models.py:1066 +#: entities/models.py:1223 msgid "Business and property relationships" msgstr "" -#: entities/models.py:1067 +#: entities/models.py:1224 msgid "Ambiguity" msgstr "" #. Translators: label for a person's active dates in the PGP -#: entities/templates/entities/person_detail.html:38 +#: entities/templates/entities/person_detail.html:43 msgid "Active dates" msgstr "" +#. Translators: label for a person's date range when mentioned after death in PGP documents +#: entities/templates/entities/person_detail.html:48 +msgid "Posthumous mentions" +msgstr "" + #. Translators: label for alternative names for a person #. Translators: label for alternative names for a place -#: entities/templates/entities/person_detail.html:54 +#: entities/templates/entities/person_detail.html:67 #: entities/templates/entities/place_detail.html:68 msgid "Other name" msgid_plural "Other names" @@ -889,60 +932,64 @@ msgstr[1] "" #. Translators: label for person description / bio #. Translators: Person "description / bio" column header on the browse page -#: entities/templates/entities/person_detail.html:70 -#: entities/templates/entities/person_list.html:113 +#: entities/templates/entities/person_detail.html:83 +#: entities/templates/entities/person_list.html:130 msgid "Description / Bio" msgstr "" #. Translators: label for person's life events timeline -#: entities/templates/entities/person_detail.html:79 +#: entities/templates/entities/person_detail.html:92 msgid "Life events" msgstr "" #. Translators: label for person bibliography -#: entities/templates/entities/person_detail.html:102 +#: entities/templates/entities/person_detail.html:115 msgid "Select bibliography" msgstr "" -#. Translators: label for a citation for a person page -#: entities/templates/entities/person_detail.html:118 -msgid "How to cite this record:" -msgstr "" - -#. Translators: accessibility label for a citation for a person -#: entities/templates/entities/person_detail.html:122 -msgid "Citation" -msgstr "" - #. Translators: label for permanent link to a person -#: entities/templates/entities/person_detail.html:129 +#: entities/templates/entities/person_detail.html:142 msgid "Link to this person:" msgstr "" #. Translators: label for people browse page list view -#: entities/templates/entities/person_list.html:14 +#: entities/templates/entities/person_list.html:21 msgid "Toggle list view" msgstr "" +#: entities/templates/entities/person_list.html:72 +msgid "Details" +msgstr "" + +#. Translators: Person "other names" column header on the browse page +#: entities/templates/entities/person_list.html:122 +#: entities/templates/entities/place_list.html:66 +msgid "Other names" +msgstr "" + #. Translators: Person "document count" column header on the browse page #. Translators: table header for count of shared documents between people -#: entities/templates/entities/person_list.html:116 -#: entities/templates/entities/person_related_people.html:48 +#: entities/templates/entities/person_list.html:133 +#: entities/templates/entities/person_related_people.html:49 msgid "Number of related documents" msgstr "" #. Translators: Person "related people count" column header on the browse page -#: entities/templates/entities/person_list.html:120 +#: entities/templates/entities/person_list.html:137 msgid "Number of related people" msgstr "" #. Translators: Person "related place count" column header on the browse page -#: entities/templates/entities/person_list.html:124 +#: entities/templates/entities/person_list.html:141 msgid "Number of related places" msgstr "" +#: entities/templates/entities/person_list.html:159 +msgid "Also known as: " +msgstr "" + #. Translators: range of search results on the current page, out of total -#: entities/templates/entities/person_list.html:161 +#: entities/templates/entities/person_list.html:205 #, python-format msgid "" "\n" @@ -953,7 +1000,7 @@ msgstr "" #. Translators: table header for relationship types between people #. Translators: table header for person-place relation type #. Translators: table header for document relation (with a person or place) -#: entities/templates/entities/person_related_people.html:41 +#: entities/templates/entities/person_related_people.html:42 #: entities/templates/entities/person_related_places.html:72 #: entities/templates/entities/snippets/related_documents_table.html:24 msgid "Relation" @@ -961,7 +1008,7 @@ msgstr "" #. Translators: table header for notes on a relationship between people #. Translators: label for place notes -#: entities/templates/entities/person_related_people.html:54 +#: entities/templates/entities/person_related_people.html:55 #: entities/templates/entities/person_related_places.html:76 #: entities/templates/entities/place_detail.html:84 #: entities/templates/entities/place_related_people.html:48 @@ -986,10 +1033,6 @@ msgstr "" msgid "metadata" msgstr "" -#: entities/templates/entities/place_list.html:66 -msgid "Other names" -msgstr "" - #. Translators: accessible label for section showing counts of entries related to an entity #: entities/templates/entities/place_list.html:73 msgid "Related entries" @@ -1058,18 +1101,18 @@ msgid "Type" msgstr "" #. Translators: title of entity "related documents" page -#: entities/views.py:202 +#: entities/views.py:309 #, python-format msgid "Related documents for %(p)s" msgstr "" #. Translators: title of entity "related people" page -#: entities/views.py:292 +#: entities/views.py:399 #, python-format msgid "Related people for %(p)s" msgstr "" -#: entities/views.py:300 entities/views.py:370 +#: entities/views.py:407 entities/views.py:477 #, python-format msgid "%(count)d related person" msgid_plural "%(count)d related people" @@ -1077,12 +1120,12 @@ msgstr[0] "" msgstr[1] "" #. Translators: title of person "related places" page -#: entities/views.py:429 +#: entities/views.py:536 #, python-format msgid "Related places for %(p)s" msgstr "" -#: entities/views.py:437 +#: entities/views.py:544 #, python-format msgid "%(count)d related place" msgid_plural "%(count)d related places" @@ -1091,23 +1134,23 @@ msgstr[1] "" #. Translators: title of people list/browse page #. Translators: label for link to people browse page in main navigation -#: entities/views.py:539 templates/snippets/menu.html:19 +#: entities/views.py:649 templates/snippets/menu.html:19 msgid "People" msgstr "" #. Translators: description of people list/browse page -#: entities/views.py:541 +#: entities/views.py:651 msgid "Browse people present in Geniza documents." msgstr "" #. Translators: title of places list/browse page #. Translators: label for link to places browse page in main navigation -#: entities/views.py:694 templates/snippets/menu.html:26 +#: entities/views.py:827 templates/snippets/menu.html:26 msgid "Places" msgstr "" #. Translators: description of places list/browse page -#: entities/views.py:696 +#: entities/views.py:829 msgid "Browse places present in Geniza documents." msgstr "" diff --git a/geniza/locale/he/LC_MESSAGES/django.po b/geniza/locale/he/LC_MESSAGES/django.po index 55675c95f..00351de83 100644 --- a/geniza/locale/he/LC_MESSAGES/django.po +++ b/geniza/locale/he/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: princeton-geniza-project\n" "Report-Msgid-Bugs-To: cdhdevteam@princeton.edu\n" -"POT-Creation-Date: 2024-11-06 13:42-0500\n" +"POT-Creation-Date: 2025-01-29 10:50-0500\n" "PO-Revision-Date: 2024-11-06 19:02\n" "Last-Translator: \n" "Language-Team: Hebrew\n" @@ -10,7 +10,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n" +"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3;\n" "X-Crowdin-Project: princeton-geniza-project\n" "X-Crowdin-Project-ID: 520356\n" "X-Crowdin-Language: he\n" @@ -28,7 +29,7 @@ msgid "Keyword or Phrase" msgstr "מילת מפתח או ביטוי" #. Translators: label for sort by relevance -#: corpus/forms.py:226 +#: corpus/forms.py:226 entities/forms.py:211 msgid "Relevance" msgstr "רלוונטיות" @@ -93,14 +94,16 @@ msgid "RegEx" msgstr "" #. Translators: label for form sort field -#: corpus/forms.py:262 entities/forms.py:140 entities/forms.py:260 +#: corpus/forms.py:262 entities/forms.py:228 entities/forms.py:349 msgid "Sort by" msgstr "מיון לפי" #. Translators: label for filter documents by date range +#. Translators: label for the dates of a person's appearances in PGP documents #. Translators: Person "dates of activity" column header on the browse page -#: corpus/forms.py:269 entities/forms.py:121 -#: entities/templates/entities/person_list.html:109 +#: corpus/forms.py:269 entities/forms.py:207 +#: entities/templates/entities/person_detail.html:38 +#: entities/templates/entities/person_list.html:126 msgid "Dates" msgstr "" @@ -111,7 +114,6 @@ msgstr "" #. Translators: label for document type search form filter #: corpus/forms.py:285 -#| msgid "Input date" msgid "Document type" msgstr "" @@ -150,14 +152,13 @@ msgstr "" #. Translators: label for "search mode" (general or regex) #: corpus/forms.py:312 -#| msgid "Search Documents" msgid "Search mode" msgstr "" #. Translators: Default label when document does not have a type -#: corpus/forms.py:348 corpus/solr_queryset.py:293 +#: corpus/forms.py:348 corpus/models.py:1005 corpus/solr_queryset.py:332 #: corpus/templates/corpus/snippets/document_header.html:17 -#: corpus/templates/corpus/snippets/document_transcription.html:237 +#: corpus/templates/corpus/snippets/document_transcription.html:243 msgid "Unknown type" msgstr "סוג לא ידוע" @@ -167,47 +168,56 @@ msgstr "מיון על פי רלוונטיות אינו זמין ללא מילת #: corpus/forms.py:411 #, python-format -msgid "Regular expression cannot contain { without a preceding character, without an integer afterwards, or without a closing }. %s" +msgid "" +"Regular expression cannot contain { without a preceding character, without " +"an integer afterwards, or without a closing }. %s" msgstr "" #: corpus/forms.py:420 #, python-format -msgid "Regular expression cannot contain * without a preceding character, or multiple times in a row. %s" +msgid "" +"Regular expression cannot contain * without a preceding character, or " +"multiple times in a row. %s" msgstr "" #: corpus/forms.py:429 #, python-format -msgid "Regular expression cannot contain + without a preceding character, or multiple times in a row. %s" +msgid "" +"Regular expression cannot contain + without a preceding character, or " +"multiple times in a row. %s" msgstr "" #: corpus/forms.py:438 #, python-format -msgid "Regular expression cannot contain < or use a negative lookbehind query. %s" +msgid "" +"Regular expression cannot contain < or use a negative lookbehind query. %s" msgstr "" #: corpus/forms.py:448 #, python-format -msgid "Regular expression cannot contain the escape character \\ followed by an alphanumeric character other than one of DdSsWw, or at the end of a query. %s" +msgid "" +"Regular expression cannot contain the escape character \\ followed by an " +"alphanumeric character other than one of DdSsWw, or at the end of a query. %s" msgstr "" -#: corpus/models.py:1119 templates/base.html:21 +#: corpus/models.py:1128 templates/base.html:21 msgid "Princeton Geniza Project" msgstr "Princeton Geniza Project" #. Translators: attribution for local IIIF manifests -#: corpus/models.py:1121 +#: corpus/models.py:1130 #, python-format msgid "Compilation by %(pgp)s." msgstr "קובץ על-ידי %(pgp)s." #. Translators: attribution for local IIIF manifests that include transcription -#: corpus/models.py:1124 +#: corpus/models.py:1133 #, python-format msgid "Compilation and transcription by %(pgp)s." msgstr "קובץ ותועתק על-ידי %(pgp)s." #. Translators: manifest attribution note that content from other institutions may have restrictions -#: corpus/models.py:1126 +#: corpus/models.py:1135 msgid "Additional restrictions may apply." msgstr "ייתכנו מגבלות נוספות." @@ -310,8 +320,8 @@ msgstr "תיאור" #. Translators: accessibility label for people list #: corpus/templates/corpus/document_detail.html:153 #: corpus/templates/corpus/snippets/document_result.html:108 -#: entities/forms.py:133 entities/forms.py:255 -#: entities/templates/entities/person_list.html:146 +#: entities/forms.py:221 entities/forms.py:344 +#: entities/templates/entities/person_list.html:190 #: entities/templates/entities/place_list.html:80 #: entities/templates/entities/place_related_people.html:28 msgid "Related People" @@ -320,10 +330,12 @@ msgstr "" #. Translators: heading label for document related places #. Translators: label for sort by number of related places #. Translators: accessibility label for place list +#. Translators: heading label for document related places #: corpus/templates/corpus/document_detail.html:172 #: corpus/templates/corpus/snippets/document_result.html:112 -#: entities/forms.py:135 entities/templates/entities/person_list.html:150 +#: entities/forms.py:223 entities/templates/entities/person_list.html:194 #: entities/templates/entities/person_related_places.html:56 +#: entities/templates/entities/place_detail.html:93 msgid "Related Places" msgstr "" @@ -360,20 +372,35 @@ msgstr "תאריך קלט" #. Translators: Date document was first added to the PGP #: corpus/templates/corpus/document_detail.html:234 #, python-format -msgid "\n" +msgid "" +"\n" " In PGP since %(date)s\n" " " msgstr "" +#. Translators: label for a citation for a document detail page +#. Translators: label for a citation for a person page +#: corpus/templates/corpus/document_detail.html:249 +#: entities/templates/entities/person_detail.html:131 +msgid "How to cite this record:" +msgstr "" + +#. Translators: accessibility label for a citation for a document +#. Translators: accessibility label for a citation for a person +#: corpus/templates/corpus/document_detail.html:253 +#: entities/templates/entities/person_detail.html:135 +msgid "Citation" +msgstr "" + #. Translators: label for permanent link to a document -#: corpus/templates/corpus/document_detail.html:247 +#: corpus/templates/corpus/document_detail.html:258 msgid "Link to this document:" msgstr "" #. Translators: accessibility label for permanent link to a document #. Translators: accessibility label for permanent link to a person -#: corpus/templates/corpus/document_detail.html:254 -#: entities/templates/entities/person_detail.html:133 +#: corpus/templates/corpus/document_detail.html:265 +#: entities/templates/entities/person_detail.html:146 msgid "Permalink" msgstr "קישור קבוע" @@ -393,25 +420,26 @@ msgstr "" #. Translators: Search submit button #: corpus/templates/corpus/document_list.html:31 +#: entities/templates/entities/person_list.html:15 msgid "Submit search" msgstr "חיפוש" #: corpus/templates/corpus/document_list.html:37 #: corpus/templates/corpus/document_list.html:64 -#: entities/templates/entities/person_list.html:22 -#: entities/templates/entities/person_list.html:49 +#: entities/templates/entities/person_list.html:29 +#: entities/templates/entities/person_list.html:56 msgid "Filters" msgstr "מסננים" #. Translators: label for button to clear all applied filters #: corpus/templates/corpus/document_list.html:58 -#: entities/templates/entities/person_list.html:43 +#: entities/templates/entities/person_list.html:50 msgid "Clear all" msgstr "" #. Translators: label for 'filters' close button for mobile navigation #: corpus/templates/corpus/document_list.html:67 -#: entities/templates/entities/person_list.html:52 +#: entities/templates/entities/person_list.html:59 msgid "Close filter options" msgstr "סגור אפשרויות סינון" @@ -421,14 +449,14 @@ msgstr "" #. Translators: search results section header #: corpus/templates/corpus/document_list.html:135 -#: entities/templates/entities/person_list.html:78 +#: entities/templates/entities/person_list.html:93 msgid "Results" msgstr "" #. Translators: number of search results #. Translators: number of results #: corpus/templates/corpus/document_list.html:139 -#: entities/templates/entities/person_list.html:82 +#: entities/templates/entities/person_list.html:97 #, python-format msgid "1 result" msgid_plural "%(count_humanized)s results" @@ -437,6 +465,10 @@ msgstr[1] "%(count_humanized)s תוצאות" msgstr[2] "%(count_humanized)s תוצאות" msgstr[3] "%(count_humanized)s תוצאות" +#: corpus/templates/corpus/document_list.html:163 +msgid "View results in the Arabic Papyrology Database" +msgstr "" + #. Translators: accessibility label for a footnote source citation in scholarship records view #: corpus/templates/corpus/document_scholarship.html:21 msgid "Bibliographic citation" @@ -474,13 +506,11 @@ msgid "Jewish Theological Seminary logo" msgstr "סמל Jewish Theological Seminary" #: corpus/templates/corpus/snippets/document_result.html:23 -#| msgid "Input date" msgid "Document date" msgstr "" #. Translators: label for inferred date on a document #: corpus/templates/corpus/snippets/document_result.html:33 -#| msgid "Input date" msgid "Inferred date" msgstr "" @@ -495,14 +525,14 @@ msgstr[3] "" #. Translators: label for sort by number of related documents #: corpus/templates/corpus/snippets/document_result.html:116 -#: entities/forms.py:131 entities/forms.py:253 -#: entities/templates/entities/person_list.html:142 +#: entities/forms.py:219 entities/forms.py:342 +#: entities/templates/entities/person_list.html:186 #: entities/templates/entities/place_list.html:75 -#| msgid "Search Documents" msgid "Related Documents" msgstr "" #: corpus/templates/corpus/snippets/document_result.html:132 +#: entities/templates/entities/person_list.html:180 msgid "more" msgstr "עוד" @@ -578,8 +608,10 @@ msgstr "" #. Translators: general search help text #: corpus/templates/corpus/snippets/document_search_helptext.html:7 -msgid "\n" -" Use keywords or phrases in any language to return matching or similar\n" +msgid "" +"\n" +" Use keywords or phrases in any language to return matching or " +"similar\n" " results across all fields. Arabic script searches will return both\n" " Arabic and Judaeo-Arabic transcription content.\n" " " @@ -593,7 +625,8 @@ msgstr "" #. Translators: regular expressions search mode help text #: corpus/templates/corpus/snippets/document_search_helptext.html:18 #, python-format -msgid "\n" +msgid "" +"\n" " Use Hebrew or Arabic script to find precise matches in the\n" " transcriptions. See\n" " How to Search\n" @@ -608,10 +641,13 @@ msgstr "" #. Translators: regular expression tip 1 #: corpus/templates/corpus/snippets/document_search_helptext.html:31 -msgid "\n" +msgid "" +"\n" " If you're looking for a word with one missing letter, use a\n" -" period. Two missing letters, use two periods or {2}.\n" -" Increase the number in the curly brackets to increase the number of\n" +" period. Two missing letters, use two periods or {2}.\n" +" Increase the number in the curly brackets to increase the number " +"of\n" " characters, or insert a range with a comma in between, ex.\n" " {0,5}.\n" " " @@ -619,7 +655,8 @@ msgstr "" #. Translators: regular expression tip 2 #: corpus/templates/corpus/snippets/document_search_helptext.html:41 -msgid "\n" +msgid "" +"\n" " If you don't know how many characters are missing, use\n" " .*.\n" " " @@ -627,8 +664,10 @@ msgstr "" #. Translators: regular expression tip 3 #: corpus/templates/corpus/snippets/document_search_helptext.html:48 -msgid "\n" -" If you know which characters you want, use square brackets to find\n" +msgid "" +"\n" +" If you know which characters you want, use square brackets to " +"find\n" " multiple spellings, ex. [יו] for yud or vav.\n" " " msgstr "" @@ -683,7 +722,7 @@ msgstr "הצג תרגום" #. Translators: Label for editors of a transcription #: corpus/templates/corpus/snippets/document_transcription.html:92 -#: corpus/templates/corpus/snippets/document_transcription.html:107 +#: corpus/templates/corpus/snippets/document_transcription.html:110 #, python-format msgid "Editor: %(eds)s" msgid_plural "Editors: %(eds)s" @@ -693,8 +732,8 @@ msgstr[2] "" msgstr[3] "" #. Translators: Label for authors of a translation -#: corpus/templates/corpus/snippets/document_transcription.html:134 -#: corpus/templates/corpus/snippets/document_transcription.html:148 +#: corpus/templates/corpus/snippets/document_transcription.html:140 +#: corpus/templates/corpus/snippets/document_transcription.html:154 #, python-format msgid "Translator: %(eds)s" msgid_plural "Translators: %(eds)s" @@ -703,11 +742,11 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: corpus/templates/corpus/snippets/document_transcription.html:204 +#: corpus/templates/corpus/snippets/document_transcription.html:210 msgid "Zoom and Rotate" msgstr "הגדל וסובב" -#: corpus/templates/corpus/snippets/document_transcription.html:240 +#: corpus/templates/corpus/snippets/document_transcription.html:246 #, python-format msgid "View %(related_doc)s" msgstr "ראה %(related_doc)s" @@ -740,37 +779,38 @@ msgstr "הבא" #. Translators: title of document search page #. Translators: label for link to document search page in main navigation -#: corpus/views.py:81 templates/snippets/menu.html:11 -#| msgid "Input date" +#: corpus/views.py:82 templates/snippets/menu.html:11 msgid "Documents" msgstr "" #. Translators: description of document search page, for search engines -#: corpus/views.py:83 +#: corpus/views.py:84 msgid "Search and browse Geniza documents." msgstr "חיפוש וצפיה במסמכי הגניזה." -#: corpus/views.py:325 entities/views.py:601 +#: corpus/views.py:326 entities/views.py:721 #, python-format msgid "After %s" msgstr "" -#: corpus/views.py:327 entities/views.py:603 +#: corpus/views.py:328 entities/views.py:723 #, python-format msgid "Before %s" msgstr "" -#: corpus/views.py:378 -msgid "Error retrieving search results. Check regular expression for errors such as unescaped or unclosed brackets or parentheses." +#: corpus/views.py:399 +msgid "" +"Error retrieving search results. Check regular expression for errors such as " +"unescaped or unclosed brackets or parentheses." msgstr "" #. Translators: title of document scholarship page -#: corpus/views.py:509 +#: corpus/views.py:531 #, python-format msgid "Scholarship on %(doc)s" msgstr "רשומה קשורה ל-%(doc)s" -#: corpus/views.py:516 +#: corpus/views.py:538 #, python-format msgid "%(count)d scholarship record" msgid_plural "%(count)d scholarship records" @@ -780,12 +820,12 @@ msgstr[2] "%(count)d רשומות קשורות" msgstr[3] "%(count)d רשומות קשורות" #. Translators: title of related documents page -#: corpus/views.py:557 +#: corpus/views.py:579 #, python-format msgid "Related documents for %(doc)s" msgstr "מסמכים קשורים %(doc)s" -#: corpus/views.py:564 entities/views.py:210 +#: corpus/views.py:586 entities/views.py:317 #, python-format msgid "%(count)d related document" msgid_plural "%(count)d related documents" @@ -794,21 +834,37 @@ msgstr[1] "%(count)d מסמכים קשורים" msgstr[2] "%(count)d מסמכים קשורים" msgstr[3] "%(count)d מסמכים קשורים" +#. Translators: placeholder for people keyword search input +#: entities/forms.py:195 +msgid "Search for people by name" +msgstr "" + +#. Translators: accessible label for people keyword search input +#: entities/forms.py:197 +#, fuzzy +#| msgid "Keyword or Phrase" +msgid "word or phrase" +msgstr "מילת מפתח או ביטוי" + #. Translators: label for a person's gender #. Translators: Person "gender" column header on the browse page -#: entities/forms.py:117 entities/templates/entities/person_detail.html:34 -#: entities/templates/entities/person_list.html:107 +#: entities/forms.py:202 entities/templates/entities/person_detail.html:34 +#: entities/templates/entities/person_list.html:124 msgid "Gender" msgstr "" +#: entities/forms.py:203 entities/views.py:737 +msgid "Detail page available" +msgstr "" + #. Translators: Label for a person's social role #. Translators: Person "social role" column header on the browse page -#: entities/forms.py:118 entities/templates/entities/person_detail.html:44 -#: entities/templates/entities/person_list.html:111 +#: entities/forms.py:204 entities/templates/entities/person_detail.html:57 +#: entities/templates/entities/person_list.html:128 msgid "Social role" msgstr "" -#: entities/forms.py:119 +#: entities/forms.py:205 msgid "Relation to documents" msgstr "" @@ -817,9 +873,9 @@ msgstr "" #. Translators: table header for person name #. Translators: table header for place name #. Translators: table header for person name -#: entities/forms.py:125 entities/forms.py:251 -#: entities/templates/entities/person_list.html:105 -#: entities/templates/entities/person_related_people.html:34 +#: entities/forms.py:213 entities/forms.py:340 +#: entities/templates/entities/person_list.html:120 +#: entities/templates/entities/person_related_people.html:35 #: entities/templates/entities/person_related_places.html:65 #: entities/templates/entities/place_list.html:57 #: entities/templates/entities/place_related_people.html:37 @@ -828,66 +884,71 @@ msgstr "" #. Translators: label for sort by person activity dates #. Translators: table header for document date -#: entities/forms.py:127 +#: entities/forms.py:215 #: entities/templates/entities/snippets/related_documents_table.html:31 msgid "Date" msgstr "" #. Translators: label for sort by social role -#: entities/forms.py:129 +#: entities/forms.py:217 msgid "Social Role" msgstr "" #. Translators: label for ascending sort -#: entities/forms.py:148 entities/forms.py:268 +#: entities/forms.py:236 entities/forms.py:357 msgid "Ascending" msgstr "" #. Translators: label for descending sort -#: entities/forms.py:150 entities/forms.py:270 +#: entities/forms.py:238 entities/forms.py:359 msgid "Descending" msgstr "" -#: entities/models.py:367 +#: entities/models.py:375 msgid "Male" msgstr "" -#: entities/models.py:368 +#: entities/models.py:376 msgid "Female" msgstr "" -#: entities/models.py:369 +#: entities/models.py:377 msgid "Unknown" msgstr "" -#: entities/models.py:1063 +#: entities/models.py:1220 msgid "Immediate family relations" msgstr "" -#: entities/models.py:1064 +#: entities/models.py:1221 msgid "Extended family" msgstr "" -#: entities/models.py:1065 +#: entities/models.py:1222 msgid "Relatives by marriage" msgstr "" -#: entities/models.py:1066 +#: entities/models.py:1223 msgid "Business and property relationships" msgstr "" -#: entities/models.py:1067 +#: entities/models.py:1224 msgid "Ambiguity" msgstr "" #. Translators: label for a person's active dates in the PGP -#: entities/templates/entities/person_detail.html:38 +#: entities/templates/entities/person_detail.html:43 msgid "Active dates" msgstr "" +#. Translators: label for a person's date range when mentioned after death in PGP documents +#: entities/templates/entities/person_detail.html:48 +msgid "Posthumous mentions" +msgstr "" + #. Translators: label for alternative names for a person #. Translators: label for alternative names for a place -#: entities/templates/entities/person_detail.html:54 +#: entities/templates/entities/person_detail.html:67 #: entities/templates/entities/place_detail.html:68 msgid "Other name" msgid_plural "Other names" @@ -898,62 +959,69 @@ msgstr[3] "" #. Translators: label for person description / bio #. Translators: Person "description / bio" column header on the browse page -#: entities/templates/entities/person_detail.html:70 -#: entities/templates/entities/person_list.html:113 +#: entities/templates/entities/person_detail.html:83 +#: entities/templates/entities/person_list.html:130 msgid "Description / Bio" msgstr "" #. Translators: label for person's life events timeline -#: entities/templates/entities/person_detail.html:79 +#: entities/templates/entities/person_detail.html:92 msgid "Life events" msgstr "" #. Translators: label for person bibliography -#: entities/templates/entities/person_detail.html:102 +#: entities/templates/entities/person_detail.html:115 msgid "Select bibliography" msgstr "" -#. Translators: label for a citation for a person page -#: entities/templates/entities/person_detail.html:118 -msgid "How to cite this record:" -msgstr "" - -#. Translators: accessibility label for a citation for a person -#: entities/templates/entities/person_detail.html:122 -msgid "Citation" -msgstr "" - #. Translators: label for permanent link to a person -#: entities/templates/entities/person_detail.html:129 +#: entities/templates/entities/person_detail.html:142 msgid "Link to this person:" msgstr "" #. Translators: label for people browse page list view -#: entities/templates/entities/person_list.html:14 +#: entities/templates/entities/person_list.html:21 msgid "Toggle list view" msgstr "" +#: entities/templates/entities/person_list.html:72 +#, fuzzy +#| msgid "Document Details" +msgid "Details" +msgstr "פרטי מסמך" + +#. Translators: Person "other names" column header on the browse page +#: entities/templates/entities/person_list.html:122 +#: entities/templates/entities/place_list.html:66 +msgid "Other names" +msgstr "" + #. Translators: Person "document count" column header on the browse page #. Translators: table header for count of shared documents between people -#: entities/templates/entities/person_list.html:116 -#: entities/templates/entities/person_related_people.html:48 +#: entities/templates/entities/person_list.html:133 +#: entities/templates/entities/person_related_people.html:49 msgid "Number of related documents" msgstr "" #. Translators: Person "related people count" column header on the browse page -#: entities/templates/entities/person_list.html:120 +#: entities/templates/entities/person_list.html:137 msgid "Number of related people" msgstr "" #. Translators: Person "related place count" column header on the browse page -#: entities/templates/entities/person_list.html:124 +#: entities/templates/entities/person_list.html:141 msgid "Number of related places" msgstr "" +#: entities/templates/entities/person_list.html:159 +msgid "Also known as: " +msgstr "" + #. Translators: range of search results on the current page, out of total -#: entities/templates/entities/person_list.html:161 +#: entities/templates/entities/person_list.html:205 #, python-format -msgid "\n" +msgid "" +"\n" "
%(start)s – %(end)s of %(count_humanized)s
\n" " " msgstr "" @@ -961,7 +1029,7 @@ msgstr "" #. Translators: table header for relationship types between people #. Translators: table header for person-place relation type #. Translators: table header for document relation (with a person or place) -#: entities/templates/entities/person_related_people.html:41 +#: entities/templates/entities/person_related_people.html:42 #: entities/templates/entities/person_related_places.html:72 #: entities/templates/entities/snippets/related_documents_table.html:24 msgid "Relation" @@ -969,7 +1037,7 @@ msgstr "" #. Translators: table header for notes on a relationship between people #. Translators: label for place notes -#: entities/templates/entities/person_related_people.html:54 +#: entities/templates/entities/person_related_people.html:55 #: entities/templates/entities/person_related_places.html:76 #: entities/templates/entities/place_detail.html:84 #: entities/templates/entities/place_related_people.html:48 @@ -994,10 +1062,6 @@ msgstr "" msgid "metadata" msgstr "" -#: entities/templates/entities/place_list.html:66 -msgid "Other names" -msgstr "" - #. Translators: accessible label for section showing counts of entries related to an entity #: entities/templates/entities/place_list.html:73 msgid "Related entries" @@ -1006,7 +1070,8 @@ msgstr "" #. Translators: range of search results on the current page, out of total #: entities/templates/entities/place_list.html:90 #, python-format -msgid "\n" +msgid "" +"\n" "
%(start)s – %(end)s of %(count_humanized)s
\n" " " msgstr "" @@ -1054,7 +1119,6 @@ msgstr "" #. Translators: table header for document name (shelfmark) #: entities/templates/entities/snippets/related_documents_table.html:10 -#| msgid "Input date" msgid "Document" msgstr "" @@ -1064,18 +1128,18 @@ msgid "Type" msgstr "" #. Translators: title of entity "related documents" page -#: entities/views.py:202 +#: entities/views.py:309 #, python-format msgid "Related documents for %(p)s" msgstr "" #. Translators: title of entity "related people" page -#: entities/views.py:292 +#: entities/views.py:399 #, python-format msgid "Related people for %(p)s" msgstr "" -#: entities/views.py:300 entities/views.py:370 +#: entities/views.py:407 entities/views.py:477 #, python-format msgid "%(count)d related person" msgid_plural "%(count)d related people" @@ -1085,12 +1149,12 @@ msgstr[2] "" msgstr[3] "" #. Translators: title of person "related places" page -#: entities/views.py:429 +#: entities/views.py:536 #, python-format msgid "Related places for %(p)s" msgstr "" -#: entities/views.py:437 +#: entities/views.py:544 #, python-format msgid "%(count)d related place" msgid_plural "%(count)d related places" @@ -1101,23 +1165,23 @@ msgstr[3] "" #. Translators: title of people list/browse page #. Translators: label for link to people browse page in main navigation -#: entities/views.py:539 templates/snippets/menu.html:19 +#: entities/views.py:649 templates/snippets/menu.html:19 msgid "People" msgstr "" #. Translators: description of people list/browse page -#: entities/views.py:541 +#: entities/views.py:651 msgid "Browse people present in Geniza documents." msgstr "" #. Translators: title of places list/browse page #. Translators: label for link to places browse page in main navigation -#: entities/views.py:694 templates/snippets/menu.html:26 +#: entities/views.py:827 templates/snippets/menu.html:26 msgid "Places" msgstr "" #. Translators: description of places list/browse page -#: entities/views.py:696 +#: entities/views.py:829 msgid "Browse places present in Geniza documents." msgstr "" @@ -1131,13 +1195,21 @@ msgid "Edition" msgstr "מהדורה" #: pages/models.py:13 -msgid "Alternative text for visually impaired users to\n" +msgid "" +"Alternative text for visually impaired users to\n" "briefly communicate the intended message of the image in this context." -msgstr "טקסט אלטרנטיבי למשתמשים כבדי ראייה שמטרתו להעביר בתמצית את המסר של התצלום בהקשר זה." +msgstr "" +"טקסט אלטרנטיבי למשתמשים כבדי ראייה שמטרתו להעביר בתמצית את המסר של התצלום " +"בהקשר זה." #: pages/models.py:44 -msgid "This text will only be read to non-sighted users and should describe the major insights or takeaways from the graphic. Multiple paragraphs are allowed." -msgstr "טקסט זה יוקרא למשתמשים עיוורים בלבד ותכליתו לתאר את התובנות והמסרים המרכזיים שעולים מהתוכן הגרפי. ניתן לכלול מספר פסקאות." +msgid "" +"This text will only be read to non-sighted users and should describe the " +"major insights or takeaways from the graphic. Multiple paragraphs are " +"allowed." +msgstr "" +"טקסט זה יוקרא למשתמשים עיוורים בלבד ותכליתו לתאר את התובנות והמסרים המרכזיים " +"שעולים מהתוכן הגרפי. ניתן לכלול מספר פסקאות." #. Translators: title for Not Found (404) error page #: templates/404.html:5 templates/404.html:13 diff --git a/sitemedia/scss/pages/_person.scss b/sitemedia/scss/pages/_person.scss index 6e3025d4c..6bc5d26ea 100644 --- a/sitemedia/scss/pages/_person.scss +++ b/sitemedia/scss/pages/_person.scss @@ -96,18 +96,32 @@ main.place { padding-right: 0; margin: 0 0 0; } - dd { + & > dd { margin-left: 20px; } - dd + dt { + & > dd + dt { margin-top: spacing.$spacing-md; @include breakpoints.for-tablet-landscape-up { margin-top: spacing.$spacing-lg; } } - dd + dd { + & > dd + dd { margin-top: spacing.$spacing-xs; } + dl.person-dates { + dt, + dd { + display: inline; + } + dt:after { + content: ":"; + } + dd + dt:before { + // wrap to newline + content: "\a"; + white-space: pre; + } + } } dl.metadata-list.primary + dl.metadata-list.secondary { margin-top: 0; @@ -184,7 +198,7 @@ main.place { } } - section.metadata dt, + section.metadata > dl > dt, section.description h2, section.events h2, section.notes h2, @@ -425,11 +439,15 @@ main.person { html[dir="rtl"] main.person, html[dir="rtl"] main.place, html[dir="rtl"] main.document { - .container dl.metadata-list dt::before, + .container dl.metadata-list > dt::before, .container section > h2::before { margin-right: 0; margin-left: 12px; } + .container dl.metadata-list > dd { + margin-left: 0; + margin-right: 20px; + } dl.metadata-list.tertiary dt#citation, dl.metadata-list.tertiary dt#permalink { i {