feat(cv-import): add source-grounded review and explicit corrections

This commit is contained in:
cesnimda
2026-10-26 15:56:54 +01:00
parent 9e1726c61d
commit e941b3ccb7
24 changed files with 943 additions and 48 deletions
+104
View File
@@ -2,6 +2,58 @@ export type UiLanguage = "en" | "nb";
export const translations = {
en: {
cvImportReviewHelp: "Review every field. Nothing changes in your Career Profile until you apply your choices.",
cvImportPanels: "Import source and review",
cvImportSourcePanel: "Source document",
cvImportReviewPanel: "Review extracted information",
cvImportDownload: "Download original",
cvImportSourceTitle: "Original CV document",
cvImportSourceLoading: "Loading original document",
cvImportSourceFailed: "Could not load the original document. Source excerpts remain available for review.",
cvImportSourceEmpty: "No source text is available. Download the original document to check it.",
cvImportEvidence: "Source excerpt",
cvImportPage: "Page {page}",
cvImportNoEvidence: "No source excerpt available. Check the original before approving this value.",
cvImportMethodDocument: "Read from document",
cvImportMethodDeterministic: "Suggested from document structure",
cvImportReviewedCount: "{reviewed} of {total} fields reviewed",
cvImportDecision: "Decision: {field}",
cvImportChoose: "Choose a decision",
cvImportKeep: "Keep current value / skip addition",
cvImportUse: "Use extracted value",
cvImportCorrect: "Correct extracted value",
cvImportCorrection: "Correction: {field}",
cvImportUseGroup: "Use all extracted values in this group",
cvImportApplyReviewed: "Apply reviewed changes",
cvImportStaleReview: "Your Career Profile changed elsewhere. Your corrections are retained. Compare the refreshed current values and confirm every choice again.",
cvImportNoFields: "No supported fields were extracted. Your Career Profile has not changed.",
cvImportSaved: "Reviewed changes saved to your Career Profile.",
cvImportOpenProfile: "Open Career Profile",
cvImportOpenEditor: "Open CV editor",
cvImportSizeError: "Choose a file no larger than 5 MiB.",
cvImportFormatError: "Choose a PDF, DOCX, text, Markdown, PNG, JPEG or WebP file.",
cvImportUploadHelp: "Drop a PDF or DOCX here, or choose a file. Maximum 5 MiB. Text, Markdown and images use the existing importer.",
cvImportStageExtracting: "Reading document structure",
cvImportStageValidating: "Validating your document",
cvImportFieldName: "Name",
cvImportFieldRole: "Role",
cvImportMatchedRecord: "Matches an existing record — review the affected fields",
cvImportNewRecord: "New record — keep only the information you want to add",
cvImportExpired: "Source expired — upload the document again",
cvImportStageSections: "Identifying document sections",
cvImportStageAnalysing: "Analysing career information",
cvImportStageDetails: "Validating extracted details",
cvImportStagePreparing: "Preparing your review",
cvImportWarningNative: "Complex PDF columns and table relationships may need corrections. Check the original document.",
cvImportWarningPages: "DOCX page numbers cannot be established reliably. Source excerpts are provided instead.",
cvImportWarningOcr: "OCR is disabled. Scanned or image-only content cannot be extracted.",
cvImportStageInterpreting: "Preparing extracted information for review",
cvImportStageReady: "Ready for your review",
cvImportFieldTitle: "Title",
cvImportFieldCompany: "Company",
cvImportFieldStart: "Start date",
cvImportFieldEnd: "End date",
cvImportFieldCurrent: "Current position",
appTitle: "Jobbjakt",
appTagline: "Track your hunt",
applicationLanguage: "Application language",
@@ -2927,6 +2979,58 @@ export const translations = {
coverAiReject: "Reject",
},
nb: {
cvImportReviewHelp: "Gå gjennom hvert felt. Karriereprofilen endres først når du bruker valgene dine.",
cvImportPanels: "Kilde og gjennomgang av import",
cvImportSourcePanel: "Kildedokument",
cvImportReviewPanel: "Se gjennom hentet informasjon",
cvImportDownload: "Last ned originalen",
cvImportSourceTitle: "Opprinnelig CV-dokument",
cvImportSourceLoading: "Laster originaldokumentet",
cvImportSourceFailed: "Kunne ikke laste originaldokumentet. Kildeutdragene er fortsatt tilgjengelige for gjennomgang.",
cvImportSourceEmpty: "Ingen kildetekst er tilgjengelig. Last ned originaldokumentet for å kontrollere det.",
cvImportEvidence: "Kildeutdrag",
cvImportPage: "Side {page}",
cvImportNoEvidence: "Ingen kildeutdrag tilgjengelig. Kontroller originalen før du godkjenner verdien.",
cvImportMethodDocument: "Lest fra dokumentet",
cvImportMethodDeterministic: "Foreslått ut fra dokumentstrukturen",
cvImportReviewedCount: "{reviewed} av {total} felt gjennomgått",
cvImportDecision: "Valg: {field}",
cvImportChoose: "Velg en handling",
cvImportKeep: "Behold nåværende verdi / hopp over tillegg",
cvImportUse: "Bruk hentet verdi",
cvImportCorrect: "Korriger hentet verdi",
cvImportCorrection: "Korrigering: {field}",
cvImportUseGroup: "Bruk alle hentede verdier i denne gruppen",
cvImportApplyReviewed: "Bruk gjennomgåtte endringer",
cvImportStaleReview: "Karriereprofilen ble endret et annet sted. Korrigeringene dine er beholdt. Sammenlign de oppdaterte verdiene og bekreft hvert valg på nytt.",
cvImportNoFields: "Ingen støttede felt ble hentet. Karriereprofilen er ikke endret.",
cvImportSaved: "Gjennomgåtte endringer er lagret i karriereprofilen.",
cvImportOpenProfile: "Åpne karriereprofilen",
cvImportOpenEditor: "Åpne CV-editoren",
cvImportSizeError: "Velg en fil som ikke er større enn 5 MiB.",
cvImportFormatError: "Velg en PDF-, DOCX-, tekst-, Markdown-, PNG-, JPEG- eller WebP-fil.",
cvImportUploadHelp: "Slipp en PDF eller DOCX her, eller velg en fil. Maksimalt 5 MiB. Tekst, Markdown og bilder bruker den eksisterende importen.",
cvImportStageExtracting: "Leser dokumentstrukturen",
cvImportStageValidating: "Kontrollerer dokumentet ditt",
cvImportFieldName: "Navn",
cvImportFieldRole: "Rolle",
cvImportMatchedRecord: "Samsvarer med en eksisterende oppføring — gjennomgå feltene som berøres",
cvImportNewRecord: "Ny oppføring — behold bare informasjonen du vil legge til",
cvImportExpired: "Kilden er utløpt — last opp dokumentet på nytt",
cvImportStageSections: "Identifiserer dokumentdelene",
cvImportStageAnalysing: "Analyserer karriereinformasjon",
cvImportStageDetails: "Kontrollerer de hentede opplysningene",
cvImportStagePreparing: "Klargjør gjennomgangen din",
cvImportWarningNative: "Komplekse PDF-kolonner og tabeller kan kreve rettelser. Kontroller originaldokumentet.",
cvImportWarningPages: "Sidetall i DOCX kan ikke fastslås pålitelig. Kildeutdrag vises i stedet.",
cvImportWarningOcr: "OCR er deaktivert. Skannet innhold eller innhold som bare består av bilder, kan ikke hentes ut.",
cvImportStageInterpreting: "Klargjør hentet informasjon for gjennomgang",
cvImportStageReady: "Klar for gjennomgang",
cvImportFieldTitle: "Stilling",
cvImportFieldCompany: "Arbeidsgiver",
cvImportFieldStart: "Startdato",
cvImportFieldEnd: "Sluttdato",
cvImportFieldCurrent: "Nåværende stilling",
appTitle: "Jobbjakt",
appTagline: "Hold oversikt over jobbsøkingen",
applicationLanguage: "Språk i appen",