fix(admin): i18n all hardcoded OCR strings, fix personName lookup, add empty state
Some checks failed
CI / Unit & Component Tests (push) Failing after 3m17s
CI / OCR Service Tests (push) Successful in 57s
CI / Backend Unit Tests (push) Failing after 2m52s
CI / Unit & Component Tests (pull_request) Failing after 2m47s
CI / OCR Service Tests (pull_request) Successful in 43s
CI / Backend Unit Tests (pull_request) Failing after 2m48s

- Replace hardcoded EN strings in OcrHealthBar/OcrStatCards/OcrModelsTable with
  Paraglide message keys (de/en/es translations added)
- Add role=img + aria-label to OcrHealthBar status dot
- Add {:else} empty-state row in OcrModelsTable
- Fix personName derivation in [personId]/+page.svelte to use params.personId key
  instead of Object.values()[0] (fragile when multiple persons present)
- Update OcrModelsTable spec to assert empty-state row structure (locale-agnostic)
- Add missing availableSegBlocks test to OcrStatCards spec

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-04-18 08:59:49 +02:00
parent b879d28761
commit a00617194c
11 changed files with 100 additions and 21 deletions

View File

@@ -300,6 +300,22 @@
"history_field_tags": "Schlagworte",
"admin_tab_system": "System",
"admin_tab_ocr": "OCR",
"ocr_status_online": "Online",
"ocr_status_offline": "Offline",
"ocr_stat_training_blocks": "Trainingsblöcke",
"ocr_stat_total_blocks": "Gesamt Blöcke",
"ocr_stat_documents": "Dokumente",
"ocr_stat_seg_blocks": "Seg.-Blöcke",
"ocr_table_person": "Person",
"ocr_table_cer": "ZFR",
"ocr_table_accuracy": "Genauigkeit",
"ocr_table_lines": "Zeilen",
"ocr_table_actions": "Aktionen",
"ocr_table_details": "Details",
"ocr_no_models": "Noch keine Sender-Modelle trainiert.",
"ocr_sender_models_heading": "Sender-Modelle",
"ocr_global_history_link": "Globaler Verlauf →",
"ocr_global_history_heading": "Globaler Verlauf",
"admin_system_backfill_heading": "Verlaufsdaten auffüllen",
"admin_system_backfill_description": "Erstellt einen initialen Verlaufseintrag für alle Dokumente, die noch keinen Verlauf haben (z.B. importierte Dokumente). Dadurch werden beim nächsten Bearbeiten nur die tatsächlich geänderten Felder hervorgehoben.",
"admin_system_backfill_btn": "Jetzt auffüllen",

View File

@@ -300,6 +300,22 @@
"history_field_tags": "Tags",
"admin_tab_system": "System",
"admin_tab_ocr": "OCR",
"ocr_status_online": "Online",
"ocr_status_offline": "Offline",
"ocr_stat_training_blocks": "Training blocks",
"ocr_stat_total_blocks": "Total blocks",
"ocr_stat_documents": "Documents",
"ocr_stat_seg_blocks": "Seg. blocks",
"ocr_table_person": "Person",
"ocr_table_cer": "CER",
"ocr_table_accuracy": "Accuracy",
"ocr_table_lines": "Lines",
"ocr_table_actions": "Actions",
"ocr_table_details": "Details",
"ocr_no_models": "No sender models trained yet.",
"ocr_sender_models_heading": "Sender Models",
"ocr_global_history_link": "Global history →",
"ocr_global_history_heading": "Global History",
"admin_system_backfill_heading": "Backfill history data",
"admin_system_backfill_description": "Creates an initial history entry for all documents that do not have one yet (e.g. imported documents). This ensures that future edits only highlight actually changed fields.",
"admin_system_backfill_btn": "Backfill now",

View File

@@ -300,6 +300,22 @@
"history_field_tags": "Etiquetas",
"admin_tab_system": "Sistema",
"admin_tab_ocr": "OCR",
"ocr_status_online": "En línea",
"ocr_status_offline": "Sin conexión",
"ocr_stat_training_blocks": "Bloques de entrenamiento",
"ocr_stat_total_blocks": "Total de bloques",
"ocr_stat_documents": "Documentos",
"ocr_stat_seg_blocks": "Bloques de seg.",
"ocr_table_person": "Persona",
"ocr_table_cer": "TCE",
"ocr_table_accuracy": "Precisión",
"ocr_table_lines": "Líneas",
"ocr_table_actions": "Acciones",
"ocr_table_details": "Detalles",
"ocr_no_models": "Aún no hay modelos de remitente entrenados.",
"ocr_sender_models_heading": "Modelos de remitente",
"ocr_global_history_link": "Historial global →",
"ocr_global_history_heading": "Historial global",
"admin_system_backfill_heading": "Completar datos de historial",
"admin_system_backfill_description": "Crea una entrada de historial inicial para todos los documentos que aún no tienen ninguna (p.ej. documentos importados). Así, en la próxima edición solo se resaltarán los campos realmente modificados.",
"admin_system_backfill_btn": "Completar ahora",