From 87854745e966e05231321477d34e8a233814788d Mon Sep 17 00:00:00 2001 From: JantsoP Date: Mon, 3 Apr 2017 12:42:09 +0200 Subject: Create new translation file Still in progress. Should be done shortly --- config/locales/fi.yml | 164 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 config/locales/fi.yml (limited to 'config') diff --git a/config/locales/fi.yml b/config/locales/fi.yml new file mode 100644 index 000000000..33e17a78b --- /dev/null +++ b/config/locales/fi.yml @@ -0,0 +1,164 @@ +--- +fi: + about: + about_mastodon: Mastodon on ilmainen, avoimeen lähdekoodiin perustuva sosiaalinen verkosto. Hajautettu vaihtoehto kaupallisille alustoille, se välttää eiskit yhden yrityksen monopolisoinnin sinun viestinnässäsi. Valitse palvelin mihin luotat — minkä tahansa valitset, voit vuorovaikuttaa muiden kanssa. Kuka tahansa voi luoda Mastodon palvelimen ja ottaa osaa sosiaaliseen verkkoon 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ä (%{self}) 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: %{name} is a user on %{domain}. You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here. + notification_mailer: + digest: + body: 'Here is a brief summary of what you missed on %{instance} since your last visit on %{since}:' + mention: "%{name} mentioned you in:" + new_followers_summary: + one: You have acquired one new follower! Yay! + other: You have gotten %{count} new followers! Amazing! + subject: + one: "1 new notification since your last visit \U0001F418" + other: "%{count} new notifications since your last visit \U0001F418" + favourite: + body: 'Your status was favourited by %{name}:' + subject: "%{name} favourited your status" + follow: + body: "%{name} is now following you!" + subject: "%{name} is now following you" + follow_request: + body: "%{name} has requested to follow you" + subject: 'Pending follower: %{name}' + mention: + body: 'You were mentioned by %{name} in:' + subject: You were mentioned by %{name} + reblog: + body: 'Your status was boosted by %{name}:' + subject: "%{name} boosted your status" + pagination: + next: Next + prev: Prev + remote_follow: + acct: Enter your username@domain you want to follow from + missing_resource: Could not find the required redirect URL for your account + proceed: Proceed to follow + prompt: 'You are going to follow:' + settings: + authorized_apps: Authorized apps + back: Back to Mastodon + edit_profile: Edit profile + export: Data export + import: Import + preferences: Preferences + settings: Settings + two_factor_auth: Two-factor Authentication + statuses: + open_in_web: Open in web + over_character_limit: character limit of %{max} exceeded + show_more: Show more + visibilities: + private: Only show to followers + public: Public + unlisted: Public, but do not display on the public timeline + stream_entries: + click_to_show: Click to show + reblogged: boosted + sensitive_content: Sensitive content + time: + formats: + default: "%b %d, %Y, %H:%M" + two_factor_auth: + description_html: If you enable two-factor authentication, logging in will require you to be in possession of your phone, which will generate tokens for you to enter. + disable: Disable + enable: Enable + instructions_html: "Scan this QR code into Google Authenticator or a similiar app on your phone. From now on, that app will generate tokens that you will have to enter when logging in." + plaintext_secret_html: 'Plain-text secret: %{secret}' + warning: If you cannot configure an authenticator app right now, you should click "disable" or you won't be able to login. + users: + invalid_email: The e-mail address is invalid + invalid_otp_token: Invalid two-factor code + will_paginate: + page_gap: "…" -- cgit From f9b4f30de6829ec1a34fe37ae713865177ac1420 Mon Sep 17 00:00:00 2001 From: JantsoP Date: Mon, 3 Apr 2017 13:07:09 +0200 Subject: updated final translation updated final translation --- config/locales/fi.yml | 92 +++++++++++++++++++++++++-------------------------- 1 file changed, 46 insertions(+), 46 deletions(-) (limited to 'config') diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 33e17a78b..3bcfe5c20 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -92,73 +92,73 @@ fi: blocking: Esto lista following: Seuratut lista upload: Lähetä - landing_strip_html: %{name} is a user on %{domain}. You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here. + landing_strip_html: %{name} on käyttäjä domainilla %{domain}. Voit seurata tai vuorovaikuttaa heidän kanssaan jos sinulla on tili yleisessä verkossa. Jos sinulla ei ole tiliä, voit rekisteröityä täällä. notification_mailer: digest: - body: 'Here is a brief summary of what you missed on %{instance} since your last visit on %{since}:' - mention: "%{name} mentioned you in:" + body: 'Tässä on pieni yhteenveto palvelimelta %{instance} viimeksi kun olit paikalla %{since}:' + mention: "%{name} mainitsi sinut:" new_followers_summary: - one: You have acquired one new follower! Yay! - other: You have gotten %{count} new followers! Amazing! + one: Olet saanut yhden uuden seuraajan! Jee! + other: Olet saanut %{count} uutta seuraajaa! Loistavaa! subject: - one: "1 new notification since your last visit \U0001F418" - other: "%{count} new notifications since your last visit \U0001F418" + one: "1 uusi ilmoitus viimeisen käyntisi jälkeen \U0001F418" + other: "%{count} uutta ilmoitusta viimeisen käyntisi jälkeen \U0001F418" favourite: - body: 'Your status was favourited by %{name}:' - subject: "%{name} favourited your status" + body: 'Statuksestasi tykkäsi %{name}:' + subject: "%{name} tykkäsi sinun statuksestasi" follow: - body: "%{name} is now following you!" - subject: "%{name} is now following you" + body: "%{name} seuraa nyt sinua!" + subject: "%{name} seuraa nyt sinua" follow_request: - body: "%{name} has requested to follow you" - subject: 'Pending follower: %{name}' + body: "%{name} on pyytänyt seurata sinua" + subject: 'Odottava seuraus pyyntö: %{name}' mention: - body: 'You were mentioned by %{name} in:' - subject: You were mentioned by %{name} + body: 'Sinut mainitsi %{name} postauksessa:' + subject: Sinut mainitsi %{name} reblog: - body: 'Your status was boosted by %{name}:' - subject: "%{name} boosted your status" + body: 'Sinun statustasi boostasi %{name}:' + subject: "%{name} boostasi statustasi" pagination: - next: Next - prev: Prev + next: Seuraava + prev: Edellinen remote_follow: - acct: Enter your username@domain you want to follow from - missing_resource: Could not find the required redirect URL for your account - proceed: Proceed to follow - prompt: 'You are going to 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: Authorized apps - back: Back to Mastodon - edit_profile: Edit profile - export: Data export - import: Import - preferences: Preferences - settings: Settings - two_factor_auth: Two-factor Authentication + 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: Open in web - over_character_limit: character limit of %{max} exceeded - show_more: Show more + open_in_web: Avaa webissä + over_character_limit: sallittu kirjanmäärä %{max} ylitetty + show_more: Näytä lisää visibilities: - private: Only show to followers - public: Public - unlisted: Public, but do not display on the public timeline + private: Näytä vain seuraajille + public: Julkinen + unlisted: Julkinen, mutta älä näytä julkisella aikajanalla stream_entries: - click_to_show: Click to show + click_to_show: Klikkaa näyttääksesi reblogged: boosted - sensitive_content: Sensitive content + sensitive_content: Herkkä materiaali time: formats: default: "%b %d, %Y, %H:%M" two_factor_auth: - description_html: If you enable two-factor authentication, logging in will require you to be in possession of your phone, which will generate tokens for you to enter. - disable: Disable - enable: Enable - instructions_html: "Scan this QR code into Google Authenticator or a similiar app on your phone. From now on, that app will generate tokens that you will have to enter when logging in." + description_html: Jos otat käyttöön kaksivaiheisen tunnistuksen, kirjautumiseen vaaditaan puhelin, joka voi generoida tokeneita kirjautumista varten. + disable: Poista käytöstä + enable: Ota käyttöön + instructions_html: "Skannaa tämä QR-koodi Google Authenticator tai samanlaiseen sovellukseen puhelimellasi. Tästä hetkestä lähtien, ohjelma generoi tokenit mikä sinun tarvitsee syöttää sisäänkirjautuessa." plaintext_secret_html: 'Plain-text secret: %{secret}' - warning: If you cannot configure an authenticator app right now, you should click "disable" or you won't be able to login. + 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: The e-mail address is invalid - invalid_otp_token: Invalid two-factor code + invalid_email: Virheellinen sähköposti + invalid_otp_token: Virheellinen kaksivaihe tunnistus koodi will_paginate: page_gap: "…" -- cgit From b0f4c9b91fe2acbf2d2384a3928f15a710a5f880 Mon Sep 17 00:00:00 2001 From: JantsoP Date: Mon, 3 Apr 2017 13:25:46 +0200 Subject: finnish translation finnish translation --- config/locales/simple_form.fi.yml | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 config/locales/simple_form.fi.yml (limited to 'config') 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ä' -- cgit From 6501ffdadc593e4e0cd691533906a7396f552902 Mon Sep 17 00:00:00 2001 From: JantsoP Date: Mon, 3 Apr 2017 13:35:12 +0200 Subject: add finnish translation add finnish translation --- config/application.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'config') 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') -- cgit From 97803600ed9f2c7c6198dfc2fc521cea0e3041b4 Mon Sep 17 00:00:00 2001 From: JantsoP Date: Mon, 3 Apr 2017 14:20:50 +0200 Subject: add finnish translation add finnish translation --- config/locales/devise.fi.yml | 61 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 config/locales/devise.fi.yml (limited to 'config') 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:" -- cgit From 85a8b62ca2c58109ca776540f4e0588bc49eb28e Mon Sep 17 00:00:00 2001 From: JantsoP Date: Mon, 3 Apr 2017 14:43:07 +0200 Subject: add finnish translation add finnish translation --- config/locales/doorkeeper.fi.yml | 113 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 config/locales/doorkeeper.fi.yml (limited to 'config') diff --git a/config/locales/doorkeeper.fi.yml b/config/locales/doorkeeper.fi.yml new file mode 100644 index 000000000..a2e520a56 --- /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 -- cgit From d3fde60297288c3d310ac43c7aae67b21cf8936f Mon Sep 17 00:00:00 2001 From: JantsoP Date: Mon, 3 Apr 2017 14:54:53 +0200 Subject: fixed an sneaky peaky tpy --- config/locales/doorkeeper.fi.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'config') diff --git a/config/locales/doorkeeper.fi.yml b/config/locales/doorkeeper.fi.yml index a2e520a56..938590514 100644 --- a/config/locales/doorkeeper.fi.yml +++ b/config/locales/doorkeeper.fi.yml @@ -45,7 +45,7 @@ fi: callback_urls: Callback urls scopes: Scopet secret: Salainen avain - title: Applikaatio: %{name}' + title: Applikaatio %{name}' authorizations: buttons: authorize: Valtuuta -- cgit From 65d667dc6c72a39e6e81a06c70f4121ec4e543c1 Mon Sep 17 00:00:00 2001 From: JantsoP Date: Mon, 3 Apr 2017 14:56:13 +0200 Subject: another typo. fuck me --- config/locales/doorkeeper.fi.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'config') diff --git a/config/locales/doorkeeper.fi.yml b/config/locales/doorkeeper.fi.yml index 938590514..cd1a9d058 100644 --- a/config/locales/doorkeeper.fi.yml +++ b/config/locales/doorkeeper.fi.yml @@ -45,7 +45,7 @@ fi: callback_urls: Callback urls scopes: Scopet secret: Salainen avain - title: Applikaatio %{name}' + title: 'Applikaatio: %{name}' authorizations: buttons: authorize: Valtuuta -- cgit From 5cb011b66bf4242ba92ce30867dc2f2e432382ca Mon Sep 17 00:00:00 2001 From: Christopher Kolstad Date: Mon, 3 Apr 2017 15:44:05 +0200 Subject: Add Norwegian locale --- config/locales/devise.no.yml | 61 ++++++++++++++ config/locales/doorkeeper.no.yml | 113 ++++++++++++++++++++++++++ config/locales/no.yml | 164 ++++++++++++++++++++++++++++++++++++++ config/locales/simple_form.no.yml | 46 +++++++++++ 4 files changed, 384 insertions(+) create mode 100644 config/locales/devise.no.yml create mode 100644 config/locales/doorkeeper.no.yml create mode 100644 config/locales/no.yml create mode 100644 config/locales/simple_form.no.yml (limited to 'config') diff --git a/config/locales/devise.no.yml b/config/locales/devise.no.yml new file mode 100644 index 000000000..7c665f0da --- /dev/null +++ b/config/locales/devise.no.yml @@ -0,0 +1,61 @@ +--- +no: + devise: + confirmations: + confirmed: Epostaddressen din er blitt bekreftet. + send_instructions: Du vil motta en epost med instruksjoner for hvordan bekrefte din epostaddresse om noen få minutter. + send_paranoid_instructions: Hvis din epostaddresse finnes i vår database vil du motta en epost med instruksjoner for hvordan bekrefte din epost om noen få minutter. + failure: + already_authenticated: Du er allerede innlogget. + inactive: Din konto er ikke blitt aktivert ennå. + invalid: Ugyldig %{authentication_keys} eller passord. + last_attempt: Du har ett forsøk igjen før kontoen din bli låst. + locked: Din konto er låst. + not_found_in_database: Ugyldig %{authentication_keys} eller passord. + timeout: Sesjonen din løp ut på tid. Logg inn på nytt for å fortsette. + unauthenticated: Du må logge inn eller registrere deg før du kan fortsette. + unconfirmed: Du må bekrefte epostadressen din før du kan fortsette. + mailer: + confirmation_instructions: + subject: 'Mastodon: Instruksjoner for å bekrefte epostadresse' + password_change: + subject: 'Mastodon: Passord endret' + reset_password_instructions: + subject: 'Mastodon: Hvordan nullstille passord?' + unlock_instructions: + subject: 'Mastodon: Instruksjoner for å gjenåpne konto' + omniauth_callbacks: + failure: Kunne ikke autentisere deg fra %{kind} fordi "%{reason}". + success: Vellykket autentisering fra %{kind}. + passwords: + no_token: Du har ingen tilgang til denne siden så lenge du ikke kommer fra en epost om nullstilling av passord. Hvis du kommer fra en passordnullstilling epost, dobbelsjekk at du brukte hele URLen. + send_instructions: Du vil motta en epost med instruksjoner for å nullstille passordet ditt om noen få minutter. + send_paranoid_instructions: Hvis epostadressen din finnes i databasen vår vil du motta en instruksjonsmail om passord nullstilling om noen få minutter. + updated: Passordet ditt har blitt endret. Du er nå logget inn. + updated_not_active: Passordet ditt har blitt endret. + registrations: + destroyed: Adjø! Kontoen din har blitt avsluttet. Vi håper at vi ser deg igjen snart. + signed_up: Velkommen! Registrasjonen var vellykket. + signed_up_but_inactive: Registrasjonen var vellykket. Vi kunne dessverre ikke logge deg inn fordi kontoen din ennå ikke har blitt aktivert. + signed_up_but_locked: Registrasjonen var vellykket. Vi kunne dessverre ikke logge deg inn fordi kontoen din har blitt låst. + signed_up_but_unconfirmed: En epostmelding med en bekreftelseslink har blitt sendt til din adresse. Klikk på linken i eposten for å aktivere kontoen din. + update_needs_confirmation: Du har oppdatert kontoen din, men vi må bekrefte din nye epostadresse. Sjekk eposten din og følg bekreftelseslinken for å bekrefte din nye epostadresse. + updated: Kontoen din ble oppdatert. + sessions: + already_signed_out: Logget ut. + signed_in: Logget inn. + signed_out: Logget ut. + unlocks: + send_instructions: Du vil motta en epost med instruksjoner for å åpne kontoen din om noen få minutter. + send_paranoid_instructions: Hvis kontoen din eksisterer vil du motta en epost med instruksjoner for å åpne kontoen din om noen få minutter. + unlocked: Kontoen din ble åpnet uten problemer. Logg på for å fortsette. + errors: + messages: + already_confirmed: har allerede blitt bekreftet, prøv å logg på istedet. + confirmation_period_expired: må bekreftes innen %{period}. Spør om en ny bekreftelsesmail istedet. + expired: har utløpt, spør om en ny en istedet + not_found: ikke funnet + not_locked: var ikke låst + not_saved: + one: '1 feil hindret denne %{resource} fra å bli lagret:' + other: "%{count} feil hindret denne %{resource} fra å bli lagret:" diff --git a/config/locales/doorkeeper.no.yml b/config/locales/doorkeeper.no.yml new file mode 100644 index 000000000..7b51289aa --- /dev/null +++ b/config/locales/doorkeeper.no.yml @@ -0,0 +1,113 @@ +--- +no: + activerecord: + attributes: + doorkeeper/application: + name: Navn + redirect_uri: Omdirigerings-URI + errors: + models: + doorkeeper/application: + attributes: + redirect_uri: + fragment_present: kan ikke inneholde ett fragment. + invalid_uri: må være en gyldig URI. + relative_uri: må være en absolutt URI. + secured_uri: må være en HTTPS/SSL URI. + doorkeeper: + applications: + buttons: + authorize: Autoriser + cancel: Avbryt + destroy: Ødelegg + edit: Endre + submit: Send inn + confirmations: + destroy: Er du sikker? + edit: + title: Endre applikasjon + form: + error: Whoops! Sjekk skjemaet ditt for mulige feil + help: + native_redirect_uri: Bruk %{native_redirect_uri} for lokale tester + redirect_uri: Bruk en linje per URI + scopes: Adskill omfang med mellomrom. La det være blankt for å bruke standard omfang. + index: + callback_url: Callback URL + name: Navn + new: Ny Applikasjon + title: Dine applikasjoner + new: + title: Ny Applikasjoner + show: + actions: Operasjoner + application_id: Applikasjon Id + callback_urls: Callback urls + scopes: Omfang + secret: Hemmelighet + title: 'Applikasjon: %{name}' + authorizations: + buttons: + authorize: Autoriser + deny: Avvis + error: + title: En feil oppsto + new: + able_to: Den vil ha mulighet til + prompt: Applikasjon %{client_name} spør om tilgang til din konto + title: Autorisasjon påkrevd + show: + title: Autoriserings kode + authorized_applications: + buttons: + revoke: Opphev + confirmations: + revoke: Opphev? + index: + application: Applikasjon + created_at: Autorisert + date_format: "%Y-%m-%d %H:%M:%S" + scopes: Omfang + title: Dine autoriserte applikasjoner + errors: + messages: + access_denied: Ressurseieren eller autoriserings tjeneren avviste forespørslen. + credential_flow_not_configured: Ressurseiers passord flyt feilet på grunn av at Doorkeeper.configure.resource_owner_from_credentials ikke var konfigurert. + invalid_client: Klient autentisering feilet på grunn av ukjent klient, ingen autentisering inkludert eller autentiserings metode som ikke er støttet. + invalid_grant: Autoriseringen er ugyldig, utløpt, opphevet, stemmer ikke overens med omdirigerings-URIen eller var utstedt til en annen klient. + invalid_redirect_uri: redirect urien som var inkludert er ikke gyldig. + invalid_request: Forespørslen mangler ett eller flere parametere, inkluderte ett parameter som ikke støttes eller har feil struktur. + invalid_resource_owner: Ressurseierens detaljer er ikke gyldig, eller så kan ikke eieren finnes. + invalid_scope: Det etterspurte omfanget er ugyldig, ukjent eller har feil struktur. + invalid_token: + expired: Tilgangsbeviset har utløpt + revoked: Tilgangsbeviset har blitt opphevet + unknown: Tilgangsbeviset er ugyldig + resource_owner_authenticator_not_configured: Ressurseier kunne ikke finnes fordi Doorkeeper.configure.resource_owner_authenticator ikke er konfigurert. + server_error: Autoriserings tjeneren støtte på en uventet hendelse som hindret den i å svare på forespørslen. + temporarily_unavailable: Autoriserings tjeneren kan ikke håndtere forespørslen grunnet en midlertidig overbelastning eller tjenervedlikehold. + unauthorized_client: Klienten har ikke autorisasjon for å utføre denne forespørslen med denne metoden. + unsupported_grant_type: Autorisasjons tildelings typen er ikke støttet av denne autoriserings tjeneren. + unsupported_response_type: Autorisasjons serveren støtter ikke denne typen av forespørsler. + flash: + applications: + create: + notice: Applikasjon opprettet. + destroy: + notice: Applikasjon slettet. + update: + notice: Applikasjon oppdatert. + authorized_applications: + destroy: + notice: Applikasjon opphevet. + layouts: + admin: + nav: + applications: Applikasjoner + oauth2_provider: OAuth2 tilbyder + application: + title: OAuth autorisering påkrevet + scopes: + follow: følg, blokker, avblokker, avfølg kontoer + read: lese dine data + write: poste på dine vegne diff --git a/config/locales/no.yml b/config/locales/no.yml new file mode 100644 index 000000000..d4514d5e4 --- /dev/null +++ b/config/locales/no.yml @@ -0,0 +1,164 @@ +--- +no: + about: + about_mastodon: Mastodon er et gratis, åpen kildekode sosialt nettverk. Et desentralisert alternativ til kommersielle plattformer. Slik kan det unngå risikoene ved å ha et enkelt selskap med monopol på din kommunikasjon. Velg en tjener du stoler på — uansett hvilken du velger så kan du interagere med alle andre. Alle kan kjøre sin egen Mastodon og delta sømløst i det sosiale nettverket. + about_this: Om denne instansen + apps: Applikasjoner + business_email: 'Bedriftsepost:' + contact: Kontakt + description_headline: Hva er %{domain}? + domain_count_after: andre instanser + domain_count_before: Koblet til + features: + api: Åpent api for applikasjoner og tjenester + blocks: Rikholdige blokkerings verktøy + characters: 500 tegn per post + chronology: Tidslinjer er kronologiske + ethics: 'Etisk design: Ingen reklame, ingen sporing' + gifv: GIFV sett og korte videoer + privacy: Finmaskete personvernsinnstillinger + public: Offentlige tidslinjer + features_headline: Hva skiller Mastodon fra andre sosiale nettverk + get_started: Kom i gang + links: Lenker + other_instances: Andre instanser + source_code: Kildekode + status_count_after: statuser + status_count_before: Hvem skrev + terms: Betingelser + user_count_after: brukere + user_count_before: Hjem til + accounts: + follow: Følg + followers: Følgere + following: Følger + nothing_here: Det er ingenting her! + people_followed_by: Folk som %{name} følger + people_who_follow: Folk som følger %{name} + posts: Poster + remote_follow: Følg fra andre instanser + unfollow: Avfølg + application_mailer: + settings: 'Endre foretrukne epost innstillinger: %{link}' + signature: Mastodon notiser fra %{instance} + view: 'Se:' + applications: + invalid_url: Den oppgitte URLen er ugyldig + auth: + change_password: Brukerdetaljer + didnt_get_confirmation: Fikk du ikke bekreftelsesmailen din? + forgot_password: Har du glemt passordet ditt? + login: Innlogging + logout: Logg ut + register: Bli med + resend_confirmation: Send bekreftelsesinstruksjoner på nytt + reset_password: Nullstill passord + set_new_password: Sett nytt passord + authorize_follow: + error: Uheldigvis så skjedde det en feil når vi prøvde å få tak i en konto fra en annen instans. + follow: Følg + prompt_html: 'Du (%{self}) har spurt om å følge:' + title: Følg %{acct} + datetime: + distance_in_words: + about_x_hours: "%{count}t" + about_x_months: "%{count}m" + about_x_years: "%{count}å" + almost_x_years: "%{count}å" + half_a_minute: Nylig + less_than_x_minutes: "%{count}min" + less_than_x_seconds: Nylig + over_x_years: "%{count}å" + x_days: "%{count}d" + x_minutes: "%{count}min" + x_months: "%{count}mo" + x_seconds: "%{count}s" + exports: + blocks: Du blokkerer + csv: CSV + follows: Du følger + storage: Media lagring + generic: + changes_saved_msg: Vellykket lagring av endringer! + powered_by: drevet av %{link} + save_changes: Lagre endringer + validation_errors: + one: Noe er ikke helt riktig ennå. Vær snill å se etter en gang til + other: Noe er ikke helt riktig ennå. Det er ennå %{count} feil å rette på + imports: + preface: Du kan importere data om mennesker du følger eller blokkerer inn til kontoen din på denne instansen, fra filer opprettet av eksporter fra andre instanser. + success: Din data ble mottatt og vil bli prosessert så fort som mulig. + types: + blocking: Blokkeringsliste + following: Følgeliste + upload: Opplastning + landing_strip_html: %{name} er en bruker på %{domain}. Du kan følge dem eller interagere med dem hvis du har en konto hvor som helst i fediverset. Hvis du ikke har en konto så kan du registrere deg her. + notification_mailer: + digest: + body: 'Her er en kort oppsummering av hva du har gått glipp av på %{instance} siden du logget deg inn sist den %{since}:' + mention: "%{name} nevnte deg i:" + new_followers_summary: + one: Du har fått en ny følger. Jippi! + other: Du har fått %{count} nye følgere! Imponerende! + subject: + one: "1 ny hendelse siden ditt siste besøk \U0001F418" + other: "%{count} nye hendelser siden ditt siste besøk \U0001F418" + favourite: + body: 'Din status ble satt som favoritt av %{name}' + subject: "%{name} satte din status som favoritt." + follow: + body: "%{name} følger deg!" + subject: "%{name} følger deg" + follow_request: + body: "%{name} har spurt om å få lov til å følge deg" + subject: 'Ventende følger: %{name}' + mention: + body: 'Du ble nevnt av %{name} i:' + subject: Du ble nevnt av %{name} + reblog: + body: 'Din status fikk en boost av %{name}:' + subject: "%{name} ga din status en boost" + pagination: + next: Neste + prev: Forrige + remote_follow: + acct: Tast inn brukernavn@domene som du vil følge fra + missing_resource: Kunne ikke finne URLen for din konto + proceed: Fortsett med følging + prompt: 'Du kommer til å følge:' + settings: + authorized_apps: Autoriserte applikasjoner + back: Tilbake til Mastodon + edit_profile: Endre profil + export: Data eksport + import: Importer + preferences: Foretrukne valg + settings: Innstillinger + two_factor_auth: To-faktor autentisering + statuses: + open_in_web: Åpne i nettleser + over_character_limit: tegngrense på %{max} overskredet + show_more: Vis mer + visibilities: + private: Vis kun til følgere + public: Offentlig + unlisted: Offentlig, men vis ikke på offentlig tidslinje + stream_entries: + click_to_show: Klikk for å vise + reblogged: boostet + sensitive_content: Sensitivt innhold + time: + formats: + default: "%d, %b %Y, %H:%M" + two_factor_auth: + description_html: Hvis du skru på tofaktor autentisering vil innlogging kreve at du har telefonen din, som vil generere koder som du må taste inn. + disable: Skru av + enable: Skru på + instructions_html: "Scan denne QR-koden i Google Authenticator eller en lignende app på telefonen din. Fra nå av så vil denne applikasjonen generere koder for deg som skal brukes under innlogging" + plaintext_secret_html: 'Plain-text secret: %{secret}' + warning: Hvis du ikke kan konfigurere en autentikatorapp nå, så bør du trykke "Skru av"; ellers vil du ikke kunne logge inn. + users: + invalid_email: E-post addressen er ugyldig + invalid_otp_token: Ugyldig two-faktor kode + will_paginate: + page_gap: "…" diff --git a/config/locales/simple_form.no.yml b/config/locales/simple_form.no.yml new file mode 100644 index 000000000..6829e6a24 --- /dev/null +++ b/config/locales/simple_form.no.yml @@ -0,0 +1,46 @@ +--- +no: + simple_form: + hints: + defaults: + avatar: PNG, GIF eller JPG. Maksimalt 2MB. Vil bli nedskalert til 120x120px + display_name: Maksimalt 30 tegn + header: PNG, GIF eller JPG. Maksimalt 2MB. Vil bli nedskalert til 700x335px + locked: Krever at du manuelt godkjenner følgere og setter standard beskyttelse av poster til kun-følgere + note: Maksimalt 160 tegn + imports: + data: CSV fil eksportert fra en annen Mastodon instans + labels: + defaults: + avatar: Avatar + confirm_new_password: Bekreft nytt passord + confirm_password: Bekreft passord + current_password: Nåværende passord + data: Data + display_name: Visningsnavn + email: E-post adresse + header: Header + locale: Språk + locked: Endre konto til privat + new_password: Nytt passord + note: Biografi + otp_attempt: To-faktor kode + password: Passord + setting_default_privacy: Leserettigheter for poster + type: Importeringstype + username: Brukernavn + interactions: + must_be_follower: Blokker meldinger fra ikke-følgere + must_be_following: Blokker meldinger fra folk du ikke følger + notification_emails: + digest: Send oppsummerings eposter + favourite: Send e-post når noen setter din status som favoritt + follow: Send e-post når noen følger deg + follow_request: Send e-post når noen spør om å få følge deg + mention: Send e-post når noen nevner deg + reblog: Send e-post når noen reblogger din status + 'no': 'Nei' + required: + mark: "*" + text: påkrevd + 'yes': 'Ja' -- cgit From b7c1b12367b307d07303ce99f2c27bf255ecd56a Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 3 Apr 2017 18:55:06 +0200 Subject: Make default admin UI page reports. Add admin UI for creating a domain block --- app/controllers/admin/domain_blocks_controller.rb | 18 +++ app/services/block_domain_service.rb | 10 +- app/views/admin/domain_blocks/index.html.haml | 1 + app/views/admin/domain_blocks/new.html.haml | 18 +++ app/workers/domain_block_worker.rb | 11 ++ config/locales/devise.no.yml | 62 +------- config/locales/doorkeeper.no.yml | 114 +-------------- config/locales/no.yml | 165 +--------------------- config/locales/simple_form.no.yml | 47 +----- config/navigation.rb | 4 +- config/routes.rb | 2 +- 11 files changed, 59 insertions(+), 393 deletions(-) create mode 100644 app/views/admin/domain_blocks/new.html.haml create mode 100644 app/workers/domain_block_worker.rb (limited to 'config') diff --git a/app/controllers/admin/domain_blocks_controller.rb b/app/controllers/admin/domain_blocks_controller.rb index e362957e7..1f4432847 100644 --- a/app/controllers/admin/domain_blocks_controller.rb +++ b/app/controllers/admin/domain_blocks_controller.rb @@ -9,6 +9,24 @@ class Admin::DomainBlocksController < ApplicationController @blocks = DomainBlock.paginate(page: params[:page], per_page: 40) end + def new + @domain_block = DomainBlock.new + end + def create + @domain_block = DomainBlock.new(resource_params) + + if @domain_block.save + DomainBlockWorker.perform_async(@domain_block.id) + redirect_to admin_domain_blocks_path, notice: 'Domain block is now being processed' + else + render action: :new + end + end + + private + + def resource_params + params.require(:domain_block).permit(:domain, :severity) end end diff --git a/app/services/block_domain_service.rb b/app/services/block_domain_service.rb index 9518b1fcf..6c131bd34 100644 --- a/app/services/block_domain_service.rb +++ b/app/services/block_domain_service.rb @@ -1,13 +1,11 @@ # frozen_string_literal: true class BlockDomainService < BaseService - def call(domain, severity) - DomainBlock.where(domain: domain).first_or_create!(domain: domain, severity: severity) - - if severity == :silence - Account.where(domain: domain).update_all(silenced: true) + def call(domain_block) + if domain_block.silence? + Account.where(domain: domain_block.domain).update_all(silenced: true) else - Account.where(domain: domain).find_each do |account| + Account.where(domain: domain_block.domain).find_each do |account| account.subscription(api_subscription_url(account.id)).unsubscribe if account.subscribed? SuspendAccountService.new.call(account) end diff --git a/app/views/admin/domain_blocks/index.html.haml b/app/views/admin/domain_blocks/index.html.haml index dbaeb4716..eb7894b86 100644 --- a/app/views/admin/domain_blocks/index.html.haml +++ b/app/views/admin/domain_blocks/index.html.haml @@ -14,3 +14,4 @@ %td= block.severity = will_paginate @blocks, pagination_options += link_to 'Add new', new_admin_domain_block_path, class: 'button' diff --git a/app/views/admin/domain_blocks/new.html.haml b/app/views/admin/domain_blocks/new.html.haml new file mode 100644 index 000000000..fbd39d6cf --- /dev/null +++ b/app/views/admin/domain_blocks/new.html.haml @@ -0,0 +1,18 @@ +- content_for :page_title do + New domain block + += simple_form_for @domain_block, url: admin_domain_blocks_path do |f| + = render 'shared/error_messages', object: @domain_block + + %p.hint The domain block will not prevent creation of account entries in the database, but will retroactively and automatically apply specific moderation methods on those accounts. + + = f.input :domain, placeholder: 'Domain' + = f.input :severity, collection: DomainBlock.severities.keys, wrapper: :with_label, include_blank: false + + %p.hint + %strong Silence + will make the account's posts invisible to anyone who isn't following them. + %strong Suspend + will remove all of the account's content, media, and profile data. + .actions + = f.button :button, 'Create block', type: :submit diff --git a/app/workers/domain_block_worker.rb b/app/workers/domain_block_worker.rb new file mode 100644 index 000000000..884477829 --- /dev/null +++ b/app/workers/domain_block_worker.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +class DomainBlockWorker + include Sidekiq::Worker + + def perform(domain_block_id) + BlockDomainService.new.call(DomainBlock.find(domain_block_id)) + rescue ActiveRecord::RecordNotFound + true + end +end diff --git a/config/locales/devise.no.yml b/config/locales/devise.no.yml index 7c665f0da..2fbf0ffd7 100644 --- a/config/locales/devise.no.yml +++ b/config/locales/devise.no.yml @@ -1,61 +1 @@ ---- -no: - devise: - confirmations: - confirmed: Epostaddressen din er blitt bekreftet. - send_instructions: Du vil motta en epost med instruksjoner for hvordan bekrefte din epostaddresse om noen få minutter. - send_paranoid_instructions: Hvis din epostaddresse finnes i vår database vil du motta en epost med instruksjoner for hvordan bekrefte din epost om noen få minutter. - failure: - already_authenticated: Du er allerede innlogget. - inactive: Din konto er ikke blitt aktivert ennå. - invalid: Ugyldig %{authentication_keys} eller passord. - last_attempt: Du har ett forsøk igjen før kontoen din bli låst. - locked: Din konto er låst. - not_found_in_database: Ugyldig %{authentication_keys} eller passord. - timeout: Sesjonen din løp ut på tid. Logg inn på nytt for å fortsette. - unauthenticated: Du må logge inn eller registrere deg før du kan fortsette. - unconfirmed: Du må bekrefte epostadressen din før du kan fortsette. - mailer: - confirmation_instructions: - subject: 'Mastodon: Instruksjoner for å bekrefte epostadresse' - password_change: - subject: 'Mastodon: Passord endret' - reset_password_instructions: - subject: 'Mastodon: Hvordan nullstille passord?' - unlock_instructions: - subject: 'Mastodon: Instruksjoner for å gjenåpne konto' - omniauth_callbacks: - failure: Kunne ikke autentisere deg fra %{kind} fordi "%{reason}". - success: Vellykket autentisering fra %{kind}. - passwords: - no_token: Du har ingen tilgang til denne siden så lenge du ikke kommer fra en epost om nullstilling av passord. Hvis du kommer fra en passordnullstilling epost, dobbelsjekk at du brukte hele URLen. - send_instructions: Du vil motta en epost med instruksjoner for å nullstille passordet ditt om noen få minutter. - send_paranoid_instructions: Hvis epostadressen din finnes i databasen vår vil du motta en instruksjonsmail om passord nullstilling om noen få minutter. - updated: Passordet ditt har blitt endret. Du er nå logget inn. - updated_not_active: Passordet ditt har blitt endret. - registrations: - destroyed: Adjø! Kontoen din har blitt avsluttet. Vi håper at vi ser deg igjen snart. - signed_up: Velkommen! Registrasjonen var vellykket. - signed_up_but_inactive: Registrasjonen var vellykket. Vi kunne dessverre ikke logge deg inn fordi kontoen din ennå ikke har blitt aktivert. - signed_up_but_locked: Registrasjonen var vellykket. Vi kunne dessverre ikke logge deg inn fordi kontoen din har blitt låst. - signed_up_but_unconfirmed: En epostmelding med en bekreftelseslink har blitt sendt til din adresse. Klikk på linken i eposten for å aktivere kontoen din. - update_needs_confirmation: Du har oppdatert kontoen din, men vi må bekrefte din nye epostadresse. Sjekk eposten din og følg bekreftelseslinken for å bekrefte din nye epostadresse. - updated: Kontoen din ble oppdatert. - sessions: - already_signed_out: Logget ut. - signed_in: Logget inn. - signed_out: Logget ut. - unlocks: - send_instructions: Du vil motta en epost med instruksjoner for å åpne kontoen din om noen få minutter. - send_paranoid_instructions: Hvis kontoen din eksisterer vil du motta en epost med instruksjoner for å åpne kontoen din om noen få minutter. - unlocked: Kontoen din ble åpnet uten problemer. Logg på for å fortsette. - errors: - messages: - already_confirmed: har allerede blitt bekreftet, prøv å logg på istedet. - confirmation_period_expired: må bekreftes innen %{period}. Spør om en ny bekreftelsesmail istedet. - expired: har utløpt, spør om en ny en istedet - not_found: ikke funnet - not_locked: var ikke låst - not_saved: - one: '1 feil hindret denne %{resource} fra å bli lagret:' - other: "%{count} feil hindret denne %{resource} fra å bli lagret:" +--- {} diff --git a/config/locales/doorkeeper.no.yml b/config/locales/doorkeeper.no.yml index 7b51289aa..2fbf0ffd7 100644 --- a/config/locales/doorkeeper.no.yml +++ b/config/locales/doorkeeper.no.yml @@ -1,113 +1 @@ ---- -no: - activerecord: - attributes: - doorkeeper/application: - name: Navn - redirect_uri: Omdirigerings-URI - errors: - models: - doorkeeper/application: - attributes: - redirect_uri: - fragment_present: kan ikke inneholde ett fragment. - invalid_uri: må være en gyldig URI. - relative_uri: må være en absolutt URI. - secured_uri: må være en HTTPS/SSL URI. - doorkeeper: - applications: - buttons: - authorize: Autoriser - cancel: Avbryt - destroy: Ødelegg - edit: Endre - submit: Send inn - confirmations: - destroy: Er du sikker? - edit: - title: Endre applikasjon - form: - error: Whoops! Sjekk skjemaet ditt for mulige feil - help: - native_redirect_uri: Bruk %{native_redirect_uri} for lokale tester - redirect_uri: Bruk en linje per URI - scopes: Adskill omfang med mellomrom. La det være blankt for å bruke standard omfang. - index: - callback_url: Callback URL - name: Navn - new: Ny Applikasjon - title: Dine applikasjoner - new: - title: Ny Applikasjoner - show: - actions: Operasjoner - application_id: Applikasjon Id - callback_urls: Callback urls - scopes: Omfang - secret: Hemmelighet - title: 'Applikasjon: %{name}' - authorizations: - buttons: - authorize: Autoriser - deny: Avvis - error: - title: En feil oppsto - new: - able_to: Den vil ha mulighet til - prompt: Applikasjon %{client_name} spør om tilgang til din konto - title: Autorisasjon påkrevd - show: - title: Autoriserings kode - authorized_applications: - buttons: - revoke: Opphev - confirmations: - revoke: Opphev? - index: - application: Applikasjon - created_at: Autorisert - date_format: "%Y-%m-%d %H:%M:%S" - scopes: Omfang - title: Dine autoriserte applikasjoner - errors: - messages: - access_denied: Ressurseieren eller autoriserings tjeneren avviste forespørslen. - credential_flow_not_configured: Ressurseiers passord flyt feilet på grunn av at Doorkeeper.configure.resource_owner_from_credentials ikke var konfigurert. - invalid_client: Klient autentisering feilet på grunn av ukjent klient, ingen autentisering inkludert eller autentiserings metode som ikke er støttet. - invalid_grant: Autoriseringen er ugyldig, utløpt, opphevet, stemmer ikke overens med omdirigerings-URIen eller var utstedt til en annen klient. - invalid_redirect_uri: redirect urien som var inkludert er ikke gyldig. - invalid_request: Forespørslen mangler ett eller flere parametere, inkluderte ett parameter som ikke støttes eller har feil struktur. - invalid_resource_owner: Ressurseierens detaljer er ikke gyldig, eller så kan ikke eieren finnes. - invalid_scope: Det etterspurte omfanget er ugyldig, ukjent eller har feil struktur. - invalid_token: - expired: Tilgangsbeviset har utløpt - revoked: Tilgangsbeviset har blitt opphevet - unknown: Tilgangsbeviset er ugyldig - resource_owner_authenticator_not_configured: Ressurseier kunne ikke finnes fordi Doorkeeper.configure.resource_owner_authenticator ikke er konfigurert. - server_error: Autoriserings tjeneren støtte på en uventet hendelse som hindret den i å svare på forespørslen. - temporarily_unavailable: Autoriserings tjeneren kan ikke håndtere forespørslen grunnet en midlertidig overbelastning eller tjenervedlikehold. - unauthorized_client: Klienten har ikke autorisasjon for å utføre denne forespørslen med denne metoden. - unsupported_grant_type: Autorisasjons tildelings typen er ikke støttet av denne autoriserings tjeneren. - unsupported_response_type: Autorisasjons serveren støtter ikke denne typen av forespørsler. - flash: - applications: - create: - notice: Applikasjon opprettet. - destroy: - notice: Applikasjon slettet. - update: - notice: Applikasjon oppdatert. - authorized_applications: - destroy: - notice: Applikasjon opphevet. - layouts: - admin: - nav: - applications: Applikasjoner - oauth2_provider: OAuth2 tilbyder - application: - title: OAuth autorisering påkrevet - scopes: - follow: følg, blokker, avblokker, avfølg kontoer - read: lese dine data - write: poste på dine vegne +--- {} diff --git a/config/locales/no.yml b/config/locales/no.yml index d4514d5e4..2fbf0ffd7 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -1,164 +1 @@ ---- -no: - about: - about_mastodon: Mastodon er et gratis, åpen kildekode sosialt nettverk. Et desentralisert alternativ til kommersielle plattformer. Slik kan det unngå risikoene ved å ha et enkelt selskap med monopol på din kommunikasjon. Velg en tjener du stoler på — uansett hvilken du velger så kan du interagere med alle andre. Alle kan kjøre sin egen Mastodon og delta sømløst i det sosiale nettverket. - about_this: Om denne instansen - apps: Applikasjoner - business_email: 'Bedriftsepost:' - contact: Kontakt - description_headline: Hva er %{domain}? - domain_count_after: andre instanser - domain_count_before: Koblet til - features: - api: Åpent api for applikasjoner og tjenester - blocks: Rikholdige blokkerings verktøy - characters: 500 tegn per post - chronology: Tidslinjer er kronologiske - ethics: 'Etisk design: Ingen reklame, ingen sporing' - gifv: GIFV sett og korte videoer - privacy: Finmaskete personvernsinnstillinger - public: Offentlige tidslinjer - features_headline: Hva skiller Mastodon fra andre sosiale nettverk - get_started: Kom i gang - links: Lenker - other_instances: Andre instanser - source_code: Kildekode - status_count_after: statuser - status_count_before: Hvem skrev - terms: Betingelser - user_count_after: brukere - user_count_before: Hjem til - accounts: - follow: Følg - followers: Følgere - following: Følger - nothing_here: Det er ingenting her! - people_followed_by: Folk som %{name} følger - people_who_follow: Folk som følger %{name} - posts: Poster - remote_follow: Følg fra andre instanser - unfollow: Avfølg - application_mailer: - settings: 'Endre foretrukne epost innstillinger: %{link}' - signature: Mastodon notiser fra %{instance} - view: 'Se:' - applications: - invalid_url: Den oppgitte URLen er ugyldig - auth: - change_password: Brukerdetaljer - didnt_get_confirmation: Fikk du ikke bekreftelsesmailen din? - forgot_password: Har du glemt passordet ditt? - login: Innlogging - logout: Logg ut - register: Bli med - resend_confirmation: Send bekreftelsesinstruksjoner på nytt - reset_password: Nullstill passord - set_new_password: Sett nytt passord - authorize_follow: - error: Uheldigvis så skjedde det en feil når vi prøvde å få tak i en konto fra en annen instans. - follow: Følg - prompt_html: 'Du (%{self}) har spurt om å følge:' - title: Følg %{acct} - datetime: - distance_in_words: - about_x_hours: "%{count}t" - about_x_months: "%{count}m" - about_x_years: "%{count}å" - almost_x_years: "%{count}å" - half_a_minute: Nylig - less_than_x_minutes: "%{count}min" - less_than_x_seconds: Nylig - over_x_years: "%{count}å" - x_days: "%{count}d" - x_minutes: "%{count}min" - x_months: "%{count}mo" - x_seconds: "%{count}s" - exports: - blocks: Du blokkerer - csv: CSV - follows: Du følger - storage: Media lagring - generic: - changes_saved_msg: Vellykket lagring av endringer! - powered_by: drevet av %{link} - save_changes: Lagre endringer - validation_errors: - one: Noe er ikke helt riktig ennå. Vær snill å se etter en gang til - other: Noe er ikke helt riktig ennå. Det er ennå %{count} feil å rette på - imports: - preface: Du kan importere data om mennesker du følger eller blokkerer inn til kontoen din på denne instansen, fra filer opprettet av eksporter fra andre instanser. - success: Din data ble mottatt og vil bli prosessert så fort som mulig. - types: - blocking: Blokkeringsliste - following: Følgeliste - upload: Opplastning - landing_strip_html: %{name} er en bruker på %{domain}. Du kan følge dem eller interagere med dem hvis du har en konto hvor som helst i fediverset. Hvis du ikke har en konto så kan du registrere deg her. - notification_mailer: - digest: - body: 'Her er en kort oppsummering av hva du har gått glipp av på %{instance} siden du logget deg inn sist den %{since}:' - mention: "%{name} nevnte deg i:" - new_followers_summary: - one: Du har fått en ny følger. Jippi! - other: Du har fått %{count} nye følgere! Imponerende! - subject: - one: "1 ny hendelse siden ditt siste besøk \U0001F418" - other: "%{count} nye hendelser siden ditt siste besøk \U0001F418" - favourite: - body: 'Din status ble satt som favoritt av %{name}' - subject: "%{name} satte din status som favoritt." - follow: - body: "%{name} følger deg!" - subject: "%{name} følger deg" - follow_request: - body: "%{name} har spurt om å få lov til å følge deg" - subject: 'Ventende følger: %{name}' - mention: - body: 'Du ble nevnt av %{name} i:' - subject: Du ble nevnt av %{name} - reblog: - body: 'Din status fikk en boost av %{name}:' - subject: "%{name} ga din status en boost" - pagination: - next: Neste - prev: Forrige - remote_follow: - acct: Tast inn brukernavn@domene som du vil følge fra - missing_resource: Kunne ikke finne URLen for din konto - proceed: Fortsett med følging - prompt: 'Du kommer til å følge:' - settings: - authorized_apps: Autoriserte applikasjoner - back: Tilbake til Mastodon - edit_profile: Endre profil - export: Data eksport - import: Importer - preferences: Foretrukne valg - settings: Innstillinger - two_factor_auth: To-faktor autentisering - statuses: - open_in_web: Åpne i nettleser - over_character_limit: tegngrense på %{max} overskredet - show_more: Vis mer - visibilities: - private: Vis kun til følgere - public: Offentlig - unlisted: Offentlig, men vis ikke på offentlig tidslinje - stream_entries: - click_to_show: Klikk for å vise - reblogged: boostet - sensitive_content: Sensitivt innhold - time: - formats: - default: "%d, %b %Y, %H:%M" - two_factor_auth: - description_html: Hvis du skru på tofaktor autentisering vil innlogging kreve at du har telefonen din, som vil generere koder som du må taste inn. - disable: Skru av - enable: Skru på - instructions_html: "Scan denne QR-koden i Google Authenticator eller en lignende app på telefonen din. Fra nå av så vil denne applikasjonen generere koder for deg som skal brukes under innlogging" - plaintext_secret_html: 'Plain-text secret: %{secret}' - warning: Hvis du ikke kan konfigurere en autentikatorapp nå, så bør du trykke "Skru av"; ellers vil du ikke kunne logge inn. - users: - invalid_email: E-post addressen er ugyldig - invalid_otp_token: Ugyldig two-faktor kode - will_paginate: - page_gap: "…" +--- {} diff --git a/config/locales/simple_form.no.yml b/config/locales/simple_form.no.yml index 6829e6a24..2fbf0ffd7 100644 --- a/config/locales/simple_form.no.yml +++ b/config/locales/simple_form.no.yml @@ -1,46 +1 @@ ---- -no: - simple_form: - hints: - defaults: - avatar: PNG, GIF eller JPG. Maksimalt 2MB. Vil bli nedskalert til 120x120px - display_name: Maksimalt 30 tegn - header: PNG, GIF eller JPG. Maksimalt 2MB. Vil bli nedskalert til 700x335px - locked: Krever at du manuelt godkjenner følgere og setter standard beskyttelse av poster til kun-følgere - note: Maksimalt 160 tegn - imports: - data: CSV fil eksportert fra en annen Mastodon instans - labels: - defaults: - avatar: Avatar - confirm_new_password: Bekreft nytt passord - confirm_password: Bekreft passord - current_password: Nåværende passord - data: Data - display_name: Visningsnavn - email: E-post adresse - header: Header - locale: Språk - locked: Endre konto til privat - new_password: Nytt passord - note: Biografi - otp_attempt: To-faktor kode - password: Passord - setting_default_privacy: Leserettigheter for poster - type: Importeringstype - username: Brukernavn - interactions: - must_be_follower: Blokker meldinger fra ikke-følgere - must_be_following: Blokker meldinger fra folk du ikke følger - notification_emails: - digest: Send oppsummerings eposter - favourite: Send e-post når noen setter din status som favoritt - follow: Send e-post når noen følger deg - follow_request: Send e-post når noen spør om å få følge deg - mention: Send e-post når noen nevner deg - reblog: Send e-post når noen reblogger din status - 'no': 'Nei' - required: - mark: "*" - text: påkrevd - 'yes': 'Ja' +--- {} diff --git a/config/navigation.rb b/config/navigation.rb index 77556e5aa..c6b7b9767 100644 --- a/config/navigation.rb +++ b/config/navigation.rb @@ -14,11 +14,11 @@ SimpleNavigation::Configuration.run do |navigation| settings.item :authorized_apps, safe_join([fa_icon('list fw'), t('settings.authorized_apps')]), oauth_authorized_applications_url end - primary.item :admin, safe_join([fa_icon('cogs fw'), 'Administration']), admin_accounts_url, if: proc { current_user.admin? } do |admin| + primary.item :admin, safe_join([fa_icon('cogs fw'), 'Administration']), admin_reports_url, if: proc { current_user.admin? } do |admin| admin.item :reports, safe_join([fa_icon('flag fw'), 'Reports']), admin_reports_url, highlights_on: %r{/admin/reports} admin.item :accounts, safe_join([fa_icon('users fw'), 'Accounts']), admin_accounts_url, highlights_on: %r{/admin/accounts} admin.item :pubsubhubbubs, safe_join([fa_icon('paper-plane-o fw'), 'PubSubHubbub']), admin_pubsubhubbub_index_url - admin.item :domain_blocks, safe_join([fa_icon('lock fw'), 'Domain Blocks']), admin_domain_blocks_url + admin.item :domain_blocks, safe_join([fa_icon('lock fw'), 'Domain Blocks']), admin_domain_blocks_url, highlights_on: %r{/admin/domain_blocks} admin.item :sidekiq, safe_join([fa_icon('diamond fw'), 'Sidekiq']), sidekiq_url admin.item :pghero, safe_join([fa_icon('database fw'), 'PgHero']), pghero_url admin.item :settings, safe_join([fa_icon('cogs fw'), 'Site Settings']), admin_settings_url diff --git a/config/routes.rb b/config/routes.rb index bfca5c734..ca77191f7 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -77,7 +77,7 @@ Rails.application.routes.draw do namespace :admin do resources :pubsubhubbub, only: [:index] - resources :domain_blocks, only: [:index, :create] + resources :domain_blocks, only: [:index, :new, :create] resources :settings, only: [:index, :update] resources :reports, only: [:index, :show] do -- cgit From 7dd5ba42a394e64ef55b066628294cc0c61d2d58 Mon Sep 17 00:00:00 2001 From: Korbinian Date: Mon, 3 Apr 2017 19:01:17 +0200 Subject: Updated and fixed german orthography --- config/locales/devise.de.yml | 50 ++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 25 deletions(-) (limited to 'config') diff --git a/config/locales/devise.de.yml b/config/locales/devise.de.yml index 181502f9c..58bfaa3d6 100644 --- a/config/locales/devise.de.yml +++ b/config/locales/devise.de.yml @@ -2,59 +2,59 @@ de: devise: confirmations: - confirmed: "Vielen Dank für Deine Registrierung. Bitte melde dich jetzt an." - send_instructions: "Du erhältst in wenigen Minuten eine E-Mail, mit der Du Deine Registrierung bestätigen kannst." - send_paranoid_instructions: "Falls Deine E-Mail-Adresse in unserer Datenbank existiert erhältst Du in wenigen Minuten eine E-Mail mit der Du Deine Registrierung bestätigen kannst." + confirmed: "Vielen Dank für deine Registrierung. Bitte melde dich jetzt an." + send_instructions: "Du erhältst in wenigen Minuten eine E-Mail, mit der du deine Registrierung bestätigen kannst." + send_paranoid_instructions: "Falls Deine E-Mail-Adresse in unserer Datenbank existiert, erhältst Du in wenigen Minuten eine E-Mail mit der du deine Registrierung bestätigen kannst." failure: already_authenticated: "Du bist bereits angemeldet." inactive: "Dein Account ist nicht aktiv." invalid: "Ungültige Anmeldedaten." - last_attempt: "Du hast noch einen Versuch bevor dein Account gesperrt wird" + last_attempt: "Du hast noch einen Versuch bevor dein Account gesperrt wird." locked: "Dein Account ist gesperrt." not_found_in_database: "E-Mail-Adresse oder Passwort ungültig." - timeout: "Deine Sitzung ist abgelaufen, bitte melde Dich erneut an." - unauthenticated: "Du musst Dich anmelden oder registrieren, bevor Du fortfahren kannst." - unconfirmed: "Du musst Deinen Account bestätigen, bevor Du fortfahren kannst." + timeout: "Deine Sitzung ist abgelaufen, bitte melde dich erneut an." + unauthenticated: "Du musst Dich anmelden oder registrieren, bevor du fortfahren kannst." + unconfirmed: "Du musst deinen Account bestätigen, bevor du fortfahren kannst." mailer: confirmation_instructions: - subject: "Mastodon: Anleitung zur Bestätigung Deines Accounts" + subject: "Mastodon: Anleitung zur Bestätigung deines Accounts" password_change: subject: 'Mastodon: Passwort wurde geändert' reset_password_instructions: - subject: "Mastodon: Anleitung um Dein Passwort zurückzusetzen" + subject: "Mastodon: Anleitung um dein Passwort zurückzusetzen" unlock_instructions: - subject: "Mastodon: Anleitung um Deinen Account freizuschalten" + subject: "Mastodon: Anleitung um deinen Account freizuschalten" omniauth_callbacks: - failure: "Du konntest nicht Deinem %{kind}-Account angemeldet werden, weil '%{reason}'." - success: "Du hast Dich erfolgreich mit Deinem %{kind}-Account angemeldet." + failure: "Du konntest nicht mit deinem %{kind}-Account angemeldet werden, weil '%{reason}'." + success: "Du hast dich erfolgreich mit Deinem %{kind}-Account angemeldet." passwords: - no_token: "Du kannst diese Seite nur von dem Link aus einer E-Mail zum Passwort-Zurücksetzen aufrufen. Wenn du einen solchen Link aufgerufen hast stelle bitte sicher, dass du die vollständige Adresse aufrufst." - send_instructions: "Du erhältst in wenigen Minuten eine E-Mail mit der Anleitung, wie Du Dein Passwort zurücksetzen kannst." - send_paranoid_instructions: "Falls Deine E-Mail-Adresse in unserer Datenbank existiert erhältst Du in wenigen Minuten eine E-Mail mit der Anleitung, wie Du Dein Passwort zurücksetzen können." + no_token: "Du kannst diese Seite nur über den Link aus der E-Mail zum Passwort-Zurücksetzen aufrufen. Wenn du einen solchen Link aufgerufen hast, stelle bitte sicher, dass du die vollständige Adresse aufrufst." + send_instructions: "Du erhältst in wenigen Minuten eine E-Mail mit der Anleitung, wie du dein Passwort zurücksetzen kannst." + send_paranoid_instructions: "Falls deine E-Mail-Adresse in unserer Datenbank existiert erhältst du in wenigen Minuten eine E-Mail mit der Anleitung, wie du dein Passwort zurücksetzen kannst." updated: "Dein Passwort wurde geändert. Du bist jetzt angemeldet." updated_not_active: "Dein Passwort wurde geändert." registrations: destroyed: "Dein Account wurde gelöscht." signed_up: "Du hast dich erfolgreich registriert." - signed_up_but_inactive: "Du hast dich erfolgreich registriert. Wir konnten Dich noch nicht anmelden, da Dein Account inaktiv ist." - signed_up_but_locked: "Du hast dich erfolgreich registriert. Wir konnten Dich noch nicht anmelden, da Dein Account gesperrt ist." - signed_up_but_unconfirmed: "Du hast Dich erfolgreich registriert. Wir konnten Dich noch nicht anmelden, da Dein Account noch nicht bestätigt ist. Du erhältst in Kürze eine E-Mail mit der Anleitung, wie Du Deinen Account freischalten kannst." - update_needs_confirmation: "Deine Daten wurden aktualisiert, aber Du musst Deine neue E-Mail-Adresse bestätigen. Du erhälst in wenigen Minuten eine E-Mail, mit der Du die Änderung Deiner E-Mail-Adresse abschließen kannst." + signed_up_but_inactive: "Du hast dich erfolgreich registriert. Wir konnten dich noch nicht anmelden, da dein Account inaktiv ist." + signed_up_but_locked: "Du hast dich erfolgreich registriert. Wir konnten dich noch nicht anmelden, da dein Account gesperrt ist." + signed_up_but_unconfirmed: "Du hast Dich erfolgreich registriert. Wir konnten dich noch nicht anmelden, da dein Account noch nicht bestätigt ist. Du erhältst in Kürze eine E-Mail mit der Anleitung, wie Du Deinen Account freischalten kannst." + update_needs_confirmation: "Deine Daten wurden aktualisiert, aber du musst deine neue E-Mail-Adresse bestätigen. Du erhälst in wenigen Minuten eine E-Mail, mit der du die Änderung deiner E-Mail-Adresse abschließen kannst." updated: "Deine Daten wurden aktualisiert." sessions: already_signed_out: "Erfolgreich abgemeldet." signed_in: "Erfolgreich angemeldet." signed_out: "Erfolgreich abgemeldet." unlocks: - send_instructions: "Du erhältst in wenigen Minuten eine E-Mail mit der Anleitung, wie Du Deinen Account entsperren können." - send_paranoid_instructions: "Falls Deine E-Mail-Adresse in unserer Datenbank existiert erhältst Du in wenigen Minuten eine E-Mail mit der Anleitung, wie Du Deinen Account entsperren kannst." + send_instructions: "Du erhältst in wenigen Minuten eine E-Mail mit der Anleitung, wie du deinen Account entsperren können." + send_paranoid_instructions: "Falls deine E-Mail-Adresse in unserer Datenbank existiert erhältst du in wenigen Minuten eine E-Mail mit der Anleitung, wie du deinen Account entsperren kannst." unlocked: "Dein Account wurde entsperrt. Du bist jetzt angemeldet." errors: messages: - already_confirmed: "wurde bereits bestätigt" - confirmation_period_expired: "muss innerhalb %{period} bestätigt werden, bitte fordere einen neuen Link an" - expired: "ist abgelaufen, bitte neu anfordern" - not_found: "nicht gefunden" + already_confirmed: "wurde bereits bestätigt." + confirmation_period_expired: "muss innerhalb %{period} bestätigt werden, bitte fordere einen neuen Link an." + expired: "ist abgelaufen, bitte neu anfordern." + not_found: "wurde nicht gefunden." not_locked: "ist nicht gesperrt" not_saved: one: "Konnte %{resource} nicht speichern: ein Fehler." -- cgit From ec8029a95531bd52bc6ed1e83c52362411210d5e Mon Sep 17 00:00:00 2001 From: Korbinian Date: Mon, 3 Apr 2017 19:10:48 +0200 Subject: Updated and fixed orthography --- config/locales/de.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'config') diff --git a/config/locales/de.yml b/config/locales/de.yml index 320bd3144..d44845c6b 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -1,14 +1,14 @@ --- de: about: - about_mastodon: Mastodon ist ein freier, quelloffener soziales Netzwerkserver. Eine dezentralisierte Alternative zu kommerziellen Plattformen, verhindert es die Risiken, die entstehen, wenn eine einzelne Firma deine Kommunikation monopolisiert. Jeder kann Mastodon verwenden und ganz einfach am sozialen Netzwerk teilnehmen. + about_mastodon: Mastodon ist ein freier, quelloffener soziales Netzwerkserver. Als dezentralisierte Alternative zu kommerziellen Plattformen verhindert es die Risiken, die entstehen, wenn eine einzelne Firma deine Kommunikation monopolisiert. Jeder kann Mastodon verwenden und ganz einfach am sozialen Netzwerk teilnehmen. get_started: Erste Schritte source_code: Quellcode terms: AGB accounts: follow: Folgen - followers: Folger - following: Folgt + followers: Follower + following: Gefolgt nothing_here: Hier gibt es nichts! people_followed_by: Nutzer, denen %{name} folgt people_who_follow: Nutzer, die %{name} folgen @@ -27,7 +27,7 @@ de: reset_password: Passwort zurücksetzen set_new_password: Neues Passwort setzen authorize_follow: - error: Das entfernte Profil konnte nicht geladen werden + error: Das Profil konnte nicht geladen werden follow: Folgen prompt_html: 'Du (%{self}) möchtest dieser Person folgen:' title: "%{acct} folgen" @@ -55,25 +55,25 @@ de: notification_mailer: favourite: body: 'Dein Beitrag wurde von %{name} favorisiert:' - subject: "%{name} hat deinen Beitrag favorisiert" + subject: "%{name} hat deinen Beitrag favorisiert." follow: body: "%{name} folgt dir jetzt!" - subject: "%{name} folgt dir nun" + subject: "%{name} folgt dir jetzt." follow_request: body: "%{name} möchte dir folgen:" - subject: "%{name} möchte dir folgen" + subject: "%{name} möchte dir folgen." mention: body: "%{name} hat dich erwähnt:" - subject: "%{name} hat dich erwähnt" + subject: "%{name} hat dich erwähnt." reblog: body: 'Dein Beitrag wurde von %{name} geteilt:' - subject: "%{name} teilte deinen Beitrag" + subject: "%{name} teilte deinen Beitrag." pagination: next: Vorwärts prev: Zurück remote_follow: - acct: Dein Nutzername@Domain, von dem du dieser Person folgen möchtest - missing_resource: Die erforderliche Weiterleitungs-URL konnte leider in deinem Profil nicht gefunden werden + acct: Dein Nutzername@Domain, von dem aus du dieser Person folgen möchtest. + missing_resource: Die erforderliche Weiterleitungs-URL konnte leider in deinem Profil nicht gefunden werden. proceed: Weiter prompt: 'Du wirst dieser Person folgen:' settings: -- cgit From 98a93aa07e087ea3af98253a55a9ba2a043c5b36 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 3 Apr 2017 19:50:55 +0200 Subject: Fix norwegian translation being malformed --- config/locales/devise.no.yml | 62 +++++++++++++- config/locales/doorkeeper.no.yml | 114 +++++++++++++++++++++++++- config/locales/no.yml | 165 +++++++++++++++++++++++++++++++++++++- config/locales/simple_form.no.yml | 47 ++++++++++- 4 files changed, 384 insertions(+), 4 deletions(-) (limited to 'config') diff --git a/config/locales/devise.no.yml b/config/locales/devise.no.yml index 2fbf0ffd7..8b650e548 100644 --- a/config/locales/devise.no.yml +++ b/config/locales/devise.no.yml @@ -1 +1,61 @@ ---- {} +--- +'no': + devise: + confirmations: + confirmed: Epostaddressen din er blitt bekreftet. + send_instructions: Du vil motta en epost med instruksjoner for hvordan bekrefte din epostaddresse om noen få minutter. + send_paranoid_instructions: Hvis din epostaddresse finnes i vår database vil du motta en epost med instruksjoner for hvordan bekrefte din epost om noen få minutter. + failure: + already_authenticated: Du er allerede innlogget. + inactive: Din konto er ikke blitt aktivert ennå. + invalid: Ugyldig %{authentication_keys} eller passord. + last_attempt: Du har ett forsøk igjen før kontoen din bli låst. + locked: Din konto er låst. + not_found_in_database: Ugyldig %{authentication_keys} eller passord. + timeout: Sesjonen din løp ut på tid. Logg inn på nytt for å fortsette. + unauthenticated: Du må logge inn eller registrere deg før du kan fortsette. + unconfirmed: Du må bekrefte epostadressen din før du kan fortsette. + mailer: + confirmation_instructions: + subject: 'Mastodon: Instruksjoner for å bekrefte epostadresse' + password_change: + subject: 'Mastodon: Passord endret' + reset_password_instructions: + subject: 'Mastodon: Hvordan nullstille passord?' + unlock_instructions: + subject: 'Mastodon: Instruksjoner for å gjenåpne konto' + omniauth_callbacks: + failure: Kunne ikke autentisere deg fra %{kind} fordi "%{reason}". + success: Vellykket autentisering fra %{kind}. + passwords: + no_token: Du har ingen tilgang til denne siden så lenge du ikke kommer fra en epost om nullstilling av passord. Hvis du kommer fra en passordnullstilling epost, dobbelsjekk at du brukte hele URLen. + send_instructions: Du vil motta en epost med instruksjoner for å nullstille passordet ditt om noen få minutter. + send_paranoid_instructions: Hvis epostadressen din finnes i databasen vår vil du motta en instruksjonsmail om passord nullstilling om noen få minutter. + updated: Passordet ditt har blitt endret. Du er nå logget inn. + updated_not_active: Passordet ditt har blitt endret. + registrations: + destroyed: Adjø! Kontoen din har blitt avsluttet. Vi håper at vi ser deg igjen snart. + signed_up: Velkommen! Registrasjonen var vellykket. + signed_up_but_inactive: Registrasjonen var vellykket. Vi kunne dessverre ikke logge deg inn fordi kontoen din ennå ikke har blitt aktivert. + signed_up_but_locked: Registrasjonen var vellykket. Vi kunne dessverre ikke logge deg inn fordi kontoen din har blitt låst. + signed_up_but_unconfirmed: En epostmelding med en bekreftelseslink har blitt sendt til din adresse. Klikk på linken i eposten for å aktivere kontoen din. + update_needs_confirmation: Du har oppdatert kontoen din, men vi må bekrefte din nye epostadresse. Sjekk eposten din og følg bekreftelseslinken for å bekrefte din nye epostadresse. + updated: Kontoen din ble oppdatert. + sessions: + already_signed_out: Logget ut. + signed_in: Logget inn. + signed_out: Logget ut. + unlocks: + send_instructions: Du vil motta en epost med instruksjoner for å åpne kontoen din om noen få minutter. + send_paranoid_instructions: Hvis kontoen din eksisterer vil du motta en epost med instruksjoner for å åpne kontoen din om noen få minutter. + unlocked: Kontoen din ble åpnet uten problemer. Logg på for å fortsette. + errors: + messages: + already_confirmed: har allerede blitt bekreftet, prøv å logg på istedet. + confirmation_period_expired: må bekreftes innen %{period}. Spør om en ny bekreftelsesmail istedet. + expired: har utløpt, spør om en ny en istedet + not_found: ikke funnet + not_locked: var ikke låst + not_saved: + one: '1 feil hindret denne %{resource} fra å bli lagret:' + other: "%{count} feil hindret denne %{resource} fra å bli lagret:" diff --git a/config/locales/doorkeeper.no.yml b/config/locales/doorkeeper.no.yml index 2fbf0ffd7..f149f53e0 100644 --- a/config/locales/doorkeeper.no.yml +++ b/config/locales/doorkeeper.no.yml @@ -1 +1,113 @@ ---- {} +--- +'no': + activerecord: + attributes: + doorkeeper/application: + name: Navn + redirect_uri: Omdirigerings-URI + errors: + models: + doorkeeper/application: + attributes: + redirect_uri: + fragment_present: kan ikke inneholde ett fragment. + invalid_uri: må være en gyldig URI. + relative_uri: må være en absolutt URI. + secured_uri: må være en HTTPS/SSL URI. + doorkeeper: + applications: + buttons: + authorize: Autoriser + cancel: Avbryt + destroy: Ødelegg + edit: Endre + submit: Send inn + confirmations: + destroy: Er du sikker? + edit: + title: Endre applikasjon + form: + error: Whoops! Sjekk skjemaet ditt for mulige feil + help: + native_redirect_uri: Bruk %{native_redirect_uri} for lokale tester + redirect_uri: Bruk en linje per URI + scopes: Adskill omfang med mellomrom. La det være blankt for å bruke standard omfang. + index: + callback_url: Callback URL + name: Navn + new: Ny Applikasjon + title: Dine applikasjoner + new: + title: Ny Applikasjoner + show: + actions: Operasjoner + application_id: Applikasjon Id + callback_urls: Callback urls + scopes: Omfang + secret: Hemmelighet + title: 'Applikasjon: %{name}' + authorizations: + buttons: + authorize: Autoriser + deny: Avvis + error: + title: En feil oppsto + new: + able_to: Den vil ha mulighet til + prompt: Applikasjon %{client_name} spør om tilgang til din konto + title: Autorisasjon påkrevd + show: + title: Autoriserings kode + authorized_applications: + buttons: + revoke: Opphev + confirmations: + revoke: Opphev? + index: + application: Applikasjon + created_at: Autorisert + date_format: "%Y-%m-%d %H:%M:%S" + scopes: Omfang + title: Dine autoriserte applikasjoner + errors: + messages: + access_denied: Ressurseieren eller autoriserings tjeneren avviste forespørslen. + credential_flow_not_configured: Ressurseiers passord flyt feilet på grunn av at Doorkeeper.configure.resource_owner_from_credentials ikke var konfigurert. + invalid_client: Klient autentisering feilet på grunn av ukjent klient, ingen autentisering inkludert eller autentiserings metode som ikke er støttet. + invalid_grant: Autoriseringen er ugyldig, utløpt, opphevet, stemmer ikke overens med omdirigerings-URIen eller var utstedt til en annen klient. + invalid_redirect_uri: redirect urien som var inkludert er ikke gyldig. + invalid_request: Forespørslen mangler ett eller flere parametere, inkluderte ett parameter som ikke støttes eller har feil struktur. + invalid_resource_owner: Ressurseierens detaljer er ikke gyldig, eller så kan ikke eieren finnes. + invalid_scope: Det etterspurte omfanget er ugyldig, ukjent eller har feil struktur. + invalid_token: + expired: Tilgangsbeviset har utløpt + revoked: Tilgangsbeviset har blitt opphevet + unknown: Tilgangsbeviset er ugyldig + resource_owner_authenticator_not_configured: Ressurseier kunne ikke finnes fordi Doorkeeper.configure.resource_owner_authenticator ikke er konfigurert. + server_error: Autoriserings tjeneren støtte på en uventet hendelse som hindret den i å svare på forespørslen. + temporarily_unavailable: Autoriserings tjeneren kan ikke håndtere forespørslen grunnet en midlertidig overbelastning eller tjenervedlikehold. + unauthorized_client: Klienten har ikke autorisasjon for å utføre denne forespørslen med denne metoden. + unsupported_grant_type: Autorisasjons tildelings typen er ikke støttet av denne autoriserings tjeneren. + unsupported_response_type: Autorisasjons serveren støtter ikke denne typen av forespørsler. + flash: + applications: + create: + notice: Applikasjon opprettet. + destroy: + notice: Applikasjon slettet. + update: + notice: Applikasjon oppdatert. + authorized_applications: + destroy: + notice: Applikasjon opphevet. + layouts: + admin: + nav: + applications: Applikasjoner + oauth2_provider: OAuth2 tilbyder + application: + title: OAuth autorisering påkrevet + scopes: + follow: følg, blokker, avblokker, avfølg kontoer + read: lese dine data + write: poste på dine vegne diff --git a/config/locales/no.yml b/config/locales/no.yml index 2fbf0ffd7..b9a752d5a 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -1 +1,164 @@ ---- {} +--- +'no': + about: + about_mastodon: Mastodon er et gratis, åpen kildekode sosialt nettverk. Et desentralisert alternativ til kommersielle plattformer. Slik kan det unngå risikoene ved å ha et enkelt selskap med monopol på din kommunikasjon. Velg en tjener du stoler på — uansett hvilken du velger så kan du interagere med alle andre. Alle kan kjøre sin egen Mastodon og delta sømløst i det sosiale nettverket. + about_this: Om denne instansen + apps: Applikasjoner + business_email: 'Bedriftsepost:' + contact: Kontakt + description_headline: Hva er %{domain}? + domain_count_after: andre instanser + domain_count_before: Koblet til + features: + api: Åpent api for applikasjoner og tjenester + blocks: Rikholdige blokkerings verktøy + characters: 500 tegn per post + chronology: Tidslinjer er kronologiske + ethics: 'Etisk design: Ingen reklame, ingen sporing' + gifv: GIFV sett og korte videoer + privacy: Finmaskete personvernsinnstillinger + public: Offentlige tidslinjer + features_headline: Hva skiller Mastodon fra andre sosiale nettverk + get_started: Kom i gang + links: Lenker + other_instances: Andre instanser + source_code: Kildekode + status_count_after: statuser + status_count_before: Hvem skrev + terms: Betingelser + user_count_after: brukere + user_count_before: Hjem til + accounts: + follow: Følg + followers: Følgere + following: Følger + nothing_here: Det er ingenting her! + people_followed_by: Folk som %{name} følger + people_who_follow: Folk som følger %{name} + posts: Poster + remote_follow: Følg fra andre instanser + unfollow: Avfølg + application_mailer: + settings: 'Endre foretrukne epost innstillinger: %{link}' + signature: Mastodon notiser fra %{instance} + view: 'Se:' + applications: + invalid_url: Den oppgitte URLen er ugyldig + auth: + change_password: Brukerdetaljer + didnt_get_confirmation: Fikk du ikke bekreftelsesmailen din? + forgot_password: Har du glemt passordet ditt? + login: Innlogging + logout: Logg ut + register: Bli med + resend_confirmation: Send bekreftelsesinstruksjoner på nytt + reset_password: Nullstill passord + set_new_password: Sett nytt passord + authorize_follow: + error: Uheldigvis så skjedde det en feil når vi prøvde å få tak i en konto fra en annen instans. + follow: Følg + prompt_html: 'Du (%{self}) har spurt om å følge:' + title: Følg %{acct} + datetime: + distance_in_words: + about_x_hours: "%{count}t" + about_x_months: "%{count}m" + about_x_years: "%{count}å" + almost_x_years: "%{count}å" + half_a_minute: Nylig + less_than_x_minutes: "%{count}min" + less_than_x_seconds: Nylig + over_x_years: "%{count}å" + x_days: "%{count}d" + x_minutes: "%{count}min" + x_months: "%{count}mo" + x_seconds: "%{count}s" + exports: + blocks: Du blokkerer + csv: CSV + follows: Du følger + storage: Media lagring + generic: + changes_saved_msg: Vellykket lagring av endringer! + powered_by: drevet av %{link} + save_changes: Lagre endringer + validation_errors: + one: Noe er ikke helt riktig ennå. Vær snill å se etter en gang til + other: Noe er ikke helt riktig ennå. Det er ennå %{count} feil å rette på + imports: + preface: Du kan importere data om mennesker du følger eller blokkerer inn til kontoen din på denne instansen, fra filer opprettet av eksporter fra andre instanser. + success: Din data ble mottatt og vil bli prosessert så fort som mulig. + types: + blocking: Blokkeringsliste + following: Følgeliste + upload: Opplastning + landing_strip_html: %{name} er en bruker på %{domain}. Du kan følge dem eller interagere med dem hvis du har en konto hvor som helst i fediverset. Hvis du ikke har en konto så kan du registrere deg her. + notification_mailer: + digest: + body: 'Her er en kort oppsummering av hva du har gått glipp av på %{instance} siden du logget deg inn sist den %{since}:' + mention: "%{name} nevnte deg i:" + new_followers_summary: + one: Du har fått en ny følger. Jippi! + other: Du har fått %{count} nye følgere! Imponerende! + subject: + one: "1 ny hendelse siden ditt siste besøk \U0001F418" + other: "%{count} nye hendelser siden ditt siste besøk \U0001F418" + favourite: + body: 'Din status ble satt som favoritt av %{name}' + subject: "%{name} satte din status som favoritt." + follow: + body: "%{name} følger deg!" + subject: "%{name} følger deg" + follow_request: + body: "%{name} har spurt om å få lov til å følge deg" + subject: 'Ventende følger: %{name}' + mention: + body: 'Du ble nevnt av %{name} i:' + subject: Du ble nevnt av %{name} + reblog: + body: 'Din status fikk en boost av %{name}:' + subject: "%{name} ga din status en boost" + pagination: + next: Neste + prev: Forrige + remote_follow: + acct: Tast inn brukernavn@domene som du vil følge fra + missing_resource: Kunne ikke finne URLen for din konto + proceed: Fortsett med følging + prompt: 'Du kommer til å følge:' + settings: + authorized_apps: Autoriserte applikasjoner + back: Tilbake til Mastodon + edit_profile: Endre profil + export: Data eksport + import: Importer + preferences: Foretrukne valg + settings: Innstillinger + two_factor_auth: To-faktor autentisering + statuses: + open_in_web: Åpne i nettleser + over_character_limit: tegngrense på %{max} overskredet + show_more: Vis mer + visibilities: + private: Vis kun til følgere + public: Offentlig + unlisted: Offentlig, men vis ikke på offentlig tidslinje + stream_entries: + click_to_show: Klikk for å vise + reblogged: boostet + sensitive_content: Sensitivt innhold + time: + formats: + default: "%d, %b %Y, %H:%M" + two_factor_auth: + description_html: Hvis du skru på tofaktor autentisering vil innlogging kreve at du har telefonen din, som vil generere koder som du må taste inn. + disable: Skru av + enable: Skru på + instructions_html: "Scan denne QR-koden i Google Authenticator eller en lignende app på telefonen din. Fra nå av så vil denne applikasjonen generere koder for deg som skal brukes under innlogging" + plaintext_secret_html: 'Plain-text secret: %{secret}' + warning: Hvis du ikke kan konfigurere en autentikatorapp nå, så bør du trykke "Skru av"; ellers vil du ikke kunne logge inn. + users: + invalid_email: E-post addressen er ugyldig + invalid_otp_token: Ugyldig two-faktor kode + will_paginate: + page_gap: "…" diff --git a/config/locales/simple_form.no.yml b/config/locales/simple_form.no.yml index 2fbf0ffd7..7e705b19b 100644 --- a/config/locales/simple_form.no.yml +++ b/config/locales/simple_form.no.yml @@ -1 +1,46 @@ ---- {} +--- +'no': + simple_form: + hints: + defaults: + avatar: PNG, GIF eller JPG. Maksimalt 2MB. Vil bli nedskalert til 120x120px + display_name: Maksimalt 30 tegn + header: PNG, GIF eller JPG. Maksimalt 2MB. Vil bli nedskalert til 700x335px + locked: Krever at du manuelt godkjenner følgere og setter standard beskyttelse av poster til kun-følgere + note: Maksimalt 160 tegn + imports: + data: CSV fil eksportert fra en annen Mastodon instans + labels: + defaults: + avatar: Avatar + confirm_new_password: Bekreft nytt passord + confirm_password: Bekreft passord + current_password: Nåværende passord + data: Data + display_name: Visningsnavn + email: E-post adresse + header: Header + locale: Språk + locked: Endre konto til privat + new_password: Nytt passord + note: Biografi + otp_attempt: To-faktor kode + password: Passord + setting_default_privacy: Leserettigheter for poster + type: Importeringstype + username: Brukernavn + interactions: + must_be_follower: Blokker meldinger fra ikke-følgere + must_be_following: Blokker meldinger fra folk du ikke følger + notification_emails: + digest: Send oppsummerings eposter + favourite: Send e-post når noen setter din status som favoritt + follow: Send e-post når noen følger deg + follow_request: Send e-post når noen spør om å få følge deg + mention: Send e-post når noen nevner deg + reblog: Send e-post når noen reblogger din status + 'no': 'Nei' + required: + mark: "*" + text: påkrevd + 'yes': 'Ja' -- cgit From ce1ca2859403fd21db1f6237ce6a563edd4f62ae Mon Sep 17 00:00:00 2001 From: Neville Park Date: Mon, 3 Apr 2017 17:45:36 -0400 Subject: Changed "reblogs" to "boosts" --- config/locales/simple_form.en.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'config') diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml index 4d1758f82..c781831a8 100644 --- a/config/locales/simple_form.en.yml +++ b/config/locales/simple_form.en.yml @@ -33,7 +33,7 @@ en: follow: Send e-mail when someone follows you follow_request: Send e-mail when someone requests to follow you mention: Send e-mail when someone mentions you - reblog: Send e-mail when someone reblogs your status + reblog: Send e-mail when someone boosts your status 'no': 'No' required: mark: "*" -- cgit From dc89fc17cc35f8e1deaffb30ae581ac453a7a9fc Mon Sep 17 00:00:00 2001 From: JantsoP Date: Tue, 4 Apr 2017 08:29:53 +0200 Subject: updated translation --- config/locales/simple_form.fi.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'config') diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml index 02c11752f..02943cea3 100644 --- a/config/locales/simple_form.fi.yml +++ b/config/locales/simple_form.fi.yml @@ -6,7 +6,7 @@ fi: 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 + locked: Vaatii sinun manuaalisesti hyväksymään seuraajat ja asettaa julkaisujen yksityisyyden vain seuraajille note: Korkeintaan 160 merkkiä imports: data: CSV tiedosto tuotu toiselta Mastodon palvelimelta -- cgit From 5f54981846508daf9558f66ffd70d42d8213bea9 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 4 Apr 2017 15:26:57 +0200 Subject: New admin setting: open/close registrations, with custom message, from the admin UI --- app/assets/stylesheets/about.scss | 10 ++++++- app/controllers/about_controller.rb | 4 ++- app/controllers/admin/settings_controller.rb | 14 +++++++-- app/controllers/auth/registrations_controller.rb | 10 +++---- app/views/about/index.html.haml | 37 ++++++++++++++++-------- app/views/admin/settings/index.html.haml | 12 ++++++++ config/locales/en.yml | 1 + config/settings.yml | 3 ++ 8 files changed, 70 insertions(+), 21 deletions(-) (limited to 'config') diff --git a/app/assets/stylesheets/about.scss b/app/assets/stylesheets/about.scss index 2ff1d1453..c9d9dc5d5 100644 --- a/app/assets/stylesheets/about.scss +++ b/app/assets/stylesheets/about.scss @@ -319,7 +319,7 @@ } } - .simple_form { + .simple_form, .closed-registrations-message { width: 300px; flex: 0 0 auto; background: rgba(darken($color1, 7%), 0.5); @@ -340,3 +340,11 @@ } } } + +.closed-registrations-message { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; +} diff --git a/app/controllers/about_controller.rb b/app/controllers/about_controller.rb index abf4b7df4..7fd43489f 100644 --- a/app/controllers/about_controller.rb +++ b/app/controllers/about_controller.rb @@ -4,7 +4,9 @@ class AboutController < ApplicationController before_action :set_body_classes def index - @description = Setting.site_description + @description = Setting.site_description + @open_registrations = Setting.open_registrations + @closed_registrations_message = Setting.closed_registrations_message @user = User.new @user.build_account diff --git a/app/controllers/admin/settings_controller.rb b/app/controllers/admin/settings_controller.rb index af0be8823..7615c781d 100644 --- a/app/controllers/admin/settings_controller.rb +++ b/app/controllers/admin/settings_controller.rb @@ -11,9 +11,13 @@ class Admin::SettingsController < ApplicationController def update @setting = Setting.where(var: params[:id]).first_or_initialize(var: params[:id]) + value = settings_params[:value] - if @setting.value != params[:setting][:value] - @setting.value = params[:setting][:value] + # Special cases + value = value == 'true' if @setting.var == 'open_registrations' + + if @setting.value != value + @setting.value = value @setting.save end @@ -22,4 +26,10 @@ class Admin::SettingsController < ApplicationController format.json { respond_with_bip(@setting) } end end + + private + + def settings_params + params.require(:setting).permit(:value) + end end diff --git a/app/controllers/auth/registrations_controller.rb b/app/controllers/auth/registrations_controller.rb index 501e66807..4881c074a 100644 --- a/app/controllers/auth/registrations_controller.rb +++ b/app/controllers/auth/registrations_controller.rb @@ -3,7 +3,7 @@ class Auth::RegistrationsController < Devise::RegistrationsController layout :determine_layout - before_action :check_single_user_mode + before_action :check_enabled_registrations, only: [:new, :create] before_action :configure_sign_up_params, only: [:create] protected @@ -27,12 +27,12 @@ class Auth::RegistrationsController < Devise::RegistrationsController new_user_session_path end - def check_single_user_mode - redirect_to root_path if Rails.configuration.x.single_user_mode + def check_enabled_registrations + redirect_to root_path if Rails.configuration.x.single_user_mode || !Setting.open_registrations end - + private - + def determine_layout %w(edit update).include?(action_name) ? 'admin' : 'auth' end diff --git a/app/views/about/index.html.haml b/app/views/about/index.html.haml index fdfb2b916..ebca4213a 100644 --- a/app/views/about/index.html.haml +++ b/app/views/about/index.html.haml @@ -24,21 +24,34 @@ .screenshot-with-signup .mascot= image_tag 'fluffy-elephant-friend.png' - = simple_form_for(@user, url: user_registration_path) do |f| - = f.simple_fields_for :account do |ff| - = ff.input :username, autofocus: true, placeholder: t('simple_form.labels.defaults.username'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username') } + - if @open_registrations + = simple_form_for(@user, url: user_registration_path) do |f| + = f.simple_fields_for :account do |ff| + = ff.input :username, autofocus: true, placeholder: t('simple_form.labels.defaults.username'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username') } - = f.input :email, placeholder: t('simple_form.labels.defaults.email'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.email') } - = f.input :password, autocomplete: "off", placeholder: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password') } - = f.input :password_confirmation, autocomplete: "off", placeholder: t('simple_form.labels.defaults.confirm_password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.confirm_password') } + = f.input :email, placeholder: t('simple_form.labels.defaults.email'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.email') } + = f.input :password, autocomplete: "off", placeholder: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password') } + = f.input :password_confirmation, autocomplete: "off", placeholder: t('simple_form.labels.defaults.confirm_password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.confirm_password') } - .actions - = f.button :button, t('about.get_started'), type: :submit + .actions + = f.button :button, t('about.get_started'), type: :submit - .info - = link_to t('auth.login'), new_user_session_path, class: 'webapp-btn' - · - = link_to t('about.about_this'), about_more_path + .info + = link_to t('auth.login'), new_user_session_path, class: 'webapp-btn' + · + = link_to t('about.about_this'), about_more_path + - else + .closed-registrations-message + - if @closed_registrations_message.blank? + %p= t('about.closed_registrations') + - else + = @closed_registrations_message.html_safe + .info + = link_to t('auth.login'), new_user_session_path, class: 'webapp-btn' + · + = link_to t('about.other_instances'), 'https://github.com/tootsuite/mastodon/blob/master/docs/Using-Mastodon/List-of-Mastodon-instances.md' + · + = link_to t('about.about_this'), about_more_path %h3= t('about.features_headline') diff --git a/app/views/admin/settings/index.html.haml b/app/views/admin/settings/index.html.haml index 1429dbd9e..02faac8c2 100644 --- a/app/views/admin/settings/index.html.haml +++ b/app/views/admin/settings/index.html.haml @@ -38,3 +38,15 @@ %br/ You can use HTML tags %td= best_in_place @settings['site_extended_description'], :value, as: :textarea, url: admin_setting_path(@settings['site_extended_description']) + %tr + %td + %strong Open registration + %td= best_in_place @settings['open_registrations'], :value, as: :checkbox, collection: { false: 'Disabled', true: 'Enabled'}, url: admin_setting_path(@settings['open_registrations']) + %tr + %td + %strong Closed registration message + %br/ + Displayed on frontpage when registrations are closed + %br/ + You can use HTML tags + %td= best_in_place @settings['closed_registrations_message'], :value, as: :textarea, url: admin_setting_path(@settings['closed_registrations_message']) diff --git a/config/locales/en.yml b/config/locales/en.yml index 157f107a5..750af0b7a 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -6,6 +6,7 @@ en: apps: Apps business_email: 'Business e-mail:' contact: Contact + closed_registrations: Registrations are currently closed on this instance. description_headline: What is %{domain}? domain_count_after: other instances domain_count_before: Connected to diff --git a/config/settings.yml b/config/settings.yml index 6ae9217a4..ffcc1eaa7 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -5,6 +5,8 @@ defaults: &defaults site_extended_description: '' site_contact_username: '' site_contact_email: '' + open_registrations: true + closed_registrations_message: '' notification_emails: follow: false reblog: false @@ -15,6 +17,7 @@ defaults: &defaults interactions: must_be_follower: false must_be_following: false + development: <<: *defaults -- cgit From e9a6da6bc739f4f68447f56b93810762da388ce8 Mon Sep 17 00:00:00 2001 From: Pete Keen Date: Tue, 4 Apr 2017 11:04:44 -0400 Subject: [#817] Add email whitelist This adds the ability to filter user signup with a whitelist instead of or in addition to a blacklist. Fixes #817 --- .env.production.sample | 2 ++ app/lib/email_validator.rb | 17 +++++++++++++++-- config/initializers/blacklists.rb | 1 + spec/models/user_spec.rb | 37 +++++++++++++++++++++++++++++++++++++ 4 files changed, 55 insertions(+), 2 deletions(-) (limited to 'config') diff --git a/.env.production.sample b/.env.production.sample index bd81b8fca..a7f9eb4bf 100644 --- a/.env.production.sample +++ b/.env.production.sample @@ -22,6 +22,8 @@ OTP_SECRET= # SINGLE_USER_MODE=true # Prevent registrations with following e-mail domains # EMAIL_DOMAIN_BLACKLIST=example1.com|example2.de|etc +# Only allow registrations with the following e-mail domains +# EMAIL_DOMAIN_WHITELIST=example1.com|example2.de|etc # E-mail configuration SMTP_SERVER=smtp.mailgun.org diff --git a/app/lib/email_validator.rb b/app/lib/email_validator.rb index 856b8b1f7..06e9375f6 100644 --- a/app/lib/email_validator.rb +++ b/app/lib/email_validator.rb @@ -2,17 +2,30 @@ class EmailValidator < ActiveModel::EachValidator def validate_each(record, attribute, value) - return if Rails.configuration.x.email_domains_blacklist.empty? - record.errors.add(attribute, I18n.t('users.invalid_email')) if blocked_email?(value) end private def blocked_email?(value) + on_blacklist?(value) || not_on_whitelist?(value) + end + + def on_blacklist?(value) + return false if Rails.configuration.x.email_domains_blacklist.blank? + domains = Rails.configuration.x.email_domains_blacklist.gsub('.', '\.') regexp = Regexp.new("@(.+\\.)?(#{domains})", true) value =~ regexp end + + def not_on_whitelist?(value) + return false if Rails.configuration.x.email_domains_whitelist.blank? + + domains = Rails.configuration.x.email_domains_whitelist.gsub('.', '\.') + regexp = Regexp.new("@(.+\\.)?(#{domains})", true) + + value !~ regexp + end end diff --git a/config/initializers/blacklists.rb b/config/initializers/blacklists.rb index 52646e64d..6db7be7dc 100644 --- a/config/initializers/blacklists.rb +++ b/config/initializers/blacklists.rb @@ -2,4 +2,5 @@ Rails.application.configure do config.x.email_domains_blacklist = ENV.fetch('EMAIL_DOMAIN_BLACKLIST') { 'mvrht.com' } + config.x.email_domains_whitelist = ENV.fetch('EMAIL_DOMAIN_WHITELIST') { '' } end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 64de06749..aa777fd39 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -1,5 +1,42 @@ require 'rails_helper' RSpec.describe User, type: :model do + let(:account) { Fabricate(:account, username: 'alice') } + let(:password) { 'abcd1234' } + describe 'blacklist' do + it 'should allow a non-blacklisted user to be created' do + user = User.new(email: 'foo@example.com', account: account, password: password) + + expect(user.valid?).to be_truthy + end + + it 'should not allow a blacklisted user to be created' do + user = User.new(email: 'foo@mvrht.com', account: account, password: password) + + expect(user.valid?).to be_falsey + end + end + + describe 'whitelist' do + around(:each) do |example| + old_whitelist = Rails.configuration.x.email_whitelist + + Rails.configuration.x.email_domains_whitelist = 'mastodon.space' + + example.run + + Rails.configuration.x.email_domains_whitelist = old_whitelist + end + + it 'should not allow a user to be created unless they are whitelisted' do + user = User.new(email: 'foo@example.com', account: account, password: password) + expect(user.valid?).to be_falsey + end + + it 'should allow a user to be created if they are whitelisted' do + user = User.new(email: 'foo@mastodon.space', account: account, password: password) + expect(user.valid?).to be_truthy + end + end end -- cgit From 9a5d6e97150c0c1ab0f402e121d7dbafdd46998e Mon Sep 17 00:00:00 2001 From: "Thibaut (Eychics)" Date: Tue, 4 Apr 2017 18:58:19 +0200 Subject: Add closed_registrations message on French language --- config/locales/fr.yml | 1 + 1 file changed, 1 insertion(+) (limited to 'config') diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 758501403..e9989e383 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -5,6 +5,7 @@ fr: about_this: À propos de cette instance apps: Applications business_email: E-mail professionnel + closed_registrations: Les inscriptions sont actuellement fermées sur cette instance. . description_headline: Qu'est-ce que %{domain} ? domain_count_after: autres instances domain_count_before: Connectés à -- cgit From 350958babfe9473ec362f6693abbcc4137b5ace4 Mon Sep 17 00:00:00 2001 From: Clément D Date: Tue, 4 Apr 2017 19:09:54 +0200 Subject: Fix typos on french translations --- config/locales/doorkeeper.fr.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'config') diff --git a/config/locales/doorkeeper.fr.yml b/config/locales/doorkeeper.fr.yml index c94e5c095..be109df9c 100644 --- a/config/locales/doorkeeper.fr.yml +++ b/config/locales/doorkeeper.fr.yml @@ -62,7 +62,7 @@ fr: buttons: revoke: Annuler confirmations: - revoke: Êtes-vous certain? + revoke: Êtes-vous certain ? index: application: Application created_at: Créé le @@ -72,19 +72,19 @@ fr: errors: messages: access_denied: Le propriétaire de la ressource ou le serveur d'autorisation a refusé la demande. - credential_flow_not_configured: Le flux des identifiants du mot de passe du propriétaire de la ressource a échoué en raison de Doorkeeper.configure.resource_owner_from_credentials n'est pas configuré. + credential_flow_not_configured: Le flux des identifiants du mot de passe du propriétaire de la ressource a échoué car Doorkeeper.configure.resource_owner_from_credentials n'est pas configuré. invalid_client: L'authentification du client a échoué à cause d'un client inconnu, d'aucune authentification de client incluse, ou d'une méthode d'authentification non prise en charge. invalid_grant: Le consentement d'autorisation accordé n'est pas valide, a expiré, est annulé, ne concorde pas avec l'URL de redirection utilisée dans la demande d'autorisation, ou a été émis à un autre client. invalid_redirect_uri: L'URL de redirection n'est pas valide. invalid_request: La demande manque un paramètre requis, inclut une valeur de paramètre non prise en charge, ou est autrement mal formée. - invalid_resource_owner: Les identifiants fournis du propriétaire de la ressource ne sont pas valides, ou le propriétaire de la ressource ne peut être trouvé + invalid_resource_owner: Les identifiants fournis par le propriétaire de la ressource ne sont pas valides, ou le propriétaire de la ressource ne peut être trouvé invalid_scope: La portée demandée n'est pas valide, est inconnue, ou est mal formée. invalid_token: expired: Le jeton d'accès a expiré revoked: Le jeton d'accès a été révoqué unknown: Le jeton d'accès n'est pas valide - resource_owner_authenticator_not_configured: La recherche du propriétaire de la ressource a échoué en raison de Doorkeeper.configure.resource_owner_authenticator n'est pas configuré. - server_error: Le serveur d'autorisation a rencontré une condition inattendue qui l'a empêché de remplir la demande. + resource_owner_authenticator_not_configured: La recherche du propriétaire de la ressource a échoué car Doorkeeper.configure.resource_owner_authenticator n'est pas configuré. + server_error: Le serveur d'autorisation a rencontré une condition inattendue l'empêchant de remplir la demande. temporarily_unavailable: Le serveur d'autorisation est actuellement incapable de traiter la demande à cause d'une surcharge ou d'un entretien temporaire du serveur. unauthorized_client: Le client n'est pas autorisé à effectuer cette demande à l'aide de cette méthode. unsupported_grant_type: Le type de consentement d'autorisation n'est pas pris en charge par le serveur d'autorisation. -- cgit From 667ffafef8c8b7956cdd31b8f65d5e82778211d8 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 5 Apr 2017 03:31:26 +0200 Subject: Fix spec --- config/locales/en.yml | 2 +- spec/models/user_spec.rb | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'config') diff --git a/config/locales/en.yml b/config/locales/en.yml index 750af0b7a..742219df9 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -5,8 +5,8 @@ en: about_this: About this instance apps: Apps business_email: 'Business e-mail:' - contact: Contact closed_registrations: Registrations are currently closed on this instance. + contact: Contact description_headline: What is %{domain}? domain_count_after: other instances domain_count_before: Connected to diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 5575ba107..eb2a4aaea 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -45,8 +45,9 @@ RSpec.describe User, type: :model do expect(User.confirmed).to match_array([user_2]) end end + end - let(:account) { Fabricate(:account, username: 'alice') } + let(:account) { Fabricate(:account, username: 'alice') } let(:password) { 'abcd1234' } describe 'blacklist' do @@ -55,7 +56,7 @@ RSpec.describe User, type: :model do expect(user.valid?).to be_truthy end - + it 'should not allow a blacklisted user to be created' do user = User.new(email: 'foo@mvrht.com', account: account, password: password) -- cgit From b845ef395d2dc86f32beb7e2071cc828258816b5 Mon Sep 17 00:00:00 2001 From: JantsoP Date: Wed, 5 Apr 2017 09:51:35 +0200 Subject: updated reblog translation --- config/locales/simple_form.fi.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'config') diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml index 02943cea3..684cbe39c 100644 --- a/config/locales/simple_form.fi.yml +++ b/config/locales/simple_form.fi.yml @@ -38,7 +38,7 @@ fi: 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 + reblog: Lähetä s-posti kun joku reblogaa julkaisusi 'no': 'Ei' required: mark: "*" -- cgit From 473e4f781318b24c1df11da36e7846080de27ea9 Mon Sep 17 00:00:00 2001 From: JantsoP Date: Wed, 5 Apr 2017 09:52:31 +0200 Subject: udpdated display_name translation --- config/locales/simple_form.fi.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'config') diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml index 684cbe39c..7e1205fdc 100644 --- a/config/locales/simple_form.fi.yml +++ b/config/locales/simple_form.fi.yml @@ -17,7 +17,7 @@ fi: confirm_password: Varmista salasana current_password: Nykyinen salasana data: Data - display_name: Näyttö nimi + display_name: Näykyvä nimi email: Sähköpostiosoite header: Header locale: Kieli -- cgit From 3ec221d3b7093e2a2606ec04036cca9e9f1f733d Mon Sep 17 00:00:00 2001 From: JantsoP Date: Wed, 5 Apr 2017 09:57:25 +0200 Subject: updated reblog to boost translation Since it is that :D --- config/locales/simple_form.fi.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'config') diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml index 7e1205fdc..2bacd6d2c 100644 --- a/config/locales/simple_form.fi.yml +++ b/config/locales/simple_form.fi.yml @@ -38,7 +38,7 @@ fi: 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 reblogaa julkaisusi + reblog: Lähetä s-posti kun joku buustaa julkaisusi 'no': 'Ei' required: mark: "*" -- cgit From d3bf0307dbcf4d0f99615f1b3cb90565721de81c Mon Sep 17 00:00:00 2001 From: Jantso Porali Date: Wed, 5 Apr 2017 14:47:42 +0200 Subject: updated translation for about page --- config/locales/fi.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'config') diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 3bcfe5c20..c2f81413a 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -21,12 +21,12 @@ fi: features_headline: Mikä erottaa Mastodonin muista get_started: Aloita käyttö links: Linkit - other_instances: Muut palvelimet + other_instances: muuhun palvelimeen source_code: Lähdekoodi - status_count_after: statukset - status_count_before: Kuka loi + status_count_after: statusta + status_count_before: Ovat luoneet terms: Ehdot - user_count_after: käyttäjät + user_count_after: käyttäjää user_count_before: Koti käyttäjälle accounts: follow: Seuraa -- cgit From deb001bba87cc2e1b65de05ce6569e98ab3b0caa Mon Sep 17 00:00:00 2001 From: Jantso Porali Date: Wed, 5 Apr 2017 14:49:29 +0200 Subject: updated two-way auth and preferences translation --- config/locales/fi.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'config') diff --git a/config/locales/fi.yml b/config/locales/fi.yml index c2f81413a..d5dfd8183 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -132,7 +132,7 @@ fi: edit_profile: Muokkaa profiilia export: Datan vienti import: Datan tuonti - preferences: Mieltymykset + preferences: Ominaisuudet settings: Asetukset two_factor_auth: Kaksivaiheinen tunnistus statuses: @@ -154,7 +154,7 @@ fi: description_html: Jos otat käyttöön kaksivaiheisen tunnistuksen, kirjautumiseen vaaditaan puhelin, joka voi generoida tokeneita kirjautumista varten. disable: Poista käytöstä enable: Ota käyttöön - instructions_html: "Skannaa tämä QR-koodi Google Authenticator tai samanlaiseen sovellukseen puhelimellasi. Tästä hetkestä lähtien, ohjelma generoi tokenit mikä sinun tarvitsee syöttää sisäänkirjautuessa." + instructions_html: "Skannaa tämä QR-koodi Google Authenticator tai samanlaiseen sovellukseen puhelimellasi. Tästä hetkestä lähtien ohjelma generoi koodin, mikä sinun tarvitsee syöttää sisäänkirjautuessa." plaintext_secret_html: 'Plain-text secret: %{secret}' 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: -- cgit From 837030db98d2e3a054d2f74ba2aa331d58671c4b Mon Sep 17 00:00:00 2001 From: Jantso Porali Date: Wed, 5 Apr 2017 14:53:35 +0200 Subject: updated blocking translation --- config/locales/fi.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'config') diff --git a/config/locales/fi.yml b/config/locales/fi.yml index d5dfd8183..cdb2b9886 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -89,7 +89,7 @@ fi: 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 + blocking: Estetyt lista following: Seuratut lista upload: Lähetä landing_strip_html: %{name} on käyttäjä domainilla %{domain}. Voit seurata tai vuorovaikuttaa heidän kanssaan jos sinulla on tili yleisessä verkossa. Jos sinulla ei ole tiliä, voit rekisteröityä täällä. -- cgit From 29ffe1cad3f473c7b6c0b651d065f8ed9373d37e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 5 Apr 2017 18:51:15 +0200 Subject: Make sure Rabl is using Oj --- config/initializers/rabl_init.rb | 1 + 1 file changed, 1 insertion(+) (limited to 'config') diff --git a/config/initializers/rabl_init.rb b/config/initializers/rabl_init.rb index f7be0c607..132a42144 100644 --- a/config/initializers/rabl_init.rb +++ b/config/initializers/rabl_init.rb @@ -1,4 +1,5 @@ Rabl.configure do |config| + config.json_engine = Oj config.cache_all_output = false config.cache_sources = Rails.env.production? config.include_json_root = false -- cgit