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' => 'dd.mm.yyyyYYYY-MM-DD', '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' => 'Focus filter — strips events not matching the requested focus mode (deadlines / hearings / CPS)', 'pass3_f2_html' => 'Confidence filter — removes LOW-confidence events if requested', 'pass3_f3_html' => 'Background filter — strips background/narrative events if unchecked', 'pass3_f4_html' => 'Date-type filter — strips relative/recurring events if unchecked', 'pass3_p2_html' => 'The post-processor then assembles the what_remains_uncertain list and the next_practical_step 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 in memory 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 (gpt-4o, gpt-4o-mini) is configured on the West Europe 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. No document text, case references, actor names, or extracted events are logged.', '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' => 'dd.mm.yyyyYYYY-MM-DD', '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' => 'Fokusfilter — fjerner hendelser som ikke samsvarer med den forespurte fokusmodusen (frister / høringer / CPS)', 'pass3_f2_html' => 'Konfidensfilter — fjerner hendelser med LAV konfidens hvis forespurt', 'pass3_f3_html' => 'Bakgrunnsfilter — fjerner bakgrunns/narrative hendelser hvis ikke avkrysset', 'pass3_f4_html' => 'Dato-type filter — fjerner relative/gjentakende hendelser hvis ikke avkrysset', 'pass3_p2_html' => 'Post-prosessoren setter deretter sammen what_remains_uncertain listen og next_practical_step 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 i minnet 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 (gpt-4o, gpt-4o-mini) er konfigurert på Vest-Europa 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. Ingen dokumenttekst, saksreferanser, aktørnavn eller ekstrakterte hendelser blir logget.', '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' => 'dd.mm.yyyyYYYY-MM-DD', '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' => 'Фільтр фокусу — видаляє події, які не відповідають запитаному режиму фокусу (строки / слухання / CPS)', 'pass3_f2_html' => 'Фільтр впевненості — видаляє події з НИЗЬКОЮ впевненістю, якщо запитано', 'pass3_f3_html' => 'Фільтр фону — видаляє фонові/наративні події, якщо не вибрано', 'pass3_f4_html' => 'Фільтр типу дати — видаляє відносні/повторювані події, якщо не вибрано', 'pass3_p2_html' => 'Постобробник потім збирає список what_remains_uncertain та рекомендацію next_practical_step.', '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' => 'Усі завантажені файли витягуються в текст в пам\'яті за допомогою обробників файлів PHP в процесі. Сирий бінарний файл ніколи не записується на диск на сервері.', 'priv_2' => 'Контекст сесії (вставлений текст, завантажений вміст, витягнуті події хронології) обмежується вашою автентифікованою сесією і знищується, коли сесія закінчується.', 'priv_3_html' => 'Azure OpenAI (gpt-4o, gpt-4o-mini) налаштовано на регіоні Західна Європа. Дані, оброблені через Azure OpenAI, не використовуються для навчання моделі за умовами стандартної корпоративної угоди.', 'priv_4_html' => 'Двигун GPU/cuttlefish обробляє повністю локально — жодні дані не залишають вашу мережу. Проксі LiteLLM на cuttlefish отримує текст вашого документа і повертає структурований JSON; нічого не пересилається на зовнішній API.', 'priv_5_html' => 'Логування телеметрії: назва інструменту, двигун, режим фокусу, кількість подій, затримка. Жоден текст документа, посилання на справи, імена учасників або витягнуті події не реєструються.', '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' => 'dd.mm.yyyyYYYY-MM-DD', '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' => 'Filtr skupienia — usuwa wydarzenia, które nie pasują do żądanego trybu skupienia (terminy / przesłuchania / CPS)', 'pass3_f2_html' => 'Filtr pewności — usuwa wydarzenia o NISKIEJ pewności, jeśli jest to wymagane', 'pass3_f3_html' => 'Filtr tła — usuwa wydarzenia tła/narracyjne, jeśli nie zaznaczone', 'pass3_f4_html' => 'Filtr typu daty — usuwa wydarzenia względne/powtarzające się, jeśli nie zaznaczone', 'pass3_p2_html' => 'Post-processer następnie zestawia listę what_remains_uncertain oraz rekomendację next_practical_step.', '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 w pamięci 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 (gpt-4o, gpt-4o-mini) jest skonfigurowany w regionie Europa Zachodnia. 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. Żaden tekst dokumentu, odniesienia do spraw, nazwy aktorów ani wyodrębnione zdarzenia nie są rejestrowane.', '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', ), );