about summary refs log tree commit diff
path: root/config/locales
diff options
context:
space:
mode:
Diffstat (limited to 'config/locales')
-rw-r--r--config/locales/bg.yml2
-rw-r--r--config/locales/de.yml2
-rw-r--r--config/locales/devise.ja.yml2
-rw-r--r--config/locales/devise.nl.yml72
-rw-r--r--config/locales/devise.pt-BR.yml61
-rw-r--r--config/locales/devise.pt.yml76
-rw-r--r--config/locales/doorkeeper.nl.yml56
-rw-r--r--config/locales/doorkeeper.pt-BR.yml112
-rw-r--r--config/locales/doorkeeper.pt.yml22
-rw-r--r--config/locales/en.yml24
-rw-r--r--config/locales/eo.yml4
-rw-r--r--config/locales/es.yml2
-rw-r--r--config/locales/fi.yml2
-rw-r--r--config/locales/fr.yml55
-rw-r--r--config/locales/hr.yml2
-rw-r--r--config/locales/it.yml1
-rw-r--r--config/locales/ja.yml36
-rw-r--r--config/locales/nl.yml145
-rw-r--r--config/locales/no.yml2
-rw-r--r--config/locales/pl.yml4
-rw-r--r--config/locales/pt-BR.yml198
-rw-r--r--config/locales/pt.yml182
-rw-r--r--config/locales/ru.yml2
-rw-r--r--config/locales/simple_form.nl.yml36
-rw-r--r--config/locales/simple_form.pt-BR.yml30
-rw-r--r--config/locales/simple_form.pt.yml47
-rw-r--r--config/locales/zh-CN.yml2
-rw-r--r--config/locales/zh-HK.yml23
-rw-r--r--config/locales/zh-TW.yml23
29 files changed, 844 insertions, 381 deletions
diff --git a/config/locales/bg.yml b/config/locales/bg.yml
index e0e60adf7..f751c81a5 100644
--- a/config/locales/bg.yml
+++ b/config/locales/bg.yml
@@ -160,8 +160,6 @@ bg:
     disable: Деактивирай
     enable: Активирай
     instructions_html: "<strong>Сканирай този QR код с Google Authenticator или подобно приложение от своя телефон</strong>. Oтсега нататък, това приложение ще генерира код, който ще трябва да въвеждаш при всяко влизане."
-    plaintext_secret_html: 'Тайна в обикновен текст: <samp>%{secret}</samp>'
-    warning: Ако не можеш да настроиш приложението за удостверяване сега, избери "Деактивирай". В противен случай, няма да можеш да влезеш в акаунта си.
   users:
     invalid_email: E-mail адресът е невалиден
     invalid_otp_token: Невалиден код
diff --git a/config/locales/de.yml b/config/locales/de.yml
index 75ac4e1bb..dcbeea745 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -1,7 +1,7 @@
 ---
 de:
   about:
-    about_mastodon: Mastodon ist ein <em>freier, quelloffener</em> soziales Netzwerkserver. Als <em>dezentralisierte</em> 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 <em>sozialen Netzwerk</em> teilnehmen.
+    about_mastodon: Mastodon ist ein <em>freier, quelloffener</em> sozialer Netzwerkserver. Als <em>dezentralisierte</em> 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 <em>sozialen Netzwerk</em> teilnehmen.
     get_started: Erste Schritte
     source_code: Quellcode
     terms: AGB
diff --git a/config/locales/devise.ja.yml b/config/locales/devise.ja.yml
index 4aeb09cd4..c09c15bb4 100644
--- a/config/locales/devise.ja.yml
+++ b/config/locales/devise.ja.yml
@@ -7,7 +7,7 @@ ja:
       send_paranoid_instructions: もしあなたのメールアドレスが登録されていれば、まもなくメールアドレスの確認の方法が記載されたメールが送信されます。
     failure:
       already_authenticated: 既にログイン済みです。
-      inactive: あなたのアカウントはまだアクティベートされていません。
+      inactive: あなたのアカウントはまだ有効化されていません。
       invalid: '%{authentication_keys}かパスワードが誤っています'
       last_attempt: あと1回失敗するとアカウントがロックされます。
       locked: アカウントはロックされました。
diff --git a/config/locales/devise.nl.yml b/config/locales/devise.nl.yml
index 9057a6775..28e012dfb 100644
--- a/config/locales/devise.nl.yml
+++ b/config/locales/devise.nl.yml
@@ -3,57 +3,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.
+      send_instructions: Je ontvangt via e-mail instructies hoe je jouw account kan bevestigen.
+      send_paranoid_instructions: Als jouw e-mailadres in de database staat, ontvang je via e-mail instructies hoe je jouw 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.
+      inactive: Jouw account is nog niet geactiveerd.
+      invalid: Ongeldig e-mailadres of wachtwoord.
+      invalid_token: Ongeldige bevestigingscode.
+      last_attempt: Je hebt nog één poging over voordat jouw account geblokkeerd wordt.
+      locked: Jouw account is geblokkeerd.
+      not_found_in_database: Ongeldig e-mailadres of wachtwoord.
+      timeout: Jouw sessie is verlopen, log opnieuw in.
+      unauthenticated: Je dient in te loggen of te registreren.
+      unconfirmed: Je dient eerst jouw account te bevestigen.
     mailer:
       confirmation_instructions:
-        subject: Bevestiging mailadres
+        subject: 'Mastodon: E-mail bevestigen voor %{instance}'
+      password_change:
+        subject: 'Mastodon: Wachtwoord veranderd'
       reset_password_instructions:
-        subject: Wachtwoord resetten
+        subject: 'Mastodon: Wachtwoord opnieuw instellen'
       unlock_instructions:
-        subject: Unlock instructies
+        subject: 'Mastodon: Instructies om account te deblokkeren' 
     omniauth_callbacks:
-      failure: Kon je niet aanmelden met je %{kind} account, omdat "%{reason}".
-      success: Successvol aangemeld met je %{kind} account.
+      failure: Kon je niet aanmelden met jouw %{kind} account, omdat "%{reason}".
+      success: Successvol aangemeld met jouw %{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.
+      no_token: Je kan deze pagina niet benaderen zonder dat je een e-mail om je wachtwoord opnieuw in te stellen hebt ontvangen.
+      send_instructions: Je ontvangt via e-mail instructies hoe je jouw wachtwoord opnieuw moet instellen.
+      send_paranoid_instructions: Als jouw e-mailadres in de database staat, ontvang je via e-mail instructies hoe je jouw wachtwoord opnieuw moet instellen.
+      updated: Jouw wachtwoord is gewijzigd. Je bent nu ingelogd.
+      updated_not_active: Jouw 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.
+      destroyed: Jouw account is verwijderd. Wellicht tot ziens!
+      signed_up: Je bent geregistreerd.
+      signed_up_but_inactive: Je bent geregistreerd. Je kon alleen niet automatisch ingelogd worden omdat jouw account nog niet geactiveerd is.
+      signed_up_but_locked: Je bent ingeschreven. Je kon alleen niet automatisch ingelogd worden omdat jouw account geblokkeerd is.
+      signed_up_but_unconfirmed: Je ontvangt via e-mail instructies hoe je jouw account kunt activeren.
+      update_needs_confirmation: Je hebt je e-mailadres succesvol gewijzigd, maar we moeten je nieuwe mailadres nog bevestigen. Controleer jouw e-mail en klik op de link in de mail om jouw e-mailadres te bevestigen.
+      updated: Jouw accountgegevens 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.
+      send_instructions: Je ontvangt via e-mail instructies hoe je jouw account kan deblokkeren.
+      send_paranoid_instructions: Als jouw e-mailadres in de database staat, ontvang je via e-mail instructies hoe je jouw account kan deblokkeren.
+      unlocked: Jouw account is gedeblokkeerd. 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
+      confirmation_period_expired: moet worden bevestigd binnen %{period}, probeer het nog een keer
       expired: is verlopen, vraag een nieuwe aan
       not_found: niet gevonden
-      not_locked: is niet gesloten
+      not_locked: is niet geblokkeerd
       not_saved:
-        one: '1 fout blokkeerde het opslaan van deze %{resource}:'
-        other: "%{count} fouten blokkeerden het opslaan van deze %{resource}:"
+        one: '1 fout verhinderde het opslaan van deze %{resource}:'
+        other: "%{count} fouten verhinderden het opslaan van deze %{resource}:"
diff --git a/config/locales/devise.pt-BR.yml b/config/locales/devise.pt-BR.yml
new file mode 100644
index 000000000..c647fabbd
--- /dev/null
+++ b/config/locales/devise.pt-BR.yml
@@ -0,0 +1,61 @@
+---
+pt-BR:
+  devise:
+    confirmations:
+      confirmed: O seu endereço de email foi confirmado.
+      send_instructions: Você irá receber um email com instruções em como confirmar o seu endereço de email dentro de alguns minutos.
+      send_paranoid_instructions: Se o seu endereço de email já existir na nossa base de dados, irá receber um email com instruções em como confirmá-lo dentro de alguns minutos.
+    failure:
+      already_authenticated: A sua sessão já está aberta.
+      inactive: A sua contra ainda não está ativada.
+      invalid: "%{authentication_keys} ou password inválidos."
+      last_attempt: Tem mais uma tentativa antes de a sua conta ser protegida.
+      locked: A sua conta está protegida
+      not_found_in_database: "%{authentication_keys} ou password inválidos."
+      timeout: A sua sessão expirou. Por favore entre de novo para continuar.
+      unauthenticated: Você precsa de entrar ou registar-se antes de continuar.
+      unconfirmed: Você tem de confirmar o seu endereço de email antes de continuar.
+    mailer:
+      confirmation_instructions:
+        subject: 'Mastodon: Instruções de confirmação'
+      password_change:
+        subject: 'Mastodon: Password nova'
+      reset_password_instructions:
+        subject: 'Mastodon: Instruções para editar a password'
+      unlock_instructions:
+        subject: 'Mastodon: Instruções para desproteger a sua conta'
+    omniauth_callbacks:
+      failure: Could not authenticate you from %{kind} because "%{reason}".
+      success: Successfully authenticated from %{kind} account.
+    passwords:
+      no_token: Você não pode aceder a esta página sem ter vindo de um email para mudar a password. Se este for o case, por favor faça questão de verificar que usou o URL no email.
+      send_instructions: Irá receber um email com instruções em como mudar a sua password dentro de algns minutos.
+      send_paranoid_instructions: Se  seu endereço de email existe na nossa base de dados, irá receber um link para recuperar a sua password dentro de alguns minutos.
+      updated: A sua password foi alterada. A sua sessão está aberta.
+      updated_not_active: A sua password foi alterada.
+    registrations:
+      destroyed: Adeus! A sua conta foi cancelada. Esperamos vê-lo em breve.
+      signed_up: Bem vindo! A sua conta foi registada com sucesso.
+      signed_up_but_inactive: A sua conta foi registada. No entanto, não abrimos a sua sessão porque a sua conta ainda não foi ativada.
+      signed_up_but_locked: A sua conta foi registada. No entanto, não abrimos a sua sessão porque a sua conta está protegida.
+      signed_up_but_unconfirmed: Uma mensagem com um link de confirmação foi enviada para o seu email. Por favor siga o link para ativar a sua conta.
+      update_needs_confirmation: Você mudou o seu endereço de email ou password, mas é necessário confirmar a mudança. Por favor siga o link que foi enviado para o seu novo endereço de email.
+      updated: A sua conta foi alterada com sucesso.
+    sessions:
+      already_signed_out: Sessão fechada.
+      signed_in: Sessão iniciada.
+      signed_out: Sessão fechada.
+    unlocks:
+      send_instructions: Irá receber um email com instruções para desproteger a sua conta dentro de alguns minutos.
+      send_paranoid_instructions: Se a sua conta existe, irá receber um email com instruções a detalhar como a desproteger dentro de alguns minutos.
+      unlocked: A sua conta foi desprotegida. Por favor inicie sessão para continuar.
+  errors:
+    messages:
+      already_confirmed: já foi confirmado, por favor tente iniciar sessão
+      confirmation_period_expired: tem de ser confirmado dentro de %{period}, por favor tente outra vez
+      expired: expirou, por favor tente outra vez
+      not_found: não encontrado
+      not_locked: não está protegido
+      not_saved:
+        one: '1 erro impediu este %{resource} de ser guardado:'
+        other: "%{count} erros impediram este %{resource} de ser guardado:"
diff --git a/config/locales/devise.pt.yml b/config/locales/devise.pt.yml
index 8c049ce8b..dc87cefdd 100644
--- a/config/locales/devise.pt.yml
+++ b/config/locales/devise.pt.yml
@@ -2,60 +2,60 @@
 pt:
   devise:
     confirmations:
-      confirmed: O seu endereço de email foi confirmado.
-      send_instructions: Você irá receber um email com instruções em como confirmar o seu endereço de email dentro de alguns minutos.
-      send_paranoid_instructions: Se o seu endereço de email já existir na nossa base de dados, irá receber um email com instruções em como confirmá-lo dentro de alguns minutos.
+      confirmed: O teu endereço de email foi confirmado.
+      send_instructions: Vais receber um email com as instruções para confirmar o teu endereço de email dentro de alguns minutos.
+      send_paranoid_instructions: Se o teu endereço de email já existir na nossa base de dados, vais receber um email com as instruções de confirmação dentro de alguns minutos.
     failure:
-      already_authenticated: A sua sessão já está aberta.
-      inactive: A sua contra ainda não está ativada.
-      invalid: "%{authentication_keys} ou password inválidos."
-      last_attempt: Tem mais uma tentativa antes de a sua conta ser protegida.
-      locked: A sua conta está protegida
-      not_found_in_database: "%{authentication_keys} ou password inválidos."
-      timeout: A sua sessão expirou. Por favore entre de novo para continuar.
-      unauthenticated: Você precsa de entrar ou registar-se antes de continuar.
-      unconfirmed: Você tem de confirmar o seu endereço de email antes de continuar.
+      already_authenticated: A tua sessão já está aberta.
+      inactive: A tua conta ainda não está ativada.
+      invalid: "%{authentication_keys} ou palavra-passe não válida."
+      last_attempt: Tens mais uma tentativa antes de a tua conta ficar bloqueada.
+      locked: A tua conta está bloqueada
+      not_found_in_database: "%{authentication_keys} ou palavra-passe não válida."
+      timeout: A tua sessão expirou. Por favor, entra de novo para continuares.
+      unauthenticated: Precisas de entrar na tua conta ou registares-te antes de continuar.
+      unconfirmed: Tens de confirmar o teu endereço de email antes de continuar.
     mailer:
       confirmation_instructions:
-        subject: 'Mastodon: Instruções de confirmação'
+        subject: 'Mastodon: Instruções de confirmação %{instance}'
       password_change:
-        subject: 'Mastodon: Password nova'
+        subject: 'Mastodon: Nova palavra-passe'
       reset_password_instructions:
-        subject: 'Mastodon: Instruções para editar a password'
+        subject: 'Mastodon: Instruções para editar a palavra-passe'
       unlock_instructions:
-        subject: 'Mastodon: Instruções para desproteger a sua conta'
+        subject: 'Mastodon: Instruções para desbloquear a tua conta'
     omniauth_callbacks:
-      failure: Could not authenticate you from %{kind} because "%{reason}".
-      success: Successfully authenticated from %{kind} account.
+      failure: Não foi possível autenticar %{kind} porque "%{reason}".
+      success: Autenticado com sucesso na conta %{kind}.
     passwords:
-      no_token: Você não pode aceder a esta página sem ter vindo de um email para mudar a password. Se este for o case, por favor faça questão de verificar que usou o URL no email.
-      send_instructions: Irá receber um email com instruções em como mudar a sua password dentro de algns minutos.
-      send_paranoid_instructions: Se  seu endereço de email existe na nossa base de dados, irá receber um link para recuperar a sua password dentro de alguns minutos.
-      updated: A sua password foi alterada. A sua sessão está aberta.
-      updated_not_active: A sua password foi alterada.
+      no_token: Não pode aceder a esta página se não vier através do link enviado por email para alteração da sua palavra-passe. Se usaste esse link para chegar aqui, por favor verifica que o endereço URL actual é o mesmo do que foi enviado no email.
+      send_instructions: Vais receber um email com instruções para alterar a palavra-passe dentro de algns minutos.
+      send_paranoid_instructions: Se o teu endereço de email existe na nossa base de dados, vais receber um link para recuperar a palavra-passe dentro de alguns minutos.
+      updated: A tua palavra-passe foi alterada. Estás agora autenticado na tua conta.
+      updated_not_active: A tua palavra-passe foi alterada.
     registrations:
-      destroyed: Adeus! A sua conta foi cancelada. Esperamos vê-lo em breve.
-      signed_up: Bem vindo! A sua conta foi registada com sucesso.
-      signed_up_but_inactive: A sua conta foi registada. No entanto, não abrimos a sua sessão porque a sua conta ainda não foi ativada.
-      signed_up_but_locked: A sua conta foi registada. No entanto, não abrimos a sua sessão porque a sua conta está protegida.
-      signed_up_but_unconfirmed: Uma mensagem com um link de confirmação foi enviada para o seu email. Por favor siga o link para ativar a sua conta.
-      update_needs_confirmation: Você mudou o seu endereço de email ou password, mas é necessário confirmar a mudança. Por favor siga o link que foi enviado para o seu novo endereço de email.
-      updated: A sua conta foi alterada com sucesso.
+      destroyed: Adeus! A tua conta foi cancelada. Esperamos ver-te em breve.
+      signed_up: Bem-vindo! A tua conta foi registada com sucesso.
+      signed_up_but_inactive: A tua conta foi registada. No entanto ainda não está activa.
+      signed_up_but_locked: A tua conta foi registada. No entanto está bloqueada.
+      signed_up_but_unconfirmed: Uma mensagem com um link de confirmação foi enviada para o teu email. Por favor segue esse link para activar a tua conta.
+      update_needs_confirmation: Alteraste o teu endereço de email ou palavra-passe, mas é necessário confirmar essa alteração. Por favor vai ao teu email e segue link que te enviámos.
+      updated: A tua conta foi actualizada com sucesso.
     sessions:
-      already_signed_out: Sessão fechada.
+      already_signed_out: Sessão encerrada.
       signed_in: Sessão iniciada.
-      signed_out: Sessão fechada.
+      signed_out: Sessão encerrada.
     unlocks:
-      send_instructions: Irá receber um email com instruções para desproteger a sua conta dentro de alguns minutos.
-      send_paranoid_instructions: Se a sua conta existe, irá receber um email com instruções a detalhar como a desproteger dentro de alguns minutos.
-      unlocked: A sua conta foi desprotegida. Por favor inicie sessão para continuar.
+      send_instructions: Vais receber um email com instruções para desbloquear a tua conta dentro de alguns minutos.
+      send_paranoid_instructions: Se a tua conta existe, vais receber um email com instruções a detalhar como a desbloquear dentro de alguns minutos.
+      unlocked: A sua conta foi desbloqueada. Por favor inica uma nova sessão para continuar.
   errors:
     messages:
-      already_confirmed: já foi confirmado, por favor tente iniciar sessão
-      confirmation_period_expired: tem de ser confirmado dentro de %{period}, por favor tente outra vez
+      already_confirmed: já confirmado, por favor tente iniciar sessão
+      confirmation_period_expired: tem de ser confirmado durante %{period}, por favor tenta outra vez
       expired: expirou, por favor tente outra vez
       not_found: não encontrado
-      not_locked: não está protegido
+      not_locked: não estava bloqueada
       not_saved:
         one: '1 erro impediu este %{resource} de ser guardado:'
         other: "%{count} erros impediram este %{resource} de ser guardado:"
diff --git a/config/locales/doorkeeper.nl.yml b/config/locales/doorkeeper.nl.yml
index 91e62dc0c..9edbb8c9f 100644
--- a/config/locales/doorkeeper.nl.yml
+++ b/config/locales/doorkeeper.nl.yml
@@ -4,7 +4,7 @@ nl:
     attributes:
       doorkeeper/application:
         name: Naam
-        redirect_uri: Redirect URI
+        redirect_uri: Redirect-URI
         scopes: Scopes
     errors:
       models:
@@ -26,15 +26,15 @@ nl:
       confirmations:
         destroy: Weet je het zeker?
       edit:
-        title: Bewerk applicatie
+        title: Applicatie bewerken
       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.
+        scopes: Scopes met spaties van elkaar scheiden. Laat leeg om de standaardscopes te gebruiken.
       index:
-        callback_url: Callback URL
+        callback_url: Callback-URL
         name: Naam
         new: Nieuwe applicatie
         title: Jouw applicaties
@@ -42,8 +42,8 @@ nl:
         title: Nieuwe applicatie
       show:
         actions: Acties
-        application_id: Applicatie Id
-        callback_urls: Callback urls
+        application_id: Applicatie-ID
+        callback_urls: Callback-URL's
         scopes: Scopes
         secret: Secret
         title: 'Applicatie: %{name}'
@@ -58,7 +58,7 @@ nl:
         prompt: "%{client_name} autoriseren om uw account te gebruiken?"
         title: Autorisatie vereist
       show:
-        title: Autorisatie code
+        title: Autorisatie-code
     authorized_applications:
       buttons:
         revoke: Intrekken
@@ -71,24 +71,24 @@ nl:
         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.
+        access_denied: De resource-eigenaar of autorisatie-server weigerde het verzoek.
+        credential_flow_not_configured: De wachtwoordgegevens-flow van de resource-eigenaar is mislukt omdat Doorkeeper.configure.resource_owner_from_credentials niet is ingesteld.
+        invalid_client: Clientverificatie is mislukt door een onbekende client, ontbrekende client-authenticatie 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 client.
+        invalid_redirect_uri: De opgegeven redirect-URI is ongeldig.
+        invalid_request: Het verzoek mist een vereiste parameter, bevat een niet ondersteunde parameterwaarde of is anderszins onjuist.
+        invalid_resource_owner: De verstrekte resource-eigenaargegevens zijn ogeldig of de resource-eigenaar kan niet worden gevonden.
+        invalid_scope: De opgevraagde scope is ongeldig, 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.
+          expired: Het toegangssleutel is verlopen
+          revoked: Het toegangssleutel is geweigerd
+          unknown: Het toegangssleutel is ongeldig
+        resource_owner_authenticator_not_configured: Het opzoeken van de resource-eigenaar is mislukt omdat Doorkeeper.configure.resource_owner_authenticator niet is ingesteld.
+        server_error: De autorisatieserver is is een onverwachte situatie tegengekomen die het verzoek verhinderde.
         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
+        unauthorized_client: De client is niet bevoegd om dit verzoek op deze manier uit te voeren.
+        unsupported_grant_type: Het type autorisatie wordt niet door de autorisatieserver ondersteund 
+        unsupported_response_type: De autorisatieserver ondersteund dit antwoordtype niet
     flash:
       applications:
         create:
@@ -105,10 +105,10 @@ nl:
         nav:
           applications: Applicaties
           home: Home
-          oauth2_provider: OAuth2 Provider
+          oauth2_provider: OAuth2-provider
       application:
-        title: OAuth autorisatie vereist
+        title: OAuth-autorisatie vereist
     scopes:
-      follow: volg, blokkeer, deblokkeer en stop volgen accounts
-      read: lees je accountgegevens
-      write: plaatsen namens jou
+      follow: volg, blokkeer, deblokkeer en stop het volgen van accounts
+      read: lees jouw accountgegevens
+      write: namens jou plaatsen
diff --git a/config/locales/doorkeeper.pt-BR.yml b/config/locales/doorkeeper.pt-BR.yml
new file mode 100644
index 000000000..85ea3bfcc
--- /dev/null
+++ b/config/locales/doorkeeper.pt-BR.yml
@@ -0,0 +1,112 @@
+---
+pt-BR:
+  activerecord:
+    attributes:
+      doorkeeper/application:
+        name: Nome
+        redirect_uri: Redirect URI
+    errors:
+      models:
+        doorkeeper/application:
+          attributes:
+            redirect_uri:
+              fragment_present: não pode conter um fragmento.
+              invalid_uri: tem de ser um URI válido.
+              relative_uri: tem de ser um URI absoluto.
+              secured_uri: tem de ser um HTTPS/SSL URI.
+  doorkeeper:
+    applications:
+      buttons:
+        authorize: Autorizar
+        cancel: Cancelar
+        destroy: Destruir
+        edit: Editar
+        submit: Submeter
+      confirmations:
+        destroy: Tem a certeza?
+      edit:
+        title: Editar aplicação
+      form:
+        error: Oops! Verifique que o formulário não tem erros
+      help:
+        native_redirect_uri: Use %{native_redirect_uri} para testes locais
+        redirect_uri: Utilize uma linha por URI
+        scopes: Separate scopes with spaces. Leave blank to use the default scopes.
+      index:
+        callback_url: Callback URL
+        name: Nome
+        new: Nova Aplicação
+        title: As suas aplicações
+      new:
+        title: Nova aplicação
+      show:
+        actions: Ações
+        application_id: Id de Aplicação
+        callback_urls: Callback urls
+        scopes: Scopes
+        secret: Segredo
+        title: 'Aplicação: %{name}'
+    authorizations:
+      buttons:
+        authorize: Autorize
+        deny: Não autorize
+      error:
+        title: Ocorreu um erro
+      new:
+        able_to: Vai poder
+        prompt: Aplicação %{client_name} requisita acesso à sua conta
+        title: Autorização é necessária
+      show:
+        title: Código de autorização
+    authorized_applications:
+      buttons:
+        revoke: Revogar
+      confirmations:
+        revoke: Tem a certeza?
+      index:
+        application: Aplicação
+        created_at: Criada em
+        date_format: "%Y-%m-%d %H:%M:%S"
+        title: As suas aplicações autorizadas
+    errors:
+      messages:
+        access_denied: The resource owner or authorization server denied the request.
+        credential_flow_not_configured: Resource Owner Password Credentials flow failed due to Doorkeeper.configure.resource_owner_from_credentials being unconfigured.
+        invalid_client: Client authentication failed due to unknown client, no client authentication included, or unsupported authentication method.
+        invalid_grant: The provided authorization grant is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.
+        invalid_redirect_uri: The redirect uri included is not valid.
+        invalid_request: The request is missing a required parameter, includes an unsupported parameter value, or is otherwise malformed.
+        invalid_resource_owner: The provided resource owner credentials are not valid, or resource owner cannot be found
+        invalid_scope: The requested scope is invalid, unknown, or malformed.
+        invalid_token:
+          expired: O token de acesso expirou
+          revoked: O token de acesso foi revogado
+          unknown: O token de acesso é inválido
+        resource_owner_authenticator_not_configured: Resource Owner find failed due to Doorkeeper.configure.resource_owner_authenticator being unconfiged.
+        server_error: The authorization server encountered an unexpected condition which prevented it from fulfilling the request.
+        temporarily_unavailable: The authorization server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
+        unauthorized_client: The client is not authorized to perform this request using this method.
+        unsupported_grant_type: The authorization grant type is not supported by the authorization server.
+        unsupported_response_type: The authorization server does not support this response type.
+    flash:
+      applications:
+        create:
+          notice: Aplicação criada.
+        destroy:
+          notice: Aplicação eliminada.
+        update:
+          notice: Aplicação alterada.
+      authorized_applications:
+        destroy:
+          notice: Aplicação revogada.
+    layouts:
+      admin:
+        nav:
+          applications: Aplicações
+          oauth2_provider: OAuth2 Provider
+      application:
+        title: Autorização OAuth necessária
+    scopes:
+      follow: siga, bloqueie, desbloqueie, e deixe de seguir contas
+      read: tenha acesso aos dados da sua conta
+      write: públique por si
diff --git a/config/locales/doorkeeper.pt.yml b/config/locales/doorkeeper.pt.yml
index 2709856e8..87e01ba94 100644
--- a/config/locales/doorkeeper.pt.yml
+++ b/config/locales/doorkeeper.pt.yml
@@ -23,20 +23,20 @@ pt:
         edit: Editar
         submit: Submeter
       confirmations:
-        destroy: Tem a certeza?
+        destroy: Tens a certeza?
       edit:
         title: Editar aplicação
       form:
-        error: Oops! Verifique que o formulário não tem erros
+        error: Oops! Verifica que o formulário não tem erros
       help:
-        native_redirect_uri: Use %{native_redirect_uri} para testes locais
-        redirect_uri: Utilize uma linha por URI
+        native_redirect_uri: Usa %{native_redirect_uri} para testes locais
+        redirect_uri: Utiliza uma linha por URI
         scopes: Separate scopes with spaces. Leave blank to use the default scopes.
       index:
         callback_url: Callback URL
         name: Nome
         new: Nova Aplicação
-        title: As suas aplicações
+        title: As tuas aplicações
       new:
         title: Nova aplicação
       show:
@@ -54,7 +54,7 @@ pt:
         title: Ocorreu um erro
       new:
         able_to: Vai poder
-        prompt: Aplicação %{client_name} requisita acesso à sua conta
+        prompt: Aplicação %{client_name} pede acesso à tua conta
         title: Autorização é necessária
       show:
         title: Código de autorização
@@ -62,12 +62,12 @@ pt:
       buttons:
         revoke: Revogar
       confirmations:
-        revoke: Tem a certeza?
+        revoke: Tens a certeza?
       index:
         application: Aplicação
         created_at: Criada em
         date_format: "%Y-%m-%d %H:%M:%S"
-        title: As suas aplicações autorizadas
+        title: As tuas aplicações autorizadas
     errors:
       messages:
         access_denied: The resource owner or authorization server denied the request.
@@ -107,6 +107,6 @@ pt:
       application:
         title: Autorização OAuth necessária
     scopes:
-      follow: siga, bloqueie, desbloqueie, e deixe de seguir contas
-      read: tenha acesso aos dados da sua conta
-      write: públique por si
\ No newline at end of file
+      follow: siga, bloqueie, desbloqueie, e deixa de seguir contas
+      read: tenha acesso aos dados da tua conta
+      write: públique por ti
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 325df5045..039dabf87 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -71,6 +71,7 @@ en:
       profile_url: Profile URL
       public: Public
       push_subscription_expires: PuSH subscription expires
+      reset_password: Reset password
       salmon_url: Salmon URL
       silence: Silence
       statuses: Statuses
@@ -79,7 +80,7 @@ en:
       undo_suspension: Undo suspension
       username: Username
       web: Web
-    domain_block:
+    domain_blocks:
       add_new: Add new
       created_msg: Domain block is now being processed
       destroyed_msg: Domain block has been undone
@@ -106,6 +107,7 @@ en:
           silence: Unsilence all existing accounts from this domain
           suspend: Unsuspend all existing accounts from this domain
         title: Undo domain block for %{domain}
+        undo: Undo
       title: Domain Blocks
       undo: Undo
     pubsubhubbub:
@@ -258,24 +260,6 @@ 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
@@ -310,11 +294,9 @@ en:
     instructions_html: "<strong>Scan this QR code into Google Authenticator or a similiar TOTP app on your phone</strong>. From now on, that app will generate tokens that you will have to enter when logging in."
     lost_recovery_codes: Recovery codes allow you to regain access to your account if you lose your phone. If you've lost your recovery codes, you can regenerate them here. Your old recovery codes will be invalidated.
     manual_instructions: 'If you can''t scan the QR code and need to enter it manually, here is the plain-text secret:'
-    recovery_codes: Recovery Codes
     recovery_codes_regenerated: Recovery codes successfully regenerated
     recovery_instructions: If you ever lose access to your phone, you can use one of the recovery codes below to regain access to your account. Keep the recovery codes safe, for example by printing them and storing them with other important documents.
     setup: Set up
-    warning: If you cannot configure an authenticator app right now, you should click "disable" or you won't be able to login.
     wrong_code: The entered code was invalid! Are server time and device time correct?
   users:
     invalid_email: The e-mail address is invalid
diff --git a/config/locales/eo.yml b/config/locales/eo.yml
index e82e42495..692fcc43a 100644
--- a/config/locales/eo.yml
+++ b/config/locales/eo.yml
@@ -145,7 +145,7 @@ eo:
       unlisted: Publika, sed ne aperos en publikaj tempolinioj
   stream_entries:
     click_to_show: Alklaki por montri
-    reblogged: diskonigita
+    reblogged: diskonigis
     sensitive_content: Tikla enhavo
   time:
     formats:
@@ -155,8 +155,6 @@ eo:
     disable: Malebligi
     enable: Ebligi
     instructions_html: "<strong>Skanu tiun QR-kodon per Google Authenticator aŭ per simila aplikaĵo de via poŝtelefono</strong>. De tiam, la aplikaĵo kreos nombrojn, kiujn vi devos entajpi."
-    plaintext_secret_html: 'Rekte legebla sekreta kodo: <samp>%{secret}</samp>'
-    warning: Se vi ne povas agordi aŭtentigan aplikaĵon nun, elektu "malebligi" aŭ vi ne plu povos ensaluti.
   users:
     invalid_email: La retpoŝt-adreso ne estas valida
     invalid_otp_token: La dufaktora aŭtentigila kodo ne estas valida
diff --git a/config/locales/es.yml b/config/locales/es.yml
index a29fe17fd..e99c592ff 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -160,8 +160,6 @@ es:
     disable: Deshabilitar
     enable: Habilitar
     instructions_html: "<strong>Escanea este código QR desde Google Authenticator o una aplicación similar en su teléfono</strong>. Desde ahora, esta aplicación va a generar tokens que tienes que ingresar cuando quieras iniciar sesión."
-    plaintext_secret_html: 'Código en texto plano: <samp>%{secret}</samp>'
-    warning: Sí no puedes configurar una aplicación de autenticación ahora, deberás deshabilitar la autenticación de dos factores o no podrás iniciar sesión.
   users:
     invalid_email: La dirección de correo es incorrecta
     invalid_otp_token: Código de dos factores incorrecto
diff --git a/config/locales/fi.yml b/config/locales/fi.yml
index db8194ff2..3d5e240af 100644
--- a/config/locales/fi.yml
+++ b/config/locales/fi.yml
@@ -155,8 +155,6 @@ fi:
     disable: Poista käytöstä
     enable: Ota käyttöön
     instructions_html: "<strong>Skannaa tämä QR-koodi Google Authenticator- tai vastaavaan sovellukseen puhelimellasi</strong>. Tästä hetkestä lähtien ohjelma luo koodin, mikä sinun tarvitsee syöttää sisäänkirjautuessa."
-    plaintext_secret_html: 'Plain-text secret: <samp>%{secret}</samp>'
-    warning: Jos et juuri nyt voi konfiguroida authenticator-applikaatiota juuri nyt, sinun pitäisi klikata "Poista käytöstä" tai et voi kirjautua sisään.
   users:
     invalid_email: Virheellinen sähköposti
     invalid_otp_token: Virheellinen kaksivaihetunnistuskoodi
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index 754eabb95..4644d1bad 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -71,6 +71,7 @@ fr:
       profile_url: URL du profil
       public: Public
       push_subscription_expires: Expiration de l'abonnement PuSH
+      reset_password: Réinitialiser le mot de passe
       salmon_url: URL Salmon
       silence: Rendre muet
       statuses: Statuts
@@ -79,8 +80,10 @@ fr:
       undo_suspension: Annuler la suspension
       username: Nom d'utilisateur
       web: Web
-    domain_block:
+    domain_blocks:
       add_new: Ajouter
+      created_msg: Le blocage de domaine est désormais activé
+      destroyed_msg: Le blocage de domaine a été désactivé
       domain: Domaine
       new:
         create: Créer le blocage
@@ -90,8 +93,23 @@ fr:
           silence: Muet
           suspend: Suspendre
         title: Nouveau blocage de domaine
+      reject_media: Fichiers media rejetés
+      reject_media_hint: Supprime localement les fichiers media stockés et refuse d'en télécharger ultérieurement. Ne concerne pas les suspensions.
+      severities:
+        silence: Rendre muet
+        suspend: Suspendre
       severity: Séverité
+      show:
+        affected_accounts:
+          one: Un compte affecté dans la base de données
+          other: "%{count} comptes affectés dans la base de données"
+        retroactive:
+          silence: Annuler le silence sur tous les comptes existants pour ce domaine
+          suspend: Annuler la suspension sur tous les comptes existants pour ce domaine
+        title: Annuler le blocage de domaine pour %{domain}
+        undo: Annuler
       title: Blocage de domaines
+      undo: Annuler
     pubsubhubbub:
       callback_url: URL de rappel
       confirmed: Confirmé
@@ -192,6 +210,7 @@ fr:
     blocks: Vous bloquez
     csv: CSV
     follows: Vous suivez
+    mutes: Vous faites taire
     storage: Médias stockés
   generic:
     changes_saved_msg: Les modifications ont été enregistrées avec succès !
@@ -206,8 +225,13 @@ fr:
     types:
       blocking: Liste d'utilisateurs⋅trices bloqué⋅es
       following: Liste d'utilisateurs⋅trices suivi⋅es
+      muting: Liste d'utilisateurs⋅trices que vous faites taire
     upload: Importer
   landing_strip_html: <strong>%{name}</strong> utilise <strong>%{domain}</strong>. Vous pouvez le/la suivre et interagir si vous possédez un compte quelque part dans le "fediverse". Si ce n'est pas le cas, vous pouvez <a href="%{sign_up_path}">en créer un ici</a>.
+  media_attachments:
+    validations:
+      images_and_video: Impossible de joindre une vidéo à un statuts contenant déjà des images
+      too_many: Impossible de joindre plus de 4 fichiers
   notification_mailer:
     digest:
       body: 'Voici ce que vous avez raté sur ${instance} depuis votre dernière visite (%{}) :'
@@ -241,24 +265,6 @@ 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
@@ -284,12 +290,19 @@ fr:
     formats:
       default: "%d %b %Y, %H:%M"
   two_factor_auth:
+    code_hint: Entrez le code généré par votre application pour confirmer
     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
     enable: Activer
+    enabled_success: Identification à deux facteurs activée avec succès
+    generate_recovery_codes: Générer les codes de récupération
     instructions_html: "<strong>Scannez ce QR code grâce à Google Authenticator, Authy ou une application similaire sur votre téléphone</strong>. Désormais, cette application générera des jetons que vous devrez saisir à chaque connexion."
-    plaintext_secret_html: 'Code secret en clair : <samp>%{secret}</samp>'
-    warning: Si vous ne pouvez pas configurer une application d'authentification maintenant, vous devriez cliquer sur "Désactiver" pour ne pas bloquer l'accès à votre compte.
+    lost_recovery_codes: Les codes de récupération vous permettent de retrouver les accès à votre comptre si vous perdez votre téléphone. Si vous perdez vos codes de récupération, vous pouvez les générer à nouveau ici. Vos anciens codes de récupération seront invalidés.
+    manual_instructions: "Si vous ne pouvez pas scanner ce QR code et devez l'entrer manuellement, voici le secret en clair :"
+    recovery_codes_regenerated: Codes de récupération régénérés avec succès
+    recovery_instructions: Si vous perdez l'accès à votre téléphone, vous pouvez utiliser un des code de récupération ci-dessous pour récupérer l'accès à votre compte. Conservez les codes de récupération en toute sécurité, par exemple, en les imprimant et en les stockant avec vos autres documents importants.
+    setup: Installer
+    wrong_code: Les codes entrés sont incorrects ! L'heure du serveur et celle de votre appareil sont-elles correctes ?
   users:
     invalid_email: L'adresse courriel est invalide
     invalid_otp_token: Le code d'authentification à deux facteurs est invalide
diff --git a/config/locales/hr.yml b/config/locales/hr.yml
index f6e6ed446..fed8ea9e7 100644
--- a/config/locales/hr.yml
+++ b/config/locales/hr.yml
@@ -156,8 +156,6 @@ hr:
     disable: Onemogući
     enable: Omogući
     instructions_html: "<strong>Skeniraj ovaj QR kod into Google Authenticator or a similiar app on your phone</strong>. Od sada, ta aplikacija će generirati tokene koje ćeš unijeti pri prijavljivanju."
-    plaintext_secret_html: 'Plain-text secret: <samp>%{secret}</samp>'
-    warning: Ako trenuno ne možeš konfigurirati authenticator app, trebaš kliknuti "onemogući" ili se nećeš moći prijaviti.
   users:
     invalid_email: E-mail adresa nije valjana
     invalid_otp_token: Nevaljani dvo-faktorski kod
diff --git a/config/locales/it.yml b/config/locales/it.yml
index 453de87a5..0ace8a76a 100644
--- a/config/locales/it.yml
+++ b/config/locales/it.yml
@@ -165,7 +165,6 @@ it:
     instructions_html: "<strong>Scannerizza questo QR code con Google Authenticator o un'app TOTP simile sul tuo telefono</strong>. Da ora in poi, quell'applicazione genererà codici da inserire necessariamente per eseguire l'accesso."
     manual_instructions: 'Se non puoi scannerizzare il QR code e hai bisogno di inserirlo manualmente, questo è il codice segreto in chiaro:'
     setup: Configura
-    warning: Se non puoi convalidare immediatamente la tua app di autenticazione, dovresti selezionare "disabilita" o non sarai più in grado di eseguire l'accesso.
     wrong_code: Il codice inserito non è corretto! Assicurati che l'orario del server e l'orario del telefono siano corretti.
   users:
     invalid_email: L'indirizzo e-mail inserito non è valido
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index 5483e63b5..96fc514da 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -80,7 +80,7 @@ ja:
       undo_suspension: 停止から戻す
       username: ユーザー名
       web: Web
-    domain_block:
+    domain_blocks:
       add_new: 新規追加
       created_msg: ドメインブロック処理を完了しました
       destroyed_msg: ドメインブロックを外しました
@@ -94,7 +94,7 @@ ja:
           suspend: 停止
         title: 新規ドメインブロック
       reject_media: メディアファイルを拒否
-      reject_media_hint: ローカルに保村されたメディアファイルを削除し、今後のダウンロードを拒否します。停止とは無関係です。
+      reject_media_hint: ローカルに保存されたメディアファイルを削除し、今後のダウンロードを拒否します。停止とは無関係です。
       severities:
         silence: サイレンス
         suspend: 停止
@@ -258,24 +258,6 @@ 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: 戻る
@@ -290,9 +272,9 @@ ja:
     over_character_limit: 上限は %{max}文字までです
     show_more: もっと見る
     visibilities:
-      private: Private - フォロワーだけに見せる
-      public: Public - 全体に公開する
-      unlisted: Unlisted - トゥートは公開するが、公開タイムラインには表示しない
+      private: 非公開 - フォロワーだけに公開
+      public: 公開 - 公開タイムラインに投稿する
+      unlisted: 未収載 - トゥートは公開するが、公開タイムラインには表示しない
   stream_entries:
     click_to_show: クリックして表示
     reblogged: ブーストされました
@@ -306,15 +288,13 @@ ja:
     disable: 無効
     enable: 有効
     enabled_success: 二段階認証が有効になりました
-    generate_recovery_codes: 復元コードを生成
+    generate_recovery_codes: リカバリーコードを生成
     instructions_html: "<strong>Google Authenticatorか、もしくはほかのTOTPアプリでこのQRコードをスキャンしてください。</strong>これ以降、ログインするときはそのアプリで生成されるコードが必要になります。"
-    lost_recovery_codes: リカバリコードを使用すると携帯電話を紛失した場合でもアカウントにアクセスできるようになります。 リカバリーコードを紛失した場合もここで再生成することができますが、古いリカバリコードは無効になります。
+    lost_recovery_codes: リカバリーコードを使用すると携帯電話を紛失した場合でもアカウントにアクセスできるようになります。 リカバリーコードを紛失した場合もここで再生成することができますが、古いリカバリーコードは無効になります。
     manual_instructions: 'QRコードがスキャンできず、手動での登録を希望の場合はこのシークレットコードを利用してください。:'
-    recovery_codes: リカバリーコード
     recovery_codes_regenerated: リカバリーコードが再生成されました。
-    recovery_instructions: 携帯電話を紛失した場合、以下の内どれかのリカバリコードを使用してアカウントへアクセスすることができます。 リカバリコードは印刷して安全に保管してください。
+    recovery_instructions: 携帯電話を紛失した場合、以下の内どれかのリカバリーコードを使用してアカウントへアクセスすることができます。 リカバリーコードは印刷して安全に保管してください。
     setup: 初期設定
-    warning: 現在認証アプリを設定できない場合、無効に設定して、有効にしないでください。
     wrong_code: コードが間違っています。サーバー上の時間とデバイス上の時間が一致していることを確認してください。
   users:
     invalid_email: メールアドレスが無効です
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index 0af0a99e4..8471743a5 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -1,34 +1,34 @@
 ---
 nl:
   about:
-    about_mastodon: Mastodon is een <em>vrij, gratis en open-source</em> sociaal netwerk. Een <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_mastodon: Mastodon is een <em>vrij, gratis en open-source</em> sociaal netwerk. Een <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 elke andere server 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: 'Zakelijk e-mailadres:'
+    business_email: 'E-mailadres:'
     closed_registrations: Registreren 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
+      api: Open API voor apps en diensten
+      blocks: Uitgebreide blokkeer- en negeerhulpmiddelen
       characters: 500 tekens per bericht
       chronology: Tijdlijnen zijn chronologisch
-      ethics: 'Ethisch design: geen ads, geen spionage'
+      ethics: 'Ethisch design: geen advertenties, geen spionage'
       gifv: GIFV-sets en korte video's
-      privacy: Granulaire privacyinstellingen per bericht
+      privacy: Nauwkeurige privacyinstellingen per toot (bericht)
       public: Openbare tijdlijnen
     features_headline: Wat maakt Mastodon anders
     get_started: Beginnen
     links: Links
     other_instances: Andere servers
-    source_code: Source code
-    status_count_after: statussen
-    status_count_before: Wie schreef
+    source_code: Broncode
+    status_count_after: toots
+    status_count_before: Zij schreven
     terms: Voorwaarden
     user_count_after: gebruikers
-    user_count_before: Thuis naar
+    user_count_before: Thuisbasis van
   accounts:
     follow: Volgen
     followers: Volgers
@@ -37,7 +37,7 @@ nl:
     people_followed_by: Mensen die %{name} volgt
     people_who_follow: Mensen die %{name} volgen
     posts: Berichten
-    remote_follow: Externe volg
+    remote_follow: Extern volgen
     unfollow: Ontvolgen
   application_mailer:
     settings: 'E-mailvoorkeuren wijzigen: %{link}'
@@ -58,7 +58,7 @@ nl:
   authorize_follow:
     error: Helaas, er is een fout opgetreden bij het opzoeken van de externe account
     follow: Volgen
-    prompt_html: 'Je (<strong>%{self}</strong>) hebt volgen aangevraagd:'
+    prompt_html: 'Je (<strong>%{self}</strong>) hebt toestemming gevraagd om iemand te mogen volgen:'
     title: Volg %{acct}
   datetime:
     distance_in_words:
@@ -66,84 +66,86 @@ nl:
       about_x_months: "%{count}ma"
       about_x_years: "%{count}j"
       almost_x_years: "%{count}j"
-      half_a_minute: Net
+      half_a_minute: Zojuist
       less_than_x_minutes: "%{count}m"
-      less_than_x_seconds: Net
+      less_than_x_seconds: Zojuist
       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
+    blocks: Jij blokkeert
     csv: CSV
-    follows: Je volgt
+    follows: Jij volgt
+    mutes: Jij negeert
     storage: Mediaopslag
   generic:
     changes_saved_msg: Wijzigingen succesvol opgeslagen!
     powered_by: mogelijk gemaakt door %{link}
-    save_changes: Wijziginen opslaan
+    save_changes: Wijzigingen 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üpload en worden binnenkort verwerkt
+    preface: Je kunt bepaalde gegevens, zoals de mensen die jij volgt of hebt geblokkeerd, naar jouw account op deze server importeren. Je moet deze gegevens wel eerst op de oorspronkelijke server exporteren.
+    success: Jouw gegevens zijn succesvol geüpload en worden binnenkort verwerkt
     types:
       blocking: Blokkeerlijst
       following: Volglijst
+      muting: Negeerlijst
     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 je dat niet hebt, kun je je <a href="%{sign_up_path}">hier aanmelden</a>.
+  landing_strip_html: <strong>%{name}</strong> is een gebruiker op <strong>%{domain}</strong>. Je kunt deze volgen en ermee communiceren als je ergens in deze fediverse een account hebt. Als je 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:"
+      body: 'Hier is een korte samenvatting van wat je hebt gemist op %{instance} sinds jouw laatste bezoek op %{since}:'
+      mention: "%{name} vermeldde jou in:"
       new_followers_summary:
-        one: Je hebt een nieuwe volger! Hoera!
-        other: Je hebt %{count} nieuwe volgers! Prachtig!
+        one: Jij hebt een nieuwe volger! Hoera!
+        other: Jij hebt %{count} nieuwe volgers! Prachtig!
       subject:
-        one: "1 nieuwe melding sinds je laatste bezoek \U0001F418"
-        other: "%{count} nieuwe meldingen sinds je laatste bezoek \U0001F418"
+        one: "1 nieuwe melding sinds jouw laatste bezoek \U0001F418"
+        other: "%{count} nieuwe meldingen sinds jouw laatste bezoek \U0001F418"
     favourite:
-      body: 'Je status werd door  %{name} als favoriet gemarkeerd:'
-      subject: "%{name} markeerde je status als favoriet"
+      body: 'Jouw toot werd door %{name} als favoriet gemarkeerd:'
+      subject: "%{name} markeerde jouw toot als favoriet"
     follow:
-      body: "%{name} volgt je nu!"
-      subject: "%{name} volgt je nu"
+      body: "%{name} volgt jou nu!"
+      subject: "%{name} volgt jou nu"
     follow_request:
-      body: "%{name} wil je graag volgen"
+      body: "%{name} wil jou graag volgen"
       subject: 'Volgen in afwachting: %{name}'
     mention:
-      body: 'Je bent door %{name} vermeld in:'
-      subject: Je bent vermeld door %{name}
+      body: 'Jij bent door %{name} vermeld in:'
+      subject: Jij bent vermeld door %{name}
     reblog:
-      body: 'Je status werd geboost door %{name}:'
-      subject: "%{name} booste je status"
+      body: 'Jouw toot werd door %{name} geboost:'
+      subject: "%{name} booste jouw toot"
   pagination:
     next: Volgende
     prev: Vorige
   remote_follow:
-    acct: Geef je gebruikersnaam@domein op waarvandaan je wilt volgen
-    missing_resource: Kon vereiste doorverwijzings-URL voor je account niet vinden
+    acct: Geef jouw account@domein.tld op waarvandaan je wilt volgen
+    missing_resource: Kon vereiste doorverwijzings-URL voor jouw account niet vinden
     proceed: Ga door om te volgen
-    prompt: 'Je gaat volgen:'
+    prompt: 'Jij gaat volgen:'
   settings:
     authorized_apps: Geautoriseerde
     back: Terug naar Mastodon
     edit_profile: Profiel bewerken
-    export: Gegevensexport
+    export: Export
     import: Import
     preferences: Voorkeuren
     settings: Instellingen
-    two_factor_auth: Twee-factorauthenticatie
+    two_factor_auth: Tweestapsverificatie
   statuses:
     open_in_web: Openen in web
-    over_character_limit: Tekenlimiet van %{max} overschreden
+    over_character_limit: Limiet van %{max} tekens overschreden
     show_more: Toon meer
     visibilities:
       private: Alleen aan volgers tonen
       public: Openbaar
-      unlisted: Openbaar, maar niet tonen op openbare tijdlijn
+      unlisted: Openbaar, maar niet op de openbare tijdlijn tonen
   stream_entries:
     click_to_show: Klik om te tonen
     reblogged: boostte
@@ -152,12 +154,59 @@ nl:
     formats:
       default: "%b %d, %J, %U:%M"
   two_factor_auth:
-    description_html: Als je <strong>twee-factorauthenticatie</strong> instelt, kun je alleen aanmelden als je je mobiele telefoon bij je hebt, waarmee je de in te voeren tokens genereert.
+    description_html: Na het instellen van <strong>tweestapsverificatie</strong>, kun jij je alleen aanmelden als je jouw mobiele telefoon bij je hebt. Hiermee genereer je namelijk de in te voeren aanmeldcode.
     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 aanmelden 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 aanmelden.
+    instructions_html: "<strong>Scan deze QR-code in Google Authenticator of een soortgelijke app op jouw mobiele telefoon</strong>. Van nu af aan genereert deze app aanmeldcodes die je bij het aanmelden moet invoeren."
   users:
-    invalid_email: Het e-mailadres is ongeldig
-    invalid_otp_token: Ongeldige twee-factorcode
+    invalid_email: E-mailadres is ongeldig
+    invalid_otp_token: Ongeldige tweestaps-aanmeldcode
+  errors:
+      404: De pagina waarnaar jij op zoek bent bestaat niet.
+      410: De pagina waarnaar jij op zoek bent bestaat niet meer.
+      422:
+        title: Veiligheidsverificatie mislukt
+        content: Veiligheidsverificatie mislukt. Blokkeer je toevallig cookies?
+  admin.reports:
+    title: Gerapporteerde toots
+    status: Toot
+    unresolved: Onopgelost
+    resolved: Opgelost
+    id: ID
+    target: Target
+    reported_by: Gerapporteerd door
+    comment:
+      label: Opmerking
+      none: Geen
+    view: Weergeven
+    report: 'Gerapporteerde toot #%{id}'
+    delete: Verwijderen
+    reported_account: Gerapporteerde account
+    reported_by: Gerapporteerd door
+    silence_account: Account stilzwijgen
+    suspend_account: Account blokkeren
+    mark_as_resolved: Markeer als opgelost
+  admin:
+    settings:
+      title: Server-instellingen
+      setting: Instelling
+      click_to_edit: Klik om te bewerken
+      contact_information:
+        label: Contactgegevens
+        username: Vul een gebruikersnaam in
+        email: Vul een openbaar gebruikt e-mailadres in
+      site_title: Naam Mastodon-server
+      site_description:
+        title: Omschrijving Mastodon-server
+        desc_html: "Dit wordt als een alinea op de voorpagina getoond en gebruikt als meta-tag in de paginabron.<br>Je kan HTML gebruiken, zoals <code>&lt;a&gt;</code> en <code>&lt;em&gt;</code>."
+      site_description_extended:
+        title: Uitgebreide omschrijving Mastodon-server
+        desc_html: "Wordt op de uitgebreide informatiepagina weergegeven<br>Je kan ook hier HTML gebruiken"
+      registrations:
+        open:
+          title: Open registratie
+          enabled: Ingeschakeld
+          disabled: Uitgeschakeld
+        closed_message:
+          title: Bericht wanneer registratie is uitgeschakeld
+          desc_html: "Wordt op de voorpagina weergegeven wanneer registratie van nieuwe accounts is uitgeschakeld<br>En ook hier kan je HTML gebruiken"
diff --git a/config/locales/no.yml b/config/locales/no.yml
index d382db926..41a55c6e6 100644
--- a/config/locales/no.yml
+++ b/config/locales/no.yml
@@ -155,8 +155,6 @@
     disable: Skru av
     enable: Skru på
     instructions_html: "<strong>Scan denne QR-koden i Google Authenticator eller en lignende app på telefonen din</strong>. Fra nå av vil denne applikasjonen generere koder for deg som skal brukes under innlogging"
-    plaintext_secret_html: 'Plain-text secret: <samp>%{secret}</samp>'
-    warning: Hvis du ikke kan konfigurere en autentiseringsapp nå bør du trykke "Skru av"; ellers vil du ikke kunne logge inn.
   users:
     invalid_email: E-postaddressen er ugyldig
     invalid_otp_token: Ugyldig tofaktorkode
diff --git a/config/locales/pl.yml b/config/locales/pl.yml
index 3c4c98bc8..f213f3249 100644
--- a/config/locales/pl.yml
+++ b/config/locales/pl.yml
@@ -155,10 +155,6 @@ pl:
     disable: Wyłącz
     enable: Włącz
     instructions_html: "<strong>Zeskanuj ten kod QR na swoim urządzeniu za pomocą Google Authenticator, FreeOTP lub podobnej aplikacji</strong>. Od teraz będzie ona generowała kody wymagane przy logowaniu."
-    plaintext_secret_html: 'Sekret: <samp>%{secret}</samp>'
-    warning: Jeśli nie jesteś w stanie skonfigurować aplikacji uwierzytelniania dwustopniowego w tej chwili, wyłącz uwierzytelnianie dwustopniowe. W przeciwnym wypadku nie będziesz się w stanie zalogować!
   users:
     invalid_email: Adres e-mail jest niepoprawny
     invalid_otp_token: Kod uwierzytelniający jest niepoprawny
-  will_paginate:
-    page_gap: "&hellip;"
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
new file mode 100644
index 000000000..269a1a99b
--- /dev/null
+++ b/config/locales/pt-BR.yml
@@ -0,0 +1,198 @@
+---
+pt-BR:
+  about:
+    about_mastodon: Mastodon é um servidor de rede social <em>grátis, e open-source</em>. Uma alternativa <em>descentralizada</em> ás plataformas comerciais, que evita o risco de uma única empresa monopolizar a sua comunicação. Escolha um servidor que você confie &mdash; qualquer um que escolher, você poderá interagir com todo o resto. Qualquer um pode ter uma instância Mastodon e assim participar na <em>rede social federada</em> sem problemas.
+    about_this: Sobre essa instância
+    apps: Aplicações
+    business_email: 'Email comercial:'
+    closed_registrations: Registros estão fechadas para essa instância.
+    contact: Contato
+    description_headline: O que é %{domain}?
+    domain_count_after: outras instâncias
+    domain_count_before: Conectado a
+    features:
+      api: Aberto para API de aplicações e serviços
+      blocks: Bloqueos e ferramentas para mudar
+      characters: 500 caracteres por post
+      chronology: Timeline são cronologicas
+      ethics: 'Design ético: sem propaganda, sem tracking'
+      gifv: GIFV e vídeos curtos
+      privacy: Granular, privacidade setada por post
+      public: Timelines públicas
+    features_headline: O que torna Mastodon diferente
+    get_started: Comece aqui
+    links: Links
+    source_code: Source code
+    other_instances: Outras instâncias
+    terms: Termos
+    user_count_after: usuários
+    user_count_before: Lugar de
+  accounts:
+    follow: Seguir
+    followers: Seguidores
+    following: Seguindo
+    nothing_here: Não há nada aqui!
+    people_followed_by: Pessoas seguidas por %{name}
+    people_who_follow: Pessoas que seguem %{name}
+    posts: Posts
+    remote_follow: Acesso remoto
+    unfollow: Unfollow
+  admin:
+    accounts:
+      are_you_sure: Você tem certeza?
+      display_name: Nome mostrado
+      domain: Domain
+      edit: Editar
+      email: E-mail
+      feed_url: URL do Feed
+      followers: Seguidores
+      follows: Seguindo
+      location:
+        all: Todos
+        local: Local
+        remote: Remoto
+        title: Local
+      media_attachments: Mídia anexadas
+      moderation:
+        all: Todos
+        silenced: Silenciado
+        suspended: Supenso
+        title: Moderação
+      most_recent_activity: Atividade mais recente
+      most_recent_ip: IP mais recente
+      not_subscribed: Não inscrito
+      order:
+        alphabetic: Alfabética
+        most_recent: Mais recente
+        title: Ordem
+      perform_full_suspension: Fazer suspensão completa
+      profile_url: URL do perfil
+      public: Público
+      push_subscription_expires: PuSH subscription expires
+      salmon_url: Salmon URL
+      silence: Silêncio
+      statuses: Status
+      title: Contas
+      undo_silenced: Desfazer silenciar
+      undo_suspension: Desfazer supensão
+      username: Usuário
+      web: Web
+    domain_blocks:
+      add_new: Adicionar nova
+      created_msg: Bloqueio do domínio está sendo processado
+      destroyed_msg: Bloqueio de domínio está sendo desfeito
+      domain: Domínio
+      new:
+        create: Criar bloqueio
+        hint: O bloqueio de dominio não vai previnir a criação de entradas no banco de dados, mas irá, retroativamente e automaticamente aplicar métodos de moderação específica nessas contas.
+        severity:
+          desc_html: "<strong>Silenciar</strong> irá fazer com que os posts dessas contas sejam invisíveis para todos que não a seguem. <strong>Supender</strong> irá remover todos o conteúdo das contas, mídia e dados do perfil."
+          silence: Silenciar
+          suspend: Suspender
+        title: Novo bloqueio de domínio
+      reject_media: Rejeitar arquivos de mídia
+      reject_media_hint: Remove localmente arquivos armazenados e rejeita fazer o download de novos no futuro. Irrelevante em suspensões.
+      severities:
+        silence: Silenciar
+        suspend: Suspender
+      severity: Severidade
+      show:
+        affected_accounts:
+          one: Uma conta no banco de dados afetada
+          other: "%{count} contas no banco de dados afetada"
+        retroactive:
+          silence: Desilenciar todas as contas existentes nesse domínio
+          suspend: Desuspender todas as contas existentes nesse domínio
+        title: Desfazer bloqueio de domínio para %{domain}
+      title: Bloqueio de domínio
+      undo: Desfazer
+    pubsubhubbub:
+      callback_url: URL de Callback
+      confirmed: Confirmado
+      expires_in: Expira em
+      last_delivery: Última entrega
+      title: PubSubHubbub
+      topic: Tópico
+    reports:
+      comment:
+        label: Commentário
+        none: None
+      delete: Deletar
+      id: ID
+      mark_as_resolved: Marque como resolvido
+      report: 'Report #%{id}'
+      reported_account: Conta reportada
+      reported_by: Reportado por
+      resolved: Resolvido
+      silence_account: Conta silenciada
+      status: Status
+      suspend_account: Conta suspensa
+      target: Target
+      title: Reports
+      unresolved: Unresolved
+      view: View
+    settings:
+      click_to_edit: Clique para editar
+      contact_information:
+        email: Entre um endereço de email público
+        label: Informação de contato
+        username: Entre com usuário
+      registrations:
+        closed_message:
+          desc_html: Mostrar na página inicial quando registros estão fecados<br/>Você pode usar tags HTML
+          title: Mensagem de registro fechados
+        open:
+          disabled: Desabilitado
+          enabled: Habilitado
+          title: Aberto para registro
+      setting: Preferências
+      site_description:
+        desc_html: Mostrar como parágrafo e usado como meta tag.<br/>Vôce pode usar tags HTML, em particular <code>&lt;a&gt;</code> e <code>&lt;em&gt;</code>.
+        title: Descrição do site
+      site_description_extended:
+        desc_html: Mostrar na página de informação extendiada <br/>Você pode usar tags HTML
+        title: Descrição extendida do site
+      site_title: Título do site
+      title: Preferências do site
+    title: Administração
+  application_mailer:
+    settings: 'Mudar preferências de email: %{link}'
+    signature: notificações Mastodon de %{instance}
+    view: 'View:'
+  applications:
+    invalid_url: URL dada é inválida
+  auth:
+    change_password: Mudar senha
+    didnt_get_confirmation: Não recebeu instruções de confirmação?
+    forgot_password: Esqueceu a senha?
+    login: Entrar
+    register: Registar
+    resend_confirmation: Reenviar instruções de confirmação
+    reset_password: Resetar senha
+    set_new_password: Editar password
+  generic:
+    changes_saved_msg: Mudanças guardadas!
+    powered_by: powered by %{link}
+    save_changes: Guardar alterações
+    validation_errors:
+      one: Algo não está correto. Por favor reveja o erro abaixo
+      other: Algo não está correto. Por favor reveja os %{count} erros abaixo
+  notification_mailer:
+    favourite:
+      body: 'O seu post foi favoritado por %{name}:'
+      subject: "%{name} favouritou o seu post"
+    follow:
+      body: "%{name} seguiu você!"
+      subject: "%{name} segue você"
+    mention:
+      body: 'Você foi mencionado por %{name} em:'
+      subject: Foi mencionado por %{name}
+    reblog:
+      body: 'O seu post foi reblogado por %{name}:'
+      subject: "%{name} reblogou o seu post"
+  pagination:
+    next: Next
+    prev: Prev
+  settings:
+    edit_profile: Editar perfil
+    preferences: Preferências
diff --git a/config/locales/pt.yml b/config/locales/pt.yml
index 703c8467f..735bc14ba 100644
--- a/config/locales/pt.yml
+++ b/config/locales/pt.yml
@@ -1,65 +1,66 @@
 ---
 pt:
   about:
-    about_mastodon: Mastodon é um servidor de rede social <em>grátis, e open-source</em>. Uma alternativa <em>descentralizada</em> ás plataformas comerciais, que evita o risco de uma única empresa monopolizar a sua comunicação. Qualquer um pode ter uma instância Mastodon e assim participar na <em>rede social federada</em> sem problemas.
-    about_this: Sobre essa instância
-    get_started: Como começar
+    about_mastodon: Mastodon é uma rede social <em>grátis e em código aberto</em>. Uma alternativa <em>descentralizada</em> às plataformas comerciais, que evita o risco de uma única empresa monopolizar a tua comunicação. Escolhe um servidor que confies, não importa qual, pois vais poder comunicar com todos os outros. Qualquer um pode criar uma instância Mastodon e participar nesta <em>rede social</em>.
+    about_this: Sobre esta instância
     apps: Aplicações
     business_email: 'Email comercial:'
-    closed_registrations: Registros estão fechadas para essa instância.
-    contact: Contato
-    description_headline: O que é %{domain}?
+    closed_registrations: Novos registos estão fechados nesta instância.
+    contact: Contacto
+    description_headline: O que é o %{domain}?
     domain_count_after: outras instâncias
-    domain_count_before: Conectado a
+    domain_count_before: Ligado a
     features:
-      api: Aberto para API de aplicações e serviços
-      blocks: Bloqueos e ferramentas para mudar
+      api: API aberta para aplicações e serviços
+      blocks: Ferramentas para silenciar e bloquear
       characters: 500 caracteres por post
-      chronology: Timeline são cronologicas
-      ethics: 'Design ético: sem propaganda, sem tracking'
-      gifv: GIFV e vídeos curtos
-      privacy: Granular, privacidade setada por post
+      chronology: Timelines cronológicas
+      ethics: 'Design ético: sem públicidade ou tracking'
+      gifv: GIFV e pequenos vídeos
+      privacy: Privacidade granular por post
       public: Timelines públicas
     features_headline: O que torna Mastodon diferente
-    get_started: Comece aqui
+    get_started: Começar
     links: Links
-    source_code: Source code
     other_instances: Outras instâncias
+    source_code: Código fonte
+    status_count_after: publicações
+    status_count_before: Que fizeram
     terms: Termos
-    user_count_after: usuários
-    user_count_before: Lugar de
+    user_count_after: utilizadores
+    user_count_before: Casa para
   accounts:
     follow: Seguir
     followers: Seguidores
-    following: Seguindo
+    following: A seguir
     nothing_here: Não há nada aqui!
     people_followed_by: Pessoas seguidas por %{name}
     people_who_follow: Pessoas que seguem %{name}
     posts: Posts
-    remote_follow: Acesso remoto
-    unfollow: Unfollow
+    remote_follow: Seguir remotamente
+    unfollow: Deixar de seguir
   admin:
     accounts:
-      are_you_sure: Você tem certeza?
-      display_name: Nome mostrado
-      domain: Domain
+      are_you_sure: Tens a certeza?
+      display_name: Nome a mostrar
+      domain: Domínio
       edit: Editar
       email: E-mail
       feed_url: URL do Feed
       followers: Seguidores
-      follows: Seguindo
+      follows: A seguir
       location:
         all: Todos
         local: Local
         remote: Remoto
         title: Local
-      media_attachments: Mídia anexadas
+      media_attachments: Media anexa
       moderation:
         all: Todos
-        silenced: Silenciado
-        suspended: Supenso
+        silenced: Silenciados
+        suspended: Supensos
         title: Moderação
-      most_recent_activity: Atividade mais recente
+      most_recent_activity: Actividade mais recente
       most_recent_ip: IP mais recente
       not_subscribed: Não inscrito
       order:
@@ -70,6 +71,7 @@ pt:
       profile_url: URL do perfil
       public: Público
       push_subscription_expires: PuSH subscription expires
+      reset_password: Reset palavra-passe
       salmon_url: Salmon URL
       silence: Silêncio
       statuses: Status
@@ -78,45 +80,123 @@ pt:
       undo_suspension: Desfazer supensão
       username: Usuário
       web: Web
-    domain_block:
-      add_new: Adicionar nova
-      created_msg: Bloqueio do domínio está sendo processado
-      destroyed_msg: Bloqueio de domínio está sendo desfeito
+    domain_blocks:
+      add_new: Adicionar novo
+      created_msg: Bloqueio do domínio está a ser processado
+      destroyed_msg: Bloqueio de domínio está a ser removido
       domain: Domínio
+      new:
+        create: Criar bloqueio
+        hint: O bloqueio de dominio não vai previnir a criação de entradas na base de dados, mas irá retroativamente e automaticamente aplicar métodos de moderação específica nessas contas.
+        severity:
+          desc_html: "<strong>Silenciar</strong> irá fazer com que os posts dessas contas sejam invisíveis para todos que não a seguem. <strong>Supender</strong> irá eliminar todo o conteúdo guardado dessa conta, mídia e informação de perfil."
+          silence: Silenciar
+          suspend: Suspender
+        title: Novo bloqueio de domínio
+      reject_media: Rejeitar ficheiros de mídia
+      reject_media_hint: Remove localmente arquivos armazenados e rejeita fazer guardar novos no futuro. Irrelevante na suspensão.
+      severities:
+        silence: Silenciar
+        suspend: Suspender
+      severity: Severidade
+      show:
+        affected_accounts:
+          one: Uma conta na base de dados afectada
+          other: "%{count} contas na base de dados afectadas"
+        retroactive:
+          silence: Não silenciar todas as contas existentes nesse domínio
+          suspend: Não suspender todas as contas existentes nesse domínio
+        title: Remover o bloqueio de domínio de %{domain}
+        undo: Anular
+      title: Bloqueio de domínio
+      undo: Anular
+    pubsubhubbub:
+      callback_url: URL de Callback
+      confirmed: Confirmado
+      expires_in: Expira em
+      last_delivery: Última entrega
+      title: PubSubHubbub
+      topic: Tópico
+    reports:
+      comment:
+        label: Comentário
+        none: Nenhum
+      delete: Eliminar
+      id: ID
+      mark_as_resolved: Marcar como resolvido
+      report: 'Denúncia #%{id}'
+      reported_account: Conta denunciada
+      reported_by: Denúnciada por
+      resolved: Resolvido
+      silence_account: Conta silenciada
+      status: Estado
+      suspend_account: Conta suspensa
+      target: Target
+      title: Denúncias
+      unresolved: Por resolver
+      view: Ver
+    settings:
+      click_to_edit: Clique para editar
+      contact_information:
+        email: Inserir um endereço de email para tornar público
+        label: Informação de contacto
+        username: Insira um nome de utilizador
+      registrations:
+        closed_message:
+          desc_html: Mostrar na página inicial quando registos estão encerrados<br/>Podes usar tags HTML
+          title: Mensagem de registos encerrados
+        open:
+          disabled: Desabilitado
+          enabled: Habilitado
+          title: Aceitar novos registos
+      setting: Preferências
+      site_description:
+        desc_html: Mostrar como parágrafo na página inicial e usado como meta tag.<br/>Podes usar tags HTML, em particular <code>&lt;a&gt;</code> e <code>&lt;em&gt;</code>.
+        title: Descrição do site
+      site_description_extended:
+        desc_html: Mostrar na página de mais informações<br/>Podes usar tags HTML
+        title: Página de mais informações
+      site_title: Título do site
+      title: Preferências do site
+    title: Administração
   application_mailer:
-    signature: notificações Mastodon de %{instance}
+    settings: 'Alterar preferências de email: %{link}'
+    signature: notificações Mastodon do %{instance}
+    view: 'Ver:'
+  applications:
+    invalid_url: O URL é inválido
   auth:
-    change_password: Mudar senha
-    didnt_get_confirmation: Não recebeu instruções de confirmação?
-    forgot_password: Esqueceu a senha?
+    change_password: Alterar palavra-passe
+    didnt_get_confirmation: Não recebeu o email de confirmação?
+    forgot_password: Esqueceste a palavra-passe?
     login: Entrar
     register: Registar
     resend_confirmation: Reenviar instruções de confirmação
-    reset_password: Resetar senha
-    set_new_password: Editar password
+    reset_password: Criar nova palavra-passe
+    set_new_password: Editar palavra-passe
   generic:
-    changes_saved_msg: Mudanças guardadas!
+    changes_saved_msg: Alteraçes guardadas!
     powered_by: powered by %{link}
     save_changes: Guardar alterações
     validation_errors:
-      one: Algo não está correto. Por favor reveja o erro abaixo
-      other: Algo não está correto. Por favor reveja os %{count} erros abaixo
+      one: Algo não está correcto. Por favor vê o erro abaixo
+      other: Algo não está correto. Por favor vê os %{count} erros abaixo
   notification_mailer:
     favourite:
-      body: 'O seu post foi favoritado por %{name}:'
-      subject: "%{name} favouritou o seu post"
+      body: 'O teu post foi adicionado aos favoritos por %{name}:'
+      subject: "%{name} adicionou o teu post aos favoritos"
     follow:
-      body: "%{name} seguiu você!"
-      subject: "%{name} segue você"
+      body: "%{name} é teu seguidor!"
+      subject: "%{name} começou a seguir-te"
     mention:
-      body: 'Você foi mencionado por %{name} em:'
-      subject: Foi mencionado por %{name}
+      body: 'Foste mencionado por %{name}:'
+      subject: "%{name} mencionou-te"
     reblog:
-      body: 'O seu post foi reblogado por %{name}:'
-      subject: "%{name} reblogou o seu post"
+      body: 'O teu post foi partilhado por %{name}:'
+      subject: "%{name} partilhou o teu post"
   pagination:
-    next: Next
-    prev: Prev
+    next: Seguinte
+    prev: Anterior
   settings:
     edit_profile: Editar perfil
     preferences: Preferências
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
index 4c8cb6a4c..8e6a813bb 100644
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -158,9 +158,7 @@ ru:
     enable: Включить
     instructions_html: "<strong>Отсканируйте этот QR-код с помощью Google Authenticator или другого подобного приложения на Вашем телефоне</strong>. С этого момента приложение будет генерировать токены, которые будет необходимо ввести для входа."
     manual_instructions: 'Если Вы не можете отсканировать QR-код и хотите ввести его вручную, секрет представлен здесь открытым текстом:'
-    plaintext_secret_html: 'Секрет открытым текстом: <samp>%{secret}</samp>'
     setup: Настроить
-    warning: Если сейчас у Вас не получается настроить аутентификатор, нажмите "отключить", иначе Вы не сможете войти!
   users:
     invalid_email: Введенный e-mail неверен
     invalid_otp_token: Введен неверный код
diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml
index 5bc38a87b..c0539fd63 100644
--- a/config/locales/simple_form.nl.yml
+++ b/config/locales/simple_form.nl.yml
@@ -6,39 +6,39 @@ nl:
         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
+        locked: Vereist dat je handmatig volgers moet accepteren en stelt de privacy van toots standaard in op alleen volgers
+        note: Maximaal 160 tekens
       imports:
-        data: CSV file geëxporteerd van een andere Mastodon server
+        data: CSV-bestand dat op een andere Mastodon-server werd geëxporteerd 
     labels:
       defaults:
         avatar: Avatar
-        confirm_new_password: Bevestig nieuw wachtwoord
-        confirm_password: Bevestig wachtwoord
-        current_password: Huidige wachtwoord
+        confirm_new_password: Nieuw wachtwoord bevestigen
+        confirm_password: Wachtwoord bevestigen
+        current_password: Huidig wachtwoord
         data: Gegevens
         display_name: Weergavenaam
         email: E-mailadres
-        header: Kop
+        header: Omslagfoto
         locale: Taal
         locked: Maak account besloten
         new_password: Nieuwe wachtwoord
         note: Bio
-        otp_attempt: Twee-factor code
+        otp_attempt: Tweestaps-aanmeldcode
         password: Wachtwoord
-        setting_default_privacy: Berichten privacy
-        type: Import type
+        setting_default_privacy: Tootprivacy
+        type: Importtype
         username: gebruikersnaam
       interactions:
-        must_be_follower: Blokkeermeldingen van niet-volgers
-        must_be_following: Blokkeer meldingen van mensen die je niet volgt
+        must_be_follower: Blokkeermeldingen van mensen die jou niet volgen
+        must_be_following: Blokkeermeldingen van mensen die jij 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
+        digest: Verstuur periodiek e-mails met een samenvatting
+        favourite: Verstuur een e-mail wanneer iemand jouw toot als favoriet markeert
+        follow: Verstuur een e-mail wanneer iemand jou volgt
+        follow_request: Verstuur een e-mail wanneer iemand jou wilt volgen
+        mention: Verstuur een e-mail wanneer iemand jou vermeld
+        reblog: Verstuur een e-mail wanneer iemand jouw toot heeft geboost
     'no': 'Nee'
     required:
       mark: "*"
diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml
new file mode 100644
index 000000000..28f7eeea8
--- /dev/null
+++ b/config/locales/simple_form.pt-BR.yml
@@ -0,0 +1,30 @@
+---
+pt-BR:
+  simple_form:
+    labels:
+      defaults:
+        avatar: Avatar
+        confirm_new_password: Confirme nova senha
+        confirm_password: Confirme a senha
+        current_password: Senha atual
+        display_name: Nome
+        email: Endereço de email
+        header: Header
+        locale: Linguagem
+        new_password: Nova senha
+        note: Biografia
+        password: Senha
+        username: Usuário
+      interactions:
+        must_be_follower: Bloquear notificações de não-seguidores
+        must_be_following: Bloquear notificações de pessoas que você
+      notification_emails:
+        favourite: Enviar email quando alguém favorita um post seu
+        follow: Enviar email quando alguém seguir você
+        mention: Enviar email quando alguém mencionar você
+        reblog: Enviar email quando alguém reblogar um post seu
+    'no': 'Não'
+    required:
+      mark: "*"
+      text: necessário
+    'yes': 'Sim'
diff --git a/config/locales/simple_form.pt.yml b/config/locales/simple_form.pt.yml
index e8b5e2d7f..ba3326b23 100644
--- a/config/locales/simple_form.pt.yml
+++ b/config/locales/simple_form.pt.yml
@@ -1,28 +1,47 @@
 ---
 pt:
   simple_form:
+    hints:
+      defaults:
+        avatar: PNG, GIF ou JPG. No máximo 2MB. Vai ser reduzido para 120x120px
+        display_name: No máximo 30 caracteres
+        header: PNG, GIF or JPG. No máximo 2MB. Vai ser reduzido para 700x335px
+        locked: Requer que manualmente aproves seguidores e torna o default dos teus posts para privados (apenas seguidores)
+        note: No máximo 160 caracteres
+      imports:
+        data: Ficheiro CSV exportado de outra instância do Mastodon
+      sessions:
+        otp: Insere o código o código de autenticação de dois fatores do teu telefone ou utiliza um código de recuperação de acesso.
     labels:
       defaults:
-        avatar: Avatar
-        confirm_new_password: Confirme nova senha
-        confirm_password: Confirme a senha
-        current_password: Senha atual
+        avatar: Imagem de Perfil
+        confirm_new_password: Confirme nova palavra-passe
+        confirm_password: Confirme a palavra-passe
+        current_password: Palavra-passe actual
+        data: Data
         display_name: Nome
         email: Endereço de email
-        header: Header
-        locale: Linguagem
-        new_password: Nova senha
+        header: Cabeçalho
+        locale: Língua
+        locked: Tornar conta privada
+        new_password: Nova palavra-passe
         note: Biografia
-        password: Senha
-        username: Usuário
+        otp_attempt: Código de autenticação de dois fatores
+        password: Palavra-passe
+        setting_boost_modal: Pedir confirmação antes de partilhar um post
+        setting_default_privacy: Privacidade padrão de posts
+        severity: Severity
+        type: Import type
+        username: Utilizador
       interactions:
         must_be_follower: Bloquear notificações de não-seguidores
-        must_be_following: Bloquear notificações de pessoas que você
+        must_be_following: Bloquear notificações de pessoas que não segues
       notification_emails:
-        favourite: Enviar email quando alguém favorita um post seu
-        follow: Enviar email quando alguém seguir você
-        mention: Enviar email quando alguém mencionar você
-        reblog: Enviar email quando alguém reblogar um post seu
+        digest: Enviar um email da actividade nesta instância
+        favourite: Enviar email quando alguém adiciona um post teu aos favoritos
+        follow: Enviar email quando alguém te segue
+        mention: Enviar email quando alguém te menciona
+        reblog: Enviar email quando alguém partilhar um post teu
     'no': 'Não'
     required:
       mark: "*"
diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml
index 48028d00c..667cfe943 100644
--- a/config/locales/zh-CN.yml
+++ b/config/locales/zh-CN.yml
@@ -145,8 +145,6 @@ zh-CN:
     disable: 禁用
     enable: 启用
     instructions_html: "<strong>使用 Google Authenticator 或类似 APP 扫描二维码</strong>。现在起,APP 将会生成登陆时必须的两步验证码。"
-    plaintext_secret_html: 密钥: <samp>%{secret}</samp>
-    warning: 如果你现在没有 Google Authenticator 或类似授权 APP,你应该先「禁用」本功能,否则你将不能正常登陆。
   users:
     invalid_email: 无效的邮箱
     invalid_otp_token: 无效的两步验证码
diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml
index 595e8ffc1..6fe02376b 100644
--- a/config/locales/zh-HK.yml
+++ b/config/locales/zh-HK.yml
@@ -79,7 +79,7 @@ zh-HK:
       undo_suspension: 解除停權
       username: 用戶名稱
       web: 用戶頁面
-    domain_block:
+    domain_blocks:
       add_new: 新增
       domain: 域名阻隔
       new:
@@ -246,24 +246,6 @@ zh-HK:
     missing_resource: 無法找到你用戶的轉接網址
     proceed: 下一步
     prompt: 你希望關注︰
-  reports:
-    comment:
-      label: 詳細解釋
-      none: 沒有
-    delete: 刪除
-    id: ID
-    mark_as_resolved: 標示為「已處理」
-    report: '舉報 #%{id}'
-    reported_account: 舉報 account
-    reported_by: 舉報者
-    reports: 舉報
-    resolved: 已處埋
-    silence_account: 將用戶靜音
-    status: 狀態
-    suspend_account: 將用戶停權
-    target: 對像
-    unresolved: 未處埋
-    view: 檢視
   settings:
     authorized_apps: 授權應用程式
     back: 回到 Mastodon
@@ -297,10 +279,7 @@ zh-HK:
     instructions_html: "<strong>請用你手機的認證器應用程式(如 Google Authenticator、Authy),掃描這裏的QR 圖形碼</strong>。在雙重認證啟用後,你登入時將須要使用此應用程式產生的認證碼。"
     manual_instructions: 如果你無法掃描 QR 圖形碼,請手動輸入這個文字密碼︰
     setup: 設定
-    warning: 如果你現在無法正確設定你的應用程式,請即「停用」雙重認證,否則日後可能無法登入本站。
     wrong_code: 你輸入的認證碼並不正確!可能伺服器時間和你手機不一致,請檢查你手機的時鐘,或與本站管理員聯絡。
   users:
     invalid_email: 電郵地址格式不正確
     invalid_otp_token: 雙重認證確認碼不正確
-  will_paginate:
-    page_gap: "&hellip;"
diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml
index ba5e8d6f5..c29f2e231 100644
--- a/config/locales/zh-TW.yml
+++ b/config/locales/zh-TW.yml
@@ -79,7 +79,7 @@ zh-TW:
       undo_suspension: 取消停權
       username: 使用者名稱
       web: Web
-    domain_block:
+    domain_blocks:
       add_new: 新增
       domain: 網域
       new:
@@ -240,24 +240,6 @@ zh-TW:
     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: 回到 Mastodon
@@ -291,10 +273,7 @@ zh-TW:
     instructions_html: <strong>請用您手機的認證器應用程式(如 Google Authenticator、Authy),掃描這裡的 QR 圖形碼</strong>。在雙因子認證啟用後,您登入時將須要使用此應用程式產生的認證碼。
     manual_instructions: 如果您無法掃描 QR 圖形碼,請手動輸入︰
     setup: 設定
-    warning: 如果您現在無法正確設定您的應用程式,請立刻「停用」雙因子認證,否則日後可能無法登入本站。
     wrong_code: 您輸入的認證碼並不正確!可能伺服器時間和您手機不一致,請檢查您手機的時間,或與本站管理員聯絡。
   users:
     invalid_email: 信箱地址格式不正確
     invalid_otp_token: 雙因子認證碼不正確
-  will_paginate:
-    page_gap: "&hellip;"