about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugen <eugen@zeonfederated.com>2017-04-03 15:04:51 +0200
committerGitHub <noreply@github.com>2017-04-03 15:04:51 +0200
commit663e5378c08b7145a9fdeafc5ff0818a02cc3b63 (patch)
tree9988852be6a968c96e0488881c04921c2be35cc2
parent01b79beca4aa6346e7370f9c5941cc8e82266e54 (diff)
parent65d667dc6c72a39e6e81a06c70f4121ec4e543c1 (diff)
Merge pull request #775 from JantsoP/master
Finnish Translation
-rw-r--r--app/assets/javascripts/components/containers/mastodon.jsx3
-rw-r--r--app/assets/javascripts/components/locales/fi.jsx68
-rw-r--r--app/assets/javascripts/components/locales/index.jsx4
-rw-r--r--app/helpers/settings_helper.rb1
-rw-r--r--config/application.rb2
-rw-r--r--config/locales/devise.fi.yml61
-rw-r--r--config/locales/doorkeeper.fi.yml113
-rw-r--r--config/locales/fi.yml164
-rw-r--r--config/locales/simple_form.fi.yml46
9 files changed, 459 insertions, 3 deletions
diff --git a/app/assets/javascripts/components/containers/mastodon.jsx b/app/assets/javascripts/components/containers/mastodon.jsx
index 6dc08bb4c..cbb7b85bc 100644
--- a/app/assets/javascripts/components/containers/mastodon.jsx
+++ b/app/assets/javascripts/components/containers/mastodon.jsx
@@ -46,6 +46,7 @@ import fr from 'react-intl/locale-data/fr';
 import pt from 'react-intl/locale-data/pt';
 import hu from 'react-intl/locale-data/hu';
 import uk from 'react-intl/locale-data/uk';
+import fi from 'react-intl/locale-data/fi';
 import getMessagesForLocale from '../locales';
 import { hydrateStore } from '../actions/store';
 import createStream from '../stream';
@@ -58,7 +59,7 @@ const browserHistory = useRouterHistory(createBrowserHistory)({
   basename: '/web'
 });
 
-addLocaleData([...en, ...de, ...es, ...fr, ...pt, ...hu, ...uk]);
+addLocaleData([...en, ...de, ...es, ...fr, ...pt, ...hu, ...uk, ...fi]);
 
 const Mastodon = React.createClass({
 
diff --git a/app/assets/javascripts/components/locales/fi.jsx b/app/assets/javascripts/components/locales/fi.jsx
new file mode 100644
index 000000000..5bef99923
--- /dev/null
+++ b/app/assets/javascripts/components/locales/fi.jsx
@@ -0,0 +1,68 @@
+const fi = {
+  "column_back_button.label": "Takaisin",
+  "lightbox.close": "Sulje",
+  "loading_indicator.label": "Ladataan...",
+  "status.mention": "Mainitse @{name}",
+  "status.delete": "Poista",
+  "status.reply": "Vastaa",
+  "status.reblog": "Boostaa",
+  "status.favourite": "Tykkää",
+  "status.reblogged_by": "{name} boostattu",
+  "status.sensitive_warning": "Arkaluontoista sisältöä",
+  "status.sensitive_toggle": "Klikkaa nähdäksesi",
+  "video_player.toggle_sound": "Äänet päälle/pois",
+  "account.mention": "Mainitse @{name}",
+  "account.edit_profile": "Muokkaa",
+  "account.unblock": "Salli @{name}",
+  "account.unfollow": "Lopeta seuraaminen",
+  "account.block": "Estä @{name}",
+  "account.follow": "Seuraa",
+  "account.posts": "Postit",
+  "account.follows": "Seuraa",
+  "account.followers": "Seuraajia",
+  "account.follows_you": "Seuraa sinua",
+  "account.requested": "Odottaa hyväksyntää",
+  "getting_started.heading": "Päästä alkuun",
+  "getting_started.about_addressing": "Voit seurata ihmisiä jos tiedät heidän käyttäjänimensä ja domainin missä he ovat syöttämällä e-mail-esque osoitteen Etsi kenttään.",
+  "getting_started.about_shortcuts": "Jos etsimäsi henkilö on samassa domainissa kuin sinä, pelkkä käyttäjänimi kelpaa. Sama pätee kun mainitset ihmisiä statuksessasi",
+  "getting_started.open_source_notice": "Mastodon Mastodon on avoimen lähdekoodin ohjelma. Voit avustaa tai raportoida ongelmia githubissa {github}. {apps}.",
+  "column.home": "Koti",
+  "column.community": "Paikallinen aikajana",
+  "column.public": "Yhdistetty aikajana",
+  "column.notifications": "Ilmoitukset",
+  "tabs_bar.compose": "Luo",
+  "tabs_bar.home": "Koti",
+  "tabs_bar.mentions": "Maininnat",
+  "tabs_bar.public": "Yleinen aikajana",
+  "tabs_bar.notifications": "Ilmoitukset",
+  "compose_form.placeholder": "Mitä sinulla on mielessä?",
+  "compose_form.publish": "Toot",
+  "compose_form.sensitive": "Merkitse media herkäksi",
+  "compose_form.spoiler": "Piiloita teksti varoituksen taakse",
+  "compose_form.private": "Merkitse yksityiseksi",
+  "compose_form.privacy_disclaimer": "Sinun yksityinen status toimitetaan mainitsemallesi käyttäjille domaineissa {domains}. Luotatko {domainsCount, plural, one {tähän palvelimeen} other {näihin palvelimiin}}? Postauksen yksityisyys toimii van Mastodon palvelimilla. Jos {domains} {domainsCount, plural, one {ei ole Mastodon palvelin} other {eivät ole Mastodon palvelin}}, viestiin ei tule Yksityinen-merkintää, ja sitä voidaan boostata tai muuten tehdä näkyväksi muille vastaanottajille.",
+  "compose_form.unlisted": "Älä näytä julkisilla aikajanoilla",
+  "navigation_bar.edit_profile": "Muokkaa profiilia",
+  "navigation_bar.preferences": "Ominaisuudet",
+  "navigation_bar.community_timeline": "Paikallinen aikajana",
+  "navigation_bar.public_timeline": "Yleinen aikajana",
+  "navigation_bar.logout": "Kirjaudu ulos",
+  "reply_indicator.cancel": "Peruuta",
+  "search.placeholder": "Hae",
+  "search.account": "Tili",
+  "search.hashtag": "Hashtag",
+  "upload_button.label": "Lisää mediaa",
+  "upload_form.undo": "Peru",
+  "notification.follow": "{name} seurasi sinua",
+  "notification.favourite": "{name} tykkäsi statuksestasi",
+  "notification.reblog": "{name} boostasi statustasi",
+  "notification.mention": "{name} mainitsi sinut",
+  "notifications.column_settings.alert": "Työpöytä ilmoitukset",
+  "notifications.column_settings.show": "Näytä sarakkeessa",
+  "notifications.column_settings.follow": "Uusia seuraajia:",
+  "notifications.column_settings.favourite": "Tykkäyksiä:",
+  "notifications.column_settings.mention": "Mainintoja:",
+  "notifications.column_settings.reblog": "Boosteja:",
+};
+
+export default fi;
diff --git a/app/assets/javascripts/components/locales/index.jsx b/app/assets/javascripts/components/locales/index.jsx
index 203929d66..72b8a5df5 100644
--- a/app/assets/javascripts/components/locales/index.jsx
+++ b/app/assets/javascripts/components/locales/index.jsx
@@ -5,6 +5,7 @@ import hu from './hu';
 import fr from './fr';
 import pt from './pt';
 import uk from './uk';
+import fi from './fi';
 
 const locales = {
   en,
@@ -13,7 +14,8 @@ const locales = {
   hu,
   fr,
   pt,
-  uk
+  uk,
+  fi
 };
 
 export default function getMessagesForLocale (locale) {
diff --git a/app/helpers/settings_helper.rb b/app/helpers/settings_helper.rb
index 74215e8df..e01f7d0cc 100644
--- a/app/helpers/settings_helper.rb
+++ b/app/helpers/settings_helper.rb
@@ -10,6 +10,7 @@ module SettingsHelper
     hu: 'Magyar',
     uk: 'Українська',
     'zh-CN': '简体中文',
+    fi: 'Suomi',
   }.freeze
 
   def human_locale(locale)
diff --git a/config/application.rb b/config/application.rb
index 9d32f30cb..17b7a19cc 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -24,7 +24,7 @@ module Mastodon
 
     # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
     # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
-    config.i18n.available_locales = [:en, :de, :es, :pt, :fr, :hu, :uk, 'zh-CN']
+    config.i18n.available_locales = [:en, :de, :es, :pt, :fr, :hu, :uk, 'zh-CN', :fi]
     config.i18n.default_locale    = :en
 
     # config.paths.add File.join('app', 'api'), glob: File.join('**', '*.rb')
diff --git a/config/locales/devise.fi.yml b/config/locales/devise.fi.yml
new file mode 100644
index 000000000..79fe81230
--- /dev/null
+++ b/config/locales/devise.fi.yml
@@ -0,0 +1,61 @@
+---
+fi:
+  devise:
+    confirmations:
+      confirmed: Sähköpostisi on onnistuneesti vahvistettu.
+      send_instructions: Saat kohta sähköpostiisi ohjeet kuinka voit aktivoida tilisi.
+      send_paranoid_instructions: Jos sähköpostisi on meidän tietokannassa, saat pian ohjeet sen varmentamiseen.
+    failure:
+      already_authenticated: Olet jo kirjautunut sisään.
+      inactive: Tiliäsi ei ole viellä aktivoitu.
+      invalid: Virheellinen %{authentication_keys} tai salasana.
+      last_attempt: Sinulla on yksi yritys jäljellä tai tili lukitaan.
+      locked: Tili on lukittu.
+      not_found_in_database: Virheellinen %{authentication_keys} tai salasana.
+      timeout: Sessiosi on umpeutunut. Kirjaudu sisään jatkaaksesi.
+      unauthenticated: Sinun tarvitsee kirjautua sisään tai rekisteröityä jatkaaksesi.
+      unconfirmed: Sinun tarvitsee varmentaa sähköpostisi jatkaaksesi.
+    mailer:
+      confirmation_instructions:
+        subject: 'Mastodon: Varmistus ohjeet'
+      password_change:
+        subject: 'Mastodon: Salasana vaihdettu'
+      reset_password_instructions:
+        subject: 'Mastodon: Salasanan vaihto ohjeet'
+      unlock_instructions:
+        subject: 'Mastodon: Avauksen ohjeet'
+    omniauth_callbacks:
+      failure: Varmennus %{kind} epäonnistui koska "%{reason}".
+      success: Onnistuneesti varmennettu %{kind} tilillä.
+    passwords:
+      no_token: Et pääse tälle sivulle ilman salasanan vaihto sähköpostia. Jos tulet tämmöisestä postista, varmista että sinulla on täydellinen URL.
+      send_instructions: Saat sähköpostitse ohjeet salasanan palautukseen muutaman minuutin kuluessa.
+      send_paranoid_instructions: Jos sähköpostisi on meidän tietokannassa, saat pian ohjeet salasanan palautukseen.
+      updated: Salasanasi vaihdettu onnistuneesti. Olet nyt kirjautunut sisään.
+      updated_not_active: Salasanasi vaihdettu onnistuneesti.
+    registrations:
+      destroyed: Näkemiin! Tilisi on onnistuneesti peruttu. Toivottavasti näemme joskus uudestaan.
+      signed_up: Tervetuloa! Rekisteröitymisesi onnistu.
+      signed_up_but_inactive: Olet onnistuneesti rekisteröitynyt, mutta emme voi kirjata sinua sisään koska tiliäsi ei ole viellä aktivoitu.
+      signed_up_but_locked: Olet onnistuneesti rekisteröitynyt, mutta emme voi kirjata sinua sisään koska tilisi on lukittu.
+      signed_up_but_unconfirmed: Varmistuslinkki on lähetty sähköpostiisi. Seuraa sitä jotta tilisi voidaan aktivoida.
+      update_needs_confirmation: Tilisi on onnistuneesti päivitetty, mutta meidän tarvitsee vahvistaa sinun uusi sähköpostisi. Tarkista sähköpostisi ja seuraa viestissä tullutta linkkiä varmistaaksesi uuden osoitteen..
+      updated: Tilisi on onnistuneesti päivitetty.
+    sessions:
+      already_signed_out: Ulos kirjautuminen onnistui.
+      signed_in: Sisäänkirjautuminen onnistui.
+      signed_out: Ulos kirjautuminen onnistui.
+    unlocks:
+      send_instructions: Saat sähköpostiisi pian ohjeet, jolla voit avata tilisi uudestaan.
+      send_paranoid_instructions: Jos tilisi on olemassa, saat sähköpostiisi pian ohjeet tilisi avaamiseen.
+      unlocked: Tilisi on avattu onnistuneesti. Kirjaudu normaalisti sisään.
+  errors:
+    messages:
+      already_confirmed: on jo varmistettu. Yritä kirjautua sisään
+      confirmation_period_expired: pitää varmistaa %{period} sisällä, ole hyvä ja pyydä uusi
+      expired: on erääntynyt, ole hyvä ja pyydä uusi
+      not_found: ei löydy
+      not_locked: ei ollut lukittu
+      not_saved:
+        one: '1 virhe esti %{resource} tallennuksen:'
+        other: "%{count} virhettä esti %{resource} tallennuksen:"
diff --git a/config/locales/doorkeeper.fi.yml b/config/locales/doorkeeper.fi.yml
new file mode 100644
index 000000000..cd1a9d058
--- /dev/null
+++ b/config/locales/doorkeeper.fi.yml
@@ -0,0 +1,113 @@
+---
+fi:
+  activerecord:
+    attributes:
+      doorkeeper/application:
+        name: Nimi
+        redirect_uri: Uudelleenohjaus URI
+    errors:
+      models:
+        doorkeeper/application:
+          attributes:
+            redirect_uri:
+              fragment_present: ei voi sisältää osia.
+              invalid_uri: pitää olla validi URI.
+              relative_uri: pitää olla täydellinen URI.
+              secured_uri: pitää olla HTTPS/SSL URI.
+  doorkeeper:
+    applications:
+      buttons:
+        authorize: Valtuuta
+        cancel: Peruuta
+        destroy: Tuhoa
+        edit: Muokkaa
+        submit: Lähetä
+      confirmations:
+        destroy: Oletko varma?
+      edit:
+        title: Muokkaa applikaatiota
+      form:
+        error: Whoops! Tarkista lomakkeesi mahdollisten virheiden varalta
+      help:
+        native_redirect_uri: Käytä %{native_redirect_uri} paikallisiin testeihin
+        redirect_uri: Käytä yhtä riviä per URI
+        scopes: Erota scopet välilyönnein. Jätä tyhjäksi käyteksi oletus scopeja.
+      index:
+        callback_url: Callback URL
+        name: Nimi
+        new: Uusi applikaatio
+        title: Sinun applikaatiosi
+      new:
+        title: Uusi applikaatio
+      show:
+        actions: Toiminnot
+        application_id: Applikaation Id
+        callback_urls: Callback urls
+        scopes: Scopet
+        secret: Salainen avain
+        title: 'Applikaatio: %{name}'
+    authorizations:
+      buttons:
+        authorize: Valtuuta
+        deny: Evää
+      error:
+        title: Virhe on tapahtunut
+      new:
+        able_to: Se voi
+        prompt: Applikaatio %{client_name} pyytää lupaa tilillesi
+        title: Valtuutus vaaditaan
+      show:
+        title: Valtuutus koodi
+    authorized_applications:
+      buttons:
+        revoke: Evää
+      confirmations:
+        revoke: Oletko varma?
+      index:
+        application: Applikaatio
+        created_at: Valtuutettu
+        date_format: "%Y-%m-%d %H:%M:%S"
+        scopes: Scopet
+        title: Valtuuttamasi applikaatiot
+    errors:
+      messages:
+        access_denied: Resurssin omistaja tai valtuutus palvelin hylkäsi pyynnönr.
+        credential_flow_not_configured: Resurssin omistajan salasana epäonnistui koska Doorkeeper.configure.resource_owner_from_credentials ei ole konfiguroitu.
+        invalid_client: Asiakkaan valtuutus epäonnistui koska tuntematon asiakas, asiakas ei sisältänyt valtuutusta, tai tukematon valtuutus tapa
+        invalid_grant: Antamasi valtuutus lupa on joko väärä, erääntynyt, peruttu, ei vastaa uudelleenohjaus URI jota käytetään valtuutus pyynnössä, tai se myönnettin toiselle asiakkaalle.
+        invalid_redirect_uri: Uudelleenohjaus uri ei ole oikein.
+        invalid_request: Pyynnöstä puutti parametri, sisältää tukemattoman parametri arvonn, tai on korruptoitunut.
+        invalid_resource_owner: Annetut resurssin omistajan tunnnukset ovat väärät, tai resurssin omistajaa ei löydy
+        invalid_scope: Pyydetty scope on väärä, tuntemat, tai korruptoitunut.
+        invalid_token:
+          expired: Access token vanhentunut
+          revoked: Access token evätty
+          unknown: Access token väärä
+        resource_owner_authenticator_not_configured: Resurssin omistajan etsiminen epäonnistui koska Doorkeeper.configure.resource_owner_authenticator ei ole konfiguroitu.
+        server_error: Valtuutus palvelin kohtasi odottamattoman virheen joka esti sitä täyttämästä pyyntöä.
+        temporarily_unavailable: Valtuutus palvelin ei voi tällä hetkellä käsitellä pyyntöäsi joko väliaikaisen ruuhkan tai huollon takia.
+        unauthorized_client: Asiakas ei ole valtuutettu tekemään tätä pyyntöä käyttäen tätä metodia.
+        unsupported_grant_type: Valtuutus grant type ei ole tuettu valtuutus palvelimella.
+        unsupported_response_type: Valtuutus palvelin ei tue tätä vastaus tyyppiä.
+    flash:
+      applications:
+        create:
+          notice: Applikaatio luotu.
+        destroy:
+          notice: Applikaatio poistettu.
+        update:
+          notice: Applikaatio päivitetty.
+      authorized_applications:
+        destroy:
+          notice: Applikaatio tuhottu.
+    layouts:
+      admin:
+        nav:
+          applications: Applikaatiot
+          oauth2_provider: OAuth2 Provider
+      application:
+        title: OAuth valtuutus tarvitaan
+    scopes:
+      follow: seuraa, estä, peru esto ja lopeta tilien seuraaminen
+      read: lukea tilin dataa
+      write: julkaista puolestasi
diff --git a/config/locales/fi.yml b/config/locales/fi.yml
new file mode 100644
index 000000000..3bcfe5c20
--- /dev/null
+++ b/config/locales/fi.yml
@@ -0,0 +1,164 @@
+---
+fi:
+  about:
+    about_mastodon: Mastodon on <em>ilmainen, avoimeen lähdekoodiin perustuva</em> sosiaalinen verkosto. <em>Hajautettu</em> vaihtoehto kaupallisille alustoille, se välttää eiskit yhden yrityksen monopolisoinnin sinun viestinnässäsi. Valitse palvelin mihin luotat &mdash; minkä tahansa valitset, voit vuorovaikuttaa muiden kanssa. Kuka tahansa voi luoda Mastodon palvelimen ja ottaa osaa <em>sosiaaliseen verkkoon</em> saumattomasti.
+    about_this: Tietoja tästä palvelimesta
+    apps: Ohjelmat
+    business_email: 'Business e-mail:'
+    contact: Ota yhteyttä
+    description_headline: Mikä on %{domain}?
+    domain_count_after: muut palvelimet
+    domain_count_before: Yhdistyneenä
+    features:
+      api: Avoin API ohjelmille ja palveluille
+      blocks: Rikkaat esto ja hiljennys työkalut
+      characters: 500 kirjainta per viesti
+      chronology: Aikajana on kronologisessa järjestyksessä
+      ethics: 'Eettinen suunnittelu: ei mainoksia, no seurantaa'
+      gifv: GIFV settejä ja lyhyitä videoita
+      privacy: Julkaisu kohtainen yksityisyys aseuts
+      public: Julkiset aikajanat
+    features_headline: Mikä erottaa Mastodonin muista
+    get_started: Aloita käyttö
+    links: Linkit
+    other_instances: Muut palvelimet
+    source_code: Lähdekoodi
+    status_count_after: statukset
+    status_count_before: Kuka loi
+    terms: Ehdot
+    user_count_after: käyttäjät
+    user_count_before: Koti käyttäjälle
+  accounts:
+    follow: Seuraa
+    followers: Seuraajat
+    following: Seuratut
+    nothing_here: Täällä ei ole mitään!
+    people_followed_by: Henkilöitä joita %{name} seuraa
+    people_who_follow: Henkilöt jotka seuraa %{name}
+    posts: Postaukset
+    remote_follow: Etäseuranta
+    unfollow: Lopeta seuraaminen
+  application_mailer:
+    settings: 'Muokkaa sähköposti asetuksia: %{link}'
+    signature: Mastodon ilmoituksia palvelimelta %{instance}
+    view: 'Katso:'
+  applications:
+    invalid_url: Annettu URL on väärä
+  auth:
+    change_password: Tunnukset
+    didnt_get_confirmation: Etkö saanut varmennus ohjeita?
+    forgot_password: Unohditko salasanasi?
+    login: Kirjaudu sisään
+    logout: Kirjaudu ulos
+    register: Rekisteröidy
+    resend_confirmation: Lähetä varmennus ohjeet uudestaan
+    reset_password: Palauta Salasana
+    set_new_password: Aseta uusi salasana
+  authorize_follow:
+    error: Valitettavasti tapahtui virhe etätilin haussa
+    follow: Seuraa
+    prompt_html: 'Sinä (<strong>%{self}</strong>) olet pyytänyt lupaa seurata:'
+    title: Seuraa %{acct}
+  datetime:
+    distance_in_words:
+      about_x_hours: "%{count}t"
+      about_x_months: "%{count}kk"
+      about_x_years: "%{count}v"
+      almost_x_years: "%{count}v"
+      half_a_minute: Juuri nyt
+      less_than_x_minutes: "%{count}m"
+      less_than_x_seconds: Juuri nyt
+      over_x_years: "%{count}v"
+      x_days: "%{count}pv"
+      x_minutes: "%{count}m"
+      x_months: "%{count}kk"
+      x_seconds: "%{count}s"
+  exports:
+    blocks: Estosi
+    csv: CSV
+    follows: Seurattavat
+    storage: Mediasi
+  generic:
+    changes_saved_msg: Muutokset onnistuneesti tallenettu!
+    powered_by: powered by %{link}
+    save_changes: Tallenna muutokset
+    validation_errors:
+      one: Jokin ei ole viellä oikein! Katso virhe alapuolelta
+      other: Jokin ei ole viellä oikein! Katso %{count} virhettä alapuolelta
+  imports:
+    preface: Voit tuoda tiettyä dataa kaikista ihmisistä joita seuraat tai estät tilillesi tälle palvelimelle tiedostoista, jotka on luotu toisella palvelimella
+    success: Datasi on onnistuneesti ladattu ja käsitellään pian
+    types:
+      blocking: Esto lista
+      following: Seuratut lista
+    upload: Lähetä
+  landing_strip_html: <strong>%{name}</strong> on käyttäjä domainilla <strong>%{domain}</strong>. Voit seurata tai vuorovaikuttaa heidän kanssaan jos sinulla on tili yleisessä verkossa. Jos sinulla ei ole tiliä, voit <a href="%{sign_up_path}">rekisteröityä täällä</a>.
+  notification_mailer:
+    digest:
+      body: 'Tässä on pieni yhteenveto palvelimelta %{instance} viimeksi kun olit paikalla %{since}:'
+      mention: "%{name} mainitsi sinut:"
+      new_followers_summary:
+        one: Olet saanut yhden uuden seuraajan! Jee!
+        other: Olet saanut %{count} uutta seuraajaa! Loistavaa!
+      subject:
+        one: "1 uusi ilmoitus viimeisen käyntisi jälkeen \U0001F418"
+        other: "%{count} uutta ilmoitusta viimeisen käyntisi jälkeen \U0001F418"
+    favourite:
+      body: 'Statuksestasi tykkäsi %{name}:'
+      subject: "%{name} tykkäsi sinun statuksestasi"
+    follow:
+      body: "%{name} seuraa nyt sinua!"
+      subject: "%{name} seuraa nyt sinua"
+    follow_request:
+      body: "%{name} on pyytänyt seurata sinua"
+      subject: 'Odottava seuraus pyyntö: %{name}'
+    mention:
+      body: 'Sinut mainitsi %{name} postauksessa:'
+      subject: Sinut mainitsi %{name}
+    reblog:
+      body: 'Sinun statustasi boostasi %{name}:'
+      subject: "%{name} boostasi statustasi"
+  pagination:
+    next: Seuraava
+    prev: Edellinen
+  remote_follow:
+    acct: Syötä sinun käyttäjänimesi@domain jos haluat seurata palvelimelta
+    missing_resource: Ei löydetty tarvittavaa uudelleenohjaavaa URL-linkkiä tilillesi
+    proceed: Siirry seuraamiseen
+    prompt: 'Sinä aiot seurata:'
+  settings:
+    authorized_apps: Valtuutetut ohjelmat
+    back: Takaisin Mastodoniin
+    edit_profile: Muokkaa profiilia
+    export: Datan vienti
+    import: Datan tuonti
+    preferences: Mieltymykset
+    settings: Asetukset
+    two_factor_auth: Kaksivaiheinen tunnistus
+  statuses:
+    open_in_web: Avaa webissä
+    over_character_limit: sallittu kirjanmäärä %{max} ylitetty
+    show_more: Näytä lisää
+    visibilities:
+      private: Näytä vain seuraajille
+      public: Julkinen
+      unlisted: Julkinen, mutta älä näytä julkisella aikajanalla
+  stream_entries:
+    click_to_show: Klikkaa näyttääksesi
+    reblogged: boosted
+    sensitive_content: Herkkä materiaali
+  time:
+    formats:
+      default: "%b %d, %Y, %H:%M"
+  two_factor_auth:
+    description_html: Jos otat käyttöön <strong>kaksivaiheisen tunnistuksen</stron>, kirjautumiseen vaaditaan puhelin, joka voi generoida tokeneita kirjautumista varten.
+    disable: Poista käytöstä
+    enable: Ota käyttöön
+    instructions_html: "<strong>Skannaa tämä QR-koodi Google Authenticator tai samanlaiseen sovellukseen puhelimellasi</strong>. Tästä hetkestä lähtien, ohjelma generoi tokenit mikä sinun tarvitsee syöttää sisäänkirjautuessa."
+    plaintext_secret_html: 'Plain-text secret: <samp>%{secret}</samp>'
+    warning: Jos et juuri nyt voi konfiguroida authenticator-applikaatiota juuri nyt, sinun pitäisi klikata "Poista käytöstä" tai et voi kirjautua sisään.
+  users:
+    invalid_email: Virheellinen sähköposti
+    invalid_otp_token: Virheellinen kaksivaihe tunnistus koodi
+  will_paginate:
+    page_gap: "&hellip;"
diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml
new file mode 100644
index 000000000..02c11752f
--- /dev/null
+++ b/config/locales/simple_form.fi.yml
@@ -0,0 +1,46 @@
+---
+fi:
+  simple_form:
+    hints:
+      defaults:
+        avatar: PNG, GIF tai JPG. Korkeintaan 2MB. Skaalataan kokoon 120x120px
+        display_name: Korkeintaan 30 merkkiä
+        header: PNG, GIF tai JPG. Korkeintaan 2MB. Skaalataan kokoon 700x335px
+        locked: Vaatii sinun manuaalisesti hyväksymään seuraajat ja asettaa julkaisun yksityisyyden vain seuraajille
+        note: Korkeintaan 160 merkkiä
+      imports:
+        data: CSV tiedosto tuotu toiselta Mastodon palvelimelta
+    labels:
+      defaults:
+        avatar: Avatar
+        confirm_new_password: Varmista uusi salasana
+        confirm_password: Varmista salasana
+        current_password: Nykyinen salasana
+        data: Data
+        display_name: Näyttö nimi
+        email: Sähköpostiosoite
+        header: Header
+        locale: Kieli
+        locked: Tee tilistä yksityinen
+        new_password: Uusi salasana
+        note: Bio
+        otp_attempt: Kaksivaiheinen koodi
+        password: Salasana
+        setting_default_privacy: Julkaisun yksityisyys
+        type: Tuonti tyyppi
+        username: Käyttäjänimi
+      interactions:
+        must_be_follower: Estä ilmoitukset käyttäjiltä jotka eivät seuraa sinua
+        must_be_following: Estä ilmoitukset käyttäjiltä joita et seuraa
+      notification_emails:
+        digest: Send digest e-mails
+        favourite: Lähetä s-posti kun joku tykkää statuksestasi
+        follow: Lähetä s-posti kun joku seuraa sinua
+        follow_request: Lähetä s-posti kun joku pyytää seurata sinua
+        mention: Lähetä s-posti kun joku mainitsee sinut
+        reblog: Lähetä s-posti kun joku uudestaanblogaa julkaisusi
+    'no': 'Ei'
+    required:
+      mark: "*"
+      text: vaaditaan
+    'yes': 'Kyllä'