- {m.ocr_progress_page({ current: String(currentPage), total: String(totalPages) })} + + {m.ocr_progress_page({ current: String(currentPage), total: String(totalPages) })} +
{:else if status === 'error'} diff --git a/frontend/src/lib/components/OcrTrainingCard.svelte b/frontend/src/lib/components/OcrTrainingCard.svelte new file mode 100644 index 00000000..e34793af --- /dev/null +++ b/frontend/src/lib/components/OcrTrainingCard.svelte @@ -0,0 +1,92 @@ + + +{m.training_ocr_description()}
+ ++ {m.training_ocr_blocks_ready({ blocks: available, docs: trainingInfo?.availableDocuments ?? 0 })} + {m.training_ocr_blocks_total({ total: trainingInfo?.totalOcrBlocks ?? 0 })} +
+ + + + {#if tooFewBlocks} ++ {m.training_too_few_blocks({ available })} +
+ {:else if serviceDown} +{m.training_service_down()}
+ {/if} + + {#if successMessage} +{successMessage}
+ {/if} + +{m.ocr_trigger_no_annotations()}
+ {/if} diff --git a/frontend/src/lib/components/SegmentationTrainingCard.svelte b/frontend/src/lib/components/SegmentationTrainingCard.svelte new file mode 100644 index 00000000..00a6d9ff --- /dev/null +++ b/frontend/src/lib/components/SegmentationTrainingCard.svelte @@ -0,0 +1,86 @@ + + +{m.training_seg_description()}
+ ++ {m.training_seg_blocks_ready({ blocks: available })} +
+ + + + {#if tooFewBlocks} ++ {m.training_seg_too_few_blocks({ available })} +
+ {:else if serviceDown} +{m.training_service_down()}
+ {/if} + + {#if successMessage} +{successMessage}
+ {/if} + +| {m.training_history_col_date()} | +{m.training_history_col_status()} | +{m.training_history_col_blocks()} | +{m.training_history_col_docs()} | +{m.training_history_col_cer()} | +
|---|---|---|---|---|
| + {m.training_history_empty()} + | +||||
| {formatDate(run.createdAt)} | ++ {#if run.status === 'DONE'} + + + {m.training_status_done()} + + {:else if run.status === 'FAILED'} + + + {m.training_status_failed()} + + {:else} + + + {m.training_status_running()} + + {/if} + | +{run.blockCount} | +{run.documentCount} | +{run.status === 'DONE' && run.cer != null ? formatCer(run.cer) : '—'} | +
+ {reviewedCount} / {totalCount} geprüft +
++ {m.ocr_section_heading()} +
+- {m.transcription_empty_title()} -
-- {m.transcription_empty_desc()} -
- {:else} -- {m.transcription_empty_cta()} -
- {/if} ++ {m.transcription_empty_draw_hint()} +
+Für Training vormerken
+