about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build-image.yml2
-rw-r--r--.haml-lint_todo.yml32
-rw-r--r--.rubocop.yml20
-rw-r--r--.rubocop_todo.yml589
-rw-r--r--Gemfile4
-rw-r--r--Gemfile.lock11
-rw-r--r--app/controllers/api/v1/instances/translation_languages_controller.rb23
-rw-r--r--app/controllers/backups_controller.rb27
-rw-r--r--app/controllers/concerns/signature_verification.rb2
-rw-r--r--app/helpers/application_helper.rb4
-rw-r--r--app/javascript/mastodon/actions/server.js27
-rw-r--r--app/javascript/mastodon/components/status_content.jsx13
-rw-r--r--app/javascript/mastodon/features/ui/index.jsx3
-rw-r--r--app/javascript/mastodon/locales/af.json2
-rw-r--r--app/javascript/mastodon/locales/an.json2
-rw-r--r--app/javascript/mastodon/locales/ar.json2
-rw-r--r--app/javascript/mastodon/locales/ast.json22
-rw-r--r--app/javascript/mastodon/locales/be.json8
-rw-r--r--app/javascript/mastodon/locales/bg.json6
-rw-r--r--app/javascript/mastodon/locales/bn.json2
-rw-r--r--app/javascript/mastodon/locales/br.json2
-rw-r--r--app/javascript/mastodon/locales/bs.json2
-rw-r--r--app/javascript/mastodon/locales/ca.json4
-rw-r--r--app/javascript/mastodon/locales/ckb.json72
-rw-r--r--app/javascript/mastodon/locales/co.json2
-rw-r--r--app/javascript/mastodon/locales/cs.json2
-rw-r--r--app/javascript/mastodon/locales/csb.json2
-rw-r--r--app/javascript/mastodon/locales/cy.json2
-rw-r--r--app/javascript/mastodon/locales/da.json2
-rw-r--r--app/javascript/mastodon/locales/de.json32
-rw-r--r--app/javascript/mastodon/locales/defaultMessages.json8
-rw-r--r--app/javascript/mastodon/locales/el.json2
-rw-r--r--app/javascript/mastodon/locales/en-GB.json2
-rw-r--r--app/javascript/mastodon/locales/eo.json36
-rw-r--r--app/javascript/mastodon/locales/es-AR.json2
-rw-r--r--app/javascript/mastodon/locales/es-MX.json2
-rw-r--r--app/javascript/mastodon/locales/es.json2
-rw-r--r--app/javascript/mastodon/locales/et.json8
-rw-r--r--app/javascript/mastodon/locales/eu.json2
-rw-r--r--app/javascript/mastodon/locales/fa.json2
-rw-r--r--app/javascript/mastodon/locales/fi.json4
-rw-r--r--app/javascript/mastodon/locales/fo.json2
-rw-r--r--app/javascript/mastodon/locales/fr-QC.json2
-rw-r--r--app/javascript/mastodon/locales/fr.json6
-rw-r--r--app/javascript/mastodon/locales/fy.json2
-rw-r--r--app/javascript/mastodon/locales/ga.json2
-rw-r--r--app/javascript/mastodon/locales/gd.json2
-rw-r--r--app/javascript/mastodon/locales/gl.json2
-rw-r--r--app/javascript/mastodon/locales/he.json2
-rw-r--r--app/javascript/mastodon/locales/hi.json2
-rw-r--r--app/javascript/mastodon/locales/hr.json2
-rw-r--r--app/javascript/mastodon/locales/hu.json2
-rw-r--r--app/javascript/mastodon/locales/hy.json2
-rw-r--r--app/javascript/mastodon/locales/id.json2
-rw-r--r--app/javascript/mastodon/locales/ig.json2
-rw-r--r--app/javascript/mastodon/locales/io.json2
-rw-r--r--app/javascript/mastodon/locales/is.json2
-rw-r--r--app/javascript/mastodon/locales/it.json2
-rw-r--r--app/javascript/mastodon/locales/ja.json4
-rw-r--r--app/javascript/mastodon/locales/ka.json2
-rw-r--r--app/javascript/mastodon/locales/kab.json2
-rw-r--r--app/javascript/mastodon/locales/kk.json2
-rw-r--r--app/javascript/mastodon/locales/kn.json2
-rw-r--r--app/javascript/mastodon/locales/ko.json2
-rw-r--r--app/javascript/mastodon/locales/ku.json2
-rw-r--r--app/javascript/mastodon/locales/kw.json4
-rw-r--r--app/javascript/mastodon/locales/la.json2
-rw-r--r--app/javascript/mastodon/locales/lt.json2
-rw-r--r--app/javascript/mastodon/locales/lv.json16
-rw-r--r--app/javascript/mastodon/locales/mk.json2
-rw-r--r--app/javascript/mastodon/locales/ml.json2
-rw-r--r--app/javascript/mastodon/locales/mr.json2
-rw-r--r--app/javascript/mastodon/locales/ms.json2
-rw-r--r--app/javascript/mastodon/locales/my.json286
-rw-r--r--app/javascript/mastodon/locales/nl.json4
-rw-r--r--app/javascript/mastodon/locales/nn.json12
-rw-r--r--app/javascript/mastodon/locales/no.json2
-rw-r--r--app/javascript/mastodon/locales/oc.json2
-rw-r--r--app/javascript/mastodon/locales/pa.json2
-rw-r--r--app/javascript/mastodon/locales/pl.json6
-rw-r--r--app/javascript/mastodon/locales/pt-BR.json2
-rw-r--r--app/javascript/mastodon/locales/pt-PT.json2
-rw-r--r--app/javascript/mastodon/locales/ro.json2
-rw-r--r--app/javascript/mastodon/locales/ru.json2
-rw-r--r--app/javascript/mastodon/locales/sa.json760
-rw-r--r--app/javascript/mastodon/locales/sc.json2
-rw-r--r--app/javascript/mastodon/locales/sco.json2
-rw-r--r--app/javascript/mastodon/locales/si.json2
-rw-r--r--app/javascript/mastodon/locales/sk.json8
-rw-r--r--app/javascript/mastodon/locales/sl.json2
-rw-r--r--app/javascript/mastodon/locales/sq.json2
-rw-r--r--app/javascript/mastodon/locales/sr-Latn.json124
-rw-r--r--app/javascript/mastodon/locales/sr.json120
-rw-r--r--app/javascript/mastodon/locales/sv.json2
-rw-r--r--app/javascript/mastodon/locales/szl.json2
-rw-r--r--app/javascript/mastodon/locales/ta.json2
-rw-r--r--app/javascript/mastodon/locales/tai.json2
-rw-r--r--app/javascript/mastodon/locales/te.json2
-rw-r--r--app/javascript/mastodon/locales/th.json10
-rw-r--r--app/javascript/mastodon/locales/tr.json2
-rw-r--r--app/javascript/mastodon/locales/tt.json144
-rw-r--r--app/javascript/mastodon/locales/ug.json2
-rw-r--r--app/javascript/mastodon/locales/uk.json2
-rw-r--r--app/javascript/mastodon/locales/ur.json2
-rw-r--r--app/javascript/mastodon/locales/uz.json2
-rw-r--r--app/javascript/mastodon/locales/vi.json2
-rw-r--r--app/javascript/mastodon/locales/zgh.json2
-rw-r--r--app/javascript/mastodon/locales/zh-CN.json2
-rw-r--r--app/javascript/mastodon/locales/zh-HK.json2
-rw-r--r--app/javascript/mastodon/locales/zh-TW.json4
-rw-r--r--app/javascript/mastodon/reducers/server.js9
-rw-r--r--app/lib/admin/system_check.rb1
-rw-r--r--app/lib/admin/system_check/media_privacy_check.rb105
-rw-r--r--app/lib/admin/system_check/message.rb11
-rw-r--r--app/lib/request.rb4
-rw-r--r--app/lib/translation_service.rb4
-rw-r--r--app/lib/translation_service/deepl.rb30
-rw-r--r--app/lib/translation_service/libre_translate.rb18
-rw-r--r--app/models/backup.rb2
-rw-r--r--app/models/status.rb10
-rw-r--r--app/serializers/rest/status_serializer.rb6
-rw-r--r--app/services/translate_status_service.rb16
-rw-r--r--app/views/admin/account_actions/new.html.haml2
-rw-r--r--app/views/admin/accounts/show.html.haml2
-rw-r--r--app/views/admin/action_logs/index.html.haml2
-rw-r--r--app/views/admin/change_emails/show.html.haml2
-rw-r--r--app/views/admin/custom_emojis/index.html.haml4
-rw-r--r--app/views/admin/dashboard/index.html.haml4
-rw-r--r--app/views/application/_card.html.haml2
-rw-r--r--app/views/auth/registrations/_sessions.html.haml2
-rw-r--r--app/views/auth/sessions/new.html.haml2
-rw-r--r--app/views/layouts/mailer.html.haml2
-rw-r--r--app/views/notification_mailer/_status.html.haml2
-rw-r--r--app/views/notification_mailer/favourite.html.haml2
-rw-r--r--app/views/notification_mailer/follow_request.html.haml2
-rw-r--r--app/views/settings/exports/show.html.haml2
-rw-r--r--app/views/settings/login_activities/_login_activity.html.haml2
-rw-r--r--app/views/settings/preferences/appearance/show.html.haml4
-rw-r--r--app/views/statuses/_detailed_status.html.haml6
-rw-r--r--app/views/statuses/_og_image.html.haml2
-rw-r--r--app/views/statuses/_status.html.haml2
-rw-r--r--app/views/user_mailer/backup_ready.html.haml2
-rw-r--r--app/views/user_mailer/backup_ready.text.erb2
-rw-r--r--app/views/user_mailer/suspicious_sign_in.html.haml2
-rw-r--r--app/views/user_mailer/webauthn_credential_added.html.haml2
-rw-r--r--app/views/user_mailer/webauthn_credential_deleted.html.haml2
-rw-r--r--config/application.rb5
-rw-r--r--config/environments/development.rb31
-rw-r--r--config/environments/production.rb15
-rw-r--r--config/environments/test.rb5
-rw-r--r--config/locales/activerecord.ka.yml37
-rw-r--r--config/locales/activerecord.tt.yml4
-rw-r--r--config/locales/an.yml1
-rw-r--r--config/locales/ar.yml6
-rw-r--r--config/locales/ast.yml5
-rw-r--r--config/locales/be.yml5
-rw-r--r--config/locales/bg.yml8
-rw-r--r--config/locales/br.yml1
-rw-r--r--config/locales/ca.yml10
-rw-r--r--config/locales/ckb.yml1
-rw-r--r--config/locales/co.yml1
-rw-r--r--config/locales/cs.yml8
-rw-r--r--config/locales/cy.yml6
-rw-r--r--config/locales/da.yml13
-rw-r--r--config/locales/de.yml208
-rw-r--r--config/locales/devise.de.yml18
-rw-r--r--config/locales/devise.et.yml4
-rw-r--r--config/locales/devise.my.yml2
-rw-r--r--config/locales/doorkeeper.de.yml8
-rw-r--r--config/locales/doorkeeper.sr-Latn.yml17
-rw-r--r--config/locales/doorkeeper.sr.yml5
-rw-r--r--config/locales/el.yml194
-rw-r--r--config/locales/en-GB.yml359
-rw-r--r--config/locales/en.yml6
-rw-r--r--config/locales/eo.yml13
-rw-r--r--config/locales/es-AR.yml6
-rw-r--r--config/locales/es-MX.yml6
-rw-r--r--config/locales/es.yml6
-rw-r--r--config/locales/et.yml16
-rw-r--r--config/locales/eu.yml6
-rw-r--r--config/locales/fa.yml11
-rw-r--r--config/locales/fi.yml10
-rw-r--r--config/locales/fo.yml6
-rw-r--r--config/locales/fr-QC.yml6
-rw-r--r--config/locales/fr.yml6
-rw-r--r--config/locales/fy.yml6
-rw-r--r--config/locales/ga.yml1
-rw-r--r--config/locales/gd.yml1
-rw-r--r--config/locales/gl.yml6
-rw-r--r--config/locales/he.yml6
-rw-r--r--config/locales/hi.yml9
-rw-r--r--config/locales/hr.yml2
-rw-r--r--config/locales/hu.yml6
-rw-r--r--config/locales/hy.yml1
-rw-r--r--config/locales/id.yml1
-rw-r--r--config/locales/io.yml1
-rw-r--r--config/locales/is.yml6
-rw-r--r--config/locales/it.yml6
-rw-r--r--config/locales/ja.yml10
-rw-r--r--config/locales/ka.yml1
-rw-r--r--config/locales/kab.yml1
-rw-r--r--config/locales/kk.yml1
-rw-r--r--config/locales/ko.yml12
-rw-r--r--config/locales/ku.yml1
-rw-r--r--config/locales/lt.yml2
-rw-r--r--config/locales/lv.yml8
-rw-r--r--config/locales/ms.yml1
-rw-r--r--config/locales/my.yml345
-rw-r--r--config/locales/nl.yml6
-rw-r--r--config/locales/nn.yml128
-rw-r--r--config/locales/no.yml1
-rw-r--r--config/locales/oc.yml1
-rw-r--r--config/locales/pl.yml6
-rw-r--r--config/locales/pt-BR.yml13
-rw-r--r--config/locales/pt-PT.yml6
-rw-r--r--config/locales/ru.yml1
-rw-r--r--config/locales/sc.yml1
-rw-r--r--config/locales/sco.yml1
-rw-r--r--config/locales/si.yml1
-rw-r--r--config/locales/simple_form.ast.yml9
-rw-r--r--config/locales/simple_form.bg.yml42
-rw-r--r--config/locales/simple_form.da.yml5
-rw-r--r--config/locales/simple_form.de.yml22
-rw-r--r--config/locales/simple_form.et.yml8
-rw-r--r--config/locales/simple_form.fi.yml4
-rw-r--r--config/locales/simple_form.ko.yml6
-rw-r--r--config/locales/simple_form.my.yml141
-rw-r--r--config/locales/simple_form.pt-BR.yml1
-rw-r--r--config/locales/simple_form.sr-Latn.yml142
-rw-r--r--config/locales/simple_form.sr.yml106
-rw-r--r--config/locales/simple_form.th.yml2
-rw-r--r--config/locales/simple_form.tt.yml4
-rw-r--r--config/locales/simple_form.zh-TW.yml4
-rw-r--r--config/locales/sk.yml4
-rw-r--r--config/locales/sl.yml6
-rw-r--r--config/locales/sq.yml6
-rw-r--r--config/locales/sr-Latn.yml1544
-rw-r--r--config/locales/sr.yml1017
-rw-r--r--config/locales/sv.yml6
-rw-r--r--config/locales/th.yml10
-rw-r--r--config/locales/tr.yml6
-rw-r--r--config/locales/tt.yml40
-rw-r--r--config/locales/uk.yml6
-rw-r--r--config/locales/vi.yml6
-rw-r--r--config/locales/zh-CN.yml8
-rw-r--r--config/locales/zh-HK.yml1
-rw-r--r--config/locales/zh-TW.yml14
-rw-r--r--config/routes.rb2
-rw-r--r--docker-compose.yml6
-rw-r--r--lib/mastodon/media_cli.rb2
-rw-r--r--lib/public_file_server_middleware.rb43
-rw-r--r--lib/tasks/emojis.rake4
-rw-r--r--package.json12
-rw-r--r--spec/controllers/api/v1/instances/translation_languages_controller_spec.rb31
-rw-r--r--spec/controllers/api/v1/statuses/translations_controller_spec.rb3
-rw-r--r--spec/lib/translation_service/deepl_spec.rb36
-rw-r--r--spec/lib/translation_service/libre_translate_spec.rb31
-rw-r--r--spec/models/status_spec.rb79
-rw-r--r--spec/presenters/instance_presenter_spec.rb2
-rw-r--r--spec/support/matchers/model/model_have_error_on_field.rb2
-rw-r--r--yarn.lock229
261 files changed, 6157 insertions, 2052 deletions
diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml
index 97a363d1e..25675c218 100644
--- a/.github/workflows/build-image.yml
+++ b/.github/workflows/build-image.yml
@@ -49,7 +49,7 @@ jobs:
           platforms: linux/amd64,linux/arm64
           provenance: false
           builder: ${{ steps.buildx.outputs.name }}
-          push: ${{ github.event_name != 'pull_request' }}
+          push: ${{ github.repository == 'mastodon/mastodon' && github.event_name != 'pull_request' }}
           tags: ${{ steps.meta.outputs.tags }}
           labels: ${{ steps.meta.outputs.labels }}
           cache-from: type=gha
diff --git a/.haml-lint_todo.yml b/.haml-lint_todo.yml
index 203010b04..c60168390 100644
--- a/.haml-lint_todo.yml
+++ b/.haml-lint_todo.yml
@@ -1,26 +1,21 @@
 # This configuration was generated by
 # `haml-lint --auto-gen-config`
-# on 2023-02-11 02:16:03 -0500 using Haml-Lint version 0.45.0.
+# on 2023-03-15 00:55:01 -0400 using Haml-Lint version 0.45.0.
 # The point is for the user to remove these configuration records
 # one by one as the lints are removed from the code base.
 # Note that changes in the inspected code, or installation of new
 # versions of Haml-Lint, may require this file to be generated again.
 
 linters:
-  # Offense count: 76
+  # Offense count: 63
   RuboCop:
     exclude:
       - 'app/views/accounts/_og.html.haml'
-      - 'app/views/admin/account_actions/new.html.haml'
       - 'app/views/admin/account_warnings/_account_warning.html.haml'
       - 'app/views/admin/accounts/index.html.haml'
       - 'app/views/admin/accounts/show.html.haml'
-      - 'app/views/admin/action_logs/index.html.haml'
       - 'app/views/admin/announcements/edit.html.haml'
       - 'app/views/admin/announcements/new.html.haml'
-      - 'app/views/admin/change_emails/show.html.haml'
-      - 'app/views/admin/custom_emojis/index.html.haml'
-      - 'app/views/admin/dashboard/index.html.haml'
       - 'app/views/admin/disputes/appeals/_appeal.html.haml'
       - 'app/views/admin/domain_blocks/edit.html.haml'
       - 'app/views/admin/domain_blocks/new.html.haml'
@@ -33,40 +28,24 @@ linters:
       - 'app/views/admin/settings/appearance/show.html.haml'
       - 'app/views/admin/settings/registrations/show.html.haml'
       - 'app/views/admin/statuses/show.html.haml'
-      - 'app/views/application/_card.html.haml'
-      - 'app/views/application/_sidebar.html.haml'
-      - 'app/views/auth/registrations/_sessions.html.haml'
       - 'app/views/auth/registrations/new.html.haml'
-      - 'app/views/auth/sessions/new.html.haml'
       - 'app/views/disputes/strikes/show.html.haml'
       - 'app/views/filters/_filter_fields.html.haml'
       - 'app/views/invites/_form.html.haml'
       - 'app/views/layouts/application.html.haml'
       - 'app/views/layouts/error.html.haml'
-      - 'app/views/layouts/mailer.html.haml'
       - 'app/views/notification_mailer/_status.html.haml'
-      - 'app/views/notification_mailer/favourite.html.haml'
-      - 'app/views/notification_mailer/follow_request.html.haml'
-      - 'app/views/oauth/authorizations/new.html.haml'
-      - 'app/views/oauth/authorized_applications/index.html.haml'
       - 'app/views/settings/applications/_fields.html.haml'
       - 'app/views/settings/imports/show.html.haml'
-      - 'app/views/settings/login_activities/_login_activity.html.haml'
       - 'app/views/settings/preferences/appearance/show.html.haml'
       - 'app/views/settings/preferences/other/show.html.haml'
-      - 'app/views/settings/preferences/other/show.html.haml'
-      - 'app/views/statuses_cleanup/show.html.haml'
       - 'app/views/statuses/_detailed_status.html.haml'
-      - 'app/views/statuses/_og_image.html.haml'
       - 'app/views/statuses/_poll.html.haml'
-      - 'app/views/statuses/_status.html.haml'
       - 'app/views/statuses/show.html.haml'
-      - 'app/views/user_mailer/suspicious_sign_in.html.haml'
+      - 'app/views/statuses_cleanup/show.html.haml'
       - 'app/views/user_mailer/warning.html.haml'
-      - 'app/views/user_mailer/webauthn_credential_added.html.haml'
-      - 'app/views/user_mailer/webauthn_credential_deleted.html.haml'
 
-  # Offense count: 918
+  # Offense count: 913
   LineLength:
     enabled: false
 
@@ -97,13 +76,12 @@ linters:
       - 'app/views/admin/reports/show.html.haml'
       - 'app/views/disputes/strikes/show.html.haml'
 
-  # Offense count: 43
+  # Offense count: 41
   InstanceVariables:
     exclude:
       - 'app/views/admin/reports/_actions.html.haml'
       - 'app/views/admin/roles/_form.html.haml'
       - 'app/views/admin/webhooks/_form.html.haml'
-      - 'app/views/application/_sidebar.html.haml'
       - 'app/views/auth/registrations/_sessions.html.haml'
       - 'app/views/auth/registrations/_status.html.haml'
       - 'app/views/auth/sessions/two_factor/_otp_authentication_form.html.haml'
diff --git a/.rubocop.yml b/.rubocop.yml
index 99206e597..4f4c98dc9 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -32,7 +32,6 @@ Layout/FirstHashElementIndentation:
   EnforcedStyle: consistent
 
 Layout/LineLength:
-  Max: 140 # RuboCop default 120
   AllowedPatterns:
     # Allow comments to be long lines
     - !ruby/regexp / \# .*$/
@@ -47,13 +46,11 @@ Lint/UselessAccessModifier:
     - class_methods
 
 Metrics/AbcSize:
-  Max: 34 # RuboCop default 17
   Exclude:
     - 'lib/**/*cli*.rb'
     - db/*migrate/**/*
 
 Metrics/BlockLength:
-  Max: 55 # Default 25
   CountAsOne: [array, heredoc]
   Exclude:
     - 'lib/mastodon/*_cli.rb'
@@ -63,30 +60,23 @@ Metrics/BlockNesting:
     - 'lib/mastodon/*_cli.rb'
 
 Metrics/ClassLength:
-  Max: 500 # Default 100
   CountAsOne: [array, heredoc]
   Exclude:
     - 'lib/mastodon/*_cli.rb'
 
 Metrics/CyclomaticComplexity:
-  Max: 12 # Default 7
   Exclude:
     - lib/mastodon/*cli*.rb
     - db/*migrate/**/*
 
 Metrics/MethodLength:
-  Max: 25 # RuboCop default 10
   CountAsOne: [array, heredoc]
   Exclude:
     - 'lib/mastodon/*_cli.rb'
 
 Metrics/ModuleLength:
-  Max: 200 # Default 100
   CountAsOne: [array, heredoc]
 
-Metrics/PerceivedComplexity:
-  Max: 16 # RuboCop default 8
-
 Rails/HttpStatus:
   EnforcedStyle: numeric
 
@@ -123,6 +113,16 @@ RSpec/NotToNot:
 RSpec/Rails/HttpStatus:
   EnforcedStyle: numeric
 
+# Reason:
+# https://docs.rubocop.org/rubocop/cops_style.html#styleclassandmodulechildren
+Style/ClassAndModuleChildren:
+  Enabled: false
+
+# Reason: Classes mostly self-document with their names
+# https://docs.rubocop.org/rubocop/cops_style.html#styledocumentation
+Style/Documentation:
+  Enabled: false
+
 Style/HashSyntax:
   EnforcedStyle: ruby19_no_mixed_keys
 
diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index 8a96e59f9..e41c10e1c 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -1,12 +1,11 @@
 # This configuration was generated by
-# `rubocop --auto-gen-config --auto-gen-only-exclude --no-exclude-limit`
-# on 2023-02-19 06:22:09 UTC using RuboCop version 1.45.1.
+# `rubocop --auto-gen-config --auto-gen-only-exclude --no-exclude-limit --no-offense-counts --no-auto-gen-timestamp`
+# using RuboCop version 1.48.1.
 # The point is for the user to remove these configuration records
 # one by one as the offenses are removed from the code base.
 # Note that changes in the inspected code, or installation of new
 # versions of RuboCop, may require this file to be generated again.
 
-# Offense count: 15
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation, Include.
 # Include: **/*.gemfile, **/Gemfile, **/gems.rb
@@ -14,14 +13,6 @@ Bundler/OrderedGems:
   Exclude:
     - 'Gemfile'
 
-# Offense count: 581
-# This cop supports safe autocorrection (--autocorrect).
-# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
-# URISchemes: http, https
-Layout/LineLength:
-  Enabled: false
-
-# Offense count: 14
 # Configuration parameters: AllowedMethods, AllowedPatterns.
 Lint/AmbiguousBlockAssociation:
   Exclude:
@@ -35,7 +26,6 @@ Lint/AmbiguousBlockAssociation:
     - 'spec/services/unsuspend_account_service_spec.rb'
     - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb'
 
-# Offense count: 15
 # Configuration parameters: AllowedMethods.
 # AllowedMethods: enums
 Lint/ConstantDefinitionInBlock:
@@ -50,7 +40,6 @@ Lint/ConstantDefinitionInBlock:
     - 'spec/lib/settings/extend_spec.rb'
     - 'spec/models/concerns/remotable_spec.rb'
 
-# Offense count: 5
 # Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches.
 Lint/DuplicateBranch:
   Exclude:
@@ -60,7 +49,6 @@ Lint/DuplicateBranch:
     - 'app/validators/vote_validator.rb'
     - 'lib/mastodon/maintenance_cli.rb'
 
-# Offense count: 42
 # Configuration parameters: AllowComments, AllowEmptyLambdas.
 Lint/EmptyBlock:
   Exclude:
@@ -68,11 +56,7 @@ Lint/EmptyBlock:
     - 'spec/controllers/application_controller_spec.rb'
     - 'spec/fabricators/access_token_fabricator.rb'
     - 'spec/fabricators/conversation_fabricator.rb'
-    - 'spec/fabricators/conversation_mute_fabricator.rb'
-    - 'spec/fabricators/import_fabricator.rb'
-    - 'spec/fabricators/setting_fabricator.rb'
     - 'spec/fabricators/system_key_fabricator.rb'
-    - 'spec/fabricators/web_setting_fabricator.rb'
     - 'spec/helpers/admin/action_logs_helper_spec.rb'
     - 'spec/lib/activitypub/adapter_spec.rb'
     - 'spec/models/account_alias_spec.rb'
@@ -93,7 +77,6 @@ Lint/EmptyBlock:
     - 'spec/models/list_spec.rb'
     - 'spec/models/login_activity_spec.rb'
     - 'spec/models/mute_spec.rb'
-    - 'spec/models/one_time_key_spec.rb'
     - 'spec/models/preview_card_spec.rb'
     - 'spec/models/preview_card_trend_spec.rb'
     - 'spec/models/relay_spec.rb'
@@ -107,30 +90,25 @@ Lint/EmptyBlock:
     - 'spec/models/user_role_spec.rb'
     - 'spec/models/web/setting_spec.rb'
 
-# Offense count: 1
 # Configuration parameters: AllowComments.
 Lint/EmptyClass:
   Exclude:
     - 'spec/controllers/api/base_controller_spec.rb'
 
-# Offense count: 1
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Lint/NonDeterministicRequireOrder:
   Exclude:
     - 'spec/rails_helper.rb'
 
-# Offense count: 1
 Lint/NonLocalExitFromIterator:
   Exclude:
     - 'app/helpers/jsonld_helper.rb'
 
-# Offense count: 2
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Lint/OrAssignmentToConstant:
   Exclude:
     - 'lib/sanitize_ext/sanitize_config.rb'
 
-# Offense count: 33
 Lint/UselessAssignment:
   Exclude:
     - 'app/services/activitypub/process_status_update_service.rb'
@@ -151,53 +129,46 @@ Lint/UselessAssignment:
     - 'spec/services/resolve_url_service_spec.rb'
     - 'spec/views/statuses/show.html.haml_spec.rb'
 
-# Offense count: 3
 # Configuration parameters: CheckForMethodsWithNoSideEffects.
 Lint/Void:
   Exclude:
     - 'spec/services/resolve_account_service_spec.rb'
 
-# Offense count: 66
 # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
 Metrics/AbcSize:
-  Enabled: false
+  Max: 150
 
-# Offense count: 10
-# Configuration parameters: CountComments, Max, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode.
+# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode.
 # AllowedMethods: refine
 Metrics/BlockLength:
-  Exclude:
-    - 'app/models/concerns/account_interactions.rb'
-    - 'db/post_migrate/20221101190723_backfill_admin_action_logs.rb'
-    - 'db/post_migrate/20221206114142_backfill_admin_action_logs_again.rb'
-    - 'lib/tasks/branding.rake'
-    - 'lib/tasks/mastodon.rake'
-    - 'lib/tasks/repo.rake'
-    - 'lib/tasks/tests.rake'
+  Max: 433
 
-# Offense count: 1
 # Configuration parameters: CountBlocks, Max.
 Metrics/BlockNesting:
   Exclude:
     - 'lib/tasks/mastodon.rake'
 
-# Offense count: 39
+# Configuration parameters: CountComments, CountAsOne.
+Metrics/ClassLength:
+  Max: 368
+
 # Configuration parameters: AllowedMethods, AllowedPatterns.
 Metrics/CyclomaticComplexity:
-  Enabled: false
+  Max: 25
 
-# Offense count: 35
 # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
 Metrics/MethodLength:
-  Enabled: false
+  Max: 58
 
-# Offense count: 1
 # Configuration parameters: CountComments, Max, CountAsOne.
 Metrics/ModuleLength:
   Exclude:
+    - 'app/controllers/concerns/signature_verification.rb'
+    - 'app/helpers/application_helper.rb'
+    - 'app/helpers/jsonld_helper.rb'
+    - 'app/helpers/statuses_helper.rb'
     - 'app/models/concerns/account_interactions.rb'
 
-# Offense count: 5
 # Configuration parameters: Max, CountKeywordArgs, MaxOptionalParameters.
 Metrics/ParameterLists:
   Exclude:
@@ -206,32 +177,14 @@ Metrics/ParameterLists:
     - 'app/services/activitypub/fetch_remote_actor_service.rb'
     - 'app/services/activitypub/fetch_remote_status_service.rb'
 
-# Offense count: 16
-# Configuration parameters: AllowedMethods, AllowedPatterns, Max.
+# Configuration parameters: AllowedMethods, AllowedPatterns.
 Metrics/PerceivedComplexity:
-  Exclude:
-    - 'app/helpers/jsonld_helper.rb'
-    - 'app/lib/feed_manager.rb'
-    - 'app/lib/status_cache_hydrator.rb'
-    - 'app/lib/user_settings_decorator.rb'
-    - 'app/models/trends/links.rb'
-    - 'app/services/activitypub/fetch_remote_key_service.rb'
-    - 'app/services/activitypub/fetch_remote_status_service.rb'
-    - 'app/services/activitypub/process_account_service.rb'
-    - 'app/services/fetch_link_card_service.rb'
-    - 'app/services/fetch_oembed_service.rb'
-    - 'app/services/process_mentions_service.rb'
-    - 'app/services/resolve_account_service.rb'
-    - 'lib/mastodon/accounts_cli.rb'
-    - 'lib/mastodon/domains_cli.rb'
-    - 'lib/mastodon/maintenance_cli.rb'
+  Max: 28
 
-# Offense count: 1
 Naming/AccessorMethodName:
   Exclude:
     - 'app/controllers/auth/sessions_controller.rb'
 
-# Offense count: 7
 # Configuration parameters: EnforcedStyleForLeadingUnderscores.
 # SupportedStylesForLeadingUnderscores: disallowed, required, optional
 Naming/MemoizedInstanceVariableName:
@@ -243,10 +196,9 @@ Naming/MemoizedInstanceVariableName:
     - 'app/services/resolve_url_service.rb'
     - 'app/services/search_service.rb'
 
-# Offense count: 50
 # Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns.
 # SupportedStyles: snake_case, normalcase, non_integer
-# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339
+# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64
 Naming/VariableNumber:
   Exclude:
     - 'db/migrate/20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb'
@@ -263,7 +215,6 @@ Naming/VariableNumber:
     - 'spec/models/user_spec.rb'
     - 'spec/services/activitypub/fetch_featured_collection_service_spec.rb'
 
-# Offense count: 12
 # Configuration parameters: MinSize.
 Performance/CollectionLiteralInLoop:
   Exclude:
@@ -278,14 +229,12 @@ Performance/CollectionLiteralInLoop:
     - 'app/services/unsuspend_account_service.rb'
     - 'lib/mastodon/media_cli.rb'
 
-# Offense count: 4
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Performance/Count:
   Exclude:
     - 'app/lib/importer/accounts_index_importer.rb'
     - 'app/lib/importer/tags_index_importer.rb'
 
-# Offense count: 10
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: SafeMultiline.
 Performance/DeletePrefix:
@@ -301,7 +250,6 @@ Performance/DeletePrefix:
     - 'app/services/resolve_account_service.rb'
     - 'app/services/tag_search_service.rb'
 
-# Offense count: 19
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Performance/MapCompact:
   Exclude:
@@ -321,36 +269,30 @@ Performance/MapCompact:
     - 'db/migrate/20200407202420_migrate_unavailable_inboxes.rb'
     - 'spec/presenters/status_relationships_presenter_spec.rb'
 
-# Offense count: 7
 Performance/MethodObjectAsBlock:
   Exclude:
     - 'app/models/account_suggestions/source.rb'
     - 'spec/models/export_spec.rb'
 
-# Offense count: 1
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Performance/RedundantEqualityComparisonBlock:
   Exclude:
     - 'spec/requests/link_headers_spec.rb'
 
-# Offense count: 1
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: SafeMultiline.
 Performance/StartWith:
   Exclude:
     - 'app/lib/extractor.rb'
 
-# Offense count: 4
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: OnlySumOrWithInitialValue.
 Performance/Sum:
   Exclude:
     - 'app/lib/activity_tracker.rb'
     - 'app/models/trends/history.rb'
-    - 'app/workers/scheduler/accounts_statuses_cleanup_scheduler.rb'
     - 'lib/paperclip/color_extractor.rb'
 
-# Offense count: 15
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Performance/TimesMap:
   Exclude:
@@ -360,7 +302,6 @@ Performance/TimesMap:
     - 'spec/lib/request_pool_spec.rb'
     - 'spec/models/account_spec.rb'
 
-# Offense count: 4
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Performance/UnfreezeString:
   Exclude:
@@ -369,7 +310,6 @@ Performance/UnfreezeString:
     - 'app/validators/status_length_validator.rb'
     - 'lib/tasks/mastodon.rake'
 
-# Offense count: 27
 RSpec/AnyInstance:
   Exclude:
     - 'spec/controllers/activitypub/inboxes_controller_spec.rb'
@@ -390,12 +330,10 @@ RSpec/AnyInstance:
     - 'spec/workers/activitypub/delivery_worker_spec.rb'
     - 'spec/workers/web/push_notification_worker_spec.rb'
 
-# Offense count: 1
 RSpec/BeforeAfterAll:
   Exclude:
     - 'spec/requests/localization_spec.rb'
 
-# Offense count: 558
 # Configuration parameters: Prefixes, AllowedPatterns.
 # Prefixes: when, with, without
 RSpec/ContextWording:
@@ -440,7 +378,6 @@ RSpec/ContextWording:
     - 'spec/lib/html_aware_formatter_spec.rb'
     - 'spec/lib/link_details_extractor_spec.rb'
     - 'spec/lib/ostatus/tag_manager_spec.rb'
-    - 'spec/lib/plain_text_formatter_spec.rb'
     - 'spec/lib/scope_transformer_spec.rb'
     - 'spec/lib/status_cache_hydrator_spec.rb'
     - 'spec/lib/status_reach_finder_spec.rb'
@@ -506,7 +443,6 @@ RSpec/ContextWording:
     - 'spec/workers/move_worker_spec.rb'
     - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb'
 
-# Offense count: 339
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: SkipBlocks, EnforcedStyle.
 # SupportedStyles: described_class, explicit
@@ -548,7 +484,6 @@ RSpec/DescribedClass:
     - 'spec/models/user_spec.rb'
     - 'spec/policies/account_moderation_note_policy_spec.rb'
     - 'spec/presenters/account_relationships_presenter_spec.rb'
-    - 'spec/presenters/instance_presenter_spec.rb'
     - 'spec/presenters/status_relationships_presenter_spec.rb'
     - 'spec/serializers/activitypub/note_serializer_spec.rb'
     - 'spec/serializers/activitypub/update_poll_serializer_spec.rb'
@@ -581,7 +516,6 @@ RSpec/DescribedClass:
     - 'spec/services/update_account_service_spec.rb'
     - 'spec/validators/note_length_validator_spec.rb'
 
-# Offense count: 32
 # This cop supports unsafe autocorrection (--autocorrect-all).
 RSpec/EmptyExampleGroup:
   Exclude:
@@ -604,7 +538,6 @@ RSpec/EmptyExampleGroup:
     - 'spec/models/list_spec.rb'
     - 'spec/models/login_activity_spec.rb'
     - 'spec/models/mute_spec.rb'
-    - 'spec/models/one_time_key_spec.rb'
     - 'spec/models/preview_card_spec.rb'
     - 'spec/models/preview_card_trend_spec.rb'
     - 'spec/models/relay_spec.rb'
@@ -618,12 +551,10 @@ RSpec/EmptyExampleGroup:
     - 'spec/models/web/setting_spec.rb'
     - 'spec/services/unmute_service_spec.rb'
 
-# Offense count: 178
 # Configuration parameters: CountAsOne.
 RSpec/ExampleLength:
   Max: 22
 
-# Offense count: 21
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: method_call, block
@@ -641,14 +572,12 @@ RSpec/ExpectChange:
     - 'spec/services/unsuspend_account_service_spec.rb'
     - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb'
 
-# Offense count: 5
 RSpec/ExpectInHook:
   Exclude:
     - 'spec/controllers/api/v1/media_controller_spec.rb'
     - 'spec/controllers/settings/applications_controller_spec.rb'
     - 'spec/lib/status_filter_spec.rb'
 
-# Offense count: 16
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: implicit, each, example
@@ -664,7 +593,6 @@ RSpec/HookArgument:
     - 'spec/services/import_service_spec.rb'
     - 'spec/spec_helper.rb'
 
-# Offense count: 101
 # Configuration parameters: AssignmentOnly.
 RSpec/InstanceVariable:
   Exclude:
@@ -687,7 +615,6 @@ RSpec/InstanceVariable:
     - 'spec/services/search_service_spec.rb'
     - 'spec/services/unblock_domain_service_spec.rb'
 
-# Offense count: 15
 RSpec/LeakyConstantDeclaration:
   Exclude:
     - 'spec/controllers/api/base_controller_spec.rb'
@@ -700,7 +627,6 @@ RSpec/LeakyConstantDeclaration:
     - 'spec/lib/settings/extend_spec.rb'
     - 'spec/models/concerns/remotable_spec.rb'
 
-# Offense count: 108
 RSpec/LetSetup:
   Exclude:
     - 'spec/controllers/admin/accounts_controller_spec.rb'
@@ -753,7 +679,6 @@ RSpec/LetSetup:
     - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb'
     - 'spec/workers/scheduler/user_cleanup_scheduler_spec.rb'
 
-# Offense count: 7
 RSpec/MessageChain:
   Exclude:
     - 'spec/controllers/api/v1/media_controller_spec.rb'
@@ -761,7 +686,6 @@ RSpec/MessageChain:
     - 'spec/models/session_activation_spec.rb'
     - 'spec/models/setting_spec.rb'
 
-# Offense count: 47
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: have_received, receive
 RSpec/MessageSpies:
@@ -784,7 +708,6 @@ RSpec/MessageSpies:
     - 'spec/spec_helper.rb'
     - 'spec/validators/status_length_validator_spec.rb'
 
-# Offense count: 35
 RSpec/MissingExampleGroupArgument:
   Exclude:
     - 'spec/controllers/accounts_controller_spec.rb'
@@ -810,16 +733,13 @@ RSpec/MissingExampleGroupArgument:
     - 'spec/services/notify_service_spec.rb'
     - 'spec/services/process_mentions_service_spec.rb'
 
-# Offense count: 599
 RSpec/MultipleExpectations:
   Max: 19
 
-# Offense count: 442
 # Configuration parameters: AllowSubject.
 RSpec/MultipleMemoizedHelpers:
   Max: 21
 
-# Offense count: 7
 # This cop supports safe autocorrection (--autocorrect).
 RSpec/MultipleSubjects:
   Exclude:
@@ -831,7 +751,6 @@ RSpec/MultipleSubjects:
     - 'spec/controllers/follower_accounts_controller_spec.rb'
     - 'spec/controllers/following_accounts_controller_spec.rb'
 
-# Offense count: 1407
 # Configuration parameters: EnforcedStyle, IgnoreSharedExamples.
 # SupportedStyles: always, named_only
 RSpec/NamedSubject:
@@ -1030,12 +949,10 @@ RSpec/NamedSubject:
     - 'spec/workers/unfollow_follow_worker_spec.rb'
     - 'spec/workers/web/push_notification_worker_spec.rb'
 
-# Offense count: 552
 # Configuration parameters: AllowedGroups.
 RSpec/NestedGroups:
   Max: 6
 
-# Offense count: 2
 # Configuration parameters: AllowedPatterns.
 # AllowedPatterns: ^expect_, ^assert_
 RSpec/NoExpectationExample:
@@ -1043,13 +960,11 @@ RSpec/NoExpectationExample:
     - 'spec/controllers/auth/registrations_controller_spec.rb'
     - 'spec/services/precompute_feed_service_spec.rb'
 
-# Offense count: 3
 RSpec/PendingWithoutReason:
   Exclude:
     - 'spec/models/account_spec.rb'
     - 'spec/support/examples/lib/settings/scoped_settings.rb'
 
-# Offense count: 9
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: Strict, EnforcedStyle, AllowedExplicitMatchers.
 # SupportedStyles: inflected, explicit
@@ -1059,7 +974,6 @@ RSpec/PredicateMatcher:
     - 'spec/models/user_spec.rb'
     - 'spec/services/post_status_service_spec.rb'
 
-# Offense count: 180
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: Inferences.
 RSpec/Rails/InferredSpecType:
@@ -1166,7 +1080,6 @@ RSpec/Rails/InferredSpecType:
     - 'spec/helpers/formatting_helper_spec.rb'
     - 'spec/helpers/home_helper_spec.rb'
     - 'spec/helpers/routing_helper_spec.rb'
-    - 'spec/helpers/statuses_helper_spec.rb'
     - 'spec/mailers/admin_mailer_spec.rb'
     - 'spec/mailers/notification_mailer_spec.rb'
     - 'spec/mailers/user_mailer_spec.rb'
@@ -1184,18 +1097,15 @@ RSpec/Rails/InferredSpecType:
     - 'spec/models/announcement_mute_spec.rb'
     - 'spec/models/announcement_reaction_spec.rb'
     - 'spec/models/announcement_spec.rb'
-    - 'spec/models/appeal_spec.rb'
     - 'spec/models/backup_spec.rb'
     - 'spec/models/block_spec.rb'
     - 'spec/models/canonical_email_block_spec.rb'
     - 'spec/models/conversation_mute_spec.rb'
     - 'spec/models/conversation_spec.rb'
-    - 'spec/models/custom_emoji_category_spec.rb'
     - 'spec/models/custom_emoji_spec.rb'
     - 'spec/models/custom_filter_keyword_spec.rb'
     - 'spec/models/custom_filter_spec.rb'
     - 'spec/models/device_spec.rb'
-    - 'spec/models/domain_allow_spec.rb'
     - 'spec/models/domain_block_spec.rb'
     - 'spec/models/email_domain_block_spec.rb'
     - 'spec/models/encrypted_message_spec.rb'
@@ -1208,28 +1118,22 @@ RSpec/Rails/InferredSpecType:
     - 'spec/models/identity_spec.rb'
     - 'spec/models/import_spec.rb'
     - 'spec/models/invite_spec.rb'
-    - 'spec/models/ip_block_spec.rb'
     - 'spec/models/list_account_spec.rb'
     - 'spec/models/list_spec.rb'
     - 'spec/models/login_activity_spec.rb'
-    - 'spec/models/marker_spec.rb'
     - 'spec/models/media_attachment_spec.rb'
     - 'spec/models/mention_spec.rb'
     - 'spec/models/mute_spec.rb'
     - 'spec/models/notification_spec.rb'
-    - 'spec/models/one_time_key_spec.rb'
-    - 'spec/models/poll_spec.rb'
     - 'spec/models/poll_vote_spec.rb'
     - 'spec/models/preview_card_spec.rb'
     - 'spec/models/preview_card_trend_spec.rb'
     - 'spec/models/public_feed_spec.rb'
     - 'spec/models/relay_spec.rb'
-    - 'spec/models/rule_spec.rb'
     - 'spec/models/scheduled_status_spec.rb'
     - 'spec/models/session_activation_spec.rb'
     - 'spec/models/setting_spec.rb'
     - 'spec/models/site_upload_spec.rb'
-    - 'spec/models/status_edit_spec.rb'
     - 'spec/models/status_pin_spec.rb'
     - 'spec/models/status_spec.rb'
     - 'spec/models/status_stat_spec.rb'
@@ -1245,23 +1149,19 @@ RSpec/Rails/InferredSpecType:
     - 'spec/models/webauthn_credentials_spec.rb'
     - 'spec/models/webhook_spec.rb'
 
-# Offense count: 6
 RSpec/RepeatedExample:
   Exclude:
     - 'spec/policies/status_policy_spec.rb'
 
-# Offense count: 6
 RSpec/RepeatedExampleGroupBody:
   Exclude:
     - 'spec/controllers/statuses_controller_spec.rb'
 
-# Offense count: 4
 RSpec/RepeatedExampleGroupDescription:
   Exclude:
     - 'spec/controllers/admin/reports/actions_controller_spec.rb'
     - 'spec/policies/report_note_policy_spec.rb'
 
-# Offense count: 12
 RSpec/ScatteredSetup:
   Exclude:
     - 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb'
@@ -1269,15 +1169,12 @@ RSpec/ScatteredSetup:
     - 'spec/controllers/admin/disputes/appeals_controller_spec.rb'
     - 'spec/controllers/auth/registrations_controller_spec.rb'
     - 'spec/services/activitypub/process_account_service_spec.rb'
-    - 'spec/services/fetch_resource_service_spec.rb'
 
-# Offense count: 1
 # This cop supports safe autocorrection (--autocorrect).
 RSpec/SharedContext:
   Exclude:
     - 'spec/services/unsuspend_account_service_spec.rb'
 
-# Offense count: 16
 RSpec/StubbedMock:
   Exclude:
     - 'spec/controllers/api/base_controller_spec.rb'
@@ -1289,7 +1186,6 @@ RSpec/StubbedMock:
     - 'spec/lib/webfinger_resource_spec.rb'
     - 'spec/services/activitypub/process_collection_service_spec.rb'
 
-# Offense count: 22
 RSpec/SubjectDeclaration:
   Exclude:
     - 'spec/controllers/admin/domain_blocks_controller_spec.rb'
@@ -1314,13 +1210,11 @@ RSpec/SubjectDeclaration:
     - 'spec/policies/user_policy_spec.rb'
     - 'spec/services/activitypub/process_account_service_spec.rb'
 
-# Offense count: 5
 RSpec/SubjectStub:
   Exclude:
     - 'spec/services/unallow_domain_service_spec.rb'
     - 'spec/validators/blacklisted_email_validator_spec.rb'
 
-# Offense count: 119
 # Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
 RSpec/VerifiedDoubles:
   Exclude:
@@ -1361,7 +1255,6 @@ RSpec/VerifiedDoubles:
     - 'spec/workers/feed_insert_worker_spec.rb'
     - 'spec/workers/regeneration_worker_spec.rb'
 
-# Offense count: 19
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: ExpectedOrder, Include.
 # ExpectedOrder: index, show, new, edit, create, update, destroy
@@ -1388,7 +1281,6 @@ Rails/ActionOrder:
     - 'app/controllers/settings/applications_controller.rb'
     - 'app/controllers/settings/two_factor_authentication/webauthn_credentials_controller.rb'
 
-# Offense count: 7
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: Include.
 # Include: app/models/**/*.rb
@@ -1402,7 +1294,6 @@ Rails/ActiveRecordCallbacksOrder:
     - 'app/models/session_activation.rb'
     - 'app/models/status.rb'
 
-# Offense count: 4
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Rails/ApplicationController:
   Exclude:
@@ -1411,7 +1302,6 @@ Rails/ApplicationController:
     - 'app/controllers/well_known/nodeinfo_controller.rb'
     - 'app/controllers/well_known/webfinger_controller.rb'
 
-# Offense count: 35
 # Configuration parameters: Database, Include.
 # SupportedDatabases: mysql, postgresql
 # Include: db/migrate/*.rb
@@ -1449,7 +1339,6 @@ Rails/BulkChangeTable:
     - 'db/migrate/20220303000827_add_ordered_media_attachment_ids_to_status_edits.rb'
     - 'db/migrate/20220824164433_add_human_identifier_to_admin_action_logs.rb'
 
-# Offense count: 7
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Rails/CompactBlank:
   Exclude:
@@ -1460,14 +1349,12 @@ Rails/CompactBlank:
     - 'app/models/user.rb'
     - 'app/services/import_service.rb'
 
-# Offense count: 3
 # This cop supports safe autocorrection (--autocorrect).
 Rails/ContentTag:
   Exclude:
     - 'app/helpers/application_helper.rb'
     - 'app/helpers/branding_helper.rb'
 
-# Offense count: 8
 # Configuration parameters: Include.
 # Include: db/migrate/*.rb
 Rails/CreateTableWithTimestamps:
@@ -1481,22 +1368,17 @@ Rails/CreateTableWithTimestamps:
     - 'db/migrate/20220824233535_create_status_trends.rb'
     - 'db/migrate/20221006061337_create_preview_card_trends.rb'
 
-# Offense count: 4
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Rails/DeprecatedActiveModelErrorsMethods:
   Exclude:
-    - 'app/validators/ed25519_key_validator.rb'
-    - 'app/validators/ed25519_signature_validator.rb'
     - 'lib/mastodon/accounts_cli.rb'
 
-# Offense count: 4
 # This cop supports safe autocorrection (--autocorrect).
 Rails/DuplicateAssociation:
   Exclude:
     - 'app/serializers/activitypub/collection_serializer.rb'
     - 'app/serializers/activitypub/note_serializer.rb'
 
-# Offense count: 76
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: slashes, arguments
 Rails/FilePath:
@@ -1564,7 +1446,6 @@ Rails/FilePath:
     - 'spec/rails_helper.rb'
     - 'spec/spec_helper.rb'
 
-# Offense count: 6
 # Configuration parameters: Include.
 # Include: app/models/**/*.rb
 Rails/HasAndBelongsToMany:
@@ -1574,7 +1455,6 @@ Rails/HasAndBelongsToMany:
     - 'app/models/status.rb'
     - 'app/models/tag.rb'
 
-# Offense count: 15
 # Configuration parameters: Include.
 # Include: app/models/**/*.rb
 Rails/HasManyOrHasOneDependent:
@@ -1589,7 +1469,6 @@ Rails/HasManyOrHasOneDependent:
     - 'app/models/user.rb'
     - 'app/models/web/push_subscription.rb'
 
-# Offense count: 4
 # Configuration parameters: Include.
 # Include: app/helpers/**/*.rb
 Rails/HelperInstanceVariable:
@@ -1598,7 +1477,6 @@ Rails/HelperInstanceVariable:
     - 'app/helpers/instance_helper.rb'
     - 'app/helpers/jsonld_helper.rb'
 
-# Offense count: 3
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: Include.
 # Include: spec/**/*, test/**/*
@@ -1606,7 +1484,6 @@ Rails/HttpPositionalArguments:
   Exclude:
     - 'spec/config/initializers/rack_attack_spec.rb'
 
-# Offense count: 7
 # Configuration parameters: Include.
 # Include: spec/**/*.rb, test/**/*.rb
 Rails/I18nLocaleAssignment:
@@ -1615,13 +1492,11 @@ Rails/I18nLocaleAssignment:
     - 'spec/helpers/application_helper_spec.rb'
     - 'spec/requests/localization_spec.rb'
 
-# Offense count: 6
 Rails/I18nLocaleTexts:
   Exclude:
     - 'lib/tasks/mastodon.rake'
     - 'spec/helpers/flashes_helper_spec.rb'
 
-# Offense count: 8
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Rails/IgnoredColumnsAssignment:
   Exclude:
@@ -1634,7 +1509,6 @@ Rails/IgnoredColumnsAssignment:
     - 'app/models/status_edit.rb'
     - 'app/models/user.rb'
 
-# Offense count: 25
 # Configuration parameters: IgnoreScopes, Include.
 # Include: app/models/**/*.rb
 Rails/InverseOf:
@@ -1647,9 +1521,7 @@ Rails/InverseOf:
     - 'app/models/instance.rb'
     - 'app/models/notification.rb'
     - 'app/models/status.rb'
-    - 'app/models/user_ip.rb'
 
-# Offense count: 13
 # Configuration parameters: Include.
 # Include: app/controllers/**/*.rb, app/mailers/**/*.rb
 Rails/LexicallyScopedActionFilter:
@@ -1660,7 +1532,6 @@ Rails/LexicallyScopedActionFilter:
     - 'app/controllers/auth/registrations_controller.rb'
     - 'app/controllers/auth/sessions_controller.rb'
 
-# Offense count: 18
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Rails/NegateInclude:
   Exclude:
@@ -1680,7 +1551,6 @@ Rails/NegateInclude:
     - 'app/workers/web/push_notification_worker.rb'
     - 'lib/paperclip/color_extractor.rb'
 
-# Offense count: 2
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: Include.
 # Include: app/**/*.rb, config/**/*.rb, db/**/*.rb, lib/**/*.rb
@@ -1688,7 +1558,6 @@ Rails/Output:
   Exclude:
     - 'lib/mastodon/ip_blocks_cli.rb'
 
-# Offense count: 9
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: Include.
 # Include: **/Rakefile, **/*.rake
@@ -1701,7 +1570,6 @@ Rails/RakeEnvironment:
     - 'lib/tasks/repo.rake'
     - 'lib/tasks/statistics.rake'
 
-# Offense count: 29
 # Configuration parameters: Include.
 # Include: db/**/*.rb
 Rails/ReversibleMigration:
@@ -1720,7 +1588,6 @@ Rails/ReversibleMigration:
     - 'db/migrate/20180617162849_remove_unused_indexes.rb'
     - 'db/migrate/20220827195229_change_canonical_email_blocks_nullable.rb'
 
-# Offense count: 141
 # Configuration parameters: ForbiddenMethods, AllowedMethods.
 # ForbiddenMethods: decrement!, decrement_counter, increment!, increment_counter, insert, insert!, insert_all, insert_all!, toggle!, touch, touch_all, update_all, update_attribute, update_column, update_columns, update_counters, upsert, upsert_all
 Rails/SkipsModelValidations:
@@ -1774,7 +1641,6 @@ Rails/SkipsModelValidations:
     - 'spec/services/follow_service_spec.rb'
     - 'spec/services/update_account_service_spec.rb'
 
-# Offense count: 11
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Rails/SquishedSQLHeredocs:
   Exclude:
@@ -1784,7 +1650,6 @@ Rails/SquishedSQLHeredocs:
     - 'lib/mastodon/snowflake.rb'
     - 'lib/tasks/tests.rake'
 
-# Offense count: 7
 Rails/TransactionExitStatement:
   Exclude:
     - 'app/lib/activitypub/activity/announce.rb'
@@ -1792,7 +1657,6 @@ Rails/TransactionExitStatement:
     - 'app/lib/activitypub/activity/delete.rb'
     - 'app/services/activitypub/process_account_service.rb'
 
-# Offense count: 4
 # Configuration parameters: Include.
 # Include: app/models/**/*.rb
 Rails/UniqueValidationWithoutIndex:
@@ -1802,7 +1666,6 @@ Rails/UniqueValidationWithoutIndex:
     - 'app/models/identity.rb'
     - 'app/models/webauthn_credential.rb'
 
-# Offense count: 19
 # Configuration parameters: Include.
 # Include: app/models/**/*.rb
 Rails/UnusedIgnoredColumns:
@@ -1816,7 +1679,6 @@ Rails/UnusedIgnoredColumns:
     - 'app/models/status_edit.rb'
     - 'app/models/user.rb'
 
-# Offense count: 61
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: exists, where
@@ -1856,24 +1718,12 @@ Rails/WhereExists:
     - 'spec/services/purge_domain_service_spec.rb'
     - 'spec/services/unallow_domain_service_spec.rb'
 
-# Offense count: 5
 # This cop supports unsafe autocorrection (--autocorrect-all).
+# Configuration parameters: MinBranchesCount.
 Style/CaseLikeIf:
   Exclude:
-    - 'app/controllers/authorize_interactions_controller.rb'
     - 'app/controllers/concerns/signature_verification.rb'
-    - 'app/helpers/jsonld_helper.rb'
-    - 'app/models/account.rb'
-    - 'app/services/resolve_url_service.rb'
 
-# Offense count: 445
-# This cop supports unsafe autocorrection (--autocorrect-all).
-# Configuration parameters: EnforcedStyle.
-# SupportedStyles: nested, compact
-Style/ClassAndModuleChildren:
-  Enabled: false
-
-# Offense count: 2
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: AllowedMethods, AllowedPatterns.
 # AllowedMethods: ==, equal?, eql?
@@ -1882,24 +1732,16 @@ Style/ClassEqualityComparison:
     - 'app/helpers/jsonld_helper.rb'
     - 'app/serializers/activitypub/outbox_serializer.rb'
 
-# Offense count: 7
 Style/CombinableLoops:
   Exclude:
     - 'app/models/form/custom_emoji_batch.rb'
     - 'app/models/form/ip_block_batch.rb'
 
-# Offense count: 5
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Style/ConcatArrayLiterals:
   Exclude:
     - 'app/lib/feed_manager.rb'
 
-# Offense count: 1433
-# Configuration parameters: AllowedConstants.
-Style/Documentation:
-  Enabled: false
-
-# Offense count: 10
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: AllowedVars.
 Style/FetchEnvVar:
@@ -1912,7 +1754,6 @@ Style/FetchEnvVar:
     - 'lib/tasks/repo.rake'
     - 'spec/features/profile_spec.rb'
 
-# Offense count: 15
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: EnforcedStyle, MaxUnannotatedPlaceholdersAllowed, AllowedMethods, AllowedPatterns.
 # SupportedStyles: annotated, template, unannotated
@@ -1922,14 +1763,360 @@ Style/FormatStringToken:
     - 'lib/mastodon/maintenance_cli.rb'
     - 'lib/paperclip/color_extractor.rb'
 
-# Offense count: 713
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: always, always_true, never
 Style/FrozenStringLiteralComment:
-  Enabled: false
+  Exclude:
+    - 'app/views/accounts/show.rss.ruby'
+    - 'app/views/tags/show.rss.ruby'
+    - 'app/views/well_known/host_meta/show.xml.ruby'
+    - 'db/migrate/20160220174730_create_accounts.rb'
+    - 'db/migrate/20160220211917_create_statuses.rb'
+    - 'db/migrate/20160221003140_create_users.rb'
+    - 'db/migrate/20160221003621_create_follows.rb'
+    - 'db/migrate/20160222122600_create_stream_entries.rb'
+    - 'db/migrate/20160222143943_add_profile_fields_to_accounts.rb'
+    - 'db/migrate/20160223162837_add_metadata_to_statuses.rb'
+    - 'db/migrate/20160223164502_make_uris_nullable_in_statuses.rb'
+    - 'db/migrate/20160223165723_add_url_to_statuses.rb'
+    - 'db/migrate/20160223165855_add_url_to_accounts.rb'
+    - 'db/migrate/20160223171800_create_favourites.rb'
+    - 'db/migrate/20160224223247_create_mentions.rb'
+    - 'db/migrate/20160227230233_add_attachment_avatar_to_accounts.rb'
+    - 'db/migrate/20160305115639_add_devise_to_users.rb'
+    - 'db/migrate/20160306172223_create_doorkeeper_tables.rb'
+    - 'db/migrate/20160312193225_add_attachment_header_to_accounts.rb'
+    - 'db/migrate/20160314164231_add_owner_to_application.rb'
+    - 'db/migrate/20160316103650_add_missing_indices.rb'
+    - 'db/migrate/20160322193748_add_avatar_remote_url_to_accounts.rb'
+    - 'db/migrate/20160325130944_add_admin_to_users.rb'
+    - 'db/migrate/20160826155805_add_superapp_to_oauth_applications.rb'
+    - 'db/migrate/20160905150353_create_media_attachments.rb'
+    - 'db/migrate/20160919221059_add_subscription_expires_at_to_accounts.rb'
+    - 'db/migrate/20160920003904_remove_verify_token_from_accounts.rb'
+    - 'db/migrate/20160926213048_remove_owner_from_application.rb'
+    - 'db/migrate/20161003142332_add_confirmable_to_users.rb'
+    - 'db/migrate/20161003145426_create_blocks.rb'
+    - 'db/migrate/20161006213403_rails_settings_migration.rb'
+    - 'db/migrate/20161009120834_create_domain_blocks.rb'
+    - 'db/migrate/20161027172456_add_silenced_to_accounts.rb'
+    - 'db/migrate/20161104173623_create_tags.rb'
+    - 'db/migrate/20161105130633_create_statuses_tags_join_table.rb'
+    - 'db/migrate/20161116162355_add_locale_to_users.rb'
+    - 'db/migrate/20161119211120_create_notifications.rb'
+    - 'db/migrate/20161122163057_remove_unneeded_indexes.rb'
+    - 'db/migrate/20161123093447_add_sensitive_to_statuses.rb'
+    - 'db/migrate/20161128103007_create_subscriptions.rb'
+    - 'db/migrate/20161130142058_add_last_successful_delivery_at_to_subscriptions.rb'
+    - 'db/migrate/20161130185319_add_visibility_to_statuses.rb'
+    - 'db/migrate/20161202132159_add_in_reply_to_account_id_to_statuses.rb'
+    - 'db/migrate/20161203164520_add_from_account_id_to_notifications.rb'
+    - 'db/migrate/20161205214545_add_suspended_to_accounts.rb'
+    - 'db/migrate/20161221152630_add_hidden_to_stream_entries.rb'
+    - 'db/migrate/20161222201034_add_locked_to_accounts.rb'
+    - 'db/migrate/20161222204147_create_follow_requests.rb'
+    - 'db/migrate/20170105224407_add_shortcode_to_media_attachments.rb'
+    - 'db/migrate/20170109120109_create_web_settings.rb'
+    - 'db/migrate/20170112154826_migrate_settings.rb'
+    - 'db/migrate/20170114194937_add_application_to_statuses.rb'
+    - 'db/migrate/20170114203041_add_website_to_oauth_application.rb'
+    - 'db/migrate/20170119214911_create_preview_cards.rb'
+    - 'db/migrate/20170123162658_add_severity_to_domain_blocks.rb'
+    - 'db/migrate/20170123203248_add_reject_media_to_domain_blocks.rb'
+    - 'db/migrate/20170125145934_add_spoiler_text_to_statuses.rb'
+    - 'db/migrate/20170127165745_add_devise_two_factor_to_users.rb'
+    - 'db/migrate/20170205175257_remove_devices.rb'
+    - 'db/migrate/20170209184350_add_reply_to_statuses.rb'
+    - 'db/migrate/20170214110202_create_reports.rb'
+    - 'db/migrate/20170217012631_add_reblog_of_id_foreign_key_to_statuses.rb'
+    - 'db/migrate/20170301222600_create_mutes.rb'
+    - 'db/migrate/20170303212857_add_last_emailed_at_to_users.rb'
+    - 'db/migrate/20170304202101_add_type_to_media_attachments.rb'
+    - 'db/migrate/20170317193015_add_search_index_to_accounts.rb'
+    - 'db/migrate/20170318214217_add_header_remote_url_to_accounts.rb'
+    - 'db/migrate/20170322021028_add_lowercase_index_to_accounts.rb'
+    - 'db/migrate/20170322143850_change_primary_key_to_bigint_on_statuses.rb'
+    - 'db/migrate/20170322162804_add_search_index_to_tags.rb'
+    - 'db/migrate/20170330021336_add_counter_caches.rb'
+    - 'db/migrate/20170330163835_create_imports.rb'
+    - 'db/migrate/20170330164118_add_attachment_data_to_imports.rb'
+    - 'db/migrate/20170403172249_add_action_taken_by_account_id_to_reports.rb'
+    - 'db/migrate/20170405112956_add_index_on_mentions_status_id.rb'
+    - 'db/migrate/20170406215816_add_notifications_and_favourites_indices.rb'
+    - 'db/migrate/20170409170753_add_last_webfingered_at_to_accounts.rb'
+    - 'db/migrate/20170414080609_add_devise_two_factor_backupable_to_users.rb'
+    - 'db/migrate/20170414132105_add_language_to_statuses.rb'
+    - 'db/migrate/20170418160728_add_indexes_to_reports_for_accounts.rb'
+    - 'db/migrate/20170423005413_add_allowed_languages_to_user.rb'
+    - 'db/migrate/20170424003227_create_account_domain_blocks.rb'
+    - 'db/migrate/20170424112722_add_status_id_index_to_statuses_tags.rb'
+    - 'db/migrate/20170425131920_add_media_attachment_meta.rb'
+    - 'db/migrate/20170425202925_add_oembed_to_preview_cards.rb'
+    - 'db/migrate/20170427011934_re_add_owner_to_application.rb'
+    - 'db/migrate/20170506235850_create_conversations.rb'
+    - 'db/migrate/20170507000211_add_conversation_id_to_statuses.rb'
+    - 'db/migrate/20170507141759_optimize_index_subscriptions.rb'
+    - 'db/migrate/20170508230434_create_conversation_mutes.rb'
+    - 'db/migrate/20170516072309_add_index_accounts_on_uri.rb'
+    - 'db/migrate/20170520145338_change_language_filter_to_opt_out.rb'
+    - 'db/migrate/20170601210557_add_index_on_media_attachments_account_id.rb'
+    - 'db/migrate/20170604144747_add_foreign_keys_for_accounts.rb'
+    - 'db/migrate/20170606113804_change_tag_search_index_to_btree.rb'
+    - 'db/migrate/20170609145826_remove_default_language_from_statuses.rb'
+    - 'db/migrate/20170610000000_add_statuses_index_on_account_id_id.rb'
+    - 'db/migrate/20170623152212_create_session_activations.rb'
+    - 'db/migrate/20170624134742_add_description_to_session_activations.rb'
+    - 'db/migrate/20170625140443_add_access_token_id_to_session_activations.rb'
+    - 'db/migrate/20170711225116_fix_null_booleans.rb'
+    - 'db/migrate/20170713112503_make_tag_search_case_insensitive.rb'
+    - 'db/migrate/20170713175513_create_web_push_subscriptions.rb'
+    - 'db/migrate/20170713190709_add_web_push_subscription_to_session_activations.rb'
+    - 'db/migrate/20170714184731_add_domain_to_subscriptions.rb'
+    - 'db/migrate/20170716191202_add_hide_notifications_to_mute.rb'
+    - 'db/migrate/20170718211102_add_activitypub_to_accounts.rb'
+    - 'db/migrate/20170720000000_add_index_favourites_on_account_id_and_id.rb'
+    - 'db/migrate/20170823162448_create_status_pins.rb'
+    - 'db/migrate/20170824103029_add_timestamps_to_status_pins.rb'
+    - 'db/migrate/20170829215220_remove_status_pins_account_index.rb'
+    - 'db/migrate/20170901141119_truncate_preview_cards.rb'
+    - 'db/migrate/20170901142658_create_join_table_preview_cards_statuses.rb'
+    - 'db/migrate/20170905044538_add_index_id_account_id_activity_type_on_notifications.rb'
+    - 'db/migrate/20170905165803_add_local_to_statuses.rb'
+    - 'db/migrate/20170913000752_create_site_uploads.rb'
+    - 'db/migrate/20170917153509_create_custom_emojis.rb'
+    - 'db/migrate/20170918125918_ids_to_bigints.rb'
+    - 'db/migrate/20170920024819_status_ids_to_timestamp_ids.rb'
+    - 'db/migrate/20170920032311_fix_reblogs_in_feeds.rb'
+    - 'db/migrate/20170924022025_ids_to_bigints2.rb'
+    - 'db/migrate/20170927215609_add_description_to_media_attachments.rb'
+    - 'db/migrate/20170928082043_create_email_domain_blocks.rb'
+    - 'db/migrate/20171005102658_create_account_moderation_notes.rb'
+    - 'db/migrate/20171005171936_add_disabled_to_custom_emojis.rb'
+    - 'db/migrate/20171006142024_add_uri_to_custom_emojis.rb'
+    - 'db/migrate/20171010023049_add_foreign_key_to_account_moderation_notes.rb'
+    - 'db/migrate/20171010025614_change_accounts_nonnullable_in_account_moderation_notes.rb'
+    - 'db/migrate/20171020084748_add_visible_in_picker_to_custom_emoji.rb'
+    - 'db/migrate/20171028221157_add_reblogs_to_follows.rb'
+    - 'db/migrate/20171107143332_add_memorial_to_accounts.rb'
+    - 'db/migrate/20171107143624_add_disabled_to_users.rb'
+    - 'db/migrate/20171109012327_add_moderator_to_accounts.rb'
+    - 'db/migrate/20171114080328_add_index_domain_to_email_domain_blocks.rb'
+    - 'db/migrate/20171114231651_create_lists.rb'
+    - 'db/migrate/20171116161857_create_list_accounts.rb'
+    - 'db/migrate/20171118012443_add_moved_to_account_id_to_accounts.rb'
+    - 'db/migrate/20171119172437_create_admin_action_logs.rb'
+    - 'db/migrate/20171122120436_add_index_account_and_reblog_of_id_to_statuses.rb'
+    - 'db/migrate/20171125024930_create_invites.rb'
+    - 'db/migrate/20171125031751_add_invite_id_to_users.rb'
+    - 'db/migrate/20171125185353_add_index_reblog_of_id_and_account_to_statuses.rb'
+    - 'db/migrate/20171125190735_remove_old_reblog_index_on_statuses.rb'
+    - 'db/migrate/20171129172043_add_index_on_stream_entries.rb'
+    - 'db/migrate/20171130000000_add_embed_url_to_preview_cards.rb'
+    - 'db/migrate/20171201000000_change_account_id_nonnullable_in_lists.rb'
+    - 'db/migrate/20171212195226_remove_duplicate_indexes_in_lists.rb'
+    - 'db/migrate/20171226094803_more_faster_index_on_notifications.rb'
+    - 'db/migrate/20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb'
+    - 'db/migrate/20180109143959_add_remember_token_to_users.rb'
+    - 'db/migrate/20180204034416_create_identities.rb'
+    - 'db/migrate/20180206000000_change_user_id_nonnullable.rb'
+    - 'db/migrate/20180211015820_create_backups.rb'
+    - 'db/migrate/20180304013859_add_featured_collection_url_to_accounts.rb'
+    - 'db/migrate/20180310000000_change_columns_in_notifications_nonnullable.rb'
+    - 'db/migrate/20180402031200_add_assigned_account_id_to_reports.rb'
+    - 'db/migrate/20180402040909_create_report_notes.rb'
+    - 'db/migrate/20180410204633_add_fields_to_accounts.rb'
+    - 'db/migrate/20180416210259_add_uri_to_relationships.rb'
+    - 'db/migrate/20180506221944_add_actor_type_to_accounts.rb'
+    - 'db/migrate/20180510214435_add_access_token_id_to_web_push_subscriptions.rb'
+    - 'db/migrate/20180510230049_migrate_web_push_subscriptions.rb'
+    - 'db/migrate/20180528141303_fix_accounts_unique_index.rb'
+    - 'db/migrate/20180608213548_reject_following_blocked_users.rb'
+    - 'db/migrate/20180609104432_migrate_web_push_subscriptions2.rb'
+    - 'db/migrate/20180615122121_add_autofollow_to_invites.rb'
+    - 'db/migrate/20180616192031_add_chosen_languages_to_users.rb'
+    - 'db/migrate/20180617162849_remove_unused_indexes.rb'
+    - 'db/migrate/20180628181026_create_custom_filters.rb'
+    - 'db/migrate/20180707154237_add_whole_word_to_custom_filter.rb'
+    - 'db/migrate/20180711152640_create_relays.rb'
+    - 'db/migrate/20180808175627_create_account_pins.rb'
+    - 'db/migrate/20180812123222_change_relays_enabled.rb'
+    - 'db/migrate/20180812162710_create_status_stats.rb'
+    - 'db/migrate/20180812173710_copy_status_stats.rb'
+    - 'db/migrate/20180814171349_add_confidential_to_doorkeeper_application.rb'
+    - 'db/migrate/20180831171112_create_bookmarks.rb'
+    - 'db/migrate/20180929222014_create_account_conversations.rb'
+    - 'db/migrate/20181007025445_create_pghero_space_stats.rb'
+    - 'db/migrate/20181010141500_add_silent_to_mentions.rb'
+    - 'db/migrate/20181017170937_add_reject_reports_to_domain_blocks.rb'
+    - 'db/migrate/20181018205649_add_unread_to_account_conversations.rb'
+    - 'db/migrate/20181024224956_migrate_account_conversations.rb'
+    - 'db/migrate/20181026034033_remove_faux_remote_account_duplicates.rb'
+    - 'db/migrate/20181116165755_create_account_stats.rb'
+    - 'db/migrate/20181116173541_copy_account_stats.rb'
+    - 'db/migrate/20181127130500_identity_id_to_bigint.rb'
+    - 'db/migrate/20181127165847_add_show_replies_to_lists.rb'
+    - 'db/migrate/20181203003808_create_accounts_tags_join_table.rb'
+    - 'db/migrate/20181203021853_add_discoverable_to_accounts.rb'
+    - 'db/migrate/20181204193439_add_last_status_at_to_account_stats.rb'
+    - 'db/migrate/20181204215309_create_account_tag_stats.rb'
+    - 'db/migrate/20181207011115_downcase_custom_emoji_domains.rb'
+    - 'db/migrate/20181213184704_create_account_warnings.rb'
+    - 'db/migrate/20181213185533_create_account_warning_presets.rb'
+    - 'db/migrate/20181219235220_add_created_by_application_id_to_users.rb'
+    - 'db/migrate/20181226021420_add_also_known_as_to_accounts.rb'
+    - 'db/migrate/20190103124649_create_scheduled_statuses.rb'
+    - 'db/migrate/20190103124754_add_scheduled_status_id_to_media_attachments.rb'
+    - 'db/migrate/20190117114553_create_tombstones.rb'
+    - 'db/migrate/20190201012802_add_overwrite_to_imports.rb'
+    - 'db/migrate/20190203180359_create_featured_tags.rb'
+    - 'db/migrate/20190225031541_create_polls.rb'
+    - 'db/migrate/20190225031625_create_poll_votes.rb'
+    - 'db/migrate/20190226003449_add_poll_id_to_statuses.rb'
+    - 'db/migrate/20190304152020_add_uri_to_poll_votes.rb'
+    - 'db/migrate/20190306145741_add_lock_version_to_polls.rb'
+    - 'db/migrate/20190307234537_add_approved_to_users.rb'
+    - 'db/migrate/20190314181829_migrate_open_registrations_setting.rb'
+    - 'db/migrate/20190316190352_create_account_identity_proofs.rb'
+    - 'db/migrate/20190317135723_add_uri_to_reports.rb'
+    - 'db/migrate/20190403141604_add_comment_to_invites.rb'
+    - 'db/migrate/20190409054914_create_user_invite_requests.rb'
+    - 'db/migrate/20190420025523_add_blurhash_to_media_attachments.rb'
+    - 'db/migrate/20190509164208_add_by_moderator_to_tombstone.rb'
+    - 'db/migrate/20190511134027_add_silenced_at_suspended_at_to_accounts.rb'
+    - 'db/migrate/20190529143559_preserve_old_layout_for_existing_users.rb'
+    - 'db/migrate/20190627222225_create_custom_emoji_categories.rb'
+    - 'db/migrate/20190627222826_add_category_id_to_custom_emojis.rb'
+    - 'db/migrate/20190701022101_add_trust_level_to_accounts.rb'
+    - 'db/migrate/20190705002136_create_domain_allows.rb'
+    - 'db/migrate/20190715164535_add_instance_actor.rb'
+    - 'db/migrate/20190726175042_add_case_insensitive_index_to_tags.rb'
+    - 'db/migrate/20190729185330_add_score_to_tags.rb'
+    - 'db/migrate/20190805123746_add_capabilities_to_tags.rb'
+    - 'db/migrate/20190807135426_add_comments_to_domain_blocks.rb'
+    - 'db/migrate/20190815225426_add_last_status_at_to_tags.rb'
+    - 'db/migrate/20190819134503_add_deleted_at_to_statuses.rb'
+    - 'db/migrate/20190820003045_update_statuses_index.rb'
+    - 'db/migrate/20190823221802_add_local_index_to_statuses.rb'
+    - 'db/migrate/20190901035623_add_max_score_to_tags.rb'
+    - 'db/migrate/20190904222339_create_markers.rb'
+    - 'db/migrate/20190914202517_create_account_migrations.rb'
+    - 'db/migrate/20190915194355_create_account_aliases.rb'
+    - 'db/migrate/20190927232842_add_voters_count_to_polls.rb'
+    - 'db/migrate/20191001213028_add_lock_version_to_account_stats.rb'
+    - 'db/migrate/20191007013357_update_pt_locales.rb'
+    - 'db/migrate/20191031163205_change_list_account_follow_nullable.rb'
+    - 'db/migrate/20191212003415_increase_backup_size.rb'
+    - 'db/migrate/20191212163405_add_hide_collections_to_accounts.rb'
+    - 'db/migrate/20191218153258_create_announcements.rb'
+    - 'db/migrate/20200113125135_create_announcement_mutes.rb'
+    - 'db/migrate/20200114113335_create_announcement_reactions.rb'
+    - 'db/migrate/20200119112504_add_public_index_to_statuses.rb'
+    - 'db/migrate/20200126203551_add_published_at_to_announcements.rb'
+    - 'db/migrate/20200306035625_add_processing_to_media_attachments.rb'
+    - 'db/migrate/20200309150742_add_forwarded_to_reports.rb'
+    - 'db/migrate/20200312144258_add_title_to_account_warning_presets.rb'
+    - 'db/migrate/20200312162302_add_status_ids_to_announcements.rb'
+    - 'db/migrate/20200312185443_add_parent_id_to_email_domain_blocks.rb'
+    - 'db/migrate/20200317021758_add_expires_at_to_mutes.rb'
+    - 'db/migrate/20200407201300_create_unavailable_domains.rb'
+    - 'db/migrate/20200407202420_migrate_unavailable_inboxes.rb'
+    - 'db/migrate/20200417125749_add_storage_schema_version.rb'
+    - 'db/migrate/20200508212852_reset_unique_jobs_locks.rb'
+    - 'db/migrate/20200510110808_reset_web_app_secret.rb'
+    - 'db/migrate/20200510181721_remove_duplicated_indexes_pghero.rb'
+    - 'db/migrate/20200516180352_create_devices.rb'
+    - 'db/migrate/20200516183822_create_one_time_keys.rb'
+    - 'db/migrate/20200518083523_create_encrypted_messages.rb'
+    - 'db/migrate/20200521180606_encrypted_message_ids_to_timestamp_ids.rb'
+    - 'db/migrate/20200529214050_add_devices_url_to_accounts.rb'
+    - 'db/migrate/20200601222558_create_system_keys.rb'
+    - 'db/migrate/20200605155027_add_blurhash_to_preview_cards.rb'
+    - 'db/migrate/20200608113046_add_sign_in_token_to_users.rb'
+    - 'db/migrate/20200614002136_add_sensitized_to_accounts.rb'
+    - 'db/migrate/20200620164023_add_fixed_lowercase_index_to_accounts.rb'
+    - 'db/migrate/20200622213645_media_attachment_ids_to_timestamp_ids.rb'
+    - 'db/migrate/20200627125810_add_thumbnail_columns_to_media_attachments.rb'
+    - 'db/migrate/20200628133322_create_account_notes.rb'
+    - 'db/migrate/20200630190240_create_webauthn_credentials.rb'
+    - 'db/migrate/20200630190544_add_webauthn_id_to_users.rb'
+    - 'db/migrate/20200908193330_create_account_deletion_requests.rb'
+    - 'db/migrate/20200917192924_add_notify_to_follows.rb'
+    - 'db/migrate/20200917193034_add_type_to_notifications.rb'
+    - 'db/migrate/20200917222316_add_index_notifications_on_type.rb'
+    - 'db/migrate/20201008202037_create_ip_blocks.rb'
+    - 'db/migrate/20201008220312_add_sign_up_ip_to_users.rb'
+    - 'db/migrate/20201017233919_add_suspension_origin_to_accounts.rb'
+    - 'db/migrate/20201206004238_create_instances.rb'
+    - 'db/migrate/20201218054746_add_obfuscate_to_domain_blocks.rb'
+    - 'db/migrate/20210221045109_create_rules.rb'
+    - 'db/migrate/20210306164523_account_ids_to_timestamp_ids.rb'
+    - 'db/migrate/20210322164601_create_account_summaries.rb'
+    - 'db/migrate/20210323114347_create_follow_recommendations.rb'
+    - 'db/migrate/20210324171613_create_follow_recommendation_suppressions.rb'
+    - 'db/migrate/20210416200740_create_canonical_email_blocks.rb'
+    - 'db/migrate/20210421121431_add_case_insensitive_btree_index_to_tags.rb'
+    - 'db/migrate/20210425135952_add_index_on_media_attachments_account_id_status_id.rb'
+    - 'db/migrate/20210505174616_update_follow_recommendations_to_version_2.rb'
+    - 'db/migrate/20210609202149_create_login_activities.rb'
+    - 'db/migrate/20210616214526_create_user_ips.rb'
+    - 'db/migrate/20210621221010_add_skip_sign_in_token_to_users.rb'
+    - 'db/migrate/20210630000137_fix_canonical_email_blocks_foreign_key.rb'
+    - 'db/migrate/20210722120340_create_account_statuses_cleanup_policies.rb'
+    - 'db/migrate/20210904215403_add_edited_at_to_statuses.rb'
+    - 'db/migrate/20210908220918_create_status_edits.rb'
+    - 'db/migrate/20211031031021_create_preview_card_providers.rb'
+    - 'db/migrate/20211112011713_add_language_to_preview_cards.rb'
+    - 'db/migrate/20211115032527_add_trendable_to_preview_cards.rb'
+    - 'db/migrate/20211123212714_add_link_type_to_preview_cards.rb'
+    - 'db/migrate/20211213040746_update_account_summaries_to_version_2.rb'
+    - 'db/migrate/20211231080958_add_category_to_reports.rb'
+    - 'db/migrate/20220105163928_remove_mentions_status_id_index.rb'
+    - 'db/migrate/20220115125126_add_report_id_to_account_warnings.rb'
+    - 'db/migrate/20220115125341_fix_account_warning_actions.rb'
+    - 'db/migrate/20220116202951_add_deleted_at_index_on_statuses.rb'
+    - 'db/migrate/20220124141035_create_appeals.rb'
+    - 'db/migrate/20220202200743_add_trendable_to_accounts.rb'
+    - 'db/migrate/20220202200926_add_trendable_to_statuses.rb'
+    - 'db/migrate/20220210153119_add_overruled_at_to_account_warnings.rb'
+    - 'db/migrate/20220224010024_add_ips_to_email_domain_blocks.rb'
+    - 'db/migrate/20220227041951_add_last_used_at_to_oauth_access_tokens.rb'
+    - 'db/migrate/20220302232632_add_ordered_media_attachment_ids_to_statuses.rb'
+    - 'db/migrate/20220303000827_add_ordered_media_attachment_ids_to_status_edits.rb'
+    - 'db/migrate/20220304195405_migrate_hide_network_preference.rb'
+    - 'db/migrate/20220307094650_fix_featured_tags_constraints.rb'
+    - 'db/migrate/20220309213005_fix_reblog_deleted_at.rb'
+    - 'db/migrate/20220316233212_update_kurdish_locales.rb'
+    - 'db/migrate/20220428112511_add_index_statuses_on_account_id.rb'
+    - 'db/migrate/20220428112727_add_index_statuses_pins_on_status_id.rb'
+    - 'db/migrate/20220428114454_add_index_reports_on_assigned_account_id.rb'
+    - 'db/migrate/20220428114902_add_index_reports_on_action_taken_by_account_id.rb'
+    - 'db/migrate/20220606044941_create_webhooks.rb'
+    - 'db/migrate/20220611210335_create_user_roles.rb'
+    - 'db/migrate/20220611212541_add_role_id_to_users.rb'
+    - 'db/migrate/20220710102457_add_display_name_to_tags.rb'
+    - 'db/migrate/20220714171049_create_tag_follows.rb'
+    - 'db/migrate/20220824164433_add_human_identifier_to_admin_action_logs.rb'
+    - 'db/migrate/20220824233535_create_status_trends.rb'
+    - 'db/migrate/20220827195229_change_canonical_email_blocks_nullable.rb'
+    - 'db/migrate/20220829192633_add_languages_to_follows.rb'
+    - 'db/migrate/20220829192658_add_languages_to_follow_requests.rb'
+    - 'db/migrate/20221006061337_create_preview_card_trends.rb'
+    - 'db/migrate/20221012181003_add_blurhash_to_site_uploads.rb'
+    - 'db/migrate/20221021055441_add_index_featured_tags_on_account_id_and_tag_id.rb'
+    - 'db/migrate/20221025171544_add_index_ip_blocks_on_ip.rb'
+    - 'db/migrate/20221104133904_add_name_to_featured_tags.rb'
+    - 'db/post_migrate/20190519130537_remove_boosts_widening_audience.rb'
+    - 'db/post_migrate/20210308133107_remove_subscription_expires_at_from_accounts.rb'
+    - 'db/post_migrate/20220118183123_remove_rememberable_from_users.rb'
+    - 'db/seeds/01_web_app.rb'
+    - 'db/seeds/02_instance_actor.rb'
+    - 'db/seeds/03_roles.rb'
+    - 'db/seeds/04_admin.rb'
+    - 'lib/rails/engine_extensions.rb'
+    - 'lib/tasks/branding.rake'
+    - 'spec/fabricators_spec.rb'
 
-# Offense count: 34
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
 Style/GuardClause:
@@ -1966,7 +2153,6 @@ Style/GuardClause:
     - 'lib/paperclip/attachment_extensions.rb'
     - 'lib/tasks/repo.rake'
 
-# Offense count: 13
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: braces, no_braces
@@ -1982,7 +2168,6 @@ Style/HashAsLastArrayItem:
     - 'app/services/notify_service.rb'
     - 'db/migrate/20181024224956_migrate_account_conversations.rb'
 
-# Offense count: 12
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
 # SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
@@ -1996,14 +2181,12 @@ Style/HashSyntax:
     - 'spec/controllers/admin/statuses_controller_spec.rb'
     - 'spec/controllers/concerns/signature_verification_spec.rb'
 
-# Offense count: 3
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Style/HashTransformValues:
   Exclude:
     - 'app/serializers/rest/web_push_subscription_serializer.rb'
     - 'app/services/import_service.rb'
 
-# Offense count: 3
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: InverseMethods, InverseBlocks.
 Style/InverseMethods:
@@ -2012,13 +2195,11 @@ Style/InverseMethods:
     - 'app/services/update_account_service.rb'
     - 'spec/controllers/activitypub/replies_controller_spec.rb'
 
-# Offense count: 1
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Style/MapToHash:
   Exclude:
     - 'app/models/status.rb'
 
-# Offense count: 17
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: literals, strict
@@ -2035,13 +2216,13 @@ Style/MutableConstant:
     - 'lib/mastodon/snowflake.rb'
     - 'spec/controllers/api/base_controller_spec.rb'
 
-# Offense count: 10
 # Configuration parameters: AllowedMethods.
 # AllowedMethods: respond_to_missing?
 Style/OptionalBooleanParameter:
   Exclude:
     - 'app/helpers/admin/account_moderation_notes_helper.rb'
     - 'app/helpers/jsonld_helper.rb'
+    - 'app/lib/admin/system_check/message.rb'
     - 'app/lib/request.rb'
     - 'app/lib/webfinger.rb'
     - 'app/services/block_domain_service.rb'
@@ -2050,24 +2231,6 @@ Style/OptionalBooleanParameter:
     - 'app/workers/unfollow_follow_worker.rb'
     - 'lib/mastodon/redis_config.rb'
 
-# Offense count: 1
-# This cop supports unsafe autocorrection (--autocorrect-all).
-# Configuration parameters: EnforcedStyle.
-# SupportedStyles: short, verbose
-Style/PreferredHashMethods:
-  Exclude:
-    - 'spec/support/matchers/model/model_have_error_on_field.rb'
-
-# Offense count: 5
-# This cop supports unsafe autocorrection (--autocorrect-all).
-# Configuration parameters: Methods.
-Style/RedundantArgument:
-  Exclude:
-    - 'app/controllers/concerns/signature_verification.rb'
-    - 'app/helpers/application_helper.rb'
-    - 'lib/tasks/emojis.rake'
-
-# Offense count: 16
 # This cop supports safe autocorrection (--autocorrect).
 Style/RedundantRegexpCharacterClass:
   Exclude:
@@ -2079,7 +2242,6 @@ Style/RedundantRegexpCharacterClass:
     - 'lib/tasks/emojis.rake'
     - 'lib/tasks/mastodon.rake'
 
-# Offense count: 10
 # This cop supports safe autocorrection (--autocorrect).
 Style/RedundantRegexpEscape:
   Exclude:
@@ -2090,7 +2252,6 @@ Style/RedundantRegexpEscape:
     - 'lib/paperclip/color_extractor.rb'
     - 'lib/tasks/mastodon.rake'
 
-# Offense count: 19
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: EnforcedStyle, AllowInnerSlashes.
 # SupportedStyles: slashes, percent_r, mixed
@@ -2112,7 +2273,6 @@ Style/RegexpLiteral:
     - 'lib/mastodon/premailer_webpack_strategy.rb'
     - 'lib/tasks/mastodon.rake'
 
-# Offense count: 2
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength.
 # AllowedMethods: present?, blank?, presence, try, try!
@@ -2121,7 +2281,6 @@ Style/SafeNavigation:
     - 'app/models/concerns/account_finder_concern.rb'
     - 'app/models/status.rb'
 
-# Offense count: 5
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: AllowAsExpressionSeparator.
 Style/Semicolon:
@@ -2130,7 +2289,6 @@ Style/Semicolon:
     - 'spec/validators/blacklisted_email_validator_spec.rb'
     - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb'
 
-# Offense count: 2
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: only_raise, only_fail, semantic
@@ -2139,19 +2297,16 @@ Style/SignalException:
     - 'lib/devise/two_factor_ldap_authenticatable.rb'
     - 'lib/devise/two_factor_pam_authenticatable.rb'
 
-# Offense count: 3
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Style/SingleArgumentDig:
   Exclude:
     - 'lib/webpacker/manifest_extensions.rb'
 
-# Offense count: 14
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Style/SlicingWithRange:
   Exclude:
     - 'app/lib/emoji_formatter.rb'
     - 'app/lib/text_formatter.rb'
-    - 'app/lib/toc_generator.rb'
     - 'app/models/account_alias.rb'
     - 'app/models/domain_block.rb'
     - 'app/models/email_domain_block.rb'
@@ -2161,3 +2316,9 @@ Style/SlicingWithRange:
     - 'lib/active_record/batches.rb'
     - 'lib/mastodon/premailer_webpack_strategy.rb'
     - 'lib/tasks/repo.rake'
+
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
+# URISchemes: http, https
+Layout/LineLength:
+  Max: 701
diff --git a/Gemfile b/Gemfile
index d00f981d1..fad2fd5ab 100644
--- a/Gemfile
+++ b/Gemfile
@@ -120,7 +120,7 @@ group :test do
   gem 'climate_control'
   gem 'faker', '~> 3.1'
   gem 'json-schema', '~> 3.0'
-  gem 'rack-test', '~> 2.0'
+  gem 'rack-test', '~> 2.1'
   gem 'rails-controller-testing', '~> 1.0'
   gem 'rspec_junit_formatter', '~> 0.6'
   gem 'rspec-sidekiq', '~> 3.1'
@@ -129,11 +129,9 @@ group :test do
 end
 
 group :development do
-  gem 'active_record_query_trace', '~> 1.8'
   gem 'annotate', '~> 3.2'
   gem 'better_errors', '~> 2.9'
   gem 'binding_of_caller', '~> 1.0'
-  gem 'bullet', '~> 7.0'
   gem 'letter_opener', '~> 1.8'
   gem 'letter_opener_web', '~> 2.0'
   gem 'memory_profiler'
diff --git a/Gemfile.lock b/Gemfile.lock
index 31e3e5f24..6436f0ed6 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -73,7 +73,6 @@ GEM
       activemodel (>= 4.1, < 7.1)
       case_transform (>= 0.2)
       jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
-    active_record_query_trace (1.8)
     activejob (6.1.7.3)
       activesupport (= 6.1.7.3)
       globalid (>= 0.3.6)
@@ -149,9 +148,6 @@ GEM
       concurrent-ruby (~> 1.0, >= 1.0.5)
       redis (>= 1.0, < 6)
     builder (3.2.4)
-    bullet (7.0.7)
-      activesupport (>= 3.0.0)
-      uniform_notifier (~> 1.11)
     bundler-audit (0.9.1)
       bundler (>= 1.2.0, < 3)
       thor (~> 1.0)
@@ -524,7 +520,7 @@ GEM
       rack (>= 2.1.0)
     rack-proxy (0.7.6)
       rack
-    rack-test (2.0.2)
+    rack-test (2.1.0)
       rack (>= 1.3)
     rails (6.1.7.3)
       actioncable (= 6.1.7.3)
@@ -729,7 +725,6 @@ GEM
       unf_ext
     unf_ext (0.0.8.2)
     unicode-display_width (2.4.2)
-    uniform_notifier (1.16.0)
     uri (0.12.0)
     validate_email (0.1.6)
       activemodel (>= 3.0)
@@ -774,7 +769,6 @@ PLATFORMS
 
 DEPENDENCIES
   active_model_serializers (~> 0.10)
-  active_record_query_trace (~> 1.8)
   addressable (~> 2.8)
   annotate (~> 3.2)
   aws-sdk-s3 (~> 1.119)
@@ -784,7 +778,6 @@ DEPENDENCIES
   bootsnap (~> 1.16.0)
   brakeman (~> 5.4)
   browser
-  bullet (~> 7.0)
   bundler-audit (~> 0.9)
   capistrano (~> 3.17)
   capistrano-rails (~> 1.6)
@@ -859,7 +852,7 @@ DEPENDENCIES
   rack (~> 2.2.6)
   rack-attack (~> 6.6)
   rack-cors (~> 1.1)
-  rack-test (~> 2.0)
+  rack-test (~> 2.1)
   rails (~> 6.1.7)
   rails-controller-testing (~> 1.0)
   rails-i18n (~> 6.0)
diff --git a/app/controllers/api/v1/instances/translation_languages_controller.rb b/app/controllers/api/v1/instances/translation_languages_controller.rb
new file mode 100644
index 000000000..3910a499e
--- /dev/null
+++ b/app/controllers/api/v1/instances/translation_languages_controller.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+class Api::V1::Instances::TranslationLanguagesController < Api::BaseController
+  skip_before_action :require_authenticated_user!, unless: :whitelist_mode?
+
+  before_action :set_languages
+
+  def show
+    expires_in 1.day, public: true
+    render json: @languages
+  end
+
+  private
+
+  def set_languages
+    if TranslationService.configured?
+      @languages = Rails.cache.fetch('translation_service/languages', expires_in: 7.days, race_condition_ttl: 1.hour) { TranslationService.configured.languages }
+      @languages['und'] = @languages.delete(nil) if @languages.key?(nil)
+    else
+      @languages = {}
+    end
+  end
+end
diff --git a/app/controllers/backups_controller.rb b/app/controllers/backups_controller.rb
new file mode 100644
index 000000000..2f4b400b8
--- /dev/null
+++ b/app/controllers/backups_controller.rb
@@ -0,0 +1,27 @@
+# frozen_string_literal: true
+
+class BackupsController < ApplicationController
+  include RoutingHelper
+
+  skip_before_action :require_functional!
+
+  before_action :authenticate_user!
+  before_action :set_backup
+
+  def download
+    case Paperclip::Attachment.default_options[:storage]
+    when :s3
+      redirect_to @backup.dump.expiring_url(10)
+    when :fog
+      redirect_to @backup.dump.expiring_url(Time.now.utc + 10)
+    when :filesystem
+      redirect_to full_asset_url(@backup.dump.url)
+    end
+  end
+
+  private
+
+  def set_backup
+    @backup = current_user.backups.find(params[:id])
+  end
+end
diff --git a/app/controllers/concerns/signature_verification.rb b/app/controllers/concerns/signature_verification.rb
index b0a087d53..931725943 100644
--- a/app/controllers/concerns/signature_verification.rb
+++ b/app/controllers/concerns/signature_verification.rb
@@ -138,7 +138,7 @@ module SignatureVerification
   end
 
   def signed_headers
-    signature_params.fetch('headers', signature_algorithm == 'hs2019' ? '(created)' : 'date').downcase.split(' ')
+    signature_params.fetch('headers', signature_algorithm == 'hs2019' ? '(created)' : 'date').downcase.split
   end
 
   def verify_signature_strength!
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 0605457e8..2cac2de59 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -112,7 +112,7 @@ module ApplicationHelper
   def fa_icon(icon, attributes = {})
     class_names = attributes[:class]&.split(' ') || []
     class_names << 'fa'
-    class_names += icon.split(' ').map { |cl| "fa-#{cl}" }
+    class_names += icon.split.map { |cl| "fa-#{cl}" }
 
     content_tag(:i, nil, attributes.merge(class: class_names.join(' ')))
   end
@@ -164,7 +164,7 @@ module ApplicationHelper
   end
 
   def body_classes
-    output = (@body_classes || '').split(' ')
+    output = (@body_classes || '').split
     output << "flavour-#{current_flavour.parameterize}"
     output << "skin-#{current_skin.parameterize}"
     output << 'system-font' if current_account&.user&.setting_system_font_ui
diff --git a/app/javascript/mastodon/actions/server.js b/app/javascript/mastodon/actions/server.js
index 31d4aea10..091af0f0f 100644
--- a/app/javascript/mastodon/actions/server.js
+++ b/app/javascript/mastodon/actions/server.js
@@ -5,6 +5,10 @@ export const SERVER_FETCH_REQUEST = 'Server_FETCH_REQUEST';
 export const SERVER_FETCH_SUCCESS = 'Server_FETCH_SUCCESS';
 export const SERVER_FETCH_FAIL    = 'Server_FETCH_FAIL';
 
+export const SERVER_TRANSLATION_LANGUAGES_FETCH_REQUEST = 'SERVER_TRANSLATION_LANGUAGES_FETCH_REQUEST';
+export const SERVER_TRANSLATION_LANGUAGES_FETCH_SUCCESS = 'SERVER_TRANSLATION_LANGUAGES_FETCH_SUCCESS';
+export const SERVER_TRANSLATION_LANGUAGES_FETCH_FAIL    = 'SERVER_TRANSLATION_LANGUAGES_FETCH_FAIL';
+
 export const EXTENDED_DESCRIPTION_REQUEST = 'EXTENDED_DESCRIPTION_REQUEST';
 export const EXTENDED_DESCRIPTION_SUCCESS = 'EXTENDED_DESCRIPTION_SUCCESS';
 export const EXTENDED_DESCRIPTION_FAIL    = 'EXTENDED_DESCRIPTION_FAIL';
@@ -37,6 +41,29 @@ const fetchServerFail = error => ({
   error,
 });
 
+export const fetchServerTranslationLanguages = () => (dispatch, getState) => {
+  dispatch(fetchServerTranslationLanguagesRequest());
+
+  api(getState)
+    .get('/api/v1/instance/translation_languages').then(({ data }) => {
+      dispatch(fetchServerTranslationLanguagesSuccess(data));
+    }).catch(err => dispatch(fetchServerTranslationLanguagesFail(err)));
+};
+
+const fetchServerTranslationLanguagesRequest = () => ({
+  type: SERVER_TRANSLATION_LANGUAGES_FETCH_REQUEST,
+});
+
+const fetchServerTranslationLanguagesSuccess = translationLanguages => ({
+  type: SERVER_TRANSLATION_LANGUAGES_FETCH_SUCCESS,
+  translationLanguages,
+});
+
+const fetchServerTranslationLanguagesFail = error => ({
+  type: SERVER_TRANSLATION_LANGUAGES_FETCH_FAIL,
+  error,
+});
+
 export const fetchExtendedDescription = () => (dispatch, getState) => {
   dispatch(fetchExtendedDescriptionRequest());
 
diff --git a/app/javascript/mastodon/components/status_content.jsx b/app/javascript/mastodon/components/status_content.jsx
index f9c9fe079..67a487b00 100644
--- a/app/javascript/mastodon/components/status_content.jsx
+++ b/app/javascript/mastodon/components/status_content.jsx
@@ -3,6 +3,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 import PropTypes from 'prop-types';
 import { FormattedMessage, injectIntl } from 'react-intl';
 import { Link } from 'react-router-dom';
+import { connect } from 'react-redux';
 import classnames from 'classnames';
 import PollContainer from 'mastodon/containers/poll_container';
 import Icon from 'mastodon/components/icon';
@@ -47,7 +48,12 @@ class TranslateButton extends React.PureComponent {
 
 }
 
-export default @injectIntl
+const mapStateToProps = state => ({
+  languages: state.getIn(['server', 'translationLanguages', 'items']),
+});
+
+export default @connect(mapStateToProps)
+@injectIntl
 class StatusContent extends React.PureComponent {
 
   static contextTypes = {
@@ -63,6 +69,7 @@ class StatusContent extends React.PureComponent {
     onClick: PropTypes.func,
     collapsable: PropTypes.bool,
     onCollapsedToggle: PropTypes.func,
+    languages: ImmutablePropTypes.map,
     intl: PropTypes.object,
   };
 
@@ -220,7 +227,9 @@ class StatusContent extends React.PureComponent {
 
     const hidden = this.props.onExpandedToggle ? !this.props.expanded : this.state.hidden;
     const renderReadMore = this.props.onClick && status.get('collapsed');
-    const renderTranslate = this.props.onTranslate && status.get('translatable');
+    const contentLocale = intl.locale.replace(/[_-].*/, '');
+    const targetLanguages = this.props.languages?.get(status.get('language') || 'und');
+    const renderTranslate = this.props.onTranslate && this.context.identity.signedIn && ['public', 'unlisted'].includes(status.get('visibility')) && status.get('contentHtml').length > 0 && targetLanguages?.includes(contentLocale);
 
     const content = { __html: status.get('translation') ? status.getIn(['translation', 'content']) : status.get('contentHtml') };
     const spoilerContent = { __html: status.get('spoilerHtml') };
diff --git a/app/javascript/mastodon/features/ui/index.jsx b/app/javascript/mastodon/features/ui/index.jsx
index 2dd59f95d..083707220 100644
--- a/app/javascript/mastodon/features/ui/index.jsx
+++ b/app/javascript/mastodon/features/ui/index.jsx
@@ -13,7 +13,7 @@ import { debounce } from 'lodash';
 import { uploadCompose, resetCompose, changeComposeSpoilerness } from '../../actions/compose';
 import { expandHomeTimeline } from '../../actions/timelines';
 import { expandNotifications } from '../../actions/notifications';
-import { fetchServer } from '../../actions/server';
+import { fetchServer, fetchServerTranslationLanguages } from '../../actions/server';
 import { clearHeight } from '../../actions/height_cache';
 import { focusApp, unfocusApp, changeLayout } from 'mastodon/actions/app';
 import { synchronouslySubmitMarkers, submitMarkers, fetchMarkers } from 'mastodon/actions/markers';
@@ -399,6 +399,7 @@ class UI extends React.PureComponent {
       this.props.dispatch(fetchMarkers());
       this.props.dispatch(expandHomeTimeline());
       this.props.dispatch(expandNotifications());
+      this.props.dispatch(fetchServerTranslationLanguages());
 
       setTimeout(() => this.props.dispatch(fetchServer()), 3000);
     }
diff --git a/app/javascript/mastodon/locales/af.json b/app/javascript/mastodon/locales/af.json
index 7d7724618..c04cae948 100644
--- a/app/javascript/mastodon/locales/af.json
+++ b/app/javascript/mastodon/locales/af.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Blokkeer die hele domein",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Teken Uit",
   "confirmations.logout.message": "Is jy seker jy wil uitteken?",
   "confirmations.mute.confirm": "Mute",
diff --git a/app/javascript/mastodon/locales/an.json b/app/javascript/mastodon/locales/an.json
index 389c512fe..9f66c8d13 100644
--- a/app/javascript/mastodon/locales/an.json
+++ b/app/javascript/mastodon/locales/an.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Tiens cambios sin alzar en a descripción u vista previa d'o fichero audiovisual, descartar-los de totz modos?",
   "confirmations.domain_block.confirm": "Amagar dominio entero",
   "confirmations.domain_block.message": "Yes seguro que quiers blocar lo dominio {domain} entero? En cheneral ye prou, y preferible, fer uns quantos bloqueyos y silenciaus concretos. Los tuyos seguidros d'ixe dominio serán eliminaus.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Zarrar sesión",
   "confirmations.logout.message": "Yes seguro de querer zarrar la sesión?",
   "confirmations.mute.confirm": "Silenciar",
diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json
index cf5dfb55b..d7d3baf4e 100644
--- a/app/javascript/mastodon/locales/ar.json
+++ b/app/javascript/mastodon/locales/ar.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "لديك تغييرات غير محفوظة لوصف الوسائط أو معاينتها، تجاهلها على أي حال؟",
   "confirmations.domain_block.confirm": "حظر اِسم النِّطاق بشكلٍ كامل",
   "confirmations.domain_block.message": "متأكد من أنك تود حظر اسم النطاق {domain} بالكامل ؟ في غالب الأحيان يُستَحسَن كتم أو حظر بعض الحسابات بدلا من حظر نطاق بالكامل.\nلن تتمكن مِن رؤية محتوى هذا النطاق لا على خيوطك العمومية و لا في إشعاراتك. سوف يتم كذلك إزالة كافة متابعيك المنتمين إلى هذا النطاق.",
+  "confirmations.edit.confirm": "تعديل",
+  "confirmations.edit.message": "التعديل في الحين سوف يُعيد كتابة الرسالة التي أنت بصدد تحريرها. متأكد من أنك تريد المواصلة؟",
   "confirmations.logout.confirm": "خروج",
   "confirmations.logout.message": "متأكد من أنك تريد الخروج؟",
   "confirmations.mute.confirm": "أكتم",
diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json
index 018d950d7..2881911a6 100644
--- a/app/javascript/mastodon/locales/ast.json
+++ b/app/javascript/mastodon/locales/ast.json
@@ -38,7 +38,7 @@
   "account.follows.empty": "Esti perfil entá nun sigue a naide.",
   "account.follows_you": "Síguete",
   "account.go_to_profile": "Go to profile",
-  "account.hide_reblogs": "Hide boosts from @{name}",
+  "account.hide_reblogs": "Anubrir los artículos compartíos de @{name}",
   "account.joined_short": "Data de xunión",
   "account.languages": "Change subscribed languages",
   "account.link_verified_on": "Ownership of this link was checked on {date}",
@@ -65,7 +65,7 @@
   "account.unfollow": "Dexar de siguir",
   "account.unmute": "Activar los avisos de @{name}",
   "account.unmute_notifications": "Activar los avisos de @{name}",
-  "account.unmute_short": "Unmute",
+  "account.unmute_short": "Activar los avisos",
   "account_note.placeholder": "Calca equí p'amestar una nota",
   "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
   "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Bloquiar tol dominiu",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "La edición va sobrescribir el mensaxe que tas escribiendo. ¿De xuru que quies siguir?",
   "confirmations.logout.confirm": "Zarrar la sesión",
   "confirmations.logout.message": "¿De xuru que quies zarrar la sesión?",
   "confirmations.mute.confirm": "Mute",
@@ -213,7 +215,7 @@
   "empty_column.account_unavailable": "Profile unavailable",
   "empty_column.blocks": "Entá nun bloquiesti a nengún perfil.",
   "empty_column.bookmarked_statuses": "Entá nun tienes nengún artículu en Marcadores. Cuando amiestes dalgún, apaez equí.",
-  "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
+  "empty_column.community": "La llinia de tiempu llocal ta balera. ¡Espubliza daqué públicamente pa comenzar l'alderique!",
   "empty_column.direct": "Entá nun tienes nengún mensaxe direutu. Cuando unvies o recibas dalgún, apaez equí.",
   "empty_column.domain_blocks": "Entá nun hai nengún dominiu bloquiáu.",
   "empty_column.explore_statuses": "Agora nun hai nada en tendencia. ¡Volvi equí dempués!",
@@ -233,7 +235,7 @@
   "error.unexpected_crash.explanation": "Pola mor d'un fallu nel códigu o un problema de compatibilidá del restolador, esta páxina nun se pudo amosar correutamente.",
   "error.unexpected_crash.explanation_addons": "Esta páxina nun se pudo amosar correutamente. Ye probable que dalgún complementu del restolador o dalguna ferramienta de traducción automática produxere esti error.",
   "error.unexpected_crash.next_steps": "Prueba a anovar la páxina. Si nun sirve, ye posible que tovía seyas a usar Mastodon pente otru restolador o una aplicación nativa.",
-  "error.unexpected_crash.next_steps_addons": "Try disabling them and refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
+  "error.unexpected_crash.next_steps_addons": "Prueba a desactivalos ya a anovar la páxina. Si nun sirve, ye posible que tovía seyas a usar Mastodon pente otru restolador o una aplicación nativa.",
   "errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
   "errors.unexpected_crash.report_issue": "Report issue",
   "explore.search_results": "Resultaos de la busca",
@@ -274,7 +276,7 @@
   "footer.source_code": "Ver el códigu fonte",
   "footer.status": "Estáu",
   "generic.saved": "Guardóse",
-  "getting_started.heading": "Getting started",
+  "getting_started.heading": "Comienzu",
   "hashtag.column_header.tag_mode.all": "y {additional}",
   "hashtag.column_header.tag_mode.any": "o {additional}",
   "hashtag.column_header.tag_mode.none": "ensin {additional}",
@@ -491,7 +493,7 @@
   "report.comment.title": "¿Hai daqué más qu'habríemos saber?",
   "report.forward": "Reunviar a {target}",
   "report.forward_hint": "La cuenta ye d'otru sirvidor. ¿Quies unviar a esi sirvidor una copia anónima del informe?",
-  "report.mute": "Mute",
+  "report.mute": "Desactivar los avisos",
   "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
   "report.next": "Siguiente",
   "report.placeholder": "Comentarios adicionales",
@@ -508,11 +510,11 @@
   "report.statuses.subtitle": "Select all that apply",
   "report.statuses.title": "¿Hai dalgún artículu qu'apoye esti informe?",
   "report.submit": "Unviar",
-  "report.target": "Report {target}",
+  "report.target": "Informe de: {target}",
   "report.thanks.take_action": "Equí tienes les opciones pa controlar qué ves en Mastodon:",
-  "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
-  "report.thanks.title": "Don't want to see this?",
-  "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
+  "report.thanks.take_action_actionable": "Mentanto revisamos esti informe, pues tomar midíes contra @{name}:",
+  "report.thanks.title": "¿Nun quies ver esti conteníu?",
+  "report.thanks.title_actionable": "Gracies pol informe, el casu xá ta n'investigación.",
   "report.unfollow": "Dexar de siguir a @{name}",
   "report.unfollow_explanation": "Sigues a esta cuenta. Pa dexar de ver los sos artículos nel to feed d'aniciu, dexa de siguila.",
   "report_notification.attached_statuses": "{count, plural, one {Axuntóse {count} artículu} other {Axuntáronse {count} artículos}}",
diff --git a/app/javascript/mastodon/locales/be.json b/app/javascript/mastodon/locales/be.json
index 08aa5ef3b..05c328f6a 100644
--- a/app/javascript/mastodon/locales/be.json
+++ b/app/javascript/mastodon/locales/be.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "У вас ёсць незахаваныя змены ў апісанні або прэв'ю, усе роўна скасаваць іх?",
   "confirmations.domain_block.confirm": "Заблакіраваць дамен цалкам",
   "confirmations.domain_block.message": "Вы абсалютна дакладна ўпэўнены, што хочаце заблакіраваць {domain} зусім? У большасці выпадкаў, дастаткова некалькіх мэтавых блакіровак ці ігнараванняў. Вы перастанеце бачыць змесціва з гэтага дамену ва ўсіх стужках і апавяшчэннях. Вашы падпіскі з гэтага дамену будуць выдаленыя.",
+  "confirmations.edit.confirm": "Рэдагаваць",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Выйсці",
   "confirmations.logout.message": "Вы ўпэўненыя, што хочаце выйсці?",
   "confirmations.mute.confirm": "Ігнараваць",
@@ -203,7 +205,7 @@
   "emoji_button.not_found": "Адпаведныя эмодзі не знойдзены",
   "emoji_button.objects": "Прадметы",
   "emoji_button.people": "Людзі",
-  "emoji_button.recent": "Карыстаныя найчасцей",
+  "emoji_button.recent": "Чата выкарыстаныя",
   "emoji_button.search": "Пошук...",
   "emoji_button.search_results": "Вынікі пошуку",
   "emoji_button.symbols": "Сімвалы",
@@ -354,10 +356,10 @@
   "lists.edit.submit": "Змяніць назву",
   "lists.new.create": "Дадаць спіс",
   "lists.new.title_placeholder": "Назва новага спіса",
-  "lists.replies_policy.followed": "Любы карыстальнік, за якім вы падпісаліся",
+  "lists.replies_policy.followed": "Любы карыстальнік, на якога вы падпісаліся",
   "lists.replies_policy.list": "Удзельнікі гэтага спісу",
   "lists.replies_policy.none": "Нікога",
-  "lists.replies_policy.title": "Паказаць адказы да:",
+  "lists.replies_policy.title": "Паказваць адказы:",
   "lists.search": "Шукайце сярод людзей, на якіх Вы падпісаны",
   "lists.subheading": "Вашыя спісы",
   "load_pending": "{count, plural, one {# новы элемент} few {# новыя элементы} many {# новых элементаў} other {# новых элементаў}}",
diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json
index cd6baafac..248fd1ccb 100644
--- a/app/javascript/mastodon/locales/bg.json
+++ b/app/javascript/mastodon/locales/bg.json
@@ -18,7 +18,7 @@
   "account.block": "Блокиране на @{name}",
   "account.block_domain": "Блокиране на домейн {domain}",
   "account.blocked": "Блокирани",
-  "account.browse_more_on_origin_server": "Разглеждане на още в първообразния профил",
+  "account.browse_more_on_origin_server": "Разглеждане на още в оригиналния профил",
   "account.cancel_follow_request": "Оттегляне на заявката за последване",
   "account.direct": "Директно съобщение до @{name}",
   "account.disable_notifications": "Сприране на известия при публикуване от @{name}",
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Не сте запазили промени на описанието или огледа на мултимедията, отхвърляте ли ги?",
   "confirmations.domain_block.confirm": "Блокиране на целия домейн",
   "confirmations.domain_block.message": "Наистина ли искате да блокирате целия {domain}? В повечето случаи няколко блокирания или заглушавания са достатъчно и за предпочитане. Няма да виждате съдържание от домейна из публични часови оси или известията си. Вашите последователи от този домейн ще се премахнат.",
+  "confirmations.edit.confirm": "Редактиране",
+  "confirmations.edit.message": "Редактирането сега ще замени съобщението, което в момента съставяте. Сигурни ли сте, че искате да продължите?",
   "confirmations.logout.confirm": "Излизане",
   "confirmations.logout.message": "Наистина ли искате да излезете?",
   "confirmations.mute.confirm": "Заглушаване",
@@ -353,7 +355,7 @@
   "lists.edit": "Промяна на списъка",
   "lists.edit.submit": "Промяна на заглавие",
   "lists.new.create": "Добавяне на списък",
-  "lists.new.title_placeholder": "Име на нов списък",
+  "lists.new.title_placeholder": "Ново заглавие на списъка",
   "lists.replies_policy.followed": "Някой последван потребител",
   "lists.replies_policy.list": "Членуващите в списъка",
   "lists.replies_policy.none": "Никого",
diff --git a/app/javascript/mastodon/locales/bn.json b/app/javascript/mastodon/locales/bn.json
index 07609a478..7da6f78dc 100644
--- a/app/javascript/mastodon/locales/bn.json
+++ b/app/javascript/mastodon/locales/bn.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "এই ডোমেন থেকে সব লুকান",
   "confirmations.domain_block.message": "আপনি কি সত্যিই সত্যই নিশ্চিত যে আপনি পুরো {domain}'টি ব্লক করতে চান? বেশিরভাগ ক্ষেত্রে কয়েকটি লক্ষ্যযুক্ত ব্লক বা নীরবতা যথেষ্ট এবং পছন্দসই। আপনি কোনও পাবলিক টাইমলাইন বা আপনার বিজ্ঞপ্তিগুলিতে সেই ডোমেন থেকে সামগ্রী দেখতে পাবেন না। সেই ডোমেন থেকে আপনার অনুসরণকারীদের সরানো হবে।",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "প্রস্থান",
   "confirmations.logout.message": "আপনি লগ আউট করতে চান?",
   "confirmations.mute.confirm": "সরিয়ে ফেলুন",
diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json
index bb19a0452..5cc331af4 100644
--- a/app/javascript/mastodon/locales/br.json
+++ b/app/javascript/mastodon/locales/br.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Bez ez eus kemmoù n'int ket enrollet e deskrivadur ar media pe ar rakwel, nullañ anezho evelato?",
   "confirmations.domain_block.confirm": "Berzañ an domani a-bezh",
   "confirmations.domain_block.message": "Ha sur oc'h e fell deoc'h berzañ an {domain} a-bezh? Peurvuiañ eo trawalc'h berzañ pe mudañ un nebeud implijer·ezed·ien. Ne welot danvez ebet o tont eus an domani-mañ. Dilamet e vo ar c'houmanantoù war an domani-mañ.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Digevreañ",
   "confirmations.logout.message": "Ha sur oc'h e fell deoc'h digevreañ ?",
   "confirmations.mute.confirm": "Kuzhat",
diff --git a/app/javascript/mastodon/locales/bs.json b/app/javascript/mastodon/locales/bs.json
index bd89ec9fd..d67f73c00 100644
--- a/app/javascript/mastodon/locales/bs.json
+++ b/app/javascript/mastodon/locales/bs.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Log out",
   "confirmations.logout.message": "Are you sure you want to log out?",
   "confirmations.mute.confirm": "Mute",
diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json
index 381deaa0c..ebfafcbd3 100644
--- a/app/javascript/mastodon/locales/ca.json
+++ b/app/javascript/mastodon/locales/ca.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Tens canvis no desats en la descripció del contingut o en la previsualització, els vols descartar?",
   "confirmations.domain_block.confirm": "Bloca el domini sencer",
   "confirmations.domain_block.message": "Segur que vols blocar {domain} del tot? En la majoria dels casos, només amb blocar o silenciar uns pocs comptes n'hi ha prou i és millor. No veuràs el contingut d’aquest domini en cap de les línies de temps ni en les notificacions. S'eliminaran els teus seguidors d’aquest domini.",
+  "confirmations.edit.confirm": "Edita",
+  "confirmations.edit.message": "Editant ara sobreescriuràs el missatge que estàs editant. Segur que vols continuar?",
   "confirmations.logout.confirm": "Tanca la sessió",
   "confirmations.logout.message": "Segur que vols tancar la sessió?",
   "confirmations.mute.confirm": "Silencia",
@@ -437,7 +439,7 @@
   "notifications.group": "{count} notificacions",
   "notifications.mark_as_read": "Marca cada notificació com a llegida",
   "notifications.permission_denied": "Les notificacions d’escriptori no estan disponibles perquè prèviament s’ha denegat el permís al navegador",
-  "notifications.permission_denied_alert": "No es poden activar les notificacions de l'escriptori perquè el permís del navegador ha estat denegat abans",
+  "notifications.permission_denied_alert": "No es poden activar les notificacions de l'escriptori perquè abans s'ha denegat el permís del navegador",
   "notifications.permission_required": "Les notificacions d'escriptori no estan disponibles perquè el permís requerit no ha estat concedit.",
   "notifications_permission_banner.enable": "Activa les notificacions d’escriptori",
   "notifications_permission_banner.how_to_control": "Per a rebre notificacions quan Mastodon no és obert cal activar les notificacions d’escriptori. Pots controlar amb precisió quins tipus d’interaccions generen notificacions d’escriptori després d’activar el botó {icon} de dalt.",
diff --git a/app/javascript/mastodon/locales/ckb.json b/app/javascript/mastodon/locales/ckb.json
index 8349e34bc..7623b5b99 100644
--- a/app/javascript/mastodon/locales/ckb.json
+++ b/app/javascript/mastodon/locales/ckb.json
@@ -54,7 +54,7 @@
   "account.posts_with_replies": "توتس و وەڵامەکان",
   "account.report": "گوزارشت @{name}",
   "account.requested": "چاوەڕێی ڕەزامەندین. کرتە بکە بۆ هەڵوەشاندنەوەی داواکاری شوێنکەوتن",
-  "account.requested_follow": "{name} has requested to follow you",
+  "account.requested_follow": "{name} داوای کردووە شوێنت بکەوێت",
   "account.share": "پرۆفایلی @{name} هاوبەش بکە",
   "account.show_reblogs": "پیشاندانی بەرزکردنەوەکان لە @{name}",
   "account.statuses_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
@@ -128,7 +128,7 @@
   "compose.language.search": "گەڕان بە زمانەکان...",
   "compose_form.direct_message_warning_learn_more": "زیاتر فێربه",
   "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
-  "compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
+  "compose_form.hashtag_warning": "ئەم بڵاوکراوەیە لە ژێر هیچ هاشتاگێکدا دا نانرێت وەک ئەوەیە، کە گشتی نەبێت. تەنها بڵاوکراوە گشتیەکان دەتوانرێ بە هاشتاگ گەڕانی بۆ بکرێت.",
   "compose_form.lock_disclaimer": "هەژمێرەکەی لە حاڵەتی {locked}. هەر کەسێک دەتوانێت شوێنت بکەوێت بۆ پیشاندانی بابەتەکانی تەنها دوایخۆی.",
   "compose_form.lock_disclaimer.lock": "قفڵ دراوە",
   "compose_form.placeholder": "چی لە مێشکتدایە?",
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "گۆڕانکاریت لە وەسف یان پێشبینی میدیادا هەڵنەگیراوە، بەهەر حاڵ فڕێیان بدە؟",
   "confirmations.domain_block.confirm": "بلۆککردنی هەموو دۆمەینەکە",
   "confirmations.domain_block.message": "ئایا بەڕاستی، بەڕاستی تۆ دەتەوێت هەموو {domain} بلۆک بکەیت؟ لە زۆربەی حاڵەتەکاندا چەند بلۆکێکی ئامانجدار یان بێدەنگەکان پێویست و پەسەندن. تۆ ناوەڕۆک ێک نابینیت لە دۆمەینەکە لە هیچ هێڵی کاتی گشتی یان ئاگانامەکانت. شوێنکەوتوانی تۆ لەو دۆمەینەوە لادەبرێن.",
+  "confirmations.edit.confirm": "دەستکاری",
+  "confirmations.edit.message": "دەستکاری کردنی ئێستا: دەبێتە هۆی نووسینەوەی ئەو پەیامەی، کە ئێستا داتدەڕشت. ئایا دڵنیای، کە دەتەوێت بەردەوام بیت؟",
   "confirmations.logout.confirm": "چوونە دەرەوە",
   "confirmations.logout.message": "ئایا دڵنیایت لەوەی دەتەوێت بچیتە دەرەوە?",
   "confirmations.mute.confirm": "بێدەنگ",
@@ -221,7 +223,7 @@
   "empty_column.favourites": "کەس ئەم توتەی دڵخواز نەکردووە،کاتێک کەسێک وا بکات، لێرە دەرئەکەون.",
   "empty_column.follow_recommendations": "پێدەچێت هیچ پێشنیارێک بۆ تۆ دروست نەکرێت. دەتوانیت هەوڵبدەیت گەڕان بەکاربهێنیت بۆ گەڕان بەدوای ئەو کەسانەی کە ڕەنگە بیانناسیت یان بەدوای هاشتاگە ڕەوتەکاندا بگەڕێیت.",
   "empty_column.follow_requests": "تۆ هێشتا هیچ داواکارییەکی بەدواداچووت نیە. کاتێک یەکێکت بۆ هات، لێرە دەرئەکەویت.",
-  "empty_column.followed_tags": "You have not followed any hashtags yet. When you do, they will show up here.",
+  "empty_column.followed_tags": "تۆ هێشتا شوێن هیچ هاشتاگێک نەکەوتوویت. کاتێک کردت، ئەوان لێرە دەردەکەون.",
   "empty_column.hashtag": "هێشتا هیچ شتێک لەم هاشتاگەدا نییە.",
   "empty_column.home": "تایم لاینی ماڵەوەت بەتاڵە! سەردانی {public} بکە یان گەڕان بەکاربێنە بۆ دەستپێکردن و بینینی بەکارهێنەرانی تر.",
   "empty_column.home.suggestions": "چەند پێشنیارێک ببینە",
@@ -237,42 +239,42 @@
   "errors.unexpected_crash.copy_stacktrace": "کۆپیکردنی ستێکتراسی بۆ کلیپ بۆرد",
   "errors.unexpected_crash.report_issue": "کێشەی گوزارشت",
   "explore.search_results": "ئەنجامەکانی گەڕان",
-  "explore.suggested_follows": "For you",
+  "explore.suggested_follows": "بۆ تۆ",
   "explore.title": "گەڕان",
-  "explore.trending_links": "News",
-  "explore.trending_statuses": "Posts",
-  "explore.trending_tags": "Hashtags",
+  "explore.trending_links": "هەواڵەکان",
+  "explore.trending_statuses": "بڵاوکراوەکان",
+  "explore.trending_tags": "هاشتاگەکان",
   "filter_modal.added.context_mismatch_explanation": "ئەم پۆلە فلتەرە ئەو چوارچێوەیە ناگرێتەوە کە تۆ تێیدا دەستت بەم پۆستە کردووە. ئەگەر بتەوێت پۆستەکە لەم چوارچێوەیەشدا فلتەر بکرێت، دەبێت دەستکاری فلتەرەکە بکەیت.",
   "filter_modal.added.context_mismatch_title": "ناتەبایی دەقی نووسراو!",
   "filter_modal.added.expired_explanation": "ئەم پۆلە فلتەرە بەسەرچووە، پێویستە بەرواری بەسەرچوونی بگۆڕیت بۆ ئەوەی جێبەجێی بکات.",
   "filter_modal.added.expired_title": "فلتەری بەسەرچووە!",
   "filter_modal.added.review_and_configure": "بۆ پێداچوونەوە و ڕێکخستنی زیاتری ئەم پۆلە فلتەرە، بچۆ بۆ {settings_link}.",
-  "filter_modal.added.review_and_configure_title": "Filter settings",
-  "filter_modal.added.settings_link": "settings page",
-  "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.",
-  "filter_modal.added.title": "Filter added!",
-  "filter_modal.select_filter.context_mismatch": "does not apply to this context",
-  "filter_modal.select_filter.expired": "expired",
-  "filter_modal.select_filter.prompt_new": "New category: {name}",
-  "filter_modal.select_filter.search": "Search or create",
-  "filter_modal.select_filter.subtitle": "Use an existing category or create a new one",
-  "filter_modal.select_filter.title": "Filter this post",
-  "filter_modal.title.status": "Filter a post",
+  "filter_modal.added.review_and_configure_title": "ڕێکخستنەکانی پاڵاوتن",
+  "filter_modal.added.settings_link": "پەڕەی ڕێکخستن",
+  "filter_modal.added.short_explanation": "بڵاوکراوەکە زیادکرا بۆ ئەو پاڵاوتنانەی خوارەوە: {title}.",
+  "filter_modal.added.title": "پاڵێو زیادکرا!",
+  "filter_modal.select_filter.context_mismatch": "لەم چوارچێوەیەدا کارپێکراو نییە",
+  "filter_modal.select_filter.expired": "بەسەرچووە",
+  "filter_modal.select_filter.prompt_new": "پۆلێنی نوێ: {name}",
+  "filter_modal.select_filter.search": "گەڕان یان دروستکردن",
+  "filter_modal.select_filter.subtitle": "بەکارهێنانی پۆلێنی بەردەست یان دروستکردنی پۆلێنێکی نوێ",
+  "filter_modal.select_filter.title": "ئەم بڵاوکراوەیە بپاڵێوە",
+  "filter_modal.title.status": "بڵاوکراوەیەک بپاڵێوە",
   "follow_recommendations.done": "تەواو",
   "follow_recommendations.heading": "شوێن ئەو کەسانە بکەون کە دەتەوێت پۆستەکان ببینیت لە! لێرەدا چەند پێشنیارێک هەیە.",
   "follow_recommendations.lead": "بابەتەکانی ئەو کەسانەی کە بەدوایدا دەگەڕێیت بە فەرمانی کرۆنۆلۆجی لە خواردنەکانی ماڵەکەت دەردەکەون. مەترسە لە هەڵەکردن، دەتوانیت بە ئاسانی خەڵک هەڵبکەیت هەر کاتێک!",
   "follow_request.authorize": "ده‌سه‌ڵاتپێدراو",
   "follow_request.reject": "ڕەتکردنەوە",
   "follow_requests.unlocked_explanation": "هەرچەندە هەژمارەکەت داخراو نییە، ستافی {domain} وا بیریان کردەوە کە لەوانەیە بتانەوێت پێداچوونەوە بە داواکاریەکانی ئەم هەژمارەدا بکەن بە دەستی.",
-  "followed_tags": "Followed hashtags",
-  "footer.about": "About",
-  "footer.directory": "Profiles directory",
-  "footer.get_app": "Get the app",
-  "footer.invite": "Invite people",
-  "footer.keyboard_shortcuts": "Keyboard shortcuts",
-  "footer.privacy_policy": "Privacy policy",
-  "footer.source_code": "View source code",
-  "footer.status": "Status",
+  "followed_tags": "هاشتاگە شوێنکەوتووەکان",
+  "footer.about": "دەربارە",
+  "footer.directory": "ڕابەری پەڕەی ناساندن",
+  "footer.get_app": "بەرنامەکە بەدەست بێنە",
+  "footer.invite": "بانگهێشتکردنی خەڵک",
+  "footer.keyboard_shortcuts": "کورتەڕێکانی تەختەکلیک",
+  "footer.privacy_policy": "سیاسەتی تایبەتمەندێتی",
+  "footer.source_code": "پیشاندانی کۆدی سەرچاوە",
+  "footer.status": "دۆخ",
   "generic.saved": "پاشکەوتکرا",
   "getting_started.heading": "دەست پێکردن",
   "hashtag.column_header.tag_mode.all": "و {additional}",
@@ -284,19 +286,19 @@
   "hashtag.column_settings.tag_mode.any": "هەر کام لەمانە",
   "hashtag.column_settings.tag_mode.none": "هیچ کام لەمانە",
   "hashtag.column_settings.tag_toggle": "تاگی زیادە ی ئەم ستوونە لەخۆ بنووسە",
-  "hashtag.follow": "Follow hashtag",
-  "hashtag.unfollow": "Unfollow hashtag",
+  "hashtag.follow": "شوێنکەوتنی هاشتاگ",
+  "hashtag.unfollow": "شوێن نەکەوتنی هاشتاگ",
   "home.column_settings.basic": "بنەڕەتی",
   "home.column_settings.show_reblogs": "پیشاندانی بەهێزکردن",
   "home.column_settings.show_replies": "وەڵامدانەوەکان پیشان بدە",
   "home.hide_announcements": "شاردنەوەی راگەیەنراوەکان",
   "home.show_announcements": "پیشاندانی راگەیەنراوەکان",
-  "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.",
-  "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.",
-  "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.",
-  "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
-  "interaction_modal.on_another_server": "On a different server",
-  "interaction_modal.on_this_server": "On this server",
+  "interaction_modal.description.favourite": "بە هەژمارێک لەسەر ماستدۆن، دەتوانیت ئەم بڵاوکراوەیە زیادبکەیت بۆ دڵخوازەکانت. بۆ ئاگادارکردنەوەی بڵاوکەرەوەکە لە پێزانینەکەت و هێشتنەوەی بۆ دواتر.",
+  "interaction_modal.description.follow": "بە هەژمارێک لەسەر ماستدۆن، ئەتوانیت شوێن {name} بکەویت بۆ ئەوەی بڵاوکراوەکانی بگاتە پەڕەی سەرەکیت.",
+  "interaction_modal.description.reblog": "بە هەژمارێک لەسەر ماستدۆن، ئەتوانیت ئەم بڵاوکراوەیە بەرزبکەیتەوە تاوەکو بەژداری پێبکەیت لەگەل شوێنکەوتوانت.",
+  "interaction_modal.description.reply": "بە هەژمارێک لەسەر ماستدۆن، ئەتوانیت وەڵامی ئەم بڵاوکراوەیە بدەیتەوە.",
+  "interaction_modal.on_another_server": "لەسەر ڕاژەیەکی جیا",
+  "interaction_modal.on_this_server": "لەسەر ئەم ڕاژەیە",
   "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json
index 9b75ceeb1..2ede2311e 100644
--- a/app/javascript/mastodon/locales/co.json
+++ b/app/javascript/mastodon/locales/co.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Piattà tuttu u duminiu",
   "confirmations.domain_block.message": "Site veramente sicuru·a che vulete piattà tuttu à {domain}? Saria forse abbastanza di bluccà ò piattà alcuni conti da quallà. Ùn viderete più nunda da quallà indè e linee pubbliche o e nutificazione. I vostri abbunati da stu duminiu saranu tolti.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Scunnettassi",
   "confirmations.logout.message": "Site sicuru·a che vulete scunnettà vi?",
   "confirmations.mute.confirm": "Piattà",
diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json
index e07ad6ae1..97bc50c86 100644
--- a/app/javascript/mastodon/locales/cs.json
+++ b/app/javascript/mastodon/locales/cs.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Máte neuložené změny popisku médií nebo náhledu, chcete je přesto zahodit?",
   "confirmations.domain_block.confirm": "Blokovat celou doménu",
   "confirmations.domain_block.message": "Opravdu chcete blokovat celou doménu {domain}? Ve většině případů stačí blokovat nebo skrýt pár konkrétních uživatelů, což také doporučujeme. Z této domény neuvidíte obsah v žádné veřejné časové ose ani v oznámeních. Vaši sledující z této domény budou odstraněni.",
+  "confirmations.edit.confirm": "Upravit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Odhlásit se",
   "confirmations.logout.message": "Opravdu se chcete odhlásit?",
   "confirmations.mute.confirm": "Skrýt",
diff --git a/app/javascript/mastodon/locales/csb.json b/app/javascript/mastodon/locales/csb.json
index 884020da1..03c5af685 100644
--- a/app/javascript/mastodon/locales/csb.json
+++ b/app/javascript/mastodon/locales/csb.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Log out",
   "confirmations.logout.message": "Are you sure you want to log out?",
   "confirmations.mute.confirm": "Mute",
diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json
index c664046f0..21c0cd2be 100644
--- a/app/javascript/mastodon/locales/cy.json
+++ b/app/javascript/mastodon/locales/cy.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Mae gennych newidiadau heb eu cadw i'r disgrifiad cyfryngau neu'r rhagolwg, eu taflu beth bynnag?",
   "confirmations.domain_block.confirm": "Blocio parth cyfan",
   "confirmations.domain_block.message": "Ydych chi wir, wir eisiau blocio'r holl {domain}? Fel arfer, mae blocio neu dewi pobl penodol yn broses mwy effeithiol. Fyddwch chi ddim yn gweld cynnwys o'r parth hwnnw mewn ffrydiau cyhoeddus neu yn eich hysbysiadau. Bydd eich dilynwyr o'r parth hwnnw yn cael eu ddileu.",
+  "confirmations.edit.confirm": "Golygu",
+  "confirmations.edit.message": "Bydd golygu nawr yn trosysgrifennu'r neges rydych yn ei ysgrifennu ar hyn o bryd. Ydych chi'n siŵr eich bod eisiau gwneud hyn?",
   "confirmations.logout.confirm": "Allgofnodi",
   "confirmations.logout.message": "Ydych chi'n siŵr eich bod am allgofnodi?",
   "confirmations.mute.confirm": "Tewi",
diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json
index 1db8b030d..6caa763f0 100644
--- a/app/javascript/mastodon/locales/da.json
+++ b/app/javascript/mastodon/locales/da.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Der er ugemte ændringer i mediebeskrivelsen eller forhåndsvisningen, kassér dem alligevel?",
   "confirmations.domain_block.confirm": "Blokér hele domænet",
   "confirmations.domain_block.message": "Er du fuldstændig sikker på, at du vil blokere hele {domain}-domænet? Oftest vil nogle få målrettede blokeringer eller skjulninger være tilstrækkelige og at foretrække. Du vil ikke se indhold fra dette domæne i nogle offentlige tidslinjer eller i dine notifikationer, og dine følgere herfra fjernes ligeledes.",
+  "confirmations.edit.confirm": "Redigér",
+  "confirmations.edit.message": "Redigeres nu, overskrive den besked, der forfattes pt. Fortsæt alligevel?",
   "confirmations.logout.confirm": "Log ud",
   "confirmations.logout.message": "Er du sikker på, at du vil logge ud?",
   "confirmations.mute.confirm": "Skjul (mute)",
diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json
index b3cdd4fda..dfc478ae5 100644
--- a/app/javascript/mastodon/locales/de.json
+++ b/app/javascript/mastodon/locales/de.json
@@ -53,7 +53,7 @@
   "account.posts": "Beiträge",
   "account.posts_with_replies": "Beiträge und Antworten",
   "account.report": "@{name} melden",
-  "account.requested": "Warte auf Genehmigung. Klicke hier, um die Anfrage zum Folgen abzubrechen",
+  "account.requested": "Die Genehmigung steht noch aus. Klicke hier, um die Folgeanfrage abzubrechen",
   "account.requested_follow": "{name} hat angefragt, dir folgen zu dürfen",
   "account.share": "Profil von @{name} teilen",
   "account.show_reblogs": "Geteilte Beiträge von @{name} wieder anzeigen",
@@ -106,7 +106,7 @@
   "column.directory": "Profile durchsuchen",
   "column.domain_blocks": "Gesperrte Domains",
   "column.favourites": "Favoriten",
-  "column.follow_requests": "Follower-Anfragen",
+  "column.follow_requests": "Folgeanfragen",
   "column.home": "Startseite",
   "column.lists": "Listen",
   "column.mutes": "Stummgeschaltete Profile",
@@ -162,8 +162,10 @@
   "confirmations.discard_edit_media.message": "Du hast Änderungen an der Medienbeschreibung oder -vorschau vorgenommen, die noch nicht gespeichert sind. Trotzdem verwerfen?",
   "confirmations.domain_block.confirm": "Domain sperren",
   "confirmations.domain_block.message": "Bist du dir wirklich sicher, dass du die ganze Domain {domain} sperren willst? In den meisten Fällen reichen ein paar gezielte Sperren oder Stummschaltungen aus. Du wirst den Inhalt von dieser Domain nicht in irgendwelchen öffentlichen Timelines oder den Benachrichtigungen finden. Auch deine Follower von dieser Domain werden entfernt.",
+  "confirmations.edit.confirm": "Bearbeiten",
+  "confirmations.edit.message": "Das Bearbeiten überschreibt die Nachricht, die du gerade verfasst. Bist du dir sicher, dass du fortfahren möchtest?",
   "confirmations.logout.confirm": "Abmelden",
-  "confirmations.logout.message": "Bist du sicher, dass du dich abmelden möchtest?",
+  "confirmations.logout.message": "Bist du dir sicher, dass du dich abmelden möchtest?",
   "confirmations.mute.confirm": "Stummschalten",
   "confirmations.mute.explanation": "Dies wird Beiträge von dieser Person und Beiträge, die diese Person erwähnen, ausblenden, aber es wird der Person trotzdem erlauben, deine Beiträge zu sehen und dir zu folgen.",
   "confirmations.mute.message": "Bist du dir sicher, dass du {name} stummschalten möchtest?",
@@ -220,7 +222,7 @@
   "empty_column.favourited_statuses": "Du hast noch keine Beiträge favorisiert. Sobald du einen favorisierst, wird er hier erscheinen.",
   "empty_column.favourites": "Noch niemand hat diesen Beitrag favorisiert. Sobald es jemand tut, wird das hier angezeigt.",
   "empty_column.follow_recommendations": "Es sieht so aus, als könnten keine Vorschläge für dich generiert werden. Du kannst versuchen, nach Leuten zu suchen, die du vielleicht kennst, oder du kannst angesagte Hashtags erkunden.",
-  "empty_column.follow_requests": "Es liegen derzeit keine Follower-Anfragen vor. Sobald du eine erhältst, wird sie hier angezeigt.",
+  "empty_column.follow_requests": "Es liegen derzeit keine Folgeanfragen vor. Sobald du eine erhältst, wird sie hier angezeigt.",
   "empty_column.followed_tags": "Du folgst noch keinen Hashtags. Wenn du dies tust, werden sie hier erscheinen.",
   "empty_column.hashtag": "Unter diesem Hashtag gibt es noch nichts.",
   "empty_column.home": "Die Timeline deiner Startseite ist leer! Folge mehr Leuten, um sie zu füllen. {suggestions}",
@@ -331,7 +333,7 @@
   "keyboard_shortcuts.pinned": "Liste angehefteter Beiträge öffnen",
   "keyboard_shortcuts.profile": "Profil öffnen",
   "keyboard_shortcuts.reply": "auf Beitrag antworten",
-  "keyboard_shortcuts.requests": "Liste der Follower-Anfragen öffnen",
+  "keyboard_shortcuts.requests": "Liste der Folgeanfragen öffnen",
   "keyboard_shortcuts.search": "Suchleiste fokussieren",
   "keyboard_shortcuts.spoilers": "Inhaltswarnung anzeigen/ausblenden",
   "keyboard_shortcuts.start": "„Erste Schritte“-Spalte öffnen",
@@ -381,9 +383,9 @@
   "navigation_bar.explore": "Entdecken",
   "navigation_bar.favourites": "Favoriten",
   "navigation_bar.filters": "Stummgeschaltete Wörter",
-  "navigation_bar.follow_requests": "Follower-Anfragen",
+  "navigation_bar.follow_requests": "Folgeanfragen",
   "navigation_bar.followed_tags": "Gefolgte Hashtags",
-  "navigation_bar.follows_and_followers": "Folge ich und Follower",
+  "navigation_bar.follows_and_followers": "Follower und Folge ich",
   "navigation_bar.lists": "Listen",
   "navigation_bar.logout": "Abmelden",
   "navigation_bar.mutes": "Stummgeschaltete Profile",
@@ -415,7 +417,7 @@
   "notifications.column_settings.filter_bar.category": "Filterleiste:",
   "notifications.column_settings.filter_bar.show_bar": "Filterleiste anzeigen",
   "notifications.column_settings.follow": "Neue Follower:",
-  "notifications.column_settings.follow_request": "Neue Follower-Anfragen:",
+  "notifications.column_settings.follow_request": "Neue Folgeanfragen:",
   "notifications.column_settings.mention": "Erwähnungen:",
   "notifications.column_settings.poll": "Umfrageergebnisse:",
   "notifications.column_settings.push": "Push-Benachrichtigungen",
@@ -502,7 +504,7 @@
   "report.reasons.spam": "Das ist Spam",
   "report.reasons.spam_description": "Bösartige Links, gefälschtes Engagement oder wiederholte Antworten",
   "report.reasons.violation": "Er verstößt gegen Serverregeln",
-  "report.reasons.violation_description": "Du bist dir bewusst, dass es gegen bestimmte Regeln verstößt",
+  "report.reasons.violation_description": "Du bist dir sicher, dass eine bestimmte Regel gebrochen wurde",
   "report.rules.subtitle": "Wähle alle zutreffenden Inhalte aus",
   "report.rules.title": "Welche Regeln werden verletzt?",
   "report.statuses.subtitle": "Wähle alle zutreffenden Inhalte aus",
@@ -523,10 +525,10 @@
   "search.placeholder": "Suche",
   "search.search_or_paste": "Suchen oder URL einfügen",
   "search_popout.search_format": "Erweiterte Suche",
-  "search_popout.tips.full_text": "Einfache Texteingabe gibt Beiträge, die du geschrieben, favorisiert und geteilt hast, zurück; außerdem auch Beiträge, in denen du erwähnt wurdest, aber auch passende Profilnamen, Anzeigenamen oder Hashtags.",
+  "search_popout.tips.full_text": "Die Freitextsuche findet Beiträge, die du geschrieben, favorisiert und geteilt hast – oder in denen du erwähnt worden bist. Außerdem gibt sie übereinstimmende Anzeigenamen, Profilnamen und Hashtags aus.",
   "search_popout.tips.hashtag": "Hashtag",
   "search_popout.tips.status": "Beitrag",
-  "search_popout.tips.text": "Einfache Texteingabe gibt Anzeigenamen, Profilnamen und Hashtags zurück",
+  "search_popout.tips.text": "Die Freitextsuche findet Anzeigenamen, Profilnamen und Hashtags",
   "search_popout.tips.user": "Profil",
   "search_results.accounts": "Profile",
   "search_results.all": "Alles",
@@ -620,14 +622,14 @@
   "trends.counter_by_accounts": "{count, plural, one {{counter} Profil} other {{counter} Profile}} {days, plural, one {seit gestern} other {in {days} Tagen}}",
   "trends.trending_now": "Aktuelle Trends",
   "ui.beforeunload": "Dein Entwurf geht verloren, wenn du Mastodon verlässt.",
-  "units.short.billion": "{count} Mrd",
-  "units.short.million": "{count} Mio",
-  "units.short.thousand": "{count} Tsd",
+  "units.short.billion": "{count} Mrd.",
+  "units.short.million": "{count} Mio.",
+  "units.short.thousand": "{count} Tsd.",
   "upload_area.title": "Zum Hochladen hereinziehen",
   "upload_button.label": "Bilder, Videos oder Audios hinzufügen",
   "upload_error.limit": "Dateiupload-Limit überschritten.",
   "upload_error.poll": "Medien-Anhänge sind zusammen mit Umfragen nicht erlaubt.",
-  "upload_form.audio_description": "Für Gehörlose und hörbehinderte Menschen beschreiben",
+  "upload_form.audio_description": "Beschreibe für Menschen mit Hörbehinderung",
   "upload_form.description": "Beschreibe für Menschen mit Sehbehinderung",
   "upload_form.description_missing": "Keine Beschreibung hinzugefügt",
   "upload_form.edit": "Bearbeiten",
diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json
index c09411f65..536566945 100644
--- a/app/javascript/mastodon/locales/defaultMessages.json
+++ b/app/javascript/mastodon/locales/defaultMessages.json
@@ -834,6 +834,14 @@
         "id": "confirmations.reply.message"
       },
       {
+        "defaultMessage": "Edit",
+        "id": "confirmations.edit.confirm"
+      },
+      {
+        "defaultMessage": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+        "id": "confirmations.edit.message"
+      },
+      {
         "defaultMessage": "Hide entire domain",
         "id": "confirmations.domain_block.confirm"
       },
diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json
index 3d71f3c5c..0813a9857 100644
--- a/app/javascript/mastodon/locales/el.json
+++ b/app/javascript/mastodon/locales/el.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Έχετε μη αποθηκευμένες αλλαγές στην περιγραφή πολυμέσων ή στην προεπισκόπηση, απορρίψτε τις ούτως ή άλλως;",
   "confirmations.domain_block.confirm": "Απόκρυψη ολόκληρου του τομέα",
   "confirmations.domain_block.message": "Σίγουρα θες να μπλοκάρεις ολόκληρο το {domain}; Συνήθως μερικά εστιασμένα μπλοκ ή αποσιωπήσεις επαρκούν και προτιμούνται. Δεν θα βλέπεις περιεχόμενο από αυτό τον κόμβο σε καμία δημόσια ροή, ούτε στις ειδοποιήσεις σου. Όσους ακόλουθους έχεις αυτό αυτό τον κόμβο θα αφαιρεθούν.",
+  "confirmations.edit.confirm": "Επεξεργασία",
+  "confirmations.edit.message": "Αν το επεξεργαστείτε τώρα θα αντικατασταθεί το μήνυμα που συνθέτετε. Είστε σίγουροι ότι θέλετε να συνεχίσετε;",
   "confirmations.logout.confirm": "Αποσύνδεση",
   "confirmations.logout.message": "Σίγουρα θέλεις να αποσυνδεθείς;",
   "confirmations.mute.confirm": "Αποσιώπηση",
diff --git a/app/javascript/mastodon/locales/en-GB.json b/app/javascript/mastodon/locales/en-GB.json
index 4ce198b90..974c6dd84 100644
--- a/app/javascript/mastodon/locales/en-GB.json
+++ b/app/javascript/mastodon/locales/en-GB.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Block entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Log out",
   "confirmations.logout.message": "Are you sure you want to log out?",
   "confirmations.mute.confirm": "Mute",
diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json
index fde163628..93b668d35 100644
--- a/app/javascript/mastodon/locales/eo.json
+++ b/app/javascript/mastodon/locales/eo.json
@@ -138,8 +138,8 @@
   "compose_form.poll.remove_option": "Forigi ĉi tiu elekteblon",
   "compose_form.poll.switch_to_multiple": "Ŝanĝi la balotenketon por permesi multajn elektojn",
   "compose_form.poll.switch_to_single": "Ŝanĝi la balotenketon por permesi unu solan elekton",
-  "compose_form.publish": "Hup",
-  "compose_form.publish_form": "Hup",
+  "compose_form.publish": "Afiŝi",
+  "compose_form.publish_form": "Afiŝi",
   "compose_form.publish_loud": "{publish}!",
   "compose_form.save_changes": "Konservi ŝanĝojn",
   "compose_form.sensitive.hide": "{count, plural, one {Marki la plurmedio kiel tikla} other {Marki la plurmedioj kiel tiklaj}}",
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Vi havas nekonservitajn ŝanĝojn de la priskribo aŭ la antaŭmontro de la plurmedio, ĉu vi forĵetu ilin malgraŭe?",
   "confirmations.domain_block.confirm": "Bloki la tutan domajnon",
   "confirmations.domain_block.message": "Ĉu vi vere, vere certas, ke vi volas tute bloki {domain}? Plej ofte, trafa blokado kaj silentigado sufiĉas kaj preferindas. Vi ne vidos enhavon de tiu domajno en publika templinio aŭ en viaj sciigoj. Viaj sekvantoj de tiu domajno estos forigitaj.",
+  "confirmations.edit.confirm": "Redakti",
+  "confirmations.edit.message": "Redakti nun anstataŭigos la skribatan afiŝon. Ĉu vi certas, ke vi volas daŭrigi?",
   "confirmations.logout.confirm": "Adiaŭi",
   "confirmations.logout.message": "Ĉu vi certas ke vi volas adiaŭi?",
   "confirmations.mute.confirm": "Silentigi",
@@ -170,7 +172,7 @@
   "confirmations.redraft.confirm": "Forigi kaj reskribi",
   "confirmations.redraft.message": "Ĉu vi certas ke vi volas forigi tiun afiŝon kaj reskribi ĝin? Ĉiuj diskonigoj kaj stelumoj estos perditaj, kaj respondoj al la originala mesaĝo estos senparentaj.",
   "confirmations.reply.confirm": "Respondi",
-  "confirmations.reply.message": "Respondi nun anstataŭigos la mesaĝon, kiun vi nun skribas. Ĉu vi certas, ke vi volas daŭrigi?",
+  "confirmations.reply.message": "Respondi nun anstataŭigos la skribatan afiŝon. Ĉu vi certas, ke vi volas daŭrigi?",
   "confirmations.unfollow.confirm": "Ne plu sekvi",
   "confirmations.unfollow.message": "Ĉu vi certas, ke vi volas ĉesi sekvi {name}?",
   "conversation.delete": "Forigi konversacion",
@@ -188,10 +190,10 @@
   "dismissable_banner.community_timeline": "Jen la plej novaj publikaj afiŝoj de uzantoj, kies kontojn gastigas {domain}.",
   "dismissable_banner.dismiss": "Eksigi",
   "dismissable_banner.explore_links": "Tiuj novaĵoj estas aktuale priparolataj de uzantoj en tiu ĉi kaj aliaj serviloj, sur la malcentrigita reto.",
-  "dismissable_banner.explore_statuses": "Ĉi tiuj mesaĝoj de ĉi tiu kaj aliaj serviloj en la malcentra reto pli populariĝas en ĉi tiu servilo nun.",
+  "dismissable_banner.explore_statuses": "Ĉi tiuj afiŝoj de ĉi tiu kaj aliaj serviloj en la malcentra reto pli populariĝas en ĉi tiu servilo nun.",
   "dismissable_banner.explore_tags": "Ĉi tiuj kradvostoj populariĝas en ĉi tiu kaj aliaj serviloj en la malcentraliza reto nun.",
-  "dismissable_banner.public_timeline": "Ĉi tiuj estas plej lastaj publika mesaĝoj de personoj ĉe ĉi tiu kaj aliaj serviloj de la malcentra reto kiun ĉi tiu servilo scias.",
-  "embed.instructions": "Enkorpigu ĉi tiun mesaĝon en vian retejon per kopio de la suba kodo.",
+  "dismissable_banner.public_timeline": "Ĉi tiuj estas plej lastaj publikaj afiŝoj de personoj ĉe ĉi tiu kaj aliaj serviloj de la malcentra reto kiun tiu ĉi servilo scias.",
+  "embed.instructions": "Enkorpigu ĉi tiun afiŝon en vian retejon per kopio de la suba kodo.",
   "embed.preview": "Ĝi aperos tiel:",
   "emoji_button.activity": "Agadoj",
   "emoji_button.clear": "Forviŝi",
@@ -209,23 +211,23 @@
   "emoji_button.symbols": "Simboloj",
   "emoji_button.travel": "Vojaĝoj kaj lokoj",
   "empty_column.account_suspended": "Konto suspendita",
-  "empty_column.account_timeline": "Neniu mesaĝo ĉi tie!",
+  "empty_column.account_timeline": "Neniu afiŝo ĉi tie!",
   "empty_column.account_unavailable": "Profilo ne disponebla",
   "empty_column.blocks": "Vi ankoraŭ ne blokis uzanton.",
-  "empty_column.bookmarked_statuses": "Vi ankoraŭ ne aldonis mesaĝon al viaj legosignoj. Kiam vi aldonos iun, tiu aperos ĉi tie.",
+  "empty_column.bookmarked_statuses": "Vi ankoraŭ ne aldonis afiŝon al viaj legosignoj. Kiam vi aldonos iun, tiu aperos ĉi tie.",
   "empty_column.community": "La loka templinio estas malplena. Skribu ion por plenigi ĝin!",
-  "empty_column.direct": "Vi ankoraŭ ne havas rektan mesaĝon. Kiam vi sendos aŭ ricevos iun, ĝi aperos ĉi tie.",
+  "empty_column.direct": "Vi ankoraŭ ne havas rektan mesaĝon. Kiam vi sendos aŭ ricevos iun, tiu aperos ĉi tie.",
   "empty_column.domain_blocks": "Ankoraŭ neniu domajno estas blokita.",
   "empty_column.explore_statuses": "Nenio tendencas nun. Rekontrolu poste!",
   "empty_column.favourited_statuses": "Vi ankoraŭ ne stelumis afiŝon. Kiam vi stelumos iun, ĝi aperos ĉi tie.",
-  "empty_column.favourites": "Ankoraŭ neniu stelumis tiun mesaĝon. Kiam iu faros tion, tiu aperos ĉi tie.",
+  "empty_column.favourites": "Ankoraŭ neniu stelumis ĉi tiun afiŝon. Kiam iu faros tion, tiu aperos ĉi tie.",
   "empty_column.follow_recommendations": "Ŝajnas, ke neniuj sugestoj povis esti generitaj por vi. Vi povas provi uzi serĉon por serĉi homojn, kiujn vi eble konas, aŭ esplori tendencajn kradvortojn.",
   "empty_column.follow_requests": "Vi ne ankoraŭ havas iun peton de sekvado. Kiam vi ricevos unu, ĝi aperos ĉi tie.",
   "empty_column.followed_tags": "Vi ankoraŭ ne sekvas iujn kradvortojn. Kiam vi faras, ili aperos ĉi tie.",
   "empty_column.hashtag": "Ankoraŭ estas nenio per ĉi tiu kradvorto.",
   "empty_column.home": "Via hejma tempolinio estas malplena! Vizitu {public} aŭ uzu la serĉilon por renkonti aliajn uzantojn.",
   "empty_column.home.suggestions": "Vidu iujn sugestojn",
-  "empty_column.list": "Ankoraŭ estas nenio en ĉi tiu listo. Kiam membroj de ĉi tiu listo afiŝos novajn mesaĝojn, ili aperos ĉi tie.",
+  "empty_column.list": "Ankoraŭ estas nenio en ĉi tiu listo. Kiam membroj de ĉi tiu listo afiŝos novajn afiŝojn, ili aperos ĉi tie.",
   "empty_column.lists": "Vi ankoraŭ ne havas liston. Kiam vi kreos iun, ĝi aperos ĉi tie.",
   "empty_column.mutes": "Vi ne ankoraŭ silentigis iun uzanton.",
   "empty_column.notifications": "Vi ankoraŭ ne havas sciigojn. Interagu kun aliaj por komenci konversacion.",
@@ -242,7 +244,7 @@
   "explore.trending_links": "Novaĵoj",
   "explore.trending_statuses": "Afiŝoj",
   "explore.trending_tags": "Kradvortoj",
-  "filter_modal.added.context_mismatch_explanation": "Ĉi tiu filtrilkategorio ne kongruas la kuntekston de ĉi tiu mesaĝo. Vi devas redakti la filtrilon.",
+  "filter_modal.added.context_mismatch_explanation": "Ĉi tiu filtrilkategorio ne kongruas kun la kunteksto en kiu vi akcesis ĉi tiun afiŝon. Se vi volas ke la afiŝo estas ankaŭ filtrita en ĉi tiu kunteksto, vi devus redakti la filtrilon.",
   "filter_modal.added.context_mismatch_title": "Ne kongruas la kunteksto!",
   "filter_modal.added.expired_explanation": "Ĉi tiu filtrilkategorio eksvalidiĝis, vu bezonos ŝanĝi la eksvaliddaton por ĝi.",
   "filter_modal.added.expired_title": "Eksvalida filtrilo!",
@@ -402,8 +404,8 @@
   "notification.mention": "{name} menciis vin",
   "notification.own_poll": "Via enketo finiĝis",
   "notification.poll": "Partoprenita balotenketo finiĝis",
-  "notification.reblog": "{name} diskonigis vian mesaĝon",
-  "notification.status": "{name} ĵus afiŝita",
+  "notification.reblog": "{name} diskonigis vian afiŝon",
+  "notification.status": "{name} ĵus afiŝis",
   "notification.update": "{name} redaktis afiŝon",
   "notifications.clear": "Forviŝi sciigojn",
   "notifications.clear_confirmation": "Ĉu vi certas, ke vi volas porĉiame forviŝi ĉiujn viajn sciigojn?",
@@ -523,7 +525,7 @@
   "search.placeholder": "Serĉi",
   "search.search_or_paste": "Serĉu aŭ algluu URL-on",
   "search_popout.search_format": "Detala serĉo",
-  "search_popout.tips.full_text": "Simplaj tekstoj montras la mesaĝojn, kiujn vi skribis, stelumis, diskonigis, aŭ en kiuj vi estis menciita, sed ankaŭ kongruajn uzantnomojn, montratajn nomojn, kaj kradvortojn.",
+  "search_popout.tips.full_text": "Simpla teksto retrovas la afiŝojn kiujn vi skribis, stelumis, diskonigis, aŭ en kiuj vi estis menciita, sed ankaŭ kongruajn uzantnomojn, montratajn nomojn, kaj kradvortojn.",
   "search_popout.tips.hashtag": "kradvorto",
   "search_popout.tips.status": "afiŝoj",
   "search_popout.tips.text": "Simpla teksto montras la kongruajn afiŝitajn nomojn, uzantnomojn kaj kradvortojn",
@@ -551,7 +553,7 @@
   "status.block": "Bloki @{name}",
   "status.bookmark": "Aldoni al la legosignoj",
   "status.cancel_reblog_private": "Ne plu diskonigi",
-  "status.cannot_reblog": "Ĉi tiu mesaĝo ne diskonigeblas",
+  "status.cannot_reblog": "Ĉi tiun afiŝon ne eblas diskonigi",
   "status.copy": "Kopii la ligilon al la mesaĝo",
   "status.delete": "Forigi",
   "status.detailed_status": "Detala konversacia vido",
@@ -579,7 +581,7 @@
   "status.reblog": "Diskonigi",
   "status.reblog_private": "Diskonigi kun la sama videbleco",
   "status.reblogged_by": "{name} diskonigis",
-  "status.reblogs.empty": "Ankoraŭ neniu diskonigis tiun mesaĝon. Kiam iu faras tion, ri aperos ĉi tie.",
+  "status.reblogs.empty": "Ankoraŭ neniu diskonigis tiun afiŝon. Kiam iu faras tion, ri aperos ĉi tie.",
   "status.redraft": "Forigi kaj reskribi",
   "status.remove_bookmark": "Forigi legosignon",
   "status.replied_to": "Respondis al {name}",
diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json
index f48187e5d..93238efbc 100644
--- a/app/javascript/mastodon/locales/es-AR.json
+++ b/app/javascript/mastodon/locales/es-AR.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Tenés cambios sin guardar en la descripción de medios o en la vista previa, ¿querés descartarlos de todos modos?",
   "confirmations.domain_block.confirm": "Bloquear dominio entero",
   "confirmations.domain_block.message": "¿Estás completamente seguro que querés bloquear el {domain} entero? En la mayoría de los casos, unos cuantos bloqueos y silenciados puntuales son suficientes y preferibles. No vas a ver contenido de ese dominio en ninguna de tus líneas temporales o en tus notificaciones. Tus seguidores de ese dominio serán quitados.",
+  "confirmations.edit.confirm": "Editar",
+  "confirmations.edit.message": "Editar ahora sobreescribirá el mensaje que estás redactando actualmente. ¿Estás seguro que querés seguir?",
   "confirmations.logout.confirm": "Cerrar sesión",
   "confirmations.logout.message": "¿Estás seguro que querés cerrar la sesión?",
   "confirmations.mute.confirm": "Silenciar",
diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json
index 0c6b49593..56e891611 100644
--- a/app/javascript/mastodon/locales/es-MX.json
+++ b/app/javascript/mastodon/locales/es-MX.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Tienes cambios sin guardar en la descripción o vista previa del archivo, ¿deseas descartarlos de cualquier manera?",
   "confirmations.domain_block.confirm": "Ocultar dominio entero",
   "confirmations.domain_block.message": "¿Seguro de que quieres bloquear al dominio {domain} entero? En general unos cuantos bloqueos y silenciados concretos es suficiente y preferible.",
+  "confirmations.edit.confirm": "Editar",
+  "confirmations.edit.message": "Editar sobrescribirá el mensaje que estás escribiendo. ¿Estás seguro de que deseas continuar?",
   "confirmations.logout.confirm": "Cerrar sesión",
   "confirmations.logout.message": "¿Estás seguro de querer cerrar la sesión?",
   "confirmations.mute.confirm": "Silenciar",
diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json
index 47c6edd82..61e831526 100644
--- a/app/javascript/mastodon/locales/es.json
+++ b/app/javascript/mastodon/locales/es.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Tienes cambios sin guardar en la descripción o vista previa del archivo audiovisual, ¿descartarlos de todos modos?",
   "confirmations.domain_block.confirm": "Ocultar dominio entero",
   "confirmations.domain_block.message": "¿Seguro de que quieres bloquear al dominio {domain} entero? En general unos cuantos bloqueos y silenciados concretos es suficiente y preferible.",
+  "confirmations.edit.confirm": "Editar",
+  "confirmations.edit.message": "Editar ahora reemplazará el mensaje que está escribiendo. ¿Está seguro que quiere proceder?",
   "confirmations.logout.confirm": "Cerrar sesión",
   "confirmations.logout.message": "¿Estás seguro de querer cerrar la sesión?",
   "confirmations.mute.confirm": "Silenciar",
diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json
index 0f9f33080..9b8c83563 100644
--- a/app/javascript/mastodon/locales/et.json
+++ b/app/javascript/mastodon/locales/et.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Sul on salvestamata muudatusi meediakirjelduses või eelvaates, kas hülgad need?",
   "confirmations.domain_block.confirm": "Peida terve domeen",
   "confirmations.domain_block.message": "Oled ikka päris-päris kindel, et soovid blokeerida terve {domain}? Enamikel juhtudel piisab mõnest sihitud blokist või vaigistusest, mis on eelistatavam. Sa ei näe selle domeeni sisu ühelgi avalikul ajajoonel või enda teadetes. Su jälgijad sellest domeenist eemaldatakse.",
+  "confirmations.edit.confirm": "Muuda",
+  "confirmations.edit.message": "Muutes praegu kirjutatakse hetkel loodav sõnum üle. Kas oled kindel, et soovid jätkata?",
   "confirmations.logout.confirm": "Välju",
   "confirmations.logout.message": "Kas oled kindel, et soovid välja logida?",
   "confirmations.mute.confirm": "Vaigista",
@@ -398,8 +400,8 @@
   "notification.admin.sign_up": "{name} registreerus",
   "notification.favourite": "{name} märkis su postituse lemmikuks",
   "notification.follow": "{name} alustas su jälgimist",
-  "notification.follow_request": "{name} soovib teid jälgida",
-  "notification.mention": "{name} mainis teid",
+  "notification.follow_request": "{name} soovib sind jälgida",
+  "notification.mention": "{name} mainis sind",
   "notification.own_poll": "Su küsitlus on lõppenud",
   "notification.poll": "Küsitlus, milles osalesid, on lõppenud",
   "notification.reblog": "{name} jagas edasi postitust",
@@ -603,7 +605,7 @@
   "subscribed_languages.save": "Salvesta muudatused",
   "subscribed_languages.target": "Muuda tellitud keeli {target} jaoks",
   "suggestions.dismiss": "Eira soovitust",
-  "suggestions.header": "Teid võib huvitada…",
+  "suggestions.header": "Sind võib huvitada…",
   "tabs_bar.federated_timeline": "Föderatiivne",
   "tabs_bar.home": "Kodu",
   "tabs_bar.local_timeline": "Kohalik",
diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json
index 39eaeda02..e5f2116bc 100644
--- a/app/javascript/mastodon/locales/eu.json
+++ b/app/javascript/mastodon/locales/eu.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Multimediaren deskribapen edo aurrebistan gorde gabeko aldaketak daude, baztertu nahi dituzu?",
   "confirmations.domain_block.confirm": "Ezkutatu domeinu osoa",
   "confirmations.domain_block.message": "Ziur, erabat ziur, {domain} domeinu osoa blokeatu nahi duzula? Gehienetan gutxi batzuk blokeatu edo mututzearekin nahikoa da. Ez duzu domeinu horretako edukirik ikusiko denbora lerroetan edo jakinarazpenetan. Domeinu horretako zure jarraitzaileak kenduko dira ere.",
+  "confirmations.edit.confirm": "Editatu",
+  "confirmations.edit.message": "Orain editatzen baduzu, idazten zauden mezua gainidatziko da. Ziur al zaude jarraitu nahi duzula?",
   "confirmations.logout.confirm": "Amaitu saioa",
   "confirmations.logout.message": "Ziur saioa amaitu nahi duzula?",
   "confirmations.mute.confirm": "Mututu",
diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json
index 10c1b12fb..acb7525b2 100644
--- a/app/javascript/mastodon/locales/fa.json
+++ b/app/javascript/mastodon/locales/fa.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "تغییرات ذخیره نشده‌ای در توضیحات یا پیش‌نمایش رسانه دارید. همگی نادیده گرفته شوند؟",
   "confirmations.domain_block.confirm": "مسدود کردن تمام دامنه",
   "confirmations.domain_block.message": "آیا جدی جدی می‌خواهید تمام دامنهٔ {domain} را مسدود کنید؟ در بیشتر موارد مسدود کردن یا خموشاندن چند حساب خاص کافی است و توصیه می‌شود. پس از این کار شما هیچ محتوایی را از این دامنه در خط زمانی عمومی یا آگاهی‌هایتان نخواهید دید. پی‌گیرانتان از این دامنه هم برداشته خواهند شد.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "خروج از حساب",
   "confirmations.logout.message": "مطمئنید می‌خواهید خارج شوید؟",
   "confirmations.mute.confirm": "خموش",
diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json
index f41082ed7..8cff515bd 100644
--- a/app/javascript/mastodon/locales/fi.json
+++ b/app/javascript/mastodon/locales/fi.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Sinulla on tallentamattomia muutoksia median kuvaukseen tai esikatseluun, hylätäänkö ne silti?",
   "confirmations.domain_block.confirm": "Estä koko palvelu",
   "confirmations.domain_block.message": "Haluatko aivan varmasti estää palvelun {domain} täysin? Useimmiten muutama kohdistettu esto tai mykistys on riittävä ja suositeltava toimenpide. Et näe kyseisen sisältöä kyseiseltä verkkoalueelta missään julkisissa aikajanoissa tai ilmoituksissa. Tälle verkkoalueelle kuuluvat seuraajasi poistetaan.",
+  "confirmations.edit.confirm": "Muokkaa",
+  "confirmations.edit.message": "Tässä tilanteessa muokkaus korvaa tällä hetkellä työstämäsi viestin. Haluatko varmasti jatkaa?",
   "confirmations.logout.confirm": "Kirjaudu ulos",
   "confirmations.logout.message": "Haluatko varmasti kirjautua ulos?",
   "confirmations.mute.confirm": "Mykistä",
@@ -563,7 +565,7 @@
   "status.favourite": "Lisää suosikkeihin",
   "status.filter": "Suodata tämä viesti",
   "status.filtered": "Suodatettu",
-  "status.hide": "Piilota viesti",
+  "status.hide": "Piilota julkaisu",
   "status.history.created": "{name} luotu {date}",
   "status.history.edited": "{name} muokkasi {date}",
   "status.load_more": "Lataa lisää",
diff --git a/app/javascript/mastodon/locales/fo.json b/app/javascript/mastodon/locales/fo.json
index 3b67c3d75..db2247c4b 100644
--- a/app/javascript/mastodon/locales/fo.json
+++ b/app/javascript/mastodon/locales/fo.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Tú hevur broytingar í miðlalýsingini ella undansýningini, sum ikki eru goymdar. Vilt tú kortini vraka?",
   "confirmations.domain_block.confirm": "Banna heilum økisnavni",
   "confirmations.domain_block.message": "Ert tú púra, púra vís/ur í, at tú vilt banna øllum {domain}? Í flestu førum er nóg mikið og betri, bert at banna ella doyva onkrum ávísum. Tú fert eingi evni at síggja frá økisnavninum á nakrari almennari tíðarrás ella í tínum fráboðanum. Tínir fylgjarar undir økisnavninum verða eisini strikaðir.",
+  "confirmations.edit.confirm": "Rætta",
+  "confirmations.edit.message": "Rættingar, sum verða gjørdar nú, skriva yvir boðini, sum tú ert í holt við. Ert tú vís/ur í, at tú vilt halda fram?",
   "confirmations.logout.confirm": "Rita út",
   "confirmations.logout.message": "Ert tú vís/ur í, at tú vilt útrita teg?",
   "confirmations.mute.confirm": "Doyv",
diff --git a/app/javascript/mastodon/locales/fr-QC.json b/app/javascript/mastodon/locales/fr-QC.json
index 4b7258685..fe7055d57 100644
--- a/app/javascript/mastodon/locales/fr-QC.json
+++ b/app/javascript/mastodon/locales/fr-QC.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Vous avez des modifications non enregistrées de la description ou de l'aperçu du média, voulez-vous quand même les supprimer?",
   "confirmations.domain_block.confirm": "Bloquer ce domaine entier",
   "confirmations.domain_block.message": "Voulez-vous vraiment, vraiment bloquer {domain} en entier? Dans la plupart des cas, quelques blocages ou masquages ciblés sont suffisants et préférables. Vous ne verrez plus de contenu provenant de ce domaine, ni dans vos fils publics, ni dans vos notifications. Vos abonné·e·s utilisant ce domaine seront retiré·e·s.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Se déconnecter",
   "confirmations.logout.message": "Voulez-vous vraiment vous déconnecter?",
   "confirmations.mute.confirm": "Masquer",
diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json
index 1dcf41c85..2c38ad496 100644
--- a/app/javascript/mastodon/locales/fr.json
+++ b/app/javascript/mastodon/locales/fr.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Vous avez des modifications non enregistrées de la description ou de l'aperçu du média, les supprimer quand même ?",
   "confirmations.domain_block.confirm": "Bloquer tout le domaine",
   "confirmations.domain_block.message": "Voulez-vous vraiment, vraiment bloquer {domain} en entier ? Dans la plupart des cas, quelques blocages ou masquages ciblés sont suffisants et préférables. Vous ne verrez plus de contenu provenant de ce domaine, ni dans vos fils publics, ni dans vos notifications. Vos abonné·e·s utilisant ce domaine seront retiré·e·s.",
+  "confirmations.edit.confirm": "Éditer",
+  "confirmations.edit.message": "Modifier maintenant écrasera votre message en cours de rédaction. Voulez-vous vraiment continuer ?",
   "confirmations.logout.confirm": "Se déconnecter",
   "confirmations.logout.message": "Voulez-vous vraiment vous déconnecter ?",
   "confirmations.mute.confirm": "Masquer",
@@ -170,7 +172,7 @@
   "confirmations.redraft.confirm": "Supprimer et ré-écrire",
   "confirmations.redraft.message": "Êtes-vous sûr·e de vouloir effacer ce statut pour le réécrire ? Ses partages ainsi que ses mises en favori seront perdus et ses réponses seront orphelines.",
   "confirmations.reply.confirm": "Répondre",
-  "confirmations.reply.message": "Répondre maintenant écrasera le message que vous rédigez actuellement. Voulez-vous vraiment continuer ?",
+  "confirmations.reply.message": "Répondre maintenant écrasera votre message en cours de rédaction. Voulez-vous vraiment continuer ?",
   "confirmations.unfollow.confirm": "Ne plus suivre",
   "confirmations.unfollow.message": "Voulez-vous vraiment vous désabonner de {name} ?",
   "conversation.delete": "Supprimer la conversation",
@@ -298,7 +300,7 @@
   "interaction_modal.on_another_server": "Sur un autre serveur",
   "interaction_modal.on_this_server": "Sur ce serveur",
   "interaction_modal.other_server_instructions": "Copiez et collez cette URL dans le champ de recherche de votre application Mastodon préférée ou de l'interface web de votre serveur Mastodon.",
-  "interaction_modal.preamble": "Puisque Mastodon est décentralisé, vous pouvez utiliser votre compte existant hébergé par un autre serveur Mastodon ou une plateforme compatible si vous n'avez pas de compte sur celui-ci.",
+  "interaction_modal.preamble": "Mastodon étant décentralisé, vous pouvez utiliser votre compte existant sur un autre serveur Mastodon, ou sur une autre plateforme compatible, si vous n'avez pas de compte ici.",
   "interaction_modal.title.favourite": "Ajouter le message de {name} aux favoris",
   "interaction_modal.title.follow": "Suivre {name}",
   "interaction_modal.title.reblog": "Partager le message de {name}",
diff --git a/app/javascript/mastodon/locales/fy.json b/app/javascript/mastodon/locales/fy.json
index 61273f58f..4ac165471 100644
--- a/app/javascript/mastodon/locales/fy.json
+++ b/app/javascript/mastodon/locales/fy.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Jo hawwe net-bewarre wizigingen yn de mediabeskriuwing of foarfertoaning, wolle jo dizze dochs fuortsmite?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Binne jo echt wis dat jo alles fan {domain} negearje wolle? Yn de measte gefallen is it blokkearjen of negearjen fan in pear spesifike persoanen genôch en better. Jo sille gjin berjochten fan dizze server op iepenbiere tiidlinen sjen of yn jo meldingen. Jo folgers fan dizze server wurde fuortsmiten.",
+  "confirmations.edit.confirm": "Bewurkje",
+  "confirmations.edit.message": "Troch no te bewurkjen sil it berjocht dat jo no oan it skriuwen binne oerskreaun wurde. Wolle jo trochgean?",
   "confirmations.logout.confirm": "Ofmelde",
   "confirmations.logout.message": "Bisto wis datsto ôfmelde wolst?",
   "confirmations.mute.confirm": "Negearje",
diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json
index 9212d16bd..12769ba13 100644
--- a/app/javascript/mastodon/locales/ga.json
+++ b/app/javascript/mastodon/locales/ga.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Tá athruithe neamhshlánaithe don tuarascáil gné nó réamhamharc agat, faigh réidh dóibh ar aon nós?",
   "confirmations.domain_block.confirm": "Bac fearann go hiomlán",
   "confirmations.domain_block.message": "An bhfuil tú iontach cinnte gur mhaith leat bac an t-ainm fearainn {domain} in iomlán? I bhformhór na gcásanna, is leor agus is fearr cúpla baic a cur i bhfeidhm nó cúpla úsáideoirí a balbhú. Ní fheicfidh tú ábhair ón t-ainm fearainn sin in amlíne ar bith, nó i d'fhógraí. Scaoilfear do leantóirí ón ainm fearainn sin.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Logáil amach",
   "confirmations.logout.message": "An bhfuil tú cinnte gur mhaith leat logáil amach?",
   "confirmations.mute.confirm": "Balbhaigh",
diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json
index ca3dd0f2f..f5eb5c140 100644
--- a/app/javascript/mastodon/locales/gd.json
+++ b/app/javascript/mastodon/locales/gd.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Tha atharraichean gun sàbhaladh agad ann an tuairisgeul no ro-shealladh a’ mheadhain, a bheil thu airson an tilgeil air falbh co-dhiù?",
   "confirmations.domain_block.confirm": "Bac an àrainn uile gu lèir",
   "confirmations.domain_block.message": "A bheil thu cinnteach dha-rìribh gu bheil thu airson an àrainn {domain} a bhacadh uile gu lèir? Mar as trice, foghnaidh gun dèan thu bacadh no mùchadh no dhà gu sònraichte agus bhiodh sin na b’ fheàrr. Chan fhaic thu susbaint on àrainn ud air loidhne-ama phoblach sam bith no am measg nam brathan agad. Thèid an luchd-leantainn agad on àrainn ud a thoirt air falbh.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Clàraich a-mach",
   "confirmations.logout.message": "A bheil thu cinnteach gu bheil thu airson clàradh a-mach?",
   "confirmations.mute.confirm": "Mùch",
diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json
index 1033e6d7d..dc5bd31d6 100644
--- a/app/javascript/mastodon/locales/gl.json
+++ b/app/javascript/mastodon/locales/gl.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Tes cambios sen gardar para a vista previa ou descrición do multimedia, descartamos os cambios?",
   "confirmations.domain_block.confirm": "Agochar dominio enteiro",
   "confirmations.domain_block.message": "Tes a certeza de querer bloquear todo de {domain}? Na meirande parte dos casos uns bloqueos ou silenciados específicos son suficientes. Non verás máis o contido deste dominio en ningunha cronoloxía pública ou nas túas notificacións. As túas seguidoras deste dominio serán eliminadas.",
+  "confirmations.edit.confirm": "Editar",
+  "confirmations.edit.message": "Ao editar sobrescribirás a mensaxe que estás a compor. Tes a certeza de que queres continuar?",
   "confirmations.logout.confirm": "Pechar sesión",
   "confirmations.logout.message": "Desexas pechar a sesión?",
   "confirmations.mute.confirm": "Acalar",
diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json
index 7e3cee334..f5e6230b8 100644
--- a/app/javascript/mastodon/locales/he.json
+++ b/app/javascript/mastodon/locales/he.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "יש לך שינויים לא שמורים לתיאור המדיה. להשליך אותם בכל זאת?",
   "confirmations.domain_block.confirm": "חסמו לגמרי את שם המתחם (דומיין)",
   "confirmations.domain_block.message": "בטוחה שברצונך באמת לחסום את קהילת {domain}? ברב המקרים השתקה וחסימה של מספר משתמשים עשוייה להספיק. לא תראי תוכל מכלל שם המתחם בפידים הציבוריים או בהתראות שלך. העוקבים שלך מהקהילה הזאת יוסרו",
+  "confirmations.edit.confirm": "עריכה",
+  "confirmations.edit.message": "עריכת תגובה קודמת תדרוס את ההודעה שכבר התחלת לכתוב. האם את.ה בטוח.ה שברצונך להמשיך?",
   "confirmations.logout.confirm": "התנתקות",
   "confirmations.logout.message": "האם אתם בטוחים שאתם רוצים להתנתק?",
   "confirmations.mute.confirm": "להשתיק",
diff --git a/app/javascript/mastodon/locales/hi.json b/app/javascript/mastodon/locales/hi.json
index 24745cca5..8b0569860 100644
--- a/app/javascript/mastodon/locales/hi.json
+++ b/app/javascript/mastodon/locales/hi.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "लिस्ट में जोड़ें",
   "confirmations.domain_block.confirm": "संपूर्ण डोमेन छिपाएं",
   "confirmations.domain_block.message": "क्या आप वास्तव में, वास्तव में आप पूरे {domain} को ब्लॉक करना चाहते हैं? ज्यादातर मामलों में कुछ लक्षित ब्लॉक या म्यूट पर्याप्त और बेहतर हैं। आप किसी भी सार्वजनिक समय-सीमा या अपनी सूचनाओं में उस डोमेन की सामग्री नहीं देखेंगे। उस डोमेन से आपके फॉलोवर्स को हटा दिया जाएगा।",
+  "confirmations.edit.confirm": "संशोधित करें",
+  "confirmations.edit.message": "अभी संपादन किया तो वो संदेश मिट जायेगा जिसे आप लिख रहे थे। क्या आप जारी रखना चाहते हैं?",
   "confirmations.logout.confirm": "लॉग आउट करें",
   "confirmations.logout.message": "आप सुनिश्चित हैं कि लॉगआउट करना चाहते हैं?",
   "confirmations.mute.confirm": "शांत",
diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json
index 9be500a7e..2ee74d460 100644
--- a/app/javascript/mastodon/locales/hr.json
+++ b/app/javascript/mastodon/locales/hr.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Postoje nespremljene promjene u opisu medija ili u pretpregledu, svejedno ih odbaciti?",
   "confirmations.domain_block.confirm": "Blokiraj cijelu domenu",
   "confirmations.domain_block.message": "Jeste li zaista, zaista sigurni da želite blokirati cijelu domenu {domain}? U većini slučajeva dovoljno je i preferirano nekoliko ciljanih blokiranja ili utišavanja. Nećete vidjeti sadržaj s te domene ni u kojim javnim vremenskim crtama ili Vašim obavijestima. Vaši pratitelji s te domene bit će uklonjeni.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Odjavi se",
   "confirmations.logout.message": "Jeste li sigurni da se želite odjaviti?",
   "confirmations.mute.confirm": "Utišaj",
diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json
index b5ca1ef3b..4447aa2d1 100644
--- a/app/javascript/mastodon/locales/hu.json
+++ b/app/javascript/mastodon/locales/hu.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Elmentetlen változtatásaid vannak a média leírásában vagy előnézetében. Eldobjuk őket?",
   "confirmations.domain_block.confirm": "Teljes domain elrejtése",
   "confirmations.domain_block.message": "Biztos, hogy le szeretnéd tiltani a teljes {domain} domaint? A legtöbb esetben néhány célzott tiltás vagy némítás elegendő, és kívánatosabb megoldás. Semmilyen tartalmat nem fogsz látni ebből a domainből se az idővonalakon, se az értesítésekben. Az ebben a domainben lévő követőidet is eltávolítjuk.",
+  "confirmations.edit.confirm": "Szerkesztés",
+  "confirmations.edit.message": "Ha most szerkeszted, ez felülírja a most szerkesztés alatt álló üzenetet. Mégis ezt szeretnéd?",
   "confirmations.logout.confirm": "Kijelentkezés",
   "confirmations.logout.message": "Biztos, hogy kijelentkezel?",
   "confirmations.mute.confirm": "Némítás",
diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json
index cb1dd1bd2..87ecee646 100644
--- a/app/javascript/mastodon/locales/hy.json
+++ b/app/javascript/mastodon/locales/hy.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Թաքցնել ամբողջ տիրույթը",
   "confirmations.domain_block.message": "Հաստատ֊հաստա՞տ վստահ ես, որ ուզում ես արգելափակել ամբողջ {domain} տիրոյթը։ Սովորաբար մի երկու թիրախաւորուած արգելափակում կամ լռեցում բաւական է ու նախընտրելի։",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Ելք",
   "confirmations.logout.message": "Համոզո՞ւած ես, որ ուզում ես դուրս գալ",
   "confirmations.mute.confirm": "Լռեցնել",
diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json
index a6db3207d..1f93219c8 100644
--- a/app/javascript/mastodon/locales/id.json
+++ b/app/javascript/mastodon/locales/id.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Anda belum menyimpan perubahan deskripsi atau pratinjau media, buang saja?",
   "confirmations.domain_block.confirm": "Sembunyikan keseluruhan domain",
   "confirmations.domain_block.message": "Apakah Anda benar-benar yakin untuk memblokir keseluruhan {domain}? Dalam kasus tertentu beberapa pemblokiran atau penyembunyian lebih baik.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Keluar",
   "confirmations.logout.message": "Apakah Anda yakin ingin keluar?",
   "confirmations.mute.confirm": "Bisukan",
diff --git a/app/javascript/mastodon/locales/ig.json b/app/javascript/mastodon/locales/ig.json
index 69e4ae08a..3d2cd7772 100644
--- a/app/javascript/mastodon/locales/ig.json
+++ b/app/javascript/mastodon/locales/ig.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Log out",
   "confirmations.logout.message": "Are you sure you want to log out?",
   "confirmations.mute.confirm": "Mute",
diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json
index fedabed58..b6f61d23b 100644
--- a/app/javascript/mastodon/locales/io.json
+++ b/app/javascript/mastodon/locales/io.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Vu havas nesparita chanji di mediodeskript o prevido, vu volas jus efacar?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Ekirez",
   "confirmations.logout.message": "Ka tu certe volas ekirar?",
   "confirmations.mute.confirm": "Silencigez",
diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json
index 0d5b08b68..3611b26ed 100644
--- a/app/javascript/mastodon/locales/is.json
+++ b/app/javascript/mastodon/locales/is.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Þú ert með óvistaðar breytingar á lýsingu myndefnis eða forskoðunar, henda þeim samt?",
   "confirmations.domain_block.confirm": "Útiloka allt lénið",
   "confirmations.domain_block.message": "Ertu alveg algjörlega viss um að þú viljir loka á allt {domain}? Í flestum tilfellum er vænlegra að nota færri en markvissari útilokanir eða að þagga niður tiltekna aðila. Þú munt ekki sjá efni frá þessu léni í neinum opinberum tímalínum eða í tilkynningunum þínum. Fylgjendur þínir frá þessu léni verða fjarlægðir.",
+  "confirmations.edit.confirm": "Breyta",
+  "confirmations.edit.message": "Ef þú breytir núna verður skrifað yfir skilaboðin sem þú ert að semja núna. Ertu viss um að þú viljir halda áfram?",
   "confirmations.logout.confirm": "Skrá út",
   "confirmations.logout.message": "Ertu viss um að þú viljir skrá þig út?",
   "confirmations.mute.confirm": "Þagga",
diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json
index 7914b54ab..ce8f45fab 100644
--- a/app/javascript/mastodon/locales/it.json
+++ b/app/javascript/mastodon/locales/it.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Hai delle modifiche non salvate alla descrizione o anteprima del media, scartarle comunque?",
   "confirmations.domain_block.confirm": "Blocca l'intero dominio",
   "confirmations.domain_block.message": "Sei davvero sicuro di voler bloccare l'intero {domain}? In gran parte dei casi, è sufficiente e preferibile bloccare o silenziare alcuni profili. Non visualizzerai i contenuti da quel dominio in alcuna cronologia pubblica o tra le tue notifiche. I tuoi seguaci da quel dominio saranno rimossi.",
+  "confirmations.edit.confirm": "Modifica",
+  "confirmations.edit.message": "Modificare ora sovrascriverà il messaggio che stai correntemente componendo. Sei sicuro di voler procedere?",
   "confirmations.logout.confirm": "Disconnettiti",
   "confirmations.logout.message": "Sei sicuro di volerti disconnettere?",
   "confirmations.mute.confirm": "Silenzia",
diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json
index e5c752f32..172da89ce 100644
--- a/app/javascript/mastodon/locales/ja.json
+++ b/app/javascript/mastodon/locales/ja.json
@@ -166,6 +166,8 @@
   "confirmations.discard_edit_media.message": "メディアの説明またはプレビューに保存されていない変更があります。それでも破棄しますか?",
   "confirmations.domain_block.confirm": "ドメイン全体をブロック",
   "confirmations.domain_block.message": "本当に{domain}全体を非表示にしますか? 多くの場合は個別にブロックやミュートするだけで充分であり、また好ましいです。公開タイムラインにそのドメインのコンテンツが表示されなくなり、通知も届かなくなります。そのドメインのフォロワーはアンフォローされます。",
+  "confirmations.edit.confirm": "編集",
+  "confirmations.edit.message": "今編集すると現在作成中のメッセージが上書きされます。本当に実行しますか?",
   "confirmations.logout.confirm": "ログアウト",
   "confirmations.logout.message": "本当にログアウトしますか?",
   "confirmations.mute.confirm": "ミュート",
@@ -248,7 +250,7 @@
   "explore.trending_tags": "ハッシュタグ",
   "filter_modal.added.context_mismatch_explanation": "このフィルターカテゴリーはあなたがアクセスした投稿のコンテキストには適用されません。この投稿のコンテキストでもフィルターを適用するにはフィルターを編集する必要があります。",
   "filter_modal.added.context_mismatch_title": "コンテキストが一致しません!",
-  "filter_modal.added.expired_explanation": "このフィルターカテゴリは有効期限が切れています。適用するには有効期限を更新してください。",
+  "filter_modal.added.expired_explanation": "このフィルターカテゴリーは有効期限が切れています。適用するには有効期限を更新してください。",
   "filter_modal.added.expired_title": "フィルターの有効期限が切れています!",
   "filter_modal.added.review_and_configure": "このフィルターカテゴリーを確認して設定するには、{settings_link}に移動します。",
   "filter_modal.added.review_and_configure_title": "フィルター設定",
diff --git a/app/javascript/mastodon/locales/ka.json b/app/javascript/mastodon/locales/ka.json
index 2158a8e0f..9ebdfc989 100644
--- a/app/javascript/mastodon/locales/ka.json
+++ b/app/javascript/mastodon/locales/ka.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "მთელი დომენის დამალვა",
   "confirmations.domain_block.message": "ნაღდად, ნაღდად, დარწმუნებული ხართ, გსურთ დაბლოკოთ მთელი {domain}? უმეტეს შემთხვევაში რამდენიმე გამიზნული ბლოკი ან გაჩუმება საკმარისი და უკეთესია. კონტენტს ამ დომენიდან ვერ იხილავთ ვერც ერთ ღია თაიმლაინზე ან თქვენს შეტყობინებებში. ამ დომენიდან არსებული მიმდევრები ამოიშლება.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Log out",
   "confirmations.logout.message": "Are you sure you want to log out?",
   "confirmations.mute.confirm": "გაჩუმება",
diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json
index c3eb3d37c..cf02895c5 100644
--- a/app/javascript/mastodon/locales/kab.json
+++ b/app/javascript/mastodon/locales/kab.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Ffer taɣult meṛṛa",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Ffeɣ",
   "confirmations.logout.message": "D tidet tebɣiḍ ad teffɣeḍ?",
   "confirmations.mute.confirm": "Sgugem",
diff --git a/app/javascript/mastodon/locales/kk.json b/app/javascript/mastodon/locales/kk.json
index 297885a19..6a9195c4b 100644
--- a/app/javascript/mastodon/locales/kk.json
+++ b/app/javascript/mastodon/locales/kk.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Бұл доменді бұғатта",
   "confirmations.domain_block.message": "Бұл домендегі {domain} жазбаларды шынымен бұғаттайсыз ба? Кейде үнсіз қылып тастау да жеткілікті.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Шығу",
   "confirmations.logout.message": "Шығатыныңызға сенімдісіз бе?",
   "confirmations.mute.confirm": "Үнсіз қылу",
diff --git a/app/javascript/mastodon/locales/kn.json b/app/javascript/mastodon/locales/kn.json
index 4c7ed9a84..f81a47fa9 100644
--- a/app/javascript/mastodon/locales/kn.json
+++ b/app/javascript/mastodon/locales/kn.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Log out",
   "confirmations.logout.message": "Are you sure you want to log out?",
   "confirmations.mute.confirm": "Mute",
diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json
index e5a73258d..babd3b1dd 100644
--- a/app/javascript/mastodon/locales/ko.json
+++ b/app/javascript/mastodon/locales/ko.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "미디어 설명이나 미리보기에 대한 저장하지 않은 변경사항이 있습니다. 버리시겠습니까?",
   "confirmations.domain_block.confirm": "도메인 전체를 차단",
   "confirmations.domain_block.message": "정말로 {domain} 전체를 차단하시겠습니까? 대부분의 경우 개별 차단이나 뮤트로 충분합니다. 모든 공개 타임라인과 알림에서 해당 도메인에서 작성된 콘텐츠를 보지 못합니다. 해당 도메인에 속한 팔로워와의 관계가 사라집니다.",
+  "confirmations.edit.confirm": "수정",
+  "confirmations.edit.message": "지금 수정하면 작성 중인 메시지를 덮어쓰게 됩니다. 정말 진행합니까?",
   "confirmations.logout.confirm": "로그아웃",
   "confirmations.logout.message": "정말로 로그아웃 하시겠습니까?",
   "confirmations.mute.confirm": "뮤트",
diff --git a/app/javascript/mastodon/locales/ku.json b/app/javascript/mastodon/locales/ku.json
index ad53c3577..c927d9658 100644
--- a/app/javascript/mastodon/locales/ku.json
+++ b/app/javascript/mastodon/locales/ku.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Guhertinên neqedandî di danasîna an pêşdîtina medyayê de hene, wan bi her awayî bavêje?",
   "confirmations.domain_block.confirm": "Tevahiya navperê asteng bike",
   "confirmations.domain_block.message": "Tu pê bawerî ku tu dixwazî tevahiya {domain} asteng bikî? Di gelek rewşan de astengkirin an jî bêdengkirin têrê dike û tê hilbijartin. Tu nikarî naveroka vê navperê di demnameyê an jî agahdariyên xwe de bibînî. Şopînerên te yê di vê navperê wê werin jêbirin.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Derkeve",
   "confirmations.logout.message": "Ma tu dixwazî ku derkevî?",
   "confirmations.mute.confirm": "Bêdeng bike",
diff --git a/app/javascript/mastodon/locales/kw.json b/app/javascript/mastodon/locales/kw.json
index db4f0022e..9a20c2ebf 100644
--- a/app/javascript/mastodon/locales/kw.json
+++ b/app/javascript/mastodon/locales/kw.json
@@ -1,5 +1,5 @@
 {
-  "about.blocks": "Moderated servers",
+  "about.blocks": "Leurennow koswys",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
   "about.domain_blocks.no_reason_available": "Reason not available",
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Lettya gorfarth dhien",
   "confirmations.domain_block.message": "Owgh hwi wir, wir sur a vynnes lettya'n {domain} dhien? Y'n brassa rann a gasow, boghes lettyansow medrys po tawheansow yw lowr ha gwell. Ny wrewgh hwi gweles dalgh a'n worfarth na yn py amserlin boblek pynag po yn agas gwarnyansow. Agas holyoryon an worfarth na a vydh diles.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Digelmi",
   "confirmations.logout.message": "Owgh hwi sur a vynnes digelmi?",
   "confirmations.mute.confirm": "Tawhe",
diff --git a/app/javascript/mastodon/locales/la.json b/app/javascript/mastodon/locales/la.json
index 2634a6f06..173ca7c61 100644
--- a/app/javascript/mastodon/locales/la.json
+++ b/app/javascript/mastodon/locales/la.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Log out",
   "confirmations.logout.message": "Are you sure you want to log out?",
   "confirmations.mute.confirm": "Confutare",
diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json
index a2dac91ca..fd4bbdd95 100644
--- a/app/javascript/mastodon/locales/lt.json
+++ b/app/javascript/mastodon/locales/lt.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Log out",
   "confirmations.logout.message": "Are you sure you want to log out?",
   "confirmations.mute.confirm": "Mute",
diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json
index ba14ec5c0..9a3e3219e 100644
--- a/app/javascript/mastodon/locales/lv.json
+++ b/app/javascript/mastodon/locales/lv.json
@@ -12,7 +12,7 @@
   "about.powered_by": "Decentralizētu sociālo tīklu nodrošina {mastodon}",
   "about.rules": "Servera noteikumi",
   "account.account_note_header": "Piezīme",
-  "account.add_or_remove_from_list": "Pievienot vai noņemt no saraksta",
+  "account.add_or_remove_from_list": "Pievienot vai Noņemt no sarakstiem",
   "account.badges.bot": "Robots",
   "account.badges.group": "Grupa",
   "account.block": "Bloķēt @{name}",
@@ -105,7 +105,7 @@
   "column.direct": "Privātie ziņojumi",
   "column.directory": "Pārlūkot profilus",
   "column.domain_blocks": "Bloķētie domēni",
-  "column.favourites": "Izlase",
+  "column.favourites": "Izlases",
   "column.follow_requests": "Sekošanas pieprasījumi",
   "column.home": "Sākums",
   "column.lists": "Saraksti",
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Tev ir nesaglabātas izmaiņas multivides aprakstā vai priekšskatījumā. Vēlies tās atmest?",
   "confirmations.domain_block.confirm": "Bloķēt visu domēnu",
   "confirmations.domain_block.message": "Vai tu tiešām vēlies bloķēt visu domēnu {domain}? Parasti pietiek, ja nobloķē vai apklusini kādu. Tu neredzēsi saturu vai paziņojumus no šī domēna nevienā laika līnijā. Tavi sekotāji no šī domēna tiks noņemti.",
+  "confirmations.edit.confirm": "Rediģēt",
+  "confirmations.edit.message": "Rediģējot, tiks pārrakstīts ziņojums, kuru tu šobrīd raksti. Vai tiešām vēlies turpināt?",
   "confirmations.logout.confirm": "Iziet",
   "confirmations.logout.message": "Vai tiešām vēlies izrakstīties?",
   "confirmations.mute.confirm": "Apklusināt",
@@ -217,8 +219,8 @@
   "empty_column.direct": "Pašreiz tev nav privātu ziņu. Tiklīdz tādu nosūtīsi vai saņemsi, tās parādīsies šeit.",
   "empty_column.domain_blocks": "Vēl nav neviena bloķēta domēna.",
   "empty_column.explore_statuses": "Pašlaik nekā aktuāla nav. Pārbaudi vēlāk!",
-  "empty_column.favourited_statuses": "Pašreiz tev nav neviena izceltā ieraksta. Kad kādu izcelsi, tas parādīsies šeit.",
-  "empty_column.favourites": "Neviens šo ziņojumu vel nav izcēlis. Kad kāds to izdarīs, tas parādīsies šeit.",
+  "empty_column.favourited_statuses": "Tev vēl nav nevienas iecienītākās ziņas. Kad pievienosi kādu izlasei, tas tiks parādīts šeit.",
+  "empty_column.favourites": "Šo ziņu neviens vēl nav pievienojis izlasei. Kad kāds to izdarīs, tas parādīsies šeit.",
   "empty_column.follow_recommendations": "Neizdevās ģenerēt tev pielāgotus ieteikumus. Vari mēģināt izmantot meklēšanu, lai meklētu cilvēkus, kurus tu varētu pazīt, vai izpētīt populārākos tēmturus.",
   "empty_column.follow_requests": "Šobrīd tev nav sekošanas pieprasījumu. Kad kāds pieteiksies tev sekot, pieprasījums parādīsies šeit.",
   "empty_column.followed_tags": "Tu vēl neesi sekojis nevienam tēmturim. Kad to izdarīsi, tie tiks parādīti šeit.",
@@ -324,7 +326,7 @@
   "keyboard_shortcuts.legend": "Parādīt šo leģendu",
   "keyboard_shortcuts.local": "Atvērt vietējo laika līniju",
   "keyboard_shortcuts.mention": "Pieminēt autoru",
-  "keyboard_shortcuts.muted": "Atvērt apklusināto lietotāju sarakstu",
+  "keyboard_shortcuts.muted": "Atvērt noklusināto lietotāju sarakstu",
   "keyboard_shortcuts.my_profile": "Atvērt savu profilu",
   "keyboard_shortcuts.notifications": "Atvērt paziņojumu kolonnu",
   "keyboard_shortcuts.open_media": "Atvērt multividi",
@@ -396,7 +398,7 @@
   "not_signed_in_indicator.not_signed_in": "Lai piekļūtu šim resursam, tev ir jāpierakstās.",
   "notification.admin.report": "{name} sūdzējās par {target}",
   "notification.admin.sign_up": "{name} pierakstījās",
-  "notification.favourite": "{name} patika tava ziņa",
+  "notification.favourite": "{name} pievienoja tavu ziņu izlasei",
   "notification.follow": "{name} uzsāka tev sekot",
   "notification.follow_request": "{name} nosūtīja tev sekošanas pieprasījumu",
   "notification.mention": "{name} pieminēja tevi",
@@ -523,7 +525,7 @@
   "search.placeholder": "Meklēšana",
   "search.search_or_paste": "Meklē vai iekopē URL",
   "search_popout.search_format": "Paplašināts meklēšanas formāts",
-  "search_popout.tips.full_text": "Vienkāršs teksts atgriež ierakstus, kurus rakstīji, atzīmēji kā favorītus, pastiprināji vai pieminēji, kā arī atbilstošus lietotājvārdus, parādāmos vārdus un tēmturus.",
+  "search_popout.tips.full_text": "Vienkāršs teksts atgriež ziņas, kuras esi rakstījis, pievienojis izlasei, izcēlis vai pieminējis, kā arī atbilstošos lietotājvārdus, parādāmos vārdus un atsauces.",
   "search_popout.tips.hashtag": "tēmturis",
   "search_popout.tips.status": "ieraksts",
   "search_popout.tips.text": "Vienkāršs teksts atgriež atbilstošus parādāmos vārdus, lietotājvārdus un tēmturus",
diff --git a/app/javascript/mastodon/locales/mk.json b/app/javascript/mastodon/locales/mk.json
index b9e5cda1e..a84cc9168 100644
--- a/app/javascript/mastodon/locales/mk.json
+++ b/app/javascript/mastodon/locales/mk.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Сокриј цел домеин",
   "confirmations.domain_block.message": "Дали скроз сте сигурни дека ќе блокирате сѐ од {domain}? Во повеќето случаеви неколку таргетирани блокирања или заќутувања се доволни и предложени. Нема да ја видите содржината од тој домеин во никој јавен времеплов или вашите нотификации. Вашите следбеници од тој домеин ќе бидат остранети.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Одјави се",
   "confirmations.logout.message": "Дали сте сигурни дека сакате да се одјавите?",
   "confirmations.mute.confirm": "Заќути",
diff --git a/app/javascript/mastodon/locales/ml.json b/app/javascript/mastodon/locales/ml.json
index 3574ede02..5d29c55d0 100644
--- a/app/javascript/mastodon/locales/ml.json
+++ b/app/javascript/mastodon/locales/ml.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "മുഴുവൻ ഡൊമെയ്‌നും തടയുക",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "പുറത്തുകടക്കുക",
   "confirmations.logout.message": "നിങ്ങൾക്ക് ലോഗ് ഔട്ട് ചെയ്യണമെന്ന് ഉറപ്പാണോ?",
   "confirmations.mute.confirm": "നിശ്ശബ്ദമാക്കുക",
diff --git a/app/javascript/mastodon/locales/mr.json b/app/javascript/mastodon/locales/mr.json
index 1ba6aa957..680aea770 100644
--- a/app/javascript/mastodon/locales/mr.json
+++ b/app/javascript/mastodon/locales/mr.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "संपूर्ण डोमेन लपवा",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Log out",
   "confirmations.logout.message": "तुमची खात्री आहे की तुम्ही लॉग आउट करू इच्छिता?",
   "confirmations.mute.confirm": "आवाज बंद करा",
diff --git a/app/javascript/mastodon/locales/ms.json b/app/javascript/mastodon/locales/ms.json
index a003f42f4..3a374884b 100644
--- a/app/javascript/mastodon/locales/ms.json
+++ b/app/javascript/mastodon/locales/ms.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Anda belum menyimpan perubahan pada penerangan atau pratonton media. Anda ingin membuangnya?",
   "confirmations.domain_block.confirm": "Sekat keseluruhan domain",
   "confirmations.domain_block.message": "Adakah anda betul-betul, sungguh-sungguh pasti anda ingin menyekat keseluruhan {domain}? Selalunya, beberapa sekatan atau pembisuan tersasar sudah memadai dan lebih diutamakan. Anda tidak akan nampak kandungan daripada domain tersebut di mana-mana garis masa awam mahupun pemberitahuan anda. Pengikut anda daripada domain tersebut juga akan dibuang.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Log keluar",
   "confirmations.logout.message": "Adakah anda pasti anda ingin log keluar?",
   "confirmations.mute.confirm": "Bisukan",
diff --git a/app/javascript/mastodon/locales/my.json b/app/javascript/mastodon/locales/my.json
index 3c1cec63f..cf5b3406c 100644
--- a/app/javascript/mastodon/locales/my.json
+++ b/app/javascript/mastodon/locales/my.json
@@ -62,7 +62,7 @@
   "account.unblock_domain": " {domain} ဒိုမိန်းကိုပြန်ဖွင့်မည်",
   "account.unblock_short": "ဘလော့ဖြုတ်ရန်",
   "account.unendorse": "အကောင့်ပရိုဖိုင်တွင်မဖော်ပြပါ",
-  "account.unfollow": "ဖောလိုးဖြုတ်မည်",
+  "account.unfollow": "စောင့်ကြည့်ခြင်းအား ပယ်ဖျက်မည်",
   "account.unmute": "{name} ကို ပြန်ဖွင့်ရန်",
   "account.unmute_notifications": "{name}ထံမှသတိပေးချက်ပြန်ဖွင့်မည်",
   "account.unmute_short": "ပြန်ဖွင့်ရန်",
@@ -106,7 +106,7 @@
   "column.directory": "ပရိုဖိုင်များကို ရှာဖွေမည်\n",
   "column.domain_blocks": "  ဒိုမိန်းကိုပိတ်မည်",
   "column.favourites": "အကြိုက်ဆုံးများ",
-  "column.follow_requests": "တောင်းဆိုချက်များကိုလိုက်နာပါ။",
+  "column.follow_requests": "စောင့်ကြည့်ရန် တောင်းဆိုမှုများ",
   "column.home": "ပင်မစာမျက်နှာ",
   "column.lists": "စာရင်းများ",
   "column.mutes": "မပေါ်အောင်ပိတ်ထားသောအသုံးပြုသူများ",
@@ -123,7 +123,7 @@
   "column_subheading.settings": "ဆက်တင်များ",
   "community.column_settings.local_only": "ပြည်တွင်း၌သာ",
   "community.column_settings.media_only": "Media only",
-  "community.column_settings.remote_only": "Remote only",
+  "community.column_settings.remote_only": "အဝေးမှသာ",
   "compose.language.change": "ဘာသာစကား ပြောင်းမည်",
   "compose.language.search": "ဘာသာစကားကိုရှာမည်",
   "compose_form.direct_message_warning_learn_more": "ထပ်သိရှိလိုသည်",
@@ -153,15 +153,17 @@
   "confirmations.block.confirm": "ဘလော့မည်",
   "confirmations.block.message": "အကောင့်မှ ထွက်ရန် သေချာပါသလား?",
   "confirmations.cancel_follow_request.confirm": "ပန်ကြားချက်ကို ပယ်ဖျက်မည်",
-  "confirmations.cancel_follow_request.message": "{name} ကိုဖော်လိုပယ်ဖျက်ရန် သေချာပါသလား။",
+  "confirmations.cancel_follow_request.message": "{name} ကို စောင့်ကြည့်ခြင်းအားပယ်ဖျက်ရန် သေချာပါသလား။",
   "confirmations.delete.confirm": "ဖျက်မည်",
   "confirmations.delete.message": "Are you sure you want to delete this status?",
   "confirmations.delete_list.confirm": "ဖျက်မည်",
   "confirmations.delete_list.message": "ဖျက်ရန် သေချာပါသလား?",
   "confirmations.discard_edit_media.confirm": "ဖယ်ထုတ်ပါ",
-  "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
+  "confirmations.discard_edit_media.message": "သင်သည် မီဒီယာဖော်ပြချက် သို့မဟုတ် အစမ်းကြည့်ရှုခြင်းတွင် မသိမ်းဆည်းရသေးသော အပြောင်းအလဲများရှိသည်။ မည်သို့ပင်ဖြစ်စေ ဖျက်ပစ်မည်လား။",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "{domain} တစ်ခုလုံးကို ဘလော့လုပ်ရန် တကယ် သေချာပါသလား? များသောအားဖြင့် အနည်းစုကို ပစ်မှတ်ထား ဘလော့လုပ်ခြင်းသည် လုံလောက်ပါသည်။ ထို ဒိုမိန်းမှ အကြောင်းအရာ တစ်ခုမှ မြင်ရမည်မဟုတ်သည့်အပြင် ထို ဒိုမိန်းတွင်ရှိသော သင်၏ စောင့်ကြည့်သူများပါ ဖယ်ရှားပစ်မည်ဖြစ်သည်။",
+  "confirmations.edit.confirm": "ပြင်ရန်",
+  "confirmations.edit.message": "ယခုပြင်ဆင်ခြင်းတွင် သင်လက်ရှိမက်ဆေ့ချ်ကို ဖျက်ပစ်ပြီး အသစ်ရေးပါမည်။ ရှေ့ဆက်လိုသည်မှာ သေချာပါသလား။",
   "confirmations.logout.confirm": "အကောင့်မှထွက်မည်",
   "confirmations.logout.message": "အကောင့်မှ ထွက်ရန် သေချာပါသလား?",
   "confirmations.mute.confirm": "ပိတ်ထားရန်",
@@ -171,29 +173,29 @@
   "confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.",
   "confirmations.reply.confirm": "စာပြန်မည်",
   "confirmations.reply.message": "စာပြန်လျှင်ယခင်စာများကိုအလိုအလျောက်ပျက်သွားစေမည်။ ဆက်လက်လုပ်ဆောင်မည်လား?",
-  "confirmations.unfollow.confirm": "ဖောလိုးဖြုတ်မည်",
-  "confirmations.unfollow.message": "{name}ကိုဖောလိုးဖြုတ်မည်",
+  "confirmations.unfollow.confirm": "စောင့်ကြည့်ခြင်းအား ပယ်ဖျက်မည်",
+  "confirmations.unfollow.message": "{name} ကို စောင်ကြည့်ခြင်းအား ပယ်ဖျက်မည်မှာသေချာပါသလား။",
   "conversation.delete": "ဤစကားပြောဆိုမှုကို ဖျက်ပစ်မည်",
   "conversation.mark_as_read": "ဖတ်ပြီးသားအဖြစ်မှတ်ထားပါ",
   "conversation.open": "Conversation ကိုကြည့်မည်",
   "conversation.with": "{အမည်များ} ဖြင့်",
   "copypaste.copied": "ကူယူပြီးပါပြီ",
   "copypaste.copy": "ကူးယူပါ",
-  "directory.federated": "From known fediverse",
+  "directory.federated": "သင် သိသော ဖက်ဒီမှ",
   "directory.local": "{domain} မှသာလျှင်\n",
   "directory.new_arrivals": "အသစ်ရောက်ရှိမှုများ",
   "directory.recently_active": "မကြာသေးခင်က ဖွင့်ထားသော",
   "disabled_account_banner.account_settings": "အကောင့်ဆက်တင်များ",
   "disabled_account_banner.text": "{disabledAccount} သည်လတ်တလောပိတ်ခံထားရသည်",
-  "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.",
+  "dismissable_banner.community_timeline": "အကောင့်များမှ လတ်တလောတင်ထားသည့်အများမြင်ပို့စ်များမှာ {domain} တွင် တင်ထားသောပို့စ်များဖြစ်သည်။",
   "dismissable_banner.dismiss": "ပယ်ရန်",
   "dismissable_banner.explore_links": "ဤသတင်းများကို ယခုအချိန်တွင် ဗဟိုချုပ်ကိုင်မှုလျှော့ချထားသော ကွန်ရက်၏ အခြားဆာဗာများမှ လူများက ပြောဆိုနေကြပါသည်။",
   "dismissable_banner.explore_statuses": "ဤစာများနှင့် ဗဟိုချုပ်ကိုင်မှုလျှော့ချထားသော ကွန်ရက်ရှိ အခြားဆာဗာများမှ ဤပို့စ်များသည် ယခုဆာဗာပေါ်တွင် ဆွဲဆောင်မှု ရှိလာပါသည်။",
   "dismissable_banner.explore_tags": "ဤ hashtag များသည် ယခုအချိန်တွင် ဗဟိုချုပ်ကိုင်မှုလျှော့ချထားသော ကွန်ရက်၏ အခြားဆာဗာများပေါ်ရှိ လူများကြားတွင် ဆွဲဆောင်မှုရှိလာပါသည်",
-  "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.",
+  "dismissable_banner.public_timeline": "ဗဟိုချုပ်ကိုင်မှုလျှော့ချထားသော ဤဆာဗာနှင့် အခြားဆာဗာတို့တွင် တင်ထားသည့် လတ်တလော အများမြင်ပို့စ်များဖြစ်သည်။",
   "embed.instructions": "Embed this status on your website by copying the code below.",
   "embed.preview": "Here is what it will look like:",
-  "emoji_button.activity": "Activity",
+  "emoji_button.activity": "လုပ်ဆောင်ချက်",
   "emoji_button.clear": "ရှင်းလင်းမည်",
   "emoji_button.custom": "စိတ်ကြိုက်",
   "emoji_button.flags": "Flags",
@@ -213,28 +215,28 @@
   "empty_column.account_unavailable": "ပရိုဖိုင် မရနိုင်ပါ",
   "empty_column.blocks": "ပိတ်ထားသောအကောင့်များမရှိသေးပါ",
   "empty_column.bookmarked_statuses": "သင့်တွင် မှတ်သားထားသော ပို့စ်များ မရှိသေးပါ။ တစ်ခုကို အမှတ်အသားပြုလိုက်ပါက ၎င်းကို ဤနေရာတွင် ပြထားပါမည်။",
-  "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
+  "empty_column.community": "ဒေသတွင်းစာမျက်နှာမှာ အလွတ်ဖြစ်နေသည်။ အများမြင်နိုင်ရန်အတွက် တစ်ခုခုရေးပါ။",
   "empty_column.direct": "သင့်တွင် တိုက်ရိုက်မက်ဆေ့ချ်များ မရှိသေးပါ။ ပေးပို့ထားပါက သို့မဟုတ် လက်ခံထားပါက ၎င်းတို့ကို ဤနေရာတွင် ပြထားပါမည်။",
   "empty_column.domain_blocks": "သင်ပိတ်ထားသော ဒိုမိန်းမရှိသေးပါ",
   "empty_column.explore_statuses": "အခုလောလောဆယ်တွင် ရေပန်းစားနေသောပို့စ်များ မရှိသေးပါ။ နောက်မှ ပြန်စစ်ဆေးပါရန်။",
   "empty_column.favourited_statuses": "သင့်တွင် အကြိုက်ဆုံးပို့စ်များ မရှိသေးပါ။ တစ်ခုကို သင်နှစ်သက်ထားပါက ၎င်းကို ဤနေရာတွင် ပြထားပါမည်။",
   "empty_column.favourites": "ဤပို့စ်ကို အကြိုက်တွေ့သူ မရှိသေးပါ။ တစ်စုံတစ်ယောက်က ကြိုက်နှစ်သက်ပါက ဤနေရာတွင် ပြထားပါမည်။",
-  "empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
+  "empty_column.follow_recommendations": "သင့်အတွက် အကြံဉာဏ်များ မရရှိနိုင်ပါ။ သင်သိနိုင်သည့်လူများ သို့မဟုတ် ခေတ်စားနေသည့် hashtags များ ရှာဖွေရန်တို့အတွက် ရှာဖွေမှုကို အသုံးပြုနိုင်သည်။",
   "empty_column.follow_requests": "သင့်တွင် စောင့်ကြည့်ရန် တောင်းဆိုမှုများ မရှိသေးပါ။ သင်လက်ခံရရှိပါက ၎င်းကို ဤနေရာတွင် ပြထားပါမည်။",
-  "empty_column.followed_tags": "You have not followed any hashtags yet. When you do, they will show up here.",
-  "empty_column.hashtag": "There is nothing in this hashtag yet.",
-  "empty_column.home": "Your home timeline is empty! Follow more people to fill it up. {suggestions}",
+  "empty_column.followed_tags": "သင်သည် မည်သည့် hashtag ကိုမျှ စောင့်မကြည့်ရသေးပါ။ စောင့်ကြည့်ပါက ဤနေရာတွင် ပြပေးပါမည်။",
+  "empty_column.hashtag": "ဤ hashtag တွင် မည်သည့်အရာမျှ မရှိသေးပါ။",
+  "empty_column.home": "သင့်ပင်မစာမျက်နှာမှာ အလွတ်ဖြစ်နေပါသည်။ ဖြည့်ရန်အတွက် လူများကို စောင့်ကြည့်ပါ {suggestions}",
   "empty_column.home.suggestions": "ဆက်လက်ဖတ်ရှုမည်",
   "empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.",
   "empty_column.lists": "သင့်တွင် List မရှိသေးပါ။ List အသစ်ဖွင့်လျှင် ဤနေရာတွင်ကြည့်ရှုနိုင်မည်",
   "empty_column.mutes": "ပိတ်ထားသောအကောင့်များမရှိသေးပါ",
   "empty_column.notifications": "သတိပေးချက်မရှိသေးပါ။ သတိပေးချက်အသစ်ရှိလျှင် ဤနေရာတွင်ကြည့်ရှုနိုင်သည်",
-  "empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
-  "error.unexpected_crash.explanation": "Due to a bug in our code or a browser compatibility issue, this page could not be displayed correctly.",
+  "empty_column.public": "ဤနေရာတွင် မည်သည့်အရာမျှမရှိပါ။ တစ်ခုခုရေးပါ သို့မဟုတ် ဖြည့်စွက်ရန်အတွက် အခြားဆာဗာ အသုံးပြုသူများကို စောင့်ကြည့်ပါ။",
+  "error.unexpected_crash.explanation": " ကျွန်ုပ်တို့၏ကုဒ်တွင် ချွတ်ယွင်းချက်တစ်ခု သို့မဟုတ် ဘရောက်ဆာနှင့် အဆင်မပြေမှုတို့ကြောင့် ဤစာမျက်နှာကို မှန်ကန်စွာ မပြသနိုင်ပါ။",
   "error.unexpected_crash.explanation_addons": "ဤစာမျက်နှာကို မှန်ကန်စွာ မပြသနိုင်ခဲ့ပါ။ ဤအမှားသည် Browser add-on ထည့်သွင်းထားမှုများ သို့မဟုတ် အလိုအလျောက် ဘာသာပြန်ကိရိယာများကြောင့် ဖြစ်နိုင်သည်။",
   "error.unexpected_crash.next_steps": "စာမျက်နှာကို ပြန်လည်စတင်ကြည့်ပါ။ ၎င်းမှာ အကူအညီမဖြစ်ပါက သင်သည် အခြား Browser သို့မဟုတ် မူရင်းအက်ပ်မှတစ်ဆင့် Mastodon ကို ဆက်လက်အသုံးပြုနိုင်ပါမည်။",
-  "error.unexpected_crash.next_steps_addons": "Try disabling them and refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
-  "errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
+  "error.unexpected_crash.next_steps_addons": "၎င်းတို့ကို ပိတ်ပြီး စာမျက်နှာကို ပြန်လည်စတင်ကြည့်ပါ။ အဆင်မပြေပါက အခြားဘရောက်ဆာ သို့မဟုတ် မူရင်းအက်ပ်မှတစ်ဆင့် Mastodon ကို ဆက်ပြီးအသုံးပြုနိုင်ပါမည်။",
+  "errors.unexpected_crash.copy_stacktrace": "stacktrace ကို ကလစ်ဘုတ်သို့ ကူးယူပါ",
   "errors.unexpected_crash.report_issue": "အဆင်မပြေမှုကို တိုင်ကြားရန်",
   "explore.search_results": "ရှာဖွေမှုရလဒ်များ",
   "explore.suggested_follows": "သင့်အတွက်",
@@ -242,16 +244,16 @@
   "explore.trending_links": "သတင်းများ",
   "explore.trending_statuses": "ပို့စ်တင်မယ်",
   "explore.trending_tags": "ဟက်ရှ်တက်များ",
-  "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.",
-  "filter_modal.added.context_mismatch_title": "Context mismatch!",
-  "filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.",
-  "filter_modal.added.expired_title": "Expired filter!",
-  "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.",
+  "filter_modal.added.context_mismatch_explanation": "ဤစစ်ထုတ်မှု အမျိုးအစားသည် ဤပို့စ်ကို သင်ဝင်ရောက်ခဲ့ခြင်းနှင့် မသက်ဆိုင်ပါ။ ပို့စ်ကို စစ်ထုတ်လိုပါက စစ်ထုတ်မှုကို ပြင်ဆင်ရမည်ဖြစ်သည်။",
+  "filter_modal.added.context_mismatch_title": "အကြောင်းအရာ မကိုက်ညီပါ။",
+  "filter_modal.added.expired_explanation": "ဤစစ်ထုတ်မှုအမျိုးအစားမှာ သက်တမ်းကုန်သွားပါပြီ။ အသုံးပြုလိုပါက သက်တမ်းကုန်ဆုံးရက်ကို ပြောင်းလဲနိုင်ပါသည်။",
+  "filter_modal.added.expired_title": "သက်တမ်းကုန်နေသော စစ်ထုတ်မှု။",
+  "filter_modal.added.review_and_configure": "ဤစစ်ထုတ်မှုအမျိုးအစားကို ပြန်လည်သုံးသပ်ပြီး ထပ်မံပြင်ဆင်သတ်မှတ်ရန်၊ {settings_link} သို့ သွားပါ။",
   "filter_modal.added.review_and_configure_title": "စစ်ထုတ်မှု သတ်မှတ်ချက်များ",
-  "filter_modal.added.settings_link": "settings page",
+  "filter_modal.added.settings_link": "သတ်မှတ်ချက်များစာမျက်နှာ",
   "filter_modal.added.short_explanation": "ဤပို့စ်ကို အောက်ပါ စစ်ထုတ်မှုအမျိုးအစားတွင် ပေါင်းထည့်ထားပါသည် - {title}။",
   "filter_modal.added.title": "စစ်ထုတ်မှု ထည့်သွင်းပြီးပါပြီ။",
-  "filter_modal.select_filter.context_mismatch": "does not apply to this context",
+  "filter_modal.select_filter.context_mismatch": "ဤအကြောင်းအရာနှင့် မသက်ဆိုင်ပါ",
   "filter_modal.select_filter.expired": "သက်တမ်းကုန်သွားပါပြီ",
   "filter_modal.select_filter.prompt_new": "အမျိုးအစားအသစ် - {name}",
   "filter_modal.select_filter.search": "ရှာရန် သို့မဟုတ် ဖန်တီးရန်",
@@ -260,11 +262,11 @@
   "filter_modal.title.status": "ပို့စ်တစ်ခု စစ်ထုတ်ပါ",
   "follow_recommendations.done": "ပြီးပါပြီ",
   "follow_recommendations.heading": "သင်မြင်လိုသော သူများထံမှ ပို့စ်များကို စောင့်ကြည့်ပါ။ ဤတွင် အကြံပြုချက်အချို့ရှိပါသည်။",
-  "follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!",
-  "follow_request.authorize": "Authorize",
+  "follow_recommendations.lead": "သင်စောင့်ကြည့်ထားသူများ၏ ပို့စ်များမှာ သင့်ပင်မစာမျက်နှာတွင် အချိန်နှင့်တပြေးညီ ပေါ်လာပါမည်။ မကြောက်ပါနှင့်။ အချိန်မရွေး စောင့်ကြည့်ခြင်းအား ရပ်တန့်နိုင်ပါသည်။",
+  "follow_request.authorize": "လုပ်ပိုင်ခွင့်",
   "follow_request.reject": "ဖယ်ရှားပါ",
   "follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
-  "followed_tags": "Followed hashtags",
+  "followed_tags": "Hashtag ကို စောင့်ကြည့်ပါမည်",
   "footer.about": "အကြောင်း",
   "footer.directory": "ပရိုဖိုင်များလမ်းညွှန်",
   "footer.get_app": "အက်ပ်ကို ရယူပါ",
@@ -279,29 +281,29 @@
   "hashtag.column_header.tag_mode.any": "သို့မဟုတ် {additional}",
   "hashtag.column_header.tag_mode.none": "မပါဘဲ {additional}",
   "hashtag.column_settings.select.no_options_message": "အကြံပြုချက်မတွေ့ပါ",
-  "hashtag.column_settings.select.placeholder": "Enter hashtags…",
-  "hashtag.column_settings.tag_mode.all": "All of these",
-  "hashtag.column_settings.tag_mode.any": "Any of these",
-  "hashtag.column_settings.tag_mode.none": "None of these",
+  "hashtag.column_settings.select.placeholder": "hashtag သို့ ဝင်ရောက်နေခြင်း...",
+  "hashtag.column_settings.tag_mode.all": "ဤအရာအားလုံး",
+  "hashtag.column_settings.tag_mode.any": "ဤအရာထဲမှ တစ်ခု",
+  "hashtag.column_settings.tag_mode.none": "တစ်ခုမှ မဟုတ်ပါ။",
   "hashtag.column_settings.tag_toggle": "Include additional tags in this column",
   "hashtag.follow": "Hashtag ကို စောင့်ကြည့်မယ်",
   "hashtag.unfollow": "Hashtag ကို မစောင့်ကြည့်ပါ",
   "home.column_settings.basic": "အခြေခံ",
-  "home.column_settings.show_reblogs": "Show boosts",
+  "home.column_settings.show_reblogs": "Boost များကို ပြပါ",
   "home.column_settings.show_replies": "ပြန်စာများကို ပြပါ",
   "home.hide_announcements": "ကြေညာချက်များကို ဖျောက်ပါ",
   "home.show_announcements": "ကြေညာချက်များကို ပြပါ",
-  "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.",
-  "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.",
-  "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.",
-  "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
-  "interaction_modal.on_another_server": "On a different server",
+  "interaction_modal.description.favourite": "Mastodon အကောင့်တစ်ခုဖြင့် ဤပို့စ်ကို နှစ်သက်ကြောင်းနှင့် စာရေးသူအား သင်နှစ်သက်ကြောင်း အသိပေးပြီးနောက် ၎င်းကို နောက်မှ သိမ်းဆည်းနိုင်သည်။",
+  "interaction_modal.description.follow": "Mastodon အကောင့်ဖြင့် သင်၏ ပင်မစာမျက်နှာတွင် ၎င်းတို့၏ ပို့စ်များကို ရရှိရန်အတွက် {name} ကို စောင့်ကြည့်နိုင်ပါသည်။",
+  "interaction_modal.description.reblog": "Mastodon အကောင့်တစ်ခုဖြင့် သင်၏စောင့်ကြည့်သူများကို မျှဝေရန်အတွက် ဤပို့စ်ကို Boost လုပ်ပါ။",
+  "interaction_modal.description.reply": "Mastodon အကောင့်တစ်ခုဖြင့် သင် ဤပို့စ်ကို တုံ့ပြန်နိုင်ပါသည်။",
+  "interaction_modal.on_another_server": "တခြားဆာဗာပေါ်တွင်",
   "interaction_modal.on_this_server": "ဤဆာဗာတွင်",
-  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
-  "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
+  "interaction_modal.other_server_instructions": "သင်အကြိုက်ဆုံး Mastodon အက်ပ် သို့မဟုတ် သင့် Mastodon ဆာဗာ၏ ဝဘ်ရှိ ရှာဖွေမှုနေရာတွင် ဤ URL ကို ကူးယူပြီး ထည့်ပါ။",
+  "interaction_modal.preamble": "Mastodon မှာ ဗဟိုချုပ်ကိုင်မှု မရှိခြင်းကြောင့် ဤတစ်ခုအတွက် သင့်တွင်အကောင့်မရှိပါက အခြား Mastodon ဆာဗာ သို့မဟုတ် အဆင်ပြေသောပလက်ဖောင်းတွင် ရှိသော သင့်လက်ရှိအကောင့်ဖြင့် အသုံးပြုနိုင်ပါသည်။",
   "interaction_modal.title.favourite": "အကြိုက်ဆုံး {name} ၏ ပို့စ်",
   "interaction_modal.title.follow": "{name} ကို စောင့်ကြည့်မယ်",
-  "interaction_modal.title.reblog": "Boost {name}'s post",
+  "interaction_modal.title.reblog": "{name} ၏ ပို့စ်ကို Boost လုပ်ပါ",
   "interaction_modal.title.reply": "{name} ၏ ပို့စ်ကို စာပြန်မယ်",
   "intervals.full.days": "{number, plural, one {# day} other {# days}}",
   "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
@@ -341,10 +343,10 @@
   "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
   "keyboard_shortcuts.up": "to move up in the list",
   "lightbox.close": "ပိတ်ပါ",
-  "lightbox.compress": "Compress image view box",
+  "lightbox.compress": "ရုပ်ပုံမြင်ကွင်းအကွက်ကို ချုံ့ပါ",
   "lightbox.expand": "ပုံကိုဖွင့်ပါ",
   "lightbox.next": "ရှေ့သို့",
-  "lightbox.previous": "Previous",
+  "lightbox.previous": "ရှေ့သို့",
   "limited_account_hint.action": "ဘာပဲဖြစ်ဖြစ် ပရိုဖိုင်ကို ပြပါ",
   "limited_account_hint.title": "ဤပရိုဖိုင်ကို {domain} ၏ စိစစ်သူများမှ ဖျောက်ထားသည်။",
   "lists.account.add": "စာရင်းထဲသို့ထည့်ပါ",
@@ -354,10 +356,10 @@
   "lists.edit.submit": "ခေါင်းစဥ် ပြောင်းလဲရန်",
   "lists.new.create": "စာရင်းသွင်းပါ",
   "lists.new.title_placeholder": "စာရင်းသစ်ခေါင်းစဥ်",
-  "lists.replies_policy.followed": "Any followed user",
+  "lists.replies_policy.followed": "မည်သည့်စောင့်ကြည့်သူမဆို",
   "lists.replies_policy.list": "စာရင်းထဲမှ အဖွဲ့ဝင်များ",
   "lists.replies_policy.none": "တစ်ယောက်မှမရှိပါ",
-  "lists.replies_policy.title": "Show replies to:",
+  "lists.replies_policy.title": "ပြန်စာများကို ပြရန် -",
   "lists.search": "မိမိဖောလိုးထားသူများမှရှာဖွေမည်",
   "lists.subheading": "သင့်၏စာရင်းများ",
   "load_pending": "{count, plural, one {# new item} other {# new items}}",
@@ -373,31 +375,31 @@
   "navigation_bar.blocks": "ဘလော့ထားသောအကောင့်များ",
   "navigation_bar.bookmarks": "မှတ်ထားသည်များ",
   "navigation_bar.community_timeline": "ဒေသစံတော်ချိန်",
-  "navigation_bar.compose": "Compose new post",
+  "navigation_bar.compose": "ပို့စ်အသစ်ရေးပါ",
   "navigation_bar.direct": "တိုက်ရိုက်မက်ဆေ့ချ်များ",
-  "navigation_bar.discover": "Discover",
+  "navigation_bar.discover": "ရှာဖွေပါ",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "ကိုယ်ရေးမှတ်တမ်းပြင်ဆင်မည်",
-  "navigation_bar.explore": "Explore",
+  "navigation_bar.explore": "စူးစမ်းရန်",
   "navigation_bar.favourites": "အကြိုက်ဆုံးများ",
-  "navigation_bar.filters": "Muted words",
+  "navigation_bar.filters": "စကားလုံးများ ပိတ်ထားပါ",
   "navigation_bar.follow_requests": "တောင်းဆိုချက်များကို စောင့်ကြည့်ပါ",
-  "navigation_bar.followed_tags": "Followed hashtags",
+  "navigation_bar.followed_tags": "Hashtag ကို စောင့်ကြည့်မယ်",
   "navigation_bar.follows_and_followers": "စောင့်ကြည့်သူများနှင့် စောင့်ကြည့်စာရင်း",
   "navigation_bar.lists": "စာရင်းများ",
   "navigation_bar.logout": "ထွက်မယ်",
-  "navigation_bar.mutes": "Muted users",
+  "navigation_bar.mutes": "အသုံးပြုသူများကို ပိတ်ထားပါ",
   "navigation_bar.personal": "ကိုယ်ရေးကိုယ်တာ",
   "navigation_bar.pins": "ပင်တွဲထားသောပို့စ်များ",
-  "navigation_bar.preferences": "Preferences",
-  "navigation_bar.public_timeline": "Federated timeline",
+  "navigation_bar.preferences": "စိတ်ကြိုက်သတ်မှတ်ချက်များ",
+  "navigation_bar.public_timeline": "ဖက်ဒီစာမျက်နှာ",
   "navigation_bar.search": "ရှာရန်",
   "navigation_bar.security": "လုံခြုံရေး",
   "not_signed_in_indicator.not_signed_in": "ဤရင်းမြစ်သို့ ဝင်ရောက်ရန်အတွက် သင်သည် အကောင့်ဝင်ရန် လိုအပ်ပါသည်။",
-  "notification.admin.report": "{name} reported {target}",
+  "notification.admin.report": "{name} က {target} ကို တိုင်ကြားခဲ့သည်",
   "notification.admin.sign_up": "{name} က အကောင့်ဖွင့်ထားသည်",
   "notification.favourite": "{name} favourited your status",
-  "notification.follow": "{name} သင့်ကို စောင့်ကြည့်ခဲ့သည်",
+  "notification.follow": "{name} က သင့်ကို စောင့်ကြည့်ခဲ့သည်",
   "notification.follow_request": "{name} က သင့်ကို စောင့်ကြည့်ရန် တောင်းဆိုထားသည်",
   "notification.mention": "{name} က သင့်ကို ဖော်ပြခဲ့သည်",
   "notification.own_poll": "စစ်တမ်းကောက်မှု ပြီးဆုံးပါပြီ",
@@ -407,45 +409,45 @@
   "notification.update": "{name} က ပို့စ်တစ်ခုကို ပြင်ဆင်ခဲ့သည်",
   "notifications.clear": "အသိပေးချက်များအား ရှင်းလင်းပါ",
   "notifications.clear_confirmation": "သတိပေးချက်အားလုံးကို အပြီးတိုင်ဖယ်ရှားမည်",
-  "notifications.column_settings.admin.report": "New reports:",
-  "notifications.column_settings.admin.sign_up": "New sign-ups:",
+  "notifications.column_settings.admin.report": "တိုင်ကြားစာအသစ်များ -",
+  "notifications.column_settings.admin.sign_up": "အကောင့်အသစ်များ -",
   "notifications.column_settings.alert": "Desktop သတိပေးချက်များ",
   "notifications.column_settings.favourite": "ကြိုက်နှစ်သက်မှုများ",
   "notifications.column_settings.filter_bar.advanced": "ခေါင်းစဥ်အားလုံးများကိုဖော်ပြပါ",
   "notifications.column_settings.filter_bar.category": "Quick filter bar",
   "notifications.column_settings.filter_bar.show_bar": "စစ်ထုတ်မှုဘားကို ပြပါ",
   "notifications.column_settings.follow": "စောင့်ကြည့်သူအသစ်များ -",
-  "notifications.column_settings.follow_request": "New follow requests:",
-  "notifications.column_settings.mention": "Mentions:",
+  "notifications.column_settings.follow_request": "စောင့်ကြည့်ရန် တောင်းဆိုမှုအသစ်များ -",
+  "notifications.column_settings.mention": "ဖော်ပြချက်များ -",
   "notifications.column_settings.poll": "စစ်တမ်းရလဒ်",
   "notifications.column_settings.push": "အသိပေးချက်များအား ရအောင်ပို့ခြင်း",
-  "notifications.column_settings.reblog": "Boosts:",
+  "notifications.column_settings.reblog": "Boosts -",
   "notifications.column_settings.show": "ကော်လံတွင်ပြပါ",
   "notifications.column_settings.sound": "အသံဖွင့်မည်",
   "notifications.column_settings.status": "ပို့စ်အသစ်များ -",
   "notifications.column_settings.unread_notifications.category": "မဖတ်ရသေးသောအသိပေးချက်များ -",
-  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "မဖတ်ရသေးသော အသိပေးချက်များကို ဖော်ပြပါ",
   "notifications.column_settings.update": "ပြင်ဆင်ထားမှုများ -",
   "notifications.filter.all": "အားလုံး",
   "notifications.filter.boosts": "အားပေးမည်",
   "notifications.filter.favourites": "ကြိုက်နှစ်သက်မှုများ",
-  "notifications.filter.follows": "ဖောလိုးမည်",
+  "notifications.filter.follows": "စောင့်ကြည့်မယ်",
   "notifications.filter.mentions": " မန်းရှင်းမည်",
   "notifications.filter.polls": "စစ်တမ်းရလဒ်",
   "notifications.filter.statuses": "သင်စောင့်ကြည့်သူများထံမှ အပ်ဒိတ်များ",
   "notifications.grant_permission": "ခွင့်ပြုချက်ပေးမည်",
   "notifications.group": "အသိပေးချက်များ {count} ခု",
   "notifications.mark_as_read": "အသိပေးချက်တိုင်းကို ဖတ်ပြီးကြောင်း အမှတ်အသားပြုပါ",
-  "notifications.permission_denied": "Desktop notifications are unavailable due to previously denied browser permissions request",
-  "notifications.permission_denied_alert": "Desktop notifications can't be enabled, as browser permission has been denied before",
-  "notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.",
-  "notifications_permission_banner.enable": "Enable desktop notifications",
+  "notifications.permission_denied": "ဘရောက်ဆာခွင့်ပြုချက်များ တောင်းဆိုမှုအား ငြင်းခဲ့သောကြောင့် ဒက်စ်တော့ အသိပေးချက်များကို မရရှိနိုင်ပါ",
+  "notifications.permission_denied_alert": "ဘရောက်ဆာခွင့်ပြုချက်ကို ငြင်းပယ်ခဲ့သောကြောင့် ဒက်စ်တော့ အသိပေးချက်များကို ဖွင့်၍မရပါ",
+  "notifications.permission_required": "လိုအပ်သောခွင့်ပြုချက်ကို မပေးထားသောကြောင့် ဒက်စ်တော့ အသိပေးချက်များကို မရရှိနိုင်ပါ။",
+  "notifications_permission_banner.enable": "ဒက်စ်တော့ အသိပေးချက်များကို ဖွင့်ပါ",
   "notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
-  "notifications_permission_banner.title": "Never miss a thing",
-  "picture_in_picture.restore": "Put it back",
+  "notifications_permission_banner.title": "လက်လွတ်မခံပါနှင့်",
+  "picture_in_picture.restore": "ပြန်ထားပါ",
   "poll.closed": "ပိတ်သွားပြီ",
   "poll.refresh": "ပြန်ဖွင့်မည်",
-  "poll.total_people": "{count, plural, one {# person} other {# people}}",
+  "poll.total_people": "{count, plural, one {# person} other {# people}}\n",
   "poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
   "poll.vote": "မဲပေးမည်",
   "poll.voted": "သင်ဤအဖြေကိုမဲပေးခဲ့သည်",
@@ -456,20 +458,20 @@
   "privacy.direct.long": "မန်းရှင်းခေါ်သူသီးသန့်",
   "privacy.direct.short": "Direct",
   "privacy.private.long": "ဖော်လိုးလုပ်သူသီးသန့်",
-  "privacy.private.short": "Followers-only",
-  "privacy.public.long": "Visible for all",
-  "privacy.public.short": "Public",
-  "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
-  "privacy.unlisted.short": "Unlisted",
-  "privacy_policy.last_updated": "Last updated {date}",
+  "privacy.private.short": "စောင့်ကြည့်သူများသာ",
+  "privacy.public.long": "အားလုံး မြင်နိုင်သည်",
+  "privacy.public.short": "အများကိုပြမည်",
+  "privacy.unlisted.long": "အားလုံးမြင်နိုင်သော်လည်း ရှာဖွေမှုများမှ ဖယ်ထုတ်ထားသည်",
+  "privacy.unlisted.short": "စာရင်းမသွင်းထားပါ",
+  "privacy_policy.last_updated": "နောက်ဆုံး ပြင်ဆင်ခဲ့သည့်ရက်စွဲ {date}",
   "privacy_policy.title": "ကိုယ်ရေးအချက်အလက်မူဝါဒ",
   "refresh": "ပြန်လည်စတင်ပါ",
   "regeneration_indicator.label": "လုပ်ဆောင်နေသည်…",
-  "regeneration_indicator.sublabel": "Your home feed is being prepared!",
+  "regeneration_indicator.sublabel": "သင့်ပင်မစာမျက်နှာကို ပြင်ဆင်နေပါသည်။",
   "relative_time.days": "{number}d",
   "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago",
   "relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago",
-  "relative_time.full.just_now": "just now",
+  "relative_time.full.just_now": "အခုလေးတင်",
   "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago",
   "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago",
   "relative_time.hours": "{number}h",
@@ -479,12 +481,12 @@
   "relative_time.today": "ယနေ့",
   "reply_indicator.cancel": "ပယ်ဖျက်မည်",
   "report.block": "ဘလော့မည်",
-  "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
+  "report.block_explanation": "၎င်းတို့ရဲ့ ပို့စ်တွေကို မြင်ရမှာမဟုတ်ဘူး။ သင့်ပို့စ်များကို မမြင်နိုင်သလို သင့်ကို စောင့်ကြည့်၍ရမည်လည်းမဟုတ်ပါ။ ၎င်းတို့ကို ပိတ်ပင်ထားပါသည်။",
   "report.categories.other": "အခြား",
   "report.categories.spam": "ပြင်ပစာများ",
   "report.categories.violation": "ဤစာတွင် သတ်မှတ်ထားသောစည်းကမ်းများကို ဖောက်ဖျက်သောအကြောင်းအရာပါဝင်နေသည်",
   "report.category.subtitle": "အကိုက်ညီဆုံးကိုရွေးချယ်ပါ",
-  "report.category.title": "Tell us what's going on with this {type}",
+  "report.category.title": "ဤ {type} တွင် ဘာဖြစ်နေသည်ကို ပြောပြပါ",
   "report.category.title_account": "ကိုယ်ရေးမှတ်တမ်း",
   "report.category.title_status": "ပို့စ်",
   "report.close": "ပြီးပြီ",
@@ -492,34 +494,34 @@
   "report.forward": "{target} သို့တစ်ဆင့်ပို့ပေးမည်",
   "report.forward_hint": "ဤအကောင့်မှာတစ်ခြားဆာဗာမှဖြစ်သည်။ အမည်မသိတိုင်းကြားချက်ဖွင့်လိုပါသလား?",
   "report.mute": "ပိတ်ထားရန်",
-  "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
+  "report.mute_explanation": "၎င်းတို့၏ပို့စ်များကို သင်မြင်ရမည်မဟုတ်ပါ။ ၎င်းတို့မှာ သင့်ကို စောင့်ကြည့်၍ ပို့စ်များကို မြင်နိုင်ဆဲဖြစ်ပြီး ၎င်းတို့ကို အသံပိတ်ထားကြောင်း သိမည်မဟုတ်ပါ။\n",
   "report.next": "ရှေ့သို့",
   "report.placeholder": "Type or paste additional comments",
   "report.reasons.dislike": "မကြိုက်ပါ",
   "report.reasons.dislike_description": "ပိုမိုမြင်လိုသည်ရှိပါသလား",
   "report.reasons.other": "တစ်ခုခုဖြစ်နေသည်",
-  "report.reasons.other_description": "The issue does not fit into other categories",
-  "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
-  "report.reasons.violation": "It violates server rules",
-  "report.reasons.violation_description": "You are aware that it breaks specific rules",
-  "report.rules.subtitle": "Select all that apply",
-  "report.rules.title": "Which rules are being violated?",
-  "report.statuses.subtitle": "Select all that apply",
-  "report.statuses.title": "Are there any posts that back up this report?",
+  "report.reasons.other_description": "ဤအချက်မှာ အခြားအမျိုးအစားများနှင့် မကိုက်ညီပါ။",
+  "report.reasons.spam": "၎င်းမှာ Spam ဖြစ်သည်",
+  "report.reasons.spam_description": "အန္တရာယ်ရှိသော လင့်ခ်များ၊ အတုအယောင်များ သို့မဟုတ် ထပ်တလဲလဲ ပြန်ကြားမှုများ",
+  "report.reasons.violation": "၎င်းမှာ ဆာဗာစည်းမျဉ်းများကို ချိုးဖောက်ထားသည်",
+  "report.reasons.violation_description": "သတ်မှတ်ထားသော စည်းကမ်းများကို ချိုးဖောက်ထားကြောင်း သင် သိရှိထားသည်။",
+  "report.rules.subtitle": "သက်ဆိုင်သမျှကို ရွေးပါ",
+  "report.rules.title": "မည်သည့်စည်းကမ်းများကို ချိုးဖောက်ထားပါသလဲ။",
+  "report.statuses.subtitle": "သက်ဆိုင်သမျှကို ရွေးပါ",
+  "report.statuses.title": "ဤတိုင်ကြားစာကို အရန်ကူးထားသည့် ပို့စ်များ ရှိပါသလား။",
   "report.submit": "Submit report",
   "report.target": "Report {target}",
-  "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
-  "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
-  "report.thanks.title": "Don't want to see this?",
-  "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
-  "report.unfollow": "Unfollow @{name}",
-  "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
+  "report.thanks.take_action": "ဤသည်မှာ Mastodon တွင် သင်မြင်ရသည့်အရာများ ထိန်းချုပ်ရန်အတွက် ရွေးချယ်ရမည့်နေရာဖြစ်သည် -",
+  "report.thanks.take_action_actionable": "၎င်းကို ကျွန်ုပ်တို့ သုံးသပ်နေချိန်တွင် သင်သည် @{name} ကို အရေးယူနိုင်သည် -",
+  "report.thanks.title": "ဒါကို မမြင်ချင်ဘူးလား။",
+  "report.thanks.title_actionable": "တိုင်ကြားခြင်းအတွက် ကျေးဇူးတင်ပါသည်၊ ဤအရာကို ကျွန်ုပ်တို့ စစ်ဆေးပါမည်။",
+  "report.unfollow": "@{name} ကို မစောင့်ကြည့်တော့ပါ",
+  "report.unfollow_explanation": "သင် ဤအကောင့်ကို စောင့်ကြည့်နေသည်။ သင့်ပင်မစာမျက်နှာတွင် ၎င်းတို့၏ပို့စ်များကို ထပ်ပြီးမတွေ့ချင်တော့ပါက စောင့်ကြည့်ခြင်းကို ရပ်တန့်နိုင်ပါသည်။",
   "report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
   "report_notification.categories.other": "အခြား",
   "report_notification.categories.spam": "Spam",
-  "report_notification.categories.violation": "Rule violation",
-  "report_notification.open": "Open report",
+  "report_notification.categories.violation": "စည်းကမ်းဖောက်ဖျက်ခြင်း",
+  "report_notification.open": "အစီရင်ခံစာကိုဖွင့်ပါ",
   "search.placeholder": "ရှာဖွေရန်",
   "search.search_or_paste": "URL ရိုက်ထည့်ပါ သို့မဟုတ် ရှာဖွေပါ",
   "search_popout.search_format": "အဆင့်မြင့်ရှာဖွေမှုပုံစံ",
@@ -533,59 +535,59 @@
   "search_results.hashtags": "ဟက်ရှ်တက်များ",
   "search_results.nothing_found": "ရှာဖွေလိုသောအရာမရှိပါ",
   "search_results.statuses": "ပို့စ်တင်မယ်",
-  "search_results.statuses_fts_disabled": "Searching posts by their content is not enabled on this Mastodon server.",
+  "search_results.statuses_fts_disabled": "ဤ Mastodon ဆာဗာတွင် ၎င်းတို့၏ အကြောင်းအရာအလိုက် ပို့စ်များရှာဖွေခြင်းကို ဖွင့်မထားပါ။",
   "search_results.title": "{q} ကို ရှာပါ",
   "search_results.total": "{count, number} {count, plural, one {result} other {results}}",
-  "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)",
+  "server_banner.about_active_users": "ပြီးခဲ့သည့် ရက်ပေါင်း ၃၀ အတွင်း ဤဆာဗာကို အသုံးပြုသူများ (လအလိုက် လက်ရှိအသုံးပြုသူများ)",
   "server_banner.active_users": "လက်ရှိအသုံးပြုသူများ",
-  "server_banner.administered_by": "Administered by:",
-  "server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.",
+  "server_banner.administered_by": "မှ စီမံခန့်ခွဲသည် -",
+  "server_banner.introduction": "{domain} သည် {mastodon} မှ ပံ့ပိုးပေးထားသော ဗဟိုချုပ်ကိုင်မှုမရှိသည့် လူမှုကွန်ရက်တစ်ခုဖြစ်သည်။",
   "server_banner.learn_more": "ပိုမိုသိရှိရန်",
-  "server_banner.server_stats": "Server stats:",
+  "server_banner.server_stats": "ဆာဗာအား လက်ရှိအသုံးပြုသူများ -",
   "sign_in_banner.create_account": "အကောင့်ဖန်တီးမည်",
   "sign_in_banner.sign_in": "အကောင့်ဝင်မည်",
-  "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts. You can also interact from your account on a different server.",
-  "status.admin_account": "Open moderation interface for @{name}",
-  "status.admin_domain": "Open moderation interface for {domain}",
+  "sign_in_banner.text": "ပရိုဖိုင်များ သို့မဟုတ် hashtags များ၊ အကြိုက်ဆုံး၊ မျှဝေပြီး ပို့စ်များနှင့် ပို့စ် ပြန်ကြားစာများ ကြည့်ရှုရန်အတွက် အကောင့်ဝင်ရောက်ပါ။ အခြားဆာဗာတစ်ခုပေါ်ရှိ သင့်အကောင့်မှလည်း အပြန်အလှန် ဖလှယ်နိုင်ပါသည်။",
+  "status.admin_account": "@{name} အတွက် စိစစ်ခြင်းကြားခံနယ်ကို ဖွင့်ပါ",
+  "status.admin_domain": "{domain} အတွက် စိစစ်ခြင်းကြားခံနယ်ကို ဖွင့်ပါ",
   "status.admin_status": "Open this status in the moderation interface",
   "status.block": "@{name} ကိုဘလော့မည်",
   "status.bookmark": "မှတ်ထားသည်များ",
   "status.cancel_reblog_private": "Unboost",
-  "status.cannot_reblog": "This post cannot be boosted",
+  "status.cannot_reblog": "ဤပို့စ်ကို Boost ၍ မရပါ",
   "status.copy": "Copy link to status",
   "status.delete": "ဖျက်ရန်",
-  "status.detailed_status": "Detailed conversation view",
+  "status.detailed_status": "အသေးစိတ်စကားပြောဆိုမှုမြင်ကွင်း",
   "status.direct": "@{name} ကို တိုက်ရိုက်စာပို့မည်",
   "status.edit": "ပြင်ဆင်ရန်",
-  "status.edited": "Edited {date}",
-  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
+  "status.edited": "{date} ကို ပြင်ဆင်ပြီးပါပြီ",
+  "status.edited_x_times": "{count, plural, one {{count} time} other {{count} times}} ပြင်ဆင်ခဲ့သည်",
   "status.embed": "Embed",
   "status.favourite": "ကြိုက်နှစ်သက်မှုများ",
-  "status.filter": "Filter this post",
-  "status.filtered": "Filtered",
+  "status.filter": "ဤပို့စ်ကို စစ်ထုတ်ပါ",
+  "status.filtered": "စစ်ထုတ်ထားသည်",
   "status.hide": "ပို့စ်ကိုပိတ်ထားမည်",
-  "status.history.created": "{name} created {date}",
-  "status.history.edited": "{name} edited {date}",
-  "status.load_more": "Load more",
-  "status.media_hidden": "Media hidden",
-  "status.mention": "Mention @{name}",
-  "status.more": "More",
-  "status.mute": "Mute @{name}",
-  "status.mute_conversation": "Mute conversation",
+  "status.history.created": "{name} က {date} က ဖန်တီးခဲ့သည်",
+  "status.history.edited": "{name} က {date} က ပြင်ဆင်ခဲ့သည်",
+  "status.load_more": "ပို၍ဆောင်ရွက်ပါ",
+  "status.media_hidden": "မီဒီယာကို ဖျောက်ထားပါ",
+  "status.mention": "@{name} ကို ဖော်ပြထားသည်",
+  "status.more": "နောက်ထပ်",
+  "status.mute": "@{name} ကို ပိတ်ထားရန်",
+  "status.mute_conversation": "စကားဝိုင်းကို ပိတ်ထားရန်",
   "status.open": "ပို့စ်ကိုချဲ့ထွင်မည်",
-  "status.pin": "Pin on profile",
+  "status.pin": "ပရိုဖိုင်တွင် ပင်ထားပါ",
   "status.pinned": "ပင်တွဲထားသောပို့စ်",
   "status.read_more": "ပိုမိုဖတ်ရှုရန်",
   "status.reblog": "Boost",
-  "status.reblog_private": "Boost with original visibility",
-  "status.reblogged_by": "{name} boosted",
-  "status.reblogs.empty": "No one has boosted this post yet. When someone does, they will show up here.",
-  "status.redraft": "Delete & re-draft",
+  "status.reblog_private": "မူရင်းပုံစံဖြင့် Boost လုပ်ပါ",
+  "status.reblogged_by": "{name} က Boost လုပ်ထားသည်",
+  "status.reblogs.empty": "ဤပို့စ်ကို မည်သူမှ Boost လုပ်ထားခြင်းမရှိသေးပါ။ တစ်ယောက်ယောက်မှ Boost လုပ်ပါက ဤနေရာတွင်ပေါ်လာပါမည်။",
+  "status.redraft": "ဖျက်ပြီး ပြန်ရေးပါ",
   "status.remove_bookmark": "မှတ်ထားသည်များကို ဖယ်ရှားပါ",
   "status.replied_to": "{name} ကို စာပြန်ခဲ့သည်",
   "status.reply": "စာပြန်ရန်",
-  "status.replyAll": "Reply to thread",
-  "status.report": "Report @{name}",
+  "status.replyAll": "thread သို့ စာပြန်ပါ",
+  "status.report": "@{name} ကို တိုင်ကြားရန်",
   "status.sensitive_warning": "သတိထားရသော အကြောင်းအရာ",
   "status.share": "မျှဝေ",
   "status.show_filter_reason": "မည်သို့ပင်ဖြစ်စေ ပြပါ",
@@ -597,13 +599,13 @@
   "status.translate": "ဘာသာပြန်ပါ",
   "status.translated_from_with": "{provider} ကို အသုံးပြု၍ {lang} မှ ဘာသာပြန်ထားသည်",
   "status.uncached_media_warning": "မရနိုင်ပါ",
-  "status.unmute_conversation": "Unmute conversation",
-  "status.unpin": "Unpin from profile",
-  "subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.",
+  "status.unmute_conversation": "စကားဝိုင်းကို ပိတ်ထားရန်",
+  "status.unpin": "ပရိုဖိုင်မှ ပင်ဖြုတ်ပါ။",
+  "subscribed_languages.lead": "ပြောင်းလဲပြီးနောက် ရွေးချယ်ထားသော ဘာသာစကားများ၏ ပို့စ်များကိုသာ သင့် ပင်မစာမျက်နှာနှင့် စာရင်းစာမျက်နှာတွင်သာ ပေါ်လာမည်ဖြစ်ပါသည်။ ဘာသာစကားအားလုံး၏ ပို့စ်များအား ကြည့်ရှုလိုပါက အပြောင်းအလဲမပြုလုပ်ပါနှင့်။",
   "subscribed_languages.save": "ပြောင်းလဲမှုများကို သိမ်းဆည်းပါ",
   "subscribed_languages.target": "{target} အတွက် စာရင်းသွင်းထားသော ဘာသာစကားများကို ပြောင်းပါ",
-  "suggestions.dismiss": "Dismiss suggestion",
-  "suggestions.header": "You might be interested in…",
+  "suggestions.dismiss": "အကြံပြုချက်ကို ဖယ်လိုက်ပါ",
+  "suggestions.header": "စိတ်ဝင်စားနိုင်သည်...",
   "tabs_bar.federated_timeline": "ဖက်ဒီ",
   "tabs_bar.home": "ပင်မစာမျက်နှာ",
   "tabs_bar.local_timeline": "ပြည်တွင်း",
@@ -611,7 +613,7 @@
   "time_remaining.days": "{number, plural, one {# day} other {# days}} left",
   "time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left",
   "time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left",
-  "time_remaining.moments": "Moments remaining",
+  "time_remaining.moments": "အခိုက်အတန့်များ ကျန်ရှိနေသေးသည်",
   "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
   "timeline_hint.remote_resource_not_displayed": "အခြားဆာဗာများမှ {resource} ကို ပြသမည်မဟုတ်ပါ။",
   "timeline_hint.resources.followers": "စောင့်ကြည့်သူများ",
@@ -619,11 +621,11 @@
   "timeline_hint.resources.statuses": "ပို့စ်အဟောင်းများ",
   "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}",
   "trends.trending_now": "လက်ရှိခေတ်စားနေသော ပို့စ်များ",
-  "ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
+  "ui.beforeunload": "Mastodon မှ ထွက်ခွာပါက သင့်မူကြမ်း ဆုံးရှုံးသွားပါမည်။",
   "units.short.billion": "{count}B",
   "units.short.million": "{count}M",
   "units.short.thousand": "{count}K",
-  "upload_area.title": "Drag & drop to upload",
+  "upload_area.title": "ပို့စ်တင်ရန် ဆွဲချလိုက်ပါ",
   "upload_button.label": "ပုံများ၊ ဗီဒီယို သို့မဟုတ် အသံဖိုင်တစ်ခု ထည့်ပါ",
   "upload_error.limit": "ဖိုင်အများဆုံးတင်နိုင်မည့်ကန့်သတ်ချက်ကို ကျော်သွားပါပြီ။",
   "upload_error.poll": "စစ်တမ်းနှင့်အတူဖိုင်များတင်ခွင့်မပြုပါ",
@@ -631,19 +633,19 @@
   "upload_form.description": "အမြင်အာရုံချို့ယွင်းသော ခက်ခဲသောသူများအတွက် ဖော်ပြထားသည်",
   "upload_form.description_missing": "ဖော်ပြချက် မထည့်ပါ",
   "upload_form.edit": "ပြင်ရန်",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "ပုံသေးကို ပြောင်းပါ",
   "upload_form.undo": "ဖျက်ရန်",
   "upload_form.video_description": "အမြင်အာရုံနှင့်အကြားအာရုံ ချို့ယွင်းသော ခက်ခဲသောသူများအတွက် ဖော်ပြထားသည်",
-  "upload_modal.analyzing_picture": "Analyzing picture…",
-  "upload_modal.apply": "Apply",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.analyzing_picture": "ပုံအား ပိုင်းခြားစိတ်ဖြာနေသည်...",
+  "upload_modal.apply": "သုံးပါ",
+  "upload_modal.applying": "အသုံးချနေသည်...",
   "upload_modal.choose_image": "ပုံရွေးပါ",
   "upload_modal.description_placeholder": "သီဟိုဠ်မှ ဉာဏ်ကြီးရှင်သည် အာယုဝဍ္ဎနဆေးညွှန်းစာကို ဇလွန်ဈေးဘေး ဗာဒံပင်ထက် အဓိဋ္ဌာန်လျက် ဂဃနဏဖတ်ခဲ့သည်",
-  "upload_modal.detect_text": "Detect text from picture",
+  "upload_modal.detect_text": "ပုံမှစာသားကို ရှာဖွေပါ",
   "upload_modal.edit_media": "မီဒီယာကို ပြင်ဆင်ရန်",
   "upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
   "upload_modal.preparing_ocr": "OCR ပြင်ဆင်နေသည်…",
-  "upload_modal.preview_label": "Preview ({ratio})",
+  "upload_modal.preview_label": "({ratio}) အစမ်းကြည့်ရှုရန်",
   "upload_progress.label": "တင်နေသည်...",
   "upload_progress.processing": "လုပ်ဆောင်နေသည်…",
   "video.close": "ဗီဒီယိုကို ပိတ်ပါ",
diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json
index 91ca4ebf2..c2679ddef 100644
--- a/app/javascript/mastodon/locales/nl.json
+++ b/app/javascript/mastodon/locales/nl.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Je hebt niet-opgeslagen wijzigingen in de mediabeschrijving of voorvertonning, wil je deze toch weggooien?",
   "confirmations.domain_block.confirm": "Blokkeer alles van deze server",
   "confirmations.domain_block.message": "Weet je het echt heel erg zeker dat je alles van {domain} wilt blokkeren? In de meeste gevallen is het blokkeren of negeren van een paar specifieke personen voldoende en beter. Je zult geen berichten van deze server op openbare tijdlijnen zien of in jouw meldingen. Jouw volgers van deze server worden verwijderd.",
+  "confirmations.edit.confirm": "Bewerken",
+  "confirmations.edit.message": "Door nu te reageren overschrijf je het bericht dat je op dit moment aan het schrijven bent. Weet je zeker dat je verder wil gaan?",
   "confirmations.logout.confirm": "Uitloggen",
   "confirmations.logout.message": "Weet je zeker dat je wilt uitloggen?",
   "confirmations.mute.confirm": "Negeren",
@@ -559,7 +561,7 @@
   "status.edit": "Bewerken",
   "status.edited": "Bewerkt op {date}",
   "status.edited_x_times": "{count, plural, one {{count} keer} other {{count} keer}} bewerkt",
-  "status.embed": "Insluiten",
+  "status.embed": "Embedden",
   "status.favourite": "Favoriet",
   "status.filter": "Dit bericht filteren",
   "status.filtered": "Gefilterd",
diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json
index 33026253a..76b1ebf2a 100644
--- a/app/javascript/mastodon/locales/nn.json
+++ b/app/javascript/mastodon/locales/nn.json
@@ -47,7 +47,7 @@
   "account.mention": "Nemn @{name}",
   "account.moved_to": "{name} seier at deira nye konto no er:",
   "account.mute": "Målbind @{name}",
-  "account.mute_notifications": "Målbind varsel frå @{name}",
+  "account.mute_notifications": "Demp varsel frå @{name}",
   "account.muted": "Målbunden",
   "account.open_original_page": "Opne originalsida",
   "account.posts": "Tut",
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Du har ulagra endringar i mediaskildringa eller førehandsvisinga. Vil du forkaste dei likevel?",
   "confirmations.domain_block.confirm": "Skjul alt frå domenet",
   "confirmations.domain_block.message": "Er du heilt, heilt sikker på at du vil skjula heile {domain}? I dei fleste tilfelle er det godt nok og føretrekt med nokre få målretta blokkeringar eller målbindingar. Du kjem ikkje til å sjå innhald frå domenet i fødererte tidsliner eller i varsla dine. Fylgjarane dine frå domenet vert fjerna.",
+  "confirmations.edit.confirm": "Rediger",
+  "confirmations.edit.message": "Å redigera no vil overskriva den meldinga du er i ferd med å skriva. Er du sikker på at du vil halda fram?",
   "confirmations.logout.confirm": "Logg ut",
   "confirmations.logout.message": "Er du sikker på at du vil logga ut?",
   "confirmations.mute.confirm": "Målbind",
@@ -221,7 +223,7 @@
   "empty_column.favourites": "Ingen har merkt dette tutet som favoritt enno. Når nokon gjer det, så dukkar det opp her.",
   "empty_column.follow_recommendations": "Det ser ikkje ut til at noko forslag kunne genererast til deg. Prøv søkjefunksjonen for å finna folk du kjenner, eller utforsk populære emneknaggar.",
   "empty_column.follow_requests": "Du har ingen følgjeførespurnadar ennå. Når du får ein, så vil den dukke opp her.",
-  "empty_column.followed_tags": "You have not followed any hashtags yet. When you do, they will show up here.",
+  "empty_column.followed_tags": "Du fylgjer ingen emneknaggar enno. Når du gjer det, vil dei syna her.",
   "empty_column.hashtag": "Det er ingenting i denne emneknaggen enno.",
   "empty_column.home": "Heime-tidslina di er tom! Følg fleire folk for å fylle ho med innhald. {suggestions}",
   "empty_column.home.suggestions": "Sjå nokre forslag",
@@ -264,7 +266,7 @@
   "follow_request.authorize": "Autoriser",
   "follow_request.reject": "Avvis",
   "follow_requests.unlocked_explanation": "Sjølv om kontoen din ikkje er låst tenkte dei som driv {domain} at du kanskje ville gå gjennom førespurnadar frå desse kontoane manuelt.",
-  "followed_tags": "Followed hashtags",
+  "followed_tags": "Fylgde emneknaggar",
   "footer.about": "Om",
   "footer.directory": "Profilmappe",
   "footer.get_app": "Få appen",
@@ -382,7 +384,7 @@
   "navigation_bar.favourites": "Favorittar",
   "navigation_bar.filters": "Målbundne ord",
   "navigation_bar.follow_requests": "Fylgjeførespurnader",
-  "navigation_bar.followed_tags": "Fulgte emneknagger",
+  "navigation_bar.followed_tags": "Fylgde emneknaggar",
   "navigation_bar.follows_and_followers": "Fylgje og fylgjarar",
   "navigation_bar.lists": "Lister",
   "navigation_bar.logout": "Logg ut",
@@ -544,7 +546,7 @@
   "server_banner.server_stats": "Tenarstatistikk:",
   "sign_in_banner.create_account": "Opprett konto",
   "sign_in_banner.sign_in": "Logg inn",
-  "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts. You can also interact from your account on a different server.",
+  "sign_in_banner.text": "Logg inn for å fylgja profilar eller emneknaggar, og for å lika, dela og svara på innlegg. Du kan òg samhandla med aktivitet på denne tenaren frå kontoar på andre tenarar.",
   "status.admin_account": "Opne moderasjonsgrensesnitt for @{name}",
   "status.admin_domain": "Opna moderatorgrensesnittet for {domain}",
   "status.admin_status": "Opne denne statusen i moderasjonsgrensesnittet",
diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json
index 0cc3f121b..372902e8b 100644
--- a/app/javascript/mastodon/locales/no.json
+++ b/app/javascript/mastodon/locales/no.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Du har ulagrede endringer i mediebeskrivelsen eller i forhåndsvisning, forkast dem likevel?",
   "confirmations.domain_block.confirm": "Skjul alt fra domenet",
   "confirmations.domain_block.message": "Er du sikker på at du vil skjule hele domenet {domain}? I de fleste tilfeller er det bedre med målrettet blokkering eller demping.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Logg ut",
   "confirmations.logout.message": "Er du sikker på at du vil logge ut?",
   "confirmations.mute.confirm": "Demp",
diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json
index 4bce24d07..cde922c05 100644
--- a/app/javascript/mastodon/locales/oc.json
+++ b/app/javascript/mastodon/locales/oc.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Amagar tot lo domeni",
   "confirmations.domain_block.message": "Volètz vertadièrament blocar complètament {domain} ? De còps cal pas que blocar o rescondre unas personas solament.\nVeiretz pas cap de contengut d’aquel domeni dins cap de flux public o dins vòstras notificacions. Vòstres seguidors d’aquel domeni seràn levats.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Desconnexion",
   "confirmations.logout.message": "Volètz vertadièrament vos desconnectar ?",
   "confirmations.mute.confirm": "Rescondre",
diff --git a/app/javascript/mastodon/locales/pa.json b/app/javascript/mastodon/locales/pa.json
index e22ab1f22..b81bb1356 100644
--- a/app/javascript/mastodon/locales/pa.json
+++ b/app/javascript/mastodon/locales/pa.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Log out",
   "confirmations.logout.message": "Are you sure you want to log out?",
   "confirmations.mute.confirm": "Mute",
diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json
index 50966c266..4dadec0c0 100644
--- a/app/javascript/mastodon/locales/pl.json
+++ b/app/javascript/mastodon/locales/pl.json
@@ -17,7 +17,7 @@
   "account.badges.group": "Grupa",
   "account.block": "Blokuj @{name}",
   "account.block_domain": "Blokuj wszystko z {domain}",
-  "account.blocked": "Zablokowany(-a)",
+  "account.blocked": "Zablokowano",
   "account.browse_more_on_origin_server": "Zobacz więcej na oryginalnym profilu",
   "account.cancel_follow_request": "Wycofaj żądanie obserwowania",
   "account.direct": "Wyślij wiadomość bezpośrednią do @{name}",
@@ -166,6 +166,8 @@
   "confirmations.discard_edit_media.message": "Masz niezapisane zmiany w opisie lub podglądzie, odrzucić je mimo to?",
   "confirmations.domain_block.confirm": "Ukryj wszystko z domeny",
   "confirmations.domain_block.message": "Czy na pewno chcesz zablokować całą domenę {domain}? Zwykle lepszym rozwiązaniem jest blokada lub wyciszenie kilku użytkowników.",
+  "confirmations.edit.confirm": "Edytuj",
+  "confirmations.edit.message": "Edytowanie wpisu nadpisze wiadomość, którą obecnie piszesz. Czy na pewno chcesz to zrobić?",
   "confirmations.logout.confirm": "Wyloguj",
   "confirmations.logout.message": "Czy na pewno chcesz się wylogować?",
   "confirmations.mute.confirm": "Wycisz",
@@ -407,7 +409,7 @@
   "notification.mention": "Wspomniało o Tobie przez {name}",
   "notification.own_poll": "Twoje głosowanie zakończyło się",
   "notification.poll": "Głosowanie w którym brałeś(-aś) udział zakończyło się",
-  "notification.reblog": "Podbito Twój post przez {name}",
+  "notification.reblog": "Twój post został podbity przez {name}",
   "notification.status": "Właśnie umieszczono wpis przez {name}",
   "notification.update": "{name} edytował post",
   "notifications.clear": "Wyczyść powiadomienia",
diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json
index f2e4a365e..249787438 100644
--- a/app/javascript/mastodon/locales/pt-BR.json
+++ b/app/javascript/mastodon/locales/pt-BR.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Há mudanças não salvas na descrição ou pré-visualização da mídia. Descartar assim mesmo?",
   "confirmations.domain_block.confirm": "Bloquear instância",
   "confirmations.domain_block.message": "Você tem certeza de que deseja bloquear tudo de {domain}? Você não verá mais o conteúdo desta instância em nenhuma linha do tempo pública ou nas suas notificações. Seus seguidores desta instância serão removidos.",
+  "confirmations.edit.confirm": "Editar",
+  "confirmations.edit.message": "Editar agora irá substituir a mensagem que está sendo criando. Tem certeza de que deseja continuar?",
   "confirmations.logout.confirm": "Sair",
   "confirmations.logout.message": "Você tem certeza de que deseja sair?",
   "confirmations.mute.confirm": "Silenciar",
diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json
index ae0a2df31..d72c5c700 100644
--- a/app/javascript/mastodon/locales/pt-PT.json
+++ b/app/javascript/mastodon/locales/pt-PT.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Tem alterações por guardar na descrição ou pré-visualização do conteúdo. Descartar mesmo assim?",
   "confirmations.domain_block.confirm": "Esconder tudo deste domínio",
   "confirmations.domain_block.message": "De certeza que queres bloquear completamente o domínio {domain}? Na maioria dos casos, silenciar ou bloquear alguns utilizadores é suficiente e é o recomendado. Não irás ver conteúdo daquele domínio em cronologia alguma nem nas tuas notificações. Os teus seguidores daquele domínio serão removidos.",
+  "confirmations.edit.confirm": "Editar",
+  "confirmations.edit.message": "Editar agora irá sobrescrever a mensagem que está a compor. Tem a certeza de que deseja continuar?",
   "confirmations.logout.confirm": "Terminar sessão",
   "confirmations.logout.message": "Tem a certeza de que quer terminar a sessão?",
   "confirmations.mute.confirm": "Silenciar",
diff --git a/app/javascript/mastodon/locales/ro.json b/app/javascript/mastodon/locales/ro.json
index 787727d56..c50a6a12b 100644
--- a/app/javascript/mastodon/locales/ro.json
+++ b/app/javascript/mastodon/locales/ro.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Ai modificări nesalvate în descrierea sau previzualizarea media, renunți oricum?",
   "confirmations.domain_block.confirm": "Blochează întregul domeniu",
   "confirmations.domain_block.message": "Ești absolut sigur că vrei să blochezi tot domeniul {domain}? În cele mai multe cazuri, raportarea sau blocarea anumitor lucruri este suficientă și de preferat. Nu vei mai vedea niciun conținut din acest domeniu în vreun flux public sau în vreo notificare. Abonații tăi din acest domeniu vor fi eliminați.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Deconectare",
   "confirmations.logout.message": "Ești sigur că vrei să te deconectezi?",
   "confirmations.mute.confirm": "Ignoră",
diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json
index 32845ab64..93a39c380 100644
--- a/app/javascript/mastodon/locales/ru.json
+++ b/app/javascript/mastodon/locales/ru.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "У вас есть несохранённые изменения описания мультимедиа или предпросмотра, отменить их?",
   "confirmations.domain_block.confirm": "Да, заблокировать узел",
   "confirmations.domain_block.message": "Вы точно уверены, что хотите заблокировать {domain} полностью? В большинстве случаев нескольких блокировок и игнорирований вполне достаточно. Вы перестанете видеть публичную ленту и уведомления оттуда. Ваши подписчики из этого домена будут удалены.",
+  "confirmations.edit.confirm": "Редактировать",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Выйти",
   "confirmations.logout.message": "Вы уверены, что хотите выйти?",
   "confirmations.mute.confirm": "Игнорировать",
diff --git a/app/javascript/mastodon/locales/sa.json b/app/javascript/mastodon/locales/sa.json
index e9deab43d..13e5cbb57 100644
--- a/app/javascript/mastodon/locales/sa.json
+++ b/app/javascript/mastodon/locales/sa.json
@@ -27,7 +27,7 @@
   "account.enable_notifications": "यदा @{name} स्थापयति तदा मां ज्ञापय",
   "account.endorse": "व्यक्तिगतविवरणे वैशिष्ट्यम्",
   "account.featured_tags.last_status_at": "{date} दिने गतस्थापनम्",
-  "account.featured_tags.last_status_never": "न स्थापनम्",
+  "account.featured_tags.last_status_never": "न पत्रम्",
   "account.featured_tags.title": "{name} इत्यस्य विशेषहैस्टैगः",
   "account.follow": "अनुस्रियताम्",
   "account.followers": "अनुसर्तारः",
@@ -50,14 +50,14 @@
   "account.mute_notifications": "@{name} सूचनाः निष्क्रियन्ताम्",
   "account.muted": "निःशब्दम्",
   "account.open_original_page": "मूलपृष्ठमुट्घाटय",
-  "account.posts": "दौत्यानि",
-  "account.posts_with_replies": "दौत्यानि प्रत्युत्तराणि च",
+  "account.posts": "पत्राणि",
+  "account.posts_with_replies": "पत्राणि प्रत्युत्तराणि च",
   "account.report": "आविद्यताम् @{name}",
   "account.requested": "स्वीकृतिः प्रतीक्ष्यते । नश्यतामित्यस्मिन्नुद्यतां निराकर्तुम् ।",
-  "account.requested_follow": "{name} has requested to follow you",
+  "account.requested_follow": "{name} त्वामनुसर्तुमयाचीत्",
   "account.share": "@{name} मित्रस्य विवरणं विभाज्यताम्",
   "account.show_reblogs": "@{name} मित्रस्य प्रकाशनानि दृश्यन्ताम्",
-  "account.statuses_counter": "{count, plural, one {{counter} दौत्यम्} two {{counter} दौत्ये} other {{counter} दौत्यानि}}",
+  "account.statuses_counter": "{count, plural, one {{counter} पत्रम्}  two{{counter} पत्रे} other {{counter} पत्राणि}}",
   "account.unblock": "निषेधता नश्यताम् @{name}",
   "account.unblock_domain": "प्रदेशनिषेधता नश्यताम् {domain}",
   "account.unblock_short": "अनवरुन्धि",
@@ -93,16 +93,16 @@
   "bundle_modal_error.close": "पिधीयताम्",
   "bundle_modal_error.message": "आरोपणे कश्चन दोषो जातः",
   "bundle_modal_error.retry": "पुनः यतताम्",
-  "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.",
-  "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.",
-  "closed_registrations_modal.find_another_server": "Find another server",
-  "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!",
-  "closed_registrations_modal.title": "Signing up on Mastodon",
-  "column.about": "About",
+  "closed_registrations.other_server_instructions": "यतोहि मस्टोडोनक्रेन्द्रीयकृतमस्ति, अन्यास्मिन्सर्वरि एकौण्टं स्रष्टुं शक्नोषि एवञ्च एतेन संयोक्तुं शक्नोषि।",
+  "closed_registrations_modal.description": "{domain} मध्ये एकौण्टं करणमधुना न सम्भवति, किन्तु कृपया अवधीयतां यन्मास्टोडोनमुपयोक्तुं {domain} मध्ये एकौण्टं करणं नावश्यकम्।",
+  "closed_registrations_modal.find_another_server": "अन्य सर्वरमन्विच्छ",
+  "closed_registrations_modal.preamble": "मास्टोडोनस्ति अक्रेन्द्रीयकृतमतः कुहापि एकौण्टं स्रष्टुमर्हसि, अस्मिन्सर्वरि सदस्यैश्च संयोक्तुं शक्नोषि। स्वस्य सर्वरं स्रष्टुमपि शक्नोषि।",
+  "closed_registrations_modal.title": "मास्टोडोनि पञ्जीकरणम्",
+  "column.about": "विषये",
   "column.blocks": "निषिद्धभोक्तारः",
   "column.bookmarks": "पुटचिह्नानि",
   "column.community": "स्थानीयसमयतालिका",
-  "column.direct": "Direct messages",
+  "column.direct": "प्रत्यक्षसन्देशाः",
   "column.directory": "व्यक्तित्वानि दृश्यन्ताम्",
   "column.domain_blocks": "निषिद्धप्रदेशाः",
   "column.favourites": "प्रियाः",
@@ -111,7 +111,7 @@
   "column.lists": "सूचयः",
   "column.mutes": "निःशब्दाः भोक्तारः",
   "column.notifications": "सूचनाः",
-  "column.pins": "कीलितदौत्यानि",
+  "column.pins": "कीलितपत्राणि",
   "column.public": "सङ्घीयसमयतालिका",
   "column_back_button.label": "पूर्वम्",
   "column_header.hide_settings": "विन्यासाः छाद्यन्ताम्",
@@ -124,12 +124,12 @@
   "community.column_settings.local_only": "केवलं स्थानीयम्",
   "community.column_settings.media_only": "सामग्री केवलम्",
   "community.column_settings.remote_only": "दर्गमः केवलम्",
-  "compose.language.change": "Change language",
-  "compose.language.search": "Search languages...",
+  "compose.language.change": "भाषां परिवर्तय",
+  "compose.language.search": "भाषाः अन्विच्छ",
   "compose_form.direct_message_warning_learn_more": "अधिकं ज्ञायताम्",
-  "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
-  "compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
-  "compose_form.lock_disclaimer": "तव लेखा न प्रवेष्टुमशक्या {locked} । कोऽप्यनुसर्ता ते केवलमनुसर्तृृणां कृते स्थितानि दौत्यानि द्रष्टुं शक्नोति ।",
+  "compose_form.encryption_warning": "मस्टोडोनि पत्राणि न अन्ततोऽन्तं सङ्कूटितानि। मास्टोडिनि संवेदनशीलसूचनां मा प्रेषय।",
+  "compose_form.hashtag_warning": "पत्रमिदमसार्वजनिकान्न कस्मिन्नपि प्रचलितवस्तुषु सूचितमिदं प्रेषणम्। केवलं सार्वजनिकप्रेषराणि प्रचलितवस्तुचिह्नेन अन्वेषयितुं शक्यते।",
+  "compose_form.lock_disclaimer": "तव लेखा न प्रवेष्टुमशक्या {locked} । कोऽप्यनुसर्ता ते केवलमनुसर्तृृणां कृते स्थितानि पत्राणि द्रष्टुं शक्नोति ।",
   "compose_form.lock_disclaimer.lock": "अवरुद्धः",
   "compose_form.placeholder": "मनसि ते किमस्ति?",
   "compose_form.poll.add_option": "मतमपरं युज्यताम्",
@@ -138,10 +138,10 @@
   "compose_form.poll.remove_option": "मतमेतन्नश्यताम्",
   "compose_form.poll.switch_to_multiple": "मतदानं परिवर्तयित्वा बहुवैकल्पिकमतदानं क्रियताम्",
   "compose_form.poll.switch_to_single": "मतदानं परिवर्तयित्वा निर्विकल्पमतदानं क्रियताम्",
-  "compose_form.publish": "Publish",
-  "compose_form.publish_form": "Publish",
+  "compose_form.publish": "प्रकाशीकुरु",
+  "compose_form.publish_form": "प्रकाशीकुरु",
   "compose_form.publish_loud": "{publish}!",
-  "compose_form.save_changes": "Save changes",
+  "compose_form.save_changes": "परिवर्तनानि रक्ष",
   "compose_form.sensitive.hide": "संवेदनशीलसामग्रीत्यङ्यताम्",
   "compose_form.sensitive.marked": "संवेदनशीलसामग्रीत्यङ्कितम्",
   "compose_form.sensitive.unmarked": "संवेदनशीलसामग्रीति नाङ्कितम्",
@@ -152,49 +152,51 @@
   "confirmations.block.block_and_report": "अवरुध्य आविद्यताम्",
   "confirmations.block.confirm": "निषेधः",
   "confirmations.block.message": "निश्चयेनाऽवरोधो विधेयः {name}?",
-  "confirmations.cancel_follow_request.confirm": "Withdraw request",
-  "confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?",
-  "confirmations.delete.confirm": "नश्यताम्",
-  "confirmations.delete.message": "निश्चयेन दौत्यमिदं नश्यताम्?",
-  "confirmations.delete_list.confirm": "नश्यताम्",
-  "confirmations.delete_list.message": "सूचिरियं निश्चयेन स्थायित्वेन च नश्यताम् वा?",
-  "confirmations.discard_edit_media.confirm": "Discard",
-  "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
+  "confirmations.cancel_follow_request.confirm": "अनुरोधनमपनय",
+  "confirmations.cancel_follow_request.message": "{name} अनुसरणस्यानुरोधमपनेतुं दृढीकृतं वा?",
+  "confirmations.delete.confirm": "मार्जय",
+  "confirmations.delete.message": "निश्चयेन पत्रमिदं मार्जितुमिच्छसि?",
+  "confirmations.delete_list.confirm": "मार्जय",
+  "confirmations.delete_list.message": "सूचिरियं निश्चयेन स्थायित्वेन च मार्जितुमिच्छसि वा?",
+  "confirmations.discard_edit_media.confirm": "अपास्य",
+  "confirmations.discard_edit_media.message": "माध्यमवर्णनां प्रदर्शनञ्च अरक्षितानि परिवर्तनानि सन्ति, तानि अपासितुमिच्छसि वा?",
   "confirmations.domain_block.confirm": "निषिद्धः प्रदेशः क्रियताम्",
   "confirmations.domain_block.message": "नूनं निश्चयेनैव विनष्टुमिच्छति पूर्णप्रदेशमेव {domain} ? अधिकांशसन्दर्भेऽस्थायित्वेन निषेधता निःशब्दत्वञ्च पर्याप्तं चयनीयञ्च । न तस्मात् प्रदेशात्सर्वे विषया द्रष्टुमशक्याः किस्यांश्चिदपि सर्वजनिकसमयतालिकायां वा स्वीयसूचनापटले । सर्वेऽनुसर्तारस्ते प्रदेशात् ये सन्ति ते नश्यन्ते ।",
+  "confirmations.edit.confirm": "सम्पादय",
+  "confirmations.edit.message": "सम्पादनमिदानीं लिख्यते तर्हि पूर्वलिखितसन्देशं विनश्य पुनः लिख्यते। निश्चयेनैवं कर्तव्यम्?",
   "confirmations.logout.confirm": "बहिर्गम्यताम्",
   "confirmations.logout.message": "निश्चयेनैव बहिर्गमनं वाञ्छितम्?",
   "confirmations.mute.confirm": "निःशब्दम्",
-  "confirmations.mute.explanation": "एतेन तेषां प्रकटनानि तथा च यत्र ते उल्लिखिताः तानि छाद्यन्ते, किन्त्वेवं सत्यपि ते त्वामनुसर्तुं ततश्च प्रकटनानि द्रष्टुं शक्नुवन्ति ।",
+  "confirmations.mute.explanation": "एतेन तेषां पत्राणि तथा च यत्र ते उल्लिखिताः तानि छाद्यन्ते, किन्त्वेवं सत्यपि ते त्वामनुसर्तुं ततश्च पत्राणि द्रष्टुं शक्नुवन्ति ।",
   "confirmations.mute.message": "किं निश्चयेन निःशब्दं भवेत् {name} मित्रमेतत् ?",
-  "confirmations.redraft.confirm": "विनश्य पुनः लिख्यताम्",
-  "confirmations.redraft.message": "किं वा निश्चयेन नष्टुमिच्छसि दौत्यमेतत्तथा च पुनः लेखितुं? प्रकाशनानि प्रीतयश्च विनष्टा भविष्यन्ति, प्रत्युत्तराण्यपि नश्यन्ते ।",
+  "confirmations.redraft.confirm": "मार्जय पुनश्च लिख्यताम्",
+  "confirmations.redraft.message": "किं वा निश्चयेन नष्टुमिच्छसि पत्रमेतत्तथा च पुनः लेखितुं? प्रकाशनानि प्रीतयश्च विनष्टा भविष्यन्ति, प्रत्युत्तराण्यपि नश्यन्ते ।",
   "confirmations.reply.confirm": "उत्तरम्",
   "confirmations.reply.message": "प्रत्युत्तरमिदानीं लिख्यते तर्हि पूर्वलिखितसन्देशं विनश्य पुनः लिख्यते । निश्चयेनैवं कर्तव्यम् ?",
   "confirmations.unfollow.confirm": "अनुसरणं नश्यताम्",
   "confirmations.unfollow.message": "निश्चयेनैवाऽनुसरणं नश्यतां {name} मित्रस्य?",
-  "conversation.delete": "वार्तालापो नश्यताम्",
+  "conversation.delete": "वार्तालापं मार्जय",
   "conversation.mark_as_read": "पठितमित्यङ्क्यताम्",
   "conversation.open": "वार्तालापो दृश्यताम्",
   "conversation.with": "{names} जनैः साकम्",
-  "copypaste.copied": "Copied",
-  "copypaste.copy": "Copy",
+  "copypaste.copied": "प्रतिलिपिंकृतम्",
+  "copypaste.copy": "प्रतिलिपिः",
   "directory.federated": "सुपरिचितं Fediverse इति स्थानात्",
   "directory.local": "{domain} प्रदेशात्केवलम्",
   "directory.new_arrivals": "नवामगमाः",
   "directory.recently_active": "नातिपूर्वं सक्रियः",
-  "disabled_account_banner.account_settings": "Account settings",
-  "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
-  "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.",
-  "dismissable_banner.dismiss": "Dismiss",
-  "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
-  "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.",
-  "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.",
-  "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.",
-  "embed.instructions": "दौत्यमेतत् स्वीयजालस्थाने स्थापयितुमधो लिखितो विध्यादेशो युज्यताम्",
+  "disabled_account_banner.account_settings": "एकौण्टः सेटिङ्ग्स्",
+  "disabled_account_banner.text": "तव एकौण्ट् {disabledAccount} अधुना निष्कृतमस्ति।",
+  "dismissable_banner.community_timeline": "तानि तेषां जनानां नूतनतमानि सार्वजनिकानि पत्राणि सन्ति येषामेकौण्टः {domain} द्वारा होस्त् भवन्ति।",
+  "dismissable_banner.dismiss": "अपास्य",
+  "dismissable_banner.explore_links": "एतासां वार्तानां विषये अधुना अकेन्द्रीकृतजालस्य अस्मिनन्येषु च सर्वर्षु जनैश्चर्चा क्रियते।",
+  "dismissable_banner.explore_statuses": "अकेन्द्रीकृतजालस्य अस्मदन्येभ्यश्च सर्वर्भ्यः एतानि पत्राणि इदानीमस्मिन्सर्वरि कर्षणं प्राप्नुवन्ति।",
+  "dismissable_banner.explore_tags": "अकेन्द्रीकृतजालस्य अस्मदन्येभ्यश्च सर्वर्भ्यः एतानि प्रचलितवस्तूनि इदानीमस्मिन्सर्वरि कर्षणं प्राप्नुवन्ति।",
+  "dismissable_banner.public_timeline": "एतानि अकेन्द्रीकृतजालस्य अस्मिनन्येषु च सर्वर्षु जनेभ्योऽद्यतनतमानि सार्वजनिकपत्राणि सन्ति येषां विषये सर्वरयं वेत्ति।",
+  "embed.instructions": "पत्रमेतत्स्वीयजालस्थाने स्थापयितुमधो लिखितो विध्यादेशो युज्यताम्",
   "embed.preview": "अत्रैवं दृश्यते तत्:",
   "emoji_button.activity": "आचरणम्",
-  "emoji_button.clear": "Clear",
+  "emoji_button.clear": "मार्जय",
   "emoji_button.custom": "स्वीयानुकूलम्",
   "emoji_button.flags": "ध्वजाः",
   "emoji_button.food": "भोजनं पेयञ्च",
@@ -208,119 +210,119 @@
   "emoji_button.search_results": "अन्वेषणपरिणामाः",
   "emoji_button.symbols": "चिह्नानि",
   "emoji_button.travel": "यात्रा च स्थानानि",
-  "empty_column.account_suspended": "Account suspended",
-  "empty_column.account_timeline": "न दौत्यान्यत्र",
+  "empty_column.account_suspended": "एकौण्ट् निलम्बितः",
+  "empty_column.account_timeline": "न पत्रमिह!",
   "empty_column.account_unavailable": "व्यक्तित्वं न प्राप्यते",
   "empty_column.blocks": "नैकोऽप्युपभोक्ता निषिद्धो वर्तते",
-  "empty_column.bookmarked_statuses": "नैकमपि पुटचिह्नयुक्तदौत्यानि सन्ति । यदा भविष्यति तदत्र दृश्यते ।",
+  "empty_column.bookmarked_statuses": "नैकमपि पुटचिह्नयुक्तपत्राणि सन्ति । यदा भविष्यति तदत्र दृश्यते ।",
   "empty_column.community": "स्थानीयसमयतालिका रिक्ता । सार्वजनिकत्वेनाऽत्र किमपि लिख्यताम् ।",
-  "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
+  "empty_column.direct": "नैकोऽपि प्रत्यक्षसन्देशो वर्तते। यदा प्रेष्यते वा प्राप्यतेऽत्र दृश्यते।",
   "empty_column.domain_blocks": "न निषिद्धप्रदेशाः सन्ति ।",
-  "empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
-  "empty_column.favourited_statuses": "न प्रियदौत्यानि सन्ति । यदा प्रीतिरित्यङ्क्यतेऽत्र दृश्यते ।",
-  "empty_column.favourites": "नैतद्दौत्यं प्रियमस्ति कस्मै अपि । यदा कस्मै प्रियं भवति तदाऽत्र दृश्यते ।",
-  "empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
+  "empty_column.explore_statuses": "अधुना किमपि न प्रचलति। परे पुनः पश्य!",
+  "empty_column.favourited_statuses": "न तव अधुना पर्यन्तं प्रियपत्राणि सन्ति। यदा प्रीतिरित्यङ्क्यतेऽत्र दृश्यते।",
+  "empty_column.favourites": "नैतत्पत्रं प्रियमस्ति कस्मै अपि। यदा कस्मै प्रियं भवति तदाऽत्र दृश्यते।",
+  "empty_column.follow_recommendations": "तुभ्यं कोऽपि प्रबोधो न जनयितुं न शक्यतेऽति प्रतीयते। अन्वेष्यप्रणालिं प्रयोक्तुं जनानवलोकयितुं शक्नोषि उत प्रचलितवस्तूनि अन्वेषितुं शक्नोषि।",
   "empty_column.follow_requests": "नाऽनुसरणानुरोधस्ते वर्तते । यदैको प्राप्यतेऽत्र दृश्यते ।",
-  "empty_column.followed_tags": "You have not followed any hashtags yet. When you do, they will show up here.",
+  "empty_column.followed_tags": "कान्यपि प्रचलितवस्तूनीदानीमपि नान्वसार्षीः। यदा अनुसरसि तदा तानि इह दृश्यन्ते।",
   "empty_column.hashtag": "नाऽस्मिन् प्रचलितवस्तुचिह्ने किमपि ।",
   "empty_column.home": "गृहसमयतालिका रिक्ताऽस्ति । गम्यतां {public} वाऽन्वेषणैः प्रारभ्यतां मेलनं क्रियताञ्च ।",
-  "empty_column.home.suggestions": "See some suggestions",
-  "empty_column.list": "न किमपि वर्तते सूच्यामस्याम् । यदा सूच्याः सदस्या नवदौत्यानि प्रकटीकुर्वन्ति तदाऽत्राऽऽयान्ति ।",
-  "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.",
-  "empty_column.mutes": "You haven't muted any users yet.",
-  "empty_column.notifications": "You don't have any notifications yet. When other people interact with you, you will see it here.",
-  "empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
-  "error.unexpected_crash.explanation": "Due to a bug in our code or a browser compatibility issue, this page could not be displayed correctly.",
-  "error.unexpected_crash.explanation_addons": "This page could not be displayed correctly. This error is likely caused by a browser add-on or automatic translation tools.",
-  "error.unexpected_crash.next_steps": "Try refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
-  "error.unexpected_crash.next_steps_addons": "Try disabling them and refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
-  "errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
-  "errors.unexpected_crash.report_issue": "Report issue",
-  "explore.search_results": "Search results",
-  "explore.suggested_follows": "For you",
-  "explore.title": "Explore",
-  "explore.trending_links": "News",
-  "explore.trending_statuses": "Posts",
-  "explore.trending_tags": "Hashtags",
-  "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.",
-  "filter_modal.added.context_mismatch_title": "Context mismatch!",
-  "filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.",
-  "filter_modal.added.expired_title": "Expired filter!",
-  "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.",
-  "filter_modal.added.review_and_configure_title": "Filter settings",
-  "filter_modal.added.settings_link": "settings page",
-  "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.",
-  "filter_modal.added.title": "Filter added!",
-  "filter_modal.select_filter.context_mismatch": "does not apply to this context",
-  "filter_modal.select_filter.expired": "expired",
-  "filter_modal.select_filter.prompt_new": "New category: {name}",
-  "filter_modal.select_filter.search": "Search or create",
-  "filter_modal.select_filter.subtitle": "Use an existing category or create a new one",
-  "filter_modal.select_filter.title": "Filter this post",
-  "filter_modal.title.status": "Filter a post",
-  "follow_recommendations.done": "Done",
-  "follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.",
-  "follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!",
-  "follow_request.authorize": "Authorize",
-  "follow_request.reject": "Reject",
-  "follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
-  "followed_tags": "Followed hashtags",
-  "footer.about": "About",
-  "footer.directory": "Profiles directory",
-  "footer.get_app": "Get the app",
-  "footer.invite": "Invite people",
-  "footer.keyboard_shortcuts": "Keyboard shortcuts",
-  "footer.privacy_policy": "Privacy policy",
-  "footer.source_code": "View source code",
-  "footer.status": "Status",
-  "generic.saved": "Saved",
-  "getting_started.heading": "Getting started",
-  "hashtag.column_header.tag_mode.all": "and {additional}",
-  "hashtag.column_header.tag_mode.any": "or {additional}",
-  "hashtag.column_header.tag_mode.none": "without {additional}",
-  "hashtag.column_settings.select.no_options_message": "No suggestions found",
-  "hashtag.column_settings.select.placeholder": "Enter hashtags…",
-  "hashtag.column_settings.tag_mode.all": "All of these",
-  "hashtag.column_settings.tag_mode.any": "Any of these",
-  "hashtag.column_settings.tag_mode.none": "None of these",
+  "empty_column.home.suggestions": "काञ्चित्प्रबोधान्पश्य",
+  "empty_column.list": "न किमपि वर्तते सूच्यामस्याम् । यदा सूच्याः सदस्या नवपत्राणि प्रकटीकुर्वन्ति तदाऽत्राऽऽयान्ति ।",
+  "empty_column.lists": "तव पार्श्वे न कापि सूचिर्वर्तते। यदैकां सृजसि तदा अत्र दृश्यते।",
+  "empty_column.mutes": "त्वया अद्यापि नैकोऽप्युपभोक्ता मूकीकृतो वर्तते।",
+  "empty_column.notifications": "तव पार्श्वे न अधुना पर्यन्तं किमपि विज्ञापनं वर्तते। यदा अन्या जना त्वया संयोजयन्ति तदा इह पश्यसि।",
+  "empty_column.public": "न इह किमपि वर्तते! किञ्चिल्लिख सार्वजनिकरूपेण, उत स्वयमन्यसर्वर्तः उपभोक्तॄननुसर एतत्पूरयितुम्",
+  "error.unexpected_crash.explanation": "अस्माकं विद्यादेशे दोषादुत ब्रौसर्सङ्गतिसमस्यायाः पृष्ठमिदं सम्यग्रूपेण न दृश्यते।",
+  "error.unexpected_crash.explanation_addons": "पृष्ठमिदं सम्यग्रूपेण न दृश्यते। दोषोऽयं सम्भवतो ब्रौसरेडनुत स्वचलितानुवादोपकरणानां कारणात्।",
+  "error.unexpected_crash.next_steps": "पृष्ठं पुनः रेफ्रेशं कर्तुं यतस्व। यदि तत्परेऽपि कार्यं नाकार्षीत्तर्ह्यप्यन्यब्रौसरा उत नेटिवेपा मास्टोडोनुपयोक्तुं शक्नोषि।",
+  "error.unexpected_crash.next_steps_addons": "तानि निष्क्रियं कृत्वा पृष्ठं रिफ्रेशं कर्तुं यतस्व। यदि तत्परेऽपि कार्यं नाकार्षीत्तर्ह्यप्यन्यब्रौसरा उत नेटिवेपा मास्टोडोनुपयोक्तुं शक्नोषि।",
+  "errors.unexpected_crash.copy_stacktrace": "स्तेक्त्रेसमनुलिपिं कुरु क्लिप्फलकं",
+  "errors.unexpected_crash.report_issue": "दोषमावेदय",
+  "explore.search_results": "परिणामानविच्छ",
+  "explore.suggested_follows": "तुभ्यम्",
+  "explore.title": "अन्विच्छ",
+  "explore.trending_links": "वार्ताः",
+  "explore.trending_statuses": "पत्राणि",
+  "explore.trending_tags": "प्रचलितवस्तूनि",
+  "filter_modal.added.context_mismatch_explanation": "यस्मिन्सन्दर्भे त्वया पत्रमिदं प्राप्तं तस्मिनयं फिल्तर्वर्गो न प्रवर्तते। यदि इच्छसि पत्रं फिल्तर्कर्तुमस्मिन्सन्दर्भेऽपि, त्वया फिल्तर्सम्पादयितव्यम्।",
+  "filter_modal.added.context_mismatch_title": "सन्दर्भोऽसमः!",
+  "filter_modal.added.expired_explanation": "फिल्तर्वर्गोऽयं समाप्तः, तस्य संयोजनाय त्वया समाप्तिदिवसः परिवर्तितव्यः।",
+  "filter_modal.added.expired_title": "गतप्राणः फिल्तार्!",
+  "filter_modal.added.review_and_configure": "फिल्तर्वर्गमिममवलोकनाय अधिकविन्यासाय च, {settings_link} प्रति याहि।",
+  "filter_modal.added.review_and_configure_title": "विन्यासान्फिल्तरं कुरु",
+  "filter_modal.added.settings_link": "विन्यासपृष्ठम्",
+  "filter_modal.added.short_explanation": "पत्रमिदं निम्नलिखितः फिल्तर्वर्गेन योजितः: {title}।",
+  "filter_modal.added.title": "फिल्तर्योजितम्!",
+  "filter_modal.select_filter.context_mismatch": "अस्मिन्सन्दर्भे न प्रवर्तते",
+  "filter_modal.select_filter.expired": "समाप्तम्",
+  "filter_modal.select_filter.prompt_new": "नूतनवर्गः: {name}",
+  "filter_modal.select_filter.search": "अन्विच्छ उत सृज",
+  "filter_modal.select_filter.subtitle": "वर्तमानवर्गं प्रयोजय उत नूतनं सृज",
+  "filter_modal.select_filter.title": "पत्रमिदं फिल्तरं कुरु",
+  "filter_modal.title.status": "पत्रं फिल्तरं कुरु",
+  "follow_recommendations.done": "कृतम्",
+  "follow_recommendations.heading": "जनमनुसर यस्मात्पत्राणि द्रष्टुमिच्छसि! सन्ति इह काश्चित्सूचनाः।",
+  "follow_recommendations.lead": "जनेभ्यः पत्राणि याननुसरसि कालिकक्रमेण दर्शिष्यन्ते तव गृहनिरासे। दोषान्मा बिभीहि, कदापि सरलरूपेण ते जनाननुसरणं वारयितुं शक्नोषि!",
+  "follow_request.authorize": "प्रमाणीकुरु",
+  "follow_request.reject": "प्रत्याख्याहि",
+  "follow_requests.unlocked_explanation": "यद्यपि ते एकौण्ट् तालयन्त्रेण न बन्धितं, {domain} अधिकारिगणोऽचिचिन्तद्यदेतेभ्य एकौण्ट्भ्योऽनुसरणानुरोधानां समीक्षां स्वहस्तेन चिकीर्षसीति।",
+  "followed_tags": "अनुसरितानि प्रचलितवस्तूनि",
+  "footer.about": "विषये",
+  "footer.directory": "मुखपार्श्वविभागः",
+  "footer.get_app": "एप् लभस्व",
+  "footer.invite": "जनं निमन्त्रय",
+  "footer.keyboard_shortcuts": "कीफलकहर्स्वमार्गाः",
+  "footer.privacy_policy": "गोपनीयतानीतिः",
+  "footer.source_code": "स्रोतविद्यादेशं दर्शय",
+  "footer.status": "स्थितिः",
+  "generic.saved": "रक्षितम्",
+  "getting_started.heading": "आरम्भकरणम्",
+  "hashtag.column_header.tag_mode.all": "{additional} च",
+  "hashtag.column_header.tag_mode.any": "वा {additional}",
+  "hashtag.column_header.tag_mode.none": "{additional} विहाय",
+  "hashtag.column_settings.select.no_options_message": "न का अपि सूचनाः प्राप्ताः",
+  "hashtag.column_settings.select.placeholder": "प्रचलितवस्तूनि प्रविश",
+  "hashtag.column_settings.tag_mode.all": "एतानि सर्वाणि",
+  "hashtag.column_settings.tag_mode.any": "किञ्चिदेतेषु",
+  "hashtag.column_settings.tag_mode.none": "न किमप्येतेषु",
   "hashtag.column_settings.tag_toggle": "Include additional tags in this column",
-  "hashtag.follow": "Follow hashtag",
-  "hashtag.unfollow": "Unfollow hashtag",
-  "home.column_settings.basic": "Basic",
-  "home.column_settings.show_reblogs": "Show boosts",
-  "home.column_settings.show_replies": "Show replies",
-  "home.hide_announcements": "Hide announcements",
-  "home.show_announcements": "Show announcements",
-  "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.",
-  "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.",
-  "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.",
-  "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
-  "interaction_modal.on_another_server": "On a different server",
-  "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
-  "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
-  "interaction_modal.title.favourite": "Favourite {name}'s post",
-  "interaction_modal.title.follow": "Follow {name}",
-  "interaction_modal.title.reblog": "Boost {name}'s post",
-  "interaction_modal.title.reply": "Reply to {name}'s post",
-  "intervals.full.days": "{number, plural, one {# day} other {# days}}",
-  "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
-  "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
+  "hashtag.follow": "प्रचलितवस्तु अनुसर",
+  "hashtag.unfollow": "प्रचलितवस्तु अनुसरणं वारय",
+  "home.column_settings.basic": "मूलभूतम्",
+  "home.column_settings.show_reblogs": "बुस्त् दर्शय",
+  "home.column_settings.show_replies": "उत्तराणि दर्शय",
+  "home.hide_announcements": "विज्ञापनानि प्रच्छादय",
+  "home.show_announcements": "विज्ञापनानि दर्शय",
+  "interaction_modal.description.favourite": "मास्टोडोनि एकौण्टा, पत्रमिदं प्रियं कर्तुं शक्नोषि तस्य लेखकं प्रशंसां करोषीति ज्ञापयितुमिदं पश्चाद्रक्षितुञ्च।",
+  "interaction_modal.description.follow": "मास्टोडोनि एकौण्टा {name} नाम्ना उपभोक्तारमनुसर्तुं शक्नोषि तस्य पत्राणि लब्धुं ते गृहनिरासे।",
+  "interaction_modal.description.reblog": "मास्टोडिनि एकौण्टा पत्रमिदं बुस्तिति कर्तुं शक्नोषि ते स्वानुसारिणो भागं कर्तुम्।",
+  "interaction_modal.description.reply": "मास्टोडोनि एकौण्टा पत्रमिदं प्रतिवादयितुं शक्नोषि।",
+  "interaction_modal.on_another_server": "अन्यस्मिन्सर्वरि",
+  "interaction_modal.on_this_server": "अस्मिन्सर्वरि",
+  "interaction_modal.other_server_instructions": "एतत् URL प्रतिलिपिं कृत्वा स्वस्य प्रियस्य मास्टोडोन ऐपोऽन्वेषणक्षेत्रे उत स्वस्य मास्तोडोन्सर्वरो जालमध्यस्थे चिनु।",
+  "interaction_modal.preamble": "यतो मास्टोडोन्विकेन्द्रीयकृतोऽस्ति, अन्येन मास्टोडोन्सर्वरा उत सुसङ्गतेन आश्रयेण ते वर्तमानौकौण्टं प्रयोक्तुं शक्नोषि यदि अस्मिन्कोऽपि ते एकौण्ट् नास्ति।",
+  "interaction_modal.title.favourite": "प्रियस्य {name} नाम्ना उपभोक्तुः पत्रम्।",
+  "interaction_modal.title.follow": "{name} अनुसर",
+  "interaction_modal.title.reblog": "{name} नाम्ना उपभोक्तुः पत्रं बुस्त्कुरु",
+  "interaction_modal.title.reply": "{name} नाम्ना उपभोक्तुःपत्रं प्रतिवादय",
+  "intervals.full.days": "{number, plural, one {# दिनम्} other {# दिनानि}}",
+  "intervals.full.hours": "{number, plural, one {# होरा} other {# होराः}}",
+  "intervals.full.minutes": "{number, plural, one {# क्षणम्} other {# क्षणानि}}",
   "keyboard_shortcuts.back": "to navigate back",
   "keyboard_shortcuts.blocked": "to open blocked users list",
-  "keyboard_shortcuts.boost": "to boost",
+  "keyboard_shortcuts.boost": "पत्रं बुस्तं कुरु",
   "keyboard_shortcuts.column": "to focus a status in one of the columns",
   "keyboard_shortcuts.compose": "to focus the compose textarea",
-  "keyboard_shortcuts.description": "Description",
-  "keyboard_shortcuts.direct": "to open direct messages column",
+  "keyboard_shortcuts.description": "वर्णनम्",
+  "keyboard_shortcuts.direct": "अवक्रसंदेशस्तम्भमुद्धाटयितुम्",
   "keyboard_shortcuts.down": "to move down in the list",
-  "keyboard_shortcuts.enter": "to open status",
-  "keyboard_shortcuts.favourite": "to favourite",
+  "keyboard_shortcuts.enter": "पत्रं उद्घाटय",
+  "keyboard_shortcuts.favourite": "पत्रं प्रियं कुरु",
   "keyboard_shortcuts.favourites": "to open favourites list",
   "keyboard_shortcuts.federated": "to open federated timeline",
   "keyboard_shortcuts.heading": "Keyboard Shortcuts",
   "keyboard_shortcuts.home": "to open home timeline",
-  "keyboard_shortcuts.hotkey": "Hotkey",
+  "keyboard_shortcuts.hotkey": "होत्की",
   "keyboard_shortcuts.legend": "to display this legend",
   "keyboard_shortcuts.local": "to open local timeline",
   "keyboard_shortcuts.mention": "to mention author",
@@ -328,259 +330,259 @@
   "keyboard_shortcuts.my_profile": "to open your profile",
   "keyboard_shortcuts.notifications": "to open notifications column",
   "keyboard_shortcuts.open_media": "to open media",
-  "keyboard_shortcuts.pinned": "to open pinned toots list",
+  "keyboard_shortcuts.pinned": "कीलितपत्राणां सूचिमुद्घाटय",
   "keyboard_shortcuts.profile": "to open author's profile",
-  "keyboard_shortcuts.reply": "to reply",
+  "keyboard_shortcuts.reply": "पत्राय प्रतिवादय",
   "keyboard_shortcuts.requests": "to open follow requests list",
   "keyboard_shortcuts.search": "to focus search",
   "keyboard_shortcuts.spoilers": "to show/hide CW field",
   "keyboard_shortcuts.start": "to open \"get started\" column",
   "keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
   "keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
-  "keyboard_shortcuts.toot": "to start a brand new toot",
+  "keyboard_shortcuts.toot": "नूतनपत्रमारभस्व",
   "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
   "keyboard_shortcuts.up": "to move up in the list",
-  "lightbox.close": "Close",
-  "lightbox.compress": "Compress image view box",
-  "lightbox.expand": "Expand image view box",
-  "lightbox.next": "Next",
-  "lightbox.previous": "Previous",
-  "limited_account_hint.action": "Show profile anyway",
-  "limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.",
-  "lists.account.add": "Add to list",
-  "lists.account.remove": "Remove from list",
-  "lists.delete": "Delete list",
-  "lists.edit": "Edit list",
-  "lists.edit.submit": "Change title",
-  "lists.new.create": "Add list",
-  "lists.new.title_placeholder": "New list title",
-  "lists.replies_policy.followed": "Any followed user",
-  "lists.replies_policy.list": "Members of the list",
-  "lists.replies_policy.none": "No one",
-  "lists.replies_policy.title": "Show replies to:",
-  "lists.search": "Search among people you follow",
-  "lists.subheading": "Your lists",
-  "load_pending": "{count, plural, one {# new item} other {# new items}}",
-  "loading_indicator.label": "Loading...",
-  "media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}",
-  "missing_indicator.label": "Not found",
-  "missing_indicator.sublabel": "This resource could not be found",
-  "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
-  "mute_modal.duration": "Duration",
-  "mute_modal.hide_notifications": "Hide notifications from this user?",
-  "mute_modal.indefinite": "Indefinite",
-  "navigation_bar.about": "About",
-  "navigation_bar.blocks": "Blocked users",
-  "navigation_bar.bookmarks": "Bookmarks",
-  "navigation_bar.community_timeline": "Local timeline",
-  "navigation_bar.compose": "Compose new toot",
-  "navigation_bar.direct": "Direct messages",
-  "navigation_bar.discover": "Discover",
+  "lightbox.close": "पिधीयताम्",
+  "lightbox.compress": "सङ्कुच चित्रप्रदर्शनपेटकम्",
+  "lightbox.expand": "चित्रप्रदर्शनपेटकं विस्तारय",
+  "lightbox.next": "परः",
+  "lightbox.previous": "पूर्वः",
+  "limited_account_hint.action": "प्रोफैलं दर्शय कथञ्चित्",
+  "limited_account_hint.title": "{domain} इत्यस्य प्रशासकैरयं प्रोफैल्प्रच्छन्नः।",
+  "lists.account.add": "सूचेर्मध्ये योजय",
+  "lists.account.remove": "सूचेर्मार्जय",
+  "lists.delete": "सूचिं मार्जय",
+  "lists.edit": "सूचिं सम्पादय",
+  "lists.edit.submit": "उपाधिं परिवर्तय",
+  "lists.new.create": "सूचिं योजय",
+  "lists.new.title_placeholder": "नूतनसूच्युपाधिः",
+  "lists.replies_policy.followed": "कोऽप्यनुसारितोपभोक्ता",
+  "lists.replies_policy.list": "सूचेस्सदस्याः",
+  "lists.replies_policy.none": "न कोऽपि",
+  "lists.replies_policy.title": "एतमुत्तराणि दर्शय :",
+  "lists.search": "त्वया अनुसारितजनेषु अन्विष्य",
+  "lists.subheading": "तव सूचयः",
+  "load_pending": "{count, plural, one {# नूतनवस्तु} other {# नूतनवस्तूनि}}",
+  "loading_indicator.label": "आरोपयति...",
+  "media_gallery.toggle_visible": "{number, plural, one {चित्रं प्रच्छादय} other {चित्राणि प्रच्छादय}}",
+  "missing_indicator.label": "नोपलब्धम्",
+  "missing_indicator.sublabel": "उपायोऽयं नोपलब्धुं शक्यते",
+  "moved_to_account_banner.text": "तव एकौण्ट् {disabledAccount} अधुना निष्कृतो यतोहि {movedToAccount} अस्मिन्त्वमसार्षीः।",
+  "mute_modal.duration": "परिमाणम्",
+  "mute_modal.hide_notifications": "अस्मादुपभोक्तुर्विज्ञापनानि प्रच्छादयितुमिच्छसि वा?",
+  "mute_modal.indefinite": "अ॑परिमितम्",
+  "navigation_bar.about": "विषये",
+  "navigation_bar.blocks": "निषिद्धभोक्तारः",
+  "navigation_bar.bookmarks": "पुटचिह्नानि",
+  "navigation_bar.community_timeline": "स्थानीयसमयतालिका",
+  "navigation_bar.compose": "नूतनपत्रं रचय",
+  "navigation_bar.direct": "प्रत्यक्षसन्देशाः",
+  "navigation_bar.discover": "आविष्कुरु",
   "navigation_bar.domain_blocks": "Hidden domains",
-  "navigation_bar.edit_profile": "Edit profile",
-  "navigation_bar.explore": "Explore",
-  "navigation_bar.favourites": "Favourites",
-  "navigation_bar.filters": "Muted words",
-  "navigation_bar.follow_requests": "Follow requests",
-  "navigation_bar.followed_tags": "Followed hashtags",
-  "navigation_bar.follows_and_followers": "Follows and followers",
-  "navigation_bar.lists": "Lists",
-  "navigation_bar.logout": "Logout",
-  "navigation_bar.mutes": "Muted users",
-  "navigation_bar.personal": "Personal",
-  "navigation_bar.pins": "Pinned toots",
-  "navigation_bar.preferences": "Preferences",
-  "navigation_bar.public_timeline": "Federated timeline",
-  "navigation_bar.search": "Search",
-  "navigation_bar.security": "Security",
-  "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
-  "notification.admin.report": "{name} reported {target}",
-  "notification.admin.sign_up": "{name} signed up",
-  "notification.favourite": "{name} favourited your status",
-  "notification.follow": "{name} followed you",
-  "notification.follow_request": "{name} has requested to follow you",
-  "notification.mention": "{name} mentioned you",
-  "notification.own_poll": "Your poll has ended",
-  "notification.poll": "A poll you have voted in has ended",
-  "notification.reblog": "{name} boosted your status",
-  "notification.status": "{name} just posted",
-  "notification.update": "{name} edited a post",
-  "notifications.clear": "Clear notifications",
-  "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
-  "notifications.column_settings.admin.report": "New reports:",
-  "notifications.column_settings.admin.sign_up": "New sign-ups:",
-  "notifications.column_settings.alert": "Desktop notifications",
-  "notifications.column_settings.favourite": "Favourites:",
-  "notifications.column_settings.filter_bar.advanced": "Display all categories",
-  "notifications.column_settings.filter_bar.category": "Quick filter bar",
-  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
-  "notifications.column_settings.follow": "New followers:",
-  "notifications.column_settings.follow_request": "New follow requests:",
-  "notifications.column_settings.mention": "Mentions:",
-  "notifications.column_settings.poll": "Poll results:",
-  "notifications.column_settings.push": "Push notifications",
-  "notifications.column_settings.reblog": "Boosts:",
-  "notifications.column_settings.show": "Show in column",
-  "notifications.column_settings.sound": "Play sound",
-  "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_notifications.category": "Unread notifications",
-  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
-  "notifications.column_settings.update": "Edits:",
-  "notifications.filter.all": "All",
-  "notifications.filter.boosts": "Boosts",
-  "notifications.filter.favourites": "Favourites",
-  "notifications.filter.follows": "Follows",
-  "notifications.filter.mentions": "Mentions",
-  "notifications.filter.polls": "Poll results",
-  "notifications.filter.statuses": "Updates from people you follow",
-  "notifications.grant_permission": "Grant permission.",
-  "notifications.group": "{count} notifications",
-  "notifications.mark_as_read": "Mark every notification as read",
-  "notifications.permission_denied": "Desktop notifications are unavailable due to previously denied browser permissions request",
-  "notifications.permission_denied_alert": "Desktop notifications can't be enabled, as browser permission has been denied before",
-  "notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.",
-  "notifications_permission_banner.enable": "Enable desktop notifications",
-  "notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
-  "notifications_permission_banner.title": "Never miss a thing",
-  "picture_in_picture.restore": "Put it back",
-  "poll.closed": "Closed",
-  "poll.refresh": "Refresh",
-  "poll.total_people": "{count, plural, one {# person} other {# people}}",
-  "poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
-  "poll.vote": "Vote",
-  "poll.voted": "You voted for this answer",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
-  "poll_button.add_poll": "Add a poll",
-  "poll_button.remove_poll": "Remove poll",
-  "privacy.change": "Adjust status privacy",
-  "privacy.direct.long": "Visible for mentioned users only",
+  "navigation_bar.edit_profile": "प्रोफैलं सम्पाद्यताम्",
+  "navigation_bar.explore": "अन्विच्छ",
+  "navigation_bar.favourites": "प्रियाः",
+  "navigation_bar.filters": "मूकीकृतानि पदानि",
+  "navigation_bar.follow_requests": "अनुसरणानुरोधाः",
+  "navigation_bar.followed_tags": "अनुसरितानि प्रचलितवस्तूनि",
+  "navigation_bar.follows_and_followers": "याननुसरति अनुसारिणश्च",
+  "navigation_bar.lists": "सूचयः",
+  "navigation_bar.logout": "निष्क्रमणं कुरु",
+  "navigation_bar.mutes": "निःशब्दा भोक्तारः",
+  "navigation_bar.personal": "व्यक्तिगतम्",
+  "navigation_bar.pins": "कीलितपत्राणि",
+  "navigation_bar.preferences": "अधिकरुचयः",
+  "navigation_bar.public_timeline": "सङ्घीयसमयतालिका",
+  "navigation_bar.search": "अन्विच्छ",
+  "navigation_bar.security": "सुरक्षा",
+  "not_signed_in_indicator.not_signed_in": "उपायमिमं लब्धुं सम्प्रवेश आवश्यकः।",
+  "notification.admin.report": "{name} {target} प्रतिवेदयञ्चकार",
+  "notification.admin.sign_up": "{name} संविवेश",
+  "notification.favourite": "{name} तव पत्रं प्रियमकार्षीत्",
+  "notification.follow": "{name} त्वामनुससार",
+  "notification.follow_request": "{name} त्वामनुसर्तुमयाचीत्",
+  "notification.mention": "{name} त्वामुल्लिलेख",
+  "notification.own_poll": "तव निर्वाचनं समाप्तम्",
+  "notification.poll": "यस्मिन्निर्वाचने मतमदास्तन्निर्वाचनं समाप्तम्",
+  "notification.reblog": "{name} तव पत्रं बुस्तिमिति अकार्षीत्",
+  "notification.status": "{name} अधुना अस्थापयिष्ट",
+  "notification.update": "{name} पत्रमेकं समपादयिष्ट",
+  "notifications.clear": "विज्ञापनानि मार्जय",
+  "notifications.clear_confirmation": "तव सर्वाणि विज्ञापनानि सर्वकालाय मार्जयितुमिच्छसि वा?",
+  "notifications.column_settings.admin.report": "नूतनावेदनानि",
+  "notifications.column_settings.admin.sign_up": "नूतनपञ्जीकरणम्:",
+  "notifications.column_settings.alert": "देस्क्टप्विज्ञापनानि",
+  "notifications.column_settings.favourite": "प्रियाः",
+  "notifications.column_settings.filter_bar.advanced": "सर्वाणि वर्गाणि प्रदर्शय",
+  "notifications.column_settings.filter_bar.category": "द्रुतशोधकशलाका",
+  "notifications.column_settings.filter_bar.show_bar": "शोधकशालकां दर्शय",
+  "notifications.column_settings.follow": "नूतनानुसारिणः:",
+  "notifications.column_settings.follow_request": "नूतनानुसरणानुरोधाः:",
+  "notifications.column_settings.mention": "उल्लिखितानि :",
+  "notifications.column_settings.poll": "मतदानस्य परिणामः :",
+  "notifications.column_settings.push": "आघातविज्ञापनानि",
+  "notifications.column_settings.reblog": "बुस्तः :",
+  "notifications.column_settings.show": "स्तम्भे दर्शय",
+  "notifications.column_settings.sound": "ध्वनिं वादय",
+  "notifications.column_settings.status": "नूतनपत्राणि:",
+  "notifications.column_settings.unread_notifications.category": "अपठितविज्ञापनानि",
+  "notifications.column_settings.unread_notifications.highlight": "अपठितविज्ञापनानि उद्वर्णय",
+  "notifications.column_settings.update": "सम्पादनानि :",
+  "notifications.filter.all": "सर्वम्",
+  "notifications.filter.boosts": "बुस्तः",
+  "notifications.filter.favourites": "प्रियाः",
+  "notifications.filter.follows": "अनुसरति",
+  "notifications.filter.mentions": "उल्लिखितानि",
+  "notifications.filter.polls": "मतदानस्य परिणामः",
+  "notifications.filter.statuses": "त्वयानुसरितजनेभ्यः परिवर्तनानि",
+  "notifications.grant_permission": "अनुमतिं देहि।",
+  "notifications.group": "{count} विज्ञापनानि",
+  "notifications.mark_as_read": "सर्वाणि विज्ञापनानि पठितरूपेण चिह्नीकुरु",
+  "notifications.permission_denied": "पूर्वस्यास्वीकृतब्रौसरनुमत्यनुरोधस्य कारणाद्देस्क्तप्विज्ञापनानि न उपलब्धानि",
+  "notifications.permission_denied_alert": "देस्क्तप्विज्ञापनानि सकर्तुं न शक्यते यतो ब्रौसरनुमतिं पूर्वेऽस्वीकृतम्",
+  "notifications.permission_required": "देस्क्तप्विज्ञापनानि नोपलब्धानि यतोहि आवश्यकानुमतिं न स्वीकृतम्।",
+  "notifications_permission_banner.enable": "देस्क्टप्विज्ञापनानि सशक्तं कुरु",
+  "notifications_permission_banner.how_to_control": "यदा माटोडोन्नोद्घाटितस्तदा विज्ञापनानि प्राप्तुं देस्क्तप्विज्ञापनानि सशक्तं कुरु। यदा तानि सशक्तानि तदा {icon} गण्डस्य माध्यमेन केऽपि प्रकारास्संवादा देस्क्तप्विज्ञापनानि जनयन्तीति नियामकं कर्तुं शक्नोषि।",
+  "notifications_permission_banner.title": "मा कदापि वस्तु त्यज",
+  "picture_in_picture.restore": "तत्प्रतिस्थापय",
+  "poll.closed": "बद्धम्",
+  "poll.refresh": "नवीकुरु",
+  "poll.total_people": "{count, plural, one {# जनः} other {# जनाः}}",
+  "poll.total_votes": "{count, plural, one {# मतम्} other {# मतानि}}",
+  "poll.vote": "मतम्",
+  "poll.voted": "एतदुत्तरं मतमदाः",
+  "poll.votes": "{votes, plural, one {# मतम्} other {# मतानि}}",
+  "poll_button.add_poll": "निर्वाचनं योजय",
+  "poll_button.remove_poll": "निर्वाचनं मार्जय",
+  "privacy.change": "पत्रस्य गोपनीयतां परिवर्तय",
+  "privacy.direct.long": "केवलमुल्लिखितोभोक्तृभ्यो दृश्यते",
   "privacy.direct.short": "Direct",
-  "privacy.private.long": "Visible for followers only",
+  "privacy.private.long": "केवलं येऽनुसरन्ति त्वां तेभ्यो दृश्यते",
   "privacy.private.short": "Followers-only",
-  "privacy.public.long": "Visible for all",
-  "privacy.public.short": "Public",
-  "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
-  "privacy.unlisted.short": "Unlisted",
-  "privacy_policy.last_updated": "Last updated {date}",
-  "privacy_policy.title": "Privacy Policy",
-  "refresh": "Refresh",
-  "regeneration_indicator.label": "Loading…",
-  "regeneration_indicator.sublabel": "Your home feed is being prepared!",
-  "relative_time.days": "{number}d",
-  "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago",
-  "relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago",
-  "relative_time.full.just_now": "just now",
-  "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago",
-  "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago",
-  "relative_time.hours": "{number}h",
-  "relative_time.just_now": "now",
-  "relative_time.minutes": "{number}m",
-  "relative_time.seconds": "{number}s",
-  "relative_time.today": "today",
-  "reply_indicator.cancel": "Cancel",
-  "report.block": "Block",
-  "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
-  "report.categories.other": "Other",
-  "report.categories.spam": "Spam",
-  "report.categories.violation": "Content violates one or more server rules",
-  "report.category.subtitle": "Choose the best match",
-  "report.category.title": "Tell us what's going on with this {type}",
-  "report.category.title_account": "profile",
-  "report.category.title_status": "post",
-  "report.close": "Done",
-  "report.comment.title": "Is there anything else you think we should know?",
-  "report.forward": "Forward to {target}",
-  "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
-  "report.mute": "Mute",
-  "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
-  "report.next": "Next",
+  "privacy.public.long": "सर्वेभ्यो दृश्यते",
+  "privacy.public.short": "सार्वजनिकम्",
+  "privacy.unlisted.long": "सर्वेभ्यो दृश्यते किन्तु आविष्कारविशेषताभ्योऽन्तरभूतं नास्ति",
+  "privacy.unlisted.short": "असूचीकृतम्",
+  "privacy_policy.last_updated": "अन्तिमवारं परिवर्तितम् {date}",
+  "privacy_policy.title": "गोपनीयतानीतिः",
+  "refresh": "नवीकुरु",
+  "regeneration_indicator.label": "आरोपयति…",
+  "regeneration_indicator.sublabel": "तव गृहनिरासः सज्जीकृतोऽस्ति!",
+  "relative_time.days": "{number}दि",
+  "relative_time.full.days": "{number, plural, one {# दिनं} other {# दिनानि}} पूर्वम्",
+  "relative_time.full.hours": "{number, plural, one {# होरा} other {# होराः}} पूर्वम्",
+  "relative_time.full.just_now": "अधुनैव",
+  "relative_time.full.minutes": "{number, plural, one {# क्षणं} other {# क्षणानि}} पूर्वम्",
+  "relative_time.full.seconds": "{number, plural, one {# पलं} other {# पलानि}} पूर्वम्",
+  "relative_time.hours": "{number}हो",
+  "relative_time.just_now": "अधुना",
+  "relative_time.minutes": "{number}क्ष",
+  "relative_time.seconds": "{number}प",
+  "relative_time.today": "अद्य",
+  "reply_indicator.cancel": "नश्यताम्",
+  "report.block": "निषेधः",
+  "report.block_explanation": "तेषां पत्राणि न द्रक्ष्यसि। ते तव पत्राणि द्रष्टुमुत त्वामनुसर्तुं न शक्नुवन्ति। ते अवरुद्धाः इति ते वक्तुं शक्नुवन्ति।",
+  "report.categories.other": "अन्य",
+  "report.categories.spam": "फल्गुसन्देशाः",
+  "report.categories.violation": "पूरकः एकं वा एकाधिकान्सर्वरो नियमानुल्लङ्घयति",
+  "report.category.subtitle": "उत्तमं मेलनं चिनु",
+  "report.category.title": "अनेन {type} इत्यनेन किम्भवतीति ब्रूहि नः",
+  "report.category.title_account": "प्रोफैल्",
+  "report.category.title_status": "पत्रम्",
+  "report.close": "कृतम्",
+  "report.comment.title": "अन्य किमपि नो ज्ञापयितुमिच्छसि वा?",
+  "report.forward": "{target} प्रत्यग्रे प्रेषय",
+  "report.forward_hint": "एकौण्टयमन्यसर्वर्तः। अनामिकप्रतिलिमावेदनस्य तत्रापि प्रेषयितुमिच्छसि वा?",
+  "report.mute": "मूकीकुरु",
+  "report.mute_explanation": "तेषां पत्राणि न द्रक्ष्यसि। तेऽधुनापि त्वामनुसृत्य तव पत्राणि द्रष्टुं शक्नुवन्ति किन्तु ते त्वया मूकीकृता इति ते न वेदिष्यन्ति।",
+  "report.next": "परम्",
   "report.placeholder": "Type or paste additional comments",
-  "report.reasons.dislike": "I don't like it",
-  "report.reasons.dislike_description": "It is not something you want to see",
-  "report.reasons.other": "It's something else",
-  "report.reasons.other_description": "The issue does not fit into other categories",
-  "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
-  "report.reasons.violation": "It violates server rules",
-  "report.reasons.violation_description": "You are aware that it breaks specific rules",
-  "report.rules.subtitle": "Select all that apply",
-  "report.rules.title": "Which rules are being violated?",
-  "report.statuses.subtitle": "Select all that apply",
-  "report.statuses.title": "Are there any posts that back up this report?",
+  "report.reasons.dislike": "एतन्न मे रोचते",
+  "report.reasons.dislike_description": "एतन्न किञ्चित्त्वं द्रष्टुमिच्छसि",
+  "report.reasons.other": "एतत्किञ्चिदन्य एव",
+  "report.reasons.other_description": "समस्या अन्यवर्गेषु नोपज्यते",
+  "report.reasons.spam": "फल्गुसन्देशोऽयम्",
+  "report.reasons.spam_description": "हिंसापरायणास्सन्धयः, असत्याभ्युपगमो वा पुनरावर्तनीयानि उत्तराणि",
+  "report.reasons.violation": "एतत्सर्वरो नियमानुलङ्घयति",
+  "report.reasons.violation_description": "एतद्विशेषनियमामुलङ्घयतीति वेत्सि",
+  "report.rules.subtitle": "यानि प्रयोजयन्ति तानि चिनु",
+  "report.rules.title": "केषां नियमानामुल्लङ्घनं क्रियते?",
+  "report.statuses.subtitle": "यानि प्रयोजयन्ति तानि चिनु",
+  "report.statuses.title": "कानि पत्राणि सन्ति वा यानि आवेदनमिदं समर्थयन्ति?",
   "report.submit": "Submit report",
   "report.target": "Report {target}",
-  "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
-  "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
-  "report.thanks.title": "Don't want to see this?",
-  "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
-  "report.unfollow": "Unfollow @{name}",
-  "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
-  "report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
-  "report_notification.categories.other": "Other",
-  "report_notification.categories.spam": "Spam",
-  "report_notification.categories.violation": "Rule violation",
-  "report_notification.open": "Open report",
-  "search.placeholder": "Search",
-  "search.search_or_paste": "Search or paste URL",
-  "search_popout.search_format": "Advanced search format",
-  "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
-  "search_popout.tips.hashtag": "hashtag",
-  "search_popout.tips.status": "status",
-  "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
-  "search_popout.tips.user": "user",
-  "search_results.accounts": "People",
-  "search_results.all": "All",
-  "search_results.hashtags": "Hashtags",
-  "search_results.nothing_found": "Could not find anything for these search terms",
-  "search_results.statuses": "Toots",
-  "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
-  "search_results.title": "Search for {q}",
-  "search_results.total": "{count, number} {count, plural, one {result} other {results}}",
-  "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)",
-  "server_banner.active_users": "active users",
-  "server_banner.administered_by": "Administered by:",
-  "server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.",
-  "server_banner.learn_more": "Learn more",
-  "server_banner.server_stats": "Server stats:",
-  "sign_in_banner.create_account": "Create account",
-  "sign_in_banner.sign_in": "Sign in",
-  "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts. You can also interact from your account on a different server.",
-  "status.admin_account": "Open moderation interface for @{name}",
-  "status.admin_domain": "Open moderation interface for {domain}",
-  "status.admin_status": "Open this status in the moderation interface",
-  "status.block": "Block @{name}",
-  "status.bookmark": "Bookmark",
-  "status.cancel_reblog_private": "Unboost",
-  "status.cannot_reblog": "This post cannot be boosted",
-  "status.copy": "Copy link to status",
-  "status.delete": "Delete",
-  "status.detailed_status": "Detailed conversation view",
-  "status.direct": "Direct message @{name}",
-  "status.edit": "Edit",
-  "status.edited": "Edited {date}",
-  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
-  "status.embed": "Embed",
-  "status.favourite": "Favourite",
-  "status.filter": "Filter this post",
-  "status.filtered": "Filtered",
-  "status.hide": "Hide post",
-  "status.history.created": "{name} created {date}",
-  "status.history.edited": "{name} edited {date}",
-  "status.load_more": "Load more",
-  "status.media_hidden": "Media hidden",
-  "status.mention": "Mention @{name}",
-  "status.more": "More",
-  "status.mute": "Mute @{name}",
-  "status.mute_conversation": "Mute conversation",
-  "status.open": "Expand this status",
-  "status.pin": "Pin on profile",
-  "status.pinned": "Pinned toot",
-  "status.read_more": "Read more",
-  "status.reblog": "Boost",
+  "report.thanks.take_action": "इमे इह तव विकल्पास्सन्ति मास्टोडोनि यत्पश्यसि तद्यन्त्रयितुम् :",
+  "report.thanks.take_action_actionable": "एतस्य अस्माभिरवलोकनस्य समये @{name} इत्यस्योपरि अभियोगयितुं शक्नोषि :",
+  "report.thanks.title": "इदं द्रष्टुं नेच्छसि वा?",
+  "report.thanks.title_actionable": "अवेदनाय धन्यवादः, वयं एतदवलोकयिष्यामि।",
+  "report.unfollow": "@{name} विसर",
+  "report.unfollow_explanation": "समयोऽयमनुसरसि। तव गृहनिरासे तस्य पत्राणि न द्रष्टुं तं विसर।",
+  "report_notification.attached_statuses": "{count, plural, one {{count} पत्रं} other {{count} पत्राणि}} संयुज्यते/संयुज्यन्ते",
+  "report_notification.categories.other": "अन्य",
+  "report_notification.categories.spam": "फल्गुसन्देशाः",
+  "report_notification.categories.violation": "नियमोल्लङ्घनम्",
+  "report_notification.open": "आवेदनमुद्धाटय",
+  "search.placeholder": "अन्विच्छ",
+  "search.search_or_paste": "URL अन्विच्छ वा लेपनं कुरु",
+  "search_popout.search_format": "आनीतान्वेषणप्रारूपम्",
+  "search_popout.tips.full_text": "सरललेखो यानि पत्राणि त्वया लिखितानि, प्रियाणि, बूस्तं कृतानि, उत येषु उल्लिखितानि, एवञ्च समीकृतानिपयोक्तृनामानि, प्रदर्शननामानि, प्रचलितवस्तूनि च प्रतिददाति।",
+  "search_popout.tips.hashtag": "प्रचलितवस्तु",
+  "search_popout.tips.status": "पत्रम्",
+  "search_popout.tips.text": "सरललेखो मेलनप्रदर्शननामानि, उपभोक्तृनामानि प्रचलितवस्तूनि च प्रतिददाति",
+  "search_popout.tips.user": "उपभोक्ता",
+  "search_results.accounts": "जनाः",
+  "search_results.all": "सर्वम्",
+  "search_results.hashtags": "प्रचलितवस्तूनि",
+  "search_results.nothing_found": "एतेभ्योऽन्वेषणपदेभ्यः किमपि न प्राप्तम्",
+  "search_results.statuses": "पत्राणि",
+  "search_results.statuses_fts_disabled": "तेषां पूरकेन पत्रान्वेषणमस्मिन्मास्टोडोन्सर्वरि सक्रीयं नास्ति।",
+  "search_results.title": "{q} कृते अन्विष्य",
+  "search_results.total": "{count, number} {count, plural, one {परिणामः} other {परिणामाः}}",
+  "server_banner.about_active_users": "विगतेषु ३० दिनेषु सर्वरमिममुपयुज्यमाणा जनाः (मासिकसक्रियोपभोक्तारः)",
+  "server_banner.active_users": "सक्रियोपभोक्तारः",
+  "server_banner.administered_by": "इत्यनेन अधिकृतः : ",
+  "server_banner.introduction": "{domain} {mastodon} इत्यनेन सामर्थितो विकेन्द्रीयसामाजिकजालकर्मणोंऽशोऽस्ति।",
+  "server_banner.learn_more": "अधिकं ज्ञायताम्",
+  "server_banner.server_stats": "सर्वरः स्थितिविषयकानि :",
+  "sign_in_banner.create_account": "समयं संसृज",
+  "sign_in_banner.sign_in": "सम्प्रवेशं कुरु",
+  "sign_in_banner.text": "प्रोफैल्युत प्रचलितवस्तूनि अनुसर्तुं, प्रियं, भागः, पत्राणि प्रतिवादयितुञ्च सम्प्रवेशः कर्तव्यः। अन्यसर्वर्यपि तव समयात्संवादयितुं शक्नोषि।",
+  "status.admin_account": "@{name} कृते अनतिक्रममध्यस्थमुद्धाटय",
+  "status.admin_domain": "{domain} कृते अनतिक्रममध्यस्थमुद्धाटय",
+  "status.admin_status": "पत्रमिदमुद्घाटय अनतिक्रममध्यस्थे",
+  "status.block": "अवरुध्यताम् @{name}",
+  "status.bookmark": "पुटचिह्नीकुरु",
+  "status.cancel_reblog_private": "विबुस्तं कुरु",
+  "status.cannot_reblog": "पत्रमिदं बुस्तं कर्तुं न शक्यते",
+  "status.copy": "सञ्चयं पत्रे प्रतिलिपिं कुरु",
+  "status.delete": "मार्जय",
+  "status.detailed_status": "विस्तृतसंभाषणदृश्यम्",
+  "status.direct": "प्रत्यक्षसन्देशः @{name}",
+  "status.edit": "सम्पादय",
+  "status.edited": "सम्पादितं {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} वारम्} other {{count} वारम्}}",
+  "status.embed": "निहितम्",
+  "status.favourite": "प्रियम्",
+  "status.filter": "पत्रमिदं फिल्तरं कुरु",
+  "status.filtered": "फिल्तर्कृतम्",
+  "status.hide": "प्रेषरणं प्रच्छादय",
+  "status.history.created": "{name} असृजत् {date}",
+  "status.history.edited": "{name} समपादयत् {date}",
+  "status.load_more": "अधिकं स्थापय",
+  "status.media_hidden": "प्रसारमाध्यमानि प्रच्छादितानि",
+  "status.mention": "उल्लिख्यताम् @{name}",
+  "status.more": "अधिकम्",
+  "status.mute": "निःशब्दम् @{name}",
+  "status.mute_conversation": "वार्तालापं मूकीकुरु",
+  "status.open": "पत्रमिदं विस्तारय",
+  "status.pin": "प्रोफैलि कीलीकुरु",
+  "status.pinned": "कीलितपत्रम्",
+  "status.read_more": "अधिकं पठ्यताम्",
+  "status.reblog": "बुस्त्",
   "status.reblog_private": "Boost with original visibility",
   "status.reblogged_by": "{name} boosted",
-  "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
-  "status.redraft": "Delete & re-draft",
+  "status.reblogs.empty": "न केनापि पत्रमिदं बुस्त्कृतम्। यदा कोऽपि करोति, तानि इह दृश्यन्ते।",
+  "status.redraft": "मार्जय पुनश्च लिख्यताम्",
   "status.remove_bookmark": "Remove bookmark",
   "status.replied_to": "Replied to {name}",
   "status.reply": "Reply",
@@ -616,7 +618,7 @@
   "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.",
   "timeline_hint.resources.followers": "Followers",
   "timeline_hint.resources.follows": "Follows",
-  "timeline_hint.resources.statuses": "Older toots",
+  "timeline_hint.resources.statuses": "पूरातनपत्राणि",
   "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}",
   "trends.trending_now": "Trending now",
   "ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
@@ -632,7 +634,7 @@
   "upload_form.description_missing": "No description added",
   "upload_form.edit": "Edit",
   "upload_form.thumbnail": "Change thumbnail",
-  "upload_form.undo": "Delete",
+  "upload_form.undo": "मार्जय",
   "upload_form.video_description": "Describe for people with hearing loss or visual impairment",
   "upload_modal.analyzing_picture": "Analyzing picture…",
   "upload_modal.apply": "Apply",
diff --git a/app/javascript/mastodon/locales/sc.json b/app/javascript/mastodon/locales/sc.json
index 100f8ecbd..38aa39f3f 100644
--- a/app/javascript/mastodon/locales/sc.json
+++ b/app/javascript/mastodon/locales/sc.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Bloca totu su domìniu",
   "confirmations.domain_block.message": "Boles de seguru, ma a beru a beru, blocare {domain}? In sa parte manna de is casos, pagos blocos o silentziamentos de persones sunt sufitzientes e preferìbiles. No as a bìdere cuntenutos dae custu domìniu in peruna lìnia de tempus pùblica o in is notìficas tuas. Sa gente chi ti sighit dae cussu domìniu at a èssere bogada.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Essi·nche",
   "confirmations.logout.message": "Seguru chi boles essire?",
   "confirmations.mute.confirm": "A sa muda",
diff --git a/app/javascript/mastodon/locales/sco.json b/app/javascript/mastodon/locales/sco.json
index c428d6683..1abcac47e 100644
--- a/app/javascript/mastodon/locales/sco.json
+++ b/app/javascript/mastodon/locales/sco.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Ye'v chynges tae the media description or preview thit ye'v no saved, fling them awa onie weys?",
   "confirmations.domain_block.confirm": "Dingie the hail domain",
   "confirmations.domain_block.message": "Ye a hunner percent shair thit ye'r wantin tae dingie the hail {domain}? In maist cases a haunfae tairgtit dingies an wheeshts are eneuch an preferit. Ye wullnae see content fae that domain in onie public timelines or in yer notes. Yer follaers fae that domain wull be taen awa.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Log oot",
   "confirmations.logout.message": "Ye shair thit ye'r wantin tae log oot?",
   "confirmations.mute.confirm": "Wheesht",
diff --git a/app/javascript/mastodon/locales/si.json b/app/javascript/mastodon/locales/si.json
index a5ffbc615..f13aca561 100644
--- a/app/javascript/mastodon/locales/si.json
+++ b/app/javascript/mastodon/locales/si.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "ඔබට මාධ්‍ය විස්තරයට හෝ පෙරදසුනට නොසුරකින ලද වෙනස්කම් තිබේ, කෙසේ වෙතත් ඒවා ඉවත දමන්නද?",
   "confirmations.domain_block.confirm": "සම්පූර්ණ වසම අවහිර කරන්න",
   "confirmations.domain_block.message": "ඔබට සම්පූර්ණ {domain}අවහිර කිරීමට අවශ්‍ය බව ඔබට සැබවින්ම විශ්වාසද? බොහෝ අවස්ථාවලදී ඉලක්කගත බ්ලොක් හෝ නිශ්ශබ්ද කිරීම් කිහිපයක් ප්රමාණවත් වන අතර වඩාත් යෝග්ය වේ. ඔබ කිසිදු පොදු කාලරාමුවක හෝ ඔබගේ දැනුම්දීම් වල එම වසමේ අන්තර්ගතය නොදකිනු ඇත. එම වසමෙන් ඔබගේ අනුගාමිකයින් ඉවත් කරනු ලැබේ.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "නික්මෙන්න",
   "confirmations.logout.message": "ඔබට නික්මෙන්න අවශ්‍ය බව විශ්වාසද?",
   "confirmations.mute.confirm": "නිශ්ශබ්ද",
diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json
index 03c237a64..a2c35fae9 100644
--- a/app/javascript/mastodon/locales/sk.json
+++ b/app/javascript/mastodon/locales/sk.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Máte neuložené zmeny v popise alebo náhľade média, zahodiť ich aj tak?",
   "confirmations.domain_block.confirm": "Skry celú doménu",
   "confirmations.domain_block.message": "Si si naozaj istý/á, že chceš blokovať celú doménu {domain}? Vo väčšine prípadov stačí blokovať alebo ignorovať pár konkrétnych užívateľov, čo sa doporučuje. Neuvidíš obsah z tejto domény v žiadnej verejnej časovej osi, ani v oznámeniach. Tvoji následovníci pochádzajúci z tejto domény budú odstránení.",
+  "confirmations.edit.confirm": "Uprav",
+  "confirmations.edit.message": "Úpravou teraz prepíšeš správu, ktorú práve zostavuješ. Si si istý/á, že chceš pokračovať?",
   "confirmations.logout.confirm": "Odhlás sa",
   "confirmations.logout.message": "Si si istý/á, že sa chceš odhlásiť?",
   "confirmations.mute.confirm": "Nevšímaj si",
@@ -509,10 +511,10 @@
   "report.statuses.title": "Sú k dispozícii príspevky podporujúce toto hlásenie?",
   "report.submit": "Odošli",
   "report.target": "Nahlás {target}",
-  "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
-  "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
+  "report.thanks.take_action": "Tu sú tvoje možnosti kontrolovať, čo vidíš na Mastodone:",
+  "report.thanks.take_action_actionable": "Kým to vyhodnotíme, môžeš podniknúť kroky voči @{name}:",
   "report.thanks.title": "Nechceš to vidieť?",
-  "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
+  "report.thanks.title_actionable": "Vďaka za nahlásenie, pozrieme sa na to.",
   "report.unfollow": "Nesleduj @{name}",
   "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
   "report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json
index d706eac77..331d9aa20 100644
--- a/app/javascript/mastodon/locales/sl.json
+++ b/app/javascript/mastodon/locales/sl.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Imate ne shranjene spremembe za medijski opis ali predogled; jih želite kljub temu opustiti?",
   "confirmations.domain_block.confirm": "Blokiraj celotno domeno",
   "confirmations.domain_block.message": "Ali ste res, res prepričani, da želite blokirati celotno {domain}? V večini primerov je nekaj ciljnih blokiranj ali utišanj dovolj in boljše. Vsebino iz te domene ne boste videli v javnih časovnicah ali obvestilih. Vaši sledilci iz te domene bodo odstranjeni.",
+  "confirmations.edit.confirm": "Uredi",
+  "confirmations.edit.message": "Urejanje bo prepisalo sporočilo, ki ga trenutno sestavljate. Ali ste prepričani, da želite nadaljevati?",
   "confirmations.logout.confirm": "Odjava",
   "confirmations.logout.message": "Ali ste prepričani, da se želite odjaviti?",
   "confirmations.mute.confirm": "Utišanje",
diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json
index 927cf7659..2c4c8cd89 100644
--- a/app/javascript/mastodon/locales/sq.json
+++ b/app/javascript/mastodon/locales/sq.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Keni ndryshime të paruajtura te përshkrimi ose paraparja e medias, të hidhen tej, sido qoftë?",
   "confirmations.domain_block.confirm": "Bllokoje krejt përkatësinë",
   "confirmations.domain_block.message": "Jeni i sigurt, shumë i sigurt se doni të bllokohet krejt {domain}? Në shumicën e rasteve, ndoca bllokime ose heshtime me synim të caktuar janë të mjaftueshme dhe të parapëlqyera. S’keni për të parë lëndë nga kjo përkatësi në ndonjë rrjedhë kohore publike, apo te njoftimet tuaja. Ndjekësit tuaj prej asaj përkatësie do të hiqen.",
+  "confirmations.edit.confirm": "Përpunojeni",
+  "confirmations.edit.message": "Përpunimi tani do të sjellë mbishkrim të mesazhit që po hartoni aktualisht. Jeni i sigurt se doni të vazhdohet?",
   "confirmations.logout.confirm": "Dilni",
   "confirmations.logout.message": "Jeni i sigurt se doni të dilet?",
   "confirmations.mute.confirm": "Heshtoje",
diff --git a/app/javascript/mastodon/locales/sr-Latn.json b/app/javascript/mastodon/locales/sr-Latn.json
index a3ffb413c..66dd80b90 100644
--- a/app/javascript/mastodon/locales/sr-Latn.json
+++ b/app/javascript/mastodon/locales/sr-Latn.json
@@ -4,12 +4,12 @@
   "about.disclaimer": "Mastodon je besplatan softver otvorenog koda i zaštićeni znak kompanije Mastodon gGmbH.",
   "about.domain_blocks.no_reason_available": "Razlog nije naveden",
   "about.domain_blocks.preamble": "Mastodon vam generalno omogućava da vidite sadržaj i komunicirate sa korisnicima sa bilo kog drugog servera u fediverzumu. Ovo su izuzeci koji su napravljeni na ovom serveru.",
-  "about.domain_blocks.silenced.explanation": "U načelu nećete videti profile i sadržaj sa ovog servera, osim ako ga eksplicitno ne potražite ili se uključite tako što ćete ga pratiti.",
+  "about.domain_blocks.silenced.explanation": "Nećete videti profile i sadržaj sa ovog servera osim ako ih eksplicitno ne potražite ili ne zapratite neki profil sa servera.",
   "about.domain_blocks.silenced.title": "Ograničen",
-  "about.domain_blocks.suspended.explanation": "Podaci sa ovog servera neće se obrađivati, čuvati ili razmenjivati, što onemogućava bilo kakvu interakciju ili komunikaciju sa korisnicima sa ovog servera.",
+  "about.domain_blocks.suspended.explanation": "Podaci sa ovog servera neće se obrađivati, čuvati niti razmenjivati, što će onemogućiti bilo kakvu interakciju ili komunikaciju sa korisnicima sa ovog servera.",
   "about.domain_blocks.suspended.title": "Suspendovan",
   "about.not_available": "Ove informacije nisu dostupne na ovom serveru.",
-  "about.powered_by": "Decentralizovana društvena medija koju pokreće {mastodon}",
+  "about.powered_by": "Decentralizovana društvena mreža koju pokreće {mastodon}",
   "about.rules": "Pravila servera",
   "account.account_note_header": "Napomena",
   "account.add_or_remove_from_list": "Dodaj ili ukloni sa lista",
@@ -38,11 +38,11 @@
   "account.follows.empty": "Ovaj korisnik još uvek nikog ne prati.",
   "account.follows_you": "Prati vas",
   "account.go_to_profile": "Idi na profil",
-  "account.hide_reblogs": "Sakrij podržavanja od @{name}",
-  "account.joined_short": "Pridružio se",
+  "account.hide_reblogs": "Sakrij podržavanja @{name}",
+  "account.joined_short": "Datum pridruživanja",
   "account.languages": "Promeni pretplaćene jezike",
   "account.link_verified_on": "Vlasništvo nad ovom vezom je provereno {date}",
-  "account.locked_info": "Status privatnosti ovog naloga je podešen na zaključano. Vlasnik ručno pregleda ko ga može pratiti.",
+  "account.locked_info": "Status privatnosti ovog naloga je podešen na „zaključano”. Vlasnik ručno pregleda ko ga može pratiti.",
   "account.media": "Multimedija",
   "account.mention": "Pomeni korisnika @{name}",
   "account.moved_to": "Korisnik {name} je naznačio da je njegov novi nalog sada:",
@@ -91,7 +91,7 @@
   "bundle_column_error.routing.body": "Nije moguće pronaći traženu stranicu. Da li ste sigurni da je URL u adresnom polju ispravan?",
   "bundle_column_error.routing.title": "404",
   "bundle_modal_error.close": "Zatvori",
-  "bundle_modal_error.message": "Nešto nije bilo u redu pri učitavanju ove komponente.",
+  "bundle_modal_error.message": "Nešto je pošlo naopako tokom učitavanja ove komponente.",
   "bundle_modal_error.retry": "Pokušajte ponovo",
   "closed_registrations.other_server_instructions": "Pošto je Mastodon decentralizovan, možete napraviti nalog na drugom serveru ali i dalje komunicirati sa ovim.",
   "closed_registrations_modal.description": "Kreiranje naloga na {domain} trenutno nije moguće, ali imajte u vidu da vam ne treba nalog zasebno na {domain} da biste koristili Mastodon.",
@@ -162,8 +162,10 @@
   "confirmations.discard_edit_media.message": "Imate nesačuvane promene u opisu ili pregledu medija, da li ipak hoćete da ih odbacite?",
   "confirmations.domain_block.confirm": "Blokiraj ceo domen",
   "confirmations.domain_block.message": "Da li ste zaista sigurni da želite da blokirate ceo domen {domain}? U većini slučajeva, dovoljno je i poželjno nekoliko ciljanih blokiranja ili ignorisanja. Nećete videti sadržaj sa tog domena ni u jednoj javnoj vremenskoj liniji ili u vašim obaveštenjima. Vaši pratioci sa tog domena će biti uklonjeni.",
-  "confirmations.logout.confirm": "Odjavi se",
-  "confirmations.logout.message": "Da li se sigurni da želite da se odjavite?",
+  "confirmations.edit.confirm": "Uredi",
+  "confirmations.edit.message": "Uređivanjem će se obrisati poruka koju trenutno sastavljate. Da li ste sigurni da želite da nastavite?",
+  "confirmations.logout.confirm": "Odjava",
+  "confirmations.logout.message": "Da li ste sigurni da želite da se odjavite?",
   "confirmations.mute.confirm": "Ignoriši",
   "confirmations.mute.explanation": "Ovo će sakriti objave od korisnika i objave koje ga pominju, ali će mu i dalje biti dozvoljeno da vidi vaše objave i da vas prati.",
   "confirmations.mute.message": "Da li stvarno želite da ignorišete korisnika {name}?",
@@ -187,13 +189,13 @@
   "disabled_account_banner.text": "Vaš nalog {disabledAccount} je trenutno onemogućen.",
   "dismissable_banner.community_timeline": "Ovo su najnovije javne objave ljudi čije naloge hostuje {domain}.",
   "dismissable_banner.dismiss": "Odbaci",
-  "dismissable_banner.explore_links": "O ovim vestima upravo sada razgovaraju ljudi na ovom i drugim serverima decentralizovane mreže.",
+  "dismissable_banner.explore_links": "O ovim vestima trenutno razgovaraju ljudi na ovom i drugim serverima decentralizovane mreže.",
   "dismissable_banner.explore_statuses": "Ove objave sa ovog i drugih servera u decentralizovanoj mreži postaju sve popularnije na ovom serveru.",
   "dismissable_banner.explore_tags": "Ove heš oznake postaju sve popularnije među ljudima na ovom i drugim serverima decentralizovane mreže.",
   "dismissable_banner.public_timeline": "Ovo su najnovije javne objave ljudi na ovom i drugim serverima decentralizovane mreže za koje ovaj server zna.",
   "embed.instructions": "Ugradite ovu objavu na svoj veb sajt kopiranjem koda ispod.",
   "embed.preview": "Evo kako će to izgledati:",
-  "emoji_button.activity": "Aktivnost",
+  "emoji_button.activity": "Aktivnosti",
   "emoji_button.clear": "Obriši",
   "emoji_button.custom": "Prilagođeno",
   "emoji_button.flags": "Zastavice",
@@ -220,24 +222,24 @@
   "empty_column.favourited_statuses": "Još uvek nemate objava označenih kao omiljene. Kada označite neku, pojaviće se ovde.",
   "empty_column.favourites": "Niko još nije označio ovu objavu kao omiljenu. Kada neko to uradi, pojaviće se ovde.",
   "empty_column.follow_recommendations": "Izgleda da ne mogu da se generišu bilo kakvi predlozi za vas. Možete pokušati da koristite pretragu kako biste potražili ljude koje možda poznajete ili istražili popularne heš oznake.",
-  "empty_column.follow_requests": "Još uvek nemate zahteva za praćenje. Kada primite zahtev, pojaviće se ovde.",
-  "empty_column.followed_tags": "Još uvek niste zapratili nijednu heš oznaku. Kada to uradite, one će se pojaviti ovde.",
+  "empty_column.follow_requests": "Još uvek nemate nijedan zahtev za praćenje. Kada primite zahtev, on će se pojaviti ovde.",
+  "empty_column.followed_tags": "Još uvek niste zapratili nijednu heš oznaku. Kada to uradite, one će se pojaviti ovde.",
   "empty_column.hashtag": "Još uvek nema ničega u ovoj heš oznaci.",
   "empty_column.home": "Vaša početna vremenska linija je prazna! Pratite više ljudi da biste je popunili. {suggestions}",
   "empty_column.home.suggestions": "Pogledajte neke predloge",
   "empty_column.list": "U ovoj listi još nema ničega. Kada članovi ove liste objave nešto novo, pojaviće se ovde.",
-  "empty_column.lists": "Još uvek nemate nijednu listu. Kada napravite jednu, pojaviće se ovde.",
+  "empty_column.lists": "Još uvek nemate nijednu listu. Kada napravite jednu, ona će se pojaviti ovde.",
   "empty_column.mutes": "Još uvek ne ignorišete nijednog korisnika.",
   "empty_column.notifications": "Još uvek nemate nikakva obaveštenja. Kada drugi ljudi budu u interakciji sa vama, videćete to ovde.",
   "empty_column.public": "Ovde nema ničega! Napišite nešto javno ili ručno pratite korisnike sa drugih servera da biste ovo popunili",
   "error.unexpected_crash.explanation": "Zbog greške u našem kodu ili problema sa kompatibilnošću pregledača, ova stranica se nije mogla pravilno prikazati.",
   "error.unexpected_crash.explanation_addons": "Ova stranica se nije mogla pravilno prikazati. Ovu grešku verovatno uzrokuju dodaci pregledača ili alati za automatsko prevođenje.",
   "error.unexpected_crash.next_steps": "Pokušajte da osvežite stranicu. Ako to ne pomogne, možda ćete i dalje moći da koristite Mastodon putem drugog pregledača ili matične aplikacije.",
-  "error.unexpected_crash.next_steps_addons": "Pokušajte da ih onemogućite i osvežite stranicu. Ako to ne pomogne, možda ćete i dalje moći da koristite Mastodon preko drugog pregledača ili matične aplikacije.",
+  "error.unexpected_crash.next_steps_addons": "Pokušajte da ih onemogućite i osvežite stranicu. Ako to ne pomogne, možete da nastavite da koristite Mastodon korišćenjem drugog pregledača ili matične aplikacije.",
   "errors.unexpected_crash.copy_stacktrace": "Kopiraj „stacktrace” u klipbord",
   "errors.unexpected_crash.report_issue": "Prijavi problem",
   "explore.search_results": "Rezultati pretrage",
-  "explore.suggested_follows": "Za tebe",
+  "explore.suggested_follows": "Za Vas",
   "explore.title": "Istraži",
   "explore.trending_links": "Vesti",
   "explore.trending_statuses": "Objave",
@@ -249,7 +251,7 @@
   "filter_modal.added.review_and_configure": "Za pregled i dalju konfiguraciju ove kategorije filtera, idite na {settings_link}.",
   "filter_modal.added.review_and_configure_title": "Podešavanja filtera",
   "filter_modal.added.settings_link": "stranica podešavanja",
-  "filter_modal.added.short_explanation": "Ova objava je dodata u sledeću kategoriju filtera: {title}.",
+  "filter_modal.added.short_explanation": "Ova objava je dodata u sledeću filter kategoriju: {title}.",
   "filter_modal.added.title": "Filter je dodat!",
   "filter_modal.select_filter.context_mismatch": "ne odnosi se na ovaj kontekst",
   "filter_modal.select_filter.expired": "isteklo",
@@ -264,7 +266,7 @@
   "follow_request.authorize": "Odobri",
   "follow_request.reject": "Odbij",
   "follow_requests.unlocked_explanation": "Iako vaš nalog nije zaključan, osoblje {domain} smatra da biste možda želeli da ručno pregledate zahteve za praćenje sa ovih naloga.",
-  "followed_tags": "Praćene heš oznake",
+  "followed_tags": "Praćene heš oznake",
   "footer.about": "Osnovni podaci",
   "footer.directory": "Direktorijum profila",
   "footer.get_app": "Preuzmite aplikaciju",
@@ -280,13 +282,13 @@
   "hashtag.column_header.tag_mode.none": "bez {additional}",
   "hashtag.column_settings.select.no_options_message": "Nisu pronađeni predlozi",
   "hashtag.column_settings.select.placeholder": "Unesite heš oznake…",
-  "hashtag.column_settings.tag_mode.all": "Sve ove",
+  "hashtag.column_settings.tag_mode.all": "Sve",
   "hashtag.column_settings.tag_mode.any": "Bilo koje od ovih",
   "hashtag.column_settings.tag_mode.none": "Nijedan od ovih",
   "hashtag.column_settings.tag_toggle": "Uključi dodatne oznake za ovu kolonu",
-  "hashtag.follow": "Prati heš oznaku",
+  "hashtag.follow": "Zaprati heš oznaku",
   "hashtag.unfollow": "Otprati heš oznaku",
-  "home.column_settings.basic": "Osnovno",
+  "home.column_settings.basic": "Osnovna",
   "home.column_settings.show_reblogs": "Prikaži podržavanja",
   "home.column_settings.show_replies": "Prikaži odgovore",
   "home.hide_announcements": "Sakrij najave",
@@ -300,7 +302,7 @@
   "interaction_modal.other_server_instructions": "Kopirajte i nalepite ovu URL adresu u polje pretrage svoje omiljene Mastodon aplikacije ili veb okruženje svog Mastodon servera.",
   "interaction_modal.preamble": "Pošto je Mastodon decentralizovan, možete koristiti svoj postojeći nalog koji hostuje drugi Mastodon server ili kompatibilna platforma ako nemate nalog na ovom.",
   "interaction_modal.title.favourite": "Označi objavu korisnika {name} kao omiljenu",
-  "interaction_modal.title.follow": "Prati {name}",
+  "interaction_modal.title.follow": "Zaprati {name}",
   "interaction_modal.title.reblog": "Podrži objavu korisnika {name}",
   "interaction_modal.title.reply": "Odgovori na objavu korisnika {name}",
   "intervals.full.days": "{number, plural, one {# dan} few {# dana} other {# dana}}",
@@ -354,10 +356,10 @@
   "lists.edit.submit": "Promeni naslov",
   "lists.new.create": "Dodaj listu",
   "lists.new.title_placeholder": "Naslov nove liste",
-  "lists.replies_policy.followed": "Svaki praćeni korisnik",
-  "lists.replies_policy.list": "Članovi liste",
-  "lists.replies_policy.none": "Niko",
-  "lists.replies_policy.title": "Prikaži odgovore na:",
+  "lists.replies_policy.followed": "Svakom praćenom korisniku",
+  "lists.replies_policy.list": "Članovima liste",
+  "lists.replies_policy.none": "Nikome",
+  "lists.replies_policy.title": "Prikaži odgovore:",
   "lists.search": "Pretraži među ljudima koje pratite",
   "lists.subheading": "Vaše liste",
   "load_pending": "{count, plural, one {# nova stavka} few {# nove stavke} other {# novih stavki}}",
@@ -368,7 +370,7 @@
   "moved_to_account_banner.text": "Vaš nalog {disabledAccount} je trenutno onemogućen jer ste prešli na {movedToAccount}.",
   "mute_modal.duration": "Trajanje",
   "mute_modal.hide_notifications": "Sakriti obaveštenja od ovog korisnika?",
-  "mute_modal.indefinite": "Neodređen",
+  "mute_modal.indefinite": "Neodređeno",
   "navigation_bar.about": "Osnovni podaci",
   "navigation_bar.blocks": "Blokirani korisnici",
   "navigation_bar.bookmarks": "Obeleživači",
@@ -382,7 +384,7 @@
   "navigation_bar.favourites": "Omiljeno",
   "navigation_bar.filters": "Ignorisane reči",
   "navigation_bar.follow_requests": "Zahtevi za praćenje",
-  "navigation_bar.followed_tags": "Praćene heš oznake",
+  "navigation_bar.followed_tags": "Praćene heš oznake",
   "navigation_bar.follows_and_followers": "Praćenja i pratioci",
   "navigation_bar.lists": "Liste",
   "navigation_bar.logout": "Odjava",
@@ -393,9 +395,9 @@
   "navigation_bar.public_timeline": "Združena vremenska linija",
   "navigation_bar.search": "Pretraga",
   "navigation_bar.security": "Bezbednost",
-  "not_signed_in_indicator.not_signed_in": "Morate da se prijavite da pristupite ovom resursu.",
-  "notification.admin.report": "{name} je prijavio {target}",
-  "notification.admin.sign_up": "{name} se registrovao",
+  "not_signed_in_indicator.not_signed_in": "Morate da se prijavite da biste pristupili ovom resursu.",
+  "notification.admin.report": "{name} je prijavio/-la {target}",
+  "notification.admin.sign_up": "{name} se registrovao/-la",
   "notification.favourite": "{name} je označio vašu objavu kao omiljenu",
   "notification.follow": "{name} vas je zapratio",
   "notification.follow_request": "{name} je zatražio da vas prati",
@@ -412,7 +414,7 @@
   "notifications.column_settings.alert": "Obaveštenja na radnoj površini",
   "notifications.column_settings.favourite": "Omiljeni:",
   "notifications.column_settings.filter_bar.advanced": "Prikaži sve kategorije",
-  "notifications.column_settings.filter_bar.category": "Traka za brzi filter",
+  "notifications.column_settings.filter_bar.category": "Traka za brzo filtriranje",
   "notifications.column_settings.filter_bar.show_bar": "Prikaži traku sa filterima",
   "notifications.column_settings.follow": "Novi pratioci:",
   "notifications.column_settings.follow_request": "Novi zahtevi za praćenje:",
@@ -436,13 +438,13 @@
   "notifications.grant_permission": "Odobri dozvolu.",
   "notifications.group": "{count} obaveštenja",
   "notifications.mark_as_read": "Označi svako obaveštenje kao pročitano",
-  "notifications.permission_denied": "Obaveštenja na radnoj površini nisu dostupna zbog prethodno odbijenog zahteva za dozvolom pregledača",
+  "notifications.permission_denied": "Obaveštenja na radnoj površini nisu dostupna zbog prethodno odbijenog zahteva za dozvolu pregledača",
   "notifications.permission_denied_alert": "Obaveštenja na radnoj površini ne mogu biti omogućena, jer je dozvola pregledača ranije bila odbijena",
   "notifications.permission_required": "Obaveštenja na radnoj površini nisu dostupna jer potrebna dozvola nije dodeljena.",
   "notifications_permission_banner.enable": "Omogućiti obaveštenja na radnoj površini",
   "notifications_permission_banner.how_to_control": "Da biste primali obaveštenja kada Mastodon nije otvoren, omogućite obaveštenja na radnoj površini. Kada su obaveštenja na radnoj površini omogućena vrste interakcija koje ona generišu mogu se podešavati pomoću dugmeta {icon}.",
   "notifications_permission_banner.title": "Nikada ništa ne propustite",
-  "picture_in_picture.restore": "Vrati to nazad",
+  "picture_in_picture.restore": "Vrati nazad",
   "poll.closed": "Zatvoreno",
   "poll.refresh": "Osveži",
   "poll.total_people": "{count, plural, one {# osoba} few {# osobe} other {# osoba}}",
@@ -453,13 +455,13 @@
   "poll_button.add_poll": "Dodaj anketu",
   "poll_button.remove_poll": "Ukloni anketu",
   "privacy.change": "Promeni privatnost objave",
-  "privacy.direct.long": "Vidljivo samo za pomenute korisnike",
+  "privacy.direct.long": "Vidljivo samo pomenutim korisnicima",
   "privacy.direct.short": "Samo pomenute osobe",
-  "privacy.private.long": "Vidljivo samo za pratioce",
-  "privacy.private.short": "Samo pratioci",
+  "privacy.private.long": "Vidljivo samo pratiocima",
+  "privacy.private.short": "Samo pratiocima",
   "privacy.public.long": "Vidljivo za sve",
   "privacy.public.short": "Javno",
-  "privacy.unlisted.long": "Vidljivo za sve, ali isključeno iz funkcije otkrivanja",
+  "privacy.unlisted.long": "Vidljivo svima, ali isključeno iz funkcija otkrivanja",
   "privacy.unlisted.short": "Neizlistano",
   "privacy_policy.last_updated": "Poslednje ažuriranje {date}",
   "privacy_policy.title": "Politika privatnosti",
@@ -479,34 +481,34 @@
   "relative_time.today": "danas",
   "reply_indicator.cancel": "Otkaži",
   "report.block": "Blokiraj",
-  "report.block_explanation": "Nećete videti objave korisnika. Ni on neće videti vaše objave niti će moći da vas prati. Takođe može da zna da je blokiran.",
+  "report.block_explanation": "Nećete videti objave korisnika. Ni on neće videti Vaše objave niti će moći da Vas prati. Takođe će moći da sazna da je blokiran.",
   "report.categories.other": "Ostalo",
   "report.categories.spam": "Spam",
   "report.categories.violation": "Sadržaj krši jedno ili više pravila servera",
   "report.category.subtitle": "Odaberite najpribližnije",
-  "report.category.title": "Recite nam šta je problem sa ovim {type}",
-  "report.category.title_account": "profilom",
+  "report.category.title": "Recite nam šta je problem sa {type}",
+  "report.category.title_account": "ovim profilom",
   "report.category.title_status": "objavom",
   "report.close": "Gotovo",
-  "report.comment.title": "Da li ima nešto dodatno što treba da znamo?",
+  "report.comment.title": "Da li ima još nešto što biste hteli da nam date do znanja?",
   "report.forward": "Proslediti {target}",
   "report.forward_hint": "Nalog je sa drugog servera. Poslati anonimnu kopiju prijave i tamo?",
   "report.mute": "Ignoriši",
-  "report.mute_explanation": "Nećete videti objave korisnika. On i i dalje može da vas prati i vidi vaše objave i neće znati da je ignorisan.",
+  "report.mute_explanation": "Nećete videti objave korisnika. On će i dalje moći da Vas prati i vidi Vaše objave i neće znati da je ignorisan.",
   "report.next": "Sledeće",
   "report.placeholder": "Dodatni komentari",
   "report.reasons.dislike": "Ne sviđa mi se",
-  "report.reasons.dislike_description": "Ovo nije nešto što želiš da vidite",
+  "report.reasons.dislike_description": "Ovo nije nešto što želite da vidite",
   "report.reasons.other": "Nešto drugo",
   "report.reasons.other_description": "Problem se ne uklapa u druge kategorije",
   "report.reasons.spam": "Ovo je spam",
   "report.reasons.spam_description": "Zlonamerne veze, lažno angažovanje ili odgovori koji se ponavljaju",
   "report.reasons.violation": "Krši pravila servera",
-  "report.reasons.violation_description": "Svesni ste da krši neka određena pravila",
-  "report.rules.subtitle": "Izaberi sve što važi",
+  "report.reasons.violation_description": "Svesni ste da krši određena pravila",
+  "report.rules.subtitle": "Izaberite sva pravila koja su prekršena",
   "report.rules.title": "Koja pravila su prekršena?",
-  "report.statuses.subtitle": "Izaberi sve što važi",
-  "report.statuses.title": "Da li postoje bilo kakve objave koje podržavaju ovu prijavu?",
+  "report.statuses.subtitle": "Izaberite sve što važi",
+  "report.statuses.title": "Ima li bilo kakvih objava koje potkrepljuju ovu prijavu?",
   "report.submit": "Pošalji",
   "report.target": "Prijavljujem {target}",
   "report.thanks.take_action": "Ovo su Vaše opcije da kontrolišete šta vidite na Mastodon-u:",
@@ -534,7 +536,7 @@
   "search_results.nothing_found": "Nije moguće pronaći ništa za ove termine za pretragu",
   "search_results.statuses": "Objave",
   "search_results.statuses_fts_disabled": "Pretraga objava po sadržaju nije omogućena na ovom Mastodon serveru.",
-  "search_results.title": "Pretraži {q}",
+  "search_results.title": "Traži {q}",
   "search_results.total": "{count, number} {count, plural, one {rezultat} few {rezultata} other {rezultata}}",
   "server_banner.about_active_users": "Ljudi koji su koristili ovaj server u prethodnih 30 dana (mesečno aktivnih korisnika)",
   "server_banner.active_users": "aktivnih korisnika",
@@ -542,8 +544,8 @@
   "server_banner.introduction": "{domain} je deo decentralizovane društvene mreže koju pokreće {mastodon}.",
   "server_banner.learn_more": "Saznajte više",
   "server_banner.server_stats": "Statistike servera:",
-  "sign_in_banner.create_account": "Napravi nalog",
-  "sign_in_banner.sign_in": "Prijavi se",
+  "sign_in_banner.create_account": "Napravite nalog",
+  "sign_in_banner.sign_in": "Prijavite se",
   "sign_in_banner.text": "Prijavite se da biste pratili profile ili heš oznake, označili objave kao omiljene, delili i odgovarali na njih. Takođe možete komunicirati sa svog naloga na drugom serveru.",
   "status.admin_account": "Otvori moderatorsko okruženje za @{name}",
   "status.admin_domain": "Otvori moderatorsko okruženje za {domain}",
@@ -555,7 +557,7 @@
   "status.copy": "Kopiraj vezu u objavu",
   "status.delete": "Izbriši",
   "status.detailed_status": "Detaljan prikaz razgovora",
-  "status.direct": "Direktna poruka @{name}",
+  "status.direct": "Pošalji poruku @{name}",
   "status.edit": "Uredi",
   "status.edited": "Uređeno {date}",
   "status.edited_x_times": "Uređeno {count, plural, one {{count} put} other {{count} puta}}",
@@ -584,7 +586,7 @@
   "status.remove_bookmark": "Ukloni obeleživač",
   "status.replied_to": "Odgovor za {name}",
   "status.reply": "Odgovori",
-  "status.replyAll": "Odgovori na diskusiju",
+  "status.replyAll": "Odgovori na niz",
   "status.report": "Prijavi @{name}",
   "status.sensitive_warning": "Osetljiv sadržaj",
   "status.share": "Podeli",
@@ -599,7 +601,7 @@
   "status.uncached_media_warning": "Nije dostupno",
   "status.unmute_conversation": "Ne ignoriši razgovor",
   "status.unpin": "Otkači sa profila",
-  "subscribed_languages.lead": "Samo objave na označenim jezicima će se pojavljivati na početnoj liniji i na listama posle ove izmene. Odaberite ništa da primate objave na svim jezicima.",
+  "subscribed_languages.lead": "Samo objave na označenim jezicima će se pojavljivati na početnoj liniji i na listama posle ove izmene. Kada nijedan jezik nije izabran, primaćete objave na svim jezicima.",
   "subscribed_languages.save": "Sačuvaj izmene",
   "subscribed_languages.target": "Promeni jezike na koje je {target} prijavljen",
   "suggestions.dismiss": "Odbaci predlog",
@@ -615,9 +617,9 @@
   "time_remaining.seconds": "Ostalo {number, plural, one {# sekund} few {# sekunde} other {# sekundi}}",
   "timeline_hint.remote_resource_not_displayed": "{resource} sa drugih servera se ne prikazuju.",
   "timeline_hint.resources.followers": "Pratioci",
-  "timeline_hint.resources.follows": "Praćeni",
+  "timeline_hint.resources.follows": "Praćenja",
   "timeline_hint.resources.statuses": "Starije objave",
-  "trends.counter_by_accounts": "{count, plural, one {{counter} osoba} few {{counter} osobe} other {{counter} osoba}} u proteklih {days, plural, one {dan} few {{days} dana} other {{days} dana}}",
+  "trends.counter_by_accounts": "{count, plural, one {{counter} osoba} few {{counter} osobe} other {{counter} osoba}} u proteklih {days, plural, one {dan} other {{days} dana}}",
   "trends.trending_now": "U trendu sada",
   "ui.beforeunload": "Vaš nacrt će biti izgubljen ako napustite Mastodon.",
   "units.short.billion": "{count} mlrd.",
@@ -626,9 +628,9 @@
   "upload_area.title": "Prevucite i otpustite za otpremanje",
   "upload_button.label": "Dodaj slike, video ili audio datoteku",
   "upload_error.limit": "Dostignuto je ograničenje za otpremanje datoteka.",
-  "upload_error.poll": "Otpremanje datoteka nije dozvoljeno sa anketama.",
-  "upload_form.audio_description": "Opišite za osobe sa oštećenim sluhom",
-  "upload_form.description": "Opišite za osobe sa oštećenim vidom",
+  "upload_error.poll": "Otpremanje datoteka nije dozvoljeno kod anketa.",
+  "upload_form.audio_description": "Dodajte opis za osobe sa oštećenim sluhom",
+  "upload_form.description": "Dodajte opis za osobe sa oštećenim vidom",
   "upload_form.description_missing": "Nema dodatog opisa",
   "upload_form.edit": "Uredi",
   "upload_form.thumbnail": "Promeni sličicu",
@@ -639,8 +641,8 @@
   "upload_modal.applying": "Primena…",
   "upload_modal.choose_image": "Odaberite sliku",
   "upload_modal.description_placeholder": "Ljubazni fenjerdžija čađavog lica hoće da mi pokaže štos",
-  "upload_modal.detect_text": "Otkrij tekst sa slike",
-  "upload_modal.edit_media": "Uredi miltimediju",
+  "upload_modal.detect_text": "Pronađi tekst sa slike",
+  "upload_modal.edit_media": "Uredi multimediju",
   "upload_modal.hint": "Kliknite ili prevucite kružić na pregledu za izbor tačke fokusa koja će uvek biti vidljiva na svim sličicama.",
   "upload_modal.preparing_ocr": "Priprema OCR-a…",
   "upload_modal.preview_label": "Pregled ({ratio})",
diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json
index ea39d230a..28d6126bb 100644
--- a/app/javascript/mastodon/locales/sr.json
+++ b/app/javascript/mastodon/locales/sr.json
@@ -4,12 +4,12 @@
   "about.disclaimer": "Mastodon је бесплатан софтвер отвореног кода и заштићени знак компаније Mastodon gGmbH.",
   "about.domain_blocks.no_reason_available": "Разлог није наведен",
   "about.domain_blocks.preamble": "Мастодон вам генерално омогућава да видите садржај и комуницирате са корисницима са било ког другог сервера у федиверзуму. Ово су изузеци који су направљени на овом серверу.",
-  "about.domain_blocks.silenced.explanation": "У начелу нећете видети профиле и садржај са овог сервера, осим ако га експлицитно не потражите или се укључите тако што ћете га пратити.",
+  "about.domain_blocks.silenced.explanation": "Нећете видети профиле и садржај са овог сервера осим ако их експлицитно не потражите или не запратите неки профил са сервера.",
   "about.domain_blocks.silenced.title": "Ограничен",
-  "about.domain_blocks.suspended.explanation": "Подаци са овог сервера неће се обрађивати, чувати или размењивати, што онемогућава било какву интеракцију или комуникацију са корисницима са овог сервера.",
+  "about.domain_blocks.suspended.explanation": "Подаци са овог сервера неће се обрађивати, чувати нити размењивати, што ће онемогућити било какву интеракцију или комуникацију са корисницима са овог сервера.",
   "about.domain_blocks.suspended.title": "Суспендован",
   "about.not_available": "Ове информације нису доступне на овом серверу.",
-  "about.powered_by": "Децентрализована друштвена медија коју покреће {mastodon}",
+  "about.powered_by": "Децентрализована друштвена мрежа коју покреће {mastodon}",
   "about.rules": "Правила сервера",
   "account.account_note_header": "Напомена",
   "account.add_or_remove_from_list": "Додај или уклони са листа",
@@ -38,11 +38,11 @@
   "account.follows.empty": "Овај корисник још увек никог не прати.",
   "account.follows_you": "Прати вас",
   "account.go_to_profile": "Иди на профил",
-  "account.hide_reblogs": "Сакриј подржавања од @{name}",
-  "account.joined_short": "Придружио се",
+  "account.hide_reblogs": "Сакриј подржавања @{name}",
+  "account.joined_short": "Датум придруживања",
   "account.languages": "Промени претплаћене језике",
   "account.link_verified_on": "Власништво над овом везом је проверено {date}",
-  "account.locked_info": "Статус приватности овог налога је подешен на закључано. Власник ручно прегледа ко га може пратити.",
+  "account.locked_info": "Статус приватности овог налога је подешен на „закључано”. Власник ручно прегледа ко га може пратити.",
   "account.media": "Мултимедија",
   "account.mention": "Помени корисника @{name}",
   "account.moved_to": "Корисник {name} је назначио да је његов нови налог сада:",
@@ -91,7 +91,7 @@
   "bundle_column_error.routing.body": "Није могуће пронаћи тражену страницу. Да ли сте сигурни да је URL у адресном пољу исправан?",
   "bundle_column_error.routing.title": "404",
   "bundle_modal_error.close": "Затвори",
-  "bundle_modal_error.message": "Нешто није било у реду при учитавању ове компоненте.",
+  "bundle_modal_error.message": "Нешто је пошло наопако током учитавања ове компоненте.",
   "bundle_modal_error.retry": "Покушајте поново",
   "closed_registrations.other_server_instructions": "Пошто је Mastodon децентрализован, можете направити налог на другом серверу али и даље комуницирати са овим.",
   "closed_registrations_modal.description": "Креирање налога на {domain} тренутно није могуће, али имајте у виду да вам не треба налог засебно на {domain} да бисте користили Mastodon.",
@@ -129,7 +129,7 @@
   "compose_form.direct_message_warning_learn_more": "Сазнајте више",
   "compose_form.encryption_warning": "Објаве на Mastodon-у нису потпуно шифроване. Немојте делити никакве осетљиве информације преко Mastodon-а.",
   "compose_form.hashtag_warning": "Ова објава неће бити наведена ни под једном хеш ознаком јер није јавна. Само јавне објаве се могу претраживати по хеш ознакама.",
-  "compose_form.lock_disclaimer": "Ваш налог није {locked}. Свако може да вас прати и да види ваше објаве намењене само за ваше пратиоце.",
+  "compose_form.lock_disclaimer": "Ваш налог није {locked}. Свако може да Вас запрати и да види објаве намењене само Вашим пратиоцима.",
   "compose_form.lock_disclaimer.lock": "закључан",
   "compose_form.placeholder": "О чему размишљате?",
   "compose_form.poll.add_option": "Додајте избор",
@@ -162,8 +162,10 @@
   "confirmations.discard_edit_media.message": "Имате несачуване промене у опису или прегледу медија, да ли ипак хоћете да их одбаците?",
   "confirmations.domain_block.confirm": "Блокирај цео домен",
   "confirmations.domain_block.message": "Да ли сте заиста сигурни да желите да блокирате цео домен {domain}? У већини случајева, довољно је и пожељно неколико циљаних блокирања или игнорисања. Нећете видети садржај са тог домена ни у једној јавној временској линији или у вашим обавештењима. Ваши пратиоци са тог домена ће бити уклоњени.",
-  "confirmations.logout.confirm": "Одјави се",
-  "confirmations.logout.message": "Да ли се сигурни да желите да се одјавите?",
+  "confirmations.edit.confirm": "Уреди",
+  "confirmations.edit.message": "Уређивањем ће се обрисати порука коју тренутно састављате. Да ли сте сигурни да желите да наставите?",
+  "confirmations.logout.confirm": "Одјава",
+  "confirmations.logout.message": "Да ли сте сигурни да желите да се одјавите?",
   "confirmations.mute.confirm": "Игнориши",
   "confirmations.mute.explanation": "Ово ће сакрити објаве од корисника и објаве које га помињу, али ће му и даље бити дозвољено да види ваше објаве и да вас прати.",
   "confirmations.mute.message": "Да ли стварно желите да игноришете корисника {name}?",
@@ -187,13 +189,13 @@
   "disabled_account_banner.text": "Ваш налог {disabledAccount} је тренутно онемогућен.",
   "dismissable_banner.community_timeline": "Ово су најновије јавне објаве људи чије налоге хостује {domain}.",
   "dismissable_banner.dismiss": "Одбаци",
-  "dismissable_banner.explore_links": "О овим вестима управо сада разговарају људи на овом и другим серверима децентрализоване мреже.",
+  "dismissable_banner.explore_links": "О овим вестима тренутно разговарају људи на овом и другим серверима децентрализоване мреже.",
   "dismissable_banner.explore_statuses": "Ове објаве са овог и других сервера у децентрализованој мрежи постају све популарније на овом серверу.",
   "dismissable_banner.explore_tags": "Ове хеш ознаке постају све популарније међу људима на овом и другим серверима децентрализоване мреже.",
   "dismissable_banner.public_timeline": "Ово су најновије јавне објаве људи на овом и другим серверима децентрализоване мреже за које овај сервер зна.",
   "embed.instructions": "Уградите ову објаву на свој веб сајт копирањем кода испод.",
   "embed.preview": "Ево како ће то изгледати:",
-  "emoji_button.activity": "Активност",
+  "emoji_button.activity": "Активности",
   "emoji_button.clear": "Обриши",
   "emoji_button.custom": "Прилагођено",
   "emoji_button.flags": "Заставице",
@@ -220,24 +222,24 @@
   "empty_column.favourited_statuses": "Још увек немате објава означених као омиљене. Када означите неку, појавиће се овде.",
   "empty_column.favourites": "Нико још није означио ову објаву као омиљену. Када неко то уради, појавиће се овде.",
   "empty_column.follow_recommendations": "Изгледа да не могу да се генеришу било какви предлози за вас. Можете покушати да користите претрагу како бисте потражили људе које можда познајете или истражили популарне хеш ознаке.",
-  "empty_column.follow_requests": "Још увек немате захтева за праћење. Када примите захтев, појавиће се овде.",
+  "empty_column.follow_requests": "Још увек немате ниједан захтев за праћење. Када примите захтев, он ће се појавити овде.",
   "empty_column.followed_tags": "Још увек нисте запратили ниједну хеш ознаку. Када то урадите, оне ће се појавити овде.",
   "empty_column.hashtag": "Још увек нема ничега у овој хеш ознаци.",
   "empty_column.home": "Ваша почетна временска линија је празна! Пратите више људи да бисте је попунили. {suggestions}",
   "empty_column.home.suggestions": "Погледајте неке предлоге",
   "empty_column.list": "У овој листи још нема ничега. Када чланови ове листе објаве нешто ново, појавиће се овде.",
-  "empty_column.lists": "Још увек немате ниједну листу. Када направите једну, појавиће се овде.",
+  "empty_column.lists": "Још увек немате ниједну листу. Када направите једну, она ће се појавити овде.",
   "empty_column.mutes": "Још увек не игноришете ниједног корисника.",
   "empty_column.notifications": "Још увек немате никаква обавештења. Када други људи буду у интеракцији са вама, видећете то овде.",
   "empty_column.public": "Овде нема ничега! Напишите нешто јавно или ручно пратите кориснике са других сервера да бисте ово попунили",
   "error.unexpected_crash.explanation": "Због грешке у нашем коду или проблема са компатибилношћу прегледача, ова страница се није могла правилно приказати.",
   "error.unexpected_crash.explanation_addons": "Ова страница се није могла правилно приказати. Ову грешку вероватно узрокују додаци прегледача или алати за аутоматско превођење.",
   "error.unexpected_crash.next_steps": "Покушајте да освежите страницу. Ако то не помогне, можда ћете и даље моћи да користите Mastodon путем другог прегледача или матичне апликације.",
-  "error.unexpected_crash.next_steps_addons": "Покушајте да их онемогућите и освежите страницу. Ако то не помогне, можда ћете и даље моћи да користите Mastodon преко другог прегледача или матичне апликације.",
+  "error.unexpected_crash.next_steps_addons": "Покушајте да их онемогућите и освежите страницу. Ако то не помогне, можете да наставите да користите Mastodon коришћењем другог прегледача или матичне апликације.",
   "errors.unexpected_crash.copy_stacktrace": "Копирај „stacktrace” у клипборд",
   "errors.unexpected_crash.report_issue": "Пријави проблем",
   "explore.search_results": "Резултати претраге",
-  "explore.suggested_follows": "За тебе",
+  "explore.suggested_follows": "За Вас",
   "explore.title": "Истражи",
   "explore.trending_links": "Вести",
   "explore.trending_statuses": "Објаве",
@@ -249,7 +251,7 @@
   "filter_modal.added.review_and_configure": "За преглед и даљу конфигурацију ове категорије филтера, идите на {settings_link}.",
   "filter_modal.added.review_and_configure_title": "Подешавања филтера",
   "filter_modal.added.settings_link": "страница подешавања",
-  "filter_modal.added.short_explanation": "Ова објава је додата у следећу категорију филтера: {title}.",
+  "filter_modal.added.short_explanation": "Ова објава је додата у следећу филтер категорију: {title}.",
   "filter_modal.added.title": "Филтер је додат!",
   "filter_modal.select_filter.context_mismatch": "не односи се на овај контекст",
   "filter_modal.select_filter.expired": "истекло",
@@ -280,13 +282,13 @@
   "hashtag.column_header.tag_mode.none": "без {additional}",
   "hashtag.column_settings.select.no_options_message": "Нису пронађени предлози",
   "hashtag.column_settings.select.placeholder": "Унесите хеш ознаке…",
-  "hashtag.column_settings.tag_mode.all": "Све оve",
+  "hashtag.column_settings.tag_mode.all": "Све",
   "hashtag.column_settings.tag_mode.any": "Било које од ових",
   "hashtag.column_settings.tag_mode.none": "Ниједан од ових",
   "hashtag.column_settings.tag_toggle": "Укључи додатне ознаке за ову колону",
-  "hashtag.follow": "Прати хеш ознаку",
+  "hashtag.follow": "Запрати хеш ознаку",
   "hashtag.unfollow": "Отпрати хеш ознаку",
-  "home.column_settings.basic": "Основно",
+  "home.column_settings.basic": "Основна",
   "home.column_settings.show_reblogs": "Прикажи подржавања",
   "home.column_settings.show_replies": "Прикажи одговоре",
   "home.hide_announcements": "Сакриј најаве",
@@ -300,7 +302,7 @@
   "interaction_modal.other_server_instructions": "Копирајте и налепите ову URL адресу у поље претраге своје омиљене Mastodon апликације или веб окружење свог Mastodon сервера.",
   "interaction_modal.preamble": "Пошто је Mastodon децентрализован, можете користити свој постојећи налог који хостује други Mastodon сервер или компатибилна платформа ако немате налог на овом.",
   "interaction_modal.title.favourite": "Означи објаву корисника {name} као омиљену",
-  "interaction_modal.title.follow": "Прати {name}",
+  "interaction_modal.title.follow": "Запрати {name}",
   "interaction_modal.title.reblog": "Подржи објаву корисника {name}",
   "interaction_modal.title.reply": "Одговори на објаву корисника {name}",
   "intervals.full.days": "{number, plural, one {# дан} few {# дана} other {# дана}}",
@@ -354,10 +356,10 @@
   "lists.edit.submit": "Промени наслов",
   "lists.new.create": "Додај листу",
   "lists.new.title_placeholder": "Наслов нове листе",
-  "lists.replies_policy.followed": "Сваки праћени корисник",
-  "lists.replies_policy.list": "Чланови листе",
-  "lists.replies_policy.none": "Нико",
-  "lists.replies_policy.title": "Прикажи одговоре на:",
+  "lists.replies_policy.followed": "Сваком праћеном кориснику",
+  "lists.replies_policy.list": "Члановима листе",
+  "lists.replies_policy.none": "Никоме",
+  "lists.replies_policy.title": "Прикажи одговоре:",
   "lists.search": "Претражи међу људима које пратите",
   "lists.subheading": "Ваше листе",
   "load_pending": "{count, plural, one {# нова ставка} few {# нове ставке} other {# нових ставки}}",
@@ -368,7 +370,7 @@
   "moved_to_account_banner.text": "Ваш налог {disabledAccount} је тренутно онемогућен јер сте прешли на {movedToAccount}.",
   "mute_modal.duration": "Трајање",
   "mute_modal.hide_notifications": "Сакрити обавештења од овог корисника?",
-  "mute_modal.indefinite": "Неодређен",
+  "mute_modal.indefinite": "Неодређено",
   "navigation_bar.about": "Основни подаци",
   "navigation_bar.blocks": "Блокирани корисници",
   "navigation_bar.bookmarks": "Обележивачи",
@@ -393,9 +395,9 @@
   "navigation_bar.public_timeline": "Здружена временска линија",
   "navigation_bar.search": "Претрага",
   "navigation_bar.security": "Безбедност",
-  "not_signed_in_indicator.not_signed_in": "Морате да се пријавите да приступите овом ресурсу.",
-  "notification.admin.report": "{name} је пријавио {target}",
-  "notification.admin.sign_up": "{name} се регистровао",
+  "not_signed_in_indicator.not_signed_in": "Морате да се пријавите да бисте приступили овом ресурсу.",
+  "notification.admin.report": "{name} је пријавио/-ла {target}",
+  "notification.admin.sign_up": "{name} се регистровао/-ла",
   "notification.favourite": "{name} је означио вашу објаву као омиљену",
   "notification.follow": "{name} вас је запратио",
   "notification.follow_request": "{name} је затражио да вас прати",
@@ -412,7 +414,7 @@
   "notifications.column_settings.alert": "Обавештења на радној површини",
   "notifications.column_settings.favourite": "Омиљени:",
   "notifications.column_settings.filter_bar.advanced": "Прикажи све категорије",
-  "notifications.column_settings.filter_bar.category": "Трака за брзи филтер",
+  "notifications.column_settings.filter_bar.category": "Трака за брзо филтрирање",
   "notifications.column_settings.filter_bar.show_bar": "Прикажи траку са филтерима",
   "notifications.column_settings.follow": "Нови пратиоци:",
   "notifications.column_settings.follow_request": "Нови захтеви за праћење:",
@@ -436,13 +438,13 @@
   "notifications.grant_permission": "Одобри дозволу.",
   "notifications.group": "{count} обавештења",
   "notifications.mark_as_read": "Означи свако обавештење као прочитано",
-  "notifications.permission_denied": "Обавештења на радној површини нису доступна због претходно одбијеног захтева за дозволом прегледача",
+  "notifications.permission_denied": "Обавештења на радној површини нису доступна због претходно одбијеног захтева за дозволу прегледача",
   "notifications.permission_denied_alert": "Обавештења на радној површини не могу бити омогућена, јер је дозвола прегледача раније била одбијена",
   "notifications.permission_required": "Обавештења на радној површини нису доступна јер потребна дозвола није додељена.",
   "notifications_permission_banner.enable": "Омогућити обавештења на радној површини",
   "notifications_permission_banner.how_to_control": "Да бисте примали обавештења када Mastodon није отворен, омогућите обавештења на радној површини. Kада су обавештења на радној површини омогућена врсте интеракција које она генеришу могу се подешавати помоћу дугмета {icon}.",
   "notifications_permission_banner.title": "Никада ништа не пропустите",
-  "picture_in_picture.restore": "Врати то назад",
+  "picture_in_picture.restore": "Врати назад",
   "poll.closed": "Затворено",
   "poll.refresh": "Освежи",
   "poll.total_people": "{count, plural, one {# особа} few {# особе} other {# особа}}",
@@ -453,13 +455,13 @@
   "poll_button.add_poll": "Додај анкету",
   "poll_button.remove_poll": "Уклони анкету",
   "privacy.change": "Промени приватност објаве",
-  "privacy.direct.long": "Видљиво само за поменуте кориснике",
+  "privacy.direct.long": "Видљиво само поменутим корисницима",
   "privacy.direct.short": "Само поменуте особе",
-  "privacy.private.long": "Видљиво само за пратиоце",
-  "privacy.private.short": "Само пратиоци",
+  "privacy.private.long": "Видљиво само пратиоцима",
+  "privacy.private.short": "Само пратиоцима",
   "privacy.public.long": "Видљиво за све",
   "privacy.public.short": "Јавно",
-  "privacy.unlisted.long": "Видљиво за све, али искључено из функције откривања",
+  "privacy.unlisted.long": "Видљиво свима, али искључено из функција откривања",
   "privacy.unlisted.short": "Неизлистано",
   "privacy_policy.last_updated": "Последње ажурирање {date}",
   "privacy_policy.title": "Политика приватности",
@@ -479,34 +481,34 @@
   "relative_time.today": "данас",
   "reply_indicator.cancel": "Откажи",
   "report.block": "Блокирај",
-  "report.block_explanation": "Нећете видети објаве корисника. Ни он неће видети ваше објаве нити ће моћи да вас прати. Такође може да зна да је блокиран.",
+  "report.block_explanation": "Нећете видети објаве корисника. Ни он неће видети Ваше објаве нити ће моћи да Вас прати. Такође ће моћи да сазна да је блокиран.",
   "report.categories.other": "Остало",
   "report.categories.spam": "Спам",
   "report.categories.violation": "Садржај крши једно или више правила сервера",
   "report.category.subtitle": "Одаберите најприближније",
-  "report.category.title": "Реците нам шта је проблем са овим {type}",
-  "report.category.title_account": "профилом",
+  "report.category.title": "Реците нам шта је проблем са {type}",
+  "report.category.title_account": "овим профилом",
   "report.category.title_status": "објавом",
   "report.close": "Готово",
-  "report.comment.title": "Да ли има нешто додатно што треба да знамо?",
+  "report.comment.title": "Да ли има још нешто што бисте хтели да нам дате до знања?",
   "report.forward": "Проследити {target}",
   "report.forward_hint": "Налог је са другог сервера. Послати анонимну копију пријаве и тамо?",
   "report.mute": "Игнориши",
-  "report.mute_explanation": "Нећете видети објаве корисника. Он и и даље може да вас прати и види ваше објаве и неће знати да је игнорисан.",
+  "report.mute_explanation": "Нећете видети објаве корисника. Он ће и даље моћи да Вас прати и види Ваше објаве и неће знати да је игнорисан.",
   "report.next": "Следеће",
   "report.placeholder": "Додатни коментари",
   "report.reasons.dislike": "Не свиђа ми се",
-  "report.reasons.dislike_description": "Ово није нешто што желиш да видите",
+  "report.reasons.dislike_description": "Ово није нешто што желите да видите",
   "report.reasons.other": "Нешто друго",
   "report.reasons.other_description": "Проблем се не уклапа у друге категорије",
   "report.reasons.spam": "Ово је спам",
   "report.reasons.spam_description": "Злонамерне везе, лажно ангажовање или одговори који се понављају",
   "report.reasons.violation": "Крши правила сервера",
-  "report.reasons.violation_description": "Свесни сте да крши нека одређена правила",
-  "report.rules.subtitle": "Изабери све што важи",
+  "report.reasons.violation_description": "Свесни сте да крши одређена правила",
+  "report.rules.subtitle": "Изаберите сва правила која су прекршена",
   "report.rules.title": "Која правила су прекршена?",
-  "report.statuses.subtitle": "Изабери све што важи",
-  "report.statuses.title": "Да ли постоје било какве објаве које подржавају ову пријаву?",
+  "report.statuses.subtitle": "Изаберите све што важи",
+  "report.statuses.title": "Има ли било каквих објава које поткрепљују ову пријаву?",
   "report.submit": "Пошаљи",
   "report.target": "Пријављујем {target}",
   "report.thanks.take_action": "Ово су Ваше опције да контролишете шта видите на Mastodon-у:",
@@ -534,7 +536,7 @@
   "search_results.nothing_found": "Није могуће пронаћи ништа за ове термине за претрагу",
   "search_results.statuses": "Објаве",
   "search_results.statuses_fts_disabled": "Претрага објава по садржају није омогућена на овом Mastodon серверу.",
-  "search_results.title": "Претражи {q}",
+  "search_results.title": "Тражи {q}",
   "search_results.total": "{count, number} {count, plural, one {резултат} few {резултата} other {резултата}}",
   "server_banner.about_active_users": "Људи који су користили овај сервер у претходних 30 дана (месечно активних корисника)",
   "server_banner.active_users": "активних корисника",
@@ -542,8 +544,8 @@
   "server_banner.introduction": "{domain} је део децентрализоване друштвене мреже коју покреће {mastodon}.",
   "server_banner.learn_more": "Сазнајте више",
   "server_banner.server_stats": "Статистике сервера:",
-  "sign_in_banner.create_account": "Направи налог",
-  "sign_in_banner.sign_in": "Пријави се",
+  "sign_in_banner.create_account": "Направите налог",
+  "sign_in_banner.sign_in": "Пријавите се",
   "sign_in_banner.text": "Пријавите се да бисте пратили профиле или хеш ознаке, означили објаве као омиљене, делили и одговарали на њих. Такође можете комуницирати са свог налога на другом серверу.",
   "status.admin_account": "Отвори модераторско окружење за @{name}",
   "status.admin_domain": "Отвори модераторско окружење за {domain}",
@@ -555,7 +557,7 @@
   "status.copy": "Копирај везу у објаву",
   "status.delete": "Избриши",
   "status.detailed_status": "Детаљан приказ разговора",
-  "status.direct": "Директна порука @{name}",
+  "status.direct": "Пошаљи поруку @{name}",
   "status.edit": "Уреди",
   "status.edited": "Уређено {date}",
   "status.edited_x_times": "Уређено {count, plural, one {{count} пут} other {{count} пута}}",
@@ -584,7 +586,7 @@
   "status.remove_bookmark": "Уклони обележивач",
   "status.replied_to": "Одговор за {name}",
   "status.reply": "Одговори",
-  "status.replyAll": "Одговори на дискусију",
+  "status.replyAll": "Одговори на низ",
   "status.report": "Пријави @{name}",
   "status.sensitive_warning": "Осетљив садржај",
   "status.share": "Подели",
@@ -599,7 +601,7 @@
   "status.uncached_media_warning": "Није доступно",
   "status.unmute_conversation": "Не игнориши разговор",
   "status.unpin": "Откачи са профила",
-  "subscribed_languages.lead": "Само објаве на означеним језицима ће се појављивати на почетној линији и на листама после ове измене. Одаберите ништа да примате објаве на свим језицима.",
+  "subscribed_languages.lead": "Само објаве на означеним језицима ће се појављивати на почетној линији и на листама после ове измене. Када ниједан језик није изабран, примаћете објаве на свим језицима.",
   "subscribed_languages.save": "Сачувај измене",
   "subscribed_languages.target": "Промени језике на које је {target} пријављен",
   "suggestions.dismiss": "Одбаци предлог",
@@ -615,9 +617,9 @@
   "time_remaining.seconds": "Остало {number, plural, one {# секунд} few {# секунде} other {# секунди}}",
   "timeline_hint.remote_resource_not_displayed": "{resource} са других сервера се не приказују.",
   "timeline_hint.resources.followers": "Пратиоци",
-  "timeline_hint.resources.follows": "Праћени",
+  "timeline_hint.resources.follows": "Праћења",
   "timeline_hint.resources.statuses": "Старије објаве",
-  "trends.counter_by_accounts": "{count, plural, one {{counter} особа} few {{counter} особе} other {{counter} особа}} у протеклих {days, plural, one {дан} few {{days} дана} other {{days} дана}}",
+  "trends.counter_by_accounts": "{count, plural, one {{counter} особа} few {{counter} особе} other {{counter} особа}} у протеклих {days, plural, one {дан} other {{days} дана}}",
   "trends.trending_now": "У тренду сада",
   "ui.beforeunload": "Ваш нацрт ће бити изгубљен ако напустите Mastodon.",
   "units.short.billion": "{count} млрд.",
@@ -626,9 +628,9 @@
   "upload_area.title": "Превуците и отпустите за отпремање",
   "upload_button.label": "Додај слике, видео или аудио датотеку",
   "upload_error.limit": "Достигнуто је ограничење за отпремање датотека.",
-  "upload_error.poll": "Отпремање датотека није дозвољено са анкетама.",
-  "upload_form.audio_description": "Опишите за особе са оштећеним слухом",
-  "upload_form.description": "Опишите за особе са оштећеним видом",
+  "upload_error.poll": "Отпремање датотека није дозвољено код анкета.",
+  "upload_form.audio_description": "Додајте опис за особе са оштећеним слухом",
+  "upload_form.description": "Додајте опис за особе са оштећеним видом",
   "upload_form.description_missing": "Нема додатог описа",
   "upload_form.edit": "Уреди",
   "upload_form.thumbnail": "Промени сличицу",
@@ -639,8 +641,8 @@
   "upload_modal.applying": "Примена…",
   "upload_modal.choose_image": "Одаберите слику",
   "upload_modal.description_placeholder": "Љубазни фењерџија чађавог лица хоће да ми покаже штос",
-  "upload_modal.detect_text": "Откриј текст са слике",
-  "upload_modal.edit_media": "Уреди милтимедију",
+  "upload_modal.detect_text": "Пронађи текст са слике",
+  "upload_modal.edit_media": "Уреди мултимедију",
   "upload_modal.hint": "Кликните или превуците кружић на прегледу за избор тачке фокуса која ће увек бити видљива на свим сличицама.",
   "upload_modal.preparing_ocr": "Припрема OCR-а…",
   "upload_modal.preview_label": "Преглед ({ratio})",
diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json
index 47efca424..fe573949d 100644
--- a/app/javascript/mastodon/locales/sv.json
+++ b/app/javascript/mastodon/locales/sv.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Du har o-sparade ändringar till mediabeskrivningen eller förhandsgranskningen, kasta bort dem ändå?",
   "confirmations.domain_block.confirm": "Dölj hela domänen",
   "confirmations.domain_block.message": "Är du verkligen, verkligen säker på att du vill blockera hela {domain}? I de flesta fall är några riktade blockeringar eller nedtystade konton tillräckligt och att föredra. Du kommer inte se innehåll från den domänen i den allmänna tidslinjen eller i dina aviseringar. Dina följare från den domänen komer att tas bort.",
+  "confirmations.edit.confirm": "Redigera",
+  "confirmations.edit.message": "Om du svarar nu kommer det att ersätta meddelandet du håller på att skapa. Är du säker på att du vill fortsätta?",
   "confirmations.logout.confirm": "Logga ut",
   "confirmations.logout.message": "Är du säker på att du vill logga ut?",
   "confirmations.mute.confirm": "Tysta",
diff --git a/app/javascript/mastodon/locales/szl.json b/app/javascript/mastodon/locales/szl.json
index 9d23c3dd0..587cae5b8 100644
--- a/app/javascript/mastodon/locales/szl.json
+++ b/app/javascript/mastodon/locales/szl.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Log out",
   "confirmations.logout.message": "Are you sure you want to log out?",
   "confirmations.mute.confirm": "Mute",
diff --git a/app/javascript/mastodon/locales/ta.json b/app/javascript/mastodon/locales/ta.json
index 0cd309ed8..fa2ad1b1c 100644
--- a/app/javascript/mastodon/locales/ta.json
+++ b/app/javascript/mastodon/locales/ta.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "சேமிக்கப்படாத மாற்றங்கள் ஊடக விளக்கம் அல்லது முன்னோட்டத்தில் உள்ளது. அவற்றை நிராகரிக்கவா?",
   "confirmations.domain_block.confirm": "முழு களத்தையும் மறை",
   "confirmations.domain_block.message": "நீங்கள் முழு {domain} களத்தையும் நிச்சயமாக, நிச்சயமாகத் தடுக்க விரும்புகிறீர்களா? பெரும்பாலும் சில குறிப்பிட்ட பயனர்களைத் தடுப்பதே போதுமானது. முழு களத்தையும் தடுத்தால், அதிலிருந்து வரும் எந்தப் பதிவையும் உங்களால் காண முடியாது, மேலும் அப்பதிவுகள் குறித்த அறிவிப்புகளும் உங்களுக்கு வராது. அந்தக் களத்தில் இருக்கும் பின்தொடர்பவர்கள் உங்கள் பக்கத்திலிருந்து நீக்கப்படுவார்கள்.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "வெளியேறு",
   "confirmations.logout.message": "நிச்சயமாக நீங்கள் வெளியேற விரும்புகிறீர்களா?",
   "confirmations.mute.confirm": "அமைதியாக்கு",
diff --git a/app/javascript/mastodon/locales/tai.json b/app/javascript/mastodon/locales/tai.json
index 875a8c944..37f8add8f 100644
--- a/app/javascript/mastodon/locales/tai.json
+++ b/app/javascript/mastodon/locales/tai.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Log out",
   "confirmations.logout.message": "Are you sure you want to log out?",
   "confirmations.mute.confirm": "Mute",
diff --git a/app/javascript/mastodon/locales/te.json b/app/javascript/mastodon/locales/te.json
index f4e3b7ff2..190db00a0 100644
--- a/app/javascript/mastodon/locales/te.json
+++ b/app/javascript/mastodon/locales/te.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "మొత్తం డొమైన్ను దాచు",
   "confirmations.domain_block.message": "మీరు నిజంగా నిజంగా మొత్తం {domain} ని బ్లాక్ చేయాలనుకుంటున్నారా? చాలా సందర్భాలలో కొన్ని లక్ష్యంగా ఉన్న బ్లాక్స్ లేదా మ్యూట్స్ సరిపోతాయి మరియు ఉత్తమమైనవి. మీరు ఆ డొమైన్ నుండి కంటెంట్ను ఏ ప్రజా కాలక్రమాలలో లేదా మీ నోటిఫికేషన్లలో చూడలేరు. ఆ డొమైన్ నుండి మీ అనుచరులు తీసివేయబడతారు.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Log out",
   "confirmations.logout.message": "Are you sure you want to log out?",
   "confirmations.mute.confirm": "మ్యూట్ చేయి",
diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json
index e2db4627e..bd4b2fc41 100644
--- a/app/javascript/mastodon/locales/th.json
+++ b/app/javascript/mastodon/locales/th.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "คุณมีการเปลี่ยนแปลงคำอธิบายหรือตัวอย่างสื่อที่ยังไม่ได้บันทึก ละทิ้งการเปลี่ยนแปลงต่อไป?",
   "confirmations.domain_block.confirm": "ปิดกั้นทั้งโดเมน",
   "confirmations.domain_block.message": "คุณแน่ใจจริง ๆ หรือไม่ว่าต้องการปิดกั้นทั้ง {domain}? ในกรณีส่วนใหญ่ การปิดกั้นหรือการซ่อนแบบกำหนดเป้าหมายไม่กี่รายการนั้นเพียงพอและเป็นที่นิยม คุณจะไม่เห็นเนื้อหาจากโดเมนนั้นในเส้นเวลาสาธารณะใด ๆ หรือการแจ้งเตือนของคุณ จะเอาผู้ติดตามของคุณจากโดเมนนั้นออก",
+  "confirmations.edit.confirm": "แก้ไข",
+  "confirmations.edit.message": "การแก้ไขในตอนนี้จะเขียนทับข้อความที่คุณกำลังเขียนในปัจจุบัน คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?",
   "confirmations.logout.confirm": "ออกจากระบบ",
   "confirmations.logout.message": "คุณแน่ใจหรือไม่ว่าต้องการออกจากระบบ?",
   "confirmations.mute.confirm": "ซ่อน",
@@ -291,10 +293,10 @@
   "home.column_settings.show_replies": "แสดงการตอบกลับ",
   "home.hide_announcements": "ซ่อนประกาศ",
   "home.show_announcements": "แสดงประกาศ",
-  "interaction_modal.description.favourite": "เมื่อมีบัญชีใน Mastodon คุณสามารถชื่นชอบโพสต์นี้เพื่อให้ผู้สร้างทราบว่าคุณชื่นชมโพสต์และบันทึกโพสต์ไว้สำหรับภายหลัง",
-  "interaction_modal.description.follow": "เมื่อมีบัญชีใน Mastodon คุณสามารถติดตาม {name} เพื่อรับโพสต์ของเขาในฟีดหน้าแรกของคุณ",
-  "interaction_modal.description.reblog": "เมื่อมีบัญชีใน Mastodon คุณสามารถดันโพสต์นี้เพื่อแบ่งปันโพสต์กับผู้ติดตามของคุณเอง",
-  "interaction_modal.description.reply": "เมื่อมีบัญชีใน Mastodon คุณสามารถตอบกลับโพสต์นี้",
+  "interaction_modal.description.favourite": "ด้วยบัญชีใน Mastodon คุณสามารถชื่นชอบโพสต์นี้เพื่อให้ผู้สร้างทราบว่าคุณชื่นชมโพสต์และบันทึกโพสต์ไว้สำหรับภายหลัง",
+  "interaction_modal.description.follow": "ด้วยบัญชีใน Mastodon คุณสามารถติดตาม {name} เพื่อรับโพสต์ของเขาในฟีดหน้าแรกของคุณ",
+  "interaction_modal.description.reblog": "ด้วยบัญชีใน Mastodon คุณสามารถดันโพสต์นี้เพื่อแบ่งปันโพสต์กับผู้ติดตามของคุณเอง",
+  "interaction_modal.description.reply": "ด้วยบัญชีใน Mastodon คุณสามารถตอบกลับโพสต์นี้",
   "interaction_modal.on_another_server": "ในเซิร์ฟเวอร์อื่น",
   "interaction_modal.on_this_server": "ในเซิร์ฟเวอร์นี้",
   "interaction_modal.other_server_instructions": "คัดลอกแล้ววาง URL นี้ลงในช่องค้นหาของแอป Mastodon โปรดของคุณหรือส่วนติดต่อเว็บของเซิร์ฟเวอร์ Mastodon ของคุณ",
diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json
index 5d085495b..fd7546e1d 100644
--- a/app/javascript/mastodon/locales/tr.json
+++ b/app/javascript/mastodon/locales/tr.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Medya açıklaması veya ön izlemede kaydedilmemiş değişiklikleriniz var, yine de vazgeçmek istiyor musunuz?",
   "confirmations.domain_block.confirm": "Alanın tamamını engelle",
   "confirmations.domain_block.message": "{domain} alanının tamamını engellemek istediğinden gerçekten emin misin? Genellikle hedeflenen birkaç engelleme veya sessize alma yeterlidir ve tercih edilir. Bu alan adından gelen içeriği herhangi bir genel zaman çizelgesinde veya bildirimlerinde görmezsin. Bu alan adındaki takipçilerin kaldırılır.",
+  "confirmations.edit.confirm": "Düzenle",
+  "confirmations.edit.message": "Şimdi düzenlersen şu an oluşturduğun iletinin üzerine yazılır. Devam etmek istediğine emin misin?",
   "confirmations.logout.confirm": "Oturumu kapat",
   "confirmations.logout.message": "Oturumu kapatmak istediğinden emin misin?",
   "confirmations.mute.confirm": "Sessize al",
diff --git a/app/javascript/mastodon/locales/tt.json b/app/javascript/mastodon/locales/tt.json
index 41098618c..beffae95c 100644
--- a/app/javascript/mastodon/locales/tt.json
+++ b/app/javascript/mastodon/locales/tt.json
@@ -9,32 +9,32 @@
   "about.domain_blocks.suspended.explanation": "Бу серверның бернинди мәгълүматлары да эшкәртелмәячәк, сакланмаячак яки алмаштырылмаячак, бу сервердан кулланучылар белән үзара бәйләнешне яки аралашуны мөмкин итми.",
   "about.domain_blocks.suspended.title": "Блокланган",
   "about.not_available": "Бу серверда бу мәгълүмат юк иде.",
-  "about.powered_by": "Децентрализованные социаль челтәрләр нигезендә {mastodon}",
+  "about.powered_by": "{mastodon} нигезендә үзәкчелеге бетерелгән социаль челтәр нигезендә",
   "about.rules": "Сервер кагыйдәләре",
   "account.account_note_header": "Язма",
-  "account.add_or_remove_from_list": "Исемлеккә кертү я бетерү",
+  "account.add_or_remove_from_list": "Исемлеккә кушу яки бетерү",
   "account.badges.bot": "Бот",
   "account.badges.group": "Төркем",
-  "account.block": "@{name} блоклау",
+  "account.block": "@{name} кулланучыны блоклау",
   "account.block_domain": "{domain} доменын блоклау",
   "account.blocked": "Блокланган",
-  "account.browse_more_on_origin_server": "Тулырак оригинал профилендә карап була",
+  "account.browse_more_on_origin_server": "Оригиналь профилендә күбрәк карау",
   "account.cancel_follow_request": "Киләсе сорау",
-  "account.direct": "@{name} өчен яңа хат",
+  "account.direct": "@{name} кулланучыга язу",
   "account.disable_notifications": "@{name} язулары өчен белдерүләр сүндерү",
   "account.domain_blocked": "Домен блокланган",
-  "account.edit_profile": "Профильны үзгәртү",
+  "account.edit_profile": "Профильне үзгәртү",
   "account.enable_notifications": "@{name} язулары өчен белдерүләр яндыру",
-  "account.endorse": "Профильдә рекомендацияләү",
+  "account.endorse": "Профильдә тәкъдим итү",
   "account.featured_tags.last_status_at": "Соңгы хәбәр {date}",
   "account.featured_tags.last_status_never": "Хәбәрләр юк",
   "account.featured_tags.title": "{name} тәкъдим ителгән хэштеглар",
-  "account.follow": "Языл",
-  "account.followers": "Язылучылар",
+  "account.follow": "Язылу",
+  "account.followers": "Язылучы",
   "account.followers.empty": "Әле беркем дә язылмаган.",
-  "account.followers_counter": "{count, plural,one {{counter} Язылучы} other {{counter} Язылучы}}",
-  "account.following": "Язылган",
-  "account.following_counter": "{count, plural, one {{counter} Язылган} other {{counter} Язылган}}",
+  "account.followers_counter": "{count, plural,one {{counter} язылучы} other {{counter} язылучы}}",
+  "account.following": "Язылулар",
+  "account.following_counter": "{count, plural, one {{counter} язылу} other {{counter} язылу}}",
   "account.follows.empty": "Беркемгә дә язылмаган әле.",
   "account.follows_you": "Сезгә язылган",
   "account.go_to_profile": "Профильгә күчү",
@@ -50,19 +50,19 @@
   "account.mute_notifications": "@{name} кулланучыдан хәбәрләргә әһәмият бирмәү",
   "account.muted": "Әһәмият бирмәнгән",
   "account.open_original_page": "Чыганак битен ачу",
-  "account.posts": "Пост",
-  "account.posts_with_replies": "Пост һәм җавап",
+  "account.posts": "Язма",
+  "account.posts_with_replies": "Язма һәм җавап",
   "account.report": "@{name} кулланучыга шикаять итү",
   "account.requested": "Awaiting approval",
   "account.requested_follow": "{name} Сезгә язылу соравын җиберде",
-  "account.share": "Уртаклашу @{name} профиль",
+  "account.share": "@{name} профиле белән уртаклашу",
   "account.show_reblogs": "Күрсәтергә көчәйтү нче @{name}",
-  "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
-  "account.unblock": "Ачу @{name}",
-  "account.unblock_domain": "Доменны ачу {domain}",
-  "account.unblock_short": "Ачу",
-  "account.unendorse": "Профильдә күрсәтмәгез",
-  "account.unfollow": "Язылынмау",
+  "account.statuses_counter": "{count, plural, one {{counter} язма} other {{counter} язма}}",
+  "account.unblock": "@{name} бикләвен чыгу",
+  "account.unblock_domain": "{domain} бикләвен чыгу",
+  "account.unblock_short": "Бикләүне чыгу",
+  "account.unendorse": "Профильдә тәкъдим итмәү",
+  "account.unfollow": "Язылуны туктату",
   "account.unmute": "Kабызыгыз @{name}",
   "account.unmute_notifications": "Кертергә хәбәрләр нче @{name}",
   "account.unmute_short": "Kабызыгыз",
@@ -71,11 +71,11 @@
   "admin.dashboard.monthly_retention": "Теркәлгәннән соң ай саен кулланучыларны тоту күрсәткече",
   "admin.dashboard.retention.average": "Урта",
   "admin.dashboard.retention.cohort": "Теркәлү айлыгы",
-  "admin.dashboard.retention.cohort_size": "Яңа кулланучылар",
-  "alert.rate_limited.message": "Зинһар, аннан соң кабатлап карагыз {retry_time, time, medium}.",
+  "admin.dashboard.retention.cohort_size": "Яңа кулланучы",
+  "alert.rate_limited.message": "Зинһар, {retry_time, time, medium} соң кабатлап карагыз.",
   "alert.rate_limited.title": "Тариф чикләнгән",
   "alert.unexpected.message": "Көтелмәгән хата булды.",
-  "alert.unexpected.title": "Ой!",
+  "alert.unexpected.title": "Абау!",
   "announcement.announcement": "Игълан",
   "attachments_list.unprocessed": "(чимал)",
   "audio.hide": "Аудионы яшерү",
@@ -85,11 +85,11 @@
   "bundle_column_error.error.body": "Соралган бит күрсәтелә алмый. Бу безнең кодтагы хата яки браузерга туры килү проблемасы аркасында булырга мөмкин.",
   "bundle_column_error.error.title": "Әй, юк!",
   "bundle_column_error.network.body": "Бу битне йөкләргә тырышканда хата булды. Бу сезнең Интернетка тоташу яки бу сервер белән вакытлыча проблема аркасында булырга мөмкин.",
-  "bundle_column_error.network.title": "Челтәр хата",
+  "bundle_column_error.network.title": "Челтәр хатасы",
   "bundle_column_error.retry": "Тагын сынап кара",
   "bundle_column_error.return": "Өйгә кайтыгыз",
   "bundle_column_error.routing.body": "Сорау бите табылмады. URL адресы дөрес күрсәтелгәненә ышанасызмы?",
-  "bundle_column_error.routing.title": "404\n",
+  "bundle_column_error.routing.title": "404",
   "bundle_modal_error.close": "Ябу",
   "bundle_modal_error.message": "Бу компонентны Йөкләгәндә нәрсәдер дөрес булмаган.",
   "bundle_modal_error.retry": "Тагын сынап кара",
@@ -98,23 +98,23 @@
   "closed_registrations_modal.find_another_server": "Башка серверны табыгыз",
   "closed_registrations_modal.preamble": "Mastodon үзәкләштерелмәгән, шуңа күрә сез счетыгызны кайда гына ясасагыз да, сез бу серверда теләсә кемгә иярә аласыз һәм аның белән аралаша аласыз. Сез аны хәтта үзегез урнаштыра аласыз!",
   "closed_registrations_modal.title": "Mastodon өчен теркәлү",
-  "column.about": "Турында",
+  "column.about": "Проект турында",
   "column.blocks": "Блокланган кулланучылар",
   "column.bookmarks": "Кыстыргычлар",
-  "column.community": "Localирле вакыт сызыгы",
-  "column.direct": "Туры хәбәрләр",
+  "column.community": "Локаль вакыт сызыгы",
+  "column.direct": "Шәхси хәбәрләр",
   "column.directory": "Профильләрне карау",
   "column.domain_blocks": "Блокланган доменнар",
   "column.favourites": "Сайланма",
-  "column.follow_requests": "Сорауларны үтәгез",
+  "column.follow_requests": "Язылу сораулары",
   "column.home": "Баш бит",
   "column.lists": "Исемлек",
   "column.mutes": "Инвалид кулланучылар",
   "column.notifications": "Хәбәрләр",
   "column.pins": "Pinned toot",
-  "column.public": "Берләшкән вакыт масштабы",
-  "column_back_button.label": "Кире",
-  "column_header.hide_settings": "Көйләүләрне яшерегез",
+  "column.public": "Глобаль вакыт сызыгы",
+  "column_back_button.label": "Артка",
+  "column_header.hide_settings": "Көйләүләрне яшерү",
   "column_header.moveLeft_settings": "Багананы сулга күчерегез",
   "column_header.moveRight_settings": "Багананы уңга күчерегез",
   "column_header.pin": "Пин",
@@ -125,8 +125,8 @@
   "community.column_settings.media_only": "Media only",
   "community.column_settings.remote_only": "Дистанцион гына идарә итү",
   "compose.language.change": "Телне үзгәртү",
-  "compose.language.search": "Эзләү телләре...",
-  "compose_form.direct_message_warning_learn_more": "Күбрәк укыгыз",
+  "compose.language.search": "Телләр эзләве...",
+  "compose_form.direct_message_warning_learn_more": "Күбрәк белү",
   "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
   "compose_form.hashtag_warning": "Бу язма бернинди хэштег астында да күрсәтелмәячәк, чөнки ул ачык түгел. Хэштег эзләү җәмәгать басмалары аша гына мөмкин.",
   "compose_form.lock_disclaimer": "Сезнең хисап түгел {locked}. Апуәрбер теләгән кеше сезнең язма өчен иярә ала.",
@@ -149,21 +149,23 @@
   "compose_form.spoiler.unmarked": "Text is not hidden",
   "compose_form.spoiler_placeholder": "Кисәтүегезне монда языгыз",
   "confirmation_modal.cancel": "Баш тарту",
-  "confirmations.block.block_and_report": "Блоклау һәм хәбәр итү",
+  "confirmations.block.block_and_report": "Блоклау һәм шикаять итү",
   "confirmations.block.confirm": "Блоклау",
-  "confirmations.block.message": "Сез блокларга телисез {name}?",
-  "confirmations.cancel_follow_request.confirm": "Чыгару сорау",
+  "confirmations.block.message": "Сез {name} кулланучыны блокларга телисезме?",
+  "confirmations.cancel_follow_request.confirm": "Сорауны баш тарту",
   "confirmations.cancel_follow_request.message": "Сез абонемент соравыгызны кире кайтарырга телисез {name}?",
   "confirmations.delete.confirm": "Бетерү",
   "confirmations.delete.message": "Are you sure you want to delete this status?",
   "confirmations.delete_list.confirm": "Бетерү",
   "confirmations.delete_list.message": "Сез бу исемлекне мәңгегә бетерергә телисезме?",
-  "confirmations.discard_edit_media.confirm": "Ташлау",
+  "confirmations.discard_edit_media.confirm": "Баш тарту",
   "confirmations.discard_edit_media.message": "Сезнең медиа тасвирламасында яки алдан карау өчен сакланмаган үзгәрешләр бармы? ",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Сез чыннан да барысын да блокларга телисез {domain}? Күпчелек очракта берничә максатлы блоклар яки тавышсызлар җитәрлек һәм өстенлекле. Сез бу доменнан эчтәлекне җәмәгать срокларында яки хәбәрләрегездә күрмәячәксез. Бу доменнан сезнең шәкертләр бетереләчәк.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Чыгу",
-  "confirmations.logout.message": "Сез системадан чыгарга телисезме?",
+  "confirmations.logout.message": "Сез чыгарга телисезме?",
   "confirmations.mute.confirm": "Тавышсыз",
   "confirmations.mute.explanation": "Бу алардан ураза тотуны һәм алар турында искә алуны яшерәчәк, ләкин бу аларга уразаларыгызны күрергә һәм язылырга мөмкинлек бирәчәк.",
   "confirmations.mute.message": "Сез тавышны сүндерергә телисез {name}?",
@@ -171,14 +173,14 @@
   "confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.",
   "confirmations.reply.confirm": "Җавап бирү",
   "confirmations.reply.message": "Тһеавап хәзер сез ясаган хәбәрне яңадан язуга китерәчәк. Сез дәвам итәсегез киләме?",
-  "confirmations.unfollow.confirm": "Язылынмау",
+  "confirmations.unfollow.confirm": "Язылуны туктату",
   "confirmations.unfollow.message": "Сез язылудан баш тартырга телисез {name}?",
   "conversation.delete": "Сөйләшүне бетерегез",
   "conversation.mark_as_read": "Укылганны Ничек билгеләргә",
   "conversation.open": "Сөйләшүне карау",
-  "conversation.with": "Белән {names}",
-  "copypaste.copied": "Күчерелгән",
-  "copypaste.copy": "Күчерү",
+  "conversation.with": "{names} белән",
+  "copypaste.copied": "Күчереп алынган",
+  "copypaste.copy": "Күчереп алу",
   "directory.federated": "Билгеле галәмнән",
   "directory.local": "Кемнән {domain} гына",
   "directory.new_arrivals": "Яңа килүчеләр",
@@ -186,7 +188,7 @@
   "disabled_account_banner.account_settings": "Хисап көйләүләре",
   "disabled_account_banner.text": "Сезнең хисап {disabledAccount} хәзерге вакытта инвалид.",
   "dismissable_banner.community_timeline": "Бу счетлары урнаштырылган кешеләрдән иң соңгы җәмәгать хәбәрләре {domain}.",
-  "dismissable_banner.dismiss": "Чыгару",
+  "dismissable_banner.dismiss": "Ябу",
   "dismissable_banner.explore_links": "Бу яңалыклар турында хәзерге вакытта кешеләр һәм башка үзәкләштерелмәгән челтәр серверларында сөйләшәләр.",
   "dismissable_banner.explore_statuses": "Бу һәм бүтән серверларның үзәкләштерелмәгән челтәрдәге бу язмалары хәзерге вакытта бу серверда тартыла.",
   "dismissable_banner.explore_tags": "Бу хэштеглар хәзерге вакытта үзәкләштерелмәгән челтәрнең бүтән серверларында кешеләр арасында кызыксыну уята.",
@@ -194,7 +196,7 @@
   "embed.instructions": "Embed this status on your website by copying the code below.",
   "embed.preview": "Менә ул нинди булыр:",
   "emoji_button.activity": "Активлык",
-  "emoji_button.clear": "Ачык",
+  "emoji_button.clear": "Чистарту",
   "emoji_button.custom": "Куелган",
   "emoji_button.flags": "Байраклар",
   "emoji_button.food": "Ашау һәм эчү",
@@ -208,7 +210,7 @@
   "emoji_button.search_results": "Эзләү нәтиҗәләре",
   "emoji_button.symbols": "Символлар",
   "emoji_button.travel": "Сәяхәт һәм урыннар",
-  "empty_column.account_suspended": "Хисап блокланган",
+  "empty_column.account_suspended": "Аккаунт блокланган",
   "empty_column.account_timeline": "No toots here!",
   "empty_column.account_unavailable": "Profile unavailable",
   "empty_column.blocks": "You haven't blocked any users yet.",
@@ -235,11 +237,11 @@
   "error.unexpected_crash.next_steps": "Try refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
   "error.unexpected_crash.next_steps_addons": "Try disabling them and refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
   "errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
-  "errors.unexpected_crash.report_issue": "Report issue",
+  "errors.unexpected_crash.report_issue": "Хата турында белдерү",
   "explore.search_results": "Search results",
-  "explore.suggested_follows": "For you",
+  "explore.suggested_follows": "Сез өчен",
   "explore.title": "Explore",
-  "explore.trending_links": "News",
+  "explore.trending_links": "Яңалыклар",
   "explore.trending_statuses": "Posts",
   "explore.trending_tags": "Hashtags",
   "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.",
@@ -258,14 +260,14 @@
   "filter_modal.select_filter.subtitle": "Use an existing category or create a new one",
   "filter_modal.select_filter.title": "Filter this post",
   "filter_modal.title.status": "Filter a post",
-  "follow_recommendations.done": "Done",
+  "follow_recommendations.done": "Булды",
   "follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.",
   "follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!",
   "follow_request.authorize": "Authorize",
   "follow_request.reject": "Reject",
   "follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
   "followed_tags": "Имзаланган хэштеглар",
-  "footer.about": "Турында",
+  "footer.about": "Проект турында",
   "footer.directory": "Профильләр каталогы",
   "footer.get_app": "Кушымта алыгыз",
   "footer.invite": "Кешеләрне чакырыгыз",
@@ -361,18 +363,18 @@
   "lists.search": "Search among people you follow",
   "lists.subheading": "Your lists",
   "load_pending": "{count, plural, one {# new item} other {# new items}}",
-  "loading_indicator.label": "Loading...",
+  "loading_indicator.label": "Йөкләү...",
   "media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}",
-  "missing_indicator.label": "Not found",
+  "missing_indicator.label": "Табылмады",
   "missing_indicator.sublabel": "This resource could not be found",
   "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
   "mute_modal.duration": "Дәвамлык",
   "mute_modal.hide_notifications": "Hide notifications from this user?",
   "mute_modal.indefinite": "Indefinite",
-  "navigation_bar.about": "About",
-  "navigation_bar.blocks": "Blocked users",
+  "navigation_bar.about": "Проект турында",
+  "navigation_bar.blocks": "Блокланган кулланучылар",
   "navigation_bar.bookmarks": "Кыстыргычлар",
-  "navigation_bar.community_timeline": "Local timeline",
+  "navigation_bar.community_timeline": "Локаль вакыт сызыгы",
   "navigation_bar.compose": "Compose new toot",
   "navigation_bar.direct": "Direct messages",
   "navigation_bar.discover": "Discover",
@@ -384,14 +386,14 @@
   "navigation_bar.follow_requests": "Follow requests",
   "navigation_bar.followed_tags": "Followed hashtags",
   "navigation_bar.follows_and_followers": "Follows and followers",
-  "navigation_bar.lists": "Lists",
-  "navigation_bar.logout": "Logout",
+  "navigation_bar.lists": "Исемлекләр",
+  "navigation_bar.logout": "Чыгу",
   "navigation_bar.mutes": "Muted users",
   "navigation_bar.personal": "Personal",
   "navigation_bar.pins": "Pinned toots",
   "navigation_bar.preferences": "Caylaw",
   "navigation_bar.public_timeline": "Federated timeline",
-  "navigation_bar.search": "Search",
+  "navigation_bar.search": "Эзләү",
   "navigation_bar.security": "Хәвефсезлек",
   "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
   "notification.admin.report": "{name} reported {target}",
@@ -447,7 +449,7 @@
   "poll.refresh": "Яңарту",
   "poll.total_people": "{count, plural, one {# person} other {# people}}",
   "poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
-  "poll.vote": "Vote",
+  "poll.vote": "Тавыш бирү",
   "poll.voted": "You voted for this answer",
   "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
   "poll_button.add_poll": "Add a poll",
@@ -478,7 +480,7 @@
   "relative_time.seconds": "{number}сек",
   "relative_time.today": "бүген",
   "reply_indicator.cancel": "Баш тарту",
-  "report.block": "Block",
+  "report.block": "Блоклау",
   "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
   "report.categories.other": "Other",
   "report.categories.spam": "Spam",
@@ -487,7 +489,7 @@
   "report.category.title": "Tell us what's going on with this {type}",
   "report.category.title_account": "профиль",
   "report.category.title_status": "post",
-  "report.close": "Done",
+  "report.close": "Булды",
   "report.comment.title": "Is there anything else you think we should know?",
   "report.forward": "Forward to {target}",
   "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
@@ -495,7 +497,7 @@
   "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
   "report.next": "Next",
   "report.placeholder": "Type or paste additional comments",
-  "report.reasons.dislike": "I don't like it",
+  "report.reasons.dislike": "Миңа бу ошамый",
   "report.reasons.dislike_description": "It is not something you want to see",
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
@@ -540,10 +542,10 @@
   "server_banner.active_users": "active users",
   "server_banner.administered_by": "Administered by:",
   "server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.",
-  "server_banner.learn_more": "Learn more",
+  "server_banner.learn_more": "Күбрәк белү",
   "server_banner.server_stats": "Server stats:",
-  "sign_in_banner.create_account": "Create account",
-  "sign_in_banner.sign_in": "Sign in",
+  "sign_in_banner.create_account": "Аккаунтны ясау",
+  "sign_in_banner.sign_in": "Керү",
   "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts. You can also interact from your account on a different server.",
   "status.admin_account": "Open moderation interface for @{name}",
   "status.admin_domain": "Open moderation interface for {domain}",
@@ -556,7 +558,7 @@
   "status.delete": "Бетерү",
   "status.detailed_status": "Detailed conversation view",
   "status.direct": "Direct message @{name}",
-  "status.edit": "Edit",
+  "status.edit": "Үзгәртү",
   "status.edited": "Edited {date}",
   "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Embed",
@@ -583,7 +585,7 @@
   "status.redraft": "Delete & re-draft",
   "status.remove_bookmark": "Remove bookmark",
   "status.replied_to": "Replied to {name}",
-  "status.reply": "Reply",
+  "status.reply": "Җавап бирү",
   "status.replyAll": "Reply to thread",
   "status.report": "Report @{name}",
   "status.sensitive_warning": "Sensitive content",
@@ -594,7 +596,7 @@
   "status.show_more": "Күбрәк күрсәтү",
   "status.show_more_all": "Show more for all",
   "status.show_original": "Show original",
-  "status.translate": "Translate",
+  "status.translate": "Тәрҗемә итү",
   "status.translated_from_with": "Translated from {lang} using {provider}",
   "status.uncached_media_warning": "Not available",
   "status.unmute_conversation": "Unmute conversation",
@@ -636,7 +638,7 @@
   "upload_form.video_description": "Describe for people with hearing loss or visual impairment",
   "upload_modal.analyzing_picture": "Analyzing picture…",
   "upload_modal.apply": "Куллан",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Куллану…",
   "upload_modal.choose_image": "Choose image",
   "upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
   "upload_modal.detect_text": "Detect text from picture",
diff --git a/app/javascript/mastodon/locales/ug.json b/app/javascript/mastodon/locales/ug.json
index e22ab1f22..b81bb1356 100644
--- a/app/javascript/mastodon/locales/ug.json
+++ b/app/javascript/mastodon/locales/ug.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Log out",
   "confirmations.logout.message": "Are you sure you want to log out?",
   "confirmations.mute.confirm": "Mute",
diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json
index 7f509d039..cbdfef527 100644
--- a/app/javascript/mastodon/locales/uk.json
+++ b/app/javascript/mastodon/locales/uk.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "У вас є незбережені зміни в описі медіа або попереднього перегляду, все одно відкинути їх?",
   "confirmations.domain_block.confirm": "Заблокувати весь домен",
   "confirmations.domain_block.message": "Ви точно, точно впевнені, що хочете заблокувати весь домен {domain}? У більшості випадків для нормальної роботи краще заблокувати або приховати лише деяких користувачів. Ви не зможете бачити контент з цього домену у будь-яких стрічках або ваших сповіщеннях. Ваші підписники з цього домену будуть відписані від вас.",
+  "confirmations.edit.confirm": "Змінити",
+  "confirmations.edit.message": "Редагування перезапише повідомлення, яке ви зараз пишете. Ви впевнені, що хочете продовжити?",
   "confirmations.logout.confirm": "Вийти",
   "confirmations.logout.message": "Ви впевнені, що хочете вийти?",
   "confirmations.mute.confirm": "Приховати",
diff --git a/app/javascript/mastodon/locales/ur.json b/app/javascript/mastodon/locales/ur.json
index 8980ca531..bbe7fbd23 100644
--- a/app/javascript/mastodon/locales/ur.json
+++ b/app/javascript/mastodon/locales/ur.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "کیا آپ واقعی، واقعی یقین رکھتے ہیں کہ آپ پورے {domain} کو بلاک کرنا چاہتے ہیں؟ زیادہ تر معاملات میں چند ٹارگٹیڈ بلاکس یا خاموش کرنا کافی اور افضل ہیں۔ آپ اس ڈومین کا مواد کسی بھی عوامی ٹائم لائنز یا اپنی اطلاعات میں نہیں دیکھیں گے۔ اس ڈومین سے آپ کے پیروکاروں کو ہٹا دیا جائے گا۔",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "لاگ آؤٹ",
   "confirmations.logout.message": "کیا واقعی آپ لاگ آؤٹ ہونا چاہتے ہیں؟",
   "confirmations.mute.confirm": "خاموش",
diff --git a/app/javascript/mastodon/locales/uz.json b/app/javascript/mastodon/locales/uz.json
index 0f450b32a..6dcc0e3d8 100644
--- a/app/javascript/mastodon/locales/uz.json
+++ b/app/javascript/mastodon/locales/uz.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Sizda media tavsifi yoki oldindan ko‘rishda saqlanmagan o‘zgarishlar bor, ular baribir bekor qilinsinmi?",
   "confirmations.domain_block.confirm": "Butun domenni bloklash",
   "confirmations.domain_block.message": "Haqiqatan ham, {domain} ni butunlay bloklamoqchimisiz? Ko'pgina hollarda bir nechta maqsadli bloklar yoki ovozni o'chirish etarli va afzaldir. Siz oʻsha domendagi kontentni hech qanday umumiy vaqt jadvallarida yoki bildirishnomalaringizda koʻrmaysiz. Bu domendagi obunachilaringiz olib tashlanadi.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "Chiqish",
   "confirmations.logout.message": "Chiqishingizga aminmisiz?",
   "confirmations.mute.confirm": "Ovozsiz",
diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json
index 4ee65e72a..a108a6619 100644
--- a/app/javascript/mastodon/locales/vi.json
+++ b/app/javascript/mastodon/locales/vi.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "Bạn chưa lưu thay đổi đối với phần mô tả hoặc bản xem trước của media, vẫn bỏ luôn?",
   "confirmations.domain_block.confirm": "Ẩn toàn bộ máy chủ",
   "confirmations.domain_block.message": "Bạn thật sự muốn ẩn toàn bộ nội dung từ {domain}? Sẽ hợp lý hơn nếu bạn chỉ chặn hoặc ẩn một vài tài khoản cụ thể. Ẩn toàn bộ nội dung từ máy chủ sẽ khiến bạn không còn thấy nội dung từ máy chủ đó ở bất kỳ nơi nào, kể cả thông báo. Người quan tâm bạn từ máy chủ đó cũng sẽ bị xóa luôn.",
+  "confirmations.edit.confirm": "Sửa",
+  "confirmations.edit.message": "Nội dung tút cũ sẽ bị ghi đè, bạn có tiếp tục?",
   "confirmations.logout.confirm": "Đăng xuất",
   "confirmations.logout.message": "Bạn có thật sự muốn thoát?",
   "confirmations.mute.confirm": "Ẩn",
diff --git a/app/javascript/mastodon/locales/zgh.json b/app/javascript/mastodon/locales/zgh.json
index 4f190a4bc..f5ca66b3a 100644
--- a/app/javascript/mastodon/locales/zgh.json
+++ b/app/javascript/mastodon/locales/zgh.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "ⴼⴼⵖ",
   "confirmations.logout.message": "ⵉⵙ ⵏⵉⵜ ⵜⵅⵙⴷ ⴰⴷ ⵜⴼⴼⵖⴷ?",
   "confirmations.mute.confirm": "ⵥⵥⵉⵥⵏ",
diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json
index 2cfed5224..3d0290e5d 100644
--- a/app/javascript/mastodon/locales/zh-CN.json
+++ b/app/javascript/mastodon/locales/zh-CN.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "您还有未保存的媒体描述或预览修改,仍然丢弃它们吗?",
   "confirmations.domain_block.confirm": "屏蔽整个域名",
   "confirmations.domain_block.message": "你真的确定要屏蔽所有来自 {domain} 的内容吗?多数情况下,屏蔽或隐藏几个特定的用户就已经足够了。来自该网站的内容将不再出现在你的任何公共时间轴或通知列表里。来自该网站的关注者将会被移除。",
+  "confirmations.edit.confirm": "编辑",
+  "confirmations.edit.message": "编辑此消息将会覆盖当前正在撰写的信息。仍要继续吗?",
   "confirmations.logout.confirm": "登出",
   "confirmations.logout.message": "你确定要登出吗?",
   "confirmations.mute.confirm": "隐藏",
diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json
index 5c6f539aa..86c14b180 100644
--- a/app/javascript/mastodon/locales/zh-HK.json
+++ b/app/javascript/mastodon/locales/zh-HK.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "您在媒體描述或預覽有尚未儲存的變更。確定要捨棄它們嗎?",
   "confirmations.domain_block.confirm": "封鎖整個網站",
   "confirmations.domain_block.message": "你真的真的確定要封鎖整個 {domain} ?多數情況下,封鎖或靜音幾個特定目標就已經有效,也是比較建議的做法。若然封鎖全站,你將不會再在這裏看到該站的內容和通知。來自該站的關注者亦會被移除。",
+  "confirmations.edit.confirm": "Edit",
+  "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.logout.confirm": "登出",
   "confirmations.logout.message": "確定要登出嗎?",
   "confirmations.mute.confirm": "靜音",
diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json
index 4e5cfb876..6c6871699 100644
--- a/app/javascript/mastodon/locales/zh-TW.json
+++ b/app/javascript/mastodon/locales/zh-TW.json
@@ -162,6 +162,8 @@
   "confirmations.discard_edit_media.message": "您在媒體描述或預覽區塊有未儲存的變更。是否要捨棄這些變更?",
   "confirmations.domain_block.confirm": "封鎖整個網域",
   "confirmations.domain_block.message": "您真的非常確定要封鎖整個 {domain} 網域嗎?大部分情況下,封鎖或靜音少數特定的帳號就能滿足需求了。您將不能在任何公開的時間軸及通知中看到來自此網域的內容。您來自該網域的跟隨者也將被移除。",
+  "confirmations.edit.confirm": "編輯",
+  "confirmations.edit.message": "編輯嘟文將覆蓋掉您目前正在撰寫的訊息。是否仍要繼續?",
   "confirmations.logout.confirm": "登出",
   "confirmations.logout.message": "您確定要登出嗎?",
   "confirmations.mute.confirm": "靜音",
@@ -170,7 +172,7 @@
   "confirmations.redraft.confirm": "刪除並重新編輯",
   "confirmations.redraft.message": "您確定要刪除這則嘟文並重新編輯嗎?您將失去這則嘟文的轉嘟及最愛,且對原始嘟文的回覆都會變成獨立的嘟文。",
   "confirmations.reply.confirm": "回覆",
-  "confirmations.reply.message": "現在回覆將蓋掉您目前正在撰寫的訊息。是否仍要回覆?",
+  "confirmations.reply.message": "回覆嘟文將覆蓋掉您目前正在撰寫的訊息。是否仍要繼續?",
   "confirmations.unfollow.confirm": "取消跟隨",
   "confirmations.unfollow.message": "您確定要取消跟隨 {name} 嗎?",
   "conversation.delete": "刪除對話",
diff --git a/app/javascript/mastodon/reducers/server.js b/app/javascript/mastodon/reducers/server.js
index db9f2b5e6..909ab2a66 100644
--- a/app/javascript/mastodon/reducers/server.js
+++ b/app/javascript/mastodon/reducers/server.js
@@ -2,6 +2,9 @@ import {
   SERVER_FETCH_REQUEST,
   SERVER_FETCH_SUCCESS,
   SERVER_FETCH_FAIL,
+  SERVER_TRANSLATION_LANGUAGES_FETCH_REQUEST,
+  SERVER_TRANSLATION_LANGUAGES_FETCH_SUCCESS,
+  SERVER_TRANSLATION_LANGUAGES_FETCH_FAIL,
   EXTENDED_DESCRIPTION_REQUEST,
   EXTENDED_DESCRIPTION_SUCCESS,
   EXTENDED_DESCRIPTION_FAIL,
@@ -35,6 +38,12 @@ export default function server(state = initialState, action) {
     return state.set('server', fromJS(action.server)).setIn(['server', 'isLoading'], false);
   case SERVER_FETCH_FAIL:
     return state.setIn(['server', 'isLoading'], false);
+  case SERVER_TRANSLATION_LANGUAGES_FETCH_REQUEST:
+    return state.setIn(['translationLanguages', 'isLoading'], true);
+  case SERVER_TRANSLATION_LANGUAGES_FETCH_SUCCESS:
+    return state.setIn(['translationLanguages', 'items'], fromJS(action.translationLanguages)).setIn(['translationLanguages', 'isLoading'], false);
+  case SERVER_TRANSLATION_LANGUAGES_FETCH_FAIL:
+    return state.setIn(['translationLanguages', 'isLoading'], false);
   case EXTENDED_DESCRIPTION_REQUEST:
     return state.setIn(['extendedDescription', 'isLoading'], true);
   case EXTENDED_DESCRIPTION_SUCCESS:
diff --git a/app/lib/admin/system_check.rb b/app/lib/admin/system_check.rb
index f512635ab..89dfcef9f 100644
--- a/app/lib/admin/system_check.rb
+++ b/app/lib/admin/system_check.rb
@@ -2,6 +2,7 @@
 
 class Admin::SystemCheck
   ACTIVE_CHECKS = [
+    Admin::SystemCheck::MediaPrivacyCheck,
     Admin::SystemCheck::DatabaseSchemaCheck,
     Admin::SystemCheck::SidekiqProcessCheck,
     Admin::SystemCheck::RulesCheck,
diff --git a/app/lib/admin/system_check/media_privacy_check.rb b/app/lib/admin/system_check/media_privacy_check.rb
new file mode 100644
index 000000000..1df05b120
--- /dev/null
+++ b/app/lib/admin/system_check/media_privacy_check.rb
@@ -0,0 +1,105 @@
+# frozen_string_literal: true
+
+class Admin::SystemCheck::MediaPrivacyCheck < Admin::SystemCheck::BaseCheck
+  include RoutingHelper
+
+  def skip?
+    !current_user.can?(:view_devops)
+  end
+
+  def pass?
+    check_media_uploads!
+    @failure_message.nil?
+  end
+
+  def message
+    Admin::SystemCheck::Message.new(@failure_message, @failure_value, @failure_action, true)
+  end
+
+  private
+
+  def check_media_uploads!
+    if Rails.configuration.x.use_s3
+      check_media_listing_inaccessible_s3!
+    else
+      check_media_listing_inaccessible!
+    end
+  end
+
+  def check_media_listing_inaccessible!
+    full_url = full_asset_url(media_attachment.file.url(:original, false))
+
+    # Check if we can list the uploaded file. If true, that's an error
+    directory_url = Addressable::URI.parse(full_url)
+    directory_url.query = nil
+    filename = directory_url.path.gsub(%r{.*/}, '')
+    directory_url.path = directory_url.path.gsub(%r{/[^/]+\Z}, '/')
+    Request.new(:get, directory_url, allow_local: true).perform do |res|
+      if res.truncated_body&.include?(filename)
+        @failure_message = use_storage? ? :upload_check_privacy_error_object_storage : :upload_check_privacy_error
+        @failure_action = 'https://docs.joinmastodon.org/admin/optional/object-storage/#FS'
+      end
+    end
+  rescue
+    nil
+  end
+
+  def check_media_listing_inaccessible_s3!
+    urls_to_check = []
+    paperclip_options = Paperclip::Attachment.default_options
+    s3_protocol = paperclip_options[:s3_protocol]
+    s3_host_alias = paperclip_options[:s3_host_alias]
+    s3_host_name  = paperclip_options[:s3_host_name]
+    bucket_name = paperclip_options.dig(:s3_credentials, :bucket)
+
+    urls_to_check << "#{s3_protocol}://#{s3_host_alias}/" if s3_host_alias.present?
+    urls_to_check << "#{s3_protocol}://#{s3_host_name}/#{bucket_name}/"
+    urls_to_check.uniq.each do |full_url|
+      check_s3_listing!(full_url)
+      break if @failure_message.present?
+    end
+  rescue
+    nil
+  end
+
+  def check_s3_listing!(full_url)
+    bucket_url = Addressable::URI.parse(full_url)
+    bucket_url.path = bucket_url.path.delete_suffix(media_attachment.file.path(:original))
+    bucket_url.query = "max-keys=1&x-random=#{SecureRandom.hex(10)}"
+    Request.new(:get, bucket_url, allow_local: true).perform do |res|
+      if res.truncated_body&.include?('ListBucketResult')
+        @failure_message = :upload_check_privacy_error_object_storage
+        @failure_action  = 'https://docs.joinmastodon.org/admin/optional/object-storage/#S3'
+      end
+    end
+  end
+
+  def media_attachment
+    @media_attachment ||= begin
+      attachment = Account.representative.media_attachments.first
+      if attachment.present?
+        attachment.touch # rubocop:disable Rails/SkipsModelValidations
+        attachment
+      else
+        create_test_attachment!
+      end
+    end
+  end
+
+  def create_test_attachment!
+    Tempfile.create(%w(test-upload .jpg), binmode: true) do |tmp_file|
+      tmp_file.write(
+        Base64.decode64(
+          '/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAA' \
+          'AAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA' \
+          'QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE' \
+          'BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/x' \
+          'ABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAA' \
+          'AAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q=='
+        )
+      )
+      tmp_file.flush
+      Account.representative.media_attachments.create!(file: tmp_file)
+    end
+  end
+end
diff --git a/app/lib/admin/system_check/message.rb b/app/lib/admin/system_check/message.rb
index bfcad3bf3..ad8d4b607 100644
--- a/app/lib/admin/system_check/message.rb
+++ b/app/lib/admin/system_check/message.rb
@@ -1,11 +1,12 @@
 # frozen_string_literal: true
 
 class Admin::SystemCheck::Message
-  attr_reader :key, :value, :action
+  attr_reader :key, :value, :action, :critical
 
-  def initialize(key, value = nil, action = nil)
-    @key    = key
-    @value  = value
-    @action = action
+  def initialize(key, value = nil, action = nil, critical = false)
+    @key      = key
+    @value    = value
+    @action   = action
+    @critical = critical
   end
 end
diff --git a/app/lib/request.rb b/app/lib/request.rb
index 85716f999..4bde6fc91 100644
--- a/app/lib/request.rb
+++ b/app/lib/request.rb
@@ -273,7 +273,9 @@ class Request
 
       def check_private_address(address, host)
         addr = IPAddr.new(address.to_s)
-        return if private_address_exceptions.any? { |range| range.include?(addr) }
+
+        return if Rails.env.development? || private_address_exceptions.any? { |range| range.include?(addr) }
+
         raise Mastodon::PrivateNetworkAddressError, host if PrivateAddressCheck.private_address?(addr)
       end
 
diff --git a/app/lib/translation_service.rb b/app/lib/translation_service.rb
index 5ff93674a..bfe5de44f 100644
--- a/app/lib/translation_service.rb
+++ b/app/lib/translation_service.rb
@@ -21,8 +21,8 @@ class TranslationService
     ENV['DEEPL_API_KEY'].present? || ENV['LIBRE_TRANSLATE_ENDPOINT'].present?
   end
 
-  def supported?(_source_language, _target_language)
-    false
+  def languages
+    {}
   end
 
   def translate(_text, _source_language, _target_language)
diff --git a/app/lib/translation_service/deepl.rb b/app/lib/translation_service/deepl.rb
index deff95a1d..afcb7ecb2 100644
--- a/app/lib/translation_service/deepl.rb
+++ b/app/lib/translation_service/deepl.rb
@@ -17,25 +17,31 @@ class TranslationService::DeepL < TranslationService
     end
   end
 
-  def supported?(source_language, target_language)
-    source_language.in?(languages('source')) && target_language.in?(languages('target'))
+  def languages
+    source_languages = [nil] + fetch_languages('source')
+
+    # In DeepL, EN and PT are deprecated in favor of EN-GB/EN-US and PT-BR/PT-PT, so
+    # they are supported but not returned by the API.
+    target_languages = %w(en pt) + fetch_languages('target')
+
+    source_languages.index_with { |language| target_languages.without(nil, language) }
   end
 
   private
 
-  def languages(type)
-    Rails.cache.fetch("translation_service/deepl/languages/#{type}", expires_in: 7.days, race_condition_ttl: 1.minute) do
-      request(:get, "/v2/languages?type=#{type}") do |res|
-        # In DeepL, EN and PT are deprecated in favor of EN-GB/EN-US and PT-BR/PT-PT, so
-        # they are supported but not returned by the API.
-        extra = type == 'source' ? [nil] : %w(en pt)
-        languages = Oj.load(res.body_with_limit).map { |language| language['language'].downcase }
-
-        languages + extra
-      end
+  def fetch_languages(type)
+    request(:get, "/v2/languages?type=#{type}") do |res|
+      Oj.load(res.body_with_limit).map { |language| normalize_language(language['language']) }
     end
   end
 
+  def normalize_language(language)
+    subtags = language.split(/[_-]/)
+    subtags[0].downcase!
+    subtags[1]&.upcase!
+    subtags.join('-')
+  end
+
   def request(verb, path, **options)
     req = Request.new(verb, "#{base_url}#{path}", **options)
     req.add_headers(Authorization: "DeepL-Auth-Key #{@api_key}")
diff --git a/app/lib/translation_service/libre_translate.rb b/app/lib/translation_service/libre_translate.rb
index 743e4d77f..8bb194a9c 100644
--- a/app/lib/translation_service/libre_translate.rb
+++ b/app/lib/translation_service/libre_translate.rb
@@ -15,22 +15,18 @@ class TranslationService::LibreTranslate < TranslationService
     end
   end
 
-  def supported?(source_language, target_language)
-    languages.key?(source_language) && languages[source_language].include?(target_language)
-  end
-
-  private
-
   def languages
-    Rails.cache.fetch('translation_service/libre_translate/languages', expires_in: 7.days, race_condition_ttl: 1.minute) do
-      request(:get, '/languages') do |res|
-        languages = Oj.load(res.body_with_limit).to_h { |language| [language['code'], language['targets']] }
-        languages[nil] = languages.values.flatten.uniq
-        languages
+    request(:get, '/languages') do |res|
+      languages = Oj.load(res.body_with_limit).to_h do |language|
+        [language['code'], language['targets'].without(language['code'])]
       end
+      languages[nil] = languages.values.flatten.uniq.sort
+      languages
     end
   end
 
+  private
+
   def request(verb, path, **options)
     req = Request.new(verb, "#{@base_url}#{path}", allow_local: true, **options)
     req.add_headers('Content-Type': 'application/json')
diff --git a/app/models/backup.rb b/app/models/backup.rb
index bec3cbfe5..dca06eb58 100644
--- a/app/models/backup.rb
+++ b/app/models/backup.rb
@@ -18,6 +18,6 @@
 class Backup < ApplicationRecord
   belongs_to :user, inverse_of: :backups
 
-  has_attached_file :dump
+  has_attached_file :dump, s3_permissions: 'private'
   validates_attachment_content_type :dump, content_type: /\Aapplication/
 end
diff --git a/app/models/status.rb b/app/models/status.rb
index d053dea44..bf102120e 100644
--- a/app/models/status.rb
+++ b/app/models/status.rb
@@ -237,16 +237,6 @@ class Status < ApplicationRecord
     public_visibility? || unlisted_visibility?
   end
 
-  def translatable?
-    translate_target_locale = I18n.locale.to_s.split(/[_-]/).first
-
-    distributable? &&
-      content.present? &&
-      language != translate_target_locale &&
-      TranslationService.configured? &&
-      TranslationService.configured.supported?(language, translate_target_locale)
-  end
-
   alias sign? distributable?
 
   def with_media?
diff --git a/app/serializers/rest/status_serializer.rb b/app/serializers/rest/status_serializer.rb
index ce08b6db8..659c45b83 100644
--- a/app/serializers/rest/status_serializer.rb
+++ b/app/serializers/rest/status_serializer.rb
@@ -4,7 +4,7 @@ class REST::StatusSerializer < ActiveModel::Serializer
   include FormattingHelper
 
   attributes :id, :created_at, :in_reply_to_id, :in_reply_to_account_id,
-             :sensitive, :spoiler_text, :visibility, :language, :translatable,
+             :sensitive, :spoiler_text, :visibility, :language,
              :uri, :url, :replies_count, :reblogs_count,
              :favourites_count, :edited_at
 
@@ -52,10 +52,6 @@ class REST::StatusSerializer < ActiveModel::Serializer
     object.account.user_shows_application? || (current_user? && current_user.account_id == object.account_id)
   end
 
-  def translatable
-    current_user? && object.translatable?
-  end
-
   def visibility
     # This visibility is masked behind "private"
     # to avoid API changes because there are no
diff --git a/app/services/translate_status_service.rb b/app/services/translate_status_service.rb
index 92d8b62a0..796f13a0d 100644
--- a/app/services/translate_status_service.rb
+++ b/app/services/translate_status_service.rb
@@ -6,19 +6,29 @@ class TranslateStatusService < BaseService
   include FormattingHelper
 
   def call(status, target_language)
-    raise Mastodon::NotPermittedError unless status.translatable?
-
     @status = status
     @content = status_content_format(@status)
     @target_language = target_language
 
+    raise Mastodon::NotPermittedError unless permitted?
+
     Rails.cache.fetch("translations/#{@status.language}/#{@target_language}/#{content_hash}", expires_in: CACHE_TTL) { translation_backend.translate(@content, @status.language, @target_language) }
   end
 
   private
 
   def translation_backend
-    TranslationService.configured
+    @translation_backend ||= TranslationService.configured
+  end
+
+  def permitted?
+    return false unless @status.distributable? && @status.content.present? && TranslationService.configured?
+
+    languages[@status.language]&.include?(@target_language)
+  end
+
+  def languages
+    Rails.cache.fetch('translation_service/languages', expires_in: 7.days, race_condition_ttl: 1.hour) { TranslationService.configured.languages }
   end
 
   def content_hash
diff --git a/app/views/admin/account_actions/new.html.haml b/app/views/admin/account_actions/new.html.haml
index c7bb618df..2a0cae15a 100644
--- a/app/views/admin/account_actions/new.html.haml
+++ b/app/views/admin/account_actions/new.html.haml
@@ -5,7 +5,7 @@
   = f.input :report_id, as: :hidden
 
   .fields-group
-    = f.input :type, as: :radio_buttons, collection: Admin::AccountAction.types_for_account(@account), include_blank: false, wrapper: :with_block_label, label_method: ->(type) { safe_join([I18n.t("simple_form.labels.admin_account_action.types.#{type}"), content_tag(:span, I18n.t("simple_form.hints.admin_account_action.types.#{type}"), class: 'hint')])}, hint: t('simple_form.hints.admin_account_action.type_html', acct: @account.pretty_acct)
+    = f.input :type, as: :radio_buttons, collection: Admin::AccountAction.types_for_account(@account), include_blank: false, wrapper: :with_block_label, label_method: ->(type) { safe_join([I18n.t("simple_form.labels.admin_account_action.types.#{type}"), content_tag(:span, I18n.t("simple_form.hints.admin_account_action.types.#{type}"), class: 'hint')]) }, hint: t('simple_form.hints.admin_account_action.type_html', acct: @account.pretty_acct)
 
   - if @account.local?
     %hr.spacer/
diff --git a/app/views/admin/accounts/show.html.haml b/app/views/admin/accounts/show.html.haml
index f5ae88379..44867d0a2 100644
--- a/app/views/admin/accounts/show.html.haml
+++ b/app/views/admin/accounts/show.html.haml
@@ -187,7 +187,7 @@
             %th= t('admin.accounts.shared_inbox_url')
             %td
               = @account.shared_inbox_url
-              = fa_icon DeliveryFailureTracker.available?(@account.shared_inbox_url) ? 'check': 'times'
+              = fa_icon DeliveryFailureTracker.available?(@account.shared_inbox_url) ? 'check' : 'times'
             %td
               - if @domain_block.nil?
                 = table_link_to 'ban', t('admin.domain_blocks.add_new'), new_admin_domain_block_path(_domain: @account.domain)
diff --git a/app/views/admin/action_logs/index.html.haml b/app/views/admin/action_logs/index.html.haml
index cc6aa39bd..c4929cc42 100644
--- a/app/views/admin/action_logs/index.html.haml
+++ b/app/views/admin/action_logs/index.html.haml
@@ -13,7 +13,7 @@
     .filter-subset.filter-subset--with-select
       %strong= t('admin.action_logs.filter_by_action')
       .input.select.optional
-        = select_tag :action_type, options_for_select(Admin::ActionLogFilter::ACTION_TYPE_MAP.keys.map { |key| [I18n.t("admin.action_logs.action_types.#{key}"), key]}, params[:action_type]), prompt: I18n.t('admin.accounts.moderation.all')
+        = select_tag :action_type, options_for_select(Admin::ActionLogFilter::ACTION_TYPE_MAP.keys.map { |key| [I18n.t("admin.action_logs.action_types.#{key}"), key] }, params[:action_type]), prompt: I18n.t('admin.accounts.moderation.all')
 
 - if @action_logs.empty?
   .muted-hint.center-text
diff --git a/app/views/admin/change_emails/show.html.haml b/app/views/admin/change_emails/show.html.haml
index bc00d6114..8536a18d2 100644
--- a/app/views/admin/change_emails/show.html.haml
+++ b/app/views/admin/change_emails/show.html.haml
@@ -9,4 +9,4 @@
     = f.input :unconfirmed_email, wrapper: :with_label, label: t('admin.accounts.change_email.new_email')
 
   .actions
-    = f.button :submit, class: "button", value: t('admin.accounts.change_email.submit')
+    = f.button :submit, class: 'button', value: t('admin.accounts.change_email.submit')
diff --git a/app/views/admin/custom_emojis/index.html.haml b/app/views/admin/custom_emojis/index.html.haml
index b6cf7ba64..89eb653e3 100644
--- a/app/views/admin/custom_emojis/index.html.haml
+++ b/app/views/admin/custom_emojis/index.html.haml
@@ -12,12 +12,12 @@
       %li= filter_link_to t('admin.accounts.location.all'), local: nil, remote: nil
       %li
         - if selected? local: '1', remote: nil
-          = filter_link_to t('admin.accounts.location.local'), {local: nil, remote: nil}, {local: '1', remote: nil}
+          = filter_link_to t('admin.accounts.location.local'), { local: nil, remote: nil }, { local: '1', remote: nil }
         - else
           = filter_link_to t('admin.accounts.location.local'), local: '1', remote: nil
       %li
         - if selected? remote: '1', local: nil
-          = filter_link_to t('admin.accounts.location.remote'), {remote: nil, local: nil}, {remote: '1', local: nil}
+          = filter_link_to t('admin.accounts.location.remote'), { remote: nil, local: nil }, { remote: '1', local: nil }
         - else
           = filter_link_to t('admin.accounts.location.remote'), remote: '1', local: nil
 
diff --git a/app/views/admin/dashboard/index.html.haml b/app/views/admin/dashboard/index.html.haml
index 66e0c0251..3597152e0 100644
--- a/app/views/admin/dashboard/index.html.haml
+++ b/app/views/admin/dashboard/index.html.haml
@@ -9,7 +9,7 @@
 - unless @system_checks.empty?
   .flash-message-stack
     - @system_checks.each do |message|
-      .flash-message.warning
+      .flash-message{ class: message.critical ? 'alert' : 'warning' }
         = t("admin.system_checks.#{message.key}.message_html", value: message.value ? content_tag(:strong, message.value) : nil)
         - if message.action
           = link_to t("admin.system_checks.#{message.key}.action"), message.action
@@ -56,7 +56,7 @@
     = react_admin_component :dimension, dimension: 'servers', start_at: @time_period.first, end_at: @time_period.last, limit: 8, label: t('admin.dashboard.top_servers')
 
   .dashboard__item.dashboard__item--span-double-column
-    = react_admin_component :retention, start_at: @time_period.last - 6.months,   end_at: @time_period.last, frequency: 'month'
+    = react_admin_component :retention, start_at: @time_period.last - 6.months, end_at: @time_period.last, frequency: 'month'
 
   .dashboard__item.dashboard__item--span-double-row
     = react_admin_component :trends, limit: 7
diff --git a/app/views/application/_card.html.haml b/app/views/application/_card.html.haml
index 3d0e6b1da..719856d49 100644
--- a/app/views/application/_card.html.haml
+++ b/app/views/application/_card.html.haml
@@ -13,4 +13,4 @@
           %strong.emojify.p-name= display_name(account, custom_emojify: true)
         %span
           = acct(account)
-          = fa_icon('lock', { data: ({hidden: true} unless account.locked?)})
+          = fa_icon('lock', { data: ({ hidden: true } unless account.locked?) })
diff --git a/app/views/auth/registrations/_sessions.html.haml b/app/views/auth/registrations/_sessions.html.haml
index c094dfd25..55d753c18 100644
--- a/app/views/auth/registrations/_sessions.html.haml
+++ b/app/views/auth/registrations/_sessions.html.haml
@@ -20,7 +20,7 @@
             %span{ title: session.user_agent }<
               = fa_icon "#{session_device_icon(session)} fw", 'aria-label': session_device_icon(session)
               = ' '
-              = t 'sessions.description', browser: t("sessions.browsers.#{session.browser}", default: "#{session.browser}"), platform: t("sessions.platforms.#{session.platform}", default: "#{session.platform}")
+              = t 'sessions.description', browser: t("sessions.browsers.#{session.browser}", default: session.browser.to_s), platform: t("sessions.platforms.#{session.platform}", default: session.platform.to_s)
           %td
             %samp= session.ip
           %td
diff --git a/app/views/auth/sessions/new.html.haml b/app/views/auth/sessions/new.html.haml
index e98c1ff3d..7914e0157 100644
--- a/app/views/auth/sessions/new.html.haml
+++ b/app/views/auth/sessions/new.html.haml
@@ -19,7 +19,7 @@
     .actions
       = f.button :button, t('auth.login'), type: :submit
 
-- if devise_mapping.omniauthable? and resource_class.omniauth_providers.any?
+- if devise_mapping.omniauthable? && resource_class.omniauth_providers.any?
   .simple_form.alternative-login
     %h4= omniauth_only? ? t('auth.log_in_with') : t('auth.or_log_in_with')
 
diff --git a/app/views/layouts/mailer.html.haml b/app/views/layouts/mailer.html.haml
index 1d0840dc1..288c473d2 100644
--- a/app/views/layouts/mailer.html.haml
+++ b/app/views/layouts/mailer.html.haml
@@ -35,7 +35,7 @@
                 %tbody
                   %tr
                     %td.content-cell.content-end
-                      != "&nbsp; "
+                      != '&nbsp; '
                   %tr
                     %td.blank-cell.footer
                       .email-row
diff --git a/app/views/notification_mailer/_status.html.haml b/app/views/notification_mailer/_status.html.haml
index 03f49c73d..fd65039ae 100644
--- a/app/views/notification_mailer/_status.html.haml
+++ b/app/views/notification_mailer/_status.html.haml
@@ -20,7 +20,7 @@
                                 %tbody
                                   %tr
                                     %td{ align: 'left', width: 48 }
-                                      = image_tag full_asset_url(status.account.avatar.url), alt:''
+                                      = image_tag full_asset_url(status.account.avatar.url), alt: ''
                                     %td{ align: 'left' }
                                       %bdi= display_name(status.account)
                                       = "@#{status.account.pretty_acct}"
diff --git a/app/views/notification_mailer/favourite.html.haml b/app/views/notification_mailer/favourite.html.haml
index 5d9be3f57..4ec89172d 100644
--- a/app/views/notification_mailer/favourite.html.haml
+++ b/app/views/notification_mailer/favourite.html.haml
@@ -17,7 +17,7 @@
                                 %tbody
                                   %tr
                                     %td
-                                      = image_tag full_pack_url('media/images/mailer/icon_grade.png'), alt:''
+                                      = image_tag full_pack_url('media/images/mailer/icon_grade.png'), alt: ''
 
                               %h1= t 'notification_mailer.favourite.title'
                               %p.lead= t('notification_mailer.favourite.body', name: @account.pretty_acct)
diff --git a/app/views/notification_mailer/follow_request.html.haml b/app/views/notification_mailer/follow_request.html.haml
index 4c32c831e..3885a411d 100644
--- a/app/views/notification_mailer/follow_request.html.haml
+++ b/app/views/notification_mailer/follow_request.html.haml
@@ -39,5 +39,5 @@
                             %tbody
                               %tr
                                 %td.button-primary
-                                  = link_to web_url("follow_requests") do
+                                  = link_to web_url('follow_requests') do
                                     %span= t 'notification_mailer.follow_request.action'
diff --git a/app/views/settings/exports/show.html.haml b/app/views/settings/exports/show.html.haml
index c49613fdc..d7b59af27 100644
--- a/app/views/settings/exports/show.html.haml
+++ b/app/views/settings/exports/show.html.haml
@@ -64,6 +64,6 @@
             %td= l backup.created_at
             - if backup.processed?
               %td= number_to_human_size backup.dump_file_size
-              %td= table_link_to 'download', t('exports.archive_takeout.download'), backup.dump.url
+              %td= table_link_to 'download', t('exports.archive_takeout.download'), download_backup_url(backup)
             - else
               %td{ colspan: 2 }= t('exports.archive_takeout.in_progress')
diff --git a/app/views/settings/login_activities/_login_activity.html.haml b/app/views/settings/login_activities/_login_activity.html.haml
index 0c2c7087d..9f4c24d87 100644
--- a/app/views/settings/login_activities/_login_activity.html.haml
+++ b/app/views/settings/login_activities/_login_activity.html.haml
@@ -1,6 +1,6 @@
 - method_str = content_tag(:span, login_activity.omniauth? ? t(login_activity.provider, scope: 'auth.providers') : t(login_activity.authentication_method, scope: 'login_activities.authentication_methods'), class: 'target')
 - ip_str = content_tag(:span, login_activity.ip, class: 'target')
-- browser_str = content_tag(:span, t('sessions.description', browser: t("sessions.browsers.#{login_activity.browser}", default: "#{login_activity.browser}"), platform: t("sessions.platforms.#{login_activity.platform}", default: "#{login_activity.platform}")), class: 'target', title: login_activity.user_agent)
+- browser_str = content_tag(:span, t('sessions.description', browser: t("sessions.browsers.#{login_activity.browser}", default: login_activity.browser.to_s), platform: t("sessions.platforms.#{login_activity.platform}", default: login_activity.platform.to_)), class: 'target', title: login_activity.user_agent)
 
 .log-entry
   .log-entry__header
diff --git a/app/views/settings/preferences/appearance/show.html.haml b/app/views/settings/preferences/appearance/show.html.haml
index 946cb845d..16bb85068 100644
--- a/app/views/settings/preferences/appearance/show.html.haml
+++ b/app/views/settings/preferences/appearance/show.html.haml
@@ -10,7 +10,7 @@
 
   - unless I18n.locale == :en
     .flash-message.translation-prompt
-      #{t 'appearance.localization.body'} #{content_tag(:a, t('appearance.localization.guide_link_text'), href: t('appearance.localization.guide_link'), target: "_blank", rel: "noopener")}
+      #{t 'appearance.localization.body'} #{content_tag(:a, t('appearance.localization.guide_link_text'), href: t('appearance.localization.guide_link'), target: '_blank', rel: 'noopener')}
       = link_to t('appearance.localization.glitch_guide_link'), target: '_blank', rel: 'noopener noreferrer' do
         = t('appearance.localization.glitch_guide_link_text')
 
@@ -54,7 +54,7 @@
   %h4= t 'appearance.sensitive_content'
 
   .fields-group
-    = f.input :setting_display_media, collection: ['default', 'show_all', 'hide_all'],label_method: lambda { |item| t("simple_form.hints.defaults.setting_display_media_#{item}") }, hint: false, as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', wrapper: :with_floating_label
+    = f.input :setting_display_media, collection: ['default', 'show_all', 'hide_all'], label_method: lambda { |item| t("simple_form.hints.defaults.setting_display_media_#{item}") }, hint: false, as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', wrapper: :with_floating_label
 
   .fields-group
     = f.input :setting_use_blurhash, as: :boolean, wrapper: :with_label
diff --git a/app/views/statuses/_detailed_status.html.haml b/app/views/statuses/_detailed_status.html.haml
index bf498e33d..70cfbd6b8 100644
--- a/app/views/statuses/_detailed_status.html.haml
+++ b/app/views/statuses/_detailed_status.html.haml
@@ -62,18 +62,18 @@
       - else
         = fa_icon('reply-all')
       %span.detailed-status__reblogs>= friendly_number_to_human status.replies_count
-      = " "
+      = ' '
     ·
     - if status.public_visibility? || status.unlisted_visibility?
       %span.detailed-status__link
         = fa_icon('retweet')
         %span.detailed-status__reblogs>= friendly_number_to_human status.reblogs_count
-        = " "
+        = ' '
       ·
     %span.detailed-status__link
       = fa_icon('star')
       %span.detailed-status__favorites>= friendly_number_to_human status.favourites_count
-      = " "
+      = ' '
 
     - if user_signed_in?
       ·
diff --git a/app/views/statuses/_og_image.html.haml b/app/views/statuses/_og_image.html.haml
index 39f390fdf..1ae97adff 100644
--- a/app/views/statuses/_og_image.html.haml
+++ b/app/views/statuses/_og_image.html.haml
@@ -31,7 +31,7 @@
       - player_card = true
       = opengraph 'og:image', full_asset_url(account.avatar.url(:original))
       = opengraph 'og:image:width', '400'
-      = opengraph 'og:image:height','400'
+      = opengraph 'og:image:height', '400'
       = opengraph 'og:audio', full_asset_url(media.file.url(:original))
       = opengraph 'og:audio:secure_url', full_asset_url(media.file.url(:original))
       = opengraph 'og:audio:type', media.file_content_type
diff --git a/app/views/statuses/_status.html.haml b/app/views/statuses/_status.html.haml
index 3b7152753..afeb55faf 100644
--- a/app/views/statuses/_status.html.haml
+++ b/app/views/statuses/_status.html.haml
@@ -11,7 +11,7 @@
   h_class           = microformats_h_class(status, is_predecessor, is_successor, include_threads)
   style_classes     = style_classes(status, is_predecessor, is_successor, include_threads)
   mf_classes        = microformats_classes(status, is_direct_parent, is_direct_child)
-  entry_classes     = h_class + ' ' + mf_classes + ' ' + style_classes
+  entry_classes     = "#{h_class} #{mf_classes} #{style_classes}"
 
 - if status.reply? && include_threads
   - if @next_ancestor
diff --git a/app/views/user_mailer/backup_ready.html.haml b/app/views/user_mailer/backup_ready.html.haml
index 85140b08b..465ead2c8 100644
--- a/app/views/user_mailer/backup_ready.html.haml
+++ b/app/views/user_mailer/backup_ready.html.haml
@@ -55,5 +55,5 @@
                             %tbody
                               %tr
                                 %td.button-primary
-                                  = link_to full_asset_url(@backup.dump.url) do
+                                  = link_to download_backup_url(@backup) do
                                     %span= t 'exports.archive_takeout.download'
diff --git a/app/views/user_mailer/backup_ready.text.erb b/app/views/user_mailer/backup_ready.text.erb
index eb89e7d74..8ebbaae85 100644
--- a/app/views/user_mailer/backup_ready.text.erb
+++ b/app/views/user_mailer/backup_ready.text.erb
@@ -4,4 +4,4 @@
 
 <%= t 'user_mailer.backup_ready.explanation' %>
 
-=> <%= full_asset_url(@backup.dump.url) %>
+=> <%= download_backup_url(@backup) %>
diff --git a/app/views/user_mailer/suspicious_sign_in.html.haml b/app/views/user_mailer/suspicious_sign_in.html.haml
index 856f9fb7c..e4ad500c3 100644
--- a/app/views/user_mailer/suspicious_sign_in.html.haml
+++ b/app/views/user_mailer/suspicious_sign_in.html.haml
@@ -45,7 +45,7 @@
                                 = @remote_ip
                                 %br/
                                 %strong= "#{t('sessions.browser')}:"
-                                %span{ title: @user_agent }= t 'sessions.description', browser: t("sessions.browsers.#{@detection.id}", default: "#{@detection.id}"), platform: t("sessions.platforms.#{@detection.platform.id}", default: "#{@detection.platform.id}")
+                                %span{ title: @user_agent }= t 'sessions.description', browser: t("sessions.browsers.#{@detection.id}", default: @detection.id.to_s), platform: t("sessions.platforms.#{@detection.platform.id}", default: @detection.platform.id.to_s)
                                 %br/
                                 = l(@timestamp)
 
diff --git a/app/views/user_mailer/webauthn_credential_added.html.haml b/app/views/user_mailer/webauthn_credential_added.html.haml
index 81de84b56..c91c96d6f 100644
--- a/app/views/user_mailer/webauthn_credential_added.html.haml
+++ b/app/views/user_mailer/webauthn_credential_added.html.haml
@@ -20,7 +20,7 @@
                                       = image_tag full_pack_url('media/images/mailer/icon_lock_open.png'), alt: ''
 
                               %h1= t 'devise.mailer.webauthn_credential.added.title'
-                              %p.lead= "#{t 'devise.mailer.webauthn_credential.added.explanation' }:"
+                              %p.lead= "#{t('devise.mailer.webauthn_credential.added.explanation')}:"
                               %p.lead= @webauthn_credential.nickname
 
 %table.email-table{ cellspacing: 0, cellpadding: 0 }
diff --git a/app/views/user_mailer/webauthn_credential_deleted.html.haml b/app/views/user_mailer/webauthn_credential_deleted.html.haml
index 7b47f0c88..578a08022 100644
--- a/app/views/user_mailer/webauthn_credential_deleted.html.haml
+++ b/app/views/user_mailer/webauthn_credential_deleted.html.haml
@@ -20,7 +20,7 @@
                                       = image_tag full_pack_url('media/images/mailer/icon_lock_open.png'), alt: ''
 
                               %h1= t 'devise.mailer.webauthn_credential.deleted.title'
-                              %p.lead= "#{t 'devise.mailer.webauthn_credential.deleted.explanation' }:"
+                              %p.lead= "#{t('devise.mailer.webauthn_credential.deleted.explanation')}:"
                               %p.lead= @webauthn_credential.nickname
 
 %table.email-table{ cellspacing: 0, cellpadding: 0 }
diff --git a/config/application.rb b/config/application.rb
index c51eacd68..43631c551 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -35,6 +35,7 @@ require_relative '../lib/terrapin/multi_pipe_extensions'
 require_relative '../lib/mastodon/snowflake'
 require_relative '../lib/mastodon/version'
 require_relative '../lib/mastodon/rack_middleware'
+require_relative '../lib/public_file_server_middleware'
 require_relative '../lib/devise/two_factor_ldap_authenticatable'
 require_relative '../lib/devise/two_factor_pam_authenticatable'
 require_relative '../lib/chewy/strategy/mastodon'
@@ -181,6 +182,10 @@ module Mastodon
     config.active_job.queue_adapter = :sidekiq
     config.action_mailer.deliver_later_queue_name = 'mailers'
 
+    # We use our own middleware for this
+    config.public_file_server.enabled = false
+
+    config.middleware.use PublicFileServerMiddleware if Rails.env.development? || ENV['RAILS_SERVE_STATIC_FILES'] == 'true'
     config.middleware.use Rack::Attack
     config.middleware.use Mastodon::RackMiddleware
 
diff --git a/config/environments/development.rb b/config/environments/development.rb
index 29b17a350..a633dfce5 100644
--- a/config/environments/development.rb
+++ b/config/environments/development.rb
@@ -16,15 +16,9 @@ Rails.application.configure do
   # Run rails dev:cache to toggle caching.
   if Rails.root.join('tmp/caching-dev.txt').exist?
     config.action_controller.perform_caching = true
-
     config.cache_store = :redis_cache_store, REDIS_CACHE_PARAMS
-
-    config.public_file_server.headers = {
-      'Cache-Control' => "public, max-age=#{2.days.to_i}",
-    }
   else
     config.action_controller.perform_caching = false
-
     config.cache_store = :null_store
   end
 
@@ -34,9 +28,10 @@ Rails.application.configure do
   end
 
   # Generate random VAPID keys
-  vapid_key = Webpush.generate_key
-  config.x.vapid_private_key = vapid_key.private_key
-  config.x.vapid_public_key = vapid_key.public_key
+  Webpush.generate_key.tap do |vapid_key|
+    config.x.vapid_private_key = vapid_key.private_key
+    config.x.vapid_public_key = vapid_key.public_key
+  end
 
   # Don't care if the mailer can't send.
   config.action_mailer.raise_delivery_errors = false
@@ -76,23 +71,9 @@ Rails.application.configure do
   # Otherwise, use letter_opener, which launches a browser window to view sent mail.
   config.action_mailer.delivery_method = (ENV['HEROKU'] || ENV['VAGRANT'] || ENV['REMOTE_DEV']) ? :letter_opener_web : :letter_opener
 
-  config.after_initialize do
-    Bullet.enable        = true
-    Bullet.bullet_logger = true
-    Bullet.rails_logger  = false
-
-    Bullet.add_safelist type: :n_plus_one_query, class_name: 'User', association: :account
-  end
-
+  # We provide a default secret for the development environment here.
+  # This value should not be used in production environments!
   config.x.otp_secret = ENV.fetch('OTP_SECRET', '1fc2b87989afa6351912abeebe31ffc5c476ead9bf8b3d74cbc4a302c7b69a45b40b1bbef3506ddad73e942e15ed5ca4b402bf9a66423626051104f4b5f05109')
 end
 
 Redis.raise_deprecations = true
-
-ActiveRecordQueryTrace.enabled = ENV['QUERY_TRACE_ENABLED'] == 'true'
-
-module PrivateAddressCheck
-  def self.private_address?(*)
-    false
-  end
-end
diff --git a/config/environments/production.rb b/config/environments/production.rb
index a241621ed..108927060 100644
--- a/config/environments/production.rb
+++ b/config/environments/production.rb
@@ -19,27 +19,16 @@ Rails.application.configure do
   # or in config/master.key. This key is used to decrypt credentials (and other encrypted files).
   # config.require_master_key = true
 
-  # Disable serving static files from the `/public` folder by default since
-  # Apache or NGINX already handles this.
-  config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
-
   ActiveSupport::Logger.new(STDOUT).tap do |logger|
     logger.formatter = config.log_formatter
     config.logger = ActiveSupport::TaggedLogging.new(logger)
   end
 
-  # Compress JavaScripts and CSS.
-  # config.assets.js_compressor = Uglifier.new(mangle: false)
-  # config.assets.css_compressor = :sass
-
   # Do not fallback to assets pipeline if a precompiled asset is missed.
   config.assets.compile = false
 
-  # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
-
   # Specifies the header that your server uses for sending files.
-  # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
-  config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
+  config.action_dispatch.x_sendfile_header = ENV['SENDFILE_HEADER'] if ENV['SENDFILE_HEADER'].present?
 
   # Allow to specify public IP of reverse proxy if it's needed
   config.action_dispatch.trusted_proxies = ENV['TRUSTED_PROXY_IP'].split(/(?:\s*,\s*|\s+)/).map { |item| IPAddr.new(item) } if ENV['TRUSTED_PROXY_IP'].present?
@@ -67,7 +56,7 @@ Rails.application.configure do
 
   # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
   # English when a translation cannot be found).
-  config.i18n.fallbacks = [:en]
+  config.i18n.fallbacks = true
 
   # Send deprecation notices to registered listeners.
   config.active_support.deprecation = :notify
diff --git a/config/environments/test.rb b/config/environments/test.rb
index 9cbf31e8d..1328e155a 100644
--- a/config/environments/test.rb
+++ b/config/environments/test.rb
@@ -12,11 +12,6 @@ Rails.application.configure do
   # preloads Rails for running tests, you may have to set it to true.
   config.eager_load = false
 
-  # Configure public file server for tests with Cache-Control for performance.
-  config.public_file_server.enabled = true
-  config.public_file_server.headers = {
-    'Cache-Control' => "public, max-age=#{1.hour.to_i}"
-  }
   config.assets.digest = false
 
   # Show full error reports and disable caching.
diff --git a/config/locales/activerecord.ka.yml b/config/locales/activerecord.ka.yml
index cdd4f9c4c..cb8a03702 100644
--- a/config/locales/activerecord.ka.yml
+++ b/config/locales/activerecord.ka.yml
@@ -1,13 +1,50 @@
 ---
 ka:
   activerecord:
+    attributes:
+      poll:
+        expires_at: ბოლო ვადა
+        options: არჩევანი
+      user:
+        agreement: მომსახურების ხელშეკრულება
+        email: ელ-ფოსტის მისამართი
+        locale: ლოკალი
+        password: პაროლი
+      user/account:
+        username: მომხმარებლის სახელი
+      user/invite_request:
+        text: მიზეზი
     errors:
       models:
         account:
           attributes:
             username:
               invalid: მხოლოდ ასოები, ციფრები და "ქვედა-ტირე"
+              reserved: რეზერვირებულია
+        admin/webhook:
+          attributes:
+            url:
+              invalid: არასწორი URL
+        doorkeeper/application:
+          attributes:
+            website:
+              invalid: არასწორი URL
+        import:
+          attributes:
+            data:
+              malformed: არასწორად არის ფორმირებული
         status:
           attributes:
             reblog:
               taken: სტატუსის უკვე არსებობს
+        user:
+          attributes:
+            email:
+              blocked: იყენებს აკრძალულ ელ-ფოსტის პროვაიდერს
+              unreachable: როგორც ჩანს, არ არსებობს
+            role_id:
+              elevated: არ შეიძლება იყოს თქვენს ამჟამინდელ როლზე მაღალი
+        user_role:
+          attributes:
+            permissions_as_keys:
+              dangerous: მოიცავს ნებართვებს, რომლებიც არ არის უსაფრთხო საბაზისო როლისთვის
diff --git a/config/locales/activerecord.tt.yml b/config/locales/activerecord.tt.yml
index 5f28508d6..0526634be 100644
--- a/config/locales/activerecord.tt.yml
+++ b/config/locales/activerecord.tt.yml
@@ -5,8 +5,8 @@ tt:
       user:
         email: Почта адресы
         locale: Тел
-        password: Парол
+        password: Серсүз
       user/account:
         username: Кулланучы исеме
       user/invite_request:
-        text: Сәбаб
+        text: Сәбәп
diff --git a/config/locales/an.yml b/config/locales/an.yml
index 2e1a7e36f..0bbed8462 100644
--- a/config/locales/an.yml
+++ b/config/locales/an.yml
@@ -1427,7 +1427,6 @@ an:
       ios: iOS
       linux: Linux
       mac: Mac
-      other: plataforma desconoixida
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/ar.yml b/config/locales/ar.yml
index d72a11130..481f08642 100644
--- a/config/locales/ar.yml
+++ b/config/locales/ar.yml
@@ -1422,6 +1422,7 @@ ar:
     confirm_remove_selected_followers: هل أنت متأكد من أنك تريد إزالة المتابِعين المحددين؟
     confirm_remove_selected_follows: هل أنت متيقِّن من أنك تريد إزالة الاشتراكات المحدَّدة؟
     dormant: في سبات
+    follow_failure: تعذرت متابعة بعض الحسابات المختارة.
     follow_selected_followers: متابَعة المتابِعين المحددين
     followers: المتابِعون
     following: يُتابِع
@@ -1461,6 +1462,7 @@ ar:
       electron: إلكترون
       firefox: فايرفكس
       generic: متصفح مجهول
+      huawei_browser: متصفح هواواي
       ie: إنترنت إكسبلورر
       micro_messenger: مايكرو ميسنجر
       nokia: متصفح Nokia S40 Ovi
@@ -1470,6 +1472,7 @@ ar:
       qq: متصفح كيوكيو
       safari: سفاري
       uc_browser: متصفح UC Browser
+      unknown_browser: متصفح غير معروف
       weibo: وايبو
     current_session: الجلسة الحالية
     description: "%{browser} على %{platform}"
@@ -1482,9 +1485,10 @@ ar:
       chrome_os: نظام كروم أواس
       firefox_os: نظام فايرفكس أواس
       ios: نظام آي أواس
+      kai_os: KaiOS
       linux: لينكس
       mac: ماك
-      other: نظام مجهول
+      unknown_platform: منصة غير معروفة
       windows: ويندوز
       windows_mobile: ويندوز موبايل
       windows_phone: ويندوز فون
diff --git a/config/locales/ast.yml b/config/locales/ast.yml
index b59ebba45..8e6935c09 100644
--- a/config/locales/ast.yml
+++ b/config/locales/ast.yml
@@ -750,6 +750,7 @@ ast:
       electron: Electron
       firefox: Firefox
       generic: Restolador desconocíu
+      huawei_browser: Restolador de Huawei
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Restolador Ovi pa S40 de Nokia
@@ -759,6 +760,7 @@ ast:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Restolador desconocíu
       weibo: Weibo
     current_session: Sesión actual
     ip: IP
@@ -769,9 +771,10 @@ ast:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: GNU/Linux
       mac: macOS
-      other: plataforma desconocida
+      unknown_platform: Plataforma desconocida
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/be.yml b/config/locales/be.yml
index 05c7b7bff..8001703c4 100644
--- a/config/locales/be.yml
+++ b/config/locales/be.yml
@@ -1496,6 +1496,7 @@ be:
       electron: Electron
       firefox: Firefox
       generic: Невядомы браўзер
+      huawei_browser: Браўзер Huawei
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi Browser
@@ -1505,6 +1506,7 @@ be:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Невядомы браўзер
       weibo: Weibo
     current_session: Бягучая сесія
     description: "%{browser} на %{platform}"
@@ -1517,9 +1519,10 @@ be:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: macOS
-      other: невядомай платформе
+      unknown_platform: Невядомая платформа
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/bg.yml b/config/locales/bg.yml
index 34f054275..6cce2b294 100644
--- a/config/locales/bg.yml
+++ b/config/locales/bg.yml
@@ -935,7 +935,7 @@ bg:
       new_trending_tags:
         no_approved_tags: Сега няма одобрени налагащи се хаштагове.
         requirements: 'Всеки от тези кандидати може да надмине #%{rank} одобрен актуален хаштаг, който в момента е #%{lowest_tag_name} с резултат %{lowest_tag_score}.'
-        title: Нашумели хаштагове
+        title: Налагащи се хаштагове
       subject: Нови нашумели, готови за преглед в %{instance}
   aliases:
     add_new: Създаване на псевдоним
@@ -1405,6 +1405,7 @@ bg:
     confirm_remove_selected_followers: Наистина ли искате да премахнете избраните последователи?
     confirm_remove_selected_follows: Наистина ли искате да премахнете избраните последвания?
     dormant: Неактивен
+    follow_failure: Не може да се последват някои от избраните акаунти.
     follow_selected_followers: Последване на избраните последователи
     followers: Последователи
     following: Последвани
@@ -1444,6 +1445,7 @@ bg:
       electron: Electron
       firefox: Firefox
       generic: Неизвестен браузър
+      huawei_browser: Браузър Хуауей
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Браузър Nokia S40 Ovi
@@ -1453,6 +1455,7 @@ bg:
       qq: Браузър QQ
       safari: Safari
       uc_browser: Браузър UC
+      unknown_browser: Неизвестен браузър
       weibo: Weibo
     current_session: Текуща сесия
     description: "%{browser} на %{platform}"
@@ -1465,9 +1468,10 @@ bg:
       chrome_os: ChromeOS
       firefox_os: Оп. сист. Firefox
       ios: iOS
+      kai_os: KaiOS
       linux: Линукс
       mac: macOS
-      other: неизвестна платформа
+      unknown_platform: Неизвестна платформа
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/br.yml b/config/locales/br.yml
index 6be93d292..91a09c002 100644
--- a/config/locales/br.yml
+++ b/config/locales/br.yml
@@ -469,7 +469,6 @@ br:
       ios: iOS
       linux: Linux
       mac: macOS
-      other: savenn dianav
       windows: Windows
     revoke: Dizober
   settings:
diff --git a/config/locales/ca.yml b/config/locales/ca.yml
index 2a459dbde..f722a2515 100644
--- a/config/locales/ca.yml
+++ b/config/locales/ca.yml
@@ -1405,6 +1405,7 @@ ca:
     confirm_remove_selected_followers: Segur que vols esborrar els seguidors seleccionats?
     confirm_remove_selected_follows: Segur que vols esborrar els seguits seleccionats?
     dormant: Inactiu
+    follow_failure: No es poden seguir alguns dels comptes seleccionats.
     follow_selected_followers: Segueix als seguidors seleccionats
     followers: Seguidors
     following: Seguint
@@ -1444,15 +1445,17 @@ ca:
       electron: Electron
       firefox: Firefox
       generic: Navegador desconegut
+      huawei_browser: Navegador Huawei
       ie: Internet Explorer
       micro_messenger: MicroMessenger
-      nokia: Nokia S40 Ovi Browser
+      nokia: Navegador Nokia S40 Ovi
       opera: Opera
       otter: Otter
       phantom_js: PhantomJS
-      qq: QQ Browser
+      qq: Navegador QQ
       safari: Safari
       uc_browser: Navegador UC
+      unknown_browser: Navegador Desconegut
       weibo: Weibo
     current_session: Sessió actual
     description: "%{browser} de %{platform}"
@@ -1465,9 +1468,10 @@ ca:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: Mac
-      other: plataforma desconeguda
+      unknown_platform: Plataforma desconeguda
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/ckb.yml b/config/locales/ckb.yml
index 0f481c8ce..b156f5b49 100644
--- a/config/locales/ckb.yml
+++ b/config/locales/ckb.yml
@@ -941,7 +941,6 @@ ckb:
       firefox_os: سیستەمی کارگێڕی فایەرفۆکس
       linux: لینۆکس
       mac: ماک
-      other: سیستەمیکارگێڕی نەناسراو
       windows: ویندۆز
       windows_mobile: ویندۆزموبایل
       windows_phone: ویندۆزفۆن
diff --git a/config/locales/co.yml b/config/locales/co.yml
index 94f2101c2..4d214f5c4 100644
--- a/config/locales/co.yml
+++ b/config/locales/co.yml
@@ -928,7 +928,6 @@ co:
       ios: iOS
       linux: Linux
       mac: macOS
-      other: piattaforma scunnisciuta
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/cs.yml b/config/locales/cs.yml
index 8c44bba8c..b5f3b0f15 100644
--- a/config/locales/cs.yml
+++ b/config/locales/cs.yml
@@ -635,6 +635,7 @@ cs:
         placeholder: Popište, jaké akce byly vykonány, nebo jakékoliv jiné související aktuality…
         title: Poznámky
       notes_description_html: Zobrazit a zanechat poznámky pro ostatní moderátory i sebe v budoucnu
+      processed_msg: Nahlášení č.%{id} bylo úspěšně zpracováno
       quick_actions_description_html: 'Proveďte rychlou akci nebo skrolujte dolů pro nahlášený obsah:'
       remote_user_placeholder: vzdálený uživatel z %{instance}
       reopen: Znovu otevřít hlášení
@@ -647,6 +648,8 @@ cs:
       status: Stav
       statuses: Nahlášený obsah
       statuses_description_html: Obsah porušující pravidla bude uveden v komunikaci s nahlášeným účtem
+      summary:
+        close_report: Označit nahlášení č.%{id} za vyřešené
       target_origin: Původ nahlášeného účtu
       title: Hlášení
       unassign: Odebrat
@@ -805,6 +808,7 @@ cs:
         suspend: Uživatel %{name} pozastavil účet %{target}
       appeal_approved: Podáno odvolání
       appeal_pending: Čekající odvolání
+      appeal_rejected: Odvolání zamítnuto
     system_checks:
       database_schema_check:
         message_html: Na spuštění čekají databázové migrace. Nechte je prosím proběhnout pro zajištění očekávaného chování aplikace
@@ -1480,6 +1484,7 @@ cs:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Neznámý prohlížeč
       weibo: Weibo
     current_session: Aktuální relace
     description: "%{browser} na systému %{platform}"
@@ -1492,9 +1497,10 @@ cs:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: macOS
-      other: neznámá platforma
+      unknown_platform: Neznámá platforma
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/cy.yml b/config/locales/cy.yml
index f88732988..a50f8f32f 100644
--- a/config/locales/cy.yml
+++ b/config/locales/cy.yml
@@ -1509,6 +1509,7 @@ cy:
     confirm_remove_selected_followers: Ydych chi'n siŵr eich bod am ddileu'r dilynwyr a ddewiswyd?
     confirm_remove_selected_follows: Ydych chi'n siŵr eich bod am ddileu'r canlynol?
     dormant: Segur
+    follow_failure: Methu dilyn rhai o'r cyfrifon a ddewiswyd.
     follow_selected_followers: Dilynwch y dilynwyr a ddewiswyd
     followers: Dilynwyr
     following: Yn dilyn
@@ -1548,6 +1549,7 @@ cy:
       electron: Electron
       firefox: Firefox
       generic: Porwr anhysbys
+      huawei_browser: Porwr Huawei
       ie: Nid yw'r rhaglen hon yn gydnaws ag Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Porwr Nokia S40 Ovi
@@ -1557,6 +1559,7 @@ cy:
       qq: Porwr QQ
       safari: Agor yn Safari
       uc_browser: UC Browser
+      unknown_browser: Porwr Anhysbys
       weibo: Weibo
     current_session: Sesiwn gyfredol
     description: "%{browser} ar %{platform}"
@@ -1569,9 +1572,10 @@ cy:
       chrome_os: ChromeOS
       firefox_os: OS Firefox
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: Mac
-      other: platfform anhysbys
+      unknown_platform: Platfform Anhysbys
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Ffôn Windows
diff --git a/config/locales/da.yml b/config/locales/da.yml
index a75364a79..6110e6eab 100644
--- a/config/locales/da.yml
+++ b/config/locales/da.yml
@@ -580,7 +580,10 @@ da:
         mark_as_sensitive_description_html: Medierne i det anmeldte indlæg markeres som sensitive, og en advarsel (strike) registreres mhp. eskalering ved evt. fremtidige overtrædelser fra samme konto.
         other_description_html: Se flere muligheder relateret til at adfærdshåndtering for, samt tilpasning af kommunikation til, den anmeldte konto.
         resolve_description_html: Ingen foranstaltninger træffes mod den anmeldte konto, ingen advarsel (strike) registreres og anmeldelsen lukkes.
+        silence_description_html: Kontoen vil kun være synlig for følgerene eller dem, som manuelt slå den op, hvilket markant begrænser dens udbredelse. Kan altid omgøres. Lukker alle indrapporteringer af kontoen.
+        suspend_description_html: Kontoen inkl. alt indhold utilgængeliggøres og interaktion umuliggøres, og den slettes på et tidspunkt. Kan omgøres inden for 30 dage. Lukker alle indrapporteringer af kontoen.
       actions_description_html: Afgør, hvilke foranstaltning, der skal træffes for at løse denne anmeldelse. Træffes en straffende foranstaltning mod den anmeldte konto, fremsendes en e-mailnotifikation, undtagen når kategorien <strong>Spam</strong> er valgt.
+      actions_description_remote_html: Fastslå en nødvendig handling mhp. at løse denne anmeldelse. Dette vil kun påvirke <strong>din</strong> servers kommunikation med, og indholdshåndtering for, fjernkontoen.
       add_to_report: Føj mere til anmeldelse
       are_you_sure: Sikker?
       assign_to_self: Tildel til mig
@@ -739,6 +742,7 @@ da:
         preamble: At vise interessant indhold er vitalt ifm. at få nye brugere om bord, som måske ikke kender nogen på Mastodon. Styr, hvordan forskellige opdagelsesfunktioner fungerer på serveren.
         profile_directory: Profiloversigt
         public_timelines: Offentlige tidslinjer
+        publish_discovered_servers: Udgiv fundne servere
         publish_statistics: Udgiv statistik
         title: Opdagelse
         trends: Trends
@@ -971,7 +975,7 @@ da:
     apply_for_account: Anmod om en konto
     change_password: Adgangskode
     confirmations:
-      wrong_email_hint: Er denne e-mail-adresse ikke korrekt, kan den ændres i kontoindstillinger.
+      wrong_email_hint: Er denne e-mailadresse ikke korrekt, kan den ændres i kontoindstillinger.
     delete_account: Slet konto
     delete_account_html: Ønsker du at slette din konto, kan du <a href="%{path}">gøre dette hér</a>. Du vil blive bedt om bekræftelse.
     description:
@@ -1399,7 +1403,9 @@ da:
     activity: Kontoaktivitet
     confirm_follow_selected_followers: Sikker på, at de valgte følgere skal følges?
     confirm_remove_selected_followers: Sikker på, at de valgte følgere skal fjernes?
+    confirm_remove_selected_follows: Sikker på, at de valgte følgere skal fjernes?
     dormant: I dvale
+    follow_failure: Kunne ikke følge alle af de valgte konti.
     follow_selected_followers: Følg valgte følgere
     followers: Følgere
     following: Følger
@@ -1439,6 +1445,7 @@ da:
       electron: Electron
       firefox: Firefox
       generic: Ukendt browser
+      huawei_browser: Huawei Browser
       ie: IE
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi Browser
@@ -1448,6 +1455,7 @@ da:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Ukendt browser
       weibo: Weibo
     current_session: Aktuelle session
     description: "%{browser} på %{platform}"
@@ -1460,9 +1468,10 @@ da:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: macOS
-      other: ukendt platform
+      unknown_platform: Ukendt platform
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/de.yml b/config/locales/de.yml
index 3f2666bdb..82bfc221e 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -12,12 +12,12 @@ de:
       one: Follower
       other: Folgende
     following: Folge ich
-    instance_actor_flash: Dieses Konto ist ein virtueller Akteur, der den Server selbst repräsentiert und nicht ein einzelner Benutzer. Es wird für Föderationszwecke verwendet und sollte nicht gesperrt werden.
+    instance_actor_flash: Dieses Konto ist ein virtueller Akteur, der den Server selbst repräsentiert, und kein persönliches Profil. Es wird für Föderationszwecke verwendet und sollte daher nicht gesperrt werden.
     last_active: zuletzt aktiv
     link_verified_on: Das Profil mit dieser E-Mail-Adresse wurde bereits am %{date} bestätigt
     nothing_here: Keine Treffer mit dieser Auswahl
     pin_errors:
-      following: Du musst dieser Person bereits folgen, um sie empfehlen zu können
+      following: Du musst dieser Person folgen, um sie empfehlen zu können
     posts:
       one: Beitrag
       other: Beiträge
@@ -29,7 +29,7 @@ de:
     account_moderation_notes:
       create: Notiz abspeichern
       created_msg: Moderationshinweis erfolgreich abgespeichert!
-      destroyed_msg: Moderationsnotiz erfolgreich gelöscht!
+      destroyed_msg: Moderationsnotiz erfolgreich entfernt!
     accounts:
       add_email_domain_block: E-Mail-Domain sperren
       approve: Genehmigen
@@ -58,7 +58,7 @@ de:
       demote: Zurückstufen
       destroyed_msg: Daten von %{username} wurden zum Löschen in die Warteschlange eingereiht
       disable: Einfrieren
-      disable_sign_in_token_auth: Deaktiviere die Zwei-Faktor-Authentisierung (2FA) per E-Mail
+      disable_sign_in_token_auth: E-Mail-Token-Authentisierung deaktivieren
       disable_two_factor_authentication: Zwei-Faktor-Authentisierung (2FA) deaktivieren
       disabled: Eingefroren
       display_name: Angezeigter Name
@@ -67,7 +67,7 @@ de:
       email: E-Mail-Adresse
       email_status: Status der E-Mail-Adresse
       enable: Freischalten
-      enable_sign_in_token_auth: Aktiviere die Zwei-Faktor-Authentisierung (2FA) per E-Mail
+      enable_sign_in_token_auth: E-Mail-Token-Authentisierung aktivieren
       enabled: Freigegeben
       enabled_msg: Konto von %{username} erfolgreich freigegeben
       followers: Follower
@@ -105,10 +105,10 @@ de:
       not_subscribed: Nicht abonniert
       pending: Überprüfung ausstehend
       perform_full_suspension: Sperren
-      previous_strikes: Vorherige Verstöße
+      previous_strikes: Vorherige Maßnahmen
       previous_strikes_description_html:
-        one: Dieses Konto hat <strong>einen</strong> Verstoß.
-        other: Dieses Konto hat <strong>%{count}</strong> Verstöße.
+        one: Gegen dieses Konto wurde <strong>eine</strong> Maßnahme verhängt.
+        other: Gegen dieses Konto wurden <strong>%{count}</strong> Maßnahmen verhängt.
       promote: Berechtigungen erweitern
       protocol: Protokoll
       public: Öffentlich
@@ -259,7 +259,7 @@ de:
         destroy_user_role_html: "%{name} löschte die Rolle %{target}"
         disable_2fa_user_html: "%{name} hat die Zwei-Faktor-Authentisierung für %{target} deaktiviert"
         disable_custom_emoji_html: "%{name} deaktivierte das Emoji %{target}"
-        disable_sign_in_token_auth_user_html: "%{name} hat die E-Mail-Token-Authentifizierung für %{target} deaktiviert"
+        disable_sign_in_token_auth_user_html: "%{name} hat die E-Mail-Token-Authentisierung für %{target} deaktiviert"
         disable_user_html: "%{name} hat den Zugang für %{target} deaktiviert"
         enable_custom_emoji_html: "%{name} aktivierte das Emoji %{target}"
         enable_sign_in_token_auth_user_html: "%{name} hat die E-Mail-Token-Authentifizierung für %{target} aktiviert"
@@ -441,7 +441,7 @@ de:
       import:
         description_html: Du bist dabei, eine Liste von Domains zu importieren, die auf diesem Server gesperrt oder anderweitig eingeschränkt werden. Bitte überprüfe diese Liste sehr sorgfältig, insbesondere dann, wenn du sie nicht selbst erstellt hast.
         existing_relationships_warning: Bestehende Folgebeziehungen
-        private_comment_description_html: 'Damit du später nachvollziehen kannst, woher die importierten Sperren stammen, kannst du diesem Eintrag eine private Notiz hinzufügen: <q>%{comment}</q>'
+        private_comment_description_html: 'Damit du später nachvollziehen kannst, woher die importierten Sperren stammen, werden sie mit diesem privaten Kommentar erstellt: <q>%{comment}</q>'
         private_comment_template: Importiert von %{source} am %{date}
         title: Domains importieren
       invalid_domain_block: 'Ein oder mehrere Domainsperren wurden wegen folgenden Fehler(n) übersprungen: %{error}'
@@ -452,19 +452,19 @@ de:
       description_html: "<strong>Folgeempfehlungen helfen neuen Nutzer*innen, interessante Inhalte schnell zu finden</strong>. Wenn ein*e Nutzer*in noch nicht genug mit anderen interagiert hat, um personalisierte Folgeempfehlungen zu erhalten, werden stattdessen diese Profile verwendet. Sie werden täglich, basierend auf einer Mischung aus am meisten interagierenden Konten und jenen mit den meisten Followern für eine bestimmte Sprache, neu berechnet."
       language: Für Sprache
       status: Status
-      suppress: Folgeempfehlungen unterdrücken
+      suppress: Folgeempfehlung unterbinden
       suppressed: Unterdrückt
       title: Folgeempfehlungen
-      unsuppress: Nicht mehr unterdrücken
+      unsuppress: Folgeempfehlung nicht mehr unterbinden
     instances:
       availability:
         description_html:
-          one: Wenn die Zustellung an die Domain seit <strong>%{count} Tag</strong> erfolglos bleibt, werden keine weiteren Auslieferungsversuche unternommen, es sei denn, eine Zustellung <em>von</em> dieser Domain wird empfangen.
-          other: Wenn die Zustellung an die Domain seit <strong>%{count} Tagen</strong> erfolglos bleibt, werden keine weiteren Zustellungsversuche unternommen, es sei denn, eine Zustellung <em>von</em> dieser Domain wird empfangen.
+          one: Wenn die Zustellung an die Domain <strong>%{count} Tag</strong> lang erfolglos bleibt, werden keine weiteren Zustellversuche unternommen, bis eine Zustellung <em>von</em> der Domain empfangen wird.
+          other: Wenn die Zustellung an die Domain an <strong>%{count} unterschiedlichen Tagen</strong> erfolglos bleibt, werden keine weiteren Zustellversuche unternommen, bis eine Zustellung <em>von</em> der Domain empfangen wird.
         failure_threshold_reached: Fehlschlag-Schwelle am %{date} erreicht.
         failures_recorded:
-          one: Fehlgeschlagener Versuch am %{count}. Tag.
-          other: Fehlgeschlagener Versuch am %{count}. Tag.
+          one: Fehlgeschlagener Versuch an %{count} Tag.
+          other: Fehlgeschlagene Versuche an %{count} unterschiedlichen Tagen.
         no_failures_recorded: Keine Fehler bei der Aufzeichnung.
         title: Verfügbarkeit
         warning: Der letzte Versuch, sich mit diesem Server zu verbinden, war nicht erfolgreich
@@ -472,7 +472,7 @@ de:
       back_to_limited: Stummgeschaltet
       back_to_warning: Warnung
       by_domain: Domain
-      confirm_purge: Bist du dir sicher, dass du die Daten für diese Domain für immer löschen möchtest?
+      confirm_purge: Bist du dir sicher, dass du die Daten von dieser Domain dauerhaft löschen möchtest?
       content_policies:
         comment: Interne Notiz
         description_html: Du kannst Inhaltsrichtlinien definieren, die auf alle Konten dieser Domain und einer ihrer Subdomains angewendet werden.
@@ -503,7 +503,7 @@ de:
         unavailable: Nicht verfügbar
       delivery_available: Zustellung funktioniert
       delivery_error_days: Tage der fehlerhaften Zustellung
-      delivery_error_hint: Wenn eine Auslieferung %{count} Tage lang nicht möglich ist, wird sie automatisch als unzustellbar markiert.
+      delivery_error_hint: Wenn eine Zustellung %{count} Tage lang nicht möglich ist, wird sie automatisch als unzustellbar markiert.
       destroyed_msg: Daten von %{domain} sind nun in der Warteschlange für die bevorstehende Löschung.
       empty: Keine Domains gefunden.
       known_accounts:
@@ -556,7 +556,7 @@ de:
       disable: Ausschalten
       disabled: Ausgeschaltet
       enable: Einschalten
-      enable_hint: Sobald aktiviert, wird dein Server alle öffentlichen Beiträge dieses Relays abonnieren und alle öffentlichen Beiträge dieses Servers an dieses senden.
+      enable_hint: Sobald aktiviert, wird dein Server alle öffentlichen Beiträge dieses Relais abonnieren und alle öffentlichen Beiträge dieses Servers an dieses senden.
       enabled: Eingeschaltet
       inbox_url: Relay-URL
       pending: Warte auf Zustimmung des Relays
@@ -566,8 +566,8 @@ de:
       status: Status
       title: Relais
     report_notes:
-      created_msg: Meldungs-Kommentar erfolgreich erstellt!
-      destroyed_msg: Meldungs-Kommentar erfolgreich gelöscht!
+      created_msg: Notiz zur Meldung erfolgreich erstellt!
+      destroyed_msg: Notiz zur Meldung erfolgreich entfernt!
     reports:
       account:
         notes:
@@ -576,27 +576,27 @@ de:
       action_log: Protokoll
       action_taken_by: Maßnahme ergriffen von
       actions:
-        delete_description_html: Der gemeldete Beitrag wird gelöscht und ein Strike wird aufgezeichnet, um dir bei zukünftigen Verstößen des gleichen Accounts zu helfen.
+        delete_description_html: Der gemeldete Beitrag wird gelöscht und die ergriffene Maßnahme wird aufgezeichnet, um dir bei zukünftigen Verstößen des gleichen Kontos zu helfen.
         mark_as_sensitive_description_html: Die Medien in den gemeldeten Beiträgen werden mit einer Inhaltswarnung versehen und ein Verstoß wird vermerkt, um bei zukünftigen Verstößen desselben Kontos besser reagieren zu können.
         other_description_html: Weitere Optionen zur Steuerung des Kontoverhaltens und zur Anpassung der Kommunikation mit dem gemeldeten Konto.
-        resolve_description_html: Es wird keine Maßnahme gegen das gemeldete Konto ergriffen, es wird kein Strike verzeichnet und die Meldung wird geschlossen.
+        resolve_description_html: Es wird keine Maßnahme gegen das gemeldete Konto ergriffen und der Vorgang wird nicht aufgezeichnet – die Meldung wird hiermit geschlossen.
         silence_description_html: Das Konto wird nur für diejenigen sichtbar sein, die dem Konto bereits folgen oder es manuell suchen, was die Reichweite stark einschränkt. Kann jederzeit rückgängig gemacht werden. Alle Meldungen zu diesem Konto werden geschlossen.
         suspend_description_html: Das Konto und alle Inhalte werden unzugänglich und ggf. gelöscht. Eine Interaktion mit dem Konto wird unmöglich. Dies kann innerhalb von 30 Tagen rückgängig gemacht werden. Alle Meldungen zu diesem Konto werden geschlossen.
       actions_description_html: Entscheide, welche Maßnahmen zur Lösung dieses Berichts zu ergreifen sind. Wenn du eine Strafmaßnahme gegen das gemeldete Konto ergreifst, wird eine E-Mail-Benachrichtigung an diese gesendet, außer wenn die <strong>Spam</strong>-Kategorie ausgewählt ist.
       actions_description_remote_html: Entscheide, welche Maßnahmen du zur Lösung dieser Meldungen ergreifen möchtest. Dies wirkt sich lediglich darauf aus, wie <strong>dein</strong> Server mit diesem externen Konto kommuniziert und dessen Inhalt handhabt.
-      add_to_report: Mehr zur Meldung hinzufügen
+      add_to_report: Meldung ergänzen
       are_you_sure: Bist du dir sicher?
       assign_to_self: Mir zuweisen
       assigned: Zugewiesene*r Moderator*in
       by_target_domain: Domain des gemeldeten Kontos
       cancel: Abbrechen
       category: Kategorie
-      category_description_html: Der Grund, warum dieses Konto und/oder der Inhalt gemeldet wurden, wird in der Kommunikation mit dem gemeldeten Konto zitiert
+      category_description_html: Der Grund, weshalb dieses Konto und/oder der Inhalt gemeldet worden ist, wird in der Kommunikation mit dem gemeldeten Konto erwähnt
       comment:
         none: Kein
-      comment_description_html: 'Um weitere Informationen bereitzustellen, schrieb %{name} Folgendes:'
+      comment_description_html: "%{name} ergänzte die Meldung um folgende Hinweis:"
       confirm: Bestätigen
-      confirm_action: Moderationsaktion gegen @%{acct} bestätigen
+      confirm_action: Maßnahme gegen @%{acct} bestätigen
       created_at: Gemeldet
       delete_and_resolve: Beiträge löschen
       forwarded: Weitergeleitet
@@ -617,12 +617,12 @@ de:
       quick_actions_description_html: 'Eine schnelle Aktion ausführen oder nach unten rolle, um gemeldete Inhalte zu sehen:'
       remote_user_placeholder: das externe Profil von %{instance}
       reopen: Meldung wieder eröffnen
-      report: 'Meldung #%{id}'
+      report: "%{id}. Meldung"
       reported_account: Gemeldetes Konto
       reported_by: Gemeldet von
       resolved: Gelöst
-      resolved_msg: Meldung erfolgreich gelöst!
-      skip_to_actions: Zu Aktionen springen
+      resolved_msg: Meldung erfolgreich geklärt!
+      skip_to_actions: Zur Maßnahme springen
       status: Status
       statuses: Gemeldeter Inhalt
       statuses_description_html: Störende Inhalte werden in der Kommunikation mit dem gemeldeten Konto zitiert
@@ -646,7 +646,7 @@ de:
         warning_placeholder: Optional zusätzliche Begründung für die Moderationsmaßnahme.
       target_origin: Domain des gemeldeten Kontos
       title: Meldungen
-      unassign: Zuweisung entfernen
+      unassign: Zuweisung aufheben
       unknown_action_msg: 'Unbekannte Aktion: %{action}'
       unresolved: Ungelöst
       updated_at: Aktualisiert
@@ -742,7 +742,7 @@ de:
         preamble: Das Auffinden interessanter Inhalte ist wichtig, um neue Nutzer einzubinden, die Mastodon noch nicht kennen. Bestimme, wie verschiedene Suchfunktionen auf deinem Server funktionieren.
         profile_directory: Profilverzeichnis
         public_timelines: Öffentliche Timeline
-        publish_discovered_servers: Veröffentliche bekannte Server
+        publish_discovered_servers: Entdeckte Server offenlegen
         publish_statistics: Statistiken veröffentlichen
         title: Entdecken
         trends: Trends
@@ -789,11 +789,11 @@ de:
       with_media: Mit Medien
     strikes:
       actions:
-        delete_statuses: "%{name} hat die Beiträge von %{target} entfernt"
+        delete_statuses: "%{name} entfernte die Beiträge von %{target}"
         disable: "%{name} fror das Konto von %{target} ein"
         mark_statuses_as_sensitive: "%{name} hat die Beiträge von %{target} mit einer Inhaltswarnung versehen"
-        none: "%{name} hat eine Warnung an %{target} gesendet"
-        sensitive: "%{name} hat das Profil von %{target} mit einer Inhaltswarnung versehen"
+        none: "%{name} schickte eine Warnung an %{target}"
+        sensitive: "%{name} versah das Konto von %{target} mit einer Inhaltswarnung"
         silence: "%{name} schaltete das Konto von %{target} stumm"
         suspend: "%{name} sperrte das Konto von %{target}"
       appeal_approved: Einspruch angenommen
@@ -939,7 +939,7 @@ de:
       subject: Neue Trends zur Überprüfung auf %{instance}
   aliases:
     add_new: Alias erstellen
-    created_msg: Ein neuer Alias wurde erfolgreich erstellt. Du kannst nun den Wechsel vom alten Konto starten.
+    created_msg: Neuer Alias erfolgreich erstellt. Du kannst nun den Umzug vom alten zum neuen Konto starten.
     deleted_msg: Der Alias wurde erfolgreich entfernt. Aus jenem Konto zu diesem zu verschieben, ist nicht mehr möglich.
     empty: Du hast keine Aliase.
     hint_html: Wenn du von einem Konto zu einem anderen Konto wechseln möchtest, dann kannst du einen Alias erstellen, welcher benötigt wird, bevor du deine Follower vom alten Account zu diesen migrierst. Die Aktion allein ist <strong>harmlos und wi­der­ruf­lich</strong>. <strong>Die Kontenmigration wird vom alten Konto aus eingeleitet</strong>.
@@ -975,7 +975,7 @@ de:
     apply_for_account: Konto beantragen
     change_password: Passwort
     confirmations:
-      wrong_email_hint: Wenn diese E-Mail-Adresse nicht korrekt ist, kann sie in den Kontoeinstellungen geändert werden.
+      wrong_email_hint: Sollte diese E-Mail-Adresse nicht korrekt sein, kannst du sie in den Kontoeinstellungen ändern.
     delete_account: Konto löschen
     delete_account_html: Falls du dein Konto endgültig löschen möchtest, kannst du das <a href="%{path}">hier vornehmen</a>. Du musst dies zusätzlich bestätigen.
     description:
@@ -983,10 +983,10 @@ de:
       prefix_sign_up: Registriere dich noch heute bei Mastodon!
       suffix: Mit einem Konto kannst du Profilen folgen, neue Beiträge veröffentlichen, Nachrichten mit Personen von jedem Mastodon-Server austauschen und vieles mehr!
     didnt_get_confirmation: Keine Bestätigungsanweisungen erhalten?
-    dont_have_your_security_key: Hast du keinen Sicherheitsschlüssel?
+    dont_have_your_security_key: Du hast keinen Sicherheitsschlüssel?
     forgot_password: Passwort vergessen?
     invalid_reset_password_token: Das Token zum Zurücksetzen des Passworts ist ungültig oder abgelaufen. Bitte fordere ein neues an.
-    link_to_otp: Gib einen Zwei-Faktor-Code von deinem Handy oder einen Wiederherstellungscode ein
+    link_to_otp: Gib einen Zwei-Faktor-Code von deinem Smartphone oder einen Wiederherstellungscode ein
     link_to_webauth: Verwende dein Sicherheitsschlüsselgerät
     log_in_with: Anmelden mit
     login: Anmelden
@@ -1017,7 +1017,7 @@ de:
       preamble_html: Melde dich mit deinen Zugangsdaten für <strong>%{domain}</strong> an. Solltest du dein Konto auf einem anderen Server registriert haben, ist eine Anmeldung hier nicht möglich.
       title: Bei %{domain} anmelden
     sign_up:
-      preamble: Mit einem Account auf diesem Mastodon-Server kannst du jeder anderen Person im Netzwerk folgen, unabhängig davon, wo ihr Account gehostet wird.
+      preamble: Mit einem Konto auf diesem Mastodon-Server kannst du jeder anderen Person im Netzwerk folgen, unabhängig davon, wo ihr Account gehostet ist.
       title: Okay, lass uns mit %{domain} anfangen.
     status:
       account_status: Kontostatus
@@ -1030,7 +1030,7 @@ de:
     use_security_key: Sicherheitsschlüssel verwenden
   authorize_follow:
     already_following: Du folgst diesem Konto bereits
-    already_requested: Du hast bereits eine Anfrage zum Folgen diesen Accounts gestellt
+    already_requested: Du hast bereits eine Folgeanfrage an dieses Konto gestellt
     error: Bedauerlicherweise konnte das externe Konto nicht geladen werden
     follow: Folgen
     follow_request: 'Du hast eine Folgeanfrage gestellt an:'
@@ -1038,7 +1038,7 @@ de:
     post_follow:
       close: Oder du schließt einfach dieses Fenster.
       return: Benutzerprofil anzeigen
-      web: In der Benutzeroberfläche öffnen
+      web: Im Webinterface öffnen
     title: "%{acct} folgen"
   challenge:
     confirm: Fortfahren
@@ -1052,21 +1052,21 @@ de:
   date:
     formats:
       default: "%d. %b %Y"
-      with_month_name: "%B %d, %Y"
+      with_month_name: "%d. %B %Y"
   datetime:
     distance_in_words:
-      about_x_hours: "%{count} h"
+      about_x_hours: "%{count} Std."
       about_x_months: "%{count} Mon."
-      about_x_years: "%{count} J"
-      almost_x_years: "%{count} J"
+      about_x_years: "%{count} J."
+      almost_x_years: "%{count} J."
       half_a_minute: Gerade eben
-      less_than_x_minutes: "%{count} Min"
+      less_than_x_minutes: "%{count} Min."
       less_than_x_seconds: Gerade eben
-      over_x_years: "%{count}J"
-      x_days: "%{count}T"
-      x_minutes: "%{count}m"
-      x_months: "%{count}mo"
-      x_seconds: "%{count}s"
+      over_x_years: "%{count} J."
+      x_days: "%{count} T."
+      x_minutes: "%{count} Min."
+      x_months: "%{count} Mon."
+      x_seconds: "%{count} Sek."
   deletes:
     challenge_not_passed: Die eingegebenen Informationen waren nicht korrekt
     confirm_password: Gib dein derzeitiges Passwort ein, um deine Identität zu bestätigen
@@ -1075,18 +1075,18 @@ de:
     success_msg: Dein Konto wurde erfolgreich gelöscht
     warning:
       before: 'Bevor du fortfährst, lies bitte diese Punkte sorgfältig durch:'
-      caches: Inhalte, die von anderen Servern zwischengespeichert wurden, können weiterhin bestehen
+      caches: Inhalte, die von anderen Servern zwischengespeichert wurden, können fortbestehen
       data_removal: Deine Beiträge und alle anderen Daten werden für immer entfernt
       email_change_html: Du kannst <a href="%{path}">deine E-Mail-Adresse ändern</a>, ohne dein Konto zu löschen
-      email_contact_html: Wenn die Bestätigungs-E-Mail immer noch nicht ankam, kannst du eine E-Mail an <a href="mailto:%{email}">%{email}</a> senden, um weitere Hilfe zu erhalten
+      email_contact_html: Sollte sie noch immer nicht angekommen sein, kannst du eine E-Mail an <a href="mailto:%{email}">%{email}</a> schicken, um weitere Hilfe zu erhalten
       email_reconfirmation_html: Wenn du die Bestätigungs-E-Mail nicht erhalten hast, kannst du sie <a href="%{path}">erneut anfordern</a>
-      irreversible: Du kannst dein Konto nicht mehr wiederherstellen oder reaktivieren
+      irreversible: Du wirst dein Konto nicht mehr wiederherstellen oder reaktivieren können
       more_details_html: Weitere Details findest du in der <a href="%{terms_path}">Datenschutzerklärung</a>.
       username_available: Dein Profilname wird wieder verfügbar sein
       username_unavailable: Dein Profilname wird auch nach dem Löschen für andere nicht zugänglich sein
   disputes:
     strikes:
-      action_taken: Maßnahme ergriffen
+      action_taken: Maßnahme
       appeal: Einspruch
       appeal_approved: Dieser Verstoß wurde erfolgreich angefochten und ist nicht mehr gültig
       appeal_rejected: Der Einspruch wurde abgelehnt
@@ -1097,28 +1097,28 @@ de:
       approve_appeal: Einspruch annehmen
       associated_report: Zugehöriger Bericht
       created_at: Datum
-      description_html: Dies sind Aktionen gegen dein Konto und Warnungen, die von den Mitarbeitern von %{instance} an dich gesendet wurden.
+      description_html: Dies sind Maßnahmen, die gegen dein Konto ergriffen worden sind, und Warnungen, die dir die Mitarbeiter*innen von %{instance} geschickt haben.
       recipient: Adressiert an
       reject_appeal: Einspruch ablehnen
-      status: 'Beitrag #%{id}'
+      status: "%{id}. Beitrag"
       status_removed: Beitrag bereits vom System entfernt
       title: "%{action} vom %{date}"
       title_actions:
         delete_statuses: Beitragsentfernung
-        disable: Einfrieren des Kontos
+        disable: Konto einfrieren
         mark_statuses_as_sensitive: Beiträge mit einer Inhaltswarnung versehen
-        none: Warnung
+        none: Verwarnung
         sensitive: Profil mit einer Inhaltswarnung versehen
         silence: Kontobeschränkung
         suspend: Kontosperre
       your_appeal_approved: Dein Einspruch wurde angenommen
-      your_appeal_pending: Du hast Einspruch eingelegt
+      your_appeal_pending: Du hast Einspruch erhoben
       your_appeal_rejected: Dein Einspruch wurde abgelehnt
   domain_validator:
-    invalid_domain: ist kein gültiger Domain-Name
+    invalid_domain: ist keine gültige Domain
   errors:
-    '400': Die Anfrage, die du gesendet hast, war ungültig oder fehlerhaft.
-    '403': Dir fehlt die Befugnis, diese Seite sehen zu können.
+    '400': Die Anfrage, die du gestellt hast, war ungültig oder fehlerhaft.
+    '403': Dir fehlt die Berechtigung, diese Seite aufzurufen.
     '404': Die Seite, nach der du gesucht hast, wurde nicht gefunden.
     '406': Diese Seite ist im gewünschten Format nicht verfügbar.
     '410': Die Seite, nach der du gesucht hast, existiert hier nicht mehr.
@@ -1163,12 +1163,12 @@ de:
       thread: Unterhaltungen
     edit:
       add_keyword: Schlagwort hinzufügen
-      keywords: Schlagworte
+      keywords: Schlagwörter
       statuses: Individuelle Beiträge
-      statuses_hint_html: Dieser Filter gilt für die Auswahl einzelner Beiträge, unabhängig davon, ob sie mit den unten stehenden Schlüsselwörtern übereinstimmen. <a href="%{path}">Beiträge im Filter ansehen oder entfernen.</a>.
+      statuses_hint_html: Dieser Filter gilt für die Auswahl einzelner Beiträge, unabhängig davon, ob sie mit den unten aufgeführten Schlagwörtern übereinstimmen. <a href="%{path}">Beiträge überprüfen oder aus dem Filter entfernen</a>.
       title: Filter bearbeiten
     errors:
-      deprecated_api_multiple_keywords: Diese Parameter können von dieser Anwendung nicht geändert werden, da sie auf mehr als ein Filterschlüsselwort angewendet werden. Verwende eine neuere Anwendung oder das Webinterface.
+      deprecated_api_multiple_keywords: Diese Parameter können von dieser Anwendung nicht geändert werden, da sie für mehr als ein Filterschlagwort gelten. Verwende eine aktuellere Anwendung oder das Webinterface.
       invalid_context: Ungültiger oder fehlender Kontext übergeben
     index:
       contexts: Filter in %{contexts}
@@ -1177,8 +1177,8 @@ de:
       expires_in: Läuft ab in %{distance}
       expires_on: Läuft am %{date} ab
       keywords:
-        one: "%{count} Schlagworte"
-        other: "%{count} Stichwörter"
+        one: "%{count} Schlagwort"
+        other: "%{count} Schlagwörter"
       statuses:
         one: "%{count} Beitrag"
         other: "%{count} Beiträge"
@@ -1268,7 +1268,7 @@ de:
       sign_in_token: E-Mail-Sicherheitscode
       webauthn: Sicherheitsschlüssel
     description_html: Wenn du verdächtige Aktivitäten bemerkst, die du nicht verstehst oder zuordnen kannst, solltest du dringend dein Passwort ändern und ungeachtet dessen die Zwei-Faktor-Authentisierung (2FA) aktivieren.
-    empty: Kein Authentifizierungsverlauf verfügbar
+    empty: Kein Authentisierungsverlauf verfügbar
     failed_sign_in_html: Fehler beim Anmeldeversuch mit %{method} von %{ip} (%{browser})
     successful_sign_in_html: Erfolgreiche Anmeldung mit %{method} von %{ip} (%{browser})
     title: Authentifizierungsverlauf
@@ -1294,20 +1294,20 @@ de:
     moved_msg: Dein altes Profil wird jetzt zum neuen Account %{acct} weitergeleitet und deine Follower werden übertragen.
     not_redirecting: Dein Konto wird derzeit nicht auf ein anderes Konto weitergeleitet.
     on_cooldown: Du hast dein Konto vor kurzem migriert. Diese Funktion wird in %{count} Tagen wieder verfügbar sein.
-    past_migrations: Vorherige Migrationen
+    past_migrations: Vorherige Umzüge
     proceed_with_move: Follower übertragen
     redirected_msg: Dein Konto wird nun zu %{acct} weitergeleitet.
     redirecting_to: Dein Konto wird zu %{acct} weitergeleitet.
     set_redirect: Umleitung einrichten
     warning:
-      backreference_required: Das neue Konto muss zuerst so konfiguriert werden, dass es auf das alte Konto referenziert
+      backreference_required: Das neue Konto muss zuerst auf das alte Konto verweisen
       before: 'Bevor du fortfährst, lies bitte diese Hinweise sorgfältig durch:'
-      cooldown: Nach dem Migrieren wird es eine Abklingzeit geben, in der du das Konto nicht noch einmal migrieren kannst
-      disabled_account: Dein aktuelles Konto wird nachher nicht vollständig nutzbar sein. Du hast jedoch Zugriff auf den Datenexport sowie die Reaktivierung.
-      followers: Alle Follower werden vom aktuellen zum neuen Konto übertragen
-      only_redirect_html: Alternativ kannst du <a href="%{path}">nur eine Weiterleitung auf dein Profil</a> erstellen.
-      other_data: Keine anderen Daten werden automatisch verschoben
-      redirect: Das Profil deines aktuellen Kontos wird mit einer Weiterleitungsnachricht versehen und von Suchanfragen ausgeschlossen
+      cooldown: Nach dem Umzug wird es eine Weile dauern, bis du erneut umziehen darfst
+      disabled_account: Dein altes Konto ist nur noch eingeschränkt nutzbar. Du kannst jedoch deine Daten exportieren und das Konto wieder reaktivieren.
+      followers: Alle Follower werden vom alten zum neuen Konto übertragen
+      only_redirect_html: Alternativ kannst du auch <a href="%{path}">nur eine Weiterleitung zu deinem neuen Profil</a> einrichten, ohne die Follower zu übertragen.
+      other_data: Keine anderen Daten werden automatisch zum neuen Konto übertragen
+      redirect: Dein altes Konto wird einen Hinweis erhalten, dass Du umgezogen bist. Außerdem wird das Profil von Suchanfragen ausgeschlossen
   moderation:
     title: Moderation
   move_handler:
@@ -1331,7 +1331,7 @@ de:
       subject: "%{name} folgt dir jetzt"
       title: Neuer Follower
     follow_request:
-      action: Verwalte Folge-Anfragen
+      action: Folgeanfragen verwalten
       body: "%{name} möchte dir folgen"
       subject: 'Ausstehende Folgeanfragen: %{name}'
       title: Neue Folgeanfrage
@@ -1362,13 +1362,13 @@ de:
           billion: Mrd
           million: Mio
           quadrillion: Q
-          thousand: Tsd
+          thousand: Tsd.
           trillion: T
   otp_authentication:
     code_hint: Gib den Code ein, den deine 2FA- bzw. TOTP-App generiert hat, um den Vorgang zu bestätigen
     description_html: Wenn du die <strong>Zwei-Faktor-Authentisierung</strong> (2FA) mit einer Authentifizierungs-App deines Smartphones aktivierst, benötigst du neben dem regulären Passwort zusätzlich auch den zeitbasierten Code der 2FA-App, um dich anmelden zu können.
     enable: Aktivieren
-    instructions_html: "<strong>Scanne diesen QR-Code mit einer TOTP-App (wie dem Google Authenticator)</strong>. Die 2FA-App generiert dann zeitbasierte Codes, die du beim Login zusätzlich zum regulären Passwort eingeben musst."
+    instructions_html: "<strong>Scanne diesen QR-Code mit einer beliebigen Authentisierungs-App (TOTP)</strong>. Diese App generiert dann zeitbasierte Codes, die du beim Anmelden zusätzlich zum regulären Passwort eingeben musst."
     manual_instructions: Wenn du den QR-Code nicht einscannen kannst, sondern die Zahlenfolge manuell eingeben musst, ist hier der geheime Token für deine 2FA-App.
     setup: Einrichten
     wrong_code: Der eingegebene Code ist ungültig! Laufen Serverzeit und Gerätezeit synchron?
@@ -1405,33 +1405,34 @@ de:
     confirm_remove_selected_followers: Bist du sicher, dass du den ausgewählten Konten entfolgen möchtest?
     confirm_remove_selected_follows: Bist du sicher, dass du den ausgewählten Konten entfolgen möchtest?
     dormant: Inaktiv
+    follow_failure: Einigen der ausgewählten Konten konnte nicht gefolgt werden.
     follow_selected_followers: Ausgewählten Followern folgen
     followers: Follower
     following: Folge ich
     invited: Eingeladen
     last_active: Zuletzt aktiv
-    most_recent: Neuste
+    most_recent: Neueste
     moved: Umgezogen
     mutual: Gegenseitig
     primary: Primär
     relationship: Beziehung
-    remove_selected_domains: Entferne alle Follower von den ausgewählten Domains
-    remove_selected_followers: Entferne ausgewählte Follower
-    remove_selected_follows: Ausgewählten Benutzer*innen entfolgen
+    remove_selected_domains: Alle Follower von den ausgewählten Domains entfernen
+    remove_selected_followers: Ausgewählten Followern entfolgen
+    remove_selected_follows: Ausgewählten Profilen entfolgen
     status: Kontostatus
   remote_follow:
     missing_resource: Die erforderliche Weiterleitungs-URL für dein Konto konnte nicht gefunden werden
   reports:
     errors:
-      invalid_rules: verweist nicht auf gültige Regeln
+      invalid_rules: verweist nicht auf gültige Serverregeln
   rss:
     content_warning: 'Inhaltswarnung:'
     descriptions:
       account: Öffentliche Beiträge von @%{acct}
       tag: 'Öffentliche Beiträge mit dem Hashtag #%{hashtag}'
   scheduled_statuses:
-    over_daily_limit: Du hast das Limit für geplante Beiträge, welches %{limit} beträgt, für heute erreicht
-    over_total_limit: Du hast das Limit für geplante Beiträge, welches %{limit} beträgt, erreicht
+    over_daily_limit: Du hast das heutige Limit für geplante Beiträge, das %{limit} beträgt, erreicht
+    over_total_limit: Du hast das Limit für geplante Beiträge, das %{limit} beträgt, erreicht
     too_soon: Das geplante Datum muss in der Zukunft liegen
   sessions:
     activity: Letzte Aktivität
@@ -1444,6 +1445,7 @@ de:
       electron: Electron
       firefox: Firefox
       generic: Unbekannter Browser
+      huawei_browser: Huawei Browser
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi Browser
@@ -1453,6 +1455,7 @@ de:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Unbekannter Browser
       weibo: Weibo
     current_session: Aktuelle Sitzung
     description: "%{browser} auf %{platform}"
@@ -1465,9 +1468,10 @@ de:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: macOS
-      other: unbekanntes Betriebssystem
+      unknown_platform: Unbekannte Plattform
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
@@ -1493,9 +1497,9 @@ de:
     notifications: Benachrichtigungen
     preferences: Einstellungen
     profile: Profil
-    relationships: Folge ich und Follower
+    relationships: Follower und Folge ich
     statuses_cleanup: Automatische Löschung
-    strikes: Moderieren von Verstößen
+    strikes: Maßnahmen
     two_factor_authentication: Zwei-Faktor-Authentisierung (2FA)
     webauthn_authentication: Sicherheitsschlüssel
   statuses:
@@ -1519,8 +1523,8 @@ de:
     edited_at_html: 'Bearbeitet: %{date}'
     errors:
       in_reply_not_found: Der Beitrag, auf den du antworten möchtest, scheint nicht zu existieren.
-    open_in_web: Im Web öffnen
-    over_character_limit: Zeichenlimit von %{max} überschritten
+    open_in_web: Im Webinterface öffnen
+    over_character_limit: Begrenzung von %{max} Zeichen überschritten
     pin_errors:
       direct: Beiträge, die nur für erwähnte Profile sichtbar sind, können nicht angeheftet werden
       limit: Du hast bereits die maximale Anzahl an Beiträgen angeheftet
@@ -1580,7 +1584,7 @@ de:
       '7889238': 3 Monate
     min_age_label: Altersgrenze
     min_favs: Behalte Beiträge, die häufiger favorisiert wurden als …
-    min_favs_hint: Löscht keine Beiträge, die mindestens so oft favorisiert worden sind. Lass das Feld leer, um alle Beiträge, unabhängig der Anzahl an Favorisierungen zu löschen
+    min_favs_hint: Löscht keine Beiträge, die mindestens so oft favorisiert worden sind. Lass das Feld leer, um alle Beiträge – unabhängig der Anzahl an Favoriten – zu löschen
     min_reblogs: Behalte Beiträge, die öfter geteilt wurden als
     min_reblogs_hint: Löscht keine Beiträge, die mindestens so oft geteilt worden sind. Lass das Feld leer, um alle Beiträge – unabhängig der Anzahl an geteilten Beiträgen – zu löschen
   stream_entries:
@@ -1609,12 +1613,12 @@ de:
     enabled: Zwei-Faktor-Authentisierung (2FA) ist aktiviert
     enabled_success: Zwei-Faktor-Authentisierung (2FA) erfolgreich aktiviert
     generate_recovery_codes: Wiederherstellungscodes erstellen
-    lost_recovery_codes: Wiederherstellungscodes erlauben es dir, wieder Zugang zu deinem Konto zu erlangen, falls du keinen Zugriff mehr auf die Zwei-Faktor-Authentisierung (2FA) oder den Sicherheitsschlüssel hast. Solltest Du diese Wiederherstellungscodes verloren haben, kannst du sie hier neu generieren. Deine alten, bereits erstellten Wiederherstellungscodes werden dadurch ungültig.
+    lost_recovery_codes: Wiederherstellungscodes ermöglichen es dir, wieder Zugang zu deinem Konto zu erlangen, falls du keinen Zugriff mehr auf dein Smartphone oder zum Sicherheitsschlüssel hast. Solltest du deine Wiederherstellungscodes verloren haben, kannst du sie hier neu generieren. Die alten Wiederherstellungscodes werden dann ungültig.
     methods: Methoden der Zwei-Faktor-Authentisierung (2FA)
     otp: Authentifizierungs-App
     recovery_codes: Wiederherstellungscodes sichern
     recovery_codes_regenerated: Wiederherstellungscodes erfolgreich neu erstellt
-    recovery_instructions_html: Wenn du den Zugang zu deinem Telefon verlieren solltest, kannst du einen untenstehenden Wiederherstellungscode benutzen, um wieder auf dein Konto zugreifen zu können. <strong>Bewahre die Wiederherstellungscodes gut auf.</strong> Du könntest sie beispielsweise ausdrucken und bei deinen restlichen wichtigen Dokumenten aufbewahren.
+    recovery_instructions_html: Falls du jemals den Zugang zu deinem Smartphone verlierst, kannst du einen der unten aufgeführten Wiederherstellungscodes verwenden, um wieder Zugang zu deinem Konto zu erhalten. <strong>Bewahre die Wiederherstellungscodes sicher auf</strong>. Du kannst sie zum Beispiel ausdrucken und zusammen mit anderen wichtigen Dokumenten aufbewahren.
     webauthn: Sicherheitsschlüssel
   user_mailer:
     appeal_approved:
@@ -1642,7 +1646,7 @@ de:
       appeal_description: Wenn du glaubst, dass es sich um einen Fehler handelt, kannst du einen Einspruch an die Administration von %{instance} senden.
       categories:
         spam: Spam
-        violation: Inhalt verstößt gegen die folgenden Gemeinschaftsrichtlinien
+        violation: Inhalt verstößt gegen die folgenden Serverregeln
       explanation:
         delete_statuses: Einige deiner Beiträge wurden als Verstoß gegen eine oder mehrere Gemeinschaftsrichtlinien erkannt und von den Moderator*innen von %{instance} entfernt.
         disable: Du kannst dein Konto nicht mehr verwenden, aber dein Profil und andere Daten bleiben unversehrt. Du kannst eine Sicherung deiner Daten anfordern, die Kontoeinstellungen ändern oder dein Konto löschen.
@@ -1692,12 +1696,12 @@ de:
     create:
       error: Beim Hinzufügen des Sicherheitsschlüssels ist ein Fehler aufgetreten. Bitte versuche es erneut.
       success: Dein Sicherheitsschlüssel wurde erfolgreich hinzugefügt.
-    delete: Löschen
-    delete_confirmation: Bist du dir sicher, dass du diesen Sicherheitsschlüssel löschen möchtest?
-    description_html: Wenn du die <strong>Authentifizierung mit Sicherheitsschlüssel</strong> aktivierst, musst du einen deiner Sicherheitsschlüssel verwenden, um dich anmelden zu können.
+    delete: Entfernen
+    delete_confirmation: Möchtest du diesen Sicherheitsschlüssel wirklich entfernen?
+    description_html: Wenn du die <strong>Authentisierung mit Sicherheitsschlüssel</strong> aktivierst, musst du dich mit einem deiner Sicherheitsschlüssel anmelden.
     destroy:
-      error: Es gab ein Problem beim Löschen deines Sicherheitsschlüssels. Bitte versuche es erneut.
-      success: Dein Sicherheitsschlüssel wurde erfolgreich gelöscht.
+      error: Beim Entfernen des Sicherheitsschlüssels ist ein Fehler aufgetreten. Bitte versuche es erneut.
+      success: Dein Sicherheitsschlüssel wurde erfolgreich entfernt.
     invalid_credential: Ungültiger Sicherheitsschlüssel
     nickname_hint: Gib den Spitznamen deines neuen Sicherheitsschlüssels ein
     not_enabled: Du hast WebAuthn noch nicht aktiviert
diff --git a/config/locales/devise.de.yml b/config/locales/devise.de.yml
index c4d41aa62..0c25f21b6 100644
--- a/config/locales/devise.de.yml
+++ b/config/locales/devise.de.yml
@@ -21,7 +21,7 @@ de:
         action: E-Mail-Adresse verifizieren
         action_with_app: Bestätigen – und dann zur App %{app} zurückkehren
         explanation: Du hast mit dieser E-Mail-Adresse ein Konto auf %{host} erstellt. Du bist nur noch einen Klick von der Aktivierung entfernt. Wenn du das nicht warst, kannst du diese E-Mail ignorieren.
-        explanation_when_pending: Du hast dich für eine Einladung bei %{host} mit dieser E-Mailadresse beworben. Sobald du deine E-Mailadresse bestätigst hast, werden wir deine Anfrage überprüfen. Du kannst dich in dieser Zeit nicht anmelden. Wenn deine Anfrage abgelehnt wird, werden deine Daten entfernt, also wird keine weitere Handlung benötigt. Wenn du das nicht warst, kannst du diese E-Mail ignorieren.
+        explanation_when_pending: Du hast dich für eine Einladung bei %{host} mit dieser E-Mail-Adresse beworben. Sobald du deine E-Mail-Adresse bestätigt hast, werden wir deine Anfrage überprüfen. Du kannst dich in dieser Zeit nicht anmelden. Wenn deine Anfrage abgelehnt wird, werden deine Daten entfernt – von dir ist keine weitere Handlung notwendig. Wenn du das nicht warst, kannst du diese E-Mail ignorieren.
         extra_html: Bitte beachte auch die <a href="%{terms_path}">Serverregeln</a> und <a href="%{policy_path}">unsere Datenschutzerklärung</a>.
         subject: 'Mastodon: Bestätigung deines Kontos bei %{instance}'
         title: E-Mail-Adresse verifizieren
@@ -67,15 +67,15 @@ de:
           title: Ein neuer Sicherheitsschlüssel wurde hinzugefügt
         deleted:
           explanation: Der folgende Sicherheitsschlüssel wurde aus deinem Konto gelöscht
-          subject: 'Mastodon: Sicherheitsschlüssel gelöscht'
-          title: Einer deiner Sicherheitsschlüssel wurde gelöscht
+          subject: 'Mastodon: Sicherheitsschlüssel entfernt'
+          title: Einer deiner Sicherheitsschlüssel wurde entfernt
       webauthn_disabled:
-        explanation: Die Authentifizierung mit Sicherheitsschlüssel wurde für dein Konto deaktiviert. Der Login ist nun nur mit dem Token möglich, der von der eingerichteten TOTP-App generiert wird.
-        subject: 'Mastodon: Authentifizierung mit Sicherheitsschlüssel deaktiviert'
+        explanation: Die Authentisierung mit Sicherheitsschlüsseln wurde für dein Konto deaktiviert. Die Anmeldung ist jetzt nur noch mit dem Token möglich, der von der eingerichteten TOTP-App generiert wird.
+        subject: 'Mastodon: Authentisierung mit Sicherheitsschlüsseln deaktiviert'
         title: Sicherheitsschlüssel deaktiviert
       webauthn_enabled:
-        explanation: Die Authentifizierung mit einem Sicherheitsschlüssel wurde für dein Konto aktiviert. Dein Sicherheitsschlüssel kann nun für die Anmeldung verwendet werden.
-        subject: 'Mastodon: Authentifizierung mit Sicherheitsschlüssel aktiviert'
+        explanation: Die Authentisierung mit Sicherheitsschlüssel wurde für dein Konto aktiviert. Dein Sicherheitsschlüssel kann nun für die Anmeldung verwendet werden.
+        subject: 'Mastodon: Authentisierung mit Sicherheitsschlüssel aktiviert'
         title: Sicherheitsschlüssel aktiviert
     omniauth_callbacks:
       failure: Du konntest nicht mit deinem %{kind}-Konto angemeldet werden, weil „%{reason}“.
@@ -111,5 +111,5 @@ de:
       not_found: nicht gefunden
       not_locked: ist nicht gesperrt
       not_saved:
-        one: '1 Fehler hat verhindert, dass %{resource} gespeichert wurde:'
-        other: "%{count} Fehler haben verhindert, dass %{resource} gespeichert wurde:"
+        one: '1 Fehler verhinderte, dass %{resource} gespeichert wurde:'
+        other: "%{count} Fehler verhinderten, dass %{resource} gespeichert wurde:"
diff --git a/config/locales/devise.et.yml b/config/locales/devise.et.yml
index c15801f4c..da1cc989d 100644
--- a/config/locales/devise.et.yml
+++ b/config/locales/devise.et.yml
@@ -78,7 +78,7 @@ et:
         subject: 'Mastodon: turvavõtme autentimine sisse lülitatud'
         title: Turvavõtmed on sisse lülitatud
     omniauth_callbacks:
-      failure: Ei saanud teid tuvastada %{kind} kaudu, kuna "%{reason}".
+      failure: Ei saanud sind tuvastada %{kind} kaudu, kuna "%{reason}".
       success: Tuvastamine %{kind} konto järgi õnnestus.
     passwords:
       no_token: Sellele leheküljele ei pääse tulemata salasõna lähtestamise e-kirjast. Kui tuled salasõna lähtestamise e-kirjast, palun veendu, et kasutasid tervet saadetud URLi.
@@ -87,7 +87,7 @@ et:
       updated: Salasõna muutmine õnnestus. Oled nüüd sisse logitud.
       updated_not_active: Sinu salasõna muutmine õnnestus.
     registrations:
-      destroyed: Nägemist! sinu konto sulgemine õnnestus. Me loodame sind varsti taas näha.
+      destroyed: Nägemist! Sinu konto sulgemine õnnestus. Me loodame sind varsti taas näha.
       signed_up: Tere tulemast! Sinu konto loomine õnnestus.
       signed_up_but_inactive: Sinu konto loodi edukalt, kuid me ei saanud sind sisse logida, kuna konto pole veel aktiveeritud.
       signed_up_but_locked: Sinu konto loodi edukalt, kuid me ei saanud sind sisse logida, kuna konto on lukustatud.
diff --git a/config/locales/devise.my.yml b/config/locales/devise.my.yml
index 4a5500aed..fd000223a 100644
--- a/config/locales/devise.my.yml
+++ b/config/locales/devise.my.yml
@@ -7,7 +7,7 @@ my:
       send_paranoid_instructions: အကယ်၍ သင့်အီးမေးလ်လိပ်စာသည် ကျွန်ုပ်တို့၏ဒေတာဘေ့စ်တွင် ရှိနေပါက မိနစ်အနည်းငယ်အတွင်း သင့်အီးမေးလ်လိပ်စာကို အတည်ပြုရန်အတွက် ညွှန်ကြားချက်များပါရှိသည့် အီးမေးလ်တစ်စောင်ကို သင်ရရှိမည်ဖြစ်ပါသည်။ ဤအီးမေးလ်ကို လက်ခံမရရှိပါက သင်၏ Spam ဖိုင်ကို စစ်ဆေးပါ။
     failure:
       already_authenticated: သင်ဝင်ရောက်ပြီးဖြစ်သည်။
-      inactive: သင့်အကောင့်မှာ အတည်မဖြစ်သေးပါ။
+      inactive: သင်၏အကောင့်သည်အသက်မဝင်သေးပါ
       invalid: မှားယွင်းသော %{authentication_keys} သို့မဟုတ် စကားဝှက် ဖြစ်ပါသည်။
       last_attempt: သင့်အကောင့်ကို လော့ခ်မချမီ နောက်ထပ်ကြိုးစားမှုတစ်ခု ရှိသေးသည်။
       locked: သင့်အကောင့်ကို လော့ခ်ချထားသည်။
diff --git a/config/locales/doorkeeper.de.yml b/config/locales/doorkeeper.de.yml
index 00c4ad678..3b69cb055 100644
--- a/config/locales/doorkeeper.de.yml
+++ b/config/locales/doorkeeper.de.yml
@@ -3,7 +3,7 @@ de:
   activerecord:
     attributes:
       doorkeeper/application:
-        name: Name der Anwendung
+        name: Anwendungsname
         redirect_uri: Weiterleitungs-URI
         scopes: Befugnisse
         website: Website der Anwendung
@@ -60,7 +60,7 @@ de:
       error:
         title: Ein Fehler ist aufgetreten
       new:
-        prompt_html: "%{client_name} möchte auf dein Konto zugreifen. Es ist eine Anwendung von Drittanbietern. <strong>Wenn du ihr nicht vertraust, dann solltest du sie nicht autorisieren.</strong>"
+        prompt_html: "%{client_name} möchte auf dein Konto zugreifen. Es handelt sich um eine Drittanbieter-Software. <strong>Wenn du der Anwendung nicht vertraust, solltest du ihr keinen Zugriff auf dein Konto geben.</strong>"
         review_permissions: Berechtigungen überprüfen
         title: Autorisierung erforderlich
       show:
@@ -82,7 +82,7 @@ de:
       messages:
         access_denied: Die Anfrage wurde durch Benutzer_in oder Autorisierungs-Server verweigert.
         credential_flow_not_configured: Das Konto konnte nicht gefunden werden, da Doorkeeper.configure.resource_owner_from_credentials nicht konfiguriert ist.
-        invalid_client: 'Client-Authentifizierung ist fehlgeschlagen: Client unbekannt, keine Authentisierung mitgeliefert oder Authentisierungsmethode wird nicht unterstützt.'
+        invalid_client: 'Client-Authentisierung ist fehlgeschlagen: Client unbekannt, keine Authentisierung mitgeliefert oder Authentisierungsmethode wird nicht unterstützt.'
         invalid_grant: Die beigefügte Autorisierung ist ungültig, abgelaufen, wurde widerrufen oder einem anderen Client ausgestellt, oder der Weiterleitungs-URI stimmt nicht mit der Autorisierungs-Anfrage überein.
         invalid_redirect_uri: Der beigefügte Weiterleitungs-URI ist ungültig.
         invalid_request:
@@ -119,7 +119,7 @@ de:
         write: Nur Schreibzugriff
       title:
         accounts: Konten
-        admin/accounts: Verwaltung der Konten
+        admin/accounts: Kontenverwaltung
         admin/all: Alle administrativen Funktionen
         admin/reports: Verwaltung der Berichte
         all: Voller Zugriff auf dein Mastodon-Konto
diff --git a/config/locales/doorkeeper.sr-Latn.yml b/config/locales/doorkeeper.sr-Latn.yml
index 5e46d0124..3dca04d0a 100644
--- a/config/locales/doorkeeper.sr-Latn.yml
+++ b/config/locales/doorkeeper.sr-Latn.yml
@@ -122,16 +122,18 @@ sr-Latn:
         admin/accounts: Administracija naloga
         admin/all: Sve funkcije administracije
         admin/reports: Administracija prijava
+        all: Potpuni pristup vašem Mastodon nalogu
         blocks: Blokirani
         bookmarks: Obeleživači
         conversations: Razgovori
         crypto: End-to-end enkripcija
         favourites: Omiljeni
         filters: Filteri
+        follow: Praćenja, ignorisanja i blokiranja
         follows: Praćeni
         lists: Liste
         media: Multimedijalni prilozi
-        mutes: Utišani
+        mutes: Ignorisani
         notifications: Obaveštenja
         push: Prosleđena obaveštenja
         reports: Prijave
@@ -147,17 +149,22 @@ sr-Latn:
     scopes:
       admin:read: čitanje svih podataka na serveru
       admin:read:accounts: čitanje osetljivih podataka za sve naloge
+      admin:read:canonical_email_blocks: pročitaj osetljive informacije i kanonske imejl blokove
       admin:read:domain_allows: pročitaj osetljive informacije za sve dozvole domena
       admin:read:domain_blocks: pročitaj osetljive informacije za sve blokove domena
+      admin:read:email_domain_blocks: pročitaj osetljive informacije svih blokova imejl domena
       admin:read:ip_blocks: pročitaj osetljive informacije za sve IP blokove
       admin:read:reports: čitanje osetljivih podataka svih izveštaja i prijavljenih naloga
       admin:write: menjanje svih podataka na serveru
       admin:write:accounts: vršenje moderatorskih aktivnosti nad nalozima
+      admin:write:canonical_email_blocks: izvrši moderacijske radnje nad kanonskim imejl blokovima
+      admin:write:domain_allows: izvrši moderacijske radnje nad dozvolama domena
       admin:write:domain_blocks: izvrši moderatorske aktivnosti na blokovima domena
+      admin:write:email_domain_blocks: izvrši moderacijske radnje nad blokovima imejl domena
       admin:write:ip_blocks: izvrši moderatorske aktivnosti na IP blokovima
       admin:write:reports: vršenje moderatorskih aktivnosti nad izveštajima
       crypto: korišćenje end-to-end enkripcije
-      follow: prati, blokira, odblokira i otprati naloge
+      follow: menja odnose naloga
       push: primanje prosleđenih obaveštenja
       read: čita podatke Vašeg naloga
       read:accounts: pogledaj informacije o nalozima
@@ -167,7 +174,7 @@ sr-Latn:
       read:filters: pogledaj svoje filtere
       read:follows: pogledaj koga pratiš
       read:lists: pogledaj svoje liste
-      read:mutes: pogledaj svoje utišane
+      read:mutes: pogledaj ignorisanja
       read:notifications: pogledaj svoja obaveštenja
       read:reports: pogledaj svoje prijave
       read:search: pretraži u svoje ime
@@ -176,13 +183,13 @@ sr-Latn:
       write:accounts: izmeni svoj profil
       write:blocks: blokiraj naloge i domene
       write:bookmarks: obeleži objave
-      write:conversations: utišaj i obriši razgovore
+      write:conversations: ignoriši i izbriši razgovore
       write:favourites: omiljene objave
       write:filters: kreiraj filtere
       write:follows: prati korisnike
       write:lists: kreiraj liste
       write:media: otpremi medijske datoteke
-      write:mutes: utišaj korinsike i razgovore
+      write:mutes: ignoriši korisnike i razgovore
       write:notifications: obriši svoja obaveštenja
       write:reports: prijavi druge korisnike
       write:statuses: objavi objave
diff --git a/config/locales/doorkeeper.sr.yml b/config/locales/doorkeeper.sr.yml
index db399b05f..00287543f 100644
--- a/config/locales/doorkeeper.sr.yml
+++ b/config/locales/doorkeeper.sr.yml
@@ -149,13 +149,18 @@ sr:
     scopes:
       admin:read: читање свих података на серверу
       admin:read:accounts: читање осетљивих података за све налоге
+      admin:read:canonical_email_blocks: прочитај осетљиве информације и канонске имејл блокове
       admin:read:domain_allows: прочитај осетљиве информације за све дозволе домена
       admin:read:domain_blocks: прочитај осетљиве информације за све блокове домена
+      admin:read:email_domain_blocks: прочитај осетљиве информације свих блокова имејл домена
       admin:read:ip_blocks: прочитај осетљиве информације за све IP блокове
       admin:read:reports: читање осетљивих података свих извештаја и пријављених налога
       admin:write: мењање свих података на серверу
       admin:write:accounts: вршење модераторских активности над налозима
+      admin:write:canonical_email_blocks: изврши модерацијске радње над канонским имејл блоковима
+      admin:write:domain_allows: изврши модерацијске радње над дозволама домена
       admin:write:domain_blocks: изврши модераторске активности на блоковима домена
+      admin:write:email_domain_blocks: изврши модерацијске радње над блоковима имејл домена
       admin:write:ip_blocks: изврши модераторске активности на IP блоковима
       admin:write:reports: вршење модераторских активности над извештајима
       crypto: коришћење end-to-end енкрипције
diff --git a/config/locales/el.yml b/config/locales/el.yml
index 3ed8ca405..c185459b7 100644
--- a/config/locales/el.yml
+++ b/config/locales/el.yml
@@ -25,11 +25,11 @@ el:
   admin:
     account_actions:
       action: Εκτέλεση ενέργειας
-      title: Εκτέλεση ενέργειας διαχείρισης στο %{acct}
+      title: Εκτέλεση ενέργειας συντονισμού στον %{acct}
     account_moderation_notes:
       create: Άφησε σημείωση
-      created_msg: Επιτυχής δημιουργία σημειώματος μεσολάβησης!
-      destroyed_msg: Επιτυχής καταστροφή σημειώματος μεσολάβησης!
+      created_msg: Επιτυχής δημιουργία σημειώματος συντονισμού!
+      destroyed_msg: Η σημείωση συντονισμού καταστράφηκε επιτυχώς!
     accounts:
       add_email_domain_block: Εγγραφή τομέα email σε μαύρη λίστα
       approve: Έγκριση
@@ -95,8 +95,8 @@ el:
         pending: Εκκρεμούν
         silenced: Περιορισμένοι
         suspended: Σε αναστολή
-        title: Μεσολάβηση
-      moderation_notes: Σημειώσεις μεσολάβησης
+        title: Συντονισμός
+      moderation_notes: Σημειώσεις συντονισμού
       most_recent_activity: Πιο πρόσφατη δραστηριότητα
       most_recent_ip: Πιο πρόσφατη IP
       no_account_selected: Κανείς λογαριασμός δεν ενημερώθηκε αφού κανείς δεν ήταν επιλεγμένος
@@ -229,7 +229,7 @@ el:
         update_status: Ενημέρωση Κατάστασης
         update_user_role: Ενημέρωση ρόλου
       actions:
-        approve_appeal_html: Ο/Η %{name} ενέκρινε την ένσταση της απόφασης των διαχειριστών από %{target}
+        approve_appeal_html: Ο/Η %{name} ενέκρινε την ένσταση της απόφασης των συντονιστών από %{target}
         approve_user_html: "%{name} εγκρίθηκε εγγραφή από %{target}"
         assigned_to_self_report_html: Ο/Η %{name} ανάθεσε την καταγγελία %{target} στον εαυτό του/της
         change_email_user_html: Ο/Η %{name} άλλαξε τη διεύθυνση email του χρήστη %{target}
@@ -266,7 +266,7 @@ el:
         enable_user_html: Ο/Η %{name} ενεργοποίησε τη σύνδεση για τον χρήστη %{target}
         memorialize_account_html: O/H %{name} μετέτρεψε τον λογαριασμό του %{target} σε σελίδα μνήμης
         promote_user_html: Ο/Η %{name} προβίβασε το χρήστη %{target}
-        reject_appeal_html: Ο/Η %{name} απέρριψε την ένσταση της απόφασης των διαχειριστών από %{target}
+        reject_appeal_html: Ο/Η %{name} απέρριψε την ένσταση της απόφασης των συντονιστών από %{target}
         reject_user_html: "%{name} απορρίφθηκε εγγραφή από %{target}"
         remove_avatar_user_html: Ο/Η %{name} αφαίρεσε το αβατάρ του/της %{target}
         reopen_report_html: Ο/Η %{name} ξανάνοιξε την αναφορά %{target}
@@ -389,7 +389,7 @@ el:
       import: Εισαγωγή
       new:
         create: Δημιουργία αποκλεισμού
-        hint: Ο αποκλεισμός τομέα δεν θα αποτρέψει νέες καταχωρίσεις λογαριασμών στην βάση δεδομένων, αλλά θα εφαρμόσει αναδρομικά και αυτόματα συγκεκριμένες πολιτικές μεσολάβησης σε αυτούς τους λογαριασμούς.
+        hint: Ο αποκλεισμός τομέα δεν θα αποτρέψει νέες καταχωρίσεις λογαριασμών στην βάση δεδομένων, αλλά θα εφαρμόσει αναδρομικά και αυτόματα συγκεκριμένες πολιτικές συντονισμού σε αυτούς τους λογαριασμούς.
         severity:
           desc_html: Ο <strong>περιορισμός</strong> θα κάνει αόρατες τις δημοσιεύσεις ενός λογαριασμού σε όσους δεν τον ακολουθούν. Η <strong>αναστολή</strong> θα αφαιρέσει όλο το περιεχόμενο, τα πολυμέσα και τα στοιχεία προφίλ ενός λογαριασμού. Χρησιμοποίησε το <strong>κανένα</strong> αν θέλεις απλά να απορρίψεις τα αρχεία πολυμέσων.
           noop: Κανένα
@@ -398,8 +398,10 @@ el:
         title: Αποκλεισμός νέου τομέα
       no_domain_block_selected: Δεν άλλαξαν οι αποκλεισμοί τομέα καθώς δεν επιλέχθηκε κανένας
       not_permitted: Δεν επιτρπέπεται να εκτελέσετε αυτήν την ενέργεια
+      obfuscate: Θόλωμα ονόματος τομέα
+      obfuscate_hint: Μερικό θόλωμα του ονόματος τομέα στη λίστα, εάν η ανακοίνωση της λίστας των περιορισμών τομέα είναι ενεργή
       private_comment: Ιδιωτικό σχόλιο
-      private_comment_hint: Σχόλιο για τον περιορισμό αυτού του τομέα για εσωτερική χρήση από τους διαχειριστές.
+      private_comment_hint: Σχόλιο για τον περιορισμό αυτού του τομέα για εσωτερική χρήση από τους συντονιστές.
       public_comment: Δημόσιο σχόλιο
       public_comment_hint: Σχόλιο σχετικά με τον περιορισμό αυτού του τομέα προς το κοινό, αν η λειτουργία δημοσιοποίησης των περιορισμένων τομέων είναι ενεργοποιημένη.
       reject_media: Απόρριψη πολυμέσων
@@ -421,39 +423,104 @@ el:
       domain: Τομέας
       new:
         create: Πρόσθεση τομέα
+        resolve: Επίλυση τομέα
         title: Νέα εγγραφή email στη μαύρη λίστα
+      no_email_domain_block_selected: Δεν άλλαξαν οι αποκλεισμοί τομέα καθώς δεν επιλέχθηκε κανένας
       not_permitted: Δεν επιτρέπεται
+      resolved_dns_records_hint_html: Το όνομα τομέα επιλύεται στους ακόλουθους τομείς MX, οι οποίοι είναι τελικά υπεύθυνοι για την αποδοχή των e-mail. Αποκλείοντας έναν τομέα MX θα μπλοκάρει τις εγγραφές από οποιαδήποτε διεύθυνση email που χρησιμοποιεί τον ίδιο τομέα MX, ακόμη και αν το ορατό όνομα τομέα είναι διαφορετικό. <strong>Προσέξτε να μην αποκλείσετε τους μεγάλους παρόχους ηλεκτρονικού ταχυδρομείου.</strong>
+      resolved_through_html: Επιλύθηκε μέσω %{domain}
       title: Μαύρη λίστα email
     export_domain_allows:
+      new:
+        title: Εισαγωγή επιτρεπόμενων τομέων
       no_file: Δεν επιλέχθηκε αρχείο
     export_domain_blocks:
+      import:
+        description_html: Πρόκειται να εισαγάγετε μια λίστα με αποκλεισμένους τομείς. Παρακαλώ ελέγξτε τη λίστα πολύ προσεκτικά, ειδικά αν δεν έχετε συντάξει τη λίστα μόνοι σας.
+        existing_relationships_warning: Υπάρχουσες σχέσεις ακολούθησης
+        private_comment_description_html: 'Για να σας βοηθήσουμε να παρακολουθείτε από πού προέρχονται οι εισαγόμενοι αποκλεισμοί, οι εισαγόμενοι αποκλεισμοί θα δημιουργηθούν με το ακόλουθο ιδιωτικό σχόλιο: <q>%{comment}</q>'
+        private_comment_template: Εισήχθη από %{source} στις %{date}
+        title: Εισαγωγή αποκλεισμένων τομέων
+      invalid_domain_block: 'Ένας ή περισσότεροι αποκλεισμοί τομέα παραλείφθηκαν λόγω των ακόλουθων σφαλμάτων: %{error}'
+      new:
+        title: Εισαγωγή αποκλεισμένων τομέων
       no_file: Δεν επιλέχθηκε αρχείο
     follow_recommendations:
+      description_html: "<strong>Ακολουθώντας συστάσεις βοηθάει τους νέους χρήστες να βρουν γρήγορα ενδιαφέρον περιεχόμενο</strong>. Όταν ένας χρήστης δεν έχει αλληλεπιδράσει με άλλους αρκετά για να διαμορφώσει εξατομικευμένες συστάσεις, συνιστώνται αυτοί οι λογαριασμοί. Υπολογίζονται εκ νέου σε καθημερινή βάση από ένα σύνολο λογαριασμών με τις υψηλότερες πρόσφατες αλληλεπιδράσεις και μεγαλύτερο αριθμό τοπικών ακόλουθων για μια δεδομένη γλώσσα."
       language: Για τη γλώσσα
       status: Κατάσταση
+      suppress: Καταστολή της πρότασης ακολούθησης
+      suppressed: Κατασταλμένο
+      title: Ακολουθήστε τις προτάσεις
+      unsuppress: Επαναφορά των συστάσεων ακολούθησης
     instances:
+      availability:
+        description_html:
+          one: Εάν η παράδοση στον τομέα αποτύχει για <strong>%{count} ημέρα</strong>, δεν θα γίνουν περαιτέρω προσπάθειες παράδοσης εκτός αν μια παράδοση <em>από</em> τον τομέα παραληφθεί.
+          other: Εάν η παράδοση στον τομέα αποτύχει για <strong>%{count} διαφορετικές ημέρες</strong>, δεν θα γίνουν περαιτέρω προσπάθειες παράδοσης εκτός αν μια παράδοση <em>από</em> τον τομέα παραληφθεί.
+        failure_threshold_reached: Το όριο αποτυχίας έφτασε στο %{date}.
+        failures_recorded:
+          one: Αποτυχία προσπάθειας την %{count} ημέρα.
+          other: Αποτυχημένες προσπάθειες σε %{count} διαφορετικές ημέρες.
+        no_failures_recorded: Καμία καταγεγραμμένη αποτυχία.
+        title: Διαθεσιμότητα
+        warning: Η τελευταία προσπάθεια σύνδεσης σε αυτόν τον διακομιστή απέτυχε
+      back_to_all: Όλα
+      back_to_limited: Περιορισμένα
+      back_to_warning: Προσοχή
       by_domain: Τομέας
       confirm_purge: Είστε βέβαιοι ότι θέλετε να διαγράψετε μόνιμα τα δεδομένα από αυτόν τον τομέα;
+      content_policies:
+        comment: Εσωτερική σημείωση
+        description_html: Μπορείτε να ορίσετε τις πολιτικές περιεχομένου που θα εφαρμόζονται σε όλους τους λογαριασμούς από αυτόν τον τομέα και οποιονδήποτε από τους υποτομείς του.
+        limited_federation_mode_description_html: Μπορείτε να επιλέξετε αν θα επιτρέψετε την ομοσπονδία με αυτόν τον τομέα.
+        policies:
+          reject_media: Απόρριψη πολυμέσων
+          reject_reports: Απόρριψη αναφορών
+          silence: Περιορισμός
+          suspend: Αναστολή
+        policy: Πολιτική
+        reason: Δημόσιος λόγος
+        title: Πολιτικές περιεχομένου
       dashboard:
+        instance_accounts_dimension: Λογαριασμοί με τους περισσότερους ακόλουθους
+        instance_accounts_measure: αποθηκευμένοι λογαριασμοί
+        instance_followers_measure: οι ακόλουθοί μας εκεί
+        instance_follows_measure: οι ακόλουθοί τους εδώ
         instance_languages_dimension: Κορυφαίες γλώσσες
+        instance_media_attachments_measure: αποθηκευμένα συνημμένα πολυμέσων
+        instance_reports_measure: αναφορές γι' αυτές
+        instance_statuses_measure: αποθηκευμένες δημοσιεύσεις
       delivery:
+        all: Όλες
+        clear: Εκκαθάριση σφαλμάτων παράδοσης
         failing: Αποτυγχάνει
+        restart: Επανεκκίνηση παράδοσης
+        stop: Διακοπή παράδοσης
+        unavailable: Μη διαθέσιμο
       delivery_available: Διαθέσιμη παράδοση
+      delivery_error_days: Ημέρες σφάλματος παράδοσης
+      delivery_error_hint: Εάν η παράδοση δεν είναι δυνατή για %{count} ημέρες, θα επισημανθεί αυτόματα ως μη παραδόσιμη.
       destroyed_msg: Τα δεδομένα από το %{domain} βρίσκονται σε αναμονή για επικείμενη διαγραφή.
       empty: Δεν βρέθηκαν τομείς.
+      known_accounts:
+        one: "%{count} γνωστός λογαριασμός"
+        other: "%{count} γνωστοί λογαριασμοί"
       moderation:
         all: Όλα
         limited: Περιορισμένα
-        title: Διαμεσολάβηση
+        title: Συντονισμός
       private_comment: Ιδιωτικό σχόλιο
       public_comment: Δημόσιο σχόλιο
       purge: Εκκαθάριση
+      purge_description_html: Εάν πιστεύετε ότι αυτός ο τομέας είναι εκτός σύνδεσης για πάντα, μπορείτε να διαγράψετε όλες τις καταχωρήσεις λογαριασμών και τα σχετικά δεδομένα από αυτόν τον τομέα από τον αποθηκευτικό σας χώρο. Αυτό μπορεί να διαρκέσει λίγη ώρα.
       title: Γνωστοί κόμβοι
       total_blocked_by_us: Μπλοκάρονται από εμάς
       total_followed_by_them: Ακολουθούνται από εκείνους
       total_followed_by_us: Ακολουθούνται από εμάς
       total_reported: Καταγγελίες προς εκείνους
       total_storage: Συνημμένα πολυμέσα
+      totals_time_period_hint_html: Τα σύνολα που εμφανίζονται παρακάτω περιλαμβάνουν στοιχεία από την αρχή.
     invites:
       deactivate_all: Απενεργοποίηση όλων
       filter:
@@ -475,6 +542,7 @@ el:
         '94670856': 3 χρόνια
       new:
         title: Δημιουργία νέου κανόνα IP
+      no_ip_block_selected: Δεν άλλαξαν οι κανόνες IP καθώς κανένας δεν επιλέχθηκε
       title: Κανόνες IP
     relationships:
       title: Σχέσεις %{acct}
@@ -505,7 +573,14 @@ el:
       action_log: Αρχείο ελέγχου
       action_taken_by: Ενέργεια από τον/την
       actions:
+        delete_description_html: Οι δημοσιεύσεις με αναφορά θα διαγραφούν και θα καταγραφεί μια ποινή που θα σας βοηθήσει να αποφασίσετε σε μελλοντικές παραβάσεις από τον ίδιο λογαριασμό.
+        mark_as_sensitive_description_html: Τα πολυμέσα με αναφορά θα επισημανθούν ως ευαίσθητα και θα καταγραφεί μια ποινή που θα σας βοηθήσει να αποφασίσετε σε μελλοντικές παραβάσεις από τον ίδιο λογαριασμό.
         other_description_html: Δείτε περισσότερες επιλογές για τον έλεγχο της συμπεριφοράς του λογαριασμού και προσαρμόσετε την επικοινωνία στον αναφερόμενο λογαριασμό.
+        resolve_description_html: Δεν θα ληφθούν μέτρα κατά του αναφερόμενου λογαριασμού, δεν θα καταγραφεί καμία ποινή, και η αναφορά θα κλείσει.
+        silence_description_html: Ο λογαριασμός θα είναι ορατός μόνο σε εκείνους που ήδη τον ακολουθούν ή τον αναζητούν χειροκίνητα, περιορίζοντας κατά πολύ την εμβέλειά του. Η ενέργεια αυτή είναι αναστρέψιμη. Κλείνει όλες τις αναφορές εναντίον αυτού του λογαριασμού.
+        suspend_description_html: Ο λογαριασμός και όλο το περιεχόμενό του θα είναι απρόσιτα και τελικά θα διαγραφούν και η αλληλεπίδραση με αυτόν θα είναι αδύνατη. Αναστρέψιμη εντός 30 ημερών. Κλείνει όλες τις αναφορές εναντίον αυτού του λογαριασμού.
+      actions_description_html: Αποφασίστε ποια μέτρα θα ληφθούν για την επίλυση αυτής της αναφοράς. Εάν προβείτε σε τιμωρητική ενέργεια κατά του αναφερόμενου λογαριασμού, θα αποσταλεί ειδοποίηση μέσω ηλεκτρονικού ταχυδρομείου σε αυτούς, εκτός όταν η κατηγορία <strong>Σπαμ</strong> είναι επιλεγμένη.
+      actions_description_remote_html: Αποφασίστε ποια μέτρα θα ληφθούν για την επίλυση αυτής της αναφοράς. Αυτό θα επηρεάσει μόνο το πώς <strong>ο δικός σας</strong> διακομιστής επικοινωνεί με αυτόν τον απομακρυσμένο λογαριασμό και χειρίζεται το περιεχόμενό του.
       add_to_report: Προσθέστε περισσότερα στην αναφορά
       are_you_sure: Σίγουρα;
       assign_to_self: Ανάθεση σε μένα
@@ -513,9 +588,12 @@ el:
       by_target_domain: Κόμβος του λογαριασμού υπό καταγγελία
       cancel: Άκυρο
       category: Κατηγορία
+      category_description_html: Ο λόγος για τον οποίο αναφέρθηκε αυτός ο λογαριασμός και/ή το περιεχόμενο θα εσωκλείεται σε επικοινωνία με τον αναφερόμενο λογαριασμό
       comment:
         none: Κανένα
+      comment_description_html: 'Για να δώσει περισσότερες πληροφορίες, ο/η %{name} έγραψε:'
       confirm: Επιβεβαίωση
+      confirm_action: Επιβεβαίωση ενέργειαςδιαχείρισης ενάντια στον λογαριασμό @%{acct}
       created_at: Καταγγέλθηκε
       delete_and_resolve: Διαγραφή δημοσιεύσεων
       forwarded: Προωθημένα
@@ -531,6 +609,8 @@ el:
         delete: Διαγραφή
         placeholder: Περιέγραψε τις ενέργειες που έγιναν, ή οποιαδήποτε άλλη ενημέρωση...
         title: Σημειώσεις
+      notes_description_html: Δείτε και αφήστε σημειώσεις σε άλλους διαχειριστές και τον μελλοντικό εαυτό σας
+      processed_msg: 'Η αναφορά #%{id} διεκπεραιώθηκε με επιτυχία'
       quick_actions_description_html: 'Κάντε μια γρήγορη ενέργεια ή μετακινηθείτε προς τα κάτω για να δείτε το αναφερόμενο περιεχόμενο:'
       remote_user_placeholder: ο απομακρυσμένος χρήστης από %{instance}
       reopen: Ξανάνοιξε την καταγγελία
@@ -542,8 +622,29 @@ el:
       skip_to_actions: Μετάβαση στις ενέργειες
       status: Κατάσταση
       statuses: Αναφερόμενο περιεχόμενο
+      statuses_description_html: Το προσβλητικό θα εσωκλείεται στην επικοινωνία με τον αναφερόμενο λογαριασμό
+      summary:
+        action_preambles:
+          delete_html: 'Πρόκειται να <strong>αφαιρέσετε</strong> μερικές από τις δημοσιεύσεις του <strong>@%{acct}</strong>. Αυτό θα:'
+          mark_as_sensitive_html: 'Πρόκειται να <strong>επισημάνετε</strong> μερικές από τις δημοσιεύσεις του <strong>@%{acct}</strong> ως <strong>ευαίσθητες</strong>. Αυτό θα:'
+          silence_html: 'Πρόκειται να <strong>περιορίσετε</strong> τον λογαριασμό <strong>@%{acct}</strong>. Αυτό θα:'
+          suspend_html: 'Πρόκειται να <strong>αναστείλετε</strong> τον λογαριασμό <strong>@%{acct}</strong>. Αυτό θα:'
+        actions:
+          delete_html: Αφαιρέστε τις προσβλητικές δημοσιεύσεις
+          mark_as_sensitive_html: Σημειώστε τα πολυμέσα των προσβλητικών αναρτήσεων ως ευαίσθητα
+          silence_html: Περιορίστε σοβαρά την εμβέλεια του <strong>@%{acct}</strong> κάνοντας το προφίλ και το περιεχόμενό του ορατά μόνο σε άτομα που ήδη τον ακολουθούν ή που αναζητούν χειροκίνητα το προφίλ του
+          suspend_html: Αναστολή του <strong>@%{acct}</strong>, καθιστώντας το προφίλ και το περιεχόμενό του μη προσβάσιμα και αδύνατο να αλληλεπιδράσει κανείς με αυτά
+        close_report: 'Επισήμανση αναφοράς #%{id} ως επιλυμένη'
+        close_reports_html: Επισημάνετε <strong>όλες τις</strong> αναφορές ενάντια στον λογαριασμό <strong>@%{acct}</strong> ως επιλυμένες
+        delete_data_html: Διαγράψτε το προφίλ και το περιεχόμενο του <strong>@%{acct}</strong> σε 30 ημέρες από τώρα εκτός και αν ανακληθεί η αναστολή εν τω μεταξύ
+        preview_preamble_html: 'Ο <strong>@%{acct}</strong> θα λάβει μια προειδοποίηση με τα ακόλουθο περιεχόμενο:'
+        record_strike_html: Καταγράψτε μια ποινή εναντίον του <strong>@%{acct}</strong> για να σας βοηθήσει να αποφασίσετε σε μελλοντικές παραβιάσεις από αυτόν τον λογαριασμό
+        send_email_html: Στείλτε στον <strong>@%{acct}</strong> ένα προειδοποιητικό e-mail
+        warning_placeholder: Προαιρετικές επιπλέον εξηγήσεις για αυτή την ενέργεια από τη διαχείριση.
+      target_origin: Προέλευση του αναφερόμενου λογαριασμού
       title: Αναφορές
       unassign: Αποσύνδεση
+      unknown_action_msg: 'Άγνωστη ενέργεια: %{action}'
       unresolved: Άλυτη
       updated_at: Ενημερωμένη
       view_profile: Προβολή προφίλ
@@ -556,20 +657,57 @@ el:
         administration: Διαχείριση
         devops: Devops
         invites: Προσκλήσεις
+        moderation: Συντονισμός
+        special: Ειδικός
       delete: Διαγραφή
+      description_html: Με τους <strong>ρόλους χρηστών</strong>, μπορείτε να προσαρμόσετε σε ποιες λειτουργίες και περιοχές του Mastodon, οι χρήστες σας μπορούν να έχουν πρόσβαση.
       edit: Επεξεργασία ρόλου '%{name}'
       everyone: Προεπιλεγμένα δικαιώματα
+      everyone_full_description_html: Αυτός είναι ο <strong>βασικός ρόλος</strong> που επηρεάζει <strong>όλους τους χρήστες</strong>, ακόμη και εκείνους που δεν έχουν κάποιον ρόλο. Όλοι οι άλλοι ρόλοι κληρονομούν δικαιώματα από αυτόν.
       permissions_count:
         one: "%{count} δικαίωμα"
         other: "%{count} δικαιώματα"
       privileges:
         administrator: Διαχειριστής
+        administrator_description: Οι χρήστες με αυτό το δικαίωμα θα παρακάμπτουν κάθε δικαίωμα
+        delete_user_data: Διαγραφή Δεδομένων Χρήστη
+        delete_user_data_description: Επιτρέπει στους χρήστες να διαγράφουν τα δεδομένα άλλων χρηστών χωρίς καθυστέρηση
         invite_users: Πρόσκληση χρηστών
+        invite_users_description: Επιτρέπει στους χρήστες να προσκαλούν νέα άτομα στον διακομιστή
         manage_announcements: Διαχείριση ανακοινώσεων
+        manage_announcements_description: Επιτρέπει στους χρήστες να διαχειρίζονται ανακοινώσεις στον διακομιστή
+        manage_appeals: Διαχείριση Εφέσεων
+        manage_appeals_description: Επιτρέπει στους χρήστες να εξετάζουν τις εφέσεις κατά των ενεργειών της συντονισμού
+        manage_blocks: Διαχείριση Αποκλεισμών
+        manage_blocks_description: Επιτρέπει στους χρήστες να αποκλείουν παρόχους e-mail και διευθύνσεις IP
+        manage_custom_emojis: Διαχείριση Προσαρμοσμένων Emojis
+        manage_custom_emojis_description: Επιτρέπει στους χρήστες να διαχειρίζονται προσαρμοσμένα emojis στον διακομιστή
+        manage_federation: Διαχείριση Ομοσπονδίας
+        manage_federation_description: Επιτρέπει στους χρήστες να αποκλείουν ή να επιτρέπουν την ομοσπονδία με άλλους τομείς και να ελέγχουν την παράδοση
+        manage_invites: Διαχείριση Προσκλήσεων
+        manage_invites_description: Επιτρέπει στους χρήστες να περιηγούνται και να απενεργοποιούν τους συνδέσμους πρόσκλησης
+        manage_reports: Διαχείριση Αναφορών
+        manage_reports_description: Επιτρέπει στους χρήστες να εξετάζουν τις αναφορές και να εκτελούν ενέργειες συντονισμού εναντίον τους
         manage_roles: Διαχείριση ρόλων
+        manage_roles_description: Επιτρέπει στους χρήστες να διαχειρίζονται και να αναθέτουν ρόλους κατώτερων των δικών τους
+        manage_rules: Διαχείριση Κανόνων
+        manage_rules_description: Επιτρέπει στους χρήστες να αλλάξουν τους κανόνες του διακομιστή
         manage_settings: Διαχείριση ρυθμίσεων
+        manage_settings_description: Επιτρέπει στους χρήστες να αλλάξουν τις ρυθμίσεις του ιστοτόπου
+        manage_taxonomies: Διαχείριση Ταξινομιών
+        manage_taxonomies_description: Επιτρέπει στους χρήστες να εξετάζουν το δημοφιλές περιεχόμενο και να ενημερώνουν τις ρυθμίσεις ετικέτας
+        manage_user_access: Διαχείριση Πρόσβασης Χρήστη
+        manage_user_access_description: Επιτρέπει στους χρήστες να απενεργοποιούν την ταυτοποίηση δύο παραγόντων άλλων χρηστών, να αλλάξουν τη διεύθυνση ηλεκτρονικού ταχυδρομείου τους και να επαναφέρουν τον κωδικό πρόσβασής τους
         manage_users: Διαχείριση χρηστών
+        manage_users_description: Επιτρέπει στους χρήστες να βλέπουν τις λεπτομέρειες άλλων χρηστών και να εκτελούν ενέργειες συντονισμού εναντίον τους
+        manage_webhooks: Διαχείριση Webhooks
+        manage_webhooks_description: Επιτρέπει στους χρήστες να ορίζουν webhooks για συμβάντα διαχείρισης
+        view_audit_log: Προβολή Καταλόγου Καταγραφών
+        view_audit_log_description: Επιτρέπει στους χρήστες να βλέπουν ένα ιστορικό ενεργειών διαχείρισης στον διακομιστή
+        view_dashboard: Προβολή Ταμπλό πληροφοριών
+        view_dashboard_description: Επιτρέπει στους χρήστες να έχουν πρόσβαση στον ταμπλό πληροφοριών και σε διάφορες μετρήσεις
         view_devops: DevOps
+        view_devops_description: Επιτρέπει στους χρήστες να έχουν πρόσβαση στα ταμπλό πληροφοριών Sidekiq και pgHero
       title: Ρόλοι
     rules:
       add_new: Προσθήκη κανόνα
@@ -581,23 +719,36 @@ el:
     settings:
       about:
         manage_rules: Διαχείριση κανόνων διακομιστή
+        preamble: Παρέχετε αναλυτικές πληροφορίες σχετικά με τη λειτουργία του διακομιστή, τον συντονισμό και τη χρηματοδότηση.
+        rules_hint: Υπάρχει μια ειδική περιοχή για τους κανόνες που αναμένεται να τηρούν οι χρήστες σας.
         title: Σχετικά με
       appearance:
+        preamble: Προσαρμόστε τη διεπαφή ιστού του Mastodon.
         title: Εμφάνιση
+      branding:
+        preamble: Η ταυτότητα του διακομιστή σας, τον διαφοροποιεί από άλλους διακομιστές του δικτύου. Αυτές οι πληροφορίες μπορεί να εμφανίζονται σε διάφορα περιβάλλοντα, όπως η διαδικτυακή διεπαφή του Mastodon, εγγενείς εφαρμογές, σε προεπισκοπήσεις συνδέσμου σε άλλους ιστότοπους και εντός εφαρμογών μηνυμάτων και ούτω καθεξής. Γι' αυτό, είναι καλύτερο να διατηρούνται αυτές οι πληροφορίες σαφείς, σύντομες και συνοπτικές.
+        title: Ταυτότητα
       content_retention:
+        preamble: Ελέγξτε πώς αποθηκεύεται το περιεχόμενο που δημιουργείται από τους χρήστες στο Mastodon.
         title: Διατήρηση περιεχομένου
       default_noindex:
         desc_html: Επηρεάζει όσους χρήστες δεν έχουν αλλάξει αυτή τη ρύθμιση οι ίδιοι
         title: Εξαίρεση χρηστών από τις μηχανές αναζήτησης
       discovery:
+        follow_recommendations: Ακολουθήστε τις προτάσεις
+        preamble: Δημοσιεύοντας ενδιαφέρον περιεχόμενο είναι καθοριστικό για την ενσωμάτωση νέων χρηστών που μπορεί να μη γνωρίζουν κανέναν στο Mastodon. Ελέγξτε πώς λειτουργούν διάφορες δυνατότητες ανακάλυψης στον διακομιστή σας.
         profile_directory: Κατάλογος προφίλ
         public_timelines: Δημόσιες ροές
+        publish_discovered_servers: Δημοσίευση διακομιστών που έχουν ανακαλυφθεί
+        publish_statistics: Δημοσίευση στατιστικών
+        title: Ανακάλυψη
         trends: Τάσεις
       domain_blocks:
         all: Για όλους
         disabled: Για κανέναν
         users: Προς συνδεδεμένους τοπικούς χρήστες
       registrations:
+        preamble: Ελέγξτε ποιος μπορεί να δημιουργήσει ένα λογαριασμό στον διακομιστή σας.
         title: Εγγραφές
       registrations_mode:
         modes:
@@ -612,6 +763,7 @@ el:
       account: Συντάκτης
       application: Εφαρμογή
       back_to_account: Επιστροφή στη σελίδα λογαριασμού
+      back_to_report: Πίσω στη σελίδα αναφοράς
       batch:
         remove_from_report: Αφαίρεση από την αναφορά
         report: Αναφορά
@@ -625,6 +777,7 @@ el:
       metadata: Μεταδεδομένα
       no_status_selected: Καμία δημοσίευση δεν άλλαξε αφού καμία δεν ήταν επιλεγμένη
       open: Άνοιγμα δημοσίευσης
+      original_status: Αρχική δημοσίευση
       reblogs: Αναδημοσιεύσεις
       status_changed: Η ανάρτηση άλλαξε
       title: Καταστάσεις λογαριασμού
@@ -632,10 +785,25 @@ el:
       visibility: Ορατότητα
       with_media: Με πολυμέσα
     strikes:
+      actions:
+        delete_statuses: Ο/Η %{name} διέγραψε τις δημοσιεύσεις του/της %{target}
+        disable: Ο/Η %{name} πάγωσε τον λογαριασμό του/της %{target}
+        mark_statuses_as_sensitive: Ο/Η %{name} επισήμανε τα πολυμέσα του/της %{target} ως ευαίσθητα
+        none: Ο/Η %{name} έστειλε προειδοποίηση προς τον/την %{target}
+        sensitive: Ο/Η %{name} επισήμανε τα πολυμέσα του λογαριασμού %{target} ως ευαίσθητα
+        silence: Ο/Η %{name} περιόρισε τον λογαριασμό %{target}
+        suspend: ο/η %{name} ανέστειλε τον λογαριασμό %{target}
+      appeal_approved: Έγινε έφεση
+      appeal_pending: Έφεση σε εκκρεμότητα
       appeal_rejected: Η αίτηση απορρίφθηκε
     system_checks:
       database_schema_check:
         message_html: Υπάρχουν μετακινήσεις βάσης δεδομένων που εκκρεμούν. Παρακαλώ εκτελέστε τις για να βεβαιωθείτε ότι η εφαρμογή συμπεριφέρεται όπως αναμένεται
+      elasticsearch_running_check:
+        message_html: Δεν ήταν δυνατή η σύνδεση στο Elasticsearch. Παρακαλώ ελέγξτε ότι εκτελείται ή απενεργοποιήστε την αναζήτηση πλήρους κειμένου
+      elasticsearch_version_check:
+        message_html: 'Μη συμβατή έκδοση Elasticsearch: %{value}'
+        version_comparison: Η έκδοση Elasticsearch %{running_version} εκτελείται ενώ η %{required_version} απαιτείται
       rules_check:
         action: Διαχείριση κανόνων διακομιστή
         message_html: Δεν έχετε ορίσει κανέναν κανόνα διακομιστή.
@@ -1050,6 +1218,7 @@ el:
   relationships:
     activity: Δραστηριότητα λογαριασμού
     dormant: Αδρανείς
+    follow_failure: Δεν ήταν δυνατή η παρακολούθηση ορισμένων από τους επιλεγμένους λογαριασμούς.
     followers: Σε ακολουθούν
     following: Ακολουθείς
     invited: Προσκεκλημένοι
@@ -1083,6 +1252,7 @@ el:
       edge: Microsoft Edge
       firefox: Firefox
       generic: Άγνωστος φυλλομετρητής
+      huawei_browser: Huawei Browser
       ie: Internet Explorer
       opera: Opera
       otter: Otter
@@ -1090,6 +1260,7 @@ el:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Άγνωστος φυλλομετρητής
     current_session: Τρέχουσα σύνδεση
     description: "%{browser} σε %{platform}"
     explanation: Αυτοί είναι οι φυλλομετρητές (browsers) που είναι συνδεδεμένοι στον λογαριασμό σου στο Mastodon αυτή τη στιγμή.
@@ -1099,9 +1270,10 @@ el:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: Mac
-      other: άγνωστη πλατφόρμα
+      unknown_platform: Άγνωστη Πλατφόρμα
     revoke: Ανακάλεσε
     revoke_success: Η σύνδεση ανακλήθηκε επιτυχώς
     title: Σύνδεση
diff --git a/config/locales/en-GB.yml b/config/locales/en-GB.yml
index 9b4f28c5d..8e2e45350 100644
--- a/config/locales/en-GB.yml
+++ b/config/locales/en-GB.yml
@@ -366,6 +366,115 @@ en-GB:
       sources: Sign-up sources
       space: Space usage
       title: Dashboard
+      top_languages: Top active languages
+      top_servers: Top active servers
+      website: Website
+    disputes:
+      appeals:
+        empty: No appeals found.
+        title: Appeals
+    domain_allows:
+      add_new: Allow federation with domain
+      created_msg: Domain has been successfully allowed for federation
+      destroyed_msg: Domain has been disallowed from federation
+      export: Export
+      import: Import
+      undo: Disallow federation with domain
+    domain_blocks:
+      add_new: Add new domain block
+      created_msg: Domain block is now being processed
+      destroyed_msg: Domain block has been undone
+      domain: Domain
+      edit: Edit domain block
+      existing_domain_block: You have already imposed stricter limits on %{name}.
+      existing_domain_block_html: You have already imposed stricter limits on %{name}, you need to <a href="%{unblock_url}">unblock it</a> first.
+      export: Export
+      import: Import
+      new:
+        create: Create block
+        hint: The domain block will not prevent creation of account entries in the database, but will retroactively and automatically apply specific moderation methods on those accounts.
+        severity:
+          desc_html: "<strong>Limit</strong> will make posts from accounts at this domain invisible to anyone who isn't following them. <strong>Suspend</strong> will remove all content, media, and profile data for this domain's accounts from your server. Use <strong>None</strong> if you just want to reject media files."
+          noop: None
+          silence: Limit
+          suspend: Suspend
+        title: New domain block
+      no_domain_block_selected: No domain blocks were changed as none were selected
+      not_permitted: You are not permitted to perform this action
+      obfuscate: Obfuscate domain name
+      obfuscate_hint: Partially obfuscate the domain name in the list if advertising the list of domain limitations is enabled
+      private_comment: Private comment
+      private_comment_hint: Comment about this domain limitation for internal use by the moderators.
+      public_comment: Public comment
+      public_comment_hint: Comment about this domain limitation for the general public, if advertising the list of domain limitations is enabled.
+      reject_media: Reject media files
+      reject_media_hint: Removes locally stored media files and refuses to download any in the future. Irrelevant for suspensions
+      reject_reports: Reject reports
+      reject_reports_hint: Ignore all reports coming from this domain. Irrelevant for suspensions
+      undo: Undo domain block
+      view: View domain block
+    email_domain_blocks:
+      add_new: Add new
+      attempts_over_week:
+        one: "%{count} attempt over the last week"
+        other: "%{count} sign-up attempts over the last week"
+      created_msg: Successfully blocked e-mail domain
+      delete: Delete
+      dns:
+        types:
+          mx: MX record
+      domain: Domain
+      new:
+        create: Add domain
+        resolve: Resolve domain
+        title: Block new e-mail domain
+      no_email_domain_block_selected: No e-mail domain blocks were changed as none were selected
+      not_permitted: Not permitted
+      resolved_dns_records_hint_html: The domain name resolves to the following MX domains, which are ultimately responsible for accepting e-mail. Blocking an MX domain will block sign-ups from any e-mail address which uses the same MX domain, even if the visible domain name is different. <strong>Be careful not to block major e-mail providers.</strong>
+      resolved_through_html: Resolved through %{domain}
+      title: Blocked e-mail domains
+    export_domain_allows:
+      new:
+        title: Import domain allows
+      no_file: No file selected
+    export_domain_blocks:
+      import:
+        description_html: You are about to import a list of domain blocks. Please review this list very carefully, especially if you have not authored this list yourself.
+        existing_relationships_warning: Existing follow relationships
+        private_comment_description_html: 'To help you track where imported blocks come from, imported blocks will be created with the following private comment: <q>%{comment}</q>'
+        private_comment_template: Imported from %{source} on %{date}
+        title: Import domain blocks
+      invalid_domain_block: 'One or more domain blocks were skipped because of the following error(s): %{error}'
+      new:
+        title: Import domain blocks
+      no_file: No file selected
+    follow_recommendations:
+      description_html: "<strong>Follow recommendations help new users quickly find interesting content</strong>. When a user has not interacted with others enough to form personalised follow recommendations, these accounts are recommended instead. They are re-calculated on a daily basis from a mix of accounts with the highest recent engagements and highest local follower counts for a given language."
+      language: For language
+      status: Status
+      suppress: Suppress follow recommendation
+      suppressed: Suppressed
+      title: Follow recommendations
+      unsuppress: Restore follow recommendation
+    instances:
+      availability:
+        description_html:
+          one: If delivering to the domain fails <strong>%{count} day</strong> without succeeding, no further delivery attempts will be made unless a delivery <em>from</em> the domain is received.
+          other: If delivering to the domain fails on <strong>%{count} different days</strong> without succeeding, no further delivery attempts will be made unless a delivery <em>from</em> the domain is received.
+        failure_threshold_reached: Failure threshold reached on %{date}.
+        failures_recorded:
+          one: Failed attempt on %{count} day.
+          other: Failed attempts on %{count} different days.
+        no_failures_recorded: No failures on record.
+        title: Availability
+        warning: The last attempt to connect to this server has been unsuccessful
+      back_to_all: All
+      back_to_limited: Limited
+      back_to_warning: Warning
+      by_domain: Domain
+      confirm_purge: Are you sure you want to permanently delete data from this domain?
+      content_policies:
+        comment: Internal note
     roles:
       categories:
         devops: DevOps
@@ -379,14 +488,253 @@ en-GB:
     '410': The page you were looking for doesn't exist here anymore.
     '429': Too many requests
     '503': The page could not be served due to a temporary server failure.
+  generic:
+    copy: Copy
+    delete: Delete
+    deselect: Deselect all
+    none: None
+    order_by: Order by
+    save_changes: Save changes
+    select_all_matching_items:
+      one: Select %{count} item matching your search.
+      other: Select all %{count} items matching your search.
+    today: today
+    validation_errors:
+      one: Something isn't quite right yet! Please review the error below
+      other: Something isn't quite right yet! Please review %{count} errors below
+  imports:
+    errors:
+      invalid_csv_file: 'Invalid CSV file. Error: %{error}'
+      over_rows_processing_limit: contains more than %{count} rows
+    modes:
+      merge: Merge
+      merge_long: Keep existing records and add new ones
+      overwrite: Overwrite
+      overwrite_long: Replace current records with the new ones
+    preface: You can import data that you have exported from another server, such as a list of the people you are following or blocking.
+    success: Your data was successfully uploaded and will be processed in due time
+    types:
+      blocking: Blocking list
+      bookmarks: Bookmarks
+      domain_blocking: Domain blocking list
+      following: Following list
+      muting: Muting list
+    upload: Upload
+  invites:
+    delete: Deactivate
+    expired: Expired
+  notification_mailer:
+    admin:
+      sign_up:
+        subject: "%{name} signed up"
+    favourite:
+      body: 'Your post was favourited by %{name}:'
+      subject: "%{name} favourited your post"
+      title: New favourite
+    follow:
+      body: "%{name} is now following you!"
+      subject: "%{name} is now following you"
+      title: New follower
+    follow_request:
+      action: Manage follow requests
+      body: "%{name} has requested to follow you"
+      subject: 'Pending follower: %{name}'
+  polls:
+    errors:
+      too_many_options: can't contain more than %{max} items
+  preferences:
+    other: Other
+    posting_defaults: Posting defaults
+    public_timelines: Public timelines
+  privacy_policy:
+    title: Privacy Policy
+  reactions:
+    errors:
+      limit_reached: Limit of different reactions reached
+      unrecognized_emoji: is not a recognised emoji
+  relationships:
+    activity: Account activity
+    confirm_follow_selected_followers: Are you sure you want to follow selected followers?
+    confirm_remove_selected_followers: Are you sure you want to remove selected followers?
+    confirm_remove_selected_follows: Are you sure you want to remove selected follows?
+    dormant: Dormant
+    follow_failure: Could not follow some of the selected accounts.
+    follow_selected_followers: Follow selected followers
+    followers: Followers
+    following: Following
+    invited: Invited
+    last_active: Last active
+    most_recent: Most recent
+    moved: Moved
+    mutual: Mutual
+    primary: Primary
+    relationship: Relationship
+    remove_selected_domains: Remove all followers from the selected domains
+    remove_selected_followers: Remove selected followers
+    remove_selected_follows: Unfollow selected users
+    status: Account status
+  remote_follow:
+    missing_resource: Could not find the required redirect URL for your account
+  reports:
+    errors:
+      invalid_rules: does not reference valid rules
+  rss:
+    content_warning: 'Content warning:'
+    descriptions:
+      account: Public posts from @%{acct}
+      tag: 'Public posts tagged #%{hashtag}'
+  scheduled_statuses:
+    over_daily_limit: You have exceeded the limit of %{limit} scheduled posts for today
+    over_total_limit: You have exceeded the limit of %{limit} scheduled posts
+    too_soon: The scheduled date must be in the future
   sessions:
+    activity: Last activity
+    browser: Browser
     browsers:
+      alipay: Alipay
       blackberry: BlackBerry
+      chrome: Chrome
+      edge: Microsoft Edge
+      electron: Electron
+      firefox: Firefox
+      generic: Unknown browser
+      huawei_browser: Huawei Browser
+      ie: Internet Explorer
+      micro_messenger: MicroMessenger
+      nokia: Nokia S40 Ovi Browser
+      opera: Opera
+      otter: Otter
+      phantom_js: PhantomJS
+      qq: QQ Browser
+      safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Unknown Browser
+      weibo: Weibo
+    current_session: Current session
+    description: "%{browser} on %{platform}"
+    explanation: These are the web browsers currently logged in to your Mastodon account.
+    ip: IP
     platforms:
+      adobe_air: Adobe Air
+      android: Android
       blackberry: BlackBerry
       chrome_os: ChromeOS
+      firefox_os: Firefox OS
+      ios: iOS
+      kai_os: KaiOS
+      linux: Linux
+      mac: macOS
+      unknown_platform: Unknown Platform
+      windows: Windows
+      windows_mobile: Windows Mobile
+      windows_phone: Windows Phone
+    revoke: Revoke
+    revoke_success: Session successfully revoked
+    title: Sessions
+    view_authentication_history: View authentication history of your account
+  settings:
+    account: Account
+    account_settings: Account settings
+    aliases: Account aliases
+    appearance: Appearance
+    authorized_apps: Authorised apps
+    back: Back to Mastodon
+    delete: Account deletion
+    development: Development
+    edit_profile: Edit profile
+    export: Data export
+    featured_tags: Featured hashtags
+    import: Import
+    import_and_export: Import and export
+    migrate: Account migration
+    notifications: Notifications
+    preferences: Preferences
+    profile: Profile
+    relationships: Follows and followers
+    statuses_cleanup: Automated post deletion
+    strikes: Moderation strikes
+    two_factor_authentication: Two-factor Auth
+    webauthn_authentication: Security keys
+  statuses:
+    attached:
+      audio:
+        one: "%{count} audio"
+        other: "%{count} audio"
+      description: 'Attached: %{attached}'
+      image:
+        one: "%{count} image"
+        other: "%{count} images"
+      video:
+        one: "%{count} video"
+        other: "%{count} videos"
+    boosted_from_html: Boosted from %{acct_link}
+    content_warning: 'Content warning: %{warning}'
+    default_language: Same as interface language
+    disallowed_hashtags:
+      one: 'contained a disallowed hashtag: %{tags}'
+      other: 'contained the disallowed hashtags: %{tags}'
+    edited_at_html: Edited %{date}
+    errors:
+      in_reply_not_found: The post you are trying to reply to does not appear to exist.
+    open_in_web: Open in web
+    over_character_limit: character limit of %{max} exceeded
+    pin_errors:
+      direct: Posts that are only visible to mentioned users cannot be pinned
+      limit: You have already pinned the maximum number of posts
+      ownership: Someone else's post cannot be pinned
+      reblog: A boost cannot be pinned
+    poll:
+      total_people:
+        one: "%{count} person"
+        other: "%{count} people"
+      total_votes:
+        one: "%{count} vote"
+        other: "%{count} votes"
+      vote: Vote
+    show_more: Show more
+    show_newer: Show newer
+    show_older: Show older
+    show_thread: Show thread
+    sign_in_to_participate: Sign in to participate in the conversation
+    title: '%{name}: "%{quote}"'
+    visibilities:
+      direct: Direct
+      private: Followers-only
+      private_long: Only show to followers
+      public: Public
+      public_long: Everyone can see
+      unlisted: Unlisted
+      unlisted_long: Everyone can see, but not listed on public timelines
   statuses_cleanup:
+    enabled: Automatically delete old posts
+    enabled_hint: Automatically deletes your posts once they reach a specified age threshold, unless they match one of the exceptions below
+    exceptions: Exceptions
+    explanation: Because deleting posts is an expensive operation, this is done slowly over time when the server is not otherwise busy. For this reason, your posts may be deleted a while after they reach the age threshold.
+    ignore_favs: Ignore favourites
+    ignore_reblogs: Ignore boosts
+    interaction_exceptions: Exceptions based on interactions
+    interaction_exceptions_explanation: Note that there is no guarantee for posts to be deleted if they go below the favourite or boost threshold after having once gone over them.
+    keep_direct: Keep direct messages
+    keep_direct_hint: Doesn't delete any of your direct messages
+    keep_media: Keep posts with media attachments
+    keep_media_hint: Doesn't delete any of your posts that have media attachments
+    keep_pinned: Keep pinned posts
+    keep_pinned_hint: Doesn't delete any of your pinned posts
+    keep_polls: Keep polls
+    keep_polls_hint: Doesn't delete any of your polls
+    keep_self_bookmark: Keep posts you bookmarked
+    keep_self_bookmark_hint: Doesn't delete your own posts if you have bookmarked them
+    keep_self_fav: Keep posts you favourited
+    keep_self_fav_hint: Doesn't delete your own posts if you have favourited them
+    min_age:
+      '1209600': 2 weeks
+      '15778476': 6 months
+      '2629746': 1 month
+      '31556952': 1 year
+      '5259492': 2 months
+      '604800': 1 week
+      '63113904': 2 years
+      '7889238': 3 months
     min_age_label: Age threshold
     min_favs: Keep posts favourited at least
     min_favs_hint: Doesn't delete any of your posts that has received at least this number of favourites. Leave blank to delete posts regardless of their number of favourites
@@ -399,7 +747,11 @@ en-GB:
   strikes:
     errors:
       too_late: It is too late to appeal this strike
+  tags:
+    does_not_match_previous_name: does not match the previous name
   themes:
+    contrast: Mastodon (High contrast)
+    default: Mastodon (Dark)
     mastodon-light: Mastodon (Light)
   time:
     formats:
@@ -433,7 +785,14 @@ en-GB:
       title: Appeal rejected
     backup_ready:
       explanation: You requested a full backup of your Mastodon account. It's now ready for download!
+      subject: Your archive is ready for download
+      title: Archive takeout
     suspicious_sign_in:
+      change_password: change your password
+      details: 'Here are details of the sign-in:'
+      explanation: We've detected a sign-in to your account from a new IP address.
+      further_actions_html: If this wasn't you, we recommend that you %{action} immediately and enable two-factor authentication to keep your account secure.
+      subject: Your account has been accessed from a new IP address
       title: A new sign-in
     warning:
       appeal: Submit an appeal
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 87231836a..c6b113956 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -812,6 +812,12 @@ en:
         message_html: You haven't defined any server rules.
       sidekiq_process_check:
         message_html: No Sidekiq process running for the %{value} queue(s). Please review your Sidekiq configuration
+      upload_check_privacy_error:
+        action: Check here for more information
+        message_html: "<strong>Your web server is misconfigured. The privacy of your users is at risk.</strong>"
+      upload_check_privacy_error_object_storage:
+        action: Check here for more information
+        message_html: "<strong>Your object storage is misconfigured. The privacy of your users is at risk.</strong>"
     tags:
       review: Review status
       updated_msg: Hashtag settings updated successfully
diff --git a/config/locales/eo.yml b/config/locales/eo.yml
index a8279b6a6..b381805a1 100644
--- a/config/locales/eo.yml
+++ b/config/locales/eo.yml
@@ -834,6 +834,7 @@ eo:
           other: Diskonita de %{count} personoj ekde lasta semajno
         title: Tendencantaj ligiloj
         usage_comparison: Diskonita %{today}-foje hodiau, sed estas %{yesterday} hierau
+      not_allowed_to_trend: Ne rajtas fariĝi furoraĵo
       only_allowed: Nur permesitas
       pending_review: Atendante revizion
       preview_card_providers:
@@ -1324,8 +1325,8 @@ eo:
       sign_up:
         subject: "%{name} registriĝis"
     favourite:
-      body: "%{name} stelumis vian mesaĝon:"
-      subject: "%{name} stelumis vian mesaĝon"
+      body: "%{name} stelumis vian afiŝon:"
+      subject: "%{name} stelumis vian afiŝon"
       title: Nova stelumo
     follow:
       body: "%{name} nun sekvas vin!"
@@ -1345,7 +1346,7 @@ eo:
       subject: Enketo de %{name} finitas
     reblog:
       body: 'Via mesaĝo estis diskonigita de %{name}:'
-      subject: "%{name} diskonigis vian mesaĝon"
+      subject: "%{name} diskonigis vian afiŝon"
       title: Nova diskonigo
     status:
       subject: "%{name} ĵus afiŝis"
@@ -1406,6 +1407,7 @@ eo:
     confirm_remove_selected_followers: Ĉu vi certas, ke vi volas forigi la elektitajn sekvantojn?
     confirm_remove_selected_follows: Ĉu vi certas, ke vi volas forigi la elektitajn sekvatojn?
     dormant: Dormanta
+    follow_failure: Ne eblis sekvi iom da la elektitaj kontoj.
     follow_selected_followers: Sekvi selektitajn sekvantojn
     followers: Sekvantoj
     following: Sekvatoj
@@ -1445,6 +1447,7 @@ eo:
       electron: Electron
       firefox: Firefox
       generic: Nekonata retumilo
+      huawei_browser: Retumilo Huawei
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi Browser
@@ -1454,6 +1457,7 @@ eo:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Nekonata retumilo
       weibo: Weibo
     current_session: Nuna seanco
     description: "%{browser} en %{platform}"
@@ -1466,9 +1470,10 @@ eo:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: Mac
-      other: nekonata substrato
+      unknown_platform: Nekonata platformo
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml
index bef481b35..2a395c80f 100644
--- a/config/locales/es-AR.yml
+++ b/config/locales/es-AR.yml
@@ -1405,6 +1405,7 @@ es-AR:
     confirm_remove_selected_followers: "¿Estás seguro que querés quitar a los seguidores seleccionados?"
     confirm_remove_selected_follows: "¿Estás seguro que querés quitar a las cuentas seguidas seleccionadas?"
     dormant: Inactivas
+    follow_failure: No se pudieron seguir algunas de las cuentas seleccionadas.
     follow_selected_followers: Seguir a los seguidores seleccionados
     followers: Seguidores
     following: Siguiendo
@@ -1444,6 +1445,7 @@ es-AR:
       electron: Electron
       firefox: Mozilla Firefox
       generic: "[Navegador web desconocido]"
+      huawei_browser: Navegador Huawei
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Navegador web de Nokia S40 Ovi
@@ -1453,6 +1455,7 @@ es-AR:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: "[Navegador web desconocido]"
       weibo: Weibo
     current_session: Sesión actual
     description: "%{browser} en %{platform}"
@@ -1465,9 +1468,10 @@ es-AR:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: GNU/Linux
       mac: macOS
-      other: "[Plataforma desconocida]"
+      unknown_platform: "[Plataforma desconocida]"
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml
index 978cd0c3c..3919b4064 100644
--- a/config/locales/es-MX.yml
+++ b/config/locales/es-MX.yml
@@ -1405,6 +1405,7 @@ es-MX:
     confirm_remove_selected_followers: "¿Estás seguro de que quieres eliminar a los seguidores seleccionados?"
     confirm_remove_selected_follows: "¿Estás seguro de que quieres eliminar los seguidos seleccionados?"
     dormant: Inactivo
+    follow_failure: No se pudo seguir algunas de las cuentas seleccionadas.
     follow_selected_followers: Seguir a los seguidores seleccionados
     followers: Seguidores
     following: Siguiendo
@@ -1444,6 +1445,7 @@ es-MX:
       electron: Electron
       firefox: Firefox
       generic: Desconocido
+      huawei_browser: Navegador Huawei
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Navegador de Nokia S40 Ovi
@@ -1453,6 +1455,7 @@ es-MX:
       qq: Navegador QQ
       safari: Safari
       uc_browser: Navegador UC
+      unknown_browser: Navegador desconocido
       weibo: Weibo
     current_session: Sesión actual
     description: "%{browser} en %{platform}"
@@ -1465,9 +1468,10 @@ es-MX:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: GNU Linux
       mac: Mac
-      other: Desconocido
+      unknown_platform: Plataforma desconocida
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/es.yml b/config/locales/es.yml
index 29c4e84e7..04f9b2346 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -1405,6 +1405,7 @@ es:
     confirm_remove_selected_followers: "¿Estás seguro de que quieres eliminar los seguidores seleccionados?"
     confirm_remove_selected_follows: "¿Estás seguro de que quieres eliminar los seguidos seleccionados?"
     dormant: Inactivo
+    follow_failure: No se pudieron seguir algunas de las cuentas seleccionadas.
     follow_selected_followers: Seguir a los seguidores seleccionados
     followers: Seguidores
     following: Siguiendo
@@ -1444,6 +1445,7 @@ es:
       electron: Electron
       firefox: Firefox
       generic: Desconocido
+      huawei_browser: Navegador Huawei
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Navegador de Nokia S40 Ovi
@@ -1453,6 +1455,7 @@ es:
       qq: Navegador QQ
       safari: Safari
       uc_browser: Navegador UC
+      unknown_browser: Navegador Desconocido
       weibo: Weibo
     current_session: Sesión actual
     description: "%{browser} en %{platform}"
@@ -1465,9 +1468,10 @@ es:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: GNU Linux
       mac: Mac
-      other: Desconocido
+      unknown_platform: Plataforma Desconocida
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/et.yml b/config/locales/et.yml
index 55cb81011..3da578402 100644
--- a/config/locales/et.yml
+++ b/config/locales/et.yml
@@ -979,7 +979,7 @@ et:
     delete_account: Konto kustutamine
     delete_account_html: Kui soovid oma konto kustutada, siis <a href="%{path}">jätka siit</a>. Pead kustutamise eraldi kinnitama.
     description:
-      prefix_invited_by_user: "@%{name} kutsub Teid liituma selle Mastodoni serveriga!"
+      prefix_invited_by_user: "@%{name} kutsub sind liituma selle Mastodoni serveriga!"
       prefix_sign_up: Loo Mastodoni konto juba täna!
       suffix: Kasutajakontoga saad jälgida inimesi, postitada uudiseid ning pidada kirjavahetust ükskõik millise Mastodoni serveri kasutajatega ja muudki!
     didnt_get_confirmation: Ei saanud kinnituse juhendeid?
@@ -1248,7 +1248,7 @@ et:
       '86400': 1 päev
     expires_in_prompt: Mitte kunagi
     generate: Loo
-    invited_by: 'Teid kutsus:'
+    invited_by: 'Sind kutsus:'
     max_uses:
       one: 1 kasutus
       other: "%{count} kasutust"
@@ -1332,13 +1332,13 @@ et:
       title: Uus jälgija
     follow_request:
       action: Halda jälgimistaotlusi
-      body: "%{name} soovib Teid jälgida"
+      body: "%{name} soovib sind jälgida"
       subject: 'Ootav jälgija: %{name}'
       title: Uus jälgimistaotlus
     mention:
       action: Vasta
-      body: "%{name} mainis Teid:"
-      subject: "%{name} mainis Teid"
+      body: "%{name} mainis sind:"
+      subject: "%{name} mainis sind"
       title: Uus mainimine
     poll:
       subject: "%{name} küsitlus lõppes"
@@ -1405,6 +1405,7 @@ et:
     confirm_remove_selected_followers: Oled kindel, et soovid eemaldada valitud jälgijad?
     confirm_remove_selected_follows: Oled kindel, et soovid eemaldada valitud jälgitavad?
     dormant: Seisev
+    follow_failure: Mõne valitud konto jälgimine polnud võimalik.
     follow_selected_followers: Valitud jälgijate jälgimine
     followers: Jälgijad
     following: Jälgib
@@ -1444,6 +1445,7 @@ et:
       electron: Electron
       firefox: Firefox
       generic: Tundmatu veebilehitseja
+      huawei_browser: Huawei veebilehitseja
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi Browser
@@ -1453,6 +1455,7 @@ et:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Tundmatu veebilehitseja
       weibo: Weibo
     current_session: Praegune seanss
     description: "%{browser} platvormil %{platform}"
@@ -1465,9 +1468,10 @@ et:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: Mac
-      other: tundmatu platvorm
+      unknown_platform: Tundmatu platvorm
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/eu.yml b/config/locales/eu.yml
index 0b2ab33d4..39e0b2607 100644
--- a/config/locales/eu.yml
+++ b/config/locales/eu.yml
@@ -1407,6 +1407,7 @@ eu:
     confirm_remove_selected_followers: Ziur al zaude hautatutako jarraitzaileak ezabatu nahi dituzula?
     confirm_remove_selected_follows: Ziur al zaude hautatutako jarraipenak ezabatu nahi dituzula?
     dormant: Ez aktiboa
+    follow_failure: Ezin izan dira aukeratutako kontu batzuk jarraitu.
     follow_selected_followers: Jarraitu hautatutako jarraitzaileak
     followers: Jarraitzaileak
     following: Jarraitzen
@@ -1446,6 +1447,7 @@ eu:
       electron: Electron
       firefox: Firefox
       generic: Nabigatzaile ezezaguna
+      huawei_browser: Huawei nabigatzailea
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi nabigatzailea
@@ -1455,6 +1457,7 @@ eu:
       qq: QQ nabigatzailea
       safari: Safari
       uc_browser: UC nabigatzailea
+      unknown_browser: Nabigatzaile ezezaguna
       weibo: Weibo
     current_session: Uneko saioa
     description: "%{browser} - %{platform}"
@@ -1467,9 +1470,10 @@ eu:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: Mac
-      other: plataforma ezezaguna
+      unknown_platform: Plataforma ezezaguna
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/fa.yml b/config/locales/fa.yml
index a418dc377..0127d0e61 100644
--- a/config/locales/fa.yml
+++ b/config/locales/fa.yml
@@ -1,7 +1,7 @@
 ---
 fa:
   about:
-    about_mastodon_html: 'شبکهٔ اجتماعی آینده: بدون تبلیغات، بدون شنود از طرف شرکت‌ها، طراحی اخلاق‌مدار، و معماری غیرمتمرکز! با ماستودون صاحب داده‌های خودتان باشید!'
+    about_mastodon_html: 'شبکه‌ی اجتماعی آینده: بدون تبلیغات، بدون شنود از طرف شرکت‌ها، طراحی اخلاق‌مدار، و معماری غیرمتمرکز! با ماستودون صاحب داده‌های خودتان باشید!'
     contact_missing: تنظیم نشده
     contact_unavailable: موجود نیست
     hosted_on: ماستودون، میزبانی‌شده روی %{domain}
@@ -91,6 +91,7 @@ fa:
       moderation:
         active: فعّال
         all: همه
+        disabled: غیرفعال
         pending: منتظر
         silenced: محدود
         suspended: تعلیق شده
@@ -128,6 +129,7 @@ fa:
       search: جستجو
       search_same_email_domain: دیگر کاربران با دامنهٔ رایانامهٔ یکسان
       search_same_ip: دیگر کاربران با IP یکسان
+      security: امنیت
       security_measures:
         only_password: فقط گذرواژه
         password_and_2fa: گذرواژه و ۲عاملی
@@ -201,6 +203,7 @@ fa:
         reject_user: رد کاربر
         remove_avatar_user: برداشتن تصویر نمایه
         reopen_report: بازگشایی گزارش
+        resend_user: ارسال مجدد رایانامه تایید
         reset_password_user: بازنشانی گذرواژه
         resolve_report: رفع گزارش
         sensitive_account: علامت‌گذاری رسانه در حسابتان به عنوان حساس
@@ -215,6 +218,7 @@ fa:
         update_custom_emoji: به‌روز رسانی اموجی سفارشی
         update_domain_block: به‌روزرسانی مسدودسازی دامنه
         update_status: به‌روز رسانی وضعیت
+        update_user_role: به روزرسانی نقش
       actions:
         approve_appeal_html: "%{name} درخواست تجدیدنظر تصمیم مدیر را از %{target} پذیرفت"
         approve_user_html: "%{name} ثبت نام %{target} را تایید کرد"
@@ -425,6 +429,7 @@ fa:
         title: سیاست‌های محتوا
       dashboard:
         instance_accounts_dimension: حساب‌های پیش‌تر پی‌گیری شده
+        instance_accounts_measure: حساب‌های ذخیره شده
         instance_followers_measure: پی‌گیرندگانمان در آن‌جا
         instance_follows_measure: پی‌گیرندگانشان در این‌جا
         instance_languages_dimension: زبان‌های برتر
@@ -511,9 +516,11 @@ fa:
       assign_to_self: به عهدهٔ من بگذار
       assigned: مدیر عهده‌دار
       by_target_domain: دامنهٔ حساب گزارش‌شده
+      cancel: لغو
       category: دسته
       comment:
         none: هیچ
+      confirm: تأیید
       created_at: گزارش‌شده
       delete_and_resolve: حذف فرسته‌ها
       forwarded: هدایت شده
@@ -549,6 +556,7 @@ fa:
       add_new: افزودن نقش
       categories:
         administration: مدیریت
+        devops: DevOps
         invites: دعوت‌ها
         moderation: نظارت
         special: ویژه
@@ -1124,7 +1132,6 @@ fa:
       ios: آی‌اواس
       linux: لینوکس
       mac: مک
-      other: سیستم ناشناخته
       windows: ویندوز
       windows_mobile: ویندوز همراه
       windows_phone: تلفن ویندوزی
diff --git a/config/locales/fi.yml b/config/locales/fi.yml
index 30d5f1179..a9554d096 100644
--- a/config/locales/fi.yml
+++ b/config/locales/fi.yml
@@ -954,7 +954,7 @@ fi:
       body: Mastodonin ovat kääntäneet vapaaehtoiset.
       guide_link: https://crowdin.com/project/mastodon
       guide_link_text: Kaikki voivat osallistua.
-    sensitive_content: Arkaluontoista sisältöä
+    sensitive_content: Arkaluonteinen sisältö
     toot_layout: Viestin asettelu
   application_mailer:
     notification_preferences: Muuta sähköpostiasetuksia
@@ -1022,7 +1022,7 @@ fi:
     status:
       account_status: Tilin tila
       confirming: Odotetaan sähköpostivahvistuksen valmistumista.
-      functional: Tilisi on täysin toimiva.
+      functional: Tilisi on täysin toiminnassa.
       pending: Hakemuksesi odottaa henkilökuntamme tarkastusta. Tämä voi kestää jonkin aikaa. Saat sähköpostiviestin, jos hakemuksesi on hyväksytty.
       redirecting_to: Tilisi ei ole aktiivinen, koska se ohjaa tällä hetkellä kohteeseen %{acct}.
       view_strikes: Näytä tiliäsi koskevia aiempia varoituksia
@@ -1405,6 +1405,7 @@ fi:
     confirm_remove_selected_followers: Haluatko varmasti poistaa valitut seuraajat?
     confirm_remove_selected_follows: Haluatko varmasti poistaa valitut seuraamiset?
     dormant: Horroksessa
+    follow_failure: Joitain valittuja tilejä ei voitu seurata.
     follow_selected_followers: Seuraa valittuja seuraajia
     followers: Seuraajat
     following: Seuratut
@@ -1444,6 +1445,7 @@ fi:
       electron: Electron
       firefox: Firefox
       generic: Tuntematon selain
+      huawei_browser: Huawei-selain
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi -selain
@@ -1453,6 +1455,7 @@ fi:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Tuntematon selain
       weibo: Weibo
     current_session: Nykyinen istunto
     description: "%{browser} alustalla %{platform}"
@@ -1465,9 +1468,10 @@ fi:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: macOS
-      other: tuntematon alusta
+      unknown_platform: Tuntematon alusta
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/fo.yml b/config/locales/fo.yml
index baebaae2f..3199690c9 100644
--- a/config/locales/fo.yml
+++ b/config/locales/fo.yml
@@ -1405,6 +1405,7 @@ fo:
     confirm_remove_selected_followers: Vil tú veruliga strika valdu fylgjararnar?
     confirm_remove_selected_follows: Vil tú veruliga strika valdu fylgingarnar?
     dormant: Í dvala
+    follow_failure: Tað bar ikki til at fylgja øllum valdu kontunum.
     follow_selected_followers: Fylg valdu fylgjarum
     followers: Fylgjarar
     following: Fylgi
@@ -1444,6 +1445,7 @@ fo:
       electron: Electron
       firefox: Firefox
       generic: Ókendur kagi
+      huawei_browser: Huawei kagi
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi Browser
@@ -1453,6 +1455,7 @@ fo:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Ókendur kagi
       weibo: Weibo
     current_session: Verandi seta
     description: "%{browser} á %{platform}"
@@ -1465,9 +1468,10 @@ fo:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: macOS
-      other: ókendur pallur
+      unknown_platform: Ókendur pallur
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/fr-QC.yml b/config/locales/fr-QC.yml
index 922cea0dc..400ed4b11 100644
--- a/config/locales/fr-QC.yml
+++ b/config/locales/fr-QC.yml
@@ -1405,6 +1405,7 @@ fr-QC:
     confirm_remove_selected_followers: Voulez-vous vraiment supprimer les abonné⋅e⋅s sélectionné⋅e⋅s ?
     confirm_remove_selected_follows: Voulez-vous vraiment supprimer les abonnements sélectionnés ?
     dormant: Dormant
+    follow_failure: Impossibilité de suivre certains des comptes sélectionnés.
     follow_selected_followers: Suivre les abonné·e·s sélectionné·e·s
     followers: Abonné·e
     following: Abonnement
@@ -1444,6 +1445,7 @@ fr-QC:
       electron: Electron
       firefox: Firefox
       generic: Navigateur inconnu
+      huawei_browser: Navigateur Huawei
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi Browser
@@ -1453,6 +1455,7 @@ fr-QC:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Navigateur inconnu
       weibo: Weibo
     current_session: Session courante
     description: "%{browser} sur %{platform}"
@@ -1465,9 +1468,10 @@ fr-QC:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: Mac
-      other: système inconnu
+      unknown_platform: Plateforme inconnue
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index c0d48df88..048cbd527 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -1405,6 +1405,7 @@ fr:
     confirm_remove_selected_followers: Voulez-vous vraiment supprimer les abonné⋅e⋅s sélectionné⋅e⋅s ?
     confirm_remove_selected_follows: Voulez-vous vraiment supprimer les abonnements sélectionnés ?
     dormant: Dormant
+    follow_failure: Impossibilité de suivre certains des comptes sélectionnés.
     follow_selected_followers: Suivre les abonné·e·s sélectionné·e·s
     followers: Abonné·e
     following: Abonnement
@@ -1444,6 +1445,7 @@ fr:
       electron: Electron
       firefox: Firefox
       generic: Navigateur inconnu
+      huawei_browser: Navigateur Huawei
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi Browser
@@ -1453,6 +1455,7 @@ fr:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Navigateur inconnu
       weibo: Weibo
     current_session: Session courante
     description: "%{browser} sur %{platform}"
@@ -1465,9 +1468,10 @@ fr:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: Mac
-      other: système inconnu
+      unknown_platform: Plateforme inconnue
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/fy.yml b/config/locales/fy.yml
index 2c1c8657f..15f4bd88b 100644
--- a/config/locales/fy.yml
+++ b/config/locales/fy.yml
@@ -1405,6 +1405,7 @@ fy:
     confirm_remove_selected_followers: Binne jo wis dat jo de selektearre folgers net mear folgje wolle?
     confirm_remove_selected_follows: Binne jo wis dat jo de selektearre folge accounts net mear folgje wolle?
     dormant: Slommerjend
+    follow_failure: Kin guon fan de selektearre accounts net folgje.
     follow_selected_followers: Selektearre folgers folgje
     followers: Folgers
     following: Folgjend
@@ -1444,6 +1445,7 @@ fy:
       electron: Electron
       firefox: Firefox
       generic: Unbekende browser
+      huawei_browser: Huawei-browser
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi Browser
@@ -1453,6 +1455,7 @@ fy:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Unbekende browser
       weibo: Weibo
     current_session: Aktuele sesje
     description: "%{browser} op %{platform}"
@@ -1465,9 +1468,10 @@ fy:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: macOS
-      other: ûnbekend platfoarm
+      unknown_platform: Unbekend platfoarm
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/ga.yml b/config/locales/ga.yml
index 4aa2ae98b..f43037987 100644
--- a/config/locales/ga.yml
+++ b/config/locales/ga.yml
@@ -461,7 +461,6 @@ ga:
       ios: iOS
       linux: Linux
       mac: macOS
-      other: ardán anaithnid
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/gd.yml b/config/locales/gd.yml
index b5347d91b..fb3b8f8ee 100644
--- a/config/locales/gd.yml
+++ b/config/locales/gd.yml
@@ -1503,7 +1503,6 @@ gd:
       ios: iOS
       linux: Linux
       mac: macOS
-      other: ùrlar nach aithne dhuinn
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/gl.yml b/config/locales/gl.yml
index 2c3af8f88..0eccaa951 100644
--- a/config/locales/gl.yml
+++ b/config/locales/gl.yml
@@ -1405,6 +1405,7 @@ gl:
     confirm_remove_selected_followers: Tes a certeza de querer deixar de seguir as seguidoras seleccionadas?
     confirm_remove_selected_follows: Tes a certeza de querer eliminar os seguimentos seleccionados?
     dormant: En repouso
+    follow_failure: Non puido seguir algunha das contas seleccionadas.
     follow_selected_followers: Seguir seguidoras seleccionadas
     followers: Seguidoras
     following: A Seguir
@@ -1444,6 +1445,7 @@ gl:
       electron: Electron
       firefox: Firefox
       generic: Navegador descoñecido
+      huawei_browser: Navegador Huawei
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Navegador Nokia S40 Ovi
@@ -1453,6 +1455,7 @@ gl:
       qq: Navegador QQ
       safari: Safari
       uc_browser: Navegador QQ
+      unknown_browser: Navegador descoñecido
       weibo: Weibo
     current_session: Sesión actual
     description: "%{browser} en %{platform}"
@@ -1465,9 +1468,10 @@ gl:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: Mac
-      other: plataforma descoñecida
+      unknown_platform: Plataforma descoñecida
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/he.yml b/config/locales/he.yml
index a4af50b53..aff0e7c6a 100644
--- a/config/locales/he.yml
+++ b/config/locales/he.yml
@@ -1457,6 +1457,7 @@ he:
     confirm_remove_selected_followers: האם את/ה בטוח/ה שברצונך להסיר את העוקבים שסומנו?
     confirm_remove_selected_follows: האם את/ה בטוח/ה שברצונך להסיר את הנעקבים שסומנו?
     dormant: רדומים
+    follow_failure: נכשלה העקיבה אחרי חלק מהחשבונות שבחרת.
     follow_selected_followers: עקוב אחר הנעקבים שנבחרו
     followers: עוקבים
     following: נעקבים
@@ -1496,6 +1497,7 @@ he:
       electron: אלקטרון
       firefox: פיירפוקס
       generic: דפדפן לא ידוע
+      huawei_browser: דפדפן וואווי
       ie: אינטרנט אקספלורר
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi Browser
@@ -1505,6 +1507,7 @@ he:
       qq: דפדפן QQ
       safari: ספארי
       uc_browser: דפדפן UC
+      unknown_browser: דפדפן לא מזוהה
       weibo: Weibo
     current_session: חיבור נוכחי
     description: "%{browser} על %{platform}"
@@ -1517,9 +1520,10 @@ he:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: מערכת הפעלה KaiOS
       linux: לינוקס
       mac: macOS
-      other: סביבה לא ידועה
+      unknown_platform: פלטפורמה לא מזוהה
       windows: חלונות
       windows_mobile: חלונות מובייל
       windows_phone: טלפון חלונות
diff --git a/config/locales/hi.yml b/config/locales/hi.yml
index 50fae82bd..228bd1659 100644
--- a/config/locales/hi.yml
+++ b/config/locales/hi.yml
@@ -8,3 +8,12 @@ hi:
     '410': The page you were looking for doesn't exist here anymore.
     '429': Too many requests
     '503': The page could not be served due to a temporary server failure.
+  relationships:
+    follow_failure: चुने हुए अकाउंट्स में से कुछ को फ़ॉलो नहीं किया जा सकता
+  sessions:
+    browsers:
+      huawei_browser: हुआवे ब्राउज़र
+      unknown_browser: अनजान ब्राउज़र
+    platforms:
+      kai_os: काइ ओएस
+      unknown_platform: अनजान प्लेटफॉर्म
diff --git a/config/locales/hr.yml b/config/locales/hr.yml
index e9d414ef5..94cfb82ae 100644
--- a/config/locales/hr.yml
+++ b/config/locales/hr.yml
@@ -165,8 +165,6 @@ hr:
   remote_follow:
     missing_resource: Nije moguće pronaći traženi URL preusmjeravanja za Vaš račun
   sessions:
-    platforms:
-      other: nepoznata platforma
     revoke: Opozovi
     revoke_success: Sesija je uspješno opozvana
     title: Sesije
diff --git a/config/locales/hu.yml b/config/locales/hu.yml
index 2887b4a69..6c9d869e1 100644
--- a/config/locales/hu.yml
+++ b/config/locales/hu.yml
@@ -1405,6 +1405,7 @@ hu:
     confirm_remove_selected_followers: Biztos, hogy el szeretnéd távolítani a kiválasztott követőket?
     confirm_remove_selected_follows: Biztos, hogy el szeretnéd távolítani a kiválasztott követéseket?
     dormant: Elhagyott
+    follow_failure: Nem sikerült bekövetni néhányat a kiválasztott fiókok közül.
     follow_selected_followers: Kiválasztott követők bekövetése
     followers: Követők
     following: Követve
@@ -1444,6 +1445,7 @@ hu:
       electron: Electron
       firefox: Firefox
       generic: Ismeretlen böngésző
+      huawei_browser: Huawei Böngésző
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi Böngésző
@@ -1453,6 +1455,7 @@ hu:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Ismeretlen böngésző
       weibo: Weibo
     current_session: Jelenlegi munkamenet
     description: "%{browser} az alábbi platformon: %{platform}"
@@ -1465,9 +1468,10 @@ hu:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: Mac
-      other: ismeretlen platform
+      unknown_platform: Ismeretlen platform
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/hy.yml b/config/locales/hy.yml
index 158402ce8..7a1b33c70 100644
--- a/config/locales/hy.yml
+++ b/config/locales/hy.yml
@@ -756,7 +756,6 @@ hy:
       ios: iOS
       linux: Լինուքս
       mac: macOS
-      other: անհայտ հարթակ
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/id.yml b/config/locales/id.yml
index 0342c7bd9..d6672e96d 100644
--- a/config/locales/id.yml
+++ b/config/locales/id.yml
@@ -1393,7 +1393,6 @@ id:
       ios: iOS
       linux: Linux
       mac: Mac
-      other: platform yang tidak diketahui
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/io.yml b/config/locales/io.yml
index b55778829..ab37c13c2 100644
--- a/config/locales/io.yml
+++ b/config/locales/io.yml
@@ -1376,7 +1376,6 @@ io:
       ios: iOS
       linux: Linux
       mac: macOS
-      other: nesavata platformo
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/is.yml b/config/locales/is.yml
index 2ba3d3108..75fff8441 100644
--- a/config/locales/is.yml
+++ b/config/locales/is.yml
@@ -1405,6 +1405,7 @@ is:
     confirm_remove_selected_followers: Ertu viss um að þú viljir fjarlægja valda fylgjendur?
     confirm_remove_selected_follows: Ertu viss um að þú viljir fjarlægja valið sem fylgst er með?
     dormant: Sofandi
+    follow_failure: Gat ekki fylgst með sumum af völdu aðgöngunum.
     follow_selected_followers: Fylgjast með völdum fylgjendum
     followers: Fylgjendur
     following: Fylgist með
@@ -1444,6 +1445,7 @@ is:
       electron: Electron
       firefox: Firefox
       generic: Óþekktur vafri
+      huawei_browser: Huawei-vafri
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi vafri
@@ -1453,6 +1455,7 @@ is:
       qq: QQ vafri
       safari: Safari
       uc_browser: UC-vafrinn
+      unknown_browser: Óþekktur vafri
       weibo: Weibo
     current_session: Núverandi seta
     description: "%{browser} á %{platform}"
@@ -1465,9 +1468,10 @@ is:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: Mac
-      other: óþekktu stýrikerfi
+      unknown_platform: Óþekkt stýrikerfi
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/it.yml b/config/locales/it.yml
index ce3fd34b7..694f4e806 100644
--- a/config/locales/it.yml
+++ b/config/locales/it.yml
@@ -1407,6 +1407,7 @@ it:
     confirm_remove_selected_followers: Sei sicuro di voler rimuovere i follower selezionati?
     confirm_remove_selected_follows: Sei sicuro di voler rimuovere i follow selezionati?
     dormant: Dormiente
+    follow_failure: Impossibile seguire alcuni degli account selezionati.
     follow_selected_followers: Segui i seguaci selezionati
     followers: Seguaci
     following: Seguiti
@@ -1446,6 +1447,7 @@ it:
       electron: Electron
       firefox: Firefox
       generic: Browser sconosciuto
+      huawei_browser: Huawei Browser
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi Browser
@@ -1455,6 +1457,7 @@ it:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Browser sconosciuto
       weibo: Weibo
     current_session: Sessione corrente
     description: "%{browser} su %{platform}"
@@ -1467,9 +1470,10 @@ it:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: Mac
-      other: piattaforma sconosciuta
+      unknown_platform: Piattaforma sconosciuta
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index 6743d8388..5d0b27411 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -569,7 +569,7 @@ ja:
         other_description_html: アカウントの動作を制御するためのオプションや、報告されたアカウントへの通信をカスタマイズするためのオプションを確認してください。
         resolve_description_html: 報告されたアカウントに対していかなる措置も取られず、ストライクも記録されず、報告は終了します。
         silence_description_html: このアカウントは、すでにフォローしている人、または手動で検索した人にしか見えないため、リーチが極端に制限されます。いつでも元に戻すことができます。このアカウントに対するすべての通報をクローズします。
-        suspend_description_html: アカウントとそのすべての内容にアクセスできなくなり、最終的に削除され、それとやり取りは不可能になります。 30日以内にリバーシブル。このアカウントに対するすべての通報をクローズします。
+        suspend_description_html: アカウントとそのすべての内容にアクセスできなくなり、最終的に削除され、やり取りは不可能になります。 30日以内であれば元に戻すことができます。このアカウントに対するすべての通報をクローズします。
       actions_description_html: このレポートを解決するために取るアクションを決定します。 報告されたアカウントに対して懲罰的な措置を取った場合、メール通知が送信されますが<strong>スパム</strong>カテゴリが選択されている場合を除きます。
       actions_description_remote_html: この通報を解決するためのアクションを選択してください。これは<strong>あなたの</strong>サーバーがこのリモートアカウントと通信し、そのコンテンツを処理する時のみ影響します。
       add_to_report: 通報にさらに追加
@@ -1139,7 +1139,7 @@ ja:
   filters:
     contexts:
       account: プロフィール
-      home: ホームタイムライン
+      home: ホームおよびリスト
       notifications: 通知
       public: 公開タイムライン
       thread: 会話
@@ -1379,6 +1379,7 @@ ja:
     confirm_remove_selected_followers: 選択したフォロワーを削除してもよろしいですか?
     confirm_remove_selected_follows: 選択したフォローを削除してもよろしいですか?
     dormant: 非アクティブ
+    follow_failure: 選択したアカウントの一部をフォローできませんでした。
     follow_selected_followers: 選択したフォロワーをフォロー
     followers: フォロワー
     following: フォロー中
@@ -1418,6 +1419,7 @@ ja:
       electron: Electron
       firefox: Firefox
       generic: 不明なブラウザ
+      huawei_browser: Huaweiブラウザ
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi Browser
@@ -1427,6 +1429,7 @@ ja:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: 不明なブラウザ
       weibo: Weibo
     current_session: 現在のセッション
     description: "%{platform}上の%{browser}"
@@ -1439,9 +1442,10 @@ ja:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: macOS
-      other: 不明なプラットフォーム
+      unknown_platform: 不明なプラットフォーム
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/ka.yml b/config/locales/ka.yml
index dcc7e6580..80dc2b9f5 100644
--- a/config/locales/ka.yml
+++ b/config/locales/ka.yml
@@ -421,7 +421,6 @@ ka:
       ios: აი-ოსი
       linux: ლინუქსი
       mac: მაკი
-      other: ამოუცნობი პლატფორმა
       windows: ვინდოუსი
       windows_mobile: ვინდოუს მობაილი
       windows_phone: ვინდოუს ფოუნი
diff --git a/config/locales/kab.yml b/config/locales/kab.yml
index 085a8958a..ffd79e76f 100644
--- a/config/locales/kab.yml
+++ b/config/locales/kab.yml
@@ -667,7 +667,6 @@ kab:
       ios: iOS
       linux: Linux
       mac: macOS
-      other: anagraw arussin
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Tiliγri Windows Phone
diff --git a/config/locales/kk.yml b/config/locales/kk.yml
index c7bdae177..d250a30a8 100644
--- a/config/locales/kk.yml
+++ b/config/locales/kk.yml
@@ -644,7 +644,6 @@ kk:
       ios: iОS
       linux: Lіnux
       mac: Mаc
-      other: белгісіз платформа
       windows: Windоws
       windows_mobile: Windows Mоbile
       windows_phone: Windоws Phone
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index 057e57068..96d73af86 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -1065,7 +1065,7 @@ ko:
       email_contact_html: 아직 도착하지 않았다면, <a href="mailto:%{email}">%{email}</a>에 메일을 보내 도움을 요청할 수 있습니다
       email_reconfirmation_html: 아직 확인 메일이 도착하지 않은 경우, <a href="%{path}">다시 요청할 수 있습니다</a>
       irreversible: 계정을 복구하거나 다시 사용할 수 없게 됩니다
-      more_details_html: 더 자세한 정보는, <a href="%{terms_path}">개인정보 정책</a>을 참고하세요.
+      more_details_html: 더 자세한 정보는, <a href="%{terms_path}">개인정보처리방침</a>을 참고하세요.
       username_available: 이 사용자명을 다시 쓸 수 있게 됩니다.
       username_unavailable: 이 사용자명은 앞으로도 쓸 수 없는 채로 남게 됩니다.
   disputes:
@@ -1137,7 +1137,7 @@ ko:
     add_new: 추가
     errors:
       limit: 추천 해시태그 최대 개수를 초과합니다
-    hint_html: "<strong>추천 해시태그가 무엇이죠?</strong> 당신의 공개 프로필 페이지에 눈에 띄게 표현 되며 사람들이 그 해시태그를 포함한 당신의 글을 찾아 볼 수 있도록 합니다. 창작활동이나 긴 기간을 가지는 프로젝트를 쭉 따라가기에 좋은 도구입니다."
+    hint_html: "<strong>추천 해시태그가 무엇일까요?</strong> 해시태그는 공개 프로필에 눈에 잘 띄게 표시되며, 사람들은 해당 해시태그로 내 공개 글을 검색할 수 있습니다. 창작물이나 장기 프로젝트를 추적하는 데 유용한 도구입니다."
   filters:
     contexts:
       account: 프로필
@@ -1370,7 +1370,7 @@ ko:
     posting_defaults: 게시물 기본설정
     public_timelines: 공개 타임라인
   privacy_policy:
-    title: 개인정보 정책
+    title: 개인정보처리방침
   reactions:
     errors:
       limit_reached: 리액션 갯수 제한에 도달했습니다
@@ -1381,6 +1381,7 @@ ko:
     confirm_remove_selected_followers: 정말로 선택된 팔로워들을 삭제하시겠습니까?
     confirm_remove_selected_follows: 정말로 선택된 팔로우를 끊으시겠습니까?
     dormant: 휴면
+    follow_failure: 선택한 계정 중 몇몇은 팔로우 할 수 없었습니다.
     follow_selected_followers: 선택한 팔로워들을 팔로우
     followers: 팔로워
     following: 팔로잉
@@ -1420,6 +1421,7 @@ ko:
       electron: 일렉트론
       firefox: 파이어폭스
       generic: 알 수 없는 브라우저
+      huawei_browser: 화웨이 브라우저
       ie: 인터넷 익스플로러
       micro_messenger: 마이크로메신저
       nokia: Nokia S40 Ovi 브라우저
@@ -1429,6 +1431,7 @@ ko:
       qq: QQ 브라우저
       safari: 사파리
       uc_browser: UC 브라우저
+      unknown_browser: 알 수 없는 브라우저
       weibo: 웨이보
     current_session: 현재 세션
     description: "%{platform}의 %{browser}"
@@ -1441,9 +1444,10 @@ ko:
       chrome_os: 크롬OS
       firefox_os: 파이어폭스OS
       ios: iOS
+      kai_os: KaiOS
       linux: 리눅스
       mac: macOS
-      other: 알 수 없는 플랫폼
+      unknown_platform: 알 수 없는 플랫폼
       windows: 윈도우
       windows_mobile: 윈도우 모바일
       windows_phone: 윈도우 폰
diff --git a/config/locales/ku.yml b/config/locales/ku.yml
index fa291b5c7..534eacdd6 100644
--- a/config/locales/ku.yml
+++ b/config/locales/ku.yml
@@ -1421,7 +1421,6 @@ ku:
       ios: iOS
       linux: Linux
       mac: macOS
-      other: platforma nenas
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/lt.yml b/config/locales/lt.yml
index b6dd360db..5139c7c48 100644
--- a/config/locales/lt.yml
+++ b/config/locales/lt.yml
@@ -433,8 +433,6 @@ lt:
     current_session: Dabartinė sesija
     description: "%{browser} ant %{platform}"
     explanation: Čia rodomos web naršyklės prijungtos prie Jūsų Mastodon paskyros.
-    platforms:
-      other: nežinoma platforma
     revoke: Atšaukti
     revoke_success: Sesija sėkmingai atšaukta
     title: Sesijos
diff --git a/config/locales/lv.yml b/config/locales/lv.yml
index 1c5eb356d..fbe0ccc72 100644
--- a/config/locales/lv.yml
+++ b/config/locales/lv.yml
@@ -1351,7 +1351,7 @@ lv:
     favourite:
       body: 'Tavu ziņu izlasei pievienoja %{name}:'
       subject: "%{name} pievienoja tavu ziņu izlasei"
-      title: Jauns izcēlums
+      title: Jauna izlase
     follow:
       body: "%{name} tagad tev seko!"
       subject: "%{name} tagad tev seko"
@@ -1431,6 +1431,7 @@ lv:
     confirm_remove_selected_followers: Vai tiešām vēlies noņemt atlasītos sekotājus?
     confirm_remove_selected_follows: Vai tiešām vēlies noņemt atlasītos sekojumus?
     dormant: Snaudošie
+    follow_failure: Nevarēja sekot dažiem atlasītajiem kontiem.
     follow_selected_followers: Sekot atlasītajiem sekotājiem
     followers: Sekotāji
     following: Seko
@@ -1470,6 +1471,7 @@ lv:
       electron: Electron
       firefox: Firefox
       generic: Nezināms pārlūks
+      huawei_browser: Huawei Browser
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi Browser
@@ -1479,6 +1481,7 @@ lv:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Nezināms Pārlūks
       weibo: Weibo
     current_session: Pašreizējā sesija
     description: "%{browser} uz %{platform}"
@@ -1491,9 +1494,10 @@ lv:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: macOS
-      other: nezināma platforma
+      unknown_platform: Nezināma Platforma
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/ms.yml b/config/locales/ms.yml
index 2bee9fee1..60db149e0 100644
--- a/config/locales/ms.yml
+++ b/config/locales/ms.yml
@@ -921,7 +921,6 @@ ms:
       android: Android
       ios: iOS
       linux: Linux
-      other: platform tidak dikenali
     title: Sesi
   settings:
     account: Akaun
diff --git a/config/locales/my.yml b/config/locales/my.yml
index a2aaeece0..ae3b941e0 100644
--- a/config/locales/my.yml
+++ b/config/locales/my.yml
@@ -2,6 +2,7 @@
 my:
   about:
     about_mastodon_html: အနာဂတ်အတွက်လူမှုကွန်ရက် - ကြော်ငြာများမရှိခြင်း၊ အဖွဲ့သားများအား စောင့်ကြည့်မှုမရှိခြင်း၊ ကျင့်ဝတ်ပိုင်းဆိုင်ရာစိတ်ချရခြင်းနှင့် ဗဟိုချုပ်ကိုင်မှုမရှိခြင်း၊ သင့်အချက်အလက်များကို Mastodon နှင့်သာ မျှဝေအသုံးပြုလိုက်ပါ။
+    contact_unavailable: မရှိ
     hosted_on: "%{domain} မှ လက်ခံဆောင်ရွက်ထားသော Mastodon"
     title: အကြောင်း
   accounts:
@@ -17,8 +18,12 @@ my:
       other: ပို့စ်တင်မယ်
     posts_tab_heading: ပို့စ်များ
   admin:
+    account_actions:
+      title: "%{acct} စိစစ်မှုလုပ်ဆောင်ရန်"
     account_moderation_notes:
       create: မှတ်စုမှထွက်ရန်
+      created_msg: စိစစ်ခြင်းမှတ်စုကို ဖန်တီးပြီးပါပြီ။
+      destroyed_msg: စိစစ်ခြင်းမှတ်စုကို ဖျက်ပစ်လိုက်ပါပြီ။
     accounts:
       add_email_domain_block: ဒိုမိန်းကိုပိတ်မည်
       approve: အတည်ပြုပါ
@@ -44,6 +49,8 @@ my:
       custom: စိတ်ကြိုက်
       delete: အချက်အလက်များဖျက်ပါ
       deleted: ဖျက်ပြီးပါပြီ
+      disable: ရပ်တန့်
+      disable_sign_in_token_auth: အီးမေးတိုကင် အထောက်အထားပြခြင်းကို ပိတ်ပါ
       disable_two_factor_authentication: 2FA ကို ပိတ်ပါ
       display_name: ဖော်ပြမည့်အမည်
       domain: ဒိုမိန်း
@@ -55,6 +62,8 @@ my:
       followers: စောင့်ကြည့်သူများ
       follows: စောင့်ကြည့်မယ်
       header: မျက်နှာဖုံးပုံ
+      inbox_url: Inbox URL
+      invite_request_text: ပါဝင်ရခြင်း အကြောင်းအရင်း
       invited_by: ဖိတ်ခေါ်ထားသည်
       ip: IP
       joined: စတင်ဝင်ရောက်သည့်နေ့
@@ -66,6 +75,7 @@ my:
       login_status: အကောင့်ဝင်ရောက်မှုအခြေအနေ
       media_attachments: မီဒီယာ ပူးတွဲချက်များ
       memorialize: အမှတ်တရအဖြစ် ပြောင်းပါ
+      memorialized_msg: "%{username} ကို အမှတ်တရအကောင့်အဖြစ် ပြောင်းလဲခဲ့သည်"
       moderation:
         active: လက်ရှိအသုံးပြုလျက်ရှိခြင်း
         all: အားလုံး
@@ -78,6 +88,7 @@ my:
       most_recent_activity: နောက်ဆုံးအသုံးပြုခဲ့သည့်အချိန်
       most_recent_ip: အသုံးပြုလေ့ရှိသည့် IP လိပ်စာ
       no_account_selected: မည်သည့်အကောင့်ကိုမျှ ရွေးချယ်ထားခြင်းမရှိသောကြောင့် ပြောင်းလဲခြင်းမရှိပါ
+      no_role_assigned: တာဝန်ပေးအပ်ထားခြင်း မရှိပါ
       not_subscribed: စာရင်းသွင်းထားခြင်းမရှိပါ
       perform_full_suspension: ရပ်ဆိုင်းရန်
       promote: အထောက်အကူ
@@ -86,6 +97,8 @@ my:
       redownload: ပရိုဖိုင်ကို ပြန်လည်စတင်ရန်
       redownloaded_msg: မူလမှစ၍ %{username} ၏ ပရိုဖိုင်ကို ပြန်လည်စတင်ပြီးပါပြီ
       reject: ဖယ်ရှားပါ
+      rejected_msg: "%{username} ၏ အကောင့်ဖွင့်အက်ပလီကေးရှင်းကို ဖယ်ရှားလိုက်ပါပြီ"
+      remote_suspension_irreversible: ဤအကောင့်၏အချက်အလက်ကို လုံးဝ ဖျက်လိုက်ပါပြီ။
       remove_avatar: ကိုယ်စားပြုရုပ်ပုံကို ဖယ်ရှားပါ
       remove_header: မျက်နှာဖုံးပုံ ဖယ်ရှားရန်
       removed_avatar_msg: "%{username} ၏ ကိုယ်စားပြုရုပ်ပုံအား ဖယ်ရှားပြီးပါပြီ"
@@ -98,11 +111,14 @@ my:
       resubscribe: ပြန်လည်စာရင်းသွင်းပါ
       role: အခန်းကဏ္ဍ
       search: ရှာရန်
+      search_same_email_domain: အီးမေးလ်ဒိုမိန်းတူညီသည့် အခြားအသုံးပြုသူများ
       search_same_ip: IP တူတူ အသုံးပြုသော အခြားသူများ
       security: လုံခြုံရေး
       security_measures:
         only_password: စကားဝှက်ဖြင့်သာ
         password_and_2fa: စကားဝှက်နှင့် 2FA
+      sensitized: သတိထားရသည်ဟု အမှတ်အသားပြုထားပါ
+      shared_inbox_url: inbox URL ကို မျှဝေခဲ့သည်
       show:
         created_reports: ဆောင်ရွက်ခဲ့ပြီးသောအစီရင်ခံစာများ
         targeted_reports: အခြားသူများမှဆောင်ရွက်ခဲ့သော အစီရင်ခံစာများ
@@ -115,10 +131,12 @@ my:
       title: အကောင့်များ
       unblock_email: အီးမေးလ်ကိုပြန်ဖွင့်မည်
       unblocked_email_msg: " %{username} အီးမေးလ်ကိုပြန်ဖွင့်လိုက်ပါပြီ"
+      unconfirmed_email: အတည်မပြုရသေးသော အီးမေးလ်
       unsubscribe: စာရင်းမှထွက်ရန်
       unsuspended_msg: "%{username} ၏ အကောင့်ကို ရပ်ဆိုင်းလိုက်ပါပြီ"
       username: အသုံးပြုသူအမည်
       view_domain: ဒိုမိန်းအတွက် အကျဉ်းချုပ်ကို ကြည့်ပါ
+      warn: သတိပေးရန်
       web: ဝဘ်
       whitelisted: ဖက်ဒီကို ခွင့်ပြုခဲ့သည်
     action_logs:
@@ -144,9 +162,11 @@ my:
         destroy_domain_allow: ဒိုမိန်းခွင့်ပြုခြင်းကို ဖျက်ရန်
         destroy_domain_block: ဒိုမိန်းပိတ်ပင်ခြင်းအား ဖျက်ရန်
         destroy_email_domain_block: အီးမေးလ်ဒိုမိန်းပိတ်ပင်ခြင်းအား ဖျက်ရန်
+        destroy_instance: ဒိုမိန်းကို ဖယ်ရှားပါ
         destroy_ip_block: IP စည်းမျဉ်းကို ဖျက်ပါ
         destroy_status: Post ကို ဖျက်ပါ
         destroy_unavailable_domain: အသုံးမပြုနိုင်သောဒိုမိန်းကို ဖျက်ပါ
+        destroy_user_role: အခန်းကဏ္ဍကို ဖျက်ပါ
         disable_2fa_user: 2FA ကို ပိတ်ပါ
         disable_custom_emoji: စိတ်ကြိုက်အီမိုဂျီကို ပိတ်ပါ
         disable_sign_in_token_auth_user: အသုံးပြုသူအတွက် အီးမေးလ်တိုကင် အထောက်အထားပြခြင်းကို ပိတ်ထားသည်
@@ -174,6 +194,7 @@ my:
         update_status: ပို့စ်ပြင်ဆင်ရန်
         update_user_role: အခန်းကဏ္ဍပြင်ဆင်ရန်
       actions:
+        approve_appeal_html: "%{name} က %{target} မှ စိစစ်ဆုံးဖြတ်ချက်အယူခံဝင်ခြင်းကို အတည်ပြုခဲ့သည်"
         approve_user_html: " %{name} က %{target} မှ အကောင့်ဖွင့်ခြင်းကို အတည်ပြုထားသည်"
         assigned_to_self_report_html: "%{name} က အစီရင်ခံစာ %{target} များကို ၎င်းတို့ထံ ပေးအပ်ခဲ့သည်"
         change_email_user_html: "%{name} က အသုံးပြုသူ %{target} ၏ အီးမေးလ်လိပ်စာကို ပြောင်းခဲ့သည်"
@@ -187,6 +208,7 @@ my:
         create_domain_block_html: "%{name} က ဒိုမိန်း %{target} ကို ပိတ်ပင်ထားသည်"
         create_email_domain_block_html: "%{name} က အီးမေးလ်ဒိုမိန်း %{target} ကို ပိတ်ပင်ထားသည်"
         create_ip_block_html: "%{name} က IP %{target} အတွက် စည်းမျဉ်းကို ဖန်တီးထားသည်"
+        create_unavailable_domain_html: "%{name} က ဒိုမိန်း %{target} သို့ ပေးပို့မှုကို ရပ်လိုက်သည်"
         create_user_role_html: "%{name} က %{target} အခန်းကဏ္ဍကို ဖန်တီးပြီးပါပြီ"
         demote_user_html: "%{name} က အသုံးပြုသူ %{target} ကို ဖြုတ်ပြီးပါပြီ"
         destroy_announcement_html: "%{name} က ကြေညာချက် %{target} ကို ဖျက်လိုက်သည်"
@@ -198,6 +220,7 @@ my:
         destroy_instance_html: "%{name} က ဒိုမိန်း %{target} ကို ဖယ်ရှားခဲ့သည်"
         destroy_ip_block_html: "%{name} က IP %{target} အတွက် စည်းမျဉ်းကို ဖျက်ထားသည်"
         destroy_status_html: "%{name} က %{target} မှ တင်ထားသောပို့စ်ကို  ဖယ်ရှားခဲ့သည်"
+        destroy_unavailable_domain_html: "%{name} က ဒိုမိန်း %{target} သို့ ပေးပို့မှုကို ပြန်လည်စတင်ခဲ့သည်"
         destroy_user_role_html: "%{name} ဖျက်ထားသော အခန်းကဏ္ဍ %{target} "
         disable_2fa_user_html: "%{name} က အသုံးပြုသူ %{target} အတွက် နှစ်ဆင့်ခံလုံခြုံရေးလိုအပ်ချက်ကို ပိတ်ထားသည်"
         disable_custom_emoji_html: "%{name} ပိတ်ထားသောအီမိုဂျီ %{target}"
@@ -242,6 +265,8 @@ my:
         create: ကြေညာချက်ဖန်တီးပါ
         title: ကြေညာချက်အသစ်
       publish: ပို့စ်တင်မည်
+      published_msg: ကြေညာချက်တင်ပြီးပါပြီ။
+      scheduled_for: "%{time} အတွက် စီစဉ်ထားသည်"
       title: ကြေညာချက်များ
       unpublish: ပြန်ဖြုတ်ပါ
       unpublished_msg: ကြေညာချက်ကို ဖြုတ်ပြီးပါပြီ
@@ -282,6 +307,10 @@ my:
       new_users: အသုံးပြုသူအသစ်များ
       pending_appeals_html:
         other: "<strong>%{count}</strong> အယူခံဝင်မှုကို ဆိုင်းငံ့ထားခြင်း"
+      pending_reports_html:
+        other: "<strong>%{count}</strong> မှတ်တမ်းဆောင်ရွက်ဆဲ"
+      pending_tags_html:
+        other: "<strong>%{count}</strong> hashtag ဆောင်ရွက်ဆဲ"
       pending_users_html:
         other: "<strong>%{count}</strong> ဆိုင်းငံ့အသုံးပြုသူ"
       software: ဆော့ဖ်ဝဲလ်
@@ -298,6 +327,7 @@ my:
     domain_allows:
       add_new: ဒိုမိန်းဖြင့် ဖက်ဒီကို ခွင့်ပြုရန်
       created_msg: ဒိုမိန်းကို ဖက်ဒီအတွက် ခွင့်ပြုပြီးပါပြီ
+      destroyed_msg: ဒိုမိန်းအား ဖက်ဒီမှ ခွင့်မပြုပါ
       export: ထုတ်ယူခြင်း
       import: ထည့်သွင်းခြင်း
       undo: ဒိုမိန်းဖြင့် ဖက်ဒီကို ခွင့်မပြုပါ
@@ -319,11 +349,17 @@ my:
       private_comment: သီးသန့်မှတ်ချက်
       private_comment_hint: စိစစ်သူများ၏အတွင်းပိုင်းအသုံးပြုမှုအတွက် ဤဒိုမိန်းကန့်သတ်ချက်ဆိုင်ရာမှတ်ချက်။
       public_comment: အများမြင်မှတ်ချက်
+      public_comment_hint: ဒိုမိန်းကန့်သတ်ချက်များစာရင်းကို ကြော်ငြာထားပါက အများသူငှာအတွက် ဤဒိုမိန်းကန့်သတ်ချက်နှင့်ပတ်သက်၍ ရေးသားပေးထားရန်။
       reject_media: မီဒီယာဖိုင်များကို ဖယ်ရှားပါ
+      reject_media_hint: စက်တွင်းသိမ်းဆည်းထားသည့် မီဒီယာဖိုင်များကို ဖယ်ရှားပြီး ဒေါင်းလုဒ်လုပ်ခွင့် မရှိပါ။ ဆိုင်းငံ့ခြင်းများအတွက် မသက်ဆိုင်ပါ။
+      reject_reports: မှတ်တမ်းများ ဖယ်ရှားရန်
+      reject_reports_hint: ဤဒိုမိန်းမှလာသော မှတ်တမ်းအားလုံးကို လျစ်လျူရှုပါ။ ဆိုင်းငံ့ခြင်းများအတွက် မသက်ဆိုင်ပါ။
       undo: ဒိုမိန်းပိတ်ပင်ခြင်းကို ပြန်ဖျက်ရန်
       view: ဒိုမိန်းပိတ်ပင်ခြင်းကို ကြည့်ရန်
     email_domain_blocks:
       add_new: အသစ် ထည့်ပါ
+      attempts_over_week:
+        other: ပြီးခဲ့သည့် ရက်သတ္တပတ်အတွင်း %{count} ကြိုးပမ်းမှု
       created_msg: အီးမေးလ်ဒိုမိန်းကို ပိတ်ပင်နိုင်ခဲ့ပါသည်
       delete: ဖျက်ပါ
       dns:
@@ -351,7 +387,13 @@ my:
     follow_recommendations:
       language: ဘာသာစကားအတွက်
       status: အခြေအနေ
+      title: အကြံပြုချက်များကို စောင့်ကြည့်ပါ
+      unsuppress: အကြံပြုချက်စောင့်ကြည့်ခြင်းအား ပြန်လည်ရယူပါ
     instances:
+      availability:
+        failures_recorded:
+          other: "%{count} ရက်နေ့တွင် ကြိုးစားမှု မအောင်မြင်ပါ။"
+        title: ရရှိနိုင်မှု
       back_to_all: အားလုံး
       back_to_limited: ကန့်သတ်ထားသည်
       back_to_warning: သတိပေးချက်
@@ -365,6 +407,7 @@ my:
           silence: ကန့်သတ်
           suspend: ရပ်ဆိုင်းပါ
         policy: မူဝါဒ
+        title: အကြောင်းအရာမူဝါဒများ
       dashboard:
         instance_accounts_dimension: အများဆုံးစောင့်ကြည့်ထားသည့်အကောင့်များ
         instance_accounts_measure: သိမ်းဆည်းထားသော အကောင့်များ
@@ -372,10 +415,14 @@ my:
         instance_follows_measure: သူတို့၏စောင့်ကြည့်သူများ ဒီနေရာမှာပါ
         instance_languages_dimension: အသုံးများသည့်ဘာသာစကားများ
         instance_media_attachments_measure: သိမ်းဆည်းထားသော မီဒီယာပူးတွဲဖိုင်များ
+        instance_reports_measure: "၎င်းတို့နှင့်ဆိုင်သော အစီရင်ခံစာများ"
         instance_statuses_measure: သိမ်းဆည်းထားသောပို့စ်များ
       delivery:
         all: အားလုံး
+        restart: ပေးပို့မှုကို ပြန်လည်စတင်ရန်
+        stop: ပေးပို့မှုကို ရပ်ရန်
         unavailable: မရရှိနိုင်ပါ
+      empty: ဒိုမိန်းများ မတွေ့ပါ။
       moderation:
         all: အားလုံး
         limited: ကန့်သတ်ထားသော
@@ -389,10 +436,13 @@ my:
       total_reported: "၎င်းတို့နှင့်ဆိုင်သော အစီရင်ခံစာများ"
       total_storage: မီဒီယာ ပူးတွဲချက်များ
     invites:
+      deactivate_all: အားလုံးပယ်ဖျက်ရန်
       filter:
         all: အားလုံး
         available: ရရှိနိုင်သော
+        expired: သက်တမ်းကုန်သွားပါပြီ
         title: စစ်ထုတ်ခြင်း
+      title: ဖိတ်ခေါ်ခြင်း
     ip_blocks:
       add_new: စည်းမျဉ်းဖန်တီးပါ
       created_msg: IP စည်းမျဉ်းအသစ် ထည့်သွင်းပြီးပါပြီ
@@ -411,21 +461,32 @@ my:
     relationships:
       title: "%{acct} နှင့် ပတ်သက်မှု"
     relays:
+      add_new: relay အသစ်ထည့်ပါ
       delete: ဖျက်ပါ
       disable: ပိတ်ပါ
       disabled: ပိတ်ထားသည်
       enable: ဖွင့်ပါ
       enabled: ဖွင့်ထားသည်
+      inbox_url: ထပ်ဆင့်ပေးပို့မည့် URL
+      pending: ထပ်ဆင့်အတည်ပြုချက်ကို စောင့်ဆိုင်းနေခြင်း
       save_and_enable: သိမ်းပြီး ဖွင့်ရန်
+      setup: ထပ်ဆင့်ချိတ်ဆက်မှုစနစ် ထည့်သွင်းပါ
+      signatures_not_enabled: လုံခြုံရေးမုဒ် သို့မဟုတ် ကန့်သတ်ဖက်ဒီမုဒ်ကို ဖွင့်ထားစဉ် ထပ်ဆင့်ပို့ထားမှုများမှာ မှန်ကန်စွာ အလုပ်မလုပ်နိုင်တော့ပါ
       status: အခြေအနေ
+      title: ထပ်ဆင့်ပေးပို့ခြင်းများ
+    report_notes:
+      created_msg: မှတ်တမ်းမှတ်စုကို ဖန်တီးပြီးပါပြီ။
+      destroyed_msg: မှတ်တမ်းမှတ်စုကို ဖျက်ပြီးပါပြီ။
     reports:
       account:
         notes:
           other: "%{count} မှတ်စု"
       action_log: မှတ်တမ်းများစစ်ဆေးခြင်း
+      action_taken_by: ဆောင်ရွက်ခဲ့ပါသည်
       are_you_sure: သေချာပါသလား။
       assign_to_self: ကျွန်ုပ်ကို တာဝန်ပေးရန်
       assigned: စိစစ်သူကို တာဝန်ပေးရန်
+      by_target_domain: တိုင်ကြားထားသော အကောင့်၏ ဒိုမိန်း
       cancel: ပယ်ဖျက်မည်
       category: အမျိုးအစား
       comment_description_html: "%{name} က နောက်ထပ်အချက်အလက်များ ပံ့ပိုးပေးနိုင်ရန်အတွက် ရေးသားခဲ့သည် -"
@@ -435,6 +496,7 @@ my:
       forwarded: ထပ်ဆင့်ပို့ပြီးပါပြီ
       forwarded_to: "%{domain} သို့ ထပ်ဆင့်ပို့ထားသည်"
       mark_as_resolved: ဖြေရှင်းပြီးကြောင်း အမှတ်အသားပြုပါ
+      mark_as_sensitive: သတိထားရသည်ဟု အမှတ်အသားပြုပါ
       mark_as_unresolved: မဖြေရှင်းရသေးကြောင်း အမှတ်အသားပြုပါ
       no_one_assigned: တစ်ယောက်မျှမရှိပါ
       notes:
@@ -447,6 +509,7 @@ my:
       reopen: အစီရင်ခံစာပြန်ဖွင့်ရန်
       report: "#%{id} အစီရင်ခံရန်"
       resolved: ဖြေရှင်းပြီးပါပြီ
+      resolved_msg: မှတ်တမ်းကို ဖြေရှင်းပြီးပါပြီ။
       skip_to_actions: လုပ်ဆောင်ချက်များသို့ ကျော်သွားရန်
       status: အခြေအနေ
       summary:
@@ -457,7 +520,10 @@ my:
           suspend_html: သင်သည် <strong>@%{acct}</strong> ၏ အကောင့်ကို <strong>ဆိုင်းငံ့</strong> တော့မည်ဖြစ်သည်။ ၎င်းမှာ -
         actions:
           suspend_html: "<strong>@%{acct}</strong> ကို ဆိုင်းငံ့ထားသောကြောင့် ပရိုဖိုင်နှင့် အကြောင်းအရာများအား ဝင်ရောက်ခွင့်မရှိတော့သဖြင့် အပြန်အလှန် တုံ့ပြန်၍ မရတော့ခြင်း"
+        close_report: 'တိုင်ကြားစာ #%{id} ကို ဖြေရှင်းပြီးကြောင်း အမှတ်အသားပြုပါ'
         delete_data_html: "<strong>@%{acct}</strong> ၏ ပရိုဖိုင်နှင့် အကြောင်းအရာများကို ဆိုင်းငံ့ထားခြင်းမရှိပါက ယခုမှ ရက်ပေါင်း ၃၀ အတွင်း ဖျက်ရန်"
+        preview_preamble_html: "<strong>@%{acct}</strong> သည် အောက်ပါအကြောင်းအရာများကြောင့် သတိပေးချက်ကို လက်ခံရရှိပါမည် -"
+      title: မှတ်တမ်းများ
       unassign: တာဝန်မှဖြုတ်ရန်
       unknown_action_msg: အမည်မသိလုပ်ဆောင်ချက်- %{action}
       unresolved: မဖြေရှင်းရသေးပါ
@@ -480,7 +546,9 @@ my:
         other: "%{count} ခွင့်ပြုချက်"
       privileges:
         administrator: စီမံသူ
+        administrator_description: ဤခွင့်ပြုချက် အသုံးပြုသူများအနေဖြင့် ခွင့်ပြုချက်တိုင်းကို ကျော်သွားနိုင်ပါမည်
         delete_user_data: အသုံးပြုသူ၏အချက်အလက်ကို ဖျက်ပါ
+        delete_user_data_description: အခြားအသုံးပြုသူများ၏ အချက်အလက်များကို နှောင့်နှေးခြင်းမရှိဘဲ အသုံးပြုသူများအား  ဖျက်ခွင့်ပြုသည်
         invite_users: အသုံးပြုသူများကို ဖိတ်ခေါ်ရန်
         invite_users_description: ဆာဗာသို့ လူသစ်များဖိတ်ခေါ်ရန်အတွက် အသုံးပြုသူအား ခွင့်ပြုရန်
         manage_announcements: ကြေညာချက်များကို စီမံပါ
@@ -488,63 +556,103 @@ my:
         manage_appeals: အယူခံဝင်ထားခြင်းများကို စီမံပါ
         manage_appeals_description: စိစစ်အရေးယူမှုများအပေါ် အယူခံဝင်မှုများ ပြန်လည်သုံးသပ်ရန်အတွက် အသုံးပြုသူများအား ခွင့်ပြုရန်
         manage_blocks: ပိတ်ပင်ထားမှုများကို စီမံပါ
+        manage_blocks_description: အသုံးပြုသူများအား အီးမေးလ်ဝန်ဆောင်မှုပေးသူများနှင့် IP လိပ်စာများကို ပိတ်ဆို့ရန် ခွင့်ပြုသည်
         manage_custom_emojis: စိတ်ကြိုက်အီမိုဂျီများကို ပြင်ဆင်ရန်
         manage_custom_emojis_description: အသုံးပြုသူများအား ဆာဗာပေါ်တွင် စိတ်ကြိုက်အီမိုဂျီများကို စီမံခန့်ခွဲရန် ခွင့်ပြုသည်။
         manage_federation: ဖက်ဒီကို စီမံပါ
         manage_federation_description: အသုံးပြုသူများအား အခြားဒိုမိန်းများနှင့် ပိတ်ပင်ခြင်း၊ ဖက်ဒီခွင့်ပြုခြင်းနှင့် ပေးပို့နိုင်မှုကို ထိန်းချုပ်ခြင်းတို့ကို ခွင့်ပြုသည်။
         manage_invites: ဖိတ်ခေါ်ခြင်းကို စီမံရန်
+        manage_invites_description: အသုံးပြုသူများအား ဖိတ်ခေါ်ထားသည့်လင့်များကို ရှာဖွေကြည့်ရှုပြီး ပိတ်ရန် ခွင့်ပြုသည်
         manage_reports: အစီရင်ခံစာများကို စီမံပါ
         manage_roles: အခန်းကဏ္ဍများကို စီမံပါ
+        manage_roles_description: အသုံးပြုသူများအား ၎င်းတို့၏အောက်တွင်ရှိသော အခန်းကဏ္ဍများကို စီမံခန့်ခွဲရန်နှင့် သတ်မှတ်ရန် ခွင့်ပြုထားသည်
         manage_rules: စည်းမျဉ်းများကို စီမံပါ
+        manage_rules_description: အသုံးပြုသူများအား ဆာဗာစည်းမျဉ်းများကို ပြောင်းလဲခွင့် ပြုထားသည်
         manage_settings: သတ်မှတ်ချက်များကို စီမံပါ
         manage_settings_description: အသုံးပြုသူများကို ဆိုက်သတ်မှတ်ချက်များ ပြောင်းလဲခွင့် ပြုရန်
+        manage_taxonomies_description: ခေတ်စားနေသော အကြောင်းအရာများကို ပြန်လည်သုံးသပ်ရန်နှင့် hashtag သတ်မှတ်ချက်များကို ပြင်ဆင်ရန်အတွက် အသုံးပြုသူများကို ခွင့်ပြုသည်
         manage_user_access: အသုံးပြုသူဝင်ရောက်မှုကို စီမံပါ
+        manage_user_access_description: အသုံးပြုသူများကို အခြားအသုံးပြုသူများ၏ နှစ်ဆင့်ခံလုံခြုံရေးစနစ်ကို ပိတ်ရန်၊ ၎င်းတို့၏ အီးမေးလ်လိပ်စာကို ပြောင်းလဲရန်နှင့် စကားဝှက်ကို ပြန်လည်သတ်မှတ်ရန် ခွင့်ပြုသည်
         manage_users: အသုံးပြုသူများကို စီမံပါ
+        manage_webhooks: Webhooks ကို စီမံပါ
+        manage_webhooks_description: စီမံခန့်ခွဲရေးဆိုင်ရာ ဖြစ်ရပ်များအတွက် အသုံးပြုသူများအား webhook စနစ်ထည့်သွင်းရန် ခွင့်ပြုထားသည်
+        view_audit_log_description: အသုံးပြုသူများကို ဆာဗာပေါ်တွင် စီမံခန့်ခွဲရေးဆိုင်ရာ လုပ်ဆောင်ချက်မှတ်တမ်းကို ကြည့်ရှုခွင့်ပြုသည်။
         view_dashboard: ဒက်ရှ်ဘုတ်မြင်ကွင်းကို ကြည့်ရန်
         view_dashboard_description: အသုံးပြုသူများကို ဒက်ရှ်ဘုတ်မြင်ကွင်းနှင့် အမျိုးမျိုးသော ဆိုဒ်နှင့်ဆိုင်သောဂဏန်းများအား ဝင်ရောက်ကြည့်ရှုခွင့်ပြုသည်
         view_devops: DevOps
+        view_devops_description: အသုံးပြုသူများကို Sidekiq နှင့် pgHero ဒက်ရှ်ဘုတ်မြင်ကွင်းများသို့ ဝင်ရောက်ခွင့်ပြုသည်
       title: အခန်းကဏ္ဍများ
     rules:
+      add_new: စည်းမျဉ်းထည့်ပါ
       delete: ဖျက်ပါ
+      edit: စည်းမျဉ်းကို ပြင်ဆင်မည်
       title: ဆာဗာစည်းမျဉ်းများ
     settings:
       about:
         manage_rules: ဆာဗာစည်းမျဉ်းများကို စီမံရန်
         title: အကြောင်း
       appearance:
+        preamble: Mastodon ၏ ဝဘ်ပုံစံကို စိတ်ကြိုက်ပြင်ဆင်ပါ။
         title: ပုံပန်းသဏ္ဌာန်
+      default_noindex:
+        desc_html: ဤသတ်မှတ်ချက်ကို ကိုယ်တိုင်မပြောင်းရသေးသော အသုံးပြုသူအားလုံးအပေါ် သက်ရောက်မှုရှိသည်
       discovery:
+        follow_recommendations: အကြံပြုချက်များကို စောင့်ကြည့်ပါ
         profile_directory: ပရိုဖိုင်လမ်းညွှန်
+        public_timelines: အများမြင်စာမျက်နှာ
+        title: ရှာဖွေတွေ့ရှိမှု
+        trends: လက်ရှိခေတ်စားမှုများ
       domain_blocks:
         all: လူတိုင်း
         disabled: မည်သူ့ကိုမျှ
         users: အကောင့်ဝင်ထားသော ပြည်တွင်းအသုံးပြုသူများအတွက်
+      registrations:
+        title: စာရင်းသွင်းထားခြင်းများ
       registrations_mode:
         modes:
+          approved: အကောင့်ဖွင့်ရန်အတွက် အတည်ပြုချက် လိုအပ်ပါသည်
+          none: မည်သူမျှ အကောင့်ဖွင့်၍မရပါ
           open: မည်သူမဆို အကောင့်ဖွင့်နိုင်ပါသည်
       title: ဆာဗာသတ်မှတ်ချက်များ
     site_uploads:
       delete: တင်ထားသောဖိုင်ဖျက်ရန်
+      destroyed_msg: ဆိုက်အပ်လုဒ်ကို အောင်မြင်စွာ ဖျက်လိုက်ပါပြီ။
     statuses:
       account: ရေးသားသူ
       application: အက်ပလီကေးရှင်း
       back_to_account: အကောင့်စာမျက်နှာသို့ ပြန်သွားရန်
+      batch:
+        remove_from_report: တိုင်ကြားစာမှ ဖယ်ရှားပါ
+        report: တိုင်ကြားစာ
       deleted: ဖျက်ပြီးပါပြီ
       favourites: အကြိုက်ဆုံးများ
+      history: ဗားရှင်းမှတ်တမ်း
+      in_reply_to: ထံ အကြောင်းပြန်ကြားခြင်း
       language: ဘာသာစကား
       media:
         title: မီဒီယာ
+      metadata: Metadata
+      no_status_selected: မည်သည့်ပို့စ်ကိုမျှ ရွေးချယ်ထားခြင်းမရှိသောကြောင့် ပြောင်းလဲခြင်းမရှိပါ
       open: ပို့စ်ဖွင့်ရန်
       original_status: မူရင်းပို့စ်
+      reblogs: Reblog များ
+      status_changed: ပို့စ်ပြောင်းပြီးပါပြီ
       title: အကောင့်ပို့စ်များ
+      trending: လက်ရှိခေတ်စားနေခြင်း
       with_media: မီဒီယာနှင့်အတူ
     strikes:
       actions:
         delete_statuses: "%{name} မှ %{target} ၏ ပို့စ်များကို ဖျက်ခဲ့သည်"
+        mark_statuses_as_sensitive: "%{name} က %{target} ၏ ပို့စ်များကို သတိထားရသောပို့စ်များအဖြစ် အမှတ်အသားပြုထားသည်"
         none: "%{name} မှ %{target} သို့ သတိပေးချက်တစ်ခု ပေးပို့ခဲ့သည်"
+        sensitive: "%{name} က %{target} ၏ အကောင့်ကို သတိထားရသောအကောင့်အဖြစ် အမှတ်အသားပြုထားသည်"
+        silence: "%{name} က %{target} ၏ အကောင့်ကို ကန့်သတ်ထားသည်"
+        suspend: "%{name} က %{target} ၏ အကောင့်ကို ဆိုင်းငံ့ထားသည်"
     system_checks:
       rules_check:
         action: ဆာဗာစည်းမျဉ်းများကို စီမံရန်
+        message_html: သင်သည် မည်သည့်ဆာဗာစည်းမျဉ်းများကိုမျှ မသတ်မှတ်ထားပါ။
+    title: စီမံခန့်ခွဲခြင်း
     trends:
       allow: ခွင့်ပြု
       approved: အတည်ပြုပြီးပါပြီ
@@ -552,52 +660,113 @@ my:
       links:
         allow: လင့်ခ်ကို ခွင့်ပြုရန်
         disallow: လင့်ခ်ကို ခွင့်မပြုရန်
+        title: လက်ရှိခေတ်စားနေသော လင့်များ
+      only_allowed: သာခွင့်ပြုသည်
       rejected: ဖယ်ရှားပြီးပါပြီ
       statuses:
         allow: ပို့စ်တင်ခွင့်ပြုရန်
         disallow: ပို့စ်ကို တင်ခွင့်မပြုရန်
         title: လက်ရှိခေတ်စားနေသော ပို့စ်များ
       tags:
+        current_score: "%{score} လက်ရှိရမှတ်"
         dashboard:
           tag_languages_dimension: အသုံးများသည့်ဘာသာစကားများ
           tag_servers_dimension: အသုံးများသည့်ဆာဗာများ
           tag_servers_measure: မတူညီသောဆာဗာများ
           tag_uses_measure: စုစုပေါင်းအသုံးပြုမှု
         listable: အကြံပြုနိုင်ပါသည်
+        not_listable: အကြံပြုမည်မဟုတ်ပါ
+        not_trendable: လက်ရှိခေတ်စားနေသာပို့စ်များအောက်တွင် ပေါ်လာမည်မဟုတ်ပါ
         not_usable: အသုံးမပြုနိုင်ပါ
+        title: လက်ရှိခေတ်စားနေသော hashtag များ
+        trending_rank: "#%{rank} ခေတ်စားနေခြင်း"
         usable: အသုံးပြုနိုင်သည်
+        usage_comparison: မနေ့က %{yesterday} နှင့် နှိုင်းယှဉ်လျှင် ယနေ့ %{today} ကြိမ် အသုံးပြုခဲ့သည်
+        used_by_over_week:
+          other: ပြီးခဲ့သည့် ရက်သတ္တပတ်အတွင်း လူ %{count} ဦး အသုံးပြုခဲ့သည်။
       title: လက်ရှိခေတ်စားမှုများ
       trending: လက်ရှိခေတ်စားနေခြင်း
     warning_presets:
       add_new: အသစ်ထည့်ပါ
       delete: ဖျက်ပါ
+      edit_preset: ကြိုသတိပေးချက်ကို ပြင်ဆင်ပါ
+      empty: ကြိုသတိပေးချက်များကို မသတ်မှတ်ရသေးပါ။
+      title: ကြိုသတိပေးချက်များကို စီမံပါ
     webhooks:
+      add_new: ဆုံးမှတ် ထည့်ပါ
       delete: ဖျက်ပါ
       disable: ပိတ်ပါ
       disabled: ပိတ်ထားသည်
+      edit: ဆုံးမှတ် ပြင်ဆင်ပါ
       enable: ဖွင့်ပါ
       enabled: လက်ရှိ
       events: ပွဲအစီအစဉ်များ
+      new: webhook အသစ်
       status: အခြေအနေ
+      title: Webhook များ
+      webhook: Webhook
   admin_mailer:
     new_appeal:
       actions:
+        delete_statuses: "၎င်းတို့၏ ပို့စ်များကို ဖျက်ရန်"
+        disable: "၎င်းတို့အကောင့်များအား ရပ်ထားရန်"
+        mark_statuses_as_sensitive: "၎င်းတို့၏ ပို့စ်များကို သတိထားရသော ပို့စ်များအဖြစ် အမှတ်အသားပြုရန်"
         none: သတိပေးချက်
+        sensitive: "၎င်းတို့၏ အကောင့်များကို သတိထားရသော အကောင့်များအဖြစ် အမှတ်အသားပြုရန်"
+        silence: "၎င်းတို့၏ ပို့စ်များကို ကန့်သတ်ရန်"
+        suspend: "၎င်းတို့၏ အကောင့်ကို ရပ်ဆိုင်းရန်"
+    new_pending_account:
+      body: အကောင့်သစ်၏အသေးစိတ်ကို အောက်တွင်ဖော်ပြထားသည်။ ၎င်းကို အတည်ပြုနိုင်သည် သို့မဟုတ် ငြင်းပယ်နိုင်သည်။
+      subject: " (%{username}) %{instance} ပေါ်ရှိ ပြန်လည်သုံးသပ်ရမည့် အကောင့်သစ်"
+    new_report:
+      body: "%{reporter} က %{target} ကို တိုင်ကြားခဲ့သည်"
+      body_remote: "%{domain} မှ တစ်စုံတစ်ယောက်က %{target} ကို တိုင်ကြားခဲ့သည်"
+    new_trends:
+      body: အောက်ပါအရာများကို အများကိုမပြမီ ပြန်လည်သုံးသပ်ရန် လိုအပ်သည် -
+      new_trending_links:
+        title: လက်ရှိခေတ်စားနေသော လင့်များ
+      new_trending_statuses:
+        title: လက်ရှိခေတ်စားနေသော ပို့စ်များ
+      new_trending_tags:
+        no_approved_tags: လက်ရှိတွင် အတည်ပြုထားသော ခေတ်စားနေသည့် hashtag များမရှိပါ။
+        title: လက်ရှိခေတ်စားနေသော hashtag များ
+      subject: "%{instance} တွင် ပြန်လည်သုံးသပ်ရမည့် ခေတ်စားနေသောပို့စ်အသစ်များ"
+  aliases:
+    add_new: နာမည်တူတစ်ခု ဖန်တီးမည်
+    created_msg: နာမည်တူတစ်ခုကို ဖန်တီးပြီးပါပြီ။ အကောင့်ဟောင်းမှ စတင်ရွှေ့နိုင်ပါပြီ။
+    deleted_msg: နာမည်တူကို ဖယ်ရှားထားပြီးပါပြီ။ ထိုအကောင့်မှ ဤအကောင့်သို့ပြောင်းရန် မဖြစ်နိုင်တော့ပါ။
+    empty: သင့်တွင် နာမည်တူများ မရှိပါ။
   appearance:
+    advanced_web_interface: အဆင့်မြင့်ဝဘ်ပုံစံ
+    discovery: ရှာဖွေတွေ့ရှိမှု
     localization:
+      body: Mastodon ကို စေတနာ့ဝန်ထမ်းများမှ ဘာသာပြန်ထားပါသည်။
+      guide_link: https://crowdin.com/project/mastodon
       guide_link_text: လူတိုင်းပါဝင်ကူညီနိုင်ပါတယ်။
+    sensitive_content: သတိထားရသော အကြောင်းအရာ
+    toot_layout: ပို့စ်အပြင်အဆင်
   application_mailer:
+    notification_preferences: အီးမေးလ် သတ်မှတ်ချက်များကို ပြောင်းပါ
     salutation: "%{name}"
+    settings: အီးမေးလ် သတ်မှတ်ချက်များကို ပြောင်းပါ - %{link}
     view: ကြည့်ရှုရန် -
     view_profile: ပရိုဖိုင်ကိုကြည့်ရန်
     view_status: ပို့စ်ကိုကြည့်ရန်
   applications:
     created: အက်ပလီကေးရှင်းကို ဖန်တီးပြီးပါပြီ
+    destroyed: အက်ပလီကေးရှင်းကို ဖျက်ပြီးပါပြီ
+    logout: ထွက်မယ်
+    warning: ဤအချက်အလက်ကို သတိထားပါ။ မည်သူ့ကိုမျှ မမျှဝေပါနှင့်။
   auth:
+    apply_for_account: အကောင့်တစ်ခုတောင်းဆိုပါ
     change_password: စကားဝှက်
+    confirmations:
+      wrong_email_hint: ထိုအီးမေးလ်လိပ်စာ မမှန်ပါက အကောင့်သတ်မှတ်ချက်များတွင် ပြောင်းလဲနိုင်သည်။
     delete_account: အကောင့်ဖျက်ပါ
     description:
+      prefix_invited_by_user: "@%{name} က Mastodon ၏ ဆာဗာတွင် ပါဝင်ရန် သင့်ကို ဖိတ်ခေါ်ထားသည်။"
       prefix_sign_up: ယနေ့တွင် Mastodon ၌ စာရင်းသွင်းလိုက်ပါ။
+    dont_have_your_security_key: သင့်တွင် လုံခြုံရေးကီး မရှိဘူးလား။
     forgot_password: သင့်စကားဝှက် မေ့နေပါသလား။
     log_in_with: ဖြင့် ဝင်ရောက်ပါ
     login: အကောင့်ဝင်ရန်
@@ -608,13 +777,19 @@ my:
       saml: SAML
     register: အကောင့်ဖွင့်ရန်
     registration_closed: "%{instance} သည် အဖွဲ့ဝင်အသစ်များကို လက်ခံထားခြင်းမရှိပါ"
+    rules:
+      accept: လက်ခံပါ
+      back: နောက်သို့
     security: လုံခြုံရေး
     set_new_password: စကားဝှက်အသစ် သတ်မှတ်ပါ။
     sign_in:
       title: "%{domain} သို့ အကောင့်ဝင်ရန်"
     status:
       account_status: အကောင့်အခြေအနေ
+    use_security_key: လုံခြုံရေးကီးကို သုံးပါ
   authorize_follow:
+    already_following: သင်သည် ဤအကောင့်ကို စောင့်ကြည့်နေပြီဖြစ်ပါသည်
+    already_requested: သင်သည် ထိုအကောင့်စောင့်ကြည့်ရန် တောင်းဆိုမှုတစ်ခု ပေးပို့ခဲ့ပြီးပါပြီ
     follow: စောင့်ကြည့်မယ်
     follow_request: သင်သည် စောင့်ကြည့်မည် တောင်းဆိုချက်တစ်ခု ပေးပို့ထားသည်-
     post_follow:
@@ -645,15 +820,21 @@ my:
       x_months: "%{count}mo"
       x_seconds: "%{count}s"
   deletes:
+    confirm_password: အထောက်အထားကိုအတည်ပြုရန်အတွက် သင့်လက်ရှိစကားဝှက်ကို ထည့်ပါ
+    confirm_username: လုပ်ငန်းစဉ်ကို အတည်ပြုရန်အတွက် သင့်အသုံးပြုသူအမည်ကို ထည့်သွင်းပါ
     proceed: အကောင့်ဖျက်ပါ
     success_msg: သင့်အကောင့်ကို အောင်မြင်စွာ ဖျက်လိုက်ပါပြီ
+    warning:
+      data_removal: သင့်ပို့စ်များနှင့် အခြားအချက်အလက်များကို အပြီးတိုင် ဖယ်ရှားပါမည်
   disputes:
     strikes:
       appeals:
         submit: အယူခံဝင်ခွင့်ပြုရန်
+      recipient: လိပ်မူထားသည်
       status: "#%{id} ပို့စ်"
       title: "%{date} မှ %{action}"
       title_actions:
+        delete_statuses: ပို့စ်ဖယ်ရှားခြင်း
         none: သတိပေးချက်
   errors:
     '400': The request you submitted was invalid or malformed.
@@ -671,8 +852,10 @@ my:
     archive_takeout:
       date: ရက်စွဲ
       download: သင်၏မှတ်တမ်းကို ဒေါင်းလုဒ်လုပ်ပါ
+      request: မှတ်တမ်း တောင်းဆိုရန်
       size: အရွယ်အစား
     blocks: သင်ပိတ်ပင်ထားသည့်လူများစာရင်း
+    bookmarks: မှတ်ထားသည်များ
     csv: CSV
     domain_blocks: ဒိုမိန်းပိတ်ပင်ထားမှုများ
     lists: စာရင်းများ
@@ -684,14 +867,21 @@ my:
       account: ပရိုဖိုင်များ
       home: ပင်မနှင့် စာရင်းများ
       notifications: အကြောင်းကြားချက်များ
+      public: အများမြင်စာမျက်နှာ
       thread: စကားဝိုင်းများ
     edit:
+      add_keyword: အဓိကစကားလုံး ထည့်ပါ
+      keywords: အဓိကစကားလုံးများ
       statuses: တစ်ဦးချင်းတင်ထားသောပို့စ်များ
       title: စစ်ထုတ်ခြင်းကို ပြင်ဆင်ရန်
     index:
       contexts: "%{contexts} ရှိ စစ်ထုတ်ထားမှုများ"
       delete: ဖျက်ပါ
       empty: သင့်တွင် စစ်ထုတ်ထားခြင်းများ မရှိပါ။
+      expires_in: "%{distance} တွင် သက်တမ်းကုန်မည်"
+      expires_on: "%{date} ရက်နေ့တွင် သက်တမ်းကုန်မည်"
+      keywords:
+        other: "%{count} အဓိကစကားလုံး"
       statuses:
         other: "%{count} ပို့စ်"
       title: စစ်ထုတ်ခြင်းများ
@@ -699,18 +889,26 @@ my:
       save: စစ်ထုတ်မှုအသစ် သိမ်းပါ
       title: စစ်ထုတ်မှုအသစ် ထည့်ပါ
     statuses:
+      back_to_filter: စစ်ထုတ်ခြင်းသို့ ပြန်သွားရန်
+      batch:
+        remove: စစ်ထုတ်ခြင်းမှ ဖယ်ရှားရန်
       index:
         title: စစ်ထုတ်ထားသော ပို့စ်များ
   generic:
     all: အားလုံး
     copy: ကူးယူပါ
     delete: ဖျက်ပါ
+    save_changes: ပြောင်းလဲမှုများကို သိမ်းဆည်းပါ
     today: ယနေ့
   imports:
+    modes:
+      merge: ပေါင်း
     preface: သင်စောင့်ကြည့်နေသည့်လူများစာရင်း သို့မဟုတ် ပိတ်ပင်ထားသည့်စာရင်းကဲ့သို့သော အခြားဆာဗာတစ်ခုမှ သင်ထုတ်ယူထားသည့်အချက်အလက်များကို ပြန်လည်ထည့်သွင်းနိုင်သည်။
     types:
       blocking: ပိတ်ပင်ထားသည့်စာရင်း
+      bookmarks: Bookmarks
       domain_blocking: ဒိုမိန်းပိတ်ပင်ထားသည့်စာရင်း
+      following: စောင့်ကြည့်စာရင်း
     upload: တင္ရန်
   invites:
     expires_in:
@@ -721,22 +919,38 @@ my:
       '604800': ၁ ပတ်
       '86400': ၁ ရက်
     max_uses_prompt: အကန့်အသတ်မဲ့
+    title: ဖိတ်ခေါ်ရန်
   login_activities:
     authentication_methods:
       otp: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်အက်ပ်
       password: စကားဝှက်
+      sign_in_token: အီးမေးလ်လုံခြုံရေးကုဒ်
+      webauthn: လုံခြုံရေးကီးများ
   media_attachments:
     validations:
       images_and_video: ရုပ်ပုံပါရှိပြီးသားပို့စ်တွင် ဗီဒီယို ပူးတွဲ၍မရပါ
   migrations:
     acct: သို့ ပြောင်းရွှေ့ရန်
+    cancel: ပြန်ညွှန်းခြင်းကို ပယ်ဖျက်ရန်
     errors:
+      missing_also_known_as: ဤအကောင့်၏ အမည်တူမဟုတ်ပါ
+      move_to_self: လက်ရှိအကောင့်မဖြစ်နိုင်ပါ
       not_found: ရှာမတွေ့ပါ
+    incoming_migrations_html: အခြားအကောင့်မှ ဤအကောင့်သို့ ရွှေ့ရန် ဦးစွာ သင်သည် <a href="%{path}">အကောင့်အမည်တူတစ်ခု ဖန်တီးရန်</a> လိုအပ်ပါသည်။
     proceed_with_move: စောင့်ကြည့်သူများကို ရွှေ့ရန်
     warning:
       only_redirect_html: တနည်းအားဖြင့် သင်သည် <a href="%{path}">သင့်ပရိုဖိုင်ပေါ်တွင် ပြန်ညွှန်းခြင်းကိုသာ ပြုလုပ်နိုင်သည်</a>။
       redirect: သင့်လက်ရှိအကောင့်၏ပရိုဖိုင်ကို ပြန်လည်ညွှန်းပေးသည့်အသိပေးချက်ဖြင့် ပြင်ဆင်ပေးမည်ဖြစ်ပြီး ရှာဖွေမှုများမှ ဖယ်ထုတ်ပေးမည်ဖြစ်သည်
+  moderation:
+    title: စိစစ်ခြင်း
   notification_mailer:
+    admin:
+      sign_up:
+        subject: "%{name} က အကောင့်ဖွင့်ထားသည်"
+    favourite:
+      body: "%{name} က နှစ်သက်ခဲ့သော သင့်ပို့စ် -"
+      subject: "%{name} က သင့်ပို့စ်ကို နှစ်သက်ခဲ့သည်"
+      title: နှစ်သက်မှုအသစ်တစ်ခု
     follow:
       body: "%{name} မှ ယခု သင့်နောက်သို့ စောင့်ကည့်နေပါသည်။"
       subject: "%{name} မှ ယခု သင့်နောက်သို့ စောင့်ကည့်နေပါသည်။"
@@ -748,8 +962,12 @@ my:
       action: စာပြန်ရန်
       body: သင့်ကို %{name} မှ ဖော်ပြခဲ့သည်-
       subject: သင့်ကို %{name} မှ ဖော်ပြခဲ့သည်
+    reblog:
+      title: Boost အသစ်
     status:
       subject: "%{name} က အခုလေးတင် ပို့စ်တင်လိုက်ပါပြီ"
+    update:
+      subject: "%{name} က ပို့စ်တစ်ခုကို ပြင်ဆင်ခဲ့သည်"
   number:
     human:
       decimal_units:
@@ -763,6 +981,10 @@ my:
   otp_authentication:
     enable: ဖွင့်ပါ
   pagination:
+    newer: ပိုသစ်သော
+    next: ရှေ့သို့
+    older: ပိုဟောင်းသော
+    prev: ရှေ့သို့
     truncate: "&hellip;"
   polls:
     errors:
@@ -775,41 +997,118 @@ my:
       over_character_limit: သတ်မှတ်ထားသောစာလုံးအရေအတွက် %{max} ထက်ပိုနေသည်
       too_few_options: တစ်ခုထက်ပိုနေသည်
       too_many_options: သတ်မှတ်ထားသောအရေအတွက် %{max} ကိုကျော်လွန်နေသည်
+  preferences:
+    other: အခြား
+    public_timelines: အများမြင်စာမျက်နှာ
   privacy_policy:
     title: ကိုယ်ရေးအချက်အလက်မူဝါဒ
   relationships:
+    activity: အကောင့်လုပ်ဆောင်ချက်
+    confirm_follow_selected_followers: ရွေးချယ်စောင့်ကြည့်သူများကို စောင့်ကြည့်လိုသည်မှာ သေချာပါသလား။
+    confirm_remove_selected_followers: ရွေးချယ်စောင့်ကြည့်သူများကို ဖယ်ရှားလိုသည်မှာ သေချာပါသလား။
+    confirm_remove_selected_follows: ရွေးချယ်စောင့်ကြည့်သူများကို ဖယ်ရှားလိုသည်မှာ သေချာပါသလား။
+    follow_failure: ရွေးချယ်ထားသော အကောင့်အချို့ကို စောင့်ကြည့်၍ရမည်မဟုတ်ပါ။
+    follow_selected_followers: ရွေးချယ်စောင့်ကြည့်သူများကို စောင့်ကြည့်ပါ
     followers: စောင့်ကြည့်သူများ
     following: စောင့်ကြည့်နေသည်
+    invited: ဖိတ်ခေါ်ထားပြီး
+    last_active: နောက်ဆုံးအသုံးပြုခဲ့သည့်အချိန်
+    most_recent: မကြာသေးမီက
     moved: ရွှေ့ပြီးပါပြီ
     mutual: အပြန်အလှန်စောင့်ကြည့်ထားခြင်း
+    primary: ဦးစားပေး
+    relationship: တော်စပ်ပုံ
+    remove_selected_domains: ရွေးချယ်ထားသော ဒိုမိန်းများမှ စောင့်ကြည့်သူအားလုံးကို ဖယ်ရှားပါ
+    remove_selected_followers: ရွေးချယ်ထားသော စောင့်ကြည့်သူများကို ဖယ်ရှားပါ
+    remove_selected_follows: ရွေးချယ်ထားသော အသုံးပြုသူများကို စောင့်ကြည့်ခြင်းမှ ဖြုတ်ပါ
     status: အကောင့်အခြေအနေ
+  remote_follow:
+    missing_resource: သင့်အကောင့်အတွက် လိုအပ်သော ပြန်ညွှန်းမည့် URL ကို ရှာမတွေ့ပါ
+  rss:
+    content_warning: 'အကြောင်းအရာသတိပေးချက် - '
+    descriptions:
+      account: "@%{acct} မှ အများမြင်ပို့စ်များ"
+      tag: "#%{hashtag} ကို တဂ်ထားသော အများမြင်ပို့စ်များ"
   sessions:
+    activity: နောက်ဆုံးလုပ်ဆောင်ချက်
+    browser: ဘရောက်ဇာ
+    browsers:
+      alipay: Alipay
+      blackberry: BlackBerry
+      chrome: Chrome
+      edge: Microsoft Edge
+      electron: အီလက်ထရွန်
+      firefox: Firefox
+      generic: အမည်မသိဘရောက်ဆာ
+      huawei_browser: Huawei Browser
+      ie: Internet Explorer
+      micro_messenger: MicroMessenger
+      nokia: Nokia S40 Ovi Browser
+      opera: Opera
+      otter: Otter
+      phantom_js: PhantomJS
+      qq: QQ Browser
+      safari: Safari
+      uc_browser: UC Browser
+      unknown_browser: အမည်မသိဘရောက်ဆာ
+      weibo: Weibo
+    current_session: လက်ရှိဆက်ရှင်
     description: "%{platform} ပေါ်ရှိ %{browser}"
+    ip: IP
     platforms:
+      adobe_air: Adobe Air
+      android: Android
+      blackberry: BlackBerry
+      chrome_os: ChromeOS
+      firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: macOS
+      unknown_platform: အမည်မသိ Platform
+      windows: Windows
+      windows_mobile: Windows Mobile
+      windows_phone: Windows Phone
     revoke: ပြန်ရုပ်သိမ်းရန်
+    revoke_success: ဆက်ရှင်ကို ရုပ်သိမ်းလိုက်ပါပြီ
+    title: ဆက်ရှင်များ
+    view_authentication_history: သင့်အကောင့်၏ စစ်မှန်ကြောင်းအထောက်အထားပြမှုကို ကြည့်ပါ
   settings:
     account: အကောင့်
     account_settings: အကောင့်သတ်မှတ်ချက်များ
+    aliases: အကောင့်အမည်တူများ
     appearance: ပုံပန်းသဏ္ဌာန်
+    authorized_apps: ခွင့်ပြုထားသောအက်ပ်များ
+    back: Mastodon သို့ ပြန်သွားရန်
     delete: အကောင့်ဖျက်သိမ်းခြင်း
     edit_profile: ပရိုဖိုင်ပြင်ဆင်ရန်
+    export: အချက်အလက်ထုတ်ယူခြင်း
+    import: ထည့်သွင်းခြင်း
     notifications: အသိပေးချက်များ
+    preferences: သတ်မှတ်ချက်များ
     profile: ပရိုဖိုင်
     relationships: စောင့်ကြည့်သူများနှင့် စောင့်ကြည့်စာရင်း
     statuses_cleanup: အလိုအလျောက်ပို့စ်ဖျက်ခြင်း
     two_factor_authentication: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်
+    webauthn_authentication: လုံခြုံရေးကီးများ
   statuses:
     attached:
+      audio:
+        other: "%{count} အသံ"
       description: ပူးတွဲပါ- %{attached}
       image:
         other: "%{count} ပုံ"
       video:
         other: "%{count} ဗီဒီယို"
+    boosted_from_html: "%{acct_link} မှ Boost လုပ်ခဲ့သည်"
+    content_warning: အကြောင်းအရာသတိပေးချက် - %{warning}
+    default_language: လက်ရှိသုံးနေသောဘာသာစကားအတိုင်း ပြပေးပါမည်
+    disallowed_hashtags:
+      other: ခွင့်မပြုထားသော hashtags များပါရှိသည် - %{tags}
     edited_at_html: "%{date} ကို ပြင်ဆင်ပြီးပါပြီ"
     open_in_web: ဝဘ်တွင် ဖွင့်ပါ
+    pin_errors:
+      reblog: Boost လုပ်ထားသောပို့စ်ကို ပင်ထား၍မရပါ
     poll:
       total_people:
         other: "%{count} ယောက်"
@@ -819,6 +1118,8 @@ my:
     show_more: ပိုမိုပြရန်
     show_newer: ပို့စ်အသစ်များပြရန်
     show_older: ပို့စ်အဟောင်းများပြရန်
+    show_thread: Thread ကို ပြပါ
+    sign_in_to_participate: စကားဝိုင်းတွင် ပါဝင်ရန် အကောင့်ဝင်ပါ
     title: '%{name}: "%{quote}"'
     visibilities:
       direct: တိုက်ရိုက်
@@ -826,9 +1127,20 @@ my:
       private_long: စောင့်ကြည့်သူများကိုသာ ပြရန်
       public: အများမြင်
       public_long: လူတိုင်းမြင်နိုင်ပါသည်
+      unlisted: စာရင်းမသွင်းထားပါ
+      unlisted_long: လူတိုင်းမြင်နိုင်သော်လည်း အများမြင်မည့်စာမျက်နှာများတွင် စာရင်းမသွင်းထားပါ။
   statuses_cleanup:
+    enabled: ပို့စ်အဟောင်းများကို အလိုအလျောက် ဖျက်ပါ
+    ignore_favs: နှစ်သက်မှုများကို လျစ်လျူရှုပါ
+    ignore_reblogs: Boost များကို လျစ်လျူရှုပါ
+    keep_direct: တိုက်ရိုက်မက်ဆေ့ချ်များကို သိမ်းထားပါ
+    keep_direct_hint: တိုက်ရိုက်စကားပြောထားသည်များကို မဖျက်ပါနှင့်
+    keep_media: မီဒီယာဖိုင်များပါသောပို့စ်များကို သိမ်းဆည်းပါ
+    keep_media_hint: မီဒီယာဖိုင်များပါသောပို့စ်များကို မဖျက်ပါနှင့်
+    keep_pinned: ပင်ထိုးထားသော ပို့စ်များကို သိမ်းထားပါ
     keep_polls: စစ်တမ်းကိုဆက်လက်ထားမည်
     keep_polls_hint: သင့်မှတ်တမ်းတစ်ခုမှ မပျက်ပါ
+    keep_self_fav: သင်နှစ်သက်ခဲ့သောပို့စ်များကို သိမ်းထားပါ
     min_age:
       '1209600': ၂ ပတ်
       '15778476': ၆ လ
@@ -840,8 +1152,11 @@ my:
       '7889238': ၃ လ
   stream_entries:
     pinned: ပင်တွဲထားသောပို့စ်
+    reblogged: Boost လုပ်ခဲ့သည်
+    sensitive_content: သတိထားရသော အကြောင်းအရာ
   themes:
     default: Mastodon (အနက်)
+    mastodon-light: Mastodon (အလင်းနောက်ခံ)
   time:
     formats:
       default: "%b %d, %Y, %H:%M"
@@ -855,6 +1170,9 @@ my:
     enabled: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်ကို ဖွင့်ထားသည်
     enabled_success: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်ကို ဖွင့်ပြီးပါပြီ
     methods: နှစ်ဆင့်ခံလုံခြုံရေးနည်းလမ်းများ
+    otp: Authenticator အက်ပ်
+    recovery_codes: အရန်ပြန်လည်ရယူရေးကုဒ်များ
+    webauthn: လုံခြုံရေးကီးများ
   user_mailer:
     appeal_approved:
       action: သင့်အကောင့်သို့ သွားပါ
@@ -862,19 +1180,29 @@ my:
       title: အယူခံကို ပယ်ချခဲ့သည်
     suspicious_sign_in:
       change_password: သင်၏ စကားဝှက်ပြောင်းလဲပါ
+      details: ဤသည်မှာ အကောင့်ဝင်ရောက်ခြင်းအတွက် အသေးစိတ်အချက်များဖြစ်သည် -
+      explanation: IP လိပ်စာအသစ်တစ်ခုမှနေ၍ သင့်အကောင့်ဝင်ရောက်သည်ကို တွေ့ရှိခဲ့ပါသည်။
+      title: အကောင့်ဝင်ရောက်မှုအသစ်
     warning:
       appeal: အယူခံတင်သွင်းပါ
+      categories:
+        spam: Spam
       explanation:
         disable: သင့်အကောင့်ကို အသုံးမပြုနိုင်တော့သော်လည်း သင့်ပရိုဖိုင်နှင့် အခြားအချက်အလက်များမှာ ကျန်ရှိနေမည်ဖြစ်သည်။ သင့်အချက်အလက်ကို မိတ္တူကူးရန်၊ အကောင့်သတ်မှတ်ချက်များကို ပြောင်းလဲရန် သို့မဟုတ် သင့်အကောင့်ဖျက်သိမ်းရန်တို့အတွက် အရန်သိမ်းဆည်းမှုအား သင် တောင်းဆိုနိုင်သည်။
         suspend: သင့်အကောင့်ကို အသုံးမပြုနိုင်တော့သည့်အပြင် ပရိုဖိုင်နှင့် အခြားအချက်အလက်များကိုလည်း အသုံးပြု၍မရတော့ပါ။ သင့်အချက်အလက်ကို ရက်ပေါင်း ၃၀ ခန့်အတွင်း အပြည့်အဝ မဖယ်ရှားမချင်း အချက်အလက်များ အရန်ကူးယူရန်အတွက် အကောင့်သို့ ဝင်ရောက်နိုင်ပါသေးသည်။ သို့သော် အကောင့်ရပ်ဆိုင်းထားမှုရှောင်လွှဲခြင်းမှ ကာကွယ်ရန်အတွက် အခြေခံအချက်အလက်အချို့ကို ကျွန်ုပ်တို့ ထိန်းသိမ်းထားရပါမည်။
       reason: အကြောင်းပြချက် -
       subject:
         delete_statuses: "%{acct} ရှိ သင့်ပို့စ်များကို ဖယ်ရှားလိုက်ပါပြီ"
+        mark_statuses_as_sensitive: "%{acct} ရှိ သင့်ပို့စ်များကို သတိထားရသောပို့စ်များအဖြစ် အမှတ်အသားပြုထားသည်"
         none: "%{acct} အတွက် သတိပေးချက်"
         silence: သင့်အကောင့် %{acct} ကို ကန့်သတ်ထားသည်
       title:
         delete_statuses: ပို့စ်များကို ဖယ်ရှားခဲ့သည်
+        disable: အကောင့်ပိတ်သွားပါပြီ။
+        mark_statuses_as_sensitive: သတိထားရသောပို့စ်များအဖြစ် အမှတ်အသားပြုပါ
         none: သတိပေးချက်
+        sensitive: သတိထားရသောအကောင့်အဖြစ် အမှတ်အသားပြုပါ
+        silence: အကောင့်ကန့်သတ်ထားသည်
         suspend: အကောင့်ရပ်ဆိုင်းထားသည်
     welcome:
       edit_profile_action: ပရိုဖိုင်ထည့်သွင်းရန်
@@ -885,6 +1213,23 @@ my:
   users:
     follow_limit_reached: လူ %{limit} ထက် ပိုပြီး စောင့်ကြည့်၍မရပါ
     invalid_otp_token: မမှန်ကန်သော နှစ်ဆင့်ခံလုံခြုံရေးကုဒ်
+    signed_in_as: အဖြစ် အကောင့်ဝင်ခဲ့သည် -
+  verification:
+    verification: စိစစ်ခြင်း
   webauthn_credentials:
+    add: လုံခြုံရေးကီးအသစ်ထည့်ပါ
+    create:
+      error: သင့်လုံခြုံရေးကီးထည့်ရာတွင် ပြဿနာရှိနေသည်။ ထပ်စမ်းကြည့်ပါ။
+      success: လုံခြုံရေးကီး ထည့်ပြီးပါပြီ။
     delete: ဖျက်ရန်
+    delete_confirmation: လုံခြုံရေးကီးဖျက်ရန် သေချာပါသလား။
+    description_html: "<strong>လုံခြုံရေးကီးအထောက်အထားစိစစ်ခြင်း</strong>ကို ဖွင့်ထားပါက လုံခြုံရေးကီးများထဲမှ တစ်ခုကို အကောင့်ဝင်ရောက်ရန်အတွက် အသုံးပြုရန်လိုအပ်ပါသည်"
+    destroy:
+      error: သင့်လုံခြုံရေးကီးကို ဖျက်ရာတွင် ပြဿနာရှိနေသည်။ ထပ်စမ်းကြည့်ပါ။
+      success: လုံခြုံရေးကီး ဖျက်ပြီးပါပြီ။
+    invalid_credential: လုံခြုံရေးကီးမမှန်ကန်ပါ
+    nickname_hint: သင့်လုံခြုံရေးကီးအသစ်၏ အမည်ပြောင်ကို ထည့်ပါ။
+    not_enabled: WebAuthn ကို သင် မဖွင့်ရသေးပါ
+    not_supported: ဤဘရောက်ဆာသည် လုံခြုံရေးကီးများကို မပံ့ပိုးပါ
+    otp_required: လုံခြုံရေးကီးများကို အသုံးပြုရန်အတွက် နှစ်ဆင့်ခံလုံခြုံရေးစနစ်စိစစ်ခြင်းကို ဦးစွာဖွင့်ပါ။
     registered_on: "%{date} တွင် စာရင်းသွင်းထားသည်"
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index 7732a6442..93e7c5502 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -1405,6 +1405,7 @@ nl:
     confirm_remove_selected_followers: Weet je zeker dat je de geselecteerde volgers wilt verwijderen?
     confirm_remove_selected_follows: Weet je zeker dat je de geselecteerde gevolgde accounts wilt verwijderen?
     dormant: Sluimerend
+    follow_failure: Kan sommige van de geselecteerde accounts niet volgen.
     follow_selected_followers: Geselecteerde volgers volgen
     followers: Volgers
     following: Volgend
@@ -1444,6 +1445,7 @@ nl:
       electron: Electron
       firefox: Firefox
       generic: Onbekende webbrowser
+      huawei_browser: Huawei Browser
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi Browser
@@ -1453,6 +1455,7 @@ nl:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Onbekende browser
       weibo: Weibo
     current_session: Huidige sessie
     description: "%{browser} op %{platform}"
@@ -1465,9 +1468,10 @@ nl:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: macOS
-      other: Onbekend platform
+      unknown_platform: Onbekend platform
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/nn.yml b/config/locales/nn.yml
index 7b860b54b..ee496f272 100644
--- a/config/locales/nn.yml
+++ b/config/locales/nn.yml
@@ -91,7 +91,7 @@ nn:
       moderation:
         active: Aktiv
         all: Alle
-        disabled: Deaktivert
+        disabled: Skrudd av
         pending: Ventar på svar
         silenced: Avgrensa
         suspended: Utvist
@@ -134,7 +134,7 @@ nn:
       search: Søk
       search_same_email_domain: Andre brukarar med same e-postdomene
       search_same_ip: Andre brukarar med same IP
-      security: Sikkerhet
+      security: Tryggleik
       security_measures:
         only_password: Kun passord
         password_and_2fa: Passord og 2FA
@@ -423,7 +423,7 @@ nn:
         resolve: Løs domene
         title: Ny blokkeringsoppføring av e-postdomene
       no_email_domain_block_selected: Blokkering av e-post-domener vart ikkje endra sidan ingen var valde
-      not_permitted: Ikke tillatt
+      not_permitted: Ikkje tillate
       resolved_dns_records_hint_html: Domenenamnet gjer oppslag til desse MX-domenene som til sist er ansvarlige for å motta e-post. Blokkering av eit MX-domene vil blokkere registreringar frå alle e-postadresser som bruker same MX-domene, sjølv om det synlige domenenavnet skulle vera noko anna. <strong>Pass på så du ikkje blokkerer dei store e-postleverandørane.</strong>
       resolved_through_html: Løyst gjennom %{domain}
       title: Blokkerte e-postadresser
@@ -438,7 +438,7 @@ nn:
         private_comment_description_html: 'For å hjelpa deg med å halda oversikt over kvar importerte blokkeringar kjem frå, vil dei bli oppretta med fylgjande private kommentar: <q>%{comment}</q>'
         private_comment_template: Importert frå %{source} den %{date}
         title: Importer domeneblokkeringar
-      invalid_domain_block: 'En eller flere domeneblokker ble hoppet over på grunn av følgende feil(er): %{error}'
+      invalid_domain_block: 'Hoppa over ei eller fleire domeneblokker på grunn av fylgjande feil: %{error}'
       new:
         title: Importer domeneblokkeringar
       no_file: Inga fil vald
@@ -470,6 +470,7 @@ nn:
       content_policies:
         comment: Internt notat
         description_html: Du kan definere innholdsregler som vil bli brukt på alle kontoer fra dette domenet og hvilket som helst av underdomenene.
+        limited_federation_mode_description_html: Du kan velja om du vil tillata føderering med dette domenet.
         policies:
           reject_media: Avvis media
           reject_reports: Avvis rapporter
@@ -573,10 +574,10 @@ nn:
         mark_as_sensitive_description_html: Mediene i dei rapporterte innlegga vil verte markerte som ømtolege, og ein merknad vil verte lagra for å hjelpe deg å eskalera ved framtidige regelbrot frå same konto.
         other_description_html: Sjå fleire alternativ når det gjeld kontroll av kontoåtferd og tilpassing av kommunikasjonen til den rapporterte kontoen.
         resolve_description_html: Ingen handling utføres mot den rapporterte kontoen, ingen advarsel gis, og rapporten lukkes.
-        silence_description_html: Profilen vil kun være synlig for dem som allerede følger den eller manuelt slår den opp, noe som sterkt begrenser dens rekkevidde. Kan alltid tilbakestilles. Lukker alle rapporter mot denne kontoen.
-        suspend_description_html: Kontoen og alt dens innhold vil være utilgjengelig og til slutt slettet, og det vil ikke være mulig å bruke den. Reversibel innen 30 dager. Lukker alle rapporter mot denne kontoen.
+        silence_description_html: Profilen vil berre vera synleg for dei som allereie fylgjer han eller søkjer han opp manuelt, noko som gjev profilen mykje mindre rekkjevidd. Du kan oppheva stenginga seinare. Dette avsluttar alle rapportar om brukarkontoen.
+        suspend_description_html: Brukarkontoen og alt innhaldet vil bli utilgjengeleg og til slutt sletta, og det vil vera uråd å samhandla med brukaren. Du kan angra dette innan 30 dagar. Dette avsluttar alle rapportar om kontoen.
       actions_description_html: Avgjer kva som skal gjerast med denne rapporteringa. Dersom du utfører straffetiltak mot den rapporterte kontoen, vil dei motta ein e-post – så sant du ikkje har valt kategorien <strong>Spam</strong>.
-      actions_description_remote_html: Velg hvilke tiltak som skal treffes for å løse denne rapporten. Dette påvirker bare hvordan <strong>din</strong> server kommuniserer med denne eksterne kontoen og håndterer innholdet.
+      actions_description_remote_html: Avgjer kva du vil gjera for å løysa denne rapporten. Dette påverkar berre korleis tenaren <strong>din</strong> kommuniserer med kontoen på ein annan tenar, og korleis tenaren din handterer innhald derifrå.
       add_to_report: Legg til i rapporten
       are_you_sure: Er du sikker?
       assign_to_self: Tilegn til meg
@@ -588,8 +589,8 @@ nn:
       comment:
         none: Ingen
       comment_description_html: 'For å gje meir informasjon, skreiv %{name}:'
-      confirm: Bekreft
-      confirm_action: Bekreft moderasjonshandling mot @%{acct}
+      confirm: Stadfest
+      confirm_action: Stadfest at du vil moderera brukarkontoen @%{acct}
       created_at: Rapportert
       delete_and_resolve: Slett innlegg
       forwarded: Videresendt
@@ -606,7 +607,7 @@ nn:
         placeholder: Beskriv hvilke handlinger som har blitt tatt, eller andre relaterte oppdateringer...
         title: Merknad
       notes_description_html: Sjå og skriv merknadar til andre moderatorar og ditt framtidige sjølv
-      processed_msg: 'Rapport #%{id} er behandlet'
+      processed_msg: 'Du har handsama rapport #%{id}'
       quick_actions_description_html: 'Utfør ei handling eller bla ned for å sjå det rapporterte innhaldet:'
       remote_user_placeholder: den eksterne brukaren frå %{instance}
       reopen: Opn rapport igjen
@@ -621,13 +622,26 @@ nn:
       statuses_description_html: Støytande innhald vil bli inkludert i kommunikasjonen med den rapporterte kontoen
       summary:
         action_preambles:
-          delete_html: 'Du er i ferd med å <strong>fjerne</strong> noe av <strong>@%{acct}</strong> sine innlegg. Dette vil:'
-          mark_as_sensitive_html: 'Du er i ferd med å <strong>markere</strong> noen av <strong>@%{acct}</strong> sine innlegg som <strong>sensitivt</strong>. Dette vil:'
-          silence_html: 'Du er i ferd med å <strong>avgrense</strong> <strong>@%{acct}</strong> sin konto. Dette vil:'
-          suspend_html: 'Du er i ferd med å <strong>stoppe</strong> <strong>@%{acct}</strong> sin konto. Dette vil:'
+          delete_html: 'Du er i ferd med å <strong>fjerna</strong> nokre av innlegga til <strong>@%{acct}</strong>. Det vil:'
+          mark_as_sensitive_html: 'Du er i ferd med å <strong>markera</strong> nokre av innlegga til <strong>@%{acct}</strong> som <strong>sensitive</strong>. Dette vil:'
+          silence_html: 'Du er i ferd med å <strong>avgrensa</strong> kontoen til <strong>@%{acct}</strong>. Dette vil:'
+          suspend_html: 'Du er i ferd med å <strong>stenga</strong> kontoen til <strong>@%{acct}</strong>. Dette vil:'
+        actions:
+          delete_html: Fjerna dei påtala innlegga
+          mark_as_sensitive_html: Markera dei påtala mediefilene som sensitive
+          silence_html: Sterkt avgrensa korleis <strong>@%{acct}</strong> kan samhandla ved å gjera brukarprofilen og innhaldet synleg berre for folk som allereie fylgjer brukarkontoen eller søkjer han opp manuelt
+          suspend_html: Stengja brukarkontoen til <strong>@%{acct}</strong>, slik at brukarprofilen og innhaldet blir utilgjengeleg og umogleg å samhandla med
+        close_report: Marker rapport nr. %{id} som løyst
+        close_reports_html: Marker <strong>alle</strong> rapportane om <strong>@%{acct}</strong> som løyste
+        delete_data_html: Slett brukarprofilen og innhaldet til<strong>@%{acct}</strong> om 30 dagar frå no med mindre brukarkontoen blir opna att
+        preview_preamble_html: "<strong>@%{acct}</strong> vil få ei åtvaring med dette innhaldet:"
+        record_strike_html: Noter at ei handling er gjort mot <strong>@%{acct}</strong> for å hjelpa deg å handtera framtidige overtramp frå denne brukarkontoen
+        send_email_html: Send ein åtvaringsepost til <strong>@%{acct}</strong>
+        warning_placeholder: Eventuelle fleire grunnar for å modereringshandlinga.
       target_origin: Opprinnelse for innrapportert konto
       title: Rapportar
       unassign: Avset
+      unknown_action_msg: 'Ukjend handling: %{action}'
       unresolved: Uløyst
       updated_at: Oppdatert
       view_profile: Vis profil
@@ -722,6 +736,8 @@ nn:
         preamble: Å framheva interessant innhald er vitalt i mottakinga av nye brukarar som ikkje nødvendigvis kjenner nokon på Mastodon. Kontroller korleis oppdagingsfunksjonane på tenaren din fungerar.
         profile_directory: Profilkatalog
         public_timelines: Offentlege tidsliner
+        publish_discovered_servers: Publiser oppdaga tenarar
+        publish_statistics: Publiser statistikk
         title: Oppdaging
         trends: Trender
       domain_blocks:
@@ -776,6 +792,7 @@ nn:
         suspend: "%{name} utviste %{target} sin konto"
       appeal_approved: Klage tatt til følge
       appeal_pending: Klage behandles
+      appeal_rejected: Anken er avvist
     system_checks:
       database_schema_check:
         message_html: Det venter på databaseoverføringer. Vennligst kjør disse for å sikre at applikasjonen oppfører seg som forventet
@@ -811,6 +828,7 @@ nn:
           other: Delt av %{count} personer i løpet av den siste uken
         title: Populære lenkjer
         usage_comparison: Delt %{today} ganger i dag, sammenlignet med %{yesterday} i går
+      not_allowed_to_trend: Har ikkje lov å trenda
       only_allowed: Kun tillatne
       pending_review: Avventer gjennomgang
       preview_card_providers:
@@ -837,12 +855,13 @@ nn:
           tag_accounts_measure: unike bruksområder
           tag_languages_dimension: Mest brukte språk
           tag_servers_dimension: Mest brukte servere
-          tag_servers_measure: forskjellige servere
-          tag_uses_measure: samlet bruk
+          tag_servers_measure: ulike tenarar
+          tag_uses_measure: brukarar totalt
         description_html: Dette er emneknagger som for øyeblikket vises i mange innlegg som serveren din ser. Det kan hjelpe dine brukere med å finne ut hva folk snakker mest om i øyeblikket. Ingen emneknagger vises offentlig før du godkjenner dem.
         listable: Kan bli foreslått
+        no_tag_selected: Ingen merkelappar vart endra fordi ingen var valde
         not_listable: Vil ikke bli foreslått
-        not_trendable: Kunne ikke vises under trender
+        not_trendable: Kjem ikkje til å syna under trendar
         not_usable: Kan ikke brukes
         peaked_on_and_decaying: Nådde toppen %{date}, nå på vei ned
         title: Populære emneknagger
@@ -891,6 +910,9 @@ nn:
         sensitive: å merke kontoen sin som følsom
         silence: for å begrense deres konto
         suspend: for å suspendere kontoen deres
+      body: "%{target} ankar på ei modereringsavgjerd av %{action_taken_by} den %{date}, som var %{type}. Dei skreiv:"
+      next_steps: Du kan godkjenna anken for å endra modereringsavgjerda, eller du kan oversjå anken.
+      subject: "%{username} ankar ei modereringsavgjer på %{instance}"
     new_pending_account:
       body: Detaljer om den nye kontoen er nedenfor. Du kan godkjenne eller avvise denne søknaden.
       subject: Ny konto opp til vurdering på %{instance} (%{username})
@@ -899,13 +921,16 @@ nn:
       body_remote: Nokon frå %{domain} har meldt %{target}
       subject: Ny rapport for %{instance} (#%{id})
     new_trends:
+      body: 'Du må sjå gjennom desse elementa før dei kan visast offentleg:'
       new_trending_links:
         title: Populære lenker
       new_trending_statuses:
         title: Populære innlegg
       new_trending_tags:
-        title: Populære emneknagger
-      subject: Ny trender for gjennomsyn av %{instance}
+        no_approved_tags: Det er ingen godkjende populære emneknaggar no.
+        requirements: 'Alle desse kandidatane kan stiga høgare enn den godkjende populære emneknaggen #%{rank}, som er #%{lowest_tag_name} med ei plassering på %{lowest_tag_score}.'
+        title: Populære emneknaggar
+      subject: Nye trendar å sjå gjennom på %{instance}
   aliases:
     add_new: Lag psevdonym
     created_msg: Laga eit nytt kallenamn. No kan du setja i gang med flyttinga frå den gamle kontoen.
@@ -927,7 +952,7 @@ nn:
     toot_layout: Tutoppsett
   application_mailer:
     notification_preferences: Endr e-post-innstillingane
-    salutation: "%{name},"
+    salutation: Hei %{name},
     settings: 'Endr e-post-innstillingar: %{link}'
     view: 'Sjå:'
     view_profile: Sjå profil
@@ -935,6 +960,7 @@ nn:
   applications:
     created: Søknad laga
     destroyed: Søknad sletta
+    logout: Logg ut
     regenerate_token: Lag tilgangsnykel på nytt
     token_regenerated: Tilgangsnykel laga på nytt
     warning: Ver varsam med dette datumet. Aldri del det med nokon!
@@ -942,6 +968,8 @@ nn:
   auth:
     apply_for_account: Søk om ein konto
     change_password: Passord
+    confirmations:
+      wrong_email_hint: Viss epostadressa er feil, kan du endra ho i kontoinnstillingane.
     delete_account: Slett konto
     delete_account_html: Om du vil sletta kontoen din, kan du <a href="%{path}">gå hit</a>. Du vert spurd etter stadfesting.
     description:
@@ -969,6 +997,8 @@ nn:
     resend_confirmation: Send stadfestingsinstruksjonar på nytt
     reset_password: Attstill passord
     rules:
+      accept: Godkjenn
+      back: Attende
       preamble: Disse angis og håndheves av %{domain}-moderatorene.
       title: Noen grunnregler.
     security: Tryggleik
@@ -1115,6 +1145,8 @@ nn:
     storage: Medielagring
   featured_tags:
     add_new: Legg til ny
+    errors:
+      limit: Du har allereie framheva så mange emneknaggar som det går an å gjera
     hint_html: "<strong>Hva er utvalgte emneknagger?</strong> De vises frem tydelig på din offentlige profil, og lar folk bla i dine offentlige innlegg som spesifikt har de emneknaggene. De er et bra verktøy for å holde styr på kreative verk eller langtidsprosjekter."
   filters:
     contexts:
@@ -1125,55 +1157,39 @@ nn:
       thread: Samtalar
     edit:
       add_keyword: Legg til stikkord
-      keywords: Nøkkelord
+      keywords: Stikkord
       statuses: Individuelle innlegg
+      statuses_hint_html: Dette filteret gjeld for utvalde, individuelle innlegg, uansett om dei passar til stikkorda under. <a href="%{path}">Sjå gjennom eller fjern innlegg frå filteret</a>.
       title: Endr filter
     errors:
+      deprecated_api_multiple_keywords: Du kan ikkje endra desse parametrane frå dette programmet fordi dei gjeld for meir enn eitt filterord. Bruk eit nyare program, eller nettsida.
       invalid_context: Ingen eller ugild kontekst gjeve
     index:
-      contexts: Filtre i %{contexts}
+      contexts: Filter i %{contexts}
       delete: Slett
       empty: Du har ingen filtre.
-      expires_in: Utløper om %{distance}
-      expires_on: Utløper den %{date}
-      keywords:
-        one: "%{count} nøkkelord"
-        other: "%{count} nøkkelorder"
-      statuses:
-        one: "%{count} innlegg"
-        other: "%{count} innlegger"
-      statuses_long:
-        one: "%{count} enkeltinnlegg skjult"
-        other: "%{count} individuelle innlegger skjult"
+      expires_in: Går ut om %{distance}
+      expires_on: Går ut %{date}
       title: Filter
     new:
       save: Lagre nytt filter
       title: Legg til nytt filter
     statuses:
-      back_to_filter: Tilbake til filter
+      back_to_filter: Tilbake til filteret
       batch:
-        remove: Fjern fra filter
+        remove: Fjern frå filteret
       index:
-        hint: Dette filteret gjelder for å velge individuelle innlegg uavhengig av andre kriterier. Du kan legge til flere innlegg til dette filteret fra webgrensesnittet.
+        hint: Dette filteret gjeld for utvalde, individuelle innlegg, uavhengig av andre kriterium. Du kan leggja til fleire innlegg til dette filteret frå nettsida.
         title: Filtrerte innlegg
   generic:
     all: Alle
-    all_items_on_page_selected_html:
-      one: "<strong>%{count}</strong> element på denne siden er valgt."
-      other: Alle <strong>%{count}</strong> elementer på denne siden er valgt.
-    all_matching_items_selected_html:
-      one: "<strong>%{count}</strong> element som matcher søket ditt er valgt."
-      other: Alle <strong>%{count}</strong> elementer som matcher søket velges.
     changes_saved_msg: Alle endringane vart lagra!
     copy: Kopier
     delete: Slett
-    deselect: Fjern all merking
+    deselect: Vel ingen
     none: Ingen
     order_by: Sorter etter
     save_changes: Lagr endringar
-    select_all_matching_items:
-      one: Velg %{count} element som samsvarer med søket ditt.
-      other: Velg alle %{count} elementer som samsvarer med søket ditt.
     today: i dag
     validation_errors:
       one: Noe er ikke helt riktig ennå. Vennligst se etter en gang til
@@ -1186,7 +1202,7 @@ nn:
       merge: Set saman
       merge_long: Hald på eksisterande data og legg til nye
       overwrite: Skriv over
-      overwrite_long: Erstatt gjeldende med de nye
+      overwrite_long: Byt ut dei noverande oppføringane med dei nye
     preface: Du kan henta inn data som du har eksportert frå ein annan tenar, som t.d. ei liste over folka du fylgjer eller blokkerer.
     success: Dataa dine vart lasta opp og vert no handsama så fort som mogeleg
     types:
@@ -1218,11 +1234,14 @@ nn:
       expires_at: Vert ugyldig
       uses: Bruk
     title: By folk inn
+  lists:
+    errors:
+      limit: Du har nådd grensa for kor mange lister du kan ha
   login_activities:
     authentication_methods:
       otp: to-faktor autentiseringsapp
       password: passord
-      sign_in_token: e-post sikkerhetskode
+      sign_in_token: tryggingskode på epost
       webauthn: sikkerhetsnøkler
     description_html: Hvis du ser aktivitet som du ikke gjenkjenner, bør du vurdere å endre passordet ditt og aktivere to-trinnsinnlogging.
     empty: Ingen innloggingshistorikk er tilgjengelig
@@ -1272,7 +1291,7 @@ nn:
     carry_mutes_over_text: Denne brukeren flyttet fra %{acct}, som du hadde dempet.
     copy_account_note_text: 'Denne brukeren flyttet fra %{acct}, her var dine tidligere notater om dem:'
   navigation:
-    toggle_menu: Vis/Skjul meny
+    toggle_menu: Vis/gøym menyen
   notification_mailer:
     admin:
       report:
@@ -1298,7 +1317,7 @@ nn:
       subject: Du vart nemnd av %{name}
       title: Ny nemning
     poll:
-      subject: En avstemming av %{name} er avsluttet
+      subject: Meiningsmålinga frå %{name} er avslutta
     reblog:
       body: 'Statusen din vart framheva av %{name}:'
       subject: "%{name} framheva statusen din"
@@ -1362,6 +1381,7 @@ nn:
     confirm_remove_selected_followers: Er du sikker på at du ynskjer å fjerna dei valde fylgjarane?
     confirm_remove_selected_follows: Er du sikker på at du ynskjer å fjerna det valde følgjet?
     dormant: I dvale
+    follow_failure: Greidde ikkje fylgja alle kontoane du valde.
     follow_selected_followers: Følg valgte tilhengere
     followers: Følgere
     following: Følginger
@@ -1382,7 +1402,7 @@ nn:
     errors:
       invalid_rules: refererer ikke til gyldige regler
   rss:
-    content_warning: 'Innholdsadvarsel:'
+    content_warning: 'Innhaldsvarsel:'
     descriptions:
       account: Offentlige innlegg fra @%{acct}
       tag: 'Offentlige innlegg merket med #%{hashtag}'
@@ -1401,6 +1421,7 @@ nn:
       electron: Electron
       firefox: Firefox
       generic: Ukjend lesar
+      huawei_browser: Huawei-nettlesaren
       ie: Internet Explorer
       micro_messenger: Micromessenger
       nokia: Nokia S40 Ovi-lesar
@@ -1410,6 +1431,7 @@ nn:
       qq: QQ-lesar
       safari: Safari
       uc_browser: QQ-lesar
+      unknown_browser: Ukjend nettlesar
       weibo: Weibo
     current_session: Noverande økt
     description: "%{browser} på %{platform}"
@@ -1422,9 +1444,10 @@ nn:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: IOS
+      kai_os: KaiOS
       linux: Linux
       mac: Mac
-      other: ukjend plattform
+      unknown_platform: Ukjend plattform
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
@@ -1531,6 +1554,7 @@ nn:
       '7889238': 3 månader
     min_age_label: Aldersterskel
     min_favs: Behold innlegg som er favorittmarkert av minst
+    min_favs_hint: Slettar ingen av innlegga dine som har fått minst så mange favorittar. La det stå tomt for å sletta innlegga uansett kor mange favorittar dei har fått
     min_reblogs: Behold innlegg fremhevet av minst
     min_reblogs_hint: Sletter ikke noen av dine innlegg som har blitt fremhevet minst dette antall ganger. La stå tom for å slette innlegg uavhengig av antall fremhevinger
   stream_entries:
diff --git a/config/locales/no.yml b/config/locales/no.yml
index ebad60b73..9f22a1bdb 100644
--- a/config/locales/no.yml
+++ b/config/locales/no.yml
@@ -1396,7 +1396,6 @@
       ios: iOS
       linux: Linux
       mac: macOS
-      other: ukjent plattform
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/oc.yml b/config/locales/oc.yml
index e1406ec61..fa23f0522 100644
--- a/config/locales/oc.yml
+++ b/config/locales/oc.yml
@@ -830,7 +830,6 @@ oc:
       ios: iOS
       linux: Linux
       mac: Mac
-      other: plataforma desconeguda
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/pl.yml b/config/locales/pl.yml
index d08616191..66f01ccaa 100644
--- a/config/locales/pl.yml
+++ b/config/locales/pl.yml
@@ -1457,6 +1457,7 @@ pl:
     confirm_remove_selected_followers: Czy na pewno chcesz usunąć wybranych obserwujących?
     confirm_remove_selected_follows: Czy na pewno chcesz usunąć zaznaczone obserwacje?
     dormant: Uśpione
+    follow_failure: Nie można obserwować niektórych wybranych kont.
     follow_selected_followers: Zacznij obserwować wybranych obserwujących
     followers: Obserwujący
     following: Obserwowani
@@ -1496,6 +1497,7 @@ pl:
       electron: Electron
       firefox: Firefox
       generic: nieznana przeglądarka
+      huawei_browser: Przeglądarka Huawei
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Przeglądarka Nokia S40 Ovi
@@ -1505,6 +1507,7 @@ pl:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Nieznana Przeglądarka
       weibo: Weibo
     current_session: Obecna sesja
     description: "%{browser} na %{platform}"
@@ -1517,9 +1520,10 @@ pl:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: macOS
-      other: nieznana platforma
+      unknown_platform: Nieznana platforma
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index 5192a83d2..931c0009e 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -394,6 +394,7 @@ pt-BR:
         create: Criar bloqueio
         hint: O bloqueio de domínio não vai prevenir a criação de entradas de contas na base de dados, mas vai retroativamente e automaticamente aplicar métodos específicos de moderação nessas contas.
         severity:
+          desc_html: "<strong>Silenciar</strong> vai tornar as publicações da conta invisíveis para qualquer um que não estiver lhe seguindo. <strong>Suspender</strong> vai remover todo o conteúdo, mídia e dados de perfil da conta. Use <strong>Nenhum</strong> se você só quer rejeitar arquivos de mídia."
           noop: Nenhum
           silence: Limitar
           suspend: Banir
@@ -590,6 +591,7 @@ pt-BR:
         none: Nenhum
       comment_description_html: 'Para fornecer mais informações, %{name} escreveu:'
       confirm: Confirmar
+      confirm_action: Confirmar a moderação de @%{acct}
       created_at: Denunciado
       delete_and_resolve: Excluir publicações
       forwarded: Encaminhados
@@ -627,6 +629,7 @@ pt-BR:
           suspend_html: 'Você está prestes a <strong>suspender</strong> <strong>a conta de @%{acct}</strong>. Isso irá:'
         actions:
           delete_html: Remover as publicações ofensivas
+          suspend_html: Suspender <strong>@%{acct}</strong>, tornando seu perfil e conteúdo inacessíveis, impossibilitando a interação
         close_report: 'Marcar denúncia #%{id} como resolvida'
         close_reports_html: Marcar <strong>todas</strong> as denúncias contra <strong>@%{acct}</strong> como resolvidas
         delete_data_html: Exclua o perfil e o conteúdo de <strong>@%{acct}</strong> daqui a 30 dias, a menos que a suspensão seja desfeita nesse meio tempo
@@ -786,6 +789,7 @@ pt-BR:
         suspend: "%{name} suspendeu a conta de %{target}"
       appeal_approved: Revisado
       appeal_pending: Revisão pendente
+      appeal_rejected: Revisão rejeitada
     system_checks:
       database_schema_check:
         message_html: Existem migrações de banco de dados pendentes. Execute-as para garantir que o aplicativo se comporte como esperado
@@ -952,6 +956,7 @@ pt-BR:
   applications:
     created: Aplicativo criado com sucesso
     destroyed: Aplicativo excluído com sucesso
+    logout: Sair
     regenerate_token: Gerar código de acesso
     token_regenerated: Código de acesso gerado
     warning: Tenha cuidado com estes dados. Nunca compartilhe com alguém!
@@ -1136,6 +1141,8 @@ pt-BR:
     storage: Armazenamento de mídia
   featured_tags:
     add_new: Adicionar hashtag
+    errors:
+      limit: Você já destacou o número máximo de hashtags
     hint_html: "<strong>O que são hashtags em destaque?</strong> Elas são exibidas no seu perfil público e permitem que as pessoas acessem suas publicações públicos que contenham especificamente essas hashtags. São uma excelente ferramenta para acompanhar os trabalhos criativos ou os projetos de longo prazo."
   filters:
     contexts:
@@ -1388,6 +1395,7 @@ pt-BR:
     confirm_remove_selected_followers: Tem certeza que deseja remover os seguidores selecionados?
     confirm_remove_selected_follows: Tem certeza que deseja remover os grupos seguidos selecionados?
     dormant: Inativo
+    follow_failure: Não foi possível seguir algumas das contas selecionadas.
     follow_selected_followers: Seguir os seguidores selecionados
     followers: Seguidores
     following: Seguindo
@@ -1427,6 +1435,7 @@ pt-BR:
       electron: Electron
       firefox: Firefox
       generic: Navegador desconhecido
+      huawei_browser: Navegador Huawei
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Navegador Nokia S40 Ovi
@@ -1436,6 +1445,7 @@ pt-BR:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Navegador desconhecido
       weibo: Weibo
     current_session: Sessão atual
     description: "%{browser} em %{platform}"
@@ -1448,9 +1458,10 @@ pt-BR:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: MacOS
-      other: Plataforma desconhecida
+      unknown_platform: Plataforma desconhecida
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml
index 2718a7fb4..082de57e3 100644
--- a/config/locales/pt-PT.yml
+++ b/config/locales/pt-PT.yml
@@ -1405,6 +1405,7 @@ pt-PT:
     confirm_remove_selected_followers: Tem a certeza que deseja seguir os seguidores selecionados?
     confirm_remove_selected_follows: Tem certeza que deseja remover os seguidores selecionados?
     dormant: Inativo
+    follow_failure: Não foi possível seguir algumas das contas selecionadas.
     follow_selected_followers: Seguir seguidores selecionados
     followers: Seguidores
     following: A seguir
@@ -1444,6 +1445,7 @@ pt-PT:
       electron: Electron
       firefox: Firefox
       generic: Navegador desconhecido
+      huawei_browser: Navegador Huawei
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Navegador Nokia S40 Ovi
@@ -1453,6 +1455,7 @@ pt-PT:
       qq: QQ Browser
       safari: Safari
       uc_browser: Navegador UC
+      unknown_browser: Navegador Desconhecido
       weibo: Weibo
     current_session: Sessão atual
     description: "%{browser} em %{platform}"
@@ -1465,9 +1468,10 @@ pt-PT:
       chrome_os: ChromeOS
       firefox_os: SO Firefox
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: macOS
-      other: plataforma desconhecida
+      unknown_platform: Plataforma Desconhecida
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
index bfb3f5779..050ea2c25 100644
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -1504,7 +1504,6 @@ ru:
       ios: iOS
       linux: Linux
       mac: Mac
-      other: неизвестной платформе
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/sc.yml b/config/locales/sc.yml
index 113786f77..7a46fe38a 100644
--- a/config/locales/sc.yml
+++ b/config/locales/sc.yml
@@ -876,7 +876,6 @@ sc:
       ios: iOS
       linux: Linux
       mac: macOS
-      other: prataforma disconnota
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/sco.yml b/config/locales/sco.yml
index 719a8918f..04c3f192c 100644
--- a/config/locales/sco.yml
+++ b/config/locales/sco.yml
@@ -1411,7 +1411,6 @@ sco:
       ios: iOS
       linux: Linux
       mac: macOS
-      other: unkent platform
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/si.yml b/config/locales/si.yml
index 87eaee5b6..4a5321524 100644
--- a/config/locales/si.yml
+++ b/config/locales/si.yml
@@ -1204,7 +1204,6 @@ si:
       ios: අයිඕඑස්
       linux: ලිනක්ස්
       mac: මැක්ඕඑස්
-      other: නොදන්නා වේදිකාව
       windows: වින්ඩෝස්
       windows_mobile: වින්ඩෝස් මොබයිල්
       windows_phone: වින්ඩෝස් පෝන්
diff --git a/config/locales/simple_form.ast.yml b/config/locales/simple_form.ast.yml
index 32364cf7e..9e97d51f2 100644
--- a/config/locales/simple_form.ast.yml
+++ b/config/locales/simple_form.ast.yml
@@ -59,6 +59,10 @@ ast:
       ip_block:
         comment: Opcional. Un recordatoriu de por qué amestesti esta norma.
         expires_in: Les direiciones IP son un recursu finitu, suelen compartise ya cambiar de manes. Por esti motivu, nun s'aconseyen los bloqueos indefiníos de direiciones IP.
+        severities:
+          no_access: Bloquia l'accesu a tolos recursos
+          sign_up_block: Fai que nun se puedan rexistrar cuentes nueves
+          sign_up_requires_approval: Fai que se tengan de revisar les cuentes rexistraes nueves
       user:
         chosen_languages: Namás los artículos de les llingües que marques son los que van apaecer nes llinies de tiempu públiques
     labels:
@@ -161,7 +165,12 @@ ast:
       invite_request:
         text: "¿Por qué quies xunite?"
       ip_block:
+        comment: Comentariu
         ip: IP
+        severities:
+          no_access: Bloquiar l'accesu
+          sign_up_block: Bloquiar el rexistru de cuentes nueves
+          sign_up_requires_approval: Llendar les cuentes rexistraes nueves
       notification_emails:
         favourite: Daquién marcó como favoritu'l to artículu
         follow: Daquién te sigue
diff --git a/config/locales/simple_form.bg.yml b/config/locales/simple_form.bg.yml
index 213e519ce..e84edc50d 100644
--- a/config/locales/simple_form.bg.yml
+++ b/config/locales/simple_form.bg.yml
@@ -15,8 +15,8 @@ bg:
         text_html: По избор. Можете да използвате синтаксисът на публикация. Можете да <a href="%{path}">добавите предварително настроени предупреждения</a>, за да спестите време
         type_html: Изберете какво ще правите с <strong>%{acct}</strong>
         types:
-          disable: Забранете на потребител да достъпва акаунта си, без да изтривате или скривате съдържанието на този акаунт.
-          none: Служи за изпращане на предупреждение до потребител, без да се активира друго действие.
+          disable: Предотвратяване на потребител да употребява акаунта си, но без да се изтрива или скрива съдържанието му.
+          none: Използвайте това за изпращане на предупреждение до потребител, без задействане на друго действие.
           sensitive: Принудително отбелязване на прикачената от потребителя мултимедия като чувствителна.
           silence: Предотвратяване на потребителя да може да публикува с обществена видимост, скриване на публикациите му и известията от хората, които не го следват. Затваря всички доклади срещу този акаунт.
           suspend: Предотвратяване на всякакво взаимодействие от или към този акаунт и изтриване на съдържанието му. Обратимо в рамките на 30 дни. Затваря всички доклади срещу този акаунт.
@@ -28,7 +28,7 @@ bg:
         starts_at: По избор. В случай, че обявлението е ограничено до определен времеви диапазон
         text: Може да употребявате синтаксиса на публикации. Имайте предвид, че оповестяването ще заема известно място от екрана на потребителя
       appeal:
-        text: Можете да възразите срещу провинение само веднъж
+        text: Може да възразите срещу провинение само веднъж
       defaults:
         autofollow: Хората, които се регистрират чрез поканата, автоматично ще ви последват
         avatar: PNG, GIF или JPG. До най-много %{size}. Ще се смали до %{dimensions} пиксела
@@ -52,17 +52,17 @@ bg:
         setting_always_send_emails: Обикновено известията по имейл няма да са изпратени при дейна употреба на Mastodon
         setting_default_sensitive: Деликатната мултимедия е скрита по подразбиране и може да се разкрие с едно щракване
         setting_display_media_default: Скриване на мултимедия отбелязана като деликатна
-        setting_display_media_hide_all: Винаги да се скрива мултимедията
-        setting_display_media_show_all: Винаги да се показва мултимедията
+        setting_display_media_hide_all: Винаги скриване на мултимедията
+        setting_display_media_show_all: Винаги показване на мултимедията
         setting_hide_network: В профила ви ще бъде скрито кой може да последвате и кой може да ви последва
         setting_noindex: Засяга вашите публикации и публичен профил
         setting_show_application: Приложението, което ползвате за публикуване, ще се показва в подробностите на публикацията ви
         setting_use_blurhash: Преливането е въз основа на цветовете на скритите визуализации, но се замъгляват подробностите
         setting_use_pending_items: Да се показват обновявания на часовата ос само след щракване вместо автоматично превъртане на инфоканала
-        username: Вашето потребителско име ще е неповторим в %{domain}
+        username: Вашето потребителско име ще е неповторимо в %{domain}
         whole_word: Ако ключовата дума или фраза е само буквеноцифрена, то ще се приложи само, ако съвпадне с цялата дума
       domain_allow:
-        domain: Този домейн ще може да извлече данни от този сървър и входящите данни от него ще бъдат обработени и запазени
+        domain: Домейнът ще може да извлича данни от този сървър и входящите данни от него ще се обработят и съхранят
       email_domain_block:
         domain: Това може да е името на домейна, който се съдържа в имейл адреса или MX записа, който той използва. Ще бъдат проверени при регистрация.
         with_dns_records: Ще има опит за преобразуване на DNS записите за дадения домейн и резултатите също ще бъдат блокирани
@@ -74,14 +74,14 @@ bg:
           hide: Напълно скриване на филтрираното съдържание, сякаш не съществува
           warn: Скриване на филтрираното съдържание зад предупреждение, споменавайки заглавието на филтъра
       form_admin_settings:
-        activity_api_enabled: Брой публикувани постове, активни потребители и нови регистрации за седмицата
+        activity_api_enabled: Броят на местните публикувани публикации, дейни потребители и нови регистрации в седмични кофи
         backups_retention_period: Задържане на породените потребителски архиви за определения брой дни.
         bootstrap_timeline_accounts: Тези акаунти ще се закачат в горния край на препоръките за следване на нови потребители.
         closed_registrations_message: Показва се, когато е затворено за регистрации
         content_cache_retention_period: Публикации от други сървъри ще се изтрият след определен брой дни при положително число. Действието може да е необратимо.
-        custom_css: Може да прилагате собствени стилове в уеб версията на Mastodon.
+        custom_css: Може да прилагате собствени стилове в уебверсията на Mastodon.
         mascot: Замества илюстрацията в разширения уеб интерфейс.
-        media_cache_retention_period: Свалените мултимедийни файлове ще бъдат изтрити след посочения брой дни, когато броят е положително число, и ще бъдат свалени отново при поискване.
+        media_cache_retention_period: Изтеглените мултимедийни файлове ще се изтрият след посочения брой дни, задавайки положително число, и ще се изтеглят пак при поискване.
         peers_api_enabled: Списък от имена на домейни, с които сървърът се е свързал във федивселената. Тук не се включват данни за това дали федерирате с даден сървър, а само за това дали сървърът ви знае за него. Това се ползва от услуги, събиращи статистика за федерацията в общия смисъл.
         profile_directory: Указателят на профили вписва всички потребители, избрали да бъдат откриваеми.
         require_invite_text: Когато регистрацията изисква ръчно одобрение, текстовото поле за това "Защо желаете да се присъедините?" ще бъде задължително, вместо по желание
@@ -95,7 +95,7 @@ bg:
         theme: Темата, която излизащи от системата посетители и нови потребители виждат.
         thumbnail: Образ в съотношение около 2:1, показвано до информацията за сървъра ви.
         timeline_preview: Излизащите от системата посетители ще може да разглеждат най-новите публични публикации, налични на сървъра.
-        trendable_by_default: Прескачане на ръчния преглед на нашумяло съдържание. Отделни елементи могат да бъдат премахвани от нашумели в последствие.
+        trendable_by_default: Прескачане на ръчния преглед на изгряващо съдържание. Отделни елементи още могат да се премахват от изгряващи постфактум.
         trends: В раздел „Налагащо се“ се показват публикации, хаштагове и новини, набрали популярност на сървъра ви.
         trends_as_landing_page: Показване на налагащото се съдържание за излизащите потребители и посетители вместо на описа на този сървър. Изисква налагащото се да бъде включено.
       form_challenge:
@@ -142,7 +142,7 @@ bg:
       account_migration:
         acct: Потребителско име на новия акаунт
       account_warning_preset:
-        text: Предварително настроен текст
+        text: Зададен текст
         title: Заглавие
       admin_account_action:
         include_statuses: Включване на докладваните публикации в имейла
@@ -155,7 +155,7 @@ bg:
           sensitive: Деликатно
           silence: Ограничение
           suspend: Спиране
-        warning_preset_id: Употреба на преднастройка за предупреждение
+        warning_preset_id: Употреба на зададено предупреждение
       announcement:
         all_day: Целодневно събитие
         ends_at: Край на събитието
@@ -171,7 +171,7 @@ bg:
         chosen_languages: Филтриране на езиците
         confirm_new_password: Потвърждаване на новата парола
         confirm_password: Потвърдете паролата
-        context: Филтриране на контекста
+        context: Прецеждане на контекста
         current_password: Текуща парола
         data: Данни
         discoverable: Предложете акаунта на други
@@ -185,7 +185,7 @@ bg:
         irreversible: Премахване, вместо скриване
         locale: Език на интерфейса
         locked: Направи акаунта поверителен
-        max_uses: Максимален брой използвания
+        max_uses: Макс брой употреби
         new_password: Нова парола
         note: Биогр.
         otp_attempt: Двуфакторен код
@@ -207,7 +207,7 @@ bg:
         setting_display_media_hide_all: Скриване на всичко
         setting_display_media_show_all: Показване на всичко
         setting_expand_spoilers: Винаги разширяване на публикации, отбелязани с предупреждения за съдържание
-        setting_hide_network: Скриване на социалното ви графосвързване
+        setting_hide_network: Скриване на социалния ви свързан граф
         setting_noindex: Отказване от индексирането от търсачки
         setting_reduce_motion: Обездвижване на анимациите
         setting_show_application: Разкриване на приложението, изпращащо публикации
@@ -236,7 +236,7 @@ bg:
         activity_api_enabled: Публикуване на агрегирани статиски относно потребителската дейност в API
         backups_retention_period: Период за съхранение на потребителския архив
         bootstrap_timeline_accounts: Винаги да се препоръчват следните акаунти на нови потребители
-        closed_registrations_message: Съобщение, показвано, когато записвания не са възможни
+        closed_registrations_message: Съобщение при неналична регистрация
         content_cache_retention_period: Период на съхранение на кеша за съдържание
         custom_css: Персонализиран CSS
         mascot: Талисман по избор (остаряла настройка)
@@ -283,7 +283,7 @@ bg:
         follow: Някой ви последва
         follow_request: Някой пожела да ви последва
         mention: Някой ви спомена
-        pending_account: Новите акаунти трябва да се прегледат
+        pending_account: Новите акаунти се нуждаят от преглед
         reblog: Някой подсили ваша публикация
         report: Новият доклад е подаден
         trending_tag: Изискване на преглед за новонашумели
@@ -306,11 +306,11 @@ bg:
         events: Включване на събития
         url: URL адрес на крайната точка
     'no': Не
-    not_recommended: Не се препоръчва
-    recommended: Препоръчано
+    not_recommended: Непрепоръчително
+    recommended: Препоръчва се
     required:
       mark: "*"
-      text: задължително
+      text: изисквано
     title:
       sessions:
         webauthn: Употребете един от ключовете си за сигурност, за да влезете
diff --git a/config/locales/simple_form.da.yml b/config/locales/simple_form.da.yml
index 3116f02d8..af2942742 100644
--- a/config/locales/simple_form.da.yml
+++ b/config/locales/simple_form.da.yml
@@ -18,6 +18,8 @@ da:
           disable: Forhindre brugeren i at bruge sin konto, men slet eller skjul ikke vedkommendes indhold.
           none: Brug dette til at sende en advarsel til brugeren uden at udløse nogen anden handling.
           sensitive: Gennemtving sensitivmarkering af alle denne brugers medievedhæftninger.
+          silence: Forhindr brugeren i at udgive offentligt synlige indlæg, skjul vedkommendes indlæg samt notifikationer fra ikke-følgere. Lukker alle indrapporteringer af kontoen.
+          suspend: Forhindr alle interaktion fra/til kontoen og slet dens indhold. Kan omgøres inden for 30 dage. Lukker alle indrapporteringer af kontoen.
         warning_preset_id: Valgfri. Du kan stadig tilføje tilpasset tekst til slutningen af forvalgene
       announcement:
         all_day: Hvis markeret, vil kun datoerne for tidsintervallet blive vist
@@ -80,6 +82,7 @@ da:
         custom_css: Man kan anvende tilpassede stilarter på Mastodon-webversionen.
         mascot: Tilsidesætter illustrationen i den avancerede webgrænseflade.
         media_cache_retention_period: Downloadede mediefiler slettes efter det angivne antal dage, når sat til en positiv værdi, og gendownloades på forlangende.
+        peers_api_enabled: En liste med domænenavne, som denne server har stødt på i fediverset. Ingen data inkluderes her om, hvorvidt der fødereres med en given server, blot at din server kender til det. Dette bruges af tjenester, som indsamler generelle føderationsstatistikker.
         profile_directory: Profilmappen oplister alle brugere, som har valgt at kunne opdages.
         require_invite_text: Når tilmelding kræver manuel godkendelse, så gør “Hvorfor ønsker du at deltage?” tekstinput obligatorisk i stedet for valgfrit
         site_contact_email: Hvordan folk kan opnå kontakt ifm. juridiske eller supportforespørgsler.
@@ -238,6 +241,7 @@ da:
         custom_css: Tilpasset CSS
         mascot: Tilpasset maskot (ældre funktion)
         media_cache_retention_period: Media-cache opbevaringsperiode
+        peers_api_enabled: Udgiv liste over fundne server i API'en
         profile_directory: Aktivér profiloversigt
         registrations_mode: Hvem, der kan tilmelde sig
         require_invite_text: Kræv tilmeldingsbegrundelse
@@ -255,6 +259,7 @@ da:
         timeline_preview: Tillad ikke-godkendt adgang til offentlige tidslinjer
         trendable_by_default: Tillad ikke-reviderede tendenser
         trends: Aktivér trends
+        trends_as_landing_page: Brug tendenser som destinationssiden
       interactions:
         must_be_follower: Blokér notifikationer fra ikke-følgere
         must_be_following: Blokér notifikationer fra folk, som ikke følges
diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml
index 0090c2f96..4a13cea7c 100644
--- a/config/locales/simple_form.de.yml
+++ b/config/locales/simple_form.de.yml
@@ -50,7 +50,7 @@ de:
         scopes: Welche Schnittstellen der Applikation erlaubt sind. Wenn du einen Top-Level-Scope auswählst, dann musst du nicht jeden einzelnen darunter auswählen.
         setting_aggregate_reblogs: Zeige denselben Beitrag nicht nochmal an, wenn er erneut geteilt wurde (dies betrifft nur neulich erhaltene erneut geteilte Beiträge)
         setting_always_send_emails: Normalerweise werden Benachrichtigungen nicht per E-Mail verschickt, wenn du gerade auf Mastodon aktiv bist
-        setting_default_sensitive: Medien, die mit einer Inhaltswarnung versehen worden sind, werden erst nach einem zusätzlichen Klick angezeigt
+        setting_default_sensitive: Medien, die mit einer Inhaltswarnung versehen wurden, werden erst nach einem zusätzlichen Klick angezeigt
         setting_display_media_default: Medien mit Inhaltswarnung ausblenden
         setting_display_media_hide_all: Medien immer ausblenden
         setting_display_media_show_all: Medien mit Inhaltswarnung immer anzeigen
@@ -74,9 +74,9 @@ de:
           hide: Den gefilterten Beitrag vollständig ausblenden, als hätte er nie existiert
           warn: Den gefilterten Beitrag hinter einer Warnung, die den Filtertitel beinhaltet, ausblenden
       form_admin_settings:
-        activity_api_enabled: Anzahl der lokal veröffentlichten Beiträge, der aktiven Benutzer*innen und neuen Registrierungen in wöchentlichen Abständen
+        activity_api_enabled: Anzahl der wöchentlichen Beiträge, aktiven Profile und Registrierungen auf diesem Server
         backups_retention_period: Behalte die Archive, die von den Benutzer*innen erstellt worden sind, für die angegebene Anzahl an Tagen.
-        bootstrap_timeline_accounts: Diese Profile werden bei den Follower-Empfehlungen für neu registrierte Nutzer*innen oben angeheftet.
+        bootstrap_timeline_accounts: Diese Konten werden bei den Follower-Empfehlungen für neu registrierte Nutzer*innen oben angeheftet.
         closed_registrations_message: Wird angezeigt, wenn Registrierungen deaktiviert sind
         content_cache_retention_period: Beiträge von anderen Servern werden nach der angegebenen Anzahl von Tagen, wenn sie auf einen positiven Wert gesetzt werden, gelöscht. Dies kann eventuell nicht rückgängig gemacht werden.
         custom_css: Du kannst benutzerdefinierte Stile auf die Web-Version von Mastodon anwenden.
@@ -91,7 +91,7 @@ de:
         site_short_description: Eine kurze Beschreibung zur eindeutigen Identifizierung des Servers. Wer betreibt ihn, für wen ist er bestimmt?
         site_terms: Verwende eine eigene Datenschutzerklärung oder lasse das Feld leer, um die allgemeine Vorlage zu verwenden. Kann mit der Markdown-Syntax formatiert werden.
         site_title: Wie Personen neben dem Domainnamen auf deinen Server verweisen können.
-        status_page_url: URL einer Seite, auf der der Status des Servers während eines Ausfalls angezeigt werden kann
+        status_page_url: URL einer Seite, auf der der Serverstatus während eines Ausfalls angezeigt wird
         theme: Das Design, das abgemeldete Besucher und neue Benutzer sehen.
         thumbnail: Ein Bild ungefähr im 2:1-Format, das neben den Server-Informationen angezeigt wird.
         timeline_preview: Besucher*innen und ausgeloggte Benutzer*innen können die neuesten öffentlichen Beiträge dieses Servers aufrufen.
@@ -116,7 +116,7 @@ de:
       rule:
         text: Führe eine Regel oder Bedingung für Benutzer*innen auf diesem Server ein. Bleib dabei kurz und knapp
       sessions:
-        otp: 'Gib den Zwei-Faktor-Code von deinem Telefon ein oder benutze einen deiner Wiederherstellungscodes:'
+        otp: 'Gib den Zwei-Faktor-Code von deinem Smartphone ein oder benutze einen deiner Wiederherstellungscodes:'
         webauthn: Wenn es sich um einen USB-Schlüssel handelt, vergewissere dich, dass du ihn einsteckst und – falls erforderlich – antippst.
       tag:
         name: Du kannst zum Beispiel nur die Groß- und Kleinschreibung der Buchstaben ändern, um es lesbarer zu machen
@@ -131,21 +131,21 @@ de:
         position: Höhere Rollen entscheiden über Konfliktlösungen zu gewissen Situationen. Bestimmte Aktionen können nur mit geringfügigeren Rollen durchgeführt werden
       webhook:
         events: Zu sendende Ereignisse auswählen
-        url: Wo Ereignisse hingesendet werden
+        url: Wohin Ereignisse geschickt werden
     labels:
       account:
         fields:
           name: Beschriftung
           value: Inhalt
       account_alias:
-        acct: Adresse des alten Kontos
+        acct: Profilname des alten Kontos
       account_migration:
         acct: Adresse des neuen Kontos
       account_warning_preset:
         text: Vorlagentext
         title: Titel
       admin_account_action:
-        include_statuses: Beitragsmeldungen in die E-Mail mit anfügen
+        include_statuses: Gemeldete Beiträge der E-Mail beifügen
         send_email_notification: Benachrichtigung per E-Mail
         text: Benutzerdefinierte Verwarnung
         type: Aktion
@@ -171,7 +171,7 @@ de:
         chosen_languages: Sprachen einschränken
         confirm_new_password: Neues Passwort bestätigen
         confirm_password: Passwort bestätigen
-        context: Filter nach Bereichen
+        context: Nach Bereichen filtern
         current_password: Derzeitiges Passwort
         data: Daten
         discoverable: Dieses Konto anderen empfehlen
@@ -233,7 +233,7 @@ de:
           hide: Vollständig ausblenden
           warn: Mit einer Inhaltswarnung ausblenden
       form_admin_settings:
-        activity_api_enabled: Veröffentlichung von Gesamtstatistiken über Nutzeraktivitäten in der API
+        activity_api_enabled: Aggregierte Nutzungsdaten über die API veröffentlichen
         backups_retention_period: Aufbewahrungsfrist für Archive
         bootstrap_timeline_accounts: Neuen Nutzern immer diese Konten empfehlen
         closed_registrations_message: Nachricht, falls Registrierungen deaktiviert sind
@@ -241,7 +241,7 @@ de:
         custom_css: Eigenes CSS
         mascot: Benutzerdefiniertes Maskottchen (Legacy)
         media_cache_retention_period: Aufbewahrungsfrist für den Medien-Cache
-        peers_api_enabled: Veröffentliche Liste bekannter Server in der API
+        peers_api_enabled: Über die API die bekanntgewordenen Fediverse-Server veröffentlichen
         profile_directory: Profilverzeichnis aktivieren
         registrations_mode: Wer darf ein neues Konto registrieren?
         require_invite_text: Begründung für Beitritt verlangen
diff --git a/config/locales/simple_form.et.yml b/config/locales/simple_form.et.yml
index 8b7dace23..83aa4159d 100644
--- a/config/locales/simple_form.et.yml
+++ b/config/locales/simple_form.et.yml
@@ -30,7 +30,7 @@ et:
       appeal:
         text: Otsust on võimalik vaidlustada vaid 1 kord
       defaults:
-        autofollow: Inimesed, kes loovad konto selle kutse läbi, automaatselt jälgivad Teid
+        autofollow: Inimesed, kes loovad konto selle kutse läbi, automaatselt jälgivad sind
         avatar: PNG, GIF või JPG. Kõige rohkem %{size}. Vähendatakse %{dimensions} pikslini
         bot: Teavita teisi, et see konto teeb enamjaolt automatiseeritud tegevusi ja ei pruugi olla järelvalve all
         context: Üks või mitu konteksti, mille vastu see filter peaks rakenduma
@@ -54,7 +54,7 @@ et:
         setting_display_media_default: Peida tundlikuks märgitud meedia
         setting_display_media_hide_all: Alati peida kõik meedia
         setting_display_media_show_all: Alati näita tundlikuks märgistatud meedia
-        setting_hide_network: Profiilil ei kuvata Keda sa jälgid ja kes jälgib sind
+        setting_hide_network: Profiilil ei kuvata, keda sa jälgid ja kes sind jälgib
         setting_noindex: Mõjutab avalikku profiili ja postituste lehekülgi
         setting_show_application: Postitamiseks kasutatud rakenduse infot kuvatakse postituse üksikasjavaates
         setting_use_blurhash: Värvid põhinevad peidetud visuaalidel, kuid hägustavad igasuguseid detaile
@@ -281,8 +281,8 @@ et:
         digest: Saada ülevaatlike e-kirju
         favourite: Saada e-kiri, kui keegi lisab su postituse lemmikuks
         follow: Saada e-kiri, kui keegi alustab jälgimist
-        follow_request: Saada e-kiri, kui keegi soovib Teid jälgida
-        mention: Saada e-kiri, kui keegi mainib Teid
+        follow_request: Saada e-kiri, kui keegi soovib sind jälgida
+        mention: Saada e-kiri, kui keegi mainib sind
         pending_account: Saada e-kiri, kui uus konto vajab ülevaatlust
         reblog: Keegi jagas postitust
         report: Esitatud on uus raport
diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml
index f22ba7a98..ac5e0a8ce 100644
--- a/config/locales/simple_form.fi.yml
+++ b/config/locales/simple_form.fi.yml
@@ -8,7 +8,7 @@ fi:
         acct: Määrittele käyttäjän käyttäjänimi@verkkotunnus, johon haluat siirtyä
       account_warning_preset:
         text: Voit käyttää julkaisun syntaksia, kuten URL-osoitteita, aihetunnisteita ja mainintoja
-        title: Vapaaehtoinen. Ei näytetä vastaanottajalle
+        title: Valinnainen. Ei näy vastaanottajalle
       admin_account_action:
         include_statuses: Käyttäjä näkee mitkä viestit johtivat toimenpiteeseen tai varoitukseen
         send_email_notification: Käyttäjä saa selityksen mitä tapahtui hänen tililleen
@@ -67,7 +67,7 @@ fi:
         domain: Tämä voi olla se verkkotunnus, joka näkyy sähköpostiosoitteessa tai MX tietueessa jota se käyttää. Ne tarkistetaan rekisteröitymisen yhteydessä.
         with_dns_records: Annetun verkkotunnuksen DNS-tietueet yritetään ratkaista ja tulokset myös estetään
       featured_tag:
-        name: 'Tässä muutamia aihetunnisteita, joita käytit viime aikoina:'
+        name: 'Tässä muutamia hiljattain käyttämiäsi aihetunnisteita:'
       filters:
         action: Valitse, mikä toiminto suoritetaan, kun viesti vastaa suodatinta
         actions:
diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml
index 294fc548b..1d63fb631 100644
--- a/config/locales/simple_form.ko.yml
+++ b/config/locales/simple_form.ko.yml
@@ -167,7 +167,7 @@ ko:
       defaults:
         autofollow: 초대를 통한 팔로우
         avatar: 아바타
-        bot: 이것은 봇 계정입니다
+        bot: 이것은 자동화된 계정입니다
         chosen_languages: 언어 필터링
         confirm_new_password: 암호 다시 입력
         confirm_password: 암호 다시 입력
@@ -187,7 +187,7 @@ ko:
         locked: 팔로우 요청 필요
         max_uses: 사용 횟수 제한
         new_password: 새로운 암호 입력
-        note: 자기소개
+        note: 소개
         otp_attempt: 이중 인증 코드
         password: 암호
         phrase: 키워드 또는 문장
@@ -214,7 +214,7 @@ ko:
         setting_system_font_ui: 시스템의 기본 글꼴을 사용
         setting_theme: 사이트 테마
         setting_trends: 오늘의 유행 보이기
-        setting_unfollow_modal: 언팔로우 전 언팔로우 확인 표시
+        setting_unfollow_modal: 누군가를 언팔로우 할 때 확인란 표시하기
         setting_use_blurhash: 숨겨진 미디어에 대해 그라디언트 표시
         setting_use_pending_items: 느린 모드
         severity: 심각도
diff --git a/config/locales/simple_form.my.yml b/config/locales/simple_form.my.yml
index 8a1cefc94..44a40e486 100644
--- a/config/locales/simple_form.my.yml
+++ b/config/locales/simple_form.my.yml
@@ -2,40 +2,125 @@
 my:
   simple_form:
     hints:
+      account_alias:
+        acct: သင်ပြောင်းရွှေ့လိုသောအကောင့်၏ username@domain ကိုသတ်မှတ်ပါ
+      account_warning_preset:
+        text: URLs၊ hashtags နှင့် mentions များကဲ့သို့ ပို့စ်ကို သုံးနိုင်သည်
+      admin_account_action:
+        include_statuses: အသုံးပြုသူသည် မည်သည့်ပို့စ်များမှာ စိစစ်ထားခြင်း သို့မဟုတ် သတိပေးထားခြင်းဖြစ်စေသည်ကို တွေ့မြင်နိုင်ပါသည်
+        send_email_notification: အသုံးပြုသူသည် ၎င်းတို့၏အကောင့်နှင့် ဖြစ်ပျက်ခဲ့သော ရှင်းလင်းချက်ကို လက်ခံရရှိမည်ဖြစ်သည်
+        type_html: "<strong>%{acct}</strong> နှင့် ဘာလုပ်ရမည်ကို ရွေးပါ။"
+      announcement:
+        scheduled_at: ကြေညာချက်ချက်ချင်းထုတ်ပြန်ရန်အတွက် နေရာလွတ်ချန်ထားပါ
       defaults:
+        autofollow: ဖိတ်ကြားချက်မှတစ်ဆင့် အကောင့်ဖွင့်သူများမှာ သင့်ကို အလိုအလျောက်စောင့်ကြည့်မည်ဖြစ်ပါသည်
+        avatar: PNG၊ GIF သို့မဟုတ် JPG။ အများဆုံး %{size}။ %{dimensions}px သို့ လျှော့ချပါမည်။
+        bot: အကောင့်သည် အဓိကအားဖြင့် အလိုအလျောက် လုပ်ဆောင်ချက်များ ဆောင်ရွက်နိုင်ပြီး စောင့်ကြည့်ခြင်းမပြုနိုင်ကြောင်း အခြားသူများအား အသိပေးပါ
+        context: စစ်ထုတ်သင့်သည့် အကြောင်းအရာ တစ်ခု သို့မဟုတ် များစွာ
+        current_password: လုံခြုံရေးအတွက် ကျေးဇူးပြုပြီး လက်ရှိအကောင့်၏ စကားဝှက်ကို ထည့်ပါ
+        current_username: အတည်ပြုရန်အတွက် လက်ရှိအကောင့်၏ အသုံးပြုသူအမည်ကို ရိုက်ထည့်ပါ
+        digest: အချိန်အတော်ကြာ အသုံးမပြုသည့်သည့်နောက်တွင်သာ ပေးပို့ပြီး အသုံးမပြုသည့်ကာလအတွင်း ကိုယ်ရေးကိုယ်တာစာများသာ လက်ခံရန်
+        discoverable: အကြံပြုချက်များ၊ လက်ရှိခေတ်စားနေသောပို့စ်များနှင့် အခြားအကြောင်းအရာများမှတစ်ဆင့် သင့်အကောင့်ကို တခြားသူများက တွေ့ရှိနိုင်စေရန် ခွင့်ပြုပါ။
+        email: သင့်ထံ အတည်ပြုချက်အီးမေးလ်တစ်စောင် ပေးပို့ပါမည်
+        fields: သင့်ပရိုဖိုင်တွင် ၄ ခုအထိ ပြသထားနိုင်သည်
+        header: PNG၊ GIF သို့မဟုတ် JPG။ အများဆုံး %{size}။ %{dimensions}px သို့ လျှော့ချပါမည်
+        inbox_url: သင်အသုံးပြုလိုသော relay ၏ ရှေ့စာမျက်နှာမှ URL ကို ကူးယူပါ
+        locale: အသုံးပြုသူမှ လက်ရှိသုံးနေသည့်ဘာသာစကား၊ အီးမေးလ်များနှင့် ရရှိစေရန်ပေးပို့သည့် အသိပေးချက်များ
+        locked: စောင့်ကြည့်ရန်အတွက် တောင်းဆိုမှုများကို အတည်ပြုခြင်းဖြင့် စောင့်ကြည့်သူများကို ထိန်းချုပ်နိုင်သည်
         password: အနည်းဆုံး စာလုံး ၈ လုံး အသုံးပြုပါ။
+        setting_aggregate_reblogs: မကြာသေးခင်က Boost လုပ်ထားသောပို့စ်များအတွက် Boost  အသစ်များကို မပြပါနှင့် (အသစ်ရရှိထားသော Boost များကိုသာ ပြသပါရန်)
+        setting_always_send_emails: Mastodon ကို လက်ရှိအသုံးပြုနေချိန်တွင် ပုံမှန်အားဖြင့် အီးမေးလ်အသိပေးချက်များကို ပေးပို့မည်မဟုတ်ပါ
+        setting_default_sensitive: သတိထားရသောမီဒီယာကို မူလအားဖြင့် ဖျောက်ထားနိုင်ပြီး ကလစ်တစ်ချက်နှိပ်ရုံဖြင့် ပြန်လည်ဖော်ပြနိုင်သည်
+        setting_display_media_default: သတိထားရသောမီဒီယာအဖြစ် သတ်မှတ်ထားမှုအား ဖျောက်ပါ
         setting_display_media_hide_all: မီဒီယာကို အမြဲတမ်းဖျောက်ထားပါ
         setting_display_media_show_all: မီဒီယာကို အမြဲတမ်းပြပါ
         setting_hide_network: သင်စောင့်ကြည့်မည့်သူများနှင့် သင့်ကိုစောင့်ကြည့်မည့်သူများကို သင့်ပရိုဖိုင်တွင် ဖျောက်ထားနိုင်ပါသည်
         setting_noindex: သင်၏ အများမြင်သည့်ပရိုဖိုင်နှင့် ပို့စ်စာမျက်နှာများကို အကျိုးသက်ရောက်သည်
         setting_show_application: ပို့စ်တင်ရန်အတွက် သင်အသုံးပြုသည့် အက်ပလီကေးရှင်းကို သင့်ပို့စ်များ၏ အသေးစိတ်ကြည့်ရှုမှုတွင် ပြသမည်ဖြစ်သည်
+        username: "%{domain} ရှိ သင့်အသုံးပြုသူအမည်မှာ တူညီ၍မရပါ"
+      email_domain_block:
+        domain: "၎င်းမှာ အီးမေးလ်လိပ်စာ သို့မဟုတ် အသုံးပြုသည့် MX မှတ်တမ်းတွင် ပေါ်လာသည့် ဒိုမိန်းအမည် ဖြစ်နိုင်သည်။ အကောင့်ဖွင့်ပြီးပါက စစ်ဆေးနိုင်မည်ဖြစ်သည်။"
+      featured_tag:
+        name: ဤသည်မှာ သင်မကြာသေးမီက အသုံးပြုခဲ့သော hashtag အချို့ဖြစ်သည် -
+      filters:
+        action: ပို့စ်တစ်ခုသည် စစ်ထုတ်မှုနှင့် ကိုက်ညီချိန်တွင် မည်သည့်လုပ်ဆောင်ချက် ဆောင်ရွက်မည်ကို ရွေးချယ်ပါ
+        actions:
+          warn: စစ်ထုတ်မှုခေါင်းစဉ်ကိုဖော်ပြသည့်သတိပေးချက်နောက်တွင် စစ်ထုတ်ထားသောအကြောင်းအရာကို ဖျောက်ထားပါ
+      form_admin_settings:
+        activity_api_enabled: အပတ်စဉ် စာရင်းများတွင် ဒေသတွင်းတင်ထားသောပို့စ်များ၊ လက်ရှိအသုံးပြုသူများနှင့် စာရင်းသွင်းမှုအသစ်များ
+        backups_retention_period: သတ်မှတ်ထားသော ရက်အရေအတွက်အလိုက် အသုံးပြုသူမှတ်တမ်းများကို သိမ်းဆည်းပါ။
+        bootstrap_timeline_accounts: ဤအကောင့်များကို အသုံးပြုသူအသစ်များ၏ စောင့်ကြည့်မှု အကြံပြုချက်များ၏ထိပ်ဆုံးတွင် ပင်ချိတ်ထားပါမည်။
+        closed_registrations_message: အကောင့်ဖွင့်ခြင်းများကို ပိတ်ထားသည့်အခါတွင် ပြသထားသည်
+        custom_css: Mastodon ဝဘ်ဗားရှင်းတွင် စိတ်ကြိုက်စတိုင်များကို အသုံးပြုနိုင်ပါသည်။
+        site_contact_username: Mastodon တွင် အခြားသူများက သင့်ကို မည်သို့သိရှိနိုင်မည်နည်း။
+        site_extended_description: ဝင်ရောက်ကြည့်ရှုသူများနှင့် အသုံးပြုသူများအတွက် အသုံးဝင်မည့် နောက်ထပ်အချက်အလက်များကို Markdown စာကြောင်းများဖြင့် ရေးသားနိုင်သည်။
+        site_terms: သင့်ကိုယ်ပိုင် ကိုယ်ရေးအချက်အလက်မူဝါဒကို အသုံးပြုပါ သို့မဟုတ် မူလသတ်မှတ်ချက်ကို အသုံးပြုရန်အတွက် ကွက်လပ်ထားပါ။ Markdown စာများဖြင့် ရေးသားနိုင်သည်။
+        status_page_url: ပြတ်တောက်နေစဉ်အတွင်း လူများက ဤဆာဗာအခြေအနေကို မြင်နိုင်မည့် စာမျက်နှာ URL
+        theme: အကောင့်မှထွက်ပြီး အသုံးပြုသူအသစ်များနှင့် ဝင်ကြည့်မည့်သူများအတွက် မြင်ရမည့်ပုံစံ။
+        timeline_preview: အကောင့်မှထွက်ထားသူများသည် ဆာဗာပေါ်ရှိ လတ်တလော အများမြင်ပို့စ်များကို ရှာဖွေကြည့်ရှုနိုင်မည်ဖြစ်သည်။
+        trends: လက်ရှိခေတ်စားနေသာပို့စ်များ၊ hashtag များနှင့် သတင်းဇာတ်လမ်းများကို သင့်ဆာဗာပေါ်တွင် တွေ့မြင်နိုင်ပါမည်။
+        trends_as_landing_page: ဤဆာဗာဖော်ပြချက်အစား အကောင့်မှ ထွက်ထားသူများနှင့် ဝင်ရောက်ကြည့်ရှုသူများအတွက် ခေတ်စားနေသော အကြောင်းအရာများကို ပြသပါ။ ခေတ်စားနေသောပို့စ်များကို ဖွင့်ထားရန် လိုအပ်သည်။
+      form_challenge:
+        current_password: သင်သည် လုံခြုံသောနေရာသို့ ဝင်ရောက်နေပါသည်
       imports:
         data: အခြား Mastodon ဆာဗာမှ CSV ဖိုင်ကို ပို့ထားသည်
       invite_request:
         text: "၎င်းသည် သင့်အက်ပလီကေးရှင်းကို ပြန်လည်သုံးသပ်ရန်အတွက် ကူညီပေးနိုင်ပါသည်"
       ip_block:
+        comment: ရွေးချယ်ခွင့်ရှိသည်။ ဤစည်းမျဉ်းကို ဘာကြောင့်ထည့်ခဲ့တာလဲဆိုတာ သတိရပါ။
         severities:
+          no_access: အရင်းအမြစ်များအားလုံးသို့ ဝင်ရောက်ခွင့်ကို ပိတ်ပါ
+          sign_up_block: အကောင့်အသစ်များ မဖွင့်နိုင်တော့ပါ
           sign_up_requires_approval: အကောင့်အသစ်များသည် သင့်ခွင့်ပြုချက်လိုအပ်ပါသည်
+        severity: ဤ IP မှ တောင်းဆိုမှုများဖြင့် ဖြစ်ပေါ်လာမည့်အရာ ရွေးချယ်ပါ
+      rule:
+        text: ဤဆာဗာအသုံးပြုသူများအတွက် စည်းမျဉ်း သို့မဟုတ် လိုအပ်ချက် ဖော်ပြပါ။ လိုရင်းတိုရှင်းဖြစ်ပါစေ။
       sessions:
         otp: သင့်ဖုန်းအက်ပ်မှထုတ်ပေးသောနှစ်ဆင့်ခံလုံခြုံရေးကုဒ်ကို ထည့်ပါ သို့မဟုတ် ပြန်လည်ရယူရေးကုဒ်များထဲမှ တစ်ခုကို အသုံးပြုပါ -
+        webauthn: USB ကီးဖြစ်ပါက ထည့်သွင်းပါ။ လိုအပ်ပါက နှိပ်ပါ။
+      tag:
+        name: ဥပမာအားဖြင့် စာလုံးများကို ပိုမိုဖတ်ရှုနိုင်စေရန်မှာ သင်သာ ပြောင်းလဲနိုင်သည်။
+      user:
+        chosen_languages: အမှန်ခြစ် ရွေးချယ်ထားသော ဘာသာစကားများဖြင့်သာ ပို့စ်များကို အများမြင်စာမျက်နှာတွင် ပြသပါမည်
+        role: အသုံးပြုသူ၏ ခွင့်ပြုချက်ကဏ္ဍကို ထိန်းချုပ်ထားသည်
+      user_role:
+        color: hex ပုံစံ RGB အဖြစ် UI တစ်လျှောက်လုံး အခန်းကဏ္ဍအတွက် အသုံးပြုရမည့်အရောင်
+        highlighted: ယင်းက အခန်းကဏ္ဍကို အများမြင်အောင် ဖွင့်ပေးထားသည်။
+        name: အကယ်၍ အခန်းကဏ္ဍကို သင်္ကေတတစ်ခုအဖြစ်ပြသရန် သတ်မှတ်ထားပါက အခန်းကဏ္ဍကို အများမြင်မည့်အမည်
+        permissions_as_keys: ဤအခန်းကဏ္ဍဖြင့် အသုံးပြုသူများသာ အသုံးပြုခွင့်ရှိပါမည်...
+      webhook:
+        events: ပို့မည့်အကြောင်းအရာများကို ရွေးချယ်ပါ
+        url: အကြောင်းအရာများကို ဘယ်ကို ပို့မလဲ။
     labels:
       account:
         fields:
+          name: အညွှန်း
           value: အကြောင်းအရာ
       account_alias:
         acct: အကောင့်ဟောင်းကို ကိုင်တွယ်ပါ။
       account_migration:
         acct: အကောင့်သစ်ကို ကိုင်တွယ်ပါ။
       account_warning_preset:
+        text: ကြိုရေးထားသောစာ
         title: ခေါင်းစဥ်
       admin_account_action:
+        include_statuses: အီးမေးလ်တွင် တိုင်ကြားထားသောပို့စ်များကို ထည့်သွင်းပါ
+        send_email_notification: အသုံးပြုသူတစ်ယောက်တွင် အီးမေးလ်တစ်ခုသာ အသုံးပြုရပါမည်
+        text: စိတ်ကြိုက်သတိပေးချက်
         type: လုပ်ဆောင်ချက်
         types:
           none: သတိပေးချက်ပေးပို့ပါ
+          sensitive: သတိထားရသော
           silence: ကန့်သတ်
+          suspend: ရပ်ဆိုင်းရန်
+        warning_preset_id: ကြိုတင်သတိပေးချက်ကို အသုံးပြုပါ
       announcement:
+        all_day: တစ်နေ့တာလုပ်ငန်းစဉ်
+        ends_at: အကြောင်းအရာ၏အဆုံး
+        starts_at: အကြောင်းအရာ၏အစ
         text: ကြေညာချက်
       defaults:
+        autofollow: သင့်အကောင့်စောင့်ကြည့်ရန် ဖိတ်ခေါ်ပါ
         avatar: ကိုယ်စားပြုရုပ်ပုံ
         bot: ဤသည်မှာ ဘော့တ်အကောင့်တစ်ခုဖြစ်သည်။
         chosen_languages: ဘာသာစကားများကို စစ်ထုတ်ထားခြင်း
@@ -44,42 +129,82 @@ my:
         context: အကြောင်းအရာများကို စစ်ထုတ်ပါ။
         current_password: လက်ရှိစကားဝှက်
         data: အချက်အလက်
+        discoverable: အကောင့်ကို အခြားသူများအား အကြံပြုပါ
         display_name: ဖော်ပြမည့်အမည်
         email: အီးမေးလ်လိပ်စာ
+        expires_in: သက်တမ်းကုန်ဆုံးမည့်ရက်
         header: မျက်နှာဖုံးပုံ
         honeypot: "%{label} (မဖြည့်ပါနှင့်)"
+        locale: ဘာသာစကား
+        locked: စောင့်ကြည့်တောင်းဆိုမှုများ လိုအပ်သည်
+        max_uses: အများဆုံးအသုံးပြုမှုအရေအတွက်
         new_password: စကားဝှက်အသစ်
         note: ကိုယ်ရေးအကျဉ်း
         otp_attempt: နှစ်ဆင့်ခံလုံခြုံရေးကုဒ်
         password: စကားဝှက်
         phrase: အဓိကစကားလုံး သို့မဟုတ် စကားစု
+        setting_advanced_layout: အဆင့်မြှင့်ထားသည့်ဝဘ်ကို ဖွင့်ပါ
+        setting_aggregate_reblogs: စာမျက်နှာများရှိ အဖွဲ့လိုက် Boost များ
         setting_always_send_emails: အီးမေးလ်သတိပေးချက်များကို အမြဲပို့ပါ
         setting_auto_play_gif: ကာတွန်း GIF များကို အလိုအလျောက်ဖွင့်ပါ
+        setting_boost_modal: Boost မလုပ်မီ အတည်ပြုချက်ပြပါ
+        setting_default_language: ပို့စ်တင်မည့်ဘာသာစကား
+        setting_default_privacy: ပို့စ်ကို ဘယ်သူမြင်နိုင်မလဲ
+        setting_default_sensitive: သတိထားရသောမီဒီယာအဖြစ် အမြဲအမှတ်အသားပြုပါ
+        setting_delete_modal: ပို့စ်တစ်ခုမဖျက်မီ အတည်ပြုချက်ပြပါ။
         setting_display_media: မီဒီယာဖော်ပြမှု
+        setting_display_media_default: မူလသတ်မှတ်ချက်
         setting_display_media_hide_all: အားလုံးကို ဖျောက်ပါ
         setting_display_media_show_all: အားလုံးပြရန်
+        setting_expand_spoilers: အကြောင်းအရာသတိပေးချက်များဖြင့် အမှတ်အသားပြုထားသော ပို့စ်များကို အမြဲချဲ့ပါ
+        setting_hide_network: သင့် Social Graph ကို ဖျောက်ထားပါ
+        setting_noindex: ရှာဖွေရေးအညွှန်းမှ ဖယ်ထုတ်ပါ
+        setting_show_application: ပို့စ်များ ပေးပို့ရာတွင် အသုံးပြုသည့် အက်ပလီကေးရှင်း
         setting_system_font_ui: စနစ်ရှိ နဂိုမူလ စာလုံးပုံစံကို အသုံးပြုပါ
+        setting_theme: ဆိုက်အပြင်အဆင်
         setting_trends: ယနေ့ ရေပန်းစားသည်များကို ပြပါ
         setting_unfollow_modal: တစ်စုံတစ်ဦးကို မစောင့်ကြည့်မီ အတည်ပြုချက် ဒိုင်ယာလော့ခ်ကို ပြပါ
+        setting_use_pending_items: အနှေးပြကွက်
         sign_in_token_attempt: လုံခြုံရေးကုဒ်
         title: ခေါင်းစဥ်
+        type: ထည့်သွင်းမှုအမျိုးအစား
         username: အသုံးပြုသူအမည်
         username_or_email: အသုံးပြုသူအမည် သို့မဟုတ် အီးမေးလ်
+        whole_word: စကားလုံးဖြင့်သာ
+      email_domain_block:
+        with_dns_records: ဒိုမိန်း၏ MX မှတ်တမ်းများနှင့် IP များ ထည့်သွင်းပါ
       featured_tag:
         name: Hashtag
+      filters:
+        actions:
+          hide: လုံးဝဖျောက်ထားပါ
+          warn: သတိပေးချက်ဖြင့် ဖျောက်ပါ
       form_admin_settings:
+        backups_retention_period: အသုံးပြုသူ၏ မှတ်တမ်းကာလ
+        bootstrap_timeline_accounts: ဤအကောင့်များကို အသုံးပြုသူအသစ်များအတွက် အကြံပြုပေးပါ
+        closed_registrations_message: အကောင့်ဖွင့်ခြင်းများ မရတော့သောအခါ စိတ်ကြိုက်မက်ဆေ့ချ်ပို့ခြင်း
+        content_cache_retention_period: အကြောင်းအရာ ကက်ရှ်ထိန်းသိမ်းသည့်ကာလ
         custom_css: စိတ်ကြိုက်ပြုလုပ်ထားသော CSS
         mascot: စိတ်ကြိုက်ပြုလုပ်ထားသော mascot (legacy)
+        media_cache_retention_period: မီဒီယာကက်ရှ် ထိန်းသိမ်းသည့်ကာလ
+        peers_api_enabled: API တွင် ရှာဖွေတွေ့ရှိထားသော ဆာဗာများစာရင်းကို ထုတ်ပြန်ပါ
+        profile_directory: ပရိုဖိုင်လမ်းညွှန်ကို ဖွင့်ပါ
         registrations_mode: ဘယ်သူတွေ အကောင့်ဖွင့်နိုင်မလဲ
         require_invite_text: ပါဝင်ရန် အကြောင်းပြချက်တစ်ခု လိုအပ်ပါသည်
         show_domain_blocks: ဒိုမိန်းပိတ်ပင်ထားမှုများကိုပြရန်
         show_domain_blocks_rationale: ဒိုမိန်းများကို ဘာကြောင့် ပိတ်ဆို့ထားရကြောင်း ပြရန်
         site_contact_email: ဆက်သွယ်ရမည့် အီးမေးလ်
         site_contact_username: ဆက်သွယ်ရမည့် အသုံးပြုသူအမည်
+        site_extended_description: တိုးချဲ့ဖော်ပြချက်
         site_short_description: ဆာဗာဖော်ပြချက်
         site_terms: ကိုယ်ရေးအချက်အလက်မူဝါဒ
         site_title: ဆာဗာအမည်
+        status_page_url: အခြေအနေပြစာမျက်နှာ URL
+        theme: မူလသတ်မှတ်ထားသည့် အပြင်အဆင်
         thumbnail: ဆာဗာ ပုံသေး
+        timeline_preview: အများမြင်စာမျက်နှာများသို့ အထောက်အထားမရှိဘဲ ဝင်ရောက်ခွင့်ပြုပါ
+        trendable_by_default: ကြိုမသုံးသပ်ဘဲ ခေတ်စားနေသောအကြောင်းအရာများကို ခွင့်ပြုပါ
+        trends: လက်ရှိခေတ်စားနေမှုများကိုပြပါ
       interactions:
         must_be_follower: စောင့်ကြည့်မနေသူများထံမှ အသိပေးချက်များကို ပိတ်ပါ
         must_be_following: သင် စောင့်ကြည့်မထားသူများထံမှ အသိပေးချက်များကို ပိတ်ပါ
@@ -92,26 +217,42 @@ my:
         comment: မှတ်ချက်
         ip: IP
         severities:
+          no_access: ဝင်ရောက်ခွင့်ကို ပိတ်ပါ
           sign_up_block: အကောင့်ဖွင့်ခြင်းများကို ပိတ်ပါ
           sign_up_requires_approval: အကောင့်ဖွင့်ခြင်းများကို ကန့်သတ်ပါ
         severity: စည်းမျဉ်း
       notification_emails:
+        appeal: တစ်စုံတစ်ယောက်က စိစစ်ဆုံးဖြတ်ခြင်းကို တောင်းခံနေသည်
+        digest: အီးမေးလ်အကျဉ်းချုပ်များပို့ရန်
         favourite: တစ်စုံတစ်ဦးက သင့်ပို့စ်ကို နှစ်သက်ခဲ့သည်။
         follow: တစ်စုံတစ်ဦးက သင့်ကို စောင့်ကြည့်ခဲ့သည်
         follow_request: တစ်စုံတစ်ဦးက သင့်ကို စောင့်ကြည့်ရန် တောင်းဆိုခဲ့သည်
         mention: တစ်စုံတစ်ဦးက သင့်ကို ဖော်ပြခဲ့သည်
         pending_account: အကောင့်အသစ်ကို ပြန်လည်သုံးသပ်ရန် လိုအပ်သည်
+        reblog: တစ်ယောက်က သင့်ပို့စ်ကို Boost လုပ်ခဲ့သည်
+        report: အစီရင်ခံစာအသစ် တင်သွင်းထားသည်
+        trending_tag: လက်ရှိခေတ်စားနေသောပို့စ်များကို ပြန်လည်သုံးသပ်ရန် လိုသည်
       rule:
         text: စည်းမျဉ်း
       tag:
+        listable: ရှာဖွေမှုများနှင့် အကြံပြုချက်များတွင် ဤ hashtag ပေါ်လာစေရန် ခွင့်ပြုပါ
         name: Hashtag
+        trendable: ခေတ်စားနေသောအကြောင်းအရာများအောက်တွင် ဤ hashtag ပေါ်လာစေရန် ခွင့်ပြုပါ
+        usable: ပို့စ်များကို ဤ hashtag သုံးခွင့်ပြုပါ
       user:
         role: အခန်းကဏ္ဍ
       user_role:
+        color: သင်္ကေတအရောင်
+        highlighted: အသုံးပြုသူပရိုဖိုင်များတွင် သင်္ကေတအဖြစ် အခန်းကဏ္ဍကို ပြသပါ
         name: အမည်
         permissions_as_keys: ခွင့်ပြုချက်များ
         position: ဦးစားပေး
+      webhook:
+        events: အကြောင်းအရာများကဏ္ဍကို ဖွင့်ထားသည်
+        url: URL ဆုံးမှတ်
     'no': မလုပ်ပါ
+    not_recommended: ထောက်ခံထားမှုမရှိ
+    recommended: ထောက်ခံထားပြီး
     required:
       mark: "*"
       text: လိုအပ်သော
diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml
index 92578cfd7..ddc1a0d21 100644
--- a/config/locales/simple_form.pt-BR.yml
+++ b/config/locales/simple_form.pt-BR.yml
@@ -257,6 +257,7 @@ pt-BR:
         timeline_preview: Permitir acesso não autenticado às linhas do tempo públicas
         trendable_by_default: Permitir tendências sem revisão prévia
         trends: Habilitar tendências
+        trends_as_landing_page: Usar tendências como página inicial
       interactions:
         must_be_follower: Bloquear notificações de não-seguidores
         must_be_following: Bloquear notificações de não-seguidos
diff --git a/config/locales/simple_form.sr-Latn.yml b/config/locales/simple_form.sr-Latn.yml
index 2f45b6357..e987145c1 100644
--- a/config/locales/simple_form.sr-Latn.yml
+++ b/config/locales/simple_form.sr-Latn.yml
@@ -3,122 +3,128 @@ sr-Latn:
   simple_form:
     hints:
       account_alias:
-        acct: Navedi korisničko_ime@domen naloga sa kojeg želiš da pređeš
+        acct: Navedite korisničko_ime@domen naloga sa kojeg želite da se preselite
       account_migration:
-        acct: Navedi korisničko_ime@domen naloga na koji želiš da pređeš
+        acct: Navedite korisničko_ime@domen naloga na koji želite da se preselite
       account_warning_preset:
-        text: Možete koristiti sintaksu truba, kao što su npr. URL-ova, tarabe i pominjanja
+        text: Možete koristiti sintaksu objava, kao što su URL adrese, heš oznake i pominjanja
         title: Opciono. Nije vidljivo primaocu
       admin_account_action:
-        include_statuses: Korisnik će videti koje su objave prouzrokovale moderiranje ili upozorenje
-        send_email_notification: Korisnik će dobiti objašnjenje toga šta mu se desilo sa naloga
-        text_html: Opcionalno. Možete koristiti sintaksu truba. Možete <a href="%{path}">dodati upozoravajuća prepodešavanje</a> da sačuvate vreme
+        include_statuses: Korisnik će videti koje su objave prouzrokovale moderacijsku radnju ili upozorenje
+        send_email_notification: Korisnik će dobiti objašnjenje toga šta mu se desilo sa nalogom
+        text_html: Opcionalno. Možete koristiti sintaksu objava. Možete <a href="%{path}">dodati unapred određene postavke upozorenja</a> za uštedu vremena
         type_html: Izaberite šta da radite sa <strong>%{acct}</strong>
         types:
-          disable: Spreči korisnika da koristi svoj nalog, ali nemoj brisati ili sakrivati njegov sadržaj.
-          none: Koristi ovo da pošalješ upozorenje korisniku, bez pokretanja bilo koje druge akcije.
+          disable: Sprečava korisnika da koristi svoj nalog, ali ne briše niti sakriva njegove sadržaje.
+          none: Koristite ovo da pošaljete upozorenje korisniku bez pokretanja bilo koje druge radnje.
           sensitive: Učini da svi medijski prilozi ovog korisnika prisilno budu označeni kao osetljivi.
+          silence: Sprečava korisnika da pravi javne objave, sakriva njegove objave i obaveštenja od ljudi koji ga ne prate. Zatvara sve prijave podnete protiv ovog naloga.
+          suspend: Sprečava svu interakciju od ovog naloga i ka ovom nalogu i briše njegov sadržaj. Opozivo u roku od 30 dana. Zatvara sve prijave podnete protiv ovog naloga.
         warning_preset_id: Opcionalno. Možete i dalje dodati prilagođeni tekst na kraj preseta
       announcement:
-        all_day: Biće prikazani samo datumi vremenskog opsega koji su označeni
+        all_day: Kada je ova opcija označena, samo datumi iz vremenskog opsega će biti prikazani
         ends_at: Opciono. Objava će biti automatski opozvana u ovom trenutku
-        scheduled_at: Ostavi prazno da bi najava bila odmah objavljena
+        scheduled_at: Ostavite prazno da biste odmah objavili obaveštenje
         starts_at: Opciono. U slučaju da je najava vezana za određeni vremenski raspon
-        text: Možeš koristiti post sintaksu. Vodi računa o prostoru koji će objava zauzimati na ekranu korisnika
+        text: Možete koristiti sintaksu objava. Molimo Vas vodite računa o prostoru koji će objava zauzimati na ekranu korisnika
       appeal:
-        text: Na brisanje se možeš žaliti samo jednom
+        text: Možete podneti samo jednu žalbu na upisan prestup
       defaults:
         autofollow: Osobe koje se prijave kroz pozivnice će vas automatski zapratiti
-        avatar: PNG, GIF ili JPG. Najviše %{size}. Biće smanjena na %{dimensions}px
-        bot: Ovaj nalog uglavnom vrši automatizovane radnje i možda se ne nadgleda
+        avatar: PNG, GIF ili JPG. Najviše %{size}. Biće smanjeno na %{dimensions}px
+        bot: Daje drugima do znanja da ovaj nalog uglavnom vrši automatizovane radnje i možda se ne nadgleda
         context: Jedan ili više konteksta u kojima treba da se primeni filter
-        current_password: Unesi lozinku tekućeg naloga iz bezbednosnih razloga
-        current_username: Unesi korisničko ime tekućeg naloga za potvrdu
-        digest: Poslato posle dužeg perioda neaktivnosti sa pregledom svih bitnih stvari koje ste dobili dok ste bili odsutni
-        discoverable: Dozvoli nepoznatim korisnicima da otkriju tvoj nalog putem preporuka, trendova i drugih funkcija
-        email: Biće vam poslata e-pošta sa potvrdom
-        fields: Možete imati do 4 stavke prikazane kao tabela na vašem nalogu
-        header: PNG, GIF ili JPG. Najviše %{size}. Biće smanjena na %{dimensions}px
+        current_password: Iz bezbednosnih razloga molimo Vas unesite lozinku trenutnog naloga
+        current_username: Da biste potvrdili, Molimo Vas unesite korisničko ime trenutno aktivnog naloga
+        digest: Šalje se samo posle dužeg perioda neaktivnosti i samo u slučaju da ste primili jednu ili više ličnih poruka tokom Vašeg odsustva
+        discoverable: Dozvolite nepoznatim korisnicima da otkriju Vaš nalog putem preporuka, trendova i drugih funkcija
+        email: Biće Vam poslat mejl sa potvrdom
+        fields: Možete imati do 4 stavke prikazane kao tabela na svom profilu
+        header: PNG, GIF ili JPG. Najviše %{size}. Biće smanjeno na %{dimensions}px
         inbox_url: Kopirajte URL sa naslovne strane releja koji želite koristiti
-        irreversible: Filtrirane trube će nestati nepovratno, čak i ako je filter kasnije uklonjen
-        locale: Jezik korisničkog interfejsa, e-pošte i mobilnih obaveštenja
-        locked: Zahteva da pojedinačno odobrite pratioce
+        irreversible: Filtrirane obajve će nestati nepovratno, čak i ako je filter kasnije uklonjen
+        locale: Jezik korisničkog okruženja, e-pošte i mobilnih obaveštenja
+        locked: Kontrolišite ko može da Vas prati tako što ćete pojedinačno odobravati zahteve za praćenje
         password: Koristite najmanje 8 znakova
-        phrase: Biće uparena bez obzira na veliko ili malo slovo u tekstu ili upozorenja o sadržaju trube
-        scopes: Kojim API-jima će aplikacija dozvoliti pristup. Ako izaberete opseg najvišeg nivoa, ne morate odabrati pojedinačne.
-        setting_aggregate_reblogs: Ne pokazuj nova deljenja za trube koje su nedavno podeljene (utiče samo na nedavno primljena deljenja)
-        setting_always_send_emails: Obaveštenja e-poštom se po pravilu neće slati kada aktivno koristiš Mastodon
+        phrase: Biće uparena bez obzira na veliko ili malo slovo u tekstu ili upozorenja o sadržaju objave
+        scopes: Kojim API-jima će aplikacija imati pristup. Ako izaberete opseg najvišeg nivoa, ne morate odabrati pojedinačne.
+        setting_aggregate_reblogs: Ne prikazuj nova podržavanja za objave koje su nedavno podržane (utiče samo na nedavno primljena podržavanja)
+        setting_always_send_emails: Obaveštenja e-poštom se po pravilu neće slati kada aktivno koristite Mastodon
         setting_default_sensitive: Osetljivi mediji su podrazumevano skriveni i mogu se otkriti klikom
         setting_display_media_default: Sakrij medije označene kao osetljive
         setting_display_media_hide_all: Uvek sakrij sve medije
         setting_display_media_show_all: Uvek prikaži medije označene kao osetljive
-        setting_hide_network: Koga pratite i ko vas prati neće biti prikazano na vašem nalogu
-        setting_noindex: Utiče na Vaš javni nalog i statusne strane
-        setting_show_application: Aplikacija koju koristiš za objavljivanje biće prikazana u detaljnom prikazu tvojih objava
-        setting_use_blurhash: Gradijent se zasniva na bojama skrivenih vizuelnih prikaza, ali prikriva sve detalje
-        setting_use_pending_items: Sakrij ažuriranja vremenske ose iza klika umesto automatskog pomeranja izvora objava
+        setting_hide_network: Koga pratite i ko Vas prati neće biti prikazano na Vašem profilu
+        setting_noindex: Utiče na Vaš javni profil i stranice sa objavama
+        setting_show_application: Aplikacija koju koristite za objavljivanje će biti prikazana u detaljnom prikazu vaših objava
+        setting_use_blurhash: Gradijenti se formiraju na osnovu bojâ skrivenih slika i zamućuju prikaz, prikrivajući detalje
+        setting_use_pending_items: Sakriva ažuriranja vremenske linije iza klika umesto automatskog ažuriranja i pomeranja vremenske linije
         username: Vaš nadimak će biti jedinstven na %{domain}
-        whole_word: Kada je ključna reč ili fraza isključivo alfanumerička, biće primenjena samo ako se podudara sa celom reči
+        whole_word: Kada je ključna reč ili fraza isključivo alfanumerička, biće primenjena samo ako se podudara sa celom rečju
       domain_allow:
         domain: Ovaj domen će moći da preuzima podatke sa ovog servera i dolazni podaci sa njega će se obrađivati i čuvati
       email_domain_block:
         domain: Ovo može biti ime domena koje se pojavljuje u adresi e-pošte ili MX zapisa koji koristi. Oni će biti provereni prilikom registracije.
         with_dns_records: Biće učinjen pokušaj da se razreše DNS zapisi datog domena i rezultati će takođe biti blokirani
       featured_tag:
-        name: 'Evo nekih od heš oznaka koje ste nedavno koristili:'
+        name: 'Evo nekih od heš oznaka koje ste u prethodnom periodu često koristili:'
       filters:
-        action: Izaberi koju radnju treba izvršiti kada objava odgovara filteru
+        action: Izaberite koju radnju izvršiti kada objava odgovara filteru
         actions:
           hide: Potpuno sakrij filtrirani sadržaj, ponašajući se kao da ne postoji
           warn: Sakrij filtrirani sadržaj iza upozorenja u kome se navodi naziv filtera
       form_admin_settings:
+        activity_api_enabled: Brojevi lokalno postavljenih objava, aktivnih korisnika i novih registracija na nedeljnoj bazi
         backups_retention_period: Čuvaj generisane korisničke arhive navedeni broj dana.
         bootstrap_timeline_accounts: Ovi nalozi će biti zakačeni na vrh preporuka za praćenje novih korisnika.
-        closed_registrations_message: Prikazuje se kada su prijave zatvorene
+        closed_registrations_message: Prikazuje se kada su registracije zatvorene
         content_cache_retention_period: Kada se postavi na pozitivnu vrednost, objave sa drugih servera će biti izbrisane nakon navedenog broja dana. Ovo može biti nepovratno.
-        custom_css: Možeš da primeniš prilagođene stilove na veb verziji Mastodona.
-        mascot: Zamenjuje ilustraciju u naprednom veb interfejsu.
+        custom_css: Možete da primenite prilagođene stilove na veb verziji Mastodona.
+        mascot: Zamenjuje ilustraciju u naprednom veb okruženju.
         media_cache_retention_period: Kada se postavi na pozitivnu vrednost, preuzete medijske datoteke će biti izbrisane nakon navedenog broja dana, i ponovo preuzete na zahtev.
+        peers_api_enabled: Lista domena sa kojima se ovaj server susreo u fediverzumu. Ovde nisu sadržani podaci o tome da li se Vaš server federiše sa drugim serverima, već samo da Vaš server zna za njih. Ove informacije koriste servisi koji prikupljaju podatke i vode statistiku o federaciji u širem smislu.
         profile_directory: Direktorijum profila navodi sve korisnike koji su se opredelili da budu vidljivi.
-        require_invite_text: Kada registracije zahtevaju ručno odobrenje, postavi da unos teksta „Zašto želiš da se pridružiš?“ bude obavezan, a ne opcioni
-        site_contact_email: Kako korisnici mogu da te kontaktiraju za pravna pitanja ili pitanja u vezi podrške.
-        site_contact_username: Kako korisnici mogu da te kontaktiraju na Mastodonu.
-        site_extended_description: Bilo koja dodatna informacija koja može biti korisne posetiocima i tvojim korisnicima. Može se strukturirati pomoću Markdown sintakse.
-        site_short_description: Kratak opis pomoću koga se na jedinstven način identifikuje tvoj server. Ko ga održava, kome je namenjen?
-        site_terms: Koristi sopstvenu politiku privatnosti ili ostavi prazno da bi se koristila podrazumevana. Može se strukturirati pomoću Markdown sintakse.
-        site_title: Način na moji može da se pozove na tvoj server osim naziva njegovog domena.
+        require_invite_text: Kada registracije zahtevaju ručno odobrenje, postavite da odgovor na „Zašto želite da se pridružite?“ bude obavezan, a ne opcionalan
+        site_contact_email: Kako korisnici mogu da kontaktiraju sa Vama za pravna pitanja ili pitanja u vezi podrške.
+        site_contact_username: Kako korisnici mogu da kontaktiraju sa Vama na Mastodonu.
+        site_extended_description: Bilo kakve dodatne informacije koje mogu biti korisne posetiocima i Vašim korisnicima. Mogu se strukturirati pomoću Markdown sintakse.
+        site_short_description: Kratak opis pomoću koga se na jedinstven način identifikuje Vaš server. Ko ga održava, kome je namenjen?
+        site_terms: Koristite sopstvenu politiku privatnosti ili ostavite prazno da bi se koristila podrazumevana. Može se strukturirati pomoću Markdown sintakse.
+        site_title: Način na koji ljudi mogu da referišu na Vaš server osim naziva njegovog domena.
+        status_page_url: URL stranice gde ljudi mogu da vide status servera dok je server oboren
         theme: Tema koju vide posetioci koji nisu prijavljeni i novi korisnici.
-        thumbnail: Slika koja se približno 2:1 prikazuje pored informacija o tvom serveru.
+        thumbnail: Slika u razmeri od približno 2:1 koja se prikazuje pored informacija o Vašem serveru.
         timeline_preview: Posetioci koji nisu prijavljeni će moći da pregledaju najnovije javne objave dostupne na serveru.
         trendable_by_default: Preskoči ručni pregled sadržaja koji je u trendu. Pojedinačne stavke se nakon toga i dalje mogu ukloniti iz trendova.
-        trends: Trendovi pokazuju koje objave, heš oznake i vesti postaju sve popularniji na tvom serveru.
+        trends: Trendovi pokazuju koje objave, heš oznake i vesti postaju sve popularnije na Vašem serveru.
+        trends_as_landing_page: Prikaži sadržaj u trendu odjavljenim korisnicima i posetiocima umesto opisa ovog servera. Zahteva da trendovi budu omogućeni.
       form_challenge:
-        current_password: Ulaziš u bezbedno područje
+        current_password: Ulazite u bezbedno područje
       imports:
         data: CSV fajl izvezen sa druge Mastodont instance
       invite_request:
-        text: Ovo će nam pomoći da pregledamo tvoju prijavu
+        text: Ovo će nam pomoći da pregledamo Vašu prijavu
       ip_block:
-        comment: Opciono. Zapamti zašto si dodao ovo pravilo.
+        comment: Opciono. Zapamtite zašto ste dodali ovo pravilo.
         expires_in: IP adrese su ograničeni resurs, ponekad se dele i često menjaju korisnika. Zbog toga se IP blokovi na neograničeno vreme ne preporučuju.
-        ip: Unesi IPv4 ili IPv6 adresu. Možeš blokirati čitave opsege koristeći CIDR sintaksu. Vodi računa da sebe ne zaključaš!
+        ip: Unesite IPv4 ili IPv6 adresu. Možete blokirati čitave opsege koristeći CIDR sintaksu. Vodite računa da se ne zaključate!
         severities:
           no_access: Blokiraj pristup svim resursima
-          sign_up_block: Nove prijave neće biti moguće
-          sign_up_requires_approval: Nove prijave će zahtevati tvoje odobrenje
-        severity: Izaberi šta će se desiti sa zahtevima sa ove IP adrese
+          sign_up_block: Nove registracije neće biti moguće
+          sign_up_requires_approval: Nove registracije će zahtevati Vaše odobrenje
+        severity: Izaberite šta će se desiti sa zahtevima sa ove IP adrese
       rule:
-        text: Opiši pravilo ili zahtev za korisnike na ovom serveru. Potrudi se da opis bude kratak i jednostavan
+        text: Opišite pravilo ili uslov za korisnike na ovom serveru. Potrudite se da opis bude kratak i jednostavan
       sessions:
         otp: 'Unesite dvofaktorski kod sa Vašeg telefona ili koristite jedan od kodova za oporavak:'
-        webauthn: Ako je to USB ključ, obavezno ga ubaci i, ako je potrebno, pritisni ga.
+        webauthn: Ako je u pitanju USB ključ, obavezno ga ubacite i, ako je potrebno, pritisnite ga.
       tag:
-        name: Mogu se samo promeniti mala slova u velika, na primer, da bi bilo čitljivije
+        name: Mogu se samo promeniti mala slova u velika ili obrnuto, na primer, da bi bilo čitljivije
       user:
-        chosen_languages: Kada označite, trube u izabranim jezicima će se prikazati na javnoj vremenskoj liniji
+        chosen_languages: Kada je označeno, objave u izabranim jezicima će biti prikazane na javnoj vremenskoj liniji
         role: Uloga kontroliše koje dozvole korisnik ima
       user_role:
-        color: Boja koja će se koristiti za ulogu u celom korisničkom interfejsu, kao RGB, u heksadecimalnom formatu
+        color: Boja koja će se koristiti za ulogu u celom korisničkom okruženju, kao RGB u heksadecimalnom formatu
         highlighted: Ovo čini ulogu javno vidljivom
         name: Javni naziv uloge, ako je uloga podešena da se prikazuje kao značka
         permissions_as_keys: Korisnici sa ovom ulogom će imati pristup...
@@ -185,24 +191,24 @@ sr-Latn:
         otp_attempt: Dvofaktorski kod
         password: Lozinka
         phrase: Ključna reč ili fraza
-        setting_advanced_layout: Omogući napredni veb interfejs
+        setting_advanced_layout: Omogući napredno veb okruženje
         setting_aggregate_reblogs: Grupiši deljenja u vremenskim linijama
         setting_always_send_emails: Uvek šalji obaveštenja e-poštom
-        setting_auto_play_gif: Automatski puštaj animirane GIF-ove
+        setting_auto_play_gif: Automatski reprodukuj animirane GIF-ove
         setting_boost_modal: Prikaži dijalog za potvrdu pre davanja podrške
         setting_crop_images: Izreži slike u neproširenim objavama na 16x9
         setting_default_language: Jezik objavljivanja
         setting_default_privacy: Privatnost objava
         setting_default_sensitive: Uvek označi multimediju kao osetljivu
-        setting_delete_modal: Prikaži dijalog za potvrdu pre brisanja tuta
+        setting_delete_modal: Prikaži dijalog za potvrdu pre brisanja objave
         setting_disable_swiping: Onemogući pokrete prevlačenja
         setting_display_media: Prikaz medija
         setting_display_media_default: Podrazumevano
         setting_display_media_hide_all: Sakrij sve
         setting_display_media_show_all: Prikaži sve
-        setting_expand_spoilers: Uvek prošiti trube koje su označene upozorenjem sadržaja
+        setting_expand_spoilers: Uvek proširi objave koje su označene upozorenjem sadržaja
         setting_hide_network: Sakrij svoju mrežu
-        setting_noindex: Odjavi se od indeksiranja search engine-a
+        setting_noindex: Onemogući indeksiranje pretraživača
         setting_reduce_motion: Smanji pokrete u animacijama
         setting_show_application: Otkrij aplikaciju koja se koristi za slanje postova
         setting_system_font_ui: Koristi sistemski font
@@ -227,6 +233,7 @@ sr-Latn:
           hide: Sakrij u potpunosti
           warn: Sakrij uz upozorenje
       form_admin_settings:
+        activity_api_enabled: Objavi prikupljenu statistiku o korisničkoj aktivnosti u API
         backups_retention_period: Period čuvanja korisničke arhive
         bootstrap_timeline_accounts: Uvek preporuči ove naloge novim korisnicima
         closed_registrations_message: Prilagođena poruka kada prijave nisu moguće
@@ -234,6 +241,7 @@ sr-Latn:
         custom_css: Prilagođeni CSS
         mascot: Prilagođena maskota (nasleđe)
         media_cache_retention_period: Period čuvanja keša medija
+        peers_api_enabled: Objavite listu otkrivenih servera u API
         profile_directory: Omogući direktorijum profila
         registrations_mode: Ko može da se prijavi
         require_invite_text: Zatraži razlog za pristupanje
@@ -245,11 +253,13 @@ sr-Latn:
         site_short_description: Opis servera
         site_terms: Politika privatnosti
         site_title: Ime servera
+        status_page_url: URL statusne stranice
         theme: Podrazumevana tema
         thumbnail: Sličica servera
         timeline_preview: Dozvoli neautorizovan pristup javnim vremenskim osama
         trendable_by_default: Dozvoli trendove bez prethodnog pregleda
         trends: Omogući trendove
+        trends_as_landing_page: Koristite trendove kao stranicu dočeka
       interactions:
         must_be_follower: Blokiraj obaveštenja od korisnika koji me ne prate
         must_be_following: Blokiraj obaveštenja od ljudi koje ne pratim
@@ -260,7 +270,7 @@ sr-Latn:
         text: Zašto želiš da se pridružiš?
       ip_block:
         comment: Komentar
-        ip: Avatar
+        ip: IP
         severities:
           no_access: Blokiraj pristup
           sign_up_block: Blokiraj prijave
diff --git a/config/locales/simple_form.sr.yml b/config/locales/simple_form.sr.yml
index cb11250ad..8ee586377 100644
--- a/config/locales/simple_form.sr.yml
+++ b/config/locales/simple_form.sr.yml
@@ -3,117 +3,123 @@ sr:
   simple_form:
     hints:
       account_alias:
-        acct: Наведи корисничко_име@домен налога са којег желиш да пређеш
+        acct: Наведите корисничко_име@домен налога са којег желите да се преселите
       account_migration:
-        acct: Наведи корисничко_име@домен налога на који желиш да пређеш
+        acct: Наведите корисничко_име@домен налога на који желите да се преселите
       account_warning_preset:
         text: Можете користити синтаксу објава, као што су URL адресе, хеш ознаке и помињања
         title: Опционо. Није видљиво примаоцу
       admin_account_action:
-        include_statuses: Корисник ће видети које су објаве проузроковале модерирање или упозорење
-        send_email_notification: Корисник ће добити објашњење тога шта му се десило са налога
+        include_statuses: Корисник ће видети које су објаве проузроковале модерацијску радњу или упозорење
+        send_email_notification: Корисник ће добити објашњење тога шта му се десило са налогом
         text_html: Опционално. Можете користити синтаксу објава. Можете <a href="%{path}">додати унапред одређене поставке упозорења</a> за уштеду времена
         type_html: Изаберите шта да радите са <strong>%{acct}</strong>
         types:
-          disable: Спречи корисника да користи свој налог, али немој брисати или сакривати његов садржај.
-          none: Користи ово да пошаљеш упозорење кориснику, без покретања било које друге акције.
+          disable: Спречава корисника да користи свој налог, али не брише нити сакрива његове садржаје.
+          none: Користите ово да пошаљете упозорење кориснику без покретања било које друге радње.
           sensitive: Учини да сви медијски прилози овог корисника присилно буду означени као осетљиви.
+          silence: Спречава корисника да прави јавне објаве, сакрива његове објаве и обавештења од људи који га не прате. Затвара све пријаве поднете против овог налога.
+          suspend: Спречава сву интеракцију од овог налога и ка овом налогу и брише његов садржај. Опозиво у року од 30 дана. Затвара све пријаве поднете против овог налога.
         warning_preset_id: Опционално. Можете и даље додати прилагођени текст на крај пресета
       announcement:
-        all_day: Биће приказани само датуми временског опсега који су означени
+        all_day: Када је ова опција означена, само датуми из временског опсега ће бити приказани
         ends_at: Опционо. Објава ће бити аутоматски опозвана у овом тренутку
-        scheduled_at: Остави празно да би најава била одмах објављена
+        scheduled_at: Оставите празно да бисте одмах објавили обавештење
         starts_at: Опционо. У случају да је најава везана за одређени временски распон
-        text: Можеш користити пост синтаксу. Води рачуна о простору који ће објава заузимати на екрану корисника
+        text: Можете користити синтаксу објава. Молимо Вас водите рачуна о простору који ће објава заузимати на екрану корисника
       appeal:
-        text: На брисање се можеш жалити само једном
+        text: Можете поднети само једну жалбу на уписан преступ
       defaults:
         autofollow: Особе које се пријаве кроз позивнице ће вас аутоматски запратити
         avatar: PNG, GIF или JPG. Највише %{size}. Биће смањено на %{dimensions}px
-        bot: Овај налог углавном врши аутоматизоване радње и можда се не надгледа
+        bot: Даје другима до знања да овај налог углавном врши аутоматизоване радње и можда се не надгледа
         context: Један или више контекста у којима треба да се примени филтер
-        current_password: Унеси лозинку текућег налога из безбедносних разлога
-        current_username: Унеси корисничко име текућег налога за потврду
-        digest: Послато после дужег периода неактивности са прегледом свих битних ствари које сте добили док сте били одсутни
-        discoverable: Дозволи непознатим корисницима да открију твој налог путем препорука, трендова и других функција
-        email: Биће вам послата е-пошта са потврдом
-        fields: Можете имати до 4 ставке приказане као табела на вашем налогу
+        current_password: Из безбедносних разлога молимо Вас унесите лозинку тренутног налога
+        current_username: Да бисте потврдили, Молимо Вас унесите корисничко име тренутно активног налога
+        digest: Шаље се само после дужег периода неактивности и само у случају да сте примили једну или више личних порука током Вашег одсуства
+        discoverable: Дозволите непознатим корисницима да открију Ваш налог путем препорука, трендова и других функција
+        email: Биће Вам послат мејл са потврдом
+        fields: Можете имати до 4 ставке приказане као табела на свом профилу
         header: PNG, GIF или JPG. Највише %{size}. Биће смањено на %{dimensions}px
         inbox_url: Копирајте URL са насловне стране релеја који желите користити
         irreversible: Филтриранe обајве ће нестати неповратно, чак и ако је филтер касније уклоњен
         locale: Језик корисничког окружења, е-поште и мобилних обавештења
-        locked: Захтева да појединачно одобрите пратиоце
+        locked: Контролишите ко може да Вас прати тако што ћете појединачно одобравати захтеве за праћење
         password: Користите најмање 8 знакова
         phrase: Биће упарена без обзира на велико или мало слово у тексту или упозорења о садржају објаве
-        scopes: Којим API-јима ће апликација дозволити приступ. Ако изаберете опсег највишег нивоа, не морате одабрати појединачне.
+        scopes: Којим API-јима ће апликација имати приступ. Ако изаберете опсег највишег нивоа, не морате одабрати појединачне.
         setting_aggregate_reblogs: Не приказуј нова подржавања за објаве које су недавно подржане (утиче само на недавно примљена подржавања)
-        setting_always_send_emails: Обавештења е-поштом се по правилу неће слати када активно користиш Мастодон
+        setting_always_send_emails: Обавештења е-поштом се по правилу неће слати када активно користите Мастодон
         setting_default_sensitive: Осетљиви медији су подразумевано скривени и могу се открити кликом
         setting_display_media_default: Сакриј медије означене као осетљиве
         setting_display_media_hide_all: Увек сакриј све медије
         setting_display_media_show_all: Увек прикажи медије означене као осетљиве
-        setting_hide_network: Кога пратите и ко вас прати неће бити приказано на вашем налогу
-        setting_noindex: Утиче на Ваш јавни налог и статусне стране
+        setting_hide_network: Кога пратите и ко Вас прати неће бити приказано на Вашем профилу
+        setting_noindex: Утиче на Ваш јавни профил и странице са објавама
         setting_show_application: Апликација коју користите за објављивање ће бити приказана у детаљном приказу ваших објава
-        setting_use_blurhash: Градијент се заснива на бојама скривених визуелних приказа, али прикрива све детаље
-        setting_use_pending_items: Сакриј ажурирања временске осе иза клика уместо аутоматског померања извора објава
+        setting_use_blurhash: Градијенти се формирају на основу бојâ скривених слика и замућују приказ, прикривајући детаље
+        setting_use_pending_items: Сакрива ажурирања временске линије иза клика уместо аутоматског ажурирања и померања временске линије
         username: Ваш надимак ће бити јединствен на %{domain}
-        whole_word: Када је кључна реч или фраза искључиво алфанумеричка, биће примењена само ако се подудара са целом речи
+        whole_word: Када је кључна реч или фраза искључиво алфанумеричка, биће примењена само ако се подудара са целом речjу
       domain_allow:
         domain: Овај домен ће моћи да преузима податке са овог сервера и долазни подаци са њега ће се обрађивати и чувати
       email_domain_block:
         domain: Ово може бити име домена које се појављује у адреси е-поште или MX записа који користи. Они ће бити проверени приликом регистрације.
         with_dns_records: Биће учињен покушај да се разреше DNS записи датог домена и резултати ће такође бити блокирани
       featured_tag:
-        name: 'Ево неких од хеш ознака које сте недавно користили:'
+        name: 'Ево неких од хеш ознака које сте у претходном периоду често користили:'
       filters:
-        action: Изабери коју радњу треба извршити када објава одговара филтеру
+        action: Изаберите коју радњу извршити када објава одговара филтеру
         actions:
           hide: Потпуно сакриј филтрирани садржај, понашајући се као да не постоји
           warn: Сакриј филтрирани садржај иза упозорења у коме се наводи назив филтера
       form_admin_settings:
+        activity_api_enabled: Бројеви локално постављених објава, активних корисника и нових регистрација на недељној бази
         backups_retention_period: Чувај генерисане корисничке архиве наведени број дана.
         bootstrap_timeline_accounts: Ови налози ће бити закачени на врх препорука за праћење нових корисника.
-        closed_registrations_message: Приказује се када су пријаве затворене
+        closed_registrations_message: Приказује се када су регистрације затворене
         content_cache_retention_period: Када се постави на позитивну вредност, објаве са других сервера ће бити избрисане након наведеног броја дана. Ово може бити неповратно.
-        custom_css: Можеш да примениш прилагођене стилове на веб верзији Мастодона.
+        custom_css: Можете да примените прилагођене стилове на веб верзији Мастодона.
         mascot: Замењује илустрацију у напредном веб окружењу.
         media_cache_retention_period: Када се постави на позитивну вредност, преузете медијске датотеке ће бити избрисане након наведеног броја дана, и поново преузете на захтев.
+        peers_api_enabled: Листа домена са којима се овај сервер сусрео у федиверзуму. Овде нису садржани подаци о томе да ли се Ваш сервер федерише са другим серверима, већ само да Ваш сервер зна за њих. Ове информације користе сервиси који прикупљају податке и воде статистику о федерацији у ширем смислу.
         profile_directory: Директоријум профила наводи све кориснике који су се определили да буду видљиви.
-        require_invite_text: Када регистрације захтевају ручно одобрење, постави да унос текста „Зашто желиш да се придружиш?“ буде обавезан, а не опциони
-        site_contact_email: Како корисници могу да те контактирају за правна питања или питања у вези подршке.
-        site_contact_username: Како корисници могу да те контактирају на Мастодону.
-        site_extended_description: Било која додатна информација која може бити корисне посетиоцима и твојим корисницима. Може се структурирати помоћу Markdown синтаксе.
-        site_short_description: Кратак опис помоћу кога се на јединствен начин идентификује твој сервер. Ко га одржава, коме је намењен?
-        site_terms: Користи сопствену политику приватности или остави празно да би се користила подразумевана. Може се структурирати помоћу Markdown синтаксе.
-        site_title: Начин на моји може да се позове на твој сервер осим назива његовог домена.
+        require_invite_text: Када регистрације захтевају ручно одобрење, поставите да одговор на „Зашто желите да се придружите?“ буде обавезан, а не опционалан
+        site_contact_email: Како корисници могу да контактирају са Вама за правна питања или питања у вези подршке.
+        site_contact_username: Како корисници могу да контактирају са Вама на Мастодону.
+        site_extended_description: Било какве додатне информације које могу бити корисне посетиоцима и Вашим корисницима. Могу се структурирати помоћу Markdown синтаксе.
+        site_short_description: Кратак опис помоћу кога се на јединствен начин идентификује Ваш сервер. Ко га одржава, коме је намењен?
+        site_terms: Користите сопствену политику приватности или оставите празно да би се користила подразумевана. Може се структурирати помоћу Markdown синтаксе.
+        site_title: Начин на који људи могу да реферишу на Ваш сервер осим назива његовог домена.
+        status_page_url: URL странице где људи могу да виде статус сервера док је сервер оборен
         theme: Тема коју виде посетиоци који нису пријављени и нови корисници.
-        thumbnail: Слика која се приближно 2:1 приказује поред информација о твом серверу.
+        thumbnail: Слика у размери од приближно 2:1 која се приказује поред информација о Вашем серверу.
         timeline_preview: Посетиоци који нису пријављени ће моћи да прегледају најновије јавне објаве доступне на серверу.
         trendable_by_default: Прескочи ручни преглед садржаја који је у тренду. Појединачне ставке се након тога и даље могу уклонити из трендова.
-        trends: Трендови показују које објаве, хеш ознаке и вести постају све популарнији на твом серверу.
+        trends: Трендови показују које објаве, хеш ознаке и вести постају све популарније на Вашем серверу.
+        trends_as_landing_page: Прикажи садржај у тренду одјављеним корисницима и посетиоцима уместо описа овог сервера. Захтева да трендови буду омогућени.
       form_challenge:
-        current_password: Улазиш у безбедно подручје
+        current_password: Улазите у безбедно подручје
       imports:
         data: CSV фајл извезен са друге Мастодонт инстанце
       invite_request:
-        text: Ово ће нам помоћи да прегледамо твоју пријаву
+        text: Ово ће нам помоћи да прегледамо Вашу пријаву
       ip_block:
-        comment: Опционо. Запамти зашто си додао ово правило.
+        comment: Опционо. Запамтите зашто сте додали ово правило.
         expires_in: IP адресе су ограничени ресурс, понекад се деле и често мењају корисника. Због тога се IP блокови на неограничено време не препоручују.
-        ip: Унеси IPv4 или IPv6 адресу. Можеш блокирати читаве опсеге користећи CIDR синтаксу. Води рачуна да себе не закључаш!
+        ip: Унесите IPv4 или IPv6 адресу. Можете блокирати читаве опсеге користећи CIDR синтаксу. Водите рачуна да се не закључате!
         severities:
           no_access: Блокирај приступ свим ресурсима
-          sign_up_block: Нове пријаве неће бити могуће
-          sign_up_requires_approval: Нове пријаве ће захтевати твоје одобрење
-        severity: Изабери шта ће се десити са захтевима са ове IP адресе
+          sign_up_block: Нове регистрације неће бити могуће
+          sign_up_requires_approval: Нове регистрације ће захтевати Ваше одобрење
+        severity: Изаберите шта ће се десити са захтевима са ове IP адресе
       rule:
-        text: Опиши правило или захтев за кориснике на овом серверу. Потруди се да опис буде кратак и једноставан
+        text: Опишите правило или услов за кориснике на овом серверу. Потрудите се да опис буде кратак и једноставан
       sessions:
         otp: 'Унесите двофакторски код са Вашег телефона или користите један од кодова за опоравак:'
-        webauthn: Ако је то USB кључ, обавезно га убаци и, ако је потребно, притисни га.
+        webauthn: Ако је у питању USB кључ, обавезно га убаците и, ако је потребно, притисните га.
       tag:
-        name: Могу се само променити мала слова у велика, на пример, да би било читљивије
+        name: Могу се само променити мала слова у велика или обрнуто, на пример, да би било читљивије
       user:
         chosen_languages: Када је означено, објаве у изабраним језицима ће бити приказане на јавној временској линији
         role: Улога контролише које дозволе корисник има
@@ -227,6 +233,7 @@ sr:
           hide: Сакриј у потпуности
           warn: Сакриј уз упозорење
       form_admin_settings:
+        activity_api_enabled: Објави прикупљену статистику о корисничкој активности у API
         backups_retention_period: Период чувања корисничке архиве
         bootstrap_timeline_accounts: Увек препоручи ове налоге новим корисницима
         closed_registrations_message: Прилагођена порука када пријаве нису могуће
@@ -234,6 +241,7 @@ sr:
         custom_css: Прилагођени CSS
         mascot: Прилагођена маскота (наслеђе)
         media_cache_retention_period: Период чувања кеша медија
+        peers_api_enabled: Објавите листу откривених сервера у API
         profile_directory: Омогући директоријум профила
         registrations_mode: Ко може да се пријави
         require_invite_text: Затражи разлог за приступање
@@ -245,11 +253,13 @@ sr:
         site_short_description: Опис сервера
         site_terms: Политика приватности
         site_title: Име сервера
+        status_page_url: URL статусне странице
         theme: Подразумевана тема
         thumbnail: Сличица сервера
         timeline_preview: Дозволи неауторизован приступ јавним временским осама
         trendable_by_default: Дозволи трендове без претходног прегледа
         trends: Омогући трендове
+        trends_as_landing_page: Користите трендове као страницу дочека
       interactions:
         must_be_follower: Блокирај обавештења од корисника који ме не прате
         must_be_following: Блокирај обавештења од људи које не пратим
diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml
index ed111ecc9..1e99fefa3 100644
--- a/config/locales/simple_form.th.yml
+++ b/config/locales/simple_form.th.yml
@@ -174,7 +174,7 @@ th:
         context: บริบทตัวกรอง
         current_password: รหัสผ่านปัจจุบัน
         data: ข้อมูล
-        discoverable: แนะนำบัญชีให้ผู้อื่น
+        discoverable: เสนอแนะบัญชีให้ผู้อื่น
         display_name: ชื่อที่แสดง
         email: ที่อยู่อีเมล
         expires_in: หมดอายุหลังจาก
diff --git a/config/locales/simple_form.tt.yml b/config/locales/simple_form.tt.yml
index d4e44c0db..db2bd025c 100644
--- a/config/locales/simple_form.tt.yml
+++ b/config/locales/simple_form.tt.yml
@@ -5,7 +5,7 @@ tt:
       account_warning_preset:
         title: Исем
       admin_account_action:
-        type: Ğämäl
+        type: Гамәл
         types:
           sensitive: Sizmäle
           suspend: Искә алмау
@@ -14,7 +14,7 @@ tt:
         data: Мәгълүмат
         email: Почта адресы
         header: Башлам
-        password: Парол
+        password: Серсүз
         setting_display_media_default: Töpcay
         username: Кулланучы исеме
       featured_tag:
diff --git a/config/locales/simple_form.zh-TW.yml b/config/locales/simple_form.zh-TW.yml
index 8a2bcc0a1..1976df4d9 100644
--- a/config/locales/simple_form.zh-TW.yml
+++ b/config/locales/simple_form.zh-TW.yml
@@ -33,7 +33,7 @@ zh-TW:
         autofollow: 通過邀請網址註冊的使用者將自動跟隨您
         avatar: 支援 PNG、GIF 或 JPG 圖片格式,檔案最大為 %{size},會等比例縮減至 %{dimensions} 像素
         bot: 此帳號主要執行自動化操作且可能未受人為監控
-        context: 應該套用過濾器的一項或多項內容
+        context: 此過濾器應套用於以下一項或多項情境
         current_password: 因安全因素,請輸入目前帳號的密碼
         current_username: 請輸入目前帳號的使用者名稱以確認
         digest: 僅在您長時間未登入且在未登入期間收到私訊時傳送
@@ -53,7 +53,7 @@ zh-TW:
         setting_default_sensitive: 敏感內容媒體預設隱藏,且按一下即可重新顯示
         setting_display_media_default: 隱藏標為敏感內容的媒體
         setting_display_media_hide_all: 總是隱藏所有媒體
-        setting_display_media_show_all: 總是顯示標為敏感的媒體
+        setting_display_media_show_all: 總是顯示標為敏感內容的媒體
         setting_hide_network: 您跟隨的人與跟隨您的人將不會在您的個人檔案頁面上顯示
         setting_noindex: 會影響您的公開個人檔案與嘟文頁面
         setting_show_application: 您用來發嘟文的應用程式將會在您嘟文的詳細檢視顯示
diff --git a/config/locales/sk.yml b/config/locales/sk.yml
index f1b021127..53ef48fe5 100644
--- a/config/locales/sk.yml
+++ b/config/locales/sk.yml
@@ -229,6 +229,7 @@ sk:
         destroy_domain_block_html: "%{name} odblokoval/i doménu %{target}"
         destroy_ip_block_html: "%{name} vymazal/a pravidlo pre IP %{target}"
         destroy_status_html: "%{name} zmazal/a príspevok od %{target}"
+        memorialize_account_html: "%{name} zmenil/a účet %{target} na pamätnú stránku"
         reject_appeal_html: "%{name} zamietol/la námietku moderovacieho rozhodnutia od %{target}"
       deleted_account: zmazaný účet
       empty: Žiadne záznamy nenájdené.
@@ -1012,6 +1013,7 @@ sk:
       otter: Prehliadač Otter
       qq: QQ Prehliadač
       safari: Apple Safari
+      unknown_browser: Neznámy prehliadač
       weibo: Sina/Tencent Weibo
     current_session: Aktuálna sezóna
     description: "%{browser} na %{platform}"
@@ -1021,7 +1023,7 @@ sk:
       ios: Apple iOS
       linux: GNU/Linux
       mac: MacOSX
-      other: neznáma platforma
+      unknown_platform: Neznáma platforma
       windows: Microsoft Windows
     revoke: Zamietni
     revoke_success: Sezóna úspešne zamietnutá
diff --git a/config/locales/sl.yml b/config/locales/sl.yml
index 303f9ea55..eb3085cd6 100644
--- a/config/locales/sl.yml
+++ b/config/locales/sl.yml
@@ -1457,6 +1457,7 @@ sl:
     confirm_remove_selected_followers: Ali ste prepričani, da želite odstraniti izbrane sledilce?
     confirm_remove_selected_follows: Ali ste prepričani, da želite odstraniti izbrana sledenja?
     dormant: Skrit
+    follow_failure: Nekaterim od izbranih računov ni bilo mogoče slediti.
     follow_selected_followers: Sledi izbranim sledilcem
     followers: Sledilci
     following: Sledi
@@ -1496,6 +1497,7 @@ sl:
       electron: Electron
       firefox: Firefox
       generic: Neznan brskalnik
+      huawei_browser: Brskalnik Huawei
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Brskalnik Nokia S40 Ovi
@@ -1505,6 +1507,7 @@ sl:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Neznan brskalnik
       weibo: Weibo
     current_session: Trenutna seja
     description: "%{browser} na %{platform}"
@@ -1517,9 +1520,10 @@ sl:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: Mac
-      other: neznana platforma
+      unknown_platform: Neznana platforma
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/sq.yml b/config/locales/sq.yml
index ea94dfb6a..38afb2996 100644
--- a/config/locales/sq.yml
+++ b/config/locales/sq.yml
@@ -1399,6 +1399,7 @@ sq:
     confirm_remove_selected_followers: Jeni i sigurt se doni të hiqen ndjekësit e përzgjedhur?
     confirm_remove_selected_follows: Jeni i sigurt se doni të hiqen ndjekjet e përzgjedhura?
     dormant: Në gjumë
+    follow_failure: S’u ndoqën dot disa nga llogaritë e përzgjedhura.
     follow_selected_followers: Ndiq ndjekësit e përzgjedhur
     followers: Ndjekës
     following: Ndjek
@@ -1438,6 +1439,7 @@ sq:
       electron: Electron
       firefox: Firefox
       generic: Shfletues i panjohur
+      huawei_browser: Shfletues Huawei
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Shfletues Nokia S40 Ovi
@@ -1447,6 +1449,7 @@ sq:
       qq: QQ Browser
       safari: Safari
       uc_browser: Shfletues UC
+      unknown_browser: Shfletues i Panjohur
       weibo: Weibo
     current_session: Sesioni i tanishëm
     description: "%{browser} në %{platform}"
@@ -1459,9 +1462,10 @@ sq:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: macOS
-      other: platformë e panjohur
+      unknown_platform: Platformë e Panjohur
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml
index fdb5d2185..b6e17677d 100644
--- a/config/locales/sr-Latn.yml
+++ b/config/locales/sr-Latn.yml
@@ -1,236 +1,1263 @@
 ---
 sr-Latn:
   about:
-    about_mastodon_html: Mastodont je društvena mreža bazirana na otvorenim protokolima i slobodnom softveru otvorenog koda. Decentralizovana je kao što je decentralizovana e-pošta.
+    about_mastodon_html: 'Društvena mreža budućnosti: bez reklama, bez korporativnog praćenja, etički dizajn, i decentralizacija! Posedujte svoje podatke sa Mastodonom!'
     contact_missing: Nije postavljeno
-    hosted_on: Mastodont hostovan na %{domain}
+    contact_unavailable: Nije dostupno
+    hosted_on: Mastodon hostovan na %{domain}
+    title: O instanci
   accounts:
-    nothing_here: Ovde nema ništa!
+    follow: Zaprati
+    followers:
+      few: Pratioca
+      one: Pratilac
+      other: Pratilaca
+    following: Pratim
+    instance_actor_flash: Ovaj nalog je virtuelni akter koji ne predstavlja nijednog korisnika lično, već sâm server. Koristi se u svrhu federacije i ne treba ga suspendovati.
+    last_active: najskorija aktivnost
+    link_verified_on: Vlasništvo nad ovom vezom je provereno %{date}
+    nothing_here: Ovde nema ničega!
+    pin_errors:
+      following: Morate pratiti osobu koju želite da preporučite
+    posts:
+      few: Objave
+      one: Objava
+      other: Objava
+    posts_tab_heading: Objave
   admin:
+    account_actions:
+      action: Izvršite radnju
+      title: Izvršite moderatorske radnje na %{acct}
     account_moderation_notes:
-      create: Napravi
+      create: Ostavite belešku
       created_msg: Moderatorska beleška uspešno napravljena!
       destroyed_msg: Moderatorska beleška uspešno obrisana!
     accounts:
+      add_email_domain_block: Blokiraj domen e-pošte
+      approve: Odobri
+      approved_msg: Zahtev za registraciju korisnika %{username} je uspešno odobren
       are_you_sure: Da li ste sigurni?
+      avatar: Avatar
       by_domain: Domen
+      change_email:
+        changed_msg: E-pošta naloga uspešno promenjena!
+        current_email: Trenutna adresa e-pošte
+        label: Promenite adresu e-pošte
+        new_email: Nova adresa e-pošte
+        submit: Promenite adresu e-pošte
+        title: Promenite adresu e-pošte za %{username}
+      change_role:
+        changed_msg: Uloga uspešno promenjena!
+        label: Promeni ulogu
+        no_role: Nema ulogu
+        title: Promeni ulogu za %{username}
       confirm: Potvrdi
       confirmed: Potvrđeno
-      confirming: Potvrđujući
+      confirming: Potvrđivanje
+      custom: Proizvoljno
+      delete: Obriši podatke
+      deleted: Izbrisano
       demote: Ražaluj
-      disable: Isključi
+      destroyed_msg: Podaci korisnika %{username} su nepovratno stavljeni u red za brisanje
+      disable: Zamrzni
+      disable_sign_in_token_auth: Onemogući imejl autentifikaciju
       disable_two_factor_authentication: Isključi 2FA
-      disabled: Isključena
-      display_name: Prikazano ime
+      disabled: Zamrznut
+      display_name: Ime za prikaz
       domain: Domen
       edit: Izmeni
       email: E-pošta
       email_status: Status e-pošte
-      enable: Uključi
-      enabled: Uključeno
+      enable: Omogući
+      enable_sign_in_token_auth: Omogući imejl autentifikaciju
+      enabled: Omogućen
+      enabled_msg: Uspešno odleđen nalog korisnika %{username}
       followers: Pratioci
       follows: Praćeni
+      header: Zaglavlje
       inbox_url: Adresa sandučeta
+      invite_request_text: Razlozi za pridruživanje
+      invited_by: Pozvan od strane
+      ip: IP
+      joined: Pridružio/-la se
       location:
         all: Sve
-        local: Lokalne
-        remote: Udaljene
+        local: Lokalni
+        remote: Udaljeni
         title: Lokacija
       login_status: Status prijave
       media_attachments: Multimedijalni prilozi
       memorialize: Prebaci u in memoriam
+      memorialized: Podignut spomenik
+      memorialized_msg: "%{username} je uspešno pretvoren u memorijalni nalog"
       moderation:
+        active: Aktivan
         all: Svi
+        disabled: Isključen
+        pending: Na čekanju
+        silenced: Ograničeno
         suspended: Suspendovani
         title: Moderacija
       moderation_notes: Moderatorske beleške
       most_recent_activity: Najskorija aktivnost
       most_recent_ip: Najskorija IP adresa
+      no_account_selected: Nijedan nalog nije promenjen jer nijedan nije izabran
+      no_limits_imposed: Nema ograničenja
+      no_role_assigned: Nijedna uloga nije dodeljena
       not_subscribed: Nije pretplaćen
-      perform_full_suspension: Izvrši kompletno isključenje
+      pending: Čeka na pregled
+      perform_full_suspension: Suspenduj
+      previous_strikes: Prethodni prekršaji
+      previous_strikes_description_html:
+        few: Ovaj nalog ima <strong>%{count}</strong> prekršaja.
+        one: Ovaj nalog ima <strong>jedan</strong> prekršaj.
+        other: Ovaj nalog ima <strong>%{count}</strong> prekršaja.
       promote: Unapredi
       protocol: Protokol
       public: Javno
-      redownload: Osveži avatar
-      remote_suspension_reversible_hint_html: Налог је суспендован на њиховом серверу, а подаци ће бити у потпуности уклоњени %{date}. До тада, удаљени сервер може вратити овај налог без икаквих негативних ефеката. Ако желите одмах да уклоните све податке налога, то можете учинити у наставку.
+      push_subscription_expires: PuSH pretplata ističe
+      redownload: Osveži profil
+      redownloaded_msg: Uspešno osvežen profil korisnika %{username} iz izvora
+      reject: Odbij
+      rejected_msg: Zahtev za registraciju korisnika %{username} je uspešno odbijen
+      remote_suspension_irreversible: Podaci ovog naloga su nepovratno izbrisani.
+      remote_suspension_reversible_hint_html: Nalog je suspendovan sa svog servera i njegovi podaci će biti izbrisani datuma %{date}. Do tada, udaljeni server može da vrati ovaj nalog bez ikakvih promena. Ukoliko želite da odmah obrišete sve podatke naloga, možete to učiniti ispod.
+      remove_avatar: Ukloni avatar
+      remove_header: Odstrani zaglavlje
+      removed_avatar_msg: Slika avatara korisnika %{username} je uspešno uklonjena
+      removed_header_msg: Uspešno obrisana slika zaglavlja korisnika %{username}
       resend_confirmation:
         already_confirmed: Ovaj korisnik je već potvrđen
-        send: Ponovo pošaljite e-poruku za potvrdu
-        success: E-mail potvrde je uspešno poslat!
+        send: Ponovo pošalji imejl potvrdu
+        success: Imejl za potvrdu je uspešno poslat!
       reset: Resetuj
       reset_password: Resetuj lozinku
       resubscribe: Ponovo se pretplati
+      role: Uloga
       search: Pretraga
+      search_same_email_domain: Ostali korisnici sa istim domenom e-pošte
+      search_same_ip: Ostali korisnici sa istom IP adresom
+      security: Bezbednost
+      security_measures:
+        only_password: Samo lozinka
+        password_and_2fa: Lozinka i dvofaktorska autentifikacija
+      sensitive: Označi kao osetljiv
+      sensitized: Označeno kao osetljivo
       shared_inbox_url: Adresa deljenog sandučeta
       show:
-        created_reports: Prijave koje je napravio ovaj nalog
-        targeted_reports: Prijave napravljene o ovom nalogu
+        created_reports: Podnete prijave
+        targeted_reports: Prijave od strane drugih
       silence: Ućutkaj
-      statuses: Statusi
+      silenced: Ućutkan
+      statuses: Objave
+      strikes: Prethodni prestupi
       subscribe: Pretplati se
+      suspend: Suspenduj
+      suspended: Suspendovani
+      suspension_irreversible: Podaci ovog naloga su nepovratno izbrisani. Možete odsuspendovati ovaj nalog čime će on postati upotrebljiv, ali se podaci prethodno sadržani na nalogu neće vratiti.
+      suspension_reversible_hint_html: Nalog je suspendovan i njegovi podaci će biti izbrisani datuma %{date}. Do tada, ovaj nalog može biti vraćen bez ikakvih promena. Ukoliko želite da odmah obrišete sve podatke naloga, možete to učiniti ispod.
       title: Nalozi
+      unblock_email: Odblokiraj adresu e-pošte
+      unblocked_email_msg: Uspešno odblokirana imejl adresa korisnika %{username}
+      unconfirmed_email: Nepotvrđena adresa e-pošte
+      undo_sensitized: Ukloni oznaku „osetljiv”
       undo_silenced: Ukini ćutanje
       undo_suspension: Ukini suspenziju
+      unsilenced_msg: Uspešno poništeno ograničenje naloga %{username}
       unsubscribe: Ukini pretplatu
+      unsuspended_msg: Uspešno poništena suspenzija naloga %{username}
       username: Korisničko ime
+      view_domain: Pročitaj opis domena
+      warn: Upozori
       web: Veb
+      whitelisted: Dozvoljena federacija
     action_logs:
+      action_types:
+        approve_appeal: Uvaži žalbu
+        approve_user: Odobri korisnika
+        assigned_to_self_report: Dodeli prijavu
+        change_email_user: Promeni e-adresu korisnika
+        change_role_user: Promeni ulogu korisnika
+        confirm_user: Potvrdi korisnika
+        create_account_warning: Kreiraj upozorenje
+        create_announcement: Kreiraj najavu
+        create_canonical_email_block: Kreiraj blok e-pošte
+        create_custom_emoji: Napravi prilagođeni emodži
+        create_domain_allow: Dodaj dozvoljeni domen
+        create_domain_block: Dodaj blokirani domen
+        create_email_domain_block: Blokiraj imejl domen
+        create_ip_block: Napravi IP uslov
+        create_unavailable_domain: Dodaj domen kao nedostupan
+        create_user_role: Kreiraj ulogu
+        demote_user: Smanji ovlašćenja korisnika
+        destroy_announcement: Izbriši najavu
+        destroy_canonical_email_block: Izbriši blok e-pošte
+        destroy_custom_emoji: Obriši prilagođeni emodži
+        destroy_domain_allow: Obriši dozvoljeni domen
+        destroy_domain_block: Obriši blokirani domen
+        destroy_email_domain_block: Izbriši blok e-pošte
+        destroy_instance: Očisti domen
+        destroy_ip_block: Obriši IP uslov
+        destroy_status: Izbriši post
+        destroy_unavailable_domain: Obriši nedostupan domen
+        destroy_user_role: Uništi poziciju
+        disable_2fa_user: Onemogući dvofaktorsku autentifikaciju
+        disable_custom_emoji: Onemogući prilagođene emodžije
+        disable_sign_in_token_auth_user: Onemogući imejl autentifikaciju za korisnika
+        disable_user: Onemogući korisnika
+        enable_custom_emoji: Omogući prilagođene emodžije
+        enable_sign_in_token_auth_user: Omogući imejl autentifikaciju za korisnika
+        enable_user: Omogući korisnika
+        memorialize_account: Pretvori u memorijalni nalog
+        promote_user: Unapredi korisnika
+        reject_appeal: Odbij žalbu
+        reject_user: Odbaci korisnika
+        remove_avatar_user: Ukloni avatar
+        reopen_report: Ponovo otvori prijavu
+        resend_user: Ponovo pošalji mejl za potvrdu
+        reset_password_user: Resetuj lozinku
+        resolve_report: Zatvori prijavu
+        sensitive_account: Označi nalog kao osetljiv
+        silence_account: Ograniči nalog
+        suspend_account: Obustavi nalog
+        unassigned_report: Povuci prijavu
+        unblock_email_account: Odblokiraj imejl adresu
+        unsensitive_account: Ukloni dodeljenu oznaku „osetljiv”
+        unsilence_account: Povuci ograničenje naloga
+        unsuspend_account: Povuci suspenziju naloga
+        update_announcement: Saopštenje o ažuriranju
+        update_custom_emoji: Ažuriraj prilagođene emodžije
+        update_domain_block: Ažuriraj domen blok
+        update_ip_block: Ažuriraj IP uslov
+        update_status: Uredi objavu
+        update_user_role: Uredi ulogu
+      actions:
+        approve_appeal_html: "%{name} je uvažio žalbu korisnika %{target} na odluku moderatora"
+        approve_user_html: "%{name} je odobrio/-la registraciju korisnika %{target}"
+        assigned_to_self_report_html: "%{name} je sebi dodelio/-la prijavu %{target}"
+        change_email_user_html: "%{name} je promenio/-la imejl adresu korisnika %{target}"
+        change_role_user_html: "%{name} je promenio/-la ovlašćenja korisnika %{target}"
+        confirm_user_html: "%{name} je potvrdio/-la imejl adresu korisnika %{target}"
+        create_account_warning_html: "%{name} je poslao/-la upozorenje korisniku %{target}"
+        create_announcement_html: "%{name} je napravio/-la novo saopštenje %{target}"
+        create_canonical_email_block_html: "%{name} je blokirao/-la imejl adresu sa hešom %{target}"
+        create_custom_emoji_html: "%{name} je otpremio/-la nove emodžije %{target}"
+        create_domain_allow_html: "%{name} je dozvolio/-la federaciju sa domenom %{target}"
+        create_domain_block_html: "%{name} je blokirao/-la domen %{target}"
+        create_email_domain_block_html: "%{name} je blokirao/-la imejl domen %{target}"
+        create_ip_block_html: "%{name} je napravio/-la uslov za IP adrese %{target}"
+        create_unavailable_domain_html: "%{name} je obustavio/-la isporučivanje domenu %{target}"
+        create_user_role_html: "%{name} je napravio/-la %{target} poziciju"
+        demote_user_html: "%{name} je smanjio ovlašćenja korisnika %{target}"
+        destroy_announcement_html: "%{name} je obrisao/-la saopštenje %{target}"
+        destroy_canonical_email_block_html: "%{name} je odblokirao/-la imejl adresu sa hešom %{target}"
+        destroy_custom_emoji_html: "%{name} je obrisao/-la emodži %{target}"
+        destroy_domain_allow_html: "%{name} je zabranio/-la federaciju sa domenom %{target}"
+        destroy_domain_block_html: "%{name} je odblokirao/-la domen %{target}"
+        destroy_email_domain_block_html: "%{name} je odblokirao/-la imejl domen %{target}"
+        destroy_instance_html: "%{name} je očistio/-la domen %{target}"
+        destroy_ip_block_html: "%{name} je obrisao/-la uslov za IP adrese %{target}"
+        destroy_status_html: "%{name} je izbrisao/-la objavu korisnika %{target}"
+        destroy_unavailable_domain_html: "%{name} je ponovo uspostavio/-la isporučivanje domenu %{target}"
+        destroy_user_role_html: "%{name} je izbrisao/-la %{target} poziciju"
+        disable_2fa_user_html: "%{name} je onemogućio/-la dvofaktorsku autentifikaciju za korisnika %{target}"
+        disable_custom_emoji_html: "%{name} je onemogućio/-la emodži %{target}"
+        disable_sign_in_token_auth_user_html: "%{name} je onemogućio/-la imejl autentifikaciju za korisnika %{target}"
+        disable_user_html: "%{name} je onemogućio/-la prijavljivanje za korisnika %{target}"
+        enable_custom_emoji_html: "%{name} je omogućio/-la emodži %{target}"
+        enable_sign_in_token_auth_user_html: "%{name} je omogućio/-la imejl autentifikaciju za %{target}"
+        enable_user_html: "%{name} je omogućio/-la prijavljivanje korisniku %{target}"
+        memorialize_account_html: "%{name} je pretvorio/-la nalog korisnika %{target} u memorijalnu stranicu"
+        promote_user_html: "%{name} je unapredio/-la korisnika %{target}"
+        reject_appeal_html: "%{name} je odbio/-la žalbu na moderacijsku odluku koju je priložio korisnik %{target}"
+        reject_user_html: "%{name} je odbio/-la registraciju korisnika %{target}"
+        remove_avatar_user_html: "%{name} je uklonio avatar korisnika %{target}"
+        reopen_report_html: "%{name} je ponovo otvorio/-la prijavu %{target}"
+        resend_user_html: "%{name} je ponovo poslao/-la imejl za potvrdu korisniku %{target}"
+        reset_password_user_html: "%{name} je resetovao/-la lozinku korisnika %{target}"
+        resolve_report_html: "%{name} je rešio/-la prijavu %{target}"
+        sensitive_account_html: "%{name} je označio/-la medije naloga %{target} kao osetljive"
+        silence_account_html: "%{name} je ograničio/-la nalog %{target}"
+        suspend_account_html: "%{name} je suspendovao/-la nalog %{target}"
+        unassigned_report_html: "%{name} je povukao/-la dodelu prijave %{target}"
+        unblock_email_account_html: "%{name} je odblokirao/-la imejl adresu korisnika %{target}"
+        unsensitive_account_html: "%{name} je uklonio/-la oznaku „osetljivo” sa medija naloga %{target}"
+        unsilence_account_html: "%{name} je povukao/-la ograničenje naloga %{target}"
+        unsuspend_account_html: "%{name} je povukao/-la suspenziju naloga %{target}"
+        update_announcement_html: "%{name} je ažurirao/-la saopštenje %{target}"
+        update_custom_emoji_html: "%{name} je ažurirao/-la emodži %{target}"
+        update_domain_block_html: "%{name} je ažurirao/-la blok domena %{target}"
+        update_ip_block_html: "%{name} je promenio/-la IP uslov za %{target}"
+        update_status_html: "%{name} je ažurirao/-la objavu korisnika %{target}"
+        update_user_role_html: "%{name} je promenio/-la poziciju %{target}"
+      deleted_account: obrisan nalog
+      empty: Nije pronađen nijedan log.
+      filter_by_action: Filtriraj po aktivnosti
+      filter_by_user: Filtriraj po korisniku
       title: Zapisnik
+    announcements:
+      destroyed_msg: Saopštenje je uspešno obrisano!
+      edit:
+        title: Uredi najavu
+      empty: Nijedna najava nije pronađena.
+      live: Uživo
+      new:
+        create: Kreiraj najavu
+        title: Nova najava
+      publish: Objavi
+      published_msg: Najava uspešno objavljena!
+      scheduled_for: Zakazano za %{time}
+      scheduled_msg: Saopštenje je zakazano za objavljivanje!
+      title: Najave
+      unpublish: Povuci objavu
+      unpublished_msg: Objava saopštenja je uspešno povučena!
+      updated_msg: Saopštenje je uspešno ažurirano!
     custom_emojis:
+      assign_category: Dodeli kategoriju
       by_domain: Domen
-      copied_msg: Uspešno napravljena lokalna kopija emotikona
+      copied_msg: Uspešno napravljena lokalna kopija emodžija
       copy: Kopiraj
-      copy_failed_msg: Ne mogu da napravim lokalnu kopiju tog emotikona
-      created_msg: Emotikon uspešno napravljen!
+      copy_failed_msg: Ne mogu da napravim lokalnu kopiju tog emotidžija
+      create_new_category: Kreiraj novu kategoriju
+      created_msg: Emodži uspešno napravljen!
       delete: Obriši
-      destroyed_msg: Emotikon uspešno obrisan!
+      destroyed_msg: Emodži uspešno obrisan!
       disable: Onemogući
-      disabled_msg: Emotikon uspešno onemogućen
-      emoji: Emotikon
+      disabled: Onemogućeno
+      disabled_msg: Emodži uspešno onemogućen
+      emoji: Emodži
       enable: Omogući
-      enabled_msg: Emotikon uspešno omogućen
+      enabled: Omogućeno
+      enabled_msg: Emodži uspešno omogućen
+      image_hint: PNG ili GIF fajl veličine do %{size}
+      list: Lista
       listed: Izlistan
       new:
-        title: Dodaj novi proizvoljni emotikon
+        title: Dodaj novi proizvoljni emodži
+      no_emoji_selected: Nijedan emodži nije promenjen jer nijedan nije izabran
+      not_permitted: Niste ovlašćeni da obavljate ovu radnju
       overwrite: Prepiši
       shortcode: Prečica
       shortcode_hint: Najmanje 2 karaktera, dozvoljeni su samo slova, brojevi i donje crte
-      title: Proizvoljni emotikoni
+      title: Proizvoljni emotidžiji
+      uncategorized: Nekategorizovano
+      unlist: Neizlistan
       unlisted: Neizlistan
-      update_failed_msg: Ne mogu da ažuriram ovaj emotikon
-      updated_msg: emotikon uspešno ažuriran!
+      update_failed_msg: Ne mogu da ažuriram ovaj emodži
+      updated_msg: Emodži uspešno ažuriran!
       upload: Otpremi
+    dashboard:
+      active_users: aktivni korisnici
+      interactions: interakcije
+      media_storage: Multimedijalno skladište
+      new_users: novi korisnici
+      opened_reports: otvorene prijave
+      pending_appeals_html:
+        few: "<strong>%{count}</strong> žalbe na čekanju"
+        one: "<strong>%{count}</strong> žalba na čekanju"
+        other: "<strong>%{count}</strong> žalbi na čekanju"
+      pending_reports_html:
+        few: "<strong>%{count}</strong> prijave na čekanju"
+        one: "<strong>%{count}</strong> prijava na čekanju"
+        other: "<strong>%{count}</strong> prijava na čekanju"
+      pending_tags_html:
+        few: "<strong>%{count}</strong> heš oznake na čekanju"
+        one: "<strong>%{count}</strong> heš oznaka na čekanju"
+        other: "<strong>%{count}</strong> heš oznaka na čekanju"
+      pending_users_html:
+        few: "<strong>%{count}</strong> korisnika na čekanju"
+        one: "<strong>%{count}</strong> korisnik na čekanju"
+        other: "<strong>%{count}</strong> korisnika na čekanju"
+      resolved_reports: rešene prijave
+      software: Softver
+      sources: Izvori registracija
+      space: Korišćenje prostora
+      title: Komandna tabla
+      top_languages: Najzastupljeniji jezici
+      top_servers: Najaktivniji serveri
+      website: Vebsajt
+    disputes:
+      appeals:
+        empty: Nijedna žalba nije pronađena.
+        title: Žalbe
+    domain_allows:
+      add_new: Dozvoli federaciju sa domenom
+      created_msg: Domen je uspešno odobren za federaciju
+      destroyed_msg: Domen je odbijen za federaciju
+      export: Izvoz
+      import: Uvoz
+      undo: Zabrani federaciju sa domenom
     domain_blocks:
-      add_new: Dodaj novi
+      add_new: Dodaj novi blok domena
       created_msg: Blokiranje domena se obrađuje
       destroyed_msg: Blokiranje domena je opozvano
       domain: Domen
+      edit: Izmeni blok domena
+      existing_domain_block: Već ste uspostavili stroža ograničenja prema korisniku %{name}.
+      existing_domain_block_html: Već ste uspostavili stroža ograničenja prema %{name}, potrebno je da ga prvo <a href="%{unblock_url}">odblokirate</a>.
+      export: Izvoz
+      import: Uvoz
       new:
         create: Napravi blokadu
         hint: Blokiranje domena neće sprečiti pravljenje naloga u bazi, ali će retroaktivno i automatski primeniti određene moderatorske metode nad tim nalozima.
         severity:
+          desc_html: "<strong>Ograničenje</strong> će sakriti objave naloga sa ovog domena od svakog ko ih ne prati. <strong>Suspenzija</strong> će obrisati sav sadržaj, medije i podatke profila sa naloga ovog domena sa Vašeg servera. Koristite <strong>Ništa</strong> ukoliko samo želite da odbijete medijske fajlove."
           noop: Ništa
+          silence: Ograniči
           suspend: Suspenzija
         title: Novo blokiranje domena
+      no_domain_block_selected: Nijedan blok domena nije promenjen jer nijedan nije izabran
+      not_permitted: Niste ovlašćeni da obavljate ovu radnju
+      obfuscate: Sakrij ime domena
+      obfuscate_hint: Delimično sakrij ime domena na listi ako je reklamiranje liste ograničenih domena omogućeno
+      private_comment: Privatni komentar
+      private_comment_hint: Komentar o ograničenju ovog domena za internu upotrebu od strane moderatora.
+      public_comment: Javni komentar
+      public_comment_hint: Komentar o ograničenju ovog domena za javnost, ukoliko je reklamiranje liste ograničenih domena omogućeno.
       reject_media: Odbaci multimediju
-      reject_media_hint: Uklanja lokalno uskladištene multimedijske fajlove i odbija da ih skida na dalje. Nebitno je za suspenziju
-      undo: Poništi
+      reject_media_hint: Uklanja lokalno uskladištene multimedijske fajlove i odbija da ih skida ubuduće. Nebitno je za suspenziju
+      reject_reports: Odbaci izveštaj
+      reject_reports_hint: Ignoriši sve izveštaje koji dolaze sa ovog domena. Nebitno je za suspenzije
+      undo: Poništi blok domena
+      view: Pročitaj blok domena
     email_domain_blocks:
-      add_new: Dodaj novuAdd new
-      created_msg: Uspešno dodao domen e-pošte na crnu listu
-      delete: Ukloni
+      add_new: Dodaj novi
+      attempts_over_week:
+        few: "%{count} pokušaja tokom prethodne nedelje"
+        one: "%{count} pokušaj tokom prethodne nedelje"
+        other: "%{count} pokušaja registracije tokom prethodne nedelje"
+      created_msg: Uspešno dodao domen E-pošte na crnu listu
+      delete: Obriši
+      dns:
+        types:
+          mx: MX izveštaj
       domain: Domen
       new:
         create: Dodaj domen
-        title: Nova stavka u crnoj listi e-pošti
-      title: Crna lista adresa e-pošte
+        resolve: Pretvori domen
+        title: Nova stavka e-pošte u crnoj listi
+      no_email_domain_block_selected: Nijedan blok imejl domena nije promenjen jer nijedan nije izabran
+      not_permitted: Nije dozvoljeno
+      resolved_dns_records_hint_html: Ime domena se pretvara u sledeće MX domene, koji su naposletku odgovorni za prihvatanje elektronske pošte. Blokiranje MX domena će blokirati registracije sa svake imejl adrese koja koristi taj MX domen, čak i u slučaju kada se vidljivo ime domena razlikuje. <strong>Vodite računa o tome da ne blokirate velike imejl provajdere.</strong>
+      resolved_through_html: Preusmereno kroz %{domain}
+      title: Crna lista E-pošte
+    export_domain_allows:
+      new:
+        title: Uvezi dozvoljene domene
+      no_file: Nijedan fajl nije odabran
+    export_domain_blocks:
+      import:
+        description_html: Upravo ćete uvesti listu blokiranih domena. Molimo Vas, vrlo pažljivo pregledajte ovu listu, posebno ukoliko je niste sami napravili.
+        existing_relationships_warning: Postojeći odnosi u obliku praćenja
+        private_comment_description_html: 'Da bi Vam pomogli da pratite odakle su blokovi uvezeni, uvezeni blokovi će biti napravljeni sa sledećim privatnim komentarom: <q>%{comment}</q>'
+        private_comment_template: Uvezeno sa izvora %{source} na datum %{date}
+        title: Uvezi blokirane domene
+      invalid_domain_block: 'Jedan ili više blokova domena je preskočen zbog sledeće greške tj. grešaka: %{error}'
+      new:
+        title: Uvezi blokirane domene
+      no_file: Nijedan fajl nije odabran
+    follow_recommendations:
+      description_html: "<strong>Predlozi za praćenje pomažu novim korisnicima da brzo pronađu zanimljiv sadržaj</strong>. Kada korisnik nije dovoljno interagovao sa ostalima da bi se za njega formirali personalizovani predlozi za praćenje, ovi nalozi će biti preporučeni umesto toga. Oni se generišu na dnevnoj bazi iz skupa naloga sa najviše nedavnih angažovanja i najviše lokalnih pratilaca za jedan jezik."
+      language: Za jezik
+      status: Status
+      suppress: Potisni preporuke za praćenje
+      suppressed: Potisnuto
+      title: Preporuke za praćenje
+      unsuppress: Vrati preporuku za praćenje
     instances:
-      title: Poznate instance
+      availability:
+        description_html:
+          few: Ukoliko isporuka domenu ne uspe nijednom tokom <strong>%{count} različitih dana</strong>, dalji pokušaji isporuke neće biti inicirani osim ukoliko se ne primi isporuka <em>sa</em> domena.
+          one: Ako isporuka domenu ne uspe nijednom u vremenskom periodu od <strong>%{count} dana</strong>, dalji pokušaji isporuke se neće inicirati osim ukoliko se ne primi isporuka <em>sa</em> domena.
+          other: Ukoliko isporuka domenu ne uspe nijednom tokom <strong>%{count} različitih dana</strong>, dalji pokušaji isporuke se neće inicirati osim ukoliko se ne primi isporuka <em>sa</em> domena.
+        failure_threshold_reached: Prag neuspeha dostignut datuma %{date}.
+        failures_recorded:
+          few: Neuspeli pokušaji tokom %{count} različita dana.
+          one: Neuspeli pokušaj tokom %{count} dana.
+          other: Neuspeli pokušaji tokom %{count} različitih dana.
+        no_failures_recorded: Bez zabeleženih neuspeha.
+        title: Dostupnost
+        warning: Poslednji pokušaj povezivanja sa ovim serverom je bio neuspešan
+      back_to_all: Sve
+      back_to_limited: Ograničeno
+      back_to_warning: Upozorenje
+      by_domain: Domen
+      confirm_purge: Da li ste sigurni da želite da trajno uklonite podatke sa ovog domena?
+      content_policies:
+        comment: Interna beleška
+        description_html: Možete da definišete politiku sadržaja koja će važiti za sve naloge na ovom domenu i svakom od njegovih poddomena.
+        limited_federation_mode_description_html: Možete da odlučite da li da dopustite federaciju sa ovim domenom.
+        policies:
+          reject_media: Odbij multimediju
+          reject_reports: Odbij prijave
+          silence: Ograniči
+          suspend: Suspenduj
+        policy: Politika
+        reason: Javni razlog
+        title: Politika sadržaja
+      dashboard:
+        instance_accounts_dimension: Najpraćeniji nalozi
+        instance_accounts_measure: uskladišteni nalozi
+        instance_followers_measure: naši pratioci ovde
+        instance_follows_measure: njihovi pratioci ovde
+        instance_languages_dimension: Najzastupljeniji jezici
+        instance_media_attachments_measure: uskladišteni multimedijalni prilozi
+        instance_reports_measure: prijave protiv njih
+        instance_statuses_measure: uskladištene objave
+      delivery:
+        all: Sve
+        clear: Očisti greške prilikom isporuke
+        failing: Bez uspeha
+        restart: Započni isporuku ponovo
+        stop: Obustavi isporuku
+        unavailable: Nedostupno
+      delivery_available: Dostava je dostupna
+      delivery_error_days: Dani neuspešnih isporuka
+      delivery_error_hint: Ukoliko isporuka nije moguća %{count} dana, automatski će biti obeležena kao neisporučiva.
+      destroyed_msg: Podaci sa %{domain} su sada u redu za čekanje za izvesno brisanje.
+      empty: Nijedan domen nije pronađen.
+      known_accounts:
+        few: "%{count} poznata naloga"
+        one: "%{count} poznat nalog"
+        other: "%{count} poznatih naloga"
+      moderation:
+        all: Sve
+        limited: Ograničeno
+        title: Moderacija
+      private_comment: Privatni komentar
+      public_comment: Javni komentar
+      purge: Čistka
+      purge_description_html: Ukoliko verujete da je ovaj domen trajno ugašen, možete da obrišete sve zapise naloga i srodne podatke ovog domena sa svog skladišta. Ovo može da potraje.
+      title: Federacija
+      total_blocked_by_us: Blokirano od strane nas
+      total_followed_by_them: Praćeni od strane njih
+      total_followed_by_us: Praćeni od strane nas
+      total_reported: Prijave vezane za njih
+      total_storage: Multimedijalni prilozi
+      totals_time_period_hint_html: Ukupne vrednosti prikazane ispod uključuju podatke za sva vremena.
     invites:
+      deactivate_all: Deaktiviraj sve
       filter:
         all: Sve
-        available: Aktivne
-        expired: Istekle
+        available: Dostupni
+        expired: Istekli
+        title: Filter
       title: Pozivnice
+    ip_blocks:
+      add_new: Napravi pravilo
+      created_msg: Uspešno je dodato novo IP pravilo
+      delete: Izbriši
+      expires_in:
+        '1209600': 2 nedelje
+        '15778476': 6 meseci
+        '2629746': 1 mesec
+        '31556952': 1 godina
+        '86400': 1 dan
+        '94670856': 3 godine
+      new:
+        title: Kreiraj novo IP pravilo
+      no_ip_block_selected: Nijedno IP pravilo nije promenjeno jer nijedno nije izabrano
+      title: IP pravila
+    relationships:
+      title: Odnosi korisnika %{acct}
+    relays:
+      add_new: Dodaj novi relej
+      delete: Obriši
+      description_html: "<strong>Federalni relej</strong> je posrednički server koji razmenjuje velike količine javnih truba između servera na koji je pretplaćen i na koji objavljuje.<strong>Može pomoći malim i srednjim serverima da otkriju sadržaj iz fediversa</strong>, koji inače zahteva od lokalnih korisnika da ručno pratiti ostale ljude na udaljenim serverima."
+      disable: Isključi
+      disabled: Isključen
+      enable: Uključi
+      enable_hint: Kada se omogući, vaš server će biti pretplaćen na sve javne objave sa ovog releja, i počeće da šalje javne objave ovog servera na njega.
+      enabled: Uključen
+      inbox_url: URL Releja
+      pending: Čeka se odobrenje releja
+      save_and_enable: Sačuvaj i omogući
+      setup: Podesi vezu releja
+      signatures_not_enabled: Prenosi možda neće raditi ispravno dok je uključen bezbedni režim ili režim ograničene federacije
+      status: Status
+      title: Releji
+    report_notes:
+      created_msg: Beleška prijave uspešno napravljena!
+      destroyed_msg: Beleška prijave uspešno izbrisana!
     reports:
+      account:
+        notes:
+          few: "%{count} beleške"
+          one: "%{count} beleška"
+          other: "%{count} beležaka"
+      action_log: Zapisnik
       action_taken_by: Akciju izveo
+      actions:
+        delete_description_html: Prijavljene objave će biti obrisane i prekršaj će biti upisan da bi Vam olakšali intervenciju prilikom budućih prestupa sa istog naloga.
+        mark_as_sensitive_description_html: Multimedijalni sadržaj sa prijavljenih objava će biti označen kao osetljiv i prekršaj će biti upisan radi lakše intervencije u slučaju daljih prekršaja sa istog naloga.
+        other_description_html: Pogledajte više opcija za kontrolisanje ponašanja naloga i prilagodite komunikaciju sa prijavljenim nalogom.
+        resolve_description_html: Nijedna radnja neće biti preduzeta protiv prijavljenog naloga, nijedan prestup nije upisan i prijava će biti zatvorena.
+        silence_description_html: Nalog će biti vidljiv samo onima koji ga već prate ili koji ga ručno potraže, što će značajno ograničiti njegov domet. Ograničenje se može povući u svakom trenutku. Zatvara sve prijave podnete protiv ovog naloga.
+        suspend_description_html: Nalog i svi njegovi sadržaji će postati nedostupni i u jednom trenutku izbrisani, a interakcija sa nalogom više neće biti moguća. Suspenzija se može povući u roku od 30 dana. Zatvara sve prijave podnete protiv ovog naloga.
+      actions_description_html: Odlučite koju radnju da sprovedete radi rešavanja ove prijave. Ukoliko sprovedete kaznenu radnju protiv prijavljenog naloga, vlasnik naloga će biti obavešten putem i-mejla, osim ukoliko oznaka <strong>„Nepoželjne poruke”</strong> nije odabrana.
+      actions_description_remote_html: Odlučite koju radnju da preduzmete radi rešavanja ove prijave. Ovo će uticati samo na to kako <strong>Vaš</strong> server komunicira sa ovim udaljenim nalogom i obrađuje njegov sadržaj.
+      add_to_report: Dodaj još u prijavu
       are_you_sure: Da li ste sigurni?
+      assign_to_self: Dodeli meni
+      assigned: Dodeljeni moderator
+      by_target_domain: Domen prijavljenog naloga
+      cancel: Otkaži
+      category: Kategorija
+      category_description_html: Razlog zbog kog je ovaj nalog i/ili sadržaj prijavljen će biti obrazložen u komunikaciji sa prijavljenim nalogom
       comment:
         none: Ništa
-      mark_as_resolved: Označi kao rešen
+      comment_description_html: 'Radi pružanja više informacija, %{name} je napisao/-la:'
+      confirm: Potvrdi
+      confirm_action: Potvrdi moderacijsku radnju prema @%{acct}
+      created_at: Prijavljena
+      delete_and_resolve: Obriši objave
+      forwarded: Prosleđeno
+      forwarded_to: Prosleđeno ka %{domain}
+      mark_as_resolved: Označi kao rešenu
+      mark_as_sensitive: Obeleži kao osetljivo
+      mark_as_unresolved: Označi kao nerešenu
+      no_one_assigned: Niko
+      notes:
+        create: Dodaj belešku
+        create_and_resolve: Reši sa beleškom
+        create_and_unresolve: Otvori ponovo sa beleškom
+        delete: Obriši
+        placeholder: Opišite kakve su radnje preduzete, ili bilo kakve povezane novosti...
+        title: Beleške
+      notes_description_html: Pročitajte i ostavite napomene drugim moderatorima i sebi u budućnosti
+      processed_msg: 'Prijava #%{id} uspešno obrađena'
+      quick_actions_description_html: 'Preduzmite brzu radnju ili se spustite niže da biste videli prijavljeni sadržaj:'
+      remote_user_placeholder: udaljeni korisnik sa %{instance}
+      reopen: Otvori prijavu ponovo
       report: 'Prijava #%{id}'
       reported_account: Prijavljeni nalog
       reported_by: Prijavio
-      resolved: Rešeni
+      resolved: Rešena
+      resolved_msg: Prijava uspešno razrešena!
+      skip_to_actions: Preskoči do radnji
+      status: Status
+      statuses: Prijavljeni sadržaj
+      statuses_description_html: Sporni sadržaj će biti naveden u komunikaciji sa prijavljenim nalogom
+      summary:
+        action_preambles:
+          delete_html: 'Upravo ćete <strong>obrisati</strong> neke od objava korisnika <strong>@%{acct}</strong>. Ovo će:'
+          mark_as_sensitive_html: 'Upravo ćete <strong>označiti</strong> neke objave korisnika <strong>@%{acct}</strong> kao <strong>osetljive</strong>. Ovo će:'
+          silence_html: 'Upravo ćete <strong>ograničiti</strong> nalog korisnika <strong>@%{acct}</strong>. Ovo će:'
+          suspend_html: 'Upravo ćete <strong>suspendovati</strong> nalog korisnika <strong>@%{acct}</strong>. Ovo će:'
+        actions:
+          delete_html: Obrišite sporne objave
+          mark_as_sensitive_html: Obeležite medije spornih objava kao osetljive
+          silence_html: Žestoko ograničite domet korisnika <strong>@%{acct}</strong> tako što ćete učiniti njegov profil i sadržaje vidljive samo ljudima koji ih već prate i ljudima koji ručno potraže profil
+          suspend_html: Suspendujte korisnika <strong>@%{acct}</strong>, što će učiniti njegov profil i sadržaje nedostupnim za pristup i interakciju
+        close_report: 'Označite prijavu #%{id} kao rešenu'
+        close_reports_html: Označi <strong>sve</strong> prijave protiv <strong>@%{acct}</strong> kao rešene
+        delete_data_html: Obriši profil i sadržaje korisnika <strong>@%{acct}</strong> za 30 dana osim ukoliko suspenzija bude povučena u međuvremenu
+        preview_preamble_html: "<strong>@%{acct}</strong> će primiti upozorenje sledeće sadržine:"
+        record_strike_html: Upišite prekršaj na ime <strong>@%{acct}</strong> da bi Vam bilo lakše da u budućnosti intervenišete prilikom daljih prestupa sa ovog naloga
+        send_email_html: Pošalji imejl upozorenja korisniku <strong>@%{acct}</strong>
+        warning_placeholder: Opciono dodatno obrazloženje za moderacijsku radnju.
+      target_origin: Poreklo prijavljenog naloga
       title: Prijave
-      unresolved: Nerešeni
+      unassign: Ukloni dodelu
+      unknown_action_msg: 'Nepoznata radnja: %{action}'
+      unresolved: Nerešene
+      updated_at: Ažurirana
+      view_profile: Pogledaj profil
+    roles:
+      add_new: Dodaj ulogu
+      assigned_users:
+        few: "%{count} korisnika"
+        one: "%{count} korisnik"
+        other: "%{count} korisnika"
+      categories:
+        administration: Administracija
+        devops: DevOps
+        invites: Pozivnice
+        moderation: Moderacija
+        special: Posebno
+      delete: Izbriši
+      description_html: Pomoću <strong>korisničkih uloga</strong> možete da podesite kojim funkcijama i delovima Mastodona Vaši korisnici mogu da pristupe.
+      edit: Izmeni ulogu '%{name}'
+      everyone: Podrazumevana ovlašćenja
+      everyone_full_description_html: Ovo je <strong>osnovna uloga</strong> koja se odnosi na <strong>sve korisnike</strong>, čak i one kojima nije dodeljena uloga. Sve druge uloge nasleđuju ovlašćenja od osnovne uloge.
+      permissions_count:
+        few: "%{count} dozvole"
+        one: "%{count} dozvola"
+        other: "%{count} dozvola"
+      privileges:
+        administrator: Administrator
+        administrator_description: Korisnici sa ovom privilegijom mogu da zaobiđu sva druga ograničenja
+        delete_user_data: Izbriši podatke korisnika
+        delete_user_data_description: Dopušta korisnicima da izbrišu podatke drugih korisnika bez odlaganja
+        invite_users: Pozovi korisnike
+        invite_users_description: Dopušta korisnicima da pozove nove ljude na server
+        manage_announcements: Upravljaj obaveštenjima
+        manage_announcements_description: Dopušta korisnicima da rukovode saopštenjima na serveru
+        manage_appeals: Nadgledanje žalbi
+        manage_appeals_description: Dopušta korisnicima da pregledaju žalbe na moderacijske radnje
+        manage_blocks: Nadgledanje blokova
+        manage_blocks_description: Dopušta korisnicima da blokiraju imejl provajdere i IP adrese
+        manage_custom_emojis: Nadležnost nad prilagođenim emodžijima
+        manage_custom_emojis_description: Daje korisnicima kontrolu nad prilagođenim emodžijima na serveru
+        manage_federation: Nadgledanje federacije
+        manage_federation_description: Dopušta korisnicima da blokiraju ili dozvole federaciju sa drugim domenima i kontrolišu isporučivanje podataka drugim serverima
+        manage_invites: Nadgledanje pozivnica
+        manage_invites_description: Dopušta korisnicima da pretražuju i deaktiviraju pozivnice
+        manage_reports: Nadgledanje prijava
+        manage_reports_description: Dopušta korisnicima da pregledaju prijave i izvršavaju moderacijske radnje nad njima
+        manage_roles: Upravljaj ulogama
+        manage_roles_description: Dopušta korisnicima da nadgledaju i dodeljuju uloge sa nižim ovlašćenjima od njihove
+        manage_rules: Upravljaj pravilima
+        manage_rules_description: Dozvoli korisnicima da menjaju pravila servera
+        manage_settings: Upravljaj postavkama
+        manage_settings_description: Dozvoli korisnicima da menjaju postavke sajta
+        manage_taxonomies: Nadgledanje taksonomija
+        manage_taxonomies_description: Dopušta korisnicima da pregledaju sadržaj u trendu i ažuriraju postavke heš oznaka
+        manage_user_access: Nadležnost nad korisničkim pristupom
+        manage_user_access_description: Dopušta korisnicima da onemoguće dvofaktorsku autentifikaciju drugih korisnika, menjaju im imejl adrese i resetuju im lozinke
+        manage_users: Nadležnost nad korisnicima
+        manage_users_description: Dopušta korisnicima da pročitaju detalje drugih korisnika i izvršavaju moderacijske radnje nad njima
+        manage_webhooks: Nadležnost nad webhook elementima
+        manage_webhooks_description: Dopušta korisnicima da uspostave webhook elemente za administrativne radnje
+        view_audit_log: Pročitaj zapisnik revizija
+        view_audit_log_description: Dopušta korisnicima da vide istoriju administrativnih radnji na serveru
+        view_dashboard: Pogledaj kontrolni panel
+        view_dashboard_description: Dopušta korisnicima da pristupe kontrolnom panelu i raznim metrikama
+        view_devops: DevOps
+        view_devops_description: Dopušta korisnicima da pristupe Sidekiq i pgHero kontrolnim panelima
+      title: Uloge
+    rules:
+      add_new: Dodaj pravilo
+      delete: Izbriši
+      description_html: Dok većina tvrdi da je pročitala i slaže se sa uslovima korišćenja, ljudi ih obično ne čitaju sve dok se ne javi problem. <strong>Učinite pravila Vašeg servera čitljivijim i pristupačnijim tako što ćete ih izložiti u formi liste.</strong> Potrudite se da pojedinačna pravila budu kratka i jednostavna, ali pokušajte i da ih ne iscepkate u previše odvojenih stavki.
+      edit: Uredi pravilo
+      empty: Nijedno pravilo servera još nije definisano.
+      title: Pravila servera
+    settings:
+      about:
+        manage_rules: Upravljanje pravilima servera
+        preamble: Pružite detaljne informacije o tome kako se server vodi, moderira i finansira.
+        rules_hint: Postoji predviđeno mesto za pravila koja se od korisnika očekuje da poštuju.
+        title: Naziv
+      appearance:
+        preamble: Prilagodite veb interfejs Mastodona.
+        title: Izgled
+      branding:
+        preamble: Brendiranje Vašeg servera ga izdvaja od drugih servera na mreži. Ove informacije mogu biti prikazane u raznim okruženjima, poput Mastodonovog veb interfejsa, nativnih aplikacija, u pregledima linkova na drugim serverima i u aplikacijama za razmenu poruka, itd. Iz ovog razloga, najbolje je da ove informacije budu kratke, jasne i koncizne.
+        title: Brendiranje
+      content_retention:
+        preamble: Kontrolišite kako se sadržaj generisan od strane korisnika skladišti na Mastodonu.
+        title: Zadržavanje sadržaja
+      default_noindex:
+        desc_html: Utiče na sve korisnike koji nisu sami promenili ovu postavku
+        title: Podrazumevano isključi korisnike iz indeksiranja pretraživača
+      discovery:
+        follow_recommendations: Preporuke za praćenje
+        preamble: Održavanje zanimljivih sadržaja na površini je ključno u privlačenju novih korisnika koji možda ne znaju nikoga na Mastodonu. Kontrolišite kako različiti načini istraživanja funkcionišu na Vašem serveru.
+        profile_directory: Direktorijum profilâ
+        public_timelines: Javne vremenske linije
+        publish_discovered_servers: Objavi otkrivene servere
+        publish_statistics: Objavi statistiku
+        title: Otkrivanje
+        trends: Trendovi
+      domain_blocks:
+        all: Svima
+        disabled: Nikome
+        users: Prijavljenim lokalnim korisnicima
+      registrations:
+        preamble: Kontrolišite ko sme da napravi nalog na Vašem serveru.
+        title: Registracije
+      registrations_mode:
+        modes:
+          approved: Odobrenje neophodno za registraciju
+          none: Niko ne može da se registruje
+          open: Bilo ko može da se registruje
+      title: Podešavanja servera
+    site_uploads:
+      delete: Obriši otpremljeni fajl
+      destroyed_msg: Otpremanje uspešno obrisano!
     statuses:
+      account: Autor
+      application: Aplikacija
       back_to_account: Nazad na stranu naloga
+      back_to_report: Nazad na stranicu sa prijavama
+      batch:
+        remove_from_report: Uklonite iz prijave
+        report: Prijavi
+      deleted: Obrisano
+      favourites: Omiljeno
+      history: Istorija verzijâ
+      in_reply_to: Odgovor na
+      language: Jezik
       media:
         title: Multimedija
+      metadata: Meta podaci
+      no_status_selected: Nijedan status nije promenjen jer nijedan nije izabran
+      open: Otvori objavu
+      original_status: Originalna objava
+      reblogs: Deljenja
+      status_changed: Objava promenjena
       title: Statusi naloga
+      trending: U trendu
+      visibility: Vidljivost
       with_media: Sa multimedijom
+    strikes:
+      actions:
+        delete_statuses: "%{name} je obrisao/-la objave %{target}"
+        disable: "%{name} je zamrznuo nalog korisnika %{target}"
+        mark_statuses_as_sensitive: "%{name} je označio/-la objave korisnika %{target} kao osetljive"
+        none: "%{name} je poslao/-la upozorenje korisniku %{target}"
+        sensitive: "%{name} je obeležio/-la nalog %{target} kao osetljiv"
+        silence: "%{name} je ograničio/-la nalog %{target}"
+        suspend: "%{name} je suspendovao/-la nalog %{target}"
+      appeal_approved: Žalba uvažena
+      appeal_pending: Žalba u razmatranju
+      appeal_rejected: Žalba odbijena
+    system_checks:
+      database_schema_check:
+        message_html: Selidbe bazâ podataka su na čekanju. Molimo Vas obavite ih da bi se aplikacija ponašala kako treba
+      elasticsearch_running_check:
+        message_html: Povezivanje na Elasticsearch nije bilo moguće. Molimo Vas proverite da li je pokrenut, ili onemogućite pretragu celog teksta
+      elasticsearch_version_check:
+        message_html: 'Neusklađena Elasticsearch verzija: %{value}'
+        version_comparison: Elasticsearch %{running_version} je instaliran a %{required_version} je neophodan
+      rules_check:
+        action: Upravljanje pravilima servera
+        message_html: Niste definisali nijedno pravilo servera.
+      sidekiq_process_check:
+        message_html: Nijedan Sidekiq proces nije pokrenut za red(ove) %{value}. Molimo Vas pregledajte svoju Sidekiq konfiguraciju
+    tags:
+      review: Pregledaj status
+      updated_msg: Podešavanja heš oznaka uspešno ažurirana
     title: Administracija
+    trends:
+      allow: Dozvoli
+      approved: Odobreno
+      disallow: Zabrani
+      links:
+        allow: Dozvoli link
+        allow_provider: Dozvoli izdavača
+        description_html: Ovo su linkovi koji se trenutno često dele među nalozima koje Vaš server vidi. Može pomoći Vašim korisnicima da saznaju šta se dešava u svetu. Nijedan link nije javno prikazan sve dok Vi ne odobrite izdavača. Takođe možete da dozvolite ili odbijete zasebne linkove.
+        disallow: Zabrani link
+        disallow_provider: Zabrani izdavača
+        no_link_selected: Nijedan link nije promenjen jer nijedan nije izabran
+        publishers:
+          no_publisher_selected: Nijedan izdavač nije promenjen jer nijedan nije izabran
+        shared_by_over_week:
+          few: Podeljen od strane %{count} osobe tokom prethodne nedelje
+          one: Podeljen od strane jedne osobe tokom prethodne nedelje
+          other: Podeljen od strane %{count} osoba tokom prethodne nedelje
+        title: Linkovi u trendu
+        usage_comparison: Podeljeno %{today} puta danas, u poređenju sa %{yesterday} puta juče
+      not_allowed_to_trend: Nije odobreno za trend
+      only_allowed: Samo dozvoljeno
+      pending_review: Pregled na čekanju
+      preview_card_providers:
+        allowed: Linkovi sa ovog izvora mogu da budu „u trendu”
+        description_html: Ovo su domeni čiji se linkovi često dele na Vašem serveru. Linkovi neće biti javno prikazani kao „u trendu” osim ukoliko je domen linkova odobren. Vaše odobrenje (ili odbijanje) se prenosi i na poddomene.
+        rejected: Linkovi sa ovog izvora neće biti „u trendu”
+        title: Izdavači
+      rejected: Odbijen
+      statuses:
+        allow: Dozvoli objavu
+        allow_account: Odobri autora
+        description_html: Ovo su objave za koje Vaš server zna, a koje se trenutno često dele i koje korisnici često stavljaju u „omiljene”. Mogu pomoći Vašim novim korisnicima i povratnicima da pronađu još ljudi za praćenje. Nijedna objava nije prikazana javno sve dok Vi ne odobrite autora, odnosno dok autor ne dozvoli da njegov/njen nalog bude preporučen drugima. Takođe možete da odobrite ili odbijete zasebne objave.
+        disallow: Zabrani objavu
+        disallow_account: Zabrani autora
+        no_status_selected: Nijedna objava u trendu nije promenjena jer nijedna nije izabrana
+        not_discoverable: Autor nije dao saglasnost da bude preporučen
+        shared_by:
+          few: Podeljeno i stavljeno u „omiljene” %{friendly_count} puta
+          one: Podeljeno ili stavljeno u „omiljene” jednom
+          other: Podeljeno i stavljeno u „omiljene” %{friendly_count} puta
+        title: Objave u trendu
+      tags:
+        current_score: Trenutna vrednost %{score}
+        dashboard:
+          tag_accounts_measure: jedinstvene upotrebe
+          tag_languages_dimension: Najzastupljeniji jezici
+          tag_servers_dimension: Najaktivniji serveri
+          tag_servers_measure: različiti serveri
+          tag_uses_measure: ukupno upotreba
+        description_html: Ovo su heš oznake koje se trenutno često pojavljuju u objavama koje Vaš server vidi. Mogu pomoći Vašim korisnicima da otkriju o čemu se trenutno najviše govori. Nijedna heš oznaka nije prikazana javno sve dok Vi to ne odobrite.
+        listable: Može se preporučiti
+        no_tag_selected: Nijedna oznaka nije izmenjena jer nijedna nije izabrana
+        not_listable: Neće biti preporučeno
+        not_trendable: Neće se pojavljivati u trendovima
+        not_usable: Ne može se koristiti
+        peaked_on_and_decaying: Vrhunac dostignut datuma %{date}, od tada u opadanju
+        title: Heš oznake u trendu
+        trendable: Može da se pojavi pod trendovima
+        trending_rank: 'U trendu #%{rank}'
+        usable: Može se koristiti
+        usage_comparison: Upotrebljeno %{today} puta danas, u poređenju sa %{yesterday} puta juče
+        used_by_over_week:
+          few: Korišćeno od strane %{count} osobe tokom prethodne nedelje
+          one: Korišćeno od strane jedne osobe tokom prethodne nedelje
+          other: Korišćeno od strane %{count} ljudi tokom prethodne nedelje
+      title: Trendovi
+      trending: U trendu
+    warning_presets:
+      add_new: Dodaj novi
+      delete: Izbriši
+      edit_preset: Uredi preset upozorenja
+      empty: Još uvek niste definisali nijedan šablon upozorenja.
+      title: Upravljaj presetima upozorenja
+    webhooks:
+      add_new: Dodaj krajnju tačku
+      delete: Izbriši
+      description_html: "<strong>Webhook</strong> omogućava Mastodonu da Vašoj aplikaciji isporučuje <strong>obaveštenja u realnom vremenu</strong> o odabranim događajima, tako da Vaša aplikacija može da <strong>automatski izazove reakciju</strong>."
+      disable: Onemogući
+      disabled: Onemogućeno
+      edit: Izmeni krajnju tačku
+      empty: Još uvek nemate nijednu konfigurisanu webhook krajnju tačku.
+      enable: Omogući
+      enabled: Aktivno
+      enabled_events:
+        few: "%{count} omogućena događaja"
+        one: 1 omogućen događaj
+        other: "%{count} omogućenih događaja"
+      events: Događaji
+      new: Novi webhook
+      rotate_secret: Rotacija tajni
+      secret: Tajno potpisivanje
+      status: Status
+      title: Veb-presretač
+      webhook: Veb-presretač
   admin_mailer:
+    new_appeal:
+      actions:
+        delete_statuses: obrisati objave korisnika
+        disable: zamrznuti nalog korisnika
+        mark_statuses_as_sensitive: označiti objave korisnika kao osetljive
+        none: upozorenje
+        sensitive: označiti nalog kao osetljiv
+        silence: ograničiti nalog
+        suspend: suspendovati nalog
+      body: "%{target} prilaže žalbu na moderacijsku odluku korisnika %{action_taken_by} od %{date}, koja je glasila %{type}. U žalbi piše:"
+      next_steps: Možete uvažiti žalbu da biste povukli moderacijsku odluku, ili je možete ignorisati.
+      subject: "%{username} prilaže žalbu na moderacijsku odluku sa %{instance}"
+    new_pending_account:
+      body: Detalji novog naloga su navedeni dole. Možete odobriti ili odbiti ovaj zahtev.
+      subject: Nov nalog za pregled na %{instance} (%{username})
     new_report:
       body: "%{reporter} je prijavio %{target}"
+      body_remote: Neka sa domena %{domain} je prijavio %{target}
       subject: Nova prijava za %{instance} (#%{id})
+    new_trends:
+      body: 'Sledeće stavke je potrebno pregledati pre nego što mogu javno da se prikažu:'
+      new_trending_links:
+        title: Linkovi u trendu
+      new_trending_statuses:
+        title: Objave u trendu
+      new_trending_tags:
+        no_approved_tags: Trenutno nema odobrenih heš oznaka u trendu.
+        requirements: 'Bilo koji od sledećih kandidata bi mogao prevazići #%{rank} odobrenu heš oznaku u trendu, koja je trenutno #%{lowest_tag_name} sa vrednošću %{lowest_tag_score}.'
+        title: Heš oznake u trendu
+      subject: Novi trendovi za pregled na %{instance}
+  aliases:
+    add_new: Napravi pseudonim
+    created_msg: Uspešno je napravljen novi pseudonim. Sada možete inicirati preseljenje sa starog naloga.
+    deleted_msg: Uspešno je uklonjen pseudonim. Premeštanje sa tog naloga na ovaj više neće biti moguće.
+    empty: Nemate nijedan pseudonim.
+    hint_html: Ako želite da se preselite sa drugog naloga na ovaj, ovde možete napraviti pseudonim, koji je neophodan pre nego što možete nastaviti sa prebacivanjem pratilaca sa starog naloga na ovaj. Ova radnja sama po sebi je <strong>bezopasna i reverzibilna</strong>. <strong>Preseljenje naloga se inicira sa starog naloga</strong>.
+    remove: Odveži pseudonim
+  appearance:
+    advanced_web_interface: Napredno veb okruženje
+    advanced_web_interface_hint: 'Ako želite da iskoristite celu širinu ekrana, napredno veb okruženje vam omogućuje da konfigurišete mnogo različitih kolona da biste videli onoliko informacija u isto vreme koliko želite: početnu stranicu, obaveštenja, združenu vremensku liniju, bilo koji broj lista i heš oznaka.'
+    animations_and_accessibility: Animacije i pristupačnost
+    confirmation_dialogs: Dijalozi potvrde
+    discovery: Otkrivanje
+    localization:
+      body: Mastodon prevode dobrovoljci.
+      guide_link: https://crowdin.com/project/mastodon
+      guide_link_text: Svako može doprineti.
+    sensitive_content: Osetljiv sadržaj
+    toot_layout: Raspored objava
   application_mailer:
+    notification_preferences: Promeni preference E-pošte
+    salutation: Poštovani %{name},
     settings: 'Promeni podešavanja e-pošte: %{link}'
     view: 'Pogledaj:'
+    view_profile: Pogledaj nalog
+    view_status: Pogledaj status
   applications:
     created: Aplikacija uspešno napravljena
     destroyed: Aplikacija uspešno obrisana
+    logout: Odjava
     regenerate_token: Rekreiraj pristupni token
     token_regenerated: Pristupni token uspešno rekreiran
     warning: Oprezno sa ovim podacima. Nikad je ne delite ni sa kim!
     your_token: Vaš pristupni token
   auth:
-    delete_account: Obriši nalog
-    delete_account_html: Ako želite da obrišete Vaš nalog, možete <a href="%{path}">nastaviti ovde</a>. Bićete upitani da potvrdite.
+    apply_for_account: Zatražite nalog
+    change_password: Lozinka
+    confirmations:
+      wrong_email_hint: Ako ta imejl adresa nije ispravna, možete je promeniti u podešavanjima naloga.
+    delete_account: Brisanje naloga
+    delete_account_html: Ako želite da izbrišete vaš nalog, možete <a href="%{path}">nastaviti ovde</a>. Od vas će se tražiti potvrda.
+    description:
+      prefix_invited_by_user: "@%{name} Vas poziva da se pridružite ovom serveru Mastodona!"
+      prefix_sign_up: Pridružite se Mastodonu danas!
+      suffix: Sa nalogom, moći ćete da pratite ljude, objavljujete novosti i razmenjujete poruke sa korisnicima bilo kog Mastodon servera i više!
     didnt_get_confirmation: Niste dobili poruku sa uputstvima za potvrdu naloga?
+    dont_have_your_security_key: Nemate sigurnosni ključ?
     forgot_password: Zaboravili ste lozinku?
     invalid_reset_password_token: Token za resetovanje lozinke je neispravan ili je istekao. Zatražite novi.
+    link_to_otp: Unesite dvofaktorski kod sa svog telefona ili rezervni kod
+    link_to_webauth: Koristite svoj sigurnosni ključ
+    log_in_with: Prijavite se pomoću
     login: Prijavi se
     logout: Odjava
-    migrate_account: Pomeri u drugi nalog
+    migrate_account: Premeštanje u drugi nalog
     migrate_account_html: Ako želite da preusmerite ovaj nalog na neki drugi, možete to <a href="%{path}">podesiti ovde</a>.
+    or_log_in_with: Ili se prijavite sa
+    privacy_policy_agreement_html: Pročitao/-la sam i saglasan/-a sam sa <a href="%{privacy_policy_path}" target="_blank">politikom privatnosti</a>
+    providers:
+      cas: CAS-om
+      saml: SAML-om
     register: Registruj se
+    registration_closed: "%{instance} ne prima nove članove"
     resend_confirmation: Pošalji poruku sa uputstvima o potvrdi naloga ponovo
     reset_password: Resetuj lozinku
+    rules:
+      accept: Prihvati
+      back: Nazad
+      preamble: Ovo su pravila koja su uspostavili i koja sprovode moderatori servera %{domain}.
+      title: Neka osnovna pravila.
     security: Bezbednost
     set_new_password: Postavi novu lozinku
+    setup:
+      email_below_hint_html: Ako je imejl adresa ispod neispravna, možete je promeniti ovde i dobiti novi imejl potvrde.
+      email_settings_hint_html: Imejl potvrde je poslat na %{email}. Ako ta imejl adresa nije ispravna, možete je promeniti u podešavanjima naloga.
+      title: Postavljanje
+    sign_in:
+      preamble_html: Prijavite se sa svojim podacima za <strong>%{domain}</strong>. Ako se Vaš nalog nalazi na drugom serveru, nećete moći da se prijavite ovde.
+      title: Prijavite se na %{domain}
+    sign_up:
+      preamble: Sa nalogom na ovom Mastodon serveru, moći ćete da pratite bilo koga sa mreže, bez obzira na to na kom serveru se njegov/njen nalog nalazi.
+      title: Hajde da Vam namestimo nalog na %{domain}.
+    status:
+      account_status: Status naloga
+      confirming: Čekanje na potvrdu putem imejla.
+      functional: Vaš nalog je potpuno operativan.
+      pending: Vaš zahtev je na čekanju za pregled od strane našeg osoblja. Ovo može potrajati neko vreme. Primićete imejl poruku ukoliko Vam zahtev bude odobren.
+      redirecting_to: Vaš nalog je neaktivan jer preusmerava na %{acct}.
+      view_strikes: Pogledajte prethodne prestupe upisane na Vaše ime
+    too_fast: Formular je podnet prebrzo, pokušajte ponovo.
+    use_security_key: Koristite sigurnosni ključ
   authorize_follow:
+    already_following: Već pratite ovaj nalog
+    already_requested: Već ste poslali zahtev za praćenje tom nalogu
     error: Nažalost, desila se greška pri traženju udaljenog naloga
     follow: Zaprati
     follow_request: 'Poslali ste zahtev za praćenjen za:'
     following: 'Sjajno! Sada pratite:'
     post_follow:
       close: Ili možete zatvoriti ovaj prozor.
-      return: Vrati se na profil ovog korisnika
+      return: Vrati se na nalog ovog korisnika
       web: Idi na veb
     title: Zaprati %{acct}
+  challenge:
+    confirm: Nastavi
+    hint_html: "<strong>Savet:</strong> Nećemo Vas pitati za lozinku ponovo u narednih sat vremena."
+    invalid_password: Neispravna lozinka
+    prompt: Potvrdite lozinku za nastavak
+  crypto:
+    errors:
+      invalid_key: nije validan Ed25519 ili Curve25519 ključ
+      invalid_signature: nije validan Ed25519 potpis
+  date:
+    formats:
+      default: "%d. %b. %Y."
+      with_month_name: "%d. %B %Y."
   datetime:
     distance_in_words:
+      about_x_hours: "%{count} č."
       about_x_months: "%{count}mesec"
       about_x_years: "%{count}god"
       almost_x_years: "%{count}god"
       half_a_minute: Upravo sad
+      less_than_x_minutes: "%{count} min."
       less_than_x_seconds: Upravo sad
       over_x_years: "%{count}god"
+      x_days: "%{count}d"
+      x_minutes: "%{count} min."
       x_months: "%{count}mesec"
+      x_seconds: "%{count} sek."
   deletes:
+    challenge_not_passed: Lozinka koju ste uneli nije bila ispravna
     confirm_password: Unesite trenutnu lozinku da bismo proverili Vaš identitet
+    confirm_username: Unesite svoje korisničko ime da biste potvrdili proceduru
     proceed: Obriši nalog
     success_msg: Vaš nalog je uspešno obrisan
+    warning:
+      before: 'Pre nego što nastavite, molimo Vas pažljivo pročitajte sledeće napomene:'
+      caches: Sadržaj koji je keširan na drugim serverima može da ostane netaknut
+      data_removal: Vaše objave i drugi podaci će biti trajno izbrisani
+      email_change_html: Možete <a href="%{path}">promeniti svoju imejl adresu</a> bez brisanja svog naloga
+      email_contact_html: Ako poruka i dalje ne stiže, možete poslati mejl na <a href="mailto:%{email}">%{email}</a> za pomoć
+      email_reconfirmation_html: Ukoliko Vam imejl za potvrdu ne stiže, možete ga <a href="%{path}">ponovo zatražiti</a>
+      irreversible: Nećete biti u mogućnosti da vratite ili reaktivirate svoj nalog
+      more_details_html: Za više detalja, pogledajte <a href="%{terms_path}">politiku privatnosti</a>.
+      username_available: Vaše korisničko ime će ponovo postati dostupno
+      username_unavailable: Vaše korisničko ime će ostati nedostupno
+  disputes:
+    strikes:
+      action_taken: Radnja preduzeta
+      appeal: Žalba
+      appeal_approved: Žalba na ovaj prestup je uvažena i prestup više nije validan
+      appeal_rejected: Žalba je odbijena
+      appeal_submitted_at: Žalba je priložena
+      appealed_msg: Vaša žalba je priložena. Bićete obavešteni ukoliko ona bude bila uvažena.
+      appeals:
+        submit: Priloži žalbu
+      approve_appeal: Uvaži žalbu
+      associated_report: Srodna prijava
+      created_at: Datum
+      description_html: Ovo su radnje preduzete protiv Vašeg naloga i upozorenja koja su Vam poslali članovi osoblja %{instance}.
+      recipient: Usmereno prema
+      reject_appeal: Odbij žalbu
+      status: 'Objava #%{id}'
+      status_removed: Objava je već uklonjena iz sistema
+      title: "%{action} od %{date}"
+      title_actions:
+        delete_statuses: Brisanje objava
+        disable: Zamrzavanje naloga
+        mark_statuses_as_sensitive: Označavanje objava kao osetljivih
+        none: Upozorenje
+        sensitive: Označavanje naloga kao osetljivog
+        silence: Ograničenje naloga
+        suspend: Suspenzija naloga
+      your_appeal_approved: Vaša žalba je uvažena
+      your_appeal_pending: Priložili ste žalbu
+      your_appeal_rejected: Vaša žalba je odbijena
+  domain_validator:
+    invalid_domain: nelegitimno ime domena
   errors:
-    '400': The request you submitted was invalid or malformed.
+    '400': Zahtev koji ste podneli je bio nelegitiman ili u pogrešnom formatu.
     '403': Nemate dozvola da vidite ovu stranu.
     '404': Strana koju ste tražili ne postoji.
-    '406': This page is not available in the requested format.
+    '406': Ova stranica nije dostupna u izabranom formatu.
     '410': Strana koju ste tražili više ne postoji.
+    '422':
+      content: Bezbedonosna provera nije uspela. Da ne blokirate kolačiće?
+      title: Bezbedonosna provera nije uspela
     '429': Uspored
     '500':
       content: Izvinjavamo se, nešto je pošlo po zlu sa ove strane.
       title: Strana nije ispravna
-    '503': The page could not be served due to a temporary server failure.
+    '503': Stranicu nije bilo moguće dostaviti usled privremenog pada servera.
     noscript_html: Da biste koristili Mastodont veb aplikaciju, omogućite JavaScript. U suprotnom, probajte neku od <a href="%{apps_path}">originalnih aplikacija</a> za Mastodont za Vašu platformu.
+  existing_username_validator:
+    not_found: nije bilo moguće pronaći lokalnog korisnika sa tim korisničkim imenom
+    not_found_multiple: nije bilo moguće pronaći %{usernames}
   exports:
+    archive_takeout:
+      date: Datum
+      download: Preuzmite Vašu arhivu
+      hint_html: Možete zatražiti arhivu vaših <strong>objava i otpremljenih medija</strong>. Izvezeni podaci će biti u ActivityPub formatu, koji može čitati bilo koji kompatibilan softver. Arhivu možete zatražiti svakih 7 dana.
+      in_progress: Sastavljanje vaše arhive...
+      request: Zatražite svoju arhivu
+      size: Veličina
     blocks: Blokirali ste
-    mutes: Ućutkali ste
+    bookmarks: Obeleživači
+    csv: CSV
+    domain_blocks: Blokovi domena
+    lists: Liste
+    mutes: Ignorišete
     storage: Multimedijalno skladište
+  featured_tags:
+    add_new: Dodaj novu
+    errors:
+      limit: Već ste istakli maksimalan broj heš oznaka
+    hint_html: "<strong>Šta su istaknute heš onake?</strong> One se prikazuju istaknuto na vašem javnom profilu i omogućuju ljudima da pregledaju vaše javne objave konkretno pod tim heš oznakama. One su sjajan alat za praćenje kreativnih radova ili dugoročnih projekata."
+  filters:
+    contexts:
+      account: Profili
+      home: Vremenska linija početne
+      notifications: Obaveštenja
+      public: Javne vremenske linije
+      thread: Razgovori
+    edit:
+      add_keyword: Dodaj ključnu reč
+      keywords: Ključne reči
+      statuses: Zasebne objave
+      statuses_hint_html: Ovaj filter važi za odabrane zasebne objave bez obzira na to da li sadrže ključne reči navedene ispod. <a href="%{path}">Pregledajte ili uklonite objave iz filtera</a>.
+      title: Izmeni filter
+    errors:
+      deprecated_api_multiple_keywords: Ovi parametri ne mogu biti promenjeni u ovoj aplikaciji zato što se odnose na više od jedne ključne reči. Koristite ažurniju aplikaciju ili veb interfejs.
+      invalid_context: Nijedan ili nevažeći kontekst isporučen
+    index:
+      contexts: Filtrira u %{contexts}
+      delete: Izbriši
+      empty: Nemate filtere.
+      expires_in: Ističe za %{distance}
+      expires_on: Ističe datuma %{date}
+      keywords:
+        few: "%{count} ključne reči"
+        one: "%{count} ključna reč"
+        other: "%{count} ključnih reči"
+      statuses:
+        few: "%{count} objave"
+        one: "%{count} objava"
+        other: "%{count} objava"
+      statuses_long:
+        few: "%{count} zasebne objave sakrivene"
+        one: "%{count} zasebna objava sakrivena"
+        other: "%{count} zasebnih objava sakriveno"
+      title: Filteri
+    new:
+      save: Sačuvaj novi filter
+      title: Dodaj novi filter
+    statuses:
+      back_to_filter: Nazad na filter
+      batch:
+        remove: Ukloni iz filtera
+      index:
+        hint: Ovaj filter važi za odabrane zasebne objave bez obzira na druge kriterijume. Možete da dodate više objava u ovaj filter putem veb interfejsa.
+        title: Filtrirane objave
   generic:
+    all: Svi
+    all_items_on_page_selected_html:
+      few: Sve <strong>%{count}</strong> stavke sa ove stranice su izabrane.
+      one: "<strong>%{count}</strong> stavka sa ove stranice je izabrana."
+      other: Svih <strong>%{count}</strong> stavki sa ove stranice je izabrano.
+    all_matching_items_selected_html:
+      few: Sve <strong>%{count}</strong> stavke koje se poklapaju sa Vašom pretragom su izabrane.
+      one: "<strong>%{count}</strong> stavka koja se poklapa sa Vašom pretragom je izabrana."
+      other: Svih <strong>%{count}</strong> stavki koje se poklapaju sa Vašom pretragom su izabrane.
     changes_saved_msg: Izmene uspešno sačuvane!
-    save_changes: Snimi izmene
+    copy: Kopiraj
+    delete: Izbriši
+    deselect: Poništi sve izbore
+    none: Nijedna
+    order_by: Sortiraj prema
+    save_changes: Sačuvaj promene
+    select_all_matching_items:
+      few: Odaberite sve %{count} stavke koje se poklapaju sa Vašom pretragom.
+      one: Odaberite %{count} stavku koja se poklapa sa Vašom pretragom.
+      other: Odaberite svih %{count} stavki koje se poklapaju sa Vašom pretragom.
+    today: danas
     validation_errors:
       few: Nešto nije baš kako treba! Pregledajte %{count} greške ispod
       one: Nešto nije baš kako treba! Pregledajte greške ispod
       other: Nešto nije baš kako treba! Pregledajte %{count} grešaka ispod
   imports:
+    errors:
+      invalid_csv_file: 'Neispravan CSV fajl. Greška: %{error}'
+      over_rows_processing_limit: sadrži više od %{count} redova
+    modes:
+      merge: Stapanje
+      merge_long: Zadržite postojeće zapise i dodajte nove
+      overwrite: Zameni
+      overwrite_long: Zameni trenutne zapise novima
     preface: Možete uvesti podatke koje ste izvezli sa druge instance, kao što su liste ljudi koje ste pratili ili blokirali.
     success: Vaši podaci su uspešno otpremljeni i biće obrađeni uskoro
     types:
       blocking: Lista blokiranja
+      bookmarks: Obeleživači
+      domain_blocking: Lista blokiranih domena
       following: Lista pratilaca
       muting: Lista ućutkanih
     upload: Otpremi
@@ -242,10 +1269,11 @@ sr-Latn:
       '21600': 6 sati
       '3600': 1 sad
       '43200': 12 sati
-      '604800': 1 week
+      '604800': 1 nedelja
       '86400': 1 dan
     expires_in_prompt: Nikad
     generate: Generiši
+    invited_by: 'Pozvao Vas je:'
     max_uses:
       few: "%{count} korišćenja"
       one: 1 korišćenje
@@ -255,100 +1283,460 @@ sr-Latn:
     table:
       expires_at: Ističe
       uses: Korišćenja
-    title: Pozovi ljude
+    title: Pozovite ljude
+  lists:
+    errors:
+      limit: Dostigli ste maksimalni broj listâ
+  login_activities:
+    authentication_methods:
+      otp: aplikacija za dvofaktorsku autentifikaciju
+      password: lozinka
+      sign_in_token: imejl sigurnosni kod
+      webauthn: sigurnosni ključevi
+    description_html: Ukoliko primetite aktivnost koju ne prepoznajete, razmislite o tome da promenite svoju lozinku i uključite dvofaktorsku autentifikaciju.
+    empty: Istorija autentifikacije nije dostupna
+    failed_sign_in_html: Neuspešan pokušaj prijavljivanja putem %{method} sa %{ip} (%{browser})
+    successful_sign_in_html: Uspešan pokušaj prijavljivanja putem %{method} sa %{ip} (%{browser})
+    title: Istorija autentifikacije
   media_attachments:
     validations:
       images_and_video: Ne može da se prikači video na status koji već ima slike
+      not_ready: Ne mogu se priložiti fajlovi koji još uvek nisu obrađeni. Pokušajte ponovo za koji trenutak!
       too_many: Ne može se prikačiti više od 4 fajla
   migrations:
     acct: korisnik@domen novog naloga
+    cancel: Otkaži preusmerenje
+    cancel_explanation: Otkazivanje preusmerenja će ponovo aktivirati Vaš sadašnji nalog, ali neće vratiti pratioce koji su premešteni na drugi nalog.
+    cancelled_msg: Uspešno je otkazano preusmerenje.
+    errors:
+      already_moved: već ste se preselili na isti nalog
+      missing_also_known_as: nije pseudonim ovog naloga
+      move_to_self: ne možete se preseliti na sadašnji nalog
+      not_found: nije bilo moguće pronaći nalog
+      on_cooldown: Pod ograničenjem ste
+    followers_count: Pratioci u trenutku premeštaja
+    incoming_migrations: Premeštanje iz drugog naloga
+    incoming_migrations_html: Da biste prešli sa drugog naloga na ovaj, prvo morate <a href="%{path}">kreirate pseudonim naloga</a>.
+    moved_msg: Vaš nalog sada preusmerava na %{acct} i Vaši pratioci se trenutno prebacuju.
+    not_redirecting: Vaš nalog trenutno ne preusmerava ni na jedan drugi nalog.
+    on_cooldown: Nedavno ste se preselili na novi nalog. Ova funkcija će Vam ponovo postati dostupna za %{count} dana.
+    past_migrations: Prethodne selidbe
+    proceed_with_move: Prebacite pratioce
+    redirected_msg: Vaš nalog sada preusmerava na %{acct}.
+    redirecting_to: Vaš nalog preusmerava na %{acct}.
+    set_redirect: Postavi preusmerenje
+    warning:
+      backreference_required: Novi nalog prvo mora biti konfigurisan tako da referiše na ovaj nalog
+      before: 'Pre nego što nastavite, molimo Vas pažljivo pročitajte sledeće napomene:'
+      cooldown: Nakon preseljenja potrebno je da prođe određeno vreme pre nego što ćete ponovo moći da se preselite
+      disabled_account: Vaš trenutni nalog više neće biti upotrebljiv. Međutim, imaćete pristup izvozu podataka kao i reaktivaciji.
+      followers: Ova radnja će premestiti sve pratioce sa trenutnog naloga na novi nalog
+      only_redirect_html: Umesto preseljenja, možete <a href="%{path}">samo dodati preusmeravajući link na svoj profil.</a>.
+      other_data: Ostali podaci neće biti automatski prebačeni
+      redirect: Profil Vašeg sadašnjeg naloga će biti ažuriran sa obaveštenjem o preusmerenju i biće isključen iz pretrage
   moderation:
     title: Moderacija
+  move_handler:
+    carry_blocks_over_text: Ovaj korisnik se preselio sa naloga %{acct}, koji ste blokirali.
+    carry_mutes_over_text: Ovaj korisnik se preselio sa naloga %{acct}, koji ste utišali.
+    copy_account_note_text: 'Ovaj korisnik se preselio sa naloga %{acct}, o kome ste zapisali sledeće beleške:'
+  navigation:
+    toggle_menu: Prikaži/sakrij meni
   notification_mailer:
+    admin:
+      report:
+        subject: "%{name} je podneo/-la prijavu"
+      sign_up:
+        subject: "%{name} se registrovao/-la"
     favourite:
       body: "%{name} je postavio kao omiljen Vaš status:"
       subject: "%{name} je postavio kao omiljen Vaš status"
+      title: Novi omiljeni
     follow:
       body: "%{name} Vas je zapratio!"
       subject: "%{name} Vas je zapratio"
+      title: Novi pratioc
     follow_request:
+      action: Upravljajte zahtevima za praćenje
       body: "%{name} je zatražio da Vas zaprati"
       subject: 'Pratioci na čekanju: %{name}'
+      title: Novi zahtev za praćenje
     mention:
+      action: Odgovori
       body: "%{name} Vas je pomenuo u:"
       subject: "%{name} Vas je pomenuo"
+      title: Novo spominjanje
+    poll:
+      subject: Anketa korisnika %{name} se završila
     reblog:
-      body: "%{name} Vam je podržao(la) status:"
-      subject: "%{name} je podržao(la) Vaš status"
+      body: "%{name} Vam je podržao/la status:"
+      subject: "%{name} je podržao/la Vaš status"
+      title: Nova podrška
+    status:
+      subject: "%{name} je upravo postavio/-la objavu"
+    update:
+      subject: "%{name} je izmenio/-la objavu"
+  notifications:
+    email_events: Događaji za obaveštenja e-poštom
+    email_events_hint: 'Izaberite dešavanja za koja želite da primate obaveštenja:'
+    other_settings: Ostala podešavanja obaveštenja
+  number:
+    human:
+      decimal_units:
+        format: "%n %u"
+        units:
+          billion: mlrd.
+          million: mil.
+          quadrillion: tril.
+          thousand: hilj.
+          trillion: bil.
+  otp_authentication:
+    code_hint: Ukucajte kod generisan u Vašoj aplikaciji za autentifikaciju da biste potvrdili
+    description_html: Ako uključite <strong>dvofaktorsku autentifikaciju</strong> putem aplikacije za autentifikaciju, moraćete da budete pri telefonu prilikom prijavljivanja da biste imali pristup generisanim kodovima za prijavu.
+    enable: Omogući
+    instructions_html: "<strong>Skenirajte ovaj QR kod pomoću Google autentifikatora ili slične aplikacije na svom telefonu</strong>. Od sada pa ubuduće, ta aplikacija će generisati pristupne kodove koje ćete morati da unesete prilikom prijavljivanja."
+    manual_instructions: 'Ako ne možete da skenirate QR kod i morate da ga unesete ručno, evo njegove tekstualne šifre:'
+    setup: Instalacija
+    wrong_code: Uneseni kod je bio neispravan! Da li su vreme servera i vreme uređaja ispravni?
   pagination:
-    next: Sledeći
+    newer: Novije
+    next: Sledeće
+    older: Starije
     prev: Prethodni
+    truncate: "&hellip;"
+  polls:
+    errors:
+      already_voted: Već ste glasali u ovoj anketi
+      duplicate_options: sadrži duplikate
+      duration_too_long: previše je daleko u budućnosti
+      duration_too_short: previše je skoro
+      expired: Anketa je već završena
+      invalid_choice: Izabrana opcija ne postoji
+      over_character_limit: ne može biti duže od po %{max} karaktera
+      too_few_options: mora imati više od jedne opcije
+      too_many_options: ne može da sadrži više od %{max} opcija
+  preferences:
+    other: Ostalo
+    posting_defaults: Podrazumevana podešavanja objavljivanja
+    public_timelines: Javne vremenske linije
+  privacy_policy:
+    title: Politika privatnosti
+  reactions:
+    errors:
+      limit_reached: Dostignuto je ograničenje različitih reakcija
+      unrecognized_emoji: nije prepoznat emodži
+  relationships:
+    activity: Aktivnost naloga
+    confirm_follow_selected_followers: Da li ste sigurni da želite da pratite izabrane pratioce?
+    confirm_remove_selected_followers: Da li ste sigurni da želite da uklonite izabrane pratioce?
+    confirm_remove_selected_follows: Da li ste sigurni da želite da uklonite izabrana praćenja?
+    dormant: Neaktivan
+    follow_failure: Nije moguće pratiti neke od izabranih naloga.
+    follow_selected_followers: Prati izabrane pratioce
+    followers: Pratioci
+    following: Praćenja
+    invited: Pozvan
+    last_active: Poslednji put aktivan
+    most_recent: Najnoviji
+    moved: Premešten
+    mutual: Zajednički
+    primary: Primarni
+    relationship: Odnos
+    remove_selected_domains: Ukloni sve pratioce sa izabranih domena
+    remove_selected_followers: Ukloni izabrane pratioce
+    remove_selected_follows: Otprati izabrane korisnike
+    status: Status naloga
   remote_follow:
     missing_resource: Ne mogu da nađem zahtevanu adresu preusmeravanja za Vaš nalog
+  reports:
+    errors:
+      invalid_rules: ne referiše na legitimna pravila
+  rss:
+    content_warning: 'Upozorenje o sadržaju:'
+    descriptions:
+      account: Javne objave sa @%{acct}
+      tag: 'Javne objave označene sa #%{hashtag}'
+  scheduled_statuses:
+    over_daily_limit: Prekoračili ste granicu od %{limit} planiranih objava za danas
+    over_total_limit: Prekoračili ste granicu od %{limit} planiranih objava
+    too_soon: Planirani datum mora biti u budućnosti
   sessions:
     activity: Poslednja aktivnost
     browser: Veb čitač
     browsers:
-      chrome: Hrom
+      alipay: Alipej
+      blackberry: Blekberi
+      chrome: Chrome
+      edge: Majkrosoft Edž
+      electron: Elektron
+      firefox: Fajerfoks
       generic: Nepoznati veb čitač
+      huawei_browser: Huawei pregledač
+      ie: Internet Eksplorer
+      micro_messenger: MajkroMesendžer
+      nokia: Nokija S40 Ovi Pretraživač
+      opera: Opera
+      otter: Oter
+      phantom_js: FantomDžejEs
+      qq: KjuKju Pretraživač
+      safari: Safari
+      uc_browser: UC Browser
+      unknown_browser: Nepoznati pregledač
+      weibo: Veibo
     current_session: Trenutna sesija
     description: "%{browser} sa %{platform}"
-    explanation: Ovo su trenutno prijavljeni veb čitači na Vaš Mastodont nalog.
+    explanation: Ovo su veb pretraživači koji su trenutno prijavljeni na Vaš Mastodon nalog.
+    ip: IP
     platforms:
-      adobe_air: Adobe Air-a
+      adobe_air: Adob Er-a
       android: Androida
+      blackberry: Blekberi
+      chrome_os: ChromeOS
       firefox_os: Fajerfoks OS-a
+      ios: iOS-a
+      kai_os: KaiOS
       linux: Linuksa
-      mac: Mac-a
-      other: nepoznate platforme
-      windows: Vindouza
-      windows_mobile: Vindouz mobilnog
-      windows_phone: Vindouz telefona
+      mac: Meka
+      unknown_platform: Nepoznata platforma
+      windows: Windows
+      windows_mobile: Windows Mobile
+      windows_phone: Windows Phone
     revoke: Opozovi
     revoke_success: Sesija uspešno opozvana
     title: Sesije
+    view_authentication_history: Pogledajte istoriju autentifikacije vašeg naloga
   settings:
+    account: Nalog
+    account_settings: Podešavanja naloga
+    aliases: Pseudonimi naloga
+    appearance: Izgled
     authorized_apps: Autorizovane aplikacije
-    back: Nazad na Mastodonta
+    back: Nazad na Mastodon
     delete: Brisanje naloga
     development: Razvoj
-    edit_profile: Izmena profila
+    edit_profile: Uređivanje profila
     export: Izvoz podataka
+    featured_tags: Istaknute heš oznake
     import: Uvoz
+    import_and_export: Uvoz i izvoz
     migrate: Prebacivanje naloga
     notifications: Obaveštenja
     preferences: Podešavanja
+    profile: Nalog
+    relationships: Praćenja i pratioci
+    statuses_cleanup: Automatsko brisanje objava
+    strikes: Moderacijski prestupi
     two_factor_authentication: Dvofaktorska identifikacija
+    webauthn_authentication: Sigurnosni ključevi
   statuses:
+    attached:
+      audio:
+        few: "%{count} audio zapisa"
+        one: "%{count} audio zapis"
+        other: "%{count} audio zapisa"
+      description: 'U prilogu: %{attached}'
+      image:
+        few: "%{count} slika"
+        one: "%{count} sliku"
+        other: "%{count} slika"
+      video:
+        few: "%{count} video zapisa"
+        one: "%{count} video zapis"
+        other: "%{count} video zapisa"
+    boosted_from_html: Podržano od %{acct_link}
+    content_warning: 'Upozorenje na sadržaj: %{warning}'
+    default_language: Isto kao jezik okruženja
+    disallowed_hashtags:
+      few: 'sadrži zabranjene heštegove: %{tags}'
+      one: 'sadrži zabranjeni hešteg: %{tags}'
+      other: 'sadrži zabranjene heštegove: %{tags}'
+    edited_at_html: Izmenjeno %{date}
+    errors:
+      in_reply_not_found: Objava na koju pokušavate da odgovorite naizgled ne postoji.
     open_in_web: Otvori u vebu
     over_character_limit: ograničenje od %{max} karaktera prekoračeno
     pin_errors:
-      limit: Već imate prikačen najveći broj tutova
-      ownership: Tuđi tutovi ne mogu da se prikače
+      direct: Objave koje su vidljive samo pomenutim korisnicima ne mogu biti prikačene
+      limit: Već ste zakačili maksimalan broj objava
+      ownership: Tuđa objava se ne može zakačiti
       reblog: Podrška ne može da se prikači
+    poll:
+      total_people:
+        few: "%{count} osobe"
+        one: "%{count} osoba"
+        other: "%{count} ljudi"
+      total_votes:
+        few: "%{count} glasa"
+        one: "%{count} glas"
+        other: "%{count} glasova"
+      vote: Glasajte
     show_more: Prikaži još
+    show_newer: Nikad ne prikazuj
+    show_older: Prikaži starije
+    show_thread: Prikaži niz
+    sign_in_to_participate: Prijavite se da učestvujete u razgovoru
+    title: "%{name}: „%{quote}”"
     visibilities:
+      direct: Direktno
       private: Samo pratioci
-      private_long: Samo prikaži pratiocima
+      private_long: Prikaži samo pratiocima
       public: Javno
       public_long: Svako može da vidi
       unlisted: Neizlistano
-      unlisted_long: Svako može da vidi, ali nije izlistano na javnim lajnama
+      unlisted_long: Svako može da vidi, ali nije izlistano na javnim vremenskim linijama
+  statuses_cleanup:
+    enabled: Automatski izbriši stare objave
+    enabled_hint: Automatski briše vaše objave kada dostignu određeni starosni prag, osim ako se ne podudaraju sa jednim od izuzetaka u nastavku
+    exceptions: Izuzeci
+    explanation: Pošto je brisanje objava skupa operacija, ovo se radi polako tokom vremena kada server inače nije zauzet. Iz tog razloga, vaše objave mogu biti izbrisane neko vreme nakon što dostignu starosni prag.
+    ignore_favs: Ignoriši omiljene
+    ignore_reblogs: Ignoriši podržavanja
+    interaction_exceptions: Izuzeci zasnovani na interakcijama
+    interaction_exceptions_explanation: Imajte na umu da ne postoji garancija da će objave biti izbrisane ako broj označavanja kao omiljenih ili broj podržavanja padne ispod praga nakon što ga premaše.
+    keep_direct: Zadrži direktne poruke
+    keep_direct_hint: Ne briše nijednu od vaših direktnih poruka
+    keep_media: Zadrži objave sa medijskim prilozima
+    keep_media_hint: Ne briše nijednu od vaših objava koje imaju medijske priloge
+    keep_pinned: Zadrži zakačene objave
+    keep_pinned_hint: Ne briše nijednu od vaših zakačenih objava
+    keep_polls: Zadrži ankete
+    keep_polls_hint: Ne briše nijednu od vaših anketa
+    keep_self_bookmark: Zadrži objave koje ste dodali u obeleživače
+    keep_self_bookmark_hint: Ne briše vaše sopstvene objave ako ste ih dodlai u obeleživače
+    keep_self_fav: Zadrži omiljene objave
+    keep_self_fav_hint: Ne briše vaše sopstvene objave ako ste ih označili kao omiljene
+    min_age:
+      '1209600': 2 sedmice
+      '15778476': 6 meseci
+      '2629746': 1 mesec
+      '31556952': 1 godina
+      '5259492': 2 meseca
+      '604800': 1 sedmica
+      '63113904': 2 godine
+      '7889238': 3 meseca
+    min_age_label: Starosni prag
+    min_favs: Zadrži objave označene kao omiljene najmanje
+    min_favs_hint: Ne briše nijednu vašu objavu koja je dobila najmanje ovaj broj omiljenih. Ostavite prazno za brisanje objava bez obzira na njihov broj omiljenih
+    min_reblogs: Zadrži objave podržane barem
+    min_reblogs_hint: Ne briše nijednu vašu objavu koja je bila podržana najmanje ovoliko puta. Ostavite prazno za brisanje objava bez obzira na njihov broj podržavanja
   stream_entries:
-    pinned: Prikačeni tut
+    pinned: Zakačena objava
     reblogged: podržano
     sensitive_content: Osetljiv sadržaj
+  strikes:
+    errors:
+      too_late: Istekao je rok za podnošenje žalbe na zabeležen prestup
+  tags:
+    does_not_match_previous_name: ne poklapa se sa prethodnim imenom
   themes:
-    default: Mastodont
+    contrast: Veliki kontrast
+    default: Mastodon
+    mastodon-light: Mastodon (svetlo)
+  time:
+    formats:
+      default: "%d %b %Y, %H:%M"
+      month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
+    add: Dodaj
     disable: Isključi
+    disabled_success: Dvofaktorska autentifikacija je uspešno onemogućena
+    edit: Izmeni
     enabled: Dvofaktorska identifikacija je uključena
     enabled_success: Dvofaktorska identifikacija je uspešno uključena
     generate_recovery_codes: Generiši kodove za oporavak
-    lost_recovery_codes: Kodovi za oporavak Vam omogućavaju da povratite pristup nalogu ako izgubite telefon. Ako izgubite kodove za oporavak, možete ih regenerisati ovde. Od tog trenutka, stari kodovi za oporavak više ne važe.
+    lost_recovery_codes: Kodovi za oporavak Vam omogućavaju da povratite pristup nalogu ako izgubite telefon. Ako izgubite kodove za oporavak, možete ih re-generisati ovde. Od tog trenutka, stari kodovi za oporavak više ne važe.
+    methods: Metode dvofaktorske autentifikacije
+    otp: Aplikacija za autentifikaciju
     recovery_codes: Napravite rezervu kodova za oporavak
-    recovery_codes_regenerated: Kodovi za oporavak uspešno regenerisani
+    recovery_codes_regenerated: Kodovi za oporavak uspešno re-generisani
     recovery_instructions_html: Ako ikada izgubite pristup telefonu, možete iskoristiti kodove za oporavak date ispod da povratite pristup nalogu. <strong>Držite kodove za oporavak na sigurnom</strong>. Na primer, odštampajte ih i čuvajte ih sa ostalim važnim dokumentima.
+    webauthn: Sigurnosni ključevi
+  user_mailer:
+    appeal_approved:
+      action: Idite na svoj nalog
+      explanation: Žalba podneta datuma %{appeal_date} na upisan prestup na Vaše ime datuma %{strike_date} je uvažena. Vaš nalog je ponovo u povoljnom položaju.
+      subject: Vaša žalba podneta %{date} je uvažena
+      title: Žalba uvažena
+    appeal_rejected:
+      explanation: Žalba podneta datuma %{appeal_date} na upisan prestup na Vaše ime datuma %{strike_date} je odbijena.
+      subject: Vaša žalba podneta %{date} je odbijena
+      title: Žalba odbijena
+    backup_ready:
+      explanation: Tražili ste potpunu rezervnu kopiju vašeg Mastodon računa. Spremna za preuzimanje!
+      subject: Vaša arhiva je spremna za preuzimanje
+      title: Izvoz arhive
+    suspicious_sign_in:
+      change_password: promenite svoju lozinku
+      details: 'Evo detalja o prijavi:'
+      explanation: Primetili smo prijavu na Vaš nalog sa nepoznate IP adrese.
+      further_actions_html: Ukoliko to niste bili Vi, preporučujemo da odmah %{action} i uključite dvofaktorsku autentifikaciju da biste održali bezbednost svog naloga.
+      subject: Vašem nalogu je pristupljeno sa nepozate IP adrese
+      title: Novo prijavljivanje
+    warning:
+      appeal: Priložite žalbu
+      appeal_description: Ukoliko verujete da je u pitanju greška, možete priložiti žalbu osoblju %{instance}.
+      categories:
+        spam: Neželjena pošta
+        violation: Sadržaj krši sledeća pravila zajednice
+      explanation:
+        delete_statuses: Za neke od Vaših objava je ustanovljeno da krše jedno ili više pravila zajednice i usled toga su uklonjene od strane moderatora %{instance}.
+        disable: Više ne možete da koristite svoj nalog, ali Vaš profil i drugi podaci ostaju netaknuti. Možete da zatražite rezervnu kopiju svojih podataka, promenite podešavanja naloga ili obrišete svoj nalog.
+        mark_statuses_as_sensitive: Neke od Vaših objava su označene kao osetljive od strane moderatora %{instance}. Ovo znači da će ljudi morati da kliknu na multimedije u objavama pre nego što mogu da ih vide. Ubuduće možete sami da označite svoju multimediju kao osetljivu prilikom sastavljanja objave.
+        sensitive: Od sada će svi Vaši otpremljeni multimedijalni fajlovi biti označeni kao osetljivi i sakriveni iza tastera upozorenja.
+        silence: I dalje možete koristiti svoj nalog ali samo ljudi koji Vas već prate će videti Vaše objave na ovom serveru, i možda ćete biti isključeni iz raznih mehanizama otkrivanja. Međutim, drugi ljudi i dalje mogu ručno da Vas zaprate.
+        suspend: Više ne možete da koristite svoj nalog, i Vaš profil i ostali podaci Vam više nisu dostupni. I dalje možete da se prijavite da biste zatražili rezervnu kopiju svojih podataka sve dok se Vaši podaci trajno ne izbrišu za oko 30 dana, s tim što ćemo zadržati neke osnovne podatke da bismo Vas sprečili u eventualnom zaobilaženju suspenzije.
+      reason: 'Obrazloženje:'
+      statuses: 'Citirane objave:'
+      subject:
+        delete_statuses: Vaše objave sa %{acct} su izbrisane
+        disable: Vaš nalog %{acct} je zamrznut
+        mark_statuses_as_sensitive: Vaše objave sa %{acct} su obeležene kao osetljive
+        none: Upozorenje za %{acct}
+        sensitive: Vaše objave sa %{acct} će ubuduće biti označene kao osetljive
+        silence: Vaš nalog %{acct} je ograničen
+        suspend: Vaš nalog %{acct} je suspendovan
+      title:
+        delete_statuses: Objave su obrisane
+        disable: Nalog zamrznut
+        mark_statuses_as_sensitive: Objave su označene kao osetljive
+        none: Upozorenje
+        sensitive: Nalog je označen kao osetljiv
+        silence: Nalog ograničen
+        suspend: Nalog suspendovan
+    welcome:
+      edit_profile_action: Podesi nalog
+      edit_profile_step: Možete prilagoditi svoj profil tako što ćete postaviti profilnu sliku, promeniti ime za prikaz i tako dalje. Možete dati saglasnost da pregledate nove pratioce pre nego što im dozvolite da Vas zaprate.
+      explanation: Evo nekoliko saveta za početak
+      final_action: Počnite objavljivati
+      final_step: 'Počnite da objavljujete! Čak i bez pratilaca, Vaše javne objave su vidljive drugim ljudima, na primer na lokalnoj vremenskoj liniji ili u heš oznakama. Možda želite da se predstavite sa heš oznakom #introductions ili #predstavljanja.'
+      full_handle: Vaš pun nadimak
+      full_handle_hint: Ovo biste rekli svojim prijateljima kako bi vam oni poslali poruku, ili zapratili sa druge instance.
+      subject: Dobrodošli na Mastodon
+      title: Dobrodošli, %{name}!
   users:
+    follow_limit_reached: Ne možete pratiti više od %{limit} ljudi
     invalid_otp_token: Neispravni dvofaktorski kod
-    signed_in_as: 'Prijavljen kao:'
+    otp_lost_help_html: Ako izgubite pristup za oba, možete stupiti u kontakt sa %{email}
+    seamless_external_login: Prijavljeni ste putem spoljašnje usluge, tako da lozinka i podešavanja E-pošte nisu dostupni.
+    signed_in_as: 'Prijavljen/a kao:'
+  verification:
+    explanation_html: 'Možete <strong>izvršiti proveru da ste Vi vlasnik veza na Vašem nalogu</strong>. Da bi to radilo, povezani veb sajt mora da sadrži vezu nazad ka Vašem Mastodon nalogu. Veza nazad <strong>mora</strong> da ima <code>rel="me"</code> atribut. Tekstuelni sadržaj veze nije bitan. Evo primera:'
+    verification: Provera
+  webauthn_credentials:
+    add: Dodajte novi sigurnosni ključ
+    create:
+      error: Iskrsao je problem prilikom dodavanja Vašeg sigurnosnog ključa. Molimo Vas pokušajte ponovo.
+      success: Vaš sigurnosni ključ je uspešno dodat.
+    delete: Izbriši
+    delete_confirmation: Da li ste sigurni da želite da izbrišete ovaj sigurnosni ključ?
+    description_html: Ako uključite <strong>autentifikaciju sigurnosnim ključem</strong>, moraćete da koristite jedan od svojih sigurnosnih ključeva prilikom prijavljivanja.
+    destroy:
+      error: Iskrsao je problem prilikom brisanja Vašeg sigurnosnog ključa. Molimo Vas pokušajte ponovo.
+      success: Vaš sigurnosni ključ je uspešno obrisan.
+    invalid_credential: Neispravan sigurnosni ključ
+    nickname_hint: Unesite nadimak svog novog sigurnosnog ključa
+    not_enabled: Još uvek niste omogućili WebAuthn
+    not_supported: Ovaj pretraživač ne podržava sigurnosne ključeve
+    otp_required: Da biste koristili sigurnosne ključeve, molimo Vas prvo uključite dvofaktorsku autentifikaciju.
+    registered_on: Registrovan/-a %{date}
diff --git a/config/locales/sr.yml b/config/locales/sr.yml
index 8a56fa7f3..9fc831f20 100644
--- a/config/locales/sr.yml
+++ b/config/locales/sr.yml
@@ -1,23 +1,24 @@
 ---
 sr:
   about:
-    about_mastodon_html: Мастодон је друштвена мрежа базирана на отвореним протоколима и слободном софтверу отвореног кода. Децентрализована је као што је децентрализована е-пошта.
+    about_mastodon_html: 'Друштвена мрежа будућности: без реклама, без корпоративног праћења, етички дизајн, и децентрализација! Поседујте своје податке са Мастодоном!'
     contact_missing: Није постављено
     contact_unavailable: Није доступно
     hosted_on: Мастодон хостован на %{domain}
-    title: О
+    title: О инстанци
   accounts:
-    follow: Прати
+    follow: Запрати
     followers:
-      few: Пратиоци
-      one: Пратиоц
-      other: Пратиоци
+      few: Пратиоца
+      one: Пратилац
+      other: Пратилаца
     following: Пратим
-    last_active: последњи пут активни
+    instance_actor_flash: Овај налог је виртуелни актер који не представља ниједног корисника лично, већ сâм сервер. Користи се у сврху федерације и не треба га суспендовати.
+    last_active: најскорија активност
     link_verified_on: Власништво над овом везом је проверено %{date}
-    nothing_here: Овде нема ништа!
+    nothing_here: Овде нема ничега!
     pin_errors:
-      following: Морате пратити ову особу ако хоћете да потврдите
+      following: Морате пратити особу коју желите да препоручите
     posts:
       few: Објаве
       one: Објава
@@ -34,16 +35,17 @@ sr:
     accounts:
       add_email_domain_block: Блокирај домен е-поште
       approve: Одобри
+      approved_msg: Захтев за регистрацију корисника %{username} је успешно одобрен
       are_you_sure: Да ли сте сигурни?
       avatar: Аватар
       by_domain: Домен
       change_email:
         changed_msg: Е-пошта налога успешно промењена!
-        current_email: Тренутна е-пошта
-        label: Промените е-пошту
-        new_email: Нова e-пошта
-        submit: Промените e-пошту
-        title: Промените e-пошту за %{username}
+        current_email: Тренутна адреса е-поште
+        label: Промените адресу е-поште
+        new_email: Нова адреса e-поште
+        submit: Промените адресу e-поште
+        title: Промените адресу e-поште за %{username}
       change_role:
         changed_msg: Улога успешно промењена!
         label: Промени улогу
@@ -51,21 +53,25 @@ sr:
         title: Промени улогу за %{username}
       confirm: Потврди
       confirmed: Потврђено
-      confirming: Потврдување
+      confirming: Потврђивање
       custom: Произвољно
       delete: Обриши податке
       deleted: Избрисано
       demote: Ражалуј
-      disable: Искључи
+      destroyed_msg: Подаци корисника %{username} су неповратно стављени у ред за брисање
+      disable: Замрзни
+      disable_sign_in_token_auth: Онемогући имејл аутентификацију
       disable_two_factor_authentication: Искључи 2FA
-      disabled: Искључена
-      display_name: Приказано име
+      disabled: Замрзнут
+      display_name: Име за приказ
       domain: Домен
       edit: Измени
       email: Е-пошта
       email_status: Статус е-поште
       enable: Омогући
-      enabled: Укључено
+      enable_sign_in_token_auth: Омогући имејл аутентификацију
+      enabled: Омогућен
+      enabled_msg: Успешно одлеђен налог корисника %{username}
       followers: Пратиоци
       follows: Праћени
       header: Заглавље
@@ -73,18 +79,21 @@ sr:
       invite_request_text: Разлози за придруживање
       invited_by: Позван од стране
       ip: IP
-      joined: Придружио се
+      joined: Придружио/-ла се
       location:
         all: Све
-        local: Локалне
-        remote: Удаљене
+        local: Локални
+        remote: Удаљени
         title: Локација
       login_status: Статус пријаве
       media_attachments: Мултимедијални прилози
       memorialize: Пребаци у in memoriam
+      memorialized: Подигнут споменик
+      memorialized_msg: "%{username} је успешно претворен у меморијални налог"
       moderation:
         active: Активан
         all: Сви
+        disabled: Искључен
         pending: На чекању
         silenced: Ограничено
         suspended: Суспендовани
@@ -92,79 +101,202 @@ sr:
       moderation_notes: Модераторске белешке
       most_recent_activity: Најскорија активност
       most_recent_ip: Најскорија IP адреса
+      no_account_selected: Ниједан налог није промењен јер ниједан није изабран
       no_limits_imposed: Нема ограничења
       no_role_assigned: Ниједна улога није додељена
       not_subscribed: Није претплаћен
       pending: Чека на преглед
-      perform_full_suspension: Искључи
+      perform_full_suspension: Суспендуј
+      previous_strikes: Претходни прекршаји
+      previous_strikes_description_html:
+        few: Овај налог има <strong>%{count}</strong> прекршаја.
+        one: Овај налог има <strong>један</strong> прекршај.
+        other: Овај налог има <strong>%{count}</strong> прекршаја.
       promote: Унапреди
       protocol: Протокол
       public: Јавно
       push_subscription_expires: PuSH претплата истиче
-      redownload: Освежи налог
-      reject: Одбаци
+      redownload: Освежи профил
+      redownloaded_msg: Успешно освежен профил корисника %{username} из извора
+      reject: Одбиј
+      rejected_msg: Захтев за регистрацију корисника %{username} је успешно одбијен
+      remote_suspension_irreversible: Подаци овог налога су неповратно избрисани.
+      remote_suspension_reversible_hint_html: Налог је суспендован са свог сервера и његови подаци ће бити избрисани датума %{date}. До тада, удаљени сервер може да врати овај налог без икаквих промена. Уколико желите да одмах обришете све податке налога, можете то учинити испод.
       remove_avatar: Уклони аватар
       remove_header: Одстрани заглавље
       removed_avatar_msg: Слика аватара корисника %{username} је успешно уклоњена
+      removed_header_msg: Успешно обрисана слика заглавља корисника %{username}
       resend_confirmation:
-        already_confirmed: Овој корисник е веќе потврден
-        send: Препрати го е-мајлот за потврда
-        success: Е-пошта за потврда успешно испратена!
+        already_confirmed: Овај корисник је већ потврђен
+        send: Поново пошаљи имејл потврду
+        success: Имејл за потврду је успешно послат!
       reset: Ресетуј
       reset_password: Ресетуј лозинку
       resubscribe: Поново се претплати
       role: Улога
       search: Претрага
+      search_same_email_domain: Остали корисници са истим доменом е-поште
+      search_same_ip: Остали корисници са истом IP адресом
+      security: Безбедност
       security_measures:
         only_password: Само лозинка
+        password_and_2fa: Лозинка и двофакторска аутентификација
+      sensitive: Означи као осетљив
       sensitized: Означено као осетљиво
       shared_inbox_url: Адреса дељеног сандучета
       show:
-        created_reports: Направљени извештаји
+        created_reports: Поднете пријаве
         targeted_reports: Пријаве од стране других
       silence: Ућуткај
       silenced: Ућуткан
-      statuses: Статуси
+      statuses: Објаве
+      strikes: Претходни преступи
       subscribe: Претплати се
       suspend: Суспендуј
       suspended: Суспендовани
+      suspension_irreversible: Подаци овог налога су неповратно избрисани. Можете одсуспендовати овај налог чиме ће он постати употребљив, али се подаци претходно садржани на налогу неће вратити.
+      suspension_reversible_hint_html: Налог је суспендован и његови подаци ће бити избрисани датума %{date}. До тада, овај налог може бити враћен без икаквих промена. Уколико желите да одмах обришете све податке налога, можете то учинити испод.
       title: Налози
       unblock_email: Одблокирај адресу е-поште
-      unconfirmed_email: Непотврђена е-пошта
+      unblocked_email_msg: Успешно одблокирана имејл адреса корисника %{username}
+      unconfirmed_email: Непотврђена адреса е-поште
+      undo_sensitized: Уклони ознаку „осетљив”
       undo_silenced: Укини ћутање
       undo_suspension: Укини суспензију
+      unsilenced_msg: Успешно поништено ограничење налога %{username}
       unsubscribe: Укини претплату
+      unsuspended_msg: Успешно поништена суспензија налога %{username}
       username: Корисничко име
+      view_domain: Прочитај опис домена
       warn: Упозори
       web: Веб
+      whitelisted: Дозвољена федерација
     action_logs:
       action_types:
+        approve_appeal: Уважи жалбу
         approve_user: Одобри корисника
+        assigned_to_self_report: Додели пријаву
         change_email_user: Промени e-адресу корисника
         change_role_user: Промени улогу корисника
         confirm_user: Потврди корисника
         create_account_warning: Креирај упозорење
         create_announcement: Креирај најаву
         create_canonical_email_block: Креирај блок е-поште
+        create_custom_emoji: Направи прилагођени емоџи
+        create_domain_allow: Додај дозвољени домен
+        create_domain_block: Додај блокирани домен
+        create_email_domain_block: Блокирај имејл домен
+        create_ip_block: Направи IP услов
+        create_unavailable_domain: Додај домен као недоступан
         create_user_role: Креирај улогу
+        demote_user: Смањи овлашћења корисника
         destroy_announcement: Избриши најаву
         destroy_canonical_email_block: Избриши блок е-поште
+        destroy_custom_emoji: Обриши прилагођени емоџи
+        destroy_domain_allow: Обриши дозвољени домен
+        destroy_domain_block: Обриши блокирани домен
+        destroy_email_domain_block: Избриши блок е-поште
+        destroy_instance: Очисти домен
+        destroy_ip_block: Обриши IP услов
         destroy_status: Избриши пост
+        destroy_unavailable_domain: Обриши недоступан домен
+        destroy_user_role: Уништи позицију
+        disable_2fa_user: Онемогући двофакторску аутентификацију
+        disable_custom_emoji: Онемогући прилагођене емоџије
+        disable_sign_in_token_auth_user: Онемогући имејл аутентификацију за корисника
         disable_user: Онемогући корисника
+        enable_custom_emoji: Омогући прилагођене емоџије
+        enable_sign_in_token_auth_user: Омогући имејл аутентификацију за корисника
         enable_user: Омогући корисника
+        memorialize_account: Претвори у меморијални налог
+        promote_user: Унапреди корисника
+        reject_appeal: Одбиј жалбу
         reject_user: Одбаци корисника
         remove_avatar_user: Уклони аватар
+        reopen_report: Поново отвори пријаву
+        resend_user: Поново пошаљи мејл за потврду
+        reset_password_user: Ресетуј лозинку
+        resolve_report: Затвори пријаву
+        sensitive_account: Означи налог као осетљив
         silence_account: Ограничи налог
         suspend_account: Обустави налог
+        unassigned_report: Повуци пријаву
+        unblock_email_account: Одблокирај имејл адресу
+        unsensitive_account: Уклони додељену ознаку „осетљив”
+        unsilence_account: Повуци ограничење налога
+        unsuspend_account: Повуци суспензију налога
+        update_announcement: Саопштење о ажурирању
+        update_custom_emoji: Ажурирај прилагођене емоџије
+        update_domain_block: Ажурирај домен блок
+        update_ip_block: Ажурирај IP услов
         update_status: Уреди објаву
         update_user_role: Уреди улогу
       actions:
+        approve_appeal_html: "%{name} је уважио жалбу корисника %{target} на одлуку модератора"
+        approve_user_html: "%{name} је одобрио/-ла регистрацију корисника %{target}"
+        assigned_to_self_report_html: "%{name} је себи доделио/-ла пријаву %{target}"
+        change_email_user_html: "%{name} је променио/-ла имејл адресу корисника %{target}"
+        change_role_user_html: "%{name} је променио/-ла овлашћења корисника %{target}"
+        confirm_user_html: "%{name} је потврдио/-ла имејл адресу корисника %{target}"
+        create_account_warning_html: "%{name} је послао/-ла упозорење кориснику %{target}"
+        create_announcement_html: "%{name} је направио/-ла ново саопштење %{target}"
+        create_canonical_email_block_html: "%{name} је блокирао/-ла имејл адресу са хешом %{target}"
+        create_custom_emoji_html: "%{name} је отпремио/-ла нове емоџије %{target}"
+        create_domain_allow_html: "%{name} је дозволио/-ла федерацију са доменом %{target}"
+        create_domain_block_html: "%{name} је блокирао/-ла домен %{target}"
+        create_email_domain_block_html: "%{name} је блокирао/-ла имејл домен %{target}"
+        create_ip_block_html: "%{name} је направио/-ла услов за IP адресе %{target}"
+        create_unavailable_domain_html: "%{name} је обуставио/-ла испоручивање домену %{target}"
+        create_user_role_html: "%{name} је направио/-ла %{target} позицију"
+        demote_user_html: "%{name} је смањио овлашћења корисника %{target}"
+        destroy_announcement_html: "%{name} је обрисао/-ла саопштење %{target}"
+        destroy_canonical_email_block_html: "%{name} је одблокирао/-ла имејл адресу са хешом %{target}"
+        destroy_custom_emoji_html: "%{name} је обрисао/-ла емоџи %{target}"
+        destroy_domain_allow_html: "%{name} је забранио/-ла федерацију са доменом %{target}"
+        destroy_domain_block_html: "%{name} је одблокирао/-ла домен %{target}"
+        destroy_email_domain_block_html: "%{name} је одблокирао/-ла имејл домен %{target}"
+        destroy_instance_html: "%{name} је очистио/-ла домен %{target}"
+        destroy_ip_block_html: "%{name} је обрисао/-ла услов за IP адресе %{target}"
+        destroy_status_html: "%{name} је избрисао/-ла објаву корисника %{target}"
+        destroy_unavailable_domain_html: "%{name} је поново успоставио/-ла испоручивање домену %{target}"
+        destroy_user_role_html: "%{name} је избрисао/-ла %{target} позицију"
+        disable_2fa_user_html: "%{name} је онемогућио/-ла двофакторску аутентификацију за корисника %{target}"
+        disable_custom_emoji_html: "%{name} је онемогућио/-ла емоџи %{target}"
+        disable_sign_in_token_auth_user_html: "%{name} је онемогућио/-ла имејл аутентификацију за корисника %{target}"
+        disable_user_html: "%{name} је онемогућио/-ла пријављивање за корисника %{target}"
+        enable_custom_emoji_html: "%{name} је омогућио/-ла емоџи %{target}"
+        enable_sign_in_token_auth_user_html: "%{name} је омогућио/-ла имејл аутентификацију за %{target}"
+        enable_user_html: "%{name} је омогућио/-ла пријављивање кориснику %{target}"
+        memorialize_account_html: "%{name} је претворио/-ла налог корисника %{target} у меморијалну страницу"
+        promote_user_html: "%{name} је унапредио/-ла корисника %{target}"
+        reject_appeal_html: "%{name} је одбио/-ла жалбу на модерацијску одлуку коју је приложио корисник %{target}"
+        reject_user_html: "%{name} је одбио/-ла регистрацију корисника %{target}"
         remove_avatar_user_html: "%{name} је уклонио аватар корисника %{target}"
+        reopen_report_html: "%{name} је поново отворио/-ла пријаву %{target}"
+        resend_user_html: "%{name} је поново послао/-ла имејл за потврду кориснику %{target}"
+        reset_password_user_html: "%{name} је ресетовао/-ла лозинку корисника %{target}"
+        resolve_report_html: "%{name} је решио/-ла пријаву %{target}"
+        sensitive_account_html: "%{name} је означио/-ла медије налога %{target} као осетљиве"
+        silence_account_html: "%{name} је ограничио/-ла налог %{target}"
+        suspend_account_html: "%{name} је суспендовао/-ла налог %{target}"
+        unassigned_report_html: "%{name} је повукао/-ла доделу пријаве %{target}"
+        unblock_email_account_html: "%{name} је одблокирао/-ла имејл адресу корисника %{target}"
+        unsensitive_account_html: "%{name} је уклонио/-ла ознаку „осетљиво” са медија налога %{target}"
+        unsilence_account_html: "%{name} је повукао/-ла ограничење налога %{target}"
+        unsuspend_account_html: "%{name} је повукао/-ла суспензију налога %{target}"
+        update_announcement_html: "%{name} је ажурирао/-ла саопштење %{target}"
+        update_custom_emoji_html: "%{name} је ажурирао/-ла емоџи %{target}"
+        update_domain_block_html: "%{name} је ажурирао/-ла блок домена %{target}"
+        update_ip_block_html: "%{name} је променио/-ла IP услов за %{target}"
+        update_status_html: "%{name} је ажурирао/-ла објаву корисника %{target}"
+        update_user_role_html: "%{name} је променио/-ла позицију %{target}"
       deleted_account: обрисан налог
+      empty: Није пронађен ниједан лог.
       filter_by_action: Филтрирај по активности
       filter_by_user: Филтрирај по кориснику
       title: Записник
     announcements:
+      destroyed_msg: Саопштење је успешно обрисано!
       edit:
         title: Уреди најаву
       empty: Ниједна најава није пронађена.
@@ -174,7 +306,12 @@ sr:
         title: Нова најава
       publish: Објави
       published_msg: Најава успешно објављена!
+      scheduled_for: Заказано за %{time}
+      scheduled_msg: Саопштење је заказано за објављивање!
       title: Најаве
+      unpublish: Повуци објаву
+      unpublished_msg: Објава саопштења је успешно повучена!
+      updated_msg: Саопштење је успешно ажурирано!
     custom_emojis:
       assign_category: Додели категорију
       by_domain: Домен
@@ -192,85 +329,212 @@ sr:
       enable: Омогући
       enabled: Омогућено
       enabled_msg: Емоџи успешно омогућен
+      image_hint: PNG или GIF фајл величине до %{size}
+      list: Листа
       listed: Излистан
       new:
         title: Додај нови произвољни емоџи
+      no_emoji_selected: Ниједан емоџи није промењен јер ниједан није изабран
+      not_permitted: Нисте овлашћени да обављате ову радњу
       overwrite: Препиши
       shortcode: Пречица
       shortcode_hint: Најмање 2 карактера, дозвољени су само слова, бројеви и доње црте
       title: Произвољни емотиџији
+      uncategorized: Некатегоризовано
+      unlist: Неизлистан
       unlisted: Неизлистан
       update_failed_msg: Не могу да ажурирам овај емоџи
       updated_msg: Емоџи успешно ажуриран!
       upload: Отпреми
     dashboard:
+      active_users: активни корисници
+      interactions: интеракције
+      media_storage: Мултимедијално складиште
+      new_users: нови корисници
+      opened_reports: отворене пријаве
+      pending_appeals_html:
+        few: "<strong>%{count}</strong> жалбе на чекању"
+        one: "<strong>%{count}</strong> жалба на чекању"
+        other: "<strong>%{count}</strong> жалби на чекању"
+      pending_reports_html:
+        few: "<strong>%{count}</strong> пријаве на чекању"
+        one: "<strong>%{count}</strong> пријава на чекању"
+        other: "<strong>%{count}</strong> пријава на чекању"
+      pending_tags_html:
+        few: "<strong>%{count}</strong> хеш ознаке на чекању"
+        one: "<strong>%{count}</strong> хеш ознака на чекању"
+        other: "<strong>%{count}</strong> хеш ознака на чекању"
+      pending_users_html:
+        few: "<strong>%{count}</strong> корисника на чекању"
+        one: "<strong>%{count}</strong> корисник на чекању"
+        other: "<strong>%{count}</strong> корисника на чекању"
+      resolved_reports: решене пријаве
       software: Софтвер
+      sources: Извори регистрација
       space: Коришћење простора
       title: Командна табла
+      top_languages: Најзаступљенији језици
+      top_servers: Најактивнији сервери
+      website: Вебсајт
+    disputes:
+      appeals:
+        empty: Ниједна жалба није пронађена.
+        title: Жалбе
     domain_allows:
+      add_new: Дозволи федерацију са доменом
+      created_msg: Домен је успешно одобрен за федерацију
+      destroyed_msg: Домен је одбијен за федерацију
       export: Извоз
       import: Увоз
+      undo: Забрани федерацију са доменом
     domain_blocks:
       add_new: Додај нови блок домена
       created_msg: Блокирање домена се обрађује
       destroyed_msg: Блокирање домена је опозвано
       domain: Домен
+      edit: Измени блок домена
+      existing_domain_block: Већ сте успоставили строжа ограничења према кориснику %{name}.
+      existing_domain_block_html: Већ сте успоставили строжа ограничења према %{name}, потребно је да га прво <a href="%{unblock_url}">одблокирате</a>.
       export: Извоз
       import: Увоз
       new:
         create: Направи блокаду
         hint: Блокирање домена неће спречити прављење налога у бази, али ће ретроактивно и аутоматски применити одређене модераторске методе над тим налозима.
         severity:
+          desc_html: "<strong>Ограничење</strong> ће сакрити објаве налога са овог домена од сваког ко их не прати. <strong>Суспензија</strong> ће обрисати сав садржај, медије и податке профила са налога овог домена са Вашег сервера. Користите <strong>Ништа</strong> уколико само желите да одбијете медијске фајлове."
           noop: Ништа
+          silence: Ограничи
           suspend: Суспензија
         title: Ново блокирање домена
+      no_domain_block_selected: Ниједан блок домена није промењен јер ниједан није изабран
+      not_permitted: Нисте овлашћени да обављате ову радњу
+      obfuscate: Сакриј име домена
+      obfuscate_hint: Делимично сакриј име домена на листи ако је рекламирање листе ограничених домена омогућено
       private_comment: Приватни коментар
+      private_comment_hint: Коментар о ограничењу овог домена за интерну употребу од стране модератора.
       public_comment: Јавни коментар
+      public_comment_hint: Коментар о ограничењу овог домена за јавност, уколико је рекламирање листе ограничених домена омогућено.
       reject_media: Одбаци мултимедију
       reject_media_hint: Уклања локално ускладиштене мултимедијске фајлове и одбија да их скида убудуће. Небитно је за суспензију
       reject_reports: Одбаци извештај
       reject_reports_hint: Игнориши све извештаје који долазе са овог домена. Небитно је за суспензије
       undo: Поништи блок домена
+      view: Прочитај блок домена
     email_domain_blocks:
       add_new: Додај нови
+      attempts_over_week:
+        few: "%{count} покушаја током претходне недеље"
+        one: "%{count} покушај током претходне недеље"
+        other: "%{count} покушаја регистрације током претходне недеље"
       created_msg: Успешно додао домен Е-поште на црну листу
       delete: Обриши
+      dns:
+        types:
+          mx: MX извештај
       domain: Домен
       new:
         create: Додај домен
+        resolve: Претвори домен
         title: Нова ставка е-поштe у црној листи
+      no_email_domain_block_selected: Ниједан блок имејл домена није промењен јер ниједан није изабран
+      not_permitted: Није дозвољено
+      resolved_dns_records_hint_html: Име домена се претвара у следеће MX домене, који су напослетку одговорни за прихватање електронске поште. Блокирање MX домена ће блокирати регистрације са сваке имејл адресе која користи тај MX домен, чак и у случају када се видљиво име домена разликује. <strong>Водите рачуна о томе да не блокирате велике имејл провајдере.</strong>
+      resolved_through_html: Преусмерено кроз %{domain}
       title: Црна листа E-поште
+    export_domain_allows:
+      new:
+        title: Увези дозвољене домене
+      no_file: Ниједан фајл није одабран
     export_domain_blocks:
       import:
+        description_html: Управо ћете увести листу блокираних домена. Молимо Вас, врло пажљиво прегледајте ову листу, посебно уколико је нисте сами направили.
         existing_relationships_warning: Постојећи односи у облику праћења
+        private_comment_description_html: 'Да би Вам помогли да пратите одакле су блокови увезени, увезени блокови ће бити направљени са следећим приватним коментаром: <q>%{comment}</q>'
+        private_comment_template: Увезено са извора %{source} на датум %{date}
+        title: Увези блокиране домене
+      invalid_domain_block: 'Један или више блокова домена је прескочен због следеће грешке тј. грешака: %{error}'
+      new:
+        title: Увези блокиране домене
+      no_file: Ниједан фајл није одабран
     follow_recommendations:
+      description_html: "<strong>Предлози за праћење помажу новим корисницима да брзо пронађу занимљив садржај</strong>. Када корисник није довољно интераговао са осталима да би се за њега формирали персонализовани предлози за праћење, ови налози ће бити препоручени уместо тога. Они се генеришу на дневној бази из скупа налога са највише недавних ангажовања и највише локалних пратилаца за један језик."
+      language: За језик
       status: Статус
+      suppress: Потисни препоруке за праћење
+      suppressed: Потиснуто
+      title: Препоруке за праћење
+      unsuppress: Врати препоруку за праћење
     instances:
+      availability:
+        description_html:
+          few: Уколико испорука домену не успе ниједном током <strong>%{count} различитих дана</strong>, даљи покушаји испоруке неће бити иницирани осим уколико се не прими испорука <em>са</em> домена.
+          one: Ако испорука домену не успе ниједном у временском периоду од <strong>%{count} дана</strong>, даљи покушаји испоруке се неће иницирати осим уколико се не прими испорука <em>са</em> домена.
+          other: Уколико испорука домену не успе ниједном током <strong>%{count} различитих дана</strong>, даљи покушаји испоруке се неће иницирати осим уколико се не прими испорука <em>са</em> домена.
+        failure_threshold_reached: Праг неуспеха достигнут датума %{date}.
+        failures_recorded:
+          few: Неуспели покушаји током %{count} различита дана.
+          one: Неуспели покушај током %{count} дана.
+          other: Неуспели покушаји током %{count} различитих дана.
+        no_failures_recorded: Без забележених неуспеха.
+        title: Доступност
+        warning: Последњи покушај повезивања са овим сервером је био неуспешан
       back_to_all: Све
       back_to_limited: Ограничено
       back_to_warning: Упозорење
       by_domain: Домен
+      confirm_purge: Да ли сте сигурни да желите да трајно уклоните податке са овог домена?
       content_policies:
+        comment: Интерна белешка
+        description_html: Можете да дефинишете политику садржаја која ће важити за све налоге на овом домену и сваком од његових поддомена.
+        limited_federation_mode_description_html: Можете да одлучите да ли да допустите федерацију са овим доменом.
         policies:
+          reject_media: Одбиј мултимедију
+          reject_reports: Одбиј пријаве
           silence: Ограничи
           suspend: Суспендуј
         policy: Политика
         reason: Јавни разлог
+        title: Политика садржаја
+      dashboard:
+        instance_accounts_dimension: Најпраћенији налози
+        instance_accounts_measure: ускладиштени налози
+        instance_followers_measure: наши пратиоци овде
+        instance_follows_measure: њихови пратиоци овде
+        instance_languages_dimension: Најзаступљенији језици
+        instance_media_attachments_measure: ускладиштени мултимедијални прилози
+        instance_reports_measure: пријаве против њих
+        instance_statuses_measure: ускладиштене објаве
       delivery:
         all: Све
+        clear: Очисти грешке приликом испоруке
+        failing: Без успеха
+        restart: Започни испоруку поново
+        stop: Обустави испоруку
         unavailable: Недоступно
       delivery_available: Достава је доступна
+      delivery_error_days: Дани неуспешних испорука
+      delivery_error_hint: Уколико испорука није могућа %{count} дана, аутоматски ће бити обележена као неиспоручива.
+      destroyed_msg: Подаци са %{domain} су сада у реду за чекање за извесно брисање.
+      empty: Ниједан домен није пронађен.
+      known_accounts:
+        few: "%{count} позната налога"
+        one: "%{count} познат налог"
+        other: "%{count} познатих налога"
       moderation:
         all: Све
         limited: Ограничено
         title: Модерација
       private_comment: Приватни коментар
       public_comment: Јавни коментар
+      purge: Чистка
+      purge_description_html: Уколико верујете да је овај домен трајно угашен, можете да обришете све записе налога и сродне податке овог домена са свог складишта. Ово може да потраје.
       title: Федерација
       total_blocked_by_us: Блокирано од стране нас
       total_followed_by_them: Праћени од стране њих
       total_followed_by_us: Праћени од стране нас
       total_reported: Пријаве везане за њих
+      total_storage: Мултимедијални прилози
+      totals_time_period_hint_html: Укупне вредности приказане испод укључују податке за сва времена.
     invites:
       deactivate_all: Деактивирај све
       filter:
@@ -280,6 +544,9 @@ sr:
         title: Филтер
       title: Позивнице
     ip_blocks:
+      add_new: Направи правило
+      created_msg: Успешно је додато ново IP правило
+      delete: Избриши
       expires_in:
         '1209600': 2 недеље
         '15778476': 6 месеци
@@ -290,6 +557,7 @@ sr:
       new:
         title: Креирај ново IP правило
       no_ip_block_selected: Ниједно IP правило није промењено јер ниједно није изабрано
+      title: IP правила
     relationships:
       title: Односи корисника %{acct}
     relays:
@@ -305,88 +573,395 @@ sr:
       pending: Чека се одобрење релеја
       save_and_enable: Сачувај и омогући
       setup: Подеси везу релеја
+      signatures_not_enabled: Преноси можда неће радити исправно док је укључен безбедни режим или режим ограничене федерације
       status: Статус
       title: Релеји
     report_notes:
       created_msg: Белешка пријаве успешно направљена!
       destroyed_msg: Белешка пријаве успешно избрисана!
     reports:
+      account:
+        notes:
+          few: "%{count} белешке"
+          one: "%{count} белешка"
+          other: "%{count} бележака"
+      action_log: Записник
       action_taken_by: Акцију извео
+      actions:
+        delete_description_html: Пријављене објаве ће бити обрисане и прекршај ће бити уписан да би Вам олакшали интервенцију приликом будућих преступа са истог налога.
+        mark_as_sensitive_description_html: Мултимедијални садржај са пријављених објава ће бити означен као осетљив и прекршај ће бити уписан ради лакше интервенције у случају даљих прекршаја са истог налога.
+        other_description_html: Погледајте више опција за контролисање понашања налога и прилагодите комуникацију са пријављеним налогом.
+        resolve_description_html: Ниједна радња неће бити предузета против пријављеног налога, ниједан преступ није уписан и пријава ће бити затворена.
+        silence_description_html: Налог ће бити видљив само онима који га већ прате или који га ручно потраже, што ће значајно ограничити његов домет. Ограничење се може повући у сваком тренутку. Затвара све пријаве поднете против овог налога.
+        suspend_description_html: Налог и сви његови садржаји ће постати недоступни и у једном тренутку избрисани, а интеракција са налогом више неће бити могућа. Суспензија се може повући у року од 30 дана. Затвара све пријаве поднете против овог налога.
+      actions_description_html: Одлучите коју радњу да спроведете ради решавања ове пријаве. Уколико спроведете казнену радњу против пријављеног налога, власник налога ће бити обавештен путем и-мејла, осим уколико ознака <strong>„Непожељне поруке”</strong> није одабрана.
+      actions_description_remote_html: Одлучите коју радњу да предузмете ради решавања ове пријаве. Ово ће утицати само на то како <strong>Ваш</strong> сервер комуницира са овим удаљеним налогом и обрађује његов садржај.
+      add_to_report: Додај још у пријаву
       are_you_sure: Да ли сте сигурни?
       assign_to_self: Додели мени
       assigned: Додељени модератор
+      by_target_domain: Домен пријављеног налога
+      cancel: Откажи
+      category: Категорија
+      category_description_html: Разлог због ког је овај налог и/или садржај пријављен ће бити образложен у комуникацији са пријављеним налогом
       comment:
         none: Ништа
+      comment_description_html: 'Ради пружања више информација, %{name} је написао/-ла:'
+      confirm: Потврди
+      confirm_action: Потврди модерацијску радњу према @%{acct}
       created_at: Пријављена
+      delete_and_resolve: Обриши објаве
+      forwarded: Прослеђено
+      forwarded_to: Прослеђено ка %{domain}
       mark_as_resolved: Означи као решену
+      mark_as_sensitive: Обележи као осетљиво
       mark_as_unresolved: Означи као нерешену
+      no_one_assigned: Нико
       notes:
         create: Додај белешку
         create_and_resolve: Реши са белешком
         create_and_unresolve: Отвори поново са белешком
         delete: Обриши
         placeholder: Опишите какве су радње предузете, или било какве повезане новости...
+        title: Белешке
+      notes_description_html: Прочитајте и оставите напомене другим модераторима и себи у будућности
+      processed_msg: 'Пријава #%{id} успешно обрађена'
+      quick_actions_description_html: 'Предузмите брзу радњу или се спустите ниже да бисте видели пријављени садржај:'
+      remote_user_placeholder: удаљени корисник са %{instance}
       reopen: Отвори пријаву поново
       report: 'Пријава #%{id}'
       reported_account: Пријављени налог
       reported_by: Пријавио
       resolved: Решена
       resolved_msg: Пријава успешно разрешена!
+      skip_to_actions: Прескочи до радњи
       status: Статус
+      statuses: Пријављени садржај
+      statuses_description_html: Спорни садржај ће бити наведен у комуникацији са пријављеним налогом
+      summary:
+        action_preambles:
+          delete_html: 'Управо ћете <strong>обрисати</strong> неке од објава корисника <strong>@%{acct}</strong>. Ово ће:'
+          mark_as_sensitive_html: 'Управо ћете <strong>означити</strong> неке објаве корисника <strong>@%{acct}</strong> као <strong>осетљиве</strong>. Ово ће:'
+          silence_html: 'Управо ћете <strong>ограничити</strong> налог корисника <strong>@%{acct}</strong>. Ово ће:'
+          suspend_html: 'Управо ћете <strong>суспендовати</strong> налог корисника <strong>@%{acct}</strong>. Ово ће:'
+        actions:
+          delete_html: Обришите спорне објаве
+          mark_as_sensitive_html: Обележите медије спорних објава као осетљиве
+          silence_html: Жестоко ограничите домет корисника <strong>@%{acct}</strong> тако што ћете учинити његов профил и садржаје видљиве само људима који их већ прате и људима који ручно потраже профил
+          suspend_html: Суспендујте корисника <strong>@%{acct}</strong>, што ће учинити његов профил и садржаје недоступним за приступ и интеракцију
+        close_report: 'Означите пријаву #%{id} као решену'
+        close_reports_html: Означи <strong>све</strong> пријаве против <strong>@%{acct}</strong> као решене
+        delete_data_html: Обриши профил и садржаје корисника <strong>@%{acct}</strong> за 30 дана осим уколико суспензија буде повучена у међувремену
+        preview_preamble_html: "<strong>@%{acct}</strong> ће примити упозорење следеће садржине:"
+        record_strike_html: Упишите прекршај на име <strong>@%{acct}</strong> да би Вам било лакше да у будућности интервенишете приликом даљих преступа са овог налога
+        send_email_html: Пошаљи имејл упозорења кориснику <strong>@%{acct}</strong>
+        warning_placeholder: Опционо додатно образложење за модерацијску радњу.
+      target_origin: Порекло пријављеног налога
       title: Пријаве
       unassign: Уклони доделу
+      unknown_action_msg: 'Непозната радња: %{action}'
       unresolved: Нерешене
       updated_at: Ажурирана
       view_profile: Погледај профил
     roles:
       add_new: Додај улогу
+      assigned_users:
+        few: "%{count} корисника"
+        one: "%{count} корисник"
+        other: "%{count} корисника"
       categories:
         administration: Администрација
+        devops: DevOps
+        invites: Позивнице
         moderation: Модерација
+        special: Посебно
       delete: Избриши
+      description_html: Помоћу <strong>корисничких улога</strong> можете да подесите којим функцијама и деловима Мастодона Ваши корисници могу да приступе.
+      edit: Измени улогу '%{name}'
+      everyone: Подразумевана овлашћења
+      everyone_full_description_html: Ово је <strong>основна улога</strong> која се односи на <strong>све кориснике</strong>, чак и оне којима није додељена улога. Све друге улоге наслеђују овлашћења од основне улоге.
+      permissions_count:
+        few: "%{count} дозволе"
+        one: "%{count} дозвола"
+        other: "%{count} дозвола"
       privileges:
         administrator: Администратор
+        administrator_description: Корисници са овом привилегијом могу да заобиђу сва друга ограничења
         delete_user_data: Избриши податке корисника
+        delete_user_data_description: Допушта корисницима да избришу податке других корисника без одлагања
         invite_users: Позови кориснике
+        invite_users_description: Допушта корисницима да позове нове људе на сервер
         manage_announcements: Управљај обавештењима
+        manage_announcements_description: Допушта корисницима да руководе саопштењима на серверу
+        manage_appeals: Надгледање жалби
+        manage_appeals_description: Допушта корисницима да прегледају жалбе на модерацијске радње
+        manage_blocks: Надгледање блокова
+        manage_blocks_description: Допушта корисницима да блокирају имејл провајдере и IP адресе
+        manage_custom_emojis: Надлежност над прилагођеним емоџијима
+        manage_custom_emojis_description: Даје корисницима контролу над прилагођеним емоџијима на серверу
+        manage_federation: Надгледање федерације
+        manage_federation_description: Допушта корисницима да блокирају или дозволе федерацију са другим доменима и контролишу испоручивање података другим серверима
+        manage_invites: Надгледање позивница
+        manage_invites_description: Допушта корисницима да претражују и деактивирају позивнице
+        manage_reports: Надгледање пријава
+        manage_reports_description: Допушта корисницима да прегледају пријаве и извршавају модерацијске радње над њима
         manage_roles: Управљај улогама
+        manage_roles_description: Допушта корисницима да надгледају и додељују улоге са нижим овлашћењима од њихове
         manage_rules: Управљај правилима
         manage_rules_description: Дозволи корисницима да мењају правила сервера
         manage_settings: Управљај поставкама
         manage_settings_description: Дозволи корисницима да мењају поставке сајта
+        manage_taxonomies: Надгледање таксономија
+        manage_taxonomies_description: Допушта корисницима да прегледају садржај у тренду и ажурирају поставке хеш ознака
+        manage_user_access: Надлежност над корисничким приступом
+        manage_user_access_description: Допушта корисницима да онемогуће двофакторску аутентификацију других корисника, мењају им имејл адресе и ресетују им лозинке
+        manage_users: Надлежност над корисницима
+        manage_users_description: Допушта корисницима да прочитају детаље других корисника и извршавају модерацијске радње над њима
+        manage_webhooks: Надлежност над webhook елементима
+        manage_webhooks_description: Допушта корисницима да успоставе webhook елементе за административне радње
+        view_audit_log: Прочитај записник ревизија
+        view_audit_log_description: Допушта корисницима да виде историју административних радњи на серверу
+        view_dashboard: Погледај контролни панел
+        view_dashboard_description: Допушта корисницима да приступе контролном панелу и разним метрикама
+        view_devops: DevOps
+        view_devops_description: Допушта корисницима да приступе Sidekiq и pgHero контролним панелима
+      title: Улоге
     rules:
       add_new: Додај правило
       delete: Избриши
+      description_html: Док већина тврди да је прочитала и слаже се са условима коришћења, људи их обично не читају све док се не јави проблем. <strong>Учините правила Вашег сервера читљивијим и приступачнијим тако што ћете их изложити у форми листе.</strong> Потрудите се да појединачна правила буду кратка и једноставна, али покушајте и да их не исцепкате у превише одвојених ставки.
       edit: Уреди правило
       empty: Ниједно правило сервера још није дефинисано.
       title: Правила сервера
     settings:
+      about:
+        manage_rules: Управљање правилима сервера
+        preamble: Пружите детаљне информације о томе како се сервер води, модерира и финансира.
+        rules_hint: Постоји предвиђено место за правила која се од корисника очекује да поштују.
+        title: Назив
       appearance:
+        preamble: Прилагодите веб интерфејс Мастодона.
         title: Изглед
+      branding:
+        preamble: Брендирање Вашег сервера га издваја од других сервера на мрежи. Ове информације могу бити приказане у разним окружењима, попут Мастодоновог веб интерфејса, нативних апликација, у прегледима линкова на другим серверима и у апликацијама за размену порука, итд. Из овог разлога, најбоље је да ове информације буду кратке, јасне и концизне.
+        title: Брендирање
+      content_retention:
+        preamble: Контролишите како се садржај генерисан од стране корисника складишти на Мастодону.
+        title: Задржавање садржаја
       default_noindex:
         desc_html: Утиче на све кориснике који нису сами променили ову поставку
         title: Подразумевано искључи кориснике из индексирања претраживача
       discovery:
+        follow_recommendations: Препоруке за праћење
+        preamble: Одржавање занимљивих садржаја на површини је кључно у привлачењу нових корисника који можда не знају никога на Мастодону. Контролишите како различити начини истраживања функционишу на Вашем серверу.
+        profile_directory: Директоријум профилâ
         public_timelines: Јавне временске линије
+        publish_discovered_servers: Објави откривене сервере
+        publish_statistics: Објави статистику
         title: Откривање
+        trends: Трендови
+      domain_blocks:
+        all: Свима
+        disabled: Никоме
+        users: Пријављеним локалним корисницима
+      registrations:
+        preamble: Контролишите ко сме да направи налог на Вашем серверу.
+        title: Регистрације
+      registrations_mode:
+        modes:
+          approved: Одобрење неопходно за регистрацију
+          none: Нико не може да се региструје
+          open: Било ко може да се региструје
+      title: Подешавања сервера
+    site_uploads:
+      delete: Обриши отпремљени фајл
+      destroyed_msg: Отпремање успешно обрисано!
     statuses:
+      account: Аутор
+      application: Апликација
       back_to_account: Назад на страну налога
+      back_to_report: Назад на страницу са пријавама
+      batch:
+        remove_from_report: Уклоните из пријаве
+        report: Пријави
+      deleted: Обрисано
+      favourites: Омиљено
+      history: Историја верзијâ
+      in_reply_to: Одговор на
+      language: Језик
       media:
         title: Мултимедија
+      metadata: Мета подаци
       no_status_selected: Ниједан статус није промењен јер ниједан није изабран
+      open: Отвори објаву
+      original_status: Оригинална објава
+      reblogs: Дељења
+      status_changed: Објава промењена
       title: Статуси налога
+      trending: У тренду
+      visibility: Видљивост
       with_media: Са мултимедијом
+    strikes:
+      actions:
+        delete_statuses: "%{name} је обрисао/-ла објаве %{target}"
+        disable: "%{name} је замрзнуо налог корисника %{target}"
+        mark_statuses_as_sensitive: "%{name} је означио/-ла објаве корисника %{target} као осетљиве"
+        none: "%{name} је послао/-ла упозорење кориснику %{target}"
+        sensitive: "%{name} је обележио/-ла налог %{target} као осетљив"
+        silence: "%{name} је ограничио/-ла налог %{target}"
+        suspend: "%{name} је суспендовао/-ла налог %{target}"
+      appeal_approved: Жалба уважена
+      appeal_pending: Жалба у разматрању
+      appeal_rejected: Жалба одбијена
+    system_checks:
+      database_schema_check:
+        message_html: Селидбе базâ података су на чекању. Молимо Вас обавите их да би се апликација понашала како треба
+      elasticsearch_running_check:
+        message_html: Повезивање на Elasticsearch није било могуће. Молимо Вас проверите да ли је покренут, или онемогућите претрагу целог текста
+      elasticsearch_version_check:
+        message_html: 'Неусклађена Elasticsearch верзија: %{value}'
+        version_comparison: Elasticsearch %{running_version} је инсталиран а %{required_version} је неопходан
+      rules_check:
+        action: Управљање правилима сервера
+        message_html: Нисте дефинисали ниједно правило сервера.
+      sidekiq_process_check:
+        message_html: Ниједан Sidekiq процес није покренут за ред(ове) %{value}. Молимо Вас прегледајте своју Sidekiq конфигурацију
+    tags:
+      review: Прегледај статус
+      updated_msg: Подешавања хеш ознака успешно ажурирана
     title: Администрација
+    trends:
+      allow: Дозволи
+      approved: Одобрено
+      disallow: Забрани
+      links:
+        allow: Дозволи линк
+        allow_provider: Дозволи издавача
+        description_html: Ово су линкови који се тренутно често деле међу налозима које Ваш сервер види. Може помоћи Вашим корисницима да сазнају шта се дешава у свету. Ниједан линк није јавно приказан све док Ви не одобрите издавача. Такође можете да дозволите или одбијете засебне линкове.
+        disallow: Забрани линк
+        disallow_provider: Забрани издавача
+        no_link_selected: Ниједан линк није промењен јер ниједан није изабран
+        publishers:
+          no_publisher_selected: Ниједан издавач није промењен јер ниједан није изабран
+        shared_by_over_week:
+          few: Подељен од стране %{count} особе током претходне недеље
+          one: Подељен од стране једне особе током претходне недеље
+          other: Подељен од стране %{count} особа током претходне недеље
+        title: Линкови у тренду
+        usage_comparison: Подељено %{today} пута данас, у поређењу са %{yesterday} пута јуче
+      not_allowed_to_trend: Није одобрено за тренд
+      only_allowed: Само дозвољено
+      pending_review: Преглед на чекању
+      preview_card_providers:
+        allowed: Линкови са овог извора могу да буду „у тренду”
+        description_html: Ово су домени чији се линкови често деле на Вашем серверу. Линкови неће бити јавно приказани као „у тренду” осим уколико је домен линкова одобрен. Ваше одобрење (или одбијање) се преноси и на поддомене.
+        rejected: Линкови са овог извора неће бити „у тренду”
+        title: Издавачи
+      rejected: Одбијен
+      statuses:
+        allow: Дозволи објаву
+        allow_account: Одобри аутора
+        description_html: Ово су објаве за које Ваш сервер зна, а које се тренутно често деле и које корисници често стављају у „омиљене”. Могу помоћи Вашим новим корисницима и повратницима да пронађу још људи за праћење. Ниједна објава није приказана јавно све док Ви не одобрите аутора, односно док аутор не дозволи да његов/њен налог буде препоручен другима. Такође можете да одобрите или одбијете засебне објаве.
+        disallow: Забрани објаву
+        disallow_account: Забрани аутора
+        no_status_selected: Ниједна објава у тренду није промењена јер ниједна није изабрана
+        not_discoverable: Аутор није дао сагласност да буде препоручен
+        shared_by:
+          few: Подељено и стављено у „омиљене” %{friendly_count} пута
+          one: Подељено или стављено у „омиљене” једном
+          other: Подељено и стављено у „омиљене” %{friendly_count} пута
+        title: Објаве у тренду
+      tags:
+        current_score: Тренутна вредност %{score}
+        dashboard:
+          tag_accounts_measure: јединствене употребе
+          tag_languages_dimension: Најзаступљенији језици
+          tag_servers_dimension: Најактивнији сервери
+          tag_servers_measure: различити сервери
+          tag_uses_measure: укупно употреба
+        description_html: Ово су хеш ознаке које се тренутно често појављују у објавама које Ваш сервер види. Могу помоћи Вашим корисницима да открију о чему се тренутно највише говори. Ниједна хеш ознака није приказана јавно све док Ви то не одобрите.
+        listable: Може се препоручити
+        no_tag_selected: Ниједна ознака није измењена јер ниједна није изабрана
+        not_listable: Неће бити препоручено
+        not_trendable: Неће се појављивати у трендовима
+        not_usable: Не може се користити
+        peaked_on_and_decaying: Врхунац достигнут датума %{date}, од тада у опадању
+        title: Хеш ознаке у тренду
+        trendable: Може да се појави под трендовима
+        trending_rank: 'У тренду #%{rank}'
+        usable: Може се користити
+        usage_comparison: Употребљено %{today} пута данас, у поређењу са %{yesterday} пута јуче
+        used_by_over_week:
+          few: Коришћено од стране %{count} особе током претходне недеље
+          one: Коришћено од стране једне особе током претходне недеље
+          other: Коришћено од стране %{count} људи током претходне недеље
+      title: Трендови
+      trending: У тренду
     warning_presets:
       add_new: Додај нови
       delete: Избриши
       edit_preset: Уреди пресет упозорења
+      empty: Још увек нисте дефинисали ниједан шаблон упозорења.
       title: Управљај пресетима упозорења
+    webhooks:
+      add_new: Додај крајњу тачку
+      delete: Избриши
+      description_html: "<strong>Webhook</strong> омогућава Мастодону да Вашој апликацији испоручује <strong>обавештења у реалном времену</strong> о одабраним догађајима, тако да Ваша апликација може да <strong>aутоматски изазове реакцију</strong>."
+      disable: Онемогући
+      disabled: Онемогућено
+      edit: Измени крајњу тачку
+      empty: Још увек немате ниједну конфигурисану webhook крајњу тачку.
+      enable: Омогући
+      enabled: Активно
+      enabled_events:
+        few: "%{count} омогућена догађаја"
+        one: 1 омогућен догађај
+        other: "%{count} омогућених догађаја"
+      events: Догађаји
+      new: Нови webhook
+      rotate_secret: Ротација тајни
+      secret: Тајно потписивање
+      status: Статус
+      title: Веб-пресретач
+      webhook: Веб-пресретач
   admin_mailer:
+    new_appeal:
+      actions:
+        delete_statuses: обрисати објаве корисника
+        disable: замрзнути налог корисника
+        mark_statuses_as_sensitive: означити објаве корисника као осетљиве
+        none: упозорење
+        sensitive: означити налог као осетљив
+        silence: ограничити налог
+        suspend: суспендовати налог
+      body: "%{target} прилаже жалбу на модерацијску одлуку корисника %{action_taken_by} од %{date}, која је гласила %{type}. У жалби пише:"
+      next_steps: Можете уважити жалбу да бисте повукли модерацијску одлуку, или је можете игнорисати.
+      subject: "%{username} прилаже жалбу на модерацијску одлуку са %{instance}"
+    new_pending_account:
+      body: Детаљи новог налога су наведени доле. Можете одобрити или одбити овај захтев.
+      subject: Нов налог за преглед на %{instance} (%{username})
     new_report:
       body: "%{reporter} је пријавио %{target}"
       body_remote: Нека са домена %{domain} је пријавио %{target}
       subject: Нова пријава за %{instance} (#%{id})
+    new_trends:
+      body: 'Следеће ставке је потребно прегледати пре него што могу јавно да се прикажу:'
+      new_trending_links:
+        title: Линкови у тренду
+      new_trending_statuses:
+        title: Објаве у тренду
+      new_trending_tags:
+        no_approved_tags: Тренутно нема одобрених хеш ознака у тренду.
+        requirements: 'Било који од следећих кандидата би могао превазићи #%{rank} одобрену хеш ознаку у тренду, која је тренутно #%{lowest_tag_name} са вредношћу %{lowest_tag_score}.'
+        title: Хеш ознаке у тренду
+      subject: Нови трендови за преглед на %{instance}
+  aliases:
+    add_new: Направи псеудоним
+    created_msg: Успешно је направљен нови псеудоним. Сада можете иницирати пресељење са старог налога.
+    deleted_msg: Успешно је уклоњен псеудоним. Премештање са тог налога на овај више неће бити могуће.
+    empty: Немате ниједан псеудоним.
+    hint_html: Ако желите да се преселите са другог налога на овај, овде можете направити псеудоним, који је неопходан пре него што можете наставити са пребацивањем пратилаца са старог налога на овај. Ова радња сама по себи је <strong>безопасна и реверзибилна</strong>. <strong>Пресељење налога се иницира са старог налога</strong>.
+    remove: Одвежи псеудоним
   appearance:
     advanced_web_interface: Напредно веб окружење
     advanced_web_interface_hint: 'Ако желите да искористите целу ширину екрана, напредно веб окружење вам омогућује да конфигуришете много различитих колона да бисте видели онолико информација у исто време колико желите: почетну страницу, обавештења, здружену временску линију, било који број листа и хеш ознака.'
@@ -395,11 +970,13 @@ sr:
     discovery: Откривање
     localization:
       body: Mastodon преводе добровољци.
+      guide_link: https://crowdin.com/project/mastodon
       guide_link_text: Свако може допринети.
     sensitive_content: Осетљив садржај
     toot_layout: Распоред објава
   application_mailer:
     notification_preferences: Промени преференце Е-поште
+    salutation: Поштовани %{name},
     settings: 'Промени подешавања е-поште: %{link}'
     view: 'Погледај:'
     view_profile: Погледај налог
@@ -407,35 +984,71 @@ sr:
   applications:
     created: Апликација успешно направљена
     destroyed: Апликација успешно обрисана
+    logout: Одјава
     regenerate_token: Рекреирај приступни токен
     token_regenerated: Приступни токен успешно рекреиран
     warning: Опрезно са овим подацима. Никад је не делите ни са ким!
     your_token: Ваш приступни токен
   auth:
+    apply_for_account: Затражите налог
     change_password: Лозинка
+    confirmations:
+      wrong_email_hint: Ако та имејл адреса није исправна, можете је променити у подешавањима налога.
     delete_account: Брисање налога
     delete_account_html: Ако желите да избришете ваш налог, можете <a href="%{path}">наставити овде</a>. Од вас ће се тражити потврда.
+    description:
+      prefix_invited_by_user: "@%{name} Вас позива да се придружите овом серверу Мастодона!"
+      prefix_sign_up: Придружите се Мастодону данас!
+      suffix: Са налогом, моћи ћете да пратите људе, објављујете новости и размењујете поруке са корисницима било ког Мастодон сервера и више!
     didnt_get_confirmation: Нисте добили поруку са упутствима за потврду налога?
+    dont_have_your_security_key: Немате сигурносни кључ?
     forgot_password: Заборавили сте лозинку?
     invalid_reset_password_token: Токен за ресетовање лозинке је неисправан или је истекао. Затражите нови.
+    link_to_otp: Унесите двофакторски код са свог телефона или резервни код
+    link_to_webauth: Користите свој сигурносни кључ
+    log_in_with: Пријавите се помоћу
     login: Пријави се
     logout: Одјава
     migrate_account: Премештање у други налог
     migrate_account_html: Ако желите да преусмерите овај налог на неки други, можете то <a href="%{path}">подесити овде</a>.
     or_log_in_with: Или се пријавите са
+    privacy_policy_agreement_html: Прочитао/-ла сам и сагласан/-а сам са <a href="%{privacy_policy_path}" target="_blank">политиком приватности</a>
     providers:
       cas: CAS-ом
       saml: SAML-ом
     register: Региструј се
+    registration_closed: "%{instance} не прима нове чланове"
     resend_confirmation: Пошаљи поруку са упутствима о потврди налога поново
     reset_password: Ресетуј лозинку
+    rules:
+      accept: Прихвати
+      back: Назад
+      preamble: Ово су правила која су успоставили и која спроводе модератори сервера %{domain}.
+      title: Нека основна правила.
     security: Безбедност
     set_new_password: Постави нову лозинку
+    setup:
+      email_below_hint_html: Ако је имејл адреса испод неисправна, можете је променити овде и добити нови имејл потврде.
+      email_settings_hint_html: Имејл потврде је послат на %{email}. Ако та имејл адреса није исправна, можете је променити у подешавањима налога.
+      title: Постављање
+    sign_in:
+      preamble_html: Пријавите се са својим подацима за <strong>%{domain}</strong>. Ако се Ваш налог налази на другом серверу, нећете моћи да се пријавите овде.
+      title: Пријавите се на %{domain}
+    sign_up:
+      preamble: Са налогом на овом Мастодон серверу, моћи ћете да пратите било кога са мреже, без обзира на то на ком серверу се његов/њен налог налази.
+      title: Хајде да Вам наместимо налог на %{domain}.
     status:
       account_status: Статус налога
+      confirming: Чекање на потврду путем имејла.
       functional: Ваш налог је потпуно оперативан.
+      pending: Ваш захтев је на чекању за преглед од стране нашег особља. Ово може потрајати неко време. Примићете имејл поруку уколико Вам захтев буде одобрен.
+      redirecting_to: Ваш налог је неактиван јер преусмерава на %{acct}.
+      view_strikes: Погледајте претходне преступе уписане на Ваше име
+    too_fast: Формулар је поднет пребрзо, покушајте поново.
+    use_security_key: Користите сигурносни кључ
   authorize_follow:
     already_following: Већ пратите овај налог
+    already_requested: Већ сте послали захтев за праћење том налогу
     error: Нажалост, десила се грешка при тражењу удаљеног налога
     follow: Запрати
     follow_request: 'Послали сте захтев за праћењен за:'
@@ -445,25 +1058,87 @@ sr:
       return: Врати се на налог овог корисника
       web: Иди на веб
     title: Запрати %{acct}
+  challenge:
+    confirm: Настави
+    hint_html: "<strong>Савет:</strong> Нећемо Вас питати за лозинку поново у наредних сат времена."
+    invalid_password: Неисправна лозинка
+    prompt: Потврдите лозинку за наставак
+  crypto:
+    errors:
+      invalid_key: није валидан Ed25519 или Curve25519 кључ
+      invalid_signature: није валидан Ed25519 потпис
+  date:
+    formats:
+      default: "%d. %b. %Y."
+      with_month_name: "%d. %B %Y."
   datetime:
     distance_in_words:
+      about_x_hours: "%{count} ч."
       about_x_months: "%{count}месец"
       about_x_years: "%{count}год"
       almost_x_years: "%{count}год"
       half_a_minute: Управо сад
+      less_than_x_minutes: "%{count} мин."
       less_than_x_seconds: Управо сад
       over_x_years: "%{count}год"
       x_days: "%{count}д"
+      x_minutes: "%{count} мин."
       x_months: "%{count}месец"
+      x_seconds: "%{count} сек."
   deletes:
+    challenge_not_passed: Лозинка коју сте унели није била исправна
     confirm_password: Унесите тренутну лозинку да бисмо проверили Ваш идентитет
+    confirm_username: Унесите своје корисничко име да бисте потврдили процедуру
     proceed: Обриши налог
     success_msg: Ваш налог је успешно обрисан
+    warning:
+      before: 'Пре него што наставите, молимо Вас пажљиво прочитајте следеће напомене:'
+      caches: Садржај који је кеширан на другим серверима може да остане нетакнут
+      data_removal: Ваше објаве и други подаци ће бити трајно избрисани
+      email_change_html: Можете <a href="%{path}">променити своју имејл адресу</a> без брисања свог налога
+      email_contact_html: Ако порука и даље не стиже, можете послати мејл на <a href="mailto:%{email}">%{email}</a> за помоћ
+      email_reconfirmation_html: Уколико Вам имејл за потврду не стиже, можете га <a href="%{path}">поново затражити</a>
+      irreversible: Нећете бити у могућности да вратите или реактивирате свој налог
+      more_details_html: За више детаља, погледајте <a href="%{terms_path}">политику приватности</a>.
+      username_available: Ваше корисничко име ће поново постати доступно
+      username_unavailable: Ваше корисничко име ће остати недоступно
+  disputes:
+    strikes:
+      action_taken: Радња предузета
+      appeal: Жалба
+      appeal_approved: Жалба на овај преступ је уважена и преступ више није валидан
+      appeal_rejected: Жалба је одбијена
+      appeal_submitted_at: Жалба је приложена
+      appealed_msg: Ваша жалба је приложена. Бићете обавештени уколико она буде била уважена.
+      appeals:
+        submit: Приложи жалбу
+      approve_appeal: Уважи жалбу
+      associated_report: Сродна пријава
+      created_at: Датум
+      description_html: Ово су радње предузете против Вашег налога и упозорења која су Вам послали чланови особља %{instance}.
+      recipient: Усмерено према
+      reject_appeal: Одбиј жалбу
+      status: 'Објава #%{id}'
+      status_removed: Објава је већ уклоњена из система
+      title: "%{action} од %{date}"
+      title_actions:
+        delete_statuses: Брисање објава
+        disable: Замрзавање налога
+        mark_statuses_as_sensitive: Означавање објава као осетљивих
+        none: Упозорење
+        sensitive: Означавање налога као осетљивог
+        silence: Ограничење налога
+        suspend: Суспензија налога
+      your_appeal_approved: Ваша жалба је уважена
+      your_appeal_pending: Приложили сте жалбу
+      your_appeal_rejected: Ваша жалба је одбијена
+  domain_validator:
+    invalid_domain: нелегитимно име домена
   errors:
-    '400': The request you submitted was invalid or malformed.
+    '400': Захтев који сте поднели је био нелегитиман или у погрешном формату.
     '403': Немате дозвола да видите ову страну.
     '404': Страна коју сте тражили не постоји.
-    '406': This page is not available in the requested format.
+    '406': Ова страница није доступна у изабраном формату.
     '410': Страна коју сте тражили више не постоји.
     '422':
       content: Безбедоносна провера није успела. Да не блокирате колачиће?
@@ -472,8 +1147,11 @@ sr:
     '500':
       content: Извињавамо се, нешто је пошло по злу са ове стране.
       title: Страна није исправна
-    '503': The page could not be served due to a temporary server failure.
+    '503': Страницу није било могуће доставити услед привременoг пада сервера.
     noscript_html: Да бисте користили Мастодонт веб апликацију, омогућите JavaScript. У супротном, пробајте неку од <a href="%{apps_path}">оригиналних апликација</a> за Мастодонт за Вашу платформу.
+  existing_username_validator:
+    not_found: није било могуће пронаћи локалног корисника са тим корисничким именом
+    not_found_multiple: није било могуће пронаћи %{usernames}
   exports:
     archive_takeout:
       date: Датум
@@ -483,6 +1161,8 @@ sr:
       request: Затражите своју архиву
       size: Величина
     blocks: Блокирали сте
+    bookmarks: Обележивачи
+    csv: CSV
     domain_blocks: Блокови домена
     lists: Листе
     mutes: Игноришете
@@ -494,33 +1174,90 @@ sr:
     hint_html: "<strong>Шта су истакнуте хеш онаке?</strong> Оне се приказују истакнуто на вашем јавном профилу и омогућују људима да прегледају ваше јавне објаве конкретно под тим хеш ознакама. Оне су сјајан алат за праћење креативних радова или дугорочних пројеката."
   filters:
     contexts:
+      account: Профили
       home: Временска линија почетне
       notifications: Обавештења
       public: Јавне временске линије
       thread: Разговори
     edit:
+      add_keyword: Додај кључну реч
+      keywords: Кључне речи
+      statuses: Засебне објаве
+      statuses_hint_html: Овај филтер важи за одабране засебне објаве без обзира на то да ли садрже кључне речи наведене испод. <a href="%{path}">Прегледајте или уклоните објаве из филтера</a>.
       title: Измени филтер
     errors:
+      deprecated_api_multiple_keywords: Ови параметри не могу бити промењени у овој апликацији зато што се односе на више од једне кључне речи. Користите ажурнију апликацију или веб интерфејс.
       invalid_context: Ниједан или неважећи контекст испоручен
     index:
+      contexts: Филтрира у %{contexts}
       delete: Избриши
       empty: Немате филтере.
+      expires_in: Истиче за %{distance}
+      expires_on: Истиче датума %{date}
+      keywords:
+        few: "%{count} кључне речи"
+        one: "%{count} кључна реч"
+        other: "%{count} кључних речи"
+      statuses:
+        few: "%{count} објаве"
+        one: "%{count} објава"
+        other: "%{count} објава"
+      statuses_long:
+        few: "%{count} засебне објаве сакривене"
+        one: "%{count} засебна објава сакривена"
+        other: "%{count} засебних објава сакривено"
       title: Филтери
     new:
+      save: Сачувај нови филтер
       title: Додај нови филтер
+    statuses:
+      back_to_filter: Назад на филтер
+      batch:
+        remove: Уклони из филтера
+      index:
+        hint: Овај филтер важи за одабране засебне објаве без обзира на друге критеријуме. Можете да додате више објава у овај филтер путем веб интерфејса.
+        title: Филтриране објаве
   generic:
+    all: Сви
+    all_items_on_page_selected_html:
+      few: Све <strong>%{count}</strong> ставке са ове странице су изабране.
+      one: "<strong>%{count}</strong> ставка са ове странице је изабрана."
+      other: Свих <strong>%{count}</strong> ставки са ове странице је изабрано.
+    all_matching_items_selected_html:
+      few: Све <strong>%{count}</strong> ставке које се поклапају са Вашом претрагом су изабране.
+      one: "<strong>%{count}</strong> ставка која се поклапа са Вашом претрагом је изабрана."
+      other: Свих <strong>%{count}</strong> ставки које се поклапају са Вашом претрагом су изабране.
     changes_saved_msg: Измене успешно сачуване!
     copy: Копирај
+    delete: Избриши
+    deselect: Поништи све изборе
+    none: Ниједна
+    order_by: Сортирај према
     save_changes: Сачувај промене
+    select_all_matching_items:
+      few: Одаберите све %{count} ставке које се поклапају са Вашом претрагом.
+      one: Одаберите %{count} ставку која се поклапа са Вашом претрагом.
+      other: Одаберите свих %{count} ставки које се поклапају са Вашом претрагом.
+    today: данас
     validation_errors:
       few: Нешто није баш како треба! Прегледајте %{count} грешке испод
       one: Нешто није баш како треба! Прегледајте грешке испод
       other: Нешто није баш како треба! Прегледајте %{count} грешака испод
   imports:
+    errors:
+      invalid_csv_file: 'Неисправан CSV фајл. Грешка: %{error}'
+      over_rows_processing_limit: садржи више од %{count} редова
+    modes:
+      merge: Стапање
+      merge_long: Задржите постојеће записе и додајте нове
+      overwrite: Замени
+      overwrite_long: Замени тренутне записе новима
     preface: Можете увести податке које сте извезли са друге инстанце, као што су листе људи које сте пратили или блокирали.
     success: Ваши подаци су успешно отпремљени и биће обрађени ускоро
     types:
       blocking: Листа блокирања
+      bookmarks: Обележивачи
+      domain_blocking: Листа блокираних домена
       following: Листа пратилаца
       muting: Листа ућутканих
     upload: Отпреми
@@ -547,17 +1284,70 @@ sr:
       expires_at: Истиче
       uses: Коришћења
     title: Позовите људе
+  lists:
+    errors:
+      limit: Достигли сте максимални број листâ
+  login_activities:
+    authentication_methods:
+      otp: апликација за двофакторску аутентификацију
+      password: лозинка
+      sign_in_token: имејл сигурносни код
+      webauthn: сигурносни кључеви
+    description_html: Уколико приметите активност коју не препознајете, размислите о томе да промените своју лозинку и укључите двофакторску аутентификацију.
+    empty: Историја аутентификације није доступна
+    failed_sign_in_html: Неуспешан покушај пријављивања путем %{method} са %{ip} (%{browser})
+    successful_sign_in_html: Успешан покушај пријављивања путем %{method} са %{ip} (%{browser})
+    title: Историја аутентификације
   media_attachments:
     validations:
       images_and_video: Не може да се прикачи видео на статус који већ има слике
+      not_ready: Не могу се приложити фајлови који још увек нису обрађени. Покушајте поново за који тренутак!
       too_many: Не може се прикачити више од 4 фајла
   migrations:
     acct: корисник@домен новог налога
+    cancel: Откажи преусмерење
+    cancel_explanation: Отказивање преусмерења ће поново активирати Ваш садашњи налог, али неће вратити пратиоце који су премештени на други налог.
+    cancelled_msg: Успешно је отказано преусмерење.
+    errors:
+      already_moved: већ сте се преселили на исти налог
+      missing_also_known_as: није псеудоним овог налога
+      move_to_self: не можете се преселити на садашњи налог
+      not_found: није било могуће пронаћи налог
+      on_cooldown: Под ограничењем сте
+    followers_count: Пратиоци у тренутку премештаја
     incoming_migrations: Премештање из другог налога
     incoming_migrations_html: Да бисте прешли са другог налога на овај, прво морате <a href="%{path}">креирате псеудоним налога</a>.
+    moved_msg: Ваш налог сада преусмерава на %{acct} и Ваши пратиоци се тренутно пребацују.
+    not_redirecting: Ваш налог тренутно не преусмерава ни на један други налог.
+    on_cooldown: Недавно сте се преселили на нови налог. Ова функција ће Вам поново постати доступна за %{count} дана.
+    past_migrations: Претходне селидбе
+    proceed_with_move: Пребаците пратиоце
+    redirected_msg: Ваш налог сада преусмерава на %{acct}.
+    redirecting_to: Ваш налог преусмерава на %{acct}.
+    set_redirect: Постави преусмерење
+    warning:
+      backreference_required: Нови налог прво мора бити конфигурисан тако да реферише на овај налог
+      before: 'Пре него што наставите, молимо Вас пажљиво прочитајте следеће напомене:'
+      cooldown: Након пресељења потребно је да прође одређено време пре него што ћете поново моћи да се преселите
+      disabled_account: Ваш тренутни налог више неће бити употребљив. Међутим, имаћете приступ извозу података као и реактивацији.
+      followers: Ова радња ће преместити све пратиоце са тренутног налога на нови налог
+      only_redirect_html: Уместо пресељења, можете <a href="%{path}">само додати преусмеравајући линк на свој профил.</a>.
+      other_data: Остали подаци неће бити аутоматски пребачени
+      redirect: Профил Вашег садашњег налога ће бити ажуриран са обавештењем о преусмерењу и биће искључен из претраге
   moderation:
     title: Модерација
+  move_handler:
+    carry_blocks_over_text: Овај корисник се преселио са налога %{acct}, који сте блокирали.
+    carry_mutes_over_text: Овај корисник се преселио са налога %{acct}, који сте утишали.
+    copy_account_note_text: 'Овај корисник се преселио са налога %{acct}, о коме сте записали следеће белешке:'
+  navigation:
+    toggle_menu: Прикажи/сакриј мени
   notification_mailer:
+    admin:
+      report:
+        subject: "%{name} је поднео/-ла пријаву"
+      sign_up:
+        subject: "%{name} се регистровао/-ла"
     favourite:
       body: "%{name} је поставио као омиљен Ваш статус:"
       subject: "%{name} је поставио као омиљен Ваш статус"
@@ -576,29 +1366,72 @@ sr:
       body: "%{name} Вас је поменуо у:"
       subject: "%{name} Вас је поменуо"
       title: Ново спомињање
+    poll:
+      subject: Анкета корисника %{name} се завршила
     reblog:
       body: "%{name} Вам је подржао/ла статус:"
       subject: "%{name} је подржао/ла Ваш статус"
       title: Нова подршка
+    status:
+      subject: "%{name} jе управо поставио/-ла објаву"
+    update:
+      subject: "%{name} је изменио/-ла објаву"
   notifications:
     email_events: Догађаји за обавештења е-поштом
     email_events_hint: 'Изаберите дешавања за која желите да примате обавештења:'
     other_settings: Остала подешавања обавештења
+  number:
+    human:
+      decimal_units:
+        format: "%n %u"
+        units:
+          billion: млрд.
+          million: мил.
+          quadrillion: трил.
+          thousand: хиљ.
+          trillion: бил.
+  otp_authentication:
+    code_hint: Укуцајте код генерисан у Вашој апликацији за аутентификацију да бисте потврдили
+    description_html: Ако укључите <strong>двофакторску аутентификацију</strong> путем апликације за аутентификацију, мораћете да будете при телефону приликом пријављивања да бисте имали приступ генерисаним кодовима за пријаву.
+    enable: Омогући
+    instructions_html: "<strong>Скенирајте овај QR код помоћу Google аутентификатора или сличне апликације на свом телефону</strong>. Од сада па убудуће, та апликација ће генерисати приступне кодове које ћете морати да унесете приликом пријављивања."
+    manual_instructions: 'Ако не можете да скенирате QR код и морате да га унесете ручно, ево његове текстуалне шифре:'
+    setup: Инсталација
+    wrong_code: Унесени код је био неисправан! Да ли су време сервера и време уређаја исправни?
   pagination:
     newer: Новије
     next: Следеће
     older: Старије
     prev: Претходни
+    truncate: "&hellip;"
+  polls:
+    errors:
+      already_voted: Већ сте гласали у овој анкети
+      duplicate_options: садржи дупликате
+      duration_too_long: превише је далеко у будућности
+      duration_too_short: превише је скоро
+      expired: Анкета је већ завршена
+      invalid_choice: Изабрана опција не постоји
+      over_character_limit: не може бити дуже од по %{max} карактера
+      too_few_options: мора имати више од једне опције
+      too_many_options: не може да садржи више од %{max} опција
   preferences:
     other: Остало
     posting_defaults: Подразумевана подешавања објављивања
     public_timelines: Јавне временске линије
+  privacy_policy:
+    title: Политика приватности
+  reactions:
+    errors:
+      limit_reached: Достигнуто је ограничење различитих реакција
+      unrecognized_emoji: није препознат емоџи
   relationships:
     activity: Активност налога
     confirm_follow_selected_followers: Да ли сте сигурни да желите да пратите изабране пратиоце?
     confirm_remove_selected_followers: Да ли сте сигурни да желите да уклоните изабране пратиоце?
     confirm_remove_selected_follows: Да ли сте сигурни да желите да уклоните изабрана праћења?
     dormant: Неактиван
+    follow_failure: Није могуће пратити неке од изабраних налога.
     follow_selected_followers: Прати изабране пратиоце
     followers: Пратиоци
     following: Праћења
@@ -615,6 +1448,14 @@ sr:
     status: Статус налога
   remote_follow:
     missing_resource: Не могу да нађем захтевану адресу преусмеравања за Ваш налог
+  reports:
+    errors:
+      invalid_rules: не реферише на легитимна правила
+  rss:
+    content_warning: 'Упозорење о садржају:'
+    descriptions:
+      account: Јавне објаве са @%{acct}
+      tag: 'Јавне објаве означене са #%{hashtag}'
   scheduled_statuses:
     over_daily_limit: Прекорачили сте границу од %{limit} планираних објава за данас
     over_total_limit: Прекорачили сте границу од %{limit} планираних објава
@@ -624,11 +1465,13 @@ sr:
     browser: Веб читач
     browsers:
       alipay: Алипеј
+      blackberry: Блекбери
       chrome: Chrome
       edge: Мајкрософт Еџ
       electron: Електрон
       firefox: Фајерфокс
       generic: Непознати веб читач
+      huawei_browser: Huawei прегледач
       ie: Интернет Експлорер
       micro_messenger: МајкроМесенџер
       nokia: Нокија С40 Ови Претраживач
@@ -637,18 +1480,24 @@ sr:
       phantom_js: ФантомЏејЕс
       qq: КјуКју Претраживач
       safari: Сафари
+      uc_browser: UC Browser
+      unknown_browser: Непознати прегледач
       weibo: Веибо
     current_session: Тренутна сесија
     description: "%{browser} са %{platform}"
     explanation: Ово су веб претраживачи који су тренутно пријављени на Ваш Мастодон налог.
+    ip: IP
     platforms:
       adobe_air: Адоб Ер-а
       android: Андроида
+      blackberry: Блекбери
+      chrome_os: ChromeOS
       firefox_os: Фајерфокс ОС-а
       ios: иОС-а
+      kai_os: KaiOS
       linux: Линукса
       mac: Мека
-      other: непознате платформе
+      unknown_platform: Непозната платформа
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
@@ -659,6 +1508,7 @@ sr:
   settings:
     account: Налог
     account_settings: Подешавања налога
+    aliases: Псеудоними налога
     appearance: Изглед
     authorized_apps: Ауторизоване апликације
     back: Назад на Мастодон
@@ -675,9 +1525,15 @@ sr:
     profile: Налог
     relationships: Праћења и пратиоци
     statuses_cleanup: Аутоматско брисање објава
+    strikes: Модерацијски преступи
     two_factor_authentication: Двофакторска идентификација
+    webauthn_authentication: Сигурносни кључеви
   statuses:
     attached:
+      audio:
+        few: "%{count} аудио записа"
+        one: "%{count} аудио запис"
+        other: "%{count} аудио записа"
       description: 'У прилогу: %{attached}'
       image:
         few: "%{count} слика"
@@ -694,15 +1550,34 @@ sr:
       few: 'садржи забрањене хештегове: %{tags}'
       one: 'садржи забрањени хештег: %{tags}'
       other: 'садржи забрањене хештегове: %{tags}'
+    edited_at_html: Измењено %{date}
+    errors:
+      in_reply_not_found: Објава на коју покушавате да одговорите наизглед не постоји.
     open_in_web: Отвори у вебу
     over_character_limit: ограничење од %{max} карактера прекорачено
     pin_errors:
+      direct: Објаве које су видљиве само поменутим корисницима не могу бити прикачене
       limit: Већ сте закачили максималан број објава
       ownership: Туђа објава се не може закачити
       reblog: Подршка не може да се прикачи
+    poll:
+      total_people:
+        few: "%{count} особе"
+        one: "%{count} особа"
+        other: "%{count} људи"
+      total_votes:
+        few: "%{count} гласа"
+        one: "%{count} глас"
+        other: "%{count} гласова"
+      vote: Гласајте
     show_more: Прикажи још
+    show_newer: Никад не приказуј
+    show_older: Прикажи старије
+    show_thread: Прикажи низ
     sign_in_to_participate: Пријавите се да учествујете у разговору
+    title: "%{name}: „%{quote}”"
     visibilities:
+      direct: Директно
       private: Само пратиоци
       private_long: Прикажи само пратиоцима
       public: Јавно
@@ -742,44 +1617,99 @@ sr:
     min_age_label: Старосни праг
     min_favs: Задржи објаве означене као омиљене најмање
     min_favs_hint: Не брише ниједну вашу објаву која је добила најмање овај број омиљених. Оставите празно за брисање објава без обзира на њихов број омиљених
+    min_reblogs: Задржи објаве подржане барем
     min_reblogs_hint: Не брише ниједну вашу објаву која је била подржана најмање оволико пута. Оставите празно за брисање објава без обзира на њихов број подржавања
   stream_entries:
     pinned: Закачена објава
     reblogged: подржано
     sensitive_content: Осетљив садржај
+  strikes:
+    errors:
+      too_late: Истекао је рок за подношење жалбе на забележен преступ
+  tags:
+    does_not_match_previous_name: не поклапа се са претходним именом
   themes:
     contrast: Велики контраст
     default: Мастодон
     mastodon-light: Мастодон (светло)
+  time:
+    formats:
+      default: "%d %b %Y, %H:%M"
+      month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
+    add: Додај
     disable: Искључи
+    disabled_success: Двофакторска аутентификација је успешно онемогућена
+    edit: Измени
     enabled: Двофакторска идентификација је укључена
     enabled_success: Двофакторска идентификација је успешно укључена
     generate_recovery_codes: Генериши кодове за опоравак
     lost_recovery_codes: Кодови за опоравак Вам омогућавају да повратите приступ налогу ако изгубите телефон. Ако изгубите кодове за опоравак, можете их ре-генерисати овде. Од тог тренутка, стари кодови за опоравак више не важе.
+    methods: Методе двофакторске аутентификације
+    otp: Апликација за аутентификацију
     recovery_codes: Направите резерву кодова за опоравак
     recovery_codes_regenerated: Кодови за опоравак успешно ре-генерисани
     recovery_instructions_html: Ако икада изгубите приступ телефону, можете искористити кодове за опоравак дате испод да повратите приступ налогу. <strong>Држите кодове за опоравак на сигурном</strong>. На пример, одштампајте их и чувајте их са осталим важним документима.
+    webauthn: Сигурносни кључеви
   user_mailer:
+    appeal_approved:
+      action: Идите на свој налог
+      explanation: Жалба поднета датума %{appeal_date} на уписан преступ на Ваше име датума %{strike_date} је уважена. Ваш налог је поново у повољном положају.
+      subject: Ваша жалба поднета %{date} је уважена
+      title: Жалба уважена
+    appeal_rejected:
+      explanation: Жалба поднета датума %{appeal_date} на уписан преступ на Ваше име датума %{strike_date} је одбијена.
+      subject: Ваша жалба поднета %{date} је одбијена
+      title: Жалба одбијена
     backup_ready:
       explanation: Тражили сте потпуну резервну копију вашег Мастодон рачуна. Спремна за преузимање!
       subject: Ваша архива је спремна за преузимање
       title: Извоз архиве
+    suspicious_sign_in:
+      change_password: промените своју лозинку
+      details: 'Ево детаља о пријави:'
+      explanation: Приметили смо пријаву на Ваш налог са непознате IP адресе.
+      further_actions_html: Уколико то нисте били Ви, препоручујемо да одмах %{action} и укључите двофакторску аутентификацију да бисте одржали безбедност свог налога.
+      subject: Вашем налогу је приступљено са непозате IP адресе
+      title: Ново пријављивање
     warning:
+      appeal: Приложите жалбу
+      appeal_description: Уколико верујете да је у питању грешка, можете приложити жалбу особљу %{instance}.
+      categories:
+        spam: Нежељена пошта
+        violation: Садржај крши следећа правила заједнице
+      explanation:
+        delete_statuses: За неке од Ваших објава је установљено да крше једно или више правила заједнице и услед тога су уклоњене од стране модератора %{instance}.
+        disable: Више не можете да користите свој налог, али Ваш профил и други подаци остају нетакнути. Можете да затражите резервну копију својих података, промените подешавања налога или обришете свој налог.
+        mark_statuses_as_sensitive: Неке од Ваших објава су означене као осетљиве од стране модератора %{instance}. Ово значи да ће људи морати да кликну на мултимедије у објавама пре него што могу да их виде. Убудуће можете сами да означите своју мултимедију као осетљиву приликом састављања објаве.
+        sensitive: Од сада ће сви Ваши отпремљени мултимедијални фајлови бити означени као осетљиви и сакривени иза тастера упозорења.
+        silence: И даље можете користити свој налог али само људи који Вас већ прате ће видети Ваше објаве на овом серверу, и можда ћете бити искључени из разних механизама откривања. Међутим, други људи и даље могу ручно да Вас запрате.
+        suspend: Више не можете да користите свој налог, и Ваш профил и остали подаци Вам више нису доступни. И даље можете да се пријавите да бисте затражили резервну копију својих података све док се Ваши подаци трајно не избришу за око 30 дана, с тим што ћемо задржати неке основне податке да бисмо Вас спречили у евентуалном заобилажењу суспензије.
+      reason: 'Образложење:'
+      statuses: 'Цитиране објаве:'
       subject:
+        delete_statuses: Ваше објаве са %{acct} су избрисане
         disable: Ваш налог %{acct} је замрзнут
+        mark_statuses_as_sensitive: Ваше објаве са %{acct} су обележене као осетљиве
         none: Упозорење за %{acct}
+        sensitive: Ваше објаве са %{acct} ће убудуће бити означене као осетљиве
         silence: Ваш налог %{acct} је ограничен
         suspend: Ваш налог %{acct} је суспендован
       title:
+        delete_statuses: Објаве су обрисане
         disable: Налог замрзнут
+        mark_statuses_as_sensitive: Објаве су означене као осетљиве
         none: Упозорење
+        sensitive: Налог је означен као осетљив
         silence: Налог ограничен
         suspend: Налог суспендован
     welcome:
       edit_profile_action: Подеси налог
+      edit_profile_step: Можете прилагодити свој профил тако што ћете поставити профилну слику, променити име за приказ и тако даље. Можете дати сагласност да прегледате нове пратиоце пре него што им дозволите да Вас запрате.
       explanation: Ево неколико савета за почетак
       final_action: Почните објављивати
+      final_step: 'Почните да објављујете! Чак и без пратилаца, Ваше јавне објаве су видљиве другим људима, на пример на локалној временској линији или у хеш ознакама. Можда желите да се представите са хеш ознаком #introductions или #представљања.'
       full_handle: Ваш пун надимак
       full_handle_hint: Ово бисте рекли својим пријатељима како би вам они послали поруку, или запратили са друге инстанце.
       subject: Добродошли на Мастодон
@@ -793,3 +1723,20 @@ sr:
   verification:
     explanation_html: 'Можете <strong>извршити проверу да сте Ви власник веза на Вашем налогу</strong>. Да би то радило, повезани веб сајт мора да садржи везу назад ка Вашем Мастодон налогу. Веза назад <strong>мора</strong> да има <code>rel="me"</code> атрибут. Текстуелни садржај везе није битан. Ево примера:'
     verification: Провера
+  webauthn_credentials:
+    add: Додајте нови сигурносни кључ
+    create:
+      error: Искрсао је проблем приликом додавања Вашег сигурносног кључа. Молимо Вас покушајте поново.
+      success: Ваш сигурносни кључ је успешно додат.
+    delete: Избриши
+    delete_confirmation: Да ли сте сигурни да желите да избришете овај сигурносни кључ?
+    description_html: Ако укључите <strong>аутентификацију сигурносним кључем</strong>, мораћете да користите један од својих сигурносних кључева приликом пријављивања.
+    destroy:
+      error: Искрсао је проблем приликом брисања Вашег сигурносног кључа. Молимо Вас покушајте поново.
+      success: Ваш сигурносни кључ је успешно обрисан.
+    invalid_credential: Неисправан сигурносни кључ
+    nickname_hint: Унесите надимак свог новог сигурносног кључа
+    not_enabled: Још увек нисте омогућили WebAuthn
+    not_supported: Овај претраживач не подржава сигурносне кључеве
+    otp_required: Да бисте користили сигурносне кључеве, молимо Вас прво укључите двофакторску аутентификацију.
+    registered_on: Регистрован/-а %{date}
diff --git a/config/locales/sv.yml b/config/locales/sv.yml
index aea9cea4e..b543b18cb 100644
--- a/config/locales/sv.yml
+++ b/config/locales/sv.yml
@@ -1405,6 +1405,7 @@ sv:
     confirm_remove_selected_followers: Är du säker på att du vill ta bort valda följare?
     confirm_remove_selected_follows: Är du säker på att du vill ta bort valda följare?
     dormant: Vilande
+    follow_failure: Kan inte följa några av de valda kontona.
     follow_selected_followers: Följ valda personer
     followers: Följare
     following: Följer
@@ -1444,6 +1445,7 @@ sv:
       electron: Electron
       firefox: Firefox
       generic: Okänd browser
+      huawei_browser: Huawei Browser
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi Browser
@@ -1453,6 +1455,7 @@ sv:
       qq: QQ browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Okänd browser
       weibo: Weibo
     current_session: Nuvarande session
     description: "%{browser} på %{platform}"
@@ -1465,9 +1468,10 @@ sv:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: Mac
-      other: okänd plattform
+      unknown_platform: Okänd plattform
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/th.yml b/config/locales/th.yml
index 815936a2d..13a312f26 100644
--- a/config/locales/th.yml
+++ b/config/locales/th.yml
@@ -963,7 +963,7 @@ th:
     description:
       prefix_invited_by_user: "@%{name} เชิญคุณเข้าร่วมเซิร์ฟเวอร์ Mastodon นี้!"
       prefix_sign_up: ลงทะเบียนใน Mastodon วันนี้!
-      suffix: เมื่อมีบัญชี คุณจะสามารถติดตามผู้คน โพสต์การอัปเดต และแลกเปลี่ยนข้อความกับผู้ใช้จากเซิร์ฟเวอร์ Mastodon และอื่น ๆ!
+      suffix: ด้วยบัญชี คุณจะสามารถติดตามผู้คน โพสต์การอัปเดต และแลกเปลี่ยนข้อความกับผู้ใช้จากเซิร์ฟเวอร์ Mastodon และอื่น ๆ!
     didnt_get_confirmation: ไม่ได้รับคำแนะนำการยืนยัน?
     dont_have_your_security_key: ไม่มีกุญแจความปลอดภัยของคุณ?
     forgot_password: ลืมรหัสผ่านของคุณ?
@@ -999,7 +999,7 @@ th:
       preamble_html: ลงชื่อเข้าด้วยข้อมูลประจำตัว <strong>%{domain}</strong> ของคุณ หากบัญชีของคุณได้รับการโฮสต์ในเซิร์ฟเวอร์อื่น คุณจะไม่สามารถเข้าสู่ระบบได้ที่นี่
       title: ลงชื่อเข้า %{domain}
     sign_up:
-      preamble: เมื่อมีบัญชีในเซิร์ฟเวอร์ Mastodon นี้ คุณจะสามารถติดตามบุคคลอื่นใดในเครือข่าย โดยไม่คำนึงถึงที่ซึ่งบัญชีของเขาได้รับการโฮสต์
+      preamble: ด้วยบัญชีในเซิร์ฟเวอร์ Mastodon นี้ คุณจะสามารถติดตามบุคคลอื่นใดในเครือข่าย โดยไม่คำนึงถึงที่ซึ่งบัญชีของเขาได้รับการโฮสต์
       title: มาตั้งค่าของคุณใน %{domain} กันเลย
     status:
       account_status: สถานะบัญชี
@@ -1379,6 +1379,7 @@ th:
     confirm_remove_selected_followers: คุณแน่ใจหรือไม่ว่าต้องการเอาผู้ติดตามที่เลือกออก?
     confirm_remove_selected_follows: คุณแน่ใจหรือไม่ว่าต้องการเอาการติดตามที่เลือกออก?
     dormant: ไม่เคลื่อนไหว
+    follow_failure: ไม่สามารถติดตามบัญชีที่เลือกบางส่วน
     follow_selected_followers: ติดตามผู้ติดตามที่เลือก
     followers: ผู้ติดตาม
     following: กำลังติดตาม
@@ -1418,6 +1419,7 @@ th:
       electron: Electron
       firefox: Firefox
       generic: เบราว์เซอร์ที่ไม่รู้จัก
+      huawei_browser: เบราว์เซอร์ Huawei
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: เบราว์เซอร์ Nokia S40 Ovi
@@ -1427,6 +1429,7 @@ th:
       qq: เบราว์เซอร์ QQ
       safari: Safari
       uc_browser: เบราว์เซอร์ UC
+      unknown_browser: เบราว์เซอร์ที่ไม่รู้จัก
       weibo: Weibo
     current_session: เซสชันปัจจุบัน
     description: "%{browser} ใน %{platform}"
@@ -1439,9 +1442,10 @@ th:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: macOS
-      other: แพลตฟอร์มที่ไม่รู้จัก
+      unknown_platform: แพลตฟอร์มที่ไม่รู้จัก
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/tr.yml b/config/locales/tr.yml
index 6cbd3f510..384e06085 100644
--- a/config/locales/tr.yml
+++ b/config/locales/tr.yml
@@ -1405,6 +1405,7 @@ tr:
     confirm_remove_selected_followers: Seçili takipçileri kaldırmak istediğinizden emin misiniz?
     confirm_remove_selected_follows: Seçili takipleri kaldırmak istediğinizden emin misiniz?
     dormant: Uykuda
+    follow_failure: Seçilen hesaplardan bazıları takip edilemedi.
     follow_selected_followers: Seçili takipçileri takip et
     followers: Takipçiler
     following: Takip edilenler
@@ -1444,6 +1445,7 @@ tr:
       electron: Electron
       firefox: Firefox
       generic: Bilinmeyen tarayıcı
+      huawei_browser: Huawei Tarayıcı
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi Browser
@@ -1453,6 +1455,7 @@ tr:
       qq: QQ Browser
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Bilinmeyen Tarayıcı
       weibo: Weibo
     current_session: Geçerli oturum
     description: "%{platform} - %{browser}"
@@ -1465,9 +1468,10 @@ tr:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: macOS
-      other: bilinmeyen platform
+      unknown_platform: Bilinmeyen Platform
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/tt.yml b/config/locales/tt.yml
index 9e0382248..d260e8be2 100644
--- a/config/locales/tt.yml
+++ b/config/locales/tt.yml
@@ -2,16 +2,20 @@
 tt:
   about:
     contact_unavailable: Юк
+    title: Проект турында
   accounts:
     follow: Языл
     following: Язылгансыз
   admin:
     accounts:
+      approve: Хуплау
       avatar: Аватар
       by_domain: Домен
       change_email:
         label: Emailны үзгәртү
         submit: Emailны үзгәртү
+      change_role:
+        no_role: Рольсез
       confirm: Раслау
       deleted: Бетерелде
       domain: Домен
@@ -19,6 +23,7 @@ tt:
       email: Эл. почта
       header: Башлам
       ip: ІР
+      joined: Кушылды
       location:
         all: Бөтенесе
         local: Җирле
@@ -28,8 +33,13 @@ tt:
         all: Бөтенесе
       perform_full_suspension: Искә алмау
       reset: Ташлату
+      role: Роль
       search: Эзләү
+      security: Иминлек
+      security_measures:
+        only_password: Серсүз генә
       sensitive: Sizmäle
+      title: Аккаунтлар
       username: Кулланучы исеме
       web: Веб
     action_logs:
@@ -40,10 +50,10 @@ tt:
       copy: Күчереп алу
       delete: Бетерү
       disable: Cүндерү
-      disabled: Cүндерелгән
-      enable: Кабызу
+      disabled: Cүнек
+      enable: Кушу
       list: Исемлек
-      upload: Йөкләү
+      upload: Йөкләтү
     domain_blocks:
       domain: Домен
       new:
@@ -101,7 +111,7 @@ tt:
   application_mailer:
     salutation: "%{name},"
   auth:
-    change_password: Парол
+    change_password: Серсүз
     login: Керү
     providers:
       cas: САS
@@ -141,7 +151,7 @@ tt:
   exports:
     archive_takeout:
       date: Көне
-      size: Olılıq
+      size: Зурлык
     bookmarks: Кыстыргычлар
     csv: СSV
   filters:
@@ -158,7 +168,7 @@ tt:
   imports:
     types:
       bookmarks: Кыстыргычлар
-    upload: Йөкләү
+    upload: Йөкләтү
   invites:
     expired: Гамәлдән чыкты
     expires_in:
@@ -172,15 +182,15 @@ tt:
   number:
     human:
       decimal_units:
-        format: "%n%u"
+        format: "%n %u"
   otp_authentication:
-    enable: Кабызу
+    enable: Кушу
   pagination:
     next: Киләсе
     prev: Алдыгы
     truncate: "&hellip;"
   relationships:
-    following: Язылгансыз
+    following: Язылулар
   sessions:
     browser: Браузер
     browsers:
@@ -198,7 +208,7 @@ tt:
       qq: QQ Brоwser
       safari: Safаri
       weibo: Weibо
-    description: "%{browser} - %{platform}"
+    description: "%{platform} платформасында %{browser}"
     ip: ІР
     platforms:
       adobe_air: Adobе Air
@@ -211,10 +221,10 @@ tt:
       windows_mobile: Windows Mоbile
       windows_phone: Windоws Phone
   settings:
-    account: Хисап язмасы
-    appearance: Küreneş
-    development: Эшләнмә
-    edit_profile: Профильны үзгәртү
+    account: Аккаунт
+    appearance: Тышкы кыяфәт
+    development: Ясаучылар өчен
+    edit_profile: Профильне үзгәртү
     import: Импортлау
     preferences: Caylaw
     profile: Профиль
@@ -244,7 +254,7 @@ tt:
     edit: Үзгәртү
   user_mailer:
     warning:
-      reason: 'Сәбаб:'
+      reason: 'Сәбәп:'
       title:
         none: Игътибар
   webauthn_credentials:
diff --git a/config/locales/uk.yml b/config/locales/uk.yml
index 44d54363f..8bd005961 100644
--- a/config/locales/uk.yml
+++ b/config/locales/uk.yml
@@ -1457,6 +1457,7 @@ uk:
     confirm_remove_selected_followers: Ви дійсно бажаєте видалити вибраних підписників?
     confirm_remove_selected_follows: Ви дійсно хочете вилучити вибрані підписки?
     dormant: Неактивні
+    follow_failure: Не вдалося підписатися на деякі вибрані облікові записи.
     follow_selected_followers: Стежити за вибраними підписниками
     followers: Підписники
     following: Підписник
@@ -1496,6 +1497,7 @@ uk:
       electron: Electron
       firefox: Firefox
       generic: Невідомий браузер
+      huawei_browser: Huawei Браузер
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi Browser
@@ -1505,6 +1507,7 @@ uk:
       qq: QQ Browser
       safari: Сафарі
       uc_browser: UC Browser
+      unknown_browser: Невідомий браузер
       weibo: Weibo
     current_session: Поточний сеанс
     description: "%{browser} на %{platform}"
@@ -1517,9 +1520,10 @@ uk:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: macOS
-      other: невідома платформа
+      unknown_platform: Невідома Платформа
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/vi.yml b/config/locales/vi.yml
index 88592b704..81b30e6a2 100644
--- a/config/locales/vi.yml
+++ b/config/locales/vi.yml
@@ -1379,6 +1379,7 @@ vi:
     confirm_remove_selected_followers: Bạn có chắc muốn bỏ theo dõi những người đã chọn?
     confirm_remove_selected_follows: Bạn có chắc muốn xoá những người theo dõi bạn đã chọn không?
     dormant: Chưa
+    follow_failure: Không thể theo dõi một số tài khoản đã chọn.
     follow_selected_followers: Theo dõi những người đã chọn
     followers: Người theo dõi
     following: Đang theo dõi
@@ -1418,6 +1419,7 @@ vi:
       electron: Electron
       firefox: Firefox
       generic: Trình duyệt khác
+      huawei_browser: Huawei Browser
       ie: Internet Explorer
       micro_messenger: MicroMes hành khách
       nokia: Trình duyệt Nokia S40 Ovi
@@ -1427,6 +1429,7 @@ vi:
       qq: QQ
       safari: Safari
       uc_browser: UC Browser
+      unknown_browser: Trình duyệt khác
       weibo: Weibo
     current_session: Phiên hiện tại
     description: "%{browser} trên %{platform}"
@@ -1439,9 +1442,10 @@ vi:
       chrome_os: ChromeOS
       firefox_os: Hệ điều hành Firefox
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: Mac
-      other: nền tảng khác
+      unknown_platform: Nền tảng khác
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Điện thoại Windows
diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml
index ed1780ce8..4267b652f 100644
--- a/config/locales/zh-CN.yml
+++ b/config/locales/zh-CN.yml
@@ -999,7 +999,7 @@ zh-CN:
       preamble_html: 使用您在 <strong>%{domain}</strong> 的账户和密码登录。如果您的账户托管在其他的服务器上,您将无法在此登录。
       title: 登录到 %{domain}
     sign_up:
-      preamble: 使用此 Mastodon 服务器上的帐号,您将能够关注网络上的任何其他人,无论他们的帐号托管在哪里的主机。
+      preamble: 有了这个Mastodon服务器上的账户,您就可以关注Mastodon网络上的任何其他人,无论他们的账户在哪里。
       title: 让我们在 %{domain} 上开始。
     status:
       account_status: 账户状态
@@ -1379,6 +1379,7 @@ zh-CN:
     confirm_remove_selected_followers: 您确定想要取关所选的关注者吗?
     confirm_remove_selected_follows: 您确定要删除选定的关注着吗?
     dormant: 休眠
+    follow_failure: 无法关注选中的部分账户。
     follow_selected_followers: 关注选中的关注者
     followers: 关注者
     following: 正在关注
@@ -1418,6 +1419,7 @@ zh-CN:
       electron: Electron
       firefox: 火狐
       generic: 未知浏览器
+      huawei_browser: 华为浏览器
       ie: IE 浏览器
       micro_messenger: 微信
       nokia: Nokia S40 Ovi 浏览器
@@ -1427,6 +1429,7 @@ zh-CN:
       qq: QQ浏览器
       safari: Safari
       uc_browser: UC 浏览器
+      unknown_browser: 未知浏览器
       weibo: 新浪微博
     current_session: 当前会话
     description: "%{platform} 上的 %{browser}"
@@ -1439,9 +1442,10 @@ zh-CN:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: Mac
-      other: 未知平台
+      unknown_platform: 未知平台
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml
index 405f321d4..835ecd33c 100644
--- a/config/locales/zh-HK.yml
+++ b/config/locales/zh-HK.yml
@@ -1441,7 +1441,6 @@ zh-HK:
       ios: iOS
       linux: Linux
       mac: Mac
-      other: 未知平台
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml
index 317428717..1e31e2249 100644
--- a/config/locales/zh-TW.yml
+++ b/config/locales/zh-TW.yml
@@ -1132,7 +1132,7 @@ zh-TW:
     domain_blocks: 網域封鎖
     lists: 列表
     mutes: 您靜音的使用者
-    storage: 儲存空間大小
+    storage: 匯出檔案大小
   featured_tags:
     add_new: 新增
     errors:
@@ -1381,6 +1381,7 @@ zh-TW:
     confirm_remove_selected_followers: 您確定要移除選取的跟隨者嗎?
     confirm_remove_selected_follows: 您確定要取消跟隨這些選取的使用者嗎?
     dormant: 潛水中
+    follow_failure: 無法跟隨某些所選取的帳號。
     follow_selected_followers: 跟隨選取的跟隨者
     followers: 跟隨者
     following: 跟隨中
@@ -1420,6 +1421,7 @@ zh-TW:
       electron: Electron 瀏覽器
       firefox: Firefox 瀏覽器
       generic: 未知的瀏覽器
+      huawei_browser: 華為瀏覽器
       ie: Internet Explorer 瀏覽器
       micro_messenger: 微信
       nokia: Nokia S40 Ovi 瀏覽器
@@ -1429,6 +1431,7 @@ zh-TW:
       qq: QQ 瀏覽器
       safari: Safari 瀏覽器
       uc_browser: UC 瀏覽器
+      unknown_browser: 未知的瀏覽器
       weibo: 新浪微博
     current_session: 目前的 session
     description: "%{platform} 上的 %{browser}"
@@ -1441,9 +1444,10 @@ zh-TW:
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
+      kai_os: KaiOS
       linux: Linux
       mac: Mac
-      other: 不明平台
+      unknown_platform: 未知的平台
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
@@ -1523,8 +1527,8 @@ zh-TW:
     enabled_hint: 一旦達到指定的保存期限,就會自動刪除您的嘟文,除非該嘟文符合下列例外
     exceptions: 例外
     explanation: 因為刪除嘟文是耗費資源的操作,當伺服器不那麼忙碌時才會慢慢完成。因此,您的嘟文會在到達保存期限後一段時間才會被刪除。
-    ignore_favs: 忽略最愛
-    ignore_reblogs: 忽略轉嘟
+    ignore_favs: 忽略最愛數
+    ignore_reblogs: 忽略轉嘟數
     interaction_exceptions: 基於互動的例外規則
     interaction_exceptions_explanation: 請注意嘟文是無法保證被刪除的,如果在一次處理過後嘟文低於最愛或轉嘟的門檻。
     keep_direct: 保留私訊
@@ -1645,7 +1649,7 @@ zh-TW:
       final_action: 開始嘟嘟
       final_step: '開始嘟嘟吧!即使您現在沒有跟隨者,其他人仍然能在本站時間軸、主題標籤等地方,看到您的公開嘟文。試著用 #introductions 這個主題標籤介紹一下自己吧。'
       full_handle: 您的完整帳號名稱
-      full_handle_hint: 您需要把這告訴您的朋友們,這樣他們就能從另一個伺服器向您發送訊息或跟隨您。
+      full_handle_hint: 您需要將這告訴您的朋友們,這樣他們就能從另一個伺服器向您發送訊息或跟隨您。
       subject: 歡迎來到 Mastodon
       title: "%{name} 誠摯歡迎您的加入!"
   users:
diff --git a/config/routes.rb b/config/routes.rb
index 8d3183263..8c6f12664 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -223,6 +223,7 @@ Rails.application.routes.draw do
   resource :statuses_cleanup, controller: :statuses_cleanup, only: [:show, :update]
 
   get '/media_proxy/:id/(*any)', to: 'media_proxy#show', as: :media_proxy, format: false
+  get '/backups/:id/download', to: 'backups#download', as: :download_backup, format: false
 
   resource :authorize_interaction, only: [:show, :create]
   resource :share, only: [:show, :create]
@@ -551,6 +552,7 @@ Rails.application.routes.draw do
         resources :domain_blocks, only: [:index], controller: 'instances/domain_blocks'
         resource :privacy_policy, only: [:show], controller: 'instances/privacy_policies'
         resource :extended_description, only: [:show], controller: 'instances/extended_descriptions'
+        resource :translation_languages, only: [:show], controller: 'instances/translation_languages'
         resource :activity, only: [:show], controller: 'instances/activity'
       end
 
diff --git a/docker-compose.yml b/docker-compose.yml
index c534286c7..f603c2f7e 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -56,7 +56,7 @@ services:
 
   web:
     build: .
-    image: tootsuite/mastodon
+    image: ghcr.io/mastodon/mastodon
     restart: always
     env_file: .env.production
     command: bash -c "rm -f /mastodon/tmp/pids/server.pid; bundle exec rails s -p 3000"
@@ -77,7 +77,7 @@ services:
 
   streaming:
     build: .
-    image: tootsuite/mastodon
+    image: ghcr.io/mastodon/mastodon
     restart: always
     env_file: .env.production
     command: node ./streaming
@@ -95,7 +95,7 @@ services:
 
   sidekiq:
     build: .
-    image: tootsuite/mastodon
+    image: ghcr.io/mastodon/mastodon
     restart: always
     env_file: .env.production
     command: bundle exec sidekiq
diff --git a/lib/mastodon/media_cli.rb b/lib/mastodon/media_cli.rb
index fc70c8785..b2dfe58d5 100644
--- a/lib/mastodon/media_cli.rb
+++ b/lib/mastodon/media_cli.rb
@@ -35,7 +35,6 @@ module Mastodon
       follow status. By default, only accounts that are not followed by or
       following anyone locally are pruned.
     DESC
-    # rubocop:disable Metrics/PerceivedComplexity
     def remove
       if options[:prune_profiles] && options[:remove_headers]
         say('--prune-profiles and --remove-headers should not be specified simultaneously', :red, true)
@@ -224,7 +223,6 @@ module Mastodon
 
       say("Removed #{removed} orphans (approx. #{number_to_human_size(reclaimed_bytes)})#{dry_run}", :green, true)
     end
-    # rubocop:enable Metrics/PerceivedComplexity
 
     option :account, type: :string
     option :domain, type: :string
diff --git a/lib/public_file_server_middleware.rb b/lib/public_file_server_middleware.rb
new file mode 100644
index 000000000..3799230a2
--- /dev/null
+++ b/lib/public_file_server_middleware.rb
@@ -0,0 +1,43 @@
+# frozen_string_literal: true
+
+require 'action_dispatch/middleware/static'
+
+class PublicFileServerMiddleware
+  SERVICE_WORKER_TTL = 7.days.to_i
+  CACHE_TTL          = 28.days.to_i
+
+  def initialize(app)
+    @app = app
+    @file_handler = ActionDispatch::FileHandler.new(Rails.application.paths['public'].first)
+  end
+
+  def call(env)
+    file = @file_handler.attempt(env)
+
+    # If the request is not a static file, move on!
+    return @app.call(env) if file.nil?
+
+    status, headers, response = file
+
+    # Set cache headers on static files. Some paths require different cache headers
+    headers['Cache-Control'] = begin
+      request_path = env['REQUEST_PATH']
+
+      if request_path.start_with?('/sw.js')
+        "public, max-age=#{SERVICE_WORKER_TTL}, must-revalidate"
+      elsif request_path.start_with?(paperclip_root_url)
+        "public, max-age=#{CACHE_TTL}, immutable"
+      else
+        "public, max-age=#{CACHE_TTL}, must-revalidate"
+      end
+    end
+
+    [status, headers, response]
+  end
+
+  private
+
+  def paperclip_root_url
+    ENV.fetch('PAPERCLIP_ROOT_URL', '/system')
+  end
+end
diff --git a/lib/tasks/emojis.rake b/lib/tasks/emojis.rake
index c743f8a55..fbb2e8d4f 100644
--- a/lib/tasks/emojis.rake
+++ b/lib/tasks/emojis.rake
@@ -6,7 +6,7 @@ def gen_border(codepoint, color)
   doc = File.open(input) { |f| Nokogiri::XML(f) }
   svg = doc.at_css('svg')
   if svg.key?('viewBox')
-    view_box = svg['viewBox'].split(' ').map(&:to_i)
+    view_box = svg['viewBox'].split.map(&:to_i)
     view_box[0] -= 2
     view_box[1] -= 2
     view_box[2] += 4
@@ -36,7 +36,7 @@ end
 
 def codepoints_to_unicode(codepoints)
   if codepoints.include?(' ')
-    codepoints.split(' ').map(&:hex).pack('U*')
+    codepoints.split.map(&:hex).pack('U*')
   else
     [codepoints.hex].pack('U')
   end
diff --git a/package.json b/package.json
index 016a99d2b..e2bbdc217 100644
--- a/package.json
+++ b/package.json
@@ -24,7 +24,7 @@
   },
   "private": true,
   "dependencies": {
-    "@babel/core": "^7.21.0",
+    "@babel/core": "^7.21.3",
     "@babel/plugin-proposal-decorators": "^7.21.0",
     "@babel/plugin-transform-react-inline-elements": "^7.21.0",
     "@babel/plugin-transform-runtime": "^7.21.0",
@@ -38,7 +38,7 @@
     "array-includes": "^3.1.6",
     "atrament": "0.2.4",
     "arrow-key-navigation": "^1.2.0",
-    "autoprefixer": "^10.4.13",
+    "autoprefixer": "^10.4.14",
     "axios": "^1.3.4",
     "babel-loader": "^8.3.0",
     "babel-plugin-lodash": "^3.3.4",
@@ -67,7 +67,7 @@
     "glob": "^8.1.0",
     "history": "^4.10.1",
     "http-link-header": "^1.1.0",
-    "immutable": "^4.2.4",
+    "immutable": "^4.3.0",
     "imports-loader": "^1.2.0",
     "intl": "^1.2.5",
     "intl-messageformat": "^2.2.0",
@@ -118,7 +118,7 @@
     "requestidlecallback": "^0.3.0",
     "reselect": "^4.1.7",
     "rimraf": "^4.1.2",
-    "sass": "^1.58.3",
+    "sass": "^1.59.3",
     "sass-loader": "^10.2.0",
     "stacktrace-js": "^2.0.2",
     "stringz": "^2.1.0",
@@ -144,11 +144,11 @@
     "ws": "^8.12.1"
   },
   "devDependencies": {
-    "@babel/eslint-parser": "^7.19.1",
+    "@babel/eslint-parser": "^7.21.3",
     "@testing-library/jest-dom": "^5.16.5",
     "@testing-library/react": "^12.1.5",
     "babel-jest": "^29.5.0",
-    "eslint": "^8.35.0",
+    "eslint": "^8.36.0",
     "eslint-plugin-import": "~2.27.5",
     "eslint-plugin-jsx-a11y": "~6.7.1",
     "eslint-plugin-promise": "~6.1.1",
diff --git a/spec/controllers/api/v1/instances/translation_languages_controller_spec.rb b/spec/controllers/api/v1/instances/translation_languages_controller_spec.rb
new file mode 100644
index 000000000..5b7e4abb6
--- /dev/null
+++ b/spec/controllers/api/v1/instances/translation_languages_controller_spec.rb
@@ -0,0 +1,31 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Instances::TranslationLanguagesController do
+  describe 'GET #show' do
+    context 'when no translation service is configured' do
+      it 'returns empty language matrix' do
+        get :show
+
+        expect(response).to have_http_status(200)
+        expect(body_as_json).to eq({})
+      end
+    end
+
+    context 'when a translation service is configured' do
+      before do
+        service = instance_double(TranslationService::DeepL, languages: { nil => %w(en de), 'en' => ['de'] })
+        allow(TranslationService).to receive(:configured?).and_return(true)
+        allow(TranslationService).to receive(:configured).and_return(service)
+      end
+
+      it 'returns language matrix' do
+        get :show
+
+        expect(response).to have_http_status(200)
+        expect(body_as_json).to eq({ und: %w(en de), en: ['de'] })
+      end
+    end
+  end
+end
diff --git a/spec/controllers/api/v1/statuses/translations_controller_spec.rb b/spec/controllers/api/v1/statuses/translations_controller_spec.rb
index 2deea9fc0..8495779bf 100644
--- a/spec/controllers/api/v1/statuses/translations_controller_spec.rb
+++ b/spec/controllers/api/v1/statuses/translations_controller_spec.rb
@@ -19,9 +19,10 @@ describe Api::V1::Statuses::TranslationsController do
 
       before do
         translation = TranslationService::Translation.new(text: 'Hello')
-        service = instance_double(TranslationService::DeepL, translate: translation, supported?: true)
+        service = instance_double(TranslationService::DeepL, translate: translation)
         allow(TranslationService).to receive(:configured?).and_return(true)
         allow(TranslationService).to receive(:configured).and_return(service)
+        Rails.cache.write('translation_service/languages', { 'es' => ['en'] })
         post :create, params: { status_id: status.id }
       end
 
diff --git a/spec/lib/translation_service/deepl_spec.rb b/spec/lib/translation_service/deepl_spec.rb
index aa2473186..2363f8f13 100644
--- a/spec/lib/translation_service/deepl_spec.rb
+++ b/spec/lib/translation_service/deepl_spec.rb
@@ -16,29 +16,6 @@ RSpec.describe TranslationService::DeepL do
     )
   end
 
-  describe '#supported?' do
-    it 'supports included languages as source and target languages' do
-      expect(service.supported?('uk', 'en')).to be true
-    end
-
-    it 'supports auto-detecting source language' do
-      expect(service.supported?(nil, 'en')).to be true
-    end
-
-    it 'supports "en" and "pt" as target languages though not included in language list' do
-      expect(service.supported?('uk', 'en')).to be true
-      expect(service.supported?('uk', 'pt')).to be true
-    end
-
-    it 'does not support non-included language as target language' do
-      expect(service.supported?('uk', 'nl')).to be false
-    end
-
-    it 'does not support non-included language as source language' do
-      expect(service.supported?('da', 'en')).to be false
-    end
-  end
-
   describe '#translate' do
     it 'returns translation with specified source language' do
       stub_request(:post, 'https://api.deepl.com/v2/translate')
@@ -63,13 +40,18 @@ RSpec.describe TranslationService::DeepL do
     end
   end
 
-  describe '#languages?' do
+  describe '#languages' do
     it 'returns source languages' do
-      expect(service.send(:languages, 'source')).to eq ['en', 'uk', nil]
+      expect(service.languages.keys).to eq [nil, 'en', 'uk']
+    end
+
+    it 'returns target languages for each source language' do
+      expect(service.languages['en']).to eq %w(pt en-GB zh)
+      expect(service.languages['uk']).to eq %w(en pt en-GB zh)
     end
 
-    it 'returns target languages' do
-      expect(service.send(:languages, 'target')).to eq %w(en-gb zh en pt)
+    it 'returns target languages for auto-detection' do
+      expect(service.languages[nil]).to eq %w(en pt en-GB zh)
     end
   end
 
diff --git a/spec/lib/translation_service/libre_translate_spec.rb b/spec/lib/translation_service/libre_translate_spec.rb
index a6cb01884..fbd726a7e 100644
--- a/spec/lib/translation_service/libre_translate_spec.rb
+++ b/spec/lib/translation_service/libre_translate_spec.rb
@@ -7,41 +7,24 @@ RSpec.describe TranslationService::LibreTranslate do
 
   before do
     stub_request(:get, 'https://libretranslate.example.com/languages').to_return(
-      body: '[{"code": "en","name": "English","targets": ["de","es"]},{"code": "da","name": "Danish","targets": ["en","de"]}]'
+      body: '[{"code": "en","name": "English","targets": ["de","en","es"]},{"code": "da","name": "Danish","targets": ["en","pt"]}]'
     )
   end
 
-  describe '#supported?' do
-    it 'supports included language pair' do
-      expect(service.supported?('en', 'de')).to be true
-    end
-
-    it 'does not support reversed language pair' do
-      expect(service.supported?('de', 'en')).to be false
-    end
-
-    it 'supports auto-detecting source language' do
-      expect(service.supported?(nil, 'de')).to be true
-    end
-
-    it 'does not support auto-detecting for unsupported target language' do
-      expect(service.supported?(nil, 'pt')).to be false
-    end
-  end
-
   describe '#languages' do
-    subject(:languages) { service.send(:languages) }
+    subject(:languages) { service.languages }
 
-    it 'includes supported source languages' do
+    it 'returns source languages' do
       expect(languages.keys).to eq ['en', 'da', nil]
     end
 
-    it 'includes supported target languages for source language' do
+    it 'returns target languages for each source language' do
       expect(languages['en']).to eq %w(de es)
+      expect(languages['da']).to eq %w(en pt)
     end
 
-    it 'includes supported target languages for auto-detected language' do
-      expect(languages[nil]).to eq %w(de es en)
+    it 'returns target languages for auto-detected language' do
+      expect(languages[nil]).to eq %w(de en es pt)
     end
   end
 
diff --git a/spec/models/status_spec.rb b/spec/models/status_spec.rb
index d1caf267c..7022c5f00 100644
--- a/spec/models/status_spec.rb
+++ b/spec/models/status_spec.rb
@@ -114,85 +114,6 @@ RSpec.describe Status, type: :model do
     end
   end
 
-  describe '#translatable?' do
-    before do
-      allow(TranslationService).to receive(:configured?).and_return(true)
-      allow(TranslationService).to receive(:configured).and_return(TranslationService.new)
-      allow(TranslationService.configured).to receive(:supported?).with('es', 'en').and_return(true)
-
-      subject.language = 'es'
-      subject.visibility = :public
-    end
-
-    context 'all conditions are satisfied' do
-      it 'returns true' do
-        expect(subject.translatable?).to be true
-      end
-    end
-
-    context 'translation service is not configured' do
-      it 'returns false' do
-        allow(TranslationService).to receive(:configured?).and_return(false)
-        allow(TranslationService).to receive(:configured).and_raise(TranslationService::NotConfiguredError)
-        expect(subject.translatable?).to be false
-      end
-    end
-
-    context 'status language is nil' do
-      it 'returns true' do
-        subject.language = nil
-        allow(TranslationService.configured).to receive(:supported?).with(nil, 'en').and_return(true)
-        expect(subject.translatable?).to be true
-      end
-    end
-
-    context 'status language is same as default locale' do
-      it 'returns false' do
-        subject.language = I18n.locale
-        expect(subject.translatable?).to be false
-      end
-    end
-
-    context 'status language is unsupported' do
-      it 'returns false' do
-        subject.language = 'af'
-        allow(TranslationService.configured).to receive(:supported?).with('af', 'en').and_return(false)
-        expect(subject.translatable?).to be false
-      end
-    end
-
-    context 'default locale is unsupported' do
-      it 'returns false' do
-        allow(TranslationService.configured).to receive(:supported?).with('es', 'af').and_return(false)
-        I18n.with_locale('af') do
-          expect(subject.translatable?).to be false
-        end
-      end
-    end
-
-    context 'default locale has region' do
-      it 'returns true' do
-        I18n.with_locale('en-GB') do
-          expect(subject.translatable?).to be true
-        end
-      end
-    end
-
-    context 'status text is blank' do
-      it 'returns false' do
-        subject.text = ' '
-        expect(subject.translatable?).to be false
-      end
-    end
-
-    context 'status visiblity is hidden' do
-      it 'returns false' do
-        subject.visibility = 'limited'
-        expect(subject.translatable?).to be false
-      end
-    end
-  end
-
   describe '#content' do
     it 'returns the text of the status if it is not a reblog' do
       expect(subject.content).to eql subject.text
diff --git a/spec/presenters/instance_presenter_spec.rb b/spec/presenters/instance_presenter_spec.rb
index a598d5858..f20dce593 100644
--- a/spec/presenters/instance_presenter_spec.rb
+++ b/spec/presenters/instance_presenter_spec.rb
@@ -3,7 +3,7 @@
 require 'rails_helper'
 
 describe InstancePresenter do
-  let(:instance_presenter) { InstancePresenter.new }
+  let(:instance_presenter) { described_class.new }
 
   describe '#description' do
     around do |example|
diff --git a/spec/support/matchers/model/model_have_error_on_field.rb b/spec/support/matchers/model/model_have_error_on_field.rb
index 21632b574..0f9c81a47 100644
--- a/spec/support/matchers/model/model_have_error_on_field.rb
+++ b/spec/support/matchers/model/model_have_error_on_field.rb
@@ -4,7 +4,7 @@ RSpec::Matchers.define :model_have_error_on_field do |expected|
   match do |record|
     record.valid? if record.errors.empty?
 
-    record.errors.has_key?(expected)
+    record.errors.key?(expected)
   end
 
   failure_message do |record|
diff --git a/yarn.lock b/yarn.lock
index e7c0db00a..0fa43a96b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -41,42 +41,42 @@
   resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.10.tgz#9d92fa81b87542fff50e848ed585b4212c1d34ec"
   integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==
 
-"@babel/core@^7.11.1", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.21.0", "@babel/core@^7.7.2":
-  version "7.21.0"
-  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.0.tgz#1341aefdcc14ccc7553fcc688dd8986a2daffc13"
-  integrity sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==
+"@babel/core@^7.11.1", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.21.3", "@babel/core@^7.7.2":
+  version "7.21.3"
+  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.3.tgz#cf1c877284a469da5d1ce1d1e53665253fae712e"
+  integrity sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==
   dependencies:
     "@ampproject/remapping" "^2.2.0"
     "@babel/code-frame" "^7.18.6"
-    "@babel/generator" "^7.21.0"
+    "@babel/generator" "^7.21.3"
     "@babel/helper-compilation-targets" "^7.20.7"
-    "@babel/helper-module-transforms" "^7.21.0"
+    "@babel/helper-module-transforms" "^7.21.2"
     "@babel/helpers" "^7.21.0"
-    "@babel/parser" "^7.21.0"
+    "@babel/parser" "^7.21.3"
     "@babel/template" "^7.20.7"
-    "@babel/traverse" "^7.21.0"
-    "@babel/types" "^7.21.0"
+    "@babel/traverse" "^7.21.3"
+    "@babel/types" "^7.21.3"
     convert-source-map "^1.7.0"
     debug "^4.1.0"
     gensync "^1.0.0-beta.2"
     json5 "^2.2.2"
     semver "^6.3.0"
 
-"@babel/eslint-parser@^7.19.1":
-  version "7.19.1"
-  resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz#4f68f6b0825489e00a24b41b6a1ae35414ecd2f4"
-  integrity sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==
+"@babel/eslint-parser@^7.21.3":
+  version "7.21.3"
+  resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.21.3.tgz#d79e822050f2de65d7f368a076846e7184234af7"
+  integrity sha512-kfhmPimwo6k4P8zxNs8+T7yR44q1LdpsZdE1NkCsVlfiuTPRfnGgjaF8Qgug9q9Pou17u6wneYF0lDCZJATMFg==
   dependencies:
     "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1"
     eslint-visitor-keys "^2.1.0"
     semver "^6.3.0"
 
-"@babel/generator@^7.21.0", "@babel/generator@^7.7.2":
-  version "7.21.0"
-  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.0.tgz#45d731e84f506ce02a7b22b9ba5861ea88eef64f"
-  integrity sha512-z/zN3SePOtxN1/vPFdqrkuJGCD2Vx469+dSbNRD+4TF2+6e4Of5exHqAtcfL/2Nwu0RN0QsFwjyDBFwdUMzNSA==
+"@babel/generator@^7.21.3", "@babel/generator@^7.7.2":
+  version "7.21.3"
+  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.3.tgz#232359d0874b392df04045d72ce2fd9bb5045fce"
+  integrity sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==
   dependencies:
-    "@babel/types" "^7.21.0"
+    "@babel/types" "^7.21.3"
     "@jridgewell/gen-mapping" "^0.3.2"
     "@jridgewell/trace-mapping" "^0.3.17"
     jsesc "^2.5.1"
@@ -205,10 +205,10 @@
   dependencies:
     "@babel/types" "^7.18.6"
 
-"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.6", "@babel/helper-module-transforms@^7.21.0":
-  version "7.21.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.0.tgz#89a8f86ad748870e3d024e470b2e8405e869db67"
-  integrity sha512-eD/JQ21IG2i1FraJnTMbUarAUkA7G988ofehG5MDCRXaUU91rEBJuCeSoou2Sk1y4RbLYXzqEg1QLwEmRU4qcQ==
+"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.6", "@babel/helper-module-transforms@^7.21.2":
+  version "7.21.2"
+  resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2"
+  integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==
   dependencies:
     "@babel/helper-environment-visitor" "^7.18.9"
     "@babel/helper-module-imports" "^7.18.6"
@@ -216,8 +216,8 @@
     "@babel/helper-split-export-declaration" "^7.18.6"
     "@babel/helper-validator-identifier" "^7.19.1"
     "@babel/template" "^7.20.7"
-    "@babel/traverse" "^7.21.0"
-    "@babel/types" "^7.21.0"
+    "@babel/traverse" "^7.21.2"
+    "@babel/types" "^7.21.2"
 
 "@babel/helper-optimise-call-expression@^7.18.6":
   version "7.18.6"
@@ -324,10 +324,10 @@
     chalk "^2.0.0"
     js-tokens "^4.0.0"
 
-"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.0":
-  version "7.21.0"
-  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.0.tgz#cc09288743b867763cb927ba101ccdf0b600b7e4"
-  integrity sha512-ONjtg4renj14A9pj3iA5T5+r5Eijxbr2eNIkMBTC74occDSsRZUpe8vowmowAjFR1imWlkD8eEmjYXiREZpGZg==
+"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.3":
+  version "7.21.3"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.3.tgz#1d285d67a19162ff9daa358d4cb41d50c06220b3"
+  integrity sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==
 
 "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6":
   version "7.18.6"
@@ -1063,26 +1063,26 @@
     "@babel/parser" "^7.20.7"
     "@babel/types" "^7.20.7"
 
-"@babel/traverse@^7.18.10", "@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0", "@babel/traverse@^7.7.2":
-  version "7.21.0"
-  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.0.tgz#0e1807abd5db98e6a19c204b80ed1e3f5bca0edc"
-  integrity sha512-Xdt2P1H4LKTO8ApPfnO1KmzYMFpp7D/EinoXzLYN/cHcBNrVCAkAtGUcXnHXrl/VGktureU6fkQrHSBE2URfoA==
+"@babel/traverse@^7.18.10", "@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.3", "@babel/traverse@^7.7.2":
+  version "7.21.3"
+  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.3.tgz#4747c5e7903d224be71f90788b06798331896f67"
+  integrity sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==
   dependencies:
     "@babel/code-frame" "^7.18.6"
-    "@babel/generator" "^7.21.0"
+    "@babel/generator" "^7.21.3"
     "@babel/helper-environment-visitor" "^7.18.9"
     "@babel/helper-function-name" "^7.21.0"
     "@babel/helper-hoist-variables" "^7.18.6"
     "@babel/helper-split-export-declaration" "^7.18.6"
-    "@babel/parser" "^7.21.0"
-    "@babel/types" "^7.21.0"
+    "@babel/parser" "^7.21.3"
+    "@babel/types" "^7.21.3"
     debug "^4.1.0"
     globals "^11.1.0"
 
-"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
-  version "7.21.0"
-  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.0.tgz#1da00d89c2f18b226c9207d96edbeb79316a1819"
-  integrity sha512-uR7NWq2VNFnDi7EYqiRz2Jv/VQIu38tu64Zy8TX2nQFQ6etJ9V/Rr2msW8BS132mum2rL645qpDrLtAJtVpuow==
+"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.3", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
+  version "7.21.3"
+  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.3.tgz#4865a5357ce40f64e3400b0f3b737dc6d4f64d05"
+  integrity sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==
   dependencies:
     "@babel/helper-string-parser" "^7.19.4"
     "@babel/helper-validator-identifier" "^7.19.1"
@@ -1201,14 +1201,26 @@
   resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46"
   integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==
 
-"@eslint/eslintrc@^2.0.0":
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.0.tgz#943309d8697c52fc82c076e90c1c74fbbe69dbff"
-  integrity sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==
+"@eslint-community/eslint-utils@^4.2.0":
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.2.0.tgz#a831e6e468b4b2b5ae42bf658bea015bf10bc518"
+  integrity sha512-gB8T4H4DEfX2IV9zGDJPOBgP1e/DbfCPDTtEqUMckpvzS1OYtva8JdFYBqMwYk7xAQ429WGF/UPqn8uQ//h2vQ==
+  dependencies:
+    eslint-visitor-keys "^3.3.0"
+
+"@eslint-community/regexpp@^4.4.0":
+  version "4.4.0"
+  resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.4.0.tgz#3e61c564fcd6b921cb789838631c5ee44df09403"
+  integrity sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ==
+
+"@eslint/eslintrc@^2.0.1":
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.1.tgz#7888fe7ec8f21bc26d646dbd2c11cd776e21192d"
+  integrity sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw==
   dependencies:
     ajv "^6.12.4"
     debug "^4.3.2"
-    espree "^9.4.0"
+    espree "^9.5.0"
     globals "^13.19.0"
     ignore "^5.2.0"
     import-fresh "^3.2.1"
@@ -1216,10 +1228,10 @@
     minimatch "^3.1.2"
     strip-json-comments "^3.1.1"
 
-"@eslint/js@8.35.0":
-  version "8.35.0"
-  resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.35.0.tgz#b7569632b0b788a0ca0e438235154e45d42813a7"
-  integrity sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==
+"@eslint/js@8.36.0":
+  version "8.36.0"
+  resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.36.0.tgz#9837f768c03a1e4a30bd304a64fb8844f0e72efe"
+  integrity sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==
 
 "@floating-ui/core@^1.0.1":
   version "1.0.1"
@@ -2580,13 +2592,13 @@ atrament@0.2.4:
   resolved "https://registry.yarnpkg.com/atrament/-/atrament-0.2.4.tgz#6f78196edfcd194e568b7c0b9c88201ec371ac66"
   integrity sha512-hSA9VwW6COMwvRhSEO4uZweZ91YGOdHqwvslNyrJZG+8mzc4qx/qMsDZBuAeXFeWZO/QKtRjIXguOUy1aNMl3A==
 
-autoprefixer@^10.4.13:
-  version "10.4.13"
-  resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8"
-  integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==
+autoprefixer@^10.4.14:
+  version "10.4.14"
+  resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.14.tgz#e28d49902f8e759dd25b153264e862df2705f79d"
+  integrity sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==
   dependencies:
-    browserslist "^4.21.4"
-    caniuse-lite "^1.0.30001426"
+    browserslist "^4.21.5"
+    caniuse-lite "^1.0.30001464"
     fraction.js "^4.2.0"
     normalize-range "^0.1.2"
     picocolors "^1.0.0"
@@ -2988,15 +3000,15 @@ browserify-zlib@^0.2.0:
   dependencies:
     pako "~1.0.5"
 
-browserslist@^4.0.0, browserslist@^4.21.3, browserslist@^4.21.4:
-  version "4.21.4"
-  resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987"
-  integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==
+browserslist@^4.0.0, browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.21.5:
+  version "4.21.5"
+  resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7"
+  integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==
   dependencies:
-    caniuse-lite "^1.0.30001400"
-    electron-to-chromium "^1.4.251"
-    node-releases "^2.0.6"
-    update-browserslist-db "^1.0.9"
+    caniuse-lite "^1.0.30001449"
+    electron-to-chromium "^1.4.284"
+    node-releases "^2.0.8"
+    update-browserslist-db "^1.0.10"
 
 bser@2.1.1:
   version "2.1.1"
@@ -3170,15 +3182,10 @@ caniuse-api@^3.0.0:
     lodash.memoize "^4.1.2"
     lodash.uniq "^4.5.0"
 
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001400:
-  version "1.0.30001414"
-  resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001414.tgz"
-  integrity sha512-t55jfSaWjCdocnFdKQoO+d2ct9C59UZg4dY3OnUlSZ447r8pUtIKdp0hpAzrGFultmTC+Us+KpKi4GZl/LXlFg==
-
-caniuse-lite@^1.0.30001426:
-  version "1.0.30001462"
-  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001462.tgz#b2e801e37536d453731286857c8520d3dcee15fe"
-  integrity sha512-PDd20WuOBPiasZ7KbFnmQRyuLE7cFXW2PVd7dmALzbkUXEP46upAuCDm9eY9vho8fgNMGmbAX92QBZHzcnWIqw==
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001449, caniuse-lite@^1.0.30001464:
+  version "1.0.30001466"
+  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001466.tgz#c1e6197c540392e09709ecaa9e3e403428c53375"
+  integrity sha512-ewtFBSfWjEmxUgNBSZItFSmVtvk9zkwkl1OfRZlKA8slltRN+/C/tuGVrF9styXkN36Yu3+SeJ1qkXxDEyNZ5w==
 
 chalk@^2.0.0, chalk@^2.3.2, chalk@^2.4.2:
   version "2.4.2"
@@ -4247,10 +4254,10 @@ ejs@^3.1.6:
   dependencies:
     jake "^10.8.5"
 
-electron-to-chromium@^1.4.251:
-  version "1.4.254"
-  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.254.tgz#c6203583890abf88dfc0be046cd72d3b48f8beb6"
-  integrity sha512-Sh/7YsHqQYkA6ZHuHMy24e6TE4eX6KZVsZb9E/DvU1nQRIrH4BflO/4k+83tfdYvDl+MObvlqHPRICzEdC9c6Q==
+electron-to-chromium@^1.4.284:
+  version "1.4.330"
+  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.330.tgz#4740378db7160d7210afb29800c74048cdf10a99"
+  integrity sha512-PqyefhybrVdjAJ45HaPLtuVaehiSw7C3ya0aad+rvmV53IVyXmYRk3pwIOb2TxTDTnmgQdn46NjMMaysx79/6Q==
 
 elliptic@^6.5.3:
   version "6.5.4"
@@ -4584,14 +4591,7 @@ eslint-scope@^7.1.1:
     esrecurse "^4.3.0"
     estraverse "^5.2.0"
 
-eslint-utils@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
-  integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
-  dependencies:
-    eslint-visitor-keys "^2.0.0"
-
-eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0:
+eslint-visitor-keys@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
   integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
@@ -4601,13 +4601,15 @@ eslint-visitor-keys@^3.3.0:
   resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
   integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
 
-eslint@^8.35.0:
-  version "8.35.0"
-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.35.0.tgz#fffad7c7e326bae606f0e8f436a6158566d42323"
-  integrity sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==
+eslint@^8.36.0:
+  version "8.36.0"
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.36.0.tgz#1bd72202200a5492f91803b113fb8a83b11285cf"
+  integrity sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==
   dependencies:
-    "@eslint/eslintrc" "^2.0.0"
-    "@eslint/js" "8.35.0"
+    "@eslint-community/eslint-utils" "^4.2.0"
+    "@eslint-community/regexpp" "^4.4.0"
+    "@eslint/eslintrc" "^2.0.1"
+    "@eslint/js" "8.36.0"
     "@humanwhocodes/config-array" "^0.11.8"
     "@humanwhocodes/module-importer" "^1.0.1"
     "@nodelib/fs.walk" "^1.2.8"
@@ -4618,9 +4620,8 @@ eslint@^8.35.0:
     doctrine "^3.0.0"
     escape-string-regexp "^4.0.0"
     eslint-scope "^7.1.1"
-    eslint-utils "^3.0.0"
     eslint-visitor-keys "^3.3.0"
-    espree "^9.4.0"
+    espree "^9.5.0"
     esquery "^1.4.2"
     esutils "^2.0.2"
     fast-deep-equal "^3.1.3"
@@ -4642,15 +4643,14 @@ eslint@^8.35.0:
     minimatch "^3.1.2"
     natural-compare "^1.4.0"
     optionator "^0.9.1"
-    regexpp "^3.2.0"
     strip-ansi "^6.0.1"
     strip-json-comments "^3.1.0"
     text-table "^0.2.0"
 
-espree@^9.4.0:
-  version "9.4.1"
-  resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd"
-  integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==
+espree@^9.5.0:
+  version "9.5.0"
+  resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.0.tgz#3646d4e3f58907464edba852fa047e6a27bdf113"
+  integrity sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==
   dependencies:
     acorn "^8.8.0"
     acorn-jsx "^5.3.2"
@@ -5745,10 +5745,10 @@ ignore@^5.2.0, ignore@^5.2.4:
   resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
   integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
 
-immutable@^4.0.0, immutable@^4.2.4:
-  version "4.2.4"
-  resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.2.4.tgz#83260d50889526b4b531a5e293709a77f7c55a2a"
-  integrity sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==
+immutable@^4.0.0, immutable@^4.3.0:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.0.tgz#eb1738f14ffb39fd068b1dbe1296117484dd34be"
+  integrity sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==
 
 import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1:
   version "3.3.0"
@@ -7675,10 +7675,10 @@ node-libs-browser@^2.2.1:
     util "^0.11.0"
     vm-browserify "^1.0.1"
 
-node-releases@^2.0.6:
-  version "2.0.6"
-  resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503"
-  integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==
+node-releases@^2.0.8:
+  version "2.0.10"
+  resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f"
+  integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==
 
 normalize-package-data@^2.5.0:
   version "2.5.0"
@@ -9268,11 +9268,6 @@ regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.4.3:
     define-properties "^1.1.3"
     functions-have-names "^1.2.2"
 
-regexpp@^3.2.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
-  integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
-
 regexpu-core@^5.1.0:
   version "5.1.0"
   resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.1.0.tgz#2f8504c3fd0ebe11215783a41541e21c79942c6d"
@@ -9537,10 +9532,10 @@ sass-loader@^10.2.0:
     schema-utils "^3.0.0"
     semver "^7.3.2"
 
-sass@^1.58.3:
-  version "1.58.3"
-  resolved "https://registry.yarnpkg.com/sass/-/sass-1.58.3.tgz#2348cc052061ba4f00243a208b09c40e031f270d"
-  integrity sha512-Q7RaEtYf6BflYrQ+buPudKR26/lH+10EmO9bBqbmPh/KeLqv8bjpTNqxe71ocONqXq+jYiCbpPUmQMS+JJPk4A==
+sass@^1.59.3:
+  version "1.59.3"
+  resolved "https://registry.yarnpkg.com/sass/-/sass-1.59.3.tgz#a1ddf855d75c70c26b4555df4403e1bbf8e4403f"
+  integrity sha512-QCq98N3hX1jfTCoUAsF3eyGuXLsY7BCnCEg9qAact94Yc21npG2/mVOqoDvE0fCbWDqiM4WlcJQla0gWG2YlxQ==
   dependencies:
     chokidar ">=3.0.0 <4.0.0"
     immutable "^4.0.0"
@@ -10898,10 +10893,10 @@ upath@^1.1.1, upath@^1.2.0:
   resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
   integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==
 
-update-browserslist-db@^1.0.9:
-  version "1.0.9"
-  resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz#2924d3927367a38d5c555413a7ce138fc95fcb18"
-  integrity sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==
+update-browserslist-db@^1.0.10:
+  version "1.0.10"
+  resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3"
+  integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==
   dependencies:
     escalade "^3.1.1"
     picocolors "^1.0.0"