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 Korrespond →', 'hero_kicker' => 'Technical Showcase · Hard-RAG · Fine-tuned LLM · 3-pass pipeline', 'hero_title' => 'How Korrespond knows what to write.', 'hero_sub' => 'A full walkthrough of the retrieval-augmented generation pipeline, citation verification system, fine-tuned legal model, and the formal citation refine pass that produces court-ready references.', 'stat1' => 'passages indexed', 'stat2' => 'corpus slices', 'stat3' => 'pipeline passes', 'stat4' => 'drafting model', 'arch_eyebrow' => 'Architecture', 'arch_title' => 'Three passes. Each with a distinct job.', 'arch_sub' => 'The pipeline is intentionally sequential — Pass 1 is cheap and fast (gpt-4o-mini); Pass 2 is expensive and only runs if the situation is clear enough; Pass 3 is optional and user-triggered.', 'pass1_title' => 'Classify & gap-check', 'pass1_p1_html' => 'Parses the intake and returns a structured JSON classification:', 'pass1_p2_html' => 'If missing_facts is non-empty → emits clarify gate. No credit deducted until Pass 2 starts.', 'pass2_title' => 'Retrieve → draft → check → translate', 'pass2_p1' => 'Four sub-steps, each verified before proceeding:', 'pass2_r1_html' => 'Retrieve: hybrid dense + BM25 search across the preset corpus slices; top 8 passages returned with source IDs', 'pass2_r2_html' => 'Draft: gpt-4o generates the letter using [CITE:N] tokens referencing only retrieved source IDs', 'pass2_r3_html' => 'Self-check: strips any [CITE:N] token whose source ID isn\'t in the retrieved pool; flags deadline/goal/tone compliance', 'pass2_r4_html' => 'Translate: Norwegian draft → working language (single call)', 'pass3_title' => 'Formal citation refine', 'pass3_p1_html' => 'User-triggered (+1 credit). Jurisdiction-scoped retrieval, then rewrites inline citations to formal style and appends Rettskilder block:', 'pass3_n1_html' => 'Norwegian: jf. forvaltningsloven § 17', 'pass3_n2_html' => 'ECHR: full case name, application number, date, paragraph', 'pass3_n3_html' => 'Both: combined domestic + ECHR grounds', 'rag_eyebrow' => 'Hard-RAG', 'rag_title' => 'Every § citation is verified before it reaches you.', 'rag_sub' => 'Hard-RAG means the model is constrained to only cite what it retrieved. No § number can appear in the final draft unless a corresponding source passage was actually found and fetched.', 'rag_box1' => 'User intake + body preset', 'rag_box2' => 'Corpus slice selection', 'rag_box3' => 'Hybrid search (dense vector + BM25)', 'rag_box4' => 'Top 8 passages with source IDs', 'rag_box5' => 'Passages injected into gpt-4o prompt', 'rag_box6' => 'Draft with [CITE:N] tokens only', 'rag_box7' => 'Self-check: verify each [CITE:N] resolves', 'rag_box8' => 'Strip unverified citations', 'rag_p1_html' => 'The self-check pass parses every [CITE:N] token in the draft and looks up the source ID N in the retrieved pool. If it doesn\'t match — the citation is removed and the paragraph is rewritten without it. The output also flags whether the deadline was addressed, whether the stated goal was achieved, and whether the tone matched the selected chip.', 'rag_h2' => 'What happens when no statute fits?', 'rag_p2_html' => 'If no corpus passage closely matches the situation, the draft is produced in plain language without § references. A note in the output says: "No cited law sources — draft is plain-language (no § references available from corpus)." This is the intentional, honest behaviour — a blank draft is better than one with fake citations.', 'kb_eyebrow' => 'Knowledge base', 'kb_title' => '220,000+ passages across 8 corpus slices.', 'kb_sub' => 'The legal corpus is split into named slices. Each recipient body preset maps to a set of slices, so retrieval is always scoped to the right area of law.', 'kb_s1' => 'total indexed passages', 'kb_s2' => 'corpus slices', 'kb_s3' => 'FNV tribunal decisions', 'kb_s4' => 'ECHR Norwegian-family cases', 'kb_s5' => 'AI Search (West Europe)', 'kb_s6' => 'dense vector + BM25', 'kb_h2' => 'Corpus slices', 'kb_h3' => 'Body preset → slice mapping (examples)', 'kb_th1' => 'Recipient body', 'kb_th2' => 'Corpus slices loaded', '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. Unlike a general-purpose LLM, dbn-legal-agent has internalized the procedural vocabulary and reasoning patterns of forvaltningsloven: what triggers a § 17 right to be heard, what a lawful § 24 reasoned decision must contain, how barnevernsloven § 6-3 frames the child\'s best interest standard.', 'ft_p2' => 'In the Korrespond pipeline, dbn-legal-agent runs as a domain adapter alongside Azure gpt-4o. The retrieval prompt is constructed using dbn-legal-agent\'s representation of the intake, while gpt-4o handles the final generation within the Hard-RAG constraint. This separation gives structural clarity (gpt-4o) and domain precision (dbn-legal-agent) in the same pipeline.', 'ft_th1' => 'Pass', 'ft_th2' => 'Model', 'ft_th3' => 'Role', 'ft_r1_role' => 'Fast structured classification + gap detection', 'ft_r2_role' => 'Domain-aware question generation', 'ft_r3_role' => 'Full letter generation within Hard-RAG constraints', 'ft_r4_role' => 'Citation verification + tone/goal/deadline audit', 'ft_r5_role' => 'Norwegian → working language translation', 'ft_r6_role' => 'Formal citation rewrite + Rettskilder block', 'p3_eyebrow' => 'Pass 3 — Formal citation refine', 'p3_title' => 'Court-ready citations in two styles.', 'p3_sub' => 'The optional third pass does a jurisdiction-scoped retrieval run, then rewrites the draft with formal inline citations and a Rettskilder appendix. Two distinct citation formats are supported:', 'p3_f1_title' => 'Norwegian statute style', 'p3_f1_body_html' => 'Inline citations use jf. (with reference to) and the official statute name + section: jf. forvaltningsloven § 17, jf. opplæringslova § 9 A-4, jf. barnevernsloven § 6-3. Section numbers are verified against the corpus before inclusion.', 'p3_f2_title' => 'ECHR citation style', 'p3_f2_body_html' => 'Full European Court of Human Rights citation format: case name · application number · date · chamber/Grand Chamber · paragraph. Example: Strand Lobben m.fl. mot Norge, EMD-37283/13 (Storkammer, 10.09.2019), § 207. Sources pulled from the ECHR corpus slice and HUDOC.', 'p3_eg_title' => 'Example refined output', 'p3_eg_caption_html' => 'Refined draft (Norwegian + English) with opplæringslova § 9 A-4 and EMK artikkel 8 inline citations.', 'p3_anchor_title' => 'Anchor queries for ECHR mode', 'p3_anchor_intro' => 'For Barnevernet and Bufdir cases, the ECHR refine pass runs specific anchor queries targeting the most-cited Norwegian family cases in the HUDOC corpus:', '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 (your narrative, uploaded text, drafts) 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' => 'Azure AI Search (bnl-legal-search) stores only the public legal corpus — statutes, tribunal decisions, ECHR judgments. None of your case information is stored in the search index.', 'priv_5' => 'Qdrant vector database stores only the public corpus embeddings — no user data.', 'priv_6_html' => 'Telemetry logged: tool name, language, output type, pass count, latency, source count. No case text, no names, no case references are logged.', 'cta_title' => 'See it work on your case.', 'cta_sub' => 'Free for Do Better Norge members. All 3 passes available to every member.', 'btn_open' => 'Open Korrespond →', 'btn_signin_cta' => 'Sign in to use Korrespond →', '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 Korrespond →', 'hero_kicker' => 'Teknisk Vist · Hard-RAG · Finjustert LLM · 3-pass pipeline', 'hero_title' => 'Hvordan Korrespond vet hva den skal skrive.', 'hero_sub' => 'En full gjennomgang av retrieval-augmented generation pipeline, sitasjonsverifiseringssystem, finjustert juridisk modell, og den formelle sitasjonsforbedringspasset som produserer rettsferdige referanser.', 'stat1' => 'indekserte passasjer', 'stat2' => 'korpusbiter', 'stat3' => 'pipeline-passeringer', 'stat4' => 'utkastmodell', 'arch_eyebrow' => 'Arkitektur', 'arch_title' => 'Tre pass. Hvert med en distinkt oppgave.', 'arch_sub' => 'Pipeline er bevisst sekvensiell — Pass 1 er billig og raskt (gpt-4o-mini); Pass 2 er kostbart og kjøres kun hvis situasjonen er klar nok; Pass 3 er valgfritt og utløses av brukeren.', 'pass1_title' => 'Klassifiser & gap-sjekk', 'pass1_p1_html' => 'Parser inntaket og returnerer en strukturert JSON-klassifisering:', 'pass1_p2_html' => 'Hvis missing_facts ikke er tom → sender ut avklaringsport. Ingen kreditt trekkes før Pass 2 starter.', 'pass2_title' => 'Hent → utkast → sjekk → oversett', 'pass2_p1' => 'Fire deltrinn, hver verifisert før videreføring:', 'pass2_r1_html' => 'Hent: hybrid tett + BM25 søk over de forhåndsinnstilte korpusdelene; topp 8 passasjer returnert med kilde-IDer', 'pass2_r2_html' => 'Utkast: gpt-4o genererer brevet ved å bruke [CITE:N] tokens som kun refererer til hentede kilde-IDer', 'pass2_r3_html' => 'Egenkontroll: fjerner enhver [CITE:N] token hvis kilde-ID ikke er i den hentede puljen; flagger frist/mål/tonemessig overholdelse', 'pass2_r4_html' => 'Oversett: Norsk utkast → arbeidsspråk (enkeltanrop)', 'pass3_title' => 'Formell sitering forbedring', 'pass3_p1_html' => 'Brukerutløst (+1 kreditt). Jurisdiksjonsavgrenset henting, deretter omskriver inline-sitater til formell stil og legger til Rettskilder-blokk:', 'pass3_n1_html' => 'Norsk: jf. forvaltningsloven § 17', 'pass3_n2_html' => 'ECHR: fullt saksnavn, søknadsnummer, dato, paragraf', 'pass3_n3_html' => 'Begge: kombinerte nasjonale + ECHR grunnlag', 'rag_eyebrow' => 'Hard-RAG', 'rag_title' => 'Hver § sitering er verifisert før den når deg.', 'rag_sub' => 'Hard-RAG betyr at modellen er begrenset til kun å sitere det den hentet. Ingen § nummer kan vises i det endelige utkastet med mindre en tilsvarende kildepassasje faktisk ble funnet og hentet.', 'rag_box1' => 'Brukerinntak + kropp forhåndsinnstilling', 'rag_box2' => 'Korpusdelvalg', 'rag_box3' => 'Hybrid søk (tett vektor + BM25)', 'rag_box4' => 'Topp 8 passasjer med kilde-IDer', 'rag_box5' => 'Passasjer injisert i gpt-4o prompt', 'rag_box6' => 'Utkast med [CITE:N] tokens kun', 'rag_box7' => 'Egenkontroll: verifiser at hver [CITE:N] løser', 'rag_box8' => 'Fjern uverifiserte sitater', 'rag_p1_html' => 'Selvkontrollpasset analyserer hver [CITE:N] token i utkastet og ser opp kilde-ID N i den hentede poolen. Hvis det ikke stemmer — blir sitatet fjernet og avsnittet skrevet om uten det. Utdataene flagger også om fristen ble adressert, om det angitte målet ble oppnådd, og om tonen matchet den valgte brikken.', 'rag_h2' => 'Hva skjer når ingen lov passer?', 'rag_p2_html' => 'Hvis ingen korpuspassasje nært matcher situasjonen, blir utkastet produsert i klart språk uten § referanser. En merknad i utdataene sier: "Ingen siterte lovkilder — utkastet er klart språk (ingen § referanser tilgjengelig fra korpus)." Dette er den bevisste, ærlige oppførselen — et tomt utkast er bedre enn ett med falske sitater.', 'kb_eyebrow' => 'Kunnskapsbase', 'kb_title' => '220 000+ passasjer på tvers av 8 korpusbiter.', 'kb_sub' => 'Den juridiske korpusen er delt opp i navngitte biter. Hver mottakerorganpresetter kartlegger til et sett med biter, slik at henting alltid er avgrenset til riktig rettsområde.', 'kb_s1' => 'totalt indekserte passasjer', 'kb_s2' => 'korpusbiter', 'kb_s3' => 'FNV tribunalavgjørelser', 'kb_s4' => 'EMK norske familietilfeller', 'kb_s5' => 'AI Søk (Vest-Europa)', 'kb_s6' => 'tett vektor + BM25', 'kb_h2' => 'Korpusbiter', 'kb_h3' => 'Mottakerorgan → bitkartlegging (eksempler)', 'kb_th1' => 'Mottakerorgan', 'kb_th2' => 'Korpusbiter lastet', '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. I motsetning til en generell LLM, har dbn-legal-agent internalisert det prosedyremessige vokabularet og resonnementmønstrene i forvaltningsloven: hva som utløser en § 17 rett til å bli hørt, hva en lovlig § 24 begrunnet beslutning må inneholde, hvordan barnevernsloven § 6-3 rammer barnets beste standard.', 'ft_p2' => 'I Korrespond-pipelinen kjører dbn-legal-agent som en domeneadapter sammen med Azure gpt-4o. Hentingsprompten er konstruert ved hjelp av dbn-legal-agents representasjon av inntaket, mens gpt-4o håndterer den endelige genereringen innenfor Hard-RAG begrensningen. Denne separasjonen gir strukturell klarhet (gpt-4o) og domenepresisjon (dbn-legal-agent) i samme pipeline.', 'ft_th1' => 'Pass', 'ft_th2' => 'Modell', 'ft_th3' => 'Rolle', 'ft_r1_role' => 'Rask strukturert klassifisering + gapdeteksjon', 'ft_r2_role' => 'Domenebevisst spørsmålsgenerering', 'ft_r3_role' => 'Full brevgenerering innenfor Hard-RAG begrensninger', 'ft_r4_role' => 'Siteringsverifisering + tone/mål/frister revisjon', 'ft_r5_role' => 'Norsk → arbeidsspråk oversettelse', 'ft_r6_role' => 'Formell siteringsomskrivning + Rettskilder blokk', 'p3_eyebrow' => 'Pass 3 — Formell siteringsforbedring', 'p3_title' => 'Rettsklare siteringer i to stiler.', 'p3_sub' => 'Det valgfrie tredje passet gjør et jurisdiksjonsavgrenset henting, deretter omskriver utkastet med formelle inline-siteringer og en Rettskilder vedlegg. To distinkte siteringsformater støttes:', 'p3_f1_title' => 'Norsk lovstil', 'p3_f1_body_html' => 'Inline-siteringer bruker jf. (med henvisning til) og det offisielle lovnavnet + paragraf: jf. forvaltningsloven § 17, jf. opplæringslova § 9 A-4, jf. barnevernsloven § 6-3. Paragrafnumre verifiseres mot korpuset før inkludering.', 'p3_f2_title' => 'EMK siteringsstil', 'p3_f2_body_html' => 'Full format for sitering fra Den europeiske menneskerettighetsdomstolen: sakens navn · søknadsnummer · dato · kammer/Stor kammer · avsnitt. Eksempel: Strand Lobben m.fl. mot Norge, EMD-37283/13 (Storkammer, 10.09.2019), § 207. Kilder hentes fra ECHR-korpusutdraget og HUDOC.', 'p3_eg_title' => 'Eksempel på forbedret utdata', 'p3_eg_caption_html' => 'Forbedret utkast (norsk + engelsk) med opplæringslova § 9 A-4 og EMK artikkel 8 inline-siteringer.', 'p3_anchor_title' => 'Ankerforespørsel for EMD-modus', 'p3_anchor_intro' => 'For Barnevernet og Bufdir-saker kjører EMD-finepasset spesifikke ankerforespørsel som retter seg mot de mest siterte norske familiesakene i HUDOC-korpuset:', 'priv_eyebrow' => 'Personvern & sikkerhet', 'priv_title' => 'Dine dokumenter forlater aldri sesjonen din.', 'priv_badge' => 'Personvern ved design', 'priv_1_html' => 'Alle opplastede filer blir ekstrahert 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 (din fortelling, opplastet tekst, utkast) er begrenset 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' => 'Azure AI Search (bnl-legal-search) lagrer kun det offentlige juridiske korpuset — lover, tribunalavgjørelser, EMD-dommene. Ingen av dine saksopplysninger lagres i søkeindeksen.', 'priv_5' => 'Qdrant vektordatabasen lagrer kun de offentlige korpusinnlemmelsene — ingen brukerdata.', 'priv_6_html' => 'Telemetri logget: verktøynavn, språk, utgangstype, passantall, latens, kildeantall. Ingen saks tekst, ingen navn, ingen saksreferanser blir logget.', 'cta_title' => 'Se det fungere på din sak.', 'cta_sub' => 'Gratis for Do Better Norge-medlemmer. Alle 3 passer tilgjengelig for hvert medlem.', 'btn_open' => 'Åpne Korrespond →', 'btn_signin_cta' => 'Logg inn for å bruke Korrespond →', 'btn_register' => 'Registrer gratis', 'btn_guide' => 'Brukerhåndbok', ), 'uk' => array ( 'nav_about' => 'Про нас', 'nav_guide' => 'Посібник користувача', 'nav_howit' => 'Як це працює', 'nav_opentool' => '← Відкрити інструмент', 'nav_signin' => 'Увійти', 'nav_open' => 'Відкрити Korrespond →', 'hero_kicker' => 'Технічна демонстрація · Hard-RAG · Тонко налаштована LLM · 3-прохідний конвеєр', 'hero_title' => 'Як Korrespond знає, що писати.', 'hero_sub' => 'Повний огляд конвеєра генерації з підкріпленням, системи перевірки цитат, тонко налаштованої юридичної моделі та формального етапу уточнення цитат, який створює готові до суду посилання.', 'stat1' => 'індексовані фрагменти', 'stat2' => 'частини корпусу', 'stat3' => 'проходи конвеєра', 'stat4' => 'модель складання', 'arch_eyebrow' => 'Архітектура', 'arch_title' => 'Три проходи. Кожен з чіткою задачею.', 'arch_sub' => 'Конвеєр навмисно послідовний — Прохід 1 дешевий і швидкий (gpt-4o-mini); Прохід 2 дорогий і виконується лише якщо ситуація достатньо ясна; Прохід 3 є необов\'язковим і ініціюється користувачем.', 'pass1_title' => 'Класифікація та перевірка прогалин', 'pass1_p1_html' => 'Аналізує вхідні дані та повертає структуровану JSON класифікацію:', 'pass1_p2_html' => 'Якщо missing_facts не порожній → видає ворота уточнення. Жоден кредит не знімається, поки не почнеться Прохід 2.', 'pass2_title' => 'Отримати → скласти → перевірити → перекласти', 'pass2_p1' => 'Чотири підкроки, кожен з яких перевіряється перед продовженням:', 'pass2_r1_html' => 'Отримати: гібридний щільний + BM25 пошук по заздалегідь визначеним фрагментам корпусу; повертаються 8 найкращих фрагментів з ідентифікаторами джерел', 'pass2_r2_html' => 'Скласти: gpt-4o генерує лист, використовуючи [CITE:N] токени, що посилаються лише на отримані ідентифікатори джерел', 'pass2_r3_html' => 'Самоперевірка: видаляє будь-який [CITE:N] токен, чий ідентифікатор джерела не входить до отриманого пулу; позначає відповідність термінам/цілям/тону', 'pass2_r4_html' => 'Перекласти: норвезький проект → робоча мова (один виклик)', 'pass3_title' => 'Уточнення формальної цитати', 'pass3_p1_html' => 'Користувачем ініційовано (+1 кредит). Витяг з юрисдикції, потім переписує внутрішні цитати у формальному стилі та додає блок Rettskilder:', 'pass3_n1_html' => 'Норвезька: jf. forvaltningsloven § 17', 'pass3_n2_html' => 'ECHR: повна назва справи, номер заявки, дата, абзац', 'pass3_n3_html' => 'Обидва: об\'єднані внутрішні + ECHR підстави', 'rag_eyebrow' => 'Hard-RAG', 'rag_title' => 'Кожна § цитата перевіряється перед тим, як вона до вас потрапить.', 'rag_sub' => 'Hard-RAG означає, що модель обмежена лише тим, що вона отримала. Жоден номер § не може з\'явитися в остаточному проекті, якщо відповідний фрагмент джерела не був фактично знайдений і отриманий.', 'rag_box1' => 'Введення користувача + попередньо визначене тіло', 'rag_box2' => 'Вибір фрагмента корпусу', 'rag_box3' => 'Гібридний пошук (щільний вектор + BM25)', 'rag_box4' => '8 найкращих фрагментів з ідентифікаторами джерел', 'rag_box5' => 'Фрагменти вставлені в запит gpt-4o', 'rag_box6' => 'Проект з токенами [CITE:N] тільки', 'rag_box7' => 'Самоперевірка: перевірити, чи кожен [CITE:N] вирішується', 'rag_box8' => 'Видалити неперевірені посилання', 'rag_p1_html' => 'Процес самоперевірки аналізує кожен [CITE:N] токен у проекті та шукає ідентифікатор джерела N у отриманому пулі. Якщо він не збігається — посилання видаляється, а абзац переписується без нього. Вивід також вказує, чи було дотримано терміни, чи було досягнуто заявлену мету та чи відповідав тон обраному чіпу.', 'rag_h2' => 'Що робити, коли жоден закон не підходить?', 'rag_p2_html' => 'Якщо жоден фрагмент корпусу не відповідає ситуації, проект створюється простою мовою без посилань на §§. У виводі зазначається: "Не вказано джерел закону — проект простомовний (немає доступних посилань на §§ з корпусу)." Це свідома, чесна поведінка — порожній проект кращий, ніж той, що містить фальшиві посилання.', 'kb_eyebrow' => 'База знань', 'kb_title' => '220,000+ фрагментів у 8 частинах корпусу.', 'kb_sub' => 'Юридичний корпус розділений на названі частини. Кожен попередньо налаштований орган отримувача відображає набір частин, тому отримання завжди обмежується правильною галуззю права.', 'kb_s1' => 'всього проіндексованих фрагментів', 'kb_s2' => 'частини корпусу', 'kb_s3' => 'рішення трибуналу FNV', 'kb_s4' => 'справи ЄСПЛ про норвезькі сім\'ї', 'kb_s5' => 'AI Пошук (Західна Європа)', 'kb_s6' => 'щільний вектор + BM25', 'kb_h2' => 'Частини корпусу', 'kb_h3' => 'Відображення органу → частина (приклади)', 'kb_th1' => 'Орган отримувача', 'kb_th2' => 'Завантажені частини корпусу', 'ft_eyebrow' => 'Модель з тонкою настройкою', 'ft_title' => 'dbn-legal-agent: навчена на норвезькому юридичному тексті.', 'ft_badge' => 'QLoRA тонка настройка', 'ft_p1' => 'Модель QLoRA (Квантована низькорозмірна адаптація), навчена на текстах норвезького законодавства про захист дітей та адміністративного права. На відміну від універсальної LLM, dbn-legal-agent засвоїв процедурну лексику та моделі міркування forvaltningsloven: що викликає право на слухання за § 17, що повинно містити законне обґрунтоване рішення за § 24, як § 6-3 барневернсловен формулює стандарт найкращих інтересів дитини.', 'ft_p2' => 'У pipeline Korrespond dbn-legal-agent працює як доменний адаптер разом з Azure gpt-4o. Запит на отримання інформації складається з використанням представлення dbn-legal-agent про прийом, тоді як gpt-4o обробляє фінальне генерування в межах обмеження Hard-RAG. Це розділення забезпечує структурну ясність (gpt-4o) та доменну точність (dbn-legal-agent) в одному pipeline.', 'ft_th1' => 'Пройти', 'ft_th2' => 'Модель', 'ft_th3' => 'Роль', 'ft_r1_role' => 'Швидка структурована класифікація + виявлення прогалин', 'ft_r2_role' => 'Генерація запитань з урахуванням домену', 'ft_r3_role' => 'Повне генерування листа в межах обмежень Hard-RAG', 'ft_r4_role' => 'Перевірка цитат + аудит тону/мети/терміна', 'ft_r5_role' => 'Норвезька → переклад робочою мовою', 'ft_r6_role' => 'Переписування формальних цитат + блок Rettskilder', 'p3_eyebrow' => 'Проходження 3 — Уточнення формальних цитат', 'p3_title' => 'Цитати, готові до суду, у двох стилях.', 'p3_sub' => 'Додатковий третій прохід виконує запит на отримання інформації в межах юрисдикції, а потім переписує проект з формальними внутрішніми цитатами та додатком Rettskilder. Підтримуються два різні формати цитат:', 'p3_f1_title' => 'Стиль цитування норвезького законодавства', 'p3_f1_body_html' => 'Внутрішні цитати використовують jf. (з посиланням на) та офіційну назву закону + розділ: jf. forvaltningsloven § 17, jf. opplæringslova § 9 A-4, jf. barnevernsloven § 6-3. Номери розділів перевіряються на відповідність корпусу перед включенням.', 'p3_f2_title' => 'Стиль цитування ЄСПЛ', 'p3_f2_body_html' => 'Повний формат цитування Європейського суду з прав людини: назва справи · номер заявки · дата · палата/Велика палата · параграф. Приклад: Strand Lobben m.fl. mot Norge, EMD-37283/13 (Велика палата, 10.09.2019), § 207. Джерела отримуються з фрагмента корпусу ЄСПЛ та HUDOC.', 'p3_eg_title' => 'Приклад уточненого виходу', 'p3_eg_caption_html' => 'Уточнений проект (норвезькою + англійською) з внутрішніми цитатами opplæringslova § 9 A-4 та EMK стаття 8.', 'p3_anchor_title' => 'Якірні запити для режиму ЄСПЛ', 'p3_anchor_intro' => 'Для справ Barnevernet та Bufdir, проходження уточнення ЄСПЛ виконує специфічні якорні запити, націлені на найбільш цитовані норвезькі сімейні справи в корпусі HUDOC:', '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' => 'Azure AI Search (bnl-legal-search) зберігає тільки публічний юридичний корпус — статути, рішення трибуналів, рішення ЄСПЛ. Жодна з ваших інформацій про справи не зберігається в індексі пошуку.', 'priv_5' => 'База даних векторів Qdrant зберігає тільки вектори публічного корпусу — жодних даних користувачів.', 'priv_6_html' => 'Лог телеметрії: назва інструменту, мова, тип виходу, кількість проходжень, затримка, кількість джерел. Жоден текст справи, жодні імена, жодні посилання на справи не реєструються.', 'cta_title' => 'Подивіться, як це працює у вашій справі.', 'cta_sub' => 'Безкоштовно для членів Do Better Norge. Усі 3 проходження доступні кожному члену.', 'btn_open' => 'Відкрити Korrespond →', 'btn_signin_cta' => 'Увійти, щоб використовувати Korrespond →', '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 Korrespond →', 'hero_kicker' => 'Pokaz techniczny · Hard-RAG · Dostosowany LLM · 3-etapowy proces', 'hero_title' => 'Jak Korrespond wie, co napisać.', 'hero_sub' => 'Pełne przejście przez proces generacji wzbogaconej o wyszukiwanie, system weryfikacji cytatów, dostosowany model prawny oraz formalny etap poprawy cytatów, który produkuje gotowe do sądu odniesienia.', 'stat1' => 'indeksowane fragmenty', 'stat2' => 'kawałki korpusu', 'stat3' => 'przebiegi procesu', 'stat4' => 'model szkicowania', 'arch_eyebrow' => 'Architektura', 'arch_title' => 'Trzy etapy. Każdy z wyraźnym zadaniem.', 'arch_sub' => 'Proces jest celowo sekwencyjny — Etap 1 jest tani i szybki (gpt-4o-mini); Etap 2 jest drogi i uruchamia się tylko, jeśli sytuacja jest wystarczająco jasna; Etap 3 jest opcjonalny i uruchamiany przez użytkownika.', 'pass1_title' => 'Klasyfikacja i sprawdzenie luk', 'pass1_p1_html' => 'Analizuje dane wejściowe i zwraca uporządkowaną klasyfikację JSON:', 'pass1_p2_html' => 'Jeśli missing_facts jest niepuste → emituje bramkę wyjaśniającą. Żaden kredyt nie jest odejmowany, dopóki nie rozpocznie się Etap 2.', 'pass2_title' => 'Pobierz → szkicuj → sprawdź → przetłumacz', 'pass2_p1' => 'Cztery podkroki, każdy weryfikowany przed kontynuacją:', 'pass2_r1_html' => 'Pobierz: hybrydowe wyszukiwanie gęste + BM25 w obrębie ustalonych fragmentów korpusu; zwrócone 8 najlepszych fragmentów z identyfikatorami źródeł', 'pass2_r2_html' => 'Sporządź: gpt-4o generuje pismo używając [CITE:N] tokenów odnoszących się tylko do pobranych identyfikatorów źródeł', 'pass2_r3_html' => 'Samokontrola: usuwa każdy [CITE:N] token, którego identyfikator źródła nie znajduje się w pobranej puli; oznacza zgodność z terminem/celami/tonem', 'pass2_r4_html' => 'Przetłumacz: norweski szkic → język roboczy (pojedyncze wywołanie)', 'pass3_title' => 'Udoskonalenie formalnej cytacji', 'pass3_p1_html' => 'Wywołane przez użytkownika (+1 kredyt). Wyszukiwanie w zakresie jurysdykcji, następnie przepisuje cytaty inline na styl formalny i dodaje blok Rettskilder:', 'pass3_n1_html' => 'Norweski: jf. forvaltningsloven § 17', 'pass3_n2_html' => 'ECHR: pełna nazwa sprawy, numer wniosku, data, paragraf', 'pass3_n3_html' => 'Oba: połączone krajowe + ECHR podstawy', 'rag_eyebrow' => 'Hard-RAG', 'rag_title' => 'Każda cytacja § jest weryfikowana przed dotarciem do Ciebie.', 'rag_sub' => 'Hard-RAG oznacza, że model jest ograniczony do cytowania tylko tego, co pobrał. Żaden numer § nie może pojawić się w ostatecznym szkicu, chyba że odpowiadający fragment źródła został faktycznie znaleziony i pobrany.', 'rag_box1' => 'Przyjęcie użytkownika + wstępne ustawienia treści', 'rag_box2' => 'Wybór fragmentu korpusu', 'rag_box3' => 'Hybrydowe wyszukiwanie (gęsty wektor + BM25)', 'rag_box4' => '8 najlepszych fragmentów z identyfikatorami źródeł', 'rag_box5' => 'Fragmenty wstrzyknięte do promptu gpt-4o', 'rag_box6' => 'Szkic z tokenami [CITE:N] tylko', 'rag_box7' => 'Samokontrola: weryfikacja każdego [CITE:N] rozwiązuje', 'rag_box8' => 'Usuń niezweryfikowane cytaty', 'rag_p1_html' => 'Przechodzenie przez samosprawdzanie analizuje każdy [CITE:N] token w projekcie i wyszukuje identyfikator źródła N w pobranej puli. Jeśli nie pasuje — cytat jest usuwany, a akapit jest przepisywany bez niego. Wynik również wskazuje, czy termin został uwzględniony, czy określony cel został osiągnięty oraz czy ton odpowiadał wybranemu chipowi.', 'rag_h2' => 'Co się dzieje, gdy żaden przepis nie pasuje?', 'rag_p2_html' => 'Jeśli żaden fragment z korpusu nie pasuje ściśle do sytuacji, projekt jest tworzony w prostym języku bez odniesień do §. W notatce w wyniku jest napisane: "Brak cytowanych źródeł prawnych — projekt jest w prostym języku (brak dostępnych odniesień do § z korpusu)." To jest zamierzone, uczciwe zachowanie — pusty projekt jest lepszy niż taki z fałszywymi cytatami.', 'kb_eyebrow' => 'Baza wiedzy', 'kb_title' => 'Ponad 220 000 fragmentów w 8 kawałkach korpusu.', 'kb_sub' => 'Korpus prawny jest podzielony na nazwane kawałki. Każdy preset ciała odbiorcy mapuje na zestaw kawałków, więc wyszukiwanie zawsze jest ograniczone do właściwego obszaru prawa.', 'kb_s1' => 'całkowita liczba zindeksowanych fragmentów', 'kb_s2' => 'kawałki korpusu', 'kb_s3' => 'decyzje trybunału FNV', 'kb_s4' => 'sprawy rodzinne ECHR w Norwegii', 'kb_s5' => 'Wyszukiwanie AI (Zachodnia Europa)', 'kb_s6' => 'gęsty wektor + BM25', 'kb_h2' => 'Kawałki korpusu', 'kb_h3' => 'Mapowanie presetów ciała → kawałki (przykłady)', 'kb_th1' => 'Ciało odbiorcy', 'kb_th2' => 'Załadowane kawałki korpusu', 'ft_eyebrow' => 'Model dostosowany', 'ft_title' => 'dbn-legal-agent: przeszkolony na norweskim tekście prawnym.', 'ft_badge' => 'QLoRA fine-tune', 'ft_p1' => 'Model QLoRA (Quantized Low-Rank Adaptation) dostosowany do tekstów dotyczących norweskiego prawa opieki nad dziećmi i prawa administracyjnego. W przeciwieństwie do ogólnego modelu LLM, dbn-legal-agent zinternalizował proceduralne słownictwo i wzorce rozumowania z forvaltningsloven: co wywołuje prawo do wysłuchania zgodnie z § 17, co musi zawierać zgodna z prawem decyzja uzasadniona zgodnie z § 24, jak barnevernsloven § 6-3 określa standard najlepszego interesu dziecka.', 'ft_p2' => 'W pipeline Korrespond, dbn-legal-agent działa jako adapter domenowy obok Azure gpt-4o. Zapytanie o odzyskiwanie jest konstruowane przy użyciu reprezentacji intake dbn-legal-agent, podczas gdy gpt-4o zajmuje się ostateczną generacją w ramach ograniczeń Hard-RAG. To rozdzielenie zapewnia strukturalną klarowność (gpt-4o) i precyzję domenową (dbn-legal-agent) w tym samym pipeline.', 'ft_th1' => 'Zaliczony', 'ft_th2' => 'Model', 'ft_th3' => 'Rola', 'ft_r1_role' => 'Szybka strukturalna klasyfikacja + wykrywanie luk', 'ft_r2_role' => 'Generowanie pytań z uwzględnieniem domeny', 'ft_r3_role' => 'Pełna generacja listu w ramach ograniczeń Hard-RAG', 'ft_r4_role' => 'Weryfikacja cytatów + audyt tonu/celu/terminu', 'ft_r5_role' => 'Norweski → tłumaczenie na język roboczy', 'ft_r6_role' => 'Przepisanie formalnych cytatów + blok Rettskilder', 'p3_eyebrow' => 'Zaliczony 3 — Udoskonalenie cytatów formalnych', 'p3_title' => 'Cytaty gotowe do sądu w dwóch stylach.', 'p3_sub' => 'Opcjonalny trzeci etap wykonuje wyszukiwanie w zakresie jurysdykcji, a następnie przepisuje szkic z formalnymi cytatami w tekście i aneksem Rettskilder. Obsługiwane są dwa odrębne formaty cytatów:', 'p3_f1_title' => 'Styl cytatów norweskich', 'p3_f1_body_html' => 'Cytaty w tekście używają jf. (z odniesieniem do) oraz oficjalnej nazwy ustawy + sekcji: jf. forvaltningsloven § 17, jf. opplæringslova § 9 A-4, jf. barnevernsloven § 6-3. Numery sekcji są weryfikowane w stosunku do korpusu przed włączeniem.', 'p3_f2_title' => 'Styl cytatów ECHR', 'p3_f2_body_html' => 'Pełny format cytatów Europejskiego Trybunału Praw Człowieka: nazwa sprawy · numer wniosku · data · izba/Wielka Izba · paragraf. Przykład: Strand Lobben m.fl. mot Norge, EMD-37283/13 (Storkammer, 10.09.2019), § 207. Źródła pobrane z fragmentu korpusu ECHR i HUDOC.', 'p3_eg_title' => 'Przykład udoskonalonego wyniku', 'p3_eg_caption_html' => 'Udoskonalony szkic (norweski + angielski) z opplæringslova § 9 A-4 i EMK artikkel 8 cytatami w tekście.', 'p3_anchor_title' => 'Zapytania kotwiczące dla trybu ECHR', 'p3_anchor_intro' => 'Dla spraw Barnevernet i Bufdir, proces udoskonalania ECHR uruchamia specyficzne zapytania kotwiczące, które celują w najczęściej cytowane norweskie sprawy rodzinne w korpusie HUDOC:', '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 procesowych narzędzi do obsługi plików PHP. Surowe dane binarne nigdy nie są zapisywane na dysku serwera.', 'priv_2' => 'Kontekst sesji (twoja narracja, przesłany tekst, szkice) jest ograniczony do twojej uwierzytelnionej sesji i jest usuwany po zakończeniu sesji.', 'priv_3_html' => 'Azure OpenAI (gpt-4o, gpt-4o-mini) jest skonfigurowane w regionie Europa Zachodnia. Dane przetwarzane przez Azure OpenAI nie są wykorzystywane do szkolenia modeli w ramach domyślnej umowy dla przedsiębiorstw.', 'priv_4_html' => 'Azure AI Search (bnl-legal-search) przechowuje tylko publiczny korpus prawny — ustawy, decyzje trybunałów, wyroki ECHR. Żadne informacje o twojej sprawie nie są przechowywane w indeksie wyszukiwania.', 'priv_5' => 'Baza danych wektorów Qdrant przechowuje tylko osadzenia publicznego korpusu — brak danych użytkowników.', 'priv_6_html' => 'Zarejestrowana telemetria: nazwa narzędzia, język, typ wyjścia, liczba przejść, opóźnienie, liczba źródeł. Nie rejestruje się tekstu sprawy, nazw ani odniesień do spraw.', 'cta_title' => 'Zobacz, jak to działa w twojej sprawie.', 'cta_sub' => 'Darmowe dla członków Do Better Norge. Wszystkie 3 przejścia dostępne dla każdego członka.', 'btn_open' => 'Otwórz Korrespond →', 'btn_signin_cta' => 'Zaloguj się, aby używać Korrespond →', 'btn_register' => 'Zarejestruj się za darmo', 'btn_guide' => 'Podręcznik użytkownika', ), );