feat(frontend): add OCR UI components and translations
- ScriptTypeSelect: native select for TYPEWRITER/HANDWRITING_LATIN/KURRENT - OcrTrigger: wraps script type select + start button + confirmation dialog - OcrProgress: SSE-based progress display with page counter and progress bar - Paraglide translations for OCR (de/en/es): script types, trigger labels, confirmation dialog, progress messages, error messages - ErrorCode type + getErrorMessage: OCR_SERVICE_UNAVAILABLE, OCR_JOB_NOT_FOUND, OCR_DOCUMENT_NOT_UPLOADED, OCR_PROCESSING_FAILED All 687 frontend tests pass. Refs #226 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -500,5 +500,25 @@
|
||||
"person_alias_delete_title": "Eliminar alias?",
|
||||
"person_alias_delete_body": "Este nombre se eliminara de los resultados de busqueda.",
|
||||
"person_alias_btn_delete": "Eliminar",
|
||||
"error_alias_not_found": "No se encontro el alias de nombre."
|
||||
"error_alias_not_found": "No se encontro el alias de nombre.",
|
||||
"error_ocr_service_unavailable": "El servicio OCR no está disponible.",
|
||||
"error_ocr_job_not_found": "No se encontró el trabajo OCR.",
|
||||
"error_ocr_document_not_uploaded": "El documento no tiene archivo — OCR no es posible.",
|
||||
"error_ocr_processing_failed": "El procesamiento OCR ha fallado.",
|
||||
"ocr_script_type_typewriter": "Máquina de escribir",
|
||||
"ocr_script_type_handwriting_latin": "Escritura manuscrita (latina)",
|
||||
"ocr_script_type_handwriting_kurrent": "Escritura manuscrita (Kurrent/Sütterlin)",
|
||||
"ocr_trigger_label": "Tipo de escritura",
|
||||
"ocr_trigger_select_placeholder": "Seleccionar tipo de escritura…",
|
||||
"ocr_trigger_btn": "Iniciar OCR",
|
||||
"ocr_trigger_btn_disabled": "Por favor seleccione un tipo de escritura",
|
||||
"ocr_confirm_title": "¿Reemplazar transcripción existente?",
|
||||
"ocr_confirm_body": "Los {count} bloques existentes serán eliminados y reemplazados con los resultados del OCR. Esta acción no se puede deshacer.",
|
||||
"ocr_confirm_btn": "Reemplazar",
|
||||
"ocr_progress_heading": "OCR en curso",
|
||||
"ocr_progress_page": "Página {current} de {total}",
|
||||
"ocr_error_heading": "OCR fallido",
|
||||
"ocr_error_retry": "Intentar de nuevo",
|
||||
"ocr_batch_running": "OCR en curso · {processed} de {total} documentos completados",
|
||||
"ocr_batch_done": "OCR completado · {processed} exitosos · {errors} fallidos"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user