about summary refs log tree commit diff
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/application.rb6
-rw-r--r--config/environments/production.rb3
-rw-r--r--config/initializers/paperclip.rb2
-rw-r--r--config/locales/bg.yml16
-rw-r--r--config/locales/devise.hr.yml6
-rw-r--r--config/locales/devise.nl.yml59
-rw-r--r--config/locales/doorkeeper.fr.yml19
-rw-r--r--config/locales/doorkeeper.nl.yml114
-rw-r--r--config/locales/en.yml177
-rw-r--r--config/locales/es.yml32
-rw-r--r--config/locales/fr.yml181
-rw-r--r--config/locales/ja.yml119
-rw-r--r--config/locales/nl.yml165
-rw-r--r--config/locales/ru.yml6
-rw-r--r--config/locales/simple_form.en.yml3
-rw-r--r--config/locales/simple_form.fr.yml2
-rw-r--r--config/locales/simple_form.ja.yml6
-rw-r--r--config/locales/simple_form.nl.yml46
-rw-r--r--config/locales/simple_form.no.yml6
-rw-r--r--config/navigation.rb12
-rw-r--r--config/settings.yml2
21 files changed, 764 insertions, 218 deletions
diff --git a/config/application.rb b/config/application.rb
index 959385802..f5c276862 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -24,7 +24,6 @@ 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,
       :bg,
@@ -36,6 +35,7 @@ module Mastodon
       :it,
       :hu,
       :ja,
+      :nl,
       :no,
       :pt,
       :ru,
@@ -63,7 +63,9 @@ module Mastodon
     config.middleware.use Rack::Attack
     config.middleware.use Rack::Deflater
 
-    config.browserify_rails.commandline_options = '--transform [ babelify --presets [ es2015 react ] ] --extension=".jsx"'
+    config.browserify_rails.source_map_environments << 'development'
+    config.browserify_rails.commandline_options   = '--transform [ babelify --presets [ es2015 react ] ] --extension=".jsx"'
+    config.browserify_rails.evaluate_node_modules = true
 
     config.to_prepare do
       Doorkeeper::AuthorizationsController.layout 'public'
diff --git a/config/environments/production.rb b/config/environments/production.rb
index 37a10fd4d..0b0ae29c8 100644
--- a/config/environments/production.rb
+++ b/config/environments/production.rb
@@ -104,7 +104,8 @@ Rails.application.configure do
     :enable_starttls_auto => ENV['SMTP_ENABLE_STARTTLS_AUTO'] || true,
   }
 
-  config.action_mailer.delivery_method = :smtp
+  config.action_mailer.delivery_method = ENV.fetch('SMTP_DELIVERY_METHOD', 'smtp').to_sym
+
 
   config.react.variant = :production
 
diff --git a/config/initializers/paperclip.rb b/config/initializers/paperclip.rb
index 2a2ef8fea..c58f1b06c 100644
--- a/config/initializers/paperclip.rb
+++ b/config/initializers/paperclip.rb
@@ -4,7 +4,7 @@ Paperclip.options[:read_timeout] = 60
 
 Paperclip.interpolates :filename do |attachment, style|
   return attachment.original_filename if style == :original
-  [basename(attachment, style), extension(attachment, style)].delete_if(&:empty?).join('.')
+  [basename(attachment, style), content_type_extension(attachment, style)].delete_if(&:empty?).join('.')
 end
 
 if ENV['S3_ENABLED'] == 'true'
diff --git a/config/locales/bg.yml b/config/locales/bg.yml
index a8687f3ca..bceb66ca5 100644
--- a/config/locales/bg.yml
+++ b/config/locales/bg.yml
@@ -58,7 +58,7 @@ bg:
   authorize_follow:
     error: Възникна грешка в откриването на потребителя
     follow: Последвай
-    prompt_html: '(<strong>%{self}</strong>), молбата ти беше изпратена до:'
+    prompt_html: "(<strong>%{self}</strong>), молбата ти беше изпратена до:"
     title: Последвай %{acct}
   datetime:
     distance_in_words:
@@ -94,6 +94,10 @@ bg:
       following: Списък на последователите
     upload: Качване
   landing_strip_html: <strong>%{name}</strong> е потребител от <strong>%{domain}</strong>. Можеш да ги следваш, или да контактуваш с тях, ако имаш акаунт където и да е из федерираната вселена на Mastodon. Ако нямаш акаунт, можеш да си <a href="%{sign_up_path}">създадеш ето тук</a>.
+  media_attachments:
+    validations:
+      images_and_video: Не мога да прикача видеоклип към публикация, която вече съдържа изображения
+      too_many: Не мога да прикача повече от 4 файла
   notification_mailer:
     digest:
       body: 'Ето кратко резюме на нещата, които се случиха от последното ти посещение в %{instance} на %{since}:'
@@ -114,8 +118,8 @@ bg:
       body: "%{name} помоли за разрешение да те последва"
       subject: 'Чакащ последовател: %{name}'
     mention:
-      body: '%{name} те спомена в:'
-      subject: '%{name} те спомена'
+      body: "%{name} те спомена в:"
+      subject: "%{name} те спомена"
     reblog:
       body: 'Твоята публикация беше споделена от %{name}:'
       subject: "%{name} сподели публикацията ти"
@@ -156,14 +160,10 @@ bg:
     disable: Деактивирай
     enable: Активирай
     instructions_html: "<strong>Сканирай този QR код с Google Authenticator или подобно приложение от своя телефон</strong>. Oтсега нататък, това приложение ще генерира код, който ще трябва да въвеждаш при всяко влизане."
-    plaintext_secret_html: "Тайна в обикновен текст: <samp>%{secret}</samp>"
+    plaintext_secret_html: 'Тайна в обикновен текст: <samp>%{secret}</samp>'
     warning: Ако не можеш да настроиш приложението за удостверяване сега, избери "Деактивирай". В противен случай, няма да можеш да влезеш в акаунта си.
   users:
     invalid_email: E-mail адресът е невалиден
     invalid_otp_token: Невалиден код
   will_paginate:
     page_gap: "&hellip;"
-  media_attachments:
-    validations:
-      too_many: Не мога да прикача повече от 4 файла
-      images_and_video: Не мога да прикача видеоклип към публикация, която вече съдържа изображения
diff --git a/config/locales/devise.hr.yml b/config/locales/devise.hr.yml
index 352641ca7..40e0effcf 100644
--- a/config/locales/devise.hr.yml
+++ b/config/locales/devise.hr.yml
@@ -2,15 +2,15 @@
 hr:
   devise:
     confirmations:
-      confirmed: Tvoja email adresa je uspješno potvrđena.
-      send_instructions: Primit ćeš email sa uputama kako potvrditi  svoju email adresu za nekoliko minuta.
-      send_paranoid_instructions: Ako tvoja email adresa postoji u našoj bazi podataka, primit ćeš email sa uputama kako ju potvrditi za nekoliko minuta.
       already_authenticated: Već si prijavljen.
+      confirmed: Tvoja email adresa je uspješno potvrđena.
       inactive: Tvoj račun još nije aktiviran.
       invalid: Nevaljan %{authentication_keys} ili lozinka.
       last_attempt: Imaš još jedan pokušaj prije no što ti se račun zaključa.
       locked: Tvoj račun je zaključan.
       not_found_in_database: Nevaljani %{authentication_keys} ili lozinka.
+      send_instructions: Primit ćeš email sa uputama kako potvrditi  svoju email adresu za nekoliko minuta.
+      send_paranoid_instructions: Ako tvoja email adresa postoji u našoj bazi podataka, primit ćeš email sa uputama kako ju potvrditi za nekoliko minuta.
       timeout: Tvoja sesija je istekla. Molimo te, prijavi se ponovo kako bi nastavio.
       unauthenticated: Moraš se registrirati ili prijaviti prije no što nastaviš.
       unconfirmed: Moraš potvrditi svoju email adresu prije no što nastaviš.
diff --git a/config/locales/devise.nl.yml b/config/locales/devise.nl.yml
new file mode 100644
index 000000000..9057a6775
--- /dev/null
+++ b/config/locales/devise.nl.yml
@@ -0,0 +1,59 @@
+---
+nl:
+  devise:
+    confirmations:
+      confirmed: Je account is bevestigd.
+      send_instructions: Je ontvangt via e-mail instructies hoe je je account kan bevestigen.
+      send_paranoid_instructions: Als je e-mailadres bestaat in de database, ontvang je via e-mail instructies hoe je je account kan bevestigen.
+    failure:
+      already_authenticated: Je bent al ingelogd.
+      inactive: Je account is nog niet geactiveerd.
+      invalid: Ongeldig e-mail of wachtwoord.
+      invalid_token: Invalide authenticiteit token.
+      last_attempt: Je hebt nog een poging over voordat je account wordt geblokkeerd.
+      locked: Je account is gelocked.
+      not_found_in_database: Ongeldig e-mail of wachtwoord.
+      timeout: Je sessie is verlopen, log a.u.b. opnieuw in.
+      unauthenticated: Je dient in te loggen of je in te schrijven.
+      unconfirmed: Je dient eerst je account te bevestigen.
+    mailer:
+      confirmation_instructions:
+        subject: Bevestiging mailadres
+      reset_password_instructions:
+        subject: Wachtwoord resetten
+      unlock_instructions:
+        subject: Unlock instructies
+    omniauth_callbacks:
+      failure: Kon je niet aanmelden met je %{kind} account, omdat "%{reason}".
+      success: Successvol aangemeld met je %{kind} account.
+    passwords:
+      no_token: Je kan deze pagina niet benaderen zonder een "wachtwoord reset e-mail"
+      send_instructions: Je ontvangt via e-mail instructies hoe je je wachtwoord moet resetten.
+      send_paranoid_instructions: Als je e-mailadres bestaat in de database, ontvang je via e-mail instructies hoe je je wachtwoord moet resetten.
+      updated: Je wachtwoord is gewijzigd. Je bent nu ingelogd.
+      updated_not_active: Je wachtwoord is gewijzigd.
+    registrations:
+      destroyed: Je account is verwijderd, wellicht tot ziens!
+      signed_up: Je bent ingeschreven.
+      signed_up_but_inactive: Je bent ingeschreven. Je kon alleen niet automatisch ingelogd worden omdat je account nog niet geactiveerd is.
+      signed_up_but_locked: Je bent ingeschreven. Je kon alleen niet automatisch ingelogd worden omdat je account geblokkeerd is.
+      signed_up_but_unconfirmed: Je ontvangt via e-mail instructies hoe je je account kunt activeren.
+      update_needs_confirmation: Je hebt je e-mailadres succesvol gewijzigd, maar we moeten je nieuwe mailadres nog verifiëren. Controleer je e-mail en klik op de link in de mail om je mailadres te verifiëren.
+      updated: Je account gegevens zijn opgeslagen.
+    sessions:
+      signed_in: Je bent succesvol ingelogd.
+      signed_out: Je bent succesvol uitgelogd.
+    unlocks:
+      send_instructions: Je ontvangt via e-mail instructies hoe je je account kan unlocken.
+      send_paranoid_instructions: Als je e-mailadres bestaat in de database, ontvang je via e-mail instructies hoe je je account kan unlocken.
+      unlocked: Je account is ge-unlocked. Je kan nu weer inloggen.
+  errors:
+    messages:
+      already_confirmed: is reeds bevestigd
+      confirmation_period_expired: moet worden bevestigd binnen %{period}, probeer het a.u.b. nog een keer
+      expired: is verlopen, vraag een nieuwe aan
+      not_found: niet gevonden
+      not_locked: is niet gesloten
+      not_saved:
+        one: '1 fout blokkeerde het opslaan van deze %{resource}:'
+        other: "%{count} fouten blokkeerden het opslaan van deze %{resource}:"
diff --git a/config/locales/doorkeeper.fr.yml b/config/locales/doorkeeper.fr.yml
index edfc71336..842a96ac8 100644
--- a/config/locales/doorkeeper.fr.yml
+++ b/config/locales/doorkeeper.fr.yml
@@ -13,7 +13,16 @@ fr:
         name: Nom
         redirect_uri: L'URL de redirection
     errors:
+      messages:
+        record_invalid: Données invalides
       models:
+        account:
+          attributes:
+            note:
+              too_long: Description trop longue
+            username:
+              blank: Identifiant vide
+              taken: Identifiant déjà pris
         doorkeeper/application:
           attributes:
             redirect_uri:
@@ -21,23 +30,17 @@ fr:
               invalid_uri: doit être une URL valide.
               relative_uri: doit être une URL absolue.
               secured_uri: doit être une URL HTTP/SSL.
-        account:
-          attributes:
-            username:
-              blank: Identifiant vide
         user:
           attributes:
             email:
-              taken: Email pris
-              invalid: Email invalide
               blank: Email vide
+              invalid: Email invalide
+              taken: Email pris
             password:
               blank: Mot de passe vide
               too_short: Mot de passe trop court
             password_confirmation:
               confirmation: Le mot de passe ne correspond pas
-      messages:
-        record_invalid: Données invalides
   doorkeeper:
     applications:
       buttons:
diff --git a/config/locales/doorkeeper.nl.yml b/config/locales/doorkeeper.nl.yml
new file mode 100644
index 000000000..91e62dc0c
--- /dev/null
+++ b/config/locales/doorkeeper.nl.yml
@@ -0,0 +1,114 @@
+---
+nl:
+  activerecord:
+    attributes:
+      doorkeeper/application:
+        name: Naam
+        redirect_uri: Redirect URI
+        scopes: Scopes
+    errors:
+      models:
+        doorkeeper/application:
+          attributes:
+            redirect_uri:
+              fragment_present: kan geen fragment bevatten.
+              invalid_uri: moet een geldige URI zijn.
+              relative_uri: moet een absolute URI zijn.
+              secured_uri: moet een HTTPS/SSL URI zijn.
+  doorkeeper:
+    applications:
+      buttons:
+        authorize: Autoriseren
+        cancel: Annuleren
+        destroy: Verwijderen
+        edit: Bewerken
+        submit: Opslaan
+      confirmations:
+        destroy: Weet je het zeker?
+      edit:
+        title: Bewerk applicatie
+      form:
+        error: Oops! Controleer het formulier op fouten
+      help:
+        native_redirect_uri: Gebruik %{native_redirect_uri} voor lokale tests
+        redirect_uri: 'Gebruik één regel per URI. '
+        scopes: Scheid scopes met spaties. Laat leeg om de standaard scopes te gebruiken.
+      index:
+        callback_url: Callback URL
+        name: Naam
+        new: Nieuwe applicatie
+        title: Jouw applicaties
+      new:
+        title: Nieuwe applicatie
+      show:
+        actions: Acties
+        application_id: Applicatie Id
+        callback_urls: Callback urls
+        scopes: Scopes
+        secret: Secret
+        title: 'Applicatie: %{name}'
+    authorizations:
+      buttons:
+        authorize: Autoriseren
+        deny: Weigeren
+      error:
+        title: Er is een fout opgetreden
+      new:
+        able_to: Deze applicatie zal in staat zijn om
+        prompt: "%{client_name} autoriseren om uw account te gebruiken?"
+        title: Autorisatie vereist
+      show:
+        title: Autorisatie code
+    authorized_applications:
+      buttons:
+        revoke: Intrekken
+      confirmations:
+        revoke: Weet je het zeker?
+      index:
+        application: Applicatie
+        created_at: Aangemaakt op
+        date_format: "%d-%m-%Y %H:%M:%S"
+        title: Jouw geautoriseerde applicaties
+    errors:
+      messages:
+        access_denied: De resource eigenaar of autorisatie-server weigerde het verzoek.
+        credential_flow_not_configured: Resource Owner Password Credentials flow failed due to Doorkeeper.configure.resource_owner_from_credentials being unconfigured.
+        invalid_client: Client verificatie is mislukt door onbekende klant, geen client authenticatie opgegeven, of een niet-ondersteunde authenticatie methode.
+        invalid_grant: De verstrekte autorisatie is ongeldig, verlopen, ingetrokken, komt niet overeen met de redirect uri die is opgegeven, of werd uitgegeven aan een andere klant.
+        invalid_redirect_uri: De opgegeven redirect uri is niet geldig.
+        invalid_request: Het verzoek mist een vereiste parameter, bevat een niet-ondersteunde parameter waarde of is anderszins onjuist.
+        invalid_resource_owner: De verstrekte resource eigenaar gegevens zijn niet geldig of de resource eigenaar kan niet worden gevonden
+        invalid_scope: De opgevraagde scope is niet geldig, onbekend of onjuist.
+        invalid_token:
+          expired: Het toegangstoken is verlopen
+          revoked: Het toegangstoken is geweigerd
+          unknown: Het toegangstoken is ongeldig
+        resource_owner_authenticator_not_configured: Resource Owner find failed due to Doorkeeper.configure.resource_owner_authenticator being unconfiged.
+        server_error: De autorisatieserver is een onverwachte voorwaarde tegengekomen die het verzoek verhinderd.
+        temporarily_unavailable: De autorisatieserver is momenteel niet in staat het verzoek te behandelen als gevolg van een tijdelijke overbelasting of onderhoud aan de server.
+        unauthorized_client: De client is niet bevoegd om dit verzoek met deze methode uit te voeren.
+        unsupported_grant_type: Het type autorisatie is niet ondersteund door de autorisatieserver
+        unsupported_response_type: De autorisatieserver ondersteund dit response type niet
+    flash:
+      applications:
+        create:
+          notice: Applicatie aangemaakt.
+        destroy:
+          notice: Applicatie verwijderd.
+        update:
+          notice: Applicatie bewerkt.
+      authorized_applications:
+        destroy:
+          notice: Applicatie ingetrokken.
+    layouts:
+      admin:
+        nav:
+          applications: Applicaties
+          home: Home
+          oauth2_provider: OAuth2 Provider
+      application:
+        title: OAuth autorisatie vereist
+    scopes:
+      follow: volg, blokkeer, deblokkeer en stop volgen accounts
+      read: lees je accountgegevens
+      write: plaatsen namens jou
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 6e32d2c38..9c2708923 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -39,6 +39,108 @@ en:
     posts: Posts
     remote_follow: Remote follow
     unfollow: Unfollow
+  admin:
+    accounts:
+      are_you_sure: Are you sure?
+      display_name: Display name
+      domain: Domain
+      edit: Edit
+      email: E-mail
+      feed_url: Feed URL
+      followers: Followers
+      follows: Follows
+      location:
+        all: All
+        local: Local
+        remote: Remote
+        title: Location
+      media_attachments: Media attachments
+      moderation:
+        all: All
+        silenced: Silenced
+        suspended: Suspended
+        title: Moderation
+      most_recent_activity: Most recent activity
+      most_recent_ip: Most recent IP
+      not_subscribed: Not subscribed
+      order:
+        alphabetic: Alphabetic
+        most_recent: Most recent
+        title: Order
+      perform_full_suspension: Perform full suspension
+      profile_url: Profile URL
+      public: Public
+      push_subscription_expires: PuSH subscription expires
+      salmon_url: Salmon URL
+      silence: Silence
+      statuses: Statuses
+      title: Accounts
+      undo_silenced: Undo silence
+      undo_suspension: Undo suspension
+      username: Username
+      web: Web
+    domain_block:
+      add_new: Add new
+      domain: Domain
+      new:
+        create: Create block
+        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.
+        severity:
+          desc_html: "<strong>Silence</strong> will make the account's posts invisible to anyone who isn't following them. <strong>Suspend</strong> will remove all of the account's content, media, and profile data."
+          silence: Silence
+          suspend: Suspend
+        title: New domain block
+      severity: Severity
+      title: Domain Blocks
+    pubsubhubbub:
+      callback_url: Callback URL
+      confirmed: Confirmed
+      expires_in: Expires in
+      last_delivery: Last delivery
+      title: PubSubHubbub
+      topic: Topic
+    reports:
+      comment:
+        label: Comment
+        none: None
+      delete: Delete
+      id: ID
+      mark_as_resolved: Mark as resolved
+      report: 'Report #%{id}'
+      reported_account: Reported account
+      reported_by: Reported by
+      resolved: Resolved
+      silence_account: Silence account
+      status: Status
+      suspend_account: Suspend account
+      target: Target
+      title: Reports
+      unresolved: Unresolved
+      view: View
+    settings:
+      click_to_edit: Click to edit
+      contact_information:
+        email: Enter a public e-mail address
+        label: Contact information
+        username: Enter a username
+      registrations:
+        closed_message:
+          desc_html: Displayed on frontpage when registrations are closed<br>You can use HTML tags
+          title: Closed registration message
+        open:
+          disabled: Disabled
+          enabled: Enabled
+          title: Open registration
+      setting: Setting
+      site_description:
+        desc_html: Displayed as a paragraph on the frontpage and used as a meta tag.<br>You can use HTML tags, in particular <code>&lt;a&gt;</code> and <code>&lt;em&gt;</code>.
+        title: Site description
+      site_description_extended:
+        desc_html: Displayed on extended information page<br>You can use HTML tags
+        title: Extended site description
+      site_title: Site title
+      title: Site Settings
+    title: Administration
   application_mailer:
     settings: 'Change e-mail preferences: %{link}'
     signature: Mastodon notifications from %{instance}
@@ -74,11 +176,17 @@ en:
       x_minutes: "%{count}m"
       x_months: "%{count}mo"
       x_seconds: "%{count}s"
+  errors:
+    '404': The page you were looking for doesn't exist.
+    '410': The page you were looking for doesn't exist anymore.
+    '422':
+      content: Security verification failed. Are you blocking cookies?
+      title: Security verification failed
   exports:
     blocks: You block
-    mutes: You mute
     csv: CSV
     follows: You follow
+    mutes: You mute
     storage: Media storage
   generic:
     changes_saved_msg: Changes successfully saved!
@@ -134,6 +242,24 @@ en:
     missing_resource: Could not find the required redirect URL for your account
     proceed: Proceed to follow
     prompt: 'You are going to follow:'
+  reports:
+    comment:
+      label: Comment
+      none: None
+    delete: Delete
+    id: ID
+    mark_as_resolved: Mark as resolved
+    report: 'Report #%{id}'
+    reported_account: Reported account
+    reported_by: Reported by
+    reports: Reports
+    resolved: Resolved
+    silence_account: Silence account
+    status: Status
+    suspend_account: Suspend account
+    target: Target
+    unresolved: Unresolved
+    view: View
   settings:
     authorized_apps: Authorized apps
     back: Back to Mastodon
@@ -174,52 +300,3 @@ en:
     invalid_otp_token: Invalid two-factor code
   will_paginate:
     page_gap: "&hellip;"
-  errors:
-      404: The page you were looking for doesn't exist.
-      410: The page you were looking for doesn't exist anymore.
-      422:
-        title: Security verification failed
-        content: Security verification failed. Are you blocking cookies?
-  reports:
-    reports: Reports
-    status: Status
-    unresolved: Unresolved
-    resolved: Resolved
-    id: ID
-    target: Target
-    reported_by: Reported by
-    comment:
-      label: Comment
-      none: None
-    view: View
-    report: "Report #%{id}"
-    delete: Delete
-    reported_account: Reported account
-    reported_by: Signalé par
-    silence_account: Silence account
-    suspend_account: Suspend account
-    mark_as_resolved: Mark as resolved
-  admin:
-    settings:
-      title: Site Settings
-      setting: Setting
-      click_to_edit: Click to edit
-      contact_information:
-        label: Contact information
-        username: Enter a username
-        email: Enter a public e-mail address
-      site_title: Site title
-      site_description:
-        title: Site description
-        desc_html: "Displayed as a paragraph on the frontpage and used as a meta tag.<br>You can use HTML tags, in particular <code>&lt;a&gt;</code> and <code>&lt;em&gt;</code>."
-      site_description_extended:
-        title: Extended site description
-        desc_html: "Displayed on extended information page<br>You can use HTML tags"
-      registrations:
-        open:
-          title: Open registration
-          enabled: Enabled
-          disabled: Disabled
-        closed_message:
-          title: Closed registration message
-          desc_html: "Displayed on frontpage when registrations are closed<br>You can use HTML tags"
diff --git a/config/locales/es.yml b/config/locales/es.yml
index da4270e9e..3b0181f63 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -7,14 +7,14 @@ es:
     business_email: 'Correo de negocios:'
     closed_registrations: Los registros están actualmente cerrados en esta instancia.
     contact: Contacto
-    description_headline: ¿Qué es %{domain}?
+    description_headline: "¿Qué es %{domain}?"
     domain_count_after: otras instancias
-    domain_count_before: Conectado a 
+    domain_count_before: Conectado a
     features:
       api: API pública para aplicaciones y servicios
       blocks: Moderación de contenido
       characters: 500 caracteres por publicación
-      chronology: Las historias son cronológicas 
+      chronology: Las historias son cronológicas
       ethics: 'Diseño etico: sin anuncios, sin rastreos'
       gifv: Videos cortos y GIFV
       privacy: Configuraciones de privacidad ajustables
@@ -33,7 +33,7 @@ es:
     follow: Seguir
     followers: Seguidores
     following: Siguiendo
-    nothing_here: ¡No hay nada aquí!
+    nothing_here: "¡No hay nada aquí!"
     people_followed_by: Usuarios a quien %{name} sigue
     people_who_follow: Usuarios que siguen a %{name}
     posts: Toots
@@ -47,8 +47,8 @@ es:
     invalid_url: La URL proporcionada es incorrecta
   auth:
     change_password: Cambiar contraseña
-    didnt_get_confirmation: ¿No recibió el correo de confirmación?
-    forgot_password: ¿Olvidaste tu contraseña?
+    didnt_get_confirmation: "¿No recibió el correo de confirmación?"
+    forgot_password: "¿Olvidaste tu contraseña?"
     login: Iniciar sesión
     logout: Cerrar sesión
     register: Registrarse
@@ -80,12 +80,12 @@ es:
     follows: Personas que sigues
     storage: Almacenamiento
   generic:
-    changes_saved_msg: ¡Cambios guardados con éxito!
+    changes_saved_msg: "¡Cambios guardados con éxito!"
     powered_by: powered by %{link}
     save_changes: Guardar cambios
     validation_errors:
-      one: ¡Algo no está bien! Por favor, revisa el error
-      other: ¡Algo no está bien! Por favor, revise %{count} errores más abajo
+      one: "¡Algo no está bien! Por favor, revisa el error"
+      other: "¡Algo no está bien! Por favor, revise %{count} errores más abajo"
   imports:
     preface: Puedes importar ciertos datos, como todas las personas que estás siguiendo o bloqueando en tu cuenta en esta instancia, desde archivos exportados de otra instancia.
     success: Sus datos se han cargado correctamente y serán procesados en brevedad
@@ -94,13 +94,17 @@ es:
       following: Lista de seguidos
     upload: Cargar
   landing_strip_html: <strong>%{name}</strong> es un usuario en <strong>%{domain}</strong>. Puedes seguirlo(a) o interactuar con el o ella si tienes una cuenta en cualquier parte del fediverse. Si no tienes una, puedes <a href="%{sign_up_path}">registrar aquí</a>.
+  media_attachments:
+    validations:
+      images_and_video: No se puede adjuntar un video a un estado que ya contenga imágenes
+      too_many: No se pueden adjuntar más de 4 archivos
   notification_mailer:
     digest:
       body: 'Un resumen de lo que te perdiste en %{instance} desde tu última visita el %{since}:'
       mention: "%{name} te ha mencionado en:"
       new_followers_summary:
-        one: ¡Hurra!. Alguien más te ha comenzado a seguir
-        other: ¡Genial!. Te han seguido %{count} nuevas personas
+        one: "¡Hurra!. Alguien más te ha comenzado a seguir"
+        other: "¡Genial!. Te han seguido %{count} nuevas personas"
       subject:
         one: "1 nueva notificación desde tu última visita \U0001F418"
         other: "%{count} nuevas notificaciones desde tu última visita \U0001F418"
@@ -117,7 +121,7 @@ es:
       body: 'Fuiste mencionado por %{name} en:'
       subject: Fuiste mencionado por %{name}
     reblog:
-      body: '%{name} ha retooteado tu estado'
+      body: "%{name} ha retooteado tu estado"
       subject: "%{name} ha retooteado tu estado"
   pagination:
     next: Próximo
@@ -161,7 +165,3 @@ es:
   users:
     invalid_email: La dirección de correo es incorrecta
     invalid_otp_token: Código de dos factores incorrecto
-  media_attachments:
-    validations:
-      too_many: No se pueden adjuntar más de 4 archivos
-      images_and_video: No se puede adjuntar un video a un estado que ya contenga imágenes
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index 0ab756377..9e590f100 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -15,7 +15,7 @@ fr:
       blocks: Outils complets de bloquage et masquage
       characters: 500 caractères par post
       chronology: Fil chronologique
-      ethics: 'Pas de pubs, pas de pistage'
+      ethics: Pas de pubs, pas de pistage
       gifv: Partage de vidéos et de GIFs
       privacy: Réglages de confidentialité au niveau des posts
       public: Fils publics
@@ -39,6 +39,108 @@ fr:
     posts: Statuts
     remote_follow: Suivre à distance
     unfollow: Ne plus suivre
+  admin:
+    accounts:
+      are_you_sure: Êtes-vous certain ?
+      display_name: Nom affiché
+      domain: Domaine
+      edit: Éditer
+      email: Courriel
+      feed_url: URL du flux
+      followers: Abonné⋅es
+      follows: Abonnements
+      location:
+        all: Tous
+        local: Local
+        remote: Distant
+        title: Situation
+      media_attachments: Fichiers médias
+      moderation:
+        all: Tous
+        silenced: Muets
+        suspended: Suspendus
+        title: Modération
+      most_recent_activity: Dernière activité
+      most_recent_ip: Adresse IP la plus récente
+      not_subscribed: Non abonné
+      order:
+        alphabetic: Alphabétique
+        most_recent: Plus récent
+        title: Tri
+      perform_full_suspension: Effectuer une suspension complète
+      profile_url: URL du profil
+      public: Public
+      push_subscription_expires: Expiration de l'abonnement PuSH
+      salmon_url: URL Salmon
+      silence: Rendre muet
+      statuses: Statuts
+      title: Comptes
+      undo_silenced: Annuler la mu
+      undo_suspension: Annuler la suspension
+      username: Nom d'utilisateur
+      web: Web
+    domain_block:
+      add_new: Ajouter
+      domain: Domaine
+      new:
+        create: Créer le blocage
+        hint: Le blocage de domaine n'empêchera pas la création de comptes dans la base de données, mais il appliquera automatiquement et rétrospectivement des méthodes de modération spécifiques sur ces comptes.
+        severity:
+          desc_html: "<strong>Silence</strong> rendra les messages des comptes concernés invisibles à ceux qui ne les suivent pas. <strong>Suspend</strong> supprimera tout le contenu des comptes concernés, les médias, et les données du profil."
+          silence: Muet
+          suspend: Suspendre
+        title: Nouveau blocage de domaine
+      severity: Séverité
+      title: Blocage de domaines
+    pubsubhubbub:
+      callback_url: URL de rappel
+      confirmed: Confirmé
+      expires_in: Expire dans
+      last_delivery: Dernière livraison
+      title: PubSubHubbub
+      topic: Sujet
+    reports:
+      comment:
+        label: Commentaire
+        none: Aucun
+      delete: Supprimer
+      id: ID
+      mark_as_resolved: Marqué comme résolu
+      report: 'Signalement #%{id}'
+      reported_account: Compte signalé
+      reported_by: Signalé par
+      resolved: Résolus
+      silence_account: Rendre le compte muet
+      status: Statut
+      suspend_account: Suspendre le compte
+      target: Cible
+      title: Signalements
+      unresolved: Non résolus
+      view: Voir
+    settings:
+      click_to_edit: Cliquez pour éditer
+      contact_information:
+        email: Entrez une adresse courriel publique
+        label: Informations de contact
+        username: Entrez un nom d'utilisateur
+      registrations:
+        closed_message:
+          desc_html: Affiché sur la page d'accueil lorsque les inscriptions sont fermées<br>Vous pouvez utiliser des balises HTML
+          title: Message de fermeture des inscriptions
+        open:
+          disabled: Désactivées
+          enabled: Activées
+          title: Inscriptions
+      setting: Paramètre
+      site_description:
+        desc_html: Affichée sous la forme d'un paragraphe sur la page d'accueil et utilisée comme balise meta.<br>Vous pouvez utiliser des balises HTML, en particulier <code>&lt;a&gt;</code> et <code>&lt;em&gt;</code>.
+        title: Description du site
+      site_description_extended:
+        desc_html: Affichée sur la page d'informations complémentaires du site<br>Vous pouvez utiliser des balises HTML
+        title: Description étendue du site
+      site_title: Titre du site
+      title: Paramètres du site
+    title: Administration
   application_mailer:
     settings: 'Changer les préférences courriel : %{link}'
     signature: Notifications de Mastodon depuis %{instance}
@@ -80,6 +182,12 @@ fr:
       x_minutes: "%{count}min"
       x_months: "%{count}mois"
       x_seconds: "%{count}s"
+  errors:
+    '404': La page que vous recherchez n'existe pas.
+    '410': La page que vous recherchez n'existe plus.
+    '422':
+      content: Vérification de sécurité échouée. Bloquez-vous les cookies ?
+      title: Vérification de sécurité échouée
   exports:
     blocks: Vous bloquez
     csv: CSV
@@ -103,7 +211,7 @@ fr:
   notification_mailer:
     digest:
       body: 'Voici ce que vous avez raté sur ${instance} depuis votre dernière visite (%{}) :'
-      mention: '%{name} vous a mentionné⋅e'
+      mention: "%{name} vous a mentionné⋅e"
       new_followers_summary:
         one: Vous avez un⋅e nouvel⋅le abonné⋅e ! Youpi !
         other: Vous avez %{count} nouveaux abonné⋅es ! Incroyable !
@@ -133,6 +241,24 @@ fr:
     missing_resource: L'URL de redirection n'a pas pu être trouvée
     proceed: Continuez pour suivre
     prompt: 'Vous allez suivre :'
+  reports:
+    comment:
+      label: Commentaire
+      none: Aucun
+    delete: Supprimer
+    id: ID
+    mark_as_resolved: Marqué comme résolu
+    report: 'Signalement #%{id}'
+    reported_account: Compte signalé
+    reported_by: Signalé par
+    reports: Signalements
+    resolved: Résolus
+    silence_account: Rendre le compte muet
+    status: Statut
+    suspend_account: Suspendre le compte
+    target: Cible
+    unresolved: Non résolus
+    view: Voir
   settings:
     authorized_apps: Applications autorisées
     back: Retour vers Mastodon
@@ -156,7 +282,7 @@ fr:
     sensitive_content: Contenu sensible
   time:
     formats:
-      default: '%d %b %Y, %H:%M'
+      default: "%d %b %Y, %H:%M"
   two_factor_auth:
     description_html: Si vous activez <strong>l'identification à deux facteurs</strong>, vous devrez être en possession de votre téléphone afin de générer un code de connexion.
     disable: Désactiver
@@ -169,52 +295,3 @@ fr:
     invalid_otp_token: Le code d'authentification à deux facteurs est invalide
   will_paginate:
     page_gap: "&hellip;"
-  errors:
-    404: La page que vous recherchez n'existe pas.
-    410: La page que vous recherchez n'existe plus.
-    422:
-      title: Vérification de sécurité échouée
-      content: Vérification de sécurité échouée. Bloquez-vous les cookies ?
-  reports:
-    reports: Signalements
-    status: Statut
-    unresolved: Non résolus
-    resolved: Résolus
-    id: ID
-    target: Cible
-    reported_by: Signalé par
-    comment:
-      label: Commentaire
-      none: Aucun
-    view: Voir
-    report: "Signalement #%{id}"
-    delete: Supprimer
-    reported_account: Compte signalé
-    reported_by: Signalé par
-    silence_account: Rendre le compte muet
-    suspend_account: Suspendre le compte
-    mark_as_resolved: Marqué comme résolu
-  admin:
-    settings:
-      title: Paramètres du site
-      setting: Paramètre
-      click_to_edit: Cliquez pour éditer
-      contact_information:
-        label: Informations de contact
-        username: Entrez un nom d'utilisateur
-        email: Entrez une adresse courriel publique
-      site_title: Titre du site
-      site_description:
-        title: Description du site
-        desc_html: "Affichée sous la forme d'un paragraphe sur la page d'accueil et utilisée comme balise meta.<br>Vous pouvez utiliser des balises HTML, en particulier <code>&lt;a&gt;</code> et <code>&lt;em&gt;</code>."
-      site_description_extended:
-        title: Description étendue du site
-        desc_html: "Affichée sur la page d'informations complémentaires du site<br>Vous pouvez utiliser des balises HTML"
-      registrations:
-        open:
-          title: Inscriptions
-          enabled: Activées
-          disabled: Désactivées
-        closed_message:
-          title: Message de fermeture des inscriptions
-          desc_html: "Affiché sur la page d'accueil lorsque les inscriptions sont fermées<br>Vous pouvez utiliser des balises HTML"
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index cf2086780..c1df73b7c 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -7,7 +7,7 @@ ja:
     business_email: 'ビジネスメールアドレス:'
     closed_registrations: 現在このインスタンスでの新規登録は受け付けていません。
     contact: 連絡先
-    description_headline: '%{domain} とは?'
+    description_headline: "%{domain} とは?"
     domain_count_after: 個のインスタンス
     domain_count_before: 接続中
     features:
@@ -34,14 +34,35 @@ ja:
     followers: フォロワー
     following: フォロー中
     nothing_here: 何もありません
-    people_followed_by: '%{name} さんをフォロー中のアカウント'
-    people_who_follow: '%{name} さんがフォロー中のアカウント'
+    people_followed_by: "%{name} さんをフォロー中のアカウント"
+    people_who_follow: "%{name} さんがフォロー中のアカウント"
     posts: 投稿
     remote_follow: リモートフォロー
     unfollow: フォロー解除
+  admin:
+    settings:
+      click_to_edit: クリックして編集
+      contact_information:
+        email: 公開するメールアドレスを入力
+        label: 連絡先情報
+        username: ユーザー名を入力
+      registrations:
+        open:
+          disabled: 無効
+          enabled: 有効
+          title: 新規登録を受け付ける
+      setting: 設定
+      site_description:
+        desc_html: トップページへの表示と meta タグに使用されます。<br>HTMLタグ、特に<code>&lt;a&gt;</code> and <code>&lt;em&gt;</code>が利用可能です。
+        title: サイトの説明文
+      site_description_extended:
+        desc_html: インスタンスについてのページに表示されます。<br>HTMLタグが利用可能です。
+        title: サイトの詳細な説明
+      site_title: サイトのタイトル
+      title: サイト設定
   application_mailer:
     settings: 'メール設定の変更: %{link}'
-    signature: 'Mastodon %{instance} インスタンスからの通知'
+    signature: Mastodon %{instance} インスタンスからの通知
     view: 'View:'
   applications:
     invalid_url: URLが無効です
@@ -59,7 +80,7 @@ ja:
     error: 残念ながら、リモートアカウントにエラーが発生しました。
     follow: フォロー
     prompt_html: 'あなた(<strong>%{self}</strong>)は以下のアカウントのフォローをリクエストしました:'
-    title: '%{acct} をフォロー'
+    title: "%{acct} をフォロー"
   datetime:
     distance_in_words:
       about_x_hours: "%{count}時間"
@@ -74,11 +95,17 @@ ja:
       x_minutes: "%{count}分"
       x_months: "%{count}月"
       x_seconds: "%{count}秒"
+  errors:
+    '404': お探しのページは見つかりませんでした。
+    '410': お探しのページはもう存在しません。
+    '422':
+      content: セキュリティ認証に失敗しました。Cookieをブロックしていませんか?
+      title: セキュリティ認証に失敗
   exports:
     blocks: ブロック
-    mutes: ミュート
     csv: CSV
     follows: フォロー
+    mutes: ミュート
     storage: メディア
   generic:
     changes_saved_msg: 正常に変更されました
@@ -102,11 +129,11 @@ ja:
       too_many: 追加できるファイルは4つまでです。
   notification_mailer:
     digest:
-      body: '%{instance} での最後のログインからの出来事:'
+      body: "%{instance} での最後のログインからの出来事:"
       mention: "%{name} さんがあなたに返信しました:"
       new_followers_summary:
         one: 新たなフォロワーを獲得しました!
-        other: '%{count} 人の新たなフォロワーを獲得しました!'
+        other: "%{count} 人の新たなフォロワーを獲得しました!"
       subject:
         one: "新しい1件の通知 \U0001F418"
         other: "新しい%{count}件の通知 \U0001F418"
@@ -118,13 +145,13 @@ ja:
       subject: "%{name} さんにフォローされています"
     follow_request:
       body: "%{name} さんがあなたにフォローをリクエストしました。"
-      subject: '%{name} さんからのフォローリクエスト'
+      subject: "%{name} さんからのフォローリクエスト"
     mention:
-      body: '%{name} さんから返信がありました:'
-      subject: '%{name} さんに返信されました'
+      body: "%{name} さんから返信がありました:"
+      subject: "%{name} さんに返信されました"
     reblog:
       body: 'あなたのトゥートが %{name} さんにブーストされました:'
-      subject: "あなたのトゥートが %{name} さんにブーストされました"
+      subject: あなたのトゥートが %{name} さんにブーストされました
   pagination:
     next: 次
     prev: 前
@@ -134,6 +161,24 @@ ja:
     missing_resource: リダイレクト先が見つかりませんでした
     proceed: フォローする
     prompt: 'フォローしようとしています:'
+  reports:
+    comment:
+      label: コメント
+      none: なし
+    delete: 削除
+    id: ID
+    mark_as_resolved: 解決する
+    report: '通報 #%{id}'
+    reported_account: 通報されているユーザー
+    reported_by: 通報者
+    reports: 通報
+    resolved: 解決済み
+    silence_account: ユーザーをサイレンスする
+    status: 現状
+    suspend_account: ユーザーを停止する
+    target: 通報されているユーザー
+    unresolved: 未決
+    view: 見る
   settings:
     authorized_apps: 認証済みアプリ
     back: 戻る
@@ -145,7 +190,7 @@ ja:
     two_factor_auth: 二段階認証
   statuses:
     open_in_web: Webで開く
-    over_character_limit: '上限は %{max}文字までです'
+    over_character_limit: 上限は %{max}文字までです
     show_more: もっと見る
     visibilities:
       private: Private - フォロワーだけに見せる
@@ -160,7 +205,7 @@ ja:
       default: "%Y年%m月%d日 %H:%M"
   two_factor_auth:
     code_hint: 確認するには認証アプリで表示されたコードを入力してください
-    description_html: <strong>二段階認証</strong>を有効にするとログイン時、電話でコードを受け取る必要があります。
+    description_html: "<strong>二段階認証</strong>を有効にするとログイン時、電話でコードを受け取る必要があります。"
     disable: 無効
     enable: 有効
     enabled_success: 二段階認証が有効になりました
@@ -174,49 +219,3 @@ ja:
     invalid_otp_token: 二段階認証コードが間違っています
   will_paginate:
     page_gap: "&hellip;"
-  errors:
-      404: お探しのページは見つかりませんでした。
-      410: お探しのページはもう存在しません。
-      422:
-        title: セキュリティ認証に失敗
-        content: セキュリティ認証に失敗しました。Cookieをブロックしていませんか?
-  reports:
-    reports: 通報
-    status: 現状
-    unresolved: 未決
-    resolved: 解決済み
-    id: ID
-    target: 通報されているユーザー
-    reported_by: 通報者
-    comment:
-      label: コメント
-      none: なし
-    view: 見る
-    report: "通報 #%{id}"
-    delete: 削除
-    reported_account: 通報されているユーザー
-    reported_by: 通報者
-    silence_account: ユーザーをサイレンスする
-    suspend_account: ユーザーを停止する
-    mark_as_resolved: 解決する
-  admin:
-    settings:
-      title: サイト設定
-      setting: 設定
-      click_to_edit: クリックして編集
-      contact_information:
-        label: 連絡先情報
-        username: ユーザー名を入力
-        email: 公開するメールアドレスを入力
-      site_title: サイトのタイトル
-      site_description:
-        title: サイトの説明文
-        desc_html: "トップページへの表示と meta タグに使用されます。<br>HTMLタグ、特に<code>&lt;a&gt;</code> and <code>&lt;em&gt;</code>が利用可能です。"
-      site_description_extended:
-        title: サイトの詳細な説明
-        desc_html: "インスタンスについてのページに表示されます。<br>HTMLタグが利用可能です。"
-      registrations:
-        open:
-          title: 新規登録を受け付ける
-          enabled: 有効
-          disabled: 無効
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
new file mode 100644
index 000000000..22fed2285
--- /dev/null
+++ b/config/locales/nl.yml
@@ -0,0 +1,165 @@
+---
+nl:
+  about:
+    about_mastodon: Mastodon is een <em>vrije, gratis, open-source</em> sociaal netwerk. E <em>gedecentraliseerd</em> alternatief voor commerciële platforms, het voorkomt de risico's van een enkel bedrijf dat jouw communicatie monopoliseert. Kies een server die je vertrouwt &mdash; welke je ook kiest, je kunt met iedere ander communiceren. Iedereen kan een eigen Mastodon server draaien en naadloos deelnemen in het <em>sociale netwerk</em>.
+    about_this: Over deze server
+    apps: Apps
+    business_email: 'Zakelijke e-mailadres:'
+    closed_registrations: Registrateren op deze server is momenteel uitgeschakeld.
+    contact: Contact
+    description_headline: Wat is %{domain}?
+    domain_count_after: andere servers
+    domain_count_before: Verbonden met
+    features:
+      api: Open API voor apps en services
+      blocks: Rijke blokkeer- en dempingshulpmiddelen
+      characters: 500 tekens per bericht
+      chronology: Tijdlijnen zijn chronologisch
+      ethics: 'Ethisch design: geen ads, geen spionage'
+      gifv: GIFV sets en korte video's
+      privacy: Granulaire, privacy instellingen per bericht
+      public: Openbare tijdlijnen
+    features_headline: Wat maak Mastodon anders
+    get_started: Beginnen
+    links: Links
+    other_instances: Andere servers
+    source_code: Source code
+    status_count_after: statussen
+    status_count_before: Wie schreef
+    terms: Voorw
+    user_count_after: gebruikers
+    user_count_before: Thuis naar
+  accounts:
+    follow: Volg
+    followers: Volgens
+    following: Volgend
+    nothing_here: Hier is niets!
+    people_followed_by: Mensen die %{name} volgt
+    people_who_follow: Mensen die %{name} volgen
+    posts: Berichten
+    remote_follow: Externe volg
+    unfollow: Ontvolgen
+  application_mailer:
+    settings: 'Wijzigen e-mailvoorkeuren: %{link}'
+    signature: Mastodon meldingen van %{instance}
+    view: 'Bekijk:'
+  applications:
+    invalid_url: De opgegevens URL is ongeldig
+  auth:
+    change_password: Inloggegevens
+    didnt_get_confirmation: Ontving je geen bevestigingsinstructies?
+    forgot_password: Wachtwoord vergeten?
+    login: Inloggen
+    logout: Uitloggen
+    register: Registreren
+    resend_confirmation: Herstuur de bevestigingsinstructies
+    reset_password: Herstel wachtwoord
+    set_new_password: Instellen nieuw wachtwoord
+  authorize_follow:
+    error: Helaas, er was een fout bij het opzoeken van het externe account
+    follow: Volgen
+    prompt_html: 'Je (<strong>%{self}</strong>) hebt volgen aangevraagd:'
+    title: Volg %{acct}
+  datetime:
+    distance_in_words:
+      about_x_hours: "%{count}u"
+      about_x_months: "%{count}ma"
+      about_x_years: "%{count}j"
+      almost_x_years: "%{count}j"
+      half_a_minute: Net
+      less_than_x_minutes: "%{count}m"
+      less_than_x_seconds: Net
+      over_x_years: "%{count}j"
+      x_days: "%{count}d"
+      x_minutes: "%{count}m"
+      x_months: "%{count}ma"
+      x_seconds: "%{count}s"
+  exports:
+    blocks: Je blokkeert
+    csv: CSV
+    follows: Je volgt
+    storage: Media-opslag
+  generic:
+    changes_saved_msg: Wijzigingen succesvol opgeslagen!
+    powered_by: powered by %{link}
+    save_changes: Wijziginen opslaan
+    validation_errors:
+      one: Er is iets niet helemaal goed! Bekijk onderstaande fout
+      other: Er is iets niet helemaal goed! Bekijk onderstaande %{count} fouten
+  imports:
+    preface: Je kunt bepaalde gegevens, zoals de mensen die je volgt of blokkeert, importeren voor je account op deze server, als ze zijn geëxporteerd op een andere server.
+    success: Je gegevens zijn succesvol ge-upload en wordt binnenkort verwerkt
+    types:
+      blocking: Blokkadelijst
+      following: Volglijst
+    upload: Uploaden
+  landing_strip_html: <strong>%{name}</strong> is een gebruiker op <strong>%{domain}</strong>. Je kunt deze volgen of ermee interacteren als je ergens in deze fediverse een account hebt. Als he dat niet hebt, kun je je <a href="%{sign_up_path}">hier aanmelden</a>.
+  notification_mailer:
+    digest:
+      body: 'Hier is een korte samenvatting van wat je hebt gemist op %{instance} sinds je laatste bezoek op %{since}:'
+      mention: "%{name} vermeldde je in:"
+      new_followers_summary:
+        one: Je hebt een nieuwe volger! Hoera!
+        other: Je hebt %{count} nieuwe volgers! Prachtig!
+      subject:
+        one: "1 nieuwe melding sinds je laatste bezoek \U0001F418"
+        other: "%{count} nieuwe meldingen sinds je laatste bezoek \U0001F418"
+    favourite:
+      body: 'Je status werd als favoriet gemarkeerd door  %{name}:'
+      subject: "%{name} markeerde je status als favouriet"
+    follow:
+      body: "%{name} volgt je nu!"
+      subject: "%{name} volgt je nu"
+    follow_request:
+      body: "%{name} wil je graag volgend"
+      subject: 'Volgen in afwachting: %{name}'
+    mention:
+      body: 'Je werd door %{name} vermeld in:'
+      subject: Je werd vermeld door %{name}
+    reblog:
+      body: 'Je status werd geboost door %{name}:'
+      subject: "%{name} booste je status"
+  pagination:
+    next: Volgende
+    prev: Vorige
+  remote_follow:
+    acct: Geef je gebruikersnaam@domein op waarvandaan je wilt volgen
+    missing_resource: Kon geen de vereiste doorverwijszings-URL voor je account niet vinden
+    proceed: Ga door om te volgen
+    prompt: 'Je gaat volgen:'
+  settings:
+    authorized_apps: Geautoriseerde
+    back: Terug naar Mastodon
+    edit_profile: Bewerk profiel
+    export: Gegevensexport
+    import: Import
+    preferences: Voorkeuren
+    settings: Instellingen
+    two_factor_auth: Twe-factor authenticatie
+  statuses:
+    open_in_web: Openen in web
+    over_character_limit: Tekenlimiet van %{max} overschreden
+    show_more: Toon meer
+    visibilities:
+      private: Toon alleen aan volgers
+      public: Openbaar
+      unlisted: Openbaar, maar niet tonen op openbare tijdlijn
+  stream_entries:
+    click_to_show: Klik om te tonen
+    reblogged: boostte
+    sensitive_content: Gevoelige inhoud
+  time:
+    formats:
+      default: "%b %d, %J, %U:%M"
+  two_factor_auth:
+    description_html: Als je <strong>twee-factor authenticatie</strong> instelt, kun je alleen inloggen als je je mobiele telefoon bij je hebt, waarmee je de in te voeren tokens genereert.
+    disable: Uitschakelen
+    enable: Inschakelen
+    instructions_html: "<strong>Scan deze QR-code in Google Authenticator of een soortgelijke app op je mobiele telefoon</strong>. Van nu af aan creëert deze app tokens die je bij inloggen moet invoeren."
+    plaintext_secret_html: 'Gewone-tekst geheim: <samp>%{secret}</samp>'
+    warning: Als je nu geen authenticator app kunt installeren, moet je "Uitschakelen" kiezen of je kunt niet meer inloggen.
+  users:
+    invalid_email: Het e-mailadres is ongeldig
+    invalid_otp_token: Ongeldige twe-factor code
+  will_paginate:
+    page_gap: "&hellip;"
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
index 0c2725855..ca73dd454 100644
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -112,7 +112,7 @@ ru:
       subject: "%{name} теперь подписан(а) на Вас"
     follow_request:
       body: "%{name} запросил Вас о подписке"
-      subject: '%{name} хочет подписаться на Вас'
+      subject: "%{name} хочет подписаться на Вас"
     mention:
       body: 'Вас упомянул(а) %{name} в:'
       subject: Вы были упомянуты %{name}
@@ -152,15 +152,15 @@ ru:
     formats:
       default: "%b %d, %Y, %H:%M"
   two_factor_auth:
+    code_hint: Для подтверждения введите код, сгенерированный приложением аутентификатора
     description_html: При включении <strong>двухфакторной аутентификации</strong>, вход потребует от Вас использования Вашего телефона, который сгенерирует входные токены.
     disable: Отключить
     enable: Включить
     instructions_html: "<strong>Отсканируйте этот QR-код с помощью Google Authenticator или другого подобного приложения на Вашем телефоне</strong>. С этого момента приложение будет генерировать токены, которые будет необходимо ввести для входа."
     manual_instructions: 'Если Вы не можете отсканировать QR-код и хотите ввести его вручную, секрет представлен здесь открытым текстом:'
     plaintext_secret_html: 'Секрет открытым текстом: <samp>%{secret}</samp>'
-    code_hint: 'Для подтверждения введите код, сгенерированный приложением аутентификатора'
     setup: Настроить
-    warning: 'Если сейчас у Вас не получается настроить аутентификатор, нажмите "отключить", иначе Вы не сможете войти!'
+    warning: Если сейчас у Вас не получается настроить аутентификатор, нажмите "отключить", иначе Вы не сможете войти!
   users:
     invalid_email: Введенный e-mail неверен
     invalid_otp_token: Введен неверный код
diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml
index 6b6657a98..74649da51 100644
--- a/config/locales/simple_form.en.yml
+++ b/config/locales/simple_form.en.yml
@@ -26,10 +26,11 @@ en:
         note: Bio
         otp_attempt: Two-factor code
         password: Password
+        setting_boost_modal: Show confirmation dialog before boosting
         setting_default_privacy: Post privacy
+        severity: Severity
         type: Import type
         username: Username
-        setting_boost_modal: Show confirmation dialog before boosting
       interactions:
         must_be_follower: Block notifications from non-followers
         must_be_following: Block notifications from people you don't follow
diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml
index afcaeae8f..ae4975143 100644
--- a/config/locales/simple_form.fr.yml
+++ b/config/locales/simple_form.fr.yml
@@ -26,7 +26,9 @@ fr:
         note: Présentation
         otp_attempt: Code d'identification à deux facteurs
         password: Mot de passe
+        setting_boost_modal: Afficher un dialogue de confirmation avant de partager
         setting_default_privacy: Confidentialité des statuts
+        severity: Séverité
         type: Type d'import
         username: Identifiant
       interactions:
diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml
index bdf8e0f54..103001b7e 100644
--- a/config/locales/simple_form.ja.yml
+++ b/config/locales/simple_form.ja.yml
@@ -26,10 +26,10 @@ ja:
         note: プロフィール
         otp_attempt: 二段階認証コード
         password: パスワード
+        setting_boost_modal: ブーストする前に確認ダイアログを表示する
         setting_default_privacy: 投稿の公開範囲
         type: インポートする項目
         username: ユーザー名
-        setting_boost_modal: ブーストする前に確認ダイアログを表示する
       interactions:
         must_be_follower: フォロワー以外からの通知をブロック
         must_be_following: フォローしていないユーザーからの通知をブロック
@@ -40,8 +40,8 @@ ja:
         follow_request: フォローリクエストを受けた時にメールで通知する
         mention: 返信が来た時にメールで通知する
         reblog: トゥートがブーストされた時にメールで通知する
-    'no': 'いいえ'
+    'no': いいえ
     required:
       mark: "*"
       text: 必須
-    'yes': 'はい'
+    'yes': はい
diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml
new file mode 100644
index 000000000..5bc38a87b
--- /dev/null
+++ b/config/locales/simple_form.nl.yml
@@ -0,0 +1,46 @@
+---
+nl:
+  simple_form:
+    hints:
+      defaults:
+        avatar: PNG, GIF of JPG. Maximaal 2MB. Wordt teruggeschaald naar 120x120px
+        display_name: Maximaal 30 tekens
+        header: PNG, GIF of JPG. Maximaal 2MB. Wordt teruggeschaald naar 700x335px
+        locked: Vereist dat je handmatig volgers accepteert en stelt standaard plaatsen berichten privacy in op alleen-volgers
+        note: Maximaal 160 characters
+      imports:
+        data: CSV file geëxporteerd van een andere Mastodon server
+    labels:
+      defaults:
+        avatar: Avatar
+        confirm_new_password: Bevestig nieuw wachtwoord
+        confirm_password: Bevestig wachtwoord
+        current_password: Huidige wachtwoord
+        data: Gegevens
+        display_name: Weergavenaam
+        email: E-mailadres
+        header: Kop
+        locale: Taal
+        locked: Maak account besloten
+        new_password: Nieuwe wachtwoord
+        note: Bio
+        otp_attempt: Twee-factor code
+        password: Wachtwoord
+        setting_default_privacy: Berichten privacy
+        type: Import type
+        username: gebruikersnaam
+      interactions:
+        must_be_follower: Blokkeermeldingen van niet-volgers
+        must_be_following: Blokkeer meldingen van mensen die je niet volgt
+      notification_emails:
+        digest: Verstuur samenvattingse-mails
+        favourite: Verstuur een e-mail wanneer iemand je status als favoriet markeert
+        follow: Verstuur een e-mail wanneer iemand je volgt
+        follow_request: Verstuur een e-mail wanneer iemand je wil volgen
+        mention: Verstuur een e-mail wanneer iemand je vermeld
+        reblog: Verstuur een e-mail wanneer iemand je status boost
+    'no': 'Nee'
+    required:
+      mark: "*"
+      text: vereist
+    'yes': 'Ja'
diff --git a/config/locales/simple_form.no.yml b/config/locales/simple_form.no.yml
index a4e43b1a1..22df43e73 100644
--- a/config/locales/simple_form.no.yml
+++ b/config/locales/simple_form.no.yml
@@ -26,10 +26,10 @@
         note: Biografi
         otp_attempt: To-faktor kode
         password: Passord
+        setting_boost_modal: Vis bekreftelsesdialog før reblogging
         setting_default_privacy: Leserettigheter for poster
         type: Importeringstype
         username: Brukernavn
-        setting_boost_modal: Vis bekreftelsesdialog før reblogging 
       interactions:
         must_be_follower: Blokker varslinger fra ikke-følgere
         must_be_following: Blokker varslinger fra folk du ikke følger
@@ -40,8 +40,8 @@
         follow_request: Send e-post når noen ber 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'
+    'no': Nei
     required:
       mark: "*"
       text: påkrevd
-    'yes': 'Ja'
+    'yes': Ja
diff --git a/config/navigation.rb b/config/navigation.rb
index b92b87202..3d5ba1741 100644
--- a/config/navigation.rb
+++ b/config/navigation.rb
@@ -14,14 +14,14 @@ 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_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, highlights_on: %r{/admin/domain_blocks}
+    primary.item :admin, safe_join([fa_icon('cogs fw'), t('admin.title')]), admin_reports_url, if: proc { current_user.admin? } do |admin|
+      admin.item :reports, safe_join([fa_icon('flag fw'), t('admin.reports.title')]), admin_reports_url, highlights_on: %r{/admin/reports}
+      admin.item :accounts, safe_join([fa_icon('users fw'), t('admin.accounts.title')]), admin_accounts_url, highlights_on: %r{/admin/accounts}
+      admin.item :pubsubhubbubs, safe_join([fa_icon('paper-plane-o fw'), t('admin.pubsubhubbub.title')]), admin_pubsubhubbub_index_url
+      admin.item :domain_blocks, safe_join([fa_icon('lock fw'), t('admin.domain_block.title')]), 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
+      admin.item :settings, safe_join([fa_icon('cogs fw'), t('admin.settings.title')]), admin_settings_url
     end
 
     primary.item :logout, safe_join([fa_icon('sign-out fw'), t('auth.logout')]), destroy_user_session_url, link_html: { 'data-method' => 'delete' }
diff --git a/config/settings.yml b/config/settings.yml
index d364120db..04213fd0b 100644
--- a/config/settings.yml
+++ b/config/settings.yml
@@ -14,7 +14,7 @@ defaults: &defaults
   site_contact_email: ''
   open_registrations: true
   closed_registrations_message: ''
-  boost_modal: true
+  boost_modal: false
   notification_emails:
     follow: false
     reblog: false