feat(person): date + precision controls on person new/edit forms

New PersonLifeDateField (German date input + hidden ISO + DAY/MONTH/YEAR
precision select, min-h-44px, sm: side-by-side) used for birth and death
in both forms. Legacy APPROX precision seeds the select as YEAR so an
untouched save never claims DAY. Server actions send date+precision
pairs or omit both; obsolete year i18n keys removed, 9 form keys added.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-06-12 18:20:18 +02:00
committed by marcel
parent 0e7095fee6
commit 65a34d48b4
10 changed files with 258 additions and 89 deletions

View File

@@ -174,12 +174,18 @@
"person_merge_warning": "Achtung: Diese Aktion ist nicht rückgängig zu machen.",
"person_label_notes": "Notizen",
"person_placeholder_notes": "Biographische Hinweise, Besonderheiten…",
"person_label_birth_year": "Geburtsjahr",
"person_label_death_year": "Todesjahr",
"person_label_birth_date": "Geburtsdatum",
"person_label_death_date": "Sterbedatum",
"person_label_birth_date_precision": "Genauigkeit",
"person_label_death_date_precision": "Genauigkeit",
"person_precision_hint": "Wie genau ist dieses Datum bekannt?",
"person_precision_day": "Genaues Datum (Tag)",
"person_precision_month": "Monat bekannt",
"person_precision_year": "Nur Jahreszahl",
"person_date_placeholder_hint": "Leer lassen, wenn unbekannt",
"person_label_generation": "Generation",
"person_option_generation_unset": "(keine)",
"person_hint_generation": "Generation in der Familie (G 0 = älteste Generation)",
"person_placeholder_year": "z.B. 1923",
"person_year_error": "Bitte eine vierstellige Jahreszahl eingeben",
"person_years_error_order": "Geburtsjahr muss vor dem Todesjahr liegen",
"person_docs_heading": "Gesendete Dokumente",

View File

@@ -174,12 +174,18 @@
"person_merge_warning": "Warning: This action cannot be undone.",
"person_label_notes": "Notes",
"person_placeholder_notes": "Biographical notes, remarks…",
"person_label_birth_year": "Birth year",
"person_label_death_year": "Death year",
"person_label_birth_date": "Date of birth",
"person_label_death_date": "Date of death",
"person_label_birth_date_precision": "Precision",
"person_label_death_date_precision": "Precision",
"person_precision_hint": "How precisely is this date known?",
"person_precision_day": "Exact date (day)",
"person_precision_month": "Month known",
"person_precision_year": "Year only",
"person_date_placeholder_hint": "Leave empty if unknown",
"person_label_generation": "Generation",
"person_option_generation_unset": "(none)",
"person_hint_generation": "Generation within the family (G 0 = oldest generation)",
"person_placeholder_year": "e.g. 1923",
"person_year_error": "Please enter a four-digit year",
"person_years_error_order": "Birth year must be before death year",
"person_docs_heading": "Sent documents",

View File

@@ -174,12 +174,18 @@
"person_merge_warning": "Atención: Esta acción no se puede deshacer.",
"person_label_notes": "Notas",
"person_placeholder_notes": "Notas biográficas, observaciones…",
"person_label_birth_year": "Año de nacimiento",
"person_label_death_year": "Año de fallecimiento",
"person_label_birth_date": "Fecha de nacimiento",
"person_label_death_date": "Fecha de defunción",
"person_label_birth_date_precision": "Precisión",
"person_label_death_date_precision": "Precisión",
"person_precision_hint": "¿Con qué precisión se conoce esta fecha?",
"person_precision_day": "Fecha exacta (día)",
"person_precision_month": "Mes conocido",
"person_precision_year": "Solo año",
"person_date_placeholder_hint": "Dejar vacío si es desconocido",
"person_label_generation": "Generación",
"person_option_generation_unset": "(ninguna)",
"person_hint_generation": "Generación dentro de la familia (G 0 = generación más antigua)",
"person_placeholder_year": "p.ej. 1923",
"person_year_error": "Introduzca un año de cuatro dígitos",
"person_years_error_order": "El año de nacimiento debe ser anterior al año de fallecimiento",
"person_docs_heading": "Documentos enviados",