From 7570d810e4fce9722a70c66d1ad762afb34babb2 Mon Sep 17 00:00:00 2001 From: iamdoubz <> Date: Sun, 12 Jul 2026 16:05:22 -0500 Subject: [PATCH] feat(i18n): add Norwegian Bokmal (nb) translation --- src/lib/i18n/nb.json | 531 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 531 insertions(+) create mode 100644 src/lib/i18n/nb.json diff --git a/src/lib/i18n/nb.json b/src/lib/i18n/nb.json new file mode 100644 index 0000000..75cde19 --- /dev/null +++ b/src/lib/i18n/nb.json @@ -0,0 +1,531 @@ +{ + "nav.recording": "Opptak", + "nav.hardware": "Maskinvare", + "nav.storage": "Lagring", + "nav.calendar": "Kalender", + "nav.sync": "Synkronisering", + "nav.ai": "KI", + "nav.mcp": "MCP-server", + "nav.privacy": "Personvern", + "nav.about": "Om", + "nav.language": "Språk", + + "settings.language.title": "Språk", + "settings.language.display": "Visningsspråk", + "settings.language.display_hint": "Språket for appens grensesnitt. Å legge til et språk er like enkelt som å slippe inn én enkelt oversettelsesfil.", + + "settings.transcription.title": "Transkripsjonsspråk", + "settings.transcription.label": "Språk", + "settings.transcription.auto": "Oppdag automatisk", + "settings.transcription.applies_hint": "Gjelder neste opptak. Språket som faktisk ble brukt vises deretter på hvert møte.", + "settings.transcription.english_only": "Kun engelsk", + "settings.transcription.model_english_only": "«{model}» er kun på engelsk.", + "settings.transcription.no_model": "Ingen modell valgt.", + "settings.transcription.switch_multilingual": "Bytt til en flerspråklig modell ovenfor for å velge et språk.", + + "settings.hardware.title": "Maskinvare", + "settings.hardware.active_backend": "Aktiv backend", + "settings.hardware.model_meta": "· modell {size}", + "settings.hardware.preferred_backend": "Foretrukket backend", + "settings.hardware.auto_backend": "Automatisk (best tilgjengelig)", + "settings.hardware.not_available": "ikke tilgjengelig", + "settings.hardware.fallback_hint": "Faller automatisk tilbake (NPU → NVIDIA → AMD → Intel → CPU) hvis den valgte backenden ikke lastes inn.", + "settings.hardware.audio_devices": "Lydenheter", + "settings.hardware.recording_device": "Opptaksenhet", + "settings.hardware.default_system_audio": "Standard systemlyd", + "settings.hardware.recording_device_hint": "WhispAssist tar opp det denne enheten spiller av (loopback) — den andre siden av samtalen. Velg en bestemt utgang hvis du ikke vil at den skal følge Windows' systemstandard.", + "settings.hardware.microphone": "Mikrofon", + "settings.hardware.mic_off": "Av — ikke fang min mikrofon", + "settings.hardware.default_mic": "Standardmikrofon", + "settings.hardware.mic_hint": "Legger til din egen stemme i den direkte transkripsjonen slik at begge sider av møtet fanges. Blir på enheten din — ingenting lastes opp. Velg «Av» for kun å transkribere systemlyden ovenfor.", + "settings.hardware.npu_detected": "NPU-akselerator oppdaget", + "settings.hardware.ready": "Klar", + "settings.hardware.downloading": "Laster ned…", + "settings.hardware.package_needed": "Pakke kreves", + "settings.hardware.npu_hint": "NPU-en din trenger en engangs akselerasjonspakke (Whisper ONNX-modell{extra}). Den lastes ned i bakgrunnen; du kan også starte den nå.", + "settings.hardware.plus_openvino": " + OpenVINO-kjøretid", + "settings.hardware.download_npu": "Last ned NPU-pakke", + "settings.hardware.dml_title": "GPU-akselerasjon (DirectML)", + "settings.hardware.dml_hint": "GPU-en din kan akselereres uten Vulkan via DirectML — en engangspakke (Whisper ONNX-modell{extra}).", + "settings.hardware.plus_directml": " + DirectML-kjøretid", + "settings.hardware.download_dml": "Last ned DirectML-pakke", + "settings.hardware.detection_unavailable": "Maskinvaregjenkjenning utilgjengelig.", + "settings.hardware.low_overhead": "Forhåndsinnstilling for lav belastning", + "settings.hardware.low_overhead_note": "CPU + minste modell, for batteri-/bakgrunnsbruk", + "settings.hardware.models": "Modeller", + "settings.hardware.downloading_model": "Laster ned {name}", + "settings.hardware.active_badge": "Aktiv", + "settings.hardware.installed": "Installert", + "settings.hardware.use": "Bruk", + "settings.hardware.remove": "Fjern", + "settings.hardware.cant_remove_active": "Kan ikke fjerne den aktive modellen", + "settings.hardware.download": "Last ned", + "settings.hardware.diarization": "Talerdiarisering", + "settings.hardware.diarization_hint": "Installer begge modellene for å få ferdige opptak delt opp per taler (Taler 1, Taler 2, …) i stedet for én sammenhengende transkripsjon. Kjører helt frakoblet, én gang per møte etter at det stopper. Uten dem tilskrives hver linje én enkelt taler.", + + "settings.storage.title": "Lagring", + "settings.storage.location_label": "Plassering", + "settings.storage.location_hint": "Å endre lagringsplassering støttes ikke ennå — det er her møter, modeller og databasen for øyeblikket ligger.", + "settings.storage.retention_title": "Oppbevaring", + "settings.storage.retention_hint": "Sletter automatisk de eldste møtene over en grense. Sjekkes én gang ved oppstart; tomt betyr ingen grense. Berører aldri et møte som tas opp for øyeblikket.", + "settings.storage.max_age": "Maksalder (dager)", + "settings.storage.max_size": "Maksstørrelse (GB)", + "settings.storage.no_limit": "ingen grense", + "settings.storage.export_import_title": "Eksport og import", + "settings.storage.export_hint_1": "Flytt opptak mellom datamaskiner som bærbare pakkemapper (lyd, transkripsjon, notater, sammendrag og et", + "settings.storage.export_hint_2": "manifest). Eksporter til en hvilken som helst mappe — en synkronisert stasjon, en USB-pinne eller et synkroniseringsmåls lokale monteringspunkt — og importer det så på den andre maskinen. Importerte møter får en ny id, så re-import overskriver aldri noe.", + "settings.storage.export_dialog_title": "Eksporter alle møter til…", + "settings.storage.import_dialog_title": "Importer en pakke (eller en mappe med pakker)…", + "settings.storage.exporting": "Eksporterer…", + "settings.storage.export_all": "Eksporter alle møter…", + "settings.storage.importing": "Importerer…", + "settings.storage.import_all": "Importer møter…", + "settings.storage.exported_one": "Eksporterte {n} møte.", + "settings.storage.exported_many": "Eksporterte {n} møter.", + "settings.storage.imported_one": "Importerte {n} møte.", + "settings.storage.imported_many": "Importerte {n} møter.", + + "settings.calendar.title": "Kalender og Outlook .pst", + "settings.calendar.intro_1": "Importer hendelser og deltakere fra en lokal Outlook-", + "settings.calendar.intro_2": "sikkerhetskopi — skrivebeskyttet, ingenting skrives tilbake til filen. Ingenting forlater denne enheten.", + "settings.calendar.pst_file": ".pst-fil", + "settings.calendar.no_file": "Ingen fil valgt", + "settings.calendar.browse": "Bla gjennom…", + "settings.calendar.password": "Passord", + "settings.calendar.password_note": "sjelden nødvendig", + "settings.calendar.optional": "valgfritt", + "settings.calendar.import_range": "Importområde", + "settings.calendar.range_30": "Siste 30 dager", + "settings.calendar.range_90": "Siste 90 dager", + "settings.calendar.range_180": "Siste 6 måneder", + "settings.calendar.range_365": "Siste år", + "settings.calendar.range_all": "All tid", + "settings.calendar.range_hint": "En langlivet postkasse kan inneholde år med gjentakende/helligdagsoppføringer — å snevre inn området holder den importerte kalenderen til det som faktisk er relevant. Gjelder både denne importknappen og automatisk re-import ved oppstart.", + "settings.calendar.importing": "Importerer…", + "settings.calendar.import": "Importer", + "settings.calendar.import_progress": "{processed}/{total} hendelser", + "settings.calendar.auto_reimport": "Importer denne filen automatisk ved oppstart", + "settings.calendar.auto_reimport_hint": "Kjører én gang ved oppstart, ikke på en tidtaker — re-import er trygt å gjenta (eksisterende hendelser matches og oppdateres, ikke dupliseres).", + "settings.calendar.import_failed": "Importen mislyktes: {error} — selve filen er urørt; sjekk banen og prøv igjen.", + "settings.calendar.cleanup_title": "Rydd opp", + "settings.calendar.cleanup_hint": "Hendelser som allerede er knyttet til et innspilt møte beholdes alltid, uansett hvilket alternativ som velges nedenfor.", + "settings.calendar.cleanup_30": "Eldre enn 30 dager", + "settings.calendar.cleanup_90": "Eldre enn 90 dager", + "settings.calendar.cleanup_180": "Eldre enn 6 måneder", + "settings.calendar.cleanup_365": "Eldre enn 1 år", + "settings.calendar.cleanup_all": "Slett alle", + "settings.calendar.cleaning": "Rydder…", + "settings.calendar.cleanup_btn": "Rydd opp i kalenderen", + "settings.calendar.cleanup_result": "Slettet {deleted}{extra}.", + "settings.calendar.cleanup_kept": ", beholdt {n} (knyttet til et møte)", + "settings.calendar.cleanup_failed": "Oppryddingen mislyktes: {error}", + "settings.calendar.imported_events": "Importerte hendelser", + "settings.calendar.no_events": "Ingen hendelser importert ennå.", + "settings.calendar.search_title": "Søk tittel", + "settings.calendar.search_placeholder": "Møtenavn…", + "settings.calendar.date_label": "Dato", + "settings.calendar.events_count": "{shown} av {total} hendelser", + "settings.calendar.untitled": "(uten tittel)", + + "settings.dialog_title": "Innstillinger", + "settings.close": "Lukk", + "settings.close_title": "Lukk (Esc)", + + "settings.sync.stub": "Forhåndsvisningsmodus — synkroniseringsbackenden er ikke implementert ennå (Fase 9). Endringer beholdes kun i grensesnittet.", + "settings.sync.title": "Synkronisering og opplasting", + "settings.sync.enable_label": "Aktiver opplasting av møteartefakter til konfigurerte mål", + "settings.sync.enable_hint": "Av som standard. Ingenting lastes opp med mindre dette er på og et mål er aktivert. Selvhostede mål holder data på din egen server; tredjepartsskyer er tydelig merket.", + "settings.sync.targets_title": "Mål", + "settings.sync.no_targets": "Ingen mål ennå. Legg til ett nedenfor.", + "settings.sync.third_party": "tredjepart", + "settings.sync.your_server": "din server", + "settings.sync.edit": "Rediger", + "settings.sync.remove": "Fjern", + "settings.sync.edit_target": "Rediger mål", + "settings.sync.add_target": "Legg til et mål", + "settings.sync.webdav_hint": "WebDAV dekker Nextcloud, ownCloud, Cloudreve, Seafile og Synology. (Seafile: aktiver SeafDAV på serversiden.)", + "settings.sync.name": "Navn", + "settings.sync.name_placeholder": "Hjemme-Nextcloud", + "settings.sync.provider": "Leverandør", + "settings.sync.server_url": "Server-URL", + "settings.sync.server_url_note_1": "Bare server-URL-en din — WhispAssist legger til", + "settings.sync.server_url_note_2": "automatisk.", + "settings.sync.remote_folder": "Ekstern mappe", + "settings.sync.username": "Brukernavn", + "settings.sync.app_password": "App-passord", + "settings.sync.pw_keep": "la stå tomt for å beholde nåværende passord", + "settings.sync.pw_store": "lagret i operativsystemets legitimasjonslager", + "settings.sync.upload_legend": "Last opp", + "settings.sync.artifact_transcript": "transkripsjon", + "settings.sync.artifact_notes": "notater", + "settings.sync.artifact_summary": "sammendrag", + "settings.sync.artifact_recording": "opptak (.wav, hvis beholdt)", + "settings.sync.allow_plaintext": "Tillat klartekst-http for en LAN-adresse (ikke anbefalt)", + "settings.sync.encrypt_before": "Krypter før opplasting (destinasjonen lagrer kun kryptert tekst)", + "settings.sync.requires_vault": "— krever et opplåst hvelv", + "settings.sync.test_connection": "Test tilkobling", + "settings.sync.save_changes": "Lagre endringer", + "settings.sync.add_target_btn": "Legg til mål", + "settings.sync.cancel": "Avbryt", + "settings.sync.third_party_banner": "{kind} er en tredjepartssky — opplasting sender dataene dine bort fra enheten din til {kind}.", + "settings.sync.link_account": "Koble til {kind}-konto…", + "settings.sync.oauth_hint": "Åpner en OAuth-innlogging (loopback-omdirigering); tokenet lagres i operativsystemets legitimasjonslager.", + "settings.sync.footnote": "Legitimasjon skrives aldri til innstillingene eller databasen — kun til operativsystemets legitimasjonslager. TLS kreves for mål utenfor LAN.", + + "settings.ai.title": "KI-sammendragsleverandør", + "settings.ai.intro_1": "Sammendrag kjører på en lokal LLM som standard. Pek dette mot Ollama på denne PC-en eller en annen maskin i LAN-et ditt (f.eks.", + "settings.ai.intro_2": "— begge teller som lokalt, så ingenting forlater nettverket ditt. Hostede leverandører (Anthropic) er valgfrie, av som standard, og sender transkripsjonen til en tredjepart så snart du aktiverer en.", + "settings.ai.provider": "Leverandør", + "settings.ai.off": "Av", + "settings.ai.provider_ollama": "Ollama (lokal / LAN)", + "settings.ai.provider_custom": "Egendefinert (OpenAI-kompatibel)", + "settings.ai.provider_anthropic": "Anthropic (Claude) — hostet, forlater denne enheten", + "settings.ai.endpoint": "Endepunkt", + "settings.ai.model": "Modell", + "settings.ai.api_key": "API-nøkkel", + "settings.ai.api_key_set_placeholder": "•••••••••••••••• (allerede angitt — la stå tomt for å beholde den)", + "settings.ai.show_api_key": "Vis API-nøkkel", + "settings.ai.hide_api_key": "Skjul API-nøkkel", + "settings.ai.anthropic_banner": "Anthropic er en hostet tredjepartstjeneste — dette møtets transkripsjon forlater enheten din når du genererer et sammendrag.", + "settings.ai.endpoint_banner": "Dette endepunktet er ikke på maskinen din eller LAN-et ditt — transkripsjonen din ville forlate nettverket ditt.", + "settings.ai.saving": "Lagrer…", + "settings.ai.save": "Lagre", + "settings.ai.test_connection": "Test tilkobling", + "settings.ai.this_hosted_provider": "denne hostede leverandøren", + "settings.ai.reachable": "Tilgjengelig", + "settings.ai.unreachable": "Utilgjengelig", + "settings.ai.model_count_one": "· {n} modell", + "settings.ai.model_count_many": "· {n} modeller", + "settings.ai.on_lan": "· på maskinen din / LAN", + "settings.ai.leaves_network": "· forlater nettverket ditt", + "settings.ai.advanced_title": "Avansert Ollama-konfigurasjon", + "settings.ai.changed": "{n} endret", + "settings.ai.reset_all": "Tilbakestill alt til standard", + "settings.ai.system_prompt": "Systemprompt", + "settings.ai.system_prompt_placeholder": "f.eks. Du er en kortfattet møtesammenfatter.", + "settings.ai.system_prompt_hint": "Legges til før WhispAssists påkrevde utdataformat, slik at instruksjonene dine ikke kan bryte tolkingen av sammendrag/oppgavepunkter.", + "settings.ai.think": "Tenk", + "settings.ai.think_help": "Resonneringsinnsats (kun resonneringsmodeller).", + "settings.ai.keep_alive": "Hold i live", + "settings.ai.keep_alive_help": "Hvor lenge modellen blir i RAM. f.eks. 5m, 1h, 0 (last ut), -1 (for alltid).", + "settings.ai.runtime_hardware": "Kjøretid og maskinvare", + "settings.ai.rarely_needed": "— sjelden nødvendig", + "settings.ai.save_advanced": "Lagre avansert", + "settings.ai.saved": "Lagret", + "settings.ai.turn_off": "Slå av", + "settings.ai.default_value": "Standard {value}.", + "settings.ai.reset_default": "Tilbakestill til standard", + "settings.ai.reset_field": "Tilbakestill {name}", + + "settings.mcp.title": "MCP-server", + "settings.mcp.banner_1": "Dette lar din egen kodeagent (Claude Code, Codex, Copilot, OpenCode, …) hente møtekontekst på din lokale maskin. Når den er koblet til,", + "settings.mcp.banner_agent": "kan den agenten", + "settings.mcp.banner_2": "videresende det den leser til sin egen modellleverandørs sky — utenfor WhispAssists kontroll. WhispAssist selv sender aldri disse dataene noe sted; serveren lytter kun på denne enheten (", + "settings.mcp.banner_3": ") og hver lesing logges nedenfor.", + "settings.mcp.enable": "Aktiver MCP-serveren", + "settings.mcp.enable_hint": "Av som standard. Kun loopback, token-beskyttet — ingenting er tilgjengelig fra nettverket.", + "settings.mcp.transport": "Transport", + "settings.mcp.transport_http": "Strømmende HTTP", + "settings.mcp.transport_stdio": "stdio (agenten starter en prosess)", + "settings.mcp.port": "Port", + "settings.mcp.transport_change_hint": "For å endre transport/port, slå av serveren først, og deretter på igjen.", + "settings.mcp.scope_title": "Omfang", + "settings.mcp.expose": "Eksponer", + "settings.mcp.scope_none": "Ingen — ingenting deles", + "settings.mcp.scope_selected": "Valgte — kun funksjonsbriefer du har merket som delte", + "settings.mcp.scope_all": "Alle — møter, transkripsjoner, oppgavepunkter og delte briefer", + "settings.mcp.expose_recordings": "Tillat også møter med et lagret opptak (av som standard — et innspilt møtes transkripsjon holdes tilbake selv i «Alle»-omfanget til dette er på)", + "settings.mcp.token_title": "Nytt autentiseringstoken — vises én gang, kopier det nå", + "settings.mcp.token_hint": "Dette vises ikke igjen. Det lagres i operativsystemets legitimasjonslager; hvis du mister det, slå av og på serveren igjen for å lage et nytt.", + "settings.mcp.copied": "Kopiert", + "settings.mcp.copy": "Kopier", + "settings.mcp.endpoint": "Endepunkt", + "settings.mcp.endpoint_hint": "Pek agentens MCP-klientkonfigurasjon mot {kind}, med tokenet ovenfor som bearer-legitimasjon.", + "settings.mcp.kind_command": "kommando", + "settings.mcp.kind_url": "URL", + "settings.mcp.access_log": "Tilgangslogg", + "settings.mcp.access_log_hint": "Hver verktøylesing en agent gjør, tillatt eller nektet (FR-MCP-5).", + "settings.mcp.no_reads": "Ingen agent har lest noe ennå.", + "settings.mcp.log_meeting": "møte {id}", + "settings.mcp.refresh": "Oppdater", + + "settings.privacy.title": "Personvern", + "settings.privacy.intro": "Hva WhispAssist faktisk har lov til å sende bort fra denne enheten akkurat nå. Med alt av (standard) forlater ingenting enheten i det hele tatt.", + "settings.privacy.llm_endpoint": "LLM-endepunkt", + "settings.privacy.off": "av", + "settings.privacy.local_only": "kun lokal", + "settings.privacy.leaves_device": "forlater denne enheten", + "settings.privacy.sync_label": "Synkronisering", + "settings.privacy.enabled": "aktivert", + "settings.privacy.mcp_label": "MCP-server", + "settings.privacy.mcp_on": "på · {scope}", + "settings.privacy.mcp_loopback_note": "Innkommende kun på loopback — legger ingenting til utgangslisten ovenfor. En tilkoblet agent kan likevel videresende det den leser til sin egen modellleverandør; se MCP-server-fanen.", + "settings.privacy.egress_title": "Tillatelsesliste for utgående", + "settings.privacy.no_egress": "Ingen verter er tillatt — WA gjør ingen utgående overføring av innhold.", + "settings.privacy.sync_targets_title": "Synkroniseringsmål", + "settings.privacy.third_party": "tredjepart", + "settings.privacy.your_server": "din server", + "settings.privacy.tls": "TLS", + "settings.privacy.no_tls": "ingen TLS", + "settings.privacy.refresh": "Oppdater", + "settings.privacy.unavailable": "Personvern-selvsjekk utilgjengelig.", + "settings.privacy.vault_title": "Krypteringshvelv", + "settings.privacy.vault_intro": "Krypter notater, transkripsjoner og sammendrag i hvile med et passord. (Lydfiler krypteres ikke ennå.)", + "settings.privacy.vault_password": "Hvelvpassord", + "settings.privacy.enable_vault": "Aktiver hvelv", + "settings.privacy.vault_pw_hint": "Bruk minst 8 tegn. Hvis du glemmer det, kan kryptert innhold ikke gjenopprettes.", + "settings.privacy.vault_locked_1": "Hvelvet er ", + "settings.privacy.locked_word": "låst", + "settings.privacy.vault_locked_2": ". Lås opp for å lese krypterte møter.", + "settings.privacy.password": "Passord", + "settings.privacy.unlock": "Lås opp", + "settings.privacy.vault_unlocked_1": "Hvelvet er ", + "settings.privacy.unlocked_word": "opplåst", + "settings.privacy.vault_unlocked_2": ". Nye notater, transkripsjoner og sammendrag krypteres i hvile.", + "settings.privacy.lock_now": "Lås nå", + "settings.privacy.change_password": "Endre passord", + "settings.privacy.current_password": "Nåværende passord", + "settings.privacy.new_password": "Nytt passord", + + "settings.about.title": "Om", + "settings.about.tagline": "En helt lokal, åpen kildekode, Windows-innebygd møteassistent.", + "settings.about.build_commit": "Build-commit", + + "consent.heading": "Før du tar opp", + "consent.body": "Å ta opp samtaler uten deltakernes samtykke kan være ulovlig i din region. Sjekk dine lokale opptakslover. Dette er en advarsel, ikke juridisk rådgivning.", + "consent.accept": "Jeg forstår — aktiver opptak", + "consent.cancel": "Avbryt", + + "hosted.heading": "Før du bruker {provider}", + "hosted.body_1": "Å generere med", + "hosted.body_2": "sender dette møtets transkripsjon til deres servere — den forlater denne enheten og er underlagt deres personvernerklæring. WhispAssist har ingen kontroll over datahåndteringen når den først forlater enheten din. Dette er av som standard; du velger det nå.", + "hosted.accept": "Jeg forstår — fortsett", + "hosted.cancel": "Avbryt", + + "theme.group": "Tema", + "theme.system": "Følg systemet", + "theme.light": "Lyst", + "theme.dark": "Mørkt", + + "import.dialog_label": "Legg til et møte fra en fil eller URL", + "import.title": "Legg til et møte", + "import.close": "Lukk", + "import.close_title": "Lukk (Esc)", + "import.body": "Importer et eksisterende opptak — en lokal lyd-/videofil eller en lenke (YouTube, en strømmeside eller en direkte medie-URL). Det transkriberes og diariseres akkurat som et direkteopptak.", + "import.file_or_url": "Fil eller URL", + "import.source_placeholder": "Lim inn en URL, eller bla etter en fil…", + "import.choose_file": "Velg en lokal fil", + "import.browse": "Bla gjennom…", + "import.title_label": "Tittel", + "import.optional": "valgfritt", + "import.title_placeholder": "Standard er filnavnet", + "import.filter_av": "Lyd / video", + "import.requires_1": "Krever", + "import.requires_2": "installert og i din PATH (pluss", + "import.requires_3": "for URL-er). WhispAssist leverer dem ikke med.", + "import.importing": "Importerer… dette kan ta en stund", + "import.import": "Importer", + "import.cancel": "Avbryt", + + "tagchip.filter": "Filtrer møter merket «{tag}»", + "tagchip.remove": "Fjern taggen {tag}", + + "levelmeter.system_mic": "Inngangsnivå for system og mikrofon", + "levelmeter.system": "Inngangsnivå for system", + + "app.tagline": "lokal · privat", + "app.note_template": "Notatmal", + "app.no_template": "Ingen mal", + "app.add_meeting": "Legg til møte", + "app.add_meeting_title": "Legg til et møte fra en fil eller URL", + "app.record": "Ta opp", + "app.record_title": "Start opptak (Ctrl+Shift+R)", + "app.stop": "Stopp", + "app.stop_title": "Stopp opptak (Ctrl+Shift+R)", + "app.cancel": "Avbryt", + "app.cancel_title": "Forkast dette opptaket og slett det", + "app.recording": "Tar opp…", + "app.backend_title": "Aktiv transkripsjonsbackend", + "app.retention_title": "Lagre lyd som .wav for dette møtet", + "app.saving": "lagrer", + "app.not_saved": "ikke lagret", + "app.reconnecting": "kobler til lydenhet på nytt…", + "app.settings": "Innstillinger", + "app.settings_title": "Innstillinger (Ctrl+,)", + "app.discard_confirm": "Forkast dette opptaket? Lyden og transkripsjonen vil bli slettet.", + "app.announce_started": "Opptak startet", + "app.announce_paused": "Opptak satt på pause", + "app.announce_stopped": "Opptak stoppet", + "app.consent_dialog": "Samtykke til opptak", + "app.vault_dialog": "Lås opp krypteringshvelvet", + "app.vault_title": "Lås opp krypteringshvelvet", + "app.vault_desc": "Møtene dine er kryptert i hvile. Skriv inn passordet ditt for å lese dem.", + "app.vault_password": "Hvelvpassord", + "app.vault_incorrect": "Feil passord", + "app.unlock": "Lås opp", + "app.continue_locked": "Fortsett låst", + "app.show_meetings": "Vis møteliste", + "app.hide_meetings": "Skjul møteliste", + "app.show_summary": "Vis sammendragspanel", + "app.hide_summary": "Skjul sammendragspanel", + "app.resize_meetings": "Endre størrelse på møtelisten", + "app.resize_summary": "Endre størrelse på sammendragspanelet", + + "meetings.search_placeholder": "Søk i møter…", + "meetings.search_aria": "Søk i møter", + "meetings.filter_tag_aria": "Filtrer etter tagg", + "meetings.all_tags": "Alle tagger", + "meetings.from_date_aria": "Fra dato", + "meetings.to_date_aria": "Til dato", + "meetings.bulk_format_aria": "Format for masseeksport", + "meetings.bulk_export": "Masseeksport", + "meetings.bulk_export_title": "Eksporter alle møter som samsvarer med tagg-/datofiltrene ovenfor", + "meetings.exporting": "Eksporterer…", + "meetings.exported_one": "Eksporterte {n} møte.", + "meetings.exported_many": "Eksporterte {n} møter.", + "meetings.searching": "Søker…", + "meetings.loading": "Laster inn møter…", + "meetings.no_matches": "Ingen treff.", + "meetings.empty": "Ingen møter ennå — klikk Ta opp ovenfor for å starte.", + "meetings.status.recording": "tar opp", + "meetings.status.transcribing": "transkriberer", + "meetings.status.recovering": "gjenoppretter", + "meetings.status.error": "feil", + "meetings.resume": "Gjenoppta transkripsjon", + "meetings.delete_aria": "Slett møte", + "meetings.delete_confirm": "Slette dette møtet? Dette fjerner opptaket, transkripsjonen og notatene.", + + "transcript.heading": "Transkripsjon", + "transcript.title_aria": "Møtetittel", + "transcript.lang_title": "Transkripsjonsspråk", + "transcript.lang_auto": "oppdager…", + "transcript.show": "Vis transkripsjon", + "transcript.hide": "Skjul transkripsjon", + "transcript.empty": "Ingen transkripsjon for dette møtet.", + "transcript.will_appear": "Transkripsjonen vil vises her mens du tar opp.", + "transcript.play_from_here": "Spill av herfra", + "transcript.resize": "Endre størrelse på transkripsjon og notater", + "transcript.reprocess_placeholder": "Transkriber på nytt med…", + "transcript.reprocess_lang_aria": "Språk for ombehandling", + "transcript.reprocess_keep_lang": "Behold nåværende språk", + "transcript.reprocess_go": "Kjør", + "transcript.retranscribing": "Transkriberer på nytt…", + "transcript.has_note": "Har et notat", + "transcript.note_placeholder": "Legg til et notat for dette øyeblikket…", + "transcript.note_aria": "Notat for denne transkripsjonslinjen", + "transcript.filter_md": "Markdown", + "transcript.filter_pdf": "PDF", + "transcript.filter_docx": "Word-dokument", + "transcript.filter_obsidian": "Obsidian-notat", + + "notes.heading": "Notater", + "notes.show": "Vis notater", + "notes.hide": "Skjul notater", + "notes.placeholder": "Notater…", + "notes.live_placeholder": "Skriv notater mens du snakker…", + "notes.toolbar_aria": "Notatformatering", + "notes.bold": "Fet", + "notes.italic": "Kursiv", + "notes.h1": "Overskrift 1", + "notes.h2": "Overskrift 2", + "notes.bullet": "Punktliste", + "notes.checkbox_title": "Avkrysningsboks", + "notes.checkbox_aria": "Listeelement med avkrysningsboks", + "notes.edit_raw": "Rediger rå markdown", + "notes.render": "Gjengi markdown", + "notes.editor": "Redigering", + "notes.preview": "Forhåndsvisning", + "notes.export_md_title": "Eksporter notater som .md", + "notes.export_pdf_title": "Eksporter notater som .pdf", + "notes.export_docx_title": "Eksporter notater som .docx", + "notes.export_bundle_title": "Eksporter lyd + transkripsjon + notater til en mappe", + "notes.export_obsidian_title": "Eksporter ett Obsidian-notat (notater + sammendrag + transkripsjon, ingen lyd)", + + "summary.recording_heading": "Opptak", + "summary.loading_recording": "Laster inn opptak…", + "summary.sync_heading": "Synkronisering", + "summary.uploading": "Laster opp…", + "summary.upload_now": "Last opp nå", + "summary.no_uploads": "Ingen opplastinger for dette møtet ennå.", + "summary.retry": "prøv igjen", + "summary.tags_heading": "Tagger", + "summary.tags_select": "Velg et møte for å tagge det.", + "summary.tag_add_placeholder": "Legg til tagg…", + "summary.tag_first_placeholder": "prosjekt, kunde, tema…", + "summary.generating": "Genererer…", + "summary.generate_tags": "Generer tagger", + "summary.saving": "Lagrer…", + "summary.save_tags": "Lagre tagger", + "summary.summary_heading": "Sammendrag", + "summary.ai_provider": "KI-leverandør", + "summary.provider_off": "Av", + "summary.provider_custom": "Egendefinert", + "summary.local": "lokal", + "summary.leaves_device": "forlater denne enheten", + "summary.this_hosted_provider": "denne hostede leverandøren", + "summary.select_generate": "Velg et møte for å generere et sammendrag.", + "summary.decisions_heading": "Beslutninger", + "summary.regenerate": "Generer på nytt", + "summary.generated_hint": "Generert lokalt etter møtet (krever en lokal LLM-leverandør).", + "summary.no_provider": "Ingen KI-leverandør konfigurert — aktiver en i Innstillinger.", + "summary.generate_summary": "Generer sammendrag", + "summary.briefs_heading": "Funksjonsbriefer", + "summary.briefs_select": "Velg et møte for å opprette eller vise funksjonsbriefer.", + "summary.briefs_desc": "Destillerer dette møtet til en agentklar spesifikasjon (krever en lokal LLM-leverandør) — gi den til en kodeagent, eller server den over MCP-serveren når den er på.", + "summary.brief_repo_placeholder": "Målrepo (valgfritt), f.eks. acme/reporting-web", + "summary.distilling": "Destillerer…", + "summary.create_brief": "Opprett funksjonsbrief", + "summary.brief_mcp_title": "Tilgjengelig når MCP-serveren er på", + "summary.copied": "Kopiert", + "summary.copy_md": "Kopier som Markdown", + "summary.copy_json": "Kopier som JSON", + "summary.brief_problem": "Problem", + "summary.brief_outcome": "Ønsket resultat", + "summary.brief_criteria": "Akseptkriterier", + "summary.brief_none": "Ingenting fanget.", + "summary.brief_context": "Kontekst", + "summary.action_items_heading": "Oppgavepunkter", + "summary.ai_select": "Velg et møte for å se oppgavepunktene.", + "summary.ai_empty": "Ingen ennå — legg til ett nedenfor, eller generer et sammendrag for å hente dem automatisk.", + "summary.confirmed": "Bekreftet", + "summary.ai_text_placeholder": "Oppgavepunkt…", + "summary.ai_text_aria": "Tekst for oppgavepunkt", + "summary.owner": "Ansvarlig", + "summary.due_date": "Forfallsdato", + "summary.reminder_title": "Planlegg en lokal påminnelse for denne forfallsdatoen", + "summary.ai_delete_title": "Slett dette oppgavepunktet", + "summary.ai_delete_aria": "Slett oppgavepunkt", + "summary.add_action_item": "Legg til oppgavepunkt", + "summary.save_action_items": "Lagre oppgavepunkter", + "summary.calendar_heading": "Kalenderhendelse", + "summary.cal_select": "Velg et møte for å koble det til en kalenderhendelse.", + "summary.event_search_placeholder": "Søk hendelsestittel…", + "summary.linked_event": "Koblet hendelse", + "summary.change_event": "Endre hendelse…", + "summary.link_event": "Koble til en hendelse…", + "summary.untitled_event": "(uten tittel)", + "summary.no_events_1": "Ingen hendelser importert ennå — importer en", + "summary.no_events_2": "fra Innstillinger → Kalender.", + "summary.no_events_match": "Ingen hendelser samsvarer med dette søket/datoen — prøv å fjerne ett.", + "summary.organizer_label": "Arrangør: {name}", + "summary.participants_heading": "Deltakere", + "summary.participants_hint": "Fylles ut fra den koblede kalenderhendelsen.", + "summary.speakers_heading": "Talere", + "summary.speakers_select": "Velg et møte for å navngi talerne.", + "summary.no_speakers": "Ingen talere oppdaget ennå.", + "summary.speaker_name_placeholder": "Talerens navn", + "summary.save": "Lagre", + "summary.cancel": "Avbryt", + "summary.name_speaker": "Navngi denne taleren…", + "summary.add_new_name": "+ Legg til nytt navn…", + + "settings.recording.title": "Opptak", + "settings.recording.record_default": "Ta opp møter som standard", + "settings.recording.save_audio_as": "lagre lyd som", + "settings.recording.default_hint": "Av som standard. Når det er av, brukes lyd kun til å produsere transkripsjonen og slettes når møtet fullføres. Du kan også veksle opptak per møte.", + "settings.recording.consent_label": "Samtykke: {status}.", + "settings.recording.consent_ack": "bekreftet", + "settings.recording.consent_not": "ennå ikke bekreftet", + "settings.recording.auto_label": "Start opptak automatisk når en kalenderhendelse begynner", + "settings.recording.auto_hint": "Kun mens WhispAssist er åpen. Når starttiden for en importert kalenderhendelse inntreffer, begynner et opptak automatisk (med din standardinnstilling for oppbevaring ovenfor). Ingenting kjører i bakgrunnen — tidtakeren er kun aktivert mens appen kjører. Importer hendelser under Innstillinger → Kalender." +}