Localizable.strings 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463
  1. /* AppBrand.name ("Meetings") tarkoituksella pois jätetty — sovelluksen nimi pysyy muuttumattomana koodissa. */
  2. "AI Companion for Meet" = "Tekoälyavustaja Googlen Meetiin";
  3. /* MARK: - Yleistä */
  4. "OK" = "OK";
  5. "Cancel" = "Peruuta";
  6. "Continue" = "Jatka";
  7. "Apply" = "Käytä";
  8. "Reset" = "Palauta";
  9. "Save" = "Tallenna";
  10. "Copy" = "Kopioi";
  11. "Copied" = "Kopioitu";
  12. "Close" = "Sulje";
  13. "Join" = "Liity";
  14. "None" = "Ei mitään";
  15. "Link" = "Linkki";
  16. "Stop" = "Pysäytä";
  17. "Address" = "Osoite";
  18. "Title" = "Otsikko";
  19. "Notes" = "Muistiinpanot";
  20. "Start" = "Aloita";
  21. "Premium" = "Premium";
  22. "Popular" = "Suosittu";
  23. "Browser" = "Selain";
  24. "Meeting" = "Kokous";
  25. "Error" = "Virhe";
  26. "Success" = "Onnistui";
  27. /* MARK: - Tilarivi */
  28. "Meetings status menu" = "Kokousten tilavalikko";
  29. "Open App" = "Avaa sovellus";
  30. "Join Meetings" = "Liity kokouksiin";
  31. "Schedule" = "Aikatauluta";
  32. "Calendar" = "Kalenteri";
  33. "Widgets" = "Widgetit";
  34. "AI Companion" = "Tekoälyavustaja";
  35. "Settings" = "Asetukset";
  36. "Top meetings" = "Kiinnitetyt kokoukset";
  37. "No upcoming meetings" = "Ei tulevia kokouksia";
  38. "Sign Out" = "Kirjaudu ulos";
  39. "Sign In" = "Kirjaudu sisään";
  40. "Quit" = "Lopeta";
  41. /* MARK: - Aloitusnäyttö */
  42. "Preparing your meetings workspace" = "Valmistellaan kokoustyötilaasi";
  43. "CONNECTING SERVICES" = "YHDISTETÄÄN PALVELUITA";
  44. "READY" = "VALMIS";
  45. "Plan smart, achieve more" = "Suunnittele fiksusti, saavuta enemmän";
  46. "%d%%" = "%d %%";
  47. /* MARK: - Widgetit */
  48. "Add Widget to Desktop" = "Lisää widget työpöydälle";
  49. "Choose a size and add your Google Meet widget." = "Valitse koko ja lisää Googlen Meet -widgettisi.";
  50. "Tip: Right-click a desktop widget to remove it." = "Vinkki: Napsauta työpöytäwidgetiä hiiren kakkospainikkeella poistaaksesi sen.";
  51. "Removed %@ widget from desktop." = "Widget %@ poistettu työpöydältä.";
  52. "Added %@ widget from desktop." = "Widget %@ lisätty työpöydältä.";
  53. "Added %@ widget to desktop." = "Widget %@ lisätty työpöydälle.";
  54. "Widgets are Premium only. Upgrade to add widgets." = "Widgetit ovat vain Premium-jäsenille. Päivitä lisätäksesi widgettejä.";
  55. "Remove Widget" = "Poista widget";
  56. "Small" = "Pieni";
  57. "Medium" = "Keskikokoinen";
  58. "Quick actions" = "Pikatoiminnot";
  59. "Open Meet" = "Avaa Googlen Meet";
  60. "Upcoming meetings" = "Tulevat kokoukset";
  61. "Sign in to see upcoming meetings" = "Kirjaudu sisään nähdäksesi tulevat kokoukset";
  62. "Sign in with Google" = "Kirjaudu sisään Googlella";
  63. "Google Meet" = "Googlen Meet";
  64. "Open and join quickly" = "Avaa ja liity nopeasti";
  65. "Refresh" = "Päivitä";
  66. /* MARK: - Sivupalkki ja navigointi */
  67. "Planning" = "Suunnittelu";
  68. "Additional" = "Lisäasetukset";
  69. "Get Premium" = "Hanki Premium";
  70. "Manage Subscription" = "Hallinnoi tilausta";
  71. "App for Google Meet" = "Sovellus Googlen Meetiin";
  72. /* MARK: - Kokoukseen liittyminen */
  73. "New Instant Meet" = "Uusi pikakokous";
  74. "Start instant Meet in more section with\nGoogle Meet meet." = "Aloita Googlen Meet -pikakokous Lisää-osiossa\nGooglen Meetillä.";
  75. "Join with Link" = "Liity linkillä";
  76. "Code or meet.google.com/…" = "Koodi tai meet.google.com/…";
  77. "Join with ID" = "Liity tunnuksella";
  78. "Join with URL" = "Liity URL-osoitteella";
  79. "Meeting URL" = "Kokouksen URL-osoite";
  80. "Enter meeting URL..." = "Syötä kokouksen URL-osoite...";
  81. "Quick Join Meeting" = "Pikaliity kokoukseen";
  82. "Invalid Meet link" = "Virheellinen Googlen Meet -linkki";
  83. "Enter a valid Google Meet link or meeting code (for example nkd-grps-duv, meet.google.com/nkd-grps-duv, or https://meet.google.com/nkd-grps-duv)." = "Syötä kelvollinen Googlen Meet -linkki tai kokouskoodi (esimerkiksi nkd-grps-duv, meet.google.com/nkd-grps-duv tai https://meet.google.com/nkd-grps-duv).";
  84. "Instant Meeting" = "Pikakokous";
  85. "Connect Google to start Instant Meeting" = "Yhdistä Google aloittaaksesi pikakokouksen";
  86. "To auto-stop recording when the meeting ends, connect your Google account first." = "Yhdistä Google-tilisi ensin, jotta tallennus pysähtyy automaattisesti kokouksen päättyessä.";
  87. "Could not create Instant Meeting" = "Pikakokousta ei voitu luoda";
  88. "Free trial used. Upgrade to continue." = "Ilmainen kokeilu käytetty. Päivitä jatkaaksesi.";
  89. /* MARK: - Verkon selaaminen */
  90. "Browse the web" = "Selaa verkkoa";
  91. "Enter a web address (for example meet.google.com)." = "Syötä verkko-osoite (esimerkiksi meet.google.com).";
  92. "Invalid address" = "Virheellinen osoite";
  93. "Enter a valid http or https URL." = "Syötä kelvollinen http- tai https-URL-osoite.";
  94. "Browse" = "Selaa";
  95. "Quick links" = "Pikalinkit";
  96. "Zoom help" = "Zoom-ohje";
  97. "https://example.com or example.com" = "https://example.com tai example.com";
  98. "Enter a valid web address, for example https://example.com" = "Syötä kelvollinen verkko-osoite, esimerkiksi https://example.com";
  99. "Address not allowed" = "Osoite ei ole sallittu";
  100. "This URL is not permitted with the current in-app browser policy (whitelist)." = "Tämä URL-osoite ei ole sallittu nykyisellä sovelluksen sisäisen selaimen käytännöllä (sallittujen lista).";
  101. "Unable to load page" = "Sivua ei voi ladata";
  102. "Could not load this page in the in-app browser.\n\n%@" = "Tätä sivua ei voitu ladata sovelluksen sisäisessä selaimessa.\n\n%@";
  103. "Page stopped loading" = "Sivun lataus pysähtyi";
  104. "Unable to open browser" = "Selainta ei voi avata";
  105. "Unable to Open Safari" = "Safaria ei voi avata";
  106. /* MARK: - Aikataulutus ja kalenteri */
  107. "All" = "Kaikki";
  108. "Today" = "Tänään";
  109. "This week" = "Tällä viikolla";
  110. "This month" = "Tässä kuussa";
  111. "Previous week" = "Edellinen viikko";
  112. "Previous month" = "Edellinen kuukausi";
  113. "Custom range" = "Mukautettu aikaväli";
  114. "No meetings match the selected filters." = "Mikään kokous ei vastaa valittuja suodattimia.";
  115. "Adjust the date range and tap Apply." = "Säädä päivämääräväliä ja napauta Käytä.";
  116. "Premium required. Get Premium now to unlock Calendar." = "Premium vaaditaan. Hanki Premium nyt avataksesi Kalenterin.";
  117. "Premium required. Click to open paywall." = "Premium vaaditaan. Napsauta avataksesi maksumuurin.";
  118. "Get Premium to see events" = "Hanki Premium nähdäksesi tapahtumat";
  119. "Connect Google" = "Yhdistä Google";
  120. "Sign in with Google first to schedule a meeting from Calendar." = "Kirjaudu ensin sisään Googlella aikatauluttaaksesi kokouksen Kalenterista.";
  121. "Select date" = "Valitse päivämäärä";
  122. "Choose a date to schedule your meeting." = "Valitse päivämäärä kokouksesi aikatauluttamiseksi.";
  123. "Google schedule" = "Google-kalenteri";
  124. "To show scheduled meetings, connect your Google account. You’ll need a Google OAuth client ID (Desktop) and a redirect URI matching the app’s callback scheme." = "Näyttääksesi aikataulutetut kokoukset, yhdistä Google-tilisi. Tarvitset Google OAuth -asiakastunnuksen (Desktop) ja uudelleenohjaus-URI:n, joka vastaa sovelluksen takaisinkutsukaaviota.";
  125. "Actions" = "Toiminnot";
  126. "Schedule meeting" = "Aikatauluta kokous";
  127. "Team sync" = "Tiimin synkronointi";
  128. "Duration (min)" = "Kesto (min)";
  129. "Refresh saved meetings" = "Päivitä tallennetut kokoukset";
  130. /* MARK: - Asetukset */
  131. "Manage appearance, account, and app options." = "Hallinnoi ulkoasua, tiliä ja sovellusasetuksia.";
  132. "Appearance" = "Ulkoasu";
  133. "Account" = "Tili";
  134. "App" = "Sovellus";
  135. "Notifications" = "Ilmoitukset";
  136. "Help & Legal" = "Ohjeet ja juridiset tiedot";
  137. "Dark Mode" = "Tumma tila";
  138. "Language" = "Kieli";
  139. "System Language" = "Järjestelmän kieli";
  140. "Rate Us" = "Arvostele meidät";
  141. "Share App" = "Jaa sovellus";
  142. "Upgrade" = "Päivitä";
  143. "Privacy Policy" = "Tietosuojakäytäntö";
  144. "Support" = "Tuki";
  145. "Terms of Services" = "Käyttöehdot";
  146. "AI Language 1" = "Tekoälyn kieli 1";
  147. "AI Language 2" = "Tekoälyn kieli 2";
  148. "Google account connected" = "Google-tili yhdistetty";
  149. "Google account not connected" = "Google-tiliä ei ole yhdistetty";
  150. "Signed in" = "Kirjautunut sisään";
  151. "Sign in to sync your meetings and calendar." = "Kirjaudu sisään synkronoidaksesi kokouksesi ja kalenterisi.";
  152. "Log out" = "Kirjaudu ulos";
  153. "Check out %@ for managing and joining meetings." = "Tutustu sovellukseen %@ kokousten hallintaan ja niihin liittymiseen.";
  154. "Meetings App" = "Kokous-sovellus";
  155. /* MARK: - Tallennussuostumus */
  156. "Record this meeting locally?" = "Tallennetaanko tämä kokous paikallisesti?";
  157. "With your consent, the app will record meeting audio on this Mac and show it in AI Companion after the meeting." = "Suostumuksellasi sovellus tallentaa kokouksen äänen tälle Macille ja näyttää sen tekoälyavustajassa kokouksen jälkeen.";
  158. "Allow and Continue" = "Salli ja jatka";
  159. "Continue Without Recording" = "Jatka ilman tallennusta";
  160. "Transcription Languages" = "Litterointikielet";
  161. "Preferred Language 1" = "Ensisijainen kieli 1";
  162. "Preferred Language 2" = "Ensisijainen kieli 2";
  163. "Microphone permission denied" = "Mikrofonin käyttöoikeus evätty";
  164. "Microphone permission required" = "Mikrofonin käyttöoikeus vaaditaan";
  165. "Enable microphone access in System Settings to record meetings locally." = "Salli mikrofonin käyttö Järjestelmäasetuksissa tallentaaksesi kokouksia paikallisesti.";
  166. "Could not start recording" = "Tallennusta ei voitu aloittaa";
  167. "Recording will start when the meeting starts" = "Tallennus alkaa, kun kokous alkaa";
  168. "Meeting recording started (meeting + microphone)" = "Kokouksen tallennus aloitettu (kokous + mikrofoni)";
  169. "System audio unavailable. Recording microphone only." = "Järjestelmän ääni ei ole käytettävissä. Tallennetaan vain mikrofoni.";
  170. "Meeting recording started (microphone only)" = "Kokouksen tallennus aloitettu (vain mikrofoni)";
  171. "Meeting recording saved" = "Kokouksen tallennus tallennettu";
  172. /* MARK: - Tekoälyavustaja */
  173. "Get notes from your previous meetings" = "Hae muistiinpanot aiemmista kokouksistasi";
  174. "Connect your Google account to see your AI Companion meeting history." = "Yhdistä Google-tilisi nähdäksesi tekoälyavustajan kokoushistoriasi.";
  175. "No previous meetings yet for %@. End a meeting to save it here and generate notes." = "Ei vielä aiempia kokouksia tilille %@. Päätä kokous tallentaaksesi sen tänne ja luodaksesi muistiinpanot.";
  176. "this account" = "tämä tili";
  177. "Previous meetings" = "Aiemmat kokoukset";
  178. "Recording in progress: %@" = "Tallennus käynnissä: %@";
  179. "Started: %@" = "Aloitettu: %@";
  180. "Stop Recording" = "Pysäytä tallennus";
  181. "Date: %@" = "Päivämäärä: %@";
  182. "Saved time: %@" = "Tallennettu aika: %@";
  183. "Get Notes" = "Hae muistiinpanot";
  184. "Premium required. Click to unlock AI Companion notes." = "Premium vaaditaan. Napsauta avataksesi tekoälyavustajan muistiinpanot.";
  185. "Play Audio" = "Toista ääni";
  186. "Pause Audio" = "Keskeytä ääni";
  187. "Stopped" = "Pysäytetty";
  188. "Speaking..." = "Puhutaan...";
  189. "Paused" = "Keskeytetty";
  190. "Playing..." = "Toistetaan...";
  191. "Not playing" = "Ei toisteta";
  192. "Checking audio..." = "Tarkistetaan ääntä...";
  193. "Audio file missing" = "Äänitiedosto puuttuu";
  194. "Could not play recording" = "Tallennusta ei voitu toistaa";
  195. "Failed: %@" = "Epäonnistui: %@";
  196. "Failed to play audio" = "Äänen toistaminen epäonnistui";
  197. "decode error" = "purkivirhe";
  198. "Loading..." = "Ladataan...";
  199. "Buffering..." = "Puskuroidaan...";
  200. "Finished" = "Valmis";
  201. "Transcript not requested" = "Litterointia ei pyydetty";
  202. "Transcript processing..." = "Litterointia käsitellään...";
  203. "Transcript ready" = "Litterointi valmis";
  204. "Transcript unavailable (tap to retry)" = "Litterointi ei saatavilla (napauta yrittääksesi uudelleen)";
  205. "Notes not requested" = "Muistiinpanoja ei pyydetty";
  206. "Preparing notes, please wait..." = "Valmistellaan muistiinpanoja, odota...";
  207. "Notes ready" = "Muistiinpanot valmiit";
  208. "Notes unavailable (tap to retry)" = "Muistiinpanot eivät saatavilla (napauta yrittääksesi uudelleen)";
  209. "Transcript unavailable" = "Litterointi ei saatavilla";
  210. "Notes unavailable" = "Muistiinpanot eivät saatavilla";
  211. "Transcript unavailable.\n\n%@" = "Litterointi ei saatavilla.\n\n%@";
  212. "Notes unavailable.\n\n%@" = "Muistiinpanot eivät saatavilla.\n\n%@";
  213. "Transcribing %d/%d chunks..." = "Transkriptio %d/%d osaa...";
  214. "Ended meeting." = "Kokous päättyi.";
  215. "Could not find recording details for this meeting." = "Tämän kokouksen tallennustietoja ei löytynyt.";
  216. "Transcript - %@" = "Litterointi - %@";
  217. "Notes - %@" = "Muistiinpanot - %@";
  218. "Meeting Notes" = "Kokousmuistiinpanot";
  219. /* MARK: - Maksumuuri ja StoreKit */
  220. "Meetings Pro" = "Kokoukset Pro";
  221. "PREMIUM EXPERIENCE" = "PREMIUM-KOKEMUS";
  222. "Elevate your meetings workflow" = "Nosta kokoustyönkulkusi tasoa";
  223. "Unlock automation, premium meeting tools, and priority support for every session." = "Avaa automaatio, premium-kokoustyökalut ja ensisijainen tuki jokaiselle istunnolle.";
  224. "Manage meetings" = "Hallinnoi kokouksia";
  225. "Smart scheduling" = "Älykäs aikataulutus";
  226. "Faster workflow" = "Nopeampi työnkulku";
  227. "Reminder notifications" = "Muistutusilmoitukset";
  228. "Monthly" = "Kuukausittain";
  229. "Bi Yearly" = "Puolivuosittain";
  230. "Yearly" = "Vuosittain";
  231. "Most Popular" = "Suosituin";
  232. "%@ • Most Popular" = "%@ • Suosituin";
  233. "3 days free trial" = "3 päivän ilmainen kokeilu";
  234. "Cancel anytime" = "Peruuta milloin tahansa";
  235. "No lock-in" = "Ei sitoutumista";
  236. "Instant access" = "Välitön pääsy";
  237. "Unlock all tools" = "Avaa kaikki työkalut";
  238. "Secure billing" = "Turvallinen laskutus";
  239. "Handled by Apple" = "Applen käsittelemä";
  240. "Secured by Apple. Cancel anytime." = "Applen turvaama. Peruuta milloin tahansa.";
  241. "Restore Purchase" = "Palauta ostos";
  242. "Continue with free plan" = "Jatka ilmaisella paketilla";
  243. "Already Premium" = "Jo Premium";
  244. "You are already premium. Do you want to continue with this purchase?" = "Olet jo Premium. Haluatko jatkaa tätä ostosta?";
  245. "Current plan: %@. Choose a different package to switch." = "Nykyinen paketti: %@. Valitse toinen paketti vaihtaaksesi.";
  246. "Premium is active on this Apple ID." = "Premium on aktiivinen tällä Apple ID:llä.";
  247. "Free for %@, then %@" = "Ilmainen %@ ajan, sitten %@";
  248. "Billed via App Store" = "Laskutetaan App Storen kautta";
  249. "%@ • %@" = "%@ • %@";
  250. "Save 0%" = "Säästä 0%";
  251. "Save %@%%" = "Säästä %@%%";
  252. "month" = "kuukausi";
  253. "year" = "vuosi";
  254. "%@ free trial" = "%@ ilmainen kokeilu";
  255. "Processing..." = "Käsitellään...";
  256. "Premium Active" = "Premium aktiivinen";
  257. "Continue with 3 day trail" = "Jatka 3 päivän kokeilulla";
  258. "Please Wait" = "Odota";
  259. "A purchase is already being processed." = "Ostosta käsitellään jo.";
  260. "This Apple ID already has premium access." = "Tällä Apple ID:llä on jo Premium-käyttöoikeus.";
  261. "Purchase Complete" = "Ostos valmis";
  262. "Premium has been unlocked successfully." = "Premium on avattu onnistuneesti.";
  263. "Purchase Pending" = "Ostos odottaa";
  264. "Your purchase is pending approval. You can continue once it completes." = "Ostoksensi odottaa hyväksyntää. Voit jatkaa, kun se on valmis.";
  265. "Product Not Available" = "Tuote ei saatavilla";
  266. "Unable to load this product. Check your StoreKit configuration and product IDs." = "Tätä tuotetta ei voi ladata. Tarkista StoreKit-määrityksesi ja tuotetunnukset.";
  267. "Already Purchased" = "Jo ostettu";
  268. "This plan is already active on your Apple ID." = "Tämä paketti on jo aktiivinen Apple ID:lläsi.";
  269. "Purchase Failed" = "Ostos epäonnistui";
  270. "Restore Purchases" = "Palauta ostokset";
  271. "Purchases restored successfully." = "Ostokset palautettu onnistuneesti.";
  272. "No previous premium purchase was found for this Apple ID." = "Tälle Apple ID:lle ei löytynyt aikaisempaa Premium-ostosta.";
  273. "Restore failed: %@" = "Palautus epäonnistui: %@";
  274. "Unable to Open Subscriptions" = "Tilauksia ei voi avata";
  275. "The subscriptions URL is invalid." = "Tilaus-URL on virheellinen.";
  276. "%@ tapped." = "%@ napautettu.";
  277. /* MARK: - Todennus */
  278. "Google Sign-In" = "Google-kirjautuminen";
  279. /* MARK: - Puheentunnistus/litterointivirheet */
  280. "Speech recognition permission denied. Enable it in System Settings and try again." = "Puheentunnistuksen käyttöoikeus evätty. Salli se Järjestelmäasetuksissa ja yritä uudelleen.";
  281. "Speech recognition is restricted on this Mac." = "Puheentunnistus on rajoitettu tällä Macilla.";
  282. "Speech recognition authorization is unavailable." = "Puheentunnistuksen valtuutus ei ole saatavilla.";
  283. "Speech recognizer is unavailable for the current locale." = "Puheentunnistin ei ole saatavilla nykyiselle alueasetukselle.";
  284. "Speech recognizer is unavailable for %@." = "Puheentunnistin ei ole saatavilla kielelle %@.";
  285. "No audio was available to transcribe." = "Ääntä ei ollut saatavilla litterointia varten.";
  286. /* MARK: - StoreKit-tapahtumavirheet */
  287. "Unable to load products: %@" = "Tuotteita ei voi ladata: %@";
  288. "Product ID not found in StoreKit response. Requested: %@. Loaded IDs: %@" = "Tuotetunnusta ei löytynyt StoreKit-vastauksesta. Pyydetty: %@. Ladatut tunnukset: %@";
  289. "Purchase verification failed." = "Ostoksen vahvistus epäonnistui.";
  290. "Unknown purchase state." = "Tuntematon ostoksen tila.";
  291. "none" = "ei mitään";
  292. /* MARK: - Maksumuurin hintatekstit */
  293. "%@ one-time purchase" = "%@ kertamaksu";
  294. "%@/month" = "%@/kuukausi";
  295. "%@/6 months" = "%@/6 kuukautta";
  296. "%@/year (3 days free trial)" = "%@/vuosi (3 päivän ilmainen kokeilu)";
  297. "day" = "päivä";
  298. "week" = "viikko";
  299. "period" = "jakso";
  300. "1 %@" = "1 %@";
  301. "%d %@s" = "%d %@";
  302. /* MARK: - Ilmoitukset ja pikapalaute */
  303. "Meeting added successfully." = "Kokous lisätty onnistuneesti.";
  304. "An issue occurred. Please try again." = "Tapahtui ongelma. Yritä uudelleen.";
  305. "Failed to load transcript." = "Litteroinnin lataaminen epäonnistui.";
  306. "Failed to generate notes." = "Muistiinpanojen luominen epäonnistui.";
  307. /* MARK: - Selainvaroitukset */
  308. "Try Again" = "Yritä uudelleen";
  309. "The in-app browser closed this page unexpectedly. You can try loading it again in this same window." = "Sovelluksen sisäinen selain sulki tämän sivun odottamatta. Voit yrittää ladata sen uudelleen tässä samassa ikkunassa.";
  310. /* MARK: - Aikataulutus- ja kalenterivirheet */
  311. "Couldn't load schedule." = "Aikataulua ei voitu ladata.";
  312. "Couldn't refresh schedule." = "Aikataulua ei voitu päivittää.";
  313. "Couldn't connect Google account." = "Google-tiliä ei voitu yhdistää.";
  314. "Couldn't logout Google account." = "Google-tililtä ei voitu kirjautua ulos.";
  315. "Couldn't load schedule" = "Aikataulua ei voitu ladata";
  316. "Couldn't determine Meet meeting code from URL." = "Googlen Meet -kokouskoodia ei voitu määrittää URL-osoitteesta.";
  317. "Refreshing…" = "Päivitetään…";
  318. "Connect Google to see meetings" = "Yhdistä Google nähdäksesi kokoukset";
  319. "Connect to load schedule" = "Yhdistä ladataksesi aikataulu";
  320. "Loading…" = "Ladataan…";
  321. "Loading schedule…" = "Ladataan aikataulua…";
  322. "Start date must be on or before end date." = "Aloituspäivän on oltava ennen päättymispäivää tai sama.";
  323. "Invalid custom date range" = "Virheellinen mukautettu päivämääräväli";
  324. "No meetings" = "Ei kokouksia";
  325. "No meetings for selected filters" = "Ei kokouksia valituilla suodattimilla";
  326. "No meetings on %@" = "Ei kokouksia %@";
  327. "1 meeting on %@" = "1 kokous %@";
  328. "%d meetings on %@" = "%d kokousta %@";
  329. "Showing %d of %d" = "Näytetään %d / %d";
  330. "All day" = "Koko päivä";
  331. "Duration: all day" = "Kesto: koko päivä";
  332. "Duration: %dh %dm" = "Kesto: %dt %dm";
  333. "Duration: %dh" = "Kesto: %dt";
  334. "Duration: %dm" = "Kesto: %dm";
  335. "%@ - %@" = "%@ - %@";
  336. "Scheduled Meeting" = "Aikataulutettu kokous";
  337. /* MARK: - Kokouksen luomisen ponnahdusikkuna */
  338. "Please enter a title." = "Anna otsikko.";
  339. "Duration must be a positive number of minutes." = "Keston on oltava positiivinen määrä minuutteja.";
  340. "Invalid start time." = "Virheellinen alkamisaika.";
  341. /* MARK: - Muistutukset ja ilmoitukset */
  342. "Reminders" = "Muistutukset";
  343. "1 Day Before" = "1 päivä ennen";
  344. "12 Hours Before" = "12 tuntia ennen";
  345. "1 Hour Before" = "1 tunti ennen";
  346. "Starts in 1 day" = "Alkaa 1 päivän kuluttua";
  347. "Starts in 12 hours" = "Alkaa 12 tunnin kuluttua";
  348. "Starts in 1 hour" = "Alkaa 1 tunnin kuluttua";
  349. /* MARK: - Google OAuth -virheet */
  350. "Missing Google OAuth Client ID." = "Google OAuth -asiakastunnus puuttuu.";
  351. "Missing Google OAuth Client Secret." = "Google OAuth -asiakassalasana puuttuu.";
  352. "Invalid OAuth callback URL." = "Virheellinen OAuth-takaisinkutsu-URL.";
  353. "Google did not return an authorization code." = "Google ei palauttanut valtuutuskoodia.";
  354. "Token exchange failed: %@" = "Tunnuksen vaihto epäonnistui: %@";
  355. "Could not open browser for Google sign-in." = "Selainta ei voitu avata Google-kirjautumista varten.";
  356. "Google sign-in timed out." = "Google-kirjautuminen aikakatkaistiin.";
  357. "No stored Google tokens found." = "Tallennettuja Google-tunnuksia ei löytynyt.";
  358. /* MARK: - Tekoälyavustaja/litterointivirheet */
  359. "Recording not found." = "Tallennetta ei löytynyt.";
  360. "Local meeting audio is missing." = "Paikallinen kokouksen ääni puuttuu.";
  361. "Generated transcript was empty." = "Luotu litterointi oli tyhjä.";
  362. "(No transcript entries found.)" = "(Litterointimerkintöjä ei löytynyt.)";
  363. "No conference record found for this meeting." = "Tälle kokoukselle ei löytynyt konferenssitietuetta.";
  364. "No transcript found for this meeting." = "Tälle kokoukselle ei löytynyt litterointia.";
  365. "Unable to create audio composition tracks." = "Äänen koosteraitoja ei voitu luoda.";
  366. "Unable to create audio export session." = "Äänen vienti-istuntoa ei voitu luoda.";
  367. "Audio mix export failed." = "Äänimiksauksen vienti epäonnistui.";
  368. "No display available for system audio capture." = "Näyttöä ei ole käytettävissä järjestelmän äänen kaappausta varten.";
  369. "Cannot add audio writer input." = "Äänenkirjoittajan syötettä ei voi lisätä.";
  370. /* MARK: - Google API -virheet */
  371. "Google Meet returned an invalid response." = "Googlen Meet palautti virheellisen vastauksen.";
  372. "Google Meet API error (%d): %@" = "Googlen Meet API -virhe (%d): %@";
  373. "Failed to parse Google Meet response: %@" = "Googlen Meet -vastauksen jäsentäminen epäonnistui: %@";
  374. "Google Calendar returned an invalid response." = "Google Kalenteri palautti virheellisen vastauksen.";
  375. "Google Calendar API error (%d): %@" = "Google Kalenteri API -virhe (%d): %@";
  376. "Failed to parse Google Calendar events: %@" = "Google Kalenteri -tapahtumien jäsentäminen epäonnistui: %@";
  377. /* MARK: - OpenAI-virheet */
  378. "OpenAI API key is missing. Set OPENAI_API_KEY in the environment or app key vault." = "OpenAI API -avain puuttuu. Aseta OPENAI_API_KEY ympäristössä tai sovelluksen avainsäilössä.";
  379. "Notes generation returned an invalid response." = "Muistiinpanojen luonti palautti virheellisen vastauksen.";
  380. "Notes generation failed (%d): %@" = "Muistiinpanojen luonti epäonnistui (%d): %@";
  381. "Notes generation returned empty text." = "Muistiinpanojen luonti palautti tyhjää tekstiä.";
  382. "OpenAI transcription returned an invalid response." = "OpenAI-litterointi palautti virheellisen vastauksen.";
  383. "OpenAI transcription failed (%d): %@" = "OpenAI-litterointi epäonnistui (%d): %@";
  384. "OpenAI transcription returned no text." = "OpenAI-litterointi ei palauttanut tekstiä.";
  385. /* MARK: - Navigointi ja sovelluksen sisäinen selain */
  386. "Open sites in the in-app browser (back, forward, reload, address bar). OAuth and “Continue in browser” flows stay inside the app." = "Avaa sivustot sovelluksen sisäisessä selaimessa (takaisin, eteenpäin, päivitä, osoiterivi). OAuth- ja \"Jatka selaimessa\" -kulut pysyvät sovelluksen sisällä.";
  387. "Open in app browser" = "Avaa sovelluksen selaimessa";
  388. "Meet help" = "Googlen Meet -ohje";
  389. "Go" = "Siirry";
  390. "Back" = "Takaisin";
  391. "Forward" = "Eteenpäin";
  392. "Reload" = "Päivitä";
  393. "Profile" = "Profiili";
  394. "Scroll meetings" = "Vieritä kokouksia";
  395. "Refresh meetings" = "Päivitä kokoukset";
  396. "Sync calendar" = "Synkronoi kalenteri";
  397. /* MARK: - Kalenteri- ja aikataulutusmerkinnät */
  398. "Google Calendar" = "Google Kalenteri";
  399. "Untitled meeting" = "Nimetön kokous";
  400. "Created event missing start/end." = "Luodusta tapahtumasta puuttuu alku/loppu.";
  401. "Created event missing Meet/HTML link." = "Luodusta tapahtumasta puuttuu Googlen Meet/HTML-linkki.";
  402. /* MARK: - Google-tili */
  403. "Google account" = "Google-tili";
  404. "%@, Google account" = "%@, Google-tili";
  405. "Google User" = "Google-käyttäjä";
  406. /* MARK: - Zoomiin liittyminen (käyttämättömät osat) */
  407. "Meeting ID" = "Kokoustunnus";
  408. "Enter meeting ID..." = "Syötä kokoustunnus...";
  409. "Meeting Passcode" = "Kokouksen salasana";
  410. "Enter meeting passcode..." = "Syötä kokouksen salasana...";
  411. /* MARK: - Maksumuuri (vaihtoehtoiset edut) */
  412. "Virtual backgrounds" = "Virtuaaliset taustat";
  413. "Tools for productivity" = "Tuottavuustyökalut";
  414. "24/7 support" = "24/7 tuki";
  415. /* MARK: - Litteroinnin puhujat */
  416. "You" = "Sinä";
  417. /* MARK: - Avainnippuvirheet */
  418. "Failed to read OAuth tokens from Keychain." = "OAuth-tunnusten lukeminen Avainnipusta epäonnistui.";
  419. "Keychain returned an invalid token payload." = "Avainnippu palautti virheellisen tunnuksen hyötykuorman.";
  420. "Failed to update OAuth tokens in Keychain." = "OAuth-tunnusten päivittäminen Avainnipussa epäonnistui.";
  421. "Failed to save OAuth tokens to Keychain." = "OAuth-tunnusten tallentaminen Avainnippuun epäonnistui.";
  422. "Failed to delete OAuth tokens from Keychain." = "OAuth-tunnusten poistaminen Avainnipusta epäonnistui.";
  423. "Unable to allocate audio buffer." = "Äänipuskuria ei voitu varata.";
  424. "Invalid revoke response." = "Virheellinen peruutusvastaus.";
  425. "Token revoke failed with status %d." = "Tunnuksen peruutus epäonnistui tilalla %d.";
  426. /* MARK: - Virhediagnostiikka */
  427. "Keychain: %d (%@)" = "Avainnippu: %d (%@)";
  428. "OSStatus: %d" = "Käyttöjärjestelmän tila: %d";
  429. "Item: service=%@, account=%@" = "Kohde: palvelu=%@, tili=%@";