diff --git a/.typos.toml b/.typos.toml index d2d304eee..7787efb4e 100644 --- a/.typos.toml +++ b/.typos.toml @@ -19,6 +19,7 @@ extend-exclude = [ "app/i18n/el/", "app/i18n/es/", "app/i18n/fa/", + "app/i18n/fi/", "app/i18n/fr/", "app/i18n/he/", "app/i18n/hu/", diff --git a/app/i18n/cs/gen.php b/app/i18n/cs/gen.php index 0276ce6c9..e573ad26b 100644 --- a/app/i18n/cs/gen.php +++ b/app/i18n/cs/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index e20d9dda3..4be073108 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/el/gen.php b/app/i18n/el/gen.php index 41005b41b..bd33bfd2d 100644 --- a/app/i18n/el/gen.php +++ b/app/i18n/el/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/en-us/gen.php b/app/i18n/en-us/gen.php index 0f733f7eb..eb27424bd 100644 --- a/app/i18n/en-us/gen.php +++ b/app/i18n/en-us/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index bcf4baff6..883a9f439 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', 'es' => 'Español', 'fa' => 'فارسی', + 'fi' => 'Suomi', 'fr' => 'Français', 'he' => 'עברית', 'hu' => 'Magyar', diff --git a/app/i18n/es/gen.php b/app/i18n/es/gen.php index 89aff901c..7da8b0c00 100644 --- a/app/i18n/es/gen.php +++ b/app/i18n/es/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/fa/gen.php b/app/i18n/fa/gen.php index 64d3b0316..104f0f2f4 100644 --- a/app/i18n/fa/gen.php +++ b/app/i18n/fa/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/fi/admin.php b/app/i18n/fi/admin.php new file mode 100644 index 000000000..1d7293a34 --- /dev/null +++ b/app/i18n/fi/admin.php @@ -0,0 +1,239 @@ + array( + 'allow_anonymous' => 'Salli kirjautumattomien käyttäjien lukea oletuskäyttäjän artikkeleita (%s)', + 'allow_anonymous_refresh' => 'Salli kirjautumattomien käyttäjien päivittää artikkelit', + 'api_enabled' => 'Salli API-käyttö (pakollinen kännykkäsovelluksille)', + 'form' => 'Web-lomake (perinteinen, käyttää JavaScriptiä)', + 'http' => 'HTTP (tai HTTPS edistyneille käyttäjille)', + 'none' => 'Ei mitään (vaarallinen)', + 'title' => 'Todentaminen', + 'token' => 'Todentamisen päätunnisteväline', + 'token_help' => 'Sallii käyttäjän kaikkien RSS-tulosteiden käyttämisen sekä syötteiden päivityksen ilman todennusta:', + 'type' => 'Todentamismenetelmä', + 'unsafe_autologin' => 'Salli suojaamaton automaattinen sisäänkirjaus: ', + ), + 'check_install' => array( + 'cache' => array( + 'nok' => 'Tarkista hakemiston ./data/cache oikeudet. HTTP-palvelimella on oltava kirjoitusoikeus.', + 'ok' => 'Cache-hakemiston oikeudet ovat oikein.', + ), + 'categories' => array( + 'nok' => 'Luokkataulu on määritetty väärin.', + 'ok' => 'Luokkataulu on määritetty oikein.', + ), + 'connection' => array( + 'nok' => 'Tietokantayhteyden muodostus ei onnistu.', + 'ok' => 'Tietokantayhteys on muodostettu.', + ), + 'ctype' => array( + 'nok' => 'Merkkilajien tarkastukseen tarvittavaa kirjastoa (php-ctype) ei löydy.', + 'ok' => 'Merkkilajien tarkastukseen tarvittava kirjasto (ctype) löytyy.', + ), + 'curl' => array( + 'nok' => 'cURL-kirjastoa (php-curl-paketti) ei löydy.', + 'ok' => 'cURL-kirjasto löytyy.', + ), + 'data' => array( + 'nok' => 'Tarkista hakemiston ./data oikeudet. HTTP-palvelimella on oltava kirjoitusoikeus.', + 'ok' => 'Data-hakemiston oikeudet ovat oikein.', + ), + 'database' => 'Tietokannan asennus', + 'dom' => array( + 'nok' => 'DOM-rakenteen selaamiseen tarvittavaa kirjastoa ei löydy (php-xml-paketti).', + 'ok' => 'DOM-rakenteen selaamiseen tarvittava kirjasto löytyy.', + ), + 'entries' => array( + 'nok' => 'Merkintöjen taulu on määritetty väärin.', + 'ok' => 'Merkintöjen taulu on määritetty oikein.', + ), + 'favicons' => array( + 'nok' => 'Tarkista hakemiston ./data/favicons oikeudet. HTTP-palvelimella on oltava kirjoitusoikeus.', + 'ok' => 'Favicons-hakemiston oikeudet ovat oikein.', + ), + 'feeds' => array( + 'nok' => 'Syötetaulu on määritetty väärin.', + 'ok' => 'Syötetaulukko on määritetty oikein.', + ), + 'fileinfo' => array( + 'nok' => 'PHP fileinfo -kirjastoa (fileinfo-paketti) ei löydy.', + 'ok' => 'Fileinfo-kirjasto löytyy.', + ), + 'files' => 'Tiedostojen asennus', + 'json' => array( + 'nok' => 'JSON-tukea (php-json-paketti) ei löydy.', + 'ok' => 'JSON-laajennus on käytössä.', + ), + 'mbstring' => array( + 'nok' => 'Unicodea varten suositeltua mbstring-kirjastoa ei löydy.', + 'ok' => 'Unicodea varten suositeltu mbstring-kirjasto löytyy.', + ), + 'pcre' => array( + 'nok' => 'Säännöllisiä lausekkeita varten tarvittavaa kirjastoa (php-pcre) ei löydy.', + 'ok' => 'Säännöllisiä lausekkeita varten tarvittava kirjasto (PCRE) löytyy.', + ), + 'pdo' => array( + 'nok' => 'PDO:ta tai jotain tuettua ohjainta (pdo_mysql, pdo_sqlite, pdo_pgsql) ei löydy.', + 'ok' => 'PDO ja ainakin yksi tuetuista ohjaimista (pdo_mysql, pdo_sqlite, pdo_pgsql) löytyy.', + ), + 'php' => array( + '_' => 'PHP-asennus', + 'nok' => 'Asennettu PHP-versio on %s, mutta FreshRSS edellyttää vähintään versiota %s.', + 'ok' => 'Asennettu PHP-versio (%s) on yhteensopiva FreshRSS-sovelluksen kanssa.', + ), + 'tables' => array( + 'nok' => 'Tietokannasta puuttuu ainakin yksi taulu.', + 'ok' => 'Kaikki tarvittavat taulut ovat tietokannassa.', + ), + 'title' => 'Asennuksen tarkistus', + 'tokens' => array( + 'nok' => 'Tarkista hakemiston ./data/tokens oikeudet. HTTP-palvelimella on oltava kirjoitusoikeus.', + 'ok' => 'Tokens-hakemiston oikeudet ovat oikein.', + ), + 'users' => array( + 'nok' => 'Tarkista hakemiston ./data/users oikeudet. HTTP-palvelimella on oltava kirjoitusoikeus.', + 'ok' => 'Users-hakemiston oikeudet ovat oikein.', + ), + 'zip' => array( + 'nok' => 'ZIP-laajennusta ei löydy (php-zip-paketti).', + 'ok' => 'ZIP-laajennus on asennettu.', + ), + ), + 'extensions' => array( + 'author' => 'Tekijä', + 'community' => 'Käytettävissä olevat yhteisön tekemät laajennukset', + 'description' => 'Kuvaus', + 'disabled' => 'Poissa käytöstä', + 'empty_list' => 'Asennettuja laajennuksia ei ole', + 'empty_list_help' => 'Voit tarkistaa lokeista, miksi laajennusluettelo on tyhjä.', + 'enabled' => 'Käytössä', + 'latest' => 'Asennettu', + 'name' => 'Nimi', + 'no_configure_view' => 'Tätä laajennusta ei voi määrittää.', + 'system' => array( + '_' => 'Järjestelmälaajennukset', + 'no_rights' => 'Järjestelmälaajennus (sinulla ei ole tarvittavia käyttöoikeuksia)', + ), + 'title' => 'Laajennukset', + 'update' => 'Päivitys saatavilla', + 'user' => 'Käyttäjän laajennukset', + 'version' => 'Versio', + ), + 'stats' => array( + '_' => 'Tilastot', + 'all_feeds' => 'Kaikki syötteet', + 'category' => 'Luokka', + 'entry_count' => 'Artikkelien määrä', + 'entry_per_category' => 'Artikkelit luokan mukaan', + 'entry_per_day' => 'Artikkelit päivän mukaan (edelliset 30 päivää)', + 'entry_per_day_of_week' => 'Artikkelit viikonpäivän mukaan (keskiarvo: %.2f viestiä)', + 'entry_per_hour' => 'Tunnin mukaan (keskiarvo: %.2f viestiä)', + 'entry_per_month' => 'Kuukauden mukaan (keskiarvo: %.2f viestiä)', + 'entry_repartition' => 'Artikkelien uudelleenjaottelu', + 'feed' => 'Syöte', + 'feed_per_category' => 'Syötteitä luokassa', + 'idle' => 'Hiljentyneet syötteet', + 'main' => 'Päätilastot', + 'main_stream' => 'Pääsyötevirta', + 'no_idle' => 'Hiljentyneitä syötteitä ei ole.', + 'number_entries' => '%d artikkelia', + 'percent_of_total' => '% kaikista', + 'repartition' => 'Artikkelien uudelleenjaottelu', + 'status_favorites' => 'Suosikit', + 'status_read' => 'Luetut', + 'status_total' => 'Yhteensä', + 'status_unread' => 'Lukemattomat', + 'title' => 'Tilastot', + 'top_feed' => '10 parasta syötettä', + ), + 'system' => array( + '_' => 'Järjestelmän määritys', + 'auto-update-url' => 'Automaattisen päivityksen palvelimen URL', + 'base-url' => array( + '_' => 'URL-pääosoite', + 'recommendation' => 'Automaattinen suositus: %s', + ), + 'cookie-duration' => array( + 'help' => 'sekunteina', + 'number' => 'Sisäänkirjauksen kesto', + ), + 'force_email_validation' => 'Pakota sähköpostiosoitteen vahvistus', + 'instance-name' => 'Instanssin nimi', + 'max-categories' => 'Luokkien enimmäismäärä käyttäjää kohti', + 'max-feeds' => 'Syötteiden enimmäismäärä käyttäjää kohti', + 'registration' => array( + 'number' => 'Tilien enimmäismäärä', + 'select' => array( + 'label' => 'Rekisteröintilomake', + 'option' => array( + 'noform' => 'Poissa käytöstä: ei rekisteröintilomaketta', + 'nolimit' => 'Käytössä: rajaton määrä tilejä', + 'setaccountsnumber' => 'Määritä tilien enimmäismäärä', + ), + ), + 'status' => array( + 'disabled' => 'Lomake poissa käytöstä', + 'enabled' => 'Lomake käytössä', + ), + 'title' => 'Käyttäjän rekisteröintilomake', + ), + 'sensitive-parameter' => 'Suojattu parametri. Muokkaa suoraan ./data/config.php-tiedostossa.', + 'tos' => array( + 'disabled' => 'ei käytössä', + 'enabled' => 'käytössä', + 'help' => 'Kuinka ottaa käyttöehdot käyttöön', + ), + 'websub' => array( + 'help' => 'Tietoja WebSub-palvelusta', + ), + ), + 'update' => array( + '_' => 'Päivitä FreshRSS', + 'apply' => 'Aloita päivitys', + 'changelog' => 'Muutokset', + 'check' => 'Tarkista päivitykset', + 'copiedFromURL' => 'update.php kopioitu osoitteesta %s hakemistoon ./data', + 'current_version' => 'Asennettu versio', + 'last' => 'Viimeksi tarkistettu', + 'loading' => 'Päivitetään…', + 'none' => 'Päivitystä ei ole', + 'releaseChannel' => array( + '_' => 'Julkaisukanava', + 'edge' => 'Uusin versio (“edge”)', + 'latest' => 'Vakaa versio (“latest”)', + ), + 'title' => 'Päivitä FreshRSS', + 'viaGit' => 'Päivitys gitin ja GitHub.comin avulla on aloitettu', + ), + 'user' => array( + 'admin' => 'Pääkäyttäjä', + 'article_count' => 'Artikkeleita', + 'back_to_manage' => '← Palaa käyttäjäluetteloon', + 'create' => 'Luo uusi käyttäjä', + 'database_size' => 'Tietokannan koko', + 'email' => 'Sähköpostiosoite', + 'enabled' => 'Käytössä', + 'feed_count' => 'Syötteet', + 'is_admin' => 'Pääkäyttäjä', + 'language' => 'Kieli', + 'last_user_activity' => 'Viimeisin käyttäjän toiminta', + 'list' => 'Käyttäjäluettelo', + 'number' => '%d tili on luotu', + 'numbers' => '%d tiliä on luotu', + 'password_form' => 'Salasana
(Web-lomakkeella kirjautumista varten)', + 'password_format' => 'Vähintään 7 merkkiä', + 'title' => 'Hallinnoi käyttäjiä', + 'username' => 'Käyttäjätunnus', + ), +); diff --git a/app/i18n/fi/conf.php b/app/i18n/fi/conf.php new file mode 100644 index 000000000..2631367e3 --- /dev/null +++ b/app/i18n/fi/conf.php @@ -0,0 +1,333 @@ + array( + '_' => 'Arkistointi', + 'exception' => 'Poiston poikkeukset', + 'help' => 'Lisäasetuksia on yksittäisen syötteen asetuksissa', + 'keep_favourites' => 'Älä koskaan poista suosikkeja', + 'keep_labels' => 'Älä koskaan poista merkintöjä', + 'keep_max' => 'Enimmäismäärä säilytettäviä artikkeleita syötettä kohti', + 'keep_min_by_feed' => 'Vähimmäismäärä säilytettäviä artikkeleita syötettä kohti', + 'keep_period' => 'Vanhimmat säilytettävät artikkelit', + 'keep_unreads' => 'Älä koskaan poista lukemattomia artikkeleita', + 'maintenance' => 'Ylläpito', + 'optimize' => 'Optimoi tietokanta', + 'optimize_help' => 'Voit pienentää tietokannan kokoa ajamalla toiminnon silloin tällöin', + 'policy' => 'Poistokäytäntö', + 'policy_warning' => 'Jos poistokäytäntöä ei ole valittu, kaikki artikkelit säilytetään.', + 'purge_now' => 'Poista artikkelit nyt', + 'title' => 'Arkistointi', + 'ttl' => 'Älä päivitä automaattisesti useammin kuin', + ), + 'display' => array( + '_' => 'Näkymä', + 'darkMode' => array( + '_' => 'Automaattinen tumma tila', + 'auto' => 'Automaattinen', + 'help' => 'Toimii vain yhteensopivissa teemoissa', + 'no' => 'Ei', + ), + 'icon' => array( + 'bottom_line' => 'Alin rivi', + 'display_authors' => 'Kirjoittajat', + 'entry' => 'Artikkelien kuvakkeet', + 'publication_date' => 'Julkaisupäivä', + 'related_tags' => 'Artikkelin tunnisteet', + 'sharing' => 'Jakaminen', + 'summary' => 'Yhteenveto', + 'top_line' => 'Ylin rivi', + ), + 'language' => 'Kieli', + 'notif_html5' => array( + 'seconds' => 'sekuntia (0 - ei taukoa)', + 'timeout' => 'Tauko HTML5-ilmoitusten välissä', + ), + 'show_nav_buttons' => 'Näytä siirtymispainikkeet', + 'theme' => array( + '_' => 'Teema', + 'deprecated' => array( + '_' => 'Vanhentunut', + 'description' => 'Teema ei ole enää tuettu, eikä se ole enää käytettävissä tulevissa FreshRSS-versioissa', + ), + ), + 'theme_not_available' => 'Teema “%s” ei ole enää käytettävissä. Valitse toinen teema.', + 'thumbnail' => array( + 'label' => 'Pikkukuva', + 'landscape' => 'Vaakasuunta', + 'none' => 'Ei mitään', + 'portrait' => 'Pystysuunta', + 'square' => 'Neliö', + ), + 'timezone' => 'Aikavyöhyke', + 'title' => 'Näkymä', + 'website' => array( + 'full' => 'Kuvake ja nimi', + 'icon' => 'Vain kuvake', + 'label' => 'Siuvsto', + 'name' => 'Vain nimi', + 'none' => 'Ei mitään', + ), + 'width' => array( + 'content' => 'Sisällön leveys', + 'large' => 'Leveä', + 'medium' => 'Keskisuuri', + 'no_limit' => 'Täysi leveys', + 'thin' => 'Kapea', + ), + ), + 'logs' => array( + 'loglist' => array( + 'level' => 'Lokien tarkkuus', + 'message' => 'Lokiviesti', + 'timestamp' => 'Aikaleima', + ), + 'pagination' => array( + 'first' => 'Ensimmäinen', + 'last' => 'Viimeinen', + 'next' => 'Seuraava', + 'previous' => 'Edellinen', + ), + ), + 'privacy' => array( + '_' => 'Tietosuoja', + 'retrieve_extension_list' => 'Nouda laajennusluettelo', + ), + 'profile' => array( + '_' => 'Profiilien hallinta', + 'api' => 'API-hallinta', + 'delete' => array( + '_' => 'Tilin poisto', + 'warn' => 'Tilisi ja kaikki siihen kuuluvat tiedot poistetaan.', + ), + 'email' => 'Sähköpostiosoite', + 'password_api' => 'API-salasana
(esimerkiksi kännykkäsovelluksille)', + 'password_form' => 'Salasana
(Web-lomakkeella kirjautumista varten)', + 'password_format' => 'Vähintään 7 merkkiä', + 'title' => 'Profiili', + ), + 'query' => array( + '_' => 'Käyttäjän kyselyt', + 'deprecated' => 'Kysely ei enää kelpaa. Siinä käytetty luokka tai syöte on poistettu.', + 'description' => 'Kuvaus', + 'filter' => array( + '_' => 'Suodatin käytössä:', + 'categories' => 'Näytä luokan mukaan', + 'feeds' => 'Näytä syötteen mukaan', + 'order' => 'Lajittele päivämäärän mukaan', + 'search' => 'Lauseke', + 'shareOpml' => 'Jaa kyselyä vastaavat luokat ja syötteet OPML-muodossa', + 'shareRss' => 'Jaa HTML & RSS -muodossa', + 'state' => 'Tila', + 'tags' => 'Näytä merkinnän mukaan', + 'type' => 'Laji', + ), + 'get_all' => 'Näytä kaikki artikkelit', + 'get_all_labels' => 'Näytä artikkelit, joissa on mikä tahansa merkintä', + 'get_category' => 'Näytä luokka “%s”', + 'get_favorite' => 'Näytä suosikkiartikkelit', + 'get_feed' => 'Näytä syöte “%s”', + 'get_important' => 'Näytä artikkelit tärkeistä syötteistä', + 'get_label' => 'Näytä artikkelit, joissa on merkintä “%s”', + 'help' => 'Lisätietoja käyttäjän kyselyistä ja edelleenjakamisesta HTML/RSS/OPML-muodossa on ohjeessa.', + 'image_url' => 'Kuvan URL', + 'name' => 'Nimi', + 'no_filter' => 'Ei suodatinta', + 'number' => 'Kysely %d', + 'order_asc' => 'Näytä vanhimmat artikkelit ensin', + 'order_desc' => 'Näytä uusimmat artikkelit ensin', + 'search' => 'Hae sanaa “%s”', + 'share' => array( + '_' => 'Jaa kysely linkin avulla', + 'greader' => 'Linkki GReader JSON -muotoon jaettavaksi', + 'help' => 'Voit jakaa kyselyn muiden kanssa antamalle heille tämän linkin', + 'html' => 'Jaettava linkki HTML-sivuun', + 'opml' => 'Jaettava linkki syötteiden OPML-luetteloon', + 'rss' => 'Jaettava linkki RSS-syötteeseen', + ), + 'state_0' => 'Näytä kaikki artikkelit', + 'state_1' => 'Näytä luetut artikkelit', + 'state_2' => 'Näytä lukemattomat artikkelit', + 'state_3' => 'Näytä kaikki artikkelit', + 'state_4' => 'Näytä suosikkiartikkelit', + 'state_5' => 'Näytä luetut suosikkiartikkelit', + 'state_6' => 'Näytä lukemattomat suosikkiartikkelit', + 'state_7' => 'Näytä suosikkiartikkelit', + 'state_8' => 'Näytä muut kuin suosikkiartikkelit', + 'state_9' => 'Näytä luetut muut kuin suosikkiartikkelit', + 'state_10' => 'Näytä lukemattomat muut kuin suosikkiartikkelit', + 'state_11' => 'Näytä muut kuin suosikkiartikkelit', + 'state_12' => 'Näytä kaikki artikkelit', + 'state_13' => 'Näytä luetut artikkelit', + 'state_14' => 'Näytä lukemattomat artikkelit', + 'state_15' => 'Näytä kaikki artikkelit', + 'title' => 'Käyttäjän kyselyt', + ), + 'reading' => array( + '_' => 'Lukeminen', + 'after_onread' => 'Kun valitset “merkitse kaikki luetuiksi”', + 'always_show_favorites' => 'Näytä oletusarvoisesti kaikki suosikkiartikkelit', + 'apply_to_individual_feed' => 'Asetus vaikuttaa jokaiseen syötteeseen erikseen', + 'article' => array( + 'authors_date' => array( + '_' => 'Kirjoittajat ja päiväys', + 'both' => 'Ylä- ja alatunnisteessa', + 'footer' => 'Alatunnisteessa', + 'header' => 'Ylätunnisteessa', + 'none' => 'Älä näytä', + ), + 'feed_name' => array( + 'above_title' => 'Otsikon/tunnisteiden yläpuolella', + 'none' => 'Älä näytä', + 'with_authors' => 'Kirjoittajien ja päiväysten rivillä', + ), + 'feed_title' => 'Syötteen otsikko', + 'icons' => array( + '_' => 'Artikkelin kuvakkeiden asettelu
(vain lukunäkymä)', + 'above_title' => 'Otsikon yläpuolella', + 'with_authors' => 'Kirjoittajien ja päiväysten rivillä', + ), + 'tags' => array( + '_' => '#Tunnisteet', + 'both' => 'Ylä- ja alatunnisteessa', + 'footer' => 'Alatunnisteessa', + 'header' => 'Ylätunnisteessa', + 'none' => 'Älä näytä', + ), + 'tags_max' => array( + '_' => 'Enimmäismäärä näytettäviä tunnisteita', + 'help' => '0 - näytä kaikki tunnisteet tiivistämättä', + ), + ), + 'articles_per_page' => 'Artikkelien määrä sivulla', + 'auto_load_more' => 'Lataa lisää artikkeleita sivun lopussa', + 'auto_remove_article' => 'Piilota artikkelit lukemisen jälkeen', + 'confirm_enabled' => 'Pyydä vahvistusta “merkitse kaikki luetuiksi” -toiminnoille', + 'display_articles_unfolded' => 'Näytä artikkelit oletusarvoisesti kokonaan', + 'display_categories_unfolded' => 'Luokat, joiden artikkelit näytetään kokonaan', + 'headline' => array( + 'articles' => 'Artikkelit: avaa/sulje', + 'articles_header_footer' => 'Artikkelit: ylätunniste/alatunniste', + 'categories' => 'Vasen siirtymisvalikko: luokat', + 'mark_as_read' => 'Merkitse artikkeli luetuksi', + 'misc' => 'Sekalaista', + 'view' => 'Näkymä', + ), + 'hide_read_feeds' => 'Piilota luokat ja syötteet, joissa ei ole lukemattomia artikkeleita (ei toimi jos “Näytä kaikki artikkelit” on määritetty)', + 'img_with_lazyload' => 'Lataa kuvat vain tarvittaessa', + 'jump_next' => 'siirry seuraavaan lukemattomaan artikkeliin samassa näkymässä', + 'mark_updated_article_unread' => 'Merkitse päivitetyt artikkelit lukemattomiksi', + 'number_divided_when_reader' => 'Jaa kahdella lukunäkymässä.', + 'read' => array( + 'article_open_on_website' => 'kun artikkeli avataan alkuperäisellä sivustolla', + 'article_viewed' => 'kun artikkeli näytetään', + 'focus' => 'kun artikkeli valitaan (paitsi tärkeät syötteet)', + 'keep_max_n_unread' => 'Lukemattomana pidettävien artikkelien enimmäismäärä', + 'scroll' => 'vieritettäessä näkymää (paitsi tärkeät syötteet)', + 'upon_gone' => 'kun artikkeli ei ole enää alkuperäisessä uutissyötteessä', + 'upon_reception' => 'kun artikkeli on vastaanotettu', + 'when' => 'Merkitse artikkeli luetuksi…', + 'when_same_title_in_category' => 'jos jollakin luokan n uusimmalla artikkelilla on sama otsikko', + 'when_same_title_in_feed' => 'jos jollakin syötteen n uusimmalla artikkelilla on sama otsikko', + ), + 'show' => array( + '_' => 'Näytettävät artikkelit', + 'active_category' => 'Käytössä oleva luokka', + 'adaptive' => 'Säädä näkymää', + 'all_articles' => 'Näytä kaikki artikkelit', + 'all_categories' => 'Kaikki luokat', + 'no_category' => 'Ei luokkaa', + 'remember_categories' => 'Muista avoinna olevat luokat', + 'unread' => 'Näytä vain lukemattomat', + ), + 'show_fav_unread_help' => 'Koskee myös merkintöjä', + 'sides_close_article' => 'Artikkeli sulkeutuu napsauttamalla sen ulkopuolelle', + 'sort' => array( + '_' => 'Lajittelujärjestys', + 'newer_first' => 'Uusimmat ensin', + 'older_first' => 'Vanhimmat ensin', + ), + 'star' => array( + 'when' => 'Merkitse artikkeli suosikiksi…', + ), + 'sticky_post' => 'Kiinnitä artikkeli ylimmäksi avattaessa', + 'title' => 'Lukeminen', + 'view' => array( + 'default' => 'Oletusnäkymä', + 'global' => 'Yleinen näkymä', + 'normal' => 'Tavallinen näkymä', + 'reader' => 'Lukunäkymä', + ), + ), + 'sharing' => array( + '_' => 'Jakaminen', + 'add' => 'Lisää jakamistapa', + 'deprecated' => 'Tämä palvelu on vanhentunut, ja se poistetaan FreshRSS-sovelluksen tulevasta versiosta.', + 'diaspora' => 'Diaspora*', // IGNORE + 'email' => 'Sähköposti', + 'facebook' => 'Facebook', // IGNORE + 'more_information' => 'Lisätietoja', + 'print' => 'Tulostus', + 'raindrop' => 'Raindrop.io', // IGNORE + 'remove' => 'Poista jakamistapa', + 'shaarli' => 'Shaarli', // IGNORE + 'share_name' => 'Näytettävä jakamistavan nimi', + 'share_url' => 'Käytettävä jakamistavan URL-osoite', + 'title' => 'Jakaminen', + 'twitter' => 'Twitter', // IGNORE + 'wallabag' => 'wallabag', // IGNORE + ), + 'shortcut' => array( + '_' => 'Pikanäppäimet', + 'article_action' => 'Artikkelitoiminnot', + 'auto_share' => 'Jaa', + 'auto_share_help' => 'Jos jakamistapoja on vain yksi, sitä käytetään automaattisesti. Muussa tapauksessa jakamistavan voi valita numerolla.', + 'close_dropdown' => 'Sulje valikot', + 'collapse_article' => 'Sulje', + 'first_article' => 'Avaa ensimmäinen artikkeli', + 'focus_search' => 'Siirry hakukenttään', + 'global_view' => 'Vaihda yleiseen näkymään', + 'help' => 'Avaa ohje', + 'javascript' => 'Pikanäppäinten käyttö vaatii JavaScriptin', + 'last_article' => 'Avaa viimeinen artikkeli', + 'load_more' => 'Lataa lisää artikkeleita', + 'mark_favorite' => 'Suosikki / Ei suosikki', + 'mark_read' => 'Luettu / Lukematon', + 'navigation' => 'Siirtyminen', + 'navigation_help' => 'Kun ⇧ Shift -näppäin on painettuna, siirtymisen pikanäppäimet koskevat syötteitä.
Kun Alt ⎇ -näppäin on painettuna, siirtymisen pikanäppäimet koskevat luokkia.', + 'navigation_no_mod_help' => 'Seuraavat siirtymisen pikanäppäimet eivät tue Shift/Alt-näppäintoimintoa.', + 'next_article' => 'Avaa seuraava artikkeli', + 'next_unread_article' => 'Avaa seuraava lukematon artikkeli', + 'non_standard' => 'Jotkin näppäimet (%s) eivät ehkä toimi pikanäppäiminä.', + 'normal_view' => 'Vaihda normaaliin näkymään', + 'other_action' => 'Muut toiminnot', + 'previous_article' => 'Avaa edellinen artikkeli', + 'reading_view' => 'Vaihda lukunäkymään', + 'rss_view' => 'Avaa RSS-syötteenä', + 'see_on_website' => 'Avaa alkuperäiseen sivustoon', + 'shift_for_all_read' => '+ Alt ⎇ - merkitse edelliset artikkelit luetuiksi
+ ⇧ Shift - merkitse kaikki artikkelit luetuiksi', + 'skip_next_article' => 'Siirry seuraavaan, mutta älä avaa', + 'skip_previous_article' => 'Siirry edelliseen, mutta älä avaa', + 'title' => 'Pikanäppäimet', + 'toggle_media' => 'Toista/keskeytä media', + 'user_filter' => 'Siirry käyttäjän kyselyihin', + 'user_filter_help' => 'Jos kyselyitä on vain yksi, sitä käytetään automaattisesti. Muussa tapauksessa kyselyn voi valita numerolla.', + 'views' => 'Näkymät', + ), + 'user' => array( + 'articles_and_size' => '%s artikkelia (%s)', + 'current' => 'Nykyinen käyttäjä', + 'is_admin' => 'on pääkäyttäjä', + 'users' => 'Käyttäjät', + ), +); diff --git a/app/i18n/fi/feedback.php b/app/i18n/fi/feedback.php new file mode 100644 index 000000000..4f62b2362 --- /dev/null +++ b/app/i18n/fi/feedback.php @@ -0,0 +1,146 @@ + array( + 'denied' => 'Sinulla ei ole tämän sivun käyttöoikeutta', + 'not_found' => 'Etsimääsi sivua ei ole', + ), + 'admin' => array( + 'optimization_complete' => 'Optimointi on valmis', + ), + 'api' => array( + 'password' => array( + 'failed' => 'Salasanaa ei voi muuttaa', + 'updated' => 'Salasana on muutettu', + ), + ), + 'auth' => array( + 'login' => array( + 'invalid' => 'Sisäänkirjaus epäonnistui', + 'success' => 'Yhteys on muodostettu', + ), + 'logout' => array( + 'success' => 'Yhteys on katkaistu', + ), + ), + 'conf' => array( + 'error' => 'Määritysten tallennuksessa ilmeni virhe', + 'query_created' => 'Kysely “%s” on luotu.', + 'shortcuts_updated' => 'Pikanäppäimet on päivitetty', + 'updated' => 'Määritykset on päivitetty', + ), + 'extensions' => array( + 'already_enabled' => '%s on jo käytössä', + 'cannot_remove' => 'Laajennusta %s ei voi poistaa', + 'disable' => array( + 'ko' => 'Laajennusta %s ei voi poistaa käytöstä. Lisätietoja on FreshRSS-lokeissa.', + 'ok' => '%s on nyt poistettu käytöstä', + ), + 'enable' => array( + 'ko' => 'Laajennusta %s ei voi ottaa käyttöön. Lisätietoja on FreshRSS-lokeissa.', + 'ok' => '%s on nyt otettu käyttöön', + ), + 'no_access' => 'Sinulla ei ole laajennuksen %s käyttöoikeutta', + 'not_enabled' => 'Laajennus %s ei ole käytössä', + 'not_found' => 'Laajennusta %s ei ole', + 'removed' => '%s on poistettu', + ), + 'import_export' => array( + 'export_no_zip_extension' => 'ZIP-laajennusta ei löydy palvelimesta. Vie tiedostot yksitellen.', + 'feeds_imported' => 'Syötteet on tuotu palveluun. Jos kaikki haluamasi syötteet on tuotu, voit nyt napsauttaa Päivitä syötteet -painiketta.', + 'feeds_imported_with_errors' => 'Syötteet on tuotu palveluun, mutta tuonnissa ilmeni virheitä. Jos kaikki haluamasi syötteet on tuotu, voit nyt napsauttaa Päivitä syötteet -painiketta.', + 'file_cannot_be_uploaded' => 'Tiedoston siirto palvelimeen ei onnistu!', + 'no_zip_extension' => 'ZIP-laajennusta ei löydy palvelimesta.', + 'zip_error' => 'ZIP-käsittelyssä on ilmennyt virhe.', + ), + 'profile' => array( + 'error' => 'Profiilia ei voi muokata', + 'updated' => 'Profiilia on muokattu', + ), + 'sub' => array( + 'actualize' => 'Päivitetään', + 'articles' => array( + 'marked_read' => 'Valitut artikkelit on merkitty luetuiksi.', + 'marked_unread' => 'Artikkelit on merkitty lukemattomiksi.', + ), + 'category' => array( + 'created' => 'Luokka %s on luotu.', + 'deleted' => 'Luokka on poistettu.', + 'emptied' => 'Luokka on tyhjennetty', + 'error' => 'Luokan päivitys ei onnistu', + 'name_exists' => 'Luokan nimi on jo käytössä.', + 'no_id' => 'Määritä luokan tunnus.', + 'no_name' => 'Luokan nimi ei voi olla tyhjä.', + 'not_delete_default' => 'Oletusluokkaa ei voi poistaa.', + 'not_exist' => 'Luokkaa ei ole.', + 'over_max' => 'Enimmäismäärä luokkia on luotu (%d)', + 'updated' => 'Luokka on päivitetty.', + ), + 'feed' => array( + 'actualized' => '%s on päivitetty', + 'actualizeds' => 'RSS-syötteet on päivitetty', + 'added' => 'RSS-syöte %s on lisätty', + 'already_subscribed' => 'Olet jo tilannut syötteen %s', + 'cache_cleared' => 'Välimuisti %s on tyhjennetty', + 'deleted' => 'Syöte on poistettu', + 'error' => 'Syötteen päivitys ei onnistu', + 'internal_problem' => 'Uutissyötettä ei voinut lisätä. Lisätietoja on FreshRSS-lokeissa. Voit yrittää pakottaa lisäämisen liittämällä tekstin #force_feed URL-osoitteen loppuun.', + 'invalid_url' => 'URL-osoite %s on virheellinen', + 'n_actualized' => '%d syötettä on päivitetty', + 'n_entries_deleted' => '%d artikkelia on poistettu', + 'no_refresh' => 'Päivitettäviä syötteitä ei ole', + 'not_added' => 'Syötteen %s lisäys ei onnistunut', + 'not_found' => 'Syötettä ei löydy', + 'over_max' => 'Enimmäismäärä syötteitä on lisätty (%d)', + 'reloaded' => '%s on ladattu uudelleen', + 'selector_preview' => array( + 'http_error' => 'Sivuston sisällön lataus epäonnistui.', + 'no_entries' => 'Syötteessä ei ole artikkeleita. Tarvitset ainakin yhden artikkelin luodaksesi esikatselun.', + 'no_feed' => 'Sisäinen virhe (syötettä ei löydy).', + 'no_result' => 'Valitsin ei vastannut mitään sisältöä. Varatoimena näytetään alkuperäisen syötteen teksti.', + 'selector_empty' => 'Valitsin on tyhjä. Määritä ainakin yksi valitsin luodaksesi esikatselun.', + ), + 'updated' => 'Syöte on päivitetty', + ), + 'purge_completed' => 'Tyhjennys on valmis (%d artikkelia poistettu)', + ), + 'tag' => array( + 'created' => 'Merkintä “%s” on luotu.', + 'error' => 'Merkinnän päivitys ei onnistunut.', + 'name_exists' => 'Samanniminen merkintä on lisätty aiemmin.', + 'renamed' => 'Merkintä “%s” on nimetty uudelleen: “%s”.', + 'updated' => 'Merkintä on päivitetty.', + ), + 'update' => array( + 'can_apply' => 'FreshRSS-sovellukseen on saatavissa päivitys: versio %s.', + 'error' => 'Päivityksessä on ilmennyt virhe: %s', + 'file_is_nok' => 'FreshRSS-sovellukseen on saatavissa päivitys (version %s), mutta tarkista hakemiston %s oikeudet. HTTP-palvelimella on oltava kirjoitusoikeus.', + 'finished' => 'Päivitys on valmis!', + 'none' => 'Päivitystä ei ole saatavilla', + 'server_not_found' => 'Päivityspalvelinta ei löydy. [%s]', + ), + 'user' => array( + 'created' => array( + '_' => 'Käyttäjä %s on luotu', + 'error' => 'Käyttäjän %s luonti ei onnistu', + ), + 'deleted' => array( + '_' => 'Käyttäjä %s on poistettu', + 'error' => 'Käyttäjän %s poisto ei onnistu', + ), + 'updated' => array( + '_' => 'Käyttäjä %s on päivitetty', + 'error' => 'Käyttäjää %s ei ole päivitetty', + ), + ), +); diff --git a/app/i18n/fi/gen.php b/app/i18n/fi/gen.php new file mode 100644 index 000000000..001e84e52 --- /dev/null +++ b/app/i18n/fi/gen.php @@ -0,0 +1,260 @@ + array( + 'actualize' => 'Päivitä syötteet', + 'add' => 'Lisää', + 'back' => '← Palaa', + 'back_to_rss_feeds' => '← Palaa RSS-syötteisiin', + 'cancel' => 'Peruuta', + 'create' => 'Luo', + 'delete_muted_feeds' => 'Poista vaimennetut syötteet', + 'demote' => 'Laske tärkeyttä', + 'disable' => 'Poista käytöstä', + 'download' => 'Lataa', + 'empty' => 'Tyhjennä', + 'enable' => 'Ota käyttöön', + 'export' => 'Vie', + 'filter' => 'Suodata', + 'import' => 'Tuo', + 'load_default_shortcuts' => 'Lataa oletuspikanäppäimet', + 'manage' => 'Hallinnoi', + 'mark_read' => 'Merkitse luetuksi', + 'menu' => array( + 'open' => 'Avaa valikko', + ), + 'nav_buttons' => array( + 'next' => 'Seuraava artikkeli', + 'prev' => 'Edellinen artikkeli', + 'up' => 'Siirry ylöspäin', + ), + 'open_url' => 'Avaa URL-osoite', + 'promote' => 'Nosta tärkeyttä', + 'purge' => 'Tyhjennä', + 'refresh_opml' => 'Päivitä OPML', + 'remove' => 'Poista', + 'rename' => 'Nimeä uudelleen', + 'see_website' => 'Siirry sivustolle', + 'submit' => 'Lähetä', + 'truncate' => 'Poista kaikki artikkelit', + 'update' => 'Päivitä', + ), + 'auth' => array( + 'accept_tos' => 'Hyväksyn käyttöehdot.', + 'email' => 'Sähköpostiosoite', + 'keep_logged_in' => 'Pidä minut kirjautuneena (%s päivää)', + 'login' => 'Kirjaudu sisään', + 'logout' => 'Kirjaudu ulos', + 'password' => array( + '_' => 'Salasana', + 'format' => 'Vähintään 7 merkkiä', + ), + 'registration' => array( + '_' => 'Uusi tili', + 'ask' => 'Haluatko luoda tilin?', + 'title' => 'Tilin luonti', + ), + 'username' => array( + '_' => 'Käyttäjätunnus', + 'format' => 'Enintään 16 aakkosnumeerista merkkiä', + ), + ), + 'date' => array( + 'Apr' => '\\h\\u\\h\\t\\i\\k\\u\\u', + 'Aug' => '\\e\\l\\o\\k\\u\\u', + 'Dec' => '\\j\\o\\u\\l\\u\\k\\u\\u', + 'Feb' => '\\h\\e\\l\\m\\i\\k\\u\\u', + 'Jan' => '\\t\\a\\m\\m\\i\\k\\u\\u', + 'Jul' => '\\h\\e\\i\\n\\ä\\k\\u\\u', + 'Jun' => '\\k\\e\\s\\ä\\k\\u\\u', + 'Mar' => '\\m\\a\\a\\l\\i\\s\\k\\u\\u', + 'May' => '\\t\\o\\u\\k\\o\\k\\u\\u', + 'Nov' => '\\m\\a\\r\\r\\a\\s\\k\\u\\u', + 'Oct' => '\\l\\o\\k\\a\\k\\u\\u', + 'Sep' => '\\s\\y\\y\\s\\k\\u\\u', + 'apr' => 'huhti', + 'april' => 'huhtikuu', + 'aug' => 'elo', + 'august' => 'elokuu', + 'before_yesterday' => 'Ennen eilistä', + 'dec' => 'joulu', + 'december' => 'joulukuu', + 'feb' => 'helmi', + 'february' => 'helmikuu', + 'format_date' => 'j\\. %s\\t\\a Y', + 'format_date_hour' => 'j\\. %s\\t\\a Y klo H\\:i', + 'fri' => 'pe', + 'jan' => 'tammi', + 'january' => 'tammikuu', + 'jul' => 'heinä', + 'july' => 'heinäkuu', + 'jun' => 'kesä', + 'june' => 'kesäkuu', + 'last_2_year' => 'Edelliset kaksi vuotta', + 'last_3_month' => 'Edelliset kolme kuukautta', + 'last_3_year' => 'Edelliset kolme vuotta', + 'last_5_year' => 'Edelliset viisi vuotta', + 'last_6_month' => 'Edelliset kuusi kuukautta', + 'last_month' => 'Viime kuukausi', + 'last_week' => 'Viime viikko', + 'last_year' => 'Viime vuosi', + 'mar' => 'maalis', + 'march' => 'maaliskuu', + 'may' => 'touko', + 'may_' => 'toukokuu', + 'mon' => 'ma', + 'month' => 'kuukautta', + 'nov' => 'marras', + 'november' => 'marraskuu', + 'oct' => 'loka', + 'october' => 'lokakuu', + 'sat' => 'la', + 'sep' => 'syys', + 'september' => 'syyskuu', + 'sun' => 'su', + 'thu' => 'to', + 'today' => 'Tänään', + 'tue' => 'ti', + 'wed' => 'ke', + 'yesterday' => 'Eilen', + ), + 'dir' => 'ltr', // IGNORE + 'freshrss' => array( + '_' => 'FreshRSS', // IGNORE + 'about' => 'Tietoja FreshRSS-sovelluksesta', + ), + 'js' => array( + 'category_empty' => 'Tyhjennä luokka', + 'confirm_action' => 'Haluatko varmasti toteuttaa toiminnon? Sitä ei voi peruuttaa!', + 'confirm_action_feed_cat' => 'Haluatko varmasti toteuttaa toiminnon? Luokkaan kuuluvat suosikit ja kyselyt poistetaan. Tätä ei voi peruuttaa!', + 'feedback' => array( + 'body_new_articles' => 'FreshRSS-sovelluksessa on %%d uutta artikkelia luettavana.', + 'body_unread_articles' => '(lukematta: %%d)', + 'request_failed' => 'Pyyntö epäonnistui. Internetyhteydessä on ehkä ollut ongelmia.', + 'title_new_articles' => 'FreshRSS: uusia artikkeleita!', + ), + 'labels_empty' => 'Ei tunnisteita', + 'new_article' => 'Uusia artikkeleita on saatavilla. Päivitä sivu napsauttamalla.', + 'should_be_activated' => 'JavaScriptin on oltava käytössä', + ), + 'lang' => array( + 'cs' => 'Čeština', // IGNORE + 'de' => 'Deutsch', // IGNORE + 'el' => 'Ελληνικά', // IGNORE + 'en' => 'English', // IGNORE + 'en-us' => 'English (United States)', // IGNORE + 'es' => 'Español', // IGNORE + 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE + 'fr' => 'Français', // IGNORE + 'he' => 'עברית', // IGNORE + 'hu' => 'Magyar', // IGNORE + 'id' => 'Bahasa Indonesia', // IGNORE + 'it' => 'Italiano', // IGNORE + 'ja' => '日本語', // IGNORE + 'ko' => '한국어', // IGNORE + 'lv' => 'Latviešu', // IGNORE + 'nl' => 'Nederlands', // IGNORE + 'oc' => 'Occitan', // IGNORE + 'pl' => 'Polski', // IGNORE + 'pt-br' => 'Português (Brasil)', // IGNORE + 'ru' => 'Русский', // IGNORE + 'sk' => 'Slovenčina', // IGNORE + 'tr' => 'Türkçe', // IGNORE + 'zh-cn' => '简体中文', // IGNORE + 'zh-tw' => '正體中文', // IGNORE + ), + 'menu' => array( + 'about' => 'Tietoja', + 'account' => 'Tili', + 'admin' => 'Hallinta', + 'archiving' => 'Arkistointi', + 'authentication' => 'Todentaminen', + 'check_install' => 'Asennuksen tarkistus', + 'configuration' => 'Määritys', + 'display' => 'Näkymä', + 'extensions' => 'Laajennukset', + 'logs' => 'Lokit', + 'privacy' => 'Tietosuoja', + 'queries' => 'Käyttäjän kyselyt', + 'reading' => 'Lukeminen', + 'search' => 'Hae sanoja tai #tunnisteita', + 'search_help' => 'Ohjeessa on tietoja haun lisäparametreista', + 'sharing' => 'Jakaminen', + 'shortcuts' => 'Pikanäppäimet', + 'stats' => 'Tilastot', + 'system' => 'Järjestelmän määritys', + 'update' => 'Päivitys', + 'user_management' => 'Hallinnoi käyttäjiä', + 'user_profile' => 'Profiili', + ), + 'period' => array( + 'days' => 'päivää', + 'hours' => 'tuntia', + 'months' => 'kuukautta', + 'weeks' => 'viikkoa', + 'years' => 'vuotta', + ), + 'share' => array( + 'Known' => 'Known-sivustot', + 'archiveIS' => 'archive.is', // IGNORE + 'archiveORG' => 'archive.org', // IGNORE + 'archivePH' => 'archive.ph', // IGNORE + 'buffer' => 'Buffer', // IGNORE + 'clipboard' => 'Clipboard', // IGNORE + 'diaspora' => 'Diaspora*', // IGNORE + 'email' => 'Sähköposti', + 'email-webmail-firefox-fix' => 'Sähköposti (webposti - korjaus Firefoxia varten)', + 'facebook' => 'Facebook', // IGNORE + 'gnusocial' => 'GNU social', // IGNORE + 'jdh' => 'Journal du hacker', // IGNORE + 'lemmy' => 'Lemmy', // IGNORE + 'linkding' => 'Linkding', // IGNORE + 'linkedin' => 'LinkedIn', // IGNORE + 'mastodon' => 'Mastodon', // IGNORE + 'movim' => 'Movim', // IGNORE + 'omnivore' => 'Omnivore', // IGNORE + 'pinboard' => 'Pinboard', // IGNORE + 'pinterest' => 'Pinterest', // IGNORE + 'pocket' => 'Pocket', // IGNORE + 'print' => 'Tulostus', + 'raindrop' => 'Raindrop.io', // IGNORE + 'reddit' => 'Reddit', // IGNORE + 'shaarli' => 'Shaarli', // IGNORE + 'telegram' => 'Telegram', // IGNORE + 'twitter' => 'Twitter', // IGNORE + 'wallabag' => 'wallabag v1', // IGNORE + 'wallabagv2' => 'wallabag v2', // IGNORE + 'web-sharing-api' => 'Järjestelmän oma jakovalikko', + 'whatsapp' => 'WhatsApp', + 'xing' => 'Xing', // IGNORE + ), + 'short' => array( + 'attention' => 'Varoitus!', + 'blank_to_disable' => 'Poista käytöstä jättämällä tämä tyhjäksi', + 'by_author' => 'Kirjoittaja:', + 'by_default' => 'Oletusarvo', + 'damn' => 'Pahus!', + 'default_category' => 'Luokittelematon', + 'no' => 'Ei', + 'not_applicable' => 'Ei käytettävissä', + 'ok' => 'Selvä!', + 'or' => 'tai', + 'yes' => 'Kyllä', + ), + 'stream' => array( + 'load_more' => 'Lataa lisää artikkeleita', + 'mark_all_read' => 'Merkitse kaikki luetuiksi', + 'nothing_to_load' => 'Artikkeleita ei ole enempää', + ), +); diff --git a/app/i18n/fi/index.php b/app/i18n/fi/index.php new file mode 100644 index 000000000..63007001b --- /dev/null +++ b/app/i18n/fi/index.php @@ -0,0 +1,76 @@ + array( + '_' => 'Tietoja', + 'agpl3' => 'AGPL 3', // IGNORE + 'bugs_reports' => 'Virheraportit', + 'credits' => 'Tekijät', + 'credits_content' => 'Jotkin suunnitteluelementit perustuvat Bootstrapiin, mutta FreshRSS ei käytä tätä kehystä. Kuvakkeet tulevat GNOME-projektista. Open Sans -fontin on luonut Steve Matteson. FreshRSS perustuu PHP-kehykseen Minz.', + 'documentation' => 'Ohjeet', + 'freshrss_description' => 'FreshRSS on itse asennettava RSS-syötteiden luku- ja hallintaohjelma. Sen avulla voit helposti lukea ja seurata useita uutissivustoja yhdessä näkymässä, eikä sinun tarvitse siirtyä sivustolta toiselle. FreshRSS on kevyt, muokattavissa ja helppokäyttöinen.', + 'github' => 'GitHubissa', + 'license' => 'Käyttöoikeus', + 'project_website' => 'Projektin sivusto', + 'title' => 'Tietoja', + 'version' => 'Versio', + ), + 'feed' => array( + 'empty' => 'Näytettäviä artikkeleita ei ole.', + 'rss_of' => 'Sivuston %s RSS-syöte', + 'title' => 'Pääsyötevirta', + 'title_fav' => 'Suosikit', + 'title_global' => 'Yleisnäkymä', + ), + 'log' => array( + '_' => 'Lokit', + 'clear' => 'Tyhjennä lokit', + 'empty' => 'Lokitiedosto on tyhjä', + 'title' => 'Lokit', + ), + 'menu' => array( + 'about' => 'Tietoja FreshRSS-sovelluksesta', + 'before_one_day' => 'Vanhemmat kuin yksi päivä', + 'before_one_week' => 'Vanhemmat kuin yksi viikko', + 'bookmark_query' => 'Tallenna tämä kysely kirjanmerkiksi', + 'favorites' => 'Suosikit (%s)', + 'global_view' => 'Yleisnäkymä', + 'important' => 'Tärkeät syötteet', + 'main_stream' => 'Pääsyötevirta', + 'mark_all_read' => 'Merkitse kaikki luetuiksi', + 'mark_cat_read' => 'Merkitse luokka luetuksi', + 'mark_feed_read' => 'Merkitse syöte luetuksi', + 'mark_selection_unread' => 'Merkitse valitut lukemattomiksi', + 'newer_first' => 'Uusin ensin', + 'non-starred' => 'Näytä muut kuin suosikit', + 'normal_view' => 'Tavallinen näkymä', + 'older_first' => 'Vanhin ensin', + 'queries' => 'Käyttäjän tekemät kyselyt', + 'read' => 'Näytä luetut', + 'reader_view' => 'Lukunäkymä', + 'rss_view' => 'RSS-syöte', + 'search_short' => 'Haku', + 'starred' => 'Näytä suosikit', + 'stats' => 'Tilastot', + 'subscription' => 'Tilausten hallinta', + 'tags' => 'Omat tunnisteet', + 'unread' => 'Näytä lukemattomat', + ), + 'share' => 'Jaa', + 'tag' => array( + 'related' => 'Artikkelin tunnisteet', + ), + 'tos' => array( + 'title' => 'Käyttöehdot', + ), +); diff --git a/app/i18n/fi/install.php b/app/i18n/fi/install.php new file mode 100644 index 000000000..75cdf31e9 --- /dev/null +++ b/app/i18n/fi/install.php @@ -0,0 +1,136 @@ + array( + 'finish' => 'Tee asennus loppuun', + 'fix_errors_before' => 'Korjaa kaikki virheet, ennen kuin siirryt seuraavaan vaiheeseen.', + 'keep_install' => 'Säilytä edelliset määritykset', + 'next_step' => 'Siirry seuraavaan vaiheeseen', + 'reinstall' => 'Asenna FreshRSS uudelleen', + ), + 'auth' => array( + 'form' => 'Web-lomake (perinteinen, käyttää JavaScriptiä)', + 'http' => 'HTTP (tai HTTPS edistyneille käyttäjille)', + 'none' => 'Ei mitään (vaarallinen)', + 'password_form' => 'Salasana
(Web-lomakkeella kirjautumista varten)', + 'password_format' => 'Vähintään 7 merkkiä', + 'type' => 'Todentamismenetelmä', + ), + 'bdd' => array( + '_' => 'Tietokanta', + 'conf' => array( + '_' => 'Tietokannan määritys', + 'ko' => 'Tarkista tietokannan määritys.', + 'ok' => 'Tietokannan määritys on tallennettu.', + ), + 'host' => 'Palvelin', + 'password' => 'Tietokannan salasana', + 'prefix' => 'Taulun etuliite', + 'type' => 'Tietokannan laji', + 'username' => 'Tietokantakäyttäjän tunnus', + ), + 'check' => array( + '_' => 'Tarkistukset', + 'already_installed' => 'FreshRSS on jo asennettu!', + 'cache' => array( + 'nok' => 'Tarkista käyttäjän %2$s oikeudet hakemistoon %1$s. HTTP-palvelimella on oltava kirjoitusoikeus.', + 'ok' => 'Cache-hakemiston oikeudet ovat oikein.', + ), + 'ctype' => array( + 'nok' => 'Merkkilajien tarkastukseen tarvittavaa kirjastoa (php-ctype) ei löydy.', + 'ok' => 'Merkkilajien tarkastukseen tarvittava kirjasto (ctype) löytyy.', + ), + 'curl' => array( + 'nok' => 'cURL-kirjastoa (php-curl-paketti) ei löydy.', + 'ok' => 'cURL-kirjasto löytyy.', + ), + 'data' => array( + 'nok' => 'Tarkista käyttäjän %2$s oikeudet hakemistoon %1$s. HTTP-palvelimella on oltava kirjoitusoikeus.', + 'ok' => 'Data-hakemiston oikeudet ovat oikein.', + ), + 'dom' => array( + 'nok' => 'DOM-rakenteen selaamiseen tarvittavaa kirjastoa ei löydy.', + 'ok' => 'DOM-rakenteen selaamiseen tarvittava kirjasto löytyy.', + ), + 'favicons' => array( + 'nok' => 'Tarkista käyttäjän %2$s oikeudet hakemistoon %1$s. HTTP-palvelimella on oltava kirjoitusoikeus.', + 'ok' => 'Favicons-hakemiston oikeudet ovat oikein.', + ), + 'fileinfo' => array( + 'nok' => 'PHP fileinfo -kirjastoa (fileinfo-paketti) ei löydy.', + 'ok' => 'Fileinfo-kirjasto löytyy.', + ), + 'json' => array( + 'nok' => 'JSON-sisällön jäsentämiseen suositeltua kirjastoa ei löydy.', + 'ok' => 'JSON-sisällön jäsentämiseen suositeltu kirjasto löytyy.', + ), + 'mbstring' => array( + 'nok' => 'Unicodea varten suositeltua mbstring-kirjastoa ei löydy.', + 'ok' => 'Unicodea varten suositeltu mbstring-kirjasto löytyy.', + ), + 'pcre' => array( + 'nok' => 'Säännöllisiä lausekkeita varten tarvittavaa kirjastoa (php-pcre) ei löydy.', + 'ok' => 'Säännöllisiä lausekkeita varten tarvittava kirjasto (PCRE) löytyy.', + ), + 'pdo' => array( + 'nok' => 'PDO:ta tai jotain tuettua ohjainta (pdo_mysql, pdo_sqlite, pdo_pgsql) ei löydy.', + 'ok' => 'PDO ja ainakin yksi tuetuista ohjaimista (pdo_mysql, pdo_sqlite, pdo_pgsql) löytyy.', + ), + 'php' => array( + 'nok' => 'Asennettu PHP-versio on %s, mutta FreshRSS edellyttää vähintään versiota %s.', + 'ok' => 'Asennettu PHP-versio, %s, on yhteensopiva FreshRSS-sovelluksen kanssa.', + ), + 'reload' => 'Tarkista uudelleen', + 'tmp' => array( + 'nok' => 'Tarkista käyttäjän %2$s oikeudet hakemistoon %1$s. HTTP-palvelimella on oltava kirjoitusoikeus.', + 'ok' => 'Temp-hakemiston oikeudet ovat oikein.', + ), + 'unknown_process_username' => 'tuntematon', + 'users' => array( + 'nok' => 'Tarkista käyttäjän %2$s oikeudet hakemistoon %1$s. HTTP-palvelimella on oltava kirjoitusoikeus.', + 'ok' => 'Users-hakemiston oikeudet ovat oikein.', + ), + 'xml' => array( + 'nok' => 'XML-sisällön jäsentämiseen tarvittavaa kirjastoa ei löydy.', + 'ok' => 'XML-sisällön jäsentämiseen tarvittava kirjasto löytyy.', + ), + ), + 'conf' => array( + '_' => 'Yleinen määritykset', + 'ok' => 'Yleiset määritykset on tallennettu.', + ), + 'congratulations' => 'Onneksi olkoon!', + 'default_user' => array( + '_' => 'Oletuskäyttäjän käyttäjätunnus', + 'max_char' => 'Enintään 16 aakkosnumeerista merkkiä', + ), + 'fix_errors_before' => 'Korjaa virheet, ennen kuin siirryt seuraavaan vaiheeseen.', + 'javascript_is_better' => 'FreshRSS-sovellusta on miellyttävämpi käyttää, kun JavaScript on käytössä', + 'js' => array( + 'confirm_reinstall' => 'Jos asennat FreshRSS-sovelluksen uudelleen, menetät kaikki aiemmin tekemäsi määritykset. Haluatko varmasti jatkaa?', + ), + 'language' => array( + '_' => 'Kieli', + 'choose' => 'Valitse FreshRSS-sovelluksen kieli', + 'defined' => 'Kieli on määritetty.', + ), + 'missing_applied_migrations' => 'Jotain meni pieleen. Luo tyhjä tiedosto %s itse.', + 'ok' => 'Asennus onnistui.', + 'session' => array( + 'nok' => 'Web-palvelinta ei ole määritetty oikein PHP-istuntojen tarvitsemia evästeitä varten.', + ), + 'step' => 'vaihe %d', + 'steps' => 'Vaiheet', + 'this_is_the_end' => 'Asennus päättyy tähän', + 'title' => 'Asennus · FreshRSS', +); diff --git a/app/i18n/fi/sub.php b/app/i18n/fi/sub.php new file mode 100644 index 000000000..e28f7d2bf --- /dev/null +++ b/app/i18n/fi/sub.php @@ -0,0 +1,293 @@ + array( + 'documentation' => 'Kopioi seuraava URL-osoite, niin voit käyttää sitä ulkoisessa työkalussa.', + 'title' => 'API', // IGNORE + ), + 'bookmarklet' => array( + 'documentation' => 'Vedä tämä painike kirjanmerkkien työkalupalkkiin tai napsauta sitä hiiren kakkospainikkeella ja valitse Bookmark This Link (Tallenna linkki kirjanmerkkeihin). Napsauta sitten Tilaa-painiketta millä tahansa sivulla, jonka päivityksiä haluat seurata.', + 'label' => 'Tilaa', + 'title' => 'Kirjanmerkkisovelma', + ), + 'category' => array( + '_' => 'Luokka', + 'add' => 'Lisää luokka', + 'archiving' => 'Arkistointi', + 'dynamic_opml' => array( + '_' => 'Dynaaminen OPML', + 'help' => 'Voit tuoda syötteet tähän luokkaan automaattisesti antamalla OPML-tiedoston URL-osoitteen', + ), + 'empty' => 'Tyhjä luokka', + 'expand' => 'Laajenna luokka', + 'information' => 'Tiedot', + 'open' => 'Avaa luokka', + 'opml_url' => 'OPML-tiedoston URL-osoite', + 'position' => 'Näyttöjärjestys', + 'position_help' => 'Määritä luokkien lajittelujärjestys', + 'title' => 'Otsikko', + ), + 'feed' => array( + 'accept_cookies' => 'Hyväksy evästeet', + 'accept_cookies_help' => 'Salli syötepalvelimen määrittää evästeitä (tallennetaan vain pyynnön käsittelyn ajaksi)', + 'add' => 'Lisää syöte', + 'advanced' => 'Lisäasetukset', + 'archiving' => 'Arkistointi', + 'auth' => array( + 'configuration' => 'Sisäänkirjaus', + 'help' => 'Mahdollistaa HTTP-suojattujen RSS-syötteiden käytön', + 'http' => 'HTTP-todennus', + 'password' => 'HTTP-salasana', + 'username' => 'HTTP-käyttäjätunnus', + ), + 'clear_cache' => 'Tyhjennä välimuisti aina', + 'content_action' => array( + '_' => 'Toiminto noudettaessa artikkelin sisältö', + 'append' => 'Lisää aiemman sisällön perään', + 'prepend' => 'Lisää ennen aiempaa sisältöä', + 'replace' => 'Korvaa aiempi sisältö', + ), + 'css_cookie' => 'Käytä evästeitä noudettaessa artikkelin sisältö', + 'css_cookie_help' => 'Esimerkki: foo=bar; gdpr_consent=true; cookie=value', + 'css_help' => 'Noutaa lyhennetyt RSS-syötteet (huomautus: kestää pidempään!)', + 'css_path' => 'Artikkelin CSS-valitsin alkuperäisellä sivustolla', + 'css_path_filter' => array( + '_' => 'Poistettavien elementtien CSS-valitsin', + 'help' => 'CSS-valitsin voi olla luettelo, kuten: .footer, .aside, p[data-sanitized-class="menu"]', + ), + 'description' => 'Kuvaus', + 'empty' => 'Syöte on tyhjä. Varmista, että sitä ylläpidetään edelleen.', + 'error' => 'Syötteessä on ilmennyt ongelma. Varmista, että se on aina tavoitettavissa ja päivitä se sitten.', + 'export-as-opml' => array( + 'download' => 'Lataa', + 'help' => 'XML-tiedosto (osa tiedoista. Katso ohje)', + 'label' => 'Vie OPML-tiedostoksi', + ), + 'filteractions' => array( + '_' => 'Suodatustoiminnot', + 'help' => 'Kirjoita kukin hakusuodatin omalle rivilleen. Lisätietoja operaattoreista ohjeissa.', + ), + 'http_headers' => 'HTTP-otsikot', + 'http_headers_help' => 'Otsikot erotellaan rivinvaihdoin, ja nimi ja arvo erotellaan kaksoispisteellä. Esimerkki: Accept: application/atom+xml
Authorization: Bearer some-token
).', + 'information' => 'Tiedot', + 'keep_min' => 'Säilytettävien artikkeleiden vähimmäismäärä', + 'kind' => array( + '_' => 'Syötteen lähteen laji', + 'html_json' => array( + '_' => 'HTML + XPath + JSON-pistemerkintä (JSON HTML:ssä)', + 'xpath' => array( + '_' => 'XPath (JSON HTML:ssä)', + 'help' => 'Esimerkki: //script[@type="application/json"]', + ), + ), + 'html_xpath' => array( + '_' => 'HTML + XPath (sivujen haravointi)', + 'feed_title' => array( + '_' => 'syötteen otsikko', + 'help' => 'Esimerkki: //title tai staattinen merkkijono: "Oma syötteeni"', + ), + 'help' => 'XPath 1.0 on standardinmukainen kyselykieli edistyneille käyttäjille, jonka avulla FreshRSS toteuttaa verkkosivujen haravoinnin.', + 'item' => array( + '_' => 'uutisten haku
(tärkein)', + 'help' => 'Esimerkki: //div[@class="news-item"]', + ), + 'item_author' => array( + '_' => 'tekstin kirjoittaja', + 'help' => 'Voi olla myös staattinen merkkijono. Esimerkki: "Anonyymi"', + ), + 'item_categories' => 'tekstin avainsanat (tag)', + 'item_content' => array( + '_' => 'tekstin sisältö', + 'help' => 'Esimerkiksi koko tekstin sisältö: .', + ), + 'item_thumbnail' => array( + '_' => 'tekstin pikkukuva', + 'help' => 'Esimerkki: descendant::img/@src', + ), + 'item_timeFormat' => array( + '_' => 'Mukautettu päivämäärän/kellonajan muoto', + 'help' => 'Valinnainen. DateTime::createFromFormat()-funktion tukema muoto, kuten d-m-Y H:i:s', + ), + 'item_timestamp' => array( + '_' => 'tekstin päivämäärä', + 'help' => 'strtotime()-funktio jäsentää tuloksen', + ), + 'item_title' => array( + '_' => 'tekstin otsikko', + 'help' => 'Käytä erityisesti XPath-siirtymää descendant::, esimerkiksi descendant::h2', + ), + 'item_uid' => array( + '_' => 'tekstin yksilöllinen tunnus', + 'help' => 'Valinnainen. Esimerkki: descendant::div/@data-uri', + ), + 'item_uri' => array( + '_' => 'tekstin URL-osoite', + 'help' => 'Esimerkki: descendant::a/@href', + ), + 'relative' => 'XPath (suhteessa tekstiin) kohteelle:', + 'xpath' => 'XPath kohteelle:', + ), + 'json_dotnotation' => array( + '_' => 'JSON (pistemerkintä)', + 'feed_title' => array( + '_' => 'syötteen otsikko', + 'help' => 'Esimerkki: meta.title tai staattinen merkkijono: "Mukautettu syötteeni"', + ), + 'help' => 'JSON-pistemerkintä käyttää pisteitä objektien välissä ja hakasulkeita taulukoissa (esimerkki: data.items[0].title)', + 'item' => array( + '_' => 'uutisten haku
(tärkein)', + 'help' => 'JSON-polku taulukkoon, joka sisältää tekstit, esimerkiksi $ tai newsItems', + ), + 'item_author' => 'tekstin kirjoittaja', + 'item_categories' => 'tekstin avainsanat (tag)', + 'item_content' => array( + '_' => 'tekstin sisältö', + 'help' => 'Tunniste, jossa sisältö on, esimerkiksi content', + ), + 'item_thumbnail' => array( + '_' => 'tekstin pikkukuva', + 'help' => 'Esimerkki: image', + ), + 'item_timeFormat' => array( + '_' => 'Mukautettu päivämäärän/kellonajan muoto', + 'help' => 'Valinnainen. DateTime::createFromFormat()-funktion tukema muoto, kuten d-m-Y H:i:s', + ), + 'item_timestamp' => array( + '_' => 'tekstin päivämäärä', + 'help' => 'strtotime()-funktio jäsentää tuloksen', + ), + 'item_title' => 'tekstin otsikko', + 'item_uid' => 'tekstin yksilöllinen tunnus', + 'item_uri' => array( + '_' => 'tekstin URL-osoite', + 'help' => 'Esimerkki: permalink', + ), + 'json' => 'pistemerkintä kohteelle:', + 'relative' => 'pistemerkitty polku (suhteessa tekstiin) kohteelle:', + ), + 'jsonfeed' => 'JSON-syöte', + 'rss' => 'RSS/Atom (oletus)', + 'xml_xpath' => 'XML + XPath', // IGNORE + ), + 'maintenance' => array( + 'clear_cache' => 'Tyhjennä välimuisti', + 'clear_cache_help' => 'Tyhjennä syötteen välimuisti.', + 'reload_articles' => 'Lataa artikkelit uudelleen', + 'reload_articles_help' => 'Lataa määritetty lukumäärä artikkeleita uudelleen ja nouda koko sisältö, jos valitsin on määritetty.', + 'title' => 'Ylläpito', + ), + 'max_http_redir' => 'Enimmäismäärä HTTP-uudelleenohjauksia', + 'max_http_redir_help' => 'Voit määrittää arvoksi myös 0 tai tyhjä (poista käytöstä) tai -1 (rajaton määrä uudelleenohjauksia)', + 'method' => array( + '_' => 'HTTP-metodi', + ), + 'method_help' => 'POST-tiedot tukevat automaattisesti application/x-www-form-urlencoded- ja application/json-sisältöä', + 'method_postparams' => 'POST-menetelmän tiedot', + 'moved_category_deleted' => 'Kun poistat luokan, sen syötteet siirretään automaattisesti luokkaan %s.', + 'mute' => array( + '_' => 'vaimenna', + 'state_is_muted' => 'Syöte on vaimennettu', + ), + 'no_selected' => 'Syötettä ei ole valittu.', + 'number_entries' => '%d artikkelia', + 'open_feed' => 'Avaa syöte %s', + 'priority' => array( + '_' => 'Näkyvyys', + 'archived' => 'Älä näytä (arkistoitu)', + 'category' => 'Näytä luokassaan', + 'important' => 'Näytä tärkeissä syötteissä', + 'main_stream' => 'Näytä pääsyötevirrassa', + ), + 'proxy' => 'Nouda syöte käyttämällä välityspalvelinta', + 'proxy_help' => 'Valitse protokolla (esimerkki: SOCKS5) ja kirjoita välityspalvelimen osoite (esimerkki: 127.0.0.1:1080 tai käyttäjätunnus:salasana@127.0.0.1:1080)', + 'selector_preview' => array( + 'show_raw' => 'Näytä lähdekoodi', + 'show_rendered' => 'Näytä sisältö', + ), + 'show' => array( + 'all' => 'Näytä kaikki syötteet', + 'error' => 'Näytä vain syötteet, joissa on virheitä', + ), + 'showing' => array( + 'error' => 'Näkyvissä vain syötteet, joissa on virheitä', + ), + 'ssl_verify' => 'Varmenna SSL-suojaus', + 'stats' => 'Tilastot', + 'think_to_add' => 'Haluat ehkä lisätä joitakin syötteitä.', + 'timeout' => 'Aikakatkaisu sekunteina', + 'title' => 'Otsikko', + 'title_add' => 'Lisää RSS-syöte', + 'ttl' => 'Älä päivitä automaattisesti useammin kuin', + 'unicityCriteria' => array( + '_' => 'Artikkelin yksilöivät ehdot', + 'forced' => 'pakotettu', + 'help' => 'Olennainen virheellisille syötteille.
⚠️ Käytännön muuttaminen luo kaksoiskappaleita.', + 'id' => 'Perustunnus (oletus)', + 'link' => 'Linkki', + 'sha1:link_published' => 'Linkki + päiväys', + 'sha1:link_published_title' => 'Linkki + päiväys + otsikko', + 'sha1:link_published_title_content' => 'Linkki + päiväys + otsikko + sisältö', + ), + 'url' => 'Syötteen URL-osoite', + 'useragent' => 'Määritä syötteen noutamiseen käytettävä käyttäjäagentti', + 'useragent_help' => 'Esimerkki: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0)', + 'validator' => 'Tarkista syötteen kelpoisuus', + 'website' => 'Sivuston URL-osoite', + 'websub' => 'Välittömät ilmoitukset WebSubin avulla', + ), + 'import_export' => array( + 'export' => array( + '_' => 'Vie', + 'sqlite' => 'Lataa käyttäjän tietokanta SQLite-muodossa', + ), + 'export_labelled' => 'Vie merkityt artikkelit', + 'export_opml' => 'Vie syöteluettelo (OPML)', + 'export_starred' => 'Vie suosikit', + 'feed_list' => 'Syötteen %s artikkelit', + 'file_to_import' => 'Tuotava tiedosto
(OPML, JSON tai ZIP)', + 'file_to_import_no_zip' => 'Tuotava tiedosto
(OPML tai JSON)', + 'import' => 'Tuo tiedostosta', + 'starred_list' => 'Suosikkiartikkelit', + 'title' => 'Tuonti / Vienti', + ), + 'menu' => array( + 'add' => 'Lisää syöte tai luokka', + 'import_export' => 'Tuonti / Vienti', + 'label_management' => 'Tunnisteiden hallinta', + 'stats' => array( + 'idle' => 'Hiljentyneet syötteet', + 'main' => 'Tilastot', + 'repartition' => 'Artikkelien uudelleenjaottelu', + ), + 'subscription_management' => 'Tilausten hallinta', + 'subscription_tools' => 'Tilaustyökalut', + ), + 'tag' => array( + 'auto_label' => 'Lisää merkintä uusiin artikkeleihin', + 'name' => 'Nimi', + 'new_name' => 'Uusi nimi', + 'old_name' => 'Vanha nimi', + ), + 'title' => array( + '_' => 'Tilausten hallinta', + 'add' => 'Lisää syöte tai luokka', + 'add_category' => 'Lisää luokkaa', + 'add_dynamic_opml' => 'Lisää dynaaminen OPML', + 'add_feed' => 'Lisää syöte', + 'add_label' => 'Lisää tunniste', + 'delete_label' => 'Poista tunniste', + 'feed_management' => 'RSS-syötteiden hallinta', + 'rename_label' => 'Nimeä tunniste uudelleen', + 'subscription_tools' => 'Tilaustyökalut', + ), +); diff --git a/app/i18n/fi/user.php b/app/i18n/fi/user.php new file mode 100644 index 000000000..de2725526 --- /dev/null +++ b/app/i18n/fi/user.php @@ -0,0 +1,54 @@ + array( + 'feedback' => array( + 'invalid' => 'Sähköpostiosoite on virheellinen.', + 'required' => 'Sähköpostiosoite on pakollinen.', + ), + 'validation' => array( + 'change_email' => 'Voit muuttaa sähköpostiosoitteesi profiilisivulla.', + 'email_sent_to' => 'Sähköposti on lähetetty osoitteeseen %s. Vahvista sähköpostiosoitteesi seuraamalla sen ohjeita.', + 'feedback' => array( + 'email_failed' => 'Sähköpostiviestin lähetys ei onnistunut palvelimen määritysvirheen vuoksi.', + 'email_sent' => 'Sähköpostiviesti on lähetetty osoitteeseesi.', + 'error' => 'Sähköpostiosoitteen vahvistaminen ei onnistunut.', + 'ok' => 'Sähköpostiosoite on vahvistettu.', + 'unnecessary' => 'Sähköpostiosoite on vahvistettu aiemmin.', + 'wrong_token' => 'Sähköpostiosoitteen vahvistus epäonnistui väärän suojaustunnuksen vuoksi.', + ), + 'need_to' => 'Sinun on vahvistettava sähköpostiosoitteesi, ennen kuin voit käyttää sovellusta %s.', + 'resend_email' => 'Lähetä sähköposti uudelleen', + 'title' => 'Sähköpostiosoitteen vahvistus', + ), + ), + 'mailer' => array( + 'email_need_validation' => array( + 'body' => 'Olet juuri rekisteröitynyt sovellukseen %s, mutta sinun on vielä vahvistettava sähköpostiosoitteesi. Seuraa vain linkkiä:', + 'title' => 'Tili on vahvistettava', + 'welcome' => 'Tervetuloa Welcome %s,', + ), + ), + 'password' => array( + 'invalid' => 'Salasana on väärä.', + ), + 'tos' => array( + 'feedback' => array( + 'invalid' => 'Rekisteröityminen edellyttää palvelun käyttöehtojen hyväksymistä.', + ), + ), + 'username' => array( + 'invalid' => 'Käyttäjätunnus on virheellinen.', + 'taken' => 'Käyttäjätunnus, %s, on jo käytössä.', + ), +); diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 3f226f474..8cfab2050 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/he/gen.php b/app/i18n/he/gen.php index f2a8ce1af..f2513ef6d 100644 --- a/app/i18n/he/gen.php +++ b/app/i18n/he/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/hu/gen.php b/app/i18n/hu/gen.php index a9c2ea4b7..08bc88e37 100644 --- a/app/i18n/hu/gen.php +++ b/app/i18n/hu/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/id/gen.php b/app/i18n/id/gen.php index 5ae564c66..5b8d4f75e 100644 --- a/app/i18n/id/gen.php +++ b/app/i18n/id/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php index 8c49942c9..eb22cc2be 100644 --- a/app/i18n/it/gen.php +++ b/app/i18n/it/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/ja/gen.php b/app/i18n/ja/gen.php index f69efc69d..417c620ca 100644 --- a/app/i18n/ja/gen.php +++ b/app/i18n/ja/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/ko/gen.php b/app/i18n/ko/gen.php index 709ee0e93..6251de616 100644 --- a/app/i18n/ko/gen.php +++ b/app/i18n/ko/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/lv/gen.php b/app/i18n/lv/gen.php index bd4ed1fee..a10e98269 100644 --- a/app/i18n/lv/gen.php +++ b/app/i18n/lv/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index b092b79ea..791800109 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/oc/gen.php b/app/i18n/oc/gen.php index f5b6901ab..2cb17d8ee 100644 --- a/app/i18n/oc/gen.php +++ b/app/i18n/oc/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/pl/gen.php b/app/i18n/pl/gen.php index 8762a04ae..690f2eceb 100644 --- a/app/i18n/pl/gen.php +++ b/app/i18n/pl/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/pt-br/gen.php b/app/i18n/pt-br/gen.php index 74f1d0422..0e2ea1d57 100644 --- a/app/i18n/pt-br/gen.php +++ b/app/i18n/pt-br/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/ru/gen.php b/app/i18n/ru/gen.php index 0240f4a49..1adcf571c 100644 --- a/app/i18n/ru/gen.php +++ b/app/i18n/ru/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/sk/gen.php b/app/i18n/sk/gen.php index 5e941978d..512cfd4fb 100644 --- a/app/i18n/sk/gen.php +++ b/app/i18n/sk/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php index 47a3bebb4..fe2c57a9c 100644 --- a/app/i18n/tr/gen.php +++ b/app/i18n/tr/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/zh-cn/gen.php b/app/i18n/zh-cn/gen.php index 9a425f177..af3e65720 100644 --- a/app/i18n/zh-cn/gen.php +++ b/app/i18n/zh-cn/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE diff --git a/app/i18n/zh-tw/gen.php b/app/i18n/zh-tw/gen.php index 4843dce88..4ea4c0715 100644 --- a/app/i18n/zh-tw/gen.php +++ b/app/i18n/zh-tw/gen.php @@ -155,6 +155,7 @@ return array( 'en-us' => 'English (United States)', // IGNORE 'es' => 'Español', // IGNORE 'fa' => 'فارسی', // IGNORE + 'fi' => 'Suomi', // IGNORE 'fr' => 'Français', // IGNORE 'he' => 'עברית', // IGNORE 'hu' => 'Magyar', // IGNORE