From ddf5fab3640ba816137154d82a8cdc28996ef6bb Mon Sep 17 00:00:00 2001 From: "Frederick [Bot]" Date: Sun, 16 Mar 2025 00:21:45 +0000 Subject: [PATCH] chore(i18n): update translations via Crowdin --- frontend/src/i18n/lang/fi-FI.json | 1206 ++++++++++++++--------------- pkg/i18n/lang/fi-FI.json | 104 +-- 2 files changed, 655 insertions(+), 655 deletions(-) diff --git a/frontend/src/i18n/lang/fi-FI.json b/frontend/src/i18n/lang/fi-FI.json index 0b7d96be6..237798d63 100644 --- a/frontend/src/i18n/lang/fi-FI.json +++ b/frontend/src/i18n/lang/fi-FI.json @@ -1,142 +1,142 @@ { "home": { - "welcomeNight": "Good Night {username}!", - "welcomeMorning": "Good Morning {username}!", - "welcomeDay": "Hi {username}!", - "welcomeEvening": "Good Evening {username}!", - "lastViewed": "Last viewed", - "addToHomeScreen": "Add this app to your home screen for faster access and improved experience.", - "goToOverview": "Go to overview", + "welcomeNight": "Hyvää Yötä {username}!", + "welcomeMorning": "Hyvää Huomenta {username}!", + "welcomeDay": "Moi {username}!", + "welcomeEvening": "Hyvää Iltaa {username}!", + "lastViewed": "Viimeksi katsottu", + "addToHomeScreen": "Lisää tämä sovellus aloitusnäyttöösi saadaksesi nopeamman pääsyn ja paremman kokemuksen.", + "goToOverview": "Siirry yleiskatsaukseen", "project": { - "importText": "Import your projects and tasks from other services into Vikunja:", - "import": "Import your data into Vikunja" + "importText": "Tuo projektisi ja tehtäväsi muista palveluista Vikunjaan:", + "import": "Tuo tietosi Vikunjaan" } }, "demo": { - "title": "This instance is in demo mode. Do not use this for real data!", - "everythingWillBeDeleted": "Everything will be deleted in regular intervals!", - "accountWillBeDeleted": "Your account will be deleted, including all projects, tasks and attachments you might create." + "title": "Tämä ilmentymä on demotilassa. Älä käytä tätä oikeisiin tietoihin!", + "everythingWillBeDeleted": "Kaikki poistetaan säännöllisin väliajoin!", + "accountWillBeDeleted": "Tilisi poistetaan, mukaan lukien kaikki projektit, tehtävät ja liitteet, joita saatat luoda." }, "404": { - "title": "Not found", - "text": "The page you requested does not exist." + "title": "Ei löytynyt", + "text": "Pyytämääsi sivua ei ole olemassa." }, "ready": { - "loading": "Vikunja is loading…", - "errorOccured": "An error occurred:", - "checkApiUrl": "Please check if the api url is correct.", - "noApiUrlConfigured": "No API url was configured. Please set one below:" + "loading": "Ladataan Vikunjaa…", + "errorOccured": "Tapahtui virhe:", + "checkApiUrl": "Ole hyvä ja tarkista, onko api url oikein.", + "noApiUrlConfigured": "API url-osoitetta ei ole määritelty. Aseta sellainen alla:" }, "offline": { - "title": "You are offline.", - "text": "Please check your network connection and try again." + "title": "Olet offline-tilassa.", + "text": "Tarkista verkkoyhteytesi ja yritä uudelleen." }, "user": { "auth": { - "username": "Username", - "usernameEmail": "Username Or Email Address", - "usernamePlaceholder": "e.g. frederick", - "email": "Email address", - "emailPlaceholder": "e.g. frederic{'@'}vikunja.io", - "password": "Password", - "passwordPlaceholder": "e.g. •••••••••••", - "forgotPassword": "Forgot your password?", - "resetPassword": "Reset your password", - "resetPasswordAction": "Send me a password reset link", - "resetPasswordSuccess": "Check your inbox! You should have an email with instructions on how to reset your password.", - "passwordsDontMatch": "Passwords don't match", - "confirmEmailSuccess": "You successfully confirmed your email! You can log in now.", - "totpTitle": "Two Factor Authentication Code", - "totpPlaceholder": "e.g. 123456", - "login": "Login", - "createAccount": "Create account", - "loginWith": "Log in with {provider}", - "authenticating": "Authenticating…", - "openIdStateError": "State does not match, refusing to continue!", - "openIdGeneralError": "An error occurred while authenticating against the third party.", - "logout": "Logout", - "emailInvalid": "Please enter a valid email address.", - "usernameRequired": "Please provide a username.", - "usernameMustNotContainSpace": "The username must not contain spaces.", - "usernameMustNotLookLikeUrl": "The username must not look like a URL.", - "passwordRequired": "Please provide a password.", - "passwordNotMin": "Password must have at least 8 characters.", - "passwordNotMax": "Password must have at most 72 characters.", - "showPassword": "Show the password", - "hidePassword": "Hide the password", - "noAccountYet": "Don't have an account yet?", - "alreadyHaveAnAccount": "Already have an account?", - "remember": "Stay logged in", - "registrationDisabled": "Registration is disabled." + "username": "Käyttäjätunnus", + "usernameEmail": "Käyttäjätunnus Tai Sähköpostiosoite", + "usernamePlaceholder": "esim. frederick", + "email": "Sähköpostiosoite", + "emailPlaceholder": "esim. frederic{'@'}vikunja.io", + "password": "Salasana", + "passwordPlaceholder": "esim. •••••••••••", + "forgotPassword": "Unohditko salasanasi?", + "resetPassword": "Palauta salasanasi", + "resetPasswordAction": "Lähetä minulle salasanan palautuslinkki", + "resetPasswordSuccess": "Tarkasta sähköpostisi! Sinulla pitäisi olla viesti, joka sisältää ohjeen kuinka palauttaa salasanasi.", + "passwordsDontMatch": "Salasanat eivät täsmää", + "confirmEmailSuccess": "Vahvistit sähköpostisi onnistuneesti! Voit kirjautua sisään nyt.", + "totpTitle": "Kaksivaiheisen Tunnistautumisen Koodi", + "totpPlaceholder": "esim. 123456", + "login": "Kirjaudu sisään", + "createAccount": "Luo tili", + "loginWith": "Kirjaudu sisään käyttäen {provider}-palvelua", + "authenticating": "Todennetaan…", + "openIdStateError": "Tila ei täsmää, kieltäydytään jatkamasta!", + "openIdGeneralError": "Tapahtui virhe todennettaessa kolmatta osapuolta vastaan.", + "logout": "Kirjaudu ulos", + "emailInvalid": "Ole hyvä ja syötä kelvollinen sähköpostiosoite.", + "usernameRequired": "Ole hyvä ja anna käyttäjätunnus.", + "usernameMustNotContainSpace": "Käyttäjätunnus ei saa sisältää välilyöntejä.", + "usernameMustNotLookLikeUrl": "Käyttäjätunnus ei saa näyttää URL-osoitteelta.", + "passwordRequired": "Ole hyvä ja anna salasana.", + "passwordNotMin": "Salasanassa on oltava vähintään 8 merkkiä.", + "passwordNotMax": "Salasanassa saa olla enintään 72 merkkiä.", + "showPassword": "Näytä salasana", + "hidePassword": "Piilota salasana", + "noAccountYet": "Eikö sinulla ole vielä tiliä?", + "alreadyHaveAnAccount": "Onko sinulla jo tili?", + "remember": "Pysy kirjautuneena", + "registrationDisabled": "Rekisteröinti on poistettu käytöstä." }, "settings": { - "title": "Settings", - "newPasswordTitle": "Update Your Password", - "newPassword": "New password", - "newPasswordConfirm": "New password confirmation", - "currentPassword": "Current password", - "currentPasswordPlaceholder": "Your current password", - "passwordsDontMatch": "The new password and its confirmation don't match.", - "passwordUpdateSuccess": "The password was successfully updated.", - "updateEmailTitle": "Update Your Email Address", - "updateEmailNew": "New email address", - "updateEmailSuccess": "Your email address was successfully updated. We've sent you a link to confirm it.", + "title": "Asetukset", + "newPasswordTitle": "Päivitä Salasanasi", + "newPassword": "Uusi salasana", + "newPasswordConfirm": "Vahvista uusi salasana", + "currentPassword": "Nykyinen salasana", + "currentPasswordPlaceholder": "Nykyinen salasanasi", + "passwordsDontMatch": "Uusi salasana ja sen vahvistus eivät täsmää.", + "passwordUpdateSuccess": "Salasana päivitettiin onnistuneesti.", + "updateEmailTitle": "Päivitä Sähköpostiosoitteesi", + "updateEmailNew": "Uusi sähköpostiosoite", + "updateEmailSuccess": "Sähköpostiosoitteesi päivitettiin onnistuneesti. Olemme lähettäneet sinulle vahvistus linkin.", "general": { - "title": "General Settings", - "name": "My Name", - "newName": "The new name", - "savedSuccess": "The settings were successfully updated.", - "emailReminders": "Send me reminders for tasks via email", - "overdueReminders": "Send me a summary of my undone overdue tasks every day", - "discoverableByName": "Allow other users to add me as a member to teams or projects when they search for my name", - "discoverableByEmail": "Allow other users to add me as a member to teams or projects when they search for my full email", - "playSoundWhenDone": "Play a sound when marking tasks as done", - "weekStart": "Week starts on", - "weekStartSunday": "Sunday", - "weekStartMonday": "Monday", - "language": "Language", - "defaultProject": "Default project", - "defaultView": "Default view", - "timezone": "Time zone", - "overdueTasksRemindersTime": "Overdue tasks reminder email time", - "filterUsedOnOverview": "Saved filter used on the overview page", - "externalUserNameChange": "Your name is managed by your login provider ({provider}). To change it, please update it there instead." + "title": "Yleiset Asetukset", + "name": "Oma Nimi", + "newName": "Uusi nimi", + "savedSuccess": "Asetukset päivitettiin onnistuneesti.", + "emailReminders": "Lähetä minulle tehtävä muistutuksia sähköpostilla", + "overdueReminders": "Lähetä minulle yhteenveto erääntyneistä keskeneräisistä tehtävistäni joka päivä", + "discoverableByName": "Salli muiden käyttäjien lisätä minut jäseneksi tiimeihin tai projekteihin, kun he etsivät nimeäni", + "discoverableByEmail": "Salli muiden käyttäjien lisätä minut jäseneksi tiimeihin tai projekteihin, kun he etsivät koko sähköpostiani", + "playSoundWhenDone": "Toista ääni, kun tehtävä merkitään valmiiksi", + "weekStart": "Viikko alkaa", + "weekStartSunday": "Sunnuntai", + "weekStartMonday": "Maanantai", + "language": "Kieli", + "defaultProject": "Oletus projekti", + "defaultView": "Oletusnäkymä", + "timezone": "Aikavyöhyke", + "overdueTasksRemindersTime": "Erääntyneiden tehtävien muistutus sähköpostin aika", + "filterUsedOnOverview": "Tallennettu yleiskatsaus sivulla käytetty suodatin", + "externalUserNameChange": "Nimeäsi hallinnoi kirjautumisoperaattori ({provider}). Muuttaaksesi sen, päivitä se siellä." }, "totp": { - "title": "Two Factor Authentication", - "enroll": "Enroll", - "finishSetupPart1": "To finish your setup, use this secret in your TOTP app (Google Authenticator or similar):", - "finishSetupPart2": "After that, enter a code from your app below.", - "scanQR": "Alternatively you can scan this QR code:", + "title": "Kaksivaiheinen Tunnistautuminen", + "enroll": "Ilmoittaudu", + "finishSetupPart1": "Viimeistelläksesi määrityksen, käytä tätä salaisuutta TOTP-sovelluksessasi (Google Authenticator tai vastaava):", + "finishSetupPart2": "Sen jälkeen syötä koodi sovelluksestasi alle.", + "scanQR": "Vaihtoehtoisesti voit skannata tämän QR-koodin:", "passcode": "Passcode", - "passcodePlaceholder": "A code generated by your TOTP application", - "setupSuccess": "You've successfully set up two factor authentication!", - "enterPassword": "Please Enter Your Password", - "disable": "Disable two factor authentication", - "confirmSuccess": "You've successfully confirmed your TOTP setup and can use it from now on!", - "disableSuccess": "Two factor authentication was successfully disabled." + "passcodePlaceholder": "TOTP sovelluksen generoima koodi", + "setupSuccess": "Olet määrittänyt kaksivaiheinen tunnistautumisen onnistuneesti!", + "enterPassword": "Ole Hyvä ja Syötä Salasanasi", + "disable": "Poista kaksivaiheinen tunnistautuminen käytöstä", + "confirmSuccess": "TOTP määritys on tehty onnistuneesti ja voit käyttää sitä tästä hetkestä lähtien!", + "disableSuccess": "Kaksivaiheinen tunnistautuminen poistettu käytöstä onnistuneesti." }, "caldav": { "title": "CalDAV", "howTo": "You can connect Vikunja to CalDAV clients to view and manage all tasks from different clients. Enter this url into your client:", - "more": "More information about CalDAV in Vikunja", - "tokens": "CalDAV Tokens", + "more": "Lisätietoja CalDAVista Vikunjassa", + "tokens": "CalDAV Tokenit", "tokensHowTo": "You can use a CalDAV token to use instead of a password to log in the above endpoint.", - "createToken": "Create a token", - "tokenCreated": "Here is your token: {token}", - "wontSeeItAgain": "Write it down, you won't be able to see it again.", - "mustUseToken": "You need to create a CalDAV token if you want to use CalDAV with a third party client. Use the token as the password.", - "usernameIs": "Your username is: {0}" + "createToken": "Luo tokeni", + "tokenCreated": "Tässä on tokenisi: {token}", + "wontSeeItAgain": "Kirjoita se ylös, et voi nähdä sitä uudelleen.", + "mustUseToken": "Sinun täytyy luoda CalDAV token, jos haluat käyttää CalDAVia kolmannen osapuolen asiakasohjelman kanssa. Käytä tokenia salasanana.", + "usernameIs": "Käyttäjänimesi on: {0}" }, "avatar": { - "title": "Avatar", - "initials": "Initials", + "title": "Profiilikuva", + "initials": "Etukirjaimet", "gravatar": "Gravatar", "marble": "Marble", "upload": "Upload", "uploadAvatar": "Upload Avatar", - "statusUpdateSuccess": "Avatar status was updated successfully!", - "setSuccess": "The avatar has been set successfully!" + "statusUpdateSuccess": "Profiilikuvan tila päivitettiin onnistuneesti!", + "setSuccess": "Profiilikuva on asetettu onnistuneesti!" }, "quickAddMagic": { "title": "Quick Add Magic Mode", @@ -145,153 +145,153 @@ "vikunja": "Vikunja" }, "appearance": { - "title": "Color Scheme", - "setSuccess": "Saved change of color scheme to {colorScheme}", + "title": "Väriteema", + "setSuccess": "Tallennettu väriteeman muutos arvoon {colorScheme}", "colorScheme": { - "light": "Light", - "system": "System", - "dark": "Dark" + "light": "Vaalea", + "system": "Järjestelmä", + "dark": "Tumma" } }, "apiTokens": { - "title": "API Tokens", + "title": "API Tokenit", "general": "API tokens allow you to use Vikunja's API without user credentials.", - "apiDocs": "Check out the api docs", - "createAToken": "Create a token", - "createToken": "Create token", - "30d": "30 Days", - "60d": "60 Days", - "90d": "90 Days", + "apiDocs": "Tutustu api dokumentaatioon", + "createAToken": "Luo token", + "createToken": "Luo token", + "30d": "30 Päivää", + "60d": "60 Päivää", + "90d": "90 Päivää", "permissionExplanation": "Permissions allow you to scope what an api token is allowed to do.", - "titleRequired": "The title is required", - "permissionRequired": "Please select at least one permission from the list.", + "titleRequired": "Otsikko on pakollinen", + "permissionRequired": "Valitse ainakin yksi käyttöoikeus listalta.", "expired": "This token has expired {ago}.", - "tokenCreatedSuccess": "Here is your new api token: {token}", - "tokenCreatedNotSeeAgain": "Store it in a secure location, you won't see it again!", - "selectAll": "Select all", + "tokenCreatedSuccess": "Tässä on uusi api tokenisi: {token}", + "tokenCreatedNotSeeAgain": "Tallenna se turvalliseen paikkaan, et näe sitä uudelleen!", + "selectAll": "Valitse kaikki", "delete": { - "header": "Delete this token", - "text1": "Are you sure you want to delete the token \"{token}\"?", - "text2": "This will revoke access to all applications or integrations using it. You cannot undo this." + "header": "Poista tämä token", + "text1": "Oletko varma, että haluat poistaa tokenin \"{token}\"?", + "text2": "Tämä kumoaa pääsyn kaikkiin sovelluksiin tai integraatioihin, jotka käyttävät sitä. Tätä toimintoa ei voi peruuttaa." }, "attributes": { - "title": "Title", - "titlePlaceholder": "Enter a title you will recognize later", - "expiresAt": "Expires at", - "permissions": "Permissions" + "title": "Otsikko", + "titlePlaceholder": "Syötä otsikko, jonka tunnistat myöhemmin", + "expiresAt": "Vanhenee", + "permissions": "Oikeudet" } } }, "deletion": { - "title": "Delete your Vikunja Account", - "text1": "The deletion of your account is permanent and cannot be undone. We will delete all your projects, tasks and everything associated with it.", - "text2": "To proceed, please enter your password. You will receive an email with further instructions.", - "text3": "To proceed, please press the button below. You will receive an email with further instructions.", - "confirm": "Delete my account", - "requestSuccess": "The request was successful. You'll receive an email with further instructions.", - "passwordRequired": "Please enter your password.", - "confirmSuccess": "You've successfully confirmed the deletion of your account. We will delete your account in three days.", - "scheduled": "We will delete your Vikunja account at {date} ({dateSince}).", - "scheduledCancel": "To cancel the deletion of your account, click here.", - "scheduledCancelText": "To cancel the deletion of your account, please enter your password below:", - "scheduledCancelButton": "To cancel the deletion of your account, please press the button below:", - "scheduledCancelConfirm": "Cancel the deletion of my account", - "scheduledCancelSuccess": "We will not delete your account." + "title": "Poista Vikunja-tilisi", + "text1": "Tilisi poistaminen on pysyvä eikä sitä voi peruuttaa. Poistamme kaikki projektisi, tehtäväsi ja kaiken siihen liittyvän.", + "text2": "Jatkaaksesi, ole hyvä ja syötä salasanasi. Saat sähköpostin, jossa on lisäohjeita.", + "text3": "Jatkaaksesi, ole hyvä ja paina alla olevaa painiketta. Saat sähköpostin, jossa on lisäohjeita.", + "confirm": "Poista tilini", + "requestSuccess": "Pyyntö onnistui. Saat sähköpostin, jossa on lisäohjeita.", + "passwordRequired": "Ole hyvä ja syötä salasanasi.", + "confirmSuccess": "Olet onnistuneesti vahvistanut tilisi poistamisen. Poistamme tilisi kolmen päivän kuluessa.", + "scheduled": "Poistamme Vikunja-tilisi {date} ({dateSince}).", + "scheduledCancel": "Peruaksesi tilisi poistamisen, paina tästä.", + "scheduledCancelText": "Peruaksesi tilisi poistamisen, ole hyvä ja syötä salasanasi alle:", + "scheduledCancelButton": "Peruaksesi tilisi poistamisen, ole hyvä ja paina alla olevaa painiketta:", + "scheduledCancelConfirm": "Peruuta tilini poistaminen", + "scheduledCancelSuccess": "Emme poista tiliäsi." }, "export": { - "title": "Export your Vikunja data", + "title": "Vie Vikunja tiedot", "description": "You can request a copy of all your Vikunja data. This includes Projects, Tasks and everything associated to them. You can import this data in any Vikunja instance through the migration function.", - "descriptionPasswordRequired": "Please enter your password to proceed:", - "request": "Request a copy of my Vikunja Data", - "success": "You've successfully requested your Vikunja Data! We will send you an email once it's ready to download.", - "downloadTitle": "Download your exported Vikunja data" + "descriptionPasswordRequired": "Syötä salasanasi jatkaaksesi:", + "request": "Pyydä kopio Vikunja Tiedoistani", + "success": "Olet onnistuneesti pyytänyt Vikunja Tietosi! Lähetämme sinulle sähköpostiviestin, kun ne ovat valmiit ladattavaksi.", + "downloadTitle": "Lataa viedyt Vikunja tietosi" } }, "project": { - "archivedMessage": "This project is archived. It is not possible to create new or edit tasks for it.", + "archivedMessage": "Tämä projekti on arkistoitu. Siihen ei voi luoda uusia tai muokata olemassa olevia tehtäviä.", "archived": "Archived", - "showArchived": "Show Archived", - "title": "Title", - "color": "Color", - "projects": "Projects", - "parent": "Parent Project", - "search": "Type to search for a project…", - "searchSelect": "Click or press enter to select this project", - "shared": "Shared Projects", - "noDescriptionAvailable": "No project description is available.", + "showArchived": "Näytä Arkistoidut", + "title": "Otsikko", + "color": "Väri", + "projects": "Projektit", + "parent": "Ylätason Projekti", + "search": "Kirjoita hakeaksesi projektia…", + "searchSelect": "Klikkaa tai paina enter valitaksesi tämän projektin", + "shared": "Jaetut Projektit", + "noDescriptionAvailable": "Projektin kuvausta ei ole saatavilla.", "inboxTitle": "Inbox", - "favorite": "Mark this project as favorite", - "unfavorite": "Remove this project from favorites", - "openSettingsMenu": "Open project settings menu", - "description": "Project description", + "favorite": "Merkitse tämä projekti suosikiksi", + "unfavorite": "Poista tämä projekti suosikeista", + "openSettingsMenu": "Avaa projektin asetusvalikko", + "description": "Projektin kuvaus", "create": { - "header": "New project", - "titlePlaceholder": "The project's title goes here…", - "addTitleRequired": "Please specify a title.", - "createdSuccess": "The project was successfully created.", - "addProjectRequired": "Please specify a project or set a default project in the settings." + "header": "Uusi projekti ", + "titlePlaceholder": "Projektin otsikko menee tähän…", + "addTitleRequired": "Ole hyvä ja anna otsikko.", + "createdSuccess": "Projekti luotiin onnistuneesti.", + "addProjectRequired": "Ole hyvä ja määritä projekti tai aseta oletusprojekti asetuksissa." }, "archive": { - "title": "Archive \"{project}\"", - "archive": "Archive this project", - "unarchive": "Un-Archive this project", - "unarchiveText": "You will be able to create tasks or edit it.", - "archiveText": "You won't be able to edit this project or create tasks until you un-archive it.", - "success": "The project was successfully archived." + "title": "Arkistoi \"{project}\"", + "archive": "Arkistoi tämä projekti", + "unarchive": "Poista tämä projekti arkistosta", + "unarchiveText": "Voit luoda tehtäviä tai muokata sitä.", + "archiveText": "Et voi muokata tätä projektia tai luoda tehtäviä ennen kuin poistat sen arkistosta.", + "success": "Projekti arkistoitiin onnistuneesti." }, "background": { - "title": "Set project background", - "remove": "Remove Background", - "upload": "Choose a background from your pc", - "searchPlaceholder": "Search for a background…", + "title": "Aseta projektin taustakuva", + "remove": "Poista taustakuva", + "upload": "Valitse taustakuva tietokoneeltasi", + "searchPlaceholder": "Hae taustakuvaa…", "poweredByUnsplash": "Powered by Unsplash", - "loadMore": "Load more photos", - "success": "The background has been set successfully!", - "removeSuccess": "The background has been removed successfully!" + "loadMore": "Lataa lisää kuvia", + "success": "Taustakuva asetettiin onnistuneesti!", + "removeSuccess": "Taustakuva poistettiin onnistuneesti!" }, "delete": { - "title": "Delete \"{project}\"", - "header": "Delete this project", - "text1": "Are you sure you want to delete this project and all of its contents?", - "text2": "This includes all tasks and CANNOT BE UNDONE!", - "success": "The project was successfully deleted.", - "tasksToDelete": "This will irrevocably remove approx. {count} tasks.", - "tasksAndChildProjectsToDelete": "This will irrevocably remove approx. {tasks} tasks and {projects} projects.", - "noTasksToDelete": "This project does not contain any tasks, it should be safe to delete." + "title": "Poista \"{project}\"", + "header": "Poista tämä projekti", + "text1": "Oletko varma, että haluat poistaa tämän projektin ja kaiken sen sisällön?", + "text2": "Tämä sisältää kaikki tehtävät ja TÄTÄ EI VOI PERUA!", + "success": "Projekti poistettiin onnistuneesti.", + "tasksToDelete": "Tämä poistaa pysyvästi noin {count} tehtävää.", + "tasksAndChildProjectsToDelete": "Tämä poistaa pysyvästi noin {tasks} tehtävää ja {projects} projektia.", + "noTasksToDelete": "Tämä projekti ei sisällä yhtään tehtävää, se pitäisi olla turvallinen poistaa." }, "duplicate": { - "title": "Duplicate this project", - "label": "Duplicate", + "title": "Monista tämä projekti", + "label": "Monista", "text": "Select a parent project which should hold the duplicated project:", - "success": "The project was successfully duplicated." + "success": "Projekti monistettiin onnistuneesti." }, "edit": { - "header": "Edit This Project", - "title": "Edit \"{project}\"", - "titlePlaceholder": "The project title goes here…", + "header": "Muokkaa Tätä Projektia", + "title": "Muokkaa \"{project}\"", + "titlePlaceholder": "Projektin otsikko menee tähän…", "identifierTooltip": "The project identifier can be used to uniquely identify a task across projects. You can set it to empty to disable it.", - "identifier": "Project Identifier", - "identifierPlaceholder": "The project identifier goes here…", - "description": "Description", - "descriptionPlaceholder": "Enter a description for this project, hit '/' for more options…", - "color": "Color", - "success": "The project was successfully updated." + "identifier": "Projektin Tunniste", + "identifierPlaceholder": "Projektin tunniste menee tähän…", + "description": "Kuvaus", + "descriptionPlaceholder": "Anna kuvaus tälle projektille, paina '/' saadaksesi lisää vaihtoehtoja…", + "color": "Väri", + "success": "Projekti päivitettiin onnistuneesti." }, "share": { - "header": "Share this project", - "title": "Share \"{project}\"", - "share": "Share", + "header": "Jaa tämä projekti", + "title": "Jaa \"{project}\"", + "share": "Jaa", "links": { "title": "Share Links", "what": "What is a share link?", "explanation": "Share Links allow you to easily share a project with other users who don't have an account on Vikunja.", "create": "Create a link share", - "name": "Name (optional)", - "namePlaceholder": "e.g. Lorem Ipsum", + "name": "Nimi (valinnainen)", + "namePlaceholder": "esim. Lorem Ipsum", "nameExplanation": "All actions done by this link share will show up with the name.", - "password": "Password (optional)", + "password": "Salasana (valinnainen)", "passwordExplanation": "When signing in, the user will be required to enter this password.", - "noName": "No name set", + "noName": "Nimeä ei ole asetettu", "remove": "Remove a link share", "removeText": "Are you sure you want to remove this link share? It will no longer be possible to access this project with this link share. This cannot be undone!", "createSuccess": "The link share was successfully created.", @@ -300,8 +300,8 @@ "sharedBy": "Shared by {0}" }, "userTeam": { - "typeUser": "user | users", - "typeTeam": "team | teams", + "typeUser": "käyttäjä | käyttäjät", + "typeTeam": "tiimi | tiimit", "shared": "Shared with these {type}", "you": "You", "notShared": "Not shared with any {type} yet.", @@ -312,70 +312,70 @@ "updatedSuccess": "The {type} was successfully added." }, "right": { - "title": "Permission", - "read": "Read only", - "readWrite": "Read & write", - "admin": "Admin" + "title": "Oikeudet", + "read": "Vain luku", + "readWrite": "Luku & kirjoitus", + "admin": "Ylläpitäjä" }, "attributes": { "link": "Link", - "delete": "Delete" + "delete": "Poista" } }, "first": { "title": "First View" }, "list": { - "title": "List", - "add": "Add", - "addPlaceholder": "Add a task…", - "empty": "This project is currently empty.", - "newTaskCta": "Create a task.", - "editTask": "Edit Task" + "title": "Lista", + "add": "Lisää", + "addPlaceholder": "Lisää tehtävä…", + "empty": "Tämä projekti on tällä hetkellä tyhjä.", + "newTaskCta": "Luo tehtävä", + "editTask": "Muokkaa tehtävää" }, "gantt": { "title": "Gantt", - "size": "Size", - "default": "Default", - "month": "Month", - "day": "Day", - "hour": "Hour", - "range": "Date Range", + "size": "Koko", + "default": "Oletus", + "month": "Kuukausi", + "day": "Päivä", + "hour": "Tunti", + "range": "Ajanjakso", "noDates": "This task has no dates set." }, "table": { - "title": "Table", - "columns": "Columns" + "title": "Taulukko", + "columns": "Sarakkeet" }, "kanban": { "title": "Kanban", "limit": "Limit: {limit}", "noLimit": "Not Set", - "doneBucket": "Done bucket", - "doneBucketHint": "All tasks moved into this bucket will automatically marked as done.", - "doneBucketHintExtended": "All tasks moved into the done bucket will be marked as done automatically. All tasks marked as done from elsewhere will be moved as well.", - "doneBucketSavedSuccess": "The done bucket has been saved successfully.", - "defaultBucket": "Default bucket", - "defaultBucketHint": "When creating tasks without specifying a bucket, they will be added to this bucket.", - "defaultBucketSavedSuccess": "The default bucket has been saved successfully.", - "deleteLast": "You cannot remove the last bucket.", + "doneBucket": "Valmiit sarake", + "doneBucketHint": "Kaikki tähän sarakkeeseen lisätyt tehtävät merkitään automaattisesti valmiiksi.", + "doneBucketHintExtended": "Kaikki tähän sarakkeeseen lisätyt tehtävät merkitään automaattisesti valmiiksi. Muualla valmiiksi merkityt tehtävät siirretään myös.", + "doneBucketSavedSuccess": "Valmiit sarake tallennettiin onnistuneesti.", + "defaultBucket": "Oletus sarake", + "defaultBucketHint": "Kun uusia tehtäviä luodaan määrittelemättä saraketta, ne lisätään tähän sarakkeeseen.", + "defaultBucketSavedSuccess": "Oletus sarake tallennettiin onnistuneesti.", + "deleteLast": "Et voi poistaa viimeistä saraketta.", "addTaskPlaceholder": "Enter the new task title…", - "addTask": "Add a task", - "addAnotherTask": "Add another task", - "addBucket": "Create a bucket", - "addBucketPlaceholder": "Enter the new bucket title…", - "deleteHeaderBucket": "Delete the bucket", - "deleteBucketText1": "Are you sure you want to delete this bucket?", - "deleteBucketText2": "This will not delete any tasks but move them into the default bucket.", - "deleteBucketSuccess": "The bucket has been deleted successfully.", - "bucketTitleSavedSuccess": "The bucket title has been saved successfully.", - "bucketLimitSavedSuccess": "The bucket limit been saved successfully.", - "collapse": "Collapse this bucket", - "bucketLimitReached": "You have reached the bucket limit. Remove tasks or increase the limit to add new tasks." + "addTask": "Lisää tehtävä", + "addAnotherTask": "Lisää toinen tehtävä", + "addBucket": "Luo sarake", + "addBucketPlaceholder": "Syötä uuden sarakkeen nimi...", + "deleteHeaderBucket": "Poista sarake", + "deleteBucketText1": "Haluatko varmasti poistaa tämän sarakkeen?", + "deleteBucketText2": "Tämä ei poista mitään tehtäviä, vaan siirtää ne oletus sarakkeeseen.", + "deleteBucketSuccess": "Sarake poistettiin onnistuneesti.", + "bucketTitleSavedSuccess": "Sarakkeen otsikko tallennettiin onnistuneesti.", + "bucketLimitSavedSuccess": "Sarakkeen raja tallennettiin onnistuneesti.", + "collapse": "Kutista tämä sarake", + "bucketLimitReached": "Sarakkeen raja on saavutettu. Poista tehtäviä tai aseta suurempi raja lisätäksesi uusia tehtäviä." }, "pseudo": { "favorites": { - "title": "Favorites" + "title": "Suosikit" } }, "webhooks": { @@ -394,39 +394,39 @@ "secretDocs": "Check out the docs for more details about how to use secrets." }, "views": { - "header": "Edit views", - "title": "Title", - "actions": "Actions", + "header": "Muokkaa näkymiä", + "title": "Otsikko", + "actions": "Toiminnot", "kind": "Kind", "bucketConfigMode": "Bucket configuration mode", "bucketConfig": "Bucket configuration", "bucketConfigManual": "Manual", - "filter": "Filter", - "create": "Create view", - "createSuccess": "The view was created successfully.", - "titleRequired": "Please provide a title.", - "delete": "Delete this view", - "deleteText": "Are you sure you want to remove this view? It will no longer be possible to use it to view tasks in this project. This action won't delete any tasks. This cannot be undone!", - "deleteSuccess": "The view was deleted successfully.", - "onlyAdminsCanEdit": "Only project admins can edit views.", - "updateSuccess": "The view was updated successfully." + "filter": "Suodatin", + "create": "Luo näkymä", + "createSuccess": "Näkymä luotiin onnistuneesti.", + "titleRequired": "Ole hyvä ja anna otsikko.", + "delete": "Poista näkymä", + "deleteText": "Oletko varma, että haluat poistaa tämän näkymän? Sitä ei voi enää käyttää tämän projektin tehtävien näyttämiseen. Tämä toiminto ei poista tehtäviä. Tätä toimintoa ei voi perua!", + "deleteSuccess": "Näkymä poistettiin onnistuneesti.", + "onlyAdminsCanEdit": "Vain projektin ylläpitäjät voivat muokata näkymiä.", + "updateSuccess": "Näkymä päivitettiin onnistuneesti." } }, "filters": { - "title": "Filters", - "clear": "Clear Filters", - "showResults": "Show results", - "fromView": "The current view has a filter set as well:", - "fromViewBoth": "It will be used in combination with what you enter here.", + "title": "Suodattimet", + "clear": "Tyhjennä Suodattimet", + "showResults": "Näytä tulokset", + "fromView": "Nykyisessä näkymässä on myös suodatin käytössä:", + "fromViewBoth": "Sitä käytetään yhdessä sen kanssa, mitä syötät tähän.", "attributes": { - "title": "Title", - "titlePlaceholder": "The saved filter title goes here…", - "description": "Description", - "descriptionPlaceholder": "Add a description for this filter here, hit '/' for more options…", - "includeNulls": "Include Tasks which don't have a value set", - "requireAll": "Require all filters to be true for a task to show up", - "showDoneTasks": "Show Done Tasks", - "sortAlphabetically": "Sort Alphabetically", + "title": "Otsikko", + "titlePlaceholder": "Tallennetun suodattimen otsikko menee tähän…", + "description": "Kuvaus", + "descriptionPlaceholder": "Anna kuvaus tälle suodattimelle, paina '/' saadaksesi lisää vaihtoehtoja…", + "includeNulls": "Sisällytä tehtävät, joille ei ole asetettu arvoa", + "requireAll": "Vaadi kaikkia suodattimia olemaan tosi, jotta tehtävä näkyy", + "showDoneTasks": "Näytä Valmiit Tehtävät", + "sortAlphabetically": "Lajittele Aakkosjärjestykseen", "enablePriority": "Enable Filter By Priority", "enablePercentDone": "Enable Filter By Progress", "dueDateRange": "Due Date Range", @@ -446,19 +446,19 @@ "success": "The filter was deleted successfully." }, "edit": { - "title": "Edit This Saved Filter", - "success": "The filter was saved successfully." + "title": "Muokkaa Tätä Tallennettua Suodinta", + "success": "Suodatin tallennettiin onnistuneesti." }, "query": { - "title": "Query", - "placeholder": "Type a search or filter query…", + "title": "Kysely", + "placeholder": "Kirjoita haku tai suodatinkysely…", "help": { - "intro": "To filter tasks, you can use a query syntax similar to SQL. The available fields for filtering include:", - "link": "How does this work?", + "intro": "Suodattaaksesi tehtäviä voit käyttää SQL kieltä muistuttavaa syntaksia. Saatavilla olevat kentät suodatukseen ovat:", + "link": "Miten tämä toimii?", "canUseDatemath": "You can use date math to set relative dates. Click on the date value in a query to find out more.", "fields": { "done": "Whether the task is completed or not", - "priority": "The priority level of the task (1-5)", + "priority": "Tehtävän prioriteettitaso (1-5)", "percentDone": "The percentage of completion for the task (0-100)", "dueDate": "The due date of the task", "startDate": "The start date of the task", @@ -473,12 +473,12 @@ }, "operators": { "intro": "The available operators for filtering include:", - "notEqual": "Not equal to", - "equal": "Equal to", - "greaterThan": "Greater than", - "greaterThanOrEqual": "Greater than or equal to", - "lessThan": "Less than", - "lessThanOrEqual": "Less than or equal to", + "notEqual": "Erisuuri kuin", + "equal": "Yhtä suuri kuin", + "greaterThan": "Suurempi kuin", + "greaterThanOrEqual": "Suurempi tai yhtä suuri kuin", + "lessThan": "Pienempi kuin", + "lessThanOrEqual": "Pienempi tai yhtä suuri kuin", "like": "Matches a pattern (using wildcard %)", "in": "Matches any value in a comma-seperated list of values", "notIn": "Matches any value not present in a comma-seperated list of values" @@ -518,81 +518,81 @@ "migrationInProgress": "A migration is currently in progress. Please wait until it is done." }, "label": { - "title": "Labels", - "manage": "Manage labels", + "title": "Tunnisteet", + "manage": "Hallitse tunnisteita", "description": "Click on a label to edit it. You can edit all labels you created, you can use all labels which are associated with a task to whose project you have access.", - "newCTA": "You currently do not have any labels.", - "search": "Type to search for a label…", + "newCTA": "Sinulla ei tällä hetkellä ole yhtään tunnistetta.", + "search": "Kirjoita hakeaksesi tunnistetta…", "create": { - "header": "New label", - "title": "Create a label", - "titleRequired": "Please specify a title.", - "success": "The label was successfully created." + "header": "Uusi tunniste", + "title": "Luo tunniste", + "titleRequired": "Ole hyvä ja anna otsikko.", + "success": "Tunniste luotiin onnistuneesti." }, "edit": { - "header": "Edit Label", - "forbidden": "You are not allowed to edit this label because you don't own it.", - "success": "The label was successfully updated." + "header": "Muokkaa Tunnistetta", + "forbidden": "Sinulla ei ole oikeutta muokata tätä tunnistetta, koska et omista sitä.", + "success": "Tunniste päivitettiin onnistuneesti." }, - "deleteSuccess": "The label was successfully deleted.", + "deleteSuccess": "Tunniste poistettiin onnistuneesti.", "attributes": { - "title": "Title", - "titlePlaceholder": "The label title goes here…", - "description": "Description", - "descriptionPlaceholder": "Label description", - "color": "Color" + "title": "Otsikko", + "titlePlaceholder": "Tunnisteen otsikko menee tähän…", + "description": "Kuvaus", + "descriptionPlaceholder": "Tunnisteen kuvaus", + "color": "Väri" } }, "sharing": { - "authenticating": "Authenticating…", - "passwordRequired": "This shared project requires a password. Please enter it below:", - "error": "An error occurred.", - "invalidPassword": "The password is invalid." + "authenticating": "Todennetaan…", + "passwordRequired": "Tämä jaettu projekti vaatii salasanan. Syötä se alle:", + "error": "Tapahtui virhe.", + "invalidPassword": "Salasana on virheellinen." }, "navigation": { "overview": "Overview", "upcoming": "Upcoming", - "settings": "Settings", + "settings": "Asetukset", "imprint": "Imprint", - "privacy": "Privacy Policy" + "privacy": "Tietosuojakäytäntö" }, "misc": { - "loading": "Loading…", - "save": "Save", - "delete": "Delete", - "confirm": "Confirm", - "cancel": "Cancel", - "refresh": "Refresh", + "loading": "Ladataan…", + "save": "Tallenna", + "delete": "Poista", + "confirm": "Vahvista", + "cancel": "Peruuta", + "refresh": "Päivitä", "disable": "Disable", - "copy": "Copy to clipboard", - "copyError": "Copy to clipboard failed", - "search": "Search", - "searchPlaceholder": "Type to search…", - "previous": "Previous", - "next": "Next", + "copy": "Kopioi leikepöydälle", + "copyError": "Leikepöydälle kopiointi epäonnistui", + "search": "Hae", + "searchPlaceholder": "Kirjoita hakeaksesi…", + "previous": "Edellinen", + "next": "Seuraava", "poweredBy": "Powered by Vikunja", "info": "Info", - "create": "Create", - "doit": "Do it!", - "saving": "Saving…", - "saved": "Saved!", - "default": "Default", - "close": "Close", - "download": "Download", - "showMenu": "Show the menu", - "hideMenu": "Hide the menu", - "forExample": "For example:", - "welcomeBack": "Welcome Back!", - "custom": "Custom", + "create": "Luo", + "doit": "Tee se!", + "saving": "Tallennetaan…", + "saved": "Tallennettu!", + "default": "Oletus", + "close": "Sulje", + "download": "Lataa", + "showMenu": "Näytä valikko", + "hideMenu": "Piilota valikko", + "forExample": "Esimerkiksi:", + "welcomeBack": "Tervetuloa takaisin!", + "custom": "Mukautettu", "id": "ID", "created": "Created at", "createdBy": "Created by {0}", - "actions": "Actions", - "cannotBeUndone": "This cannot be undone!", + "actions": "Toiminnot", + "cannotBeUndone": "Tätä ei voi perua!", "avatarOfUser": "{user}'s profile image" }, "input": { - "resetColor": "Reset Color", + "resetColor": "Palauta Väri", "datepicker": { "today": "Today", "tomorrow": "Tomorrow", @@ -600,26 +600,26 @@ "thisWeekend": "This Weekend", "laterThisWeek": "Later This Week", "nextWeek": "Next Week", - "chooseDate": "Choose a date" + "chooseDate": "Valitse päivämäärä" }, "editor": { - "edit": "Edit", - "done": "Done", - "heading1": "Heading 1", - "heading1Tooltip": "Big section heading.", - "heading2": "Heading 2", - "heading2Tooltip": "Medium section heading.", - "heading3": "Heading 3", - "heading3Tooltip": "Smaller section header.", - "headingSmaller": "Heading Smaller", - "headingBigger": "Heading Bigger", - "bold": "Bold", - "italic": "Italic", - "strikethrough": "Strikethrough", - "underline": "Underline", - "code": "Code", + "edit": "Muokkaa", + "done": "Valmis", + "heading1": "Otsikko 1", + "heading1Tooltip": "Suuri osio-otsikko.", + "heading2": "Otsikko 2", + "heading2Tooltip": "Keskikokoinen osio-otsikko.", + "heading3": "Otsikko 3", + "heading3Tooltip": "Pieni osio-otsikko.", + "headingSmaller": "Pienempi Otsikko", + "headingBigger": "Suurempi Otsikko", + "bold": "Lihavoitu", + "italic": "Kursivoitu", + "strikethrough": "Yliviivattu", + "underline": "Alleviivattu", + "code": "Koodi", "codeTooltip": "Capture a code snippet.", - "quote": "Quote", + "quote": "Lainaus", "quoteTooltip": "Capture a quote.", "bulletList": "Bullet list", "bulletListTooltip": "Create a simple bullet list.", @@ -628,45 +628,45 @@ "orderedListTooltip": "Create a list with numbering.", "cleanBlock": "Clean Block", "link": "Link", - "image": "Image", + "image": "Kuva", "imageTooltip": "Upload an image from your computer.", "horizontalRule": "Horizontal Rule", "horizontalRuleTooltip": "Divide a section.", - "sideBySide": "Side By Side", + "sideBySide": "Rinnakkain", "guide": "Guide", "text": "Text", "textTooltip": "Just start typing with plain text.", "taskList": "Task list", "taskListTooltip": "Track tasks with a to-do list.", - "undo": "Undo", - "redo": "Redo", - "placeholder": "Type some text or hit '/' to see more options…", + "undo": "Kumoa", + "redo": "Tee uudelleen", + "placeholder": "Kirjoita tekstiä tai paina '/' nähdäksesi lisää vaihtoehtoja…", "table": { - "title": "Table", - "insert": "Insert table", - "addColumnBefore": "Add column before", - "addColumnAfter": "Add column after", - "deleteColumn": "Delete column", - "addRowBefore": "Add row before", - "addRowAfter": "Add row after", - "deleteRow": "Delete row", - "deleteTable": "Delete table", - "mergeCells": "Merge cells", - "splitCell": "Split cell", + "title": "Taulukko", + "insert": "Lisää taulukko", + "addColumnBefore": "Lisää sarake ennen", + "addColumnAfter": "Lisää sarake jälkeen", + "deleteColumn": "Poista sarake", + "addRowBefore": "Lisää rivi ennen", + "addRowAfter": "Lisää rivi jälkeen", + "deleteRow": "Poista rivi", + "deleteTable": "Poista taulukko", + "mergeCells": "Yhdistä solut", + "splitCell": "Jaa solu", "toggleHeaderColumn": "Toggle header column", "toggleHeaderRow": "Toggle header row", "toggleHeaderCell": "Toggle header cell", - "mergeOrSplit": "Merge or split", + "mergeOrSplit": "Yhdistä tai jaa", "fixTables": "Fix tables" } }, "multiselect": { - "createPlaceholder": "Create", - "selectPlaceholder": "Click or press enter to select" + "createPlaceholder": "Luo", + "selectPlaceholder": "Klikkaa tai paina enter valitaksesi" }, "datepickerRange": { - "to": "To", - "from": "From", + "to": "Mihin", + "from": "Mistä", "fromto": "{from} to {to}", "date": "Date", "ranges": { @@ -713,10 +713,10 @@ "intro": "Specify relative dates which are resolved on the fly by Vikunja when applying the filter.", "expression": "Each Date Math expression starts with an anchor date, which can either be {0}, or a date string ending with {1}. This anchor date can optionally be followed by one or more maths expressions.", "similar": "These expressions are similar to the ones provided by {0} and {1}.", - "add1Day": "Add one day", - "minus1Day": "Subtract one day", - "roundDay": "Round down to the nearest day", - "supportedUnits": "Supported time units", + "add1Day": "Lisää yksi päivä", + "minus1Day": "Vähennä yksi päivä", + "roundDay": "Pyöristä alas lähimpään päivään", + "supportedUnits": "Tuetut aikayksiköt", "someExamples": "Examples of time expressions", "units": { "seconds": "Seconds", @@ -730,7 +730,7 @@ "examples": { "now": "Right now", "in24h": "In 24h", - "today": "Today at 00:00", + "today": "Tänään klo 00:00", "beginningOfThisWeek": "The beginning of this week at 00:00", "endOfThisWeek": "The end of this week", "in30Days": "In 30 days", @@ -739,111 +739,111 @@ } }, "task": { - "task": "Task", - "new": "Create a task", - "delete": "Delete this task", - "createSuccess": "The task was successfully created.", - "addReminder": "Add a reminder…", - "doneSuccess": "The task was successfully marked as done.", - "undoneSuccess": "The task was successfully un-marked as done.", - "revertSuccess": "The task change was successfully undone.", - "undo": "Undo", + "task": "Tehtävä", + "new": "Luo tehtävä", + "delete": "Poista tämä tehtävä", + "createSuccess": "Tehtävä luotiin onnistuneesti.", + "addReminder": "Lisää muistutus…", + "doneSuccess": "Tehtävä merkittiin onnistuneesti valmiiksi.", + "undoneSuccess": "Tehtävä merkittiin onnistuneesti keskeneräiseksi.", + "revertSuccess": "Tehtävän muutos peruutettiin onnistuneesti.", + "undo": "Kumoa", "openDetail": "Open task detail view", "checklistTotal": "{checked} of {total} tasks", - "checklistAllDone": "{total} tasks", + "checklistAllDone": "{total} tehtävää", "show": { - "titleCurrent": "Current Tasks", + "titleCurrent": "Nykyiset Tehtävät", "titleDates": "Tasks from {from} until {to}", - "noDates": "Show tasks without dates", - "overdue": "Show overdue tasks", + "noDates": "Näytä tehtävät joilla ei ole päivämäärää", + "overdue": "Näytä erääntyneet tehtävät", "fromuntil": "Tasks from {from} until {until}", "select": "Select a date range", - "noTasks": "Nothing to do — Have a nice day!" + "noTasks": "Ei mitään tehtävää — Mukavaa päivää!" }, "detail": { - "chooseDueDate": "Click here to set a due date", - "chooseStartDate": "Click here to set a start date", - "chooseEndDate": "Click here to set an end date", - "move": "Move task to a different project", - "done": "Mark task done!", - "undone": "Mark as undone", + "chooseDueDate": "Klikkaa tästä asettaaksesi eräpäivän", + "chooseStartDate": "Klikkaa tästä asettaaksesi aloituspäivän", + "chooseEndDate": "Klikkaa tästä asettaaksesi päättymispäivän", + "move": "Siirrä tehtävä toiseen projektiin", + "done": "Merkitse tehtävä valmiiksi!", + "undone": "Merkitse tehtävä keskeneräiseksi", "created": "Created {0} by {1}", "updated": "Updated {0}", "doneAt": "Done {0}", - "updateSuccess": "The task was saved successfully.", - "deleteSuccess": "The task has been deleted successfully.", - "belongsToProject": "This task belongs to project '{project}'", + "updateSuccess": "Tehtävä tallennettiin onnistuneesti.", + "deleteSuccess": "Tehtävä poistettiin onnistuneesti.", + "belongsToProject": "Tämä tehtävä kuuluu '{project}' projektiin", "due": "Due {at}", - "closePopup": "Close popup", - "organization": "Organization", + "closePopup": "Sulje ponnahdusikkuna", + "organization": "Organisaatio", "management": "Management", "dateAndTime": "Date and time", "delete": { - "header": "Delete this task", - "text1": "Are you sure you want to remove this task?", - "text2": "This will also remove all attachments, reminders and relations associated with this task and cannot be undone!" + "header": "Poista tämä tehtävä", + "text1": "Haluatko varmasti poistaa tämän tehtävän?", + "text2": "Tämä poistaa myös kaikki tähän tehtävään liittyvät liitteet, muistutukset ja relaatiot eikä sitä voi peruuttaa!" }, "actions": { "assign": "Assign to User", - "label": "Add Labels", - "priority": "Set Priority", - "dueDate": "Set Due Date", - "startDate": "Set Start Date", - "endDate": "Set End Date", + "label": "Lisää Tunnisteita", + "priority": "Aseta Priotiteetti", + "dueDate": "Aseta Eräpäivä", + "startDate": "Aseta Aloituspäivä", + "endDate": "Aseta Päättymispäivä", "reminders": "Set Reminders", "repeatAfter": "Set Repeating Interval", "percentDone": "Set Progress", - "attachments": "Add Attachments", - "relatedTasks": "Add Relation", - "moveProject": "Move", - "color": "Set Color", - "delete": "Delete", - "favorite": "Add to Favorites", - "unfavorite": "Remove from Favorites" + "attachments": "Lisää Liitteitä", + "relatedTasks": "Lisää Relaatio", + "moveProject": "Siirrä", + "color": "Aseta Väri", + "delete": "Poista", + "favorite": "Lisää Suosikkeihin", + "unfavorite": "Poista Suosikeista" } }, "attributes": { "assignees": "Assignees", - "color": "Color", + "color": "Väri", "created": "Created", "createdBy": "Created By", - "description": "Description", - "done": "Done", - "dueDate": "Due Date", - "endDate": "End Date", - "labels": "Labels", - "percentDone": "Progress", - "priority": "Priority", - "relatedTasks": "Related Tasks", - "reminders": "Reminders", - "repeat": "Repeat", - "startDate": "Start Date", - "title": "Title", - "updated": "Updated", + "description": "Kuvaus", + "done": "Valmis", + "dueDate": "Eräpäivä", + "endDate": "Päättymispäivä", + "labels": "Tunnisteet", + "percentDone": "Edistyminen", + "priority": "Prioriteetti", + "relatedTasks": "Liittyvät Tehtävät", + "reminders": "Muistutukset", + "repeat": "Toista", + "startDate": "Aloituspäivä", + "title": "Otsikko", + "updated": "Päivitetty", "doneAt": "Done At" }, "subscription": { - "subscribedTaskThroughParentProject": "You can't unsubscribe here because you are subscribed to this task through its project.", - "subscribedProject": "You are currently subscribed to this project and will receive notifications for changes.", - "notSubscribedProject": "You are not subscribed to this project and won't receive notifications for changes.", - "subscribedTask": "You are currently subscribed to this task and will receive notifications for changes.", - "notSubscribedTask": "You are not subscribed to this task and won't receive notifications for changes.", - "subscribe": "Subscribe", - "unsubscribe": "Unsubscribe", - "subscribeSuccessProject": "You are now subscribed to this project", - "unsubscribeSuccessProject": "You are now unsubscribed to this project", - "subscribeSuccessTask": "You are now subscribed to this task", - "unsubscribeSuccessTask": "You are now unsubscribed to this task" + "subscribedTaskThroughParentProject": "Et voi perua ilmoitusten tilausta tästä, koska olet tilannut ilmoitukset tehtävän projektilta.", + "subscribedProject": "Olet tällä hetkellä tilannut ilmoitukset tästä projektista ja saat ilmoitukset muutoksista.", + "notSubscribedProject": "Et ole tilannut tätä projektia etkä saa ilmoituksia muutoksista.", + "subscribedTask": "Olet tällä hetkellä tilannut ilmoitukset tästä tehtäväst ja saat ilmoitukset muutoksista.", + "notSubscribedTask": "Et ole tilannut ilmoituksia tästä tehtävää etkä saa ilmoituksia muutoksista.", + "subscribe": "Tilaa ilmotukset", + "unsubscribe": "Peruuta tilaus", + "subscribeSuccessProject": "Olet nyt tilannut tämän projektin ilmoitukset", + "unsubscribeSuccessProject": "Olet perunut tämän projektin ilmoitusten tilauksen", + "subscribeSuccessTask": "Olet nyt tilannut tämän tehtävän ilmoitukset", + "unsubscribeSuccessTask": "Olet perunut tämän tehtävän ilmoitusten tilauksen" }, "attachment": { - "title": "Attachments", + "title": "Liitteet", "createdBy": "created {0} by {1}", - "downloadTooltip": "Download this attachment", + "downloadTooltip": "Lataa tämä liite", "upload": "Upload attachment", "drop": "Drop files here to upload", - "delete": "Delete attachment", - "deleteTooltip": "Delete this attachment", - "deleteText1": "Are you sure you want to delete the attachment {filename}?", + "delete": "Poista liite", + "deleteTooltip": "Poista tämä liite", + "deleteText1": "Oletko varma, että haluat poistaa liitteen {filename}?", "copyUrl": "Copy URL", "copyUrlTooltip": "Copy the url of this attachment for usage in text", "setAsCover": "Make cover", @@ -852,17 +852,17 @@ "usedAsCover": "Cover image" }, "comment": { - "title": "Comments", - "loading": "Loading comments…", + "title": "Kommentit", + "loading": "Ladataan kommentteja…", "edited": "edited {date}", - "creating": "Creating comment…", - "placeholder": "Add your comment, hit '/' for more options…", - "comment": "Comment", - "delete": "Delete this comment", - "deleteText1": "Are you sure you want to delete this comment?", - "deleteSuccess": "The comment was deleted successfully.", - "addedSuccess": "The comment was added successfully.", - "permalink": "Copy permalink to this comment" + "creating": "Luodaan kommenttia…", + "placeholder": "Lisää kommentti, paina '/' saadaksesi lisää vaihtoehtoja…", + "comment": "Kommentti", + "delete": "Poista tämä kommentti", + "deleteText1": "Haluatko varmasti poistaa tämän kommentin?", + "deleteSuccess": "Kommentti poistettiin onnistuneesti.", + "addedSuccess": "Kommentti lisättiin onnistuneesti.", + "permalink": "Kopioi pysyvä linkki tähän kommenttiin" }, "deferDueDate": { "title": "Defer due date", @@ -871,8 +871,8 @@ "1week": "1 week" }, "description": { - "placeholder": "Enter a description, hit '/' for more options…", - "empty": "No description available yet." + "placeholder": "Syötä kuvaus, paina '/' saadaksesi lisää vaihtoehtoja…", + "empty": "Kuvausta ei ole vielä saatavilla." }, "assignee": { "placeholder": "Type to assign a user…", @@ -881,16 +881,16 @@ "unassignSuccess": "The user has been unassigned successfully." }, "label": { - "placeholder": "Type to add a label…", - "createPlaceholder": "Add this as new label", - "addSuccess": "The label has been added successfully.", - "createSuccess": "The label has been created successfully.", - "removeSuccess": "The label has been removed successfully.", - "addCreateSuccess": "The label has been created and added successfully.", + "placeholder": "Kirjoita lisätäksesi tunnisteen…", + "createPlaceholder": "Lisää tämä uutena tunnisteena", + "addSuccess": "Tunniste lisättiin onnistuneesti.", + "createSuccess": "Tunniste luotiin onnistuneesti.", + "removeSuccess": "Tunniste poistettiin onnistuneesti.", + "addCreateSuccess": "Tunniste luotiin ja lisättiin onnistuneesti.", "delete": { - "header": "Delete this label", - "text1": "Are you sure you want to delete this label?", - "text2": "This will remove it from all tasks and cannot be restored." + "header": "Poista tämä tunniste", + "text1": "Haluatko varmasti poistaa tämän tunnisteen?", + "text2": "Tämä poistaa sen kaikista tehtävistä, eikä sitä voida palauttaa." } }, "priority": { @@ -899,29 +899,29 @@ "medium": "Medium", "high": "High", "urgent": "Urgent", - "doNow": "DO NOW" + "doNow": "TEE NYT" }, "relation": { - "add": "Add a New Task Relation", - "new": "New Task Relation", + "add": "Lisää Uusi Tehtävä Relaatio", + "new": "Uusi Tehtävä Relaatio", "searchPlaceholder": "Type search for a task to add as related…", "createPlaceholder": "Add this as related task", "differentProject": "This task belongs to a different project.", "noneYet": "No task relations yet.", - "delete": "Delete Task Relation", - "deleteText1": "Are you sure you want to delete this task relation?", - "select": "Select a relation kind", + "delete": "Poista Tehtävä Relaatio", + "deleteText1": "Haluatko varmasti poistaa tämän tehtävä relaation?", + "select": "Valitse relaation tyyppi", "taskRequired": "Please select a task or enter a new task title.", "kinds": { - "subtask": "Subtask | Subtasks", - "parenttask": "Parent Task | Parent Tasks", - "related": "Related Task | Related Tasks", + "subtask": "Alitehtävä | Alitehtävät", + "parenttask": "Ylätason tehtävä | Ylätason tehtävät", + "related": "Liittyvä Tehtävä | Liittyvät Tehtävät", "duplicateof": "Duplicate Of | Duplicates Of", "duplicates": "Duplicates | Duplicates", - "blocking": "Blocking | Blocking", + "blocking": "Estää | Estävät", "blocked": "Blocked By | Blocked By", - "precedes": "Precedes | Precedes", - "follows": "Follows | Follows", + "precedes": "Edeltää | Edeltävät", + "follows": "Seuraa | Seuraavat", "copiedfrom": "Copied From | Copied From", "copiedto": "Copied To | Copied To" } @@ -929,29 +929,29 @@ "reminder": { "before": "{amount} {unit} before {type}", "after": "{amount} {unit} after {type}", - "beforeShort": "before", - "afterShort": "after", + "beforeShort": "ennen", + "afterShort": "jälkeen", "onDueDate": "On the due date", "onStartDate": "On the start date", "onEndDate": "On the end date", - "custom": "Custom", + "custom": "Mukautettu", "dateAndTime": "Date and time" }, "repeat": { - "everyDay": "Every Day", - "everyWeek": "Every Week", - "every30d": "Every 30 Days", - "mode": "Repeat mode", - "monthly": "Monthly", - "fromCurrentDate": "From completion date", - "each": "Each", - "specifyAmount": "Specify an amount…", - "hours": "Hours", - "days": "Days", - "weeks": "Weeks", - "months": "Months", - "years": "Years", - "invalidAmount": "Please enter more than 0." + "everyDay": "Joka Päivä", + "everyWeek": "Joka Viikko", + "every30d": "30 päivän välein", + "mode": "Toistotila", + "monthly": "Kuukausittain", + "fromCurrentDate": "Valmistumispäivästä alkaen", + "each": "Väli", + "specifyAmount": "Anna määrä…", + "hours": "Tuntia", + "days": "Päivää", + "weeks": "Viikkoa", + "months": "Kuukautta", + "years": "Vuotta", + "invalidAmount": "Ole hyvä ja syötä suurempi arvo kuin 0." }, "quickAddMagic": { "hint": "Use magic prefixes to define due dates, assignees and other task properties.", @@ -997,44 +997,44 @@ "userAddedSuccess": "The team member was successfully added.", "madeMember": "The team member was successfully made member.", "madeAdmin": "The team member was successfully made admin.", - "mustSelectUser": "Please select a user.", + "mustSelectUser": "Ole hyvä ja valitse käyttäjä.", "delete": { - "header": "Delete the team", - "text1": "Are you sure you want to delete this team and all of its members?", + "header": "Poista tiimi", + "text1": "Haluatko varmasti poistaa tämän tiiimin ja kaikki sen jäsenet?", "text2": "All team members will lose access to projects shared with this team. This CANNOT BE UNDONE!", - "success": "The team was successfully deleted." + "success": "Tiimi poistettiin onnistuneesti." }, "deleteUser": { - "header": "Remove a user from the team", - "text1": "Are you sure you want to remove this user from the team?", + "header": "Poista käyttäjä tiimistä", + "text1": "Haluatko varmasti poistaa tämän käyttäjän tiimistä?", "text2": "They will lose access to all projects this team has access to. This CANNOT BE UNDONE!", "success": "The user was successfully deleted from the team." }, "leave": { - "title": "Leave team", - "text1": "Are you sure you want to leave this team?", + "title": "Poistu tiimistä", + "text1": "Haluatko varmasti poistua tästä tiimistä?", "text2": "You will lose access to all projects this team has access to. If you change your mind you'll need a team admin to add you again.", "success": "You have successfully left the team." } }, "attributes": { - "name": "Team Name", - "namePlaceholder": "The team's name goes here…", - "nameRequired": "Please specify a name.", - "description": "Description", - "descriptionPlaceholder": "Describe the team here, hit '/' for more options…", - "admin": "Admin", - "member": "Member", - "isPublic": "Public Team", + "name": "Tiimin Nimi", + "namePlaceholder": "Tiimin nimi menee tähän...", + "nameRequired": "Ole hyvä ja anna nimi.", + "description": "Kuvaus", + "descriptionPlaceholder": "Kuvaile tiimiä tässä, paina '/' saadaksesi lisää vaihtoehtoja...", + "admin": "Ylläpitäjä", + "member": "Jäsen", + "isPublic": "Julkinen Tiimi", "isPublicDescription": "Make the team publicly discoverable. When enabled, anyone can share projects with this team even when not being a direct member." } }, "keyboardShortcuts": { - "title": "Keyboard Shortcuts", + "title": "Pikanäppäimet", "general": "General", - "allPages": "These shortcuts work on all pages.", - "currentPageOnly": "These shortcuts work only on the current page.", - "somePagesOnly": "These shortcuts work only on some pages.", + "allPages": "Nämä pikanäppäimet toimivat kaikilla sivuilla.", + "currentPageOnly": "Nämä pikanäppäimet toimivat vain tällä sivulla.", + "somePagesOnly": "Nämä pikanäppäimet toimivat vain joillain sivulla.", "toggleMenu": "Toggle The Menu", "quickSearch": "Open the search/quick action bar", "then": "then", @@ -1042,21 +1042,21 @@ "title": "Task Page", "done": "Mark task done / undone", "assign": "Assign this task to a user", - "labels": "Add labels to this task", + "labels": "Lisää tunnisteita tähän tehtävään", "dueDate": "Change the due date of this task", - "attachment": "Add an attachment to this task", + "attachment": "Lisää liite tähän tehtävään", "related": "Modify related tasks of this task", - "color": "Change the color of this task", - "move": "Move this task to another project", + "color": "Vaihda tämän tehtävän väriä", + "move": "Siirrä tehtävä toiseen projektiin", "reminder": "Manage reminders of this task", "description": "Toggle editing of the task description", - "delete": "Delete this task", - "priority": "Change the priority of this task", + "delete": "Poista tämä tehtävä", + "priority": "Muuta tämän tehtävän prioriteettia", "favorite": "Mark this task as favorite / unfavorite", - "save": "Save the current task" + "save": "Tallenna nykyinen tehtävä" }, "project": { - "title": "Project Views", + "title": "Projekti Näkymät", "switchToListView": "Switch to list view", "switchToGanttView": "Switch to gantt view", "switchToKanbanView": "Switch to kanban view", @@ -1076,23 +1076,23 @@ "do": "Update Now" }, "menu": { - "edit": "Edit", + "edit": "Muokkaa", "archive": "Archive", - "duplicate": "Duplicate", - "delete": "Delete", + "duplicate": "Monista", + "delete": "Poista", "unarchive": "Un-Archive", "setBackground": "Background settings", - "share": "Share", - "newProject": "New project", - "createProject": "Create project", - "cantArchiveIsDefault": "You cannot archive this because it is your default project.", - "cantDeleteIsDefault": "You cannot delete this because it is your default project.", + "share": "Jaa", + "newProject": "Uusi projekti ", + "createProject": "Luo projekti", + "cantArchiveIsDefault": "Et voi arkistoida tätä, koska se on oletusprojektisi.", + "cantDeleteIsDefault": "Et voi poistaa tätä, koska se on oletusprojektisi.", "views": "Views" }, "apiConfig": { "url": "Vikunja URL", - "urlPlaceholder": "eg. https://localhost:3456", - "change": "change", + "urlPlaceholder": "esim. https://localhost:3456", + "change": "muuta", "use": "Using Vikunja installation at {0}", "error": "Could not find or use Vikunja installation at \"{domain}\". Please check if the url has the correct format and you can reach it when accessing it directly and try again.", "success": "Using Vikunja installation at \"{domain}\".", @@ -1100,33 +1100,33 @@ }, "loadingError": { "failed": "Loading failed, please {0}. If the error persists, please {1}.", - "tryAgain": "try again", - "contact": "contact us" + "tryAgain": "yritä uudelleen", + "contact": "ota yhteyttä" }, "notification": { - "title": "Notifications", - "none": "You don't have any notifications. Have a nice day!", + "title": "Ilmoitukset", + "none": "Sinulla ei ole ilmoituksia. Mukavaa päivää!", "explainer": "Notifications will appear here when actions projects or tasks you subscribed to happen.", - "markAllRead": "Mark all notifications as read", - "markAllReadSuccess": "Successfully marked all notifications as read." + "markAllRead": "Merkitse kaikki ilmoitukset luetuiksi", + "markAllReadSuccess": "Kaikki ilmoitukset merkittiin onnistuneesti luetuiksi." }, "quickActions": { - "commands": "Commands", - "placeholder": "Type a command or search…", + "commands": "Komennot", + "placeholder": "Kirjoita komento tai hae…", "hint": "You can use {project} to limit the search to a project. Combine {project} or {label} (labels) with a search query to search for a task with these labels or on that project. Use {assignee} to only search for teams.", - "tasks": "Tasks", - "projects": "Projects", - "teams": "Teams", - "labels": "Labels", - "newProject": "Enter the title of the new project…", - "newTask": "Enter the title of the new task…", - "newTeam": "Enter the name of the new team…", - "createTask": "Create a task in the current project ({title})", - "createProject": "Create a project", + "tasks": "Tehtävät", + "projects": "Projektit", + "teams": "Tiimit", + "labels": "Tunnisteet", + "newProject": "Syötä uuden projektin otsikko…", + "newTask": "Syötä uuden tehtävän otsikko…", + "newTeam": "Anna uuden tiimin nimi…", + "createTask": "Luo tehtävä nykyiseen projektiin ({title})", + "createProject": "Luo projekti", "cmds": { - "newTask": "New task", - "newProject": "New project", - "newTeam": "New team" + "newTask": "Uusi tehtävä", + "newProject": "Uusi projekti", + "newTeam": "Uusi tiimi" } }, "date": { @@ -1134,27 +1134,27 @@ "altFormatShort": "j M Y" }, "reaction": { - "reactedWith": "{user} reacted with {value}", - "reactedWithAnd": "{users} and {lastUser} reacted with {value}", - "reactedWithAndMany": "{users} and {num} more reacted reacted with {value}", - "add": "Add your reaction" + "reactedWith": "{user} reagoi {value}", + "reactedWithAnd": "{users} ja {lastUser} reagoivat {value}", + "reactedWithAndMany": "{users} ja {num} muuta reagoivat {value}", + "add": "Lisää reaktiosi" }, "error": { - "error": "Error", - "success": "Success", - "0001": "You're not allowed to do that.", - "1001": "A user with this username already exists.", - "1002": "A user with this email address already exists.", + "error": "Virhe", + "success": "Onnistui", + "0001": "Sinulla ei ole lupaa tehdä tuota.", + "1001": "Tällä käyttäjänimellä löytyy jo käyttäjä.", + "1002": "Tällä sähköpostiosoitteella löytyy jo käyttäjä.", "1004": "No username and password specified.", - "1005": "The user does not exist.", + "1005": "Käyttäjää ei ole olemassa.", "1006": "Could not get the user id.", "1008": "No password reset token provided.", "1009": "Invalid password reset token.", "1010": "Invalid email confirm token.", - "1011": "Wrong username or password.", + "1011": "Väärä käyttäjänimi tai salasana.", "1012": "Email address of the user not confirmed.", - "1013": "New password is empty.", - "1014": "Old password is empty.", + "1013": "Uusi salasana on tyhjä.", + "1014": "Vanha salasana on tyhjä.", "1015": "TOTP is already enabled for this user.", "1016": "TOTP is not enabled for this user.", "1017": "The TOTP passcode is invalid.", @@ -1162,21 +1162,21 @@ "1019": "No email address was provided by the OpenID provider.Please make sure the openid provider publicly provides an email address for your account.", "1020": "This account is disabled. Check your emails or ask your administrator.", "1021": "This account is managed by a third-party authentication provider.", - "1022": "The username must not contain spaces.", + "1022": "Käyttäjätunnus ei saa sisältää välilyöntejä.", "1023": "You can't do that as a link share.", "1024": "Invalid claim data for field {field} of type {type}.", - "1025": "The timezone '{timezone}' is invalid. Please select a valid timezone from the list.", + "1025": "Aikavyöhyke '{timezone}' on virheellinen. Ole hyvä ja valitse kelvollinen aikavyöhyke listalta.", "2001": "ID cannot be empty or 0.", "2002": "Some of the request data was invalid.", - "2003": "The timezone '{timezone}' is invalid.", - "3001": "The project does not exist.", + "2003": "Aikavyöhyke '{timezone}' on virheellinen.", + "3001": "Projektia ei ole olemassa.", "3004": "You need to have read permissions on that project to perform that action.", - "3005": "The project title cannot be empty.", + "3005": "Projektin otsikko ei voi olla tyhjä.", "3006": "The project share does not exist.", - "3007": "A project with this identifier already exists.", + "3007": "Tällä tunnisteella löytyy jo projekti.", "3008": "The project is archived and can therefore only be accessed read only. This is also true for all tasks associated with this project.", - "4001": "The task title cannot be empty.", - "4002": "The task does not exist.", + "4001": "Tehtävän otsikko ei voi olla tyhjä.", + "4002": "Tehtävää ei ole olemassa.", "4003": "All bulk editing tasks must belong to the same project.", "4004": "Need at least one task when bulk editing tasks.", "4005": "You do not have the right to see the task.", @@ -1198,26 +1198,26 @@ "4021": "This user is already assigned to that task.", "4022": "Please provide what the reminder date is relative to.", "4023": "Cannot create a task relation cycle.", - "6001": "The team name cannot be empty.", - "6002": "The team does not exist.", - "6004": "The team already has access to that project.", - "6005": "The user is already a member of that team.", - "6006": "Cannot delete the last team member.", - "6007": "The team does not have access to the project to perform that action.", + "6001": "Tiimin nimi ei voi olla tyhjä.", + "6002": "Tiimiä ei ole olemassa.", + "6004": "Tiimillä on jo pääsy kyseiseen projektiin.", + "6005": "Käyttäjä on jo kyseisen tiimin jäsen.", + "6006": "Tiimin viimeistä jäsentä ei voi poistaa.", + "6007": "Tiimillä ei ole pääsyä projektiin suorittaakseen tuota toimintoa.", "6008": "No team could be found for the given OIDC ID and issuer.", "6009": "No Teams with property oidcId could be found for User.", - "7002": "The user already has access to that project.", - "7003": "You do not have access to that project.", - "8001": "This label already exists on that task.", - "8002": "The label does not exist.", - "8003": "You do not have access to this label.", + "7002": "Käyttäjällä on jo pääsy kyseiseen projektiin.", + "7003": "Sinulla ei ole pääsyä kyseiseen projektiin.", + "8001": "Tämä tunniste on jo olemassa tuossa tehtävässä.", + "8002": "Tunnistetta ei ole olemassa.", + "8003": "Sinulla ei ole pääsyä tähän tunnisteeseen.", "9001": "The right is invalid.", "10001": "The bucket does not exist.", "10002": "The bucket does not belong to that project.", "10003": "You cannot remove the last bucket on a project.", "10004": "You cannot add the task to this bucket as it already exceeded the limit of tasks it can hold.", "10005": "There can be only one done bucket per project.", - "11001": "The saved filter does not exist.", + "11001": "Tallennettua suodatinta ei ole olemassa.", "11002": "Saved filters are not available for link shares.", "12001": "The subscription entity type is invalid.", "12002": "You are already subscribed to the entity itself or a parent entity.", @@ -1226,21 +1226,21 @@ "13002": "The provided link share password is invalid.", "13003": "The provided link share token is invalid.", "14001": "The provided api token is invalid.", - "14002": "The permission {permission} of group {group} is invalid." + "14002": "Ryhmän {group} oikeus {permission} on virheellinen." }, "about": { - "title": "About", - "version": "Version: {version}" + "title": "Tietoa", + "version": "Versio: {version}" }, "time": { "units": { - "seconds": "second|seconds", - "minutes": "minute|minutes", - "hours": "hour|hours", - "days": "day|days", - "weeks": "week|weeks", - "months": "month|months", - "years": "year|years" + "seconds": "sekunti|sekuntia", + "minutes": "minuutti|minuuttia", + "hours": "tunti|tuntia", + "days": "päivä|päivää", + "weeks": "viikko|viikkoa", + "months": "kuukausi|kuukautta", + "years": "vuosi|vuotta" } } } diff --git a/pkg/i18n/lang/fi-FI.json b/pkg/i18n/lang/fi-FI.json index 8c75d608d..9684c4057 100644 --- a/pkg/i18n/lang/fi-FI.json +++ b/pkg/i18n/lang/fi-FI.json @@ -1,79 +1,79 @@ { "notifications": { - "greeting": "Hi %[1]s,", + "greeting": "Moi %[1]s,", "email_confirm": { - "subject": "%[1]s, please confirm your email address at Vikunja", + "subject": "%[1]s, ole hyvä ja vahvista sähköpostiosoitteesi Vikunjassa", "subject_new": "%[1]s + Vikunja = <3", - "welcome": "Welcome to Vikunja!", - "confirm": "To confirm your email address, click the link below:" + "welcome": "Tervetuloa Vikunjaan!", + "confirm": "Vahvistaaksesi sähköpostiosoitteesi, klikkaa alla olevaa linkkiä:" }, "password": { "changed": { - "subject": "Your Password on Vikunja was changed", - "success": "Your account password was successfully changed.", - "warning": "If this wasn't you, it could mean someone compromised your account. In this case contact your server's administrator." + "subject": "Salasanasi Vikunjassa vaihdettiin", + "success": "Tilisi salasana vaihdettiin onnistuneesti.", + "warning": "Jos tämä et ollut sinä, se voi tarkoittaa sitä että joku on vaarantanut tilisi. Tässä tapauksessa ota yhteyttä palvelimesi ylläpitäjään." }, "reset": { - "subject": "Reset your password on Vikunja", - "instructions": "To reset your password, click the link below:", - "valid_duration": "This link will be valid for 24 hours." + "subject": "Palauta salasanasi Vikunjassa", + "instructions": "Palauttaaksesi salasanasi, klikkaa alla olevaa linkkiä:", + "valid_duration": "Tämä linkki on voimassa 24 tuntia." } }, "totp": { "invalid": { - "subject": "Someone just tried to login to your Vikunja account, but failed", - "message": "Someone just tried to log in into your account with correct username and password but a wrong TOTP passcode.", - "warning": "**If this was not you, someone else knows your password. You should set a new one immediately!**" + "subject": "Joku yritti juuri kirjautua Vikunja-tilillesi, mutta ei onnistunut", + "message": "Joku juuri yritti kirjautua tilillesi oikealla käyttäjätunnuksella ja salasanalla, mutta väärällä TOTP-koodilla.", + "warning": "**Jos tämä et ollut sinä, joku muu tietää salasanasi. Sinun tulisi asettaa uusi salasana välittömästi!**" }, "account_locked": { - "subject": "We've disabled your account on Vikunja", - "message": "Someone tried to log in with your credentials but failed to provide a valid TOTP passcode.", - "disabled": "After 10 failed attempts, we've disabled your account and reset your password. To set a new one, follow the instructions in the reset email we just sent you.", + "subject": "Olemme poistaneet Vikunja-tilisi käytöstä.", + "message": "Joku yritti kirjautua sisään käyttäjätunnuksillasi, mutta ei pystynyt antamaan kelvollista TOTP-koodia.", + "disabled": "Kymmenen epäonnistuneen yrityksen jälkeen olemme poistaneet tilisi käytöstä ja nollanneet salasanasi. Asettaaksesi uuden, noudata nollaussähköpostin ohjeita, jonka juuri lähetimme sinulle.", "reset_instructions": "If you did not receive an email with reset instructions, you can always request a new one at [%[1]s](%[2]s)." } }, "login": { "failed": { - "subject": "Someone just tried to login to your Vikunja account, but failed to provide a correct password", - "message": "Someone just tried to log in into your account with a wrong password three times in a row.", - "warning": "If this was not you, this could be someone else trying to break into your account.", + "subject": "Joku juuri yritti kirjautua Vikunja-tilillesi, mutta antoi väärän salasanan", + "message": "Joku yritti juuri kirjautua tilillesi väärällä salasanalla kolme kertaa peräkkäin.", + "warning": "Jos tämä et ollut sinä, joku muu saattaa yrittää murtautua tilillesi.", "enhance_security": "To enhance the security of you account you may want to set a stronger password or enable TOTP authentication in the settings:" } }, "account": { "deletion": { "confirm": { - "subject": "Please confirm the deletion of your Vikunja account", - "request": "You have requested the deletion of your account. To confirm this, please click the link below:", - "valid_duration": "This link will be valid for 24 hours.", + "subject": "Ole hyvä ja vahvista Vikunja-tilisi poistaminen", + "request": "Olet pyytänyt tilisi poistamista. Vahvistaaksesi tämän, klikkaa alla olevaa linkkiä:", + "valid_duration": "Tämä linkki on voimassa 24 tuntia.", "schedule_info": "Once you confirm the deletion we will schedule the deletion of your account in three days and send you another email until then.", "consequences": "If you proceed with the deletion of your account, we will remove all of your projects and tasks you created. Everything you shared with another user or team will transfer ownership to them.", - "changed_mind": "If you did not requested the deletion or changed your mind, you can simply ignore this email." + "changed_mind": "Jos et ole pyytänyt poistoa tai olet muuttanut mielesi, voit yksinkertaisesti jättää tämän sähköpostin huomiotta." }, "scheduled": { - "subject_days": "Your Vikunja account will be deleted in %[1]s days", - "subject_tomorrow": "Your Vikunja account will be deleted tomorrow", - "request_reminder": "You recently requested the deletion of your Vikunja account.", - "deletion_time_days": "We will delete your account in %[1]s days.", - "deletion_time_tomorrow": "We will delete your account tomorrow.", - "changed_mind": "If you changed your mind, simply click the link below to cancel the deletion and follow the instructions there:" + "subject_days": "Vikunja-tilisi poistetaan %[1]s päivässä", + "subject_tomorrow": "Vikunja-tilisi poistetaan huomenna", + "request_reminder": "Olet äskettäin pyytänyt Vikunja-tilisi poistamista.", + "deletion_time_days": "Poistamme tilisi %[1]s päivässä.", + "deletion_time_tomorrow": "Poistamme tilisi huomenna.", + "changed_mind": "Jos olet muuttanut mieltäsi, klikkaa alla olevaa linkkiä peruuttaaksesi poistamisen ja noudata siellä olevia ohjeita:" }, "completed": { - "subject": "Your Vikunja Account has been deleted", - "confirmation": "As requested, we've deleted your Vikunja account.", - "permanent": "This deletion is permanent. If did not create a backup and need your data back now, talk to your administrator." + "subject": "Vikunja-tilisi on poistettu", + "confirmation": "Kuten pyydetty, olemme poistaneet Vikunja-tilisi.", + "permanent": "Tämä poisto on pysyvä. Jos et luonut varmuuskopiota ja tarvitset tietosi takaisin nyt, keskustele järjestelmänvalvojasi kanssa." } } }, "task": { "reminder": { - "subject": "Reminder for \"%[1]s\" (%[2]s)", - "message": "This is a friendly reminder of the task \"%[1]s\" (%[2]s)." + "subject": "Muistutus \"%[1]s\":lle (%[2]s)", + "message": "Tämä on ystävällinen muistutus tehtävästä \"%[1]s\" (%[2]s)." }, "comment": { "subject": "Re: %[1]s", - "mentioned_subject": "%[1]s mentioned you in a comment in \"%[2]s\"", - "mentioned_message": "**%[1]s** mentioned you in a comment:" + "mentioned_subject": "%[1]s mainitsi sinut kommentissa \"%[2]s\"", + "mentioned_message": "**%[1]s** mainitsi sinut kommentissa:" }, "assigned": { "subject_to_assignee": "You have been assigned to %[1]s (%[2]s)", @@ -82,33 +82,33 @@ "message_to_others": "%[1]s has assigned this task to %[2]s." }, "deleted": { - "subject": "%[1]s (%[2]s) has been deleted", - "message": "%[1]s has deleted the task %[2]s (%[3]s)" + "subject": "%[1]s (%[2]s) on poistettu", + "message": "%[1]s on poistanut tehtävän %[2]s (%[3]s)" }, "mentioned": { - "subject_new": "%[1]s mentioned you in a new task \"%[2]s\"", - "subject": "%[1]s mentioned you in a task \"%[2]s\"", - "message": "**%[1]s** mentioned you in a task:" + "subject_new": "%[1]s mainitsi sinut uudessa tehtävässä \"%[2]s\"", + "subject": "%[1]s mainitsi sinut tehtävässä \"%[2]s\"", + "message": "**%[1]s** mainitsi sinut tehtävässä:" }, "overdue": { - "subject": "Task \"%[1]s\" (%[2]s) is overdue", + "subject": "Tehtävä \"%[1]s\" (%[2]s) on erääntynyt", "message": "This is a friendly reminder of the task \"%[1]s\" (%[2]s) which is %[3]s and not yet done.", - "multiple_subject": "Your overdue tasks", - "multiple_message": "You have the following overdue tasks:", + "multiple_subject": "Myöhässä olevat tehtäväsi", + "multiple_message": "Sinulla on seuraavat erääntyneet tehtävät:", "overdue_since": "overdue since %[1]s", - "overdue_now": "overdue now" + "overdue_now": "erääntynyt nyt" } }, "project": { "created": { - "subject": "%[1]s created the project \"%[2]s\"", - "message": "%[1]s created the project \"%[2]s\"" + "subject": "%[1]s loi projektin \"%[2]s\"", + "message": "%[1]s loi projektin \"%[2]s\"" } }, "team": { "member_added": { - "subject": "%[1]s added you to the %[2]s team in Vikunja", - "message": "%[1]s has just added you to the %[2]s team in Vikunja." + "subject": "%[1]s lisäsi sinut %[2]s tiimiin Vikunjassa", + "message": "%[1]s on juuri lisännyt sinut %[2]s tiimiin Vikunjassa." } }, "data_export": { @@ -122,13 +122,13 @@ "done": { "subject": "The migration from %[1]s to Vikunja was completed", "imported": "Vikunja has imported all lists/projects, tasks, notes, reminders and files from %[1]s you have access to.", - "have_fun": "Have fun with your new (old) projects!" + "have_fun": "Pidä hauskaa uusien (vanhojen) projektiesi kanssa!" }, "failed": { "subject": "The migration from %[1]s to Vikunja has failed", "message": "Looks like the move from %[1]s didn't go as planned this time.", "retry": "No worries, though! Just give it another shot by starting over the same way you did before. Sometimes, these hiccups happen because of glitches on %[1]s's end, but trying again often does the trick.", - "error": "We bumped into a little error along the way: `%[2]s`.", + "error": "Törmäsimme pieneen virheeseen matkalla: `%[2]s`.", "report": "Please drop us a note about this [in the forum](https://community.vikunja.io/) or any of the usual places so that we can take a look at why it failed." }, "failed_reported": { @@ -139,7 +139,7 @@ } }, "common": { - "have_nice_day": "Have a nice day!", + "have_nice_day": "Hauskaa päivän jatkoa!", "copy_url": "If the button above doesn't work, copy the url below and paste it in your browser's address bar:" } }