fix(i18n): translate timeline sr-only labels in en/es locales
All checks were successful
CI / Unit & Component Tests (pull_request) Successful in 5m18s
CI / OCR Service Tests (pull_request) Successful in 25s
CI / Backend Unit Tests (pull_request) Successful in 5m17s
CI / fail2ban Regex (pull_request) Successful in 47s
CI / Semgrep Security Scan (pull_request) Successful in 23s
CI / Compose Bucket Idempotency (pull_request) Successful in 1m8s
SDD Gate / RTM Check (pull_request) Successful in 15s
SDD Gate / Contract Validate (pull_request) Successful in 23s
SDD Gate / Constitution Impact (pull_request) Successful in 18s
All checks were successful
CI / Unit & Component Tests (pull_request) Successful in 5m18s
CI / OCR Service Tests (pull_request) Successful in 25s
CI / Backend Unit Tests (pull_request) Successful in 5m17s
CI / fail2ban Regex (pull_request) Successful in 47s
CI / Semgrep Security Scan (pull_request) Successful in 23s
CI / Compose Bucket Idempotency (pull_request) Successful in 1m8s
SDD Gate / RTM Check (pull_request) Successful in 15s
SDD Gate / Contract Validate (pull_request) Successful in 23s
SDD Gate / Constitution Impact (pull_request) Successful in 18s
timeline_layer_* and timeline_derived_* shipped German values in the English and Spanish catalogs, so EN/ES screen-reader users heard German for the world/family layer and birth/death/marriage cues. Translate them; de.json stays canonical. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1041,11 +1041,11 @@
|
||||
"timeline_letters_count": "{count} letters",
|
||||
"timeline_strip_expand": "Show letters",
|
||||
"timeline_range_aria": "Period: {from} to {to}",
|
||||
"timeline_layer_world": "Weltgeschehen",
|
||||
"timeline_layer_family": "Familie",
|
||||
"timeline_derived_birth": "Geburt",
|
||||
"timeline_derived_death": "Tod",
|
||||
"timeline_derived_marriage": "Heirat",
|
||||
"timeline_layer_world": "World events",
|
||||
"timeline_layer_family": "Family",
|
||||
"timeline_derived_birth": "Birth",
|
||||
"timeline_derived_death": "Death",
|
||||
"timeline_derived_marriage": "Marriage",
|
||||
"error_geschichte_not_found": "The story was not found.",
|
||||
"error_journey_item_not_found": "The journey item was not found.",
|
||||
"error_journey_item_position_conflict": "The order was just changed by someone else — please reload the page.",
|
||||
|
||||
@@ -1041,11 +1041,11 @@
|
||||
"timeline_letters_count": "{count} cartas",
|
||||
"timeline_strip_expand": "Mostrar cartas",
|
||||
"timeline_range_aria": "Período: {from} a {to}",
|
||||
"timeline_layer_world": "Weltgeschehen",
|
||||
"timeline_layer_family": "Familie",
|
||||
"timeline_derived_birth": "Geburt",
|
||||
"timeline_derived_death": "Tod",
|
||||
"timeline_derived_marriage": "Heirat",
|
||||
"timeline_layer_world": "Acontecimientos mundiales",
|
||||
"timeline_layer_family": "Familia",
|
||||
"timeline_derived_birth": "Nacimiento",
|
||||
"timeline_derived_death": "Fallecimiento",
|
||||
"timeline_derived_marriage": "Matrimonio",
|
||||
"error_geschichte_not_found": "No se encontró la historia.",
|
||||
"error_journey_item_not_found": "No se encontró el elemento del viaje.",
|
||||
"error_journey_item_position_conflict": "El orden fue cambiado por otra persona — por favor recargue la página.",
|
||||
|
||||
@@ -9,7 +9,7 @@ export type TimelineAccent = 'derived' | 'curated' | 'historical';
|
||||
export interface AccentConfig {
|
||||
/** Visible Unicode glyph — render `aria-hidden`, paired with an sr-only label. */
|
||||
glyph: string;
|
||||
/** German layer/life-event label — used as the sr-only text and as visible chrome. */
|
||||
/** Localized layer/life-event label — used as the sr-only / aria text only. */
|
||||
label: string;
|
||||
accent: TimelineAccent;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user