diff --git a/frontend/messages/de.json b/frontend/messages/de.json index 97f2ad4a..c3692488 100644 --- a/frontend/messages/de.json +++ b/frontend/messages/de.json @@ -1046,6 +1046,13 @@ "timeline_derived_birth": "Geburt", "timeline_derived_death": "Tod", "timeline_derived_marriage": "Heirat", + "timeline_grouping_date": "Gruppierung: Datum", + "timeline_provenance_derived": "abgeleitet", + "timeline_provenance_curated": "kuratiert", + "timeline_letter_glyph_label": "Brief", + "timeline_layer_historical_suffix": "historisch", + "timeline_strip_density_caption": "Monats-Dichte", + "timeline_events_count": "{count} Ereignisse", "event_editor_new_title": "Neues Ereignis", "event_editor_edit_title": "Ereignis bearbeiten", "event_editor_section_when": "Wann", diff --git a/frontend/messages/en.json b/frontend/messages/en.json index e0adb2ed..eb3a08ea 100644 --- a/frontend/messages/en.json +++ b/frontend/messages/en.json @@ -1046,6 +1046,13 @@ "timeline_derived_birth": "Birth", "timeline_derived_death": "Death", "timeline_derived_marriage": "Marriage", + "timeline_grouping_date": "Grouping: Date", + "timeline_provenance_derived": "derived", + "timeline_provenance_curated": "curated", + "timeline_letter_glyph_label": "Letter", + "timeline_layer_historical_suffix": "historical", + "timeline_strip_density_caption": "Monthly density", + "timeline_events_count": "{count} events", "event_editor_new_title": "New event", "event_editor_edit_title": "Edit event", "event_editor_section_when": "When", diff --git a/frontend/messages/es.json b/frontend/messages/es.json index e67a3578..c2d6df92 100644 --- a/frontend/messages/es.json +++ b/frontend/messages/es.json @@ -1046,6 +1046,13 @@ "timeline_derived_birth": "Nacimiento", "timeline_derived_death": "Fallecimiento", "timeline_derived_marriage": "Matrimonio", + "timeline_grouping_date": "Agrupación: Fecha", + "timeline_provenance_derived": "derivado", + "timeline_provenance_curated": "curado", + "timeline_letter_glyph_label": "Carta", + "timeline_layer_historical_suffix": "histórico", + "timeline_strip_density_caption": "Densidad mensual", + "timeline_events_count": "{count} eventos", "event_editor_new_title": "Nuevo evento", "event_editor_edit_title": "Editar evento", "event_editor_section_when": "Cuándo", diff --git a/frontend/src/lib/messages.spec.ts b/frontend/src/lib/messages.spec.ts index 95338e43..3d98c413 100644 --- a/frontend/src/lib/messages.spec.ts +++ b/frontend/src/lib/messages.spec.ts @@ -68,4 +68,24 @@ describe('message key parity', () => { timeline_derived_marriage: 'Matrimonio' }); }); + + // #833 REQ-015: the new visual-fidelity strings (meta line, provenance token, + // ✉ label, world-band suffix, density caption) are Paraglide keys present in + // every locale so no surface ever falls back to a missing translation. + it('zeitstrahl visual-fidelity keys are present in all locales (#833 REQ-015)', () => { + const requiredKeys = [ + 'timeline_grouping_date', + 'timeline_provenance_derived', + 'timeline_provenance_curated', + 'timeline_letter_glyph_label', + 'timeline_layer_historical_suffix', + 'timeline_strip_density_caption', + 'timeline_events_count' + ]; + for (const key of requiredKeys) { + expect(de, `missing key in de: ${key}`).toHaveProperty(key); + expect(en, `missing key in en: ${key}`).toHaveProperty(key); + expect(es, `missing key in es: ${key}`).toHaveProperty(key); + } + }); });