diff --git a/modoboa/admin/locale/fi/LC_MESSAGES/django.po b/modoboa/admin/locale/fi/LC_MESSAGES/django.po new file mode 100644 index 000000000..65b0a3eff --- /dev/null +++ b/modoboa/admin/locale/fi/LC_MESSAGES/django.po @@ -0,0 +1,1557 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-17 15:31+0200\n" +"PO-Revision-Date: 2023-02-17 21:20+0200\n" +"Last-Translator: Ossi Mantylahti \n" +"Language-Team: \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.2.2\n" + +#: admin/api.py:142 +msgid "Here is your new Modoboa password: {}" +msgstr "Tässä on uusi Modoboa-salasanasi: {}" + +#: admin/app_settings.py:20 admin/handlers.py:261 +#: admin/templates/admin/_global_statistics_widget.html:11 +#: admin/templates/admin/domains.html:5 +msgid "Domains" +msgstr "Verkkotunnukset" + +#: admin/app_settings.py:23 +msgid "Enable MX checks" +msgstr "Ota MX-tarkistukset käyttöön" + +#: admin/app_settings.py:26 +msgid "Check that every domain has a valid MX record" +msgstr "" +"Tarkista, että jokaisella verkkotunnuksella on voimassa oleva MX-tietue" + +#: admin/app_settings.py:31 +msgid "Valid MXs" +msgstr "Voimassa olevat MX:t" + +#: admin/app_settings.py:34 +msgid "" +"A list of IP or network address every MX record should match. A warning will " +"be sent if a record does not respect it." +msgstr "" +"Luettelo IP- tai verkko-osoitteista, joita jokaisen MX-tietueen pitäisi " +"vastata. Varoitus lähetetään, jos tietue ei noudata sitä." + +#: admin/app_settings.py:42 +msgid "New domains must use authorized MX(s)" +msgstr "Uusien verkkotunnusten on käytettävä valtuutettuja MX:iä" + +#: admin/app_settings.py:45 +msgid "" +"Prevent the creation of a new domain if its MX record does not use one of " +"the defined addresses." +msgstr "" +"Estä uuden verkkotunnuksen luominen, jos sen MX-tietue ei käytä jotakin " +"määritetyistä osoitteista." + +#: admin/app_settings.py:51 +msgid "Enable SPF checks" +msgstr "Ota SPF-tarkistukset käyttöön" + +#: admin/app_settings.py:54 +msgid "Check if every domain has a valid SPF record" +msgstr "Tarkista, onko jokaisella verkkotunnuksella voimassa oleva SPF-tietue" + +#: admin/app_settings.py:59 +msgid "Enable DKIM checks" +msgstr "Ota DKIM-tarkistukset käyttöön" + +#: admin/app_settings.py:62 +msgid "Check if every domain with DKIM signin enabled has a valid DNS record" +msgstr "" +"Tarkista, onko jokaisella verkkotunnuksella, jossa DKIM-kirjautuminen on " +"käytössä, voimassa oleva DNS-tietue" + +#: admin/app_settings.py:68 +msgid "Enable DMARC checks" +msgstr "Ota DMARC-tarkistukset käyttöön" + +#: admin/app_settings.py:71 +msgid "Check if every domain has a valid DMARC record" +msgstr "" +"Tarkista, onko jokaisella verkkotunnuksella voimassa oleva DMARC-tietue" + +#: admin/app_settings.py:76 +msgid "Enable autoconfig checks" +msgstr "Ota käyttöön automaattisen määritysten tarkistus" + +#: admin/app_settings.py:79 +msgid "Check if every domain has a valid records for autoconfiguration" +msgstr "" +"Tarkista, onko jokaisella verkkotunnuksella kelvolliset tietueet " +"automaattista määritystä varten" + +#: admin/app_settings.py:84 +msgid "Enable DNSBL checks" +msgstr "Ota DNSBL-tarkistukset käyttöön" + +#: admin/app_settings.py:87 +msgid "Check every domain against major DNSBL providers" +msgstr "" +"Tarkista jokainen verkkotunnus merkittävimmistä DNSBL-palveluntarjoajista" + +#: admin/app_settings.py:92 +msgid "Custom DNS server" +msgstr "Mukautettu DNS-palvelin" + +#: admin/app_settings.py:95 +msgid "Use a custom DNS server instead of local server configuration" +msgstr "" +"Käytä mukautettua DNS-palvelinta paikallisen palvelinkonfiguraation sijasta" + +#: admin/app_settings.py:100 +msgid "DKIM keys storage directory" +msgstr "DKIM-avainten tallennushakemisto" + +#: admin/app_settings.py:103 +msgid "" +"Absolute path of the directory where DKIM private keys will be stored. Make " +"sure this directory belongs to root user and is not readable by the outside " +"world." +msgstr "" +"Absoluuttinen polku, johon DKIM:n yksityiset avaimet tallennetaan. Varmista, " +"että tämä hakemisto kuuluu root-käyttäjälle eikä ole ulkomaailman " +"luettavissa." + +#: admin/app_settings.py:111 +msgid "Default DKIM key length" +msgstr "DKIM-avaimen oletuspituus" + +#: admin/app_settings.py:115 +msgid "Default length in bits for newly generated DKIM keys." +msgstr "Uusien luotujen DKIM-avainten oletuspituus bitteinä." + +#: admin/app_settings.py:120 +msgid "Default domain quota" +msgstr "Verkkotunnuksen oletuskiintiö" + +#: admin/app_settings.py:123 +msgid "" +"Default quota (in MB) applied to freshly created domains with no value " +"specified. A value of 0 means no quota." +msgstr "" +"Oletuskiintiö (megatavua), jota sovelletaan juuri luotuihin toimialueisiin, " +"joille ei ole määritetty arvoa. Arvo 0 tarkoittaa, että kiintiötä ei ole." + +#: admin/app_settings.py:129 +msgid "Default domain sending limit" +msgstr "Oletusarvo verkkotunnuksen lähetysrajalle" + +#: admin/app_settings.py:132 +msgid "" +"Number of messages freshly created domains will be allowed to send per day. " +"Leave empty for no limit." +msgstr "" +"Viestien määrä, jonka juuri luodut verkkotunnukset saavat lähettää päivässä. " +"Jätä tyhjäksi, jos et halua rajoitusta." + +#: admin/app_settings.py:137 admin/templates/admin/domain_detail.html:41 +msgid "Mailboxes" +msgstr "Postilaatikot" + +#: admin/app_settings.py:140 +msgid "Handle mailboxes on filesystem" +msgstr "Käsittele postilaatikoita tiedostojärjestelmässä" + +#: admin/app_settings.py:143 +msgid "" +"Rename or remove mailboxes on the filesystem when they get renamed or " +"removed within Modoboa" +msgstr "" +"Nimeä uudelleen tai poista postilaatikot tiedostojärjestelmästä, kun ne " +"nimetään uudelleen tai poistetaan Modoboassa" + +#: admin/app_settings.py:149 +msgid "Mailboxes owner" +msgstr "Postilaatikoiden omistaja" + +#: admin/app_settings.py:152 +msgid "The UNIX account who owns mailboxes on the filesystem" +msgstr "UNIX-tili, joka omistaa postilaatikot tiedostojärjestelmässä" + +#: admin/app_settings.py:157 admin/forms/domain.py:49 admin/models/domain.py:32 +#: admin/templates/admin/domain_detail.html:64 +msgid "Default mailbox quota" +msgstr "Oletuspostilaatikkokiintiö" + +#: admin/app_settings.py:160 +msgid "" +"Default mailbox quota (in MB) applied to freshly created mailboxes with no " +"value specified. A value of 0 means no quota." +msgstr "" +"Oletuspostilaatikkokiintiö (megatavua), jota sovelletaan juuri luotuihin " +"postilaatikoihin, joille ei ole määritetty arvoa. Arvo 0 tarkoittaa, ettei " +"kiintiötä ole." + +#: admin/app_settings.py:166 +msgid "Default mailbox sending limit" +msgstr "Oletuspostilaatikon lähetysraja" + +#: admin/app_settings.py:169 +msgid "" +"Number of messages freshly created mailboxes will be allowed to send per " +"day. Leave empty for no limit." +msgstr "" +"Viestien määrä, jonka juuri luodut postilaatikot saavat lähettää päivässä. " +"Jätä tyhjäksi, jos et halua rajoitusta." + +#: admin/app_settings.py:175 +msgid "Automatic account removal" +msgstr "Tilin automaattinen poistaminen" + +#: admin/app_settings.py:178 +msgid "When a mailbox is removed, also remove the associated account" +msgstr "Kun postilaatikko poistetaan, poistetaan myös siihen liittyvä tili" + +#: admin/app_settings.py:182 +msgid "Automatic domain/mailbox creation" +msgstr "Automaattinen verkkotunnuksen/sähköpostilaatikon luominen" + +#: admin/app_settings.py:185 +msgid "Create a domain and a mailbox when an account is automatically created." +msgstr "Luo verkkotunnus ja postilaatikko, kun tili luodaan automaattisesti." + +#: admin/app_settings.py:191 +msgid "Create an alias when a mailbox is renamed" +msgstr "Luo alias, kun postilaatikko nimetään uudelleen" + +#: admin/app_settings.py:194 +msgid "Create an alias using the old address when a mailbox is renamed." +msgstr "" +"Luo alias, joka käyttää vanhaa osoitetta, kun postilaatikko nimetään " +"uudelleen." + +#: admin/app_settings.py:243 admin/app_settings.py:251 +#: admin/forms/account.py:347 +msgid "Must be a positive integer" +msgstr "Täytyy olla positiivinen kokonaisluku" + +#: admin/app_settings.py:261 +msgid "Directory not found." +msgstr "Hakemistoa ei löydy." + +#: admin/app_settings.py:267 +msgid "openssl not found, please make sure it is installed." +msgstr "openssl ei löydy, varmista, että se on asennettu." + +#: admin/app_settings.py:281 +msgid "Define at least one authorized network / address" +msgstr "Määritä vähintään yksi valtuutettu verkko/osoite" + +#: admin/app_settings.py:291 +msgid "Administration" +msgstr "Hallinnointinäkymä" + +#: admin/constants.py:28 admin/forms/alias.py:43 +#: admin/templates/admin/_per_domain_statistics_widget.html:7 +#: admin/templates/admin/domains_quota_headers.html:2 +msgid "Domain" +msgstr "Verkkotunnus" + +#: admin/constants.py:29 +msgid "Relay domain" +msgstr "Relay-välitystunnus" + +#: admin/constants.py:42 +msgid "Opened" +msgstr "Avattu" + +#: admin/constants.py:43 +msgid "Closed" +msgstr "Suljettu" + +#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:139 +msgid "Username" +msgstr "Käyttäjätunnus" + +#: admin/forms/account.py:34 +msgid "" +"The user's name. Must be a valid e-mail address for simple users or " +"administrators with a mailbox." +msgstr "" +"Käyttäjän nimi. Yksinkertaisten käyttäjien tai ylläpitäjien, joilla on " +"postilaatikko, on oltava voimassa oleva sähköpostiosoite." + +#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29 +msgid "Role" +msgstr "Rooli" + +#: admin/forms/account.py:40 +msgid "Choose" +msgstr "Valitse" + +#: admin/forms/account.py:41 +msgid "What level of permission this user will have" +msgstr "Minkä tason oikeudet tällä käyttäjällä on" + +#: admin/forms/account.py:44 admin/forms/domain.py:248 +msgid "Random password" +msgstr "Satunnainen salasana" + +#: admin/forms/account.py:46 +msgid "" +"Generate a random password. If you're updating this account and check this " +"box, a new password will be generated." +msgstr "" +"Luo satunnainen salasana. Jos päivität tätä tiliä ja valitset tämän, Modoboa " +"luo uuden salasanan." + +#: admin/forms/account.py:52 +msgid "Password" +msgstr "Salasana" + +#: admin/forms/account.py:57 +msgid "Confirmation" +msgstr "Vahvistus" + +#: admin/forms/account.py:60 +msgid "Enter the same password as above, for verification." +msgstr "Kirjoita varmuuden vuoksi sama salasana uudelleen." + +#: admin/forms/account.py:72 +msgid "Enabled" +msgstr "Käytössä" + +#: admin/forms/account.py:167 +msgid "Only super administrators are allowed for this mode" +msgstr "Tämä tila on sallittu vain pääylläpitäjille" + +#: admin/forms/account.py:178 admin/forms/account.py:180 +#: admin/forms/domain.py:165 admin/forms/domain.py:294 +#: admin/forms/domain.py:297 admin/serializers.py:297 +msgid "This field is required." +msgstr "Tämä kenttä on pakollinen." + +#: admin/forms/account.py:186 +msgid "The two password fields didn't match." +msgstr "Salasanakentät eivät vastanneet toisiaan." + +#: admin/forms/account.py:199 +msgid "You can't disable your own account" +msgstr "Et voi poistaa omaa tiliäsi käytöstä" + +#: admin/forms/account.py:222 +msgid "E-mail" +msgstr "Sähköpostiosoite" + +#: admin/forms/account.py:224 +msgid "Create an alias using the old address" +msgstr "Luo alias käyttäen vanhaa osoitetta" + +#: admin/forms/account.py:229 admin/forms/domain.py:41 +#: admin/templates/admin/account_detail.html:45 +#: admin/templates/admin/domain_detail.html:49 +msgid "Quota" +msgstr "Kiintiö" + +#: admin/forms/account.py:232 +msgid "" +"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a " +"custom value or use domain's default one. Leave empty to define an unlimited " +"value (not allowed for domain administrators)." +msgstr "" +"Tämän postilaatikon kiintiö, joka voidaan ilmaista kilotavuina, megatavuina " +"(oletus) tai gigatavuina. Määritä oma arvo tai käytä toimialueen " +"oletusarvoa. Jätä tyhjäksi, jos haluat määrittää rajoittamattoman arvon (ei " +"sallittu toimialueen ylläpitäjille)." + +#: admin/forms/account.py:242 admin/models/domain.py:36 +#: admin/models/mailbox.py:102 admin/templates/admin/account_detail.html:50 +#: admin/templates/admin/domain_detail.html:69 +msgid "Message sending limit" +msgstr "Viestien lähetysraja" + +#: admin/forms/account.py:246 admin/models/mailbox.py:104 +msgid "Number of messages this mailbox can send per day" +msgstr "Viestien määrä, jonka tämä postilaatikko voi lähettää päivässä" + +#: admin/forms/account.py:249 admin/forms/domain.py:31 +#: admin/templates/admin/domain_headers.html:4 +msgid "Alias(es)" +msgstr "Alias(kset)" + +#: admin/forms/account.py:252 +msgid "" +"Alias(es) of this mailbox. Indicate only one address per input, press ENTER " +"to add a new input. To create a catchall alias, just enter the domain name " +"(@domain.tld)." +msgstr "" +"Tämän postilaatikon aliakset. Ilmoita vain yksi osoite per syöttö, paina " +"enter lisätäksesi uuden. Jos haluat luoda catchall-aliaksen, syötä vain " +"verkkotunnus (@verkkotunnus.tld)." + +#: admin/forms/account.py:258 +msgid "Sender addresses" +msgstr "Lähettäjän osoitteet" + +#: admin/forms/account.py:261 +msgid "" +"Additional sender address(es) for this account. The user will be allowed to " +"send emails using this address, even if it does not exist locally. Indicate " +"one address per input. Press ENTER to add a new input." +msgstr "" +"Tämän tilin lisälähetysosoite(et). Käyttäjä saa lähettää sähköposteja " +"käyttämällä tätä osoitetta, vaikka sitä ei olisikaan olemassa paikallisesti. " +"Ilmoita yksi osoite per rivi. Lisää uusi rivi painamalla enter." + +#: admin/forms/account.py:321 admin/forms/alias.py:88 +#: admin/models/mailbox.py:321 +msgid "Domain does not exist" +msgstr "Verkkotunnusta ei ole olemassa" + +#: admin/forms/account.py:357 +msgid "Local domain does not exist" +msgstr "Paikallista verkkotunnusta ei ole olemassa" + +#: admin/forms/account.py:361 admin/forms/account.py:369 +#: admin/forms/alias.py:91 +msgid "You don't have access to this domain" +msgstr "Sinulla ei ole pääsyä tähän verkkotunnukseen" + +#: admin/forms/account.py:470 +msgid "Domain(s)" +msgstr "Verkkotunnus(kset)" + +#: admin/forms/account.py:472 +msgid "Domain(s) that user administrates" +msgstr "Käyttäjän hallinnoima verkkotunnus(kset)" + +#: admin/forms/account.py:519 admin/forms/account.py:609 +#: admin/forms/domain.py:365 admin/forms/domain.py:436 +msgid "General" +msgstr "Yleiset" + +#: admin/forms/account.py:523 +msgid "Profile" +msgstr "Profiili" + +#: admin/forms/account.py:527 admin/forms/account.py:615 +msgid "Mail" +msgstr "Sähköposti" + +#: admin/forms/account.py:530 +msgid "Permissions" +msgstr "Oikeudet" + +#: admin/forms/account.py:598 +msgid "Account updated" +msgstr "Tili päivitetty" + +#: admin/forms/account.py:623 +msgid "New account" +msgstr "Uusi tili" + +#: admin/forms/account.py:633 +msgid "Account created" +msgstr "Tili luotu" + +#: admin/forms/alias.py:20 +msgid "Random address" +msgstr "Satunnainen osoite" + +#: admin/forms/alias.py:23 +msgid "Email address" +msgstr "Sähköpostiosoite" + +#: admin/forms/alias.py:25 +msgid "" +"The alias address. To create a catchall alias, just enter the domain name " +"(@domain.tld)." +msgstr "" +"Alias-osoite. Jos haluat luoda catchall-aliaksen, kirjoita vain verkkotunnus " +"(@verkkotunnus.tld)." + +#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37 +msgid "Recipients" +msgstr "Vastaanottajat" + +#: admin/forms/alias.py:33 +msgid "" +"Addresses this alias will point to. Indicate only one address per input, " +"press ENTER to add a new input." +msgstr "" +"Osoitteet, joihin tämä alias osoittaa. Ilmoita yksi osoite per rivi, paina " +"enter lisätäksesi uuden rivin." + +#: admin/forms/alias.py:108 admin/forms/alias.py:110 +msgid "This field is required" +msgstr "Tämä kenttä on pakollinen" + +#: admin/forms/alias.py:114 +msgid "No recipient defined" +msgstr "Vastaanottajaa ei ole määritelty" + +#: admin/forms/domain.py:28 +#: admin/templates/admin/_global_statistics_widget.html:7 +msgid "Type" +msgstr "Tyyppi" + +#: admin/forms/domain.py:34 +msgid "" +"Alias(es) of this domain. Indicate only one name per input, press ENTER to " +"add a new input." +msgstr "" +"Tämän verkkotunnuksen aliakset. Ilmoita vain yksi nimi per rivi, paina enter " +"lisätäksesi uuden rivin." + +#: admin/forms/domain.py:39 +msgid "Key selector" +msgstr "DKIM-avaimen valitsin-tietue (selector)" + +#: admin/forms/domain.py:44 admin/serializers.py:30 +msgid "" +"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " +"A value of 0 means no quota." +msgstr "" +"Postilaatikoiden kesken jaettu kiintiö. Voidaan ilmaista kilotavuina (KB), " +"megatavuina (MB) (oletus) tai gigatavuina (GB). Arvo 0 tarkoittaa, ettei " +"kiintiötä ole." + +#: admin/forms/domain.py:52 +msgid "" +"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " +"GB. A value of 0 means no quota." +msgstr "" +"Postilaatikoihin sovellettava oletuskiintiö. Voidaan ilmaista kilotavuina, " +"megatavuina (oletus) tai gigatavuina. Arvo 0 tarkoittaa, ettei kiintiötä ole." + +#: admin/forms/domain.py:97 admin/handlers.py:161 +msgid "domain alias" +msgstr "verkkotunnuksen alias" + +#: admin/forms/domain.py:100 admin/forms/domain.py:176 +#: admin/forms/domain.py:184 +#, python-format +msgid "A %s with this name already exists" +msgstr "Nimellä %s on jo olemassa" + +#: admin/forms/domain.py:108 admin/serializers.py:65 +msgid "No authorized MX record found for this domain" +msgstr "Tälle verkkotunnukselle ei löytynyt valtuutettua MX-tietuetta" + +#: admin/forms/domain.py:120 +msgid "DKIM keys storage directory not configured" +msgstr "DKIM-avainten tallennushakemistoa ei ole määritetty" + +#: admin/forms/domain.py:150 admin/serializers.py:83 +msgid "Cannot be greater than domain quota" +msgstr "Ei voi olla suurempi kuin verkkotunnuksen kiintiö" + +#: admin/forms/domain.py:155 +msgid "You can't define an unlimited quota." +msgstr "Et voi määritellä rajoittamatonta kiintiötä." + +#: admin/forms/domain.py:176 admin/forms/domain.py:181 +msgid "domain" +msgstr "domain" + +#: admin/forms/domain.py:230 +msgid "Create a domain administrator" +msgstr "Luo verkkotunnuksen ylläpitäjä" + +#: admin/forms/domain.py:233 +msgid "Automatically create an administrator for this domain" +msgstr "Luo automaattisesti järjestelmänvalvojan tälle verkkotunnukselle" + +#: admin/forms/domain.py:238 admin/templates/admin/domain_detail.html:139 +#: admin/templates/admin/domain_headers.html:3 +#: admin/templates/admin/identity_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:9 +msgid "Name" +msgstr "Nimi" + +#: admin/forms/domain.py:241 +msgid "" +"The administrator's name. Don't include the domain's name here, it will be " +"automatically appended." +msgstr "" +"Ylläpitäjän nimi. Älä sisällytä verkkotunnuksen nimeä tähän, se liitetään " +"automaattisesti." + +#: admin/forms/domain.py:251 +msgid "Generate a random password for the administrator." +msgstr "Luo satunnainen salasana järjestelmänvalvojalle." + +#: admin/forms/domain.py:257 +msgid "With a mailbox" +msgstr "Postilaatikolla" + +#: admin/forms/domain.py:260 +msgid "Create a mailbox for the administrator." +msgstr "Luo ylläpitäjän postilaatikko." + +#: admin/forms/domain.py:266 +msgid "Create aliases" +msgstr "Luo aliaksia" + +#: admin/forms/domain.py:269 +msgid "Automatically create standard aliases for this domain" +msgstr "Luo tälle verkkotunnukselle automaattisesti aliaksia" + +#: admin/forms/domain.py:285 +msgid "Invalid format" +msgstr "Virheellinen muoto" + +#: admin/forms/domain.py:314 +#, python-format +msgid "User '%s' already exists" +msgstr "Käyttäjä '%s' on jo olemassa" + +#: admin/forms/domain.py:426 +msgid "Domain modified" +msgstr "Muutettu verkkotunnus" + +#: admin/forms/domain.py:447 +msgid "Options" +msgstr "Vaihtoehdot" + +#: admin/forms/domain.py:455 +msgid "New domain" +msgstr "Uusi verkkotunnus" + +#: admin/forms/domain.py:468 +msgid "Domain created" +msgstr "Verkkotunnus luotu" + +#: admin/forms/export.py:9 admin/forms/import_.py:13 +msgid "Separator" +msgstr "Erotin" + +#: admin/forms/forward.py:12 +msgid "Recipient(s)" +msgstr "Vastaanottaja(t)" + +#: admin/forms/forward.py:16 +msgid "Indicate one or more recipients separated by a ','" +msgstr "Ilmoita yksi tai useampi vastaanottaja erotettuna pilkulla (',')" + +#: admin/forms/forward.py:19 +msgid "Keep local copies" +msgstr "Säilytä paikallisia kopioita" + +#: admin/forms/forward.py:22 +msgid "Forward messages and store copies into your local mailbox" +msgstr "Välitä viestit ja tallenna kopiot paikalliseen postilaatikkoon" + +#: admin/forms/import_.py:11 +msgid "Select a file" +msgstr "Valitse tiedosto" + +#: admin/forms/import_.py:19 +msgid "Continue on error" +msgstr "Jatka virheestä" + +#: admin/forms/import_.py:20 +msgid "Don't treat duplicated objects as error" +msgstr "Älä käsittele päällekkäisiä objekteja virheenä" + +#: admin/forms/import_.py:38 +msgid "Crypt passwords" +msgstr "Salakirjoita salasanat" + +#: admin/forms/import_.py:40 +msgid "Check this option if passwords contained in your file are not crypted" +msgstr "" +"Valitse tämä vaihtoehto, jos tiedostosi sisältämiä salasanoja ei ole " +"salakirjoitettu" + +#: admin/handlers.py:210 +#, python-format +msgid "Account import failed (%s): domain does not exist" +msgstr "Tilin tuonti epäonnistui (%s): verkkotunnusta ei ole olemassa" + +#: admin/handlers.py:223 admin/models/mailbox.py:350 +msgid "Mailbox {} already exists" +msgstr "Postilaatikko {} on jo olemassa" + +#: admin/handlers.py:231 +#, python-format +msgid "Account import failed (%s): wrong quota value" +msgstr "Tilin tuonti epäonnistui (%s): väärä kiintiöarvo" + +#: admin/handlers.py:271 +#: admin/templates/admin/_global_statistics_widget.html:17 +#: admin/templates/admin/_per_domain_statistics_widget.html:8 +#: admin/templates/admin/identities.html:5 +msgid "Identities" +msgstr "Identiteetit" + +#: admin/handlers.py:287 admin/templates/admin/forward.html:2 +msgid "Forward" +msgstr "Välitä" + +#: admin/lib.py:38 +msgid "A mailbox is required" +msgstr "Tarvitaan postilaatikko" + +#: admin/lib.py:128 +msgid "You are not allowed to import domains" +msgstr "Sinulla ei ole oikeutta tuoda verkkotunnuksia" + +#: admin/lib.py:139 +msgid "You are not allowed to import domain aliases." +msgstr "Sinulla ei ole oikeutta tuoda verkkotunnuksia." + +#: admin/lib.py:189 admin/tests/test_mx.py:152 admin/tests/test_mx.py:161 +#: admin/tests/test_mx.py:164 +#, python-format +msgid "No DNS record found for %s" +msgstr "DNS-tietuetta ei löytynyt %s" + +#: admin/lib.py:192 +#, python-format +msgid "No %(type)s record for %(name)s" +msgstr "Ei %(type)s-tietueelle %(name)s" + +#: admin/lib.py:196 admin/tests/test_mx.py:156 +msgid "No working name servers found" +msgstr "Toimivia nimipalvelimia ei löytynyt" + +#: admin/lib.py:199 admin/tests/test_mx.py:158 +#, python-format +msgid "DNS resolution timeout, unable to query %s at the moment" +msgstr "DNS-kyselyn aikakatkaisu, kysely %s ei onnistu tällä hetkellä" + +#: admin/lib.py:227 +#, python-brace-format +msgid "Invalid IP address format for {domain}; {addr}" +msgstr "Virheellinen IP-osoiteformaatti {domain}; {addr}" + +#: admin/management/commands/subcommands/_import.py:93 +msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" +msgstr "CSV-tiedosto ei ole UTF-8-muotoinen. Yritetään arvata koodausta" + +#: admin/management/commands/subcommands/_import.py:105 +#, python-format +msgid "Reading CSV file using %(encoding)s encoding" +msgstr "CSV-tiedoston lukeminen käyttäen %(encoding)s-koodausta" + +#: admin/management/commands/subcommands/_import.py:116 +#, python-format +msgid "Unable to decode CSV file using %(encoding)s encoding" +msgstr "CSV-tiedostoa ei voi dekoodata käyttämällä %(encoding)s-koodausta" + +#: admin/management/commands/subcommands/_mx.py:116 +msgid "MX {} listed by DNSBL provider {}" +msgstr "MX {} DNSBL-palveluntarjoajan listaama {}" + +#: admin/management/commands/subcommands/_mx.py:164 +msgid "Domain has no MX record" +msgstr "Verkkotunnuksella ei ole MX-tietuetta" + +#: admin/management/commands/subcommands/_mx.py:168 +msgid "Domain {} has no MX record" +msgstr "Verkkotunnuksella {} ei ole MX-tietuetta" + +#: admin/management/commands/subcommands/_mx.py:188 +msgid "Invalid MX record: {}" +msgstr "Virheellinen MX-tietue: {}" + +#: admin/management/commands/subcommands/_mx.py:194 +#, python-brace-format +msgid "MX record for domain {0} is invalid: {1}" +msgstr "Verkkotunnuksen {0} MX-tietue on virheellinen: {1}" + +#: admin/management/commands/subcommands/_mx.py:208 +msgid "[modoboa] MX issue(s) for domain {}" +msgstr "[modoboa] MX-ongelma(t) verkkotunnukselle {}" + +#: admin/management/commands/subcommands/_mx.py:266 +msgid "[modoboa] DNSBL issue(s) for domain {}" +msgstr "[modoboa] DNSBL ongelma(t) verkkotunnukselle {}" + +#: admin/models/alias.py:32 admin/models/mailbox.py:95 +msgid "address" +msgstr "osoite" + +#: admin/models/alias.py:34 +msgid "The alias address." +msgstr "Alias-osoite." + +#: admin/models/alias.py:39 admin/models/domain.py:43 +#: admin/models/domain_alias.py:42 +msgid "enabled" +msgstr "käytössä" + +#: admin/models/alias.py:40 admin/models/domain_alias.py:43 +msgid "Check to activate this alias" +msgstr "Ota käyttöön tämän aliaksen aktivointi" + +#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32 +msgid "Description" +msgstr "Kuvaus" + +#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29 +msgid "Expire at" +msgstr "Vanhenee" + +#: admin/models/alias.py:87 +msgid "alias" +msgstr "alias" + +#: admin/models/alias.py:119 +msgid "Invalid address" +msgstr "Virheellinen osoite" + +#: admin/models/alias.py:140 +msgid "Local recipient {}@{} not found" +msgstr "Paikallista vastaanottajaa {}@{} ei löydy" + +#: admin/models/alias.py:170 +#, python-format +msgid "Invalid line: %s" +msgstr "Virheellinen rivi: %s" + +#: admin/models/alias.py:176 +#, python-format +msgid "Domain '%s' does not exist" +msgstr "Verkkotunnusta '%s' ei ole olemassa" + +#: admin/models/domain.py:26 admin/models/domain_alias.py:34 +msgid "name" +msgstr "nimi" + +#: admin/models/domain.py:27 +msgid "The domain name" +msgstr "Verkkotunnus" + +#: admin/models/domain.py:39 +msgid "Number of messages this domain can send per day" +msgstr "Viestien määrä, jonka tämä verkkotunnus voi lähettää päivässä" + +#: admin/models/domain.py:44 +msgid "Check to activate this domain" +msgstr "Aktivoi tämä verkkotunnus" + +#: admin/models/domain.py:49 +msgid "Enable DNS checks" +msgstr "Ota DNS-tarkistukset käyttöön" + +#: admin/models/domain.py:50 +msgid "Check to enable DNS checks for this domain" +msgstr "Ota DNS-tarkistukset käyttöön tämän verkkotunnuksen osalta" + +#: admin/models/domain.py:57 +msgid "Enable DKIM signing" +msgstr "Ota DKIM-allekirjoitus käyttöön" + +#: admin/models/domain.py:59 +msgid "" +"If you activate this feature, a DKIM key will be generated for this domain." +msgstr "" +"Jos aktivoit tämän ominaisuuden, tälle verkkotunnukselle luodaan DKIM-avain." + +#: admin/models/domain.py:65 +msgid "Key length" +msgstr "Avaimen pituus" + +#: admin/models/domain.py:323 admin/models/domain_alias.py:67 +msgid "Invalid line" +msgstr "Virheellinen rivi" + +#: admin/models/domain.py:333 +msgid "No authorized MX record found for domain {}" +msgstr "Verkkotunnukselle {} ei löytynyt valtuutettua MX-tietuetta" + +#: admin/models/domain.py:340 +msgid "Invalid quota value for domain '{}'" +msgstr "Virheellinen kiintiö verkkotunnukselle '{}'" + +#: admin/models/domain.py:347 +msgid "Invalid default mailbox quota value for domain '{}'" +msgstr "Virheellinen oletuspostilaatikon kiintiö verkkotunnukselle '{}'" + +#: admin/models/domain.py:352 +msgid "Default mailbox quota cannot be greater than domain quota" +msgstr "" +"Oletuspostilaatikon kiintiö ei voi olla suurempi kuin toimialueen kiintiö" + +#: admin/models/domain_alias.py:35 +msgid "The alias name" +msgstr "Aliaksen nimi" + +#: admin/models/domain_alias.py:37 +msgid "target" +msgstr "kohde" + +#: admin/models/domain_alias.py:38 +msgid "The domain this alias points to" +msgstr "Verkkotunnus, johon tämä alias osoittaa" + +#: admin/models/domain_alias.py:76 +#, python-format +msgid "Unknown domain %s" +msgstr "Tuntematon verkkotunnus %s" + +#: admin/models/mailbox.py:97 +msgid "Mailbox address (without the @domain.tld part)" +msgstr "Postilaatikon osoite (ilman @domain.tld-osaa)" + +#: admin/models/mailbox.py:166 +#, python-format +msgid "Failed to retrieve mailbox location (%s)" +msgstr "Postilaatikon haku epäonnistui sijainnista (%s)" + +#: admin/models/mailbox.py:264 +msgid "A quota is required" +msgstr "Kiintiö on määritettävä" + +#: admin/models/mailbox.py:270 +msgid "Domain quota exceeded" +msgstr "Verkkotunnuksen kiintiö ylitetty" + +#: admin/serializers.py:37 +msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." +msgstr "" +"Postilaatikoihin sovellettava oletuskiintiö megatavuina. Arvo 0 tarkoittaa, " +"ettei kiintiötä ole." + +#: admin/serializers.py:115 admin/serializers.py:322 admin/serializers.py:424 +msgid "Permission denied." +msgstr "Lupa evätty." + +#: admin/serializers.py:168 +msgid "" +"List of administered domains (resellers and domain administrators only)." +msgstr "" +"Luettelo hallinnoiduista verkkotunnuksista (vain jälleenmyyjät ja " +"verkkotunnusten ylläpitäjät)." + +#: admin/serializers.py:272 +msgid "Not allowed for this role." +msgstr "Ei sallittu tässä roolissa." + +#: admin/serializers.py:284 +msgid "Must be equal to mailbox full_address" +msgstr "Täytyy olla yhtä suuri kuin postilaatikon koko osoite" + +#: admin/serializers.py:309 +msgid "Local domain {} does not exist" +msgstr "Paikallista verkkotunnusta {} ei ole olemassa" + +#: admin/serializers.py:411 +msgid "A list of recipient" +msgstr "Luettelo vastaanottajista" + +#: admin/serializers.py:422 +msgid "Domain not found." +msgstr "Verkkotunnusta ei löydy." + +#: admin/serializers.py:471 +msgid "You don't have access to this domain." +msgstr "Sinulla ei ole pääsyä tähän verkkotunnukseen." + +#: admin/serializers.py:479 +msgid "You don't have access to this mailbox." +msgstr "Sinulla ei ole pääsyä tähän postilaatikkoon." + +#: admin/templates/admin/_domain_dkim_key.html:6 +#: admin/templates/admin/_domain_dkim_key.html:20 +msgid "Close" +msgstr "Sulje" + +#: admin/templates/admin/_domain_dkim_key.html:7 +#, python-format +msgid "DKIM public key for %(domain)s" +msgstr "Julkinen DKIM-avain verkkotunnukselle %(domain)s" + +#: admin/templates/admin/_domain_dkim_key.html:11 +msgid "Raw format" +msgstr "Raakamuoto" + +#: admin/templates/admin/_domain_dkim_key.html:15 +msgid "Bind/named format" +msgstr "Bind/nimetty muoto" + +#: admin/templates/admin/_domain_dnschecks_status.html:4 +msgctxt "checks" +msgid "Disabled" +msgstr "Pois käytöstä" + +#: admin/templates/admin/_domain_dnschecks_status.html:6 +msgid "Awaiting checks" +msgstr "Odottaa tarkastuksia" + +#: admin/templates/admin/_domain_dnschecks_status.html:16 +#: admin/templates/admin/_domain_dnschecks_status.html:26 +#: admin/templates/admin/_domain_dnschecks_status.html:34 +#: admin/templates/admin/_domain_dnschecks_status.html:42 +msgid "No record found" +msgstr "Tietuetta ei löytynyt" + +#: admin/templates/admin/_domain_dnschecks_status.html:24 +msgid "Waiting for key to be generated" +msgstr "Odotetaan avaimen luomista" + +#: admin/templates/admin/_global_statistics_widget.html:4 +msgid "Global statistics" +msgstr "Maailmanlaajuiset tilastot" + +#: admin/templates/admin/_global_statistics_widget.html:8 +msgid "Quantity" +msgstr "Määrä" + +#: admin/templates/admin/_global_statistics_widget.html:14 +#: admin/templates/admin/domain_detail.html:37 +#: admin/templates/admin/domain_detail.html:87 +msgid "Domain aliases" +msgstr "Verkkotunnuksen aliakset" + +#: admin/templates/admin/_per_domain_statistics_widget.html:4 +msgid "Per-domain statistics" +msgstr "Toimialuekohtaiset tilastot" + +#: admin/templates/admin/account_detail.html:16 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/domain_detail.html:19 +#: admin/templates/admin/identities_table.html:7 +msgid "(disabled)" +msgstr "(ei käytössä)" + +#: admin/templates/admin/account_detail.html:22 +#: admin/templates/admin/alias_detail.html:22 +#: admin/templates/admin/domain_detail.html:25 +msgid "Summary" +msgstr "Yhteenveto" + +#: admin/templates/admin/account_detail.html:26 +msgid "Full name" +msgstr "Koko nimi" + +#: admin/templates/admin/account_detail.html:32 +#: admin/templates/admin/alias_detail.html:26 +msgid "Created" +msgstr "Luotu" + +#: admin/templates/admin/account_detail.html:35 +msgid "Last login" +msgstr "Viimeisin kirjautuminen" + +#: admin/templates/admin/account_detail.html:38 +msgid "Secondary email" +msgstr "Toissijainen sähköpostiosoite" + +#: admin/templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:41 +msgid "Not defined" +msgstr "Ei määritelty" + +#: admin/templates/admin/account_detail.html:41 +msgid "Phone number" +msgstr "Puhelinnumero" + +#: admin/templates/admin/account_detail.html:61 +msgid "Administered domains" +msgstr "Hallinnoidut verkkotunnukset" + +#: admin/templates/admin/account_detail.html:67 +msgid "No domain defined." +msgstr "Verkkotunnusta ei ole määritelty." + +#: admin/templates/admin/account_detail.html:81 +msgid "Aliases" +msgstr "Aliakset" + +#: admin/templates/admin/account_detail.html:87 +msgid "No alias defined" +msgstr "Aliasta ei ole määritelty" + +#: admin/templates/admin/account_detail.html:93 +msgid "Additional sender addresses" +msgstr "Lisää lähettäjän osoitteita" + +#: admin/templates/admin/account_detail.html:99 +msgid "No sender address defined" +msgstr "Lähettäjän osoitetta ei ole määritelty" + +#: admin/templates/admin/account_general_form.html:12 +#: admin/templates/admin/aliasform.html:13 +msgid "Domain is disabled" +msgstr "Verkkotunnus on poistettu käytöstä" + +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/identities.html:33 +msgid "Alias" +msgstr "Alias" + +#: admin/templates/admin/alias_detail.html:27 +msgid "Modified" +msgstr "Muokattu" + +#: admin/templates/admin/dnsbl_domain_detail.html:10 +msgid "Provider" +msgstr "Palveluntarjoaja" + +#: admin/templates/admin/dnsbl_domain_detail.html:11 +#: admin/templates/admin/identities_quota_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:10 +msgid "Address" +msgstr "Osoite" + +#: admin/templates/admin/dnsbl_domain_detail.html:12 +#: admin/templates/admin/domain_detail.html:114 +#: admin/templates/admin/domains_log_headers.html:6 +#: admin/templates/admin/messages_log_headers.html:6 +msgid "Status" +msgstr "Tila" + +#: admin/templates/admin/dnsbl_domain_detail.html:21 +msgid "listed" +msgstr "lueteltu" + +#: admin/templates/admin/dnsbl_domain_detail.html:29 +msgid "Everything is fine, this domain is not listed." +msgstr "Kaikki on kunnossa, tätä verkkotunnusta ei ole listattu." + +#: admin/templates/admin/dnsbl_domain_detail.html:32 +msgid "No information available for this domain." +msgstr "Tältä verkkotunnukselta ei ole saatavilla tietoja." + +#: admin/templates/admin/domain_alarms.html:19 +msgid "Opened alarms for" +msgstr "Avatut hälytykset" + +#: admin/templates/admin/domain_alarms.html:25 +#: admin/templates/admin/domains_log_headers.html:3 +#: admin/templates/admin/messages_log_headers.html:3 +msgid "Date" +msgstr "Päivämäärä" + +#: admin/templates/admin/domain_alarms.html:26 +msgid "Message" +msgstr "Viesti" + +#: admin/templates/admin/domain_alarms.html:27 +msgid "Mailbox" +msgstr "Postilaatikko" + +#: admin/templates/admin/domain_alarms.html:40 +msgid "No opened alarm" +msgstr "Ei avattua hälytystä" + +#: admin/templates/admin/domain_detail.html:29 +msgid "Creation date" +msgstr "Luontipäivä" + +#: admin/templates/admin/domain_detail.html:33 +msgid "Last modification date" +msgstr "Viimeisin muutospäivä" + +#: admin/templates/admin/domain_detail.html:45 +msgid "Mailbox aliases" +msgstr "Postilaatikon aliakset" + +#: admin/templates/admin/domain_detail.html:50 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domain_detail.html:65 +#: admin/templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domains_quotas.html:12 +#: admin/templates/admin/newdomainform.html:3 +msgid "MB" +msgstr "Mt" + +#: admin/templates/admin/domain_detail.html:54 +#: admin/templates/admin/domain_detail.html:73 +msgid "Usage" +msgstr "Käyttö" + +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domains_quotas.html:11 +msgctxt "quota" +msgid "used" +msgstr "käytetty" + +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domains_quotas.html:12 +msgid "allocated" +msgstr "otettu käyttöön" + +#: admin/templates/admin/domain_detail.html:70 +msgid "per day" +msgstr "per päivä" + +#: admin/templates/admin/domain_detail.html:76 +msgctxt "message count" +msgid "used" +msgstr "käytetty" + +#: admin/templates/admin/domain_detail.html:106 +msgid "DNS" +msgstr "DNS" + +#: admin/templates/admin/domain_detail.html:121 +msgid "DKIM key" +msgstr "DKIM-avain" + +#: admin/templates/admin/domain_detail.html:125 +msgid "Show key" +msgstr "Näytä avain" + +#: admin/templates/admin/domain_detail.html:127 +msgid "Generate new key" +msgstr "Luo uusi avain" + +#: admin/templates/admin/domain_detail.html:129 +msgid "Not generated" +msgstr "Ei luotu" + +#: admin/templates/admin/domain_detail.html:136 +msgid "Administrators" +msgstr "Ylläpitäjät" + +#: admin/templates/admin/domain_detail.html:148 +#: admin/templatetags/admin_tags.py:279 +msgid "Remove this permission" +msgstr "Poista tämä lupa" + +#: admin/templates/admin/domain_detail.html:153 +msgid "No domain administrator defined yet." +msgstr "Verkkotunnuksen ylläpitäjää ei ole vielä määritelty." + +#: admin/templates/admin/domain_headers.html:5 +#: admin/templates/admin/identity_headers.html:4 +msgid "Tags" +msgstr "Tunnisteet" + +#: admin/templates/admin/domain_headers.html:7 +msgid "DNS status" +msgstr "DNS-tila" + +#: admin/templates/admin/domain_headers.html:9 +#: admin/templates/admin/identity_headers.html:5 +msgid "Actions" +msgstr "Toiminnot" + +#: admin/templates/admin/domain_options_form.html:10 +msgid "You can't create a new domain administrator" +msgstr "Et voi luoda uutta verkkotunnuksen ylläpitäjää" + +#: admin/templates/admin/domains.html:28 +#: admin/templates/admin/identities.html:29 +msgid "Add" +msgstr "Lisää" + +#: admin/templates/admin/domains_log_headers.html:2 +msgid "Queue ID" +msgstr "Jonon ID" + +#: admin/templates/admin/domains_log_headers.html:4 +#: admin/templates/admin/messages_log_headers.html:4 +msgid "From" +msgstr "Lähde" + +#: admin/templates/admin/domains_log_headers.html:5 +#: admin/templates/admin/messages_log_headers.html:5 +msgid "To" +msgstr "Vastaanottaja" + +#: admin/templates/admin/domains_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:4 +msgid "Limit" +msgstr "Rajoitus" + +#: admin/templates/admin/domains_quota_headers.html:4 +msgid "Used" +msgstr "Käytetty" + +#: admin/templates/admin/domains_quota_headers.html:5 +msgid "Allocated" +msgstr "Jaettu" + +#: admin/templates/admin/domains_quota_headers.html:6 +#: admin/templates/admin/identities_quota_headers.html:5 +#, python-format +msgid "Usage (%%)" +msgstr "Käyttö (%%)" + +#: admin/templates/admin/domains_table.html:5 +msgid "disabled" +msgstr "pois käytöstä" + +#: admin/templates/admin/forward.html:2 +msgid "Automatically forward emails to another address" +msgstr "Lähetä sähköpostit automaattisesti eteenpäin toiseen osoitteeseen" + +#: admin/templates/admin/forward.html:9 admin/views/alias.py:87 +msgid "Update" +msgstr "Päivitä" + +#: admin/templates/admin/identities.html:32 +msgid "Account" +msgstr "Tili" + +#: admin/templates/admin/identities_quota_headers.html:3 +msgid "Value" +msgstr "Arvo" + +#: admin/templates/admin/identity_headers.html:3 +msgid "Fullname/Recipient" +msgstr "Koko nimi/saaja" + +#: admin/templates/admin/import_domains_form.html:6 +msgid "" +"Provide a CSV file where lines respect one of the following formats:

The first element of each line is " +"mandatory and must be equal to one of the previous values.

You can " +"use a different character as separator.

" +msgstr "" +"Lähetä CSV-tiedosto, jonka rivit ovat jossakin seuraavista muodoista:

Kunkin " +"rivin ensimmäinen elementti on pakollinen, ja sen on oltava yhtä suuri kuin " +"jokin edellisistä arvoista.

Voit käyttää erottimena eri merkkiä.

" + +#: admin/templates/admin/import_identities_form.html:6 +msgid "" +"Provide a CSV file where lines respect one of the following formats:

The first element of each line " +"is mandatory and must be equal to one of the previous values.

You can " +"use a different character as separator.

" +msgstr "" +"Lähetä CSV-tiedosto, jonka rivit ovat jossakin seuraavista muodoista:

Kunkin " +"rivin ensimmäinen elementti on pakollinen, ja sen on oltava yhtä suuri kuin " +"jokin edellisistä arvoista.

Voit käyttää erottimena eri merkkiä.

" + +#: admin/templates/admin/importform.html:6 +msgid "Help" +msgstr "Ohje" + +#: admin/templates/admin/importform.html:13 +msgid "Importing..." +msgstr "Tuodaan..." + +#: admin/templates/admin/index.html:6 +msgid "Admin" +msgstr "Ylläpitäjä" + +#: admin/templates/admin/mailboxes_raw.html:3 +msgid "Choose a value" +msgstr "Valitse arvo" + +#: admin/templates/admin/mailform.html:7 +msgid "Use domain default value" +msgstr "Käytä verkkotunnuksen oletusarvoa" + +#: admin/templates/admin/messages_log_headers.html:2 +msgid "ID" +msgstr "Tunniste (ID)" + +#: admin/templates/admin/mx_domain_detail.html:11 +msgid "Updated" +msgstr "Päivitetty" + +#: admin/templates/admin/mx_domain_detail.html:23 +msgid "This IP does not match any of the valid MXs defined in parameters" +msgstr "" +"Tämä IP-osoite ei vastaa mitään parametreissa määritellyistä kelvollisista " +"MX-osoitteista" + +#: admin/templates/admin/mx_domain_detail.html:36 +msgid "No MX record found for this domain." +msgstr "Tälle verkkotunnukselle ei löytynyt MX-tietuetta." + +#: admin/templates/admin/notifications/domain_in_dnsbl.html:3 +#, python-format +msgid "" +"Modoboa detected that domain %(domain)s is listed by the following DNSBL " +"providers:" +msgstr "" +"Modoboa havaitsi, että verkkotunnus %(domain)s on listattu seuraavilla DNSBL-" +"palveluntarjoajilla:" + +#: admin/templates/admin/notifications/domain_in_dnsbl.html:11 +msgid "" +"The domain's reputation will be affected and there is a chance that emails " +"coming from it are considered as spam. You should contact those providers " +"and ask them to unlist detected IP address(es)." +msgstr "" +"Verkkotunnuksen maine kärsii, ja on mahdollista, että siitä tulevia " +"sähköposteja pidetään roskapostina. Sinun tulisi ottaa yhteyttä näihin " +"palveluntarjoajiin ja pyytää heitä poistamaan havaitut IP-osoitteet listalta." + +#: admin/templates/admin/notifications/domain_invalid_mx.html:3 +#, python-format +msgid "Modoboa detected that domain %(domain)s has no valid MX record:" +msgstr "" +"Modoboa havaitsi, että verkkotunnuksella %(domain)s ei ole voimassa olevaa " +"MX-tietuetta:" + +#: admin/templates/admin/searchform.html:6 +msgid "Search" +msgstr "Hae" + +#: admin/templatetags/admin_tags.py:19 +msgid "enabled_m" +msgstr "enabled_m" + +#: admin/templatetags/admin_tags.py:19 +msgid "enabled_f" +msgstr "enabled_f" + +#: admin/templatetags/admin_tags.py:47 +msgid "List domains" +msgstr "Luettelo verkkotunnuksista" + +#: admin/templatetags/admin_tags.py:52 admin/templatetags/admin_tags.py:112 +msgid "List quotas" +msgstr "Luettelo kiintiöistä" + +#: admin/templatetags/admin_tags.py:57 +msgid "Message logs" +msgstr "Viestilokit" + +#: admin/templatetags/admin_tags.py:69 admin/templatetags/admin_tags.py:117 +#: admin/views/import_.py:85 admin/views/import_.py:107 +msgid "Import" +msgstr "Tuonti" + +#: admin/templatetags/admin_tags.py:75 admin/templatetags/admin_tags.py:123 +#: admin/views/export.py:39 admin/views/export.py:67 +msgid "Export" +msgstr "Viedä" + +#: admin/templatetags/admin_tags.py:107 +msgid "List identities" +msgstr "Luettelo identiteeteistä" + +#: admin/templatetags/admin_tags.py:142 +msgid "View the domain's identities" +msgstr "Näytä verkkotunnuksen identiteetit" + +#: admin/templatetags/admin_tags.py:149 +msgid "View domain's alarms" +msgstr "Näytä verkkotunnuksen hälytykset" + +#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:198 +#: admin/templatetags/admin_tags.py:211 +msgid "Edit {}" +msgstr "Muokkaa {}" + +#: admin/templatetags/admin_tags.py:165 admin/templatetags/admin_tags.py:202 +#: admin/templatetags/admin_tags.py:216 +#, python-format +msgid "Delete %s?" +msgstr "Poistetaanko %s?" + +#: admin/tests/test_mx.py:155 +#, python-format +msgid "No MX record for %s" +msgstr "Ei MX-tietuetta %s" + +#: admin/tests/test_mx.py:167 admin/tests/test_mx.py:170 +#, python-format +msgid "Invalid IP address format for %(domain)s; %(addr)s" +msgstr "Virheellinen IP-osoiteformaatti %(domain)s; %(addr)s" + +#: admin/views/alias.py:29 +msgid "Alias with this name already exists" +msgstr "Alias tällä nimellä on jo olemassa" + +#: admin/views/alias.py:54 +msgid "Create" +msgstr "Luo" + +#: admin/views/alias.py:66 +msgid "New alias" +msgstr "Uusi alias" + +#: admin/views/alias.py:67 +msgid "Alias created" +msgstr "Alias luotu" + +#: admin/views/alias.py:79 +msgid "Alias modified" +msgstr "Alias muokattu" + +#: admin/views/alias.py:103 +msgid "Alias deleted" +msgid_plural "Aliases deleted" +msgstr[0] "Alias poistettu" +msgstr[1] "" + +#: admin/views/dns.py:28 +msgid "MX records of {}" +msgstr "MX-tietueet {}" + +#: admin/views/dns.py:51 +msgid "DNSBL summary for {}" +msgstr "DNSBL-tiivistelmä {}" + +#: admin/views/domain.py:244 +msgid "You can't delete your own domain" +msgstr "Et voi poistaa omaa verkkotunnustasi" + +#: admin/views/domain.py:247 +msgid "Domain deleted" +msgid_plural "Domains deleted" +msgstr[0] "Verkkotunnus poistettu" +msgstr[1] "Verkkotunnukset poistettu" + +#: admin/views/export.py:38 +msgid "Export identities" +msgstr "Vie identiteetit" + +#: admin/views/export.py:66 +msgid "Export domains" +msgstr "Vie verkkotunnukset" + +#: admin/views/identity.py:107 admin/views/identity.py:201 +#: admin/views/identity.py:206 +msgid "Invalid request" +msgstr "Virheellinen pyyntö" + +#: admin/views/identity.py:191 +msgid "Account deleted" +msgid_plural "Accounts deleted" +msgstr[0] "Tili poistettu" +msgstr[1] "Poistetut tilit" + +#: admin/views/import_.py:61 +#, python-format +msgid "Object already exists: %s" +msgstr "Kohde on jo olemassa: %s" + +#: admin/views/import_.py:65 +#, python-format +msgid "%d objects imported successfully" +msgstr "%d objektit tuotu onnistuneesti" + +#: admin/views/import_.py:84 +msgid "Import domains" +msgstr "Tuo verkkotunnuksia" + +#: admin/views/import_.py:106 +msgid "Import identities" +msgstr "Tuo identiteetit" + +#: admin/views/user.py:36 +msgid "Forward updated" +msgstr "Välitystieto päivitetty" diff --git a/modoboa/admin/locale/fi/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/fi/LC_MESSAGES/djangojs.po new file mode 100644 index 000000000..1c3b31670 --- /dev/null +++ b/modoboa/admin/locale/fi/LC_MESSAGES/djangojs.po @@ -0,0 +1,55 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-17 16:48+0100\n" +"PO-Revision-Date: 2023-02-17 20:10+0200\n" +"Last-Translator: Ossi Mantylahti \n" +"Language-Team: \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.2.2\n" + +#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174 +msgid "No more domain to show" +msgstr "Ei enää verkkotunnusta näytettäväksi" + +#: admin/static/admin/js/admin.js:149 +msgid "Do not delete domain directory" +msgstr "Älä poista verkkotunnuksen hakemistoa" + +#: admin/static/admin/js/admin.js:151 +msgid "This operation will remove ALL data associated to this domain." +msgstr "" +"Tämä toiminto poistaa KAIKKI tähän verkkotunnukseen liittyvät tiedot." + +#: admin/static/admin/js/admin.js:152 +msgid "" +"This operation will remove all data associated to this domain, excepting " +"accounts." +msgstr "" +"Tämä toiminto poistaa kaikki tähän verkkotunnukseen liittyvät tiedot " +"lukuun ottamatta tilejä." + +#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433 +msgid "No more quota to show" +msgstr "Ei enää kiintiöitä näytettäväksi" + +#: admin/static/admin/js/admin.js:306 +msgid "No domain administrator defined" +msgstr "Verkkotunnuksen ylläpitäjää ei ole määritetty" + +#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430 +msgid "No more identity to show" +msgstr "Ei enää identiteettiä näytettäväksi" + +#: admin/static/admin/js/admin.js:404 +msgid "Do not delete mailbox directory" +msgstr "Älä poista postilaatikkohakemistoa" diff --git a/modoboa/dnstools/locale/fi/LC_MESSAGES/django.po b/modoboa/dnstools/locale/fi/LC_MESSAGES/django.po new file mode 100644 index 000000000..bcb772c71 --- /dev/null +++ b/modoboa/dnstools/locale/fi/LC_MESSAGES/django.po @@ -0,0 +1,167 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-17 13:15+0200\n" +"PO-Revision-Date: 2023-02-17 21:33+0200\n" +"Last-Translator: Ossi Mäntylahti \n" +"Language-Team: \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.2.2\n" + +#: dnstools/lib.py:78 +msgid "Wrong ip4 mechanism syntax" +msgstr "Väärä ip4-mekanismin syntaksi" + +#: dnstools/lib.py:82 +msgid "Wrong IPv4 address format" +msgstr "Väärä IPv4-osoitteen muoto" + +#: dnstools/lib.py:88 +msgid "Wrong ip6 mechanism syntax" +msgstr "Väärä ip6-mekanismin syntaksi" + +#: dnstools/lib.py:93 +msgid "Wrong IPv6 address format" +msgstr "Väärä IPv6-osoitteen muoto" + +#: dnstools/lib.py:108 dnstools/lib.py:134 +msgid "Invalid syntax for {} mechanism" +msgstr "Virheellinen syntaksi {}-mekanismille" + +#: dnstools/lib.py:110 +msgid "Invalid mask found {}" +msgstr "Virheellinen maski löydetty {}" + +#: dnstools/lib.py:155 +msgid "Not an SPF record" +msgstr "Tämä ei ole SPF-tietue" + +#: dnstools/lib.py:177 +msgid "Unknown mechanism {}" +msgstr "Tuntematon mekanismi {}" + +#: dnstools/lib.py:179 +msgid "Unknown modifier {}" +msgstr "Tuntematon muunnin {}" + +#: dnstools/lib.py:182 +msgid "Duplicate modifier {} found" +msgstr "Havaittu kaksoismuunnin {}" + +#: dnstools/lib.py:186 +msgid "No mechanism found" +msgstr "Mekanismia ei löydetty" + +#: dnstools/lib.py:193 +msgid "Not a valid DKIM record" +msgstr "DKIM-tietue ei kelpaa" + +#: dnstools/lib.py:201 dnstools/lib.py:254 +msgid "Invalid tag {}" +msgstr "Virheellinen tunniste {}" + +#: dnstools/lib.py:206 +msgid "No key found in record" +msgstr "Tietueesta ei löytynyt avainta" + +#: dnstools/lib.py:213 +msgid "Wrong value {} for tag {}" +msgstr "Väärä arvo {} tunnisteelle {}" + +#: dnstools/lib.py:228 +msgid "Wrong value {} for tag {}:" +msgstr "Väärä arvo {} tunnisteelle {}:" + +#: dnstools/lib.py:232 +msgid " not an integer" +msgstr " ei kokonaisluku" + +#: dnstools/lib.py:235 +msgid " less than {}" +msgstr " pienempi kuin {}" + +#: dnstools/lib.py:238 +msgid " greater than {}" +msgstr " on suurempi kuin {}" + +#: dnstools/lib.py:246 +msgid "Not a valid DMARC record" +msgstr "Epäkelpo DMARC-tietue" + +#: dnstools/lib.py:257 +msgid "Unknown tag {}" +msgstr "Tuntematon tunniste {}" + +#: dnstools/lib.py:262 +msgid "Missing required p tag" +msgstr "Puuttuu vaadittu p-tunniste" + +#: dnstools/models.py:77 +msgid "Public key mismatchs" +msgstr "Julkiset avaimet eivät täsmää" + +#: dnstools/templates/dnstools/autoconfig_records_status.html:8 +msgid "autoconfig record (Mozilla) found: " +msgstr "autoconfig-tietue (Mozilla) löytyi: " + +#: dnstools/templates/dnstools/autoconfig_records_status.html:12 +msgid "autoconfig record (Mozilla) not found." +msgstr "autoconfig-tietuetta (Mozilla) ei löydy." + +#: dnstools/templates/dnstools/autoconfig_records_status.html:17 +msgid "autodiscover record (Microsoft) found: " +msgstr "autodiscover-tietue (Microsoft) löytyi: " + +#: dnstools/templates/dnstools/autoconfig_records_status.html:21 +msgid "autodiscover record (Microsoft) not found." +msgstr "autodiscover-tietuetta (Microsoft) ei löydy." + +#: dnstools/templates/dnstools/dns_record_detail.html:8 +msgid "A DNS record has been found and is valid." +msgstr "DNS-tietue on löydetty ja se on voimassa." + +#: dnstools/templates/dnstools/dns_record_detail.html:12 +msgid "A DNS record has been found but its syntax is not valid:" +msgstr "DNS-tietue on löydetty, mutta sen syntaksi ei ole oikein:" + +#: dnstools/templates/dnstools/domain_dns_configuration.html:7 +msgid "" +"Here is an example of DNS configuration (bind format). Replace value between " +"[ ] by the appropriate ones." +msgstr "" +"Tässä on esimerkki DNS-konfiguraatiosta (bind-muodossa). Korvaa [ ]:n " +"välissä olevat arvot sopivilla arvoilla." + +#: dnstools/templates/dnstools/domain_dns_configuration.html:15 +msgid "IP address of your Modoboa server" +msgstr "Modoboa-palvelimen IP-osoite" + +#: dnstools/templates/dnstools/domain_dns_configuration.html:28 +msgid "Auto configuration" +msgstr "Automaattinen asetusten määrittäminen" + +#: dnstools/templates/dnstools/domain_dns_configuration.html:30 +#: dnstools/templates/dnstools/domain_dns_configuration.html:31 +msgid "hostname of your automx server" +msgstr "automx-palvelimen nimi" + +#: dnstools/views.py:36 +msgid "{} record of {}" +msgstr "{} tietueesta {}" + +#: dnstools/views.py:64 +msgid "Auto configuration records for {}" +msgstr "Automaattisen määrityksen asetukset {}" + +#: dnstools/views.py:84 +msgid "DNS configuration for {}" +msgstr "DNS-määritykset" diff --git a/modoboa/ldapsync/locale/fi/LC_MESSAGES/django.po b/modoboa/ldapsync/locale/fi/LC_MESSAGES/django.po new file mode 100644 index 000000000..3f3738357 --- /dev/null +++ b/modoboa/ldapsync/locale/fi/LC_MESSAGES/django.po @@ -0,0 +1,34 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-17 13:15+0200\n" +"PO-Revision-Date: 2023-02-17 19:50+0200\n" +"Last-Translator: Ossi Mantylahti \n" +"Language-Team: \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.2.2\n" + +#: ldapsync/lib.py:84 +msgid "Failed to create LDAP account: {}" +msgstr "LDAP-tilin luominen epäonnistui: {}" + +#: ldapsync/lib.py:124 +msgid "Failed to update LDAP account: {}" +msgstr "LDAP-tilin päivittäminen epäonnistui: {}" + +#: ldapsync/lib.py:138 +msgid "Failed to delete LDAP account: {}" +msgstr "LDAP-tilin poistaminen epäonnistui: {}" + +#: ldapsync/lib.py:149 +msgid "Failed to disable LDAP account: {}" +msgstr "LDAP-tilin poistaminen käytöstä epäonnistui: {}" diff --git a/modoboa/limits/locale/fi/LC_MESSAGES/django.po b/modoboa/limits/locale/fi/LC_MESSAGES/django.po new file mode 100644 index 000000000..4aa8af4e9 --- /dev/null +++ b/modoboa/limits/locale/fi/LC_MESSAGES/django.po @@ -0,0 +1,227 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-17 13:15+0200\n" +"PO-Revision-Date: 2023-02-17 21:41+0200\n" +"Last-Translator: Ossi Mäntylahti \n" +"Language-Team: \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.2.2\n" + +#: limits/app_settings.py:15 +msgid "Default per-admin limits" +msgstr "Oletusarvoiset järjestelmänvalvojakohtaiset rajoitukset" + +#: limits/app_settings.py:18 +msgid "Enable per-admin limits" +msgstr "Ota käyttöön järjestelmänvalvojakohtaiset rajoitukset" + +#: limits/app_settings.py:20 +msgid "Enable or disable per-admin limits" +msgstr "" +"Ota käyttöön tai poista käytöstä järjestelmänvalvojakohtaiset rajoitukset" + +#: limits/app_settings.py:24 limits/app_settings.py:95 limits/constants.py:24 +#: limits/constants.py:54 +msgid "Domain admins" +msgstr "Verkkotunnuksen ylläpitäjät" + +#: limits/app_settings.py:27 +msgid "" +"Maximum number of allowed domain administrators for a new administrator. (0 " +"to deny any creation, -1 to allow unlimited creations)" +msgstr "" +"Uuden järjestelmänvalvojan sallittujen verkkotunnusten järjestelmänvalvojien " +"enimmäismäärä. (0 kieltää kaiken luomisen, -1 sallii rajoittamattoman määrän " +"luomisen)" + +#: limits/app_settings.py:35 limits/constants.py:9 +msgid "Domains" +msgstr "Sinulla ei ole oikeutta tuoda verkkotunnuksia" + +#: limits/app_settings.py:38 +msgid "" +"Maximum number of allowed domains for a new administrator. (0 to deny any " +"creation, -1 to allow unlimited creations)" +msgstr "" +"Uuden järjestelmänvalvojan sallittujen verkkotunnusten enimmäismäärä. (0 " +"kieltää kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)" + +#: limits/app_settings.py:45 limits/app_settings.py:106 limits/constants.py:13 +#: limits/constants.py:41 +msgid "Domain aliases" +msgstr "Verkkotunnuksen aliakset" + +#: limits/app_settings.py:48 +msgid "" +"Maximum number of allowed domain aliases for a new administrator. (0 to deny " +"any creation, -1 to allow unlimited creations)" +msgstr "" +"Uuden järjestelmänvalvojan sallittujen verkkotunnusten enimmäismäärä. (0 " +"kieltää kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)" + +#: limits/app_settings.py:56 limits/app_settings.py:117 limits/constants.py:17 +#: limits/constants.py:45 +msgid "Mailboxes" +msgstr "Postilaatikot" + +#: limits/app_settings.py:59 +msgid "" +"Maximum number of allowed mailboxes for a new administrator. (0 to deny any " +"creation, -1 to allow unlimited creations)" +msgstr "" +"Uuden järjestelmänvalvojan sallittujen postilaatikoiden enimmäismäärä. (0 " +"kieltää kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)" + +#: limits/app_settings.py:66 limits/app_settings.py:127 limits/constants.py:20 +#: limits/constants.py:48 +msgid "Mailbox aliases" +msgstr "Postilaatikon aliakset" + +#: limits/app_settings.py:69 +msgid "" +"Maximum number of allowed aliases for a new administrator. (0 to deny any " +"creation, -1 to allow unlimited creations)" +msgstr "" +"Uuden järjestelmänvalvojan sallittujen aliasten enimmäismäärä. (0 kieltää " +"kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)" + +#: limits/app_settings.py:76 limits/constants.py:30 +msgid "Quota" +msgstr "Verkkotunnuksen oletuskiintiö" + +#: limits/app_settings.py:79 +msgid "" +"The quota a reseller will be allowed to share between the domains he " +"creates. (0 means no quota)" +msgstr "" +"Kiintiö, jonka jälleenmyyjä saa jakaa luomiensa verkkotunnusten kesken. (0 " +"tarkoittaa, ettei kiintiötä ole)" + +#: limits/app_settings.py:86 +msgid "Default per-domain limits" +msgstr "Oletusarvoiset verkkotunnuskohtaiset rajoitukset" + +#: limits/app_settings.py:89 +msgid "Enable per-domain limits" +msgstr "Ota käyttöön verkkotunnuskohtaiset rajoitukset" + +#: limits/app_settings.py:91 +msgid "Enable or disable per-domain limits" +msgstr "Ota käyttöön tai poista käytöstä verkkotunnuskohtaiset rajoitukset" + +#: limits/app_settings.py:98 +msgid "" +"Maximum number of allowed domain administrators for a new domain. (0 to deny " +"any creation, -1 to allow unlimited creations)" +msgstr "" +"Uuden verkkotunnuksen sallittujen ylläpitäjien enimmäismäärä. (0 kieltää " +"kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)" + +#: limits/app_settings.py:109 +msgid "" +"Maximum number of allowed domain aliases for a new domain. (0 to deny any " +"creation, -1 to allow unlimited creations)" +msgstr "" +"Uuden verkkotunnuksen sallittujen aliasten enimmäismäärä. (0 kieltää kaiken " +"luomisen, -1 sallii rajoittamattoman määrän luomisen)" + +#: limits/app_settings.py:120 +msgid "" +"Maximum number of allowed mailboxes for a new domain. (0 to deny any " +"creation, -1 to allow unlimited creations)" +msgstr "" +"Uuden verkkotunnuksen sallittujen postilaatikoiden enimmäismäärä. (0 kieltää " +"kaiken luomisen, -1 sallii rajoittamattoman määrän luomisen)" + +#: limits/app_settings.py:130 +msgid "" +"Maximum number of allowed aliases for a new domain. (0 to deny any creation, " +"-1 to allow unlimited creations)" +msgstr "" +"Uuden verkkotunnuksen sallittujen aliasten enimmäismäärä. (0 kieltää kaiken " +"luomisen, -1 sallii rajoittamattoman määrän luomisen)" + +#: limits/apps.py:12 +msgid "Limits" +msgstr "Rajoitukset" + +#: limits/constants.py:10 +msgid "Maximum number of domains this user can create" +msgstr "Verkkotunnusten enimmäismäärä, jonka tämä käyttäjä voi luoda" + +#: limits/constants.py:14 +msgid "Maximum number of domain aliases this user can create" +msgstr "Verkkotunnusten aliasten enimmäismäärä, jonka tämä käyttäjä voi luoda" + +#: limits/constants.py:18 +msgid "Maximum number of mailboxes this user can create" +msgstr "Postilaatikoiden enimmäismäärä, jonka tämä käyttäjä voi luoda" + +#: limits/constants.py:21 +msgid "Maximum number of mailbox aliases this user can create" +msgstr "Postilaatikon aliasten enimmäismäärä, jonka tämä käyttäjä voi luoda" + +#: limits/constants.py:25 +msgid "Maximum number of domain administrators this user can create" +msgstr "" +"Verkkotunnuksen ylläpitäjien enimmäismäärä, jonka tämä käyttäjä voi luoda" + +#: limits/constants.py:31 +msgid "Quota shared between domains of this reseller" +msgstr "Tämän jälleenmyyjän verkkotunnusten kesken jaettu kiintiö" + +#: limits/constants.py:42 +msgid "Maximum number of domain aliases allowed for this domain." +msgstr "Tämän verkkotunnuksen aliaksien enimmäismäärä." + +#: limits/constants.py:46 +msgid "Maximum number of mailboxes allowed for this domain." +msgstr "Tämän verkkotunnuksen postilaatikoiden enimmäismäärä." + +#: limits/constants.py:50 +msgid "Maximum number of mailbox aliases allowed for this domain." +msgstr "Tämän verkkotunnuksen postilaatikkoaliaksien enimmäismäärä." + +#: limits/constants.py:55 +msgid "Maximum number of domain admins allowed for this domain." +msgstr "Tämän verkkotunnuksen ylläpitäjien enimmäismäärä." + +#: limits/forms.py:38 limits/forms.py:87 +msgid "Invalid limit" +msgstr "Virheellinen raja" + +#: limits/handlers.py:117 limits/handlers.py:153 +msgid "Resources" +msgstr "Resurssit" + +#: limits/lib.py:19 +#, python-format +msgid "%s: limit reached" +msgstr "%s: raja saavutettu" + +#: limits/lib.py:29 +msgid "Not enough resources" +msgstr "Resurssit eivät riitä" + +#: limits/lib.py:47 limits/models.py:48 +msgid "You're not allowed to define unlimited values" +msgstr "Et saa määritellä rajoittamattomia arvoja" + +#: limits/models.py:58 limits/models.py:123 +msgid "unlimited" +msgstr "rajoittamaton" + +#: limits/templates/limits/poolusage.html:3 +#: limits/templates/limits/resources_widget.html:5 +msgid "Resources usage" +msgstr "Resurssien käyttö" diff --git a/modoboa/locale/fi/LC_MESSAGES/django.po b/modoboa/locale/fi/LC_MESSAGES/django.po new file mode 100644 index 000000000..1e5963b0b --- /dev/null +++ b/modoboa/locale/fi/LC_MESSAGES/django.po @@ -0,0 +1,1313 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-17 15:36+0100\n" +"PO-Revision-Date: 2023-02-17 22:03+0200\n" +"Last-Translator: Ossi Mäntylahti \n" +"Language-Team: \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.2.2\n" + +#: core/app_settings.py:26 +msgid "User profile" +msgstr "Käyttäjäprofiili" + +#: core/app_settings.py:39 +msgid "Authentication" +msgstr "Tunnistautuminen" + +#: core/app_settings.py:42 +msgid "Authentication type" +msgstr "Autentikointityyppi" + +#: core/app_settings.py:43 +msgid "Local" +msgstr "Paikallinen" + +#: core/app_settings.py:46 +msgid "The backend used for authentication" +msgstr "Tunnistautumiseen käytettävä taustajärjestelmä" + +#: core/app_settings.py:51 +msgid "Default password scheme" +msgstr "Oletussalasanojen järjestelmä" + +#: core/app_settings.py:56 +msgid "Scheme used to crypt mailbox passwords" +msgstr "Sähköpostilaatikon salasanojen salaamiseen käytetty järjestelmä" + +#: core/app_settings.py:60 +msgid "Rounds" +msgstr "Kierrokset" + +#: core/app_settings.py:63 +msgid "" +"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " +"between 1000 and 999999999, inclusive." +msgstr "" +"Käytettävien kierrosten määrä (vain sha256crypt ja sha512crypt käyttävät). " +"Arvon on oltava välillä 1000 ja 99999999999." + +#: core/app_settings.py:69 +msgid "Update password scheme at login" +msgstr "Päivitä salasanajärjestelmä kirjautumisen yhteydessä" + +#: core/app_settings.py:72 +msgid "Update user password at login to use the default password scheme" +msgstr "" +"Päivitä käyttäjän salasana sisäänkirjautumisen yhteydessä käyttämään " +"oletussalasanajärjestelmää" + +#: core/app_settings.py:77 +msgid "Default password" +msgstr "Oletussalasana" + +#: core/app_settings.py:80 +msgid "Default password for automatically created accounts." +msgstr "Automaattisesti luotujen tilien oletussalasana." + +#: core/app_settings.py:84 +msgid "Random password length" +msgstr "Satunnaisen salasanan pituus" + +#: core/app_settings.py:88 +msgid "Length of randomly generated passwords." +msgstr "Satunnaisesti luotujen salasanojen pituus." + +#: core/app_settings.py:92 +msgid "Update password service URL" +msgstr "Päivitä salasanapalvelun URL-osoite" + +#: core/app_settings.py:96 +msgid "" +"The URL of an external page where users will be able to update their " +"password. It applies only to non local users, ie. those automatically " +"created after a successful external authentication (LDAP, SMTP)." +msgstr "" +"Ulkoisen sivun URL-osoite, jolla käyttäjät voivat päivittää salasanansa. " +"Koskee vain muita kuin paikallisia käyttäjiä. Eli niitä, jotka luodaan " +"automaattisesti onnistuneen ulkoisen todennuksen jälkeen (LDAP, SMTP)." + +#: core/app_settings.py:104 +msgid "Password recovery announcement" +msgstr "Ilmoitus salasanan palautuksesta" + +#: core/app_settings.py:109 +msgid "A temporary message that will be displayed on the reset password page." +msgstr "Väliaikainen viesti, joka näytetään salasanan nollaussivulla." + +#: core/app_settings.py:115 +msgid "Enable password recovery by SMS" +msgstr "Ota salasanan palautus käyttöön tekstiviestillä" + +#: core/app_settings.py:118 +msgid "Enable password recovery by SMS for users who filled a phone number." +msgstr "" +"Ota käyttöön salasanan palautus tekstiviestillä käyttäjille, jotka ovat " +"täyttäneet puhelinnumeron." + +#: core/app_settings.py:124 +msgid "SMS provider" +msgstr "SMS-palveluntarjoaja" + +#: core/app_settings.py:127 +msgid "Choose a provider to send password recovery SMS" +msgstr "" +"Valitse palveluntarjoaja, joka lähettää salasanan palautustekstiviestin" + +#: core/app_settings.py:133 +msgid "LDAP settings" +msgstr "LDAP-asetukset" + +#: core/app_settings.py:136 +msgid "Server address" +msgstr "Palvelimen osoite" + +#: core/app_settings.py:139 +msgid "The IP address or the DNS name of the LDAP server" +msgstr "LDAP-palvelimen IP-osoite tai DNS-nimi" + +#: core/app_settings.py:143 +msgid "Server port" +msgstr "Palvelimen portti" + +#: core/app_settings.py:145 +msgid "The TCP port number used by the LDAP server" +msgstr "LDAP-palvelimen käyttämän TCP-portin numero" + +#: core/app_settings.py:149 +msgid "Enable secondary server (fallback)" +msgstr "Toisen palvelimen käyttöönotto (varapalvelin)" + +#: core/app_settings.py:152 +msgid "" +"Enable a secondary LDAP server which will be used if the primary one fails" +msgstr "" +"Ota käyttöön toissijainen LDAP-palvelin, jota käytetään, jos ensisijainen " +"palvelin ei toimi" + +#: core/app_settings.py:158 +msgid "Secondary server address" +msgstr "Toisen palvelimen osoite" + +#: core/app_settings.py:161 +msgid "The IP address or the DNS name of the seondary LDAP server" +msgstr "Toisen LDAP-palvelimen IP-osoite tai DNS-nimi" + +#: core/app_settings.py:165 +msgid "Secondary server port" +msgstr "Toisen palvelimen portti" + +#: core/app_settings.py:168 +msgid "The TCP port number used by the LDAP secondary server" +msgstr "LDAP:n toissijaisen palvelimen käyttämä TCP-portin numero" + +#: core/app_settings.py:172 +msgid "Use a secured connection" +msgstr "Käytä suojattua yhteyttä" + +#: core/app_settings.py:176 +msgid "Use an SSL/STARTTLS connection to access the LDAP server" +msgstr "Käytä SSL/STARTTLS-yhteyttä LDAP-palvelimen käyttämiseen" + +#: core/app_settings.py:180 +msgid "Active Directory" +msgstr "Active Directory" + +#: core/app_settings.py:183 +msgid "Tell if the LDAP server is an Active Directory one" +msgstr "Kerro, onko LDAP-palvelin Active Directory -palvelin" + +#: core/app_settings.py:187 +msgid "Administrator groups" +msgstr "Järjestelmänvalvojien ryhmät" + +#: core/app_settings.py:190 +msgid "" +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." +msgstr "" +"Näiden LDAP Posix -ryhmien jäsenet luodaan verkkotunnuksen " +"järjestelmänvalvojiksi. Käytä ';'-merkkejä ryhmien erottamiseen." + +#: core/app_settings.py:197 +msgid "Group type" +msgstr "Ryhmän tyyppi" + +#: core/app_settings.py:201 +msgid "The LDAP group type to use with your directory." +msgstr "LDAP-ryhmän tyyppi, jota käytetään hakemiston kanssa." + +#: core/app_settings.py:206 +msgid "Groups search base" +msgstr "Ryhmien hakupohja" + +#: core/app_settings.py:209 +msgid "The distinguished name of the search base used to find groups" +msgstr "Ryhmien etsimiseen käytettävän hakupohjan erottuva nimi" + +#: core/app_settings.py:215 +msgid "Password attribute" +msgstr "Salasana-attribuutti" + +#: core/app_settings.py:217 +msgid "The attribute used to store user passwords" +msgstr "Määrite, jota käytetään käyttäjien salasanojen tallentamiseen" + +#: core/app_settings.py:222 +msgid "LDAP authentication settings" +msgstr "LDAP-todennusasetukset" + +#: core/app_settings.py:225 +msgid "Authentication method" +msgstr "Tunnistusmenetelmä" + +#: core/app_settings.py:226 +msgid "Search and bind" +msgstr "Etsi ja sido" + +#: core/app_settings.py:227 +msgid "Direct bind" +msgstr "Suora sidonta" + +#: core/app_settings.py:229 +msgid "Choose the authentication method to use" +msgstr "Valitse käytettävä todennusmenetelmä" + +#: core/app_settings.py:233 core/app_settings.py:287 +msgid "Bind DN" +msgstr "Sido DN" + +#: core/app_settings.py:236 core/app_settings.py:290 +msgid "" +"The distinguished name to use when binding to the LDAP server. Leave empty " +"for an anonymous bind" +msgstr "" +"Erotusnimi, jota käytetään LDAP-palvelimeen sitoutumisessa. Jätä tyhjäksi " +"anonyymiä sidontaa varten" + +#: core/app_settings.py:243 core/app_settings.py:297 +msgid "Bind password" +msgstr "Sido salasana" + +#: core/app_settings.py:246 core/app_settings.py:300 +msgid "The password to use when binding to the LDAP server (with 'Bind DN')" +msgstr "" +"Salasana, jota käytetään LDAP-palvelimeen sitoutumisessa (komennolla 'Bind " +"DN')" + +#: core/app_settings.py:254 core/app_settings.py:346 +msgid "Users search base" +msgstr "Käyttäjien hakupohja" + +#: core/app_settings.py:257 core/app_settings.py:349 +msgid "The distinguished name of the search base used to find users" +msgstr "Käyttäjien etsimiseen käytettävän hakupohjan erisnimi" + +#: core/app_settings.py:263 core/app_settings.py:355 +msgid "Search filter" +msgstr "Etsi suodatin" + +#: core/app_settings.py:266 core/app_settings.py:358 +msgid "" +"An optional filter string (e.g. '(objectClass=person)'). In order to be " +"valid, it must be enclosed in parentheses." +msgstr "" +"Valinnainen suodatinmerkkijono (esim. '(objectClass=person)'). Tämän on " +"oltava suluissa." + +#: core/app_settings.py:273 +msgid "User DN template" +msgstr "Käyttäjän DN-malli" + +#: core/app_settings.py:276 +#, python-format +msgid "" +"The template used to construct a user's DN. It should contain one " +"placeholder (ie. %(user)s)" +msgstr "" +"Käyttäjän DN:n rakentamiseen käytettävä malli. Sen tulisi sisältää yksi " +"paikanvaraaja (eli %(user)s)" + +#: core/app_settings.py:284 +msgid "LDAP synchronization settings" +msgstr "LDAP-synkronointiasetukset" + +#: core/app_settings.py:308 +msgid "Enable export to LDAP" +msgstr "Ota käyttöön vienti LDAP:iin" + +#: core/app_settings.py:311 +msgid "" +"Enable automatic synchronization between local database and LDAP directory" +msgstr "" +"Ota käyttöön automaattinen synkronointi paikallisen tietokannan ja LDAP-" +"hakemiston välillä" + +#: core/app_settings.py:317 +msgid "Delete remote LDAP account when local account is deleted" +msgstr "Etäisen LDAP-tilin poistaminen, kun paikallinen tili poistetaan" + +#: core/app_settings.py:321 +msgid "" +"Delete remote LDAP account when local account is deleted, otherwise it will " +"be disabled." +msgstr "" +"Poista etä-LDAP-tili, kun paikallinen tili poistetaan. Muuten se poistetaan " +"käytöstä." + +#: core/app_settings.py:327 +msgid "Account DN template" +msgstr "Tilin DN-malli" + +#: core/app_settings.py:330 +#, python-format +msgid "" +"The template used to construct an account's DN. It should contain one " +"placeholder (ie. %(user)s)" +msgstr "" +"Malli, jota käytetään tilin DN:n muodostamiseen. Sen tulisi sisältää yksi " +"paikanvaraaja (eli %(user)s)" + +#: core/app_settings.py:337 +msgid "Enable import from LDAP" +msgstr "Ota käyttöön tuonti LDAP:stä" + +#: core/app_settings.py:340 +msgid "Enable account synchronization from LDAP directory to local database" +msgstr "" +"Tilien synkronoinnin käyttöönotto LDAP-hakemistosta paikalliseen tietokantaan" + +#: core/app_settings.py:365 +msgid "Username attribute" +msgstr "Käyttäjätunnus-määrite" + +#: core/app_settings.py:368 +msgid "The name of the LDAP attribute where the username can be found." +msgstr "Sen LDAP-attribuutin nimi, josta käyttäjänimi löytyy." + +#: core/app_settings.py:373 +msgid "Enable Dovecot LDAP sync" +msgstr "Ota Dovecot LDAP-synkronointi käyttöön" + +#: core/app_settings.py:376 +msgid "LDAP authentication settings will be applied to Dovecot configuration." +msgstr "LDAP-todennusasetuksia sovelletaan Dovecot-konfiguraatioon." + +#: core/app_settings.py:382 +msgid "Dovecot LDAP config file" +msgstr "Dovecot LDAP -asetustiedosto" + +#: core/app_settings.py:386 +msgid "" +"Location of the configuration file which contains Dovecot LDAP settings." +msgstr "Dovecotin LDAP-asetukset sisältävän määritystiedoston sijainti." + +#: core/app_settings.py:391 core/templates/core/dashboard.html:5 +msgid "Dashboard" +msgstr "Työpöytä" + +#: core/app_settings.py:394 +msgid "Custom RSS feed" +msgstr "Mukautettu RSS-syöte" + +#: core/app_settings.py:397 +msgid "Display custom RSS feed to resellers and domain administrators" +msgstr "" +"Näytä mukautettu RSS-syöte jälleenmyyjille ja verkkotunnuksen ylläpitäjille" + +#: core/app_settings.py:402 +msgid "Hide features widget" +msgstr "Piilota ominaisuudet-widget" + +#: core/app_settings.py:405 +msgid "Hide features widget for resellers and domain administrators" +msgstr "" +"Piilota ominaisuudet-widget jälleenmyyjiltä ja verkkotunnuksen ylläpitäjiltä" + +#: core/app_settings.py:409 +msgid "Notifications" +msgstr "Ilmoitukset" + +#: core/app_settings.py:412 +msgid "Sender address" +msgstr "Lähettäjän osoite" + +#: core/app_settings.py:415 +msgid "Email address used to send notifications." +msgstr "Ilmoitusten lähettämiseen käytettävä sähköpostiosoite." + +#: core/app_settings.py:419 +msgid "Public API" +msgstr "Julkinen API" + +#: core/app_settings.py:422 +msgid "Enable communication" +msgstr "Ota viestintä käyttöön" + +#: core/app_settings.py:425 +msgid "Enable communication with Modoboa public API" +msgstr "Ota käyttöön viestintä Modoboan julkisen API:n kanssa" + +#: core/app_settings.py:429 +msgid "Check new versions" +msgstr "Tarkista uudet versiot" + +#: core/app_settings.py:432 +msgid "Automatically checks if a newer version is available" +msgstr "Tarkistaa automaattisesti, onko uudempi versio saatavana" + +#: core/app_settings.py:436 +msgid "Send an email when new versions are found" +msgstr "Lähetä sähköpostia, kun uusia versioita löytyy" + +#: core/app_settings.py:439 +msgid "Send an email to notify admins about new versions" +msgstr "" +"Lähetä sähköpostiviesti, joka ilmoittaa ylläpitäjille uusista versioista" + +#: core/app_settings.py:443 +msgid "Recipient" +msgstr "Vastaanottaja" + +#: core/app_settings.py:446 +msgid "Recipient of new versions notification emails." +msgstr "Uusia versioita koskevien ilmoitussähköpostiviestien vastaanottaja." + +#: core/app_settings.py:451 +msgid "Send statistics" +msgstr "Lähetä tilastot" + +#: core/app_settings.py:454 +msgid "Send statistics to Modoboa public API (counters and used extensions)" +msgstr "" +"Lähetä tilastoja Modoboan julkiseen API:han (laskurit ja käytetyt " +"laajennukset)" + +#: core/app_settings.py:458 +msgid "Miscellaneous" +msgstr "Sekalaiset" + +#: core/app_settings.py:461 +msgid "Inactive account threshold" +msgstr "Inaktiivisen tilin kynnysarvo" + +#: core/app_settings.py:464 +msgid "" +"An account with a last login date greater than this threshold (in days) will " +"be considered as inactive" +msgstr "" +"Tiliä, jonka viimeisin kirjautumispäivä on suurempi kuin tämä kynnysarvo " +"(päivinä), pidetään inaktiivisena" + +#: core/app_settings.py:470 +msgid "Top notifications check interval" +msgstr "Ylimpien ilmoitusten tarkistusväli" + +#: core/app_settings.py:473 +msgid "Interval between two top notification checks (in seconds)" +msgstr "Kahden ylimmän ilmoituksen tarkistuksen välinen aika (sekunteina)" + +#: core/app_settings.py:478 +msgid "Maximum log record age" +msgstr "Lokitiedoston enimmäisikä" + +#: core/app_settings.py:480 +msgid "The maximum age in days of a log record" +msgstr "Lokitietueen enimmäisikä päivinä" + +#: core/app_settings.py:484 +msgid "Items per page" +msgstr "Kohteita per sivu" + +#: core/app_settings.py:486 +msgid "Number of displayed items per page" +msgstr "Näytettävien kohteiden määrä sivua kohti" + +#: core/app_settings.py:490 +msgid "Default top redirection" +msgstr "Oletusarvoinen ylhäältä uudelleenohjaus" + +#: core/app_settings.py:494 +msgid "The default redirection used when no application is specified" +msgstr "" +"Oletusarvoinen uudelleenohjaus, jota käytetään, kun sovellusta ei ole " +"määritetty" + +#: core/app_settings.py:548 core/app_settings.py:556 core/app_settings.py:564 +msgid "Invalid syntax" +msgstr "Virheellinen syntaksi" + +#: core/app_settings.py:570 +msgid "Invalid rounds number" +msgstr "Virheellinen kierrosluku" + +#: core/app_settings.py:595 core/app_settings.py:597 core/app_settings.py:608 +msgid "This field is required" +msgstr "Tämä kenttä on pakollinen" + +#: core/apps.py:18 +msgid "General" +msgstr "Yleiset" + +#: core/checks/settings_checks.py:6 +msgid "" +"You have USE_TZ set to False, this may result in issues during transitions " +"between summer/winter time (ie the same local time occuring twice due to " +"clock change)." +msgstr "" +"Olet asettanut USE_TZ:n arvoksi False, mikä voi aiheuttaa ongelmia kesä- ja " +"talviajan vaihtuessa. (Sama paikallinen aika esiintyy kahdesti kellon " +"vaihtumisen vuoksi)." + +#: core/checks/settings_checks.py:9 +msgid "Set `USE_TZ = True` in settings.py" +msgstr "Aseta `USE_TZ = True` tiedostossa settings.py" + +#: core/constants.py:6 +msgid "Simple user" +msgstr "Yksinkertainen käyttäjä" + +#: core/constants.py:7 +msgid "Domain administrator" +msgstr "Luo verkkotunnuksen ylläpitäjä" + +#: core/constants.py:8 +msgid "Reseller" +msgstr "Jälleenmyyjä" + +#: core/constants.py:9 +msgid "Super administrator" +msgstr "Pääylläpitäjä" + +#: core/constants.py:52 lib/form_utils.py:389 +msgid "No" +msgstr "Ei" + +#: core/constants.py:102 +msgid "Choose a provider" +msgstr "Valitse palveluntarjoaja" + +#: core/constants.py:107 +msgid "Dummy" +msgstr "Harjoitus" + +#: core/forms.py:23 +msgid "Username" +msgstr "Käyttäjätunnus" + +#: core/forms.py:27 +msgid "Password" +msgstr "Salasana" + +#: core/forms.py:40 +msgid "Old password" +msgstr "Vanha salasana" + +#: core/forms.py:44 +msgid "New password" +msgstr "Uusi salasana" + +#: core/forms.py:48 +msgid "Confirmation" +msgstr "Vahvistus" + +#: core/forms.py:76 +msgid "Old password mismatchs" +msgstr "Vanhat salasanat eivät vastaa toisiaan" + +#: core/forms.py:85 +msgid "Passwords mismatch" +msgstr "Salasanat eivät täsmää" + +#: core/forms.py:105 +msgid "Enable API access" +msgstr "Ota API-yhteys käyttöön" + +#: core/forms.py:139 +msgid "Verification code" +msgstr "Tarkistuskoodi" + +#: core/forms.py:150 +msgid "Invalid code" +msgstr "Virheellinen koodi" + +#: core/forms.py:163 +msgid "This code is invalid" +msgstr "Tämä koodi on virheellinen" + +#: core/handlers.py:36 +msgid "added" +msgstr "lisätty" + +#: core/handlers.py:39 +msgid "modified" +msgstr "muokattu" + +#: core/handlers.py:41 +#, python-format +msgid "%(object)s '%(name)s' %(action)s by user %(user)s" +msgstr "%(object)s '%(name)s' %(action)s käyttäjältä %(user)s" + +#: core/handlers.py:63 +#, python-format +msgid "%(object)s '%(name)s' %(action)s by " +msgstr "%(object)s '%(name)s' %(action)s tekijänä " + +#: core/handlers.py:65 +msgid "deleted" +msgstr "poistettu" + +#: core/handlers.py:69 +msgid "user {}" +msgstr "käyttäjä {}" + +#: core/handlers.py:71 +msgid "management command" +msgstr "hallintakomento" + +#: core/handlers.py:95 +msgid "You can't delete your own account" +msgstr "Et voi poistaa omaa tiliäsi" + +#: core/handlers.py:131 +msgid "One or more updates are available" +msgstr "Yksi tai useampi päivitys on saatavilla" + +#: core/management/commands/communicate_with_public_api.py:44 +msgid "[modoboa] Update(s) available" +msgstr "[modoboa] Päivitys(kset) saatavilla" + +#: core/models.py:52 +msgid "Allow mailboxes access" +msgstr "Salli postilaatikoiden käyttöoikeus" + +#: core/models.py:54 +msgid "Allow this administrator to access user mailboxes" +msgstr "Salli tämän järjestelmänvalvojan pääsy käyttäjien postilaatikoihin" + +#: core/models.py:57 +msgid "password" +msgstr "salasana" + +#: core/models.py:60 +msgid "language" +msgstr "kieli" + +#: core/models.py:63 +msgid "Prefered language to display pages." +msgstr "Suositeltava kieli sivujen näyttämiseen." + +#: core/models.py:67 +msgid "Phone number" +msgstr "Puhelinnumero" + +#: core/models.py:69 +msgid "Secondary email" +msgstr "Toissijainen sähköpostiosoite" + +#: core/models.py:72 +msgid "An alternative e-mail address, can be used for recovery needs." +msgstr "Vaihtoehtoista sähköpostiosoitetta voidaan käyttää palautukseen." + +#: core/models.py:126 +msgid "Failed to update password: LDAP module not installed" +msgstr "Salasanan päivittäminen epäonnistui: LDAP-moduulia ei ole asennettu" + +#: core/models.py:155 +msgid "account" +msgstr "tili" + +#: core/models.py:282 +msgid "Unknown" +msgstr "Tuntematon" + +#: core/models.py:316 +msgid "Invalid line" +msgstr "Virheellinen rivi" + +#: core/models.py:324 +msgid "You can't import an account with a role greater than yours" +msgstr "Et voi tuoda tiliä, jonka rooli on suurempi kuin omasi" + +#: core/models.py:339 +#, python-format +msgid "The simple user '%s' must have a valid email address" +msgstr "" +"Yksinkertaisella käyttäjällä '%s' on oltava voimassa oleva sähköpostiosoite" + +#: core/models.py:344 +#, python-format +msgid "username and email fields must not differ for '%s'" +msgstr "" +"käyttäjätunnus ja sähköpostiosoite eivät saa erota toisistaan kentissä '%s'" + +#: core/password_validation.py:24 +msgid "Password must contain at least {} digit." +msgid_plural "Password must contain at least {} digits." +msgstr[0] "Salasanan on sisällettävä vähintään {}-numero." +msgstr[1] "Salasanan on sisällettävä vähintään {} numeroa." + +#: core/password_validation.py:34 +msgid "Password must contain at least {} lowercase letter." +msgid_plural "Password must contain at least {} lowercase letters." +msgstr[0] "Salasanan on sisällettävä vähintään {} pientä kirjainta." +msgstr[1] "Salasanan on sisällettävä vähintään {} pientä kirjainta." + +#: core/password_validation.py:45 +msgid "Password must contain at least {} uppercase letter." +msgid_plural "Password must contain at least {} uppercase letters." +msgstr[0] "Salasanan on sisällettävä vähintään {} isoa kirjainta." +msgstr[1] "Salasanan on sisällettävä vähintään {} isoa kirjainta." + +#: core/password_validation.py:57 +msgid "Password must contain at least {} special character." +msgid_plural "Password must contain at least {} special characters." +msgstr[0] "Salasanan on sisällettävä vähintään {} erikoismerkki." +msgstr[1] "Salasanan on sisällettävä vähintään {} erikoismerkkiä." + +#: core/password_validation.py:65 +msgid "Your password must contain a combination of different character types." +msgstr "Salasanan on sisällettävä yhdistelmä erilaisia merkkejä." + +#: core/serializers.py:15 +msgid "Invalid PIN code" +msgstr "Virheellinen PIN-koodi" + +#: core/serializers.py:21 +msgid "2FA is already enabled" +msgstr "Kaksivaiheinen tunnistus (2FA) on jo käytössä" + +#: core/sms_backends/ovh.py:19 +msgid "API endpoint" +msgstr "API-päätepiste" + +#: core/sms_backends/ovh.py:22 +msgid "OVH Europe" +msgstr "OVH Europe" + +#: core/sms_backends/ovh.py:23 +msgid "OVH US" +msgstr "OVH US" + +#: core/sms_backends/ovh.py:24 +msgid "OVH North-America" +msgstr "OVH Pohjois-Amerikka" + +#: core/sms_backends/ovh.py:25 +msgid "So you Start Europe" +msgstr "So you start Eurooppa" + +#: core/sms_backends/ovh.py:26 +msgid "So you Start North America" +msgstr "So you Start Pohjois-Amerikka" + +#: core/sms_backends/ovh.py:27 +msgid "Kimsufi Europe" +msgstr "Kimsufi Eurooppa" + +#: core/sms_backends/ovh.py:28 +msgid "Kimsufi North America" +msgstr "Kimsufi Pohjois-Amerikka" + +#: core/sms_backends/ovh.py:35 +msgid "Application key" +msgstr "Sovellusavain" + +#: core/sms_backends/ovh.py:42 +msgid "Application secret" +msgstr "Sovelluksen salainen avain" + +#: core/sms_backends/ovh.py:50 +msgid "Consumer key" +msgstr "Asiakkaan avain" + +#: core/templates/core/_current_features.html:6 +msgid "Features looking for sponsoring" +msgstr "Ominaisuudet, jotka etsivät sponsoria" + +#: core/templates/core/_current_features.html:12 +msgid "Goal:" +msgstr "Tavoite:" + +#: core/templates/core/_current_features.html:18 +msgid "More" +msgstr "Lisää" + +#: core/templates/core/_current_features.html:22 +msgid "Nothing to sponsor yet." +msgstr "Sponsoroitavaa ei löytynyt." + +#: core/templates/core/_latest_news_widget.html:5 +msgid "Latest news" +msgstr "Ajankohtaista" + +#: core/templates/core/_latest_news_widget.html:19 +msgid "" +"Visit the official " +"weblog for more information." +msgstr "" +"Lisätietoja virallisesta blogista." + +#: core/templates/core/api_access.html:3 +msgid "API access" +msgstr "API-pääsy" + +#: core/templates/core/api_access.html:3 +msgid "Control your access to Modoboa API" +msgstr "Hallitse Modoboa API:n käyttöä" + +#: core/templates/core/api_access.html:7 +#, python-format +msgid "" +"A documentation of the API is available here." +msgstr "" +"API:n dokumentaatio on saatavilla täällä." + +#: core/templates/core/api_access.html:14 +msgid "API access token" +msgstr "API-käyttötunniste" + +#: core/templates/core/api_access.html:35 +#: core/templates/core/user_profile.html:19 lib/form_utils.py:354 +msgid "Update" +msgstr "Päivitä" + +#: core/templates/core/dashboard.html:11 +#, python-format +msgid "Hello %(user)s." +msgstr "Hei %(user)s." + +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62 +msgid "Information" +msgstr "Tiedot" + +#: core/templates/core/information.html:2 +msgid "Various information about Modoboa" +msgstr "Tietoja Modoboasta" + +#: core/templates/core/information.html:5 +msgid "One or more updates are available!" +msgstr "Yksi tai useampi päivitys on saatavilla!" + +#: core/templates/core/information.html:6 +msgid "Check the following list to find the component(s) that can be updated." +msgstr "" +"Tarkista seuraavasta luettelosta komponentti(t), jotka voidaan päivittää." + +#: core/templates/core/information.html:10 +msgid "Applications" +msgstr "Sovellukset" + +#: core/templates/core/information.html:14 +#: core/templates/core/information.html:36 +msgid "Name" +msgstr "Nimi" + +#: core/templates/core/information.html:15 +msgid "Installed version" +msgstr "Asennettu versio" + +#: core/templates/core/information.html:16 +msgid "Last version" +msgstr "Viimeisin versio" + +#: core/templates/core/information.html:17 +msgid "Description" +msgstr "Kuvaus" + +#: core/templates/core/information.html:32 +msgid "Active users" +msgstr "Aktiiviset käyttäjät" + +#: core/templates/core/information.html:37 +msgid "Role" +msgstr "Rooli" + +#: core/templates/core/information.html:38 +msgid "Last login" +msgstr "Viimeisin kirjautuminen" + +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66 +msgid "Logs" +msgstr "Lokit" + +#: core/templates/core/logs.html:2 +msgid "Previously on Modoboa..." +msgstr "Aiemmin Modoboassa..." + +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106 +msgid "Date" +msgstr "Päivämäärä" + +#: core/templates/core/logs.html:7 +msgid "Level" +msgstr "Taso" + +#: core/templates/core/logs.html:8 +msgid "Logger" +msgstr "Lokikirja" + +#: core/templates/core/logs.html:9 +msgid "Message" +msgstr "Viesti" + +#: core/templates/core/notifications/update_available.html:3 +msgid "" +"\n" +" The following update is available:\n" +msgid_plural "" +"\n" +" The following updates are available:\n" +msgstr[0] "" +"\n" +" Seuraava päivitys on saatavilla:\n" +msgstr[1] "" +"\n" +" Seuraavat päivitykset ovat saatavilla:\n" + +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71 +msgid "Parameters" +msgstr "Parametrit" + +#: core/templates/core/parameters.html:2 +msgid "Configure Modoboa" +msgstr "Modoboan määrittäminen" + +#: core/templates/core/parameters.html:6 +#: core/templates/core/user_preferences.html:10 +msgid "Save" +msgstr "Tallenna" + +#: core/templates/core/settings_header.html:5 +msgid "Modoboa settings" +msgstr "Modoboan asetukset" + +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90 +msgid "Settings" +msgstr "Asetukset" + +#: core/templates/core/user_preferences.html:2 +#: core/templatetags/core_tags.py:120 +msgid "Preferences" +msgstr "Asetukset" + +#: core/templates/core/user_preferences.html:2 +msgid "Customize Modoboa" +msgstr "Mukauta Modoboaa" + +#: core/templates/core/user_preferences.html:14 +msgid "No preferences available." +msgstr "Asetuksia ei ole saatavilla." + +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:116 +msgid "Profile" +msgstr "Profiili" + +#: core/templates/core/user_profile.html:3 +msgid "Update your personal information" +msgstr "Päivitä henkilökohtaiset tietosi" + +#: core/templates/core/user_profile.html:13 +msgid "Click here to update your password" +msgstr "Klikkaa tästä päivittääksesi salasanasi" + +#: core/templates/core/user_security.html:2 core/templatetags/core_tags.py:124 +msgid "Security" +msgstr "Turvallisuus" + +#: core/templates/core/user_security.html:6 +msgid "Two-Factor authentication" +msgstr "Kaksivaiheinen tunnistus" + +#: core/templates/core/user_security.html:17 +msgid "" +"Install a soft token authenticator like FreeOTP or Google Authenticator from " +"your application repository and use that app to scan this QR code." +msgstr "" +"Asenna soft token -autentikointiohjelma, kuten FreeOTP tai Google\n" +" Authenticator sovelluskaupasta ja käytä \n" +" sovellusta QR-koodin skannaamiseen." + +#: core/templates/core/user_security.html:25 +msgid "Pin code" +msgstr "Pin-koodi" + +#: core/templates/core/user_security.html:28 +msgid "Register" +msgstr "Rekisteröidy" + +#: core/templates/core/user_security.html:33 +msgid "" +"Congratulations! Two-Factor Authentication is now enabled for your account." +msgstr "Onnittelut! Kaksivaiheinen tunnistus on nyt käytössä tililläsi." + +#: core/templates/core/user_security.html:38 +#: core/templates/core/user_security.html:89 +msgid "" +"The following recovery codes can be used one time each to let you regain " +"access to your account, in case you lose your phone for example. Make sure " +"to save them in a safe place, otherwise you won't be able to access your " +"account anymore." +msgstr "" +"Näitä palautuskoodeja voidaan käyttää kutakin kerran. Näin voit\n" +" saada tilisi takaisin, jos esimerkiksi kadotat puhelimesi.\n" +" Varmista, että tallennat ne turvalliseen paikkaan. Muutoin\n" +" et pääse enää käyttämään tiliäsi." + +#: core/templates/core/user_security.html:53 +msgid "Two-Factor Authentication is enabled for your account." +msgstr "Kaksivaiheinen tunnistautuminen on käytössä tililläsi." + +#: core/templates/core/user_security.html:58 +msgid "Disable 2FA" +msgstr "Poista kaksivaiheinen tunnistautuminen (2FA) käytöstä" + +#: core/templates/core/user_security.html:61 +msgid "Reset recovery codes" +msgstr "" + +#: core/templates/core/user_security.html:65 +msgid "" +"Two-Factor Authentication (2FA) is not yet activated for your account. " +"Enabling this feature will increase your account's security." +msgstr "" +"Kaksivaiheista tunnistusta (2FA) ei ole vielä aktivoitu tilillesi. Tämän " +"ominaisuuden käyttöönotto lisää tilisi turvallisuutta." + +#: core/templates/core/user_security.html:73 +msgid "Enable 2FA" +msgstr "Ota käyttöön kaksivaiheinen tunnistus (2FA)" + +#: core/templates/core/user_security.html:83 +#: core/templates/core/user_security.html:99 +#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13 +#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27 +msgid "Close" +msgstr "Sulje" + +#: core/templates/core/user_security.html:84 +msgid "New recovery codes" +msgstr "Uudet palautuskoodit" + +#: core/templates/core/user_security.html:88 +msgid "Here are your new recovery codes. " +msgstr "Tässä ovat uudet palautuskoodit. " + +#: core/templatetags/core_tags.py:34 +msgid "Modoboa" +msgstr "Modoboa" + +#: core/templatetags/core_tags.py:102 +msgid "Logout" +msgstr "Kirjaudu ulos" + +#: core/templatetags/core_tags.py:131 +msgid "API" +msgstr "API" + +#: core/utils.py:32 +msgid "The core part of Modoboa" +msgstr "Modoboan ydinosa" + +#: core/views/admin.py:43 +msgid "Parameters saved" +msgstr "Tallennetut parametrit" + +#: core/views/auth.py:61 +#, python-format +msgid "Password scheme mismatch. Updating %s password" +msgstr "Salasanajärjestelmä ei vastaa toisiaan. Salasanan %s päivittäminen" + +#: core/views/auth.py:68 +#, python-format +msgid "Password hash parameter missmatch. Updating %s password" +msgstr "Salasanan hash-parametrit eivät täsmää. Salasanan %s päivittäminen" + +#: core/views/auth.py:84 +#, python-format +msgid "User '%s' successfully logged in" +msgstr "Käyttäjä '%s' kirjautui onnistuneesti sisään" + +#: core/views/auth.py:92 +msgid "Your username and password didn't match. Please try again." +msgstr "Käyttäjätunnuksesi ja salasanasi eivät täsmää. Yritä uudelleen." + +#: core/views/auth.py:127 +msgid "User '{}' successfully logged out" +msgstr "Käyttäjä '{}' kirjautui onnistuneesti ulos" + +#: core/views/auth.py:172 core/views/auth.py:227 +msgid "Please use the following code to recover your Modoboa password: {}" +msgstr "Käytä seuraavaa koodia saadaksesi takaisin Modoboa-salasanasi: {}" + +#: core/views/user.py:60 +msgid "Profile updated" +msgstr "Profiili päivitetty" + +#: core/views/user.py:88 +msgid "Preferences saved" +msgstr "Asetukset tallennettu" + +#: core/views/user.py:110 +msgid "Access updated" +msgstr "Oikeudet päivitetty" + +#: core/viewsets.py:52 +msgid "2FA is not enabled" +msgstr "Kaksivaiheinen tunnistautuminen (2FA) ei ole käytössä" + +#: lib/db_utils.py:23 +#, python-format +msgid "Connection to database %s not configured" +msgstr "Yhteyttä tietokantaan %s ei ole määritetty" + +#: lib/email_utils.py:143 lib/email_utils.py:362 +msgid "unable to determine encoding of string" +msgstr "ei pysty määrittämään merkkijonon koodausta" + +#: lib/exceptions.py:67 +#, python-format +msgid "Permission denied: %s" +msgstr "Lupa evätty: %s" + +#: lib/exceptions.py:68 +msgid "Permission denied" +msgstr "Lupa evätty" + +#: lib/fields.py:15 lib/validators.py:14 +msgid "Enter a valid domain name" +msgstr "Syötä kelvollinen verkkotunnus" + +#: lib/fields.py:44 lib/fields.py:58 +msgid "Enter a valid email address." +msgstr "Syötä oikean muotoinen sähköpostiosoite." + +#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12 +#: templates/registration/password_reset_confirm_code.html:25 +#: templates/registration/password_reset_form.html:29 +msgid "Submit" +msgstr "Lähetä" + +#: lib/form_utils.py:110 lib/form_utils.py:113 +msgid "Invalid request" +msgstr "Virheellinen pyyntö" + +#: lib/form_utils.py:388 +msgid "Yes" +msgstr "Kyllä" + +#: lib/ldap_utils.py:129 +msgid "Failed to update password: {}" +msgstr "Salasanan päivitys epäonnistui: {}" + +#: lib/templatetags/lib_tags.py:104 +msgid "From" +msgstr "Lähde" + +#: lib/templatetags/lib_tags.py:105 +msgid "To" +msgstr "Vastaanottaja" + +#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17 +msgid "Subject" +msgstr "Aihe" + +#: templates/404.html:4 templates/500.html:4 +msgid "Sorry" +msgstr "Pahoittelut" + +#: templates/404.html:5 +msgid "The requested page does not exist." +msgstr "Pyydettyä sivua ei ole olemassa." + +#: templates/500.html:5 +msgid "An internal error occured." +msgstr "Tapahtui sisäinen virhe." + +#: templates/common/email_searchbar.html:5 +msgid "Search..." +msgstr "Etsi..." + +#: templates/common/email_searchbar.html:10 +msgid "From address" +msgstr "Lähettäjän sähköpostiosoite" + +#: templates/common/email_searchbar.html:33 +msgid "Both" +msgstr "Molemmat" + +#: templates/common/error.html:4 +msgid "Error:" +msgstr "Virhe:" + +#: templates/common/generic_field.html:11 +#: templates/common/generic_fields_group.html:8 +msgid "Help:" +msgstr "Ohje:" + +#: templates/common/wizard_forms.html:31 +msgid "Previous" +msgstr "Edellinen" + +#: templates/common/wizard_forms.html:32 +msgid "Next" +msgstr "Seuraava" + +#: templates/registration/base.html:8 +msgid "Welcome to Modoboa" +msgstr "Tervetuloa Modoboaan" + +#: templates/registration/login.html:21 +msgid "Remember me" +msgstr "Muista minut" + +#: templates/registration/login.html:23 +msgid "Log in" +msgstr "Kirjaudu sisään" + +#: templates/registration/login.html:24 +#: templates/registration/password_reset_form.html:17 +msgid "Forgot password?" +msgstr "Unohditko salasanasi?" + +#: templates/registration/password_reset_complete.html:8 +#, python-format +msgid "" +"Your password has been set. You may go ahead and sign " +"in now." +msgstr "" +"Salasanasi on asetettu. Voit nyt kirjautua sisään." + +#: templates/registration/password_reset_confirm.html:7 +msgid "Change password" +msgstr "Vaihda salasana" + +#: templates/registration/password_reset_confirm.html:17 +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Salasananvaihtolinkkisi vaikuttaa vialliselta. Tilaa uusi vaihtolinkki." + +#: templates/registration/password_reset_confirm_code.html:20 +msgid "Enter the code you've just received by SMS" +msgstr "Kirjoita tekstiviestillä saamasi koodi" + +#: templates/registration/password_reset_confirm_code.html:27 +msgid "Resend code" +msgstr "Lähetä koodi uudelleen" + +#: templates/registration/password_reset_done.html:7 +msgid "" +"

We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly.

" +"

If you don't receive an email, please make sure you've entered your " +"primary address, and check your spam folder.

" +msgstr "" +"

Olemme lähettäneet sinulle sähköpostitse ohjeet salasanasi asettamista " +"varten, jos tili on olemassa antamallasi sähköpostiosoitteella. Sinun " +"pitäisi saada ne pian.

Jos et saa sähköpostia, varmista, että olet " +"syöttänyt ensisijaisen osoitteesi, ja tarkista roskapostikansiosi.

" + +#: templates/registration/password_reset_email.html:4 +#, python-format +msgid "" +"To initiate the password reset process for your %(username)s Modoboa " +"account, click the link below:" +msgstr "" +"Voit aloittaa %(username)s Modoboa-tilisi salasanan palautusprosessin " +"klikkaamalla alla olevaa linkkiä:" + +#: templates/registration/password_reset_email.html:10 +msgid "" +"If clicking the link above doesn't work, please copy and paste the URL in a " +"new browser window instead." +msgstr "" +"Jos yllä olevaa linkkiä klikkaamalla ei onnistu, kopioi ja liitä URL-osoite " +"uuteen selainikkunaan." + +#: templates/registration/password_reset_email.html:14 +msgid "Sincerely, The Modoboa Team." +msgstr "Ystävällisin terveisin, Modoboa Team." + +#: templates/registration/password_reset_form.html:24 +msgid "Please fill-in your primary email address" +msgstr "Täytä ensisijainen sähköpostiosoitteesi" + +#: templates/registration/password_reset_subject.txt:3 +msgid "Modoboa password reset" +msgstr "Modoboa-salasanan palautus" diff --git a/modoboa/locale/fi/LC_MESSAGES/djangojs.po b/modoboa/locale/fi/LC_MESSAGES/djangojs.po new file mode 100644 index 000000000..12c7a5410 --- /dev/null +++ b/modoboa/locale/fi/LC_MESSAGES/djangojs.po @@ -0,0 +1,62 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-05 15:47+0100\n" +"PO-Revision-Date: 2023-02-17 21:43+0200\n" +"Last-Translator: Ossi Mäntylahti \n" +"Language-Team: \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.2.2\n" + +#: bower_components/jquery-ui/jquery-ui.min.js:8 +msgid "'" +msgstr "'" + +#: bower_components/swagger-ui/dist/swagger-ui-bundle.js:133 +msgid "operation" +msgstr "operaatio" + +#: core/static/core/js/settings.js:16 +msgid "No more log entry to show" +msgstr "Ei enää lokimerkintää näytettäväksi" + +#: static/js/confirmation.js:44 +msgid "Warning" +msgstr "Varoitus" + +#: static/js/confirmation.js:59 +msgid "Cancel" +msgstr "Peruuta" + +#: static/js/global.js:347 +msgid "Internal error" +msgstr "Sisäinen virhe" + +#: static/js/listing.js:21 +msgid "No more entry to show" +msgstr "Ei enää merkintöjä näytettäväksi" + +#: static/js/listing.js:46 +msgid "Search" +msgstr "Hae" + +#: static/js/searchbar.js:28 +msgid "Search..." +msgstr "Etsi..." + +#: static/js/twocols_nav.js:170 +msgid "Are you sure?" +msgstr "Oletko varma?" + +#: static/js/twocols_nav.js:171 +msgid "This will invalidate your registered application." +msgstr "Tämä mitätöi rekisteröintisi." diff --git a/modoboa/maillog/locale/fi/LC_MESSAGES/django.po b/modoboa/maillog/locale/fi/LC_MESSAGES/django.po new file mode 100644 index 000000000..405e1c654 --- /dev/null +++ b/modoboa/maillog/locale/fi/LC_MESSAGES/django.po @@ -0,0 +1,162 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-17 11:24+0200\n" +"PO-Revision-Date: 2023-02-17 22:06+0200\n" +"Last-Translator: Ossi Mäntylahti \n" +"Language-Team: \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.2.2\n" + +#: forms.py:20 +msgid "General" +msgstr "Yleiset" + +#: forms.py:23 +msgid "Path to the log file" +msgstr "Polku lokitiedostoon" + +#: forms.py:25 +msgid "Path to log file used to collect statistics" +msgstr "Polku tilastojen keräämiseen käytettävään lokitiedostoon" + +#: forms.py:30 +msgid "Directory to store RRD files" +msgstr "Hakemisto, johon RRD-tiedostot tallennetaan" + +#: forms.py:33 +msgid "Path to directory where RRD files are stored" +msgstr "Polku hakemistoon, johon RRD-tiedostot on tallennettu" + +#: forms.py:38 +msgid "Show greylisted messages" +msgstr "Näytä harmaalle listalle merkityt viestit" + +#: forms.py:41 +msgid "Differentiate between hard and soft rejects (greylisting)" +msgstr "Kovien ja pehmeiden hylkäysten erottaminen toisistaan (greylisting)" + +#: forms.py:59 handlers.py:22 +msgid "Statistics" +msgstr "Tilastot" + +#: graphics.py:95 +msgid "Failed to locate rrdtool binary." +msgstr "Rrdtoolsin binääritiedostoa ei löydy." + +#: graphics.py:174 +msgid "Average traffic (msgs/min)" +msgstr "Keskimääräinen liikenne (msgs/min)" + +#: graphics.py:177 +msgid "sent messages" +msgstr "lähetetyt viestit" + +#: graphics.py:178 +msgid "received messages" +msgstr "vastaanotetut viestit" + +#: graphics.py:179 +msgid "bounced messages" +msgstr "palautuneet viestit" + +#: graphics.py:180 +msgid "rejected messages" +msgstr "hylätyt viestit" + +#: graphics.py:181 +msgid "virus messages" +msgstr "virusviestit" + +#: graphics.py:182 +msgid "spam messages" +msgstr "roskapostiviestit" + +#: graphics.py:189 +msgid "greylisted messages" +msgstr "harmaalla listalla olevat viestit" + +#: graphics.py:200 +msgid "Average normal traffic size (bytes/min)" +msgstr "Keskimääräinen normaali liikennekoko (tavua/min)" + +#: graphics.py:203 +msgid "received size" +msgstr "vastaanotettu koko" + +#: graphics.py:205 +msgid "sent size" +msgstr "lähetetty koko" + +#: graphics.py:213 +msgid "Mail traffic" +msgstr "Postiliikenne" + +#: graphics.py:258 +msgid "Average account creation (account/hour)" +msgstr "Keskimääräinen tilin luominen (tili/tunti)" + +#: graphics.py:261 +msgid "New accounts" +msgstr "Uudet tilit" + +#: graphics.py:268 +msgid "Accounts" +msgstr "Tilit" + +#: templates/maillog/index.html:4 +msgid "Graphical statistics" +msgstr "Graafiset tilastot" + +#: templates/maillog/index.html:44 +msgid "Search a domain" +msgstr "Etsi verkkotunnusta" + +#: templates/maillog/index.html:77 +msgid "Apply" +msgstr "Käytä" + +#: views.py:33 +msgid "No statistics available" +msgstr "Tilastoja ei ole saatavilla" + +#: views.py:40 +msgid "Day" +msgstr "Päivä" + +#: views.py:41 +msgid "Week" +msgstr "Viikko" + +#: views.py:42 +msgid "Month" +msgstr "Kuukausi" + +#: views.py:43 +msgid "Year" +msgstr "Vuosi" + +#: views.py:44 +msgid "Custom" +msgstr "Mukautettu" + +#: views.py:63 +msgid "Unknown graphic set" +msgstr "Tuntematon graafinen sarja" + +#: views.py:68 +msgid "Unknown domain" +msgstr "Tuntematon verkkotunnus %s" + +#: views.py:73 +msgid "Bad custom period" +msgstr "Väärä mukautettu ajanjakso" diff --git a/modoboa/maillog/locale/fi/LC_MESSAGES/djangojs.po b/modoboa/maillog/locale/fi/LC_MESSAGES/djangojs.po new file mode 100644 index 000000000..4c6d71e44 --- /dev/null +++ b/modoboa/maillog/locale/fi/LC_MESSAGES/djangojs.po @@ -0,0 +1,22 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-03 09:37+0100\n" +"PO-Revision-Date: 2023-02-17 22:05+0200\n" +"Last-Translator: Ossi Mäntylahti \n" +"Language-Team: \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.2.2\n" + +#: static/modoboa_stats/js/stats.js:43 +msgid "Search a domain" +msgstr "Etsi verkkotunnusta" diff --git a/modoboa/policyd/locale/fi/LC_MESSAGES/django.po b/modoboa/policyd/locale/fi/LC_MESSAGES/django.po new file mode 100644 index 000000000..56d1bd583 --- /dev/null +++ b/modoboa/policyd/locale/fi/LC_MESSAGES/django.po @@ -0,0 +1,40 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-17 15:31+0200\n" +"PO-Revision-Date: 2023-02-17 22:08+0200\n" +"Last-Translator: Ossi Mäntylahti \n" +"Language-Team: \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.2.2\n" + +#: policyd/core.py:88 +msgid "Daily sending limit reached" +msgstr "Päivittäinen lähetysraja saavutettu" + +#: policyd/core.py:104 +msgid "account" +msgstr "tili" + +#: policyd/core.py:105 +msgid "domain" +msgstr "verkkotunnus" + +#: policyd/core.py:123 +msgid "[modoboa] Sending limit reached" +msgstr "[modoboa] Lähetysraja saavutettu" + +#: policyd/templates/policyd/notifications/limit_reached.html:3 +#, python-format +msgid "Daily limit of the following %(ltype)s has been reached: %(name)s." +msgstr "Seuraavien %(ltype)s päivittäinen raja on saavutettu: %(name)s." diff --git a/modoboa/relaydomains/locale/fi/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/fi/LC_MESSAGES/django.po new file mode 100644 index 000000000..c51cc1361 --- /dev/null +++ b/modoboa/relaydomains/locale/fi/LC_MESSAGES/django.po @@ -0,0 +1,46 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-17 13:15+0200\n" +"PO-Revision-Date: 2023-02-17 22:10+0200\n" +"Last-Translator: Ossi Mäntylahti \n" +"Language-Team: \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.2.2\n" + +#: relaydomains/handlers.py:61 +msgid "Transport settings" +msgstr "Kuljetusasetukset" + +#: relaydomains/handlers.py:85 +msgid "Transport" +msgstr "Siirto" + +#: relaydomains/lib.py:13 +msgid "Invalid line" +msgstr "Virheellinen rivi" + +#: relaydomains/serializers.py:25 +msgid "Unsupported service" +msgstr "Ei tuettu palvelu" + +#: relaydomains/transport.py:14 +msgid "target host address" +msgstr "kohde-isäntäkoneen osoite" + +#: relaydomains/transport.py:16 +msgid "target host port" +msgstr "kohde-isännän portti" + +#: relaydomains/transport.py:18 +msgid "verify recipients" +msgstr "tarkistaa vastaanottajat" diff --git a/modoboa/relaydomains/locale/fi/LC_MESSAGES/djangojs.po b/modoboa/relaydomains/locale/fi/LC_MESSAGES/djangojs.po new file mode 100644 index 000000000..2e8047c99 --- /dev/null +++ b/modoboa/relaydomains/locale/fi/LC_MESSAGES/djangojs.po @@ -0,0 +1,22 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-17 22:08+0100\n" +"PO-Revision-Date: 2023-02-17 22:09+0200\n" +"Last-Translator: Ossi Mäntylahti \n" +"Language-Team: \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.2.2\n" + +#: relaydomains/static/relaydomains/js/relay_domains.js:45 +msgid "Services updated" +msgstr "Päivitetyt palvelut" diff --git a/modoboa/transport/locale/fi/LC_MESSAGES/django.po b/modoboa/transport/locale/fi/LC_MESSAGES/django.po new file mode 100644 index 000000000..cc18d4c26 --- /dev/null +++ b/modoboa/transport/locale/fi/LC_MESSAGES/django.po @@ -0,0 +1,38 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-17 13:15+0200\n" +"PO-Revision-Date: 2023-02-17 22:12+0200\n" +"Last-Translator: Ossi Mäntylahti \n" +"Language-Team: \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.2.2\n" + +#: transport/backends.py:40 +msgid "This field is required" +msgstr "Tämä kenttä on pakollinen" + +#: transport/backends.py:55 +msgid "Invalid value" +msgstr "Virheellinen arvo" + +#: transport/models.py:16 +msgid "pattern" +msgstr "malli" + +#: transport/models.py:17 +msgid "service" +msgstr "palvelu" + +#: transport/models.py:18 +msgid "next hop" +msgstr "seuraava hyppy" diff --git a/modoboa/transport/locale/fi/LC_MESSAGES/djangojs.po b/modoboa/transport/locale/fi/LC_MESSAGES/djangojs.po new file mode 100644 index 000000000..c62411762 --- /dev/null +++ b/modoboa/transport/locale/fi/LC_MESSAGES/djangojs.po @@ -0,0 +1,22 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-17 16:44+0100\n" +"PO-Revision-Date: 2023-02-17 22:11+0200\n" +"Last-Translator: Ossi Mäntylahti \n" +"Language-Team: \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.2.2\n" + +#: static/transport/js/transport.js:36 +msgid "Search" +msgstr "Hae"