i18n(timeline): add zeitstrahl visual-fidelity strings (REQ-015)

Seven new timeline_* keys feeding the upcoming chrome: the header meta
line (grouping label + events count), the event-pill provenance token,
the ✉ sr-only label, the world-band "historisch" suffix, and the strip
density caption — present in de/en/es with matching key sets, pinned by a
new parity test.

Refs #833
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-06-14 10:39:58 +02:00
parent b372b90ec9
commit 808d6efa1a
4 changed files with 41 additions and 0 deletions

View File

@@ -1046,6 +1046,13 @@
"timeline_derived_birth": "Geburt", "timeline_derived_birth": "Geburt",
"timeline_derived_death": "Tod", "timeline_derived_death": "Tod",
"timeline_derived_marriage": "Heirat", "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_new_title": "Neues Ereignis",
"event_editor_edit_title": "Ereignis bearbeiten", "event_editor_edit_title": "Ereignis bearbeiten",
"event_editor_section_when": "Wann", "event_editor_section_when": "Wann",

View File

@@ -1046,6 +1046,13 @@
"timeline_derived_birth": "Birth", "timeline_derived_birth": "Birth",
"timeline_derived_death": "Death", "timeline_derived_death": "Death",
"timeline_derived_marriage": "Marriage", "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_new_title": "New event",
"event_editor_edit_title": "Edit event", "event_editor_edit_title": "Edit event",
"event_editor_section_when": "When", "event_editor_section_when": "When",

View File

@@ -1046,6 +1046,13 @@
"timeline_derived_birth": "Nacimiento", "timeline_derived_birth": "Nacimiento",
"timeline_derived_death": "Fallecimiento", "timeline_derived_death": "Fallecimiento",
"timeline_derived_marriage": "Matrimonio", "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_new_title": "Nuevo evento",
"event_editor_edit_title": "Editar evento", "event_editor_edit_title": "Editar evento",
"event_editor_section_when": "Cuándo", "event_editor_section_when": "Cuándo",

View File

@@ -68,4 +68,24 @@ describe('message key parity', () => {
timeline_derived_marriage: 'Matrimonio' 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);
}
});
}); });