Add redact doc pages; update timeline docs to remove GPU references

- New: redact-about.php, redact-guide.php, redact-tech.php with full
  two-pass pipeline docs, regional rule sets, output format comparison
- New: translations/redact-{about,guide,tech}.php (en + no)
- redact.php: add About/Guide/How-it-works doc links
- timeline-guide.php: remove GPU/cuttlefish engine row
- timeline-tech.php: remove GPU row, replace fine-tuned LLM section
  with SSE streaming + DOCX export section, stat4 3→2 engines
- timeline-about.php: replace dbn-legal-agent spotlight with
  SSE/DOCX export highlight
- translations/timeline-{about,guide,tech}.php: remove all GPU/
  cuttlefish references across all 4 languages; add stream_* and
  export_* keys; fix upload copy (5 files → 1 file)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-25 09:53:54 +02:00
parent d47024ed67
commit 1d1bbeb69f
13 changed files with 1524 additions and 68 deletions
+173
View File
@@ -0,0 +1,173 @@
<?php
return array (
'en' =>
array (
'nav_about' => 'About',
'nav_guide' => 'User guide',
'nav_howit' => 'How it works',
'nav_opentool' => '← Open the tool',
'nav_signin' => 'Sign in',
'nav_open' => 'Open Redact →',
'hero_kicker' => 'User Guide · Redact',
'hero_title' => 'How to use Redact.',
'hero_sub' => 'A step-by-step walkthrough of every control — from choosing your engine and region to reading the redacted output, downloading as Word, and saving to My Docs.',
'toc_title' => 'In this guide',
'toc_1' => 'Choose your engine',
'toc_2' => 'Redaction mode',
'toc_3' => 'Region',
'toc_4' => 'What to redact',
'toc_5' => 'Officials toggle',
'toc_6' => 'Output format',
'toc_7' => 'Exempt names',
'toc_8' => 'Name aliases',
'toc_9' => 'Upload or paste',
'toc_10' => 'Reading the output & downloading',
'step1_title' => 'Choose your engine',
'step1_intro' => 'The engine controls the AI model used for the LLM redaction sweep. Both engines use Azure OpenAI (West Europe). gpt-4o-mini costs 1 credit and handles most documents well; gpt-4o costs 2 credits and is better for dense, complex, or multi-person documents.',
'th_engine' => 'Engine',
'th_cost' => 'Cost',
'th_best' => 'Best for',
'eng1_cost' => '1 credit',
'eng1_best' => 'Default. Everyday redaction, single-person documents, standard case notes.',
'eng2_cost' => '2 credits',
'eng2_best' => 'Complex documents with many named parties, overlapping roles, or poor formatting.',
'step2_title' => 'Redaction mode',
'step2_intro' => 'Mode controls how aggressively the tool redacts. Found in the Advanced settings panel.',
'th_mode' => 'Mode',
'th_does' => 'What it does',
'mode1_does' => 'Pattern matching + LLM sweep for known entity types (names, orgs, places, ID numbers). Balanced accuracy and precision.',
'mode2_does' => 'Also replaces any capitalised two-word phrase as a potential name. More aggressive — use when you need certainty over precision. May produce false positives in formal text.',
'step3_title' => 'Region',
'step3_intro' => 'Region configures which identifier patterns the regex first-pass targets. The LLM pass always runs regardless of region.',
'th_region' => 'Region',
'th_targets' => 'Targets',
'reg1_targets' => 'Norwegian fødselsnummer, D-number, +47 phone, email, Norwegian addresses',
'reg2_targets' => 'Adds IBAN, Swedish personnummer, Danish CPR, Finnish HETU, UK NI',
'reg3_targets' => 'Adds ECHR application numbers, DOB phrases, ECtHR case references',
'reg4_targets' => 'Adds US SSN, driver\'s licence formats, generic document numbers',
'step4_title' => 'What to redact',
'step4_intro' => 'Four checkboxes toggle which entity types the LLM looks for. All are checked by default.',
'th_entity' => 'Entity type',
'th_entity_desc' => 'What is replaced',
'ent1_desc' => 'Personal names — first name, surname, or full name of any individual',
'ent2_desc' => 'Organisations — companies, agencies, authorities, institutions',
'ent3_desc' => 'Places — cities, streets, addresses, countries, regions',
'ent4_desc' => 'Dates — dates of birth, age references, specific personal dates',
'step5_title' => 'Officials toggle',
'step5_p1_html' => '<strong>Default: OFF (unchecked).</strong> When unchecked, all names — including judges, experts, social workers, and lawyers — are replaced with generic role tags like [PERSON] or contextual tags like [JUDGE].',
'step5_p2_html' => '<strong>When to check:</strong> tick "Keep official names (judges, experts)" to preserve the names of named officials in a labelled tag: <em>[JUDGE: Andersen]</em>, <em>[EXPERT WITNESS: Dr. Hansen]</em>. Use this when the official\'s identity is legally relevant and must remain visible in the redacted version — for example, when submitting to a court that knows the judge.',
'step6_title' => 'Output format',
'step6_intro' => 'Three options control how redacted content is represented in the output.',
'th_format' => 'Format',
'th_result' => 'Result',
'fmt1_result' => 'Each person gets a descriptive role tag. [FATHER], [MOTHER], [JUDGE: Name if officials kept]. Narrative remains readable. Best for most legal filings.',
'fmt2_result' => 'All persons become [PERSON], organisations [ORG], places [PLACE]. Maximum anonymisation with no role context.',
'fmt3_result' => 'Names replaced with plausible Norwegian substitutes (Ola Nordmann, Kari Hansen). Phone numbers rewritten. Addresses replaced with fictional Norwegian addresses. Best when a human-readable document is required.',
'step7_title' => 'Exempt names',
'step7_p1_html' => '<strong>Names listed here are never redacted</strong> — even if the AI would otherwise remove them. Use this for names that must remain visible in the output, such as a public figure, a quoted source, or an institution name that is part of the case reference.',
'step7_p2_html' => 'Add each name on its own row. The match is case-insensitive. Partial matches are not supported — enter the name exactly as it appears in the document.',
'step8_title' => 'Name aliases',
'step8_p1_html' => '<strong>Replace a specific name with a custom bracketed label.</strong> For example: "David Jr" → [Junior], or "Kari Pettersen" → [SISTER]. Useful when the document uses a name that the LLM might not recognise as a person, or when you want a specific label instead of the AI\'s default choice.',
'step8_p2_html' => 'Aliases are applied as a final substitution step after both redaction passes complete. They override whatever the LLM assigned to that name.',
'step9_title' => 'Upload or paste',
'step9_p1_html' => 'Drag a file onto the upload zone or click <strong>browse</strong>. Supported formats: <strong>PDF</strong>, <strong>DOCX</strong>, <strong>TXT</strong>. One file per run.',
'step9_p2_html' => 'You can also paste text directly into the main text area — or combine a file and pasted text. All sources are processed together as a single input.',
'step9_p3' => 'Files are extracted to text in memory. Nothing is written to disk or retained after the session ends.',
'step10_title' => 'Reading the output & downloading',
'step10_intro' => 'After the tool runs, the redacted text appears in the results section. What you can do from here:',
'dl1_html' => '<strong>Export to Word</strong> — downloads a formatted .docx with the full redacted text, ready to attach to a submission.',
'dl2_html' => '<strong>Save to My Docs</strong> — saves the redacted version to your My Docs library for later retrieval and use in other tools.',
'dl3_html' => '<strong>Copy text</strong> — copies the plain redacted text to the clipboard for pasting into another document.',
'cta_title' => 'Ready to try it on your documents?',
'cta_sub' => 'Free for Do Better Norge members.',
'btn_open' => 'Open Redact →',
'btn_signin_cta' => 'Sign in to use Redact →',
'btn_register' => 'Register free',
'btn_techlink' => 'How it works →',
),
'no' =>
array (
'nav_about' => 'Om',
'nav_guide' => 'Brukerveiledning',
'nav_howit' => 'Slik fungerer det',
'nav_opentool' => '← Åpne verktøyet',
'nav_signin' => 'Logg inn',
'nav_open' => 'Åpne Sladding →',
'hero_kicker' => 'Brukerveiledning · Sladding',
'hero_title' => 'Slik bruker du Sladding.',
'hero_sub' => 'En trinnvis gjennomgang av alle kontroller — fra valg av motor og region til å lese sladdede utdata, laste ned som Word og lagre i Mine Dok.',
'toc_title' => 'I denne veiledningen',
'toc_1' => 'Velg motor',
'toc_2' => 'Sladdmodus',
'toc_3' => 'Region',
'toc_4' => 'Hva som skal sladdes',
'toc_5' => 'Offisielle veksler',
'toc_6' => 'Utdataformat',
'toc_7' => 'Unntak for navn',
'toc_8' => 'Navnaliaser',
'toc_9' => 'Last opp eller lim inn',
'toc_10' => 'Les utdata og last ned',
'step1_title' => 'Velg motor',
'step1_intro' => 'Motoren kontrollerer AI-modellen som brukes for LLM-sladdsøk. Begge motorer bruker Azure OpenAI (Vest-Europa). gpt-4o-mini koster 1 kreditt og håndterer de fleste dokumenter godt; gpt-4o koster 2 kreditter og er bedre for tette, komplekse eller fler-persons dokumenter.',
'th_engine' => 'Motor',
'th_cost' => 'Kostnad',
'th_best' => 'Best for',
'eng1_cost' => '1 kreditt',
'eng1_best' => 'Standard. Hverdagssladding, enkeltpersonsdokumenter, standard saksnotater.',
'eng2_cost' => '2 kreditter',
'eng2_best' => 'Komplekse dokumenter med mange navngitte parter, overlappende roller eller dårlig formatering.',
'step2_title' => 'Sladdmodus',
'step2_intro' => 'Modus kontrollerer hvor aggressivt verktøyet sladder. Finnes i panelet for avanserte innstillinger.',
'th_mode' => 'Modus',
'th_does' => 'Hva det gjør',
'mode1_does' => 'Mønstermatching + LLM-søk for kjente enhetstyper (navn, organisasjoner, steder, ID-numre). Balansert nøyaktighet og presisjon.',
'mode2_does' => 'Erstatter også store to-ords fraser som potensielle navn. Mer aggressiv — bruk når du trenger sikkerhet over presisjon.',
'step3_title' => 'Region',
'step3_intro' => 'Region konfigurerer hvilke identifikatormønstre regex-første-passet retter seg mot. LLM-passet kjører alltid uavhengig av region.',
'th_region' => 'Region',
'th_targets' => 'Mål',
'reg1_targets' => 'Norsk fødselsnummer, D-nummer, +47-telefon, e-post, norske adresser',
'reg2_targets' => 'Legger til IBAN, svensk personnummer, dansk CPR, finsk HETU, britisk NI',
'reg3_targets' => 'Legger til EMD-saksnumre, fødselsdatofraser, EMD-saksreferanser',
'reg4_targets' => 'Legger til amerikanske SSN-numre, førerkortsformater, generiske dokumentnumre',
'step4_title' => 'Hva som skal sladdes',
'step4_intro' => 'Fire avkrysningsbokser aktiverer hvilke enhetstyper LLM-en ser etter. Alle er merket av som standard.',
'th_entity' => 'Enhetstype',
'th_entity_desc' => 'Hva som erstattes',
'ent1_desc' => 'Personnavn — fornavn, etternavn eller fullt navn på enhver person',
'ent2_desc' => 'Organisasjoner — selskaper, etater, myndigheter, institusjoner',
'ent3_desc' => 'Steder — byer, gater, adresser, land, regioner',
'ent4_desc' => 'Datoer — fødselsdatoer, aldersreferanser, spesifikke personlige datoer',
'step5_title' => 'Offisielle veksler',
'step5_p1_html' => '<strong>Standard: AV (ikke avkrysset).</strong> Når ikke avkrysset, erstattes alle navn — inkludert dommere, eksperter, saksbehandlere og advokater — med generiske rollekoder som [PERSON] eller kontekstuelle koder som [DOMMER].',
'step5_p2_html' => '<strong>Når du skal krysse av:</strong> kryss av «Behold offisielle navn (dommere, eksperter)» for å bevare navnene på navngitte tjenestemenn i en merket kode: <em>[DOMMER: Andersen]</em>. Bruk dette når tjenestmannens identitet er juridisk relevant.',
'step6_title' => 'Utdataformat',
'step6_intro' => 'Tre alternativer styrer hvordan sladdede innhold representeres i utdataene.',
'th_format' => 'Format',
'th_result' => 'Resultat',
'fmt1_result' => 'Hver person får en beskrivende rollekode. [FAR], [MOR], [DOMMER: Navn hvis offisielle beholdes]. Narrativet forblir lesbart.',
'fmt2_result' => 'Alle personer blir [PERSON], organisasjoner [ORG], steder [STED]. Maksimal anonymisering uten rollekontekst.',
'fmt3_result' => 'Navn erstattet med plausible norske substitutter (Ola Nordmann, Kari Hansen). Telefonnumre omskrevet. Adresser erstattet med fiktive norske adresser.',
'step7_title' => 'Unntak for navn',
'step7_p1_html' => '<strong>Navn listet her sladdes aldri</strong> — selv om AI-en ellers ville fjerne dem. Bruk dette for navn som må forbli synlige i utdataene.',
'step7_p2_html' => 'Legg til hvert navn på sin egen rad. Treffet er ikke-skriftssensitivt. Delvise treff støttes ikke — skriv inn navnet nøyaktig slik det vises i dokumentet.',
'step8_title' => 'Navnaliaser',
'step8_p1_html' => '<strong>Erstatt et spesifikt navn med en egendefinert merket etikett.</strong> F.eks.: «David Jr» → [Junior], eller «Kari Pettersen» → [SØSTER].',
'step8_p2_html' => 'Aliaser brukes som et siste substitusjonstrinn etter at begge sladdpassene er fullført. De overstyrer hva LLM-en tildelte det navnet.',
'step9_title' => 'Last opp eller lim inn',
'step9_p1_html' => 'Dra en fil til opplastingssonen eller klikk <strong>bla gjennom</strong>. Støttede formater: <strong>PDF</strong>, <strong>DOCX</strong>, <strong>TXT</strong>. Én fil per kjøring.',
'step9_p2_html' => 'Du kan også lime inn tekst direkte i tekstfeltet — eller kombinere en fil og limt inn tekst. Alle kilder behandles sammen som én inngang.',
'step9_p3' => 'Filer ekstraheres til tekst i minnet. Ingenting skrives til disk eller beholdes etter at sesjonen avsluttes.',
'step10_title' => 'Les utdata og last ned',
'step10_intro' => 'Etter at verktøyet kjøres, vises den sladdede teksten i resultatdelen. Det du kan gjøre herfra:',
'dl1_html' => '<strong>Eksporter til Word</strong> — laster ned en formatert .docx med full sladddet tekst, klar til å legges ved en innsending.',
'dl2_html' => '<strong>Lagre i Mine Dok</strong> — lagrer den sladdede versjonen i Mine Dok-biblioteket ditt for senere henting.',
'dl3_html' => '<strong>Kopier tekst</strong> — kopierer den rene sladdede teksten til utklippstavlen.',
'cta_title' => 'Klar til å prøve det på dokumentene dine?',
'cta_sub' => 'Gratis for Do Better Norge-medlemmer.',
'btn_open' => 'Åpne Sladding →',
'btn_signin_cta' => 'Logg inn for å bruke Sladding →',
'btn_register' => 'Registrer gratis',
'btn_techlink' => 'Slik fungerer det →',
),
);