<?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'       => 'prepaid',
            '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.',
            // ── Corpus dashboard pages ────────────────────────────
            'dash_nav_overview'    => 'Overview',
            'dash_nav_documents'   => 'Documents',
            'dash_nav_upload'      => 'Upload',
            'dash_nav_ask'         => 'Ask',
            'dash_nav_settings'    => 'Settings',
            'dash_page_subtitle'   => 'My corpus',
            'dash_title_overview'  => 'My corpus',
            'dash_lead_overview'   => 'Private legal knowledge base. Upload, organise, ask — all kept to your account.',
            'dash_title_docs'      => 'Documents',
            'dash_lead_docs'       => 'All documents in your private corpus. Click to open, or select multiple for bulk actions.',
            'dash_title_upload'    => 'Upload documents',
            'dash_lead_upload'     => 'Upload PDF, DOCX, or TXT — or paste text or a URL. Content is chunked, embedded and indexed in your private corpus.',
            'dash_title_chat'      => 'Ask the corpus',
            'dash_lead_chat'       => 'Ask legal questions. Answers stream with citations from your corpus and the shared Do Better Norge package.',
            'dash_title_settings'  => 'Settings',
            'dash_lead_settings'   => 'Settings for your private corpus.',
            'dash_title_document'  => 'Document',
            'dash_section_account' => 'Account',
            'dash_label_client_id' => 'Client ID',
            'dash_label_corpus_id' => 'Corpus ID',
            'dash_label_user_id'   => 'User ID',
            'dash_section_rag'     => 'RAG pipeline',
            'dash_section_privacy' => 'Privacy',
            'dash_privacy_p1'      => 'Everything you upload or save here is kept to your account. Other users cannot see or search your documents. The shared package family-legal (~220 K passages of Norwegian law and case law) is shared and used to enrich answers with authoritative sources, but you own everything you add.',
            'dash_privacy_p2a'     => 'Delete individual documents from',
            'dash_privacy_p2b'     => 'To delete the whole account, contact support.',
            'dash_upload_source'   => 'Choose source',
            'dash_upload_file_btn' => 'File',
            'dash_upload_text_btn' => 'Paste text',
            'dash_upload_drop_strong' => 'Drop file here, or click to browse',
            'dash_upload_drop_small'  => 'PDF · DOCX · TXT · max 8 MB · automatic OCR for scanned PDFs',
            'dash_upload_title_lbl'    => 'Title',
            'dash_upload_title_ph'    => 'Auto from filename if empty',
            'dash_upload_category_lbl'=> 'Category',
            'dash_upload_category_ph' => 'e.g. family law, child welfare',
            'dash_upload_tags_lbl'    => 'Tags',
            'dash_upload_lang_lbl'    => 'Language',
            'dash_upload_content_lbl' => 'Content',
            'dash_upload_content_ph'  => 'Paste text here — at least 30 characters',
            'dash_upload_note_title_ph'=> 'Give the note a title',
            'dash_upload_url_ph'      => 'https://lovdata.no/dokument/…',
            'dash_upload_url_title_ph'=> 'Empty = uses URL',
            'dash_upload_url_note'    => 'URLs run in the background — check «Documents» for status.',
            'dash_upload_btn_file'    => 'Upload and index',
            'dash_upload_btn_text'    => 'Save to corpus',
            'dash_upload_btn_url'     => 'Fetch and index',
            'dash_chat_disclaimer'    => '⚖ Legal information and preparation support — not definitive legal advice. Always confirm with a lawyer.',
            'dash_chat_placeholder'   => 'e.g. «What does § 4-12 say about placement without consent?»',
            'dash_filter_q_ph'        => 'Search titles or tags…',
            'dash_filter_all_status'  => 'All statuses',
            'dash_delete_selected'    => 'Delete selected',
            'dash_upload_btn_short'   => '+ Upload',
            'dash_prev'               => '← Previous',
            'dash_next'               => 'Next →',
            'js_locale'            => 'en-GB',
            'js_status_ready'      => 'Ready',
            'js_status_pending'    => 'Pending',
            'js_status_processing' => 'Processing',
            'js_status_error'      => 'Error',
            'js_th_title'          => 'Title',
            'js_th_status'         => 'Status',
            'js_th_chunks'         => 'Passages',
            'js_th_added'          => 'Added',
            'js_th_category'       => 'Category',
            'js_loading'           => 'Loading…',
            'js_loading_docs'      => 'Loading documents…',
            'js_empty_docs'        => 'No documents yet.',
            'js_empty_docs_link'   => 'Upload your first',
            'js_empty_filter'      => 'No results for selected filter.',
            'js_error_loading'     => 'Could not load: ',
            'js_kpi_docs'          => 'Documents',
            'js_kpi_chunks'        => 'Passages indexed',
            'js_kpi_ready'         => 'Ready',
            'js_kpi_last'          => 'Last upload',
            'js_kpi_of_quota'      => 'of quota',
            'js_kpi_searchable'    => 'searchable pieces',
            'js_kpi_of_total'      => 'of total',
            'js_kpi_date_label'    => 'date',
            'js_get_started'       => 'Get started',
            'js_see_all'           => 'See all →',
            'js_recent_activity'   => 'Recent activity',
            'js_upload_docs_btn'   => '📥 Upload documents',
            'js_ask_btn'           => '💬 Ask a legal question',
            'js_browse_btn'        => '📚 Browse corpus',
            'js_pager_showing'     => 'Showing {from}–{to} of {total}',
            'js_delete_selected'   => 'Delete selected',
            'js_delete_n_selected' => 'Delete selected ({n})',
            'js_delete_docs_confirm'=> 'Delete {n} documents? This cannot be undone.',
            'js_prev'              => '← Previous',
            'js_next'              => 'Next →',
            'js_filter_all_status' => 'All statuses',
            'js_filter_placeholder'=> 'Search titles or tags…',
            'js_chat_thinking'     => 'thinking…',
            'js_chat_save'         => '💾 Save to corpus',
            'js_chat_copy'         => '📋 Copy',
            'js_chat_copied'       => '✓ Copied',
            'js_chat_passages_meta'=> '{n} passages',
            'js_chat_save_unavail' => 'Save dialog unavailable.',
            'js_tab_preview'       => 'Preview',
            'js_tab_chunks'        => 'Passages',
            'js_tab_related'       => 'Related',
            'js_tab_edit'          => 'Edit',
            'js_words'             => 'words',
            'js_passages_label'    => 'passages',
            'js_added_at'          => 'added',
            'js_tags_label'        => 'Tags:',
            'js_source_url_label'  => 'Original source ↗',
            'js_back'              => '← Back',
            'js_delete_btn'        => 'Delete',
            'js_save_changes'      => 'Save changes',
            'js_saving'            => 'Saving…',
            'js_saved_at'          => 'Saved {time}',
            'js_delete_doc_confirm'=> 'Delete this document permanently?',
            'js_loading_related'   => 'Loading related authorities from the graph…',
            'js_no_citations'      => 'No known citations in the graph database yet.',
            'js_graph_unavailable' => 'Graph database is not available right now.',
            'js_no_chunks'         => 'No passages indexed yet.',
            'js_content_empty'     => '(empty)',
            'js_doc_not_found'     => 'Document not found',
            'js_missing_doc_id'    => 'Missing document ID.',
            'js_upload_select_file'=> 'Select a file first.',
            'js_upload_indexing'   => 'Uploading and indexing…',
            'js_upload_saving'     => 'Indexing…',
            'js_upload_queuing'    => 'Queuing URL for fetching…',
            'js_upload_drop_hint'  => 'Drop file here, or click to browse',
            'js_upload_indexed'    => '✅ Indexed! {n} passages added.',
            'js_upload_open_doc'   => 'Open document',
            'js_upload_queued'     => '📥 Queued.',
            'js_upload_follow_docs'=> 'Follow progress in Documents',
            'js_upload_bg_done'    => '✅ Background job done. {n} passages indexed.',
            'js_field_title'       => 'Title',
            'js_field_category'    => 'Category',
            'js_field_tags'        => 'Tags (comma-separated)',
            'js_field_lang'        => 'Language',
            'js_field_author'      => 'Author',

            // ── Legal Analysis tool ───────────────────────────────────────────
            'la_doc_type_label'      => 'Document type',
            'la_doc_type_auto'       => 'Auto-detect',
            'la_doc_type_other'      => 'Other',
            'la_engine_hint'         => 'Engine: dbn-legal-agent-v3 (Norwegian legal fine-tune on GPU). Each issue answered separately; ~30-60s per issue, up to 5 issues per run.',
            'la_input_label'         => 'Pasted text',
            'la_input_hint'          => '(optional if file or doc selected)',
            'la_input_placeholder'   => 'Paste a case note, court decision, vedtak, letter, or any legal document text. You can also upload a file or select from My Docs above — at least one source is required.',
            'la_run_button'          => 'Run legal analysis',
            'la_run_button_busy'     => 'Running…',
            'la_ready_title'         => 'Ready',
            'la_ready_intro'         => 'Upload a document or paste text — the tool will extract up to 5 distinct legal issues, then ask the Norwegian-law fine-tune to answer each one with citations.',
            'la_ready_pipeline'      => 'Pass 1 uses Azure GPT-4o-mini to spot issues. Pass 2 calls the dbn-legal-agent-v3 fine-tune on ocelot for each one. Pass 3 synthesises the overall picture. A typical run takes 2-5 minutes.',
            'la_pipeline_pass1'      => 'Pass 1',
            'la_pipeline_pass2'      => 'Pass 2',
            'la_pipeline_pass3'      => 'Pass 3',
            'la_pass1_extracting'    => 'Extracting legal issues from your document…',
            'la_pass1_found'         => 'Found {n} legal issue(s)',
            'la_pass2_asking'        => 'Asking dbn-legal-agent-v3 about each issue…',
            'la_pass2_answered'      => 'Specialist answered {n} issue(s)',
            'la_pass3_synthesis'     => 'Synthesis complete',
            'la_waiting'             => 'Waiting…',
            'la_searching_corpus'    => 'Searching legal corpus…',
            'la_asking_finetune'     => 'Asking dbn-legal-agent-v3…',
            'la_overall'             => 'Overall assessment',
            'la_next_steps'          => 'Next steps',
            'la_answer_header'       => 'Answer',
            'la_legal_basis'         => 'Legal basis:',
            'la_extracting_status'   => 'Identifying distinct legal issues…',
            'la_synthesising_status' => 'Synthesising overall assessment…',
            'la_extracting_files'    => 'Extracting text from {n} file(s)…',
            'la_need_input'          => 'Paste text, upload a file, or select a document before running.',
            'la_error_prefix'        => 'Error:',
            'la_server_returned'     => 'Server returned',
            'la_empty_issues'        => 'No discrete legal issues were identified.',

            'la_addon_button'        => '⚖️🇳🇴 Run deep legal analysis on this text',
            'la_addon_button_busy'   => 'Running deep legal analysis…',
            'la_addon_section'       => 'Deep Legal Analysis',

            'lt_source_label'        => 'Source language',
            'lt_target_label'        => 'Translate to',
            'lt_doc_type_label'      => 'Document type',
            'lt_run_button'          => 'Translate document',
            'lt_run_button_busy'     => 'Translating…',
            'lt_input_label'         => 'Paste text to translate',
            'lt_input_hint'          => '(optional if uploading files)',
            'lt_input_placeholder'   => 'Paste Norwegian legal text here…',
            'lt_translating_status'  => 'Translating…',
            'lt_ready_title'         => 'Ready to translate',
            'lt_ready_intro'         => 'Upload a PDF, DOCX or TXT, or paste text below.',
            'lt_result_title'        => 'Translation',
            'lt_annotations_title'   => 'Legal term notes',
            'lt_copy_button'         => 'Copy translation',
            'lt_copy_done'           => 'Copied!',
            'lt_need_input'          => 'Please paste text or upload a file.',
            'lt_error_prefix'        => 'Error',
            'lt_server_returned'     => 'Server returned',
            'lt_extracting_files'    => 'Extracting text from {n} file(s)…',
            'lt_engine_hint'         => 'Engine: Azure GPT-4o · Legal documents are processed in memory and never stored.',
            'lt_same_lang_error'     => 'Source and target languages must be different.',
            'lt_disclaimer'          => 'This is an AI-assisted translation. Always verify with a qualified legal interpreter for official use.',

            'doc_picker_btn'         => 'Select from My Docs',
            'audio_picker_btn'       => 'Select from My Audio',
            'doc_picker_modal_title' => 'Select from My Docs',

            // MCP setup page + tool detail pages
            'mcp_page_title'             => 'MCP — Do Better Norge',
            'mcp_meta_desc'              => 'Connect Claude, Cursor, and other AI tools to all 19 DBN legal preparation tools via MCP.',
            'mcp_hero_badge'             => '✦ Plus & Pro',
            'mcp_hero_h1'                => 'Use DBN tools from Claude, Cursor & Copilot',
            'mcp_hero_sub'               => 'Connect any MCP client to all 19 Do Better Norge tools — transcription, legal analysis, timelines, redaction, and more.',
            'mcp_token_section_title'    => 'Your MCP token',
            'mcp_gate_guest_p'           => 'Sign in to create your personal MCP token. Available to Plus and Pro members.',
            'mcp_gate_guest_btn'         => 'Sign in',
            'mcp_gate_free_p'            => 'MCP access is available on Plus and Pro plans. Upgrade to connect your AI tools.',
            'mcp_gate_free_btn'          => 'Upgrade plan',
            'mcp_token_hint'             => 'Tokens are shown once at creation. Create one per client (Claude, Cursor, VS Code…).',
            'mcp_token_create_btn'       => 'Create token',
            'mcp_token_reveal_label'     => 'Copy this token now — it will not be shown again:',
            'mcp_token_copy_btn'         => 'Copy token',
            'mcp_token_no_tokens'        => 'No MCP tokens yet.',
            'mcp_token_active'           => 'Active',
            'mcp_token_revoked'          => 'Revoked',
            'mcp_token_never_used'       => 'Never used',
            'mcp_token_last_used'        => 'Last used',
            'mcp_token_revoke_btn'       => 'Revoke',
            'mcp_config_title'           => 'Client configuration',
            'mcp_config_hint'            => 'Paste your token into the config below after creating it above.',
            'mcp_config_token_filled'    => 'Token auto-filled.',
            'mcp_config_run_terminal'    => 'Run in your terminal:',
            'mcp_test_btn'               => 'Test connection',
            'mcp_test_no_token'          => 'Create a token first.',
            'mcp_test_testing'           => 'Testing…',
            'mcp_tools_title'            => 'Available tools',
            'mcp_tools_sub'              => 'All tools run on your Plus or Pro plan credits. Click a card for full technical details.',
            'mcp_tools_param_req_hint'   => 'Purple = required',
            'mcp_tools_view_details'     => 'View details →',
            'mcp_privacy_title'          => 'Privacy',
            'mcp_privacy_text'           => 'Process-and-forget by default. All tool calls process your text in memory and return results to your AI client. Nothing is saved to My Case unless you explicitly call dbn.save_to_case.',
            'mcp_privacy_legal'          => 'Tools provide legal preparation support, not final legal advice. Results are for informational purposes and should be reviewed by a qualified legal professional.',
            'mcp_tool_back'              => '← Back to MCP setup',
            'mcp_tool_params_title'      => 'Parameters',
            'mcp_tool_no_params'         => 'This tool takes no input parameters.',
            'mcp_tool_col_param'         => 'Parameter',
            'mcp_tool_col_type'          => 'Type',
            'mcp_tool_col_required'      => 'Required',
            'mcp_tool_col_desc'          => 'Description',
            'mcp_tool_example_req'       => 'Example request',
            'mcp_tool_example_resp'      => 'Example response',
            'mcp_tool_connect_title'     => 'Connect',
            'mcp_tool_connect_text'      => 'Create your MCP token on the setup page and use it with any supported client.',
            'mcp_tool_setup_link'        => 'Set up MCP →',
            'mcp_tool_yes'               => 'Yes',
            'mcp_tool_no'                => 'No',
            // ── Context bar + privacy page (added 2026-05-24) ────────────────
            'context_bar_tag'            => 'AI legal tools · Norway · since 2019',
            'context_bar_why'            => 'Why different from ChatGPT →',
            'context_bar_pricing'        => 'Pricing →',
            'context_bar_mcp'            => 'MCP for developers →',
            'context_bar_privacy'        => 'Privacy →',
            'footer_privacy_link'        => 'Privacy',
            'privacy_page_title'         => 'Privacy — Do Better Norge Tools',
        ],
        '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'       => 'forhåndsbetalte',
            '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.',
            'dash_nav_overview'    => 'Oversikt',
            'dash_nav_documents'   => 'Dokumenter',
            'dash_nav_upload'      => 'Last opp',
            'dash_nav_ask'         => 'Spør',
            'dash_nav_settings'    => 'Innstillinger',
            'dash_page_subtitle'   => 'Min korpus',
            'dash_title_overview'  => 'Min korpus',
            'dash_lead_overview'   => 'Privat juridisk kunnskapsbase. Last opp, organiser, spør — alt holdes til din konto.',
            'dash_title_docs'      => 'Dokumenter',
            'dash_lead_docs'       => 'Alle dokumenter i din private korpus. Klikk for å åpne, eller velg flere for bulk-handlinger.',
            'dash_title_upload'    => 'Last opp dokumenter',
            'dash_lead_upload'     => 'Last opp PDF, DOCX, eller TXT — eller lim inn tekst eller en URL. Innholdet chunkes, embedes og indekseres i din private korpus.',
            'dash_title_chat'      => 'Spør korpuset',
            'dash_lead_chat'       => 'Still juridiske spørsmål. Svar streames med kildehenvisninger til ditt eget korpus og delt Do Better Norge-pakke.',
            'dash_title_settings'  => 'Innstillinger',
            'dash_lead_settings'   => 'Innstillinger for ditt private korpus.',
            'dash_title_document'  => 'Dokument',
            'dash_section_account' => 'Konto',
            'dash_label_client_id' => 'Klient-ID',
            'dash_label_corpus_id' => 'Korpus-ID',
            'dash_label_user_id'   => 'Bruker-ID',
            'dash_section_rag'     => 'RAG-pipeline',
            'dash_section_privacy' => 'Personvern',
            'dash_privacy_p1'      => 'Alt du laster opp eller lagrer her holdes til din konto. Andre brukere kan ikke se eller søke i dine dokumenter. Felles-pakken family-legal (~220K passasjer av norsk lovverk og rettspraksis) er delt og brukes for å berike svar med autoritative kilder, men du eier alt du selv legger inn.',
            'dash_privacy_p2a'     => 'Slett enkelt-dokumenter fra',
            'dash_privacy_p2b'     => 'Trenger du å slette hele kontoen, kontakt support.',
            'dash_upload_source'   => 'Velg kilde',
            'dash_upload_file_btn' => 'Fil',
            'dash_upload_text_btn' => 'Lim inn tekst',
            'dash_upload_drop_strong' => 'Slipp filen her, eller klikk for å bla',
            'dash_upload_drop_small'  => 'PDF · DOCX · TXT · maks 8 MB · automatisk OCR for skannede PDF-er',
            'dash_upload_title_lbl'    => 'Tittel',
            'dash_upload_title_ph'    => 'Auto fra filnavn om tom',
            'dash_upload_category_lbl'=> 'Kategori',
            'dash_upload_category_ph' => 'f.eks. barnevern, familierett',
            'dash_upload_tags_lbl'    => 'Tagger',
            'dash_upload_lang_lbl'    => 'Språk',
            'dash_upload_content_lbl' => 'Innhold',
            'dash_upload_content_ph'  => 'Lim inn tekst her — minst 30 tegn',
            'dash_upload_note_title_ph'=> 'Gi notatet en tittel',
            'dash_upload_url_ph'      => 'https://lovdata.no/dokument/…',
            'dash_upload_url_title_ph'=> 'Tom = bruker URL',
            'dash_upload_url_note'    => 'URLer kjøres i bakgrunnen — sjekk «Dokumenter» for status.',
            'dash_upload_btn_file'    => 'Last opp og indekser',
            'dash_upload_btn_text'    => 'Lagre i korpus',
            'dash_upload_btn_url'     => 'Hent og indekser',
            'dash_chat_disclaimer'    => '⚖ Juridisk informasjon og forberedelsesstøtte — ikke endelig juridisk rådgivning. Bekreft alltid med advokat.',
            'dash_chat_placeholder'   => 'f.eks. «Hva sier barnevernloven § 4-12 om plassering uten samtykke?»',
            'dash_filter_q_ph'        => 'Søk i titler eller tagger…',
            'dash_filter_all_status'  => 'Alle statuser',
            'dash_delete_selected'    => 'Slett valgte',
            'dash_upload_btn_short'   => '+ Last opp',
            'dash_prev'               => '← Forrige',
            'dash_next'               => 'Neste →',
            'js_locale'            => 'nb-NO',
            'js_status_ready'      => 'Klar',
            'js_status_pending'    => 'Venter',
            'js_status_processing' => 'Behandler',
            'js_status_error'      => 'Feil',
            'js_th_title'          => 'Tittel',
            'js_th_status'         => 'Status',
            'js_th_chunks'         => 'Passasjer',
            'js_th_added'          => 'Lagt til',
            'js_th_category'       => 'Kategori',
            'js_loading'           => 'Laster…',
            'js_loading_docs'      => 'Laster dokumenter…',
            'js_empty_docs'        => 'Ingen dokumenter ennå.',
            'js_empty_docs_link'   => 'Last opp ditt første',
            'js_empty_filter'      => 'Ingen treff for valgt filter.',
            'js_error_loading'     => 'Kunne ikke laste: ',
            'js_kpi_docs'          => 'Dokumenter',
            'js_kpi_chunks'        => 'Passasjer indeksert',
            'js_kpi_ready'         => 'Klare',
            'js_kpi_last'          => 'Siste opplasting',
            'js_kpi_of_quota'      => 'av kvote',
            'js_kpi_searchable'    => 'søkbare biter',
            'js_kpi_of_total'      => 'av totalt',
            'js_kpi_date_label'    => 'dato',
            'js_get_started'       => 'Kom i gang',
            'js_see_all'           => 'Se alle →',
            'js_recent_activity'   => 'Nylig aktivitet',
            'js_upload_docs_btn'   => '📥 Last opp dokumenter',
            'js_ask_btn'           => '💬 Still et juridisk spørsmål',
            'js_browse_btn'        => '📚 Bla gjennom korpus',
            'js_pager_showing'     => 'Viser {from}–{to} av {total}',
            'js_delete_selected'   => 'Slett valgte',
            'js_delete_n_selected' => 'Slett valgte ({n})',
            'js_delete_docs_confirm'=> 'Slette {n} dokumenter? Dette kan ikke angres.',
            'js_prev'              => '← Forrige',
            'js_next'              => 'Neste →',
            'js_filter_all_status' => 'Alle statuser',
            'js_filter_placeholder'=> 'Søk i titler eller tagger…',
            'js_chat_thinking'     => 'tenker…',
            'js_chat_save'         => '💾 Lagre i korpus',
            'js_chat_copy'         => '📋 Kopier',
            'js_chat_copied'       => '✓ Kopiert',
            'js_chat_passages_meta'=> '{n} passasjer',
            'js_chat_save_unavail' => 'Lagre-dialog ikke tilgjengelig.',
            'js_tab_preview'       => 'Forhåndsvisning',
            'js_tab_chunks'        => 'Passasjer',
            'js_tab_related'       => 'Relatert',
            'js_tab_edit'          => 'Rediger',
            'js_words'             => 'ord',
            'js_passages_label'    => 'passasjer',
            'js_added_at'          => 'lagt til',
            'js_tags_label'        => 'Tagger:',
            'js_source_url_label'  => 'Original kilde ↗',
            'js_back'              => '← Tilbake',
            'js_delete_btn'        => 'Slett',
            'js_save_changes'      => 'Lagre endringer',
            'js_saving'            => 'Lagrer…',
            'js_saved_at'          => 'Lagret {time}',
            'js_delete_doc_confirm'=> 'Slette dette dokumentet permanent?',
            'js_loading_related'   => 'Laster relaterte autoriteter fra graphen…',
            'js_no_citations'      => 'Dokumentet har ingen kjente siteringer i graf-databasen ennå.',
            'js_graph_unavailable' => 'Graf-databasen er ikke tilgjengelig akkurat nå.',
            'js_no_chunks'         => 'Ingen passasjer indeksert ennå.',
            'js_content_empty'     => '(tom)',
            'js_doc_not_found'     => 'Dokument ikke funnet',
            'js_missing_doc_id'    => 'Mangler dokument-id.',
            'js_upload_select_file'=> 'Velg en fil først.',
            'js_upload_indexing'   => 'Laster opp og indekserer…',
            'js_upload_saving'     => 'Indekserer…',
            'js_upload_queuing'    => 'Køer URL for henting…',
            'js_upload_drop_hint'  => 'Slipp filen her, eller klikk for å bla',
            'js_upload_indexed'    => '✅ Indeksert! {n} passasjer lagt til.',
            'js_upload_open_doc'   => 'Åpne dokument',
            'js_upload_queued'     => '📥 Lagt i kø.',
            'js_upload_follow_docs'=> 'Følg fremdriften i Dokumenter',
            'js_upload_bg_done'    => '✅ Bakgrunnsjobb ferdig. {n} passasjer indeksert.',
            'js_field_title'       => 'Tittel',
            'js_field_category'    => 'Kategori',
            'js_field_tags'        => 'Tagger (komma-separert)',
            'js_field_lang'        => 'Språk',
            'js_field_author'      => 'Forfatter',

            // ── Juridisk analyse ──────────────────────────────────────────────
            'la_doc_type_label'      => 'Dokumenttype',
            'la_doc_type_auto'       => 'Auto-oppdaging',
            'la_doc_type_other'      => 'Annet',
            'la_engine_hint'         => 'Motor: dbn-legal-agent-v3 (norsk juridisk fine-tune på GPU). Hvert spørsmål besvares hver for seg; ~30-60s per spørsmål, opp til 5 spørsmål per kjøring.',
            'la_input_label'         => 'Limt inn tekst',
            'la_input_hint'          => '(valgfritt hvis fil eller dokument er valgt)',
            'la_input_placeholder'   => 'Lim inn et saksnotat, rettsavgjørelse, vedtak, brev eller annen juridisk dokumenttekst. Du kan også laste opp en fil eller velge fra Mine dokumenter ovenfor — minst én kilde kreves.',
            'la_run_button'          => 'Kjør juridisk analyse',
            'la_run_button_busy'     => 'Kjører…',
            'la_ready_title'         => 'Klar',
            'la_ready_intro'         => 'Last opp et dokument eller lim inn tekst — verktøyet henter ut opptil 5 distinkte juridiske spørsmål og lar den norske fine-tunen svare på hvert enkelt med kilder.',
            'la_ready_pipeline'      => 'Pass 1 bruker Azure GPT-4o-mini for å identifisere spørsmål. Pass 2 kaller dbn-legal-agent-v3 fine-tunen på ocelot for hvert spørsmål. Pass 3 sammenfatter helhetsbildet. En typisk kjøring tar 2-5 minutter.',
            'la_pipeline_pass1'      => 'Pass 1',
            'la_pipeline_pass2'      => 'Pass 2',
            'la_pipeline_pass3'      => 'Pass 3',
            'la_pass1_extracting'    => 'Henter ut juridiske spørsmål fra dokumentet…',
            'la_pass1_found'         => 'Fant {n} juridisk(e) spørsmål',
            'la_pass2_asking'        => 'Spør dbn-legal-agent-v3 om hvert spørsmål…',
            'la_pass2_answered'      => 'Spesialisten besvarte {n} spørsmål',
            'la_pass3_synthesis'     => 'Syntese fullført',
            'la_waiting'             => 'Venter…',
            'la_searching_corpus'    => 'Søker i juridisk korpus…',
            'la_asking_finetune'     => 'Spør dbn-legal-agent-v3…',
            'la_overall'             => 'Helhetsvurdering',
            'la_next_steps'          => 'Neste skritt',
            'la_answer_header'       => 'Svar',
            'la_legal_basis'         => 'Lovgrunnlag:',
            'la_extracting_status'   => 'Identifiserer distinkte juridiske spørsmål…',
            'la_synthesising_status' => 'Sammenfatter helhetsvurdering…',
            'la_extracting_files'    => 'Henter ut tekst fra {n} fil(er)…',
            'la_need_input'          => 'Lim inn tekst, last opp en fil eller velg et dokument før du kjører.',
            'la_error_prefix'        => 'Feil:',
            'la_server_returned'     => 'Server svarte',
            'la_empty_issues'        => 'Ingen distinkte juridiske spørsmål ble identifisert.',

            'la_addon_button'        => '⚖️🇳🇴 Kjør dyp juridisk analyse på denne teksten',
            'la_addon_button_busy'   => 'Kjører dyp juridisk analyse…',
            'la_addon_section'       => 'Dyp juridisk analyse',

            'lt_source_label'        => 'Kildespråk',
            'lt_target_label'        => 'Oversett til',
            'lt_doc_type_label'      => 'Dokumenttype',
            'lt_run_button'          => 'Oversett dokument',
            'lt_run_button_busy'     => 'Oversetter…',
            'lt_input_label'         => 'Lim inn tekst som skal oversettes',
            'lt_input_hint'          => '(valgfritt ved filopplasting)',
            'lt_input_placeholder'   => 'Lim inn norsk juridisk tekst her…',
            'lt_translating_status'  => 'Oversetter…',
            'lt_ready_title'         => 'Klar til å oversette',
            'lt_ready_intro'         => 'Last opp PDF, DOCX eller TXT, eller lim inn tekst nedenfor.',
            'lt_result_title'        => 'Oversettelse',
            'lt_annotations_title'   => 'Juridiske termer',
            'lt_copy_button'         => 'Kopier oversettelse',
            'lt_copy_done'           => 'Kopiert!',
            'lt_need_input'          => 'Lim inn tekst eller last opp en fil.',
            'lt_error_prefix'        => 'Feil',
            'lt_server_returned'     => 'Serveren svarte',
            'lt_extracting_files'    => 'Henter tekst fra {n} fil(er)…',
            'lt_engine_hint'         => 'Motor: Azure GPT-4o · Juridiske dokumenter behandles i minnet og lagres aldri.',
            'lt_same_lang_error'     => 'Kilde- og målspråk må være forskjellige.',
            'lt_disclaimer'          => 'Dette er en AI-assistert oversettelse. Verifiser alltid med en kvalifisert juridisk tolk til offisielt bruk.',

            'doc_picker_btn'         => 'Velg fra Mine dokumenter',
            'audio_picker_btn'       => 'Velg fra Mine lydfiler',
            'doc_picker_modal_title' => 'Velg fra Mine dokumenter',

            // MCP setup page + tool detail pages
            'mcp_page_title'             => 'MCP — Do Better Norge',
            'mcp_meta_desc'              => 'Koble Claude, Cursor og andre AI-verktøy til alle 19 DBN juridiske forberedelsesverktøy via MCP.',
            'mcp_hero_badge'             => '✦ Plus & Pro',
            'mcp_hero_h1'                => 'Bruk DBN-verktøy fra Claude, Cursor & Copilot',
            'mcp_hero_sub'               => 'Koble enhver MCP-klient til alle 19 Do Better Norge-verktøy — transkripsjon, juridisk analyse, tidslinjer, redigering og mer.',
            'mcp_token_section_title'    => 'Din MCP-token',
            'mcp_gate_guest_p'           => 'Logg inn for å opprette din personlige MCP-token. Tilgjengelig for Plus- og Pro-medlemmer.',
            'mcp_gate_guest_btn'         => 'Logg inn',
            'mcp_gate_free_p'            => 'MCP-tilgang er tilgjengelig på Plus- og Pro-planer. Oppgrader for å koble dine AI-verktøy.',
            'mcp_gate_free_btn'          => 'Oppgrader plan',
            'mcp_token_hint'             => 'Tokens vises én gang ved opprettelse. Opprett én per klient (Claude, Cursor, VS Code…).',
            'mcp_token_create_btn'       => 'Opprett token',
            'mcp_token_reveal_label'     => 'Kopier denne token nå — den vil ikke bli vist igjen:',
            'mcp_token_copy_btn'         => 'Kopier token',
            'mcp_token_no_tokens'        => 'Ingen MCP-tokens ennå.',
            'mcp_token_active'           => 'Aktiv',
            'mcp_token_revoked'          => 'Tilbaketrukket',
            'mcp_token_never_used'       => 'Aldri brukt',
            'mcp_token_last_used'        => 'Sist brukt',
            'mcp_token_revoke_btn'       => 'Tilbakekall',
            'mcp_config_title'           => 'Klientkonfigurasjon',
            'mcp_config_hint'            => 'Lim inn tokenet ditt i konfigurasjonen nedenfor etter å ha opprettet det ovenfor.',
            'mcp_config_token_filled'    => 'Token automatisk fylt ut.',
            'mcp_config_run_terminal'    => 'Kjør i terminalen din:',
            'mcp_test_btn'               => 'Test tilkobling',
            'mcp_test_no_token'          => 'Opprett et token først.',
            'mcp_test_testing'           => 'Tester…',
            'mcp_tools_title'            => 'Tilgjengelige verktøy',
            'mcp_tools_sub'              => 'Alle verktøy kjører på kreditter fra din Plus- eller Pro-plan. Klikk på et kort for full teknisk informasjon.',
            'mcp_tools_param_req_hint'   => 'Lilla = påkrevd',
            'mcp_tools_view_details'     => 'Se detaljer →',
            'mcp_privacy_title'          => 'Personvern',
            'mcp_privacy_text'           => 'Prosesser og glem som standard. Alle verktøyanrop prosesserer teksten din i minnet og returnerer resultater til din AI-klient. Ingenting lagres i Min sak med mindre du eksplisitt kaller dbn.save_to_case.',
            'mcp_privacy_legal'          => 'Verktøyene gir støtte til juridisk forberedelse, ikke endelig juridisk rådgivning. Resultatene er kun til informasjonsformål og bør vurderes av en kvalifisert juridisk profesjonell.',
            'mcp_tool_back'              => '← Tilbake til MCP-oppsett',
            'mcp_tool_params_title'      => 'Parametere',
            'mcp_tool_no_params'         => 'Dette verktøyet tar ingen inndata-parametere.',
            'mcp_tool_col_param'         => 'Parameter',
            'mcp_tool_col_type'          => 'Type',
            'mcp_tool_col_required'      => 'Påkrevd',
            'mcp_tool_col_desc'          => 'Beskrivelse',
            'mcp_tool_example_req'       => 'Eksempel på forespørsel',
            'mcp_tool_example_resp'      => 'Eksempel på svar',
            'mcp_tool_connect_title'     => 'Koble til',
            'mcp_tool_connect_text'      => 'Opprett din MCP-token på oppsettssiden og bruk den med enhver støttet klient.',
            'mcp_tool_setup_link'        => 'Sett opp MCP →',
            'mcp_tool_yes'               => 'Ja',
            'mcp_tool_no'                => 'Nei',
            // ── Context bar + privacy page (added 2026-05-24) ────────────────
            'context_bar_tag'            => 'AI juridiske verktøy · Norge · siden 2019',
            'context_bar_why'            => 'Hvorfor annerledes enn ChatGPT →',
            'context_bar_pricing'        => 'Priser →',
            'context_bar_mcp'            => 'MCP for utviklere →',
            'context_bar_privacy'        => 'Personvern →',
            'footer_privacy_link'        => 'Personvern',
            'privacy_page_title'         => 'Personvern — Do Better Norge verktøy',
        ],
        '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'    => 'Увійдіть, щоб переглянути свій обліковий запис.',
            'dash_nav_overview'    => 'Огляд',
            'dash_nav_documents'   => 'Документи',
            'dash_nav_upload'      => 'Завантажити',
            'dash_nav_ask'         => 'Запитати',
            'dash_nav_settings'    => 'Налаштування',
            'dash_page_subtitle'   => 'Мій корпус',
            'dash_title_overview'  => 'Мій корпус',
            'dash_lead_overview'   => 'Приватна юридична база знань. Завантажуйте, організовуйте, запитуйте — все зберігається на вашому рахунку.',
            'dash_title_docs'      => 'Документи',
            'dash_lead_docs'       => 'Усі документи у вашому приватному корпусі. Натисніть, щоб відкрити, або виберіть кілька для групових дій.',
            'dash_title_upload'    => 'Завантажити документи',
            'dash_lead_upload'     => 'Завантажте PDF, DOCX або TXT — або вставте текст чи URL. Вміст розбивається на частини, векторизується та індексується у вашому приватному корпусі.',
            'dash_title_chat'      => 'Запитати корпус',
            'dash_lead_chat'       => 'Ставте юридичні запитання. Відповіді виводяться потоком з посиланнями на ваш корпус та спільний пакет Do Better Norge.',
            'dash_title_settings'  => 'Налаштування',
            'dash_lead_settings'   => 'Налаштування вашого приватного корпусу.',
            'dash_title_document'  => 'Документ',
            'dash_section_account' => 'Обліковий запис',
            'dash_label_client_id' => 'ID клієнта',
            'dash_label_corpus_id' => 'ID корпусу',
            'dash_label_user_id'   => 'ID користувача',
            'dash_section_rag'     => 'RAG-конвеєр',
            'dash_section_privacy' => 'Конфіденційність',
            'dash_privacy_p1'      => 'Все, що ви завантажуєте або зберігаєте тут, належить вашому рахунку. Інші користувачі не можуть бачити або шукати у ваших документах. Спільний пакет family-legal (~220 тис. уривків норвезького законодавства) є спільним і використовується для збагачення відповідей авторитетними джерелами, але ви є власником всього, що ви самі додаєте.',
            'dash_privacy_p2a'     => 'Видаляйте окремі документи з',
            'dash_privacy_p2b'     => 'Щоб видалити весь обліковий запис, зверніться до підтримки.',
            'dash_upload_source'   => 'Виберіть джерело',
            'dash_upload_file_btn' => 'Файл',
            'dash_upload_text_btn' => 'Вставити текст',
            'dash_upload_drop_strong' => 'Перетягніть файл сюди або натисніть для перегляду',
            'dash_upload_drop_small'  => 'PDF · DOCX · TXT · макс. 8 МБ · автоматичний OCR для сканованих PDF',
            'dash_upload_title_lbl'    => 'Назва',
            'dash_upload_title_ph'    => 'Авто з імені файлу, якщо порожньо',
            'dash_upload_category_lbl'=> 'Категорія',
            'dash_upload_category_ph' => 'напр. сімейне право, захист дітей',
            'dash_upload_tags_lbl'    => 'Теги',
            'dash_upload_lang_lbl'    => 'Мова',
            'dash_upload_content_lbl' => 'Зміст',
            'dash_upload_content_ph'  => 'Вставте текст тут — мінімум 30 символів',
            'dash_upload_note_title_ph'=> 'Дайте нотатці назву',
            'dash_upload_url_ph'      => 'https://lovdata.no/dokument/…',
            'dash_upload_url_title_ph'=> 'Порожньо = використовує URL',
            'dash_upload_url_note'    => 'URL обробляються у фоні — перевіряйте «Документи» для статусу.',
            'dash_upload_btn_file'    => 'Завантажити та індексувати',
            'dash_upload_btn_text'    => 'Зберегти в корпус',
            'dash_upload_btn_url'     => 'Отримати та індексувати',
            'dash_chat_disclaimer'    => '⚖ Юридична інформація та підтримка підготовки — не остаточна юридична порада. Завжди підтверджуйте з адвокатом.',
            'dash_chat_placeholder'   => 'напр. «Що говорить § 4-12 про розміщення без згоди?»',
            'dash_filter_q_ph'        => 'Пошук у назвах або тегах…',
            'dash_filter_all_status'  => 'Всі статуси',
            'dash_delete_selected'    => 'Видалити вибрані',
            'dash_upload_btn_short'   => '+ Завантажити',
            'dash_prev'               => '← Попередня',
            'dash_next'               => 'Наступна →',
            'js_locale'            => 'uk-UA',
            'js_status_ready'      => 'Готово',
            'js_status_pending'    => 'Очікує',
            'js_status_processing' => 'Обробляється',
            'js_status_error'      => 'Помилка',
            'js_th_title'          => 'Назва',
            'js_th_status'         => 'Статус',
            'js_th_chunks'         => 'Уривки',
            'js_th_added'          => 'Додано',
            'js_th_category'       => 'Категорія',
            'js_loading'           => 'Завантаження…',
            'js_loading_docs'      => 'Завантаження документів…',
            'js_empty_docs'        => 'Документів ще немає.',
            'js_empty_docs_link'   => 'Завантажте перший',
            'js_empty_filter'      => 'Немає результатів для вибраного фільтра.',
            'js_error_loading'     => 'Не вдалося завантажити: ',
            'js_kpi_docs'          => 'Документи',
            'js_kpi_chunks'        => 'Уривки індексовано',
            'js_kpi_ready'         => 'Готово',
            'js_kpi_last'          => 'Останнє завантаження',
            'js_kpi_of_quota'      => 'з квоти',
            'js_kpi_searchable'    => 'пошукових частин',
            'js_kpi_of_total'      => 'із загальної кількості',
            'js_kpi_date_label'    => 'дата',
            'js_get_started'       => 'Почати',
            'js_see_all'           => 'Переглянути все →',
            'js_recent_activity'   => 'Остання активність',
            'js_upload_docs_btn'   => '📥 Завантажити документи',
            'js_ask_btn'           => '💬 Поставити юридичне запитання',
            'js_browse_btn'        => '📚 Переглянути корпус',
            'js_pager_showing'     => 'Показано {from}–{to} з {total}',
            'js_delete_selected'   => 'Видалити вибрані',
            'js_delete_n_selected' => 'Видалити вибрані ({n})',
            'js_delete_docs_confirm'=> 'Видалити {n} документи? Це не можна скасувати.',
            'js_prev'              => '← Попередня',
            'js_next'              => 'Наступна →',
            'js_filter_all_status' => 'Всі статуси',
            'js_filter_placeholder'=> 'Пошук у назвах або тегах…',
            'js_chat_thinking'     => 'думаю…',
            'js_chat_save'         => '💾 Зберегти в корпус',
            'js_chat_copy'         => '📋 Копіювати',
            'js_chat_copied'       => '✓ Скопійовано',
            'js_chat_passages_meta'=> '{n} уривків',
            'js_chat_save_unavail' => 'Діалог збереження недоступний.',
            'js_tab_preview'       => 'Попередній перегляд',
            'js_tab_chunks'        => 'Уривки',
            'js_tab_related'       => "Пов'язані",
            'js_tab_edit'          => 'Редагувати',
            'js_words'             => 'слів',
            'js_passages_label'    => 'уривків',
            'js_added_at'          => 'додано',
            'js_tags_label'        => 'Теги:',
            'js_source_url_label'  => 'Оригінальне джерело ↗',
            'js_back'              => '← Назад',
            'js_delete_btn'        => 'Видалити',
            'js_save_changes'      => 'Зберегти зміни',
            'js_saving'            => 'Збереження…',
            'js_saved_at'          => 'Збережено {time}',
            'js_delete_doc_confirm'=> 'Видалити цей документ назавжди?',
            'js_loading_related'   => 'Завантаження пов\'язаних авторитетів з графу…',
            'js_no_citations'      => 'Відомих цитувань у базі графів поки немає.',
            'js_graph_unavailable' => 'База графів зараз недоступна.',
            'js_no_chunks'         => 'Уривки ще не індексовано.',
            'js_content_empty'     => '(порожньо)',
            'js_doc_not_found'     => 'Документ не знайдено',
            'js_missing_doc_id'    => 'Відсутній ідентифікатор документа.',
            'js_upload_select_file'=> 'Спочатку виберіть файл.',
            'js_upload_indexing'   => 'Завантаження та індексування…',
            'js_upload_saving'     => 'Індексування…',
            'js_upload_queuing'    => 'Додавання URL у чергу…',
            'js_upload_drop_hint'  => 'Перетягніть файл сюди або натисніть для перегляду',
            'js_upload_indexed'    => '✅ Індексовано! {n} уривків додано.',
            'js_upload_open_doc'   => 'Відкрити документ',
            'js_upload_queued'     => '📥 Додано до черги.',
            'js_upload_follow_docs'=> 'Стежте за прогресом у Документах',
            'js_upload_bg_done'    => '✅ Фонове завдання виконано. {n} уривків індексовано.',
            'js_field_title'       => 'Назва',
            'js_field_category'    => 'Категорія',
            'js_field_tags'        => 'Теги (через кому)',
            'js_field_lang'        => 'Мова',
            'js_field_author'      => 'Автор',

            // ── Юридичний аналіз ──────────────────────────────────────────────
            'la_doc_type_label'      => 'Тип документа',
            'la_doc_type_auto'       => 'Авто-визначення',
            'la_doc_type_other'      => 'Інше',
            'la_engine_hint'         => 'Модель: dbn-legal-agent-v3 (норвезька юридична fine-tune на GPU). Кожне питання обробляється окремо; ~30-60с на питання, до 5 питань за запуск.',
            'la_input_label'         => 'Вставлений текст',
            'la_input_hint'          => '(необов’язково, якщо вибрано файл або документ)',
            'la_input_placeholder'   => 'Вставте судову нотатку, рішення суду, vedtak, лист або будь-який юридичний текст. Можна також завантажити файл або вибрати з Моїх документів вище — потрібне принаймні одне джерело.',
            'la_run_button'          => 'Запустити юридичний аналіз',
            'la_run_button_busy'     => 'Виконання…',
            'la_ready_title'         => 'Готово',
            'la_ready_intro'         => 'Завантажте документ або вставте текст — інструмент виявить до 5 окремих юридичних питань і попросить норвезьку fine-tune відповісти на кожне з цитатами.',
            'la_ready_pipeline'      => 'Прохід 1 використовує Azure GPT-4o-mini для виявлення питань. Прохід 2 викликає dbn-legal-agent-v3 для кожного. Прохід 3 синтезує загальну картину. Типовий запуск триває 2-5 хвилин.',
            'la_pipeline_pass1'      => 'Прохід 1',
            'la_pipeline_pass2'      => 'Прохід 2',
            'la_pipeline_pass3'      => 'Прохід 3',
            'la_pass1_extracting'    => 'Виявлення юридичних питань у документі…',
            'la_pass1_found'         => 'Знайдено {n} юридичне(их) питання',
            'la_pass2_asking'        => 'Запит до dbn-legal-agent-v3 для кожного питання…',
            'la_pass2_answered'      => 'Спеціаліст відповів на {n} питання',
            'la_pass3_synthesis'     => 'Синтез завершено',
            'la_waiting'             => 'Очікування…',
            'la_searching_corpus'    => 'Пошук у юридичному корпусі…',
            'la_asking_finetune'     => 'Запит до dbn-legal-agent-v3…',
            'la_overall'             => 'Загальна оцінка',
            'la_next_steps'          => 'Наступні кроки',
            'la_answer_header'       => 'Відповідь',
            'la_legal_basis'         => 'Правова підстава:',
            'la_extracting_status'   => 'Виявлення окремих юридичних питань…',
            'la_synthesising_status' => 'Синтез загальної оцінки…',
            'la_extracting_files'    => 'Виділення тексту з {n} файл(ів)…',
            'la_need_input'          => 'Вставте текст, завантажте файл або виберіть документ перед запуском.',
            'la_error_prefix'        => 'Помилка:',
            'la_server_returned'     => 'Сервер повернув',
            'la_empty_issues'        => 'Окремих юридичних питань не виявлено.',

            'la_addon_button'        => '⚖️🇳🇴 Запустити глибокий юридичний аналіз цього тексту',
            'la_addon_button_busy'   => 'Виконується глибокий юридичний аналіз…',
            'la_addon_section'       => 'Глибокий юридичний аналіз',

            'lt_source_label'        => 'Мова оригіналу',
            'lt_target_label'        => 'Перекласти на',
            'lt_doc_type_label'      => 'Тип документу',
            'lt_run_button'          => 'Перекласти документ',
            'lt_run_button_busy'     => 'Перекладаю…',
            'lt_input_label'         => 'Вставте текст для перекладу',
            'lt_input_hint'          => '(необов\'язково при завантаженні)',
            'lt_input_placeholder'   => 'Вставте норвезький юридичний текст тут…',
            'lt_translating_status'  => 'Перекладаю…',
            'lt_ready_title'         => 'Готовий до перекладу',
            'lt_ready_intro'         => 'Завантажте PDF, DOCX або TXT, або вставте текст нижче.',
            'lt_result_title'        => 'Переклад',
            'lt_annotations_title'   => 'Юридичні терміни',
            'lt_copy_button'         => 'Копіювати переклад',
            'lt_copy_done'           => 'Скопійовано!',
            'lt_need_input'          => 'Будь ласка, вставте текст або завантажте файл.',
            'lt_error_prefix'        => 'Помилка',
            'lt_server_returned'     => 'Сервер повернув',
            'lt_extracting_files'    => 'Витягую текст з {n} файл(ів)…',
            'lt_engine_hint'         => 'Механізм: Azure GPT-4o · Юридичні документи обробляються в пам\'яті та не зберігаються.',
            'lt_same_lang_error'     => 'Мова оригіналу та мова перекладу повинні бути різними.',
            'lt_disclaimer'          => 'Це переклад за допомогою штучного інтелекту. Завжди перевіряйте з кваліфікованим юридичним перекладачем для офіційного використання.',

            'doc_picker_btn'         => 'Вибрати з Моїх документів',
            'audio_picker_btn'       => 'Вибрати з Мого аудіо',
            'doc_picker_modal_title' => 'Вибрати з Моїх документів',

            // MCP setup page + tool detail pages
            'mcp_page_title'             => 'MCP — Do Better Norge',
            'mcp_meta_desc'              => 'Підключіть Claude, Cursor та інші інструменти ШІ до всіх 19 юридичних підготовчих інструментів DBN через MCP.',
            'mcp_hero_badge'             => '✦ Плюс та Профі',
            'mcp_hero_h1'                => 'Використовуйте інструменти DBN від Claude, Cursor та Copilot',
            'mcp_hero_sub'               => 'Підключіть будь-якого клієнта MCP до всіх 19 інструментів Do Better Norge — транскрипція, юридичний аналіз, часові лінії, редагування та інше.',
            'mcp_token_section_title'    => 'Ваш токен MCP',
            'mcp_gate_guest_p'           => 'Увійдіть, щоб створити свій особистий токен MCP. Доступно для учасників Плюс та Профі.',
            'mcp_gate_guest_btn'         => 'Увійти',
            'mcp_gate_free_p'            => 'Доступ до MCP доступний у планах Плюс та Профі. Оновіть, щоб підключити свої інструменти ШІ.',
            'mcp_gate_free_btn'          => 'Оновити план',
            'mcp_token_hint'             => 'Токени показуються один раз під час створення. Створіть один для кожного клієнта (Claude, Cursor, VS Code…).',
            'mcp_token_create_btn'       => 'Створити токен',
            'mcp_token_reveal_label'     => 'Скопіюйте цей токен зараз — він більше не буде показаний:',
            'mcp_token_copy_btn'         => 'Скопіювати токен',
            'mcp_token_no_tokens'        => 'Ще немає токенів MCP.',
            'mcp_token_active'           => 'Активний',
            'mcp_token_revoked'          => 'Скасовано',
            'mcp_token_never_used'       => 'Ніколи не використовувався',
            'mcp_token_last_used'        => 'Останній раз використовувався',
            'mcp_token_revoke_btn'       => 'Скасувати',
            'mcp_config_title'           => 'Конфігурація клієнта',
            'mcp_config_hint'            => 'Вставте свій токен у конфігурацію нижче після його створення вище.',
            'mcp_config_token_filled'    => 'Токен автоматично заповнений.',
            'mcp_config_run_terminal'    => 'Запустіть у вашому терміналі:',
            'mcp_test_btn'               => 'Перевірити з\'єднання',
            'mcp_test_no_token'          => 'Спочатку створіть токен.',
            'mcp_test_testing'           => 'Тестування…',
            'mcp_tools_title'            => 'Доступні інструменти',
            'mcp_tools_sub'              => 'Усі інструменти працюють на кредитах вашого плану Plus або Pro. Натисніть на картку для отримання повних технічних деталей.',
            'mcp_tools_param_req_hint'   => 'Фіолетовий = обов\'язковий',
            'mcp_tools_view_details'     => 'Переглянути деталі →',
            'mcp_privacy_title'          => 'Конфіденційність',
            'mcp_privacy_text'           => 'Обробка та забуття за замовчуванням. Усі виклики інструментів обробляють ваш текст у пам\'яті та повертають результати вашому AI-клієнту. Нічого не зберігається у My Case, якщо ви явно не викликаєте dbn.save_to_case.',
            'mcp_privacy_legal'          => 'Інструменти надають підтримку в підготовці юридичних документів, а не остаточні юридичні поради. Результати призначені лише для інформаційних цілей і повинні бути переглянуті кваліфікованим юридичним фахівцем.',
            'mcp_tool_back'              => '← Повернутися до налаштування MCP',
            'mcp_tool_params_title'      => 'Параметри',
            'mcp_tool_no_params'         => 'Цей інструмент не приймає вхідних параметрів.',
            'mcp_tool_col_param'         => 'Параметр',
            'mcp_tool_col_type'          => 'Тип',
            'mcp_tool_col_required'      => 'Обов\'язковий',
            'mcp_tool_col_desc'          => 'Опис',
            'mcp_tool_example_req'       => 'Приклад запиту',
            'mcp_tool_example_resp'      => 'Приклад відповіді',
            'mcp_tool_connect_title'     => 'Підключити',
            'mcp_tool_connect_text'      => 'Створіть свій токен MCP на сторінці налаштувань і використовуйте його з будь-яким підтримуваним клієнтом.',
            'mcp_tool_setup_link'        => 'Налаштувати MCP →',
            'mcp_tool_yes'               => 'Так',
            'mcp_tool_no'                => 'Ні',
            // ── Context bar + privacy page (added 2026-05-24) ────────────────
            'context_bar_tag'            => 'Інструменти правової підготовки · Норвегія · з 2019',
            'context_bar_why'            => 'Чому відрізняється від ChatGPT →',
            'context_bar_pricing'        => 'Ціни →',
            'context_bar_mcp'            => 'MCP для розробників →',
            'context_bar_privacy'        => 'Конфіденційність →',
            'footer_privacy_link'        => 'Конфіденційність',
            'privacy_page_title'         => 'Конфіденційність — Do Better Norge',
        ],
        '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.',
            'dash_nav_overview'    => 'Przegląd',
            'dash_nav_documents'   => 'Dokumenty',
            'dash_nav_upload'      => 'Prześlij',
            'dash_nav_ask'         => 'Zapytaj',
            'dash_nav_settings'    => 'Ustawienia',
            'dash_page_subtitle'   => 'Mój korpus',
            'dash_title_overview'  => 'Mój korpus',
            'dash_lead_overview'   => 'Prywatna baza wiedzy prawnej. Przesyłaj, organizuj, pytaj — wszystko przypisane do Twojego konta.',
            'dash_title_docs'      => 'Dokumenty',
            'dash_lead_docs'       => 'Wszystkie dokumenty w Twoim prywatnym korpusie. Kliknij, aby otworzyć, lub zaznacz kilka do operacji zbiorczych.',
            'dash_title_upload'    => 'Prześlij dokumenty',
            'dash_lead_upload'     => 'Prześlij PDF, DOCX lub TXT — albo wklej tekst lub URL. Treść jest dzielona na fragmenty, wektoryzowana i indeksowana w Twoim prywatnym korpusie.',
            'dash_title_chat'      => 'Zapytaj korpus',
            'dash_lead_chat'       => 'Zadawaj pytania prawne. Odpowiedzi są strumieniowane z cytatami z Twojego korpusu i wspólnego pakietu Do Better Norge.',
            'dash_title_settings'  => 'Ustawienia',
            'dash_lead_settings'   => 'Ustawienia Twojego prywatnego korpusu.',
            'dash_title_document'  => 'Dokument',
            'dash_section_account' => 'Konto',
            'dash_label_client_id' => 'ID klienta',
            'dash_label_corpus_id' => 'ID korpusu',
            'dash_label_user_id'   => 'ID użytkownika',
            'dash_section_rag'     => 'RAG pipeline',
            'dash_section_privacy' => 'Prywatność',
            'dash_privacy_p1'      => 'Wszystko, co przesyłasz lub zapisujesz tutaj, jest przypisane do Twojego konta. Inni użytkownicy nie mogą widzieć ani przeszukiwać Twoich dokumentów. Wspólny pakiet family-legal (~220 tys. fragmentów norweskiego prawa) jest współdzielony i używany do wzbogacania odpowiedzi autorytatywnymi źródłami, ale jesteś właścicielem wszystkiego, co sam dodajesz.',
            'dash_privacy_p2a'     => 'Usuwaj pojedyncze dokumenty z',
            'dash_privacy_p2b'     => 'Aby usunąć całe konto, skontaktuj się z pomocą techniczną.',
            'dash_upload_source'   => 'Wybierz źródło',
            'dash_upload_file_btn' => 'Plik',
            'dash_upload_text_btn' => 'Wklej tekst',
            'dash_upload_drop_strong' => 'Upuść plik tutaj lub kliknij, aby przeglądać',
            'dash_upload_drop_small'  => 'PDF · DOCX · TXT · maks. 8 MB · automatyczny OCR dla skanowanych PDF',
            'dash_upload_title_lbl'    => 'Tytuł',
            'dash_upload_title_ph'    => 'Automatycznie z nazwy pliku, jeśli puste',
            'dash_upload_category_lbl'=> 'Kategoria',
            'dash_upload_category_ph' => 'np. prawo rodzinne, opieka nad dziećmi',
            'dash_upload_tags_lbl'    => 'Tagi',
            'dash_upload_lang_lbl'    => 'Język',
            'dash_upload_content_lbl' => 'Treść',
            'dash_upload_content_ph'  => 'Wklej tekst tutaj — co najmniej 30 znaków',
            'dash_upload_note_title_ph'=> 'Nadaj notatce tytuł',
            'dash_upload_url_ph'      => 'https://lovdata.no/dokument/…',
            'dash_upload_url_title_ph'=> 'Puste = używa URL',
            'dash_upload_url_note'    => 'URL są przetwarzane w tle — sprawdź «Dokumenty», aby zobaczyć status.',
            'dash_upload_btn_file'    => 'Prześlij i indeksuj',
            'dash_upload_btn_text'    => 'Zapisz do korpusu',
            'dash_upload_btn_url'     => 'Pobierz i indeksuj',
            'dash_chat_disclaimer'    => '⚖ Informacje prawne i wsparcie przygotowania — nie ostateczna porada prawna. Zawsze potwierdzaj z prawnikiem.',
            'dash_chat_placeholder'   => 'np. «Co mówi § 4-12 o umieszczeniu bez zgody?»',
            'dash_filter_q_ph'        => 'Szukaj w tytułach lub tagach…',
            'dash_filter_all_status'  => 'Wszystkie statusy',
            'dash_delete_selected'    => 'Usuń zaznaczone',
            'dash_upload_btn_short'   => '+ Prześlij',
            'dash_prev'               => '← Poprzednia',
            'dash_next'               => 'Następna →',
            'js_locale'            => 'pl-PL',
            'js_status_ready'      => 'Gotowy',
            'js_status_pending'    => 'Oczekuje',
            'js_status_processing' => 'Przetwarzanie',
            'js_status_error'      => 'Błąd',
            'js_th_title'          => 'Tytuł',
            'js_th_status'         => 'Status',
            'js_th_chunks'         => 'Fragmenty',
            'js_th_added'          => 'Dodano',
            'js_th_category'       => 'Kategoria',
            'js_loading'           => 'Ładowanie…',
            'js_loading_docs'      => 'Ładowanie dokumentów…',
            'js_empty_docs'        => 'Brak dokumentów.',
            'js_empty_docs_link'   => 'Prześlij pierwszy',
            'js_empty_filter'      => 'Brak wyników dla wybranego filtru.',
            'js_error_loading'     => 'Nie można załadować: ',
            'js_kpi_docs'          => 'Dokumenty',
            'js_kpi_chunks'        => 'Fragmenty indeksowane',
            'js_kpi_ready'         => 'Gotowe',
            'js_kpi_last'          => 'Ostatnie przesłanie',
            'js_kpi_of_quota'      => 'z limitu',
            'js_kpi_searchable'    => 'przeszukiwalnych fragmentów',
            'js_kpi_of_total'      => 'z łącznej liczby',
            'js_kpi_date_label'    => 'data',
            'js_get_started'       => 'Zacznij',
            'js_see_all'           => 'Zobacz wszystkie →',
            'js_recent_activity'   => 'Ostatnia aktywność',
            'js_upload_docs_btn'   => '📥 Prześlij dokumenty',
            'js_ask_btn'           => '💬 Zadaj pytanie prawne',
            'js_browse_btn'        => '📚 Przeglądaj korpus',
            'js_pager_showing'     => 'Wyświetlono {from}–{to} z {total}',
            'js_delete_selected'   => 'Usuń zaznaczone',
            'js_delete_n_selected' => 'Usuń zaznaczone ({n})',
            'js_delete_docs_confirm'=> 'Usunąć {n} dokumenty? Tego nie można cofnąć.',
            'js_prev'              => '← Poprzednia',
            'js_next'              => 'Następna →',
            'js_filter_all_status' => 'Wszystkie statusy',
            'js_filter_placeholder'=> 'Szukaj w tytułach lub tagach…',
            'js_chat_thinking'     => 'myślę…',
            'js_chat_save'         => '💾 Zapisz do korpusu',
            'js_chat_copy'         => '📋 Kopiuj',
            'js_chat_copied'       => '✓ Skopiowano',
            'js_chat_passages_meta'=> '{n} fragmentów',
            'js_chat_save_unavail' => 'Okno zapisywania niedostępne.',
            'js_tab_preview'       => 'Podgląd',
            'js_tab_chunks'        => 'Fragmenty',
            'js_tab_related'       => 'Powiązane',
            'js_tab_edit'          => 'Edytuj',
            'js_words'             => 'słów',
            'js_passages_label'    => 'fragmentów',
            'js_added_at'          => 'dodano',
            'js_tags_label'        => 'Tagi:',
            'js_source_url_label'  => 'Oryginalne źródło ↗',
            'js_back'              => '← Wstecz',
            'js_delete_btn'        => 'Usuń',
            'js_save_changes'      => 'Zapisz zmiany',
            'js_saving'            => 'Zapisywanie…',
            'js_saved_at'          => 'Zapisano {time}',
            'js_delete_doc_confirm'=> 'Trwale usunąć ten dokument?',
            'js_loading_related'   => 'Ładowanie powiązanych źródeł z grafu…',
            'js_no_citations'      => 'Brak znanych cytowań w bazie grafów.',
            'js_graph_unavailable' => 'Baza grafów jest teraz niedostępna.',
            'js_no_chunks'         => 'Brak indeksowanych fragmentów.',
            'js_content_empty'     => '(puste)',
            'js_doc_not_found'     => 'Dokument nie znaleziony',
            'js_missing_doc_id'    => 'Brakujący identyfikator dokumentu.',
            'js_upload_select_file'=> 'Najpierw wybierz plik.',
            'js_upload_indexing'   => 'Przesyłanie i indeksowanie…',
            'js_upload_saving'     => 'Indeksowanie…',
            'js_upload_queuing'    => 'Dodawanie URL do kolejki…',
            'js_upload_drop_hint'  => 'Upuść plik tutaj lub kliknij, aby przeglądać',
            'js_upload_indexed'    => '✅ Indeksowano! {n} fragmentów dodano.',
            'js_upload_open_doc'   => 'Otwórz dokument',
            'js_upload_queued'     => '📥 Dodano do kolejki.',
            'js_upload_follow_docs'=> 'Śledź postęp w Dokumentach',
            'js_upload_bg_done'    => '✅ Zadanie w tle ukończone. {n} fragmentów indeksowano.',
            'js_field_title'       => 'Tytuł',
            'js_field_category'    => 'Kategoria',
            'js_field_tags'        => 'Tagi (oddzielone przecinkami)',
            'js_field_lang'        => 'Język',
            'js_field_author'      => 'Autor',

            // ── Analiza prawna ────────────────────────────────────────────────
            'la_doc_type_label'      => 'Typ dokumentu',
            'la_doc_type_auto'       => 'Auto-wykrywanie',
            'la_doc_type_other'      => 'Inny',
            'la_engine_hint'         => 'Silnik: dbn-legal-agent-v3 (norweski prawny fine-tune na GPU). Każda kwestia odpowiadana osobno; ~30-60s na kwestię, do 5 kwestii na uruchomienie.',
            'la_input_label'         => 'Wklejony tekst',
            'la_input_hint'          => '(opcjonalne, jeśli wybrano plik lub dokument)',
            'la_input_placeholder'   => 'Wklej notatkę sprawy, orzeczenie sądu, vedtak, list lub dowolny tekst prawny. Możesz też przesłać plik lub wybrać z Moich dokumentów powyżej — wymagane jest co najmniej jedno źródło.',
            'la_run_button'          => 'Uruchom analizę prawną',
            'la_run_button_busy'     => 'Uruchamianie…',
            'la_ready_title'         => 'Gotowe',
            'la_ready_intro'         => 'Prześlij dokument lub wklej tekst — narzędzie wyodrębni do 5 odrębnych kwestii prawnych i poprosi norweski fine-tune o odpowiedź na każdą z cytatami.',
            'la_ready_pipeline'      => 'Przebieg 1 używa Azure GPT-4o-mini do wykrycia kwestii. Przebieg 2 wywołuje dbn-legal-agent-v3 dla każdej. Przebieg 3 syntetyzuje obraz całości. Typowe uruchomienie trwa 2-5 minut.',
            'la_pipeline_pass1'      => 'Przebieg 1',
            'la_pipeline_pass2'      => 'Przebieg 2',
            'la_pipeline_pass3'      => 'Przebieg 3',
            'la_pass1_extracting'    => 'Wyodrębnianie kwestii prawnych z dokumentu…',
            'la_pass1_found'         => 'Znaleziono {n} kwestii prawnych',
            'la_pass2_asking'        => 'Pytanie dbn-legal-agent-v3 o każdą kwestię…',
            'la_pass2_answered'      => 'Specjalista odpowiedział na {n} kwestii',
            'la_pass3_synthesis'     => 'Synteza zakończona',
            'la_waiting'             => 'Oczekiwanie…',
            'la_searching_corpus'    => 'Przeszukiwanie korpusu prawnego…',
            'la_asking_finetune'     => 'Pytanie dbn-legal-agent-v3…',
            'la_overall'             => 'Ocena całościowa',
            'la_next_steps'          => 'Następne kroki',
            'la_answer_header'       => 'Odpowiedź',
            'la_legal_basis'         => 'Podstawa prawna:',
            'la_extracting_status'   => 'Identyfikowanie odrębnych kwestii prawnych…',
            'la_synthesising_status' => 'Syntetyzowanie oceny całościowej…',
            'la_extracting_files'    => 'Wyodrębnianie tekstu z {n} plik(ów)…',
            'la_need_input'          => 'Wklej tekst, prześlij plik lub wybierz dokument przed uruchomieniem.',
            'la_error_prefix'        => 'Błąd:',
            'la_server_returned'     => 'Serwer zwrócił',
            'la_empty_issues'        => 'Nie zidentyfikowano odrębnych kwestii prawnych.',

            'la_addon_button'        => '⚖️🇳🇴 Uruchom głęboką analizę prawną tego tekstu',
            'la_addon_button_busy'   => 'Trwa głęboka analiza prawna…',
            'la_addon_section'       => 'Głęboka analiza prawna',

            'lt_source_label'        => 'Język źródłowy',
            'lt_target_label'        => 'Przetłumacz na',
            'lt_doc_type_label'      => 'Typ dokumentu',
            'lt_run_button'          => 'Przetłumacz dokument',
            'lt_run_button_busy'     => 'Tłumaczę…',
            'lt_input_label'         => 'Wklej tekst do tłumaczenia',
            'lt_input_hint'          => '(opcjonalne przy wgrywaniu pliku)',
            'lt_input_placeholder'   => 'Wklej tu norweski tekst prawny…',
            'lt_translating_status'  => 'Tłumaczę…',
            'lt_ready_title'         => 'Gotowy do tłumaczenia',
            'lt_ready_intro'         => 'Prześlij PDF, DOCX lub TXT, lub wklej tekst poniżej.',
            'lt_result_title'        => 'Tłumaczenie',
            'lt_annotations_title'   => 'Terminy prawne',
            'lt_copy_button'         => 'Skopiuj tłumaczenie',
            'lt_copy_done'           => 'Skopiowano!',
            'lt_need_input'          => 'Wklej tekst lub prześlij plik.',
            'lt_error_prefix'        => 'Błąd',
            'lt_server_returned'     => 'Serwer zwrócił',
            'lt_extracting_files'    => 'Wyodrębniam tekst z {n} plik(ów)…',
            'lt_engine_hint'         => 'Silnik: Azure GPT-4o · Dokumenty prawne są przetwarzane w pamięci i nigdy nie zapisywane.',
            'lt_same_lang_error'     => 'Języki źródłowy i docelowy muszą być różne.',
            'lt_disclaimer'          => 'To jest tłumaczenie wspomagane AI. Zawsze weryfikuj z wykwalifikowanym tłumaczem prawnym do oficjalnego użytku.',

            'doc_picker_btn'         => 'Wybierz z Moich dokumentów',
            'audio_picker_btn'       => 'Wybierz z Mojego audio',
            'doc_picker_modal_title' => 'Wybierz z Moich dokumentów',

            // MCP setup page + tool detail pages
            'mcp_page_title'             => 'MCP — Do Better Norge',
            'mcp_meta_desc'              => 'Połącz Claude, Cursor i inne narzędzia AI z wszystkimi 19 narzędziami przygotowania prawnego DBN za pośrednictwem MCP.',
            'mcp_hero_badge'             => '✦ Plus & Pro',
            'mcp_hero_h1'                => 'Użyj narzędzi DBN z Claude, Cursor i Copilot',
            'mcp_hero_sub'               => 'Połącz dowolnego klienta MCP ze wszystkimi 19 narzędziami Do Better Norge — transkrypcja, analiza prawna, harmonogramy, redakcja i inne.',
            'mcp_token_section_title'    => 'Twój token MCP',
            'mcp_gate_guest_p'           => 'Zaloguj się, aby utworzyć swój osobisty token MCP. Dostępny dla członków Plus i Pro.',
            'mcp_gate_guest_btn'         => 'Zaloguj się',
            'mcp_gate_free_p'            => 'Dostęp do MCP jest dostępny w planach Plus i Pro. Uaktualnij, aby połączyć swoje narzędzia AI.',
            'mcp_gate_free_btn'          => 'Uaktualnij plan',
            'mcp_token_hint'             => 'Tokeny są wyświetlane tylko raz przy tworzeniu. Utwórz jeden na klienta (Claude, Cursor, VS Code…).',
            'mcp_token_create_btn'       => 'Utwórz token',
            'mcp_token_reveal_label'     => 'Skopiuj ten token teraz — nie będzie już wyświetlany:',
            'mcp_token_copy_btn'         => 'Skopiuj token',
            'mcp_token_no_tokens'        => 'Brak tokenów MCP.',
            'mcp_token_active'           => 'Aktywny',
            'mcp_token_revoked'          => 'Cofnięty',
            'mcp_token_never_used'       => 'Nigdy nie używany',
            'mcp_token_last_used'        => 'Ostatnio używany',
            'mcp_token_revoke_btn'       => 'Cofnij',
            'mcp_config_title'           => 'Konfiguracja klienta',
            'mcp_config_hint'            => 'Wklej swój token do konfiguracji poniżej po jego utworzeniu powyżej.',
            'mcp_config_token_filled'    => 'Token automatycznie wypełniony.',
            'mcp_config_run_terminal'    => 'Uruchom w swoim terminalu:',
            'mcp_test_btn'               => 'Testuj połączenie',
            'mcp_test_no_token'          => 'Najpierw utwórz token.',
            'mcp_test_testing'           => 'Testowanie…',
            'mcp_tools_title'            => 'Dostępne narzędzia',
            'mcp_tools_sub'              => 'Wszystkie narzędzia działają na kredytach Twojego planu Plus lub Pro. Kliknij kartę, aby uzyskać pełne szczegóły techniczne.',
            'mcp_tools_param_req_hint'   => 'Fioletowy = wymagany',
            'mcp_tools_view_details'     => 'Zobacz szczegóły →',
            'mcp_privacy_title'          => 'Prywatność',
            'mcp_privacy_text'           => 'Domyślnie przetwarzaj i zapomnij. Wszystkie wywołania narzędzi przetwarzają Twój tekst w pamięci i zwracają wyniki do Twojego klienta AI. Nic nie jest zapisywane w Mojej Sprawie, chyba że wyraźnie wywołasz dbn.save_to_case.',
            'mcp_privacy_legal'          => 'Narzędzia zapewniają wsparcie w zakresie przygotowania prawnego, a nie ostatecznej porady prawnej. Wyniki mają charakter informacyjny i powinny być przeglądane przez wykwalifikowanego profesjonalistę prawnego.',
            'mcp_tool_back'              => '← Powrót do konfiguracji MCP',
            'mcp_tool_params_title'      => 'Parametry',
            'mcp_tool_no_params'         => 'To narzędzie nie przyjmuje parametrów wejściowych.',
            'mcp_tool_col_param'         => 'Parametr',
            'mcp_tool_col_type'          => 'Typ',
            'mcp_tool_col_required'      => 'Wymagany',
            'mcp_tool_col_desc'          => 'Opis',
            'mcp_tool_example_req'       => 'Przykładowe żądanie',
            'mcp_tool_example_resp'      => 'Przykładowa odpowiedź',
            'mcp_tool_connect_title'     => 'Połącz',
            'mcp_tool_connect_text'      => 'Utwórz swój token MCP na stronie konfiguracji i użyj go z dowolnym obsługiwanym klientem.',
            'mcp_tool_setup_link'        => 'Skonfiguruj MCP →',
            'mcp_tool_yes'               => 'Tak',
            'mcp_tool_no'                => 'Nie',
            // ── Context bar + privacy page (added 2026-05-24) ────────────────
            'context_bar_tag'            => 'Narzędzia prawne · Norwegia · od 2019',
            'context_bar_why'            => 'Dlaczego różni się od ChatGPT →',
            'context_bar_pricing'        => 'Cennik →',
            'context_bar_mcp'            => 'MCP dla deweloperów →',
            'context_bar_privacy'        => 'Prywatność →',
            'footer_privacy_link'        => 'Prywatność',
            'privacy_page_title'         => 'Prywatność — Do Better Norge',
        ],
    ];
}

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'],
            'summarize' => ['Summarize', 'Document summary', 'Extract key facts, dates, parties, and legal references from any document — with optional legal corpus enrichment.', 'Process-and-forget'],
            'legal-analysis' => ['Legal Analysis', 'Deep Norwegian-law Q&A', 'Extract distinct legal issues from a document and answer each with the dbn-legal-agent-v3 fine-tune — citations from barnevernsloven, EMK, and Høyesterett.', 'Fine-tune · Norsk'],
            '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'],
            'translate' => ['Translate', 'Legal translation', 'Translate Barnevernet letters and legal documents into your language with legal-terminology annotations.', 'Azure · GPT-4o'],
        ],
        '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'],
            'summarize' => ['Sammendrag', 'Dokumentsammendrag', 'Hent ut nøkkelfakta, datoer, parter og juridiske referanser fra et dokument — med valgfri korpusberikelse.', 'Behandles og glemmes'],
            'legal-analysis' => ['Juridisk analyse', 'Dyp norsk-rett Q&A', 'Hent ut distinkte juridiske spørsmål fra et dokument og få svar fra dbn-legal-agent-v3 fine-tunen — kilder fra barnevernsloven, EMK og Høyesterett.', 'Fine-tune · Norsk'],
            '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'],
            'translate' => ['Oversett', 'Juridisk oversettelse', 'Oversett Barnevernet-brev og juridiske dokumenter til ditt språk med juridisk terminologi.', 'Azure · GPT-4o'],
        ],
        'uk' => [
            'transcribe' => ['Транскрипція', 'Аудіо та зустрічі', 'Перетворюйте аудіо або відео на текст із розділенням мовців і юридичною лексикою.', 'Whisper / GPU'],
            'timeline' => ['Хронологія', 'Події та строки', 'Витягуйте дати, слухання, етапи Barnevernet і юридичні строки з нотаток або файлів.', 'Обробити і забути'],
            'redact' => ['Редагування', 'Захист приватності', 'Видаляйте імена, ідентифікаційні номери, телефони та адреси перед поширенням документів.', 'Детермінований метод'],
            'summarize' => ['Резюме', 'Резюме документа', 'Витягуйте ключові факти, дати, сторони та юридичні посилання — з можливістю збагачення корпусом.', 'Обробити і забути'],
            'legal-analysis' => ['Юридичний аналіз', 'Глибокий аналіз норвезького права', 'Витягніть юридичні питання з документа та отримайте відповіді від моделі dbn-legal-agent-v3 — з цитатами з barnevernsloven, ЄКПЛ і Verховного суду Норвегії.', 'Fine-tune · Norsk'],
            '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' => ['Граф цитувань', 'Мережа посилань', 'Граф правових посилань — що цитує документ, хто цитує його, що його реалізує.', 'Граф-топологія'],
            'translate' => ['Перекласти', 'Юридичний переклад', 'Перекладайте листи Barnevernet та юридичні документи на свою мову з юридичними термінами.', 'Azure · GPT-4o'],
        ],
        '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'],
            'summarize' => ['Streszczenie', 'Streszczenie dokumentu', 'Wyodrębniaj kluczowe fakty, daty, strony i odniesienia prawne — z opcjonalnym wzbogaceniem korpusem.', 'Przetwórz i zapomnij'],
            'legal-analysis' => ['Analiza prawna', 'Głęboka analiza prawa norweskiego', 'Wyodrębnij odrębne kwestie prawne z dokumentu i uzyskaj odpowiedzi od modelu dbn-legal-agent-v3 — z cytatami z barnevernsloven, EKPC i norweskiego Sądu Najwyższego.', 'Fine-tune · Norsk'],
            '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'],
            'translate' => ['Tłumacz', 'Tłumaczenie prawne', 'Tłumacz listy Barnevernet i dokumenty prawne na swój język z adnotacjami terminologicznymi.', 'Azure · GPT-4o'],
        ],
    ];

    $selected = $copy[$language] ?? $copy['en'];
    $order = ['transcribe', 'timeline', 'redact', 'summarize', 'legal-analysis', 'korrespond', 'barnevernet', 'advocate', 'deep-research', 'discrepancy', 'corpus', 'citations', 'translate'];
    $icons = [
        'transcribe'     => 'TR',
        'timeline'       => 'TL',
        'redact'         => 'RX',
        'summarize'      => 'SZ',
        'legal-analysis' => 'LA',
        'korrespond'     => 'KOR',
        'barnevernet'    => 'BVJ',
        'advocate'       => 'ADV',
        'deep-research'  => 'DR',
        'discrepancy'    => 'DC',
        'corpus'         => 'KB',
        'citations'      => 'CIT',
        'translate'      => 'TX',
    ];
    $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;
}
