Files
dobetternorge-tools/includes/i18n.php
T
daveadmin 90117fa9de feat(nav): unified navbar, account page, corpus summary widget, and i18n fixes
- New includes/nav.php: sticky site-wide nav with Tools dropdown, Dashboard
  link, compact language switcher, user identity → /account.php, Log out
- New account.php: credits & plan, profile, team, usage sections
- New api/corpus-summary.php: JSON endpoint for corpus doc count + last updated
- Replaces topbar in layout.php, layout_dashboard.php, and dashboard.php
- Fixes hardcoded Norwegian strings in dashboard.php credit cards via dbnToolsT()
- Adds 35 new i18n keys across all 4 languages (en/no/uk/pl) in i18n.php
- CSS: .dbn-nav navbar + .account-* account page styles in tools.css

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 19:11:39 +02:00

1046 lines
83 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
declare(strict_types=1);
function dbnToolsSupportedLanguages(): array
{
return ['en', 'no', 'uk', 'pl'];
}
function dbnToolsNormalizeUiLanguage(mixed $language): string
{
$language = strtolower(trim((string)$language));
if ($language === 'nb') {
return 'no';
}
return in_array($language, dbnToolsSupportedLanguages(), true) ? $language : 'en';
}
function dbnToolsCurrentLanguage(): string
{
if (isset($_GET['lang'])) {
$lang = dbnToolsNormalizeUiLanguage($_GET['lang']);
$_SESSION['dbn_tools_lang'] = $lang;
if (!headers_sent()) {
setcookie('dbn_tools_lang', $lang, [
'expires' => time() + 60 * 60 * 24 * 180,
'path' => '/',
'secure' => dbnToolsIsHttps(),
'httponly' => false,
'samesite' => 'Lax',
]);
}
return $lang;
}
if (!empty($_SESSION['dbn_tools_lang'])) {
return dbnToolsNormalizeUiLanguage($_SESSION['dbn_tools_lang']);
}
if (!empty($_COOKIE['dbn_tools_lang'])) {
$lang = dbnToolsNormalizeUiLanguage($_COOKIE['dbn_tools_lang']);
$_SESSION['dbn_tools_lang'] = $lang;
return $lang;
}
return 'en';
}
function dbnToolsLanguageName(string $language): string
{
return match (dbnToolsNormalizeUiLanguage($language)) {
'no' => 'Norwegian',
'uk' => 'Ukrainian',
'pl' => 'Polish',
default => 'English',
};
}
function dbnToolsLanguageLabel(string $language): string
{
return match (dbnToolsNormalizeUiLanguage($language)) {
'no' => 'NO',
'uk' => 'UK',
'pl' => 'PL',
default => 'EN',
};
}
function dbnToolsTranslations(): array
{
return [
'en' => [
'meta_title' => 'Do Better Norge - AI Legal Tools',
'brand_line' => 'Do Better Norge - tools.dobetternorge.no',
'suite_title' => 'Legal Tools',
'workspace_title' => 'Case Workbench',
'session_active' => 'Session active',
'health' => 'Health',
'sign_out' => 'Sign out',
'retention' => 'Session in memory - nothing stored by default',
'disclaimer' => 'Legal information and preparation support, not final legal advice. Pasted text and uploads are processed in memory by default.',
'manifesto_eyebrow' => 'Family rights - Norway - since 2019',
'manifesto_title' => 'They took her child in twelve minutes.',
'manifesto_sub' => 'Open a tool. Build a chronology, research the law, protect privacy, and prepare your next step with cited support.',
'stat_echr' => 'ECHR violations since 2015',
'stat_loss' => 'ECHR cases lost 2017-22',
'stat_tribunal' => 'tribunal decisions analysed',
'stat_pending' => 'pending Strasbourg cases',
'reasoning_eyebrow' => 'File - Evidence trail',
'reasoning_title' => 'Reasoning',
'waiting_title' => 'Waiting',
'waiting_text' => 'Run a tool to see interpretation, retrieval, confidence, uncertainty, and next step.',
'dashboard_eyebrow' => 'Approved tools suite',
'dashboard_title' => 'Choose a legal AI tool',
'dashboard_sub' => 'Built for families, advocates, and supporters preparing Norwegian family-rights and child-welfare cases.',
'open_tool' => 'Open tool',
'landing_kicker' => 'AI legal preparation for family-rights cases in Norway',
'landing_title' => 'Legal tools for families who need the record to make sense.',
'landing_sub' => 'Transcribe meetings, build timelines, analyze Barnevernet documents, research ECHR and Norwegian sources, and prepare cited advocacy briefs.',
'primary_access' => 'Continue with Do Better Norge / Google',
'secondary_access' => 'Sign in with Caveau account',
'member_note' => 'Use your Do Better Norge account. Google login is handled on the main site, then you return here securely.',
'email' => 'Email',
'password' => 'Password',
'sign_in' => 'Sign in',
'register' => 'Register free at dobetternorge.no',
'cause_title' => 'Evidence over outrage.',
'cause_text' => 'Every tool is designed around the same principle as the movement: document the facts, cite the law, and make the next practical step visible.',
'privacy_title' => 'Private by design',
'privacy_text' => 'Uploads are processed in memory by default. The app records only operational metadata such as tool name, latency, language, and anonymous session id.',
'source_title' => 'Sources stay visible',
'source_text' => 'Research tools keep citations, sections, source excerpts, and uncertainty notes next to the answer.',
'tools_title' => 'Launched tools',
'preview_back' => '← All tools',
'preview_what_it_does' => 'What it does',
'preview_get_access' => 'Get access',
'preview_ready_title' => 'Ready to use',
'preview_free_note' => 'Free for Do Better Norge members. Documents are processed in memory and never stored.',
'preview_other_tools' => 'Other tools',
'preview_join' => 'Not a member? Join Do Better Norge',
'preview_input_label' => 'Sample input',
'preview_output_label' => 'Sample output',
'enter_workbench' => 'Open Workbench',
'signed_in_as' => 'Signed in as',
'member_card_title' => 'Already a member?',
'member_card_note' => 'Sign in with your Do Better Norge account. Google login is handled on the main site.',
'register_card_title' => 'New to Do Better Norge?',
'register_card_note' => 'Free for families navigating Norwegian child-welfare cases.',
'register_google' => 'Register with Google',
'register_email' => 'Register with email',
'my_docs_title' => 'My Documents',
'my_docs_desc' => 'Reference documents you uploaded in the AI Chat are available here. Use them across tools or remove them when no longer needed.',
'my_docs_upload_cta' => 'Upload documents in AI Chat',
'my_docs_empty' => 'No documents uploaded yet. Upload PDFs, DOCX, or TXT files in the AI Chat sidebar.',
'my_docs_remove' => 'Remove',
'my_docs_source_ai' => 'AI Chat',
'my_docs_source_tools' => 'Tools',
'loading' => 'Loading…',
'pricing_title_meta' => 'Pricing — Do Better Norge tools',
'pricing_desc_meta' => 'Pricing for tools.dobetternorge.no: free tier, subscriptions, and credit top-ups. Build your own case with private RAG.',
'pricing_eyebrow' => 'Do Better Norge — tools',
'pricing_hero_title' => 'Build your own case. Use the full toolkit.',
'pricing_hero_sub' => '13 AI tools for child-welfare cases. Upload your own documents and let the tools work on your private case — not just generic law.',
'pricing_status_success' => 'Thank you! Your payment is confirmed. It may take a few seconds for your account to update.',
'pricing_status_canceled' => 'Checkout was cancelled. You can try again any time.',
'pricing_survey_title' => 'Earn 25 extra credits',
'pricing_survey_text' => 'Answer 5 short questions about what helps you most. No sales pitch — just research that helps us improve the tools.',
'pricing_survey_cta' => 'Take the survey',
'pricing_period_always' => 'always',
'pricing_period_mo' => '/ month',
'pricing_credits_mo' => 'credits / month',
'pricing_no_storage' => 'No case storage',
'pricing_seat_1' => '1 seat',
'pricing_seats_family' => '3 seats (family)',
'pricing_cap_suffix' => 'tools/hr',
'pricing_cap_per_seat' => 'tools/hr per seat',
'pricing_unlimited' => 'Unlimited',
'pricing_free_f1' => 'Access to all 13 tools',
'pricing_free_f2' => 'Questions, search, editing',
'pricing_free_f3' => 'Correspondence drafts',
'pricing_light_f1' => 'Everything in Free',
'pricing_light_f2' => 'Build your own case (My Case)',
'pricing_light_f3' => 'Private document RAG in all tools',
'pricing_light_f4' => 'OCR on uploaded PDFs',
'pricing_pro_f1' => 'Everything in Light',
'pricing_pro_f2' => 'Hybrid search (BM25 + vector) in your case',
'pricing_pro_f3' => 'Priority queue for uploads',
'pricing_pro_f4' => 'Timeline report on your case',
'pricing_proplus_f1' => 'Everything in Pro',
'pricing_proplus_f2' => 'Invite 2 family members or a lawyer',
'pricing_proplus_f3' => 'Shared case archive with audit log',
'pricing_proplus_f4' => 'Unlimited case reports',
'pricing_badge_popular' => 'Most popular',
'pricing_badge_family' => 'For families',
'pricing_cta_login' => 'Sign in to start',
'pricing_cta_current' => 'Your current plan',
'pricing_cta_available' => 'Available',
'pricing_cta_subscribe' => 'Sign in to subscribe',
'pricing_cta_choose' => 'Choose',
'pricing_topup_title' => 'Top up credits',
'pricing_topup_lead' => 'Need more credits this month? Buy a one-off pack — they never expire.',
'pricing_topup_s_note' => 'Quick boost',
'pricing_topup_m_note' => 'Best value',
'pricing_topup_l_note' => 'Heavy users',
'pricing_topup_buy' => 'Buy',
'pricing_login_first' => 'Sign in first',
'pricing_faq_title' => 'Frequently asked questions',
'pricing_faq1_q' => 'What is the difference between monthly credits and bonus credits?',
'pricing_faq1_a' => 'Monthly credits (from subscription or free tier) reset on the first of each month. Bonus credits (from the survey or top-ups) never expire and are used after monthly credits run out.',
'pricing_faq2_q' => 'What is My Case?',
'pricing_faq2_a' => 'My Case is your private document bank. Upload PDFs from your case; they are OCR-processed, analysed, and stored in your own secure corpus. All tools can then reference your own documents instead of just generic law.',
'pricing_faq3_q' => 'Where is my data stored?',
'pricing_faq3_a' => 'All within the EU: servers in Falkenstein (Germany) and Helsinki (Finland), AI services in West Europe and Norway East. We use Hetzner and Microsoft Azure for AI. Stripe processes payments through Ireland.',
'pricing_faq4_q' => 'Can I share an account with my lawyer?',
'pricing_faq4_a' => 'Yes — Pro+ Family includes 3 seats. You can invite a lawyer, co-parent, or other family member. Everyone sees the same documents, but who did what is logged.',
'pricing_faq5_q' => 'What happens if I cancel?',
'pricing_faq5_a' => 'You revert to the free tier. Your bonus credits are kept. Documents in My Case are retained for 90 days before deletion — giving you time to export or renew.',
'pricing_faq6_q' => 'Do you offer refunds?',
'pricing_faq6_a' => 'Yes, full refund within 7 days if you are not satisfied. Send us an email.',
'pricing_connecting' => 'Connecting…',
'pricing_error_retry' => 'Error — try again',
'pricing_error_checkout' => 'Could not start checkout.',
'pricing_credits_label' => 'credits',
'hero_kicker' => 'AI Legal Tools · Norway · Free for members',
'stat_passages_indexed' => 'Legal passages indexed',
'explore_tools' => 'Explore tools ↓',
'tools_section_title' => 'Built for families navigating a complex system.',
'tools_section_sub' => 'Seven purpose-built AI tools — from audio transcription to deep legal research. Every tool processes your documents in memory and discards them when you\'re done.',
'learn_more' => 'Learn more →',
'pricing_nav_link' => 'Pricing →',
'why_ours_trust_link' => 'Why our tools give different answers than ChatGPT →',
'footer_tagline' => 'AI legal tools for families navigating Norwegian child-welfare cases.',
'footer_privacy_note' => 'Your documents are processed in memory and discarded when your session ends. Nothing is stored or retained.',
'footer_legal_lib' => 'Legal library',
'footer_report' => 'Report an issue',
'footer_about_caveau' => 'About CaveauAI',
'footer_disclaimer' => 'AI output is for advocacy support only — not legal advice. Always verify with a licensed Norwegian lawyer.',
'why_ours_strip_eyebrow' => 'Not ChatGPT. Not guesswork.',
'why_ours_strip_title' => 'Why our tools give you fundamentally different answers.',
'why_ours_strip_sub' => 'We search 220,000+ verified Norwegian legal passages on every query and cite what we find. General AI answers from memory.',
'why_ours_strip_p1' => 'Searches the actual law — not its training memory',
'why_ours_strip_p2' => 'Cites the exact passage found, every time',
'why_ours_strip_p3' => 'Fine-tuned on Norwegian child welfare law',
'why_ours_strip_cta' => 'Full explainer — how it works →',
'pricing_strip_eyebrow' => 'Plans & pricing',
'pricing_strip_title' => 'Start free. Upgrade when you need your own case.',
'pricing_strip_sub' => '30 free credits every month. Paid plans unlock private case storage — upload your documents and every tool references them.',
'pricing_strip_cta' => 'See all plans & pricing →',
// ── Nav + account + dashboard i18n (added 2026-05-23) ──────────
'nav_tools' => 'Tools',
'nav_dashboard' => 'Dashboard',
'nav_account' => 'Account',
'nav_login' => 'Log in',
'nav_logout' => 'Log out',
'credits_available' => 'Available credits',
'credits_monthly' => 'monthly',
'credits_bonus' => 'bonus',
'details_link' => 'Details',
'my_case' => 'My case',
'build_your_case' => 'Build your own case',
'upload_documents' => 'Upload documents',
'upgrade_from_plus' => 'Available from Plus NOK 129/month',
'my_corpus' => 'My corpus',
'open_corpus' => 'Open corpus',
'account_title' => 'Account',
'account_credits' => 'Credits & plan',
'account_profile' => 'Profile',
'account_team' => 'Team',
'account_usage' => 'Usage',
'renewal_date' => 'Next renewal',
'trial_active_label' => 'Trial active',
'trial_days_left' => 'days left',
'earn_credits_eyebrow'=> 'Earn 25 extra credits',
'survey_cta_text' => 'Answer 5 short questions — no sales pitch, just research.',
'survey_btn' => 'Take the survey',
'login_method_sso' => 'Google SSO',
'login_method_email' => 'Email & password',
'team_single_sso' => 'Single-user account (SSO)',
'usage_credits_used' => 'Credits used this month',
'usage_storage_used' => 'Storage used',
'usage_log_coming' => 'Detailed activity log coming soon',
'account_not_auth' => 'You must be logged in to view your account.',
],
'no' => [
'meta_title' => 'Do Better Norge - juridiske AI-verktøy',
'brand_line' => 'Do Better Norge - tools.dobetternorge.no',
'suite_title' => 'Juridiske verktøy',
'workspace_title' => 'Saksarbeidsbenk',
'session_active' => 'Økt aktiv',
'health' => 'Helse',
'sign_out' => 'Logg ut',
'retention' => 'Økt i minnet - ingenting lagres som standard',
'disclaimer' => 'Juridisk informasjon og forberedelsesstøtte, ikke endelig juridisk rådgivning. Tekst og opplastinger behandles som standard i minnet.',
'manifesto_eyebrow' => 'Familierettigheter - Norge - siden 2019',
'manifesto_title' => 'De tok barnet hennes på tolv minutter.',
'manifesto_sub' => 'Åpne et verktøy. Bygg kronologi, undersøk loven, beskytt personvern og forbered neste steg med kilder.',
'stat_echr' => 'EMD-brudd siden 2015',
'stat_loss' => 'EMD-saker tapt 2017-22',
'stat_tribunal' => 'nemndsvedtak analysert',
'stat_pending' => 'saker venter i Strasbourg',
'reasoning_eyebrow' => 'Fil - evidensspor',
'reasoning_title' => 'Resonnement',
'waiting_title' => 'Venter',
'waiting_text' => 'Kjør et verktøy for å se tolkning, kilder, tillit, usikkerhet og neste steg.',
'dashboard_eyebrow' => 'Godkjent verktøypakke',
'dashboard_title' => 'Velg et juridisk AI-verktøy',
'dashboard_sub' => 'Laget for familier, støttespillere og advokater som forbereder norske familie- og barnevernssaker.',
'open_tool' => 'Åpne verktøy',
'landing_kicker' => 'Juridisk AI-forberedelse for familierettssaker i Norge',
'landing_title' => 'Juridiske verktøy for familier som trenger orden i saksbildet.',
'landing_sub' => 'Transkriber møter, bygg tidslinjer, analyser barnevernsdokumenter, undersøk EMD og norske kilder, og forbered kildebelagte prosesskriv.',
'primary_access' => 'Fortsett med Do Better Norge / Google',
'secondary_access' => 'Logg inn med Caveau-konto',
'member_note' => 'Bruk Do Better Norge-kontoen din. Google-pålogging skjer på hovedsiden, så kommer du trygt tilbake hit.',
'email' => 'E-post',
'password' => 'Passord',
'sign_in' => 'Logg inn',
'register' => 'Registrer deg gratis på dobetternorge.no',
'cause_title' => 'Bevis fremfor raseri.',
'cause_text' => 'Hvert verktøy følger samme prinsipp som bevegelsen: dokumenter fakta, vis lovgrunnlaget og gjør neste praktiske steg tydelig.',
'privacy_title' => 'Personvern først',
'privacy_text' => 'Opplastinger behandles som standard i minnet. Appen lagrer bare operasjonelle metadata som verktøy, tidsbruk, språk og anonym økt-id.',
'source_title' => 'Kildene er synlige',
'source_text' => 'Forskningsverktøyene holder sitater, paragrafer, kildeutdrag og usikkerhet ved siden av svaret.',
'tools_title' => 'Lanserte verktøy',
'preview_back' => '← Alle verktøy',
'preview_what_it_does' => 'Hva det gjør',
'preview_get_access' => 'Få tilgang',
'preview_ready_title' => 'Klar til å bruke',
'preview_free_note' => 'Gratis for Do Better Norge-medlemmer. Dokumenter behandles i minnet og lagres aldri.',
'preview_other_tools' => 'Andre verktøy',
'preview_join' => 'Ikke medlem? Bli med i Do Better Norge',
'preview_input_label' => 'Eksempel — inndata',
'preview_output_label' => 'Eksempel — utdata',
'enter_workbench' => 'Åpne arbeidsbenk',
'signed_in_as' => 'Innlogget som',
'member_card_title' => 'Allerede medlem?',
'member_card_note' => 'Logg inn med Do Better Norge-kontoen din. Google-pålogging skjer på hovedsiden.',
'register_card_title' => 'Ny bruker?',
'register_card_note' => 'Gratis for familier i norske barnevernssaker.',
'register_google' => 'Registrer med Google',
'register_email' => 'Registrer med e-post',
'my_docs_title' => 'Mine dokumenter',
'my_docs_desc' => 'Referansedokumenter du lastet opp i AI-chatten er tilgjengelige her. Bruk dem på tvers av verktøy eller slett dem når de ikke lenger trengs.',
'my_docs_upload_cta' => 'Last opp dokumenter i AI-chat',
'my_docs_empty' => 'Ingen dokumenter lastet opp ennå. Last opp PDF, DOCX eller TXT i AI-chattens sidepanel.',
'my_docs_remove' => 'Fjern',
'my_docs_source_ai' => 'AI-chat',
'my_docs_source_tools' => 'Verktøy',
'loading' => 'Laster…',
'pricing_title_meta' => 'Priser — Do Better Norge verktøy',
'pricing_desc_meta' => 'Priser for tools.dobetternorge.no: gratis tier, abonnementer og kreditt-topp-opp. Bygg din egen sak med privat RAG.',
'pricing_eyebrow' => 'Do Better Norge — verktøy',
'pricing_hero_title' => 'Bygg din egen sak. Bruk hele verktøyboksen.',
'pricing_hero_sub' => '13 AI-verktøy for barnevernssaker. Last opp dine egne dokumenter, og la verktøyene jobbe på din private sak — ikke bare generisk lov.',
'pricing_status_success' => 'Takk! Din betaling er bekreftet. Det kan ta noen sekunder før kontoen oppdateres.',
'pricing_status_canceled' => 'Kassen ble avbrutt. Du kan prøve igjen når som helst.',
'pricing_survey_title' => 'Tjen 25 ekstra kreditter',
'pricing_survey_text' => 'Svar på 5 korte spørsmål om hva som hjelper deg mest. Ingen salgspitch — bare research som hjelper oss å forbedre verktøyene.',
'pricing_survey_cta' => 'Ta undersøkelsen',
'pricing_period_always' => 'alltid',
'pricing_period_mo' => '/ måned',
'pricing_credits_mo' => 'kreditter / måned',
'pricing_no_storage' => 'Ingen sak-lagring',
'pricing_seat_1' => '1 plass',
'pricing_seats_family' => '3 plasser (familie)',
'pricing_cap_suffix' => 'verktøy/time',
'pricing_cap_per_seat' => 'verktøy/time per plass',
'pricing_unlimited' => 'Ubegrenset',
'pricing_free_f1' => 'Tilgang til alle 13 verktøy',
'pricing_free_f2' => 'Spørsmål, søk, redaksjon',
'pricing_free_f3' => 'Korrespondanse-utkast',
'pricing_light_f1' => 'Alt i Gratis',
'pricing_light_f2' => 'Bygg din egen sak (Min Sak)',
'pricing_light_f3' => 'Privat dokument-RAG i alle verktøy',
'pricing_light_f4' => 'OCR på opplastede PDF-er',
'pricing_pro_f1' => 'Alt i Light',
'pricing_pro_f2' => 'Hybrid søk (BM25 + vektor) i din sak',
'pricing_pro_f3' => 'Prioritert kø ved opplasting',
'pricing_pro_f4' => 'Tidslinje-rapport på saken din',
'pricing_proplus_f1' => 'Alt i Pro',
'pricing_proplus_f2' => 'Inviter 2 familiemedlemmer eller advokat',
'pricing_proplus_f3' => 'Delt sak-arkiv med revisjonslogg',
'pricing_proplus_f4' => 'Ubegrensede saksrapporter',
'pricing_badge_popular' => 'Mest populær',
'pricing_badge_family' => 'For familier',
'pricing_cta_login' => 'Logg inn for å starte',
'pricing_cta_current' => 'Din nåværende plan',
'pricing_cta_available' => 'Tilgjengelig',
'pricing_cta_subscribe' => 'Logg inn for å abonnere',
'pricing_cta_choose' => 'Velg',
'pricing_topup_title' => 'Topp opp kreditter',
'pricing_topup_lead' => 'Trenger du flere kreditter denne måneden? Kjøp en engangspakke — de utløper aldri.',
'pricing_topup_s_note' => 'Impulskjøp',
'pricing_topup_m_note' => 'Beste verdi',
'pricing_topup_l_note' => 'Tunge brukere',
'pricing_topup_buy' => 'Kjøp',
'pricing_login_first' => 'Logg inn først',
'pricing_faq_title' => 'Ofte stilte spørsmål',
'pricing_faq1_q' => 'Hva er forskjellen mellom månedlige kreditter og bonuskreditter?',
'pricing_faq1_a' => 'Månedlige kreditter (fra abonnement eller gratis tier) tilbakestilles første hver måned. Bonuskreditter (fra undersøkelsen eller topp-opp) utløper aldri og brukes etter de månedlige er oppbrukt.',
'pricing_faq2_q' => 'Hva er Min Sak?',
'pricing_faq2_a' => 'Min Sak er din private dokumentbank. Last opp PDF-er fra saken din, så blir de OCR-ert, analysert og lagret i din egen sikre korpus. Alle verktøyene kan deretter referere til dine egne dokumenter i stedet for bare generisk lov.',
'pricing_faq3_q' => 'Hvor er dataene mine lagret?',
'pricing_faq3_a' => 'Alt innenfor EU: servere i Falkenstein (Tyskland) og Helsinki (Finland), AI-tjenester i Vest-Europa og Norge Øst. Vi er hostet hos Hetzner og bruker Microsoft Azure for AI. Stripe behandler betalinger gjennom Irland.',
'pricing_faq4_q' => 'Kan jeg dele en konto med advokaten min?',
'pricing_faq4_a' => 'Ja — Pro+ Familie inkluderer 3 plasser. Du kan invitere advokat, samboer eller en annen familiemedlem. Alle ser de samme dokumentene, men hvem som gjorde hva blir logget.',
'pricing_faq5_q' => 'Hva skjer hvis jeg sier opp?',
'pricing_faq5_a' => 'Du faller tilbake til gratis-tier. Bonuskredittene dine beholdes. Dokumentene i Min Sak oppbevares i 90 dager før de slettes — så du har tid til å eksportere dem eller fornye.',
'pricing_faq6_q' => 'Tilbyr dere refusjon?',
'pricing_faq6_a' => 'Ja, full refusjon innen 7 dager hvis du ikke er fornøyd. Send oss en e-post.',
'pricing_connecting' => 'Kobler til...',
'pricing_error_retry' => 'Feil — prøv igjen',
'pricing_error_checkout' => 'Kunne ikke starte kassen.',
'pricing_credits_label' => 'kreditter',
'hero_kicker' => 'Juridiske AI-verktøy · Norge · Gratis for medlemmer',
'stat_passages_indexed' => 'juridiske tekstutdrag indeksert',
'explore_tools' => 'Utforsk verktøy ↓',
'tools_section_title' => 'Laget for familier som navigerer i et komplekst system.',
'tools_section_sub' => 'Syv spesialbygde AI-verktøy — fra lydtranskripsjon til dyp juridisk forskning. Hvert verktøy behandler dokumentene dine i minnet og sletter dem når du er ferdig.',
'learn_more' => 'Les mer →',
'pricing_nav_link' => 'Priser →',
'why_ours_trust_link' => 'Hvorfor verktøyene våre gir andre svar enn ChatGPT →',
'footer_tagline' => 'Juridiske AI-verktøy for familier i norske barnevernssaker.',
'footer_privacy_note' => 'Dokumentene dine behandles i minnet og slettes når økten avsluttes. Ingenting lagres.',
'footer_legal_lib' => 'Juridisk bibliotek',
'footer_report' => 'Rapporter et problem',
'footer_about_caveau' => 'Om CaveauAI',
'footer_disclaimer' => 'KI-resultater er kun til støtte for saksforberedelse — ikke juridisk rådgivning. Bekreft alltid med en norsk advokat.',
'why_ours_strip_eyebrow' => 'Ikke ChatGPT. Ikke gjetning.',
'why_ours_strip_title' => 'Hvorfor verktøyene våre gir deg grunnleggende andre svar.',
'why_ours_strip_sub' => 'Vi søker i 220 000+ verifiserte norske juridiske tekstutdrag ved hvert spørsmål og siterer det vi finner. Generell KI svarer fra hukommelsen.',
'why_ours_strip_p1' => 'Søker i faktisk lovverk — ikke treningshukommelsen',
'why_ours_strip_p2' => 'Siterer det eksakte utdraget funnet, hver gang',
'why_ours_strip_p3' => 'Finjustert på norsk barnevernrett',
'why_ours_strip_cta' => 'Full forklaring — slik fungerer det →',
'pricing_strip_eyebrow' => 'Planer og priser',
'pricing_strip_title' => 'Start gratis. Oppgrader når du trenger din egen sak.',
'pricing_strip_sub' => '30 gratis kreditter hver måned. Betalte planer låser opp privat sakslager — last opp dokumentene og alle verktøy refererer til dem.',
'pricing_strip_cta' => 'Se alle planer og priser →',
// ── Nav + account + dashboard i18n ──────────────────────────────
'nav_tools' => 'Verktøy',
'nav_dashboard' => 'Oversikt',
'nav_account' => 'Konto',
'nav_login' => 'Logg inn',
'nav_logout' => 'Logg ut',
'credits_available' => 'Tilgjengelige kreditter',
'credits_monthly' => 'månedlige',
'credits_bonus' => 'bonus',
'details_link' => 'Detaljer',
'my_case' => 'Min sak',
'build_your_case' => 'Bygg din egen sak',
'upload_documents' => 'Last opp dokumenter',
'upgrade_from_plus' => 'Tilgjengelig fra Plus 129 kr/mnd',
'my_corpus' => 'Min korpus',
'open_corpus' => 'Åpne korpus',
'account_title' => 'Konto',
'account_credits' => 'Kreditter og plan',
'account_profile' => 'Profil',
'account_team' => 'Team',
'account_usage' => 'Bruk',
'renewal_date' => 'Neste fornyelse',
'trial_active_label' => 'Prøveperiode aktiv',
'trial_days_left' => 'dager igjen',
'earn_credits_eyebrow'=> 'Tjen 25 ekstra kreditter',
'survey_cta_text' => 'Svar på 5 korte spørsmål — ingen salgspitch, bare research.',
'survey_btn' => 'Ta undersøkelsen',
'login_method_sso' => 'Google SSO',
'login_method_email' => 'E-post og passord',
'team_single_sso' => 'Enkeltbrukerkonto (SSO)',
'usage_credits_used' => 'Kreditter brukt denne måneden',
'usage_storage_used' => 'Lagring brukt',
'usage_log_coming' => 'Detaljert aktivitetslogg kommer snart',
'account_not_auth' => 'Du må være innlogget for å se kontoen din.',
],
'uk' => [
'meta_title' => 'Do Better Norge - юридичні AI інструменти',
'brand_line' => 'Do Better Norge - tools.dobetternorge.no',
'suite_title' => 'Юридичні інструменти',
'workspace_title' => 'Робочий простір справи',
'session_active' => 'Сесія активна',
'health' => 'Стан',
'sign_out' => 'Вийти',
'retention' => 'Сесія в памʼяті - за замовчуванням нічого не зберігається',
'disclaimer' => 'Юридична інформація та підтримка підготовки, не остаточна юридична порада. Текст і файли за замовчуванням обробляються в памʼяті.',
'manifesto_eyebrow' => 'Права сімʼї - Норвегія - з 2019',
'manifesto_title' => 'Її дитину забрали за дванадцять хвилин.',
'manifesto_sub' => 'Відкрийте інструмент. Побудуйте хронологію, дослідіть право, захистіть приватність і підготуйте наступний крок з джерелами.',
'stat_echr' => 'порушень ЄСПЛ з 2015',
'stat_loss' => 'справ ЄСПЛ програно 2017-22',
'stat_tribunal' => 'рішень трибуналів проаналізовано',
'stat_pending' => 'справ очікують у Страсбурзі',
'reasoning_eyebrow' => 'Файл - слід доказів',
'reasoning_title' => 'Обґрунтування',
'waiting_title' => 'Очікування',
'waiting_text' => 'Запустіть інструмент, щоб побачити тлумачення, джерела, впевненість, невизначеність і наступний крок.',
'dashboard_eyebrow' => 'Схвалений набір інструментів',
'dashboard_title' => 'Оберіть юридичний AI інструмент',
'dashboard_sub' => 'Для сімей, представників і союзників, які готують справи про сімейні права та захист дітей у Норвегії.',
'open_tool' => 'Відкрити інструмент',
'landing_kicker' => 'AI підготовка для справ про сімейні права в Норвегії',
'landing_title' => 'Юридичні інструменти для сімей, яким потрібно впорядкувати матеріали справи.',
'landing_sub' => 'Транскрибуйте зустрічі, будуйте хронології, аналізуйте документи Barnevernet, досліджуйте ЄСПЛ і норвезькі джерела та готуйте аргументи з цитатами.',
'primary_access' => 'Продовжити через Do Better Norge / Google',
'secondary_access' => 'Увійти з обліковим записом Caveau',
'member_note' => 'Використайте свій обліковий запис Do Better Norge. Google-вхід відбувається на основному сайті, після чого ви безпечно повертаєтесь сюди.',
'email' => 'Email',
'password' => 'Пароль',
'sign_in' => 'Увійти',
'register' => 'Зареєструватися безкоштовно на dobetternorge.no',
'cause_title' => 'Докази важливіші за обурення.',
'cause_text' => 'Кожен інструмент побудований на тому самому принципі: задокументувати факти, процитувати право і зробити наступний практичний крок видимим.',
'privacy_title' => 'Приватність за задумом',
'privacy_text' => 'Файли за замовчуванням обробляються в памʼяті. Зберігаються лише технічні метадані: інструмент, затримка, мова та анонімний id сесії.',
'source_title' => 'Джерела залишаються видимими',
'source_text' => 'Дослідницькі інструменти показують цитати, розділи, уривки джерел і примітки про невизначеність поруч із відповіддю.',
'tools_title' => 'Запущені інструменти',
'preview_back' => '← Усі інструменти',
'preview_what_it_does' => 'Що робить',
'preview_get_access' => 'Отримати доступ',
'preview_ready_title' => 'Готові до використання',
'preview_free_note' => 'Безкоштовно для членів Do Better Norge. Документи обробляються в пам\'яті і ніколи не зберігаються.',
'preview_other_tools' => 'Інші інструменти',
'preview_join' => 'Не член? Приєднайтесь до Do Better Norge',
'preview_input_label' => 'Приклад — вхідні дані',
'preview_output_label' => 'Приклад — вихідні дані',
'enter_workbench' => 'Відкрити робочий простір',
'signed_in_as' => 'Увійшли як',
'member_card_title' => 'Вже є акаунт?',
'member_card_note' => 'Увійдіть через обліковий запис Do Better Norge. Google-вхід відбувається на основному сайті.',
'register_card_title' => 'Вперше на Do Better Norge?',
'register_card_note' => 'Безкоштовно для сімей у норвезьких справах із захисту дітей.',
'register_google' => 'Зареєструватися через Google',
'register_email' => 'Зареєструватися через email',
'my_docs_title' => 'Мої документи',
'my_docs_desc' => 'Довідкові документи, завантажені в AI-чаті, доступні тут.',
'my_docs_upload_cta' => 'Завантажити документи в AI-чаті',
'my_docs_empty' => 'Документів ще немає. Завантажте PDF, DOCX або TXT у бічній панелі AI-чату.',
'my_docs_remove' => 'Видалити',
'my_docs_source_ai' => 'AI-чат',
'my_docs_source_tools' => 'Інструменти',
'loading' => 'Завантаження…',
'pricing_title_meta' => 'Ціни — інструменти Do Better Norge',
'pricing_desc_meta' => 'Ціни на tools.dobetternorge.no: безкоштовний рівень, підписки та поповнення кредитів. Побудуйте свою власну справу з приватним RAG.',
'pricing_eyebrow' => 'Do Better Norge — інструменти',
'pricing_hero_title' => 'Побудуйте власну справу. Використовуйте весь набір інструментів.',
'pricing_hero_sub' => '13 AI-інструментів для справ із захисту дітей. Завантажте власні документи й дозвольте інструментам працювати з вашою приватною справою — не лише з загальним законодавством.',
'pricing_status_success' => 'Дякуємо! Ваш платіж підтверджено. Оновлення облікового запису може зайняти кілька секунд.',
'pricing_status_canceled' => 'Оплату скасовано. Ви можете спробувати ще раз у будь-який час.',
'pricing_survey_title' => 'Отримайте 25 додаткових кредитів',
'pricing_survey_text' => 'Дайте відповідь на 5 коротких запитань про те, що допомагає вам найбільше. Без реклами — лише дослідження, що допоможе нам покращити інструменти.',
'pricing_survey_cta' => 'Пройти опитування',
'pricing_period_always' => 'завжди',
'pricing_period_mo' => '/ місяць',
'pricing_credits_mo' => 'кредитів / місяць',
'pricing_no_storage' => 'Без зберігання справи',
'pricing_seat_1' => '1 місце',
'pricing_seats_family' => '3 місця (сім\'я)',
'pricing_cap_suffix' => 'інстр./год',
'pricing_cap_per_seat' => 'інстр./год на місце',
'pricing_unlimited' => 'Без обмежень',
'pricing_free_f1' => 'Доступ до всіх 13 інструментів',
'pricing_free_f2' => 'Запити, пошук, редагування',
'pricing_free_f3' => 'Чернетки кореспонденції',
'pricing_light_f1' => 'Все з Безкоштовного',
'pricing_light_f2' => 'Побудуйте власну справу (Моя справа)',
'pricing_light_f3' => 'Приватний RAG документів у всіх інструментах',
'pricing_light_f4' => 'OCR завантажених PDF',
'pricing_pro_f1' => 'Все з Light',
'pricing_pro_f2' => 'Гібридний пошук (BM25 + вектор) у вашій справі',
'pricing_pro_f3' => 'Пріоритетна черга завантаження',
'pricing_pro_f4' => 'Звіт-хронологія вашої справи',
'pricing_proplus_f1' => 'Все з Pro',
'pricing_proplus_f2' => 'Запросіть 2 членів сім\'ї або адвоката',
'pricing_proplus_f3' => 'Спільний архів справи з журналом аудиту',
'pricing_proplus_f4' => 'Необмежені звіти по справі',
'pricing_badge_popular' => 'Найпопулярніший',
'pricing_badge_family' => 'Для сімей',
'pricing_cta_login' => 'Увійти для початку',
'pricing_cta_current' => 'Ваш поточний план',
'pricing_cta_available' => 'Доступно',
'pricing_cta_subscribe' => 'Увійти для підписки',
'pricing_cta_choose' => 'Обрати',
'pricing_topup_title' => 'Поповнити кредити',
'pricing_topup_lead' => 'Потрібно більше кредитів цього місяця? Придбайте разовий пакет — вони ніколи не закінчуються.',
'pricing_topup_s_note' => 'Швидке поповнення',
'pricing_topup_m_note' => 'Найкраща цінність',
'pricing_topup_l_note' => 'Активні користувачі',
'pricing_topup_buy' => 'Купити',
'pricing_login_first' => 'Спочатку увійдіть',
'pricing_faq_title' => 'Поширені запитання',
'pricing_faq1_q' => 'У чому різниця між місячними кредитами та бонусними кредитами?',
'pricing_faq1_a' => 'Місячні кредити (з підписки або безкоштовного рівня) скидаються першого числа кожного місяця. Бонусні кредити (з опитування або поповнення) ніколи не закінчуються і використовуються після вичерпання місячних.',
'pricing_faq2_q' => 'Що таке Моя справа?',
'pricing_faq2_a' => 'Моя справа — ваш приватний банк документів. Завантажте PDF-файли зі своєї справи; вони пройдуть OCR-обробку, аналіз і будуть збережені у вашому власному захищеному корпусі. Усі інструменти зможуть посилатися на ваші власні документи замість загального законодавства.',
'pricing_faq3_q' => 'Де зберігаються мої дані?',
'pricing_faq3_a' => 'Все в межах ЄС: сервери у Фалькенштайні (Німеччина) та Гельсінкі (Фінляндія), AI-сервіси в Західній Європі та Норвегії Схід. Ми використовуємо Hetzner і Microsoft Azure для AI. Stripe обробляє платежі через Ірландію.',
'pricing_faq4_q' => 'Чи можу я поділитися обліковим записом зі своїм адвокатом?',
'pricing_faq4_a' => 'Так — Pro+ Сім\'я включає 3 місця. Ви можете запросити адвоката, другого з батьків або іншого члена сім\'ї. Всі бачать одні й ті самі документи, але хто що зробив — фіксується.',
'pricing_faq5_q' => 'Що станеться, якщо я скасую підписку?',
'pricing_faq5_a' => 'Ви повернетеся до безкоштовного рівня. Ваші бонусні кредити збережуться. Документи в Моїй справі зберігатимуться 90 днів перед видаленням — щоб ви мали час їх експортувати або поновити підписку.',
'pricing_faq6_q' => 'Чи є повернення коштів?',
'pricing_faq6_a' => 'Так, повне повернення протягом 7 днів, якщо ви незадоволені. Напишіть нам електронного листа.',
'pricing_connecting' => 'Підключення…',
'pricing_error_retry' => 'Помилка — спробуйте ще раз',
'pricing_error_checkout' => 'Не вдалося розпочати оплату.',
'pricing_credits_label' => 'кредитів',
'hero_kicker' => 'Правові AI-інструменти · Норвегія · Безкоштовно для членів',
'stat_passages_indexed' => 'правових уривків проіндексовано',
'explore_tools' => 'Дослідити інструменти ↓',
'tools_section_title' => 'Створено для сімей, що долають складну систему.',
'tools_section_sub' => 'Сім спеціально розроблених AI-інструментів — від транскрипції аудіо до глибоких правових досліджень. Кожен інструмент обробляє ваші документи в пам\'яті та відкидає їх після завершення.',
'learn_more' => 'Дізнатися більше →',
'pricing_nav_link' => 'Ціни →',
'why_ours_trust_link' => 'Чому наші інструменти дають інші відповіді, ніж ChatGPT →',
'footer_tagline' => 'Правові AI-інструменти для сімей у норвезьких справах про захист дітей.',
'footer_privacy_note' => 'Ваші документи обробляються в пам\'яті та видаляються після завершення сеансу. Нічого не зберігається.',
'footer_legal_lib' => 'Правова бібліотека',
'footer_report' => 'Повідомити про проблему',
'footer_about_caveau' => 'Про CaveauAI',
'footer_disclaimer' => 'Вихідні дані AI призначені лише для підтримки підготовки справи — не для юридичних порад. Завжди перевіряйте у ліцензованого норвезького юриста.',
'why_ours_strip_eyebrow' => 'Не ChatGPT. Не здогадки.',
'why_ours_strip_title' => 'Чому наші інструменти дають вам принципово інші відповіді.',
'why_ours_strip_sub' => 'Ми шукаємо в 220 000+ перевірених норвезьких правових уривках при кожному запиті та цитуємо те, що знаходимо. Загальний AI відповідає з пам\'яті.',
'why_ours_strip_p1' => 'Шукає в реальному праві — не в пам\'яті навчання',
'why_ours_strip_p2' => 'Цитує точний знайдений уривок, щоразу',
'why_ours_strip_p3' => 'Дотренований на норвезькому праві захисту дітей',
'why_ours_strip_cta' => 'Повне пояснення — як це працює →',
'pricing_strip_eyebrow' => 'Плани та ціни',
'pricing_strip_title' => 'Починайте безкоштовно. Оновлюйтеся, коли потрібна власна справа.',
'pricing_strip_sub' => '30 безкоштовних кредитів щомісяця. Платні плани відкривають приватне сховище справи — завантажте документи, і кожен інструмент посилається на них.',
'pricing_strip_cta' => 'Переглянути всі плани та ціни →',
// ── Nav + account + dashboard i18n ──────────────────────────────
'nav_tools' => 'Інструменти',
'nav_dashboard' => 'Огляд',
'nav_account' => 'Обліковий запис',
'nav_login' => 'Увійти',
'nav_logout' => 'Вийти',
'credits_available' => 'Доступні кредити',
'credits_monthly' => 'щомісячні',
'credits_bonus' => 'бонусні',
'details_link' => 'Деталі',
'my_case' => 'Моя справа',
'build_your_case' => 'Побудуйте власну справу',
'upload_documents' => 'Завантажити документи',
'upgrade_from_plus' => 'Доступно з Plus NOK 129/місяць',
'my_corpus' => 'Мій корпус',
'open_corpus' => 'Відкрити корпус',
'account_title' => 'Обліковий запис',
'account_credits' => 'Кредити та план',
'account_profile' => 'Профіль',
'account_team' => 'Команда',
'account_usage' => 'Використання',
'renewal_date' => 'Наступне оновлення',
'trial_active_label' => 'Пробний період активний',
'trial_days_left' => 'днів залишилось',
'earn_credits_eyebrow'=> 'Заробіть 25 додаткових кредитів',
'survey_cta_text' => 'Дайте відповідь на 5 коротких запитань — без реклами, лише дослідження.',
'survey_btn' => 'Пройти опитування',
'login_method_sso' => 'Google SSO',
'login_method_email' => 'Email та пароль',
'team_single_sso' => 'Одноосібний обліковий запис (SSO)',
'usage_credits_used' => 'Кредити використано цього місяця',
'usage_storage_used' => 'Використано сховища',
'usage_log_coming' => 'Детальний журнал активності незабаром',
'account_not_auth' => 'Увійдіть, щоб переглянути свій обліковий запис.',
],
'pl' => [
'meta_title' => 'Do Better Norge - prawne narzędzia AI',
'brand_line' => 'Do Better Norge - tools.dobetternorge.no',
'suite_title' => 'Narzędzia prawne',
'workspace_title' => 'Panel pracy nad sprawą',
'session_active' => 'Sesja aktywna',
'health' => 'Stan',
'sign_out' => 'Wyloguj',
'retention' => 'Sesja w pamięci - domyślnie nic nie jest zapisywane',
'disclaimer' => 'Informacje prawne i wsparcie przygotowania, nie ostateczna porada prawna. Tekst i pliki są domyślnie przetwarzane w pamięci.',
'manifesto_eyebrow' => 'Prawa rodzinne - Norwegia - od 2019',
'manifesto_title' => 'Zabrali jej dziecko w dwanaście minut.',
'manifesto_sub' => 'Otwórz narzędzie. Zbuduj chronologię, zbadaj prawo, chroń prywatność i przygotuj kolejny krok z cytowanymi źródłami.',
'stat_echr' => 'naruszeń ETPC od 2015',
'stat_loss' => 'spraw ETPC przegranych 2017-22',
'stat_tribunal' => 'decyzji trybunałów przeanalizowano',
'stat_pending' => 'spraw oczekuje w Strasburgu',
'reasoning_eyebrow' => 'Plik - ślad dowodów',
'reasoning_title' => 'Uzasadnienie',
'waiting_title' => 'Oczekiwanie',
'waiting_text' => 'Uruchom narzędzie, aby zobaczyć interpretację, źródła, pewność, niepewność i następny krok.',
'dashboard_eyebrow' => 'Zatwierdzony pakiet narzędzi',
'dashboard_title' => 'Wybierz prawne narzędzie AI',
'dashboard_sub' => 'Dla rodzin, rzeczników i sojuszników przygotowujących norweskie sprawy rodzinne i dotyczące ochrony dzieci.',
'open_tool' => 'Otwórz narzędzie',
'landing_kicker' => 'Prawne przygotowanie AI dla spraw rodzinnych w Norwegii',
'landing_title' => 'Narzędzia prawne dla rodzin, które muszą uporządkować akta sprawy.',
'landing_sub' => 'Transkrybuj spotkania, buduj osie czasu, analizuj dokumenty Barnevernet, badaj ETPC i norweskie źródła oraz przygotowuj argumenty z cytatami.',
'primary_access' => 'Kontynuuj przez Do Better Norge / Google',
'secondary_access' => 'Zaloguj przez konto Caveau',
'member_note' => 'Użyj konta Do Better Norge. Logowanie Google odbywa się na głównej stronie, a potem bezpiecznie wracasz tutaj.',
'email' => 'Email',
'password' => 'Hasło',
'sign_in' => 'Zaloguj',
'register' => 'Zarejestruj się bezpłatnie na dobetternorge.no',
'cause_title' => 'Dowody ponad oburzenie.',
'cause_text' => 'Każde narzędzie opiera się na tej samej zasadzie: udokumentować fakty, przytoczyć prawo i pokazać następny praktyczny krok.',
'privacy_title' => 'Prywatność w projekcie',
'privacy_text' => 'Pliki są domyślnie przetwarzane w pamięci. Aplikacja zapisuje tylko metadane operacyjne, takie jak narzędzie, czas, język i anonimowy identyfikator sesji.',
'source_title' => 'Źródła pozostają widoczne',
'source_text' => 'Narzędzia badawcze pokazują cytaty, sekcje, fragmenty źródeł i notatki o niepewności obok odpowiedzi.',
'tools_title' => 'Uruchomione narzędzia',
'preview_back' => '← Wszystkie narzędzia',
'preview_what_it_does' => 'Co robi',
'preview_get_access' => 'Uzyskaj dostęp',
'preview_ready_title' => 'Gotowe do użycia',
'preview_free_note' => 'Bezpłatnie dla członków Do Better Norge. Dokumenty są przetwarzane w pamięci i nigdy nie są przechowywane.',
'preview_other_tools' => 'Inne narzędzia',
'preview_join' => 'Nie jesteś członkiem? Dołącz do Do Better Norge',
'preview_input_label' => 'Przykład — dane wejściowe',
'preview_output_label' => 'Przykład — dane wyjściowe',
'enter_workbench' => 'Otwórz panel pracy',
'signed_in_as' => 'Zalogowany jako',
'member_card_title' => 'Jesteś już członkiem?',
'member_card_note' => 'Zaloguj przez konto Do Better Norge. Logowanie Google odbywa się na głównej stronie.',
'register_card_title' => 'Nowy w Do Better Norge?',
'register_card_note' => 'Bezpłatnie dla rodzin w norweskich sprawach dotyczących ochrony dzieci.',
'register_google' => 'Zarejestruj przez Google',
'register_email' => 'Zarejestruj przez email',
'my_docs_title' => 'Moje dokumenty',
'my_docs_desc' => 'Dokumenty referencyjne przesłane w czacie AI są dostępne tutaj.',
'my_docs_upload_cta' => 'Prześlij dokumenty w czacie AI',
'my_docs_empty' => 'Brak dokumentów. Prześlij pliki PDF, DOCX lub TXT na pasku bocznym czatu AI.',
'my_docs_remove' => 'Usuń',
'my_docs_source_ai' => 'Czat AI',
'my_docs_source_tools' => 'Narzędzia',
'loading' => 'Ładowanie…',
'pricing_title_meta' => 'Cennik — narzędzia Do Better Norge',
'pricing_desc_meta' => 'Cennik tools.dobetternorge.no: bezpłatny poziom, subskrypcje i doładowania kredytów. Zbuduj własną sprawę z prywatnym RAG.',
'pricing_eyebrow' => 'Do Better Norge — narzędzia',
'pricing_hero_title' => 'Zbuduj własną sprawę. Korzystaj z pełnego zestawu narzędzi.',
'pricing_hero_sub' => '13 narzędzi AI dla spraw dotyczących ochrony dzieci. Prześlij własne dokumenty i pozwól narzędziom pracować na Twojej prywatnej sprawie — nie tylko na ogólnych przepisach.',
'pricing_status_success' => 'Dziękujemy! Twoja płatność została potwierdzona. Aktualizacja konta może potrwać kilka sekund.',
'pricing_status_canceled' => 'Płatność została anulowana. Możesz spróbować ponownie w dowolnym momencie.',
'pricing_survey_title' => 'Zdobądź 25 dodatkowych kredytów',
'pricing_survey_text' => 'Odpowiedz na 5 krótkich pytań o to, co najbardziej Ci pomaga. Żadnej reklamy — tylko badania, które pomagają nam ulepszać narzędzia.',
'pricing_survey_cta' => 'Wypełnij ankietę',
'pricing_period_always' => 'zawsze',
'pricing_period_mo' => '/ miesiąc',
'pricing_credits_mo' => 'kredytów / miesiąc',
'pricing_no_storage' => 'Brak przechowywania sprawy',
'pricing_seat_1' => '1 miejsce',
'pricing_seats_family' => '3 miejsca (rodzina)',
'pricing_cap_suffix' => 'narzędzi/godz',
'pricing_cap_per_seat' => 'narzędzi/godz na miejsce',
'pricing_unlimited' => 'Bez limitu',
'pricing_free_f1' => 'Dostęp do wszystkich 13 narzędzi',
'pricing_free_f2' => 'Pytania, wyszukiwanie, edycja',
'pricing_free_f3' => 'Szkice korespondencji',
'pricing_light_f1' => 'Wszystko z Bezpłatnego',
'pricing_light_f2' => 'Zbuduj własną sprawę (Moja sprawa)',
'pricing_light_f3' => 'Prywatny RAG dokumentów we wszystkich narzędziach',
'pricing_light_f4' => 'OCR przesłanych plików PDF',
'pricing_pro_f1' => 'Wszystko z Light',
'pricing_pro_f2' => 'Wyszukiwanie hybrydowe (BM25 + wektor) w Twojej sprawie',
'pricing_pro_f3' => 'Priorytetowa kolejka przesyłania',
'pricing_pro_f4' => 'Raport osi czasu Twojej sprawy',
'pricing_proplus_f1' => 'Wszystko z Pro',
'pricing_proplus_f2' => 'Zaproś 2 członków rodziny lub prawnika',
'pricing_proplus_f3' => 'Wspólne archiwum sprawy z dziennikiem audytu',
'pricing_proplus_f4' => 'Nieograniczone raporty dotyczące sprawy',
'pricing_badge_popular' => 'Najpopularniejszy',
'pricing_badge_family' => 'Dla rodzin',
'pricing_cta_login' => 'Zaloguj, aby zacząć',
'pricing_cta_current' => 'Twój obecny plan',
'pricing_cta_available' => 'Dostępne',
'pricing_cta_subscribe' => 'Zaloguj, aby subskrybować',
'pricing_cta_choose' => 'Wybierz',
'pricing_topup_title' => 'Doładuj kredyty',
'pricing_topup_lead' => 'Potrzebujesz więcej kredytów w tym miesiącu? Kup jednorazowy pakiet — nigdy nie wygasają.',
'pricing_topup_s_note' => 'Szybkie doładowanie',
'pricing_topup_m_note' => 'Najlepsza wartość',
'pricing_topup_l_note' => 'Intensywni użytkownicy',
'pricing_topup_buy' => 'Kup',
'pricing_login_first' => 'Najpierw się zaloguj',
'pricing_faq_title' => 'Często zadawane pytania',
'pricing_faq1_q' => 'Jaka jest różnica między miesięcznymi kredytami a kredytami bonusowymi?',
'pricing_faq1_a' => 'Miesięczne kredyty (z subskrypcji lub bezpłatnego poziomu) resetują się pierwszego dnia każdego miesiąca. Kredyty bonusowe (z ankiety lub doładowań) nigdy nie wygasają i są używane po wyczerpaniu miesięcznych.',
'pricing_faq2_q' => 'Co to jest Moja sprawa?',
'pricing_faq2_a' => 'Moja sprawa to Twój prywatny bank dokumentów. Prześlij pliki PDF ze swojej sprawy; zostaną one przetworzone przez OCR, przeanalizowane i zapisane w Twoim własnym bezpiecznym korpusie. Wszystkie narzędzia będą mogły odwoływać się do Twoich własnych dokumentów zamiast ogólnych przepisów.',
'pricing_faq3_q' => 'Gdzie przechowywane są moje dane?',
'pricing_faq3_a' => 'Wszystko w UE: serwery w Falkenstein (Niemcy) i Helsinkach (Finlandia), usługi AI w Europie Zachodniej i Norwegii Wschodniej. Korzystamy z Hetzner i Microsoft Azure dla AI. Stripe przetwarza płatności przez Irlandię.',
'pricing_faq4_q' => 'Czy mogę udostępnić konto swojemu prawnikowi?',
'pricing_faq4_a' => 'Tak — Pro+ Rodzina obejmuje 3 miejsca. Możesz zaprosić prawnika, drugiego rodzica lub innego członka rodziny. Wszyscy widzą te same dokumenty, ale kto co zrobił jest rejestrowane.',
'pricing_faq5_q' => 'Co się stanie, jeśli anuluję subskrypcję?',
'pricing_faq5_a' => 'Powrócisz do bezpłatnego poziomu. Twoje kredyty bonusowe zostaną zachowane. Dokumenty w Mojej sprawie będą przechowywane przez 90 dni przed usunięciem — masz czas na eksport lub odnowienie.',
'pricing_faq6_q' => 'Czy oferujecie zwroty?',
'pricing_faq6_a' => 'Tak, pełny zwrot w ciągu 7 dni, jeśli nie jesteś zadowolony. Wyślij nam e-mail.',
'pricing_connecting' => 'Łączenie…',
'pricing_error_retry' => 'Błąd — spróbuj ponownie',
'pricing_error_checkout' => 'Nie można uruchomić płatności.',
'pricing_credits_label' => 'kredytów',
'hero_kicker' => 'Prawne narzędzia AI · Norwegia · Bezpłatnie dla członków',
'stat_passages_indexed' => 'przepisów prawnych zindeksowanych',
'explore_tools' => 'Przeglądaj narzędzia ↓',
'tools_section_title' => 'Stworzone dla rodzin poruszających się w skomplikowanym systemie.',
'tools_section_sub' => 'Siedem dedykowanych narzędzi AI — od transkrypcji audio po dogłębne badania prawne. Każde narzędzie przetwarza Twoje dokumenty w pamięci i usuwa je po zakończeniu.',
'learn_more' => 'Dowiedz się więcej →',
'pricing_nav_link' => 'Cennik →',
'why_ours_trust_link' => 'Dlaczego nasze narzędzia dają inne odpowiedzi niż ChatGPT →',
'footer_tagline' => 'Prawne narzędzia AI dla rodzin w norweskich sprawach dotyczących ochrony dzieci.',
'footer_privacy_note' => 'Twoje dokumenty są przetwarzane w pamięci i usuwane po zakończeniu sesji. Nic nie jest przechowywane.',
'footer_legal_lib' => 'Biblioteka prawna',
'footer_report' => 'Zgłoś problem',
'footer_about_caveau' => 'O CaveauAI',
'footer_disclaimer' => 'Wyniki AI służą wyłącznie jako wsparcie w przygotowaniu sprawy — nie jako porada prawna. Zawsze weryfikuj z licencjonowanym norweskim prawnikiem.',
'why_ours_strip_eyebrow' => 'Nie ChatGPT. Nie zgadywanie.',
'why_ours_strip_title' => 'Dlaczego nasze narzędzia dają ci zasadniczo inne odpowiedzi.',
'why_ours_strip_sub' => 'Przeszukujemy 220 000+ zweryfikowanych norweskich przepisów prawnych przy każdym zapytaniu i cytujemy to, co znajdziemy. Ogólna AI odpowiada z pamięci.',
'why_ours_strip_p1' => 'Przeszukuje rzeczywiste prawo — nie pamięć treningową',
'why_ours_strip_p2' => 'Cytuje dokładny znaleziony przepis, za każdym razem',
'why_ours_strip_p3' => 'Dostrojony na norweskim prawie ochrony dzieci',
'why_ours_strip_cta' => 'Pełne wyjaśnienie — jak to działa →',
'pricing_strip_eyebrow' => 'Plany i cennik',
'pricing_strip_title' => 'Zacznij bezpłatnie. Rozszerz, gdy potrzebujesz własnej sprawy.',
'pricing_strip_sub' => '30 bezpłatnych kredytów miesięcznie. Płatne plany odblokują prywatne przechowywanie sprawy — prześlij dokumenty, a każde narzędzie do nich się odwoła.',
'pricing_strip_cta' => 'Zobacz wszystkie plany i cennik →',
// ── Nav + account + dashboard i18n ──────────────────────────────
'nav_tools' => 'Narzędzia',
'nav_dashboard' => 'Przegląd',
'nav_account' => 'Konto',
'nav_login' => 'Zaloguj',
'nav_logout' => 'Wyloguj',
'credits_available' => 'Dostępne kredyty',
'credits_monthly' => 'miesięczne',
'credits_bonus' => 'bonusowe',
'details_link' => 'Szczegóły',
'my_case' => 'Moja sprawa',
'build_your_case' => 'Zbuduj własną sprawę',
'upload_documents' => 'Prześlij dokumenty',
'upgrade_from_plus' => 'Dostępne od Plus NOK 129/miesiąc',
'my_corpus' => 'Mój korpus',
'open_corpus' => 'Otwórz korpus',
'account_title' => 'Konto',
'account_credits' => 'Kredyty i plan',
'account_profile' => 'Profil',
'account_team' => 'Zespół',
'account_usage' => 'Użycie',
'renewal_date' => 'Następne odnowienie',
'trial_active_label' => 'Okres próbny aktywny',
'trial_days_left' => 'dni pozostało',
'earn_credits_eyebrow'=> 'Zdobądź 25 dodatkowych kredytów',
'survey_cta_text' => 'Odpowiedz na 5 krótkich pytań — bez reklam, tylko badania.',
'survey_btn' => 'Wypełnij ankietę',
'login_method_sso' => 'Google SSO',
'login_method_email' => 'Email i hasło',
'team_single_sso' => 'Konto jednoosobowe (SSO)',
'usage_credits_used' => 'Kredyty użyte w tym miesiącu',
'usage_storage_used' => 'Użyte miejsce',
'usage_log_coming' => 'Szczegółowy dziennik aktywności wkrótce',
'account_not_auth' => 'Musisz być zalogowany, aby zobaczyć swoje konto.',
],
];
}
function dbnToolsT(string $key, ?string $language = null): string
{
$language = dbnToolsNormalizeUiLanguage($language ?? dbnToolsCurrentLanguage());
$all = dbnToolsTranslations();
return (string)($all[$language][$key] ?? $all['en'][$key] ?? $key);
}
function dbnToolsWorkbenchCopy(?string $language = null): array
{
$language = dbnToolsNormalizeUiLanguage($language ?? dbnToolsCurrentLanguage());
$copy = [
'en' => [
'title' => 'Case Workbench',
'label' => 'Case Workbench',
'sub' => 'Guided case flow',
'description' => 'Plan a case, map evidence, and open the right legal tools in sequence without storing documents.',
'badge' => 'Private session',
'kicker' => 'Guided preparation',
'hero_title' => 'One calm place to organise the next legal step.',
'hero_text' => 'Use this workbench to frame the case, decide which tool to open next, and keep a local evidence map while your documents stay in memory by default.',
'privacy_title' => 'Local notes only',
'privacy_text' => 'This page saves notes in browser sessionStorage. It does not upload files or call tool APIs.',
'clear_session' => 'Clear session',
'all_tools' => 'All tools',
'intake_title' => 'Case intake',
'evidence_title' => 'Evidence map',
'flow_title' => 'Recommended tool sequence',
'outputs_title' => 'Output checklist',
'role' => 'Who are you helping?',
'choose' => 'Choose...',
'role_parent' => 'Parent',
'role_family' => 'Family member',
'role_advocate' => 'Advocate or lawyer',
'role_supporter' => 'Supporter',
'case_type' => 'Case type',
'case_barnevernet' => 'Barnevernet / child welfare',
'case_custody' => 'Custody or residence',
'case_access' => 'Contact / samvær',
'case_echr' => 'ECHR / Strasbourg preparation',
'deadline' => 'Next deadline',
'language' => 'Working language',
'main_concern' => 'Main concern',
'main_concern_hint' => 'What decision, meeting, deadline, or document are you preparing for?',
'documents' => 'Documents',
'documents_hint' => 'List letters, decisions, reports, emails, or forms.',
'meetings' => 'Meetings and audio',
'meetings_hint' => 'List recordings, meeting notes, or conversations to transcribe.',
'dates' => 'Dates and deadlines',
'dates_hint' => 'List hearings, response deadlines, visits, decisions, and events.',
'claims' => 'Claims and facts',
'claims_hint' => 'List what the other side says, what you dispute, and what you can prove.',
'missing' => 'Missing proof',
'missing_hint' => 'List records, witnesses, messages, or sources still needed.',
'bring_redact' => 'Bring back: safe text you can share with helpers.',
'bring_transcribe' => 'Bring back: speaker notes, quotes, and follow-up issues.',
'bring_timeline' => 'Bring back: dated events and urgent deadlines.',
'bring_barnevernet' => 'Bring back: red flags, parties, and cited procedural issues.',
'bring_research' => 'Bring back: legal angles, source excerpts, and uncertainty notes.',
'bring_advocate' => 'Bring back: strongest brief sections and weak points.',
'bring_corpus' => 'Bring back: source titles, sections, and exact citation context.',
'open_tool' => 'Open tool',
'output_lawyer' => 'Lawyer handoff pack',
'output_barnevernet_response' => 'Barnevernet response preparation',
'output_meeting_prep' => 'Meeting preparation note',
'output_strasbourg' => 'Strasbourg / ECHR research prep',
'next_step' => 'Next practical step',
'next_step_hint' => 'Write the next action, owner, and deadline.',
],
'no' => [
'title' => 'Saksarbeidsbenk',
'label' => 'Saksarbeidsbenk',
'sub' => 'Veiledet saksflyt',
'description' => 'Planlegg saken, kartlegg bevis og åpne riktig verktøy i riktig rekkefølge uten å lagre dokumenter.',
'badge' => 'Privat økt',
'kicker' => 'Veiledet forberedelse',
'hero_title' => 'Ett rolig sted for neste juridiske steg.',
'hero_text' => 'Bruk arbeidsbenken til å ramme inn saken, velge neste verktøy og holde et lokalt beviskart mens dokumenter behandles i minnet som standard.',
'privacy_title' => 'Kun lokale notater',
'privacy_text' => 'Denne siden lagrer notater i nettleserens sessionStorage. Den laster ikke opp filer og kaller ikke verktøy-API-er.',
],
'uk' => [
'title' => 'Робочий простір справи',
'label' => 'Робочий простір справи',
'sub' => 'Керований шлях справи',
'description' => 'Плануйте справу, картуйте докази й відкривайте потрібні інструменти по черзі без збереження документів.',
'badge' => 'Приватна сесія',
'kicker' => 'Керована підготовка',
'hero_title' => 'Одне спокійне місце для наступного юридичного кроку.',
'hero_text' => 'Використовуйте цей простір, щоб описати справу, вибрати наступний інструмент і вести локальну карту доказів.',
'privacy_title' => 'Лише локальні нотатки',
'privacy_text' => 'Сторінка зберігає нотатки в sessionStorage браузера. Вона не завантажує файли і не викликає API інструментів.',
],
'pl' => [
'title' => 'Panel pracy nad sprawą',
'label' => 'Panel pracy nad sprawą',
'sub' => 'Prowadzony tok sprawy',
'description' => 'Zaplanuj sprawę, uporządkuj dowody i otwieraj właściwe narzędzia po kolei bez zapisywania dokumentów.',
'badge' => 'Prywatna sesja',
'kicker' => 'Prowadzone przygotowanie',
'hero_title' => 'Jedno spokojne miejsce na kolejny krok prawny.',
'hero_text' => 'Użyj panelu, aby opisać sprawę, wybrać następne narzędzie i prowadzić lokalną mapę dowodów.',
'privacy_title' => 'Tylko lokalne notatki',
'privacy_text' => 'Strona zapisuje notatki w sessionStorage przeglądarki. Nie przesyła plików i nie wywołuje API narzędzi.',
],
];
return array_merge($copy['en'], $copy[$language] ?? []);
}
function dbnToolsWorkbenchMeta(?string $language = null): array
{
$copy = dbnToolsWorkbenchCopy($language);
return [
'label' => $copy['label'],
'sub' => $copy['sub'],
'description' => $copy['description'],
'badge' => $copy['badge'],
'url' => 'workbench.php',
'icon' => 'WB',
];
}
function dbnToolsLaunchedTools(?string $language = null): array
{
$language = dbnToolsNormalizeUiLanguage($language ?? dbnToolsCurrentLanguage());
$copy = [
'en' => [
'transcribe' => ['Transcribe', 'Audio and meetings', 'Turn audio or video into text with speaker separation and legal vocabulary support.', 'Whisper / GPU'],
'timeline' => ['Timeline', 'Events and deadlines', 'Extract dates, hearings, Barnevernet milestones, and legal deadlines from notes or files.', 'Process-and-forget'],
'redact' => ['Redact', 'Privacy protection', 'Remove names, ID numbers, phone numbers, and addresses before sharing documents.', 'Deterministic first'],
'korrespond' => ['Korrespond', 'Draft & reply to authorities', 'Draft replies or new correspondence to NAV, Barnevernet, schools, Bufdir and other Norwegian authorities — Norwegian + your language, side-by-side, citations verified against the legal corpus.', 'Hard-RAG · Norsk + EN/PL/UK'],
'barnevernet' => ['BVJ Analyzer', 'Barnevernet documents', 'Analyze child-welfare documents from your perspective with procedural red flags and citations.', 'Document + RAG'],
'advocate' => ['Advocate', 'Partisan brief', 'Choose who you represent and generate a source-grounded brief for that position.', 'ECHR + Lovdata'],
'deep-research' => ['Deep Research', 'Agent + RAG', 'Expand a question into research angles, search legal slices, and synthesize a cited brief.', 'Family-legal'],
'discrepancy' => ['Discrepancy Finder', 'Document comparison', 'Upload two versions of a Barnevernet document and find contradictions, deleted facts, and new allegations.', 'Cross-document AI'],
'corpus' => ['Corpus', 'Legal knowledge base', 'Inspect indexed sources, corpus health, legal categories, and retrieval behavior.', '~220 K passages'],
'citations' => ['Citations', 'Citation graph', 'Browse the legal citation graph — what a statute cites, what cites it, and what implements or amends it.', 'Graph topology'],
],
'no' => [
'transcribe' => ['Transkriber', 'Lyd og møter', 'Gjør lyd eller video om til tekst med talerinndeling og juridisk ordforråd.', 'Whisper / GPU'],
'timeline' => ['Tidslinje', 'Hendelser og frister', 'Hent ut datoer, møter, barnevernsmilepæler og juridiske frister fra notater eller filer.', 'Behandles og glemmes'],
'redact' => ['Sladder', 'Personvern', 'Fjern navn, ID-numre, telefonnumre og adresser før du deler dokumenter.', 'Deterministisk først'],
'korrespond' => ['Korrespond', 'Brev og svar til myndighetene', 'Skriv utkast til svar eller nytt brev til NAV, barnevernet, skolen, Bufdir og andre norske myndigheter — bokmål + ditt språk side om side, med verifiserte lovhenvisninger.', 'Hard-RAG · Norsk + EN/PL/UK'],
'barnevernet' => ['BVJ-analyse', 'Barnevernsdokumenter', 'Analyser barnevernsdokumenter fra ditt perspektiv med prosessuelle røde flagg og kilder.', 'Dokument + RAG'],
'advocate' => ['Advokatmodus', 'Partsinnlegg', 'Velg hvem du representerer og lag et kildebelagt innlegg for den posisjonen.', 'EMD + Lovdata'],
'deep-research' => ['Dyp research', 'Agent + RAG', 'Utvid et spørsmål til forskningsvinkler, søk juridiske kilder og lag et kildebelagt notat.', 'Familierett'],
'discrepancy' => ['Avviksfinner', 'Dokumentsammenligning', 'Last opp to versjoner av et barneverndokument og finn motsigelser, slettede fakta og nye påstander.', 'Kryssdokument AI'],
'corpus' => ['Korpus', 'Juridisk kunnskapsbase', 'Se indekserte kilder, korpushelse, juridiske kategorier og søkeoppsett.', '~220 K utdrag'],
'citations' => ['Siteringer', 'Siteringsgraf', 'Utforsk siteringsgrafen — hva et dokument siterer, hva som siterer det, og hva som implementerer det.', 'Grafstruktur'],
],
'uk' => [
'transcribe' => ['Транскрипція', 'Аудіо та зустрічі', 'Перетворюйте аудіо або відео на текст із розділенням мовців і юридичною лексикою.', 'Whisper / GPU'],
'timeline' => ['Хронологія', 'Події та строки', 'Витягуйте дати, слухання, етапи Barnevernet і юридичні строки з нотаток або файлів.', 'Обробити і забути'],
'redact' => ['Редагування', 'Захист приватності', 'Видаляйте імена, ідентифікаційні номери, телефони та адреси перед поширенням документів.', 'Детермінований метод'],
'korrespond' => ['Korrespond', 'Листи і відповіді органам влади', 'Створюйте чернетки відповідей або нових листів до NAV, Barnevernet, школи, Bufdir та інших норвезьких органів — норвезькою + вашою мовою поряд, із перевіреними посиланнями на закон.', 'Hard-RAG · Norsk + EN/PL/UK'],
'barnevernet' => ['BVJ аналізатор', 'Документи Barnevernet', 'Аналізуйте документи захисту дітей з вашої позиції, з процесуальними ризиками та джерелами.', 'Документ + RAG'],
'advocate' => ['Адвокат', 'Позиційний бриф', 'Оберіть, кого представляєте, і створіть бриф із джерелами на підтримку цієї позиції.', 'ЄСПЛ + Lovdata'],
'deep-research' => ['Глибоке дослідження', 'Agent + RAG', 'Розгортає питання в дослідницькі напрями, шукає юридичні джерела та створює бриф.', 'Сімейне право'],
'discrepancy' => ['Пошук розбіжностей', 'Порівняння документів', 'Завантажте дві версії документа Barnevernet і знайдіть суперечності, видалені факти та нові твердження.', 'Міждокументний AI'],
'corpus' => ['Корпус', 'Юридична база знань', 'Переглядайте індексовані джерела, стан корпусу, категорії та поведінку пошуку.', '~220 тис. уривків'],
'citations' => ['Граф цитувань', 'Мережа посилань', 'Граф правових посилань — що цитує документ, хто цитує його, що його реалізує.', 'Граф-топологія'],
],
'pl' => [
'transcribe' => ['Transkrypcja', 'Audio i spotkania', 'Zamień audio lub wideo na tekst z rozdzieleniem mówców i słownictwem prawnym.', 'Whisper / GPU'],
'timeline' => ['Oś czasu', 'Wydarzenia i terminy', 'Wyodrębniaj daty, rozprawy, etapy Barnevernet i terminy prawne z notatek lub plików.', 'Przetwórz i zapomnij'],
'redact' => ['Redakcja', 'Ochrona prywatności', 'Usuń imiona, numery identyfikacyjne, telefony i adresy przed udostępnieniem dokumentów.', 'Metoda deterministyczna'],
'korrespond' => ['Korrespond', 'Pisma i odpowiedzi do urzędów', 'Twórz projekty odpowiedzi lub nowych pism do NAV, Barnevernet, szkoły, Bufdir i innych norweskich organów — norweski + Twój język obok siebie, ze zweryfikowanymi odniesieniami do ustaw.', 'Hard-RAG · Norsk + EN/PL/UK'],
'barnevernet' => ['Analizator BVJ', 'Dokumenty Barnevernet', 'Analizuj dokumenty opieki nad dziećmi z Twojej perspektywy, z ryzykami proceduralnymi i źródłami.', 'Dokument + RAG'],
'advocate' => ['Adwokat', 'Stronniczy brief', 'Wybierz, kogo reprezentujesz, i wygeneruj brief oparty na źródłach dla tej pozycji.', 'ETPC + Lovdata'],
'deep-research' => ['Głębokie badanie', 'Agent + RAG', 'Rozwija pytanie w kierunki badawcze, przeszukuje źródła prawne i tworzy brief z cytatami.', 'Prawo rodzinne'],
'discrepancy' => ['Wyszukiwacz rozbieżności', 'Porównanie dokumentów', 'Prześlij dwie wersje dokumentu Barnevernet i znajdź sprzeczności, usunięte fakty i nowe zarzuty.', 'AI Między-dokumentowe'],
'corpus' => ['Korpus', 'Prawna baza wiedzy', 'Sprawdzaj indeksowane źródła, stan korpusu, kategorie prawne i działanie wyszukiwania.', '~220 tys. fragmentów'],
'citations' => ['Graf cytowań', 'Sieć cytowań', 'Przeglądaj sieć cytowań — co cytuje dokument, kto go cytuje i co go implementuje.', 'Topologia grafu'],
],
];
$selected = $copy[$language] ?? $copy['en'];
$order = ['transcribe', 'timeline', 'redact', 'korrespond', 'barnevernet', 'advocate', 'deep-research', 'discrepancy', 'corpus', 'citations'];
$icons = [
'transcribe' => 'TR',
'timeline' => 'TL',
'redact' => 'RX',
'korrespond' => 'KOR',
'barnevernet' => 'BVJ',
'advocate' => 'ADV',
'deep-research' => 'DR',
'discrepancy' => 'DC',
'corpus' => 'KB',
'citations' => 'CIT',
];
$out = [];
foreach ($order as $slug) {
[$label, $sub, $description, $badge] = $selected[$slug];
$out[$slug] = [
'label' => $label,
'sub' => $sub,
'description' => $description,
'badge' => $badge,
'url' => $slug . '.php',
'icon' => $icons[$slug],
];
}
return $out;
}