From 76bb38cbe619bceeeb58eaf3797fae95eb4d88c4 Mon Sep 17 00:00:00 2001 From: iamdoubz <> Date: Sun, 12 Jul 2026 16:09:01 -0500 Subject: [PATCH] feat(i18n): add Finnish (fi) translation --- src/lib/i18n/fi.json | 531 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 531 insertions(+) create mode 100644 src/lib/i18n/fi.json diff --git a/src/lib/i18n/fi.json b/src/lib/i18n/fi.json new file mode 100644 index 0000000..905184a --- /dev/null +++ b/src/lib/i18n/fi.json @@ -0,0 +1,531 @@ +{ + "nav.recording": "Tallennus", + "nav.hardware": "Laitteisto", + "nav.storage": "Tallennustila", + "nav.calendar": "Kalenteri", + "nav.sync": "Synkronointi", + "nav.ai": "Tekoäly", + "nav.mcp": "MCP-palvelin", + "nav.privacy": "Yksityisyys", + "nav.about": "Tietoja", + "nav.language": "Kieli", + + "settings.language.title": "Kieli", + "settings.language.display": "Näyttökieli", + "settings.language.display_hint": "Sovelluksen käyttöliittymän kieli. Kielen lisääminen on yhtä helppoa kuin yhden käännöstiedoston pudottaminen paikalleen.", + + "settings.transcription.title": "Litterointikieli", + "settings.transcription.label": "Kieli", + "settings.transcription.auto": "Tunnista automaattisesti", + "settings.transcription.applies_hint": "Koskee seuraavaa tallennusta. Todella käytetty kieli näytetään jälkeenpäin jokaisessa kokouksessa.", + "settings.transcription.english_only": "Vain englanti", + "settings.transcription.model_english_only": "”{model}” on vain englanniksi.", + "settings.transcription.no_model": "Mallia ei ole valittu.", + "settings.transcription.switch_multilingual": "Vaihda yllä monikieliseen malliin valitaksesi kielen.", + + "settings.hardware.title": "Laitteisto", + "settings.hardware.active_backend": "Aktiivinen taustajärjestelmä", + "settings.hardware.model_meta": "· malli {size}", + "settings.hardware.preferred_backend": "Ensisijainen taustajärjestelmä", + "settings.hardware.auto_backend": "Automaattinen (paras saatavilla)", + "settings.hardware.not_available": "ei saatavilla", + "settings.hardware.fallback_hint": "Vaihtaa automaattisesti (NPU → NVIDIA → AMD → Intel → CPU), jos valittu taustajärjestelmä ei lataudu.", + "settings.hardware.audio_devices": "Äänilaitteet", + "settings.hardware.recording_device": "Tallennuslaite", + "settings.hardware.default_system_audio": "Järjestelmän oletusääni", + "settings.hardware.recording_device_hint": "WhispAssist tallentaa sen, mitä tämä laite toistaa (loopback) — puhelun toisen puolen. Valitse tietty lähtö, jos et halua sen seuraavan Windowsin järjestelmän oletusta.", + "settings.hardware.microphone": "Mikrofoni", + "settings.hardware.mic_off": "Pois — älä kaappaa mikrofoniani", + "settings.hardware.default_mic": "Oletusmikrofoni", + "settings.hardware.mic_hint": "Lisää oman äänesi suoraan litterointiin, jotta kokouksen molemmat puolet tallentuvat. Pysyy laitteellasi — mitään ei ladata verkkoon. Valitse ”Pois” litteroidaksesi vain yllä olevan järjestelmän äänen.", + "settings.hardware.npu_detected": "NPU-kiihdytin havaittu", + "settings.hardware.ready": "Valmis", + "settings.hardware.downloading": "Ladataan…", + "settings.hardware.package_needed": "Paketti tarvitaan", + "settings.hardware.npu_hint": "NPU:si tarvitsee kertaluonteisen kiihdytyspaketin (Whisper ONNX -malli{extra}). Se ladataan taustalla; voit myös käynnistää sen nyt.", + "settings.hardware.plus_openvino": " + OpenVINO-suoritusympäristö", + "settings.hardware.download_npu": "Lataa NPU-paketti", + "settings.hardware.dml_title": "GPU-kiihdytys (DirectML)", + "settings.hardware.dml_hint": "GPU:tasi voidaan kiihdyttää ilman Vulkania DirectML:n kautta — kertaluonteinen paketti (Whisper ONNX -malli{extra}).", + "settings.hardware.plus_directml": " + DirectML-suoritusympäristö", + "settings.hardware.download_dml": "Lataa DirectML-paketti", + "settings.hardware.detection_unavailable": "Laitteiston tunnistus ei saatavilla.", + "settings.hardware.low_overhead": "Kevyt esiasetus", + "settings.hardware.low_overhead_note": "CPU + pienin malli, akku-/taustakäyttöön", + "settings.hardware.models": "Mallit", + "settings.hardware.downloading_model": "Ladataan {name}", + "settings.hardware.active_badge": "Aktiivinen", + "settings.hardware.installed": "Asennettu", + "settings.hardware.use": "Käytä", + "settings.hardware.remove": "Poista", + "settings.hardware.cant_remove_active": "Aktiivista mallia ei voi poistaa", + "settings.hardware.download": "Lataa", + "settings.hardware.diarization": "Puhujien erottelu", + "settings.hardware.diarization_hint": "Asenna molemmat mallit, jotta valmiit tallennukset erotellaan puhujittain (Puhuja 1, Puhuja 2, …) yhden juoksevan litteroinnin sijaan. Toimii täysin offline-tilassa, kerran kokousta kohden sen pysähdyttyä. Ilman niitä jokainen rivi liitetään yhteen puhujaan.", + + "settings.storage.title": "Tallennustila", + "settings.storage.location_label": "Sijainti", + "settings.storage.location_hint": "Tallennuspaikan vaihtamista ei vielä tueta — täällä kokoukset, mallit ja tietokanta tällä hetkellä sijaitsevat.", + "settings.storage.retention_title": "Säilytys", + "settings.storage.retention_hint": "Poistaa automaattisesti vanhimmat kokoukset rajan yli. Tarkistetaan kerran käynnistyksessä; tyhjä tarkoittaa ei rajaa. Ei koskaan koske kokoukseen, jota parhaillaan tallennetaan.", + "settings.storage.max_age": "Enimmäisikä (päivää)", + "settings.storage.max_size": "Enimmäiskoko (Gt)", + "settings.storage.no_limit": "ei rajaa", + "settings.storage.export_import_title": "Vienti ja tuonti", + "settings.storage.export_hint_1": "Siirrä tallennuksia tietokoneiden välillä siirrettävinä pakettikansioina (ääni, litterointi, muistiinpanot, yhteenveto ja", + "settings.storage.export_hint_2": "luettelotiedosto). Vie mihin tahansa kansioon — synkronoituun asemaan, USB-tikkuun tai synkronointikohteen paikalliseen liitospisteeseen — ja tuo se sitten toisella koneella. Tuodut kokoukset saavat uuden id:n, joten uudelleentuonti ei koskaan korvaa mitään.", + "settings.storage.export_dialog_title": "Vie kaikki kokoukset kohteeseen…", + "settings.storage.import_dialog_title": "Tuo paketti (tai pakettien kansio)…", + "settings.storage.exporting": "Viedään…", + "settings.storage.export_all": "Vie kaikki kokoukset…", + "settings.storage.importing": "Tuodaan…", + "settings.storage.import_all": "Tuo kokouksia…", + "settings.storage.exported_one": "Vietiin {n} kokous.", + "settings.storage.exported_many": "Vietiin {n} kokousta.", + "settings.storage.imported_one": "Tuotiin {n} kokous.", + "settings.storage.imported_many": "Tuotiin {n} kokousta.", + + "settings.calendar.title": "Kalenteri ja Outlook .pst", + "settings.calendar.intro_1": "Tuo tapahtumia ja osallistujia paikallisesta Outlook-", + "settings.calendar.intro_2": "varmuuskopiosta — vain luku, mitään ei kirjoiteta takaisin tiedostoon. Mikään ei poistu tältä laitteelta.", + "settings.calendar.pst_file": ".pst-tiedosto", + "settings.calendar.no_file": "Ei valittua tiedostoa", + "settings.calendar.browse": "Selaa…", + "settings.calendar.password": "Salasana", + "settings.calendar.password_note": "harvoin tarpeen", + "settings.calendar.optional": "valinnainen", + "settings.calendar.import_range": "Tuontialue", + "settings.calendar.range_30": "Viimeiset 30 päivää", + "settings.calendar.range_90": "Viimeiset 90 päivää", + "settings.calendar.range_180": "Viimeiset 6 kuukautta", + "settings.calendar.range_365": "Viimeinen vuosi", + "settings.calendar.range_all": "Koko ajalta", + "settings.calendar.range_hint": "Pitkäikäinen postilaatikko voi sisältää vuosien toistuvia/pyhäpäivämerkintöjä — alueen kaventaminen pitää tuodun kalenterin siinä, mikä on todella olennaista. Koskee sekä tätä tuontipainiketta että automaattista uudelleentuontia käynnistyksessä.", + "settings.calendar.importing": "Tuodaan…", + "settings.calendar.import": "Tuo", + "settings.calendar.import_progress": "{processed}/{total} tapahtumaa", + "settings.calendar.auto_reimport": "Tuo tämä tiedosto automaattisesti uudelleen käynnistyksessä", + "settings.calendar.auto_reimport_hint": "Suoritetaan kerran käynnistyksessä, ei ajastimella — uudelleentuonti on turvallista toistaa (olemassa olevat tapahtumat sovitetaan ja päivitetään, ei kahdenneta).", + "settings.calendar.import_failed": "Tuonti epäonnistui: {error} — itse tiedostoon ei kosketa; tarkista polku ja yritä uudelleen.", + "settings.calendar.cleanup_title": "Siivoa", + "settings.calendar.cleanup_hint": "Tapahtumat, jotka on jo liitetty tallennettuun kokoukseen, säilytetään aina, riippumatta alla valitusta vaihtoehdosta.", + "settings.calendar.cleanup_30": "Vanhemmat kuin 30 päivää", + "settings.calendar.cleanup_90": "Vanhemmat kuin 90 päivää", + "settings.calendar.cleanup_180": "Vanhemmat kuin 6 kuukautta", + "settings.calendar.cleanup_365": "Vanhemmat kuin 1 vuosi", + "settings.calendar.cleanup_all": "Poista kaikki", + "settings.calendar.cleaning": "Siivotaan…", + "settings.calendar.cleanup_btn": "Siivoa kalenteri", + "settings.calendar.cleanup_result": "Poistettiin {deleted}{extra}.", + "settings.calendar.cleanup_kept": ", säilytettiin {n} (liitetty kokoukseen)", + "settings.calendar.cleanup_failed": "Siivous epäonnistui: {error}", + "settings.calendar.imported_events": "Tuodut tapahtumat", + "settings.calendar.no_events": "Tapahtumia ei ole vielä tuotu.", + "settings.calendar.search_title": "Hae otsikkoa", + "settings.calendar.search_placeholder": "Kokouksen nimi…", + "settings.calendar.date_label": "Päivämäärä", + "settings.calendar.events_count": "{shown}/{total} tapahtumaa", + "settings.calendar.untitled": "(nimetön)", + + "settings.dialog_title": "Asetukset", + "settings.close": "Sulje", + "settings.close_title": "Sulje (Esc)", + + "settings.sync.stub": "Esikatselutila — synkronoinnin taustajärjestelmää ei ole vielä toteutettu (Vaihe 9). Muutokset säilytetään vain käyttöliittymässä.", + "settings.sync.title": "Synkronointi ja lataus", + "settings.sync.enable_label": "Ota käyttöön kokousartefaktien lataaminen määritettyihin kohteisiin", + "settings.sync.enable_hint": "Oletuksena pois. Mitään ei ladata, ellei tämä ole päällä ja kohde otettu käyttöön. Itse isännöidyt kohteet pitävät tiedot omalla palvelimellasi; kolmannen osapuolen pilvet on selkeästi merkitty.", + "settings.sync.targets_title": "Kohteet", + "settings.sync.no_targets": "Ei vielä kohteita. Lisää yksi alta.", + "settings.sync.third_party": "kolmas osapuoli", + "settings.sync.your_server": "palvelimesi", + "settings.sync.edit": "Muokkaa", + "settings.sync.remove": "Poista", + "settings.sync.edit_target": "Muokkaa kohdetta", + "settings.sync.add_target": "Lisää kohde", + "settings.sync.webdav_hint": "WebDAV kattaa Nextcloudin, ownCloudin, Cloudreven, Seafilen ja Synologyn. (Seafile: ota SeafDAV käyttöön palvelimen puolella.)", + "settings.sync.name": "Nimi", + "settings.sync.name_placeholder": "Koti-Nextcloud", + "settings.sync.provider": "Palveluntarjoaja", + "settings.sync.server_url": "Palvelimen URL", + "settings.sync.server_url_note_1": "Vain palvelimesi URL — WhispAssist lisää", + "settings.sync.server_url_note_2": "automaattisesti.", + "settings.sync.remote_folder": "Etäkansio", + "settings.sync.username": "Käyttäjänimi", + "settings.sync.app_password": "Sovellussalasana", + "settings.sync.pw_keep": "jätä tyhjäksi säilyttääksesi nykyisen salasanan", + "settings.sync.pw_store": "tallennettu käyttöjärjestelmän tunnistetietovarastoon", + "settings.sync.upload_legend": "Lataa", + "settings.sync.artifact_transcript": "litterointi", + "settings.sync.artifact_notes": "muistiinpanot", + "settings.sync.artifact_summary": "yhteenveto", + "settings.sync.artifact_recording": "tallennus (.wav, jos säilytetty)", + "settings.sync.allow_plaintext": "Salli selkotekstinen http LAN-osoitteelle (ei suositella)", + "settings.sync.encrypt_before": "Salaa ennen lataamista (kohde tallentaa vain salatekstin)", + "settings.sync.requires_vault": "— vaatii avatun holvin", + "settings.sync.test_connection": "Testaa yhteys", + "settings.sync.save_changes": "Tallenna muutokset", + "settings.sync.add_target_btn": "Lisää kohde", + "settings.sync.cancel": "Peruuta", + "settings.sync.third_party_banner": "{kind} on kolmannen osapuolen pilvi — lataaminen lähettää tietosi pois laitteeltasi kohteeseen {kind}.", + "settings.sync.link_account": "Yhdistä {kind}-tili…", + "settings.sync.oauth_hint": "Avaa OAuth-kirjautumisen (loopback-uudelleenohjaus); tunnus tallennetaan käyttöjärjestelmän tunnistetietovarastoon.", + "settings.sync.footnote": "Tunnistetietoja ei koskaan kirjoiteta asetuksiin tai tietokantaan — vain käyttöjärjestelmän tunnistetietovarastoon. TLS vaaditaan LAN:in ulkopuolisille kohteille.", + + "settings.ai.title": "Tekoälyn yhteenvetopalveluntarjoaja", + "settings.ai.intro_1": "Yhteenvedot suoritetaan oletuksena paikallisella LLM:llä. Osoita tämä Ollamaan tällä tietokoneella tai toisella koneella LAN:issasi (esim.", + "settings.ai.intro_2": "— molemmat lasketaan paikallisiksi, joten mikään ei poistu verkostasi. Isännöidyt palveluntarjoajat (Anthropic) ovat valinnaisia, oletuksena pois, ja lähettävät litteroinnin kolmannelle osapuolelle heti kun otat yhden käyttöön.", + "settings.ai.provider": "Palveluntarjoaja", + "settings.ai.off": "Pois", + "settings.ai.provider_ollama": "Ollama (paikallinen / LAN)", + "settings.ai.provider_custom": "Mukautettu (OpenAI-yhteensopiva)", + "settings.ai.provider_anthropic": "Anthropic (Claude) — isännöity, poistuu tältä laitteelta", + "settings.ai.endpoint": "Päätepiste", + "settings.ai.model": "Malli", + "settings.ai.api_key": "API-avain", + "settings.ai.api_key_set_placeholder": "•••••••••••••••• (jo asetettu — jätä tyhjäksi säilyttääksesi sen)", + "settings.ai.show_api_key": "Näytä API-avain", + "settings.ai.hide_api_key": "Piilota API-avain", + "settings.ai.anthropic_banner": "Anthropic on isännöity kolmannen osapuolen palvelu — tämän kokouksen litterointi poistuu laitteeltasi, kun luot yhteenvedon.", + "settings.ai.endpoint_banner": "Tämä päätepiste ei ole koneellasi tai LAN:issasi — litterointisi poistuisi verkostasi.", + "settings.ai.saving": "Tallennetaan…", + "settings.ai.save": "Tallenna", + "settings.ai.test_connection": "Testaa yhteys", + "settings.ai.this_hosted_provider": "tämä isännöity palveluntarjoaja", + "settings.ai.reachable": "Tavoitettavissa", + "settings.ai.unreachable": "Ei tavoitettavissa", + "settings.ai.model_count_one": "· {n} malli", + "settings.ai.model_count_many": "· {n} mallia", + "settings.ai.on_lan": "· koneellasi / LAN", + "settings.ai.leaves_network": "· poistuu verkostasi", + "settings.ai.advanced_title": "Ollaman lisäasetukset", + "settings.ai.changed": "{n} muutettu", + "settings.ai.reset_all": "Palauta kaikki oletuksiin", + "settings.ai.system_prompt": "Järjestelmäkehote", + "settings.ai.system_prompt_placeholder": "esim. Olet ytimekäs kokousten yhteenvetäjä.", + "settings.ai.system_prompt_hint": "Lisätään ennen WhispAssistin vaadittua tulostemuotoa, jotta ohjeesi eivät voi rikkoa yhteenvedon/tehtävien jäsentämistä.", + "settings.ai.think": "Päättele", + "settings.ai.think_help": "Päättelypanostus (vain päättelymallit).", + "settings.ai.keep_alive": "Pidä käynnissä", + "settings.ai.keep_alive_help": "Kuinka kauan malli pysyy RAM:issa. esim. 5m, 1h, 0 (pura), -1 (ikuisesti).", + "settings.ai.runtime_hardware": "Suoritus ja laitteisto", + "settings.ai.rarely_needed": "— harvoin tarpeen", + "settings.ai.save_advanced": "Tallenna lisäasetukset", + "settings.ai.saved": "Tallennettu", + "settings.ai.turn_off": "Kytke pois", + "settings.ai.default_value": "Oletus {value}.", + "settings.ai.reset_default": "Palauta oletukseen", + "settings.ai.reset_field": "Palauta {name}", + + "settings.mcp.title": "MCP-palvelin", + "settings.mcp.banner_1": "Tämä antaa oman koodausagenttisi (Claude Code, Codex, Copilot, OpenCode, …) hakea kokouskontekstia paikallisella koneellasi. Kun yhteys on muodostettu,", + "settings.mcp.banner_agent": "kyseinen agentti", + "settings.mcp.banner_2": "voi välittää lukemansa oman mallipalveluntarjoajansa pilveen — WhispAssistin hallinnan ulkopuolelle. WhispAssist itse ei koskaan lähetä näitä tietoja minnekään; palvelin kuuntelee vain tällä laitteella (", + "settings.mcp.banner_3": ") ja jokainen lukukerta kirjataan alle.", + "settings.mcp.enable": "Ota MCP-palvelin käyttöön", + "settings.mcp.enable_hint": "Oletuksena pois. Vain loopback, tunnussuojattu — mitään ei voi tavoittaa verkosta.", + "settings.mcp.transport": "Kuljetus", + "settings.mcp.transport_http": "Suoratoistava HTTP", + "settings.mcp.transport_stdio": "stdio (agentti käynnistää prosessin)", + "settings.mcp.port": "Portti", + "settings.mcp.transport_change_hint": "Vaihtaaksesi kuljetuksen/portin, kytke palvelin ensin pois ja sitten takaisin päälle.", + "settings.mcp.scope_title": "Laajuus", + "settings.mcp.expose": "Julkaise", + "settings.mcp.scope_none": "Ei mitään — mitään ei jaeta", + "settings.mcp.scope_selected": "Valitut — vain ominaisuustiivistelmät, jotka olet merkinnyt jaetuiksi", + "settings.mcp.scope_all": "Kaikki — kokoukset, litteroinnit, tehtävät ja jaetut tiivistelmät", + "settings.mcp.expose_recordings": "Salli myös kokoukset, joilla on tallennettu tallennus (oletuksena pois — tallennetun kokouksen litterointi pidätetään jopa ”Kaikki”-laajuudessa, kunnes tämä on päällä)", + "settings.mcp.token_title": "Uusi todennustunnus — näytetään kerran, kopioi se nyt", + "settings.mcp.token_hint": "Tätä ei näytetä uudelleen. Se tallennetaan käyttöjärjestelmän tunnistetietovarastoon; jos hukkaat sen, kytke palvelin pois ja takaisin päälle luodaksesi uuden.", + "settings.mcp.copied": "Kopioitu", + "settings.mcp.copy": "Kopioi", + "settings.mcp.endpoint": "Päätepiste", + "settings.mcp.endpoint_hint": "Osoita agenttisi MCP-asiakasmääritys kohteeseen {kind}, käyttäen yllä olevaa tunnusta bearer-tunnistetietona.", + "settings.mcp.kind_command": "komento", + "settings.mcp.kind_url": "URL", + "settings.mcp.access_log": "Käyttöloki", + "settings.mcp.access_log_hint": "Jokainen työkaluluku, jonka agentti tekee, sallittu tai evätty (FR-MCP-5).", + "settings.mcp.no_reads": "Yksikään agentti ei ole vielä lukenut mitään.", + "settings.mcp.log_meeting": "kokous {id}", + "settings.mcp.refresh": "Päivitä", + + "settings.privacy.title": "Yksityisyys", + "settings.privacy.intro": "Mitä WhispAssist saa tällä hetkellä todella lähettää pois tältä laitteelta. Kun kaikki on pois (oletus), mikään ei poistu laitteelta lainkaan.", + "settings.privacy.llm_endpoint": "LLM-päätepiste", + "settings.privacy.off": "pois", + "settings.privacy.local_only": "vain paikallinen", + "settings.privacy.leaves_device": "poistuu tältä laitteelta", + "settings.privacy.sync_label": "Synkronointi", + "settings.privacy.enabled": "käytössä", + "settings.privacy.mcp_label": "MCP-palvelin", + "settings.privacy.mcp_on": "päällä · {scope}", + "settings.privacy.mcp_loopback_note": "Saapuva vain loopbackissa — ei lisää mitään yllä olevaan lähtevän luetteloon. Yhdistetty agentti voi silti välittää lukemansa omalle mallipalveluntarjoajalleen; katso MCP-palvelin-välilehti.", + "settings.privacy.egress_title": "Lähtevän liikenteen sallittujen luettelo", + "settings.privacy.no_egress": "Yhtään isäntää ei ole sallittu — WA ei tee mitään sisällön lähtevää siirtoa.", + "settings.privacy.sync_targets_title": "Synkronointikohteet", + "settings.privacy.third_party": "kolmas osapuoli", + "settings.privacy.your_server": "palvelimesi", + "settings.privacy.tls": "TLS", + "settings.privacy.no_tls": "ei TLS:ää", + "settings.privacy.refresh": "Päivitä", + "settings.privacy.unavailable": "Yksityisyyden itsetarkistus ei saatavilla.", + "settings.privacy.vault_title": "Salausholvi", + "settings.privacy.vault_intro": "Salaa muistiinpanot, litteroinnit ja yhteenvedot levossa salasanalla. (Äänitiedostoja ei vielä salata.)", + "settings.privacy.vault_password": "Holvin salasana", + "settings.privacy.enable_vault": "Ota holvi käyttöön", + "settings.privacy.vault_pw_hint": "Käytä vähintään 8 merkkiä. Jos unohdat sen, salattua sisältöä ei voi palauttaa.", + "settings.privacy.vault_locked_1": "Holvi on ", + "settings.privacy.locked_word": "lukittu", + "settings.privacy.vault_locked_2": ". Avaa lukitus lukeaksesi salatut kokoukset.", + "settings.privacy.password": "Salasana", + "settings.privacy.unlock": "Avaa lukitus", + "settings.privacy.vault_unlocked_1": "Holvi on ", + "settings.privacy.unlocked_word": "avattu", + "settings.privacy.vault_unlocked_2": ". Uudet muistiinpanot, litteroinnit ja yhteenvedot salataan levossa.", + "settings.privacy.lock_now": "Lukitse nyt", + "settings.privacy.change_password": "Vaihda salasana", + "settings.privacy.current_password": "Nykyinen salasana", + "settings.privacy.new_password": "Uusi salasana", + + "settings.about.title": "Tietoja", + "settings.about.tagline": "Täysin paikallinen, avoimen lähdekoodin, Windows-natiivi kokousavustaja.", + "settings.about.build_commit": "Build-commit", + + "consent.heading": "Ennen kuin tallennat", + "consent.body": "Keskustelujen tallentaminen ilman osallistujien suostumusta voi olla laitonta alueellasi. Tarkista paikalliset tallennuslait. Tämä on varoitus, ei oikeudellinen neuvo.", + "consent.accept": "Ymmärrän — ota tallennus käyttöön", + "consent.cancel": "Peruuta", + + "hosted.heading": "Ennen kuin käytät palvelua {provider}", + "hosted.body_1": "Luominen palvelulla", + "hosted.body_2": "lähettää tämän kokouksen litteroinnin heidän palvelimilleen — se poistuu tältä laitteelta ja kuuluu heidän tietosuojakäytäntönsä piiriin. WhispAssistilla ei ole hallintaa tietojen käsittelyyn, kun ne poistuvat laitteeltasi. Tämä on oletuksena pois; valitset sen nyt.", + "hosted.accept": "Ymmärrän — jatka", + "hosted.cancel": "Peruuta", + + "theme.group": "Teema", + "theme.system": "Seuraa järjestelmää", + "theme.light": "Vaalea", + "theme.dark": "Tumma", + + "import.dialog_label": "Lisää kokous tiedostosta tai URL-osoitteesta", + "import.title": "Lisää kokous", + "import.close": "Sulje", + "import.close_title": "Sulje (Esc)", + "import.body": "Tuo olemassa oleva tallennus — paikallinen ääni-/videotiedosto tai linkki (YouTube, suoratoistosivu tai suora media-URL). Se litteroidaan ja eritellään puhujittain aivan kuten suora tallennus.", + "import.file_or_url": "Tiedosto tai URL", + "import.source_placeholder": "Liitä URL tai selaa tiedostoa…", + "import.choose_file": "Valitse paikallinen tiedosto", + "import.browse": "Selaa…", + "import.title_label": "Otsikko", + "import.optional": "valinnainen", + "import.title_placeholder": "Oletuksena tiedoston nimi", + "import.filter_av": "Ääni / video", + "import.requires_1": "Vaatii", + "import.requires_2": "asennettuna ja PATH:issasi (sekä", + "import.requires_3": "URL-osoitteille). WhispAssist ei sisällä niitä.", + "import.importing": "Tuodaan… tämä voi kestää hetken", + "import.import": "Tuo", + "import.cancel": "Peruuta", + + "tagchip.filter": "Suodata kokoukset, joilla on tunniste ”{tag}”", + "tagchip.remove": "Poista tunniste {tag}", + + "levelmeter.system_mic": "Järjestelmän ja mikrofonin tulotaso", + "levelmeter.system": "Järjestelmän tulotaso", + + "app.tagline": "paikallinen · yksityinen", + "app.note_template": "Muistiinpanomalli", + "app.no_template": "Ei mallia", + "app.add_meeting": "Lisää kokous", + "app.add_meeting_title": "Lisää kokous tiedostosta tai URL-osoitteesta", + "app.record": "Tallenna", + "app.record_title": "Aloita tallennus (Ctrl+Shift+R)", + "app.stop": "Pysäytä", + "app.stop_title": "Pysäytä tallennus (Ctrl+Shift+R)", + "app.cancel": "Peruuta", + "app.cancel_title": "Hylkää tämä tallennus ja poista se", + "app.recording": "Tallennetaan…", + "app.backend_title": "Aktiivinen litteroinnin taustajärjestelmä", + "app.retention_title": "Tallenna ääni .wav-muodossa tälle kokoukselle", + "app.saving": "tallennetaan", + "app.not_saved": "ei tallennettu", + "app.reconnecting": "yhdistetään äänilaitetta uudelleen…", + "app.settings": "Asetukset", + "app.settings_title": "Asetukset (Ctrl+,)", + "app.discard_confirm": "Hylätäänkö tämä tallennus? Sen ääni ja litterointi poistetaan.", + "app.announce_started": "Tallennus aloitettu", + "app.announce_paused": "Tallennus keskeytetty", + "app.announce_stopped": "Tallennus pysäytetty", + "app.consent_dialog": "Tallennussuostumus", + "app.vault_dialog": "Avaa salausholvin lukitus", + "app.vault_title": "Avaa salausholvin lukitus", + "app.vault_desc": "Kokouksesi on salattu levossa. Syötä salasanasi lukeaksesi ne.", + "app.vault_password": "Holvin salasana", + "app.vault_incorrect": "Väärä salasana", + "app.unlock": "Avaa lukitus", + "app.continue_locked": "Jatka lukittuna", + "app.show_meetings": "Näytä kokousluettelo", + "app.hide_meetings": "Piilota kokousluettelo", + "app.show_summary": "Näytä yhteenvetopaneeli", + "app.hide_summary": "Piilota yhteenvetopaneeli", + "app.resize_meetings": "Muuta kokousluettelon kokoa", + "app.resize_summary": "Muuta yhteenvetopaneelin kokoa", + + "meetings.search_placeholder": "Hae kokouksia…", + "meetings.search_aria": "Hae kokouksia", + "meetings.filter_tag_aria": "Suodata tunnisteen mukaan", + "meetings.all_tags": "Kaikki tunnisteet", + "meetings.from_date_aria": "Alkupäivä", + "meetings.to_date_aria": "Loppupäivä", + "meetings.bulk_format_aria": "Joukkoviennin muoto", + "meetings.bulk_export": "Joukkovienti", + "meetings.bulk_export_title": "Vie kaikki kokoukset, jotka vastaavat yllä olevia tunniste-/päivämääräsuodattimia", + "meetings.exporting": "Viedään…", + "meetings.exported_one": "Vietiin {n} kokous.", + "meetings.exported_many": "Vietiin {n} kokousta.", + "meetings.searching": "Haetaan…", + "meetings.loading": "Ladataan kokouksia…", + "meetings.no_matches": "Ei osumia.", + "meetings.empty": "Ei vielä kokouksia — napsauta yllä Tallenna aloittaaksesi.", + "meetings.status.recording": "tallennetaan", + "meetings.status.transcribing": "litteroidaan", + "meetings.status.recovering": "palautetaan", + "meetings.status.error": "virhe", + "meetings.resume": "Jatka litterointia", + "meetings.delete_aria": "Poista kokous", + "meetings.delete_confirm": "Poistetaanko tämä kokous? Tämä poistaa sen tallennuksen, litteroinnin ja muistiinpanot.", + + "transcript.heading": "Litterointi", + "transcript.title_aria": "Kokouksen otsikko", + "transcript.lang_title": "Litterointikieli", + "transcript.lang_auto": "tunnistetaan…", + "transcript.show": "Näytä litterointi", + "transcript.hide": "Piilota litterointi", + "transcript.empty": "Tälle kokoukselle ei ole litterointia.", + "transcript.will_appear": "Litterointi ilmestyy tähän tallennuksen aikana.", + "transcript.play_from_here": "Toista tästä", + "transcript.resize": "Muuta litteroinnin ja muistiinpanojen kokoa", + "transcript.reprocess_placeholder": "Litteroi uudelleen mallilla…", + "transcript.reprocess_lang_aria": "Uudelleenkäsittelyn kieli", + "transcript.reprocess_keep_lang": "Säilytä nykyinen kieli", + "transcript.reprocess_go": "Suorita", + "transcript.retranscribing": "Litteroidaan uudelleen…", + "transcript.has_note": "On muistiinpano", + "transcript.note_placeholder": "Lisää muistiinpano tälle hetkelle…", + "transcript.note_aria": "Muistiinpano tälle litterointiriville", + "transcript.filter_md": "Markdown", + "transcript.filter_pdf": "PDF", + "transcript.filter_docx": "Word-asiakirja", + "transcript.filter_obsidian": "Obsidian-muistiinpano", + + "notes.heading": "Muistiinpanot", + "notes.show": "Näytä muistiinpanot", + "notes.hide": "Piilota muistiinpanot", + "notes.placeholder": "Muistiinpanot…", + "notes.live_placeholder": "Kirjoita muistiinpanoja puhuessasi…", + "notes.toolbar_aria": "Muistiinpanojen muotoilu", + "notes.bold": "Lihavointi", + "notes.italic": "Kursivointi", + "notes.h1": "Otsikko 1", + "notes.h2": "Otsikko 2", + "notes.bullet": "Luettelomerkitty lista", + "notes.checkbox_title": "Valintaruutu", + "notes.checkbox_aria": "Valintaruutulistan kohde", + "notes.edit_raw": "Muokkaa raakaa markdownia", + "notes.render": "Renderöi markdown", + "notes.editor": "Editori", + "notes.preview": "Esikatselu", + "notes.export_md_title": "Vie muistiinpanot muodossa .md", + "notes.export_pdf_title": "Vie muistiinpanot muodossa .pdf", + "notes.export_docx_title": "Vie muistiinpanot muodossa .docx", + "notes.export_bundle_title": "Vie ääni + litterointi + muistiinpanot kansioon", + "notes.export_obsidian_title": "Vie yksi Obsidian-muistiinpano (muistiinpanot + yhteenveto + litterointi, ei ääntä)", + + "summary.recording_heading": "Tallennus", + "summary.loading_recording": "Ladataan tallennusta…", + "summary.sync_heading": "Synkronointi", + "summary.uploading": "Ladataan…", + "summary.upload_now": "Lataa nyt", + "summary.no_uploads": "Tälle kokoukselle ei ole vielä latauksia.", + "summary.retry": "yritä uudelleen", + "summary.tags_heading": "Tunnisteet", + "summary.tags_select": "Valitse kokous merkitäksesi sen tunnisteilla.", + "summary.tag_add_placeholder": "Lisää tunniste…", + "summary.tag_first_placeholder": "projekti, asiakas, aihe…", + "summary.generating": "Luodaan…", + "summary.generate_tags": "Luo tunnisteet", + "summary.saving": "Tallennetaan…", + "summary.save_tags": "Tallenna tunnisteet", + "summary.summary_heading": "Yhteenveto", + "summary.ai_provider": "Tekoälyn palveluntarjoaja", + "summary.provider_off": "Pois", + "summary.provider_custom": "Mukautettu", + "summary.local": "paikallinen", + "summary.leaves_device": "poistuu tältä laitteelta", + "summary.this_hosted_provider": "tämä isännöity palveluntarjoaja", + "summary.select_generate": "Valitse kokous luodaksesi yhteenvedon.", + "summary.decisions_heading": "Päätökset", + "summary.regenerate": "Luo uudelleen", + "summary.generated_hint": "Luotu paikallisesti kokouksen jälkeen (vaatii paikallisen LLM-palveluntarjoajan).", + "summary.no_provider": "Tekoälyn palveluntarjoajaa ei ole määritetty — ota yksi käyttöön Asetuksissa.", + "summary.generate_summary": "Luo yhteenveto", + "summary.briefs_heading": "Ominaisuustiivistelmät", + "summary.briefs_select": "Valitse kokous luodaksesi tai nähdäksesi ominaisuustiivistelmiä.", + "summary.briefs_desc": "Tiivistää tämän kokouksen agentille valmiiksi määrittelyksi (vaatii paikallisen LLM-palveluntarjoajan) — anna se koodausagentille tai tarjoa se MCP-palvelimen kautta, kun se on päällä.", + "summary.brief_repo_placeholder": "Kohderepo (valinnainen), esim. acme/reporting-web", + "summary.distilling": "Tiivistetään…", + "summary.create_brief": "Luo ominaisuustiivistelmä", + "summary.brief_mcp_title": "Saatavilla, kun MCP-palvelin on päällä", + "summary.copied": "Kopioitu", + "summary.copy_md": "Kopioi Markdownina", + "summary.copy_json": "Kopioi JSONina", + "summary.brief_problem": "Ongelma", + "summary.brief_outcome": "Haluttu lopputulos", + "summary.brief_criteria": "Hyväksymiskriteerit", + "summary.brief_none": "Ei mitään tallennettu.", + "summary.brief_context": "Konteksti", + "summary.action_items_heading": "Tehtävät", + "summary.ai_select": "Valitse kokous nähdäksesi sen tehtävät.", + "summary.ai_empty": "Ei vielä yhtään — lisää yksi alle tai luo yhteenveto poimiaksesi ne automaattisesti.", + "summary.confirmed": "Vahvistettu", + "summary.ai_text_placeholder": "Tehtävä…", + "summary.ai_text_aria": "Tehtävän teksti", + "summary.owner": "Vastuuhenkilö", + "summary.due_date": "Määräpäivä", + "summary.reminder_title": "Ajasta paikallinen muistutus tälle määräpäivälle", + "summary.ai_delete_title": "Poista tämä tehtävä", + "summary.ai_delete_aria": "Poista tehtävä", + "summary.add_action_item": "Lisää tehtävä", + "summary.save_action_items": "Tallenna tehtävät", + "summary.calendar_heading": "Kalenteritapahtuma", + "summary.cal_select": "Valitse kokous liittääksesi sen kalenteritapahtumaan.", + "summary.event_search_placeholder": "Hae tapahtuman otsikkoa…", + "summary.linked_event": "Linkitetty tapahtuma", + "summary.change_event": "Vaihda tapahtuma…", + "summary.link_event": "Linkitä tapahtuma…", + "summary.untitled_event": "(nimetön)", + "summary.no_events_1": "Tapahtumia ei ole vielä tuotu — tuo", + "summary.no_events_2": "kohdasta Asetukset → Kalenteri.", + "summary.no_events_match": "Yksikään tapahtuma ei vastaa tätä hakua/päivämäärää — yritä tyhjentää yksi.", + "summary.organizer_label": "Järjestäjä: {name}", + "summary.participants_heading": "Osallistujat", + "summary.participants_hint": "Täytetään linkitetystä kalenteritapahtumasta.", + "summary.speakers_heading": "Puhujat", + "summary.speakers_select": "Valitse kokous nimetäksesi sen puhujat.", + "summary.no_speakers": "Puhujia ei ole vielä havaittu.", + "summary.speaker_name_placeholder": "Puhujan nimi", + "summary.save": "Tallenna", + "summary.cancel": "Peruuta", + "summary.name_speaker": "Nimeä tämä puhuja…", + "summary.add_new_name": "+ Lisää uusi nimi…", + + "settings.recording.title": "Tallennus", + "settings.recording.record_default": "Tallenna kokoukset oletuksena", + "settings.recording.save_audio_as": "tallenna ääni muodossa", + "settings.recording.default_hint": "Oletuksena pois. Kun pois, ääntä käytetään vain litteroinnin tuottamiseen ja se poistetaan, kun kokous viimeistellään. Voit myös vaihtaa tallennusta kokouskohtaisesti.", + "settings.recording.consent_label": "Suostumus: {status}.", + "settings.recording.consent_ack": "vahvistettu", + "settings.recording.consent_not": "ei vielä vahvistettu", + "settings.recording.auto_label": "Aloita tallennus automaattisesti, kun kalenteritapahtuma alkaa", + "settings.recording.auto_hint": "Vain kun WhispAssist on auki. Kun tuodun kalenteritapahtuman alkamisaika koittaa, tallennus alkaa automaattisesti (käyttäen yllä olevaa oletussäilytysasetustasi). Mikään ei suoritu taustalla — ajastin on viritetty vain sovelluksen ollessa käynnissä. Tuo tapahtumia kohdasta Asetukset → Kalenteri." +}