29579eae66
Per-page translation arrays in translations/*.php (EN/NO/UK/PL) for korrespond-about, korrespond-guide, korrespond-tech, timeline-about, timeline-guide, and timeline-tech. Generated via Azure gpt-4o-mini; Norwegian legal/institution terms preserved as-is in all languages. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
442 lines
39 KiB
PHP
442 lines
39 KiB
PHP
<?php
|
||
// Auto-generated by scripts/generate-page-translations.php
|
||
// DO NOT EDIT MANUALLY — re-run the script to regenerate
|
||
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 Timeline →',
|
||
'hero_kicker' => 'Technical Showcase · How the AI reads time',
|
||
'hero_title' => 'How Timeline knows when things happened.',
|
||
'hero_sub' => 'A full walkthrough of the 3-pass extraction pipeline, Norwegian date format recognition, event classification schema, multi-engine architecture, and the fine-tuned dbn-legal-agent model.',
|
||
'stat1' => 'date formats',
|
||
'stat2' => 'event types',
|
||
'stat3' => 'pipeline passes',
|
||
'stat4' => 'engine options',
|
||
'arch_eyebrow' => 'Architecture',
|
||
'arch_title' => 'Three passes. Each with a distinct job.',
|
||
'arch_sub' => 'The pipeline is intentionally sequential — Pass 1 is rule-based and near-instant; Pass 2 is the LLM extraction; Pass 3 post-processes and scores the output.',
|
||
'pass1_title' => 'Detect & normalise known formats',
|
||
'pass1_p1_html' => 'A deterministic pattern-matching pass runs before any LLM call. It scans the full input for dates matching 12+ Norwegian formats and normalises them to ISO 8601:',
|
||
'pass1_li1_html' => '<code>dd.mm.yyyy</code> → <code>YYYY-MM-DD</code>',
|
||
'pass1_li2' => 'd. månedsnavn yyyy → resolved calendar date',
|
||
'pass1_li3' => 'Diary-format lines (starting with a date + colon) → auto-tagged as events',
|
||
'pass1_li4' => 'Two-digit years → always interpreted as 20YY',
|
||
'pass1_p2' => 'Normalised anchors are injected into the LLM prompt to reduce hallucinated or misread dates.',
|
||
'pass2_title' => 'Extract, classify & score',
|
||
'pass2_p1_html' => 'The LLM reads the full document alongside the pre-pass anchors. For every temporal reference it returns a structured JSON event object:',
|
||
'pass2_p2' => 'The prompt explicitly instructs the model not to invent dates or actors not present in the source. Temperature is set to 0.1 for deterministic output.',
|
||
'pass3_title' => 'Filter, sort & assemble',
|
||
'pass3_p1_html' => 'PHP applies all active filters before returning the result:',
|
||
'pass3_f1_html' => '<strong>Focus filter</strong> — strips events not matching the requested focus mode (deadlines / hearings / CPS)',
|
||
'pass3_f2_html' => '<strong>Confidence filter</strong> — removes LOW-confidence events if requested',
|
||
'pass3_f3_html' => '<strong>Background filter</strong> — strips background/narrative events if unchecked',
|
||
'pass3_f4_html' => '<strong>Date-type filter</strong> — strips relative/recurring events if unchecked',
|
||
'pass3_p2_html' => 'The post-processor then assembles the <code>what_remains_uncertain</code> list and the <code>next_practical_step</code> recommendation.',
|
||
'date_eyebrow' => 'Date recognition',
|
||
'date_title' => '12+ Norwegian date formats, all recognised.',
|
||
'date_sub' => 'Norwegian legal documents use a wide variety of date notations. The Pass 1 pre-pass recognises all of these deterministically; the LLM handles the rest in Pass 2.',
|
||
'th_format' => 'Format',
|
||
'th_example' => 'Example',
|
||
'th_notes' => 'Notes',
|
||
'dn1' => 'Standard Norwegian numeric',
|
||
'dn2' => 'Two-digit year → always 20YY',
|
||
'dn3' => 'Written month in bokmål/nynorsk',
|
||
'dn4' => 'Year inferred by proximity scanning',
|
||
'dn5' => 'ISO 8601',
|
||
'dn6' => 'Month + year only',
|
||
'dn7' => 'Year-only reference',
|
||
'dn8' => 'Seasonal reference → Q3/Q4',
|
||
'dn9' => 'Date + colon → auto-tagged as event',
|
||
'dn10' => 'Anchored to nearest resolved event',
|
||
'dn11' => 'Classified as recurring',
|
||
'dn12' => 'Yields start_date + end_date',
|
||
'class_eyebrow' => 'Classification schema',
|
||
'class_title' => 'Five event types. Three confidence levels.',
|
||
'class_h1' => 'date_type values',
|
||
'th_datetype' => 'date_type',
|
||
'th_definition' => 'Definition',
|
||
'dt1_def' => 'A specific, resolvable calendar date',
|
||
'dt2_def' => 'A date expressed relative to another event',
|
||
'dt3_def' => 'A pattern that repeats on a schedule',
|
||
'dt4_def' => 'A date contingent on a condition being met',
|
||
'dt5_def' => 'A date range or duration with start and end',
|
||
'class_h2' => 'confidence levels',
|
||
'th_conf' => 'confidence',
|
||
'th_meaning' => 'Meaning',
|
||
'th_visual' => 'Visual in timeline',
|
||
'conf1_meaning' => 'Date is explicitly and unambiguously stated in the source text',
|
||
'conf1_visual' => 'Green badge',
|
||
'conf2_meaning' => 'Date is inferred, approximate, or stated with slight ambiguity',
|
||
'conf2_visual' => 'Amber badge',
|
||
'conf3_meaning' => 'Date is implied, undated, or extracted from a degraded/ambiguous passage',
|
||
'conf3_visual' => 'Grey badge',
|
||
'class_h3' => 'Actor attribution rules',
|
||
'th_rule' => 'Rule',
|
||
'act1_rule' => 'Named entity in the same sentence',
|
||
'act2_rule' => 'Role label without a name',
|
||
'act3_rule' => 'No clear attribution in sentence',
|
||
'act4_rule' => 'Document-level default',
|
||
'act4_example' => 'If no per-event actor, defaults to the document sender/issuing body',
|
||
'eng_eyebrow' => 'Engines',
|
||
'eng_title' => 'Three engines, one structured output.',
|
||
'eng_sub' => 'All engines return the same JSON schema — the post-processor handles all three identically. Engine choice affects speed, quality, and privacy only.',
|
||
'th_model' => 'Model',
|
||
'th_latency' => 'Latency',
|
||
'th_best' => 'Best for',
|
||
'eng1_best' => 'Default. Fast, cost-efficient, handles most legal documents well.',
|
||
'eng2_best' => 'Complex documents, overlapping events, poor-quality or dense source text.',
|
||
'eng3_best' => 'Maximum privacy. Entirely local. Fine-tuned on Norwegian legal corpus.',
|
||
'ft_eyebrow' => 'Fine-tuned model',
|
||
'ft_title' => 'dbn-legal-agent: trained on Norwegian legal text.',
|
||
'ft_badge' => 'QLoRA fine-tune',
|
||
'ft_p1' => 'A QLoRA (Quantized Low-Rank Adaptation) fine-tune trained on Norwegian child-welfare and administrative law text — case notes, court decisions, Barnevernet correspondence, Fylkesnemnda decisions, and Statsforvalter rulings. The model has internalised the temporal patterns of Norwegian legal proceedings: the procedural sequence of an omsorgsovertakelse, the typical timeline of a tiltaksplan review cycle, what akutt means as a temporal signal, how Fylkesnemnda milestones are ordered.',
|
||
'ft_p2' => 'In the Timeline GPU engine, dbn-legal-agent runs as the primary extraction model via the LiteLLM proxy on cuttlefish. The structured JSON output schema is identical to the Azure engines — the same post-processing pipeline applies regardless of which engine produced the extraction. No Azure API calls are made when the GPU engine is selected.',
|
||
'priv_eyebrow' => 'Privacy & security',
|
||
'priv_title' => 'Your documents never leave your session.',
|
||
'priv_badge' => 'Privacy by design',
|
||
'priv_1_html' => 'All uploaded files are extracted to text <strong>in memory</strong> using PHP\'s in-process file handlers. The raw binary is never written to disk on the server.',
|
||
'priv_2' => 'Session context (pasted text, uploaded content, extracted timeline events) is scoped to your authenticated session and discarded when the session ends.',
|
||
'priv_3_html' => 'Azure OpenAI (<code>gpt-4o</code>, <code>gpt-4o-mini</code>) is configured on the <strong>West Europe</strong> region. Data processed via Azure OpenAI is not used for model training under the default enterprise agreement.',
|
||
'priv_4_html' => 'The GPU/cuttlefish engine processes entirely locally — no data leaves your network. The LiteLLM proxy on cuttlefish receives your document text and returns structured JSON; nothing is forwarded to an external API.',
|
||
'priv_5_html' => 'Telemetry logged: tool name, engine, focus mode, event count, latency. <strong>No document text, case references, actor names, or extracted events are logged.</strong>',
|
||
'cta_title' => 'See it work on your case.',
|
||
'cta_sub' => 'Free for Do Better Norge members. All engines available to every member.',
|
||
'btn_open' => 'Open Timeline →',
|
||
'btn_signin_cta' => 'Sign in to use Timeline →',
|
||
'btn_register' => 'Register free',
|
||
'btn_guide' => 'User guide',
|
||
),
|
||
'no' =>
|
||
array (
|
||
'nav_about' => 'Om',
|
||
'nav_guide' => 'Brukerveiledning',
|
||
'nav_howit' => 'Hvordan det fungerer',
|
||
'nav_opentool' => '← Åpne verktøyet',
|
||
'nav_signin' => 'Logg inn',
|
||
'nav_open' => 'Åpne Tidslinje →',
|
||
'hero_kicker' => 'Teknisk Vist · Hvordan AI-en leser tid',
|
||
'hero_title' => 'Hvordan Tidslinje vet når ting skjedde.',
|
||
'hero_sub' => 'En full gjennomgang av 3-pass ekstraksjonsrørledningen, gjenkjenning av norsk datoformat, hendelsesklassifiseringsskjema, multi-motor arkitektur, og den finjusterte dbn-legal-agent modellen.',
|
||
'stat1' => 'datoformater',
|
||
'stat2' => 'hendelsestyper',
|
||
'stat3' => 'rørledningspass',
|
||
'stat4' => 'motoralternativer',
|
||
'arch_eyebrow' => 'Arkitektur',
|
||
'arch_title' => 'Tre pass. Hvert med en distinkt oppgave.',
|
||
'arch_sub' => 'Rørledningen er bevisst sekvensiell — Pass 1 er regelbasert og nesten umiddelbar; Pass 2 er LLM-ekstraksjonen; Pass 3 etterbehandler og vurderer utdataene.',
|
||
'pass1_title' => 'Oppdag & normaliser kjente formater',
|
||
'pass1_p1_html' => 'Et deterministisk mønster-matching pass kjører før noen LLM-anrop. Det skanner hele inngangen for datoer som matcher 12+ norske formater og normaliserer dem til ISO 8601:',
|
||
'pass1_li1_html' => '<code>dd.mm.yyyy</code> → <code>YYYY-MM-DD</code>',
|
||
'pass1_li2' => 'd. månedsnavn yyyy → løst kalenderdato',
|
||
'pass1_li3' => 'Dagbok-format linjer (som starter med en dato + kolon) → automatisk merket som hendelser',
|
||
'pass1_li4' => 'To-sifrede år → alltid tolket som 20YY',
|
||
'pass1_p2' => 'Normaliserte anker injiseres i LLM-prompten for å redusere hallusinerte eller feiltolket datoer.',
|
||
'pass2_title' => 'Ekstrahere, klassifisere & vurdere',
|
||
'pass2_p1_html' => 'LLM leser hele dokumentet sammen med pre-pass anker. For hver tidsreferanse returnerer den et strukturert JSON-hendelsesobjekt:',
|
||
'pass2_p2' => 'Prompten instruerer eksplisitt modellen om ikke å finne på datoer eller aktører som ikke er til stede i kilden. Temperaturen er satt til 0,1 for deterministisk utdata.',
|
||
'pass3_title' => 'Filtrere, sortere & sette sammen',
|
||
'pass3_p1_html' => 'PHP anvender alle aktive filtre før resultatet returneres:',
|
||
'pass3_f1_html' => '<strong>Fokusfilter</strong> — fjerner hendelser som ikke samsvarer med den forespurte fokusmodusen (frister / høringer / CPS)',
|
||
'pass3_f2_html' => '<strong>Konfidensfilter</strong> — fjerner hendelser med LAV konfidens hvis forespurt',
|
||
'pass3_f3_html' => '<strong>Bakgrunnsfilter</strong> — fjerner bakgrunns/narrative hendelser hvis ikke avkrysset',
|
||
'pass3_f4_html' => '<strong>Dato-type filter</strong> — fjerner relative/gjentakende hendelser hvis ikke avkrysset',
|
||
'pass3_p2_html' => 'Post-prosessoren setter deretter sammen <code>what_remains_uncertain</code> listen og <code>next_practical_step</code> anbefalingen.',
|
||
'date_eyebrow' => 'Dato gjenkjenning',
|
||
'date_title' => '12+ norske datoformater, alle gjenkjent.',
|
||
'date_sub' => 'Norske juridiske dokumenter bruker et bredt spekter av datonotasjoner. Pass 1 pre-pass gjenkjenner alle disse deterministisk; LLM håndterer resten i Pass 2.',
|
||
'th_format' => 'Format',
|
||
'th_example' => 'Eksempel',
|
||
'th_notes' => 'Notater',
|
||
'dn1' => 'Standard norsk numerisk',
|
||
'dn2' => 'To-sifret år → alltid 20YY',
|
||
'dn3' => 'Skriftlig måned på bokmål/nynorsk',
|
||
'dn4' => 'År utledet ved nærhetsskanning',
|
||
'dn5' => 'ISO 8601',
|
||
'dn6' => 'Måned + år kun',
|
||
'dn7' => 'År-referanse',
|
||
'dn8' => 'Sesongreferanse → Q3/Q4',
|
||
'dn9' => 'Dato + kolon → automatisk merket som hendelse',
|
||
'dn10' => 'Forankret til nærmeste løste hendelse',
|
||
'dn11' => 'Klassifisert som gjentakende',
|
||
'dn12' => 'Gir start_dato + slutt_dato',
|
||
'class_eyebrow' => 'Klassifiseringsskjema',
|
||
'class_title' => 'Fem hendelsestyper. Tre tillitsnivåer.',
|
||
'class_h1' => 'date_type verdier',
|
||
'th_datetype' => 'date_type',
|
||
'th_definition' => 'Definisjon',
|
||
'dt1_def' => 'En spesifikk, løselig kalenderdato',
|
||
'dt2_def' => 'En dato uttrykt relativt til en annen hendelse',
|
||
'dt3_def' => 'Et mønster som gjentar seg etter en timeplan',
|
||
'dt4_def' => 'En dato avhengig av at en betingelse er oppfylt',
|
||
'dt5_def' => 'Et datointervall eller varighet med start og slutt',
|
||
'class_h2' => 'konfidensnivåer',
|
||
'th_conf' => 'konfidens',
|
||
'th_meaning' => 'Betydning',
|
||
'th_visual' => 'Visuell i tidslinje',
|
||
'conf1_meaning' => 'Datoen er eksplisitt og entydig angitt i kildeteksten',
|
||
'conf1_visual' => 'Grønn merkelapp',
|
||
'conf2_meaning' => 'Datoen er utledet, omtrentlig, eller angitt med liten tvetydighet',
|
||
'conf2_visual' => 'Amber merkelapp',
|
||
'conf3_meaning' => 'Datoen er implisert, uten dato, eller hentet fra et forringet/tvetydig avsnitt',
|
||
'conf3_visual' => 'Grå merkelapp',
|
||
'class_h3' => 'Regler for aktørattribusjon',
|
||
'th_rule' => 'Regel',
|
||
'act1_rule' => 'Navngitt enhet i samme setning',
|
||
'act2_rule' => 'Rollemerkelapp uten navn',
|
||
'act3_rule' => 'Ingen klar attribusjon i setningen',
|
||
'act4_rule' => 'Standard på dokumentnivå',
|
||
'act4_example' => 'Hvis ingen aktør per hendelse, standardiseres til dokumentets avsender/utstedende organ',
|
||
'eng_eyebrow' => 'Motorer',
|
||
'eng_title' => 'Tre motorer, ett strukturert utdata.',
|
||
'eng_sub' => 'Alle motorer returnerer det samme JSON-skjemaet — etterbehandleren håndterer alle tre identisk. Valg av motor påvirker hastighet, kvalitet og personvern kun.',
|
||
'th_model' => 'Modell',
|
||
'th_latency' => 'Forsinkelse',
|
||
'th_best' => 'Best for',
|
||
'eng1_best' => 'Standard. Rask, kostnadseffektiv, håndterer de fleste juridiske dokumenter godt.',
|
||
'eng2_best' => 'Komplekse dokumenter, overlappende hendelser, dårlig kvalitet eller tett kilde tekst.',
|
||
'eng3_best' => 'Maksimalt personvern. Helt lokalt. Finjustert på norsk juridisk korpus.',
|
||
'ft_eyebrow' => 'Finjustert modell',
|
||
'ft_title' => 'dbn-legal-agent: trent på norsk juridisk tekst.',
|
||
'ft_badge' => 'QLoRA finjustering',
|
||
'ft_p1' => 'En QLoRA (Quantized Low-Rank Adaptation) finjustering trent på norsk barnevern og forvaltningsrett tekst — saksnotater, rettsavgjørelser, Barnevernet korrespondanse, Fylkesnemnda avgjørelser, og Statsforvalteren vedtak. Modellen har internalisert de tidsmessige mønstrene i norske rettsprosedyrer: den prosessuelle sekvensen av en omsorgsovertakelse, den typiske tidslinjen for en tiltaksplan vurderingssyklus, hva akutt betyr som et tidsmessig signal, hvordan Fylkesnemnda milepæler er ordnet.',
|
||
'ft_p2' => 'I Timeline GPU-motoren kjører dbn-legal-agent som den primære ekstraksjonsmodellen via LiteLLM-proxyen på cuttlefish. Det strukturerte JSON-utdata-skjemaet er identisk med Azure-motorene — den samme etterbehandlingslinjen gjelder uavhengig av hvilken motor som produserte ekstraksjonen. Ingen Azure API-anrop blir gjort når GPU-motoren er valgt.',
|
||
'priv_eyebrow' => 'Personvern & sikkerhet',
|
||
'priv_title' => 'Dine dokumenter forlater aldri sesjonen din.',
|
||
'priv_badge' => 'Personvern ved design',
|
||
'priv_1_html' => 'Alle opplastede filer blir ekstraktert til tekst <strong>i minnet</strong> ved hjelp av PHPs in-process filbehandlere. Den rå binære data skrives aldri til disk på serveren.',
|
||
'priv_2' => 'Sesjonskonteksten (innlimt tekst, opplastet innhold, ekstrakterte tidslinjehendelser) er avgrenset til din autentiserte sesjon og kastes når sesjonen avsluttes.',
|
||
'priv_3_html' => 'Azure OpenAI (<code>gpt-4o</code>, <code>gpt-4o-mini</code>) er konfigurert på <strong>Vest-Europa</strong> regionen. Data behandlet via Azure OpenAI brukes ikke til modelltrening under den standard bedriftsavtalen.',
|
||
'priv_4_html' => 'GPU/cuttlefish-motoren prosesserer helt lokalt — ingen data forlater nettverket ditt. LiteLLM-proxyen på cuttlefish mottar dokumentteksten din og returnerer strukturert JSON; ingenting videresendes til en ekstern API.',
|
||
'priv_5_html' => 'Telemetri logget: verktøynavn, motor, fokusmodus, hendelsestall, forsinkelse. <strong>Ingen dokumenttekst, saksreferanser, aktørnavn eller ekstrakterte hendelser blir logget.</strong>',
|
||
'cta_title' => 'Se det fungere i din sak.',
|
||
'cta_sub' => 'Gratis for Do Better Norge medlemmer. Alle motorer tilgjengelig for hvert medlem.',
|
||
'btn_open' => 'Åpne Tidslinje →',
|
||
'btn_signin_cta' => 'Logg inn for å bruke Tidslinje →',
|
||
'btn_register' => 'Registrer gratis',
|
||
'btn_guide' => 'Brukerveiledning',
|
||
),
|
||
'uk' =>
|
||
array (
|
||
'nav_about' => 'Про нас',
|
||
'nav_guide' => 'Посібник користувача',
|
||
'nav_howit' => 'Як це працює',
|
||
'nav_opentool' => '← Відкрити інструмент',
|
||
'nav_signin' => 'Увійти',
|
||
'nav_open' => 'Відкрити Хронологію →',
|
||
'hero_kicker' => 'Технічна демонстрація · Як ШІ читає час',
|
||
'hero_title' => 'Як Хронологія знає, коли відбулися події.',
|
||
'hero_sub' => 'Повний огляд трьохетапного процесу витягування, розпізнавання дат у норвезькому форматі, схеми класифікації подій, архітектури з кількома двигунами та тонко налаштованої моделі dbn-legal-agent.',
|
||
'stat1' => 'формати дат',
|
||
'stat2' => 'типи подій',
|
||
'stat3' => 'етапи процесу',
|
||
'stat4' => 'варіанти двигунів',
|
||
'arch_eyebrow' => 'Архітектура',
|
||
'arch_title' => 'Три етапи. Кожен з чіткою задачею.',
|
||
'arch_sub' => 'Процес навмисно послідовний — Етап 1 базується на правилах і майже миттєвий; Етап 2 — витягування LLM; Етап 3 обробляє та оцінює вихідні дані.',
|
||
'pass1_title' => 'Виявлення та нормалізація відомих форматів',
|
||
'pass1_p1_html' => 'Детермінований етап зіставлення шаблонів виконується перед будь-яким викликом LLM. Він сканує весь вхід на наявність дат, що відповідають 12+ норвезьким форматам, і нормалізує їх до ISO 8601:',
|
||
'pass1_li1_html' => '<code>dd.mm.yyyy</code> → <code>YYYY-MM-DD</code>',
|
||
'pass1_li2' => 'd. månedsnavn yyyy → визначена календарна дата',
|
||
'pass1_li3' => 'Рядки формату щоденника (починаючи з дати + двокрапка) → автоматично позначаються як події',
|
||
'pass1_li4' => 'Двозначні роки → завжди інтерпретуються як 20YY',
|
||
'pass1_p2' => 'Нормалізовані якорі вводяться в запит LLM, щоб зменшити випадкові або неправильно прочитані дати.',
|
||
'pass2_title' => 'Витягти, класифікувати та оцінити',
|
||
'pass2_p1_html' => 'LLM читає повний документ разом з попередніми якорями. Для кожного тимчасового посилання він повертає структурований об\'єкт події JSON:',
|
||
'pass2_p2' => 'Запит чітко інструктує модель не вигадувати дати або акторів, які не присутні в джерелі. Температура встановлена на 0.1 для детермінованого виходу.',
|
||
'pass3_title' => 'Фільтрувати, сортувати та збирати',
|
||
'pass3_p1_html' => 'PHP застосовує всі активні фільтри перед поверненням результату:',
|
||
'pass3_f1_html' => '<strong>Фільтр фокусу</strong> — видаляє події, які не відповідають запитаному режиму фокусу (строки / слухання / CPS)',
|
||
'pass3_f2_html' => '<strong>Фільтр впевненості</strong> — видаляє події з НИЗЬКОЮ впевненістю, якщо запитано',
|
||
'pass3_f3_html' => '<strong>Фільтр фону</strong> — видаляє фонові/наративні події, якщо не вибрано',
|
||
'pass3_f4_html' => '<strong>Фільтр типу дати</strong> — видаляє відносні/повторювані події, якщо не вибрано',
|
||
'pass3_p2_html' => 'Постобробник потім збирає список <code>what_remains_uncertain</code> та рекомендацію <code>next_practical_step</code>.',
|
||
'date_eyebrow' => 'Визнання дати',
|
||
'date_title' => '12+ норвезьких форматів дати, всі визнані.',
|
||
'date_sub' => 'Норвезькі юридичні документи використовують широкий спектр позначень дати. Попередній прохід Pass 1 розпізнає всі ці дати детерміновано; LLM обробляє решту в Pass 2.',
|
||
'th_format' => 'Формат',
|
||
'th_example' => 'Приклад',
|
||
'th_notes' => 'Примітки',
|
||
'dn1' => 'Стандартний норвезький числовий',
|
||
'dn2' => 'Дворічний рік → завжди 20YY',
|
||
'dn3' => 'Написаний місяць у bokmål/nynorsk',
|
||
'dn4' => 'Рік, виведений шляхом сканування близькості',
|
||
'dn5' => 'ISO 8601',
|
||
'dn6' => 'Тільки місяць + рік',
|
||
'dn7' => 'Посилання тільки на рік',
|
||
'dn8' => 'Сезонне посилання → Q3/Q4',
|
||
'dn9' => 'Дата + двокрапка → автоматично позначена як подія',
|
||
'dn10' => 'Закріплена за найближчою вирішеною подією',
|
||
'dn11' => 'Класифікована як повторювана',
|
||
'dn12' => 'Видає start_date + end_date',
|
||
'class_eyebrow' => 'Схема класифікації',
|
||
'class_title' => 'П\'ять типів подій. Три рівні впевненості.',
|
||
'class_h1' => 'значення date_type',
|
||
'th_datetype' => 'date_type',
|
||
'th_definition' => 'Визначення',
|
||
'dt1_def' => 'Конкретна, вирішувана календарна дата',
|
||
'dt2_def' => 'Дата, виражена відносно іншої події',
|
||
'dt3_def' => 'Шаблон, що повторюється за розкладом',
|
||
'dt4_def' => 'Дата, що залежить від виконання умови',
|
||
'dt5_def' => 'Діапазон дат або тривалість з початком і закінченням',
|
||
'class_h2' => 'рівні впевненості',
|
||
'th_conf' => 'впевненість',
|
||
'th_meaning' => 'Значення',
|
||
'th_visual' => 'Візуалізація в хронології',
|
||
'conf1_meaning' => 'Дата чітко і однозначно вказана в вихідному тексті',
|
||
'conf1_visual' => 'Зелений значок',
|
||
'conf2_meaning' => 'Дата виведена, приблизна або вказана з невеликою неоднозначністю',
|
||
'conf2_visual' => 'Помаранчевий значок',
|
||
'conf3_meaning' => 'Дата має на увазі, без дати або витягнута з зіпсованого/неоднозначного уривка',
|
||
'conf3_visual' => 'Сірий значок',
|
||
'class_h3' => 'Правила атрибуції акторів',
|
||
'th_rule' => 'Правило',
|
||
'act1_rule' => 'Названа сутність в одному реченні',
|
||
'act2_rule' => 'Мітка ролі без імені',
|
||
'act3_rule' => 'Немає чіткої атрибуції в реченні',
|
||
'act4_rule' => 'За замовчуванням на рівні документа',
|
||
'act4_example' => 'Якщо немає актора для кожної події, за замовчуванням використовується відправник/видавець документа',
|
||
'eng_eyebrow' => 'Двигуни',
|
||
'eng_title' => 'Три двигуни, один структурований вихід.',
|
||
'eng_sub' => 'Усі двигуни повертають однакову JSON-схему — пост-обробник обробляє всі три однаково. Вибір двигуна впливає на швидкість, якість та конфіденційність лише.',
|
||
'th_model' => 'Модель',
|
||
'th_latency' => 'Затримка',
|
||
'th_best' => 'Найкраще для',
|
||
'eng1_best' => 'За замовчуванням. Швидко, економічно, добре обробляє більшість юридичних документів.',
|
||
'eng2_best' => 'Складні документи, перекриття подій, текст джерела низької якості або щільний.',
|
||
'eng3_best' => 'Максимальна конфіденційність. Повністю локально. Тонко налаштований на норвезький юридичний корпус.',
|
||
'ft_eyebrow' => 'Тонко налаштована модель',
|
||
'ft_title' => 'dbn-legal-agent: навчена на норвезькому юридичному тексті.',
|
||
'ft_badge' => 'Тонке налаштування QLoRA',
|
||
'ft_p1' => 'Тонке налаштування QLoRA (Квантована Низькорозмірна Адаптація), навчена на текстах норвезького законодавства про дитяче благополуччя та адміністративного права — нотатки справ, судові рішення, кореспонденція Barnevernet, рішення Fylkesnemnda та постанови Statsforvalteren. Модель усвідомила тимчасові патерни норвезьких юридичних процесів: процедурна послідовність omsorgsovertakelse, типовий графік циклу перегляду tiltaksplan, що означає akutt як тимчасовий сигнал, як упорядковані етапи Fylkesnemnda.',
|
||
'ft_p2' => 'У Timeline GPU двигуні dbn-legal-agent працює як основна модель витягування через проксі LiteLLM на cuttlefish. Структурована JSON-схема виходу ідентична схемам Azure — той самий пост-обробний конвеєр застосовується незалежно від того, який двигун виробив витяг. Жодні виклики API Azure не здійснюються, коли вибрано GPU двигун.',
|
||
'priv_eyebrow' => 'Конфіденційність та безпека',
|
||
'priv_title' => 'Ваші документи ніколи не залишають вашу сесію.',
|
||
'priv_badge' => 'Конфіденційність за дизайном',
|
||
'priv_1_html' => 'Усі завантажені файли витягуються в текст <strong>в пам\'яті</strong> за допомогою обробників файлів PHP в процесі. Сирий бінарний файл ніколи не записується на диск на сервері.',
|
||
'priv_2' => 'Контекст сесії (вставлений текст, завантажений вміст, витягнуті події хронології) обмежується вашою автентифікованою сесією і знищується, коли сесія закінчується.',
|
||
'priv_3_html' => 'Azure OpenAI (<code>gpt-4o</code>, <code>gpt-4o-mini</code>) налаштовано на регіоні <strong>Західна Європа</strong>. Дані, оброблені через Azure OpenAI, не використовуються для навчання моделі за умовами стандартної корпоративної угоди.',
|
||
'priv_4_html' => 'Двигун GPU/cuttlefish обробляє повністю локально — жодні дані не залишають вашу мережу. Проксі LiteLLM на cuttlefish отримує текст вашого документа і повертає структурований JSON; нічого не пересилається на зовнішній API.',
|
||
'priv_5_html' => 'Логування телеметрії: назва інструменту, двигун, режим фокусу, кількість подій, затримка. <strong>Жоден текст документа, посилання на справи, імена учасників або витягнуті події не реєструються.</strong>',
|
||
'cta_title' => 'Перегляньте, як це працює у вашій справі.',
|
||
'cta_sub' => 'Безкоштовно для членів Do Better Norge. Усі механізми доступні для кожного члена.',
|
||
'btn_open' => 'Відкрити Хронологію →',
|
||
'btn_signin_cta' => 'Увійти, щоб використовувати Хронологію →',
|
||
'btn_register' => 'Зареєструватися безкоштовно',
|
||
'btn_guide' => 'Посібник користувача',
|
||
),
|
||
'pl' =>
|
||
array (
|
||
'nav_about' => 'O nas',
|
||
'nav_guide' => 'Podręcznik użytkownika',
|
||
'nav_howit' => 'Jak to działa',
|
||
'nav_opentool' => '← Otwórz narzędzie',
|
||
'nav_signin' => 'Zaloguj się',
|
||
'nav_open' => 'Otwórz oś czasu →',
|
||
'hero_kicker' => 'Pokaz techniczny · Jak AI odczytuje czas',
|
||
'hero_title' => 'Jak oś czasu wie, kiedy miały miejsce wydarzenia.',
|
||
'hero_sub' => 'Pełne przejście przez proces ekstrakcji w 3 etapach, rozpoznawanie formatu daty w Norwegii, schemat klasyfikacji wydarzeń, architektura wielosilnikowa oraz dostosowany model dbn-legal-agent.',
|
||
'stat1' => 'formaty dat',
|
||
'stat2' => 'typy wydarzeń',
|
||
'stat3' => 'przejścia w pipeline',
|
||
'stat4' => 'opcje silnika',
|
||
'arch_eyebrow' => 'Architektura',
|
||
'arch_title' => 'Trzy przejścia. Każde z wyraźnym zadaniem.',
|
||
'arch_sub' => 'Pipeline jest celowo sekwencyjny — Przejście 1 jest oparte na regułach i niemal natychmiastowe; Przejście 2 to ekstrakcja LLM; Przejście 3 przetwarza i ocenia wynik.',
|
||
'pass1_title' => 'Wykryj i normalizuj znane formaty',
|
||
'pass1_p1_html' => 'Deterministyczne przejście dopasowujące wzory działa przed jakimkolwiek wywołaniem LLM. Skanuje pełne wejście w poszukiwaniu dat pasujących do 12+ norweskich formatów i normalizuje je do ISO 8601:',
|
||
'pass1_li1_html' => '<code>dd.mm.yyyy</code> → <code>YYYY-MM-DD</code>',
|
||
'pass1_li2' => 'd. nazwamiesiąca yyyy → rozwiązana data kalendarzowa',
|
||
'pass1_li3' => 'Linie w formacie dziennika (zaczynające się od daty + dwukropek) → automatycznie oznaczane jako wydarzenia',
|
||
'pass1_li4' => 'Dwu-cyfrowe lata → zawsze interpretowane jako 20YY',
|
||
'pass1_p2' => 'Znormalizowane kotwice są wstrzykiwane do promptu LLM, aby zredukować halucynacje lub błędnie odczytane daty.',
|
||
'pass2_title' => 'Ekstrakcja, klasyfikacja i ocena',
|
||
'pass2_p1_html' => 'LLM odczytuje pełny dokument wraz z kotwicami z pre-pasu. Dla każdego odniesienia czasowego zwraca strukturalny obiekt JSON wydarzenia:',
|
||
'pass2_p2' => 'Prompt wyraźnie instruuje model, aby nie wymyślał dat ani aktorów, którzy nie są obecni w źródle. Temperatura jest ustawiona na 0,1 dla deterministycznego wyniku.',
|
||
'pass3_title' => 'Filtruj, sortuj i zestawiaj',
|
||
'pass3_p1_html' => 'PHP stosuje wszystkie aktywne filtry przed zwróceniem wyniku:',
|
||
'pass3_f1_html' => '<strong>Filtr skupienia</strong> — usuwa wydarzenia, które nie pasują do żądanego trybu skupienia (terminy / przesłuchania / CPS)',
|
||
'pass3_f2_html' => '<strong>Filtr pewności</strong> — usuwa wydarzenia o NISKIEJ pewności, jeśli jest to wymagane',
|
||
'pass3_f3_html' => '<strong>Filtr tła</strong> — usuwa wydarzenia tła/narracyjne, jeśli nie zaznaczone',
|
||
'pass3_f4_html' => '<strong>Filtr typu daty</strong> — usuwa wydarzenia względne/powtarzające się, jeśli nie zaznaczone',
|
||
'pass3_p2_html' => 'Post-processer następnie zestawia listę <code>what_remains_uncertain</code> oraz rekomendację <code>next_practical_step</code>.',
|
||
'date_eyebrow' => 'Rozpoznawanie dat',
|
||
'date_title' => '12+ norweskich formatów dat, wszystkie rozpoznawane.',
|
||
'date_sub' => 'Norweskie dokumenty prawne używają szerokiej gamy notacji dat. Pre-pas 1 rozpoznaje wszystkie z nich deterministycznie; LLM zajmuje się resztą w Pasie 2.',
|
||
'th_format' => 'Format',
|
||
'th_example' => 'Przykład',
|
||
'th_notes' => 'Uwagi',
|
||
'dn1' => 'Standardowa norweska liczba',
|
||
'dn2' => 'Dwu-cyfrowy rok → zawsze 20YY',
|
||
'dn3' => 'Napisany miesiąc w bokmål/nynorsk',
|
||
'dn4' => 'Rok wnioskowany na podstawie skanowania bliskości',
|
||
'dn5' => 'ISO 8601',
|
||
'dn6' => 'Tylko miesiąc + rok',
|
||
'dn7' => 'Odniesienie tylko do roku',
|
||
'dn8' => 'Odniesienie sezonowe → Q3/Q4',
|
||
'dn9' => 'Data + dwukropek → automatycznie oznaczona jako wydarzenie',
|
||
'dn10' => 'Przywiązana do najbliższego rozwiązania wydarzenia',
|
||
'dn11' => 'Klasyfikowana jako powtarzająca się',
|
||
'dn12' => 'Generuje start_date + end_date',
|
||
'class_eyebrow' => 'Schemat klasyfikacji',
|
||
'class_title' => 'Pięć typów wydarzeń. Trzy poziomy pewności.',
|
||
'class_h1' => 'Wartości date_type',
|
||
'th_datetype' => 'date_type',
|
||
'th_definition' => 'Definicja',
|
||
'dt1_def' => 'Specyficzna, rozwiązywalna data kalendarzowa',
|
||
'dt2_def' => 'Data wyrażona w odniesieniu do innego wydarzenia',
|
||
'dt3_def' => 'Wzór, który powtarza się według harmonogramu',
|
||
'dt4_def' => 'Data uzależniona od spełnienia warunku',
|
||
'dt5_def' => 'Zakres dat lub czas trwania z początkiem i końcem',
|
||
'class_h2' => 'poziomy pewności',
|
||
'th_conf' => 'pewność',
|
||
'th_meaning' => 'Znaczenie',
|
||
'th_visual' => 'Wizualizacja w osi czasu',
|
||
'conf1_meaning' => 'Data jest wyraźnie i jednoznacznie podana w tekście źródłowym',
|
||
'conf1_visual' => 'Zielona odznaka',
|
||
'conf2_meaning' => 'Data jest wnioskowana, przybliżona lub podana z niewielką niejednoznacznością',
|
||
'conf2_visual' => 'Bursztynowa odznaka',
|
||
'conf3_meaning' => 'Data jest sugerowana, niepodana lub wyciągnięta z zdegenerowanego/niejednoznacznego fragmentu',
|
||
'conf3_visual' => 'Szara odznaka',
|
||
'class_h3' => 'Zasady przypisywania aktorów',
|
||
'th_rule' => 'Zasada',
|
||
'act1_rule' => 'Nazwana jednostka w tym samym zdaniu',
|
||
'act2_rule' => 'Etykieta roli bez imienia',
|
||
'act3_rule' => 'Brak wyraźnego przypisania w zdaniu',
|
||
'act4_rule' => 'Domyślne na poziomie dokumentu',
|
||
'act4_example' => 'Jeśli brak aktora dla konkretnego zdarzenia, domyślnie przypisuje się nadawcę dokumentu/ciała wydającego',
|
||
'eng_eyebrow' => 'Silniki',
|
||
'eng_title' => 'Trzy silniki, jeden zorganizowany wynik.',
|
||
'eng_sub' => 'Wszystkie silniki zwracają ten sam schemat JSON — post-processer obsługuje wszystkie trzy identycznie. Wybór silnika wpływa tylko na prędkość, jakość i prywatność.',
|
||
'th_model' => 'Model',
|
||
'th_latency' => 'Opóźnienie',
|
||
'th_best' => 'Najlepszy dla',
|
||
'eng1_best' => 'Domyślny. Szybki, efektywny kosztowo, dobrze radzi sobie z większością dokumentów prawnych.',
|
||
'eng2_best' => 'Złożone dokumenty, nakładające się zdarzenia, tekst źródłowy o słabej jakości lub gęsty.',
|
||
'eng3_best' => 'Maksymalna prywatność. Całkowicie lokalny. Dostosowany do norweskiego korpusu prawnego.',
|
||
'ft_eyebrow' => 'Model dostosowany',
|
||
'ft_title' => 'dbn-legal-agent: wytrenowany na norweskim tekście prawnym.',
|
||
'ft_badge' => 'QLoRA fine-tune',
|
||
'ft_p1' => 'Dostosowanie QLoRA (Quantized Low-Rank Adaptation) wytrenowane na norweskim prawie dotyczącym opieki nad dziećmi i prawie administracyjnym — notatki spraw, decyzje sądowe, korespondencja Barnevernet, decyzje Fylkesnemnda oraz orzeczenia Statsforvalteren. Model zinternalizował temporalne wzorce norweskich postępowań prawnych: sekwencję proceduralną omsorgsovertakelse, typowy harmonogram cyklu przeglądu tiltaksplan, co oznacza akutt jako sygnał czasowy, jak są uporządkowane kamienie milowe Fylkesnemnda.',
|
||
'ft_p2' => 'W silniku Timeline GPU, dbn-legal-agent działa jako główny model ekstrakcji za pośrednictwem proxy LiteLLM na cuttlefish. Strukturalny schemat wyjściowy JSON jest identyczny dla silników Azure — ten sam proces post-przetwarzania ma zastosowanie niezależnie od tego, który silnik wyprodukował ekstrakcję. Żadne wywołania API Azure nie są wykonywane, gdy wybrany jest silnik GPU.',
|
||
'priv_eyebrow' => 'Prywatność i bezpieczeństwo',
|
||
'priv_title' => 'Twoje dokumenty nigdy nie opuszczają twojej sesji.',
|
||
'priv_badge' => 'Prywatność przez projekt',
|
||
'priv_1_html' => 'Wszystkie przesłane pliki są ekstraktowane do tekstu <strong>w pamięci</strong> przy użyciu obsługi plików w procesie PHP. Surowy binarny nie jest nigdy zapisywany na dysku serwera.',
|
||
'priv_2' => 'Kontekst sesji (wklejony tekst, przesłana zawartość, wyodrębnione zdarzenia czasowe) jest ograniczony do twojej uwierzytelnionej sesji i jest usuwany po zakończeniu sesji.',
|
||
'priv_3_html' => 'Azure OpenAI (<code>gpt-4o</code>, <code>gpt-4o-mini</code>) jest skonfigurowany w regionie <strong>Europa Zachodnia</strong>. Dane przetwarzane za pośrednictwem Azure OpenAI nie są wykorzystywane do szkolenia modelu w ramach domyślnej umowy przedsiębiorstwa.',
|
||
'priv_4_html' => 'Silnik GPU/cuttlefish przetwarza całkowicie lokalnie — żadne dane nie opuszczają twojej sieci. Proxy LiteLLM na cuttlefish otrzymuje tekst twojego dokumentu i zwraca strukturalny JSON; nic nie jest przesyłane do zewnętrznego API.',
|
||
'priv_5_html' => 'Zarejestrowana telemetria: nazwa narzędzia, silnik, tryb skupienia, liczba zdarzeń, opóźnienie. <strong>Żaden tekst dokumentu, odniesienia do spraw, nazwy aktorów ani wyodrębnione zdarzenia nie są rejestrowane.</strong>',
|
||
'cta_title' => 'Zobacz, jak to działa w Twojej sprawie.',
|
||
'cta_sub' => 'Darmowe dla członków Do Better Norge. Wszystkie silniki dostępne dla każdego członka.',
|
||
'btn_open' => 'Otwórz Oś czasu →',
|
||
'btn_signin_cta' => 'Zaloguj się, aby użyć Oś czasu →',
|
||
'btn_register' => 'Zarejestruj się za darmo',
|
||
'btn_guide' => 'Podręcznik użytkownika',
|
||
),
|
||
);
|