feat(journey-editor): add i18n keys, error codes, and interlude CSS tokens
All 30+ journey_* message keys added to de/en/es.json. Four new ErrorCode values for journey item operations wired into errors.ts + getErrorMessage(). Interlude CSS primitives (--c-interlude-bg/border/label) defined for light and dark themes so JourneyItemRow can reference them via semantic aliases. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1174,5 +1174,36 @@
|
||||
"journey_item_open_aria_undated": "Brief öffnen",
|
||||
"journey_empty_state": "Diese Lesereise ist noch leer.",
|
||||
"journey_interlude_aria_label": "Kuratorennotiz",
|
||||
"journey_selector_aria_live_hint": "Bitte wähle einen Typ aus, um fortzufahren."
|
||||
"journey_selector_aria_live_hint": "Bitte wähle einen Typ aus, um fortzufahren.",
|
||||
"journey_add_document": "Brief hinzufügen",
|
||||
"journey_add_interlude": "Zwischentext hinzufügen",
|
||||
"journey_note_add": "Notiz hinzufügen",
|
||||
"journey_note_remove": "Notiz entfernen",
|
||||
"journey_note_save_hint": "Wird gespeichert, wenn du das Feld verlässt.",
|
||||
"journey_intro_save_hint": "Wird mit 'Speichern' gesichert.",
|
||||
"journey_already_added": "Bereits enthalten",
|
||||
"journey_note_aria_label": "Kuratoren-Notiz für {title}",
|
||||
"journey_drag_aria_label": "Reihenfolge von '{title}' ändern",
|
||||
"journey_move_up": "'{title}' nach oben verschieben",
|
||||
"journey_move_down": "'{title}' nach unten verschieben",
|
||||
"journey_note_error": "Notiz konnte nicht gespeichert werden",
|
||||
"journey_item_moved": "Eintrag {position} von {total} — nach Position {newPosition} verschoben",
|
||||
"journey_remove_confirm": "Wirklich entfernen?",
|
||||
"journey_remove_confirm_yes": "Bestätigen",
|
||||
"journey_remove_confirm_cancel": "Abbrechen",
|
||||
"journey_mutation_error_reload": "Aktion fehlgeschlagen – bitte Seite neu laden.",
|
||||
"journey_item_pending_add": "wird hinzugefügt…",
|
||||
"journey_item_pending_remove": "wird entfernt…",
|
||||
"journey_published_empty_warning": "Diese Reise wird ohne Einträge veröffentlicht bleiben.",
|
||||
"journey_intro_placeholder": "Einleitung (optional)",
|
||||
"journey_interlude_placeholder": "Zwischentext eingeben…",
|
||||
"journey_add_interlude_confirm": "Hinzufügen",
|
||||
"journey_edit_title_story": "Geschichte bearbeiten",
|
||||
"journey_edit_title_journey": "Lesereise bearbeiten",
|
||||
"journey_publish_disabled_title": "Titel und mindestens ein Eintrag erforderlich",
|
||||
"journey_save_hint_published": "Änderungen werden sofort für alle Leser sichtbar.",
|
||||
"error_journey_item_not_in_journey": "Dieser Eintrag gehört nicht zu dieser Lesereise.",
|
||||
"error_journey_note_too_long": "Die Notiz ist zu lang (maximal 2000 Zeichen).",
|
||||
"error_journey_document_already_added": "Dieser Brief ist bereits in der Lesereise enthalten.",
|
||||
"error_geschichte_type_immutable": "Der Typ einer Geschichte kann nach der Erstellung nicht mehr geändert werden."
|
||||
}
|
||||
|
||||
@@ -1174,5 +1174,36 @@
|
||||
"journey_item_open_aria_undated": "Open letter",
|
||||
"journey_empty_state": "This reading journey is still empty.",
|
||||
"journey_interlude_aria_label": "Curator's note",
|
||||
"journey_selector_aria_live_hint": "Please select a type to continue."
|
||||
"journey_selector_aria_live_hint": "Please select a type to continue.",
|
||||
"journey_add_document": "Add letter",
|
||||
"journey_add_interlude": "Add interlude",
|
||||
"journey_note_add": "Add note",
|
||||
"journey_note_remove": "Remove note",
|
||||
"journey_note_save_hint": "Saved when you leave the field.",
|
||||
"journey_intro_save_hint": "Saved when you click 'Save'.",
|
||||
"journey_already_added": "Already included",
|
||||
"journey_note_aria_label": "Curator note for {title}",
|
||||
"journey_drag_aria_label": "Change order of '{title}'",
|
||||
"journey_move_up": "Move '{title}' up",
|
||||
"journey_move_down": "Move '{title}' down",
|
||||
"journey_note_error": "Could not save note",
|
||||
"journey_item_moved": "Entry {position} of {total} — moved to position {newPosition}",
|
||||
"journey_remove_confirm": "Really remove?",
|
||||
"journey_remove_confirm_yes": "Confirm",
|
||||
"journey_remove_confirm_cancel": "Cancel",
|
||||
"journey_mutation_error_reload": "Action failed – please reload the page.",
|
||||
"journey_item_pending_add": "adding…",
|
||||
"journey_item_pending_remove": "removing…",
|
||||
"journey_published_empty_warning": "This journey will remain published without any entries.",
|
||||
"journey_intro_placeholder": "Introduction (optional)",
|
||||
"journey_interlude_placeholder": "Enter interlude text…",
|
||||
"journey_add_interlude_confirm": "Add",
|
||||
"journey_edit_title_story": "Edit story",
|
||||
"journey_edit_title_journey": "Edit reading journey",
|
||||
"journey_publish_disabled_title": "Title and at least one entry required",
|
||||
"journey_save_hint_published": "Changes will be immediately visible to all readers.",
|
||||
"error_journey_item_not_in_journey": "This entry does not belong to this reading journey.",
|
||||
"error_journey_note_too_long": "The note is too long (maximum 2000 characters).",
|
||||
"error_journey_document_already_added": "This letter is already included in the reading journey.",
|
||||
"error_geschichte_type_immutable": "The type of a story cannot be changed after creation."
|
||||
}
|
||||
|
||||
@@ -1174,5 +1174,36 @@
|
||||
"journey_item_open_aria_undated": "Abrir carta",
|
||||
"journey_empty_state": "Este viaje de lectura está vacío.",
|
||||
"journey_interlude_aria_label": "Nota del curador",
|
||||
"journey_selector_aria_live_hint": "Por favor, selecciona un tipo para continuar."
|
||||
"journey_selector_aria_live_hint": "Por favor, selecciona un tipo para continuar.",
|
||||
"journey_add_document": "Añadir carta",
|
||||
"journey_add_interlude": "Añadir interludio",
|
||||
"journey_note_add": "Añadir nota",
|
||||
"journey_note_remove": "Eliminar nota",
|
||||
"journey_note_save_hint": "Se guarda al salir del campo.",
|
||||
"journey_intro_save_hint": "Se guarda al hacer clic en 'Guardar'.",
|
||||
"journey_already_added": "Ya incluido",
|
||||
"journey_note_aria_label": "Nota del curador para {title}",
|
||||
"journey_drag_aria_label": "Cambiar el orden de '{title}'",
|
||||
"journey_move_up": "Subir '{title}'",
|
||||
"journey_move_down": "Bajar '{title}'",
|
||||
"journey_note_error": "No se pudo guardar la nota",
|
||||
"journey_item_moved": "Entrada {position} de {total} — movida a la posición {newPosition}",
|
||||
"journey_remove_confirm": "¿Realmente eliminar?",
|
||||
"journey_remove_confirm_yes": "Confirmar",
|
||||
"journey_remove_confirm_cancel": "Cancelar",
|
||||
"journey_mutation_error_reload": "Acción fallida – por favor recarga la página.",
|
||||
"journey_item_pending_add": "añadiendo…",
|
||||
"journey_item_pending_remove": "eliminando…",
|
||||
"journey_published_empty_warning": "Este viaje permanecerá publicado sin entradas.",
|
||||
"journey_intro_placeholder": "Introducción (opcional)",
|
||||
"journey_interlude_placeholder": "Escribe el texto del interludio…",
|
||||
"journey_add_interlude_confirm": "Añadir",
|
||||
"journey_edit_title_story": "Editar historia",
|
||||
"journey_edit_title_journey": "Editar viaje de lectura",
|
||||
"journey_publish_disabled_title": "Se requiere título y al menos una entrada",
|
||||
"journey_save_hint_published": "Los cambios serán visibles inmediatamente para todos los lectores.",
|
||||
"error_journey_item_not_in_journey": "Esta entrada no pertenece a este viaje de lectura.",
|
||||
"error_journey_note_too_long": "La nota es demasiado larga (máximo 2000 caracteres).",
|
||||
"error_journey_document_already_added": "Esta carta ya está incluida en el viaje de lectura.",
|
||||
"error_geschichte_type_immutable": "El tipo de una historia no se puede cambiar después de su creación."
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user