about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Gemfile.lock2
-rw-r--r--app/controllers/admin/reports/actions_controller.rb50
-rw-r--r--app/javascript/flavours/glitch/styles/admin.scss37
-rw-r--r--app/javascript/mastodon/locales/af.json22
-rw-r--r--app/javascript/mastodon/locales/ar.json90
-rw-r--r--app/javascript/mastodon/locales/ast.json48
-rw-r--r--app/javascript/mastodon/locales/bg.json22
-rw-r--r--app/javascript/mastodon/locales/bn.json22
-rw-r--r--app/javascript/mastodon/locales/br.json248
-rw-r--r--app/javascript/mastodon/locales/ca.json54
-rw-r--r--app/javascript/mastodon/locales/co.json30
-rw-r--r--app/javascript/mastodon/locales/cs.json42
-rw-r--r--app/javascript/mastodon/locales/cy.json22
-rw-r--r--app/javascript/mastodon/locales/da.json298
-rw-r--r--app/javascript/mastodon/locales/de.json38
-rw-r--r--app/javascript/mastodon/locales/defaultMessages.json95
-rw-r--r--app/javascript/mastodon/locales/el.json36
-rw-r--r--app/javascript/mastodon/locales/en.json17
-rw-r--r--app/javascript/mastodon/locales/eo.json36
-rw-r--r--app/javascript/mastodon/locales/es-AR.json40
-rw-r--r--app/javascript/mastodon/locales/es-MX.json40
-rw-r--r--app/javascript/mastodon/locales/es.json38
-rw-r--r--app/javascript/mastodon/locales/et.json22
-rw-r--r--app/javascript/mastodon/locales/eu.json38
-rw-r--r--app/javascript/mastodon/locales/fa.json110
-rw-r--r--app/javascript/mastodon/locales/fi.json90
-rw-r--r--app/javascript/mastodon/locales/fr.json78
-rw-r--r--app/javascript/mastodon/locales/ga.json22
-rw-r--r--app/javascript/mastodon/locales/gd.json38
-rw-r--r--app/javascript/mastodon/locales/gl.json42
-rw-r--r--app/javascript/mastodon/locales/he.json84
-rw-r--r--app/javascript/mastodon/locales/hi.json22
-rw-r--r--app/javascript/mastodon/locales/hr.json60
-rw-r--r--app/javascript/mastodon/locales/hu.json40
-rw-r--r--app/javascript/mastodon/locales/hy.json36
-rw-r--r--app/javascript/mastodon/locales/id.json56
-rw-r--r--app/javascript/mastodon/locales/io.json22
-rw-r--r--app/javascript/mastodon/locales/is.json38
-rw-r--r--app/javascript/mastodon/locales/it.json116
-rw-r--r--app/javascript/mastodon/locales/ja.json40
-rw-r--r--app/javascript/mastodon/locales/ka.json22
-rw-r--r--app/javascript/mastodon/locales/kab.json26
-rw-r--r--app/javascript/mastodon/locales/kk.json22
-rw-r--r--app/javascript/mastodon/locales/kmr.json64
-rw-r--r--app/javascript/mastodon/locales/kn.json22
-rw-r--r--app/javascript/mastodon/locales/ko.json56
-rw-r--r--app/javascript/mastodon/locales/ku.json22
-rw-r--r--app/javascript/mastodon/locales/kw.json22
-rw-r--r--app/javascript/mastodon/locales/lt.json22
-rw-r--r--app/javascript/mastodon/locales/lv.json48
-rw-r--r--app/javascript/mastodon/locales/mk.json22
-rw-r--r--app/javascript/mastodon/locales/ml.json22
-rw-r--r--app/javascript/mastodon/locales/mr.json22
-rw-r--r--app/javascript/mastodon/locales/ms.json22
-rw-r--r--app/javascript/mastodon/locales/nl.json38
-rw-r--r--app/javascript/mastodon/locales/nn.json36
-rw-r--r--app/javascript/mastodon/locales/no.json28
-rw-r--r--app/javascript/mastodon/locales/oc.json34
-rw-r--r--app/javascript/mastodon/locales/pa.json22
-rw-r--r--app/javascript/mastodon/locales/pl.json38
-rw-r--r--app/javascript/mastodon/locales/pt-BR.json38
-rw-r--r--app/javascript/mastodon/locales/pt-PT.json46
-rw-r--r--app/javascript/mastodon/locales/ro.json38
-rw-r--r--app/javascript/mastodon/locales/ru.json38
-rw-r--r--app/javascript/mastodon/locales/sa.json22
-rw-r--r--app/javascript/mastodon/locales/sc.json22
-rw-r--r--app/javascript/mastodon/locales/si.json22
-rw-r--r--app/javascript/mastodon/locales/sk.json44
-rw-r--r--app/javascript/mastodon/locales/sl.json240
-rw-r--r--app/javascript/mastodon/locales/sq.json38
-rw-r--r--app/javascript/mastodon/locales/sr-Latn.json22
-rw-r--r--app/javascript/mastodon/locales/sr.json22
-rw-r--r--app/javascript/mastodon/locales/sv.json56
-rw-r--r--app/javascript/mastodon/locales/szl.json22
-rw-r--r--app/javascript/mastodon/locales/ta.json22
-rw-r--r--app/javascript/mastodon/locales/tai.json22
-rw-r--r--app/javascript/mastodon/locales/te.json22
-rw-r--r--app/javascript/mastodon/locales/th.json44
-rw-r--r--app/javascript/mastodon/locales/tr.json38
-rw-r--r--app/javascript/mastodon/locales/tt.json22
-rw-r--r--app/javascript/mastodon/locales/ug.json22
-rw-r--r--app/javascript/mastodon/locales/uk.json38
-rw-r--r--app/javascript/mastodon/locales/ur.json22
-rw-r--r--app/javascript/mastodon/locales/vi.json40
-rw-r--r--app/javascript/mastodon/locales/zgh.json22
-rw-r--r--app/javascript/mastodon/locales/zh-CN.json46
-rw-r--r--app/javascript/mastodon/locales/zh-HK.json22
-rw-r--r--app/javascript/mastodon/locales/zh-TW.json38
-rw-r--r--app/javascript/styles/mastodon/admin.scss37
-rw-r--r--app/models/admin/status_batch_action.rb12
-rw-r--r--app/models/trends/tags.rb7
-rw-r--r--app/presenters/activitypub/activity_presenter.rb4
-rw-r--r--app/serializers/activitypub/undo_announce_serializer.rb2
-rw-r--r--app/services/concerns/payloadable.rb18
-rw-r--r--app/services/delete_account_service.rb2
-rw-r--r--app/services/remove_status_service.rb2
-rw-r--r--app/views/admin/reports/_actions.html.haml27
-rw-r--r--app/views/admin/reports/show.html.haml57
-rw-r--r--chart/Chart.yaml2
-rw-r--r--chart/readme.md2
-rw-r--r--chart/templates/configmap-env.yaml224
-rw-r--r--chart/values.yaml104
-rw-r--r--config/locales/activerecord.br.yml2
-rw-r--r--config/locales/activerecord.fr.yml2
-rw-r--r--config/locales/activerecord.it.yml2
-rw-r--r--config/locales/activerecord.kmr.yml2
-rw-r--r--config/locales/activerecord.ro.yml14
-rw-r--r--config/locales/activerecord.sl.yml15
-rw-r--r--config/locales/activerecord.th.yml1
-rw-r--r--config/locales/ar.yml129
-rw-r--r--config/locales/ast.yml52
-rw-r--r--config/locales/bg.yml3
-rw-r--r--config/locales/bn.yml6
-rw-r--r--config/locales/br.yml32
-rw-r--r--config/locales/ca.yml238
-rw-r--r--config/locales/co.yml95
-rw-r--r--config/locales/cs.yml152
-rw-r--r--config/locales/cy.yml64
-rw-r--r--config/locales/da.yml175
-rw-r--r--config/locales/de.yml195
-rw-r--r--config/locales/devise.ast.yml24
-rw-r--r--config/locales/devise.br.yml67
-rw-r--r--config/locales/devise.fr.yml20
-rw-r--r--config/locales/devise.gl.yml2
-rw-r--r--config/locales/devise.hy.yml2
-rw-r--r--config/locales/devise.it.yml2
-rw-r--r--config/locales/devise.kab.yml4
-rw-r--r--config/locales/devise.ro.yml17
-rw-r--r--config/locales/devise.sl.yml29
-rw-r--r--config/locales/devise.th.yml4
-rw-r--r--config/locales/devise.zh-CN.yml28
-rw-r--r--config/locales/doorkeeper.br.yml89
-rw-r--r--config/locales/doorkeeper.ca.yml2
-rw-r--r--config/locales/doorkeeper.fa.yml6
-rw-r--r--config/locales/doorkeeper.gl.yml8
-rw-r--r--config/locales/doorkeeper.it.yml14
-rw-r--r--config/locales/doorkeeper.nn.yml5
-rw-r--r--config/locales/doorkeeper.pt-PT.yml6
-rw-r--r--config/locales/doorkeeper.ro.yml5
-rw-r--r--config/locales/doorkeeper.sl.yml8
-rw-r--r--config/locales/doorkeeper.zh-CN.yml14
-rw-r--r--config/locales/el.yml112
-rw-r--r--config/locales/en.yml9
-rw-r--r--config/locales/eo.yml67
-rw-r--r--config/locales/es-AR.yml199
-rw-r--r--config/locales/es-MX.yml190
-rw-r--r--config/locales/es.yml176
-rw-r--r--config/locales/et.yml60
-rw-r--r--config/locales/eu.yml197
-rw-r--r--config/locales/fa.yml209
-rw-r--r--config/locales/fi.yml285
-rw-r--r--config/locales/fr.yml397
-rw-r--r--config/locales/gd.yml247
-rw-r--r--config/locales/gl.yml204
-rw-r--r--config/locales/he.yml39
-rw-r--r--config/locales/hr.yml4
-rw-r--r--config/locales/hu.yml234
-rw-r--r--config/locales/hy.yml42
-rw-r--r--config/locales/id.yml168
-rw-r--r--config/locales/is.yml195
-rw-r--r--config/locales/it.yml223
-rw-r--r--config/locales/ja.yml192
-rw-r--r--config/locales/ka.yml9
-rw-r--r--config/locales/kab.yml40
-rw-r--r--config/locales/kk.yml55
-rw-r--r--config/locales/kmr.yml232
-rw-r--r--config/locales/ko.yml197
-rw-r--r--config/locales/ku.yml86
-rw-r--r--config/locales/lt.yml15
-rw-r--r--config/locales/lv.yml1163
-rw-r--r--config/locales/ml.yml1
-rw-r--r--config/locales/ms.yml8
-rw-r--r--config/locales/nl.yml72
-rw-r--r--config/locales/nn.yml78
-rw-r--r--config/locales/no.yml72
-rw-r--r--config/locales/oc.yml96
-rw-r--r--config/locales/pl.yml181
-rw-r--r--config/locales/pt-BR.yml297
-rw-r--r--config/locales/pt-PT.yml236
-rw-r--r--config/locales/ro.yml72
-rw-r--r--config/locales/ru.yml167
-rw-r--r--config/locales/sc.yml67
-rw-r--r--config/locales/si.yml6
-rw-r--r--config/locales/simple_form.ast.yml6
-rw-r--r--config/locales/simple_form.ca.yml74
-rw-r--r--config/locales/simple_form.cs.yml4
-rw-r--r--config/locales/simple_form.de.yml2
-rw-r--r--config/locales/simple_form.eo.yml29
-rw-r--r--config/locales/simple_form.es-AR.yml2
-rw-r--r--config/locales/simple_form.es-MX.yml1
-rw-r--r--config/locales/simple_form.es.yml2
-rw-r--r--config/locales/simple_form.eu.yml1
-rw-r--r--config/locales/simple_form.fa.yml12
-rw-r--r--config/locales/simple_form.fi.yml14
-rw-r--r--config/locales/simple_form.fr.yml20
-rw-r--r--config/locales/simple_form.gd.yml10
-rw-r--r--config/locales/simple_form.gl.yml12
-rw-r--r--config/locales/simple_form.hu.yml10
-rw-r--r--config/locales/simple_form.it.yml24
-rw-r--r--config/locales/simple_form.ja.yml1
-rw-r--r--config/locales/simple_form.kab.yml2
-rw-r--r--config/locales/simple_form.kmr.yml2
-rw-r--r--config/locales/simple_form.ko.yml4
-rw-r--r--config/locales/simple_form.pl.yml6
-rw-r--r--config/locales/simple_form.pt-BR.yml1
-rw-r--r--config/locales/simple_form.pt-PT.yml2
-rw-r--r--config/locales/simple_form.ru.yml2
-rw-r--r--config/locales/simple_form.sl.yml42
-rw-r--r--config/locales/simple_form.sv.yml24
-rw-r--r--config/locales/simple_form.th.yml9
-rw-r--r--config/locales/simple_form.vi.yml10
-rw-r--r--config/locales/simple_form.zh-CN.yml4
-rw-r--r--config/locales/simple_form.zh-TW.yml2
-rw-r--r--config/locales/sk.yml118
-rw-r--r--config/locales/sl.yml217
-rw-r--r--config/locales/sq.yml174
-rw-r--r--config/locales/sr-Latn.yml8
-rw-r--r--config/locales/sr.yml15
-rw-r--r--config/locales/sv.yml97
-rw-r--r--config/locales/ta.yml10
-rw-r--r--config/locales/te.yml1
-rw-r--r--config/locales/th.yml193
-rw-r--r--config/locales/tr.yml174
-rw-r--r--config/locales/tt.yml2
-rw-r--r--config/locales/uk.yml182
-rw-r--r--config/locales/vi.yml215
-rw-r--r--config/locales/zgh.yml5
-rw-r--r--config/locales/zh-CN.yml217
-rw-r--r--config/locales/zh-HK.yml62
-rw-r--r--config/locales/zh-TW.yml175
-rw-r--r--config/routes.rb2
-rw-r--r--package.json16
-rw-r--r--spec/controllers/activitypub/followers_synchronizations_controller_spec.rb2
-rw-r--r--spec/controllers/api/v1/accounts/statuses_controller_spec.rb2
-rw-r--r--spec/models/account_statuses_cleanup_policy_spec.rb2
-rw-r--r--spec/models/status_spec.rb32
-rw-r--r--spec/services/activitypub/fetch_replies_service_spec.rb18
-rw-r--r--spec/services/remove_status_service_spec.rb106
-rw-r--r--spec/services/update_status_service_spec.rb2
-rw-r--r--spec/spec_helper.rb7
-rw-r--r--spec/workers/activitypub/distribute_poll_update_worker_spec.rb3
-rw-r--r--spec/workers/activitypub/distribution_worker_spec.rb7
-rw-r--r--spec/workers/activitypub/move_distribution_worker_spec.rb6
-rw-r--r--spec/workers/activitypub/status_update_distribution_worker_spec.rb8
-rw-r--r--spec/workers/activitypub/update_distribution_worker_spec.rb3
-rw-r--r--spec/workers/move_worker_spec.rb5
-rw-r--r--yarn.lock1089
247 files changed, 10515 insertions, 5609 deletions
diff --git a/Gemfile.lock b/Gemfile.lock
index 0e973e41f..fade57c3e 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -576,7 +576,7 @@ GEM
       sidekiq (>= 3)
       thwait
       tilt (>= 1.4.0)
-    sidekiq-unique-jobs (7.1.12)
+    sidekiq-unique-jobs (7.1.15)
       brpoplpush-redis_script (> 0.1.1, <= 2.0.0)
       concurrent-ruby (~> 1.0, >= 1.0.5)
       sidekiq (>= 5.0, < 8.0)
diff --git a/app/controllers/admin/reports/actions_controller.rb b/app/controllers/admin/reports/actions_controller.rb
new file mode 100644
index 000000000..05a4fb63d
--- /dev/null
+++ b/app/controllers/admin/reports/actions_controller.rb
@@ -0,0 +1,50 @@
+# frozen_string_literal: true
+
+class Admin::Reports::ActionsController < Admin::BaseController
+  before_action :set_report
+
+  def create
+    authorize @report, :show?
+
+    case action_from_button
+    when 'delete'
+      status_batch_action = Admin::StatusBatchAction.new(
+        type: action_from_button,
+        status_ids: @report.status_ids,
+        current_account: current_account,
+        report_id: @report.id,
+        send_email_notification: !@report.spam?
+      )
+
+      status_batch_action.save!
+    when 'silence', 'suspend'
+      account_action = Admin::AccountAction.new(
+        type: action_from_button,
+        report_id: @report.id,
+        target_account: @report.target_account,
+        current_account: current_account,
+        send_email_notification: !@report.spam?
+      )
+
+      account_action.save!
+    end
+
+    redirect_to admin_reports_path
+  end
+
+  private
+
+  def set_report
+    @report = Report.find(params[:report_id])
+  end
+
+  def action_from_button
+    if params[:delete]
+      'delete'
+    elsif params[:silence]
+      'silence'
+    elsif params[:suspend]
+      'suspend'
+    end
+  end
+end
diff --git a/app/javascript/flavours/glitch/styles/admin.scss b/app/javascript/flavours/glitch/styles/admin.scss
index 92061585a..d28470747 100644
--- a/app/javascript/flavours/glitch/styles/admin.scss
+++ b/app/javascript/flavours/glitch/styles/admin.scss
@@ -1410,8 +1410,9 @@ a.sparkline {
     }
 
     &__button {
+      box-sizing: border-box;
       flex: 0 0 auto;
-      width: 100px;
+      width: 200px;
       padding: 15px;
       padding-right: 0;
 
@@ -1427,4 +1428,38 @@ a.sparkline {
       color: $dark-text-color;
     }
   }
+
+  @media screen and (max-width: 800px) {
+    border: 0;
+
+    &__item {
+      flex-direction: column;
+      border: 0;
+
+      &__button {
+        width: 100%;
+        padding: 15px 0;
+      }
+
+      &__description {
+        padding: 0;
+        padding-bottom: 15px;
+      }
+    }
+  }
+}
+
+.section-skip-link {
+  float: right;
+
+  a {
+    color: $ui-highlight-color;
+    text-decoration: none;
+
+    &:hover,
+    &:focus,
+    &:active {
+      text-decoration: underline;
+    }
+  }
 }
diff --git a/app/javascript/mastodon/locales/af.json b/app/javascript/mastodon/locales/af.json
index eca4765c4..2675da68c 100644
--- a/app/javascript/mastodon/locales/af.json
+++ b/app/javascript/mastodon/locales/af.json
@@ -47,7 +47,8 @@
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
@@ -312,7 +314,7 @@
   "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": "Show",
+  "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:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Show in column",
   "notifications.column_settings.sound": "Play sound",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "All",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favourites",
@@ -362,12 +365,20 @@
   "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.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "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.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "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.filtered": "Filtered",
+  "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}",
diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json
index 0992394a2..d244ab5fc 100644
--- a/app/javascript/mastodon/locales/ar.json
+++ b/app/javascript/mastodon/locales/ar.json
@@ -33,8 +33,8 @@
   "account.mute_notifications": "كَتم الإشعارات من @{name}",
   "account.muted": "مَكتوم",
   "account.never_active": "أبدًا",
-  "account.posts": "تبويقات",
-  "account.posts_with_replies": "التَّبويقات والرُدود",
+  "account.posts": "منشورات",
+  "account.posts_with_replies": "المنشورات والرُدود",
   "account.report": "الإبلاغ عن @{name}",
   "account.requested": "في اِنتظر القُبول. اِنقُر لإلغاء طلب المُتابعة",
   "account.share": "مُشاركة الملف الشخصي لـ @{name}",
@@ -46,19 +46,20 @@
   "account.unfollow": "إلغاء المُتابعة",
   "account.unmute": "إلغاء الكَتم عن @{name}",
   "account.unmute_notifications": "إلغاء كَتم الإشعارات عن @{name}",
-  "account_note.placeholder": "اِنقُر لإضافة مُلاحظة",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "account_note.placeholder": "اضغط لإضافة مُلاحظة",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "المعدل",
+  "admin.dashboard.retention.cohort": "شهر التسجيل",
+  "admin.dashboard.retention.cohort_size": "المستخدمون الجدد",
   "alert.rate_limited.message": "يُرجى إعادة المحاولة بعد {retry_time, time, medium}.",
   "alert.rate_limited.title": "المُعَدَّل مَحدود",
   "alert.unexpected.message": "لقد طرأ خطأ غير متوقّع.",
   "alert.unexpected.title": "المعذرة!",
   "announcement.announcement": "إعلان",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(غير معالَج)",
   "autosuggest_hashtag.per_week": "{count} في الأسبوع",
-  "boost_modal.combo": "يُمكنك الضّغط على {combo} لتخطي هذا في المرة المُقبِلَة",
+  "boost_modal.combo": "يُمكنك الضّغط على {combo} لتخطي هذا في المرة المُقبلة",
   "bundle_column_error.body": "لقد حدث خطأ ما أثناء تحميل هذا العنصر.",
   "bundle_column_error.retry": "إعادة المُحاولة",
   "bundle_column_error.title": "خطأ في الشبكة",
@@ -66,18 +67,18 @@
   "bundle_modal_error.message": "لقد حدث خطأ ما أثناء تحميل هذا العنصر.",
   "bundle_modal_error.retry": "إعادة المُحاولة",
   "column.blocks": "المُستَخدِمون المَحظورون",
-  "column.bookmarks": "العَلاماتُ المَرجعيَّة",
-  "column.community": "الخَطُّ الزَّمَنِيُّ المَحَلِّيّ",
-  "column.direct": "الرَّسَائِلُ المُبَاشِرَة",
-  "column.directory": "تَصَفُّحُ المَلَفَّاتِ الشَّخصِيَّة",
+  "column.bookmarks": "الفواصل المرجعية",
+  "column.community": "الخيط الزمني المحلي",
+  "column.direct": "الرسائل المباشرة",
+  "column.directory": "تَصَفُّحُ المَلفات الشخصية",
   "column.domain_blocks": "النِّطاقَاتُ المَحظُورَة",
   "column.favourites": "المُفَضَّلَة",
   "column.follow_requests": "طَلَبَاتُ المُتَابَعَة",
-  "column.home": "الرَّئِيسَة",
-  "column.lists": "القَوائِم",
+  "column.home": "الرئيسية",
+  "column.lists": "القوائم",
   "column.mutes": "المُستَخدِمون المَكتومون",
   "column.notifications": "الإشعارَات",
-  "column.pins": "التَّبويقاتُ المُثَبَّتَة",
+  "column.pins": "المنشورات المُثَبَّتَة",
   "column.public": "الخَطُّ الزَّمَنِيُّ المُوَحَّد",
   "column_back_button.label": "العودة",
   "column_header.hide_settings": "إخفاء الإعدادات",
@@ -86,13 +87,13 @@
   "column_header.pin": "تثبيت",
   "column_header.show_settings": "إظهار الإعدادات",
   "column_header.unpin": "إلغاء التَّثبيت",
-  "column_subheading.settings": "الإعدَادَات",
+  "column_subheading.settings": "الإعدادات",
   "community.column_settings.local_only": "المحلي فقط",
   "community.column_settings.media_only": "الوسائط فقط",
   "community.column_settings.remote_only": "عن بُعد فقط",
   "compose_form.direct_message_warning": "سوف تُرسَل هذه التَّبويقة فقط للمُستَخدِمين المَذكورين.",
   "compose_form.direct_message_warning_learn_more": "تَعَلَّم المَزيد",
-  "compose_form.hashtag_warning": "لن تُدرَج هذه التبويقة تحت أي وسم بما أنَّها غير مُدرَجة. فقط التبويقات العامة يُمكن البحث عنها بواسطة الوسم.",
+  "compose_form.hashtag_warning": "لن يُدرَج هذا المنشور تحت أي وسم بما أنَّه غير مُدرَج. فقط المنشورات العامة يُمكن البحث عنها بواسطة الوسم.",
   "compose_form.lock_disclaimer": "حسابُك غير {locked}. يُمكن لأي شخص مُتابعتك لرؤية (منشورات المتابعين فقط).",
   "compose_form.lock_disclaimer.lock": "مُقفَل",
   "compose_form.placeholder": "فِيمَ تُفكِّر؟",
@@ -104,10 +105,11 @@
   "compose_form.poll.switch_to_single": "تغيِير الاستطلاع للسماح باِخيار واحد فقط",
   "compose_form.publish": "تبويق",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {الإشارة إلى الوَسط كمُحتوى حسّاس} two{الإشارة إلى الوسطان كمُحتويان حسّاسان} other {الإشارة إلى الوسائط كمُحتويات حسّاسة}}",
   "compose_form.sensitive.marked": "{count, plural, one {تمَّ الإشارة إلى الوسط كمُحتوى حسّاس} two{تمَّ الإشارة إلى الوسطان كمُحتويان حسّاسان} other {تمَّ الإشارة إلى الوسائط كمُحتويات حسّاسة}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {لم تَتِمّ الإشارة إلى الوسط كمُحتوى حسّاس} two{لم تَتِمّ الإشارة إلى الوسطان كمُحتويان حسّاسان} other {لم تَتِمّ الإشارة إلى الوسائط كمُحتويات حسّاسة}}",
-  "compose_form.spoiler.marked": "إنّ النص مخفي وراء تحذير",
+  "compose_form.spoiler.marked": "إزالة تحذير المحتوى",
   "compose_form.spoiler.unmarked": "إنَّ النص غير مخفي",
   "compose_form.spoiler_placeholder": "اُكتُب تحذيركَ هُنا",
   "confirmation_modal.cancel": "إلغاء",
@@ -118,8 +120,8 @@
   "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.discard_edit_media.confirm": "تجاهل",
+  "confirmations.discard_edit_media.message": "لديك تغييرات غير محفوظة لوصف الوسائط أو معاينتها، تجاهلها على أي حال؟",
   "confirmations.domain_block.confirm": "حظر اِسم النِّطاق بشكلٍ كامل",
   "confirmations.domain_block.message": "متأكد من أنك تود حظر اسم النطاق {domain} بالكامل ؟ في غالب الأحيان يُستَحسَن كتم أو حظر بعض الحسابات بدلا من حظر نطاق بالكامل.\nلن تتمكن مِن رؤية محتوى هذا النطاق لا على خيوطك العمومية و لا في إشعاراتك. سوف يتم كذلك إزالة كافة متابعيك المنتمين إلى هذا النطاق.",
   "confirmations.logout.confirm": "خروج",
@@ -158,21 +160,21 @@
   "emoji_button.symbols": "رموز",
   "emoji_button.travel": "الأماكن والسفر",
   "empty_column.account_suspended": "حساب معلق",
-  "empty_column.account_timeline": "ليس هناك تبويقات!",
+  "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": "لم تتلق أية رسالة خاصة مباشِرة بعد. سوف يتم عرض الرسائل المباشرة هنا إن قمت بإرسال واحدة أو تلقيت البعض منها.",
   "empty_column.domain_blocks": "ليس هناك نطاقات مخفية بعد.",
-  "empty_column.favourited_statuses": "ليس لديك أية تبويقات مفضلة بعد. عندما ستقوم بالإعجاب بواحد، سيظهر هنا.",
-  "empty_column.favourites": "لم يقم أي أحد بالإعجاب بهذا التبويق بعد. عندما يقوم أحدهم بذلك سوف يظهر هنا.",
+  "empty_column.favourited_statuses": "ليس لديك أية منشورات مفضلة بعد. عندما ستقوم بالإعجاب بواحدة، ستظهر هنا.",
+  "empty_column.favourites": "لم يقم أي أحد بالإعجاب بهذا المنشور بعد. عندما يقوم أحدهم بذلك سوف يظهر هنا.",
   "empty_column.follow_recommendations": "يبدو أنه لا يمكن إنشاء أي اقتراحات لك. يمكنك البحث عن أشخاص قد تعرفهم أو استكشاف الوسوم الرائجة.",
   "empty_column.follow_requests": "ليس عندك أي طلب للمتابعة بعد. سوف تظهر طلباتك هنا إن قمت بتلقي البعض منها.",
   "empty_column.hashtag": "ليس هناك بعدُ أي محتوى ذو علاقة بهذا الوسم.",
   "empty_column.home": "إنّ الخيط الزمني لصفحتك الرئيسية فارغ. قم بزيارة {public} أو استخدم حقل البحث لكي تكتشف مستخدمين آخرين.",
   "empty_column.home.suggestions": "شاهد بعض الاقتراحات",
-  "empty_column.list": "هذه القائمة فارغة مؤقتا و لكن سوف تمتلئ تدريجيا عندما يبدأ الأعضاء المُنتَمين إليها بنشر تبويقات.",
+  "empty_column.list": "هذه القائمة فارغة مؤقتا و لكن سوف تمتلئ تدريجيا عندما يبدأ الأعضاء المُنتَمين إليها بنشر منشورات.",
   "empty_column.lists": "ليس عندك أية قائمة بعد. سوف تظهر قائمتك هنا إن قمت بإنشاء واحدة.",
   "empty_column.mutes": "لم تقم بكتم أي مستخدم بعد.",
   "empty_column.notifications": "لم تتلق أي إشعار بعدُ. تفاعل مع المستخدمين الآخرين لإنشاء محادثة.",
@@ -185,7 +187,7 @@
   "errors.unexpected_crash.report_issue": "الإبلاغ عن خلل",
   "follow_recommendations.done": "تم",
   "follow_recommendations.heading": "تابع الأشخاص الذين ترغب في رؤية منشوراتهم! إليك بعض الاقتراحات.",
-  "follow_recommendations.lead": "ستظهر المنشورات من الأشخاص الذين تُتابعتهم بترتيب تسلسلي زمني على صفحتك الرئيسية. لا تخف إذا ارتكبت أي أخطاء، تستطيع إلغاء متابعة أي شخص في أي وقت تريد!",
+  "follow_recommendations.lead": "ستظهر منشورات الأشخاص الذين تُتابعتهم بترتيب تسلسلي زمني على صفحتك الرئيسية. لا تخف إذا ارتكبت أي أخطاء، تستطيع إلغاء متابعة أي شخص في أي وقت تريد!",
   "follow_request.authorize": "ترخيص",
   "follow_request.reject": "رفض",
   "follow_requests.unlocked_explanation": "على الرغم من أن حسابك غير مقفل، فإن موظفين الـ{domain} ظنوا أنك قد ترغب في مراجعة طلبات المتابعة من هذه الحسابات يدوياً.",
@@ -237,7 +239,7 @@
   "keyboard_shortcuts.my_profile": "لفتح ملفك التعريفي",
   "keyboard_shortcuts.notifications": "لفتح عمود الإشعارات",
   "keyboard_shortcuts.open_media": "لفتح الوسائط",
-  "keyboard_shortcuts.pinned": "لفتح قائمة التبويقات المدبسة",
+  "keyboard_shortcuts.pinned": "لفتح قائمة المنشورات المثبتة",
   "keyboard_shortcuts.profile": "لفتح الملف التعريفي للناشر",
   "keyboard_shortcuts.reply": "للردّ",
   "keyboard_shortcuts.requests": "لفتح قائمة طلبات المتابعة",
@@ -294,7 +296,7 @@
   "navigation_bar.logout": "خروج",
   "navigation_bar.mutes": "الحسابات المكتومة",
   "navigation_bar.personal": "شخصي",
-  "navigation_bar.pins": "التبويقات المثبتة",
+  "navigation_bar.pins": "المنشورات المُثَبَّتَة",
   "navigation_bar.preferences": "التفضيلات",
   "navigation_bar.public_timeline": "الخيط العام الموحد",
   "navigation_bar.security": "الأمان",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "المُفَضَّلة:",
   "notifications.column_settings.filter_bar.advanced": "اعرض كافة الفئات",
   "notifications.column_settings.filter_bar.category": "شريط الفلترة السريعة",
-  "notifications.column_settings.filter_bar.show": "اظهِره",
+  "notifications.column_settings.filter_bar.show_bar": "إظهار شريط التصفية",
   "notifications.column_settings.follow": "متابعُون جُدُد:",
   "notifications.column_settings.follow_request": "الطلبات الجديد لِمتابَعتك:",
   "notifications.column_settings.mention": "الإشارات:",
@@ -321,8 +323,9 @@
   "notifications.column_settings.reblog": "الترقيّات:",
   "notifications.column_settings.show": "اعرِضها في عمود",
   "notifications.column_settings.sound": "أصدر صوتا",
-  "notifications.column_settings.status": "تبويقات جديدة:",
-  "notifications.column_settings.unread_markers.category": "علامات إشعار غير مقروءة",
+  "notifications.column_settings.status": "منشورات جديدة:",
+  "notifications.column_settings.unread_notifications.category": "إشعارات غير مقروءة",
+  "notifications.column_settings.unread_notifications.highlight": "علّم الإشعارات غير المقرؤة",
   "notifications.filter.all": "الكل",
   "notifications.filter.boosts": "الترقيات",
   "notifications.filter.favourites": "المفضلة",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# صوت} other {# أصوات}}",
   "poll.vote": "صَوّت",
   "poll.voted": "لقد صوّتت على هذه الإجابة",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# صوت} other {# أصوات}}",
   "poll_button.add_poll": "إضافة استطلاع للرأي",
   "poll_button.remove_poll": "إزالة استطلاع الرأي",
   "privacy.change": "اضبط خصوصية المنشور",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "جارٍ التحميل…",
   "regeneration_indicator.sublabel": "جارٍ تجهيز تغذية صفحتك الرئيسية!",
   "relative_time.days": "{number}ي",
+  "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}سا",
   "relative_time.just_now": "الآن",
   "relative_time.minutes": "{number}د",
   "relative_time.seconds": "{number}ثا",
   "relative_time.today": "اليوم",
   "reply_indicator.cancel": "إلغاء",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "التحويل إلى {target}",
   "report.forward_hint": "هذا الحساب ينتمي إلى خادوم آخَر. هل تودّ إرسال نسخة مجهولة مِن التقرير إلى هنالك أيضًا؟",
   "report.hint": "سوف يتم إرسال التقرير إلى المُشرِفين على خادومكم. بإمكانكم الإدلاء بشرح عن سبب الإبلاغ عن الحساب أسفله:",
@@ -383,8 +394,8 @@
   "search_popout.tips.user": "مستخدِم",
   "search_results.accounts": "أشخاص",
   "search_results.hashtags": "الوُسوم",
-  "search_results.statuses": "التبويقات",
-  "search_results.statuses_fts_disabled": "البحث في التبويقات عن طريق المحتوى ليس مفعل في خادم ماستدون هذا.",
+  "search_results.statuses": "المنشورات",
+  "search_results.statuses_fts_disabled": "البحث عن المنشورات عن طريق المحتوى ليس مفعل في خادم ماستدون هذا.",
   "search_results.total": "{count, number} {count, plural, zero {} one {نتيجة} two {نتيجتين} few {نتائج} many {نتائج} other {نتائج}}",
   "status.admin_account": "افتح الواجهة الإدارية لـ @{name}",
   "status.admin_status": "افتح هذا المنشور على واجهة الإشراف",
@@ -396,9 +407,14 @@
   "status.delete": "احذف",
   "status.detailed_status": "تفاصيل المحادثة",
   "status.direct": "رسالة خاصة إلى @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "إدماج",
   "status.favourite": "أضف إلى المفضلة",
   "status.filtered": "مُصفّى",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "حمّل المزيد",
   "status.media_hidden": "الصورة مستترة",
   "status.mention": "أذكُر @{name}",
@@ -443,7 +459,7 @@
   "timeline_hint.remote_resource_not_displayed": "{resource} من الخوادم الأخرى لا يتم عرضها.",
   "timeline_hint.resources.followers": "المتابِعون",
   "timeline_hint.resources.follows": "المتابَعون",
-  "timeline_hint.resources.statuses": "التبويقات القديمة",
+  "timeline_hint.resources.statuses": "المنشورات القديمة",
   "trends.counter_by_accounts": "{count,plural,zero{} one{{counter} شخص} two{{counter} شخصين} few{{counter} أشخاص } many{{counter} شخص} other{{counter} شخص}}",
   "trends.trending_now": "المتداولة الآن",
   "ui.beforeunload": "سوف تفقد مسودتك إن تركت ماستدون.",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "وصف للمعاقين بصريا أو لِذي قِصر السمع",
   "upload_modal.analyzing_picture": "جارٍ فحص الصورة…",
   "upload_modal.apply": "طبّق",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "جارٍ التطبيق…",
   "upload_modal.choose_image": "اختر صورة",
   "upload_modal.description_placeholder": "نصٌّ حكيمٌ لهُ سِرٌّ قاطِعٌ وَذُو شَأنٍ عَظيمٍ مكتوبٌ على ثوبٍ أخضرَ ومُغلفٌ بجلدٍ أزرق",
   "upload_modal.detect_text": "اكتشف النص مِن الصورة",
diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json
index 89a13246c..d4c4f84b0 100644
--- a/app/javascript/mastodon/locales/ast.json
+++ b/app/javascript/mastodon/locales/ast.json
@@ -47,16 +47,17 @@
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
-  "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+  "admin.dashboard.retention.cohort_size": "Usuarios nuevos",
+  "alert.rate_limited.message": "Volvi tentalo dempués de la hora: {retry_time, time, medium}.",
   "alert.rate_limited.title": "Rate limited",
   "alert.unexpected.message": "Asocedió un fallu inesperáu.",
   "alert.unexpected.title": "¡Meca!",
   "announcement.announcement": "Anunciu",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(ensin procesar)",
   "autosuggest_hashtag.per_week": "{count} per selmana",
   "boost_modal.combo": "Pues primir {combo} pa saltar esto la próxima vegada",
   "bundle_column_error.body": "Asocedió daqué malo mentanto se cargaba esti componente.",
@@ -91,7 +92,7 @@
   "community.column_settings.media_only": "Namái multimedia",
   "community.column_settings.remote_only": "Remote only",
   "compose_form.direct_message_warning": "Esti barritu namái va unviase a los usuarios mentaos.",
-  "compose_form.direct_message_warning_learn_more": "Learn more",
+  "compose_form.direct_message_warning_learn_more": "Saber más",
   "compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
   "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
   "compose_form.lock_disclaimer.lock": "locked",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
   "compose_form.publish": "Barritar",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
@@ -163,7 +165,7 @@
   "empty_column.blocks": "Entá nun bloquiesti a nunengún usuariu.",
   "empty_column.bookmarked_statuses": "Entá nun tienes nengún barritu en Marcadores. Cuando amiestes unu, va amosase equí.",
   "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
-  "empty_column.direct": "Entá nun tienes nunengún mensaxe direutu. Cuando unvies o recibas dalgún, va apaecer equí.",
+  "empty_column.direct": "Entá nun tienes nuengún mensaxe direutu. Cuando unvies o recibas dalgún, va apaecer equí.",
   "empty_column.domain_blocks": "Entá nun hai dominios anubríos.",
   "empty_column.favourited_statuses": "Entá nun tienes nengún barritu en Favoritos. Cuando amiestes unu, va amosase equí.",
   "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
@@ -177,7 +179,7 @@
   "empty_column.mutes": "Entá nun silenciesti a nunengún usuariu.",
   "empty_column.notifications": "Entá nun tienes nunengún avisu. Interactúa con otros p'aniciar la conversación.",
   "empty_column.public": "¡Equí nun hai nada! Escribi daqué público o sigui a usuarios d'otros sirvidores pa rellenar esto",
-  "error.unexpected_crash.explanation": "Pola mor d'un fallu nel códigu o un problema de compatibilidá del restolador, esta páxina nun pudo amosase correutamente.",
+  "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": "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.",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Favoritos:",
   "notifications.column_settings.filter_bar.advanced": "Amosar toles estayes",
   "notifications.column_settings.filter_bar.category": "Barra de peñera rápida",
-  "notifications.column_settings.filter_bar.show": "Amosar",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "Siguidores nuevos:",
   "notifications.column_settings.follow_request": "Solicitúes de siguimientu nueves:",
   "notifications.column_settings.mention": "Menciones:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Amosar en columna",
   "notifications.column_settings.sound": "Reproducir un soníu",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "Too",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favourites",
@@ -336,8 +339,8 @@
   "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.enable": "Activar los avisos d'escritoriu",
+  "notifications_permission_banner.how_to_control": "Pa recibir avisos cuando Mastodon nun tea abiertu, activa los avisos del escritoriu. Pues controlar al milímetru qué tipu d'interaiciones xeneren avisos namás que s'activen, pente'l botón {icon} d'arriba.",
   "notifications_permission_banner.title": "Never miss a thing",
   "picture_in_picture.restore": "Put it back",
   "poll.closed": "Acabó",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Cargando…",
   "regeneration_indicator.sublabel": "¡Tamos tresnando'l feed d'Aniciu!",
   "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": "agora",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "güei",
   "reply_indicator.cancel": "Encaboxar",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "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.hint": "L'informe va unviase a los llendadores del to sirvidor. Embaxo, pues desplicar por qué informes d'esta cuenta:",
@@ -396,9 +407,14 @@
   "status.delete": "Desaniciar",
   "status.detailed_status": "Detailed conversation view",
   "status.direct": "Unviar un mensaxe direutu a @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Empotrar",
   "status.favourite": "Favourite",
   "status.filtered": "Filtered",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Cargar más",
   "status.media_hidden": "Multimedia anubrida",
   "status.mention": "Mentar a @{name}",
@@ -408,7 +424,7 @@
   "status.open": "Espander esti estáu",
   "status.pin": "Fixar nel perfil",
   "status.pinned": "Barritu fixáu",
-  "status.read_more": "Read more",
+  "status.read_more": "Lleer más",
   "status.reblog": "Compartir",
   "status.reblog_private": "Compartir cola audiencia orixinal",
   "status.reblogged_by": "{name} compartió",
@@ -437,7 +453,7 @@
   "tabs_bar.search": "Search",
   "time_remaining.days": "{number, plural, one {Queda # día} other {Queden # díes}}",
   "time_remaining.hours": "{number, plural, one {# hora restante} other {# hores restantes}}",
-  "time_remaining.minutes": "{number, plural, one {# minutu restante} other {# minutos restantes}}",
+  "time_remaining.minutes": "{number, plural, one {Queda # minutu} other {Queden # minutos}}",
   "time_remaining.moments": "Moments remaining",
   "time_remaining.seconds": "{number, plural, one {# segundu restante} other {# segundos restantes}}",
   "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.",
@@ -465,7 +481,7 @@
   "upload_modal.applying": "Applying…",
   "upload_modal.choose_image": "Choose image",
   "upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
-  "upload_modal.detect_text": "Deteutar el testu de la semeya",
+  "upload_modal.detect_text": "Detectar el testu de la semeya",
   "upload_modal.edit_media": "Edición",
   "upload_modal.hint": "Calca o arrastra'l círculu de la previsualización pa escoyer el puntu d'enfoque que va amosase siempres en toles miniatures.",
   "upload_modal.preparing_ocr": "Preparing OCR…",
@@ -477,8 +493,8 @@
   "video.expand": "Espander el videu",
   "video.fullscreen": "Pantalla completa",
   "video.hide": "Anubrir el videu",
-  "video.mute": "Silenciar el soníu",
+  "video.mute": "Desactivar el soníu",
   "video.pause": "Posar",
   "video.play": "Reproducir",
-  "video.unmute": "Unmute sound"
+  "video.unmute": "Activar el soníu"
 }
diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json
index 8e3848f54..02e37c4c7 100644
--- a/app/javascript/mastodon/locales/bg.json
+++ b/app/javascript/mastodon/locales/bg.json
@@ -47,7 +47,8 @@
   "account.unmute": "Раззаглушаване на @{name}",
   "account.unmute_notifications": "Раззаглушаване на известия от @{name}",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Промяна на анкетата, за да се позволи един възможен избор",
   "compose_form.publish": "Раздумай",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Маркиране на мултимедията като деликатна} other {Маркиране на мултимедиите като деликатни}}",
   "compose_form.sensitive.marked": "{count, plural, one {Мултимедията е маркирана като деликатна} other {Мултимедиите са маркирани като деликатни}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Мултимедията не е маркирана като деликатна} other {Мултимедиите не са маркирани като деликатни}}",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Предпочитани:",
   "notifications.column_settings.filter_bar.advanced": "Показване на всички категории",
   "notifications.column_settings.filter_bar.category": "Лента за бърз филтър",
-  "notifications.column_settings.filter_bar.show": "Показване",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "Нови последователи:",
   "notifications.column_settings.follow_request": "Нови заявки за последване:",
   "notifications.column_settings.mention": "Споменавания:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Покажи в колона",
   "notifications.column_settings.sound": "Пускане на звук",
   "notifications.column_settings.status": "Нови публикации:",
-  "notifications.column_settings.unread_markers.category": "отметки за непрочетени известия",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "Всичко",
   "notifications.filter.boosts": "Споделяния",
   "notifications.filter.favourites": "Любими",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Зареждане…",
   "regeneration_indicator.sublabel": "Вашата начална емисия се подготвя!",
   "relative_time.days": "{number}д",
+  "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}ч",
   "relative_time.just_now": "сега",
   "relative_time.minutes": "{number}м",
   "relative_time.seconds": "{number}с",
   "relative_time.today": "днес",
   "reply_indicator.cancel": "Отказ",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Препращане към {target}",
   "report.forward_hint": "Акаунтът е от друг сървър. Изпращане на анонимно копие на доклада и там?",
   "report.hint": "The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "status.delete": "Изтриване",
   "status.detailed_status": "Подробен изглед на разговор",
   "status.direct": "Директно съобщение към @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Вграждане",
   "status.favourite": "Предпочитани",
   "status.filtered": "Филтрирано",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Зареждане на още",
   "status.media_hidden": "Мултимедията е скрита",
   "status.mention": "Споменаване",
diff --git a/app/javascript/mastodon/locales/bn.json b/app/javascript/mastodon/locales/bn.json
index f28e8b110..ec034b002 100644
--- a/app/javascript/mastodon/locales/bn.json
+++ b/app/javascript/mastodon/locales/bn.json
@@ -47,7 +47,8 @@
   "account.unmute": "@{name} র কার্যকলাপ আবার দেখুন",
   "account.unmute_notifications": "@{name} র প্রজ্ঞাপন দেখুন",
   "account_note.placeholder": "নোট যোগ করতে ক্লিক করুন",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "একটি একক পছন্দের অনুমতি দেওয়ার জন্য পোল পরিবর্তন করুন",
   "compose_form.publish": "টুট",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "এই ছবি বা ভিডিওটি সংবেদনশীল হিসেবে চিহ্নিত করতে",
   "compose_form.sensitive.marked": "এই ছবি বা ভিডিওটি সংবেদনশীল হিসেবে চিহ্নিত করা হয়েছে",
   "compose_form.sensitive.unmarked": "এই ছবি বা ভিডিওটি সংবেদনশীল হিসেবে চিহ্নিত করা হয়নি",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "পছন্দের:",
   "notifications.column_settings.filter_bar.advanced": "সব শ্রেণীগুলো দেখানো",
   "notifications.column_settings.filter_bar.category": "সংক্ষিপ্ত ছাঁকনি অংশ",
-  "notifications.column_settings.filter_bar.show": "দেখানো",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "নতুন অনুসরণকারীরা:",
   "notifications.column_settings.follow_request": "অনুসরণের অনুরোধগুলি:",
   "notifications.column_settings.mention": "প্রজ্ঞাপনগুলো:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "কলামে দেখানো",
   "notifications.column_settings.sound": "শব্দ বাজানো",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "সব",
   "notifications.filter.boosts": "সমর্থনগুলো",
   "notifications.filter.favourites": "পছন্দের গুলো",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "আসছে…",
   "regeneration_indicator.sublabel": "আপনার বাড়ির-সময়রেখা প্রস্তূত করা হচ্ছে!",
   "relative_time.days": "{number} দিন",
+  "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} ঘন্টা",
   "relative_time.just_now": "এখন",
   "relative_time.minutes": "{number}মিঃ",
   "relative_time.seconds": "{number} সেকেন্ড",
   "relative_time.today": "আজ",
   "reply_indicator.cancel": "বাতিল করতে",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "এটা আরো পাঠান {target} তে",
   "report.forward_hint": "এই নিবন্ধনটি অন্য একটি সার্ভারে। অপ্রকাশিতনামাভাবে রিপোর্টের কপি সেখানেও কি পাঠাতে চান ?",
   "report.hint": "রিপোর্টটি আপনার সার্ভারের পরিচালকের কাছে পাঠানো হবে। রিপোর্ট পাঠানোর কারণ নিচে বিস্তারিত লিখতে পারেন:",
@@ -396,9 +407,14 @@
   "status.delete": "মুছে ফেলতে",
   "status.detailed_status": "বিস্তারিত কথোপকথনের হিসেবে দেখতে",
   "status.direct": "@{name} কে সরাসরি লেখা পাঠাতে",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "এমবেড করতে",
   "status.favourite": "পছন্দের করতে",
   "status.filtered": "ছাঁকনিদিত",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "আরো দেখুন",
   "status.media_hidden": "মিডিয়া লুকানো আছে",
   "status.mention": "@{name}কে উল্লেখ করতে",
diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json
index 06fc32095..f13b7dfd7 100644
--- a/app/javascript/mastodon/locales/br.json
+++ b/app/javascript/mastodon/locales/br.json
@@ -6,9 +6,9 @@
   "account.block": "Berzañ @{name}",
   "account.block_domain": "Berzañ pep tra eus {domain}",
   "account.blocked": "Stanket",
-  "account.browse_more_on_origin_server": "Browse more on the original profile",
+  "account.browse_more_on_origin_server": "Furchal muioc'h war ar profil kentañ",
   "account.cancel_follow_request": "Nullañ ar bedadenn heuliañ",
-  "account.direct": "Kas ur gemennadenn da @{name}",
+  "account.direct": "Kas ur gemennadenn prevez da @{name}",
   "account.disable_notifications": "Paouez d'am c'hemenn pa vez toudet gant @{name}",
   "account.domain_blocked": "Domani berzet",
   "account.edit_profile": "Aozañ ar profil",
@@ -25,7 +25,7 @@
   "account.joined": "Amañ abaoe {date}",
   "account.last_status": "Oberiantiz zivezhañ",
   "account.link_verified_on": "Gwiriet eo bet perc'hennidigezh al liamm d'an deiziad-mañ : {date}",
-  "account.locked_info": "Prennet eo ar gon-mañ. Dibab a ra ar perc'henn ar re a c'hall heuliañ anezhi pe anezhañ.",
+  "account.locked_info": "Prennet eo ar gont-mañ. Dibab a ra ar perc'henn ar re a c'hall heuliañ anezhi pe anezhañ.",
   "account.media": "Media",
   "account.mention": "Menegiñ @{name}",
   "account.moved_to": "Dilojet en·he deus {name} da :",
@@ -39,7 +39,7 @@
   "account.requested": "O c'hortoz an asant. Klikit evit nullañ ar goulenn heuliañ",
   "account.share": "Skignañ profil @{name}",
   "account.show_reblogs": "Diskouez skignadennoù @{name}",
-  "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
+  "account.statuses_counter": "{count, plural, one {{counter} Toud} other {{counter} Toud}}",
   "account.unblock": "Diverzañ @{name}",
   "account.unblock_domain": "Diverzañ an domani {domain}",
   "account.unendorse": "Paouez da lakaat war-wel war ar profil",
@@ -47,16 +47,17 @@
   "account.unmute": "Diguzhat @{name}",
   "account.unmute_notifications": "Diguzhat kemennoù a @{name}",
   "account_note.placeholder": "Klikit evit ouzhpenniñ un notenn",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Keidenn",
+  "admin.dashboard.retention.cohort": "Miz an enrolladur",
+  "admin.dashboard.retention.cohort_size": "Implijerien.erezed nevez",
   "alert.rate_limited.message": "Klaskit en-dro a-benn {retry_time, time, medium}.",
   "alert.rate_limited.title": "Feur bevennet",
   "alert.unexpected.message": "Ur fazi dic'hortozet zo degouezhet.",
   "alert.unexpected.title": "Hopala!",
   "announcement.announcement": "Kemenn",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(ket meret)",
   "autosuggest_hashtag.per_week": "{count} bep sizhun",
   "boost_modal.combo": "Ar wezh kentañ e c'halliot gwaskañ war {combo} evit tremen hebiou",
   "bundle_column_error.body": "Degouezhet ez eus bet ur fazi en ur gargañ an elfenn-mañ.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Kemmañ ar sontadeg evit aotren un dibab hepken",
   "compose_form.publish": "Toudañ",
   "compose_form.publish_loud": "{publish} !",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Merkañ ar media evel kizidik",
   "compose_form.sensitive.marked": "Merket eo ar media evel kizidik",
   "compose_form.sensitive.unmarked": "N'eo ket merket ar media evel kizidik",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "Ha sur oc'h e fell deoc'h dilemel an toud-mañ ?",
   "confirmations.delete_list.confirm": "Dilemel",
   "confirmations.delete_list.message": "Ha sur eo hoc'h eus c'hoant da zilemel ar roll-mañ da vat ?",
-  "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.discard_edit_media.confirm": "Nac'hañ",
+  "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.logout.confirm": "Digevreañ",
@@ -157,7 +159,7 @@
   "emoji_button.search_results": "Disoc'hoù an enklask",
   "emoji_button.symbols": "Arouezioù",
   "emoji_button.travel": "Lec'hioù ha Beajoù",
-  "empty_column.account_suspended": "Account suspended",
+  "empty_column.account_suspended": "Kont ehanet",
   "empty_column.account_timeline": "Toud ebet amañ!",
   "empty_column.account_unavailable": "Profil dihegerz",
   "empty_column.blocks": "N'eus ket bet berzet implijer·ez ganeoc'h c'hoazh.",
@@ -167,28 +169,28 @@
   "empty_column.domain_blocks": "N'eus domani kuzh ebet c'hoazh.",
   "empty_column.favourited_statuses": "N'ho peus toud muiañ-karet ebet c'hoazh. Pa vo lakaet unan ganeoc'h e vo diskouezet amañ.",
   "empty_column.favourites": "Den ebet n'eus lakaet an toud-mañ en e reoù muiañ-karet. Pa vo graet gant unan bennak e vo diskouezet amañ.",
-  "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": "Seblant a ra ne vez ket genelet damvenegoù evidoc'h. Gallout a rit implijout un enklask evit klask tud hag a vefe anavezet ganeoc'h pe ergerzhout gerioù-klik diouzh ar c'hiz.",
   "empty_column.follow_requests": "N'ho peus goulenn heuliañ ebet c'hoazh. Pa resevot reoù e vo diskouezet amañ.",
   "empty_column.hashtag": "N'eus netra er ger-klik-mañ c'hoazh.",
   "empty_column.home": "Goullo eo ho red-amzer degemer! Kit da weladenniñ {public} pe implijit ar c'hlask evit kregiñ ganti ha kejañ gant implijer·ien·ezed all.",
-  "empty_column.home.suggestions": "See some suggestions",
+  "empty_column.home.suggestions": "Gwellout damvenegoù",
   "empty_column.list": "Goullo eo ar roll-mañ evit ar poent. Pa vo toudet gant e izili e vo diskouezet amañ.",
   "empty_column.lists": "N'ho peus roll ebet c'hoazh. Pa vo krouet unan ganeoc'h e vo diskouezet amañ.",
   "empty_column.mutes": "N'ho peus kuzhet implijer ebet c'hoazh.",
   "empty_column.notifications": "N'ho peus kemenn ebet c'hoazh. Grit gant implijer·ezed·ien all evit loc'hañ ar gomz.",
   "empty_column.public": "N'eus netra amañ! Skrivit un dra bennak foran pe heuilhit implijer·ien·ezed eus dafariadoù all evit leuniañ",
   "error.unexpected_crash.explanation": "Abalamour d'ur beug en hor c'hod pe d'ur gudenn geverlec'hded n'hallomp ket skrammañ ar bajenn-mañ en un doare dereat.",
-  "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.explanation_addons": "Ar bajenn-mañ ne c'hell ket bezañ skrammet mat. Ar fazi-se a zo kaoz d'un astenn pe d'un ostilh troidigezh emgefreek war ho merdeer.",
   "error.unexpected_crash.next_steps": "Klaskit azbevaat ar bajenn. Ma n'a ket en-dro e c'hallit klask ober gant Mastodon dre ur merdeer disheñvel pe dre an arload genidik.",
-  "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": "Klaskit azbevaat ar bajenn. Ma n'ez a ket en-dro e c'hallit klask ober gant Mastodon dre ur merdeer disheñvel pe dre an arload genidik.",
   "errors.unexpected_crash.copy_stacktrace": "Eilañ ar roudoù diveugañ er golver",
   "errors.unexpected_crash.report_issue": "Danevellañ ur fazi",
   "follow_recommendations.done": "Graet",
-  "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_recommendations.heading": "Heuliit tud e plijfe deoc'h lenn toudoù! Setu un tamm alioù.",
+  "follow_recommendations.lead": "Toudoù eus tud heuliet ganeoc'h a zeuio war wel en un urzh amzeroniezhel war ho red degemer. N'ho peus ket aon ober fazioù, gallout a rit paouez heuliañ tud ken aes n'eus forzh pegoulz!",
   "follow_request.authorize": "Aotren",
   "follow_request.reject": "Nac'hañ",
-  "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.",
+  "follow_requests.unlocked_explanation": "Daoust ma n'eo ket ho kont prennet, skipailh {domain} a soñj e fellfe deoc'h gwiriekaat pedadennoù heuliañ deus ar c'hontoù-se diwar-zorn.",
   "generic.saved": "Enrollet",
   "getting_started.developers": "Diorroerien",
   "getting_started.directory": "Roll ar profiloù",
@@ -215,43 +217,43 @@
   "intervals.full.days": "{number, plural, one {# devezh} other{# a zevezhioù}}",
   "intervals.full.hours": "{number, plural, one {# eurvezh} other{# eurvezh}}",
   "intervals.full.minutes": "{number, plural, one {# munut} other{# a vunutoù}}",
-  "keyboard_shortcuts.back": "to navigate back",
-  "keyboard_shortcuts.blocked": "to open blocked users list",
+  "keyboard_shortcuts.back": "Distreiñ",
+  "keyboard_shortcuts.blocked": "Digeriñ roll an implijer.ezed.rien stanket",
   "keyboard_shortcuts.boost": "da skignañ",
-  "keyboard_shortcuts.column": "to focus a status in one of the columns",
-  "keyboard_shortcuts.compose": "to focus the compose textarea",
+  "keyboard_shortcuts.column": "Fokus ar bann",
+  "keyboard_shortcuts.compose": "Fokus an takad testenn",
   "keyboard_shortcuts.description": "Deskrivadur",
-  "keyboard_shortcuts.direct": "to open direct messages column",
-  "keyboard_shortcuts.down": "to move down in the list",
+  "keyboard_shortcuts.direct": "Digeriñ bann ar c'hemennadennoù prevez",
+  "keyboard_shortcuts.down": "Diskennañ er roll",
   "keyboard_shortcuts.enter": "evit digeriñ un toud",
-  "keyboard_shortcuts.favourite": "to 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.favourite": "Lakaat an toud evel muiañ-karet",
+  "keyboard_shortcuts.favourites": "Digeriñ roll an toudoù muiañ-karet",
+  "keyboard_shortcuts.federated": "Digeriñ ar red-amzer kevreet",
+  "keyboard_shortcuts.heading": "Berradennoù klavier",
+  "keyboard_shortcuts.home": "Digeriñ ho red-amzer degemer",
   "keyboard_shortcuts.hotkey": "Berradur",
-  "keyboard_shortcuts.legend": "to display this legend",
-  "keyboard_shortcuts.local": "to open local timeline",
-  "keyboard_shortcuts.mention": "to mention author",
-  "keyboard_shortcuts.muted": "to open muted users list",
-  "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.profile": "to open author's profile",
+  "keyboard_shortcuts.legend": "Skrammañ ar skrid-se",
+  "keyboard_shortcuts.local": "Digeriñ red-amzer lec'hel",
+  "keyboard_shortcuts.mention": "Menegiñ an aozer.ez",
+  "keyboard_shortcuts.muted": "Digeriñ roll an implijer.ezed.ien kuzhet",
+  "keyboard_shortcuts.my_profile": "Digeriñ ho profil",
+  "keyboard_shortcuts.notifications": "Digeriñ bann kemennoù",
+  "keyboard_shortcuts.open_media": "Digeriñ ar media",
+  "keyboard_shortcuts.pinned": "Digeriñ roll an toudoù spilhennet",
+  "keyboard_shortcuts.profile": "Digeriñ profil an aozer.ez",
   "keyboard_shortcuts.reply": "da respont",
-  "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.requests": "Digeriñ roll goulennoù heuliañ",
+  "keyboard_shortcuts.search": "Fokus barenn klask",
+  "keyboard_shortcuts.spoilers": "da guzhat/ziguzhat tachenn CW",
+  "keyboard_shortcuts.start": "Digeriñ bann \"Kregiñ\"",
+  "keyboard_shortcuts.toggle_hidden": "da guzhat/ziguzhat an desten a-dreñv CW",
   "keyboard_shortcuts.toggle_sensitivity": "da guzhat/ziguzhat ur media",
   "keyboard_shortcuts.toot": "da gregiñ gant un toud nevez-flamm",
-  "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
-  "keyboard_shortcuts.up": "to move up in the list",
+  "keyboard_shortcuts.unfocus": "Difokus an dachenn testenn/klask",
+  "keyboard_shortcuts.up": "Pignat er roll",
   "lightbox.close": "Serriñ",
-  "lightbox.compress": "Compress image view box",
-  "lightbox.expand": "Expand image view box",
+  "lightbox.compress": "Bihanaat boest hewel ar skeudenn",
+  "lightbox.expand": "Ledanaat boest hewel ar skeudenn",
   "lightbox.next": "Da-heul",
   "lightbox.previous": "A-raok",
   "lists.account.add": "Ouzhpennañ d'al listenn",
@@ -261,20 +263,20 @@
   "lists.edit.submit": "Cheñch an titl",
   "lists.new.create": "Ouzhpennañ ul listenn",
   "lists.new.title_placeholder": "Titl nevez al listenn",
-  "lists.replies_policy.followed": "Any followed user",
+  "lists.replies_policy.followed": "Pep implijer.ez heuliet",
   "lists.replies_policy.list": "Izili ar roll",
   "lists.replies_policy.none": "Den ebet",
   "lists.replies_policy.title": "Diskouez ar respontoù:",
   "lists.search": "Klask e-touez tud heuliet ganeoc'h",
   "lists.subheading": "Ho listennoù",
-  "load_pending": "{count, plural, one {# new item} other {# new items}}",
+  "load_pending": "{count, plural, one {# dra nevez} other {# dra nevez}}",
   "loading_indicator.label": "O kargañ...",
-  "media_gallery.toggle_visible": "Toggle visibility",
+  "media_gallery.toggle_visible": "{number, plural, one {Kuzhat ar skeudenn} other {Kuzhat ar skeudenn}}",
   "missing_indicator.label": "Digavet",
-  "missing_indicator.sublabel": "This resource could not be found",
+  "missing_indicator.sublabel": "An danvez-se ne vez ket kavet",
   "mute_modal.duration": "Padelezh",
   "mute_modal.hide_notifications": "Kuzhat kemenadennoù eus an implijer-se ?",
-  "mute_modal.indefinite": "Indefinite",
+  "mute_modal.indefinite": "Amstrizh",
   "navigation_bar.apps": "Arloadoù pellgomz",
   "navigation_bar.blocks": "Implijer·ezed·ien berzet",
   "navigation_bar.bookmarks": "Sinedoù",
@@ -287,7 +289,7 @@
   "navigation_bar.favourites": "Ar re vuiañ-karet",
   "navigation_bar.filters": "Gerioù kuzhet",
   "navigation_bar.follow_requests": "Pedadoù heuliañ",
-  "navigation_bar.follows_and_followers": "Follows and followers",
+  "navigation_bar.follows_and_followers": "Heuliadennoù ha heulier·ezed·ien",
   "navigation_bar.info": "Diwar-benn an dafariad-mañ",
   "navigation_bar.keyboard_shortcuts": "Berradurioù",
   "navigation_bar.lists": "Listennoù",
@@ -298,55 +300,56 @@
   "navigation_bar.preferences": "Gwellvezioù",
   "navigation_bar.public_timeline": "Red-amzer kevreet",
   "navigation_bar.security": "Diogelroez",
-  "notification.favourite": "{name} favourited your status",
+  "notification.favourite": "{name} en/he deus lakaet ho toud en e/he muiañ-karet",
   "notification.follow": "heuliañ a ra {name} ac'hanoc'h",
-  "notification.follow_request": "{name} has requested to follow you",
+  "notification.follow_request": "{name} en/he deus goulennet da heuliañ ac'hanoc'h",
   "notification.mention": "{name} en/he deus meneget ac'hanoc'h",
   "notification.own_poll": "Echu eo ho sontadeg",
   "notification.poll": "Ur sontadeg ho deus mouezhet warnañ a zo echuet",
-  "notification.reblog": "{name} boosted your status",
-  "notification.status": "{name} just posted",
+  "notification.reblog": "{name} skignet ho toud",
+  "notification.status": "{name} en/he deus toudet",
   "notifications.clear": "Skarzhañ ar c'hemennoù",
-  "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
+  "notifications.clear_confirmation": "Ha sur oc'h e fell deoc'h skarzhañ ho kemennoù penn-da-benn?",
   "notifications.column_settings.alert": "Kemennoù war ar burev",
   "notifications.column_settings.favourite": "Ar re vuiañ-karet:",
   "notifications.column_settings.filter_bar.advanced": "Skrammañ an-holl rummadoù",
   "notifications.column_settings.filter_bar.category": "Barrenn siloù prim",
-  "notifications.column_settings.filter_bar.show": "Diskouez",
+  "notifications.column_settings.filter_bar.show_bar": "Diskouezh barrenn siloù",
   "notifications.column_settings.follow": "Heulierien nevez:",
-  "notifications.column_settings.follow_request": "New follow requests:",
+  "notifications.column_settings.follow_request": "Pedadoù heuliañ nevez :",
   "notifications.column_settings.mention": "Menegoù:",
   "notifications.column_settings.poll": "Disoc'hoù ar sontadeg:",
-  "notifications.column_settings.push": "Push notifications",
+  "notifications.column_settings.push": "Kemennoù push",
   "notifications.column_settings.reblog": "Skignadennoù:",
   "notifications.column_settings.show": "Diskouez er bann",
   "notifications.column_settings.sound": "Seniñ",
-  "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.status": "Toudoù nevez:",
+  "notifications.column_settings.unread_notifications.category": "Kemennoù n'int ket lennet",
+  "notifications.column_settings.unread_notifications.highlight": "Usskediñ kemennoù nevez",
   "notifications.filter.all": "Pep tra",
   "notifications.filter.boosts": "Skignadennoù",
   "notifications.filter.favourites": "Muiañ-karet",
   "notifications.filter.follows": "Heuliañ",
   "notifications.filter.mentions": "Menegoù",
   "notifications.filter.polls": "Disoc'hoù ar sontadegoù",
-  "notifications.filter.statuses": "Updates from people you follow",
-  "notifications.grant_permission": "Grant permission.",
+  "notifications.filter.statuses": "Hizivadurioù eus tud heuliet ganeoc'h",
+  "notifications.grant_permission": "Reiñ aotre.",
   "notifications.group": "{count} a gemennoù",
-  "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",
+  "notifications.mark_as_read": "Merkañ an holl kemennoù evel bezañ lennet",
+  "notifications.permission_denied": "Kemennoù war ar burev n'int ket hegerz rak pedadenn aotren ar merdeer a zo bet nullet araok",
+  "notifications.permission_denied_alert": "Kemennoù wa ar burev na c'hellont ket bezañ lezelet, rak aotre ar merdeer a zo bet nac'het a-raok",
+  "notifications.permission_required": "Kemennoù war ar burev n'int ket hegerz abalamour d'an aotre rekis n'eo ket bet roet.",
+  "notifications_permission_banner.enable": "Lezel kemennoù war ar burev",
+  "notifications_permission_banner.how_to_control": "Evit reseviñ kemennoù pa ne vez ket digoret Mastodon, lezelit kemennoù war ar burev. Gallout a rit kontrollañ peseurt eskemmoù a c'henel kemennoù war ar burev gant ar {icon} nozelenn a-us kentre ma'z int lezelet.",
+  "notifications_permission_banner.title": "Na vankit netra morse",
+  "picture_in_picture.restore": "Adlakaat",
   "poll.closed": "Serret",
   "poll.refresh": "Azbevaat",
-  "poll.total_people": "{count, plural, one {# person} other {# people}}",
-  "poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
+  "poll.total_people": "{count, plural, one {# den} other {# a zen}}",
+  "poll.total_votes": "{count, plural, one {# votadenn} other {# votadenn}}",
   "poll.vote": "Mouezhiañ",
   "poll.voted": "Mouezhiet ho peus evit ar respont-mañ",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural,one {#votadenn} other {# votadenn}}",
   "poll_button.add_poll": "Ouzhpennañ ur sontadeg",
   "poll_button.remove_poll": "Dilemel ar sontadeg",
   "privacy.change": "Kemmañ gwelidigezh ar statud",
@@ -362,43 +365,56 @@
   "regeneration_indicator.label": "O kargañ…",
   "regeneration_indicator.sublabel": "War brientiñ emañ ho red degemer!",
   "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}e",
   "relative_time.just_now": "bremañ",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}eil",
   "relative_time.today": "hiziv",
   "reply_indicator.cancel": "Nullañ",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Treuzkas da: {target}",
-  "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
-  "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
+  "report.forward_hint": "War ur servijer all emañ ar c'hont-se. Kas dezhañ un adskrid disanv eus an danevell ivez?",
+  "report.hint": "Ar danevell a vo bet kaset da evezhidi ho servijer. Gallout a rit displegañ perak emaoc'h oc'h aroueziañ ar c'hont a-is:",
   "report.placeholder": "Askelennoù ouzhpenn",
   "report.submit": "Kinnig",
-  "report.target": "Report {target}",
+  "report.target": "O tisklêriañ {target}",
   "search.placeholder": "Klask",
-  "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.search_format": "Framm klask araokaet",
+  "search_popout.tips.full_text": "Testenn simpl a adkas toudoù skrivet ganeoc'h, merket ganeoc'h evel miuañ-karet, toudoù skignet, pe e-lec'h oc'h bet meneget, met ivez anvioù skrammañ, anvioù implijer ha gêrioù-klik hag a glot.",
   "search_popout.tips.hashtag": "ger-klik",
-  "search_popout.tips.status": "statud",
-  "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
+  "search_popout.tips.status": "toud",
+  "search_popout.tips.text": "Testenn simpl a adkas anvioù skrammañ, anvioù implijer ha gêrioù-klik hag a glot",
   "search_popout.tips.user": "implijer·ez",
   "search_results.accounts": "Tud",
   "search_results.hashtags": "Gerioù-klik",
   "search_results.statuses": "a doudoù",
-  "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
-  "search_results.total": "{count, number} {count, plural, one {result} other {results}}",
-  "status.admin_account": "Open moderation interface for @{name}",
-  "status.admin_status": "Open this status in the moderation interface",
+  "search_results.statuses_fts_disabled": "Klask toudoù dre oc'h endalc'h n'eo ket aotreet war ar servijer-mañ.",
+  "search_results.total": "{count, number} {count, plural, one {disoc'h} other {a zisoc'h}}",
+  "status.admin_account": "Digeriñ etrefas evezherezh evit @{name}",
+  "status.admin_status": "Digeriñ an toud e-barzh an etrefas evezherezh",
   "status.block": "Berzañ @{name}",
   "status.bookmark": "Ouzhpennañ d'ar sinedoù",
-  "status.cancel_reblog_private": "Unboost",
-  "status.cannot_reblog": "This post cannot be boosted",
+  "status.cancel_reblog_private": "Nac'hañ ar skignadenn",
+  "status.cannot_reblog": "An toud-se ne c'hall ket bezañ skignet",
   "status.copy": "Eilañ liamm an toud",
   "status.delete": "Dilemel",
-  "status.detailed_status": "Detailed conversation view",
-  "status.direct": "Kas ur c'hemennad da @{name}",
+  "status.detailed_status": "Gwel kaozeadenn munudek",
+  "status.direct": "Kas ur c'hemennad prevez da @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Enframmañ",
   "status.favourite": "Muiañ-karet",
   "status.filtered": "Silet",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Kargañ muioc'h",
   "status.media_hidden": "Media kuzhet",
   "status.mention": "Menegiñ @{name}",
@@ -410,75 +426,75 @@
   "status.pinned": "Toud spilhennet",
   "status.read_more": "Lenn muioc'h",
   "status.reblog": "Skignañ",
-  "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.reblog_private": "Skignañ gant ar weledenn gentañ",
+  "status.reblogged_by": "{name} en/he deus skignet",
+  "status.reblogs.empty": "Den ebet n'eus skignet an toud-mañ c'hoazh. Pa vo graet gant unan bennak e vo diskouezet amañ.",
+  "status.redraft": "Diverkañ ha skrivañ en-dro",
   "status.remove_bookmark": "Dilemel ar sined",
   "status.reply": "Respont",
   "status.replyAll": "Respont d'ar gaozeadenn",
   "status.report": "Disklêriañ @{name}",
-  "status.sensitive_warning": "Sensitive content",
+  "status.sensitive_warning": "Dalc'had kizidik",
   "status.share": "Rannañ",
   "status.show_less": "Diskouez nebeutoc'h",
-  "status.show_less_all": "Show less for all",
+  "status.show_less_all": "Diskouez nebeutoc'h evit an holl",
   "status.show_more": "Diskouez muioc'h",
   "status.show_more_all": "Diskouez miuoc'h evit an holl",
   "status.show_thread": "Diskouez ar gaozeadenn",
   "status.uncached_media_warning": "Dihegerz",
   "status.unmute_conversation": "Diguzhat ar gaozeadenn",
   "status.unpin": "Dispilhennañ eus ar profil",
-  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.dismiss": "Dilezel damvenegoù",
   "suggestions.header": "Marteze e vefec'h dedenet gant…",
   "tabs_bar.federated_timeline": "Kevredet",
   "tabs_bar.home": "Degemer",
   "tabs_bar.local_timeline": "Lec'hel",
   "tabs_bar.notifications": "Kemennoù",
   "tabs_bar.search": "Klask",
-  "time_remaining.days": "{number, plural,one {# devezh} other {# a zevezhioù}} a chom",
+  "time_remaining.days": "{number, plural,one {# devezh} other {# a zevezh}} a chom",
   "time_remaining.hours": "{number, plural, one {# eurvezh} other{# eurvezh}} a chom",
-  "time_remaining.minutes": "{number, plural, one {# munut} other{# a vunutoù}} a chom",
-  "time_remaining.moments": "Moments remaining",
+  "time_remaining.minutes": "{number, plural, one {# munut} other{# a vunut}} a chom",
+  "time_remaining.moments": "Pennadoù a-zilerc'h",
   "time_remaining.seconds": "{number, plural, one {# eilenn} other{# eilenn}} a chom",
-  "timeline_hint.remote_resource_not_displayed": "{resource} eus servijerien all n'int ket diskouezet.",
+  "timeline_hint.remote_resource_not_displayed": "{resource} eus servijerien all n'int ket skrammet.",
   "timeline_hint.resources.followers": "Heulier·ezed·ien",
   "timeline_hint.resources.follows": "Heuliañ",
   "timeline_hint.resources.statuses": "Toudoù koshoc'h",
   "trends.counter_by_accounts": "{count, plural, one {{counter} den} other {{counter} a zud}} a zo o komz",
   "trends.trending_now": "Luskad ar mare",
   "ui.beforeunload": "Kollet e vo ho prell ma kuitit Mastodon.",
-  "units.short.billion": "{count}B",
-  "units.short.million": "{count}M",
-  "units.short.thousand": "{count}K",
-  "upload_area.title": "Drag & drop to upload",
+  "units.short.billion": "{count}miliard",
+  "units.short.million": "{count}milion",
+  "units.short.thousand": "{count}mil",
+  "upload_area.title": "Tennañ ha leuskel evit pellgargañ",
   "upload_button.label": "Ouzhpennañ ur media",
-  "upload_error.limit": "File upload limit exceeded.",
-  "upload_error.poll": "File upload not allowed with polls.",
+  "upload_error.limit": "Bevenn evit pellgargañ restroù a zo distremenet.",
+  "upload_error.poll": "Pellgargañ restroù n'eo ket aotreet gant sontadegoù.",
   "upload_form.audio_description": "Diskrivañ evit tud a zo kollet o c'hlev",
   "upload_form.description": "Diskrivañ evit tud a zo kollet o gweled",
   "upload_form.edit": "Aozañ",
   "upload_form.thumbnail": "Kemmañ ar velvenn",
   "upload_form.undo": "Dilemel",
   "upload_form.video_description": "Diskrivañ evit tud a zo kollet o gweled pe o c'hlev",
-  "upload_modal.analyzing_picture": "Analyzing picture…",
+  "upload_modal.analyzing_picture": "O tielfennañ ar skeudenn…",
   "upload_modal.apply": "Arloañ",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Oc'h arloañ…",
   "upload_modal.choose_image": "Dibab ur skeudenn",
-  "upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
+  "upload_modal.description_placeholder": "Ul louarn gell mibin a zo o lammat a-zioc'h ar c'hi lezirek",
   "upload_modal.detect_text": "Dinoiñ testenn diouzh ar skeudenn",
   "upload_modal.edit_media": "Embann ar 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": "Preparing OCR…",
+  "upload_modal.hint": "Klikit pe tennit ar c'helc'h war ar rakwel evit dibab al lerc'h kengreizel a vo gwelet atav war an holl melvennoù.",
+  "upload_modal.preparing_ocr": "Oc'h aozañ OCR…",
   "upload_modal.preview_label": "Rakwel ({ratio})",
   "upload_progress.label": "O pellgargañ...",
   "video.close": "Serriñ ar video",
   "video.download": "Pellgargañ ar restr",
   "video.exit_fullscreen": "Kuitaat ar mod skramm leun",
-  "video.expand": "Expand video",
+  "video.expand": "Ledanaat ar video",
   "video.fullscreen": "Skramm a-bezh",
   "video.hide": "Kuzhat ar video",
   "video.mute": "Paouez gant ar son",
-  "video.pause": "Pause",
+  "video.pause": "Paouez",
   "video.play": "Lenn",
   "video.unmute": "Lakaat ar son en-dro"
 }
diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json
index 9434dbcc3..0ab88e2cd 100644
--- a/app/javascript/mastodon/locales/ca.json
+++ b/app/javascript/mastodon/locales/ca.json
@@ -47,16 +47,17 @@
   "account.unmute": "Treure silenci de @{name}",
   "account.unmute_notifications": "Activar notificacions de @{name}",
   "account_note.placeholder": "Fes clic per afegir una nota",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Mitjana",
+  "admin.dashboard.retention.cohort": "Registres mes",
+  "admin.dashboard.retention.cohort_size": "Nous usuaris",
   "alert.rate_limited.message": "Si us plau torna-ho a provar després de {retry_time, time, medium}.",
   "alert.rate_limited.title": "Límit de freqüència",
   "alert.unexpected.message": "S'ha produït un error inesperat.",
   "alert.unexpected.title": "Vaja!",
   "announcement.announcement": "Anunci",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(sense processar)",
   "autosuggest_hashtag.per_week": "{count} per setmana",
   "boost_modal.combo": "Pots prémer {combo} per saltar-te això el proper cop",
   "bundle_column_error.body": "S'ha produït un error en carregar aquest component.",
@@ -96,14 +97,15 @@
   "compose_form.lock_disclaimer": "El teu compte no està bloquejat {locked}. Tothom pot seguir-te i veure els teus missatges a seguidors.",
   "compose_form.lock_disclaimer.lock": "bloquejat",
   "compose_form.placeholder": "En què penses?",
-  "compose_form.poll.add_option": "Afegeix una opció",
+  "compose_form.poll.add_option": "Afegir una opció",
   "compose_form.poll.duration": "Durada de l'enquesta",
   "compose_form.poll.option_placeholder": "Opció {number}",
   "compose_form.poll.remove_option": "Elimina aquesta opció",
   "compose_form.poll.switch_to_multiple": "Canvia l’enquesta per a permetre diverses opcions",
   "compose_form.poll.switch_to_single": "Canvia l’enquesta per a permetre una única opció",
-  "compose_form.publish": "Tut",
+  "compose_form.publish": "Publicar",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Marcar mèdia com a sensible",
   "compose_form.sensitive.marked": "Mèdia marcat com a sensible",
   "compose_form.sensitive.unmarked": "Mèdia no està marcat com a sensible",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "Estàs segur que vols suprimir aquest tut?",
   "confirmations.delete_list.confirm": "Suprimeix",
   "confirmations.delete_list.message": "Estàs segur que vols suprimir permanentment aquesta llista?",
-  "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.discard_edit_media.confirm": "Descarta",
+  "confirmations.discard_edit_media.message": "Tens canvis no desats de la descripciò de mèdia o previsualització, els vols descartar?",
   "confirmations.domain_block.confirm": "Amaga tot el domini",
   "confirmations.domain_block.message": "Estàs segur, realment segur que vols bloquejar totalment {domain}? En la majoria dels casos bloquejar o silenciar uns pocs objectius és suficient i preferible. No veuràs contingut d’aquest domini en cap de les línies de temps ni en les notificacions. Els teus seguidors d’aquest domini seran eliminats.",
   "confirmations.logout.confirm": "Tancar sessió",
@@ -244,7 +246,7 @@
   "keyboard_shortcuts.search": "per a centrar la cerca",
   "keyboard_shortcuts.spoilers": "mostrar/amagar el camp CW",
   "keyboard_shortcuts.start": "per a obrir la columna \"Començar\"",
-  "keyboard_shortcuts.toggle_hidden": "per a mostrar o amagar text sota CW",
+  "keyboard_shortcuts.toggle_hidden": "Mostrar/ocultar el text marcat com a sensible",
   "keyboard_shortcuts.toggle_sensitivity": "per a mostrar o amagar contingut multimèdia",
   "keyboard_shortcuts.toot": "per a començar un tut nou de trinca",
   "keyboard_shortcuts.unfocus": "descentrar l'àrea de composició de text/cerca",
@@ -281,14 +283,14 @@
   "navigation_bar.community_timeline": "Línia de temps Local",
   "navigation_bar.compose": "Redacta un nou tut",
   "navigation_bar.direct": "Missatges directes",
-  "navigation_bar.discover": "Descobreix",
+  "navigation_bar.discover": "Descobrir",
   "navigation_bar.domain_blocks": "Dominis ocults",
   "navigation_bar.edit_profile": "Editar perfil",
   "navigation_bar.favourites": "Preferits",
   "navigation_bar.filters": "Paraules silenciades",
   "navigation_bar.follow_requests": "Sol·licituds de seguiment",
   "navigation_bar.follows_and_followers": "Seguits i seguidors",
-  "navigation_bar.info": "Sobre aquest servidor",
+  "navigation_bar.info": "Quant a aquest servidor",
   "navigation_bar.keyboard_shortcuts": "Dreceres de teclat",
   "navigation_bar.lists": "Llistes",
   "navigation_bar.logout": "Tancar sessió",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Preferits:",
   "notifications.column_settings.filter_bar.advanced": "Mostra totes les categories",
   "notifications.column_settings.filter_bar.category": "Barra ràpida de filtres",
-  "notifications.column_settings.filter_bar.show": "Mostra",
+  "notifications.column_settings.filter_bar.show_bar": "Mostra la barra de filtres",
   "notifications.column_settings.follow": "Nous seguidors:",
   "notifications.column_settings.follow_request": "Nova sol·licitud de seguiment:",
   "notifications.column_settings.mention": "Mencions:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Mostra en la columna",
   "notifications.column_settings.sound": "Reproduir so",
   "notifications.column_settings.status": "Nous tuts:",
-  "notifications.column_settings.unread_markers.category": "Marcadors de notificacions no llegides",
+  "notifications.column_settings.unread_notifications.category": "Notificacions no llegides",
+  "notifications.column_settings.unread_notifications.highlight": "Destaca notificacions no llegides",
   "notifications.filter.all": "Tots",
   "notifications.filter.boosts": "Impulsos",
   "notifications.filter.favourites": "Favorits",
@@ -346,10 +349,10 @@
   "poll.total_votes": "{count, plural, one {# vot} other {# vots}}",
   "poll.vote": "Vota",
   "poll.voted": "Vas votar per aquesta resposta",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
-  "poll_button.add_poll": "Afegeix una enquesta",
+  "poll.votes": "{votes, plural, one {# vot} other {# vots}}",
+  "poll_button.add_poll": "Afegir una enquesta",
   "poll_button.remove_poll": "Elimina l'enquesta",
-  "privacy.change": "Ajusta l'estat de privacitat",
+  "privacy.change": "Ajustar l'estat de privacitat",
   "privacy.direct.long": "Publicar només per als usuaris esmentats",
   "privacy.direct.short": "Directe",
   "privacy.private.long": "Publicar només a seguidors",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Carregant…",
   "regeneration_indicator.sublabel": "S'està preparant la línia de temps Inici!",
   "relative_time.days": "fa {number} dies",
+  "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": "fa {number} hores",
   "relative_time.just_now": "ara",
   "relative_time.minutes": "fa {number} minuts",
   "relative_time.seconds": "fa {number} segons",
   "relative_time.today": "avui",
   "reply_indicator.cancel": "Cancel·lar",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Reenvia a {target}",
   "report.forward_hint": "Aquest compte és d'un altre servidor. Enviar-hi també una copia anònima del informe?",
   "report.hint": "El informe s'enviarà als moderadors del teu servidor. Pots explicar perquè vols informar d'aquest compte aquí:",
@@ -396,9 +407,14 @@
   "status.delete": "Esborrar",
   "status.detailed_status": "Visualització detallada de la conversa",
   "status.direct": "Missatge directe @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Incrustar",
   "status.favourite": "Favorit",
   "status.filtered": "Filtrat",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Carrega més",
   "status.media_hidden": "Multimèdia amagat",
   "status.mention": "Esmentar @{name}",
@@ -430,7 +446,7 @@
   "status.unpin": "Deslliga del perfil",
   "suggestions.dismiss": "Descartar suggeriment",
   "suggestions.header": "És possible que estiguis interessat en…",
-  "tabs_bar.federated_timeline": "Federada",
+  "tabs_bar.federated_timeline": "Federat",
   "tabs_bar.home": "Inici",
   "tabs_bar.local_timeline": "Local",
   "tabs_bar.notifications": "Notificacions",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Descriu per a les persones amb pèrdua auditiva o deficiència visual",
   "upload_modal.analyzing_picture": "Analitzant imatge…",
   "upload_modal.apply": "Aplica",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Aplicant…",
   "upload_modal.choose_image": "Tria imatge",
   "upload_modal.description_placeholder": "Jove xef, porti whisky amb quinze glaçons d’hidrogen, coi!",
   "upload_modal.detect_text": "Detecta el text de l'imatge",
diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json
index b8ac9281d..d3fade546 100644
--- a/app/javascript/mastodon/locales/co.json
+++ b/app/javascript/mastodon/locales/co.json
@@ -47,7 +47,8 @@
   "account.unmute": "Ùn piattà più @{name}",
   "account.unmute_notifications": "Ùn piattà più nutificazione da @{name}",
   "account_note.placeholder": "Senza cummentariu",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -56,7 +57,7 @@
   "alert.unexpected.message": "Un prublemu inaspettatu hè accadutu.",
   "alert.unexpected.title": "Uups!",
   "announcement.announcement": "Annunziu",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(micca trattata)",
   "autosuggest_hashtag.per_week": "{count} per settimana",
   "boost_modal.combo": "Pudete appughjà nant'à {combo} per saltà quessa a prussima volta",
   "bundle_column_error.body": "C'hè statu un prublemu caricandu st'elementu.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Cambià u scandagliu per ùn accittà ch'una scelta",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Indicà u media cum'è sensibile} other {Indicà i media cum'è sensibili}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media indicatu cum'è sensibile} other {Media indicati cum'è sensibili}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media micca indicatu cum'è sensibile} other {Media micca indicati cum'è sensibili}}",
@@ -118,7 +120,7 @@
   "confirmations.delete.message": "Site sicuru·a che vulete sguassà stu statutu?",
   "confirmations.delete_list.confirm": "Toglie",
   "confirmations.delete_list.message": "Site sicuru·a che vulete toglie sta lista?",
-  "confirmations.discard_edit_media.confirm": "Discard",
+  "confirmations.discard_edit_media.confirm": "Scartà",
   "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.",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Favuriti:",
   "notifications.column_settings.filter_bar.advanced": "Affissà tutte e categurie",
   "notifications.column_settings.filter_bar.category": "Barra di ricerca pronta",
-  "notifications.column_settings.filter_bar.show": "Mustrà",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "Abbunati novi:",
   "notifications.column_settings.follow_request": "Nove dumande d'abbunamentu:",
   "notifications.column_settings.mention": "Minzione:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Mustrà indè a colonna",
   "notifications.column_settings.sound": "Sunà",
   "notifications.column_settings.status": "Statuti novi:",
-  "notifications.column_settings.unread_markers.category": "Marcatori di nutificazione micca lette",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "Tuttu",
   "notifications.filter.boosts": "Spartere",
   "notifications.filter.favourites": "Favuriti",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# votu} other {# voti}}",
   "poll.vote": "Vutà",
   "poll.voted": "Avete vutatu per sta risposta",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# votu} other {# voti}}",
   "poll_button.add_poll": "Aghjunghje",
   "poll_button.remove_poll": "Toglie u scandagliu",
   "privacy.change": "Mudificà a cunfidenzialità di u statutu",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Caricamentu…",
   "regeneration_indicator.sublabel": "Priparazione di a vostra pagina d'accolta!",
   "relative_time.days": "{number}ghj",
+  "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}o",
   "relative_time.just_now": "avà",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "oghji",
   "reply_indicator.cancel": "Annullà",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Trasferisce à {target}",
   "report.forward_hint": "U contu hè nant'à un'altru servore. Vulete ancu mandà una copia anonima di u signalamentu quallà?",
   "report.hint": "U signalamentu sarà mandatu à i muderatori di u servore. Pudete spiegà perchè avete palisatu stu contu quì sottu:",
@@ -396,9 +407,14 @@
   "status.delete": "Toglie",
   "status.detailed_status": "Vista in ditagliu di a cunversazione",
   "status.direct": "Mandà un missaghju @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Integrà",
   "status.favourite": "Aghjunghje à i favuriti",
   "status.filtered": "Filtratu",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Vede di più",
   "status.media_hidden": "Media piattata",
   "status.mention": "Mintuvà @{name}",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Discrizzione per i ciochi o cechi",
   "upload_modal.analyzing_picture": "Analisi di u ritrattu…",
   "upload_modal.apply": "Affettà",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Appiegazione…",
   "upload_modal.choose_image": "Cambià ritrattu",
   "upload_modal.description_placeholder": "Chì tempi brevi ziu, quandu solfeghji",
   "upload_modal.detect_text": "Ditettà testu da u ritrattu",
diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json
index 636fbd4ea..2b31d32c3 100644
--- a/app/javascript/mastodon/locales/cs.json
+++ b/app/javascript/mastodon/locales/cs.json
@@ -12,7 +12,7 @@
   "account.disable_notifications": "Zrušit upozorňování na příspěvky @{name}",
   "account.domain_blocked": "Doména blokována",
   "account.edit_profile": "Upravit profil",
-  "account.enable_notifications": "Oznámit mě na příspěvky @{name}",
+  "account.enable_notifications": "Oznamovat mi příspěvky @{name}",
   "account.endorse": "Zvýraznit na profilu",
   "account.follow": "Sledovat",
   "account.followers": "Sledující",
@@ -47,16 +47,17 @@
   "account.unmute": "Zrušit skrytí @{name}",
   "account.unmute_notifications": "Zrušit skrytí oznámení od @{name}",
   "account_note.placeholder": "Klikněte pro přidání poznámky",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Průměr",
+  "admin.dashboard.retention.cohort": "Měsíc registrace",
+  "admin.dashboard.retention.cohort_size": "Noví uživatelé",
   "alert.rate_limited.message": "Zkuste to prosím znovu za {retry_time, time, medium}.",
   "alert.rate_limited.title": "Spojení omezena",
   "alert.unexpected.message": "Objevila se neočekávaná chyba.",
   "alert.unexpected.title": "Jejda!",
   "announcement.announcement": "Oznámení",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(nezpracováno)",
   "autosuggest_hashtag.per_week": "{count} za týden",
   "boost_modal.combo": "Příště můžete pro přeskočení stisknout {combo}",
   "bundle_column_error.body": "Při načítání této komponenty se něco pokazilo.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Povolit u ankety výběr jediné možnosti",
   "compose_form.publish": "Odeslat",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Označit média za citlivá} few {Označit média za citlivá} many {Označit média za citlivá} other {Označit média za citlivá}}",
   "compose_form.sensitive.marked": "{count, plural, one {Média jsou označena za citlivá} few {Média jsou označena za citlivá} many {Média jsou označena za citlivá} other {Média jsou označena za citlivá}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Média nejsou označena za citlivá} few {Média nejsou označena za citlivá} many {Média nejsou označena za citlivá} other {Média nejsou označena za citlivá}}",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "Opravdu chcete smazat tento příspěvek?",
   "confirmations.delete_list.confirm": "Smazat",
   "confirmations.delete_list.message": "Opravdu chcete tento seznam navždy smazat?",
-  "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.discard_edit_media.confirm": "Zahodit",
+  "confirmations.discard_edit_media.message": "Máte neuložené změny popisku médií nebo náhledu, přesto je 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čí zablokovat 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.logout.confirm": "Odhlásit",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Oblíbení:",
   "notifications.column_settings.filter_bar.advanced": "Zobrazit všechny kategorie",
   "notifications.column_settings.filter_bar.category": "Panel rychlého filtrování",
-  "notifications.column_settings.filter_bar.show": "Zobrazit",
+  "notifications.column_settings.filter_bar.show_bar": "Zobrazit panel filtrů",
   "notifications.column_settings.follow": "Noví sledující:",
   "notifications.column_settings.follow_request": "Nové žádosti o sledování:",
   "notifications.column_settings.mention": "Zmínky:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Zobrazit ve sloupci",
   "notifications.column_settings.sound": "Přehrát zvuk",
   "notifications.column_settings.status": "Nové příspěvky:",
-  "notifications.column_settings.unread_markers.category": "Značky nepřečtených oznámení",
+  "notifications.column_settings.unread_notifications.category": "Nepřečtená oznámení",
+  "notifications.column_settings.unread_notifications.highlight": "Zvýraznit nepřečtená oznámení",
   "notifications.filter.all": "Vše",
   "notifications.filter.boosts": "Boosty",
   "notifications.filter.favourites": "Oblíbení",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# hlas} few {# hlasy} many {# hlasů} other {# hlasů}}",
   "poll.vote": "Hlasovat",
   "poll.voted": "Pro tuto odpověď jste hlasovali",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# hlas} few {# hlasy} many {# hlasů} other {# hlasů}}",
   "poll_button.add_poll": "Přidat anketu",
   "poll_button.remove_poll": "Odstranit anketu",
   "privacy.change": "Změnit soukromí příspěvku",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Načítání…",
   "regeneration_indicator.sublabel": "Váš domovský kanál se připravuje!",
   "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": "teď",
   "relative_time.minutes": "{number} m",
   "relative_time.seconds": "{number} s",
   "relative_time.today": "dnes",
   "reply_indicator.cancel": "Zrušit",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Přeposlat na {target}",
   "report.forward_hint": "Tento účet je z jiného serveru. Chcete na něj také poslat anonymizovanou kopii hlášení?",
   "report.hint": "Hlášení bude zasláno moderátorům vašeho serveru. Níže můžete uvést, proč tento účet nahlašujete:",
@@ -396,9 +407,14 @@
   "status.delete": "Smazat",
   "status.detailed_status": "Podrobné zobrazení konverzace",
   "status.direct": "Poslat @{name} přímou zprávu",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Vložit na web",
   "status.favourite": "Oblíbit",
   "status.filtered": "Filtrováno",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Zobrazit více",
   "status.media_hidden": "Média skryta",
   "status.mention": "Zmínit @{name}",
@@ -461,8 +477,8 @@
   "upload_form.undo": "Smazat",
   "upload_form.video_description": "Popis pro sluchově či zrakově postižené",
   "upload_modal.analyzing_picture": "Analyzuji obrázek…",
-  "upload_modal.apply": "Použít",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.apply": "Aplikovat",
+  "upload_modal.applying": "Aplikuji…",
   "upload_modal.choose_image": "Vybrat obrázek",
   "upload_modal.description_placeholder": "Příliš žluťoučký kůň úpěl ďábelské ódy",
   "upload_modal.detect_text": "Detekovat text z obrázku",
diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json
index 2f8c09014..a6379568c 100644
--- a/app/javascript/mastodon/locales/cy.json
+++ b/app/javascript/mastodon/locales/cy.json
@@ -47,7 +47,8 @@
   "account.unmute": "Dad-dawelu @{name}",
   "account.unmute_notifications": "Dad-dawelu hysbysiadau o @{name}",
   "account_note.placeholder": "Clicio i ychwanegu nodyn",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Newid pleidlais i gyfyngu i un dewis",
   "compose_form.publish": "Tŵt",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Marcio cyfryngau fel eu bod yn sensitif",
   "compose_form.sensitive.marked": "Cyfryngau wedi'u marcio'n sensitif",
   "compose_form.sensitive.unmarked": "Nid yw'r cyfryngau wedi'u marcio'n sensitif",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Ffefrynnau:",
   "notifications.column_settings.filter_bar.advanced": "Dangos pob categori",
   "notifications.column_settings.filter_bar.category": "Bar hidlo",
-  "notifications.column_settings.filter_bar.show": "Dangos",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "Dilynwyr newydd:",
   "notifications.column_settings.follow_request": "Ceisiadau dilyn newydd:",
   "notifications.column_settings.mention": "Crybwylliadau:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Dangos yn y golofn",
   "notifications.column_settings.sound": "Chwarae sain",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "Pob",
   "notifications.filter.boosts": "Hybiadau",
   "notifications.filter.favourites": "Ffefrynnau",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Llwytho…",
   "regeneration_indicator.sublabel": "Mae eich ffrwd cartref yn cael ei baratoi!",
   "relative_time.days": "{number}dydd",
+  "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}awr",
   "relative_time.just_now": "nawr",
   "relative_time.minutes": "{number}munud",
   "relative_time.seconds": "{number}eiliad",
   "relative_time.today": "heddiw",
   "reply_indicator.cancel": "Canslo",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Ymlaen i {target}",
   "report.forward_hint": "Mae'r cyfrif o weinydd arall. Anfon copi anhysbys o'r adroddiad yno hefyd?",
   "report.hint": "Bydd yr adroddiad yn cael ei anfon i arolygydd eich achos. Mae modd darparu esboniad o pam yr ydych yn cwyno am y cyfrif hwn isod:",
@@ -396,9 +407,14 @@
   "status.delete": "Dileu",
   "status.detailed_status": "Golwg manwl o'r sgwrs",
   "status.direct": "Neges breifat @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Plannu",
   "status.favourite": "Hoffi",
   "status.filtered": "Wedi'i hidlo",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Llwythwch mwy",
   "status.media_hidden": "Cyfryngau wedi'u cuddio",
   "status.mention": "Crybwyll @{name}",
diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json
index 9db5da3eb..56c1daa13 100644
--- a/app/javascript/mastodon/locales/da.json
+++ b/app/javascript/mastodon/locales/da.json
@@ -1,75 +1,76 @@
 {
-  "account.account_note_header": "Notat",
+  "account.account_note_header": "Note",
   "account.add_or_remove_from_list": "Tilføj eller fjern fra lister",
   "account.badges.bot": "Bot",
   "account.badges.group": "Gruppe",
   "account.block": "Blokér @{name}",
   "account.block_domain": "Blokér domænet {domain}",
   "account.blocked": "Blokeret",
-  "account.browse_more_on_origin_server": "Gennemse mere på den oprindelige profil",
-  "account.cancel_follow_request": "Annullér følgeranmodning",
+  "account.browse_more_on_origin_server": "Se mere på den oprindelige profil",
+  "account.cancel_follow_request": "Annullér følgeanmodning",
   "account.direct": "Direkte besked til @{name}",
   "account.disable_notifications": "Advisér mig ikke længere, når @{name} poster",
   "account.domain_blocked": "Domæne blokeret",
-  "account.edit_profile": "Redigere profil",
-  "account.enable_notifications": "Advisér mig, når @{name} poster",
+  "account.edit_profile": "Redigér profil",
+  "account.enable_notifications": "Giv besked når @{name} udgiver nyt",
   "account.endorse": "Fremhæv på profil",
   "account.follow": "Følg",
   "account.followers": "Følgere",
-  "account.followers.empty": "Ingen følger denne bruger endnu.",
+  "account.followers.empty": "Ingen følger brugeren endnu.",
   "account.followers_counter": "{count, plural, one {{counter} Følger} other {{counter} Følgere}}",
-  "account.following_counter": "{count, plural, one {{counter} Følger} other {{counter} Følgere}}",
-  "account.follows.empty": "Denne bruger følger endnu ikke nogen.",
+  "account.following_counter": "{count, plural, one {{counter} Følges} other {{counter} Følges}}",
+  "account.follows.empty": "Denne bruger følger ikke nogen endnu.",
   "account.follows_you": "Følger dig",
-  "account.hide_reblogs": "Skjul fremhævelserne fra @{name}",
+  "account.hide_reblogs": "Skjul fremhævelser fra @{name}",
   "account.joined": "Tilmeldt {date}",
   "account.last_status": "Senest aktiv",
   "account.link_verified_on": "Ejerskab af dette link blev tjekket {date}",
   "account.locked_info": "Denne kontos fortrolighedsstatus er sat til låst. Ejeren bedømmer manuelt, hvem der kan følge vedkommende.",
-  "account.media": "Medie",
+  "account.media": "Medier",
   "account.mention": "Nævn @{name}",
   "account.moved_to": "{name} er flyttet til:",
-  "account.mute": "Tavsgør @{name}",
-  "account.mute_notifications": "Tavsgør notifikationer fra @{name}",
-  "account.muted": "Tavsgjort",
+  "account.mute": "Skjul @{name}",
+  "account.mute_notifications": "Skjul notifikationer fra @{name}",
+  "account.muted": "Tystnet",
   "account.never_active": "Aldrig",
-  "account.posts": "Trut",
-  "account.posts_with_replies": "Trut og svar",
+  "account.posts": "Indlæg",
+  "account.posts_with_replies": "Indlæg og svar",
   "account.report": "Anmeld @{name}",
   "account.requested": "Afventer godkendelse. Tryk for at annullere følgeanmodning",
   "account.share": "Del @{name}s profil",
-  "account.show_reblogs": "Vis fremhævelserne fra @{name}",
-  "account.statuses_counter": "{count, plural, one {{counter} Trut} other {{counter} Trut}}",
+  "account.show_reblogs": "Vis fremhævelser fra @{name}",
+  "account.statuses_counter": "{count, plural, one {{counter} Indlæg} other {{counter} Indlæg}}",
   "account.unblock": "Fjern blokeringen af @{name}",
   "account.unblock_domain": "Afblokér domænet {domain}",
-  "account.unendorse": "Fremhæv ikke på profil",
+  "account.unendorse": "Fjern visning på din profil",
   "account.unfollow": "Følg ikke længere",
   "account.unmute": "Fjern tavsgjort for @{name}",
-  "account.unmute_notifications": "Fjern tavsgjort for notifikationer fra @{name}",
+  "account.unmute_notifications": "Slå notifikationer om @{name} til igen",
   "account_note.placeholder": "Klik for at tilføje notat",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Gennemsnitlig",
+  "admin.dashboard.retention.cohort": "Tilmeldingsmåned",
+  "admin.dashboard.retention.cohort_size": "Nye brugere",
   "alert.rate_limited.message": "Forsøg igen efter {retry_time, time, medium}.",
-  "alert.rate_limited.title": "Gradsbegrænset",
-  "alert.unexpected.message": "En uventet fejl opstod.",
+  "alert.rate_limited.title": "Hastighedsbegrænset",
+  "alert.unexpected.message": "Der skete en uventet fejl.",
   "alert.unexpected.title": "Ups!",
   "announcement.announcement": "Bekendtgørelse",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(ubearbejdet)",
   "autosuggest_hashtag.per_week": "{count} pr. uge",
-  "boost_modal.combo": "Du kan trykke på {combo} for at overspringe dette næste gang",
+  "boost_modal.combo": "Du kan trykke på {combo} for at springe over næste gang",
   "bundle_column_error.body": "Noget gik galt under indlæsningen af denne komponent.",
-  "bundle_column_error.retry": "Forsøg igen",
+  "bundle_column_error.retry": "Prøv igen",
   "bundle_column_error.title": "Netværksfejl",
   "bundle_modal_error.close": "Luk",
   "bundle_modal_error.message": "Noget gik galt under indlæsningen af denne komponent.",
-  "bundle_modal_error.retry": "Forsøg igen",
+  "bundle_modal_error.retry": "Prøv igen",
   "column.blocks": "Blokerede brugere",
   "column.bookmarks": "Bogmærker",
   "column.community": "Lokal tidslinje",
   "column.direct": "Direkte beskeder",
-  "column.directory": "Gennemse profiler",
+  "column.directory": "Se profiler",
   "column.domain_blocks": "Blokerede domæner",
   "column.favourites": "Favoritter",
   "column.follow_requests": "Følg-anmodninger",
@@ -77,8 +78,8 @@
   "column.lists": "Lister",
   "column.mutes": "Tavsgjorte brugere",
   "column.notifications": "Notifikationer",
-  "column.pins": "Fastgjorte trut",
-  "column.public": "Forenede tidslinje",
+  "column.pins": "Fastgjorte indlæg",
+  "column.public": "Fælles tidslinje",
   "column_back_button.label": "Tilbage",
   "column_header.hide_settings": "Skjul indstillinger",
   "column_header.moveLeft_settings": "Flyt kolonne til venstre",
@@ -88,71 +89,72 @@
   "column_header.unpin": "Løsgør",
   "column_subheading.settings": "Indstillinger",
   "community.column_settings.local_only": "Kun lokalt",
-  "community.column_settings.media_only": "Kun medie",
-  "community.column_settings.remote_only": "Kun fjernt",
-  "compose_form.direct_message_warning": "Dette trut sendes kun til de nævnte brugere.",
+  "community.column_settings.media_only": "Kun medier",
+  "community.column_settings.remote_only": "Kun udefra",
+  "compose_form.direct_message_warning": "Indlægget bliver kun sendt til de nævnte brugere.",
   "compose_form.direct_message_warning_learn_more": "Få mere at vide",
   "compose_form.hashtag_warning": "Dette trut vises ikke under noget hashtag, da det ikke er listet. Kun offentlige trut kan søges via hashtags.",
-  "compose_form.lock_disclaimer": "Din konto er ikke {locked}. Alle kan følge dig for at se dine kun-følger poster.",
+  "compose_form.lock_disclaimer": "Din konto er ikke {locked}. Alle kan følge dig, så de også kan se de indlæg, der kun er til følgere.",
   "compose_form.lock_disclaimer.lock": "låst",
-  "compose_form.placeholder": "Hvad tænker du på?",
+  "compose_form.placeholder": "Hvad vil du gerne fortælle om?",
   "compose_form.poll.add_option": "Tilføj valgmulighed",
-  "compose_form.poll.duration": "Afstemningsvarighed",
+  "compose_form.poll.duration": "Afstemningens varighed",
   "compose_form.poll.option_placeholder": "Valgmulighed {number}",
-  "compose_form.poll.remove_option": "Fjern denne valgmulighed",
+  "compose_form.poll.remove_option": "Fjern valgmulighed",
   "compose_form.poll.switch_to_multiple": "Ændr afstemning til flervalgstype",
   "compose_form.poll.switch_to_single": "Ændr afstemning til enkeltvalgstype",
-  "compose_form.publish": "Toot",
+  "compose_form.publish": "Udgiv",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Markér medie som følsomt} other {Markér medier som følsomme}}",
   "compose_form.sensitive.marked": "{count, plural, one {Medie er markeret som sensitivt} other {Medier er markerede som sensitive}}",
-  "compose_form.sensitive.unmarked": "Intet medie market som sensitivt",
-  "compose_form.spoiler.marked": "Tekst skjult bag advarsel",
-  "compose_form.spoiler.unmarked": "Teksten er ikke skjult",
+  "compose_form.sensitive.unmarked": "{count, plural, one {Medie er ikke market som sensitivt} other {Medier er ikke markerede som sensitive}}",
+  "compose_form.spoiler.marked": "Fjern advarsel",
+  "compose_form.spoiler.unmarked": "Skjul bag advarsel",
   "compose_form.spoiler_placeholder": "Skriv din advarsel hér",
   "confirmation_modal.cancel": "Afbryd",
   "confirmations.block.block_and_report": "Blokér og Anmeld",
   "confirmations.block.confirm": "Blokér",
-  "confirmations.block.message": "Sikker på, at du vil blokere {name}?",
+  "confirmations.block.message": "Er du sikker på, du vil blokere {name}?",
   "confirmations.delete.confirm": "Slet",
-  "confirmations.delete.message": "Sikker på, at du vil slette dette trut?",
+  "confirmations.delete.message": "Er du sikker på, at du vil slette indlægget?",
   "confirmations.delete_list.confirm": "Slet",
   "confirmations.delete_list.message": "Sikker på, at du vil slette denne liste permanent?",
-  "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.domain_block.confirm": "Skjul hele domænet",
-  "confirmations.domain_block.message": "Helt sikker på, at du vil blokere hele {domain}-domænet? Oftest vil få, specifikke blokeringer eller tavsgørelser være nok og at fortrække. Du vil ikke se indhold fra domænet på offentlige tidslinjer eller i dine notifikationer. Dine følgere fra domænet fjernes.",
+  "confirmations.discard_edit_media.confirm": "Kassér",
+  "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 helt sikker på, at du vil blokere hele {domain}-domænet? Oftest vil det være at foretrække istedet målrettet at blokere eller skjule nogle få brugere. Hvis du blokerer domænet, vil du ikke se indhold fra domænet på offentlige tidslinjer eller i dine notifikationer. Dine følgere fra domænet fjernes.",
   "confirmations.logout.confirm": "Log ud",
   "confirmations.logout.message": "Log ud, sikker?",
-  "confirmations.mute.confirm": "Tavsgøre",
-  "confirmations.mute.explanation": "Dette skjuler indlæg fra dem (og om) dem, men det vil lade dem at se dine indlæg og følge dig.",
-  "confirmations.mute.message": "Sikker på, du vil tavsgøre {name}?",
+  "confirmations.mute.confirm": "Skjul",
+  "confirmations.mute.explanation": "Dette skjuler indlæg fra (og om) dem, men de kan stadig se dine indlæg og følge dig.",
+  "confirmations.mute.message": "Er du sikker på, du vil skjule {name}?",
   "confirmations.redraft.confirm": "Slet og omskriv",
-  "confirmations.redraft.message": "Sikker på, at du vil slette dette trut og omskrive det? Favoritter og fremhævelser går tabt og svar til det oprindelige indlæg afassocieres.",
-  "confirmations.reply.confirm": "Besvar",
-  "confirmations.reply.message": "Besvarelse nu vil overskrive den besked, du er ved at skrive. Fortsæt alligevel?",
+  "confirmations.redraft.message": "Er du sikker på, at du vil slette og omskrive indlægget? Favoritter og fremhævelser går tabt og svar til det oprindelige indlæg afassocieres.",
+  "confirmations.reply.confirm": "Svar",
+  "confirmations.reply.message": "At svare nu vil overskrive den besked, du er ved at skrive. Fortsæt alligevel?",
   "confirmations.unfollow.confirm": "Følg ikke længere",
-  "confirmations.unfollow.message": "Sikker på, at du ikke længere vil følge {name}?",
-  "conversation.delete": "Slet konversation",
+  "confirmations.unfollow.message": "Er du sikker på, at du ikke vil følge {name}?",
+  "conversation.delete": "Slet samtale",
   "conversation.mark_as_read": "Markér som læst",
-  "conversation.open": "Vis konversation",
+  "conversation.open": "Vis samtale",
   "conversation.with": "Med {names}",
-  "directory.federated": "Fra kendt fedivers",
+  "directory.federated": "Fra kendt Fællesvers",
   "directory.local": "Kun fra {domain}",
   "directory.new_arrivals": "Nye ankomster",
-  "directory.recently_active": "Senest aktiv",
-  "embed.instructions": "Indlejr dette trut på din side ved at kopiere koden nedenfor.",
+  "directory.recently_active": "Aktive for nyligt",
+  "embed.instructions": "Indlejr indlægget på din side ved at kopiere koden nedenfor.",
   "embed.preview": "Sådan kommer det til at se ud:",
   "emoji_button.activity": "Aktivitet",
   "emoji_button.custom": "Tilpasset",
   "emoji_button.flags": "Flag",
   "emoji_button.food": "Mad og drikke",
-  "emoji_button.label": "Indsæt humørikon",
+  "emoji_button.label": "Indsæt emoji",
   "emoji_button.nature": "Natur",
-  "emoji_button.not_found": "Ingen emojos!! (╯°□°)╯︵ ┻━┻",
+  "emoji_button.not_found": "Kunne ikke finde tilsvarende emojis",
   "emoji_button.objects": "Objekter",
   "emoji_button.people": "Personer",
-  "emoji_button.recent": "Oftest brugt",
+  "emoji_button.recent": "De sædvanlige",
   "emoji_button.search": "Søg...",
   "emoji_button.search_results": "Søgeresultater",
   "emoji_button.symbols": "Symboler",
@@ -160,32 +162,32 @@
   "empty_column.account_suspended": "Konto suspenderet",
   "empty_column.account_timeline": "Ingen trut her!",
   "empty_column.account_unavailable": "Profil utilgængelig",
-  "empty_column.blocks": "Du har ikke blokeret nogle brugere endnu.",
-  "empty_column.bookmarked_statuses": "Du har ingen bogmærkede trut endnu. Når du bogmærker ét, vil det dukke op hér.",
+  "empty_column.blocks": "Du har ikke blokeret nogen endnu.",
+  "empty_column.bookmarked_statuses": "Du har ingen indlæg med bogmærke endnu. Når du sætter et bogmærke, vil det dukke op hér.",
   "empty_column.community": "Den lokale tidslinje er tom. Skriv noget offentligt for at sætte tingene i gang!",
-  "empty_column.direct": "Du har endnu ingen direkte beskeder. Når du sender eller modtager en, vil den vises hér.",
-  "empty_column.domain_blocks": "Der er endnu ingen skjulte domæner.",
-  "empty_column.favourited_statuses": "Du har endnu ingen favorit-trut. Når du favoriserer ét, vil det blive vist hér.",
-  "empty_column.favourites": "Ingen har endnu favoriseret dette trut. Når nogen anden gør vil det blive vist hér.",
-  "empty_column.follow_recommendations": "Ser ud til, at der ikke kunne genereres forslag til dig. Du kan prøve med Søg for at lede efter personer, du måske kender, eller udforske hashtags.",
-  "empty_column.follow_requests": "Du har endnu ingen følgeranmodninger. Når du modtager én, vil den fremgå hér.",
-  "empty_column.hashtag": "Intet indhold i dette hashtag endnu.",
+  "empty_column.direct": "Du har ingen direkte beskeder endnu. Hvis du sender eller modtager en, bliver den vist hér.",
+  "empty_column.domain_blocks": "Der er ingen skjulte domæner endnu.",
+  "empty_column.favourited_statuses": "Du har ikke markeret nogle indlæg som favorit. Når du markerer ét, bliver det vist hér.",
+  "empty_column.favourites": "Ingen har markeret indlægget som favorit endnu. Hvis der er nogen der gør, bliver det vist hér.",
+  "empty_column.follow_recommendations": "Det ser ud til, at der ikke kunne blive lavet forslag til dig. Du kan prøve med Søg for at finde personer, du kender, eller udforske hashtags.",
+  "empty_column.follow_requests": "Du har ingen følgeanmodninger endnu. Hvis du modtager en, bliver den vist her.",
+  "empty_column.hashtag": "Der er ingen indlæg med hashtagget endnu.",
   "empty_column.home": "Din hjemmetidslinje er tom! Besøg {public} eller brug søgningen for at komme igang og møde andre brugere.",
   "empty_column.home.suggestions": "Se nogle foreslag",
-  "empty_column.list": "Der er endnu intet i denne liste. Når medlemmer af denne liste poster nye trut, vil de fremgå hér.",
+  "empty_column.list": "Der er ikke noget på denne liste endnu. Når medlemmer af listen udgiver nye indlæg vil de fremgå hér.",
   "empty_column.lists": "Du har endnu ingen lister. Når du opretter én, vil den fremgå hér.",
-  "empty_column.mutes": "Du har endnu ikke tavsgjort nogle brugere.",
-  "empty_column.notifications": "Du har endnu ingen notifikationer. Interagér med andre for at starte konversationen.",
+  "empty_column.mutes": "Du har endnu ikke tystnet nogle brugere.",
+  "empty_column.notifications": "Du har ingen notifikationer. Hvis andre interagerer med dig, bliver det vist her.",
   "empty_column.public": "Der er intet hér! Skriv noget offentligt eller følg manuelt brugere fra andre servere for at se indhold",
   "error.unexpected_crash.explanation": "Grundet en fejl i vores kode, eller en browser-kompatibilitetsfejl, kunne siden ikke vises korrekt.",
   "error.unexpected_crash.explanation_addons": "Denne side kunne ikke vises korrekt. Fejlen skyldes sandsynligvis en browsertilføjelse eller automatiske oversættelsesværktøjer.",
-  "error.unexpected_crash.next_steps": "Prøv at opfriske siden. Hjælper dette ikke, kan Mastodon muligvis stadig bruges via en anden browser eller app.",
-  "error.unexpected_crash.next_steps_addons": "Prøv at deaktivere dem og opfriske siden. Hjælper dette ikke, kan Mastodon muligvis stadig bruges via en anden browser eller app.",
+  "error.unexpected_crash.next_steps": "Prøv at genindlæs siden. Hvis dette ikke hjælper, så forsøg venligst, at tilgå Mastodon via en anden browser eller app.",
+  "error.unexpected_crash.next_steps_addons": "Prøv at deaktivere dem og genindlæse siden. Hvis det ikke hjælper, kan Mastodon muligvis stadig bruges via en anden browser eller app.",
   "errors.unexpected_crash.copy_stacktrace": "Kopiér stacktrace til udklipsholderen",
   "errors.unexpected_crash.report_issue": "Anmeld problem",
   "follow_recommendations.done": "Udført",
   "follow_recommendations.heading": "Følg personer du gerne vil se indlæg fra! Her er nogle forslag.",
-  "follow_recommendations.lead": "Indlæg, fra personer du følger, vises i kronologisk rækkefølge i dit hjemmefeed. Vær ikke bange for at begå fejl, du kan vælge \"følg ikke\" personer lige så nemt til enhver tid!",
+  "follow_recommendations.lead": "Indlæg, fra personer du følger, vises i kronologisk rækkefølge i hjemmetidslinjen. Bare prøv dig frem med hvem du følger her. Du kan altid vælge om igen!",
   "follow_request.authorize": "Godkend",
   "follow_request.reject": "Afvis",
   "follow_requests.unlocked_explanation": "Selvom din konto ikke er låst, antog {domain}-personalet, at du måske vil gennemgå dine anmodninger manuelt.",
@@ -193,9 +195,9 @@
   "getting_started.developers": "Udviklere",
   "getting_started.directory": "Profilliste",
   "getting_started.documentation": "Dokumentation",
-  "getting_started.heading": "Komme i gang",
+  "getting_started.heading": "Startmenu",
   "getting_started.invite": "Invitér folk",
-  "getting_started.open_source_notice": "Mastodon er en open-source software. Du kan bidrage eller anmelde fejl via GitHub {github}.",
+  "getting_started.open_source_notice": "Mastodon er open-source software. Du kan bidrage eller anmelde fejl via GitHub {github}.",
   "getting_started.security": "Kontoindstillinger",
   "getting_started.terms": "Tjenestevilkår",
   "hashtag.column_header.tag_mode.all": "og {additional}",
@@ -203,7 +205,7 @@
   "hashtag.column_header.tag_mode.none": "uden {additional}",
   "hashtag.column_settings.select.no_options_message": "Ingen forslag fundet",
   "hashtag.column_settings.select.placeholder": "Angiv hashtags…",
-  "hashtag.column_settings.tag_mode.all": "Alle disse",
+  "hashtag.column_settings.tag_mode.all": "Allesammen",
   "hashtag.column_settings.tag_mode.any": "Nogle af disse",
   "hashtag.column_settings.tag_mode.none": "Ingen af disse",
   "hashtag.column_settings.tag_toggle": "Inkludér ekstra tags for denne kolonne",
@@ -216,17 +218,17 @@
   "intervals.full.hours": "{number, plural, one {# time} other {# timer}}",
   "intervals.full.minutes": "{number, plural, one {# minut} other {# minutter}}",
   "keyboard_shortcuts.back": "for at navigere tilbage",
-  "keyboard_shortcuts.blocked": "for at åbne listen over blokerede brugere",
-  "keyboard_shortcuts.boost": "for at fremhæve",
+  "keyboard_shortcuts.blocked": "Vis listen over blokerede brugere",
+  "keyboard_shortcuts.boost": "Fremhæv indlæg",
   "keyboard_shortcuts.column": "for at fokusere et trut i en af kolonnerne",
   "keyboard_shortcuts.compose": "for at fokusere på skriveområdet",
   "keyboard_shortcuts.description": "Beskrivelse",
-  "keyboard_shortcuts.direct": "for at åbne direkte besked-kolonnen",
+  "keyboard_shortcuts.direct": "Åben kolonnen med direkte beskeder",
   "keyboard_shortcuts.down": "for at rykke nedad på listen",
-  "keyboard_shortcuts.enter": "for at åbne trut",
-  "keyboard_shortcuts.favourite": "for at favorisere",
+  "keyboard_shortcuts.enter": "Åben indlæg",
+  "keyboard_shortcuts.favourite": "Markér som favorit",
   "keyboard_shortcuts.favourites": "for at åbne favoritlisten",
-  "keyboard_shortcuts.federated": "for at åbne den forenede tidslinje",
+  "keyboard_shortcuts.federated": "Åben den fælles tidslinje",
   "keyboard_shortcuts.heading": "Tastaturgenveje",
   "keyboard_shortcuts.home": "for at åbne hjemmetidslinjen",
   "keyboard_shortcuts.hotkey": "Hurtigtast",
@@ -237,10 +239,10 @@
   "keyboard_shortcuts.my_profile": "for at åbne din profil",
   "keyboard_shortcuts.notifications": "for at åbne notifikationskolonnen",
   "keyboard_shortcuts.open_media": "for at åbne medier",
-  "keyboard_shortcuts.pinned": "for at åbne listen over fastgjorte trut",
+  "keyboard_shortcuts.pinned": "Åben listen over fastgjorte indlæg",
   "keyboard_shortcuts.profile": "for at åbne forfatterens profil",
   "keyboard_shortcuts.reply": "for at besvare",
-  "keyboard_shortcuts.requests": "for at åbne følganmodningslisten",
+  "keyboard_shortcuts.requests": "Åben listen over følgeanmodninger",
   "keyboard_shortcuts.search": "for at fokusere søgningen",
   "keyboard_shortcuts.spoilers": "for at vise/skjule CW-felt",
   "keyboard_shortcuts.start": "for at åbne \"komme i gang\"-kolonnen",
@@ -273,48 +275,48 @@
   "missing_indicator.label": "Ikke fundet",
   "missing_indicator.sublabel": "Denne ressource kunne ikke findes",
   "mute_modal.duration": "Varighed",
-  "mute_modal.hide_notifications": "Skjul notifikationer fra denne bruger?",
-  "mute_modal.indefinite": "Uendeligt",
-  "navigation_bar.apps": "Mobil-apps",
+  "mute_modal.hide_notifications": "Skjul notifikationer fra brugeren?",
+  "mute_modal.indefinite": "Tidsubegrænset",
+  "navigation_bar.apps": "Apps til mobilen",
   "navigation_bar.blocks": "Blokerede brugere",
   "navigation_bar.bookmarks": "Bogmærker",
   "navigation_bar.community_timeline": "Lokal tidslinje",
-  "navigation_bar.compose": "Skriv nyt trut",
+  "navigation_bar.compose": "Skriv nyt indlæg",
   "navigation_bar.direct": "Direkte beskeder",
   "navigation_bar.discover": "Opdag",
   "navigation_bar.domain_blocks": "Blokerede domæner",
   "navigation_bar.edit_profile": "Redigér profil",
   "navigation_bar.favourites": "Favoritter",
-  "navigation_bar.filters": "Tavsgjorte ord",
-  "navigation_bar.follow_requests": "Følganmodninger",
-  "navigation_bar.follows_and_followers": "Følger og følgere",
+  "navigation_bar.filters": "Tystnede ord",
+  "navigation_bar.follow_requests": "Følgeanmodninger",
+  "navigation_bar.follows_and_followers": "Følges og følgere",
   "navigation_bar.info": "Om denne server",
   "navigation_bar.keyboard_shortcuts": "Hurtigtaster",
   "navigation_bar.lists": "Lister",
-  "navigation_bar.logout": "Log ud",
-  "navigation_bar.mutes": "Tavsgjorte brugere",
+  "navigation_bar.logout": "Log af",
+  "navigation_bar.mutes": "Tystnede brugere",
   "navigation_bar.personal": "Personlig",
-  "navigation_bar.pins": "Fastgjorte trut",
+  "navigation_bar.pins": "Fastgjorte indlæg",
   "navigation_bar.preferences": "Præferencer",
-  "navigation_bar.public_timeline": "Forenet tidslinje",
+  "navigation_bar.public_timeline": "Fælles tidslinje",
   "navigation_bar.security": "Sikkerhed",
   "notification.favourite": "{name} favoriserede dit trut",
   "notification.follow": "{name} fulgte dig",
   "notification.follow_request": "{name} har anmodet om at følge dig",
   "notification.mention": "{name} nævnte dig",
   "notification.own_poll": "Din afstemning er afsluttet",
-  "notification.poll": "En afstemning, hvori du stemte, er slut",
-  "notification.reblog": "{name} fremhævede din trut",
-  "notification.status": "{name} har netop postet",
+  "notification.poll": "En afstemning, du deltog i, er færdig",
+  "notification.reblog": "{name} fremhævede dit indlæg",
+  "notification.status": "{name} har netop udgivet",
   "notifications.clear": "Ryd notifikationer",
-  "notifications.clear_confirmation": "Sikker på, at du vil rydde alle dine notifikationer permanent?",
+  "notifications.clear_confirmation": "Er du sikker på, du vil rydde alle dine notifikationer permanent?",
   "notifications.column_settings.alert": "Skrivebordsnotifikationer",
   "notifications.column_settings.favourite": "Favoritter:",
   "notifications.column_settings.filter_bar.advanced": "Vis alle kategorier",
   "notifications.column_settings.filter_bar.category": "Hurtigfilterbjælke",
-  "notifications.column_settings.filter_bar.show": "Vis",
+  "notifications.column_settings.filter_bar.show_bar": "Vis filterbjælke",
   "notifications.column_settings.follow": "Nye følgere:",
-  "notifications.column_settings.follow_request": "Nye følganmodninger:",
+  "notifications.column_settings.follow_request": "Nye følgeanmodninger:",
   "notifications.column_settings.mention": "Omtaler:",
   "notifications.column_settings.poll": "Afstemningsresultater:",
   "notifications.column_settings.push": "Pushnotifikationer",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Vis i kolonne",
   "notifications.column_settings.sound": "Afspil lyd",
   "notifications.column_settings.status": "Nye indlæg:",
-  "notifications.column_settings.unread_markers.category": "Ulæste notifkationer-markører",
+  "notifications.column_settings.unread_notifications.category": "Ulæste notifikationer",
+  "notifications.column_settings.unread_notifications.highlight": "Fremhæv ulæste notifikationer",
   "notifications.filter.all": "Alle",
   "notifications.filter.boosts": "Fremhævelser",
   "notifications.filter.favourites": "Favoritter",
@@ -341,36 +344,44 @@
   "notifications_permission_banner.title": "Gå aldrig glip af noget",
   "picture_in_picture.restore": "Sæt det tilbage",
   "poll.closed": "Lukket",
-  "poll.refresh": "Opfrisk",
+  "poll.refresh": "Opdatér",
   "poll.total_people": "{count, plural, one {# person} other {# personer}}",
   "poll.total_votes": "{count, plural, one {# stemme} other {# stemmer}}",
   "poll.vote": "Stem",
-  "poll.voted": "Du stemte for dette svar",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.voted": "Du stemte på dette svar",
+  "poll.votes": "{votes, plural, one {# stemme} other {# stemmer}}",
   "poll_button.add_poll": "Tilføj en afstemning",
   "poll_button.remove_poll": "Fjern afstemning",
-  "privacy.change": "Justér trutfortrolighed",
+  "privacy.change": "Justér fortrolighed",
   "privacy.direct.long": "Kun synlig for nævnte brugere",
   "privacy.direct.short": "Direkte",
   "privacy.private.long": "Kun synlig for følgere",
   "privacy.private.short": "Kun for følgere",
-  "privacy.public.long": "Synlig for alle på offentlige tidslinjer",
+  "privacy.public.long": "Synlig for alle og vises på offentlige tidslinjer",
   "privacy.public.short": "Offentlig",
-  "privacy.unlisted.long": "Synlig for alle, men på offentlige tidslinjer",
-  "privacy.unlisted.short": "Ulistet",
-  "refresh": "Opfrisk",
+  "privacy.unlisted.long": "Synlig for alle, men vises ikke på offentlige tidslinjer",
+  "privacy.unlisted.short": "Diskret",
+  "refresh": "Genindlæs",
   "regeneration_indicator.label": "Indlæser…",
-  "regeneration_indicator.sublabel": "Din hjemmefeed klargøres!",
+  "regeneration_indicator.sublabel": "Din hjemmetidslinje klargøres!",
   "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}t",
   "relative_time.just_now": "nu",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "i dag",
   "reply_indicator.cancel": "Afbryd",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Videresend til {target}",
-  "report.forward_hint": "Kontoen er fra en anden server. Sende en anonymiseret anmeldelseskopi dertil også?",
-  "report.hint": "Anmeldelsen sendes til din serverordstyrerer. Du kan oplyse nærmere om kontoanmeldelsen nedennfor:",
+  "report.forward_hint": "Kontoen er fra en anden server. Send en anonymiseret kopi af anmeldelsen dertil også?",
+  "report.hint": "Anmeldelsen sendes til din serverordstyrer. Du kan oplyse nærmere om kontoanmeldelsen nedenfor:",
   "report.placeholder": "Yderligere kommentarer",
   "report.submit": "Indsend",
   "report.target": "Anmelder {target}",
@@ -378,47 +389,52 @@
   "search_popout.search_format": "Avanceret søgeformat",
   "search_popout.tips.full_text": "Simpel tekst returnerer trut, du har skrevet, favoriseret, fremhævede eller som er nævnt i/matcher bruger- og profilnavne samt hashtags.",
   "search_popout.tips.hashtag": "hashtag",
-  "search_popout.tips.status": "trut",
+  "search_popout.tips.status": "indlæg",
   "search_popout.tips.text": "Simpel tekst returnerer matchende visnings- og brugernavne samt hashtags",
   "search_popout.tips.user": "bruger",
   "search_results.accounts": "Personer",
   "search_results.hashtags": "Hashtags",
-  "search_results.statuses": "Trut",
+  "search_results.statuses": "Indlæg",
   "search_results.statuses_fts_disabled": "På denne Mastodon-server er trutsøgning efter deres indhold ikke aktiveret.",
   "search_results.total": "{count, number} {count, plural, one {resultat} other {resultater}}",
   "status.admin_account": "Åbn modereringsbrugerflade for @{name}",
   "status.admin_status": "Åbn dette trut i modereringsbrugerflade",
   "status.block": "Blokér @{name}",
-  "status.bookmark": "Bogmærke",
+  "status.bookmark": "Tilføj bogmærke",
   "status.cancel_reblog_private": "Fjern fremhævning",
-  "status.cannot_reblog": "Dette indlæg kan ikke fremhæves",
+  "status.cannot_reblog": "Indlægget kan ikke fremhæves",
   "status.copy": "Kopiér link til trut",
   "status.delete": "Slet",
-  "status.detailed_status": "Detaljeret konversationsvisning",
+  "status.detailed_status": "Detaljeret samtalevisning",
   "status.direct": "Direkte besked til @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Indlejr",
   "status.favourite": "Favorit",
   "status.filtered": "Filtreret",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Indlæs mere",
   "status.media_hidden": "Medie skjult",
   "status.mention": "Nævn @{name}",
   "status.more": "Mere",
-  "status.mute": "Tavsgør @{name}",
-  "status.mute_conversation": "Tavsgør konversation",
-  "status.open": "Udvid dette trut",
+  "status.mute": "Skjul @{name}",
+  "status.mute_conversation": "Skjul samtale",
+  "status.open": "Udvid indlægget",
   "status.pin": "Fastgør til profil",
   "status.pinned": "Fastgjort trut",
   "status.read_more": "Læs mere",
   "status.reblog": "Fremhæv",
   "status.reblog_private": "Fremhæv med oprindelig synlighed",
   "status.reblogged_by": "{name} fremhævet",
-  "status.reblogs.empty": "Ingen har endnu fremhævet dette trut. Når nogen gør, vil det fremgå hér.",
+  "status.reblogs.empty": "Ingen har fremhævet indlægget endnu. Når nogen gør, vil det fremgå hér.",
   "status.redraft": "Slet og omskriv",
   "status.remove_bookmark": "Fjern bogmærke",
   "status.reply": "Besvar",
-  "status.replyAll": "Besvar til tråd",
+  "status.replyAll": "Svar på tråd",
   "status.report": "Anmeld @{name}",
-  "status.sensitive_warning": "Sensitivt indhold",
+  "status.sensitive_warning": "Følsomt indhold",
   "status.share": "Del",
   "status.show_less": "Vis mindre",
   "status.show_less_all": "Vis mindre for alle",
@@ -426,11 +442,11 @@
   "status.show_more_all": "Vis mere for alle",
   "status.show_thread": "Vis tråd",
   "status.uncached_media_warning": "Utilgængelig",
-  "status.unmute_conversation": "Genaktivér konversation",
+  "status.unmute_conversation": "Genaktivér samtale",
   "status.unpin": "Frigør fra profil",
   "suggestions.dismiss": "Afvis foreslag",
   "suggestions.header": "Du er måske interesseret i…",
-  "tabs_bar.federated_timeline": "Forenede",
+  "tabs_bar.federated_timeline": "Fælles",
   "tabs_bar.home": "Hjem",
   "tabs_bar.local_timeline": "Lokal",
   "tabs_bar.notifications": "Notifikationer",
@@ -438,7 +454,7 @@
   "time_remaining.days": "{number, plural, one {# dag} other {# dage}} tilbage",
   "time_remaining.hours": "{number, plural, one {# time} other {# timer}} tilbage",
   "time_remaining.minutes": "{number, plural, one {# minut} other {# minutter}} tilbage",
-  "time_remaining.moments": "Få øjeblikke tilbage",
+  "time_remaining.moments": "Et øjeblik tilbage",
   "time_remaining.seconds": "{number, plural, one {# sekund} other {# sekunder}} tilbage",
   "timeline_hint.remote_resource_not_displayed": "{resource} fra andre servere vises ikke.",
   "timeline_hint.resources.followers": "Følgere",
@@ -446,13 +462,13 @@
   "timeline_hint.resources.statuses": "Ældre indlæg",
   "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} personer}} taler",
   "trends.trending_now": "Hot lige nu",
-  "ui.beforeunload": "Dit udkast går tabt, hvis du forlader Mastodon.",
-  "units.short.billion": "{count}MI",
+  "ui.beforeunload": "Dit udkast går tabt, hvis du lukker Mastodon.",
+  "units.short.billion": "{count}G",
   "units.short.million": "{count}M",
-  "units.short.thousand": "{count}K",
+  "units.short.thousand": "{count}k",
   "upload_area.title": "Træk og slip for at uploade",
   "upload_button.label": "Tilføj billeder, en video- eller lydfil",
-  "upload_error.limit": "Filuploadgrænse nået.",
+  "upload_error.limit": "Grænse for filupload nået.",
   "upload_error.poll": "Filupload ikke tilladt for afstemninger.",
   "upload_form.audio_description": "Beskrivelse til hørehæmmede",
   "upload_form.description": "Beskrivelse til svagtseende",
@@ -462,9 +478,9 @@
   "upload_form.video_description": "Beskrivelse for hørehæmmede eller synshandicappede personer",
   "upload_modal.analyzing_picture": "Analyserer billede…",
   "upload_modal.apply": "Anvend",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Effektuerer…",
   "upload_modal.choose_image": "Vælg billede",
-  "upload_modal.description_placeholder": "En hurtig brun ræv hopper over den dovne hund",
+  "upload_modal.description_placeholder": "Høj bly gom vandt fræk sexquiz på wc",
   "upload_modal.detect_text": "Detektér tekst i billede",
   "upload_modal.edit_media": "Redigér medie",
   "upload_modal.hint": "Klik eller træk cirklen i forhåndsvisningen for at vælge det fokuspunkt, der altid vil være synligt på alle miniaturer.",
@@ -477,8 +493,8 @@
   "video.expand": "Udvid video",
   "video.fullscreen": "Fuldskærm",
   "video.hide": "Skjul video",
-  "video.mute": "Tavsgør lyd",
+  "video.mute": "Sluk lyden",
   "video.pause": "Sæt på pause",
   "video.play": "Afspil",
-  "video.unmute": "Fjern lydtavsgørelse"
+  "video.unmute": "Tænd for lyden"
 }
diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json
index edc456992..a95883f28 100644
--- a/app/javascript/mastodon/locales/de.json
+++ b/app/javascript/mastodon/locales/de.json
@@ -47,16 +47,17 @@
   "account.unmute": "@{name} nicht mehr stummschalten",
   "account.unmute_notifications": "Benachrichtigungen von @{name} einschalten",
   "account_note.placeholder": "Notiz durch Klicken hinzufügen",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Durchschnitt",
+  "admin.dashboard.retention.cohort": "Anmeldemonat",
+  "admin.dashboard.retention.cohort_size": "Neue Benutzer",
   "alert.rate_limited.message": "Bitte versuche es nach {retry_time, time, medium}.",
   "alert.rate_limited.title": "Anfragelimit überschritten",
   "alert.unexpected.message": "Ein unerwarteter Fehler ist aufgetreten.",
   "alert.unexpected.title": "Hoppla!",
   "announcement.announcement": "Ankündigung",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(unverarbeitet)",
   "autosuggest_hashtag.per_week": "{count} pro Woche",
   "boost_modal.combo": "Drücke {combo}, um dieses Fenster zu überspringen",
   "bundle_column_error.body": "Etwas ist beim Laden schiefgelaufen.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Umfrage ändern, um eine einzige Wahl zu erlauben",
   "compose_form.publish": "Tröt",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Medien als NSFW markieren",
   "compose_form.sensitive.marked": "Medien sind als NSFW markiert",
   "compose_form.sensitive.unmarked": "Medien sind nicht als NSFW markiert",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "Bist du dir sicher, dass du diesen Beitrag löschen möchtest?",
   "confirmations.delete_list.confirm": "Löschen",
   "confirmations.delete_list.message": "Bist du dir sicher, dass du diese Liste permanent löschen möchtest?",
-  "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.discard_edit_media.confirm": "Verwerfen",
+  "confirmations.discard_edit_media.message": "Du hast ungespeicherte Änderungen an der Medienbeschreibung oder der Medienvorschau. Trotzdem verwerfen?",
   "confirmations.domain_block.confirm": "Die ganze Domain blockieren",
   "confirmations.domain_block.message": "Bist du dir wirklich sicher, dass du die ganze Domain {domain} blockieren willst? In den meisten Fällen reichen ein paar gezielte Blockierungen oder Stummschaltungen aus. Du wirst den Inhalt von dieser Domain nicht in irgendwelchen öffentlichen Timelines oder den Benachrichtigungen finden. Deine Folgenden von dieser Domain werden entfernt.",
   "confirmations.logout.confirm": "Abmelden",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Favorisierungen:",
   "notifications.column_settings.filter_bar.advanced": "Zeige alle Kategorien an",
   "notifications.column_settings.filter_bar.category": "Schnellfilterleiste",
-  "notifications.column_settings.filter_bar.show": "Anzeigen",
+  "notifications.column_settings.filter_bar.show_bar": "Filterleiste anzeigen",
   "notifications.column_settings.follow": "Neue Folgende:",
   "notifications.column_settings.follow_request": "Neue Folgeanfragen:",
   "notifications.column_settings.mention": "Erwähnungen:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "In der Spalte anzeigen",
   "notifications.column_settings.sound": "Ton abspielen",
   "notifications.column_settings.status": "Neue Beiträge:",
-  "notifications.column_settings.unread_markers.category": "Ungelesene Benachrichtigungsmarkierungen",
+  "notifications.column_settings.unread_notifications.category": "Ungelesene Benachrichtigungen",
+  "notifications.column_settings.unread_notifications.highlight": "Ungelesene Benachrichtigungen hervorheben",
   "notifications.filter.all": "Alle",
   "notifications.filter.boosts": "Geteilte Beiträge",
   "notifications.filter.favourites": "Favorisierungen",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# Stimme} other {# Stimmen}}",
   "poll.vote": "Abstimmen",
   "poll.voted": "Du hast dafür gestimmt",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# Stimme} other {# Stimmen}}",
   "poll_button.add_poll": "Eine Umfrage erstellen",
   "poll_button.remove_poll": "Umfrage entfernen",
   "privacy.change": "Sichtbarkeit des Beitrags anpassen",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Laden…",
   "regeneration_indicator.sublabel": "Deine Startseite wird gerade vorbereitet!",
   "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": "jetzt",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "heute",
   "reply_indicator.cancel": "Abbrechen",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "An {target} weiterleiten",
   "report.forward_hint": "Dieses Konto ist von einem anderen Server. Soll eine anonymisierte Kopie des Berichts auch dorthin geschickt werden?",
   "report.hint": "Der Bericht wird an die Moderatoren des Servers geschickt. Du kannst hier eine Erklärung angeben, warum du dieses Konto meldest:",
@@ -396,9 +407,14 @@
   "status.delete": "Löschen",
   "status.detailed_status": "Detaillierte Ansicht der Konversation",
   "status.direct": "Direktnachricht @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Einbetten",
   "status.favourite": "Favorisieren",
   "status.filtered": "Gefiltert",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Weitere laden",
   "status.media_hidden": "Medien versteckt",
   "status.mention": "@{name} erwähnen",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Beschreibe das Video für Menschen mit einer Hör- oder Sehbehinderung",
   "upload_modal.analyzing_picture": "Analysiere Bild…",
   "upload_modal.apply": "Übernehmen",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Anwenden…",
   "upload_modal.choose_image": "Bild auswählen",
   "upload_modal.description_placeholder": "Die heiße Zypernsonne quälte Max und Victoria ja böse auf dem Weg bis zur Küste",
   "upload_modal.detect_text": "Text aus Bild erkennen",
diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json
index 2c5f5fc74..08fd974c7 100644
--- a/app/javascript/mastodon/locales/defaultMessages.json
+++ b/app/javascript/mastodon/locales/defaultMessages.json
@@ -82,6 +82,23 @@
   {
     "descriptors": [
       {
+        "defaultMessage": "Other",
+        "id": "report.categories.other"
+      },
+      {
+        "defaultMessage": "Spam",
+        "id": "report.categories.spam"
+      },
+      {
+        "defaultMessage": "Content violates one or more server rules",
+        "id": "report.categories.violation"
+      }
+    ],
+    "path": "app/javascript/mastodon/components/admin/ReportReasonSelector.json"
+  },
+  {
+    "descriptors": [
+      {
         "defaultMessage": "Loading...",
         "id": "loading_indicator.label"
       },
@@ -98,8 +115,12 @@
         "id": "admin.dashboard.retention.average"
       },
       {
-        "defaultMessage": "Retention",
-        "id": "admin.dashboard.retention"
+        "defaultMessage": "User retention rate by day after sign-up",
+        "id": "admin.dashboard.daily_retention"
+      },
+      {
+        "defaultMessage": "User retention rate by month after sign-up",
+        "id": "admin.dashboard.monthly_retention"
       }
     ],
     "path": "app/javascript/mastodon/components/admin/Retention.json"
@@ -211,6 +232,27 @@
   {
     "descriptors": [
       {
+        "defaultMessage": "Edited {count, plural, one {{count} time} other {{count} times}}",
+        "id": "status.edited_x_times"
+      },
+      {
+        "defaultMessage": "{name} created {date}",
+        "id": "status.history.created"
+      },
+      {
+        "defaultMessage": "{name} edited {date}",
+        "id": "status.history.edited"
+      },
+      {
+        "defaultMessage": "Edited {date}",
+        "id": "status.edited"
+      }
+    ],
+    "path": "app/javascript/mastodon/components/edited_timestamp/index.json"
+  },
+  {
+    "descriptors": [
+      {
         "defaultMessage": "This page could not be displayed correctly. This error is likely caused by a browser add-on or automatic translation tools.",
         "id": "error.unexpected_crash.explanation_addons"
       },
@@ -382,22 +424,42 @@
         "id": "relative_time.just_now"
       },
       {
+        "defaultMessage": "just now",
+        "id": "relative_time.full.just_now"
+      },
+      {
         "defaultMessage": "{number}s",
         "id": "relative_time.seconds"
       },
       {
+        "defaultMessage": "{number, plural, one {# second} other {# seconds}} ago",
+        "id": "relative_time.full.seconds"
+      },
+      {
         "defaultMessage": "{number}m",
         "id": "relative_time.minutes"
       },
       {
+        "defaultMessage": "{number, plural, one {# minute} other {# minutes}} ago",
+        "id": "relative_time.full.minutes"
+      },
+      {
         "defaultMessage": "{number}h",
         "id": "relative_time.hours"
       },
       {
+        "defaultMessage": "{number, plural, one {# hour} other {# hours}} ago",
+        "id": "relative_time.full.hours"
+      },
+      {
         "defaultMessage": "{number}d",
         "id": "relative_time.days"
       },
       {
+        "defaultMessage": "{number, plural, one {# day} other {# days}} ago",
+        "id": "relative_time.full.days"
+      },
+      {
         "defaultMessage": "Moments remaining",
         "id": "time_remaining.moments"
       },
@@ -448,6 +510,10 @@
         "id": "status.redraft"
       },
       {
+        "defaultMessage": "Edit",
+        "id": "status.edit"
+      },
+      {
         "defaultMessage": "Direct message @{name}",
         "id": "status.direct"
       },
@@ -606,6 +672,10 @@
         "id": "privacy.direct.short"
       },
       {
+        "defaultMessage": "Edited {date}",
+        "id": "status.edited"
+      },
+      {
         "defaultMessage": "Filtered",
         "id": "status.filtered"
       },
@@ -1106,6 +1176,10 @@
       {
         "defaultMessage": "{publish}!",
         "id": "compose_form.publish_loud"
+      },
+      {
+        "defaultMessage": "Save changes",
+        "id": "compose_form.save_changes"
       }
     ],
     "path": "app/javascript/mastodon/features/compose/components/compose_form.json"
@@ -2594,6 +2668,10 @@
         "id": "status.redraft"
       },
       {
+        "defaultMessage": "Edit",
+        "id": "status.edit"
+      },
+      {
         "defaultMessage": "Direct message @{name}",
         "id": "status.direct"
       },
@@ -2921,6 +2999,19 @@
   {
     "descriptors": [
       {
+        "defaultMessage": "{name} created {date}",
+        "id": "status.history.created"
+      },
+      {
+        "defaultMessage": "{name} edited {date}",
+        "id": "status.history.edited"
+      }
+    ],
+    "path": "app/javascript/mastodon/features/ui/components/compare_history_modal.json"
+  },
+  {
+    "descriptors": [
+      {
         "defaultMessage": "Cancel",
         "id": "confirmation_modal.cancel"
       }
diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json
index 10e08cf97..78d071f66 100644
--- a/app/javascript/mastodon/locales/el.json
+++ b/app/javascript/mastodon/locales/el.json
@@ -47,16 +47,17 @@
   "account.unmute": "Διακοπή αποσιώπησης @{name}",
   "account.unmute_notifications": "Διακοπή αποσιώπησης ειδοποιήσεων του/της @{name}",
   "account_note.placeholder": "Κλικ για να βάλεις σημείωση",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.retention.cohort": "Μήνας εγγραφής",
+  "admin.dashboard.retention.cohort_size": "Νέοι χρήστες",
   "alert.rate_limited.message": "Παρακαλούμε δοκίμασε ξανά αφού περάσει η {retry_time, time, medium}.",
   "alert.rate_limited.title": "Περιορισμός συχνότητας",
   "alert.unexpected.message": "Προέκυψε απροσδόκητο σφάλμα.",
   "alert.unexpected.title": "Εεπ!",
   "announcement.announcement": "Ανακοίνωση",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(μη επεξεργασμένο)",
   "autosuggest_hashtag.per_week": "{count} ανα εβδομάδα",
   "boost_modal.combo": "Μπορείς να πατήσεις {combo} για να το προσπεράσεις αυτό την επόμενη φορά",
   "bundle_column_error.body": "Κάτι πήγε στραβά ενώ φορτωνόταν αυτό το στοιχείο.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Ενημέρωση δημοσκόπησης με μοναδική επιλογή",
   "compose_form.publish": "Τουτ",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Σημείωσε τα πολυμέσα ως ευαίσθητα",
   "compose_form.sensitive.marked": "Το πολυμέσο έχει σημειωθεί ως ευαίσθητο",
   "compose_form.sensitive.unmarked": "Το πολυμέσο δεν έχει σημειωθεί ως ευαίσθητο",
@@ -118,8 +120,8 @@
   "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.discard_edit_media.confirm": "Απόρριψη",
+  "confirmations.discard_edit_media.message": "Έχετε μη αποθηκευμένες αλλαγές στην περιγραφή πολυμέσων ή στην προεπισκόπηση, απορρίψτε τις ούτως ή άλλως;",
   "confirmations.domain_block.confirm": "Απόκρυψη ολόκληρου του τομέα",
   "confirmations.domain_block.message": "Σίγουρα θες να μπλοκάρεις ολόκληρο το {domain}; Συνήθως μερικά εστιασμένα μπλοκ ή αποσιωπήσεις επαρκούν και προτιμούνται. Δεν θα βλέπεις περιεχόμενο από αυτό τον κόμβο σε καμία δημόσια ροή, ούτε στις ειδοποιήσεις σου. Όσους ακόλουθους έχεις αυτό αυτό τον κόμβο θα αφαιρεθούν.",
   "confirmations.logout.confirm": "Αποσύνδεση",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Αγαπημένα:",
   "notifications.column_settings.filter_bar.advanced": "Εμφάνιση όλων των κατηγοριών",
   "notifications.column_settings.filter_bar.category": "Μπάρα γρήγορου φίλτρου",
-  "notifications.column_settings.filter_bar.show": "Εμφάνιση",
+  "notifications.column_settings.filter_bar.show_bar": "Εμφάνιση μπάρας φίλτρου",
   "notifications.column_settings.follow": "Νέοι ακόλουθοι:",
   "notifications.column_settings.follow_request": "Νέο αίτημα παρακολούθησης:",
   "notifications.column_settings.mention": "Αναφορές:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Εμφάνισε σε στήλη",
   "notifications.column_settings.sound": "Ηχητική ειδοποίηση",
   "notifications.column_settings.status": "Νέα τουτ:",
-  "notifications.column_settings.unread_markers.category": "Δείκτες μη αναγνωσμένων ειδοποιήσεων",
+  "notifications.column_settings.unread_notifications.category": "Μη αναγνωσμένες ειδοποιήσεις",
+  "notifications.column_settings.unread_notifications.highlight": "Επισήμανση μη αναγνωσμένων ειδοποιήσεων",
   "notifications.filter.all": "Όλες",
   "notifications.filter.boosts": "Προωθήσεις",
   "notifications.filter.favourites": "Αγαπημένα",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# ψήφος} other {# ψήφοι}}",
   "poll.vote": "Ψήφισε",
   "poll.voted": "Ψηφίσατε αυτήν την απάντηση",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# ψήφος} other {# ψήφοι}}",
   "poll_button.add_poll": "Προσθήκη δημοσκόπησης",
   "poll_button.remove_poll": "Αφαίρεση δημοσκόπησης",
   "privacy.change": "Προσαρμογή ιδιωτικότητας δημοσίευσης",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Φορτώνει…",
   "regeneration_indicator.sublabel": "Η αρχική σου ροή ετοιμάζεται!",
   "relative_time.days": "{number}η",
+  "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}ω",
   "relative_time.just_now": "τώρα",
   "relative_time.minutes": "{number}λ",
   "relative_time.seconds": "{number}δ",
   "relative_time.today": "σήμερα",
   "reply_indicator.cancel": "Άκυρο",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Προώθηση προς {target}",
   "report.forward_hint": "Ο λογαριασμός είναι από διαφορετικό διακομιστή. Να σταλεί ανώνυμο αντίγραφο της καταγγελίας κι εκεί;",
   "report.hint": "Η καταγγελία θα σταλεί στους διαχειριστές του κόμβου σου. Μπορείς να περιγράψεις γιατί καταγγέλεις αυτόν το λογαριασμό παρακάτω:",
@@ -396,9 +407,14 @@
   "status.delete": "Διαγραφή",
   "status.detailed_status": "Προβολή λεπτομερειών συζήτησης",
   "status.direct": "Προσωπικό μήνυμα προς @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Ενσωμάτωσε",
   "status.favourite": "Σημείωσε ως αγαπημένο",
   "status.filtered": "Φιλτραρισμένα",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Φόρτωσε περισσότερα",
   "status.media_hidden": "Κρυμμένο πολυμέσο",
   "status.mention": "Ανέφερε τον/την @{name}",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Περιγραφή για άτομα με προβλήματα ακοής ή όρασης",
   "upload_modal.analyzing_picture": "Ανάλυση εικόνας…",
   "upload_modal.apply": "Εφαρμογή",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Εφαρμογή…",
   "upload_modal.choose_image": "Επιλογή εικόνας",
   "upload_modal.description_placeholder": "Λύκος μαύρος και ισχνός του πατέρα του καημός",
   "upload_modal.detect_text": "Αναγνώριση κειμένου από την εικόνα",
diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json
index 9b18659dc..3591e5e4b 100644
--- a/app/javascript/mastodon/locales/en.json
+++ b/app/javascript/mastodon/locales/en.json
@@ -47,7 +47,8 @@
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
   "account_note.placeholder": "Click to add note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -108,6 +109,7 @@
   "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
@@ -368,12 +370,20 @@
   "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.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "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.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
@@ -402,9 +412,14 @@
   "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.filtered": "Filtered",
+  "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}",
diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json
index ac1f195b4..c3f7e3acd 100644
--- a/app/javascript/mastodon/locales/eo.json
+++ b/app/javascript/mastodon/locales/eo.json
@@ -47,16 +47,17 @@
   "account.unmute": "Malsilentigi @{name}",
   "account.unmute_notifications": "Malsilentigi sciigojn de @{name}",
   "account_note.placeholder": "Alklaku por aldoni noton",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Averaĝa",
+  "admin.dashboard.retention.cohort": "Registriĝo monato",
+  "admin.dashboard.retention.cohort_size": "Novaj uzantoj",
   "alert.rate_limited.message": "Bonvolu reprovi post {retry_time, time, medium}.",
   "alert.rate_limited.title": "Mesaĝkvante limigita",
   "alert.unexpected.message": "Neatendita eraro okazis.",
   "alert.unexpected.title": "Ups!",
   "announcement.announcement": "Anonco",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(neprilaborita)",
   "autosuggest_hashtag.per_week": "{count} semajne",
   "boost_modal.combo": "Vi povas premi {combo} por preterpasi sekvafoje",
   "bundle_column_error.body": "Io misfunkciis en la ŝargado de ĉi tiu elemento.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Ŝanĝi la balotenketon por permesi unu solan elekton",
   "compose_form.publish": "Hup",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Marki la aŭdovidaĵojn kiel tiklaj",
   "compose_form.sensitive.marked": "Aŭdovidaĵo markita tikla",
   "compose_form.sensitive.unmarked": "Aŭdovidaĵo ne markita tikla",
@@ -118,7 +120,7 @@
   "confirmations.delete.message": "Ĉu vi certas, ke vi volas forigi ĉi tiun mesaĝon?",
   "confirmations.delete_list.confirm": "Forigi",
   "confirmations.delete_list.message": "Ĉu vi certas, ke vi volas porĉiame forigi ĉi tiun liston?",
-  "confirmations.discard_edit_media.confirm": "Discard",
+  "confirmations.discard_edit_media.confirm": "Ne konservi",
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "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.",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Stelumoj:",
   "notifications.column_settings.filter_bar.advanced": "Montri ĉiujn kategoriojn",
   "notifications.column_settings.filter_bar.category": "Rapida filtra breto",
-  "notifications.column_settings.filter_bar.show": "Montri",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "Novaj sekvantoj:",
   "notifications.column_settings.follow_request": "Novaj petoj de sekvado:",
   "notifications.column_settings.mention": "Mencioj:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Montri en kolumno",
   "notifications.column_settings.sound": "Eligi sonon",
   "notifications.column_settings.status": "Novaj mesaĝoj:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Nelegitaj sciigoj",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "Ĉiuj",
   "notifications.filter.boosts": "Diskonigoj",
   "notifications.filter.favourites": "Stelumoj",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# voĉdono} other {# voĉdonoj}}",
   "poll.vote": "Voĉdoni",
   "poll.voted": "Vi elektis por ĉi tiu respondo",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# voĉdono} other {# voĉdonoj}}",
   "poll_button.add_poll": "Aldoni balotenketon",
   "poll_button.remove_poll": "Forigi balotenketon",
   "privacy.change": "Agordi mesaĝan privatecon",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Ŝargado…",
   "regeneration_indicator.sublabel": "Via hejma fluo pretiĝas!",
   "relative_time.days": "{number}t",
+  "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": "nun",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "hodiaŭ",
   "reply_indicator.cancel": "Nuligi",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Plusendi al {target}",
   "report.forward_hint": "La konto estas en alia servilo. Ĉu sendi sennomigitan kopion de la signalo ankaŭ tien?",
   "report.hint": "La signalo estos sendita al la kontrolantoj de via servilo. Vi povas doni klarigon pri kial vi signalas ĉi tiun konton sube:",
@@ -396,9 +407,14 @@
   "status.delete": "Forigi",
   "status.detailed_status": "Detala konversacia vido",
   "status.direct": "Rekte mesaĝi @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Enkorpigi",
   "status.favourite": "Stelumi",
   "status.filtered": "Filtrita",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Ŝargi pli",
   "status.media_hidden": "Aŭdovidaĵo kaŝita",
   "status.mention": "Mencii @{name}",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Priskribi por homoj kiuj malfacile aŭdi aŭ vidi",
   "upload_modal.analyzing_picture": "Bilda analizado…",
   "upload_modal.apply": "Apliki",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Apliki…",
   "upload_modal.choose_image": "Elekti bildon",
   "upload_modal.description_placeholder": "Laŭ Ludoviko Zamenhof bongustas freŝa ĉeĥa manĝaĵo kun spicoj",
   "upload_modal.detect_text": "Detekti tekston de la bildo",
diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json
index 08e9564da..d57be2717 100644
--- a/app/javascript/mastodon/locales/es-AR.json
+++ b/app/javascript/mastodon/locales/es-AR.json
@@ -47,16 +47,17 @@
   "account.unmute": "Dejar de silenciar a @{name}",
   "account.unmute_notifications": "Dejar de silenciar las notificaciones de @{name}",
   "account_note.placeholder": "Hacé clic par agregar una nota",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Promedio",
+  "admin.dashboard.retention.cohort": "Mes de registro",
+  "admin.dashboard.retention.cohort_size": "Nuevos usuarios",
   "alert.rate_limited.message": "Por favor, reintentá después de las {retry_time, time, medium}.",
   "alert.rate_limited.title": "Acción limitada",
   "alert.unexpected.message": "Ocurrió un error.",
   "alert.unexpected.title": "¡Epa!",
   "announcement.announcement": "Anuncio",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "[sin procesar]",
   "autosuggest_hashtag.per_week": "{count} por semana",
   "boost_modal.combo": "Podés hacer clic en {combo} para saltar esto la próxima vez",
   "bundle_column_error.body": "Algo salió mal al cargar este componente.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Cambiar encuesta para permitir una sola opción",
   "compose_form.publish": "Enviar",
   "compose_form.publish_loud": "¡{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Marcar medio como sensible",
   "compose_form.sensitive.marked": "{count, plural, one {El medio está marcado como sensible} other {Los medios están marcados como sensibles}}",
   "compose_form.sensitive.unmarked": "El medio no está marcado como sensible",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "¿Estás seguro que querés eliminar este mensaje?",
   "confirmations.delete_list.confirm": "Eliminar",
   "confirmations.delete_list.message": "¿Estás seguro que querés eliminar permanentemente esta lista?",
-  "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.discard_edit_media.confirm": "Descartar",
+  "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.logout.confirm": "Cerrar sesión",
@@ -267,7 +269,7 @@
   "lists.replies_policy.title": "Mostrar respuestas a:",
   "lists.search": "Buscar entre la gente que seguís",
   "lists.subheading": "Tus listas",
-  "load_pending": "{count, plural, one {# nuevo elemento} other {# nuevos elementos}}",
+  "load_pending": "{count, plural, one {# elemento nuevo} other {# elementos nuevos}}",
   "loading_indicator.label": "Cargando...",
   "media_gallery.toggle_visible": "Ocultar {number, plural, one {imagen} other {imágenes}}",
   "missing_indicator.label": "No se encontró",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Favoritos:",
   "notifications.column_settings.filter_bar.advanced": "Mostrar todas las categorías",
   "notifications.column_settings.filter_bar.category": "Barra de filtrado rápido",
-  "notifications.column_settings.filter_bar.show": "Mostrar",
+  "notifications.column_settings.filter_bar.show_bar": "Mostrar barra de filtros",
   "notifications.column_settings.follow": "Nuevos seguidores:",
   "notifications.column_settings.follow_request": "Nuevas solicitudes de seguimiento:",
   "notifications.column_settings.mention": "Menciones:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Mostrar en columna",
   "notifications.column_settings.sound": "Reproducir sonido",
   "notifications.column_settings.status": "Nuevos mensajes:",
-  "notifications.column_settings.unread_markers.category": "Indicadores de notificaciones no leídas",
+  "notifications.column_settings.unread_notifications.category": "Notificaciones sin leer",
+  "notifications.column_settings.unread_notifications.highlight": "Resaltar notificaciones no leídas",
   "notifications.filter.all": "Todas",
   "notifications.filter.boosts": "Adhesiones",
   "notifications.filter.favourites": "Favoritos",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# voto} other {# votos}}",
   "poll.vote": "Votar",
   "poll.voted": "Votaste esta opción",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# voto} other {# votos}}",
   "poll_button.add_poll": "Agregar encuesta",
   "poll_button.remove_poll": "Quitar encuesta",
   "privacy.change": "Configurar privacidad del mensaje",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Cargando…",
   "regeneration_indicator.sublabel": "¡Se está preparando tu línea temporal principal!",
   "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": "ahora",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "hoy",
   "reply_indicator.cancel": "Cancelar",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Reenviar a {target}",
   "report.forward_hint": "La cuenta es de otro servidor. ¿Querés enviar una copia anonimizada del informe también ahí?",
   "report.hint": "La denuncia se enviará a los moderadores de tu servidor. A continuación, podés proporcionar una explicación de por qué estás denunciando esta cuenta:",
@@ -396,9 +407,14 @@
   "status.delete": "Eliminar",
   "status.detailed_status": "Vista de conversación detallada",
   "status.direct": "Mensaje directo para @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Insertar",
   "status.favourite": "Marcar como favorito",
   "status.filtered": "Filtrado",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Cargar más",
   "status.media_hidden": "Medios ocultos",
   "status.mention": "Mencionar a @{name}",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Agregá una descripción para personas con dificultades auditivas o visuales",
   "upload_modal.analyzing_picture": "Analizando imagen…",
   "upload_modal.apply": "Aplicar",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Aplicando…",
   "upload_modal.choose_image": "Elegir imagen",
   "upload_modal.description_placeholder": "El veloz murciélago hindú comía feliz cardillo y kiwi. La cigüeña tocaba el saxofón detrás del palenque de paja.",
   "upload_modal.detect_text": "Detectar texto de la imagen",
diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json
index ffd159c02..ba56241ff 100644
--- a/app/javascript/mastodon/locales/es-MX.json
+++ b/app/javascript/mastodon/locales/es-MX.json
@@ -1,6 +1,6 @@
 {
   "account.account_note_header": "Nota",
-  "account.add_or_remove_from_list": "Agregar o eliminar de listas",
+  "account.add_or_remove_from_list": "Agregar o eliminar de las listas",
   "account.badges.bot": "Bot",
   "account.badges.group": "Grupo",
   "account.block": "Bloquear a @{name}",
@@ -47,16 +47,17 @@
   "account.unmute": "Dejar de silenciar a @{name}",
   "account.unmute_notifications": "Dejar de silenciar las notificaciones de @{name}",
   "account_note.placeholder": "Clic para añadir nota",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Promedio",
+  "admin.dashboard.retention.cohort": "Mes de registro",
+  "admin.dashboard.retention.cohort_size": "Nuevos usuarios",
   "alert.rate_limited.message": "Por favor reintente después de {retry_time, time, medium}.",
   "alert.rate_limited.title": "Tarifa limitada",
   "alert.unexpected.message": "Hubo un error inesperado.",
   "alert.unexpected.title": "¡Ups!",
   "announcement.announcement": "Anuncio",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(sin procesar)",
   "autosuggest_hashtag.per_week": "{count} por semana",
   "boost_modal.combo": "Puedes hacer clic en {combo} para saltar este aviso la próxima vez",
   "bundle_column_error.body": "Algo salió mal al cargar este componente.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Modificar encuesta para permitir una única opción",
   "compose_form.publish": "Tootear",
   "compose_form.publish_loud": "¡{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Marcar multimedia como sensible",
   "compose_form.sensitive.marked": "Material marcado como sensible",
   "compose_form.sensitive.unmarked": "Material no marcado como sensible",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "¿Estás seguro de que quieres borrar este toot?",
   "confirmations.delete_list.confirm": "Eliminar",
   "confirmations.delete_list.message": "¿Seguro que quieres borrar esta lista permanentemente?",
-  "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.discard_edit_media.confirm": "Descartar",
+  "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.logout.confirm": "Cerrar sesión",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Favoritos:",
   "notifications.column_settings.filter_bar.advanced": "Mostrar todas las categorías",
   "notifications.column_settings.filter_bar.category": "Barra de filtrado rápido",
-  "notifications.column_settings.filter_bar.show": "Mostrar",
+  "notifications.column_settings.filter_bar.show_bar": "Mostrar barra de filtros",
   "notifications.column_settings.follow": "Nuevos seguidores:",
   "notifications.column_settings.follow_request": "Nuevas solicitudes de seguimiento:",
   "notifications.column_settings.mention": "Menciones:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Mostrar en columna",
   "notifications.column_settings.sound": "Reproducir sonido",
   "notifications.column_settings.status": "Nuevos toots:",
-  "notifications.column_settings.unread_markers.category": "Indicadores de notificaciones no leídas",
+  "notifications.column_settings.unread_notifications.category": "Notificaciones sin leer",
+  "notifications.column_settings.unread_notifications.highlight": "Destacar notificaciones no leídas",
   "notifications.filter.all": "Todos",
   "notifications.filter.boosts": "Retoots",
   "notifications.filter.favourites": "Favoritos",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# voto} other {# votos}}",
   "poll.vote": "Votar",
   "poll.voted": "Has votado a favor de esta respuesta",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# voto} other {# votos}}",
   "poll_button.add_poll": "Añadir una encuesta",
   "poll_button.remove_poll": "Eliminar encuesta",
   "privacy.change": "Ajustar privacidad",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Cargando…",
   "regeneration_indicator.sublabel": "¡Tu historia de inicio se está preparando!",
   "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": "ahora",
   "relative_time.minutes": "{number} m",
   "relative_time.seconds": "{number} s",
   "relative_time.today": "hoy",
   "reply_indicator.cancel": "Cancelar",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Reenviar a {target}",
   "report.forward_hint": "Esta cuenta es de otro servidor. ¿Enviar una copia anonimizada del informe allí también?",
   "report.hint": "El informe se enviará a los moderadores de tu instancia. Puedes proporcionar una explicación de por qué informas sobre esta cuenta a continuación:",
@@ -396,9 +407,14 @@
   "status.delete": "Borrar",
   "status.detailed_status": "Vista de conversación detallada",
   "status.direct": "Mensaje directo a @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Incrustado",
   "status.favourite": "Favorito",
   "status.filtered": "Filtrado",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Cargar más",
   "status.media_hidden": "Contenido multimedia oculto",
   "status.mention": "Mencionar",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Describir para personas con problemas auditivos o visuales",
   "upload_modal.analyzing_picture": "Analizando imagen…",
   "upload_modal.apply": "Aplicar",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Aplicando…",
   "upload_modal.choose_image": "Elegir imagen",
   "upload_modal.description_placeholder": "Un rápido zorro marrón salta sobre el perro perezoso",
   "upload_modal.detect_text": "Detectar texto de la imagen",
diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json
index 058d6f977..d53811195 100644
--- a/app/javascript/mastodon/locales/es.json
+++ b/app/javascript/mastodon/locales/es.json
@@ -47,16 +47,17 @@
   "account.unmute": "Dejar de silenciar a @{name}",
   "account.unmute_notifications": "Dejar de silenciar las notificaciones de @{name}",
   "account_note.placeholder": "Clic para añadir nota",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Media",
+  "admin.dashboard.retention.cohort": "Mes de registro",
+  "admin.dashboard.retention.cohort_size": "Nuevos usuarios",
   "alert.rate_limited.message": "Por favor reintente después de {retry_time, time, medium}.",
   "alert.rate_limited.title": "Tarifa limitada",
   "alert.unexpected.message": "Hubo un error inesperado.",
   "alert.unexpected.title": "¡Ups!",
   "announcement.announcement": "Anuncio",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(sin procesar)",
   "autosuggest_hashtag.per_week": "{count} por semana",
   "boost_modal.combo": "Puedes hacer clic en {combo} para saltar este aviso la próxima vez",
   "bundle_column_error.body": "Algo salió mal al cargar este componente.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Modificar encuesta para permitir una única opción",
   "compose_form.publish": "Tootear",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Marcar material como sensible} other {Marcar material como sensible}}",
   "compose_form.sensitive.marked": "{count, plural, one {Material marcado como sensible} other {Material marcado como sensible}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Material no marcado como sensible} other {Material no marcado como sensible}}",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "¿Estás seguro de que quieres borrar esta publicación?",
   "confirmations.delete_list.confirm": "Eliminar",
   "confirmations.delete_list.message": "¿Seguro que quieres borrar esta lista permanentemente?",
-  "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.discard_edit_media.confirm": "Descartar",
+  "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.logout.confirm": "Cerrar sesión",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Favoritos:",
   "notifications.column_settings.filter_bar.advanced": "Mostrar todas las categorías",
   "notifications.column_settings.filter_bar.category": "Barra de filtrado rápido",
-  "notifications.column_settings.filter_bar.show": "Mostrar",
+  "notifications.column_settings.filter_bar.show_bar": "Mostrar barra de filtros",
   "notifications.column_settings.follow": "Nuevos seguidores:",
   "notifications.column_settings.follow_request": "Nuevas solicitudes de seguimiento:",
   "notifications.column_settings.mention": "Menciones:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Mostrar en columna",
   "notifications.column_settings.sound": "Reproducir sonido",
   "notifications.column_settings.status": "Nuevas publicaciones:",
-  "notifications.column_settings.unread_markers.category": "Indicadores de notificaciones no leídas",
+  "notifications.column_settings.unread_notifications.category": "Notificaciones sin leer",
+  "notifications.column_settings.unread_notifications.highlight": "Destacar notificaciones no leídas",
   "notifications.filter.all": "Todos",
   "notifications.filter.boosts": "Retoots",
   "notifications.filter.favourites": "Favoritos",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# voto} other {# votos}}",
   "poll.vote": "Votar",
   "poll.voted": "Has votado a favor de esta respuesta",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# voto} other {# votos}}",
   "poll_button.add_poll": "Añadir una encuesta",
   "poll_button.remove_poll": "Eliminar encuesta",
   "privacy.change": "Ajustar privacidad",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Cargando…",
   "regeneration_indicator.sublabel": "¡Tu historia de inicio se está preparando!",
   "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": "ahora",
   "relative_time.minutes": "{number} m",
   "relative_time.seconds": "{number} s",
   "relative_time.today": "hoy",
   "reply_indicator.cancel": "Cancelar",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Reenviar a {target}",
   "report.forward_hint": "Esta cuenta es de otro servidor. ¿Enviar una copia anonimizada del informe allí también?",
   "report.hint": "El informe se enviará a los moderadores de tu instancia. Puedes proporcionar una explicación de por qué informas sobre esta cuenta a continuación:",
@@ -396,9 +407,14 @@
   "status.delete": "Borrar",
   "status.detailed_status": "Vista de conversación detallada",
   "status.direct": "Mensaje directo a @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Incrustado",
   "status.favourite": "Favorito",
   "status.filtered": "Filtrado",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Cargar más",
   "status.media_hidden": "Contenido multimedia oculto",
   "status.mention": "Mencionar",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Describir para personas con problemas auditivos o visuales",
   "upload_modal.analyzing_picture": "Analizando imagen…",
   "upload_modal.apply": "Aplicar",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Aplicando…",
   "upload_modal.choose_image": "Elegir imagen",
   "upload_modal.description_placeholder": "Un rápido zorro marrón salta sobre el perro perezoso",
   "upload_modal.detect_text": "Detectar texto de la imagen",
diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json
index e71e56dee..c1c71a91a 100644
--- a/app/javascript/mastodon/locales/et.json
+++ b/app/javascript/mastodon/locales/et.json
@@ -47,7 +47,8 @@
   "account.unmute": "Ära vaigista @{name}",
   "account.unmute_notifications": "Ära vaigista teateid kasutajalt @{name}",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Muuda küsitlust lubamaks ainult ühte valikut",
   "compose_form.publish": "Tuut",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Märgista meedia tundlikuks",
   "compose_form.sensitive.marked": "Meedia on sensitiivseks märgitud",
   "compose_form.sensitive.unmarked": "Meedia ei ole sensitiivseks märgitud",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Lemmikud:",
   "notifications.column_settings.filter_bar.advanced": "Kuva kõik kategooriad",
   "notifications.column_settings.filter_bar.category": "Kiirfiltri riba",
-  "notifications.column_settings.filter_bar.show": "Kuva",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "Uued jälgijad:",
   "notifications.column_settings.follow_request": "Uued jälgimistaotlused:",
   "notifications.column_settings.mention": "Mainimised:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Kuva tulbas",
   "notifications.column_settings.sound": "Mängi heli",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "Kõik",
   "notifications.filter.boosts": "Upitused",
   "notifications.filter.favourites": "Lemmikud",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Laeb…",
   "regeneration_indicator.sublabel": "Teie kodu voog on ettevalmistamisel!",
   "relative_time.days": "{number}p",
+  "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}t",
   "relative_time.just_now": "nüüd",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "täna",
   "reply_indicator.cancel": "Tühista",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Edasta kasutajale {target}",
   "report.forward_hint": "See kasutaja on teisest serverist. Kas saadan anonümiseeritud koopia sellest teatest sinna ka?",
   "report.hint": "See teade saadetakse Teie serveri moderaatoritele. Te saate lisada selgituse selle kohta, miks selle kasutaja kohta teate esitasite, siin:",
@@ -396,9 +407,14 @@
   "status.delete": "Kustuta",
   "status.detailed_status": "Detailne vestluskuva",
   "status.direct": "Otsesõnum @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Sängita",
   "status.favourite": "Lemmik",
   "status.filtered": "Filtreeritud",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Lae veel",
   "status.media_hidden": "Meedia peidetud",
   "status.mention": "Mainimine @{name}",
diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json
index b457b7d45..4581dfe95 100644
--- a/app/javascript/mastodon/locales/eu.json
+++ b/app/javascript/mastodon/locales/eu.json
@@ -47,16 +47,17 @@
   "account.unmute": "Desmututu @{name}",
   "account.unmute_notifications": "Desmututu @{name}(r)en jakinarazpenak",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Batezbestekoa",
+  "admin.dashboard.retention.cohort": "Izen emate hilean",
+  "admin.dashboard.retention.cohort_size": "Erabiltzaile berriak",
   "alert.rate_limited.message": "Saiatu {retry_time, time, medium} barru.",
   "alert.rate_limited.title": "Abiadura mugatua",
   "alert.unexpected.message": "Ustekabeko errore bat gertatu da.",
   "alert.unexpected.title": "Ene!",
   "announcement.announcement": "Iragarpena",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(prozesatu gabe)",
   "autosuggest_hashtag.per_week": "{count} asteko",
   "boost_modal.combo": "{combo} sakatu dezakezu hurrengoan hau saltatzeko",
   "bundle_column_error.body": "Zerbait okerra gertatu da osagai hau kargatzean.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Aldatu inkesta aukera bakarra onartzeko",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Markatu multimedia hunkigarri gisa",
   "compose_form.sensitive.marked": "Multimedia edukia hunkigarri gisa markatu da",
   "compose_form.sensitive.unmarked": "Multimedia edukia ez da hunkigarri gisa markatu",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "Ziur bidalketa hau ezabatu nahi duzula?",
   "confirmations.delete_list.confirm": "Ezabatu",
   "confirmations.delete_list.message": "Ziur behin betiko ezabatu nahi duzula zerrenda hau?",
-  "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.discard_edit_media.confirm": "Baztertu",
+  "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.logout.confirm": "Amaitu saioa",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Gogokoak:",
   "notifications.column_settings.filter_bar.advanced": "Erakutsi kategoria guztiak",
   "notifications.column_settings.filter_bar.category": "Iragazki azkarraren barra",
-  "notifications.column_settings.filter_bar.show": "Erakutsi",
+  "notifications.column_settings.filter_bar.show_bar": "Erakutsi iragazki-barra",
   "notifications.column_settings.follow": "Jarraitzaile berriak:",
   "notifications.column_settings.follow_request": "Jarraitzeko eskaera berriak:",
   "notifications.column_settings.mention": "Aipamenak:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Erakutsi zutabean",
   "notifications.column_settings.sound": "Jo soinua",
   "notifications.column_settings.status": "Bidalketa berriak:",
-  "notifications.column_settings.unread_markers.category": "Irakurri gabeko jakinarazpenen markatzaileak",
+  "notifications.column_settings.unread_notifications.category": "Irakurri gabeko jakinarazpenak",
+  "notifications.column_settings.unread_notifications.highlight": "Nabarmendu irakurri gabeko jakinarazpenak",
   "notifications.filter.all": "Denak",
   "notifications.filter.boosts": "Bultzadak",
   "notifications.filter.favourites": "Gogokoak",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {boto #} other {# boto}}",
   "poll.vote": "Bozkatu",
   "poll.voted": "Erantzun honi eman diozu botoa",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {boto #} other {# boto}}",
   "poll_button.add_poll": "Gehitu inkesta bat",
   "poll_button.remove_poll": "Kendu inkesta",
   "privacy.change": "Aldatu bidalketaren pribatutasuna",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Kargatzen…",
   "regeneration_indicator.sublabel": "Zure hasiera-jarioa prestatzen ari da!",
   "relative_time.days": "{number}e",
+  "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": "orain",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "gaur",
   "reply_indicator.cancel": "Utzi",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Birbidali hona: {target}",
   "report.forward_hint": "Kontu hau beste zerbitzari batekoa da. Bidali txostenaren kopia anonimo hara ere?",
   "report.hint": "Txostena zure zerbitzariaren moderatzaileei bidaliko zaie. Kontu hau zergatik salatzen duzun behean azaldu dezakezu:",
@@ -396,9 +407,14 @@
   "status.delete": "Ezabatu",
   "status.detailed_status": "Elkarrizketaren ikuspegi xehetsua",
   "status.direct": "Mezu zuzena @{name}(r)i",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Txertatu",
   "status.favourite": "Gogokoa",
   "status.filtered": "Iragazita",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Kargatu gehiago",
   "status.media_hidden": "Multimedia ezkutatua",
   "status.mention": "Aipatu @{name}",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Deskribatu entzumen galera edo ikusmen urritasuna duten pertsonentzat",
   "upload_modal.analyzing_picture": "Irudia aztertzen…",
   "upload_modal.apply": "Aplikatu",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Aplikatzen…",
   "upload_modal.choose_image": "Aukeratu irudia",
   "upload_modal.description_placeholder": "Vaudeville itxurako filmean yogi ñaño bat jipoitzen dute Quebec-en whiski truk",
   "upload_modal.detect_text": "Antzeman testua iruditik",
diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json
index c0582da74..f36850dc2 100644
--- a/app/javascript/mastodon/locales/fa.json
+++ b/app/javascript/mastodon/locales/fa.json
@@ -1,11 +1,11 @@
 {
   "account.account_note_header": "یادداشت",
-  "account.add_or_remove_from_list": "افزودن یا برداشتن از فهرست‌ها",
-  "account.badges.bot": "ربات",
+  "account.add_or_remove_from_list": "افزودن یا برداشتن از سیاهه‌ها",
+  "account.badges.bot": "روبات",
   "account.badges.group": "گروه",
   "account.block": "مسدود کردن @{name}",
   "account.block_domain": "مسدود کردن دامنهٔ {domain}",
-  "account.blocked": "مسدود شده",
+  "account.blocked": "مسدود",
   "account.browse_more_on_origin_server": "مرور بیش‌تر روی نمایهٔ اصلی",
   "account.cancel_follow_request": "لغو درخواست پی‌گیری",
   "account.direct": "پیام مستقیم به @{name}",
@@ -20,7 +20,7 @@
   "account.followers_counter": "{count, plural, one {{counter} پی‌گیرنده} other {{counter} پی‌گیرنده}}",
   "account.following_counter": "{count, plural, one {{counter} پی‌گرفته} other {{counter} پی‌گرفته}}",
   "account.follows.empty": "این کاربر هنوز پی‌گیر کسی نیست.",
-  "account.follows_you": "پی‌گیر شماست",
+  "account.follows_you": "پی می‌گیردتان",
   "account.hide_reblogs": "نهفتن تقویت‌های @{name}",
   "account.joined": "پیوسته از {date}",
   "account.last_status": "آخرین فعّالیت",
@@ -47,23 +47,24 @@
   "account.unmute": "ناخموشی @{name}",
   "account.unmute_notifications": "ناخموشی آگاهی‌ها از @{name}",
   "account_note.placeholder": "برای افزودن یادداشت کلیک کنید",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "میانگین",
+  "admin.dashboard.retention.cohort": "ماه ثبت‌نام",
+  "admin.dashboard.retention.cohort_size": "کاربران جدید",
   "alert.rate_limited.message": "لطفاً پس از {retry_time, time, medium} دوباره بیازمایید.",
   "alert.rate_limited.title": "محدودیت تعداد",
   "alert.unexpected.message": "خطایی غیرمنتظره رخ داد.",
   "alert.unexpected.title": "ای وای!",
   "announcement.announcement": "اعلامیه",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(پردازش نشده)",
   "autosuggest_hashtag.per_week": "{count} در هفته",
   "boost_modal.combo": "دکمهٔ {combo} را بزنید تا دیگر این را نبینید",
-  "bundle_column_error.body": "هنگام بارگزاری این بخش خطایی رخ داد.",
+  "bundle_column_error.body": "هنگام بار کردن این مولفه، اشتباهی رخ داد.",
   "bundle_column_error.retry": "تلاش دوباره",
   "bundle_column_error.title": "خطای شبکه",
   "bundle_modal_error.close": "بستن",
-  "bundle_modal_error.message": "هنگام بارگزاری این بخش خطایی رخ داد.",
+  "bundle_modal_error.message": "هنگام بار کردن این مولفه، اشتباهی رخ داد.",
   "bundle_modal_error.retry": "تلاش دوباره",
   "column.blocks": "کاربران مسدود شده",
   "column.bookmarks": "نشانک‌ها",
@@ -74,7 +75,7 @@
   "column.favourites": "پسندیده‌ها",
   "column.follow_requests": "درخواست‌های پی‌گیری",
   "column.home": "خانه",
-  "column.lists": "فهرست‌ها",
+  "column.lists": "سیاهه‌ها",
   "column.mutes": "کاربران خموش",
   "column.notifications": "آگاهی‌ها",
   "column.pins": "فرسته‌های سنجاق‌شده",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "تبدیل به نظرسنجی تک‌گزینه‌ای",
   "compose_form.publish": "بوق",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {علامت‌گذاری رسانه به عنوان حساس} other {علامت‌گذاری رسانه‌ها به عنوان حساس}}",
   "compose_form.sensitive.marked": "{count, plural, one {رسانه به عنوان حساس علامت‌گذاری شد} other {رسانه‌ها به عنوان حساس علامت‌گذاری شدند}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {رسانه به عنوان حساس علامت‌گذاری نشد} other {رسانه‌ها به عنوان حساس علامت‌گذاری نشدند}}",
@@ -117,9 +119,9 @@
   "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.delete_list.message": "مطمئنید می‌خواهید این سیاهه را برای همیشه حذف کنید؟",
+  "confirmations.discard_edit_media.confirm": "دور انداختن",
+  "confirmations.discard_edit_media.message": "تغییرات ذخیره نشده‌ای در توضیحات یا پیش‌نمایش رسانه دارید. همگی نادیده گرفته شوند؟",
   "confirmations.domain_block.confirm": "مسدود کردن تمام دامنه",
   "confirmations.domain_block.message": "آیا جدی جدی می‌خواهید تمام دامنهٔ {domain} را مسدود کنید؟ در بیشتر موارد مسدود کردن یا خموشاندن چند حساب خاص کافی است و توصیه می‌شود. پس از این کار شما هیچ محتوایی را از این دامنه در خط زمانی عمومی یا آگاهی‌هایتان نخواهید دید. پی‌گیرانتان از این دامنه هم برداشته خواهند شد.",
   "confirmations.logout.confirm": "خروج از حساب",
@@ -170,12 +172,12 @@
   "empty_column.follow_recommendations": "ظاهرا هیچ پیشنهادی برای شما نمی‌توانیم تولید کنیم. می‌توانید از امکان جست‌وجو برای یافتن افرادی که ممکن است بشناسید و یا کاوش میان برچسب‌های داغ استفاده کنید.",
   "empty_column.follow_requests": "شما هنوز هیچ درخواست پی‌گیری‌ای ندارید. هنگامی که چنین درخواستی بگیرید، این‌جا نشان داده خواهد شد.",
   "empty_column.hashtag": "هنوز هیچ چیزی در این برچسب نیست.",
-  "empty_column.home": "خط زمانی خانگی شما خالی است! افراد بیشتری را پی‌گیری کنید تا پُر شود. {suggestions}",
+  "empty_column.home": "خط زمانی خانگیتان خالی است! برای پر کردنش، افراد بیشتری را پی بگیرید. {suggestions}",
   "empty_column.home.suggestions": "چند پیشنهاد را ببینید",
-  "empty_column.list": "در این فهرست هنوز چیزی نیست. هنگامی که اعضای این فهرست چیزی بفرستند، این‌جا ظاهر خواهد شد.",
-  "empty_column.lists": "هنوز هیچ فهرستی ندارید. هنگامی که فهرستی بسازید، این‌جا نشان داده خواهد شد.",
+  "empty_column.list": "هنوز چیزی در این سیاهه نیست. هنگامی که اعضایش فرسته‌های جدیدی بفرستند، این‌جا ظاهر خواهند شد.",
+  "empty_column.lists": "هنوز هیچ سیاهه‌ای ندارید. هنگامی که یکی بسازید، این‌جا نشان داده خواهد شد.",
   "empty_column.mutes": "هنوز هیچ کاربری را خموش نکرده‌اید.",
-  "empty_column.notifications": "هنوز هیچ اعلانی ندارید. به دیگران واکنش نشان دهید تا گفتگو آغاز شود.",
+  "empty_column.notifications": "هنوز هیچ آگاهی‌آی ندارید. هنگامی که دیگران با شما برهم‌کنش داشته باشند،‌این‌حا خواهید دیدش.",
   "empty_column.public": "این‌جا هنوز چیزی نیست! خودتان چیزی بنویسید یا کاربران کارسازهای دیگر را پی‌گیری کنید تا این‌جا پُر شود",
   "error.unexpected_crash.explanation": "به خاطر اشکالی در کدهای ما یا ناسازگاری با مرورگر شما، این صفحه به درستی نمایش نیافت.",
   "error.unexpected_crash.explanation_addons": "این صفحه نمی‌تواند درست نشان داده شود. احتمالاً این خطا ناشی از یک افزونهٔ مرورگر یا ابزار ترجمهٔ خودکار است.",
@@ -216,16 +218,16 @@
   "intervals.full.hours": "{number, plural, one {# ساعت} other {# ساعت}}",
   "intervals.full.minutes": "{number, plural, one {# دقیقه} other {# دقیقه}}",
   "keyboard_shortcuts.back": "بازگشت",
-  "keyboard_shortcuts.blocked": "گشودن فهرست کاربران مسدود شده",
+  "keyboard_shortcuts.blocked": "گشودن سیاههٔ کاربران مسدود",
   "keyboard_shortcuts.boost": "تقویت فرسته",
   "keyboard_shortcuts.column": "برای تمرکز روی یک فرسته در یکی از ستون‌ها",
   "keyboard_shortcuts.compose": "تمرکز روی محیط نوشتن",
   "keyboard_shortcuts.description": "توضیح",
   "keyboard_shortcuts.direct": "گشودن ستون پیام‌های مستقیم",
-  "keyboard_shortcuts.down": "پایین رفتن در فهرست",
+  "keyboard_shortcuts.down": "پایین بردن در سیاهه",
   "keyboard_shortcuts.enter": "گشودن فرسته",
   "keyboard_shortcuts.favourite": "پسندیدن فرسته",
-  "keyboard_shortcuts.favourites": "گشودن فهرست پسندیده‌ها",
+  "keyboard_shortcuts.favourites": "گشودن سیاههٔ برگزیده‌ها",
   "keyboard_shortcuts.federated": "گشودن خط زمانی همگانی",
   "keyboard_shortcuts.heading": "میان‌برهای صفحه‌کلید",
   "keyboard_shortcuts.home": "گشودن خط زمانی خانگی",
@@ -237,10 +239,10 @@
   "keyboard_shortcuts.my_profile": "گشودن نمایه‌تان",
   "keyboard_shortcuts.notifications": "گشودن ستون آگاهی‌ها",
   "keyboard_shortcuts.open_media": "گشودن رسانه",
-  "keyboard_shortcuts.pinned": "گشودن فهرست فرسته‌های سنجاق‌شده",
+  "keyboard_shortcuts.pinned": "گشودن سیاههٔ فرسته‌های سنجاق شده",
   "keyboard_shortcuts.profile": "گشودن نمایهٔ نویسنده",
   "keyboard_shortcuts.reply": "پاسخ به فرسته",
-  "keyboard_shortcuts.requests": "گشودن فهرست درخواست‌های پی‌گیری",
+  "keyboard_shortcuts.requests": "گشودن سیاههٔ درخواست‌های پی‌گیری",
   "keyboard_shortcuts.search": "تمرکز روی جست‌وجو",
   "keyboard_shortcuts.spoilers": "نمایش/نهفتن زمینهٔ هشدار محتوا",
   "keyboard_shortcuts.start": "گشودن ستون «آغاز کنید»",
@@ -248,32 +250,32 @@
   "keyboard_shortcuts.toggle_sensitivity": "نمایش/نهفتن رسانه",
   "keyboard_shortcuts.toot": "شروع یک فرستهٔ جدید",
   "keyboard_shortcuts.unfocus": "برداشتن تمرکز از نوشتن/جست‌وجو",
-  "keyboard_shortcuts.up": "بالا رفتن در فهرست",
+  "keyboard_shortcuts.up": "بالا بردن در سیاهه",
   "lightbox.close": "بستن",
   "lightbox.compress": "فشرده‌سازی جعبهٔ نمایش تصویر",
   "lightbox.expand": "گسترش جعبهٔ نمایش تصویر",
   "lightbox.next": "بعدی",
   "lightbox.previous": "قبلی",
-  "lists.account.add": "افزودن به فهرست",
-  "lists.account.remove": "برداشتن از فهرست",
-  "lists.delete": "حذف فهرست",
-  "lists.edit": "ویرایش فهرست",
+  "lists.account.add": "افزودن به سیاهه",
+  "lists.account.remove": "برداشتن از سیاهه",
+  "lists.delete": "حذف سیاهه",
+  "lists.edit": "ویرایش سیاهه",
   "lists.edit.submit": "تغییر عنوان",
-  "lists.new.create": "افزودن فهرست",
-  "lists.new.title_placeholder": "عنوان فهرست جدید",
+  "lists.new.create": "افزودن سیاهه",
+  "lists.new.title_placeholder": "عنوان سیاههٔ جدید",
   "lists.replies_policy.followed": "هر کاربر پی‌گرفته",
-  "lists.replies_policy.list": "اعضای فهرست",
+  "lists.replies_policy.list": "اعضای سیاهه",
   "lists.replies_policy.none": "هیچ کدام",
   "lists.replies_policy.title": "نمایش پاسخ‌ها به:",
   "lists.search": "جست‌وجو بین کسانی که پی‌گرفته‌اید",
-  "lists.subheading": "فهرست‌های شما",
+  "lists.subheading": "سیاهه‌هایتان",
   "load_pending": "{count, plural, one {# مورد جدید} other {# مورد جدید}}",
-  "loading_indicator.label": "بارگزاری...",
+  "loading_indicator.label": "بار کردن…",
   "media_gallery.toggle_visible": "{number, plural, one {نهفتن تصویر} other {نهفتن تصاویر}}",
   "missing_indicator.label": "پیدا نشد",
   "missing_indicator.sublabel": "این منبع پیدا نشد",
   "mute_modal.duration": "مدت زمان",
-  "mute_modal.hide_notifications": "اعلان‌های این کاربر پنهان شود؟",
+  "mute_modal.hide_notifications": "نهفتن آگاهی‌ها از این کاربر؟",
   "mute_modal.indefinite": "نامعلوم",
   "navigation_bar.apps": "برنامه‌های تلفن همراه",
   "navigation_bar.blocks": "کاربران مسدود شده",
@@ -290,7 +292,7 @@
   "navigation_bar.follows_and_followers": "پی‌گرفتگان و پی‌گیرندگان",
   "navigation_bar.info": "دربارهٔ این کارساز",
   "navigation_bar.keyboard_shortcuts": "میان‌برها",
-  "navigation_bar.lists": "فهرست‌ها",
+  "navigation_bar.lists": "سیاهه‌ها",
   "navigation_bar.logout": "خروج",
   "navigation_bar.mutes": "کاربران خموشانده",
   "navigation_bar.personal": "شخصی",
@@ -306,23 +308,24 @@
   "notification.poll": "نظرسنجی‌ای که در آن رأی دادید به پایان رسیده است",
   "notification.reblog": "‫{name}‬ فرسته‌تان را تقویت کرد",
   "notification.status": "{name} چیزی فرستاد",
-  "notifications.clear": "پاک‌کردن آگاهی‌ها",
+  "notifications.clear": "پاک‌سازی آگاهی‌ها",
   "notifications.clear_confirmation": "مطمئنید می‌خواهید همهٔ آگاهی‌هایتان را برای همیشه پاک کنید؟",
   "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": "نمایش",
+  "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.push": "آگاهی‌های ارسالی",
   "notifications.column_settings.reblog": "تقویت‌ها:",
   "notifications.column_settings.show": "نمایش در ستون",
   "notifications.column_settings.sound": "پخش صدا",
   "notifications.column_settings.status": "فرسته‌های جدید:",
-  "notifications.column_settings.unread_markers.category": "نشانه‌گذارهای آگاهی‌های خوانده‌نشده",
+  "notifications.column_settings.unread_notifications.category": "آگاهی‌های خوانده نشده",
+  "notifications.column_settings.unread_notifications.highlight": "پررنگ کردن آگاهی‌های خوانده نشده",
   "notifications.filter.all": "همه",
   "notifications.filter.boosts": "تقویت‌ها",
   "notifications.filter.favourites": "پسندها",
@@ -335,9 +338,9 @@
   "notifications.mark_as_read": "نشانه‌گذاری تمام آگاهی‌ها به خوانده‌شده",
   "notifications.permission_denied": "آگاهی‌های میزکار به دلیل رد کردن درخواست اجازهٔ پیشین مرورگر، در دسترس نیستند",
   "notifications.permission_denied_alert": "از آن‌جا که پیش از این اجازهٔ مرورگر رد شده است، آگاهی‌های میزکار نمی‌توانند به کار بیفتند",
-  "notifications.permission_required": "اعلان‌های میزکار در دسترس نیستند زیرا نیازمند مجوزی هستند که اعطا نشده است.",
+  "notifications.permission_required": "آگاهی‌های میزکار در دسترس نیستند زیرا اجازه‌های لازم، اعطا نشده.",
   "notifications_permission_banner.enable": "به کار انداختن آگاهی‌های میزکار",
-  "notifications_permission_banner.how_to_control": "اگر می‌خواهید حتی زمانی که ماستودون باز نیست اعلان‌ها نمایش یابند، اعلان‌های میزکار را فعال کنید. به محض فعال شدن از طریق دکمه {icon} بالا می‌توانید به دقت کنترل کنید که چه نوع از تعامل‌ها باعث صادر شدن اعلان‌ها شوند.",
+  "notifications_permission_banner.how_to_control": "برای دریافت آگاهی‌ها هنگام باز نبودن ماستودون، آگاهی‌های میزکار را به کار بیندازید. پس از به کار افتادنشان می‌توانید گونه‌های دقیق برهم‌کنش‌هایی که آگاهی‌های میزکار تولید می‌کنند را از {icon} بالا واپایید.",
   "notifications_permission_banner.title": "هرگز چیزی را از دست ندهید",
   "picture_in_picture.restore": "برگرداندن",
   "poll.closed": "پایان‌یافته",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# رأی} other {# رأی}}",
   "poll.vote": "رأی",
   "poll.voted": "شما به این جواب رأی دادید",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "# رأی",
   "poll_button.add_poll": "افزودن نظرسنجی",
   "poll_button.remove_poll": "برداشتن نظرسنجی",
   "privacy.change": "تغییر محرمانگی فرسته",
@@ -357,17 +360,25 @@
   "privacy.public.long": "نمایان برای همه، در خط‌های زمانی همگانی نمایش داده خواهد شد",
   "privacy.public.short": "عمومی",
   "privacy.unlisted.long": "نمایان برای همه، ولی در خط‌های زمانی همگانی نمایش داده نخواهد شد",
-  "privacy.unlisted.short": "فهرست‌نشده",
+  "privacy.unlisted.short": "فهرست نشده",
   "refresh": "نوسازی",
   "regeneration_indicator.label": "در حال بار شدن…",
-  "regeneration_indicator.sublabel": "این فهرست دارد آماده می‌شود!",
+  "regeneration_indicator.sublabel": "خوراک خانگیان دارد آماده می‌شود!",
   "relative_time.days": "{number} روز",
+  "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} ساعت",
   "relative_time.just_now": "حالا",
   "relative_time.minutes": "{number} دقیقه",
   "relative_time.seconds": "{number} ثانیه",
   "relative_time.today": "امروز",
   "reply_indicator.cancel": "لغو",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "فرستادن به {target}",
   "report.forward_hint": "این حساب در کارساز دیگری ثبت شده. آیا می‌خواهید رونوشتی ناشناس از این گزارش به آن‌جا هم فرستاده شود؟",
   "report.hint": "این گزارش به مدیران کارسازتان فرستاده خواهد شد. می‌توانید دلیل گزارش این حساب را در ادامه بنویسید:",
@@ -396,10 +407,15 @@
   "status.delete": "حذف",
   "status.detailed_status": "نمایش کامل گفتگو",
   "status.direct": "پیام مستقیم به @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "جاگذاری",
   "status.favourite": "پسندیدن",
   "status.filtered": "پالایش‌شده",
-  "status.load_more": "بارگزاری بیشتر",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
+  "status.load_more": "بار کردن بیش‌تر",
   "status.media_hidden": "رسانهٔ نهفته",
   "status.mention": "نام‌بردن از @{name}",
   "status.more": "بیشتر",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "برای کم‌بینایان یا ناشنوایان توصیفش کنید",
   "upload_modal.analyzing_picture": "در حال پردازش تصویر…",
   "upload_modal.apply": "اعمال",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "اعمال کردن…",
   "upload_modal.choose_image": "گزینش تصویر",
   "upload_modal.description_placeholder": "الا یا ایّها الساقی، ادر کأساً و ناولها",
   "upload_modal.detect_text": "تشخیص متن درون عکس",
diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json
index a5c2d2da3..071b33a4f 100644
--- a/app/javascript/mastodon/locales/fi.json
+++ b/app/javascript/mastodon/locales/fi.json
@@ -9,10 +9,10 @@
   "account.browse_more_on_origin_server": "Selaile lisää alkuperäisellä palvelimella",
   "account.cancel_follow_request": "Peruuta seurauspyyntö",
   "account.direct": "Pikaviesti käyttäjälle @{name}",
-  "account.disable_notifications": "Lopeta ilmoittamasta minulle, kun @{name} viestii",
+  "account.disable_notifications": "Lopeta @{name}:n julkaisuista ilmoittaminen",
   "account.domain_blocked": "Verkko-osoite piilotettu",
   "account.edit_profile": "Muokkaa profiilia",
-  "account.enable_notifications": "Ilmoita minulle, kun @{name} viestii",
+  "account.enable_notifications": "Ilmoita @{name}:n julkaisuista",
   "account.endorse": "Suosittele profiilissasi",
   "account.follow": "Seuraa",
   "account.followers": "Seuraajat",
@@ -43,20 +43,21 @@
   "account.unblock": "Salli @{name}",
   "account.unblock_domain": "Salli {domain}",
   "account.unendorse": "Poista suosittelu profiilistasi",
-  "account.unfollow": "Lakkaa seuraamasta",
+  "account.unfollow": "Lopeta seuraaminen",
   "account.unmute": "Poista käyttäjän @{name} mykistys",
   "account.unmute_notifications": "Poista mykistys käyttäjän @{name} ilmoituksilta",
   "account_note.placeholder": "Lisää muistiinpano napsauttamalla",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Keskimäärin",
+  "admin.dashboard.retention.cohort": "Kirjautumiset",
+  "admin.dashboard.retention.cohort_size": "Uudet käyttäjät",
   "alert.rate_limited.message": "Yritä uudestaan {retry_time, time, medium} jälkeen.",
   "alert.rate_limited.title": "Määrää rajoitettu",
   "alert.unexpected.message": "Tapahtui odottamaton virhe.",
   "alert.unexpected.title": "Hups!",
   "announcement.announcement": "Ilmoitus",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(käsittelemätön)",
   "autosuggest_hashtag.per_week": "{count} viikossa",
   "boost_modal.combo": "Ensi kerralla voit ohittaa tämän painamalla {combo}",
   "bundle_column_error.body": "Jokin meni vikaan komponenttia ladattaessa.",
@@ -77,7 +78,7 @@
   "column.lists": "Listat",
   "column.mutes": "Mykistetyt käyttäjät",
   "column.notifications": "Ilmoitukset",
-  "column.pins": "Kiinnitetyt tuuttaukset",
+  "column.pins": "Kiinnitetyt julkaisut",
   "column.public": "Yleinen aikajana",
   "column_back_button.label": "Takaisin",
   "column_header.hide_settings": "Piilota asetukset",
@@ -92,7 +93,7 @@
   "community.column_settings.remote_only": "Vain etäkäyttö",
   "compose_form.direct_message_warning": "Tämä viesti näkyy vain mainituille käyttäjille.",
   "compose_form.direct_message_warning_learn_more": "Lisätietoja",
-  "compose_form.hashtag_warning": "Tämä tuuttaus ei näy hashtag-hauissa, koska se on listaamaton. Hashtagien avulla voi hakea vain julkisia tuuttauksia.",
+  "compose_form.hashtag_warning": "Tätä julkaisua listata minkään hastagin alle, koska se on listaamaton. Ainoastaan julkisia julkaisuja etsiä hastageilla.",
   "compose_form.lock_disclaimer": "Tilisi ei ole {locked}. Kuka tahansa voi seurata tiliäsi ja nähdä vain seuraajille rajaamasi julkaisut.",
   "compose_form.lock_disclaimer.lock": "lukittu",
   "compose_form.placeholder": "Mitä sinulla on mielessäsi?",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Muuta kysely sallimaan vain yksi valinta",
   "compose_form.publish": "Lähetä viesti",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Merkitse media arkaluontoiseksi} other {Merkitse media arkaluontoiseksi}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media on merkitty arkaluontoiseksi} other {Media on merkitty arkaluontoiseksi}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Mediaa ei ole merkitty arkaluontoiseksi} other {Mediaa ei ole merkitty arkaluontoiseksi}}",
@@ -115,23 +117,23 @@
   "confirmations.block.confirm": "Estä",
   "confirmations.block.message": "Haluatko varmasti estää käyttäjän {name}?",
   "confirmations.delete.confirm": "Poista",
-  "confirmations.delete.message": "Haluatko varmasti poistaa tämän tilapäivityksen?",
+  "confirmations.delete.message": "Haluatko varmasti poistaa tämän julkaisun?",
   "confirmations.delete_list.confirm": "Poista",
   "confirmations.delete_list.message": "Haluatko varmasti poistaa tämän listan kokonaan?",
-  "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.discard_edit_media.confirm": "Hylkää",
+  "confirmations.discard_edit_media.message": "Onko sinulla tallentamattomia muutoksia kuvaukseen tai esikatseluun, hylätäänkö ne silti?",
   "confirmations.domain_block.confirm": "Piilota koko verkko-osoite",
   "confirmations.domain_block.message": "Oletko todella varma, että haluat estää koko {domain}? Useimmissa tapauksissa muutama kohdennettu lohko tai mykistys on riittävä ja parempi. Et näe kyseisen verkkotunnuksen sisältöä missään julkisessa aikajanassa tai ilmoituksissa. Seuraajasi tältä verkkotunnukselta poistetaan.",
   "confirmations.logout.confirm": "Kirjaudu ulos",
   "confirmations.logout.message": "Oletko varma, että haluat kirjautua ulos?",
   "confirmations.mute.confirm": "Mykistä",
-  "confirmations.mute.explanation": "Tämä piilottaa päivitykset heiltä ja päivitykset, joissa hänet mainitaan, mutta sallii silti heidän nähdä sinun päivityksesi ja seurata sinua.",
+  "confirmations.mute.explanation": "Tämä piilottaa heidän julkaisut ja julkaisut, joissa heidät mainitaan, mutta sallii edelleen heidän nähdä julkaisusi ja seurata sinua.",
   "confirmations.mute.message": "Haluatko varmasti mykistää käyttäjän {name}?",
   "confirmations.redraft.confirm": "Poista & palauta muokattavaksi",
-  "confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? You will lose all replies, boosts and favourites to it.",
+  "confirmations.redraft.message": "Oletko varma että haluat poistaa tämän julkaisun ja tehdä siitä uuden luonnoksen? Suosikit ja buustaukset menetään, alkuperäisen julkaisusi vastaukset jäävät orvoiksi.",
   "confirmations.reply.confirm": "Vastaa",
   "confirmations.reply.message": "Jos vastaat nyt, vastaus korvaa tällä hetkellä työstämäsi viestin. Oletko varma, että haluat jatkaa?",
-  "confirmations.unfollow.confirm": "Lakkaa seuraamasta",
+  "confirmations.unfollow.confirm": "Lopeta seuraaminen",
   "confirmations.unfollow.message": "Haluatko varmasti lakata seuraamasta käyttäjää {name}?",
   "conversation.delete": "Poista keskustelu",
   "conversation.mark_as_read": "Merkitse luetuksi",
@@ -141,7 +143,7 @@
   "directory.local": "Vain palvelimelta {domain}",
   "directory.new_arrivals": "Äskettäin saapuneet",
   "directory.recently_active": "Hiljattain aktiiviset",
-  "embed.instructions": "Upota statuspäivitys sivullesi kopioimalla alla oleva koodi.",
+  "embed.instructions": "Upota julkaisu verkkosivullesi kopioimalla alla oleva koodi.",
   "embed.preview": "Se tulee näyttämään tältä:",
   "emoji_button.activity": "Aktiviteetit",
   "emoji_button.custom": "Mukautetut",
@@ -184,8 +186,8 @@
   "errors.unexpected_crash.copy_stacktrace": "Kopioi pinon jäljitys leikepöydälle",
   "errors.unexpected_crash.report_issue": "Ilmoita ongelmasta",
   "follow_recommendations.done": "Valmis",
-  "follow_recommendations.heading": "Seuraa ihmisiä, joilta haluaisit nähdä viestejä! Tässä on muutamia ehdotuksia.",
-  "follow_recommendations.lead": "Viestit seuraamiltasi henkilöiltä näkyvät aikajärjestyksessä kotinäytön syötteessä. Älä pelkää seurata vahingossa, voit lopettaa seuraaminen yhtä helposti milloin tahansa!",
+  "follow_recommendations.heading": "Seuraa ihmisiä, joilta haluaisit nähdä julkaisuja! Tässä on muutamia ehdotuksia.",
+  "follow_recommendations.lead": "Seuraamiesi julkaisut näkyvät aikajärjestyksessä kotisyötteessä. Älä pelkää seurata vahingossa, voit lopettaa seuraamisen yhtä helposti!",
   "follow_request.authorize": "Valtuuta",
   "follow_request.reject": "Hylkää",
   "follow_requests.unlocked_explanation": "Vaikka tiliäsi ei ole lukittu, {domain}:n ylläpitäjien mielestä saatat haluta tarkistaa nämä seurauspyynnöt manuaalisesti.",
@@ -223,7 +225,7 @@
   "keyboard_shortcuts.description": "Kuvaus",
   "keyboard_shortcuts.direct": "Avaa pikaviestisarake",
   "keyboard_shortcuts.down": "Siirry listassa alaspäin",
-  "keyboard_shortcuts.enter": "Avaa viesti",
+  "keyboard_shortcuts.enter": "Avaa julkaisu",
   "keyboard_shortcuts.favourite": "Lisää suosikkeihin",
   "keyboard_shortcuts.favourites": "Avaa lista suosikeista",
   "keyboard_shortcuts.federated": "Avaa yleinen aikajana",
@@ -289,7 +291,7 @@
   "navigation_bar.follow_requests": "Seuraamispyynnöt",
   "navigation_bar.follows_and_followers": "Seurattavat ja seuraajat",
   "navigation_bar.info": "Tietoa tästä palvelimesta",
-  "navigation_bar.keyboard_shortcuts": "Näppäinkomennot",
+  "navigation_bar.keyboard_shortcuts": "Pikanäppäimet",
   "navigation_bar.lists": "Listat",
   "navigation_bar.logout": "Kirjaudu ulos",
   "navigation_bar.mutes": "Mykistetyt käyttäjät",
@@ -304,15 +306,15 @@
   "notification.mention": "{name} mainitsi sinut",
   "notification.own_poll": "Kyselysi on päättynyt",
   "notification.poll": "Kysely, johon osallistuit, on päättynyt",
-  "notification.reblog": "{name} buustasi tilaasi",
-  "notification.status": "{name} juuri lähetetty",
+  "notification.reblog": "{name} buustasi julkaisusi",
+  "notification.status": "{name} julkaisi juuri",
   "notifications.clear": "Tyhjennä ilmoitukset",
   "notifications.clear_confirmation": "Haluatko varmasti poistaa kaikki ilmoitukset pysyvästi?",
   "notifications.column_settings.alert": "Työpöytäilmoitukset",
   "notifications.column_settings.favourite": "Tykkäykset:",
   "notifications.column_settings.filter_bar.advanced": "Näytä kaikki kategoriat",
   "notifications.column_settings.filter_bar.category": "Pikasuodatuspalkki",
-  "notifications.column_settings.filter_bar.show": "Näytä",
+  "notifications.column_settings.filter_bar.show_bar": "Näytä suodatinpalkki",
   "notifications.column_settings.follow": "Uudet seuraajat:",
   "notifications.column_settings.follow_request": "Uudet seuraamispyynnöt:",
   "notifications.column_settings.mention": "Maininnat:",
@@ -321,8 +323,9 @@
   "notifications.column_settings.reblog": "Buustit:",
   "notifications.column_settings.show": "Näytä sarakkeessa",
   "notifications.column_settings.sound": "Äänimerkki",
-  "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Lukemattomat ilmoitusmerkit",
+  "notifications.column_settings.status": "Uudet julkaisut:",
+  "notifications.column_settings.unread_notifications.category": "Lukemattomat ilmoitukset",
+  "notifications.column_settings.unread_notifications.highlight": "Korosta lukemattomat ilmoitukset",
   "notifications.filter.all": "Kaikki",
   "notifications.filter.boosts": "Buustit",
   "notifications.filter.favourites": "Suosikit",
@@ -346,10 +349,10 @@
   "poll.total_votes": "{count, plural, one {# ääni} other {# ääntä}}",
   "poll.vote": "Äänestä",
   "poll.voted": "Äänestit tätä vastausta",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# ääni} other {# ääntä}}",
   "poll_button.add_poll": "Lisää kysely",
   "poll_button.remove_poll": "Poista kysely",
-  "privacy.change": "Säädä tuuttauksen näkyvyyttä",
+  "privacy.change": "Muuta julkaisun näkyvyyttä",
   "privacy.direct.long": "Julkaise vain mainituille käyttäjille",
   "privacy.direct.short": "Suora viesti",
   "privacy.private.long": "Julkaise vain seuraajille",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Ladataan…",
   "regeneration_indicator.sublabel": "Kotinäkymääsi valmistellaan!",
   "relative_time.days": "{number} pv",
+  "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} tuntia",
   "relative_time.just_now": "nyt",
   "relative_time.minutes": "{number} min",
   "relative_time.seconds": "{number} sek",
   "relative_time.today": "tänään",
   "reply_indicator.cancel": "Peruuta",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Välitä kohteeseen {target}",
   "report.forward_hint": "Tämä tili on toisella palvelimella. Haluatko lähettää nimettömän raportin myös sinne?",
   "report.hint": "Raportti lähetetään oman palvelimesi moderaattoreille. Voit kertoa alla, miksi raportoit tästä tilistä:",
@@ -378,7 +389,7 @@
   "search_popout.search_format": "Tarkennettu haku",
   "search_popout.tips.full_text": "Tekstihaku listaa tilapäivitykset, jotka olet kirjoittanut, lisännyt suosikkeihisi, boostannut tai joissa sinut mainitaan, sekä tekstin sisältävät käyttäjänimet, nimimerkit ja hastagit.",
   "search_popout.tips.hashtag": "aihetunnisteet",
-  "search_popout.tips.status": "tila",
+  "search_popout.tips.status": "julkaisu",
   "search_popout.tips.text": "Tekstihaku listaa hakua vastaavat nimimerkit, käyttäjänimet ja hastagit",
   "search_popout.tips.user": "käyttäjä",
   "search_results.accounts": "Ihmiset",
@@ -387,25 +398,30 @@
   "search_results.statuses_fts_disabled": "Viestien haku sisällön perusteella ei ole käytössä tällä Mastodon-palvelimella.",
   "search_results.total": "{count, number} {count, plural, one {tulos} other {tulokset}}",
   "status.admin_account": "Avaa moderaattorinäkymä tilistä @{name}",
-  "status.admin_status": "Avaa tämä viesti moderointinäkymässä",
+  "status.admin_status": "Avaa julkaisu moderointinäkymässä",
   "status.block": "Estä @{name}",
   "status.bookmark": "Tallenna kirjanmerkki",
   "status.cancel_reblog_private": "Peru buustaus",
   "status.cannot_reblog": "Tätä viestiä ei voi buustata",
-  "status.copy": "Kopioi linkki tilapäivitykseen",
+  "status.copy": "Kopioi linkki julkaisuun",
   "status.delete": "Poista",
   "status.detailed_status": "Yksityiskohtainen keskustelunäkymä",
   "status.direct": "Pikaviesti käyttäjälle @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Upota",
   "status.favourite": "Tykkää",
   "status.filtered": "Suodatettu",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Lataa lisää",
   "status.media_hidden": "Media piilotettu",
   "status.mention": "Mainitse @{name}",
   "status.more": "Lisää",
   "status.mute": "Mykistä @{name}",
   "status.mute_conversation": "Mykistä keskustelu",
-  "status.open": "Laajenna viestit",
+  "status.open": "Laajenna julkaisu",
   "status.pin": "Kiinnitä profiiliin",
   "status.pinned": "Kiinnitetty viesti",
   "status.read_more": "Näytä enemmän",
@@ -443,13 +459,13 @@
   "timeline_hint.remote_resource_not_displayed": "{resource} muilta palvelimilta ei näytetä.",
   "timeline_hint.resources.followers": "Seuraajat",
   "timeline_hint.resources.follows": "Seuraa",
-  "timeline_hint.resources.statuses": "Vanhemmat tuuttaukset",
+  "timeline_hint.resources.statuses": "Vanhemmat julkaisut",
   "trends.counter_by_accounts": "{count, plural, one {{counter} henkilö} other {{counter} henkilöä}} puhuu",
   "trends.trending_now": "Suosittua nyt",
   "ui.beforeunload": "Luonnos häviää, jos poistut Mastodonista.",
-  "units.short.billion": "{count} miljardia",
-  "units.short.million": "{count} miljoonaa",
-  "units.short.thousand": "{count} tuhatta",
+  "units.short.billion": "{count} mrd.",
+  "units.short.million": "{count} milj.",
+  "units.short.thousand": "{count} t.",
   "upload_area.title": "Lataa raahaamalla ja pudottamalla tähän",
   "upload_button.label": "Lisää mediaa",
   "upload_error.limit": "Tiedostolatauksien raja ylitetty.",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Kuvaile kuulo- tai näkövammaisille",
   "upload_modal.analyzing_picture": "Analysoidaan kuvaa…",
   "upload_modal.apply": "Käytä",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Asetetaan…",
   "upload_modal.choose_image": "Valitse kuva",
   "upload_modal.description_placeholder": "Nopea ruskea kettu hyppää laiskan koiran yli",
   "upload_modal.detect_text": "Tunnista teksti kuvasta",
diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json
index 5b6d337a1..ee4466657 100644
--- a/app/javascript/mastodon/locales/fr.json
+++ b/app/javascript/mastodon/locales/fr.json
@@ -16,16 +16,16 @@
   "account.endorse": "Recommander sur le profil",
   "account.follow": "Suivre",
   "account.followers": "Abonnés",
-  "account.followers.empty": "Personne ne suit cet utilisateur pour l’instant.",
-  "account.followers_counter": "{count, plural, one {{counter} Abonné} other {{counter} Abonnés}}",
+  "account.followers.empty": "Personne ne suit cet·te utilisateur·rice pour l’instant.",
+  "account.followers_counter": "{count, plural, one {{counter} Abonné·e} other {{counter} Abonné·e·s}}",
   "account.following_counter": "{count, plural, other {{counter} Abonnements}}",
-  "account.follows.empty": "Cet utilisateur ne suit personne pour l’instant.",
+  "account.follows.empty": "Cet·te utilisateur·rice ne suit personne pour l’instant.",
   "account.follows_you": "Vous suit",
   "account.hide_reblogs": "Masquer les partages de @{name}",
   "account.joined": "Ici depuis {date}",
   "account.last_status": "Dernière activité",
   "account.link_verified_on": "La propriété de ce lien a été vérifiée le {date}",
-  "account.locked_info": "Ce compte est privé. Son propriétaire approuve manuellement qui peut le suivre.",
+  "account.locked_info": "Ce compte est privé. Son ou sa propriétaire approuve manuellement qui peut le suivre.",
   "account.media": "Médias",
   "account.mention": "Mentionner @{name}",
   "account.moved_to": "{name} a déménagé vers :",
@@ -47,16 +47,17 @@
   "account.unmute": "Ne plus masquer @{name}",
   "account.unmute_notifications": "Ne plus masquer les notifications de @{name}",
   "account_note.placeholder": "Cliquez pour ajouter une note",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Moyenne",
+  "admin.dashboard.retention.cohort": "Mois d'inscription",
+  "admin.dashboard.retention.cohort_size": "Nouveaux utilisateurs",
   "alert.rate_limited.message": "Veuillez réessayer après {retry_time, time, medium}.",
   "alert.rate_limited.title": "Débit limité",
   "alert.unexpected.message": "Une erreur inattendue s’est produite.",
   "alert.unexpected.title": "Oups !",
   "announcement.announcement": "Annonce",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(non traité)",
   "autosuggest_hashtag.per_week": "{count} par semaine",
   "boost_modal.combo": "Vous pouvez appuyer sur {combo} pour passer ceci la prochaine fois",
   "bundle_column_error.body": "Une erreur s’est produite lors du chargement de ce composant.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Changer le sondage pour autoriser qu'un seul choix",
   "compose_form.publish": "Pouet",
   "compose_form.publish_loud": "{publish} !",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Marquer le média comme sensible",
   "compose_form.sensitive.marked": "{count, plural, one {Le média est marqué comme sensible} other {Les médias sont marqués comme sensibles}}",
   "compose_form.sensitive.unmarked": "Le média n’est pas marqué comme sensible",
@@ -118,17 +120,17 @@
   "confirmations.delete.message": "Voulez-vous vraiment supprimer ce message ?",
   "confirmations.delete_list.confirm": "Supprimer",
   "confirmations.delete_list.message": "Voulez-vous vraiment supprimer définitivement cette liste ?",
-  "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.discard_edit_media.confirm": "Rejeter",
+  "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 fils publics, ni dans vos notifications. Vos abonnés utilisant ce domaine seront retirés.",
+  "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.logout.confirm": "Se déconnecter",
   "confirmations.logout.message": "Voulez-vous vraiment vous déconnecter ?",
   "confirmations.mute.confirm": "Masquer",
   "confirmations.mute.explanation": "Cela masquera ses messages et les messages le ou la mentionnant, mais cela lui permettra quand même de voir vos messages et de vous suivre.",
   "confirmations.mute.message": "Voulez-vous vraiment masquer {name} ?",
   "confirmations.redraft.confirm": "Supprimer et ré-écrire",
-  "confirmations.redraft.message": "Êtes-vous sûr 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.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.unfollow.confirm": "Ne plus suivre",
@@ -149,7 +151,7 @@
   "emoji_button.food": "Nourriture & Boisson",
   "emoji_button.label": "Insérer un émoji",
   "emoji_button.nature": "Nature",
-  "emoji_button.not_found": "Aucune correspondance d'émoji trouvée",
+  "emoji_button.not_found": "Aucun émoji correspondant n'a été trouvé",
   "emoji_button.objects": "Objets",
   "emoji_button.people": "Personnes",
   "emoji_button.recent": "Fréquemment utilisés",
@@ -160,7 +162,7 @@
   "empty_column.account_suspended": "Compte suspendu",
   "empty_column.account_timeline": "Aucun message ici !",
   "empty_column.account_unavailable": "Profil non disponible",
-  "empty_column.blocks": "Vous n’avez bloqué aucun utilisateur pour le moment.",
+  "empty_column.blocks": "Vous n’avez bloqué aucun compte pour le moment.",
   "empty_column.bookmarked_statuses": "Vous n'avez pas de message en marque-page. Lorsque vous en ajouterez un, il apparaîtra ici.",
   "empty_column.community": "Le fil public local est vide. Écrivez donc quelque chose pour le remplir !",
   "empty_column.direct": "Vous n’avez pas encore de messages directs. Lorsque vous en enverrez ou recevrez un, il s’affichera ici.",
@@ -174,7 +176,7 @@
   "empty_column.home.suggestions": "Voir quelques suggestions",
   "empty_column.list": "Il n’y a rien dans cette liste pour l’instant. Quand des membres de cette liste publieront de nouveaux messages, ils apparaîtront ici.",
   "empty_column.lists": "Vous n’avez pas encore de liste. Lorsque vous en créerez une, elle apparaîtra ici.",
-  "empty_column.mutes": "Vous n’avez masqué aucun utilisateur pour le moment.",
+  "empty_column.mutes": "Vous n’avez masqué aucun compte pour le moment.",
   "empty_column.notifications": "Vous n’avez pas encore de notification. Interagissez avec d’autres personnes pour débuter la conversation.",
   "empty_column.public": "Il n’y a rien ici ! Écrivez quelque chose publiquement, ou bien suivez manuellement des personnes d’autres serveurs pour remplir le fil public",
   "error.unexpected_crash.explanation": "En raison d’un bug dans notre code ou d’un problème de compatibilité avec votre navigateur, cette page n’a pas pu être affichée correctement.",
@@ -232,13 +234,13 @@
   "keyboard_shortcuts.hotkey": "Raccourci clavier",
   "keyboard_shortcuts.legend": "Afficher cet aide-mémoire",
   "keyboard_shortcuts.local": "Ouvrir le fil public local",
-  "keyboard_shortcuts.mention": "Mentionner l’auteur",
+  "keyboard_shortcuts.mention": "Mentionner l’auteur·rice",
   "keyboard_shortcuts.muted": "Ouvrir la liste des comptes masqués",
   "keyboard_shortcuts.my_profile": "Ouvrir votre profil",
   "keyboard_shortcuts.notifications": "Ouvrir la colonne de notifications",
   "keyboard_shortcuts.open_media": "ouvrir le média",
   "keyboard_shortcuts.pinned": "Ouvrir la liste des messages épinglés",
-  "keyboard_shortcuts.profile": "Ouvrir le profil de l’auteur",
+  "keyboard_shortcuts.profile": "Ouvrir le profil de l’auteur·rice",
   "keyboard_shortcuts.reply": "Répondre au message",
   "keyboard_shortcuts.requests": "Ouvrir la liste de demandes d’abonnement",
   "keyboard_shortcuts.search": "Se placer dans le champ de recherche",
@@ -261,7 +263,7 @@
   "lists.edit.submit": "Modifier le titre",
   "lists.new.create": "Ajouter une liste",
   "lists.new.title_placeholder": "Titre de la nouvelle liste",
-  "lists.replies_policy.followed": "N'importe quel utilisateur suivi",
+  "lists.replies_policy.followed": "N'importe quel compte suivi",
   "lists.replies_policy.list": "Membres de la liste",
   "lists.replies_policy.none": "Personne",
   "lists.replies_policy.title": "Afficher les réponses à :",
@@ -301,7 +303,7 @@
   "notification.favourite": "{name} a ajouté le message à ses favoris",
   "notification.follow": "{name} vous suit",
   "notification.follow_request": "{name} a demandé à vous suivre",
-  "notification.mention": "{name} vous a mentionné·",
+  "notification.mention": "{name} vous a mentionné·e :",
   "notification.own_poll": "Votre sondage est terminé",
   "notification.poll": "Un sondage auquel vous avez participé vient de se terminer",
   "notification.reblog": "{name} a partagé votre message",
@@ -312,8 +314,8 @@
   "notifications.column_settings.favourite": "Favoris :",
   "notifications.column_settings.filter_bar.advanced": "Afficher toutes les catégories",
   "notifications.column_settings.filter_bar.category": "Barre de filtrage rapide",
-  "notifications.column_settings.filter_bar.show": "Afficher",
-  "notifications.column_settings.follow": "Nouveaux abonnés :",
+  "notifications.column_settings.filter_bar.show_bar": "Afficher la barre de filtre",
+  "notifications.column_settings.follow": "Nouveaux·elles abonné·e·s :",
   "notifications.column_settings.follow_request": "Nouvelles demandes d’abonnement :",
   "notifications.column_settings.mention": "Mentions :",
   "notifications.column_settings.poll": "Résultats des sondage :",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Afficher dans la colonne",
   "notifications.column_settings.sound": "Jouer un son",
   "notifications.column_settings.status": "Nouveaux messages :",
-  "notifications.column_settings.unread_markers.category": "Marqueurs de notifications non lues",
+  "notifications.column_settings.unread_notifications.category": "Notifications non lues",
+  "notifications.column_settings.unread_notifications.highlight": "Surligner les notifications non lues",
   "notifications.filter.all": "Tout",
   "notifications.filter.boosts": "Partages",
   "notifications.filter.favourites": "Favoris",
@@ -353,24 +356,32 @@
   "privacy.direct.long": "Visible uniquement par les comptes mentionnés",
   "privacy.direct.short": "Direct",
   "privacy.private.long": "Visible uniquement par vos abonné·e·s",
-  "privacy.private.short": "Abonnés uniquement",
-  "privacy.public.long": "Visible par tous, affiché dans les fils publics",
+  "privacy.private.short": "Abonné·e·s uniquement",
+  "privacy.public.long": "Visible par tou·te·s, affiché dans les fils publics",
   "privacy.public.short": "Public",
-  "privacy.unlisted.long": "Visible par tous, mais pas dans les fils publics",
+  "privacy.unlisted.long": "Visible par tou·te·s, mais pas dans les fils publics",
   "privacy.unlisted.short": "Non listé",
   "refresh": "Actualiser",
   "regeneration_indicator.label": "Chargement…",
   "regeneration_indicator.sublabel": "Votre fil principal est en cours de préparation !",
   "relative_time.days": "{number} j",
+  "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": "à l’instant",
   "relative_time.minutes": "{number} min",
   "relative_time.seconds": "{number} s",
   "relative_time.today": "aujourd’hui",
   "reply_indicator.cancel": "Annuler",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Transférer à {target}",
   "report.forward_hint": "Le compte provient d’un autre serveur. Envoyer également une copie anonyme du rapport ?",
-  "report.hint": "Le rapport sera envoyé aux modérateurs de votre instance. Vous pouvez expliquer pourquoi vous signalez le compte ci-dessous :",
+  "report.hint": "Le rapport sera envoyé aux modérateur·rice·s de votre serveur. Vous pouvez expliquer pourquoi vous signalez le compte ci-dessous :",
   "report.placeholder": "Commentaires additionnels",
   "report.submit": "Envoyer",
   "report.target": "Signalement de {target}",
@@ -396,9 +407,14 @@
   "status.delete": "Supprimer",
   "status.detailed_status": "Vue détaillée de la conversation",
   "status.direct": "Envoyer un message direct à @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Intégrer",
   "status.favourite": "Ajouter aux favoris",
   "status.filtered": "Filtré",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Charger plus",
   "status.media_hidden": "Média caché",
   "status.mention": "Mentionner @{name}",
@@ -413,7 +429,7 @@
   "status.reblog_private": "Partager à l’audience originale",
   "status.reblogged_by": "{name} a partagé",
   "status.reblogs.empty": "Personne n’a encore partagé ce message. Lorsque quelqu’un le fera, il apparaîtra ici.",
-  "status.redraft": "Supprimer et récrire",
+  "status.redraft": "Supprimer et réécrire",
   "status.remove_bookmark": "Retirer des marque-pages",
   "status.reply": "Répondre",
   "status.replyAll": "Répondre au fil",
@@ -429,7 +445,7 @@
   "status.unmute_conversation": "Ne plus masquer la conversation",
   "status.unpin": "Retirer du profil",
   "suggestions.dismiss": "Rejeter la suggestion",
-  "suggestions.header": "Vous pourriez être intéressé par…",
+  "suggestions.header": "Vous pourriez être intéressé·e par…",
   "tabs_bar.federated_timeline": "Fil public global",
   "tabs_bar.home": "Accueil",
   "tabs_bar.local_timeline": "Fil public local",
@@ -455,14 +471,14 @@
   "upload_error.limit": "Taille maximale d'envoi de fichier dépassée.",
   "upload_error.poll": "L’envoi de fichiers n’est pas autorisé avec les sondages.",
   "upload_form.audio_description": "Décrire pour les personnes ayant des difficultés d’audition",
-  "upload_form.description": "Décrire pour les malvoyants",
+  "upload_form.description": "Décrire pour les malvoyant·e·s",
   "upload_form.edit": "Modifier",
   "upload_form.thumbnail": "Changer la vignette",
   "upload_form.undo": "Supprimer",
   "upload_form.video_description": "Décrire pour les personnes ayant des problèmes d’audition ou de vision",
   "upload_modal.analyzing_picture": "Analyse de l’image en cours…",
   "upload_modal.apply": "Appliquer",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Application en cours…",
   "upload_modal.choose_image": "Choisir une image",
   "upload_modal.description_placeholder": "Buvez de ce whisky que le patron juge fameux",
   "upload_modal.detect_text": "Détecter le texte de l’image",
diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json
index 9c94c61aa..c9f2cd414 100644
--- a/app/javascript/mastodon/locales/ga.json
+++ b/app/javascript/mastodon/locales/ga.json
@@ -47,7 +47,8 @@
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
   "account_note.placeholder": "No comment provided",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
@@ -312,7 +314,7 @@
   "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": "Show",
+  "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:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Show in column",
   "notifications.column_settings.sound": "Play sound",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "All",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favourites",
@@ -362,12 +365,20 @@
   "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.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "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.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "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.filtered": "Filtered",
+  "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}",
diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json
index 023ee3ecb..750674ca2 100644
--- a/app/javascript/mastodon/locales/gd.json
+++ b/app/javascript/mastodon/locales/gd.json
@@ -47,16 +47,17 @@
   "account.unmute": "Dì-mhùch @{name}",
   "account.unmute_notifications": "Dì-mhùch na brathan o @{name}",
   "account_note.placeholder": "Briog airson nòta a chur ris",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Cuibheasach",
+  "admin.dashboard.retention.cohort": "Mìos a’ chlàraidh",
+  "admin.dashboard.retention.cohort_size": "Cleachdaichean ùra",
   "alert.rate_limited.message": "Feuch ris a-rithist às dèidh {retry_time, time, medium}.",
   "alert.rate_limited.title": "Cuingeachadh ùine",
   "alert.unexpected.message": "Thachair mearachd ris nach robh dùil.",
   "alert.unexpected.title": "Oich!",
   "announcement.announcement": "Brath-fios",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(gun phròiseasadh)",
   "autosuggest_hashtag.per_week": "{count} gach seachdain",
   "boost_modal.combo": "Brùth air {combo} nam b’ fheàrr leat leum a ghearradh thar seo an ath-thuras",
   "bundle_column_error.body": "Chaidh rudeigin cearr nuair a dh’fheuch sinn ris a’ cho-phàirt seo a luchdadh.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Atharraich an cunntas-bheachd gus nach gabh ach aon roghainn a thaghadh",
   "compose_form.publish": "Postaich",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Cuir comharra gu bheil am meadhan frionasach} two {Cuir comharra gu bheil na meadhanan frionasach} few {Cuir comharra gu bheil na meadhanan frionasach} other {Cuir comharra gu bheil na meadhanan frionasach}}",
   "compose_form.sensitive.marked": "{count, plural, one {Tha comharra ris a’ mheadhan gu bheil e frionasach} two {Tha comharra ris na meadhanan gu bheil iad frionasach} few {Tha comharra ris na meadhanan gu bheil iad frionasach} other {Tha comharra ris na meadhanan gu bheil iad frionasach}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Chan eil comharra ris a’ mheadhan gun robh e frionasach} two {Chan eil comharra ris na meadhanan gun robh iad frionasach} few {Chan eil comharra ris na meadhanan gun robh iad frionasach} other {Chan eil comharra ris na meadhanan gun robh iad frionasach}}",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "A bheil thu cinnteach gu bheil thu airson am post seo a sguabadh às?",
   "confirmations.delete_list.confirm": "Sguab às",
   "confirmations.delete_list.message": "A bheil thu cinnteach gu bheil thu airson an liosta seo a sguabadh às gu buan?",
-  "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.discard_edit_media.confirm": "Tilg air falbh",
+  "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 bhiod 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.logout.confirm": "Clàraich a-mach",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Na h-annsachdan:",
   "notifications.column_settings.filter_bar.advanced": "Seall a h-uile roinn-seòrsa",
   "notifications.column_settings.filter_bar.category": "Bàr-criathraidh luath",
-  "notifications.column_settings.filter_bar.show": "Seall",
+  "notifications.column_settings.filter_bar.show_bar": "Seall am bàr-criathraidh",
   "notifications.column_settings.follow": "Luchd-leantainn ùr:",
   "notifications.column_settings.follow_request": "Iarrtasan leantainn ùra:",
   "notifications.column_settings.mention": "Iomraidhean:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Seall sa cholbh",
   "notifications.column_settings.sound": "Cluich fuaim",
   "notifications.column_settings.status": "Postaichean ùra:",
-  "notifications.column_settings.unread_markers.category": "Comharran nach deach brath a leughadh",
+  "notifications.column_settings.unread_notifications.category": "Brathan nach deach a leughadh",
+  "notifications.column_settings.unread_notifications.highlight": "Soillsich na brathan nach deach a leughadh",
   "notifications.filter.all": "Na h-uile",
   "notifications.filter.boosts": "Brosnachaidhean",
   "notifications.filter.favourites": "Na h-annsachdan",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# bhòt} two {# bhòt} few {# bhòtaichean} other {# bhòt}}",
   "poll.vote": "Bhòt",
   "poll.voted": "Bhòt thu dhan fhreagairt seo",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# bhòt} two {# bhòt} few {# bhòtaichean} other {# bhòt}}",
   "poll_button.add_poll": "Cuir cunntas-bheachd ris",
   "poll_button.remove_poll": "Thoir air falbh an cunntas-bheachd",
   "privacy.change": "Cuir gleus air prìobhaideachd a’ phuist",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "’Ga luchdadh…",
   "regeneration_indicator.sublabel": "Tha inbhir na dachaigh agad ’ga ullachadh!",
   "relative_time.days": "{number}l",
+  "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}u",
   "relative_time.just_now": "an-dràsta",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}d",
   "relative_time.today": "an-diugh",
   "reply_indicator.cancel": "Sguir dheth",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Sìn air adhart gu {target}",
   "report.forward_hint": "Chaidh an cunntas a chlàradh air frithealaiche eile. A bheil thu airson lethbhreac dhen ghearan a chur dha-san gun ainm cuideachd?",
   "report.hint": "Thèid do ghearan a chur gu maoir an fhrithealaiche agad. ’S urrainn dhut mìneachadh a sholar air carson a tha thu a’ gearan mun chunntas gu h-ìosal:",
@@ -396,9 +407,14 @@
   "status.delete": "Sguab às",
   "status.detailed_status": "Mion-shealladh a’ chòmhraidh",
   "status.direct": "Cuir teachdaireachd dhìreach gu @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Leabaich",
   "status.favourite": "Cuir ris na h-annsachdan",
   "status.filtered": "Criathraichte",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Luchdaich barrachd dheth",
   "status.media_hidden": "Meadhanan falaichte",
   "status.mention": "Thoir iomradh air @{name}",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Mìnich e dhan fheadhainn le èisteachd bheag no cion-lèirsinne",
   "upload_modal.analyzing_picture": "A’ sgrùdadh an deilbh…",
   "upload_modal.apply": "Cuir an sàs",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "’Ga chur an sàs…",
   "upload_modal.choose_image": "Tagh dealbh",
   "upload_modal.description_placeholder": "Lorg Sìm fiù bò, cè ⁊ neup ’ad àth",
   "upload_modal.detect_text": "Mothaich dhan teacsa on dealbh",
diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json
index d85fd97bf..e926239bb 100644
--- a/app/javascript/mastodon/locales/gl.json
+++ b/app/javascript/mastodon/locales/gl.json
@@ -36,7 +36,7 @@
   "account.posts": "Publicacións",
   "account.posts_with_replies": "Publicacións e respostas",
   "account.report": "Informar sobre @{name}",
-  "account.requested": "Agardando aprovación. Preme para desbotar a solicitude de seguimento",
+  "account.requested": "Agardando aprobación. Preme para desbotar a solicitude",
   "account.share": "Compartir o perfil de @{name}",
   "account.show_reblogs": "Amosar compartidos de @{name}",
   "account.statuses_counter": "{count, plural, one {{counter} Publicación} other {{counter} Publicacións}}",
@@ -47,16 +47,17 @@
   "account.unmute": "Deixar de silenciar a @{name}",
   "account.unmute_notifications": "Deixar de silenciar as notificacións de @{name}",
   "account_note.placeholder": "Preme para engadir nota",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Media",
+  "admin.dashboard.retention.cohort": "Mes de rexistro",
+  "admin.dashboard.retention.cohort_size": "Novas usuarias",
   "alert.rate_limited.message": "Téntao novamente após {retry_time, time, medium}.",
   "alert.rate_limited.title": "Límite de intentos",
   "alert.unexpected.message": "Aconteceu un fallo non agardado.",
   "alert.unexpected.title": "Vaites!",
   "announcement.announcement": "Anuncio",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(sen procesar)",
   "autosuggest_hashtag.per_week": "{count} por semana",
   "boost_modal.combo": "Preme {combo} para ignorar isto na seguinte vez",
   "bundle_column_error.body": "Ocorreu un erro ó cargar este compoñente.",
@@ -104,13 +105,14 @@
   "compose_form.poll.switch_to_single": "Mudar a enquisa para permitir unha soa escolla",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Marca multimedia como sensible} other {Marca multimedia como sensibles}}",
   "compose_form.sensitive.marked": "{count, plural, one {Multimedia marcado como sensible} other {Multimedia marcados como sensibles}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Multimedia non marcado como sensible} other {Multimedia non marcado como sensible}}",
   "compose_form.spoiler.marked": "Retirar o aviso sobre o contido",
   "compose_form.spoiler.unmarked": "Engadir aviso sobre o contido",
   "compose_form.spoiler_placeholder": "Escribe o teu aviso aquí",
-  "confirmation_modal.cancel": "Desbotar",
+  "confirmation_modal.cancel": "Cancelar",
   "confirmations.block.block_and_report": "Bloquear e denunciar",
   "confirmations.block.confirm": "Bloquear",
   "confirmations.block.message": "Tes a certeza de querer bloquear a {name}?",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "Tes a certeza de querer eliminar esta publicación?",
   "confirmations.delete_list.confirm": "Eliminar",
   "confirmations.delete_list.message": "Tes a certeza de querer eliminar de xeito permanente esta listaxe?",
-  "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.discard_edit_media.confirm": "Descartar",
+  "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.logout.confirm": "Pechar sesión",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Favoritos:",
   "notifications.column_settings.filter_bar.advanced": "Amosar todas as categorías",
   "notifications.column_settings.filter_bar.category": "Barra de filtrado rápido",
-  "notifications.column_settings.filter_bar.show": "Amosar",
+  "notifications.column_settings.filter_bar.show_bar": "Amosar barra de filtros",
   "notifications.column_settings.follow": "Novas seguidoras:",
   "notifications.column_settings.follow_request": "Novas peticións de seguimento:",
   "notifications.column_settings.mention": "Mencións:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Amosar en columna",
   "notifications.column_settings.sound": "Reproducir son",
   "notifications.column_settings.status": "Novas publicacións:",
-  "notifications.column_settings.unread_markers.category": "Indicadores de notificacións non lidas",
+  "notifications.column_settings.unread_notifications.category": "Notificacións non lidas",
+  "notifications.column_settings.unread_notifications.highlight": "Resaltar notificacións non lidas",
   "notifications.filter.all": "Todo",
   "notifications.filter.boosts": "Compartidos",
   "notifications.filter.favourites": "Favoritos",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# voto} other {# votos}}",
   "poll.vote": "Votar",
   "poll.voted": "Votaches por esta opción",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# voto} other {# votos}}",
   "poll_button.add_poll": "Engadir unha enquisa",
   "poll_button.remove_poll": "Eliminar enquisa",
   "privacy.change": "Axustar privacidade",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Estase a cargar…",
   "regeneration_indicator.sublabel": "Estase a preparar a túa cronoloxía de inicio!",
   "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": "agora",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "hoxe",
   "reply_indicator.cancel": "Desbotar",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Reenviar a {target}",
   "report.forward_hint": "A conta é doutro servidor. Enviar unha copia anónima da denuncia aló tamén?",
   "report.hint": "A denuncia enviarase á moderación do teu servidor. Abaixo podes explicar a razón pola que estás a denunciar:",
@@ -396,9 +407,14 @@
   "status.delete": "Eliminar",
   "status.detailed_status": "Vista detallada da conversa",
   "status.direct": "Mensaxe directa a @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Incrustar",
   "status.favourite": "Favorito",
   "status.filtered": "Filtrado",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Cargar máis",
   "status.media_hidden": "Contido multimedia agochado",
   "status.mention": "Mencionar @{name}",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Describir para persoas con problemas visuais ou auditivos",
   "upload_modal.analyzing_picture": "Estase a analizar a imaxe…",
   "upload_modal.apply": "Aplicar",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Aplicando…",
   "upload_modal.choose_image": "Elixir imaxe",
   "upload_modal.description_placeholder": "Un raposo veloz brinca sobre o can preguiceiro",
   "upload_modal.detect_text": "Detectar texto na imaxe",
diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json
index 311323d21..1447ff711 100644
--- a/app/javascript/mastodon/locales/he.json
+++ b/app/javascript/mastodon/locales/he.json
@@ -47,16 +47,17 @@
   "account.unmute": "הפסקת השתקת @{name}",
   "account.unmute_notifications": "להפסיק הסתרת הודעות מעם @{name}",
   "account_note.placeholder": "ללא הערה",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "ממוצע",
   "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.retention.cohort_size": "משתמשים חדשים",
   "alert.rate_limited.message": "נא לנסות אחרי {retry_time, time, medium}.",
   "alert.rate_limited.title": "מגבלות מיכסה",
   "alert.unexpected.message": "אירעה שגיאה בלתי צפויה.",
   "alert.unexpected.title": "אופס!",
   "announcement.announcement": "הודעה",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(לא מעובד)",
   "autosuggest_hashtag.per_week": "{count} לשבוע",
   "boost_modal.combo": "ניתן להקיש {combo} כדי לדלג בפעם הבאה",
   "bundle_column_error.body": "משהו השתבש בעת הצגת הרכיב הזה.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "אפשרו בחירה בודדת בסקר",
   "compose_form.publish": "ללחוש",
   "compose_form.publish_loud": "לחצרץ!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
@@ -127,20 +129,20 @@
   "confirmations.mute.confirm": "להשתיק",
   "confirmations.mute.explanation": "This will hide posts from them and posts mentioning them, but it will still allow them to see your posts and follow you.",
   "confirmations.mute.message": "להשתיק את {name}?",
-  "confirmations.redraft.confirm": "Delete & redraft",
+  "confirmations.redraft.confirm": "מחק וערוך מחדש",
   "confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? You will lose all replies, boosts and favourites to it.",
-  "confirmations.reply.confirm": "Reply",
-  "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+  "confirmations.reply.confirm": "הגב",
+  "confirmations.reply.message": "הגבה עכשיו ידרוס את ההודעה שאתם כותבים כעת. האם אתם בטוחים שברצונכם להמשיך?",
   "confirmations.unfollow.confirm": "להפסיק מעקב",
   "confirmations.unfollow.message": "להפסיק מעקב אחרי {name}?",
-  "conversation.delete": "Delete conversation",
-  "conversation.mark_as_read": "Mark as read",
-  "conversation.open": "View conversation",
-  "conversation.with": "With {names}",
+  "conversation.delete": "מחיקת שיחה",
+  "conversation.mark_as_read": "סמן כנקרא",
+  "conversation.open": "צפו בשיחה",
+  "conversation.with": "עם {names}",
   "directory.federated": "From known fediverse",
   "directory.local": "From {domain} only",
   "directory.new_arrivals": "New arrivals",
-  "directory.recently_active": "Recently active",
+  "directory.recently_active": "פעילים לאחרונה",
   "embed.instructions": "ניתן להטמיע את ההודעה באתרך ע\"י העתקת הקוד שלהלן.",
   "embed.preview": "דוגמא כיצד זה יראה:",
   "emoji_button.activity": "פעילות",
@@ -157,13 +159,13 @@
   "emoji_button.search_results": "תוצאות חיפוש",
   "emoji_button.symbols": "סמלים",
   "emoji_button.travel": "טיולים ואתרים",
-  "empty_column.account_suspended": "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.",
+  "empty_column.account_unavailable": "פרופיל לא זמין",
+  "empty_column.blocks": "עדיין לא חסמתם משתמשים אחרים.",
   "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.",
   "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": "There are no hidden domains yet.",
   "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.",
   "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
@@ -220,7 +222,7 @@
   "keyboard_shortcuts.boost": "להדהד",
   "keyboard_shortcuts.column": "להתמקד בהודעה באחד מהטורים",
   "keyboard_shortcuts.compose": "להתמקד בתיבת חיבור ההודעות",
-  "keyboard_shortcuts.description": "Description",
+  "keyboard_shortcuts.description": "תיאור",
   "keyboard_shortcuts.direct": "to open direct messages column",
   "keyboard_shortcuts.down": "לנוע במורד הרשימה",
   "keyboard_shortcuts.enter": "to open status",
@@ -254,33 +256,33 @@
   "lightbox.expand": "Expand image view box",
   "lightbox.next": "הלאה",
   "lightbox.previous": "הקודם",
-  "lists.account.add": "Add to list",
-  "lists.account.remove": "Remove from list",
+  "lists.account.add": "הוסף לרשימה",
+  "lists.account.remove": "הסר מרשימה",
   "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",
+  "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 {# new item} other {# new items}}",
   "loading_indicator.label": "טוען...",
   "media_gallery.toggle_visible": "נראה\\בלתי נראה",
   "missing_indicator.label": "לא נמצא",
-  "missing_indicator.sublabel": "This resource could not be found",
-  "mute_modal.duration": "Duration",
+  "missing_indicator.sublabel": "לא ניתן היה למצוא את המשאב",
+  "mute_modal.duration": "משך הזמן",
   "mute_modal.hide_notifications": "להסתיר הודעות מחשבון זה?",
-  "mute_modal.indefinite": "Indefinite",
+  "mute_modal.indefinite": "ללא תאריך סיום",
   "navigation_bar.apps": "Mobile apps",
   "navigation_bar.blocks": "חסימות",
   "navigation_bar.bookmarks": "Bookmarks",
   "navigation_bar.community_timeline": "ציר זמן מקומי",
   "navigation_bar.compose": "Compose new toot",
-  "navigation_bar.direct": "Direct messages",
+  "navigation_bar.direct": "הודעות ישירות",
   "navigation_bar.discover": "Discover",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "עריכת פרופיל",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "מחובבים:",
   "notifications.column_settings.filter_bar.advanced": "Display all categories",
   "notifications.column_settings.filter_bar.category": "Quick filter bar",
-  "notifications.column_settings.filter_bar.show": "Show",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "עוקבים חדשים:",
   "notifications.column_settings.follow_request": "New follow requests:",
   "notifications.column_settings.mention": "פניות:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "הצגה בטור",
   "notifications.column_settings.sound": "שמע מופעל",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "All",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favourites",
@@ -362,12 +365,20 @@
   "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": "כרגע",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "today",
   "reply_indicator.cancel": "ביטול",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "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.hint": "The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:",
@@ -395,10 +406,15 @@
   "status.copy": "Copy link to status",
   "status.delete": "מחיקה",
   "status.detailed_status": "Detailed conversation view",
-  "status.direct": "Direct message @{name}",
+  "status.direct": "הודעה ישירה ל@{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "הטמעה",
   "status.favourite": "חיבוב",
   "status.filtered": "Filtered",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "עוד",
   "status.media_hidden": "מדיה מוסתרת",
   "status.mention": "פניה אל @{name}",
diff --git a/app/javascript/mastodon/locales/hi.json b/app/javascript/mastodon/locales/hi.json
index 0bcf2a68b..d3221c468 100644
--- a/app/javascript/mastodon/locales/hi.json
+++ b/app/javascript/mastodon/locales/hi.json
@@ -47,7 +47,8 @@
   "account.unmute": "अनम्यूट @{name}",
   "account.unmute_notifications": "@{name} के नोटिफिकेशन अनम्यूट करे",
   "account_note.placeholder": "नोट्स जोड़ने के लिए क्लिक करें",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "एक ही विकल्प के लिए अनुमति देने के लिए पोल बदलें",
   "compose_form.publish": "टूट्",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "मीडिया को संवेदनशील के रूप में चिह्नित करें",
   "compose_form.sensitive.marked": "मीडिया संवेदनशील के रूप में चिह्नित है",
   "compose_form.sensitive.unmarked": "मीडिया संवेदनशील के रूप में चिह्नित नहीं है",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Favourites:",
   "notifications.column_settings.filter_bar.advanced": "सभी श्रेणियाँ दिखाएं",
   "notifications.column_settings.filter_bar.category": "फ़िल्टर बार",
-  "notifications.column_settings.filter_bar.show": "दिखाएँ",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "नए फ़ॉलोअर्स",
   "notifications.column_settings.follow_request": "New follow requests:",
   "notifications.column_settings.mention": "उल्लेख:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "कॉलम में दिखाएँ",
   "notifications.column_settings.sound": "ध्वनि चलाएँ",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "सभी",
   "notifications.filter.boosts": "बूस्ट",
   "notifications.filter.favourites": "पसंदीदा",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "लोड हो रहा है...",
   "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": "अभी",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "today",
   "reply_indicator.cancel": "रद्द करें",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "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.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "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.filtered": "Filtered",
+  "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}",
diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json
index d11c73860..ecdfab67a 100644
--- a/app/javascript/mastodon/locales/hr.json
+++ b/app/javascript/mastodon/locales/hr.json
@@ -22,7 +22,7 @@
   "account.follows.empty": "Korisnik/ca još ne prati nikoga.",
   "account.follows_you": "Prati te",
   "account.hide_reblogs": "Sakrij boostove od @{name}",
-  "account.joined": "Joined {date}",
+  "account.joined": "Pridružio se {date}",
   "account.last_status": "Posljednja aktivnost",
   "account.link_verified_on": "Vlasništvo ove poveznice provjereno je {date}",
   "account.locked_info": "Status privatnosti ovog računa postavljen je na zaključano. Vlasnik ručno pregledava tko ih može pratiti.",
@@ -47,16 +47,17 @@
   "account.unmute": "Poništi utišavanje @{name}",
   "account.unmute_notifications": "Ne utišavaj obavijesti od @{name}",
   "account_note.placeholder": "Kliknite za dodavanje bilješke",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Prosječno",
+  "admin.dashboard.retention.cohort": "Mjesec prijave",
+  "admin.dashboard.retention.cohort_size": "Novi korisnici",
   "alert.rate_limited.message": "Molimo pokušajte nakon {retry_time, time, medium}.",
   "alert.rate_limited.title": "Ograničenje učestalosti",
   "alert.unexpected.message": "Dogodila se neočekivana greška.",
   "alert.unexpected.title": "Ups!",
   "announcement.announcement": "Najava",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(neobrađeno)",
   "autosuggest_hashtag.per_week": "{count} tjedno",
   "boost_modal.combo": "Možete pritisnuti {combo} kako biste preskočili ovo sljedeći put",
   "bundle_column_error.body": "Nešto je pošlo po zlu tijekom učitavanja ove komponente.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Omogući odabir samo jedne opcije ankete",
   "compose_form.publish": "Tootni",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Označi medijski sadržaj kao osjetljiv",
   "compose_form.sensitive.marked": "Medijski sadržaj označen je kao osjetljiv",
   "compose_form.sensitive.unmarked": "Medijski sadržaj nije označen kao osjetljiv",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "Stvarno želite obrisati ovaj toot?",
   "confirmations.delete_list.confirm": "Obriši",
   "confirmations.delete_list.message": "Jeste li sigurni da želite trajno obrisati ovu listu?",
-  "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.discard_edit_media.confirm": "Odbaciti",
+  "confirmations.discard_edit_media.message": "Niste spremili promjene u opisu medija ili u predpregledu, 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.logout.confirm": "Odjavi se",
@@ -163,28 +165,28 @@
   "empty_column.blocks": "Još niste blokirali nikoga.",
   "empty_column.bookmarked_statuses": "Još nemaš niti jedan označeni toot. Kada označiš jedan, prikazad će se ovdje.",
   "empty_column.community": "Lokalna vremenska crta je prazna. Napišite nešto javno da biste pokrenuli stvari!",
-  "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": "Nemate još niti jedne direktne poruke. Kada ih pošaljete ili primite, prikazati će se ovdje.",
   "empty_column.domain_blocks": "Još nema blokiranih domena.",
   "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.",
   "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
-  "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_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
+  "empty_column.follow_recommendations": "Čini se da se ne postoje sugestije generirane za tebe. Možeš pokušati koristiti pretragu kako bi pronašao osobe koje poznaš ili istraži popularne hashtagove.",
+  "empty_column.follow_requests": "Nemaš niti jedan zahtjev za praćenjem. Ako ga dobiješ, prikazat će se ovdje.",
   "empty_column.hashtag": "Još ne postoji ništa s ovim hashtagom.",
   "empty_column.home": "Vaša početna vremenska crta je prazna! Posjetite {public} ili koristite tražilicu kako biste započeli i upoznali druge korisnike.",
-  "empty_column.home.suggestions": "See some suggestions",
+  "empty_column.home.suggestions": "Pogledajte neke prijedloge",
   "empty_column.list": "Na ovoj listi još nema ničega. Kada članovi ove liste objave nove tootove, oni će se pojaviti ovdje.",
-  "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.",
+  "empty_column.lists": "Nemaš niti jednu listu. Kada je kreiraš, prikazat će se ovdje.",
   "empty_column.mutes": "Niste utišali nijednog korisnika.",
   "empty_column.notifications": "Još nemate obavijesti. Komunicirajte s drugima kako biste započeli razgovor.",
   "empty_column.public": "Ovdje nema ništa! Napišite nešto javno ili ručno pratite korisnike s drugi poslužitelja da biste ovo popunili",
-  "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",
+  "error.unexpected_crash.explanation": "Zbog bug-a u našem kodu ili zbog nekompatibilnosti pretraživača, ova stranica se ne može prikazati ispravno.",
+  "error.unexpected_crash.explanation_addons": "Ova stranica ne može biti ispravno prikazana. Ova greška je uzrokovana dodatkom za browser ili alatom za automatsko prevođenje.",
+  "error.unexpected_crash.next_steps": "Pokušaj osvježiti stranicu. Ako to ne pomogne, i dalje ćeš biti u mogućnosti koristiti Mastodon preko nekod drugog preglednika ili izvornog app-a.",
+  "error.unexpected_crash.next_steps_addons": "Pokušaj ih onemogućiti i osvježiti stranicu. Ako to ne pomogne, i dalje ćeš biti u mogućnosti koristiti Mastodon preko nekog drugog preglednika ili izvornog app-a.",
+  "errors.unexpected_crash.copy_stacktrace": "Kopiraj stacktrace u međuspremnik",
   "errors.unexpected_crash.report_issue": "Prijavi problem",
-  "follow_recommendations.done": "Done",
-  "follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.",
+  "follow_recommendations.done": "Učinjeno",
+  "follow_recommendations.heading": "Zaprati osobe čije objave želiš vidjeti! Evo nekoliko prijedloga.",
   "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": "Autoriziraj",
   "follow_request.reject": "Odbij",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Favoriti:",
   "notifications.column_settings.filter_bar.advanced": "Prikaži sve kategorije",
   "notifications.column_settings.filter_bar.category": "Brza traka filtera",
-  "notifications.column_settings.filter_bar.show": "Prikaži",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "Novi pratitelji:",
   "notifications.column_settings.follow_request": "Novi zahtjevi za praćenje:",
   "notifications.column_settings.mention": "Spominjanja:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Prikaži u stupcu",
   "notifications.column_settings.sound": "Sviraj zvuk",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "Sve",
   "notifications.filter.boosts": "Boostovi",
   "notifications.filter.favourites": "Favoriti",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Učitavanje…",
   "regeneration_indicator.sublabel": "Priprema se Vaša početna stranica!",
   "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": "sada",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "danas",
   "reply_indicator.cancel": "Otkaži",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Proslijedi {target}",
   "report.forward_hint": "Račun je s drugog poslužitelja. Poslati anonimiziranu kopiju prijave i tamo?",
   "report.hint": "Prijava bit će poslana moderatorima poslužitelja. Ispod možete dati objašnjenje zašto prijavljujete ovaj račun:",
@@ -396,9 +407,14 @@
   "status.delete": "Obriši",
   "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": "Označi favoritom",
   "status.filtered": "Filtered",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Učitaj više",
   "status.media_hidden": "Sakriven medijski sadržaj",
   "status.mention": "Spomeni @{name}",
diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json
index db08bfc75..4a55c85d9 100644
--- a/app/javascript/mastodon/locales/hu.json
+++ b/app/javascript/mastodon/locales/hu.json
@@ -47,16 +47,17 @@
   "account.unmute": "@{name} némítás feloldása",
   "account.unmute_notifications": "@{name} némított értesítéseinek feloldása",
   "account_note.placeholder": "Klikk a feljegyzéshez",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Átlag",
+  "admin.dashboard.retention.cohort": "Regisztráció hónapja",
+  "admin.dashboard.retention.cohort_size": "Új felhasználó",
   "alert.rate_limited.message": "Próbáld újra {retry_time, time, medium} után.",
   "alert.rate_limited.title": "Forgalomkorlátozás",
   "alert.unexpected.message": "Váratlan hiba történt.",
   "alert.unexpected.title": "Hoppá!",
   "announcement.announcement": "Közlemény",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(feldolgozatlan)",
   "autosuggest_hashtag.per_week": "{count} hetente",
   "boost_modal.combo": "Hogy átugord ezt következő alkalommal, használd {combo}",
   "bundle_column_error.body": "Valami hiba történt a komponens betöltése közben.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Szavazás megváltoztatása egyetlen választásosra",
   "compose_form.publish": "Tülk",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Média kényesnek jelölése} other {Média kényesnek jelölése}}",
   "compose_form.sensitive.marked": "{count, plural, one {A médiát kényesnek jelölték} other {A médiát kényesnek jelölték}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {A médiát nem jelölték kényesnek} other {A médiát nem jelölték kényesnek}}",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "Biztos, hogy törölni szeretnéd ezt a bejegyzést?",
   "confirmations.delete_list.confirm": "Törlés",
   "confirmations.delete_list.message": "Biztos, hogy véglegesen törölni szeretnéd ezt a listát?",
-  "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.discard_edit_media.confirm": "Elvetés",
+  "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.logout.confirm": "Kijelentkezés",
@@ -167,7 +169,7 @@
   "empty_column.domain_blocks": "Még nem rejtettél el egyetlen domaint sem.",
   "empty_column.favourited_statuses": "Még nincs egyetlen kedvenc bejegyzésed sem. Ha kedvencnek jelölsz egyet, itt fog megjelenni.",
   "empty_column.favourites": "Még senki sem jelölte ezt a bejegyzést kedvencnek. Ha valaki mégis megteszi, itt fogjuk mutatni.",
-  "empty_column.follow_recommendations": "Úgy tűnik, neked nem tudunk javaslatokat adni. Próbáld a keresést használni olyanok megtalálására, akiket ismerhetsz, vagy fedezd fel a trendi hastageket.",
+  "empty_column.follow_recommendations": "Úgy tűnik, neked nem tudunk javaslatokat adni. Próbáld a keresést használni olyanok megtalálására, akiket ismerhetsz, vagy fedezd fel a felkapott hastageket.",
   "empty_column.follow_requests": "Még nincs egy követési kérésed sem. Ha kapsz egyet, itt fogjuk feltüntetni.",
   "empty_column.hashtag": "Jelenleg nem található semmi ezzel a hashtaggel.",
   "empty_column.home": "A saját idővonalad üres! Látogasd meg a {public} oldalt vagy használd a keresőt, hogy megismerj másokat.",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Kedvencek:",
   "notifications.column_settings.filter_bar.advanced": "Minden kategória mutatása",
   "notifications.column_settings.filter_bar.category": "Gyorskereső mező",
-  "notifications.column_settings.filter_bar.show": "Mutat",
+  "notifications.column_settings.filter_bar.show_bar": "Szűrősáv mutatása",
   "notifications.column_settings.follow": "Új követők:",
   "notifications.column_settings.follow_request": "Új követési kérelmek:",
   "notifications.column_settings.mention": "Megemlítések:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Oszlopban mutatás",
   "notifications.column_settings.sound": "Hang lejátszása",
   "notifications.column_settings.status": "Új bejegyzések:",
-  "notifications.column_settings.unread_markers.category": "Olvasatlan értesítés jelzők",
+  "notifications.column_settings.unread_notifications.category": "Olvasatlan értesítések",
+  "notifications.column_settings.unread_notifications.highlight": "Olvasatlan értesítések kiemelése",
   "notifications.filter.all": "Mind",
   "notifications.filter.boosts": "Megtolások",
   "notifications.filter.favourites": "Kedvencnek jelölések",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# szavazat} other {# szavazat}}",
   "poll.vote": "Szavazás",
   "poll.voted": "Erre a válaszra szavaztál",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# szavazat} other {# szavazat}}",
   "poll_button.add_poll": "Új szavazás",
   "poll_button.remove_poll": "Szavazás törlése",
   "privacy.change": "Bejegyzés láthatóságának módosítása",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Töltődik…",
   "regeneration_indicator.sublabel": "A saját idővonalad épp készül!",
   "relative_time.days": "{number}n",
+  "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}ó",
   "relative_time.just_now": "most",
   "relative_time.minutes": "{number}p",
   "relative_time.seconds": "{number}mp",
   "relative_time.today": "ma",
   "reply_indicator.cancel": "Mégsem",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Továbbítás: {target}",
   "report.forward_hint": "Ez a fiók egy másik kiszolgálóról van. Oda is elküldöd a jelentés egy anonimizált másolatát?",
   "report.hint": "A bejelentést a szervered moderátorainak küldjük el. Megmagyarázhatod, miért jelented az alábbi problémát:",
@@ -396,9 +407,14 @@
   "status.delete": "Törlés",
   "status.detailed_status": "Részletes beszélgetési nézet",
   "status.direct": "Közvetlen üzenet @{name} számára",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Beágyazás",
   "status.favourite": "Kedvenc",
   "status.filtered": "Megszűrt",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Többet",
   "status.media_hidden": "Média elrejtve",
   "status.mention": "@{name} megemlítése",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Írja le a hallás- vagy látássérültek számára",
   "upload_modal.analyzing_picture": "Kép elemzése…",
   "upload_modal.apply": "Alkalmaz",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Alkalmazás…",
   "upload_modal.choose_image": "Kép kiválasztása",
   "upload_modal.description_placeholder": "A gyors, barna róka átugrik a lusta kutya fölött",
   "upload_modal.detect_text": "Szöveg felismerése a képről",
diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json
index e412917f0..dde99078b 100644
--- a/app/javascript/mastodon/locales/hy.json
+++ b/app/javascript/mastodon/locales/hy.json
@@ -47,10 +47,11 @@
   "account.unmute": "Ապալռեցնել @{name}֊ին",
   "account.unmute_notifications": "Միացնել ծանուցումները @{name}֊ից",
   "account_note.placeholder": "Սեղմէ՛ք գրառելու համար\n",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Միջին",
+  "admin.dashboard.retention.cohort": "Ամսուայ գրանցումներ",
+  "admin.dashboard.retention.cohort_size": "Նոր օգտուող",
   "alert.rate_limited.message": "Փորձէք  որոշ ժամանակ անց՝ {retry_time, time, medium}։",
   "alert.rate_limited.title": "Գործողութիւնների յաճախութիւնը գերազանցում է թոյլատրելին",
   "alert.unexpected.message": "Անսպասելի սխալ տեղի ունեցաւ։",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Հարցումը դարձնել եզակի ընտրութեամբ",
   "compose_form.publish": "Հրապարակել",
   "compose_form.publish_loud": "Հրապարակե՜լ",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Նշել մեդիան որպէս դիւրազգաց",
   "compose_form.sensitive.marked": "Մեդիան նշուած է որպէս դիւրազգաց",
   "compose_form.sensitive.unmarked": "Մեդիան նշուած չէ որպէս դիւրազգաց",
@@ -118,14 +120,14 @@
   "confirmations.delete.message": "Վստա՞հ ես, որ ուզում ես ջնջել այս գրառումը։",
   "confirmations.delete_list.confirm": "Ջնջել",
   "confirmations.delete_list.message": "Վստա՞հ ես, որ ուզում ես մշտապէս ջնջել այս ցանկը։",
-  "confirmations.discard_edit_media.confirm": "Discard",
+  "confirmations.discard_edit_media.confirm": "Չեղարկել",
   "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.logout.confirm": "Ելք",
   "confirmations.logout.message": "Համոզո՞ւած ես, որ ուզում ես դուրս գալ",
   "confirmations.mute.confirm": "Լռեցնել",
-  "confirmations.mute.explanation": "Սա թաքցնելու ա իրենց գրառումներն, ինչպէս նաեւ իրենց նշող գրառումներն, բայց իրենք միեւնոյն է կը կարողանան հետեւել ձեզ եւ տեսնել ձեր գրառումները։",
+  "confirmations.mute.explanation": "Սա թաքցնելու է իրենց գրառումները, ինչպէս նաեւ իրենց նշող գրառումները, բայց իրենք միեւնոյն է կը կարողանան հետեւել ձեզ եւ տեսնել ձեր գրառումները։",
   "confirmations.mute.message": "Վստա՞հ ես, որ ուզում ես {name}֊ին լռեցնել։",
   "confirmations.redraft.confirm": "Ջնջել եւ խմբագրել նորից",
   "confirmations.redraft.message": "Վստահ ե՞ս, որ ցանկանում ես ջնջել եւ վերախմբագրել այս գրառումը։ Դու կը կորցնես այս գրառման բոլոր պատասխանները, տարածումները եւ հաւանումները։",
@@ -142,7 +144,7 @@
   "directory.new_arrivals": "Նորեկներ",
   "directory.recently_active": "Վերջերս ակտիւ",
   "embed.instructions": "Այս գրառումը քո կայքում ներդնելու համար կարող ես պատճէնել ներքեւի կոդը։",
-  "embed.preview": "Ահա, թէ ինչ տեսք կը ունենայ այն՝",
+  "embed.preview": "Ահա, թէ ինչ տեսք կունենայ այն՝",
   "emoji_button.activity": "Զբաղմունքներ",
   "emoji_button.custom": "Յատուկ",
   "emoji_button.flags": "Դրօշներ",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Հաւանածներից՝",
   "notifications.column_settings.filter_bar.advanced": "Ցուցադրել բոլոր կատեգորիաները",
   "notifications.column_settings.filter_bar.category": "Արագ զտման վահանակ",
-  "notifications.column_settings.filter_bar.show": "Ցուցադրել",
+  "notifications.column_settings.filter_bar.show_bar": "Ցոյց տալ զտման պանելը",
   "notifications.column_settings.follow": "Նոր հետեւողներ՝",
   "notifications.column_settings.follow_request": "Նոր հետեւելու հայցեր:",
   "notifications.column_settings.mention": "Նշումներ՝",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Ցուցադրել սիւնում",
   "notifications.column_settings.sound": "Ձայն հանել",
   "notifications.column_settings.status": "Նոր գրառումներ։",
-  "notifications.column_settings.unread_markers.category": "Չկարդացուած ծանուցումների նշաններ",
+  "notifications.column_settings.unread_notifications.category": "Չկարդացուած ծանուցումներ",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "Բոլորը",
   "notifications.filter.boosts": "Տարածածները",
   "notifications.filter.favourites": "Հաւանածները",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Բեռնւում է…",
   "regeneration_indicator.sublabel": "պատրաստւում է հիմնական հոսքդ",
   "relative_time.days": "{number}օր",
+  "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}ժ",
   "relative_time.just_now": "նոր",
   "relative_time.minutes": "{number}ր",
   "relative_time.seconds": "{number}վ",
   "relative_time.today": "Այսօր",
   "reply_indicator.cancel": "Չեղարկել",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Փոխանցել {target}֊ին",
   "report.forward_hint": "Այս հաշիւ այլ հանգոյցից է։ Ուղարկե՞մ այնտեղ էլ այս բողոքի անոնիմ պատճէնը։",
   "report.hint": "Այս զեկոյցը կուղարկուի հանգոյցի մոդերատորներին։ Ներքեւում կարող ես տրամադրել բացատրութիւն, թէ ինչու ես զեկուցում այս հաշուի մասին․",
@@ -396,9 +407,14 @@
   "status.delete": "Ջնջել",
   "status.detailed_status": "Շղթայի ընդլայնուած դիտում",
   "status.direct": "Նամակ գրել {name} -ին",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Ներդնել",
   "status.favourite": "Հաւանել",
   "status.filtered": "Զտուած",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Բեռնել աւելին",
   "status.media_hidden": "մեդիաբովանդակութիւնը թաքցուած է",
   "status.mention": "Նշել @{name}֊ին",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Նկարագրիր տեսանիւթը լսողական կամ տեսողական խնդիրներով անձանց համար",
   "upload_modal.analyzing_picture": "Լուսանկարի վերլուծում…",
   "upload_modal.apply": "Կիրառել",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Կիրառւում է...",
   "upload_modal.choose_image": "Ընտրել նկար",
   "upload_modal.description_placeholder": "Բել դղեակի ձախ ժամն օֆ ազգութեանը ցպահանջ չճշտած վնաս էր եւ փառք։",
   "upload_modal.detect_text": "Յայտնաբերել տեքստը նկարից",
diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json
index a664aff56..3b43f60d5 100644
--- a/app/javascript/mastodon/locales/id.json
+++ b/app/javascript/mastodon/locales/id.json
@@ -47,16 +47,17 @@
   "account.unmute": "Berhenti membisukan @{name}",
   "account.unmute_notifications": "Berhenti bisukan pemberitahuan dari @{name}",
   "account_note.placeholder": "Klik untuk menambah catatan",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Rata-rata",
+  "admin.dashboard.retention.cohort": "Bulan pendaftaran",
+  "admin.dashboard.retention.cohort_size": "Pengguna baru",
   "alert.rate_limited.message": "Mohon ulangi setelah {retry_time, time, medium}.",
   "alert.rate_limited.title": "Batasan tingkat",
   "alert.unexpected.message": "Terjadi kesalahan yang tidak terduga.",
   "alert.unexpected.title": "Ups!",
   "announcement.announcement": "Pengumuman",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(tidak diproses)",
   "autosuggest_hashtag.per_week": "{count} per minggu",
   "boost_modal.combo": "Anda dapat menekan {combo} untuk melewati ini",
   "bundle_column_error.body": "Kesalahan terjadi saat memuat komponen ini.",
@@ -65,7 +66,7 @@
   "bundle_modal_error.close": "Tutup",
   "bundle_modal_error.message": "Kesalahan terjadi saat memuat komponen ini.",
   "bundle_modal_error.retry": "Coba lagi",
-  "column.blocks": "Pengguna diblokir",
+  "column.blocks": "Pengguna yang diblokir",
   "column.bookmarks": "Markah",
   "column.community": "Linimasa Lokal",
   "column.direct": "Pesan langsung",
@@ -92,18 +93,19 @@
   "community.column_settings.remote_only": "Hanya jarak jauh",
   "compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.",
   "compose_form.direct_message_warning_learn_more": "Pelajari selengkapnya",
-  "compose_form.hashtag_warning": "Toot ini tidak akan ada dalam daftar tagar manapun karena telah di set sebagai tidak terdaftar. Hanya postingan publik yang bisa dicari dengan tagar.",
+  "compose_form.hashtag_warning": "Toot ini tidak akan ada dalam daftar tagar manapun karena telah diatur sebagai tidak terdaftar. Hanya postingan publik yang bisa dicari dengan tagar.",
   "compose_form.lock_disclaimer": "Akun anda tidak {locked}. Semua orang dapat mengikuti anda untuk melihat postingan khusus untuk pengikut anda.",
   "compose_form.lock_disclaimer.lock": "terkunci",
   "compose_form.placeholder": "Apa yang ada di pikiran anda?",
   "compose_form.poll.add_option": "Tambahkan pilihan",
-  "compose_form.poll.duration": "Durasi jajak pendapat",
+  "compose_form.poll.duration": "Durasi polling",
   "compose_form.poll.option_placeholder": "Pilihan {number}",
   "compose_form.poll.remove_option": "Hapus opsi ini",
   "compose_form.poll.switch_to_multiple": "Ubah japat menjadi pilihan ganda",
   "compose_form.poll.switch_to_single": "Ubah japat menjadi pilihan tunggal",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, other {Tandai media sebagai sensitif}}",
   "compose_form.sensitive.marked": "{count, plural, other {Media ini ditandai sebagai sensitif}}",
   "compose_form.sensitive.unmarked": "{count, plural, other {Media ini tidak ditandai sebagai sensitif}}",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "Apa anda yakin untuk menghapus status ini?",
   "confirmations.delete_list.confirm": "Hapus",
   "confirmations.delete_list.message": "Apakah anda yakin untuk menghapus daftar ini secara permanen?",
-  "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.discard_edit_media.confirm": "Buang",
+  "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.logout.confirm": "Keluar",
@@ -127,8 +129,8 @@
   "confirmations.mute.confirm": "Bisukan",
   "confirmations.mute.explanation": "Ini akan menyembunyikan pos dari mereka dan pos yang menyebut mereka, tapi ini tetap mengizinkan mereka melihat posmu dan mengikutimu.",
   "confirmations.mute.message": "Apa anda yakin ingin membisukan {name}?",
-  "confirmations.redraft.confirm": "Hapus dan konsep ulang",
-  "confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? You will lose all replies, boosts and favourites to it.",
+  "confirmations.redraft.confirm": "Hapus dan susun ulang",
+  "confirmations.redraft.message": "Apakah anda yakin ingin menghapus dan menyusun ulang? Favorit dan boost akan hilang, dan balasan terhadap kiriman asli akan ditinggalkan.",
   "confirmations.reply.confirm": "Balas",
   "confirmations.reply.message": "Membalas sekarang akan menimpa pesan yang sedang Anda buat. Anda yakin ingin melanjutkan?",
   "confirmations.unfollow.confirm": "Berhenti mengikuti",
@@ -141,8 +143,8 @@
   "directory.local": "Dari {domain} saja",
   "directory.new_arrivals": "Yang baru datang",
   "directory.recently_active": "Baru-baru ini aktif",
-  "embed.instructions": "Sematkan status ini di website anda dengan menyalin kode di bawah ini.",
-  "embed.preview": "Seperti ini nantinya:",
+  "embed.instructions": "Sematkan kiriman ini di website anda dengan menyalin kode di bawah ini.",
+  "embed.preview": "Tampilan akan seperti ini nantinya:",
   "emoji_button.activity": "Aktivitas",
   "emoji_button.custom": "Kustom",
   "emoji_button.flags": "Bendera",
@@ -166,8 +168,8 @@
   "empty_column.direct": "Anda belum memiliki pesan langsung. Ketika Anda mengirim atau menerimanya, maka akan muncul di sini.",
   "empty_column.domain_blocks": "Tidak ada topik tersembunyi.",
   "empty_column.favourited_statuses": "Anda belum memiliki toot favorit. Ketika Anda mengirim atau menerimanya, maka akan muncul di sini.",
-  "empty_column.favourites": "Tidak ada seorangpun yang memfavoritkan toot ini. Ketika seseorang melakukannya, maka akan muncul disini.",
-  "empty_column.follow_recommendations": "Sepertinya tak ada saran yang dibuat untuk Anda. Anda dapat coba menggunakan pencarian untuk menemukan orang yang Anda ketahui atau menjelajahi tagar yang sedang tren.",
+  "empty_column.favourites": "Belum ada yang memfavoritkan toot ini. Ketika seseorang melakukannya, akan muncul disini.",
+  "empty_column.follow_recommendations": "Sepertinya tak ada saran yang dibuat untuk Anda. Anda dapat mencoba menggunakan pencarian untuk menemukan orang yang Anda ketahui atau menjelajahi tagar yang sedang tren.",
   "empty_column.follow_requests": "Anda belum memiliki permintaan mengikuti. Ketika Anda menerimanya, maka akan muncul disini.",
   "empty_column.hashtag": "Tidak ada apapun dalam hashtag ini.",
   "empty_column.home": "Linimasa anda kosong! Kunjungi {public} atau gunakan pencarian untuk memulai dan bertemu pengguna lain.",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Favorit:",
   "notifications.column_settings.filter_bar.advanced": "Tampilkan semua kategori",
   "notifications.column_settings.filter_bar.category": "Bilah penyaring cepat",
-  "notifications.column_settings.filter_bar.show": "Tampilkan",
+  "notifications.column_settings.filter_bar.show_bar": "Tampilkan bilah filter",
   "notifications.column_settings.follow": "Pengikut baru:",
   "notifications.column_settings.follow_request": "Permintaan mengikuti baru:",
   "notifications.column_settings.mention": "Balasan:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Tampilkan dalam kolom",
   "notifications.column_settings.sound": "Mainkan suara",
   "notifications.column_settings.status": "Toot baru:",
-  "notifications.column_settings.unread_markers.category": "Penanda notifikasi belum dibaca",
+  "notifications.column_settings.unread_notifications.category": "Notifikasi yang belum dibaca",
+  "notifications.column_settings.unread_notifications.highlight": "Sorot notifikasi yang belum dibaca",
   "notifications.filter.all": "Semua",
   "notifications.filter.boosts": "Boost",
   "notifications.filter.favourites": "Favorit",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, other {# suara}}",
   "poll.vote": "Memilih",
   "poll.voted": "Anda memilih jawaban ini",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, other {# suara}}",
   "poll_button.add_poll": "Tambah japat",
   "poll_button.remove_poll": "Hapus japat",
   "privacy.change": "Tentukan privasi status",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Memuat…",
   "regeneration_indicator.sublabel": "Linimasa anda sedang disiapkan!",
   "relative_time.days": "{number}h",
+  "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}j",
   "relative_time.just_now": "sekarang",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}d",
   "relative_time.today": "hari ini",
   "reply_indicator.cancel": "Batal",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Teruskan ke {target}",
   "report.forward_hint": "Akun dari server lain. Kirim salinan laporan scr anonim ke sana?",
   "report.hint": "The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "status.delete": "Hapus",
   "status.detailed_status": "Tampilan detail percakapan",
   "status.direct": "Pesan langsung @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Tanam",
   "status.favourite": "Difavoritkan",
   "status.filtered": "Disaring",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Tampilkan semua",
   "status.media_hidden": "Media disembunyikan",
   "status.mention": "Balasan @{name}",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Penjelasan untuk orang dengan gangguan pendengaran atau penglihatan",
   "upload_modal.analyzing_picture": "Analisis gambar…",
   "upload_modal.apply": "Terapkan",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Menerapkan…",
   "upload_modal.choose_image": "Pilih gambar",
   "upload_modal.description_placeholder": "Muharjo seorang xenofobia universal yang takut pada warga jazirah, contohnya Qatar",
   "upload_modal.detect_text": "Deteksi teks pada gambar",
diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json
index a0c7c4912..ee8a2b1b9 100644
--- a/app/javascript/mastodon/locales/io.json
+++ b/app/javascript/mastodon/locales/io.json
@@ -47,7 +47,8 @@
   "account.unmute": "Ne plus celar @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
   "compose_form.publish": "Siflar",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Favorati:",
   "notifications.column_settings.filter_bar.advanced": "Display all categories",
   "notifications.column_settings.filter_bar.category": "Quick filter bar",
-  "notifications.column_settings.filter_bar.show": "Show",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "Nova sequanti:",
   "notifications.column_settings.follow_request": "New follow requests:",
   "notifications.column_settings.mention": "Mencioni:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Montrar en kolumno",
   "notifications.column_settings.sound": "Plear sono",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "All",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favourites",
@@ -362,12 +365,20 @@
   "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": "Nihiligar",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "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.hint": "The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "status.delete": "Efacar",
   "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": "Favorizar",
   "status.filtered": "Filtered",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Kargar pluse",
   "status.media_hidden": "Kontenajo celita",
   "status.mention": "Mencionar @{name}",
diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json
index 9aeca30ac..5020bd068 100644
--- a/app/javascript/mastodon/locales/is.json
+++ b/app/javascript/mastodon/locales/is.json
@@ -47,16 +47,17 @@
   "account.unmute": "Hætta að þagga niður í @{name}",
   "account.unmute_notifications": "Hætta að þagga tilkynningar frá @{name}",
   "account_note.placeholder": "Engin athugasemd gefin",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Meðaltal",
+  "admin.dashboard.retention.cohort": "Mánuður nýskráninga",
+  "admin.dashboard.retention.cohort_size": "Nýir notendur",
   "alert.rate_limited.message": "Prófaðu aftur eftir {retry_time, time, medium}.",
   "alert.rate_limited.title": "Með takmörkum",
   "alert.unexpected.message": "Upp kom óvænt villa.",
   "alert.unexpected.title": "Úbbs!",
   "announcement.announcement": "Auglýsing",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(óunnið)",
   "autosuggest_hashtag.per_week": "{count} á viku",
   "boost_modal.combo": "Þú getur ýtt á {combo} til að sleppa þessu næst",
   "bundle_column_error.body": "Eitthvað fór úrskeiðis við að hlaða inn þessari einingu.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Breyta könnun svo hægt sé að hafa einn stakan valkost",
   "compose_form.publish": "Þyt",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Merkja myndir sem viðkvæmar",
   "compose_form.sensitive.marked": "Mynd er merkt sem viðkvæm",
   "compose_form.sensitive.unmarked": "Mynd er ekki merkt sem viðkvæm",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "Ertu viss um að þú viljir eyða þessari stöðufærslu?",
   "confirmations.delete_list.confirm": "Eyða",
   "confirmations.delete_list.message": "Ertu viss um að þú viljir eyða þessum lista endanlega?",
-  "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.discard_edit_media.confirm": "Henda",
+  "confirmations.discard_edit_media.message": "Þú ert með óvistaðar breytingar á lýsingu myndefnis eða forskoðunar, henda þeim samt?",
   "confirmations.domain_block.confirm": "Fela 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.logout.confirm": "Skrá út",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Fílanir:",
   "notifications.column_settings.filter_bar.advanced": "Birta alla flokka",
   "notifications.column_settings.filter_bar.category": "Skyndisíustika",
-  "notifications.column_settings.filter_bar.show": "Sýna",
+  "notifications.column_settings.filter_bar.show_bar": "Birta síustikuna",
   "notifications.column_settings.follow": "Nýir fylgjendur:",
   "notifications.column_settings.follow_request": "Nýjar beiðnir um að fylgjast með:",
   "notifications.column_settings.mention": "Tilvísanir:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Sýna í dálki",
   "notifications.column_settings.sound": "Spila hljóð",
   "notifications.column_settings.status": "Ný þyt:",
-  "notifications.column_settings.unread_markers.category": "Merki fyrir ólesnar tilkynningar",
+  "notifications.column_settings.unread_notifications.category": "Ólesnar tilkynningar",
+  "notifications.column_settings.unread_notifications.highlight": "Áherslulita ólesnar tilkynningar",
   "notifications.filter.all": "Allt",
   "notifications.filter.boosts": "Endurbirtingar",
   "notifications.filter.favourites": "Fílanir",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# atkvæði} other {# atkvæði}}",
   "poll.vote": "Greiða atkvæði",
   "poll.voted": "Þú kaust þetta svar",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# atkvæði} other {# atkvæði}}",
   "poll_button.add_poll": "Bæta við könnun",
   "poll_button.remove_poll": "Fjarlægja könnun",
   "privacy.change": "Aðlaga gagnaleynd stöðufærslu",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Hleð inn…",
   "regeneration_indicator.sublabel": "Verið er að útbúa heimastreymið þitt!",
   "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}kl.",
   "relative_time.just_now": "núna",
   "relative_time.minutes": "{number}mín",
   "relative_time.seconds": "{number}sek",
   "relative_time.today": "í dag",
   "reply_indicator.cancel": "Hætta við",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Áframsenda til {target}",
   "report.forward_hint": "Notandaaðgangurinn er af öðrum vefþjóni. Á einnig að senda nafnlaust afrit af kærunni þangað?",
   "report.hint": "Kæran verður send á umsjónarmenn vefþjónsins þíns. Þú getur gefið skýringu hér fyrir neðan á því af hverju þú ert að kæra þennan notandaaðgang:",
@@ -396,9 +407,14 @@
   "status.delete": "Eyða",
   "status.detailed_status": "Nákvæm spjallþráðasýn",
   "status.direct": "Bein skilaboð @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Ívefja",
   "status.favourite": "Fílanir",
   "status.filtered": "Síað",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Hlaða inn meiru",
   "status.media_hidden": "Mynd er falin",
   "status.mention": "Minnast á @{name}",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Lýstu þessu fyrir fólk sem heyrir illa eða er með skerta sjón",
   "upload_modal.analyzing_picture": "Greini mynd…",
   "upload_modal.apply": "Virkja",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Beiti…",
   "upload_modal.choose_image": "Veldu mynd",
   "upload_modal.description_placeholder": "Öllum dýrunum í skóginum þætti bezt að vera vinir",
   "upload_modal.detect_text": "Skynja texta úr mynd",
diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json
index d2c9e1179..c02c84f09 100644
--- a/app/javascript/mastodon/locales/it.json
+++ b/app/javascript/mastodon/locales/it.json
@@ -6,20 +6,20 @@
   "account.block": "Blocca @{name}",
   "account.block_domain": "Blocca dominio {domain}",
   "account.blocked": "Bloccato",
-  "account.browse_more_on_origin_server": "Sfoglia ulteriormente sul profilo originale",
+  "account.browse_more_on_origin_server": "Sfoglia di più sul profilo originale",
   "account.cancel_follow_request": "Annulla richiesta di seguire",
   "account.direct": "Messaggio diretto a @{name}",
   "account.disable_notifications": "Smetti di avvisarmi quando @{name} pubblica un post",
   "account.domain_blocked": "Dominio bloccato",
   "account.edit_profile": "Modifica profilo",
   "account.enable_notifications": "Avvisami quando @{name} pubblica un post",
-  "account.endorse": "Mostra sul profilo",
+  "account.endorse": "Metti in evidenza sul profilo",
   "account.follow": "Segui",
   "account.followers": "Follower",
-  "account.followers.empty": "Ancora nessuno segue questo utente.",
+  "account.followers.empty": "Nessuno segue ancora questo utente.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Follower}}",
   "account.following_counter": "{count, plural, other {{counter} Seguiti}}",
-  "account.follows.empty": "Questo utente non segue ancora nessuno.",
+  "account.follows.empty": "Questo utente non segue nessuno ancora.",
   "account.follows_you": "Ti segue",
   "account.hide_reblogs": "Nascondi condivisioni da @{name}",
   "account.joined": "Su questa istanza dal {date}",
@@ -31,15 +31,15 @@
   "account.moved_to": "{name} si è trasferito su:",
   "account.mute": "Silenzia @{name}",
   "account.mute_notifications": "Silenzia notifiche da @{name}",
-  "account.muted": "Silenziat*",
+  "account.muted": "Silenziato",
   "account.never_active": "Mai",
-  "account.posts": "Toot",
-  "account.posts_with_replies": "Toot e risposte",
+  "account.posts": "Post",
+  "account.posts_with_replies": "Post e risposte",
   "account.report": "Segnala @{name}",
   "account.requested": "In attesa di approvazione. Clicca per annullare la richiesta di seguire",
   "account.share": "Condividi il profilo di @{name}",
   "account.show_reblogs": "Mostra condivisioni da @{name}",
-  "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toot}}",
+  "account.statuses_counter": "{count, plural, one {{counter} Post} other {{counter} Post}}",
   "account.unblock": "Sblocca @{name}",
   "account.unblock_domain": "Sblocca il dominio {domain}",
   "account.unendorse": "Non mostrare sul profilo",
@@ -47,16 +47,17 @@
   "account.unmute": "Riattiva @{name}",
   "account.unmute_notifications": "Riattiva le notifiche da @{name}",
   "account_note.placeholder": "Clicca per aggiungere una nota",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
-  "alert.rate_limited.message": "Sei pregato di riprovare tra {retry_time, time, medium}.",
-  "alert.rate_limited.title": "Limitazione per eccesso di richieste",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Media",
+  "admin.dashboard.retention.cohort": "Mese di iscrizione",
+  "admin.dashboard.retention.cohort_size": "Nuovi utenti",
+  "alert.rate_limited.message": "Riprova dopo le {retry_time, time, medium}.",
+  "alert.rate_limited.title": "Rate limit",
   "alert.unexpected.message": "Si è verificato un errore imprevisto.",
   "alert.unexpected.title": "Oops!",
   "announcement.announcement": "Annuncio",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(non elaborato)",
   "autosuggest_hashtag.per_week": "{count} per settimana",
   "boost_modal.combo": "Puoi premere {combo} per saltare questo passaggio la prossima volta",
   "bundle_column_error.body": "E' avvenuto un errore durante il caricamento di questo componente.",
@@ -77,22 +78,22 @@
   "column.lists": "Elenchi",
   "column.mutes": "Utenti silenziati",
   "column.notifications": "Notifiche",
-  "column.pins": "Toot in evidenza",
+  "column.pins": "Post fissati in cima",
   "column.public": "Timeline federata",
   "column_back_button.label": "Indietro",
   "column_header.hide_settings": "Nascondi impostazioni",
   "column_header.moveLeft_settings": "Sposta colonna a sinistra",
   "column_header.moveRight_settings": "Sposta colonna a destra",
-  "column_header.pin": "Evidenzia",
+  "column_header.pin": "Fissa in cima",
   "column_header.show_settings": "Mostra impostazioni",
-  "column_header.unpin": "Non mettere in evidenza",
+  "column_header.unpin": "Non fissare in cima",
   "column_subheading.settings": "Impostazioni",
   "community.column_settings.local_only": "Solo Locale",
   "community.column_settings.media_only": "Solo Media",
   "community.column_settings.remote_only": "Solo Remoto",
-  "compose_form.direct_message_warning": "Questo toot sarà inviato solo agli utenti menzionati.",
+  "compose_form.direct_message_warning": "Questo post sarà inviato solo agli utenti menzionati.",
   "compose_form.direct_message_warning_learn_more": "Scopri di più",
-  "compose_form.hashtag_warning": "Questo toot non sarà elencato sotto alcun hashtag poiché senza elenco. Solo i toot pubblici possono essere ricercati per hashtag.",
+  "compose_form.hashtag_warning": "Questo post non sarà elencato sotto alcun hashtag poiché senza elenco. Solo i toot pubblici possono essere ricercati per hashtag.",
   "compose_form.lock_disclaimer": "Il tuo profilo non è {locked}. Chiunque può seguirti e vedere le tue pubblicazioni visibili solo dai follower.",
   "compose_form.lock_disclaimer.lock": "bloccato",
   "compose_form.placeholder": "A cosa stai pensando?",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Modifica sondaggio per consentire una singola scelta",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Segna media come sensibile",
   "compose_form.sensitive.marked": "Questo media è contrassegnato come sensibile",
   "compose_form.sensitive.unmarked": "Questo media non è contrassegnato come sensibile",
@@ -115,11 +117,11 @@
   "confirmations.block.confirm": "Blocca",
   "confirmations.block.message": "Sei sicuro di voler bloccare {name}?",
   "confirmations.delete.confirm": "Cancella",
-  "confirmations.delete.message": "Sei sicuro di voler cancellare questo toot?",
+  "confirmations.delete.message": "Sei sicuro di voler cancellare questo post?",
   "confirmations.delete_list.confirm": "Cancella",
   "confirmations.delete_list.message": "Sei sicuro di voler cancellare definitivamente questa lista?",
-  "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.discard_edit_media.confirm": "Abbandona",
+  "confirmations.discard_edit_media.message": "Sono state apportate modifiche non salvate alla descrizione o all'anteprima del media, vuoi abbandonarle?",
   "confirmations.domain_block.confirm": "Blocca l'intero dominio",
   "confirmations.domain_block.message": "Sei davvero, davvero sicur@ di voler bloccare {domain} completamente? Nella maggioranza dei casi, è preferibile e sufficiente bloccare o silenziare pochi account in modo mirato. Non vedrai più il contenuto da quel dominio né nelle timeline pubbliche né nelle tue notifiche. Anzi, verranno rimossi dai follower gli account di questo dominio.",
   "confirmations.logout.confirm": "Disconnettiti",
@@ -141,7 +143,7 @@
   "directory.local": "Solo da {domain}",
   "directory.new_arrivals": "Nuovi arrivi",
   "directory.recently_active": "Attivo di recente",
-  "embed.instructions": "Incorpora questo toot sul tuo sito web copiando il codice sotto.",
+  "embed.instructions": "Incorpora questo post sul tuo sito web copiando il codice sotto.",
   "embed.preview": "Ecco come apparirà:",
   "emoji_button.activity": "Attività",
   "emoji_button.custom": "Personalizzato",
@@ -158,15 +160,15 @@
   "emoji_button.symbols": "Simboli",
   "emoji_button.travel": "Viaggi & Luoghi",
   "empty_column.account_suspended": "Account sospeso",
-  "empty_column.account_timeline": "Nessun toot qui!",
+  "empty_column.account_timeline": "Nessun post qui!",
   "empty_column.account_unavailable": "Profilo non disponibile",
   "empty_column.blocks": "Non hai ancora bloccato alcun utente.",
-  "empty_column.bookmarked_statuses": "Non hai ancora segnato alcun toot. Quando ne segni uno, sarà mostrato qui.",
+  "empty_column.bookmarked_statuses": "Non hai ancora segnato alcun post. Quando ne segni uno, sarà mostrato qui.",
   "empty_column.community": "La timeline locale è vuota. Condividi qualcosa pubblicamente per dare inizio alla festa!",
   "empty_column.direct": "Non hai ancora nessun messaggio privato. Quando ne manderai o riceverai qualcuno, apparirà qui.",
   "empty_column.domain_blocks": "Non vi sono domini nascosti.",
-  "empty_column.favourited_statuses": "Non hai ancora segnato nessun toot come apprezzato. Quando lo farai, comparirà qui.",
-  "empty_column.favourites": "Nessuno ha ancora segnato questo toot come apprezzato. Quando qualcuno lo farà, apparirà qui.",
+  "empty_column.favourited_statuses": "Non hai ancora segnato nessun post come apprezzato. Quando lo farai, comparirà qui.",
+  "empty_column.favourites": "Nessuno ha ancora segnato questo post come apprezzato. Quando qualcuno lo farà, apparirà qui.",
   "empty_column.follow_recommendations": "Sembra che nessun suggerimento possa essere generato per te. Puoi provare a usare la ricerca per cercare persone che potresti conoscere o esplorare hashtag di tendenza.",
   "empty_column.follow_requests": "Non hai ancora ricevuto nessuna richiesta di follow. Quando ne riceverai una, verrà mostrata qui.",
   "empty_column.hashtag": "Non c'è ancora nessun post con questo hashtag.",
@@ -208,7 +210,7 @@
   "hashtag.column_settings.tag_mode.none": "Nessuno di questi",
   "hashtag.column_settings.tag_toggle": "Include additional tags in this column",
   "home.column_settings.basic": "Semplice",
-  "home.column_settings.show_reblogs": "Mostra post condivisi",
+  "home.column_settings.show_reblogs": "Mostra condivisioni",
   "home.column_settings.show_replies": "Mostra risposte",
   "home.hide_announcements": "Nascondi annunci",
   "home.show_announcements": "Mostra annunci",
@@ -217,14 +219,14 @@
   "intervals.full.minutes": "{number, plural, one {# minuto} other {# minuti}}",
   "keyboard_shortcuts.back": "per tornare indietro",
   "keyboard_shortcuts.blocked": "per aprire l'elenco degli utenti bloccati",
-  "keyboard_shortcuts.boost": "per condividere",
+  "keyboard_shortcuts.boost": "Condividi il post",
   "keyboard_shortcuts.column": "per portare il focus su uno status in una delle colonne",
   "keyboard_shortcuts.compose": "per portare il focus nell'area di composizione",
   "keyboard_shortcuts.description": "Descrizione",
   "keyboard_shortcuts.direct": "per aprire la colonna dei messaggi diretti",
-  "keyboard_shortcuts.down": "per spostarsi in basso nella lista",
-  "keyboard_shortcuts.enter": "per aprire lo status",
-  "keyboard_shortcuts.favourite": "per segnare come apprezzato",
+  "keyboard_shortcuts.down": "Spostati in basso nella lista",
+  "keyboard_shortcuts.enter": "Apri il post",
+  "keyboard_shortcuts.favourite": "Apprezza post",
   "keyboard_shortcuts.favourites": "per aprire l'elenco dei toot apprezzati",
   "keyboard_shortcuts.federated": "per aprire la timeline federata",
   "keyboard_shortcuts.heading": "Tasti di scelta rapida",
@@ -237,16 +239,16 @@
   "keyboard_shortcuts.my_profile": "per aprire il tuo profilo",
   "keyboard_shortcuts.notifications": "per aprire la colonna delle notifiche",
   "keyboard_shortcuts.open_media": "per aprire media",
-  "keyboard_shortcuts.pinned": "per aprire l'elenco dei toot fissati in cima",
+  "keyboard_shortcuts.pinned": "Apri l'elenco dei toot fissati in cima",
   "keyboard_shortcuts.profile": "per aprire il profilo dell'autore",
-  "keyboard_shortcuts.reply": "per rispondere",
+  "keyboard_shortcuts.reply": "Rispondi al post",
   "keyboard_shortcuts.requests": "per aprire l'elenco di richieste di follow",
   "keyboard_shortcuts.search": "per spostare il focus sulla ricerca",
   "keyboard_shortcuts.spoilers": "per mostrare/nascondere il campo CW",
   "keyboard_shortcuts.start": "per aprire la colonna \"Come iniziare\"",
   "keyboard_shortcuts.toggle_hidden": "per mostrare/nascondere il testo dei CW",
   "keyboard_shortcuts.toggle_sensitivity": "mostrare/nascondere media",
-  "keyboard_shortcuts.toot": "per iniziare a scrivere un toot completamente nuovo",
+  "keyboard_shortcuts.toot": "Crea un nuovo post",
   "keyboard_shortcuts.unfocus": "per uscire dall'area di composizione o dalla ricerca",
   "keyboard_shortcuts.up": "per spostarsi in alto nella lista",
   "lightbox.close": "Chiudi",
@@ -294,7 +296,7 @@
   "navigation_bar.logout": "Esci",
   "navigation_bar.mutes": "Utenti silenziati",
   "navigation_bar.personal": "Personale",
-  "navigation_bar.pins": "Toot fissati in cima",
+  "navigation_bar.pins": "Post fissati in cima",
   "navigation_bar.preferences": "Impostazioni",
   "navigation_bar.public_timeline": "Timeline federata",
   "navigation_bar.security": "Sicurezza",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Apprezzati:",
   "notifications.column_settings.filter_bar.advanced": "Mostra tutte le categorie",
   "notifications.column_settings.filter_bar.category": "Filtro rapido",
-  "notifications.column_settings.filter_bar.show": "Mostra",
+  "notifications.column_settings.filter_bar.show_bar": "Mostra barra filtri",
   "notifications.column_settings.follow": "Nuovi follower:",
   "notifications.column_settings.follow_request": "Nuove richieste di follow:",
   "notifications.column_settings.mention": "Menzioni:",
@@ -321,8 +323,9 @@
   "notifications.column_settings.reblog": "Post condivisi:",
   "notifications.column_settings.show": "Mostra in colonna",
   "notifications.column_settings.sound": "Riproduci suono",
-  "notifications.column_settings.status": "Nuovi toot:",
-  "notifications.column_settings.unread_markers.category": "Marcatori di notifica non letti",
+  "notifications.column_settings.status": "Nuovi post:",
+  "notifications.column_settings.unread_notifications.category": "Notifiche non lette",
+  "notifications.column_settings.unread_notifications.highlight": "Evidenzia notifiche non lette",
   "notifications.filter.all": "Tutti",
   "notifications.filter.boosts": "Condivisioni",
   "notifications.filter.favourites": "Apprezzati",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# voto} other {# voti}}",
   "poll.vote": "Vota",
   "poll.voted": "Hai votato per questa risposta",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# voto} other {# voti}}",
   "poll_button.add_poll": "Aggiungi un sondaggio",
   "poll_button.remove_poll": "Rimuovi sondaggio",
   "privacy.change": "Modifica privacy del post",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Caricamento in corso…",
   "regeneration_indicator.sublabel": "Stiamo preparando il tuo home feed!",
   "relative_time.days": "{number}g",
+  "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}o",
   "relative_time.just_now": "ora",
   "relative_time.minutes": "{number} minuti",
   "relative_time.seconds": "{number} secondi",
   "relative_time.today": "oggi",
   "reply_indicator.cancel": "Annulla",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Inoltra a {target}",
   "report.forward_hint": "Questo account appartiene a un altro server. Mandare anche là una copia anonima del rapporto?",
   "report.hint": "La segnalazione sarà inviata ai moderatori del tuo server. Di seguito, puoi fornire il motivo per il quale stai segnalando questo account:",
@@ -378,27 +389,32 @@
   "search_popout.search_format": "Formato di ricerca avanzato",
   "search_popout.tips.full_text": "Testo semplice per trovare gli status che hai scritto, segnato come apprezzati, condiviso o in cui sei stato citato, e inoltre i nomi utente, nomi visualizzati e hashtag che lo contengono.",
   "search_popout.tips.hashtag": "etichetta",
-  "search_popout.tips.status": "stato",
+  "search_popout.tips.status": "post",
   "search_popout.tips.text": "Testo semplice per trovare nomi visualizzati, nomi utente e hashtag che lo contengono",
   "search_popout.tips.user": "utente",
   "search_results.accounts": "Gente",
   "search_results.hashtags": "Hashtag",
-  "search_results.statuses": "Toot",
-  "search_results.statuses_fts_disabled": "La ricerca di toot per il loro contenuto non è abilitata su questo server Mastodon.",
+  "search_results.statuses": "Post",
+  "search_results.statuses_fts_disabled": "La ricerca di post per il loro contenuto non è abilitata su questo server Mastodon.",
   "search_results.total": "{count} {count, plural, one {risultato} other {risultati}}",
   "status.admin_account": "Apri interfaccia di moderazione per @{name}",
-  "status.admin_status": "Apri questo status nell'interfaccia di moderazione",
+  "status.admin_status": "Apri questo post nell'interfaccia di moderazione",
   "status.block": "Blocca @{name}",
   "status.bookmark": "Aggiungi segnalibro",
   "status.cancel_reblog_private": "Annulla condivisione",
   "status.cannot_reblog": "Questo post non può essere condiviso",
-  "status.copy": "Copia link allo status",
+  "status.copy": "Copia link al post",
   "status.delete": "Elimina",
   "status.detailed_status": "Vista conversazione dettagliata",
   "status.direct": "Messaggio privato @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Incorpora",
   "status.favourite": "Apprezzato",
   "status.filtered": "Filtrato",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Mostra di più",
   "status.media_hidden": "Allegato nascosto",
   "status.mention": "Nomina @{name}",
@@ -407,12 +423,12 @@
   "status.mute_conversation": "Silenzia conversazione",
   "status.open": "Espandi questo post",
   "status.pin": "Fissa in cima sul profilo",
-  "status.pinned": "Toot fissato in cima",
+  "status.pinned": "Post fissato in cima",
   "status.read_more": "Leggi altro",
   "status.reblog": "Condividi",
   "status.reblog_private": "Condividi con i destinatari iniziali",
   "status.reblogged_by": "{name} ha condiviso",
-  "status.reblogs.empty": "Nessuno ha ancora condiviso questo toot. Quando qualcuno lo farà, comparirà qui.",
+  "status.reblogs.empty": "Nessuno ha ancora condiviso questo post. Quando qualcuno lo farà, comparirà qui.",
   "status.redraft": "Cancella e riscrivi",
   "status.remove_bookmark": "Elimina segnalibro",
   "status.reply": "Rispondi",
@@ -443,7 +459,7 @@
   "timeline_hint.remote_resource_not_displayed": "{resource] da altri server non sono mostrati.",
   "timeline_hint.resources.followers": "Follower",
   "timeline_hint.resources.follows": "Segue",
-  "timeline_hint.resources.statuses": "Toot meno recenti",
+  "timeline_hint.resources.statuses": "Post meno recenti",
   "trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} persone}} ne parla·no",
   "trends.trending_now": "Di tendenza ora",
   "ui.beforeunload": "La bozza andrà persa se esci da Mastodon.",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Descrizione per persone con difetti uditivi o visivi",
   "upload_modal.analyzing_picture": "Analisi immagine…",
   "upload_modal.apply": "Applica",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Applicazione in corso…",
   "upload_modal.choose_image": "Scegli immagine",
   "upload_modal.description_placeholder": "Ma la volpe col suo balzo ha raggiunto il quieto Fido",
   "upload_modal.detect_text": "Rileva testo dall'immagine",
diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json
index a9c90ee7f..f1cbffb21 100644
--- a/app/javascript/mastodon/locales/ja.json
+++ b/app/javascript/mastodon/locales/ja.json
@@ -47,16 +47,17 @@
   "account.unmute": "@{name}さんのミュートを解除",
   "account.unmute_notifications": "@{name}さんからの通知を受け取るようにする",
   "account_note.placeholder": "クリックしてメモを追加",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "平均",
+  "admin.dashboard.retention.cohort": "サインアップ月",
+  "admin.dashboard.retention.cohort_size": "新しいユーザー",
   "alert.rate_limited.message": "{retry_time, time, medium} 以降に再度実行してください。",
   "alert.rate_limited.title": "制限に達しました",
   "alert.unexpected.message": "不明なエラーが発生しました。",
   "alert.unexpected.title": "エラー!",
   "announcement.announcement": "お知らせ",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(未処理)",
   "autosuggest_hashtag.per_week": "{count} 回 / 週",
   "boost_modal.combo": "次からは{combo}を押せばスキップできます",
   "bundle_column_error.body": "コンポーネントの読み込み中に問題が発生しました。",
@@ -108,6 +109,7 @@
   "compose_form.poll.switch_to_single": "単一選択に変更",
   "compose_form.publish": "トゥート",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "メディアを閲覧注意にする",
   "compose_form.sensitive.marked": "メディアに閲覧注意が設定されています",
   "compose_form.sensitive.unmarked": "メディアに閲覧注意が設定されていません",
@@ -122,8 +124,8 @@
   "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.discard_edit_media.confirm": "破棄",
+  "confirmations.discard_edit_media.message": "メディアの説明またはプレビューに保存されていない変更があります。それでも破棄しますか?",
   "confirmations.domain_block.confirm": "ドメイン全体をブロック",
   "confirmations.domain_block.message": "本当に{domain}全体を非表示にしますか? 多くの場合は個別にブロックやミュートするだけで充分であり、また好ましいです。公開タイムラインにそのドメインのコンテンツが表示されなくなり、通知も届かなくなります。そのドメインのフォロワーはアンフォローされます。",
   "confirmations.logout.confirm": "ログアウト",
@@ -316,8 +318,8 @@
   "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": "表示",
+  "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": "返信:",
@@ -327,7 +329,8 @@
   "notifications.column_settings.show": "カラムに表示",
   "notifications.column_settings.sound": "通知音を再生",
   "notifications.column_settings.status": "新しい投稿:",
-  "notifications.column_settings.unread_markers.category": "未読マーカー",
+  "notifications.column_settings.unread_notifications.category": "未読の通知:",
+  "notifications.column_settings.unread_notifications.highlight": "未読の通知を強調表示",
   "notifications.filter.all": "すべて",
   "notifications.filter.boosts": "ブースト",
   "notifications.filter.favourites": "お気に入り",
@@ -351,7 +354,7 @@
   "poll.total_votes": "{count}票",
   "poll.vote": "投票",
   "poll.voted": "この項目に投票しました",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes}票",
   "poll_button.add_poll": "アンケートを追加",
   "poll_button.remove_poll": "アンケートを削除",
   "privacy.change": "公開範囲を変更",
@@ -367,12 +370,20 @@
   "regeneration_indicator.label": "読み込み中…",
   "regeneration_indicator.sublabel": "ホームタイムラインは準備中です!",
   "relative_time.days": "{number}日前",
+  "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}時間前",
   "relative_time.just_now": "今",
   "relative_time.minutes": "{number}分前",
   "relative_time.seconds": "{number}秒前",
   "relative_time.today": "今日",
   "reply_indicator.cancel": "キャンセル",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "{target} に転送する",
   "report.forward_hint": "このアカウントは別のサーバーに所属しています。通報内容を匿名で転送しますか?",
   "report.hint": "通報内容はあなたのサーバーのモデレーターへ送信されます。通報理由を入力してください。:",
@@ -401,9 +412,14 @@
   "status.delete": "削除",
   "status.detailed_status": "詳細な会話ビュー",
   "status.direct": "@{name}さんにダイレクトメッセージ",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "埋め込み",
   "status.favourite": "お気に入り",
   "status.filtered": "フィルターされました",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "もっと見る",
   "status.media_hidden": "非表示のメディア",
   "status.mention": "@{name}さんに投稿",
@@ -467,7 +483,7 @@
   "upload_form.video_description": "視聴が難しいユーザーへの説明",
   "upload_modal.analyzing_picture": "画像を解析中…",
   "upload_modal.apply": "適用",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "適用中...",
   "upload_modal.choose_image": "画像を選択",
   "upload_modal.description_placeholder": "あのイーハトーヴォのすきとおった風",
   "upload_modal.detect_text": "画像からテキストを検出",
diff --git a/app/javascript/mastodon/locales/ka.json b/app/javascript/mastodon/locales/ka.json
index 2b1221d6f..12ff62dba 100644
--- a/app/javascript/mastodon/locales/ka.json
+++ b/app/javascript/mastodon/locales/ka.json
@@ -47,7 +47,8 @@
   "account.unmute": "ნუღარ აჩუმებ @{name}-ს",
   "account.unmute_notifications": "ნუღარ აჩუმებ შეტყობინებებს @{name}-სგან",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
   "compose_form.publish": "ტუტი",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
   "compose_form.sensitive.marked": "მედია მონიშნულია მგრძნობიარედ",
   "compose_form.sensitive.unmarked": "მედია არაა მონიშნული მგრძნობიარედ",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "ფავორიტები:",
   "notifications.column_settings.filter_bar.advanced": "Display all categories",
   "notifications.column_settings.filter_bar.category": "Quick filter bar",
-  "notifications.column_settings.filter_bar.show": "Show",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "ახალი მიმდევრები:",
   "notifications.column_settings.follow_request": "New follow requests:",
   "notifications.column_settings.mention": "ხსენებები:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "გამოჩნდეს სვეტში",
   "notifications.column_settings.sound": "ხმის დაკვრა",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "All",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favourites",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "იტვირთება…",
   "regeneration_indicator.sublabel": "თქვენი სახლის ლენტა მზადდება!",
   "relative_time.days": "{number}დღ",
+  "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}სთ",
   "relative_time.just_now": "ახლა",
   "relative_time.minutes": "{number}წთ",
   "relative_time.seconds": "{number}წმ",
   "relative_time.today": "today",
   "reply_indicator.cancel": "უარყოფა",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "ფორვარდი {target}-ს",
   "report.forward_hint": "ანგარიში სხვა სერვერიდანაა. გავაგზავნოთ რეპორტის ანონიმური ასლიც?",
   "report.hint": "რეპორტი გაეგზავნება თქვენი ინსტანციის მოდერატორებს. ქვემოთ შეგიძლიათ დაამატოთ მიზეზი თუ რატომ არეპორტებთ ამ ანგარიშს:",
@@ -396,9 +407,14 @@
   "status.delete": "წაშლა",
   "status.detailed_status": "Detailed conversation view",
   "status.direct": "პირდაპირი წერილი @{name}-ს",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "ჩართვა",
   "status.favourite": "ფავორიტი",
   "status.filtered": "ფილტრირებული",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "მეტის ჩატვირთვა",
   "status.media_hidden": "მედია დამალულია",
   "status.mention": "ასახელე @{name}",
diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json
index 632054786..f420ac45b 100644
--- a/app/javascript/mastodon/locales/kab.json
+++ b/app/javascript/mastodon/locales/kab.json
@@ -47,10 +47,11 @@
   "account.unmute": "Kkes asgugem ɣef @{name}",
   "account.unmute_notifications": "Serreḥ ilɣa sɣur @{name}",
   "account_note.placeholder": "Ulac iwenniten",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.retention.cohort_size": "Iseqdacen imaynuten",
   "alert.rate_limited.message": "Ma ulac aɣilif ɛreḍ tikelt-nniḍen akka {retry_time, time, medium}.",
   "alert.rate_limited.title": "Aktum s talast",
   "alert.unexpected.message": "Yeḍra-d unezri ur netturaǧu ara.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
   "compose_form.publish": "Jewweq",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Creḍ allal n teywalt d anafri",
   "compose_form.sensitive.marked": "Allal n teywalt yettwacreḍ d anafri",
   "compose_form.sensitive.unmarked": "Allal n teywalt ur yettwacreḍ ara d anafri",
@@ -118,7 +120,7 @@
   "confirmations.delete.message": "Tebɣiḍ s tidet ad tekkseḍ tasuffeɣt-agi?",
   "confirmations.delete_list.confirm": "Kkes",
   "confirmations.delete_list.message": "Tebɣiḍ s tidet ad tekkseḍ umuɣ-agi i lebda?",
-  "confirmations.discard_edit_media.confirm": "Discard",
+  "confirmations.discard_edit_media.confirm": "Sefsex",
   "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.",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Ismenyifen:",
   "notifications.column_settings.filter_bar.advanced": "Ssken-d meṛṛa tiggayin",
   "notifications.column_settings.filter_bar.category": "Iri n usizdeg uzrib",
-  "notifications.column_settings.filter_bar.show": "Ssken",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "Imeḍfaṛen imaynuten:",
   "notifications.column_settings.follow_request": "Isuturen imaynuten n teḍfeṛt:",
   "notifications.column_settings.mention": "Abdar:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Ssken-d tilɣa deg ujgu",
   "notifications.column_settings.sound": "Rmed imesli",
   "notifications.column_settings.status": "Tiẓenẓunin timaynutin:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "Akk",
   "notifications.filter.boosts": "Seǧhed",
   "notifications.filter.favourites": "Ismenyifen",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Yessalay-d…",
   "regeneration_indicator.sublabel": "Tasuddemt tagejdant ara d-tettwaheggay!",
   "relative_time.days": "{number}u",
+  "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}isr",
   "relative_time.just_now": "tura",
   "relative_time.minutes": "{number}tis",
   "relative_time.seconds": "{number}tas",
   "relative_time.today": "assa",
   "reply_indicator.cancel": "Sefsex",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Bren-it ɣeṛ {target}",
   "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
   "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "status.delete": "Kkes",
   "status.detailed_status": "Detailed conversation view",
   "status.direct": "Izen usrid i @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Seddu",
   "status.favourite": "Rnu ɣer yismenyifen",
   "status.filtered": "Yettwasizdeg",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Sali ugar",
   "status.media_hidden": "Taɣwalt tettwaffer",
   "status.mention": "Bder-d @{name}",
diff --git a/app/javascript/mastodon/locales/kk.json b/app/javascript/mastodon/locales/kk.json
index 1407a0991..074ae5844 100644
--- a/app/javascript/mastodon/locales/kk.json
+++ b/app/javascript/mastodon/locales/kk.json
@@ -47,7 +47,8 @@
   "account.unmute": "@{name} ескертпелерін қосу",
   "account.unmute_notifications": "@{name} ескертпелерін көрсету",
   "account_note.placeholder": "Жазба қалдыру үшін бас",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Тек бір жауап таңдайтындай қылу",
   "compose_form.publish": "Түрт",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Сезімтал ретінде белгіле",
   "compose_form.sensitive.marked": "Медиа нәзік деп белгіленген",
   "compose_form.sensitive.unmarked": "Медиа нәзік деп белгіленбеген",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Таңдаулылар:",
   "notifications.column_settings.filter_bar.advanced": "Барлық категорияны көрсет",
   "notifications.column_settings.filter_bar.category": "Жедел сүзгі",
-  "notifications.column_settings.filter_bar.show": "Көрсету",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "Жаңа оқырмандар:",
   "notifications.column_settings.follow_request": "Жазылуға жаңа сұранымдар:",
   "notifications.column_settings.mention": "Аталымдар:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Бағанда көрсет",
   "notifications.column_settings.sound": "Дыбысын қос",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "Барлығы",
   "notifications.filter.boosts": "Бөлісулер",
   "notifications.filter.favourites": "Таңдаулылар",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Жүктеу…",
   "regeneration_indicator.sublabel": "Жергілікті желі құрылуда!",
   "relative_time.days": "{number}күн",
+  "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}сағ",
   "relative_time.just_now": "жаңа",
   "relative_time.minutes": "{number}мин",
   "relative_time.seconds": "{number}с",
   "relative_time.today": "бүгін",
   "reply_indicator.cancel": "Қайтып алу",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Жіберу {target}",
   "report.forward_hint": "Бұл аккаунт басқа серверден. Аноним шағым жібересіз бе?",
   "report.hint": "Шағым сіздің модераторларға жіберіледі. Шағымның себептерін мына жерге жазуыңызға болады:",
@@ -396,9 +407,14 @@
   "status.delete": "Өшіру",
   "status.detailed_status": "Толық пікірталас көрінісі",
   "status.direct": "Хат жіберу @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Embеd",
   "status.favourite": "Таңдаулы",
   "status.filtered": "Фильтрленген",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Тағы әкел",
   "status.media_hidden": "Жабық медиа",
   "status.mention": "Аталым @{name}",
diff --git a/app/javascript/mastodon/locales/kmr.json b/app/javascript/mastodon/locales/kmr.json
index 8f862606d..f45e305cd 100644
--- a/app/javascript/mastodon/locales/kmr.json
+++ b/app/javascript/mastodon/locales/kmr.json
@@ -21,7 +21,7 @@
   "account.following_counter": "{count, plural, one {{counter} Dişopîne} other {{counter} Dişopîne}}",
   "account.follows.empty": "Ev bikarhêner hin kesekî heya niha neşopandiye.",
   "account.follows_you": "Te dişopîne",
-  "account.hide_reblogs": "Boost ên ji @{name} veşêre",
+  "account.hide_reblogs": "Bilindkirinên ji @{name} veşêre",
   "account.joined": "Tevlîbû di {date} de",
   "account.last_status": "Çalakiya dawî",
   "account.link_verified_on": "Xwedaniya li vê girêdanê di {date} de hatiye kontrolkirin",
@@ -34,11 +34,11 @@
   "account.muted": "Bêdengkirî",
   "account.never_active": "Tu car",
   "account.posts": "Şandî",
-  "account.posts_with_replies": "Toot û bersiv",
+  "account.posts_with_replies": "Şandî û bersiv",
   "account.report": "@{name} Ragihîne",
   "account.requested": "Li benda erêkirinê ye. Ji bo betal kirina daxwazê pêl bikin",
   "account.share": "Profîla @{name} parve bike",
-  "account.show_reblogs": "Boostên @{name} nîşan bike",
+  "account.show_reblogs": "Bilindkirinên ji @{name} nîşan bike",
   "account.statuses_counter": "{count, plural,one {{counter} şandî}other {{counter} şandî}}",
   "account.unblock": "Astengê li ser @{name} rake",
   "account.unblock_domain": "Astengê li ser navperê {domain} rake",
@@ -47,16 +47,17 @@
   "account.unmute": "@{name} Bêdeng bike",
   "account.unmute_notifications": "Agahdariyan ji @{name} bêdeng bike",
   "account_note.placeholder": "Bitikîne bo nîşeyekê tevlî bikî",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Navîn",
+  "admin.dashboard.retention.cohort": "Meha tomarkirinê",
+  "admin.dashboard.retention.cohort_size": "Bikarhênerên nû",
   "alert.rate_limited.message": "Jkx dîsa biceribîne piştî {retry_time, time, medium}.\n \n",
   "alert.rate_limited.title": "Rêje sînorkirî ye",
   "alert.unexpected.message": "Çewtiyeke bêhêvî çê bû.",
   "alert.unexpected.title": "Wey li min!",
   "announcement.announcement": "Daxuyanî",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(bêpêvajo)",
   "autosuggest_hashtag.per_week": "Her hefte {count}",
   "boost_modal.combo": "Ji bo derbas bî carekî din de pêlê {combo} bike",
   "bundle_column_error.body": "Di dema barkirina vê hêmanê de tiştek çewt çê bû.",
@@ -77,7 +78,7 @@
   "column.lists": "Rêzok",
   "column.mutes": "Bikarhênerên bêdengkirî",
   "column.notifications": "Agahdarî",
-  "column.pins": "Toot a derzîkirî",
+  "column.pins": "Şandiya derzîkirî",
   "column.public": "Demnameyê federalîkirî",
   "column_back_button.label": "Veger",
   "column_header.hide_settings": "Sazkariyan veşêre",
@@ -90,7 +91,7 @@
   "community.column_settings.local_only": "Tenê herêmî",
   "community.column_settings.media_only": "Tenê media",
   "community.column_settings.remote_only": "Tenê ji dûr ve",
-  "compose_form.direct_message_warning": "Ev toot tenê ji bikarhênerên behskirî re were şandin.",
+  "compose_form.direct_message_warning": "Ev şandî tenê ji bikarhênerên qalkirî re wê were şandin.",
   "compose_form.direct_message_warning_learn_more": "Bêtir fêr bibe",
   "compose_form.hashtag_warning": "Ev şandî ji ber ku nehatiye tomarkirin dê di binê hashtagê de neyê tomar kirin. Tenê peyamên gelemperî dikarin bi hashtagê werin lêgerîn.",
   "compose_form.lock_disclaimer": "Ajimêrê te {locked} nîne. Herkes dikare te bişopîne da ku şandiyên te yên tenê şopînerên te ra xûya dibin bibînin.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Rapirsîyê biguherîne da ku mafê bidî tenê vebijêrkek",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Medya wekî hestiyar nîşan bide} other {Medya wekî hestiyar nîşan bide}}",
   "compose_form.sensitive.marked": "{count, plural, one {Medya wekî hestiyar hate nîşan} other {Medya wekî hestiyar nîşan}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Medya wekî hestiyar nehatiye nîşan} other {Medya wekî hestiyar nehatiye nîşan}}",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "Ma tu dixwazî vê şandiyê jê bibî?",
   "confirmations.delete_list.confirm": "Jê bibe",
   "confirmations.delete_list.message": "Ma tu dixwazî bi awayekî herdemî vê rêzokê jê bibî?",
-  "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.discard_edit_media.confirm": "Biavêje",
+  "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": "Hemî navperê asteng bike",
   "confirmations.domain_block.message": "Tu ji xwe bawerî, bi rastî tu dixwazî hemû {domain} asteng bikî? Di gelek rewşan de asteng kirin an jî bêdeng kirin têrê dike û tê tercîh kirin. Tu nikarî naveroka vê navperê di demnameyê an jî agahdariyên xwe de bibînî. Şopînerên te yê di vê navperê were jêbirin.",
   "confirmations.logout.confirm": "Derkeve",
@@ -128,7 +130,7 @@
   "confirmations.mute.explanation": "Ev ê şandinên ji wan tê û şandinên ku behsa wan dike veşêre, lê hê jî maf dide ku ew şandinên te bibînin û te bişopînin.",
   "confirmations.mute.message": "Bi rastî tu dixwazî {name} bêdeng bikî?",
   "confirmations.redraft.confirm": "Jê bibe & ji nû ve serrast bike",
-  "confirmations.redraft.message": "Bi rastî tu dixwazî şandî ye jê bibî û nûve reşnivîsek çê bikî? Bijare û şandîyên wenda bibin û bersivên ji bo şandiye orîjînal sêwî bimînin.",
+  "confirmations.redraft.message": "Bi rastî tu dixwazî şandî ye jê bibî û nûve reşnivîsek çê bikî? Bijare û şandî wê wenda bibin û bersivên ji bo şandiyê resen wê sêwî bimînin.",
   "confirmations.reply.confirm": "Bersivê bide",
   "confirmations.reply.message": "Bersiva niha li ser peyama ku tu niha berhev dikî dê binivsîne. Ma pê bawer î ku tu dixwazî bidomînî?",
   "confirmations.unfollow.confirm": "Neşopîne",
@@ -187,7 +189,7 @@
   "follow_recommendations.heading": "Mirovên ku tu dixwazî ji wan peyaman bibînî bişopîne! Hin pêşnîyar li vir in.",
   "follow_recommendations.lead": "Li gorî rêza kronolojîkî peyamên mirovên ku tu dişopînî dê demnameya te de xûya bike. Ji xeletiyan netirse, bi awayekî hêsan her wextî tu dikarî dev ji şopandinê berdî!",
   "follow_request.authorize": "Mafê bide",
-  "follow_request.reject": "Nepejir",
+  "follow_request.reject": "Nepejirîne",
   "follow_requests.unlocked_explanation": "Tevlî ku ajimêra te ne kilît kiriye, karmendên {domain} digotin qey tu dixwazî ku pêşdîtina daxwazên şopandinê bi destan bike.",
   "generic.saved": "Tomarkirî",
   "getting_started.developers": "Pêşdebir",
@@ -208,7 +210,7 @@
   "hashtag.column_settings.tag_mode.none": "Ne yek ji van",
   "hashtag.column_settings.tag_toggle": "Ji bo vê stûnê hin pêvekan tevlî bike",
   "home.column_settings.basic": "Bingehîn",
-  "home.column_settings.show_reblogs": "Boost'an nîşan bike",
+  "home.column_settings.show_reblogs": "Bilindkirinan nîşan bike",
   "home.column_settings.show_replies": "Bersivan nîşan bide",
   "home.hide_announcements": "Reklaman veşêre",
   "home.show_announcements": "Reklaman nîşan bide",
@@ -217,7 +219,7 @@
   "intervals.full.minutes": "{number, plural, one {# xulek} other {# xulek}}",
   "keyboard_shortcuts.back": "Vegere paşê",
   "keyboard_shortcuts.blocked": "Rêzoka bikarhênerên astengkirî veke",
-  "keyboard_shortcuts.boost": "Şandiya parve (boost) bike",
+  "keyboard_shortcuts.boost": "Şandiyê bilind bike",
   "keyboard_shortcuts.column": "Stûna balkişandinê",
   "keyboard_shortcuts.compose": "Bal bikşîne cîhê nivîsê/textarea",
   "keyboard_shortcuts.description": "Danasîn",
@@ -294,8 +296,8 @@
   "navigation_bar.logout": "Derkeve",
   "navigation_bar.mutes": "Bikarhênerên bêdengkirî",
   "navigation_bar.personal": "Kesanî",
-  "navigation_bar.pins": "Toot a derzîkirî",
-  "navigation_bar.preferences": "Hilbijarte",
+  "navigation_bar.pins": "Şandiya derzîkirî",
+  "navigation_bar.preferences": "Sazkarî",
   "navigation_bar.public_timeline": "Demnameyê federalîkirî",
   "navigation_bar.security": "Ewlehî",
   "notification.favourite": "{name} şandiya te hez kir",
@@ -304,7 +306,7 @@
   "notification.mention": "{name} qale te kir",
   "notification.own_poll": "Rapirsîya te qediya",
   "notification.poll": "Rapirsiyeke ku te deng daye qediya",
-  "notification.reblog": "{name} şandiya te belav kir/ boost kir",
+  "notification.reblog": "{name} şandiya te bilind kir",
   "notification.status": "{name} niha şand",
   "notifications.clear": "Agahdariyan pak bike",
   "notifications.clear_confirmation": "Bi rastî tu dixwazî bi awayekî dawî hemû agahdariyên xwe pak bikî?",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Bijarte:",
   "notifications.column_settings.filter_bar.advanced": "Hemû beşan nîşan bide",
   "notifications.column_settings.filter_bar.category": "Şivika parzûna bilêz",
-  "notifications.column_settings.filter_bar.show": "Nîşan bike",
+  "notifications.column_settings.filter_bar.show_bar": "Darika parzûnê nîşan bide",
   "notifications.column_settings.follow": "Şopînerên nû:",
   "notifications.column_settings.follow_request": "Daxwazên şopandinê nû:",
   "notifications.column_settings.mention": "Qalkirin:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Di nav stûnê de nîşan bike",
   "notifications.column_settings.sound": "Deng lêxe",
   "notifications.column_settings.status": "Şandiyên nû:",
-  "notifications.column_settings.unread_markers.category": "Nîşankerê agahdariyên nexwendî",
+  "notifications.column_settings.unread_notifications.category": "Agahdariyên nexwendî",
+  "notifications.column_settings.unread_notifications.highlight": "Agahiyên nexwendî nîşan bike",
   "notifications.filter.all": "Hemû",
   "notifications.filter.boosts": "Bilindkirî",
   "notifications.filter.favourites": "Bijarte",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# deng} other {# deng}}",
   "poll.vote": "Deng bide",
   "poll.voted": "Te dengê xwe da vê bersivê",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# deng} other {# deng}}",
   "poll_button.add_poll": "Rapirsîyek zêde bike",
   "poll_button.remove_poll": "Rapirsî yê rake",
   "privacy.change": "Nepênîtiya şandiyan biguherîne",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Tê barkirin…",
   "regeneration_indicator.sublabel": "Mala te da tê amedekirin!",
   "relative_time.days": "{number}r",
+  "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}d",
   "relative_time.just_now": "niha",
   "relative_time.minutes": "{number}x",
   "relative_time.seconds": "{number}ç",
   "relative_time.today": "îro",
   "reply_indicator.cancel": "Dev jê berde",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Biçe bo {target}",
   "report.forward_hint": "Ajimêr ji rajekarek din da ne. Tu kopîyeka anonîm ya raporê bişînî li wur?",
   "report.hint": "Ev rapor yê rajekarê lihevkarên te ra were şandin. Tu dikarî şiroveyekê pêşkêş bikî bê ka tu çima vê ajimêrê jor radigîhînî:",
@@ -396,9 +407,14 @@
   "status.delete": "Jê bibe",
   "status.detailed_status": "Dîtina axaftina berfireh",
   "status.direct": "Peyama rasterast @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Hedimandî",
   "status.favourite": "Bijarte",
   "status.filtered": "Parzûnkirî",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Bêtir bar bike",
   "status.media_hidden": "Medya veşartî ye",
   "status.mention": "Qal @{name} bike",
@@ -409,7 +425,7 @@
   "status.pin": "Li ser profîlê derzî bike",
   "status.pinned": "Şandiya derzîkirî",
   "status.read_more": "Bêtir bixwîne",
-  "status.reblog": "Bilindkirî",
+  "status.reblog": "Bilind bike",
   "status.reblog_private": "Bi dîtina resen bilind bike",
   "status.reblogged_by": "{name} bilind kir",
   "status.reblogs.empty": "Kesekî hin ev şandî bilind nekiriye. Gava kesek bilind bike, ew ên li vir werin xuyakirin.",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Ji bo kesên kerr û lalan pênase bike",
   "upload_modal.analyzing_picture": "Wêne tê analîzkirin…",
   "upload_modal.apply": "Bisepîne",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Tê sepandin…",
   "upload_modal.choose_image": "Wêneyê hilbijêre",
   "upload_modal.description_placeholder": "Rovîyek qehweyî û bilez li ser kûçikê tîral banz dide",
   "upload_modal.detect_text": "Ji nivîsa wêneyê re serwext be",
diff --git a/app/javascript/mastodon/locales/kn.json b/app/javascript/mastodon/locales/kn.json
index 72b8f7f0a..cc6c34e4a 100644
--- a/app/javascript/mastodon/locales/kn.json
+++ b/app/javascript/mastodon/locales/kn.json
@@ -47,7 +47,8 @@
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
@@ -312,7 +314,7 @@
   "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": "Show",
+  "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:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Show in column",
   "notifications.column_settings.sound": "Play sound",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "All",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favourites",
@@ -362,12 +365,20 @@
   "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.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "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.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "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.filtered": "Filtered",
+  "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}",
diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json
index 4252141e7..613ef7600 100644
--- a/app/javascript/mastodon/locales/ko.json
+++ b/app/javascript/mastodon/locales/ko.json
@@ -47,16 +47,17 @@
   "account.unmute": "@{name} 뮤트 해제",
   "account.unmute_notifications": "@{name}의 알림 뮤트 해제",
   "account_note.placeholder": "클릭해서 노트 추가",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "평균",
+  "admin.dashboard.retention.cohort": "가입한 달",
+  "admin.dashboard.retention.cohort_size": "새로운 사용자",
   "alert.rate_limited.message": "{retry_time, time, medium}에 다시 시도해 주세요.",
   "alert.rate_limited.title": "빈도 제한됨",
   "alert.unexpected.message": "예측하지 못한 에러가 발생했습니다.",
   "alert.unexpected.title": "앗!",
   "announcement.announcement": "공지사항",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(처리 안 됨)",
   "autosuggest_hashtag.per_week": "주간 {count}회",
   "boost_modal.combo": "다음엔 {combo}를 눌러서 이 과정을 건너뛸 수 있습니다",
   "bundle_column_error.body": "컴포넌트를 불러오는 과정에서 문제가 발생했습니다.",
@@ -65,17 +66,17 @@
   "bundle_modal_error.close": "닫기",
   "bundle_modal_error.message": "컴포넌트를 불러오는 과정에서 문제가 발생했습니다.",
   "bundle_modal_error.retry": "다시 시도",
-  "column.blocks": "차단된 사용자",
+  "column.blocks": "차단한 사용자",
   "column.bookmarks": "보관함",
   "column.community": "로컬 타임라인",
   "column.direct": "다이렉트 메시지",
   "column.directory": "프로필 둘러보기",
-  "column.domain_blocks": "차단된 도메인",
+  "column.domain_blocks": "차단한 도메인",
   "column.favourites": "즐겨찾기",
   "column.follow_requests": "팔로우 요청",
   "column.home": "홈",
   "column.lists": "리스트",
-  "column.mutes": "뮤트된 사용자",
+  "column.mutes": "뮤트한 사용자",
   "column.notifications": "알림",
   "column.pins": "고정된 게시물",
   "column.public": "연합 타임라인",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "단일 선택 투표로 변경",
   "compose_form.publish": "뿌우",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "미디어를 민감함으로 설정하기",
   "compose_form.sensitive.marked": "미디어가 열람주의로 설정되어 있습니다",
   "compose_form.sensitive.unmarked": "미디어가 열람주의로 설정 되어 있지 않습니다",
@@ -118,8 +120,8 @@
   "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.discard_edit_media.confirm": "취소",
+  "confirmations.discard_edit_media.message": "미디어 설명이나 미리보기에 대한 저장하지 않은 변경사항이 있습니다. 버리시겠습니까?",
   "confirmations.domain_block.confirm": "도메인 전체를 차단",
   "confirmations.domain_block.message": "정말로 {domain} 전체를 차단하시겠습니까? 대부분의 경우 개별 차단이나 뮤트로 충분합니다. 모든 공개 타임라인과 알림에서 해당 도메인에서 작성된 컨텐츠를 보지 못합니다. 해당 도메인에 속한 팔로워와의 관계가 사라집니다.",
   "confirmations.logout.confirm": "로그아웃",
@@ -164,7 +166,7 @@
   "empty_column.bookmarked_statuses": "아직 보관한 게시물이 없습니다. 게시물을 보관하면 여기에 나타납니다.",
   "empty_column.community": "로컬 타임라인에 아무 것도 없습니다. 아무거나 적어 보세요!",
   "empty_column.direct": "아직 다이렉트 메시지가 없습니다. 다이렉트 메시지를 보내거나 받은 경우, 여기에 표시 됩니다.",
-  "empty_column.domain_blocks": "아직 차단된 도메인이 없습니다.",
+  "empty_column.domain_blocks": "아직 차단한 도메인이 없습니다.",
   "empty_column.favourited_statuses": "아직 즐겨찾기 한 게시물이 없습니다. 게시물을 즐겨찾기 하면 여기에 나타납니다.",
   "empty_column.favourites": "아직 아무도 이 게시물을 즐겨찾기 하지 않았습니다. 누군가 즐겨찾기를 하면 여기에 나타납니다.",
   "empty_column.follow_recommendations": "당신을 위한 제안이 생성될 수 없는 것 같습니다. 알 수도 있는 사람을 검색하거나 유행하는 해시태그를 둘러볼 수 있습니다.",
@@ -282,17 +284,17 @@
   "navigation_bar.compose": "새 게시물 작성",
   "navigation_bar.direct": "다이렉트 메시지",
   "navigation_bar.discover": "발견하기",
-  "navigation_bar.domain_blocks": "차단된 도메인",
+  "navigation_bar.domain_blocks": "차단한 도메인",
   "navigation_bar.edit_profile": "프로필 편집",
   "navigation_bar.favourites": "즐겨찾기",
-  "navigation_bar.filters": "뮤트된 단어",
+  "navigation_bar.filters": "뮤트한 단어",
   "navigation_bar.follow_requests": "팔로우 요청",
   "navigation_bar.follows_and_followers": "팔로우와 팔로워",
   "navigation_bar.info": "이 서버에 대해서",
   "navigation_bar.keyboard_shortcuts": "단축키",
   "navigation_bar.lists": "리스트",
   "navigation_bar.logout": "로그아웃",
-  "navigation_bar.mutes": "뮤트 중인 사용자",
+  "navigation_bar.mutes": "뮤트한 사용자",
   "navigation_bar.personal": "개인용",
   "navigation_bar.pins": "고정된 게시물",
   "navigation_bar.preferences": "사용자 설정",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "즐겨찾기:",
   "notifications.column_settings.filter_bar.advanced": "카테고리의 모든 종류를 표시",
   "notifications.column_settings.filter_bar.category": "퀵 필터 바",
-  "notifications.column_settings.filter_bar.show": "표시",
+  "notifications.column_settings.filter_bar.show_bar": "필터 막대 표시",
   "notifications.column_settings.follow": "새 팔로워:",
   "notifications.column_settings.follow_request": "새 팔로우 요청:",
   "notifications.column_settings.mention": "답글:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "컬럼에 표시",
   "notifications.column_settings.sound": "효과음 재생",
   "notifications.column_settings.status": "새 게시물:",
-  "notifications.column_settings.unread_markers.category": "읽지 않음 알림 마커",
+  "notifications.column_settings.unread_notifications.category": "읽지 않은 알림",
+  "notifications.column_settings.unread_notifications.highlight": "읽지 않은 알림 강조",
   "notifications.filter.all": "모두",
   "notifications.filter.boosts": "부스트",
   "notifications.filter.favourites": "즐겨찾기",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count} 표",
   "poll.vote": "투표",
   "poll.voted": "이 답변에 투표했습니다",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes} 표",
   "poll_button.add_poll": "투표 추가",
   "poll_button.remove_poll": "투표 삭제",
   "privacy.change": "포스트의 프라이버시 설정을 변경",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "불러오는 중…",
   "regeneration_indicator.sublabel": "당신의 홈 피드가 준비되는 중입니다!",
   "relative_time.days": "{number}일 전",
+  "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}시간 전",
   "relative_time.just_now": "방금",
   "relative_time.minutes": "{number}분 전",
   "relative_time.seconds": "{number}초 전",
   "relative_time.today": "오늘",
   "reply_indicator.cancel": "취소",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "{target}에 포워드 됨",
   "report.forward_hint": "이 계정은 다른 서버에 있습니다. 익명화 된 사본을 해당 서버에도 전송할까요?",
   "report.hint": "신고는 당신의 서버 스태프에게 전송 됩니다. 왜 이 계정을 신고하는 지에 대한 설명을 아래에 작성할 수 있습니다:",
@@ -396,12 +407,17 @@
   "status.delete": "삭제",
   "status.detailed_status": "대화 자세히 보기",
   "status.direct": "@{name}에게 다이렉트 메시지",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "공유하기",
   "status.favourite": "즐겨찾기",
   "status.filtered": "필터로 걸러짐",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "더 보기",
   "status.media_hidden": "미디어 숨겨짐",
-  "status.mention": "답장",
+  "status.mention": "@{name}에게 글쓰기",
   "status.more": "자세히",
   "status.mute": "@{name} 뮤트",
   "status.mute_conversation": "이 대화를 뮤트",
@@ -416,7 +432,7 @@
   "status.redraft": "지우고 다시 쓰기",
   "status.remove_bookmark": "보관한 게시물 삭제",
   "status.reply": "답장",
-  "status.replyAll": "전원에게 답장",
+  "status.replyAll": "글타래에 답장",
   "status.report": "신고",
   "status.sensitive_warning": "민감한 미디어",
   "status.share": "공유",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "청각, 시각 장애인을 위한 설명",
   "upload_modal.analyzing_picture": "이미지 분석 중…",
   "upload_modal.apply": "적용",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "적용 중...",
   "upload_modal.choose_image": "이미지 선택",
   "upload_modal.description_placeholder": "다람쥐 헌 쳇바퀴 타고파",
   "upload_modal.detect_text": "이미지에서 텍스트 추출",
diff --git a/app/javascript/mastodon/locales/ku.json b/app/javascript/mastodon/locales/ku.json
index 2f0c4e511..36b2ffef1 100644
--- a/app/javascript/mastodon/locales/ku.json
+++ b/app/javascript/mastodon/locales/ku.json
@@ -47,7 +47,8 @@
   "account.unmute": "بێدەنگکردنی @{name}",
   "account.unmute_notifications": "بێدەنگکردنی هۆشیارییەکان لە @{name}",
   "account_note.placeholder": "کرتەبکە بۆ زیادکردنی تێبینی",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "گۆڕینی ڕاپرسی بۆ ڕێگەدان بە تاکە هەڵبژاردنێک",
   "compose_form.publish": "توت",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "نیشانکردنی میدیا وەک هەستیار",
   "compose_form.sensitive.marked": "وادەی کۆتایی",
   "compose_form.sensitive.unmarked": "میدیا وەک هەستیار نیشان نەکراوە",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "دڵخوازترین:",
   "notifications.column_settings.filter_bar.advanced": "هەموو پۆلەکان پیشان بدە",
   "notifications.column_settings.filter_bar.category": "شریتی پاڵێوەری خێرا",
-  "notifications.column_settings.filter_bar.show": "نیشاندان",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "شوێنکەوتوانی نوێ:",
   "notifications.column_settings.follow_request": "شوینکەوتنی داواکاری نوێ:",
   "notifications.column_settings.mention": "ئاماژەکان:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "لە ستووندا پیشان بدە",
   "notifications.column_settings.sound": "لێدانی دەنگ",
   "notifications.column_settings.status": "توتەکانی نوێ:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "هەموو",
   "notifications.filter.boosts": "دووبارەتوتەکان",
   "notifications.filter.favourites": "دڵخوازەکان",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "بارکردن…",
   "regeneration_indicator.sublabel": "ڕاگەیەنەری ماڵەوەت ئامادە دەکرێت!",
   "relative_time.days": "{number}ڕۆژ",
+  "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}کات",
   "relative_time.just_now": "ئێستا",
   "relative_time.minutes": "{number}کات",
   "relative_time.seconds": "{number}کات",
   "relative_time.today": "ئیمڕۆ",
   "reply_indicator.cancel": "هەڵوەشاندنەوه",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "ناردن بۆ {target}",
   "report.forward_hint": "هەژمارەکە لە ڕاژەیەکی ترە. ڕونووسێکی نەناسراو بنێرە بۆ گوزارشت لەوێ?",
   "report.hint": "گوزارشتەکە دەنێردرێت بۆ بەرپرسانی ڕاژەکەت. دەتوانیت ڕوونکردنەوەیەک پێشکەش بکەیت کە بۆچی ئەم هەژمارە لە خوارەوە گوزارش دەکەیت:",
@@ -396,9 +407,14 @@
   "status.delete": "سڕینەوە",
   "status.detailed_status": "ڕوانگەی گفتوگۆ بە وردەکاری",
   "status.direct": "پەیامی ڕاستەوخۆ @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "نیشتەجێ بکە",
   "status.favourite": "دڵخواز",
   "status.filtered": "پاڵاوتن",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "بارکردنی زیاتر",
   "status.media_hidden": "میدیای شاراوە",
   "status.mention": "ناوبنێ @{name}",
diff --git a/app/javascript/mastodon/locales/kw.json b/app/javascript/mastodon/locales/kw.json
index 14dcd9618..c8638e56a 100644
--- a/app/javascript/mastodon/locales/kw.json
+++ b/app/javascript/mastodon/locales/kw.json
@@ -47,7 +47,8 @@
   "account.unmute": "Antawhe @{name}",
   "account.unmute_notifications": "Antawhe gwarnyansow a @{name}",
   "account_note.placeholder": "Klyckya dhe geworra noten",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Chanjya sondyans dhe asa unn dewis hepken",
   "compose_form.publish": "Tout",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Merkya myski vel tender} other {Merkya myski vel tender}}",
   "compose_form.sensitive.marked": "{count, plural, one {Myski merkys vel tender} other {Myski merkys vel tender}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Nyns yw myski merkys vel tender} other {Nyns yw myski merkys vel tender}}",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Re drudh:",
   "notifications.column_settings.filter_bar.advanced": "Displetya rummow oll",
   "notifications.column_settings.filter_bar.category": "Barr sidhla skav",
-  "notifications.column_settings.filter_bar.show": "Diskwedhes",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "Holyoryon nowydh:",
   "notifications.column_settings.follow_request": "Govynnow holya nowydh:",
   "notifications.column_settings.mention": "Menegow:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Diskwedhes yn koloven",
   "notifications.column_settings.sound": "Seni son",
   "notifications.column_settings.status": "Postow nowydh:",
-  "notifications.column_settings.unread_markers.category": "Merkys gwarnyansow anredys",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "Oll",
   "notifications.filter.boosts": "Kenerthow",
   "notifications.filter.favourites": "Re drudh",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Ow karga…",
   "regeneration_indicator.sublabel": "Yma agas lin dre ow pos pareusys!",
   "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}o",
   "relative_time.just_now": "lemmyn",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}e",
   "relative_time.today": "hedhyw",
   "reply_indicator.cancel": "Hedhi",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Dasvovya dhe {target}",
   "report.forward_hint": "Yma'n akont ma a leuren aral. Dannvon dasskrif dihanow an derivas ena ynwedh?",
   "report.hint": "An derivas a vydh danvenys dhe goswydhyon agas leuren. Hwi a yll profya displegyans a prag ytho owgh hwi ow reportya'n akont ma a-wòles:",
@@ -396,9 +407,14 @@
   "status.delete": "Dilea",
   "status.detailed_status": "Gwel kesklapp a-vanyl",
   "status.direct": "Messach didro dhe @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Staga",
   "status.favourite": "Merkya vel drudh",
   "status.filtered": "Sidhlys",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Karga moy",
   "status.media_hidden": "Myski kudhys",
   "status.mention": "Meneges @{name}",
diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json
index 0c1a46de3..1ed083f0c 100644
--- a/app/javascript/mastodon/locales/lt.json
+++ b/app/javascript/mastodon/locales/lt.json
@@ -47,7 +47,8 @@
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
@@ -312,7 +314,7 @@
   "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": "Show",
+  "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:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Show in column",
   "notifications.column_settings.sound": "Play sound",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "All",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favourites",
@@ -362,12 +365,20 @@
   "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.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "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.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "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.filtered": "Filtered",
+  "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}",
diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json
index 4d65daa83..f8f61532a 100644
--- a/app/javascript/mastodon/locales/lv.json
+++ b/app/javascript/mastodon/locales/lv.json
@@ -47,16 +47,17 @@
   "account.unmute": "Noņemt apklusinājumu @{name}",
   "account.unmute_notifications": "Rādīt paziņojumus no lietotāja @{name}",
   "account_note.placeholder": "Noklikšķiniet, lai pievienotu piezīmi",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Vidēji",
+  "admin.dashboard.retention.cohort": "Reģistrēšanās mēnesis",
+  "admin.dashboard.retention.cohort_size": "Jauni lietotāji",
   "alert.rate_limited.message": "Lūdzu, mēģini vēlreiz pāc {retry_time, time, medium}.",
   "alert.rate_limited.title": "Biežums ierobežots",
-  "alert.unexpected.message": "Negaidīta kļūda.",
+  "alert.unexpected.message": "Radās negaidīta kļūda.",
   "alert.unexpected.title": "Ups!",
   "announcement.announcement": "Paziņojums",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(neapstrādāti)",
   "autosuggest_hashtag.per_week": "{count} nedēļā",
   "boost_modal.combo": "Nospied {combo} lai izlaistu šo nākamreiz",
   "bundle_column_error.body": "Kaut kas nogāja greizi ielādējot šo komponenti.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Maini aptaujas veidu, lai atļautu vienu izvēli",
   "compose_form.publish": "Taurēt",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Atzīmēt mediju kā sensitīvu} other {Atzīmēt medijus kā sensitīvus}}",
   "compose_form.sensitive.marked": "{count, plural, one {Medijs ir atzīmēts kā sensitīvs} other {Mediji ir atzīmēti kā sensitīvi}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Medijs nav atzīmēts kā sensitīvs} other {Mediji nav atzīmēti kā sensitīvi}}",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "Vai tiešām vēlaties dzēst šo ziņu?",
   "confirmations.delete_list.confirm": "Dzēst",
   "confirmations.delete_list.message": "Vai tiešam vēlies neatgriezeniski dzēst šo sarakstu?",
-  "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.discard_edit_media.confirm": "Izmest",
+  "confirmations.discard_edit_media.message": "Vai tev ir nesaglabātas izmaiņas mediju aprakstā vai priekšskatījumā, vai tomēr atmest tās?",
   "confirmations.domain_block.confirm": "Bloķēt visu domēnu",
   "confirmations.domain_block.message": "Vai tu tiešām, tiešam vēlies bloķēt visu domēnu {domain}? Lielākajā daļā gadījumu 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.logout.confirm": "Iziet",
@@ -202,7 +204,7 @@
   "hashtag.column_header.tag_mode.any": "vai {additional}",
   "hashtag.column_header.tag_mode.none": "bez {additional}",
   "hashtag.column_settings.select.no_options_message": "Ieteikumi netika atrasti",
-  "hashtag.column_settings.select.placeholder": "Ievadīt mirkļbirkas…",
+  "hashtag.column_settings.select.placeholder": "Ievadīt tēmturus…",
   "hashtag.column_settings.tag_mode.all": "Visi no šiem",
   "hashtag.column_settings.tag_mode.any": "Kāds no šiem",
   "hashtag.column_settings.tag_mode.none": "Neviens no šiem",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Izlases:",
   "notifications.column_settings.filter_bar.advanced": "Rādīt visas kategorijas",
   "notifications.column_settings.filter_bar.category": "Ātro filtru josla",
-  "notifications.column_settings.filter_bar.show": "Parādīt",
+  "notifications.column_settings.filter_bar.show_bar": "Rādīt filtru joslu",
   "notifications.column_settings.follow": "Jauni sekotāji:",
   "notifications.column_settings.follow_request": "Jauni sekotāju pieprasījumi:",
   "notifications.column_settings.mention": "Pieminējumi:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Rādīt kolonnā",
   "notifications.column_settings.sound": "Atskaņot skaņu",
   "notifications.column_settings.status": "Jaunas ziņas:",
-  "notifications.column_settings.unread_markers.category": "Nelasīto paziņojumu marķieri",
+  "notifications.column_settings.unread_notifications.category": "Nelasītie paziņojumi",
+  "notifications.column_settings.unread_notifications.highlight": "Iezīmēt nelasītos paziņojumus",
   "notifications.filter.all": "Visi",
   "notifications.filter.boosts": "Palielinājumi",
   "notifications.filter.favourites": "Izlases",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# balsojums} other {# balsojumi}}",
   "poll.vote": "Balsot",
   "poll.voted": "Tu balsoji par šo atbildi",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# balss} other {# balsis}}",
   "poll_button.add_poll": "Pievienot aptauju",
   "poll_button.remove_poll": "Noņemt aptauju",
   "privacy.change": "Mainīt ziņas privātumu",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Ielādē…",
   "regeneration_indicator.sublabel": "Tiek gatavota tava plūsma!",
   "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}st",
   "relative_time.just_now": "tagad",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "šodien",
   "reply_indicator.cancel": "Atcelt",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Pārsūtīt {target}",
   "report.forward_hint": "Konts ir no cita servera. Vai nosūtīt anonimizētu ziņojuma kopiju arī tam?",
   "report.hint": "Pārskats tiks nosūtīts tava servera moderatoriem. Tu vari pievienot paskaidrojumu, kādēļ tu ziņo par kontu:",
@@ -382,7 +393,7 @@
   "search_popout.tips.text": "Vienkāršs teksts atgriež atbilstošus parādāmos vārdus, lietotājvārdus un mirkļbirkas",
   "search_popout.tips.user": "lietotājs",
   "search_results.accounts": "Cilvēki",
-  "search_results.hashtags": "Mirkļbirkas",
+  "search_results.hashtags": "Tēmturi",
   "search_results.statuses": "Ziņas",
   "search_results.statuses_fts_disabled": "Šajā Mastodon serverī nav iespējota ziņu meklēšana pēc to satura.",
   "search_results.total": "{count, number} {count, plural, one {rezultāts} other {rezultāti}}",
@@ -396,9 +407,14 @@
   "status.delete": "Dzēst",
   "status.detailed_status": "Detalizēts sarunas skats",
   "status.direct": "Privāta ziņa @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Iestrādāt",
   "status.favourite": "Iecienītā",
   "status.filtered": "Filtrēts",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Ielādēt vairāk",
   "status.media_hidden": "Medijs ir paslēpts",
   "status.mention": "Pieminēt @{name}",
@@ -417,7 +433,7 @@
   "status.remove_bookmark": "Noņemt grāmatzīmi",
   "status.reply": "Atbildēt",
   "status.replyAll": "Atbildēt uz tematu",
-  "status.report": "Atskaite @{name}",
+  "status.report": "Ziņot par @{name}",
   "status.sensitive_warning": "Sensitīvs saturs",
   "status.share": "Kopīgot",
   "status.show_less": "Rādīt mazāk",
@@ -430,7 +446,7 @@
   "status.unpin": "Noņemt no profila",
   "suggestions.dismiss": "Noraidīt ieteikumu",
   "suggestions.header": "Jūs varētu interesēt arī…",
-  "tabs_bar.federated_timeline": "Apvienotā",
+  "tabs_bar.federated_timeline": "Federētā",
   "tabs_bar.home": "Sākums",
   "tabs_bar.local_timeline": "Vietējā",
   "tabs_bar.notifications": "Paziņojumi",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Aprakstiet cilvēkiem ar dzirdes vai redzes traucējumiem",
   "upload_modal.analyzing_picture": "Analizē attēlu…",
   "upload_modal.apply": "Apstiprināt",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Pielieto…",
   "upload_modal.choose_image": "Izvēlēties attēlu",
   "upload_modal.description_placeholder": "Raibais runcis rīgā ratu rumbā rūc",
   "upload_modal.detect_text": "Noteikt tekstu no attēla",
diff --git a/app/javascript/mastodon/locales/mk.json b/app/javascript/mastodon/locales/mk.json
index 36ea33bb8..ae925b391 100644
--- a/app/javascript/mastodon/locales/mk.json
+++ b/app/javascript/mastodon/locales/mk.json
@@ -47,7 +47,8 @@
   "account.unmute": "Зачути го @{name}",
   "account.unmute_notifications": "Исклучи известувања од @{name}",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
   "compose_form.publish": "Тутови",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Обележи медиа како сензитивна",
   "compose_form.sensitive.marked": "Медиата е обележана како сензитивна",
   "compose_form.sensitive.unmarked": "Медиата не е обележана како сензитивна",
@@ -312,7 +314,7 @@
   "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": "Show",
+  "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:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Прикажи во колона",
   "notifications.column_settings.sound": "Свири звуци",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "Сите",
   "notifications.filter.boosts": "Бустови",
   "notifications.filter.favourites": "Омилени",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Вчитување…",
   "regeneration_indicator.sublabel": "Вашиот новости се подготвуваат!",
   "relative_time.days": "{number}д",
+  "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}ч",
   "relative_time.just_now": "сега",
   "relative_time.minutes": "{number}м",
   "relative_time.seconds": "{number}с",
   "relative_time.today": "today",
   "reply_indicator.cancel": "Откажи",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Проследи до {target}",
   "report.forward_hint": "Оваа сметка е од друг сервер. Испрати анонимна копија од пријавата и таму?",
   "report.hint": "Пријавата ќе биде испратена до вашиот серверски модератор. Подолу можете да ставите опис зошто ја пријавувате сметката:",
@@ -396,9 +407,14 @@
   "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.filtered": "Filtered",
+  "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}",
diff --git a/app/javascript/mastodon/locales/ml.json b/app/javascript/mastodon/locales/ml.json
index cb320a661..b17642b3c 100644
--- a/app/javascript/mastodon/locales/ml.json
+++ b/app/javascript/mastodon/locales/ml.json
@@ -47,7 +47,8 @@
   "account.unmute": "നിശ്ശബ്ദമാക്കുന്നത് നിർത്തുക @{name}",
   "account.unmute_notifications": "@{name} യിൽ നിന്നുള്ള അറിയിപ്പുകൾ പ്രസിദ്ധപ്പെടുത്തുക",
   "account_note.placeholder": "കുറിപ്പ് ചേർക്കാൻ ക്ലിക്കുചെയ്യുക",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "വോട്ടെടുപ്പിൽ ഒരൊറ്റ ചോയ്‌സ്‌ മാത്രം ആക്കുക",
   "compose_form.publish": "ടൂട്ട്",
   "compose_form.publish_loud": "{പ്രസിദ്ധീകരിക്കുക}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
@@ -312,7 +314,7 @@
   "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": "കാണിക്കുക",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "പുതിയ പിന്തുടരുന്നവർ:",
   "notifications.column_settings.follow_request": "പുതിയ പിന്തുടരൽ അഭ്യർത്ഥനകൾ:",
   "notifications.column_settings.mention": "സൂചനകൾ:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Show in column",
   "notifications.column_settings.sound": "ശബ്ദം പ്ലേ ചെയ്യുക",
   "notifications.column_settings.status": "പുതിയ ടൂട്ടുകൾ:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "എല്ലാം",
   "notifications.filter.boosts": "ബൂസ്റ്റുകൾ",
   "notifications.filter.favourites": "പ്രിയപ്പെട്ടവ",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "ലഭ്യമാക്കുന്നു…",
   "regeneration_indicator.sublabel": "നിങ്ങളുടെ ഹോം ഫീഡ് തയാറാക്കുന്നു!",
   "relative_time.days": "{number}ദിവസം",
+  "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}മണി",
   "relative_time.just_now": "ഇപ്പോൾ",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "ഇന്ന്",
   "reply_indicator.cancel": "റദ്ദാക്കുക",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Forward to {target}",
   "report.forward_hint": "ഈ അക്കൗണ്ട് മറ്റൊരു സെർവറിൽ നിന്നാണ്. റിപ്പോർട്ടിന്റെ അജ്ഞാത പകർപ്പ് അവിടെ അയയ്ക്കണോ?",
   "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "status.delete": "മായ്ക്കുക",
   "status.detailed_status": "വിശദമായ സംഭാഷണ കാഴ്‌ച",
   "status.direct": "@{name} ന് നേരിട്ട് മെസേജ് അയക്കുക",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "ഉൾച്ചേർക്കുക",
   "status.favourite": "പ്രിയപ്പെട്ടത്",
   "status.filtered": "ഫിൽട്ടർ ചെയ്‌തു",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "കൂടുതൽ ലോഡു ചെയ്യുക",
   "status.media_hidden": "മീഡിയ മറച്ചു",
   "status.mention": "@{name} സൂചിപ്പിക്കുക",
diff --git a/app/javascript/mastodon/locales/mr.json b/app/javascript/mastodon/locales/mr.json
index 979f910ee..14e5d2de9 100644
--- a/app/javascript/mastodon/locales/mr.json
+++ b/app/javascript/mastodon/locales/mr.json
@@ -47,7 +47,8 @@
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
@@ -312,7 +314,7 @@
   "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": "Show",
+  "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:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Show in column",
   "notifications.column_settings.sound": "Play sound",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "All",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favourites",
@@ -362,12 +365,20 @@
   "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.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "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.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "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.filtered": "Filtered",
+  "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}",
diff --git a/app/javascript/mastodon/locales/ms.json b/app/javascript/mastodon/locales/ms.json
index 50526f74c..5db089d5a 100644
--- a/app/javascript/mastodon/locales/ms.json
+++ b/app/javascript/mastodon/locales/ms.json
@@ -47,7 +47,8 @@
   "account.unmute": "Nyahbisukan @{name}",
   "account.unmute_notifications": "Nyahbisukan pemberitahuan daripada @{name}",
   "account_note.placeholder": "Klik untuk tambah catatan",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Ubah kepada undian pilihan tunggal",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Tandakan media sbg sensitif} other {Tandakan media sbg sensitif}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media telah ditanda sbg sensitif} other {Media telah ditanda sbg sensitif}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media tidak ditanda sbg sensitif} other {Media tidak ditanda sbg sensitif}}",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Kegemaran:",
   "notifications.column_settings.filter_bar.advanced": "Papar semua kategori",
   "notifications.column_settings.filter_bar.category": "Bar penapis pantas",
-  "notifications.column_settings.filter_bar.show": "Tunjuk",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "Pengikut baharu:",
   "notifications.column_settings.follow_request": "Permintaan ikutan baharu:",
   "notifications.column_settings.mention": "Sebutan:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Tunjukkan dalam lajur",
   "notifications.column_settings.sound": "Mainkan bunyi",
   "notifications.column_settings.status": "Hantaran baharu:",
-  "notifications.column_settings.unread_markers.category": "Penanda pemberitahuan belum dibaca",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "Semua",
   "notifications.filter.boosts": "Galakan",
   "notifications.filter.favourites": "Kegemaran",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Memuatkan…",
   "regeneration_indicator.sublabel": "Suapan rumah anda sedang disediakan!",
   "relative_time.days": "{number}h",
+  "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}j",
   "relative_time.just_now": "sekarang",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "hari ini",
   "reply_indicator.cancel": "Batal",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Panjangkan ke {target}",
   "report.forward_hint": "Akaun ini daripada pelayan lain. Hantar salinan laporan yang ditanpanamakan ke sana juga?",
   "report.hint": "Laporan akan dihantar ke penyederhana pelayan anda. Anda boleh sertakan penerangan kenapa anda laporkan akaun ini di bawah:",
@@ -396,9 +407,14 @@
   "status.delete": "Padam",
   "status.detailed_status": "Paparan perbualan terperinci",
   "status.direct": "Mesej terus @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Benaman",
   "status.favourite": "Kegemaran",
   "status.filtered": "Ditapis",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Muatkan lagi",
   "status.media_hidden": "Media disembunyikan",
   "status.mention": "Sebut @{name}",
diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json
index c73e5ac0e..cf3efedc2 100644
--- a/app/javascript/mastodon/locales/nl.json
+++ b/app/javascript/mastodon/locales/nl.json
@@ -47,16 +47,17 @@
   "account.unmute": "@{name} niet langer negeren",
   "account.unmute_notifications": "Meldingen van @{name} niet langer negeren",
   "account_note.placeholder": "Klik om een opmerking toe te voegen",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Gemiddelde",
+  "admin.dashboard.retention.cohort": "Aanmeldingsmaand",
+  "admin.dashboard.retention.cohort_size": "Nieuwe gebruikers",
   "alert.rate_limited.message": "Probeer het nog een keer na {retry_time, time, medium}.",
   "alert.rate_limited.title": "Beperkt te gebruiken",
   "alert.unexpected.message": "Er deed zich een onverwachte fout voor",
   "alert.unexpected.title": "Oeps!",
   "announcement.announcement": "Mededeling",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(niet verwerkt)",
   "autosuggest_hashtag.per_week": "{count} per week",
   "boost_modal.combo": "Je kunt {combo} klikken om dit de volgende keer over te slaan",
   "bundle_column_error.body": "Tijdens het laden van dit onderdeel is er iets fout gegaan.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Poll wijzigen om een enkele keuze toe te staan",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Media als gevoelig markeren} other {Media als gevoelig markeren}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media is als gevoelig gemarkeerd} other {Media is als gevoelig gemarkeerd}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media is niet als gevoelig gemarkeerd} other {Media is niet als gevoelig gemarkeerd}}",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "Weet je het zeker dat je deze toot wilt verwijderen?",
   "confirmations.delete_list.confirm": "Verwijderen",
   "confirmations.delete_list.message": "Weet je zeker dat je deze lijst definitief wilt verwijderen?",
-  "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.discard_edit_media.confirm": "Weggooien",
+  "confirmations.discard_edit_media.message": "Je hebt niet-opgeslagen wijzigingen in de mediabeschrijving of voorvertonning, wil je deze toch weggooien?",
   "confirmations.domain_block.confirm": "Verberg alles van deze server",
   "confirmations.domain_block.message": "Weet je het echt heel erg zeker dat je alles van {domain} wilt negeren? In de meeste gevallen is het blokkeren of negeren van een paar specifieke personen voldoende en beter. Je zult geen toots van deze server op openbare tijdlijnen zien of in jouw meldingen. Jouw volgers van deze server worden verwijderd.",
   "confirmations.logout.confirm": "Uitloggen",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Favorieten:",
   "notifications.column_settings.filter_bar.advanced": "Alle categorieën tonen",
   "notifications.column_settings.filter_bar.category": "Snelle filterbalk",
-  "notifications.column_settings.filter_bar.show": "Tonen",
+  "notifications.column_settings.filter_bar.show_bar": "Filterbalk tonen",
   "notifications.column_settings.follow": "Nieuwe volgers:",
   "notifications.column_settings.follow_request": "Nieuw volgverzoek:",
   "notifications.column_settings.mention": "Vermeldingen:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "In kolom tonen",
   "notifications.column_settings.sound": "Geluid afspelen",
   "notifications.column_settings.status": "Nieuwe toots:",
-  "notifications.column_settings.unread_markers.category": "Markeringen voor ongelezen meldingen",
+  "notifications.column_settings.unread_notifications.category": "Ongelezen meldingen",
+  "notifications.column_settings.unread_notifications.highlight": "Ongelezen meldingen markeren",
   "notifications.filter.all": "Alles",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favorieten",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# stem} other {# stemmen}}",
   "poll.vote": "Stemmen",
   "poll.voted": "Je hebt hier op gestemd",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# stem} other {# stemmen}}",
   "poll_button.add_poll": "Poll toevoegen",
   "poll_button.remove_poll": "Poll verwijderen",
   "privacy.change": "Zichtbaarheid van toot aanpassen",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Aan het laden…",
   "regeneration_indicator.sublabel": "Jouw tijdlijn wordt aangemaakt!",
   "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}u",
   "relative_time.just_now": "nu",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "vandaag",
   "reply_indicator.cancel": "Annuleren",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Naar {target} doorsturen",
   "report.forward_hint": "Het account bevindt zich op een andere server. Wil je daar eveneens een geanonimiseerde kopie van deze rapportage naar toe sturen?",
   "report.hint": "De rapportage wordt naar de moderator(en) van jouw server gestuurd. Je kunt hieronder een uitleg geven waarom je dit account rapporteert:",
@@ -396,9 +407,14 @@
   "status.delete": "Verwijderen",
   "status.detailed_status": "Uitgebreide gespreksweergave",
   "status.direct": "@{name} een direct bericht sturen",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Insluiten",
   "status.favourite": "Favoriet",
   "status.filtered": "Gefilterd",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Meer laden",
   "status.media_hidden": "Media verborgen",
   "status.mention": "@{name} vermelden",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Omschrijf dit voor mensen met een auditieve of visuele beperking",
   "upload_modal.analyzing_picture": "Afbeelding analyseren…",
   "upload_modal.apply": "Toepassen",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Aan het toepassen…",
   "upload_modal.choose_image": "Kies een afbeelding",
   "upload_modal.description_placeholder": "Pa's wijze lynx bezag vroom het fikse aquaduct",
   "upload_modal.detect_text": "Tekst in een afbeelding detecteren",
diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json
index cfd9aaca9..17e1a4d25 100644
--- a/app/javascript/mastodon/locales/nn.json
+++ b/app/javascript/mastodon/locales/nn.json
@@ -22,7 +22,7 @@
   "account.follows.empty": "Denne brukaren fylgjer ikkje nokon enno.",
   "account.follows_you": "Fylgjer deg",
   "account.hide_reblogs": "Gøym fremhevingar frå @{name}",
-  "account.joined": "Ble med den {date}",
+  "account.joined": "Vart med {date}",
   "account.last_status": "Sist aktiv",
   "account.link_verified_on": "Eigarskap for denne lenkja vart sist sjekka {date}",
   "account.locked_info": "Denne kontoen er privat. Eigaren kan sjølv velja kven som kan fylgja han.",
@@ -47,10 +47,11 @@
   "account.unmute": "Av-demp @{name}",
   "account.unmute_notifications": "Vis varsel frå @{name}",
   "account_note.placeholder": "Klikk for å leggja til merknad",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.retention.cohort_size": "Nye brukere",
   "alert.rate_limited.message": "Ver venleg å prøva igjen etter {retry_time, time, medium}.",
   "alert.rate_limited.title": "Begrensa rate",
   "alert.unexpected.message": "Eit uventa problem oppstod.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Endra avstemninga til tillate berre eitt val",
   "compose_form.publish": "Tut",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Merk medium som sensitivt",
   "compose_form.sensitive.marked": "Medium er markert som sensitivt",
   "compose_form.sensitive.unmarked": "Medium er ikkje merka som sensitivt",
@@ -118,7 +120,7 @@
   "confirmations.delete.message": "Er du sikker på at du vil sletta denne statusen?",
   "confirmations.delete_list.confirm": "Slett",
   "confirmations.delete_list.message": "Er du sikker på at du vil sletta denne lista for alltid?",
-  "confirmations.discard_edit_media.confirm": "Discard",
+  "confirmations.discard_edit_media.confirm": "Forkast",
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Gøym heile domenet",
   "confirmations.domain_block.message": "Er du heilt, heilt sikker på at du vil blokkera 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å det domenet i nokon fødererte tidsliner eller i varsla dine. Fylgjarane dine frå det domenet vert fjerna.",
@@ -183,7 +185,7 @@
   "error.unexpected_crash.next_steps_addons": "Prøv å deaktivere dem og laste siden på nytt. Hvis det ikke hjelper, kan du fremdeles bruke Mastodon via en annen nettleser eller en annen app.",
   "errors.unexpected_crash.copy_stacktrace": "Kopier stacktrace til utklippstavla",
   "errors.unexpected_crash.report_issue": "Rapporter problem",
-  "follow_recommendations.done": "Utført",
+  "follow_recommendations.done": "Ferdig",
   "follow_recommendations.heading": "Følg folk du ønsker å se innlegg fra! Her er noen forslag.",
   "follow_recommendations.lead": "Innlegg fra mennesker du følger vil vises i kronologisk rekkefølge på hjemmefeed. Ikke vær redd for å gjøre feil, du kan slutte å følge folk like enkelt som alt!",
   "follow_request.authorize": "Autoriser",
@@ -263,7 +265,7 @@
   "lists.new.title_placeholder": "Ny listetittel",
   "lists.replies_policy.followed": "Enhver fulgt bruker",
   "lists.replies_policy.list": "Medlemmer i listen",
-  "lists.replies_policy.none": "Ingen",
+  "lists.replies_policy.none": "Ikkje nokon",
   "lists.replies_policy.title": "Vis svar på:",
   "lists.search": "Søk gjennom folk du følgjer",
   "lists.subheading": "Dine lister",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Favorittar:",
   "notifications.column_settings.filter_bar.advanced": "Vis alle kategoriar",
   "notifications.column_settings.filter_bar.category": "Snarfilterlinje",
-  "notifications.column_settings.filter_bar.show": "Vis",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "Nye fylgjarar:",
   "notifications.column_settings.follow_request": "Ny fylgjarførespurnader:",
   "notifications.column_settings.mention": "Nemningar:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Vis i kolonne",
   "notifications.column_settings.sound": "Spel av lyd",
   "notifications.column_settings.status": "Nye tuter:",
-  "notifications.column_settings.unread_markers.category": "Ulest meldingsmarkører",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "Alle",
   "notifications.filter.boosts": "Framhevingar",
   "notifications.filter.favourites": "Favorittar",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Lastar…",
   "regeneration_indicator.sublabel": "Heimetidslinja di vert førebudd!",
   "relative_time.days": "{number}dg",
+  "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}t",
   "relative_time.just_now": "nå",
   "relative_time.minutes": "{number}min",
   "relative_time.seconds": "{number}sek",
   "relative_time.today": "i dag",
   "reply_indicator.cancel": "Avbryt",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Vidaresend til {target}",
   "report.forward_hint": "Kontoen er frå ein annan tenar. Vil du senda ein anonymisert kopi av rapporten dit òg?",
   "report.hint": "Rapporten vil verte sendt til dine tenarmoderatorar. Du kan oppgje ei forklaring på kvifor du rapporterer denne kontoen, under:",
@@ -396,9 +407,14 @@
   "status.delete": "Slett",
   "status.detailed_status": "Detaljert samtalevisning",
   "status.direct": "Send melding til @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Bygg inn",
   "status.favourite": "Favoritt",
   "status.filtered": "Filtrert",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Last inn meir",
   "status.media_hidden": "Medium gøymd",
   "status.mention": "Nemn @{name}",
@@ -444,7 +460,7 @@
   "timeline_hint.resources.followers": "Fylgjarar",
   "timeline_hint.resources.follows": "Fylgjer",
   "timeline_hint.resources.statuses": "Eldre tut",
-  "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} folk}} pratar",
+  "trends.counter_by_accounts": "Pratas om av {count, plural, one {{counter} person} other {{counter} folk}}",
   "trends.trending_now": "Populært no",
   "ui.beforeunload": "Kladden din forsvinn om du forlèt Mastodon no.",
   "units.short.billion": "{count}m.ard",
@@ -468,7 +484,7 @@
   "upload_modal.detect_text": "Gjenkjenn tekst i biletet",
   "upload_modal.edit_media": "Rediger medium",
   "upload_modal.hint": "Klikk og dra sirkelen på førehandsvisninga for å velge fokuspunktet som alltid vil vere synleg på alle miniatyrbileta.",
-  "upload_modal.preparing_ocr": "Forbereder OCR…",
+  "upload_modal.preparing_ocr": "Førebur OCR…",
   "upload_modal.preview_label": "Førehandsvis ({ratio})",
   "upload_progress.label": "Lastar opp...",
   "video.close": "Lukk video",
diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json
index 179bbd1bd..0ede09267 100644
--- a/app/javascript/mastodon/locales/no.json
+++ b/app/javascript/mastodon/locales/no.json
@@ -47,10 +47,11 @@
   "account.unmute": "Avdemp @{name}",
   "account.unmute_notifications": "Vis varsler fra @{name}",
   "account_note.placeholder": "Klikk for å legge til et notat",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.retention.cohort_size": "Nye brukere",
   "alert.rate_limited.message": "Vennligst prøv igjen etter kl. {retry_time, time, medium}.",
   "alert.rate_limited.title": "Hastighetsbegrenset",
   "alert.unexpected.message": "En uventet feil oppstod.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Endre avstemning til å tillate ett valg",
   "compose_form.publish": "Tut",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Merk media som sensitivt",
   "compose_form.sensitive.marked": "Mediet er merket som sensitiv",
   "compose_form.sensitive.unmarked": "Mediet er ikke merket som sensitiv",
@@ -118,7 +120,7 @@
   "confirmations.delete.message": "Er du sikker på at du vil slette denne statusen?",
   "confirmations.delete_list.confirm": "Slett",
   "confirmations.delete_list.message": "Er du sikker på at du vil slette denne listen permanent?",
-  "confirmations.discard_edit_media.confirm": "Discard",
+  "confirmations.discard_edit_media.confirm": "Forkast",
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "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.",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Likt:",
   "notifications.column_settings.filter_bar.advanced": "Vis alle kategorier",
   "notifications.column_settings.filter_bar.category": "Hurtigfiltreringslinje",
-  "notifications.column_settings.filter_bar.show": "Vis",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "Nye følgere:",
   "notifications.column_settings.follow_request": "Nye følgerforespørsler:",
   "notifications.column_settings.mention": "Nevnt:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Vis i kolonne",
   "notifications.column_settings.sound": "Spill lyd",
   "notifications.column_settings.status": "Nye tuter:",
-  "notifications.column_settings.unread_markers.category": "Ulest meldingsmarkører",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "Alle",
   "notifications.filter.boosts": "Fremhevinger",
   "notifications.filter.favourites": "Favoritter",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Laster…",
   "regeneration_indicator.sublabel": "Dine startside forberedes!",
   "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}t",
   "relative_time.just_now": "nå",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "i dag",
   "reply_indicator.cancel": "Avbryt",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Videresend til {target}",
   "report.forward_hint": "Denne kontoen er fra en annen tjener. Vil du sende en anonymisert kopi av rapporten dit også?",
   "report.hint": "The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "status.delete": "Slett",
   "status.detailed_status": "Detaljert samtalevisning",
   "status.direct": "Send direktemelding til @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Bygge inn",
   "status.favourite": "Lik",
   "status.filtered": "Filtrert",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Last mer",
   "status.media_hidden": "Media skjult",
   "status.mention": "Nevn @{name}",
@@ -444,7 +460,7 @@
   "timeline_hint.resources.followers": "Følgere",
   "timeline_hint.resources.follows": "Følger",
   "timeline_hint.resources.statuses": "Eldre tuter",
-  "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} personer}} snakker",
+  "trends.counter_by_accounts": "Snakkes om av {count, plural, one {{counter} person} other {{counter} personer}}",
   "trends.trending_now": "Trender nå",
   "ui.beforeunload": "Din kladd vil bli forkastet om du forlater Mastodon.",
   "units.short.billion": "{count}m.ard",
diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json
index 6f7bc9761..7e7b68f77 100644
--- a/app/javascript/mastodon/locales/oc.json
+++ b/app/javascript/mastodon/locales/oc.json
@@ -47,16 +47,17 @@
   "account.unmute": "Quitar de rescondre @{name}",
   "account.unmute_notifications": "Mostrar las notificacions de @{name}",
   "account_note.placeholder": "Clicar per ajustar una nòta",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Mejana",
+  "admin.dashboard.retention.cohort": "Mes d’inscripcion",
+  "admin.dashboard.retention.cohort_size": "Utilizaires novèls",
   "alert.rate_limited.message": "Mercés de tornar ensajar aprèp {retry_time, time, medium}.",
   "alert.rate_limited.title": "Taus limitat",
   "alert.unexpected.message": "Una error s’es producha.",
   "alert.unexpected.title": "Ops !",
   "announcement.announcement": "Anóncia",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(pas tractat)",
   "autosuggest_hashtag.per_week": "{count} per setmana",
   "boost_modal.combo": "Podètz botar {combo} per passar aquò lo còp que ven",
   "bundle_column_error.body": "Quicòm a fach mèuca pendent lo cargament d’aqueste compausant.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Cambiar lo sondatge per permetre una sola causida",
   "compose_form.publish": "Tut",
   "compose_form.publish_loud": "{publish} !",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Marcar coma sensible",
   "compose_form.sensitive.marked": "Lo mèdia es marcat coma sensible",
   "compose_form.sensitive.unmarked": "Lo mèdia es pas marcat coma sensible",
@@ -118,7 +120,7 @@
   "confirmations.delete.message": "Volètz vertadièrament escafar l’estatut ?",
   "confirmations.delete_list.confirm": "Suprimir",
   "confirmations.delete_list.message": "Volètz vertadièrament suprimir aquesta lista per totjorn ?",
-  "confirmations.discard_edit_media.confirm": "Discard",
+  "confirmations.discard_edit_media.confirm": "Ignorar",
   "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.",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Favorits :",
   "notifications.column_settings.filter_bar.advanced": "Mostrar totas las categorias",
   "notifications.column_settings.filter_bar.category": "Barra de recèrca rapida",
-  "notifications.column_settings.filter_bar.show": "Mostrar",
+  "notifications.column_settings.filter_bar.show_bar": "Afichar la barra de filtres",
   "notifications.column_settings.follow": "Nòus seguidors :",
   "notifications.column_settings.follow_request": "Novèla demanda d’abonament :",
   "notifications.column_settings.mention": "Mencions :",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Mostrar dins la colomna",
   "notifications.column_settings.sound": "Emetre un son",
   "notifications.column_settings.status": "Tuts novèls :",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Notificacions pas legidas",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "Totas",
   "notifications.filter.boosts": "Partages",
   "notifications.filter.favourites": "Favorits",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Cargament…",
   "regeneration_indicator.sublabel": "Sèm a preparar vòstre flux d’acuèlh !",
   "relative_time.days": "fa {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": "fa {number}h",
   "relative_time.just_now": "ara",
   "relative_time.minutes": "fa {number} min",
   "relative_time.seconds": "fa {number}s",
   "relative_time.today": "uèi",
   "reply_indicator.cancel": "Anullar",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Far sègre a {target}",
   "report.forward_hint": "Lo compte ven d’un autre servidor. Volètz mandar una còpia anonima del rapòrt enlai tanben ?",
   "report.hint": "Lo moderator del servidor aurà lo rapòrt. Podètz fornir una explicacion de vòstre senhalament aquí dejós  :",
@@ -396,9 +407,14 @@
   "status.delete": "Escafar",
   "status.detailed_status": "Vista detalhada de la convèrsa",
   "status.direct": "Messatge per @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Embarcar",
   "status.favourite": "Apondre als favorits",
   "status.filtered": "Filtrat",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Cargar mai",
   "status.media_hidden": "Mèdia rescondut",
   "status.mention": "Mencionar",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Descriure per las personas amb pèrdas auditivas o mal vesent",
   "upload_modal.analyzing_picture": "Analisi de l’imatge…",
   "upload_modal.apply": "Aplicar",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Aplicacion…",
   "upload_modal.choose_image": "Causir un imatge",
   "upload_modal.description_placeholder": "Lo dròlle bilingüe manja un yaourt de ròcs exagonals e kiwis verds farà un an mai",
   "upload_modal.detect_text": "Detectar lo tèxt de l’imatge",
diff --git a/app/javascript/mastodon/locales/pa.json b/app/javascript/mastodon/locales/pa.json
index eca4765c4..2675da68c 100644
--- a/app/javascript/mastodon/locales/pa.json
+++ b/app/javascript/mastodon/locales/pa.json
@@ -47,7 +47,8 @@
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
@@ -312,7 +314,7 @@
   "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": "Show",
+  "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:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Show in column",
   "notifications.column_settings.sound": "Play sound",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "All",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favourites",
@@ -362,12 +365,20 @@
   "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.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "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.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "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.filtered": "Filtered",
+  "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}",
diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json
index c6527311a..efff2a483 100644
--- a/app/javascript/mastodon/locales/pl.json
+++ b/app/javascript/mastodon/locales/pl.json
@@ -47,16 +47,17 @@
   "account.unmute": "Cofnij wyciszenie @{name}",
   "account.unmute_notifications": "Cofnij wyciszenie powiadomień od @{name}",
   "account_note.placeholder": "Naciśnij aby dodać notatkę",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Średnia",
+  "admin.dashboard.retention.cohort": "Miesiąc rejestracji",
+  "admin.dashboard.retention.cohort_size": "Nowi użytkownicy",
   "alert.rate_limited.message": "Spróbuj ponownie po {retry_time, time, medium}.",
   "alert.rate_limited.title": "Ograniczony czasowo",
   "alert.unexpected.message": "Wystąpił nieoczekiwany błąd.",
   "alert.unexpected.title": "O nie!",
   "announcement.announcement": "Ogłoszenie",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(nieprzetworzone)",
   "autosuggest_hashtag.per_week": "{count} co tydzień",
   "boost_modal.combo": "Naciśnij {combo}, aby pominąć to następnym razem",
   "bundle_column_error.body": "Coś poszło nie tak podczas ładowania tego składnika.",
@@ -108,6 +109,7 @@
   "compose_form.poll.switch_to_single": "Pozwól na wybranie tylko jednej opcji",
   "compose_form.publish": "Wyślij",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Oznacz multimedia jako wrażliwe",
   "compose_form.sensitive.marked": "Zawartość multimedia jest oznaczona jako wrażliwa",
   "compose_form.sensitive.unmarked": "Zawartość multimedialna nie jest oznaczona jako wrażliwa",
@@ -122,8 +124,8 @@
   "confirmations.delete.message": "Czy na pewno chcesz usunąć ten wpis?",
   "confirmations.delete_list.confirm": "Usuń",
   "confirmations.delete_list.message": "Czy na pewno chcesz bezpowrotnie usunąć tą listę?",
-  "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.discard_edit_media.confirm": "Odrzuć",
+  "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.logout.confirm": "Wyloguj",
@@ -317,7 +319,7 @@
   "notifications.column_settings.favourite": "Dodanie do ulubionych:",
   "notifications.column_settings.filter_bar.advanced": "Wyświetl wszystkie kategorie",
   "notifications.column_settings.filter_bar.category": "Szybkie filtrowanie",
-  "notifications.column_settings.filter_bar.show": "Pokaż",
+  "notifications.column_settings.filter_bar.show_bar": "Pokaż filtry",
   "notifications.column_settings.follow": "Nowi śledzący:",
   "notifications.column_settings.follow_request": "Nowe prośby o możliwość śledzenia:",
   "notifications.column_settings.mention": "Wspomnienia:",
@@ -327,7 +329,8 @@
   "notifications.column_settings.show": "Pokaż w kolumnie",
   "notifications.column_settings.sound": "Odtwarzaj dźwięk",
   "notifications.column_settings.status": "Nowe wpisy:",
-  "notifications.column_settings.unread_markers.category": "Znaczniki nieprzeczytanych powiadomień",
+  "notifications.column_settings.unread_notifications.category": "Nieprzeczytane powiadomienia",
+  "notifications.column_settings.unread_notifications.highlight": "Podświetl nieprzeczytane powiadomienia",
   "notifications.filter.all": "Wszystkie",
   "notifications.filter.boosts": "Podbicia",
   "notifications.filter.favourites": "Ulubione",
@@ -351,7 +354,7 @@
   "poll.total_votes": "{count, plural, one {# głos} few {# głosy} many {# głosów} other {# głosów}}",
   "poll.vote": "Zagłosuj",
   "poll.voted": "Zagłosowałeś_aś na tą odpowiedź",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# głos} few {# głosy} many {# głosów} other {# głosów}}",
   "poll_button.add_poll": "Dodaj głosowanie",
   "poll_button.remove_poll": "Usuń głosowanie",
   "privacy.change": "Dostosuj widoczność wpisów",
@@ -367,12 +370,20 @@
   "regeneration_indicator.label": "Ładuję…",
   "regeneration_indicator.sublabel": "Twoja oś czasu jest przygotowywana!",
   "relative_time.days": "{number} dni",
+  "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} godz.",
   "relative_time.just_now": "teraz",
   "relative_time.minutes": "{number} min.",
   "relative_time.seconds": "{number} s.",
   "relative_time.today": "dzisiaj",
   "reply_indicator.cancel": "Anuluj",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Przekaż na {target}",
   "report.forward_hint": "To konto znajduje się na innej instancji. Czy chcesz wysłać anonimową kopię zgłoszenia rnież na nią?",
   "report.hint": "Zgłoszenie zostanie wysłane moderatorom Twojego serwera. Poniżej możesz też umieścić wyjaśnienie dlaczego zgłaszasz to konto:",
@@ -401,9 +412,14 @@
   "status.delete": "Usuń",
   "status.detailed_status": "Szczegółowy widok konwersacji",
   "status.direct": "Wyślij wiadomość bezpośrednią do @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Osadź",
   "status.favourite": "Dodaj do ulubionych",
   "status.filtered": "Filtrowany(-a)",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Załaduj więcej",
   "status.media_hidden": "Zawartość multimedialna ukryta",
   "status.mention": "Wspomnij o @{name}",
@@ -467,7 +483,7 @@
   "upload_form.video_description": "Opisz dla osób niesłyszących, niedosłyszących, niewidomych i niedowidzących",
   "upload_modal.analyzing_picture": "Analizowanie obrazu…",
   "upload_modal.apply": "Zastosuj",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Stosowanie…",
   "upload_modal.choose_image": "Wybierz obraz",
   "upload_modal.description_placeholder": "Pchnąć w tę łódź jeża lub ośm skrzyń fig",
   "upload_modal.detect_text": "Wykryj tekst z obrazu",
diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json
index 3fc47a212..8a5b4773a 100644
--- a/app/javascript/mastodon/locales/pt-BR.json
+++ b/app/javascript/mastodon/locales/pt-BR.json
@@ -47,16 +47,17 @@
   "account.unmute": "Dessilenciar @{name}",
   "account.unmute_notifications": "Mostrar notificações de @{name}",
   "account_note.placeholder": "Nota pessoal sobre este perfil aqui",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Média",
+  "admin.dashboard.retention.cohort": "Mês de inscrição",
+  "admin.dashboard.retention.cohort_size": "Novos usuários",
   "alert.rate_limited.message": "Tente novamente após {retry_time, time, medium}.",
   "alert.rate_limited.title": "Tentativas limitadas",
   "alert.unexpected.message": "Ocorreu um erro inesperado.",
   "alert.unexpected.title": "Eita!",
   "announcement.announcement": "Comunicados",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(não processado)",
   "autosuggest_hashtag.per_week": "{count} por semana",
   "boost_modal.combo": "Pressione {combo} para pular isso na próxima vez",
   "bundle_column_error.body": "Erro ao carregar este componente.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Opção única",
   "compose_form.publish": "TOOT",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Marcar mídia como sensível} other {Marcar mídias como sensível}}",
   "compose_form.sensitive.marked": "{count, plural, one {Mídia marcada como sensível} other {Mídias marcadas como sensível}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Mídia não está marcada como sensível} other {Mídias não estão marcadas como sensível}}",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "Você tem certeza de que deseja excluir este toot?",
   "confirmations.delete_list.confirm": "Excluir",
   "confirmations.delete_list.message": "Você tem certeza de que deseja excluir esta lista?",
-  "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.discard_edit_media.confirm": "Descartar",
+  "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.logout.confirm": "Sair",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Favoritos:",
   "notifications.column_settings.filter_bar.advanced": "Mostrar todas as categorias",
   "notifications.column_settings.filter_bar.category": "Barra de filtro rápido das notificações",
-  "notifications.column_settings.filter_bar.show": "Mostrar",
+  "notifications.column_settings.filter_bar.show_bar": "Mostrar barra de filtro",
   "notifications.column_settings.follow": "Seguidores:",
   "notifications.column_settings.follow_request": "Seguidores pendentes:",
   "notifications.column_settings.mention": "Menções:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Mostrar na coluna",
   "notifications.column_settings.sound": "Tocar som",
   "notifications.column_settings.status": "Novos toots:",
-  "notifications.column_settings.unread_markers.category": "Marcar como não lidas",
+  "notifications.column_settings.unread_notifications.category": "Notificações não lidas",
+  "notifications.column_settings.unread_notifications.highlight": "Destacar notificações não lidas",
   "notifications.filter.all": "Tudo",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favoritos",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# voto} other {# votos}}",
   "poll.vote": "Votar",
   "poll.voted": "Você votou nesta opção",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# voto} other {# votos}}",
   "poll_button.add_poll": "Adicionar enquete",
   "poll_button.remove_poll": "Remover enquete",
   "privacy.change": "Alterar privacidade do toot",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Carregando…",
   "regeneration_indicator.sublabel": "Sua página inicial está sendo preparada!",
   "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": "agora",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "hoje",
   "reply_indicator.cancel": "Cancelar",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Encaminhar para {target}",
   "report.forward_hint": "A conta está em outra instância. Enviar uma cópia anônima da denúncia para lá?",
   "report.hint": "A denúncia será enviada aos moderadores da instância. Explique por que denunciou a conta:",
@@ -396,9 +407,14 @@
   "status.delete": "Excluir",
   "status.detailed_status": "Visão detalhada da conversa",
   "status.direct": "Enviar toot direto para @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Incorporar",
   "status.favourite": "Favoritar",
   "status.filtered": "Filtrado",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Ver mais",
   "status.media_hidden": "Mídia sensível",
   "status.mention": "Mencionar @{name}",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Descrever para deficientes auditivos ou visuais",
   "upload_modal.analyzing_picture": "Analisando imagem…",
   "upload_modal.apply": "Aplicar",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Aplicando…",
   "upload_modal.choose_image": "Escolher imagem",
   "upload_modal.description_placeholder": "Um pequeno jabuti xereta viu dez cegonhas felizes",
   "upload_modal.detect_text": "Transcrever imagem",
diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json
index a5cb6a335..988ecef3a 100644
--- a/app/javascript/mastodon/locales/pt-PT.json
+++ b/app/javascript/mastodon/locales/pt-PT.json
@@ -47,16 +47,17 @@
   "account.unmute": "Não silenciar @{name}",
   "account.unmute_notifications": "Deixar de silenciar @{name}",
   "account_note.placeholder": "Clique para adicionar nota",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Média",
+  "admin.dashboard.retention.cohort": "Mês de inscrição",
+  "admin.dashboard.retention.cohort_size": "Novos utilizadores",
   "alert.rate_limited.message": "Volte a tentar depois das {retry_time, time, medium}.",
   "alert.rate_limited.title": "Limite de tentativas",
   "alert.unexpected.message": "Ocorreu um erro inesperado.",
   "alert.unexpected.title": "Bolas!",
   "announcement.announcement": "Anúncio",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(não processado)",
   "autosuggest_hashtag.per_week": "{count} por semana",
   "boost_modal.combo": "Pode clicar {combo} para não voltar a ver",
   "bundle_column_error.body": "Algo de errado aconteceu enquanto este componente era carregado.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Alterar a votação para permitir uma única escolha",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Marcar media como sensível",
   "compose_form.sensitive.marked": "Media marcada como sensível",
   "compose_form.sensitive.unmarked": "Media não está marcada como sensível",
@@ -111,15 +113,15 @@
   "compose_form.spoiler.unmarked": "O texto não está escondido",
   "compose_form.spoiler_placeholder": "Escreva o seu aviso aqui",
   "confirmation_modal.cancel": "Cancelar",
-  "confirmations.block.block_and_report": "Bloquear e denunciar",
+  "confirmations.block.block_and_report": "Bloquear e Denunciar",
   "confirmations.block.confirm": "Bloquear",
   "confirmations.block.message": "De certeza que queres bloquear {name}?",
   "confirmations.delete.confirm": "Eliminar",
   "confirmations.delete.message": "De certeza que quer eliminar esta publicação?",
   "confirmations.delete_list.confirm": "Eliminar",
   "confirmations.delete_list.message": "Tens a certeza de que deseja eliminar permanentemente esta lista?",
-  "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.discard_edit_media.confirm": "Descartar",
+  "confirmations.discard_edit_media.message": "Tem alterações não salvas na descrição ou pré-visualização da media. 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.logout.confirm": "Terminar sessão",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Favoritos:",
   "notifications.column_settings.filter_bar.advanced": "Mostrar todas as categorias",
   "notifications.column_settings.filter_bar.category": "Barra de filtros rápidos",
-  "notifications.column_settings.filter_bar.show": "Mostrar",
+  "notifications.column_settings.filter_bar.show_bar": "Mostrar barra de filtros",
   "notifications.column_settings.follow": "Novos seguidores:",
   "notifications.column_settings.follow_request": "Novos pedidos de seguidor:",
   "notifications.column_settings.mention": "Menções:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Mostrar na coluna",
   "notifications.column_settings.sound": "Reproduzir som",
   "notifications.column_settings.status": "Novos toots:",
-  "notifications.column_settings.unread_markers.category": "Marcadores de notificação não lidas",
+  "notifications.column_settings.unread_notifications.category": "Notificações não lidas",
+  "notifications.column_settings.unread_notifications.highlight": "Destacar notificações não lidas",
   "notifications.filter.all": "Todas",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favoritos",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{contar, plural, um {# vote} outro {# votes}}",
   "poll.vote": "Votar",
   "poll.voted": "Votaste nesta resposta",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# voto } other {# votos}}",
   "poll_button.add_poll": "Adicionar votação",
   "poll_button.remove_poll": "Remover votação",
   "privacy.change": "Ajustar a privacidade da publicação",
@@ -362,18 +365,26 @@
   "regeneration_indicator.label": "A carregar…",
   "regeneration_indicator.sublabel": "A tua página inicial está a ser preparada!",
   "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": "agora",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "hoje",
   "reply_indicator.cancel": "Cancelar",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Reenviar para {target}",
-  "report.forward_hint": "A conta é de outra instância. Enviar uma cópia anónima do relatório para lá também?",
-  "report.hint": "O relatório será enviado para os moderadores da sua instância. Pode fornecer, em baixo, uma explicação do motivo pelo qual está a denunciar esta conta:",
+  "report.forward_hint": "A conta é de outro servidor. Enviar uma cópia anónima da denúncia para lá também?",
+  "report.hint": "A denúncia será enviada para os moderadores do seu servidor. Pode fornecer, em baixo, uma explicação do motivo pelo qual está a denunciar esta conta:",
   "report.placeholder": "Comentários adicionais",
   "report.submit": "Enviar",
-  "report.target": "Denunciar",
+  "report.target": "A denunciar {target}",
   "search.placeholder": "Pesquisar",
   "search_popout.search_format": "Formato avançado de pesquisa",
   "search_popout.tips.full_text": "Texto simples devolve publicações que escreveu, marcou como favorita, partilhou ou em que foi mencionado, tal como nomes de utilizador, alcunhas e hashtags.",
@@ -396,9 +407,14 @@
   "status.delete": "Eliminar",
   "status.detailed_status": "Vista de conversação detalhada",
   "status.direct": "Mensagem direta @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Incorporar",
   "status.favourite": "Adicionar aos favoritos",
   "status.filtered": "Filtrada",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Carregar mais",
   "status.media_hidden": "Media escondida",
   "status.mention": "Mencionar @{name}",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Descreva para pessoas com diminuição da acuidade auditiva ou visual",
   "upload_modal.analyzing_picture": "A analizar imagem…",
   "upload_modal.apply": "Aplicar",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "A aplicar…",
   "upload_modal.choose_image": "Escolher imagem",
   "upload_modal.description_placeholder": "Grave e cabisbaixo, o filho justo zelava pela querida mãe doente",
   "upload_modal.detect_text": "Detectar texto na imagem",
diff --git a/app/javascript/mastodon/locales/ro.json b/app/javascript/mastodon/locales/ro.json
index b6cb0a86c..15baeef12 100644
--- a/app/javascript/mastodon/locales/ro.json
+++ b/app/javascript/mastodon/locales/ro.json
@@ -47,16 +47,17 @@
   "account.unmute": "Nu mai ignora pe @{name}",
   "account.unmute_notifications": "Activează notificările de la @{name}",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "În medie",
+  "admin.dashboard.retention.cohort": "Înregistrări lunar",
+  "admin.dashboard.retention.cohort_size": "Utilizatori noi",
   "alert.rate_limited.message": "Vă rugăm să reîncercați după {retry_time, time, medium}.",
   "alert.rate_limited.title": "Debit limitat",
   "alert.unexpected.message": "A apărut o eroare neașteptată.",
   "alert.unexpected.title": "Ups!",
   "announcement.announcement": "Anunț",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(neprocesate)",
   "autosuggest_hashtag.per_week": "{count} pe săptămână",
   "boost_modal.combo": "Poți apăsa {combo} pentru a sări peste asta data viitoare",
   "bundle_column_error.body": "A apărut o eroare la încărcarea acestui element.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Modifică sondajul pentru a permite o singură opțiune",
   "compose_form.publish": "Postează",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Marchează conținutul media ca fiind sensibil} few {Marchează conținuturile media ca fiind sensibile} other {Marchează conținuturile media ca fiind sensibile}}",
   "compose_form.sensitive.marked": "{count, plural, one {Conținutul media este marcat ca fiind sensibil} other {Conținuturile media sunt marcate ca fiind sensibile}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Conținutul media nu este marcat ca fiind sensibil} other {Conținuturile media nu sunt marcate ca fiind sensibile}}",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "Ești sigur că vrei să elimini această postare?",
   "confirmations.delete_list.confirm": "Elimină",
   "confirmations.delete_list.message": "Ești sigur că vrei să elimini definitiv această listă?",
-  "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.discard_edit_media.confirm": "Renunță",
+  "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.logout.confirm": "Deconectare",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Favorite:",
   "notifications.column_settings.filter_bar.advanced": "Afișează toate categoriile",
   "notifications.column_settings.filter_bar.category": "Bară de filtrare rapidă",
-  "notifications.column_settings.filter_bar.show": "Afișează",
+  "notifications.column_settings.filter_bar.show_bar": "Arată bara de filtrare",
   "notifications.column_settings.follow": "Noi abonați:",
   "notifications.column_settings.follow_request": "Noi cereri de abonare:",
   "notifications.column_settings.mention": "Mențiuni:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Afișează în coloană",
   "notifications.column_settings.sound": "Redare sunet",
   "notifications.column_settings.status": "Postări noi:",
-  "notifications.column_settings.unread_markers.category": "Marcaje de notificări necitite",
+  "notifications.column_settings.unread_notifications.category": "Notificări necitite",
+  "notifications.column_settings.unread_notifications.highlight": "Evidențiază notificările necitite",
   "notifications.filter.all": "Toate",
   "notifications.filter.boosts": "Distribuiri",
   "notifications.filter.favourites": "Favorite",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# vot} other {# voturi}}",
   "poll.vote": "Votează",
   "poll.voted": "Ai votat pentru acest răspuns",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# vot} other {# voturi}}",
   "poll_button.add_poll": "Adaugă un sondaj",
   "poll_button.remove_poll": "Elimină sondajul",
   "privacy.change": "Modifică confidențialitatea postării",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Se încarcă…",
   "regeneration_indicator.sublabel": "Cronologia ta principală este în curs de pregătire!",
   "relative_time.days": "{number}z",
+  "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}o",
   "relative_time.just_now": "acum",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "astăzi",
   "reply_indicator.cancel": "Anulează",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Redirecționează către {target}",
   "report.forward_hint": "Acest cont este de pe un alt server. Trimitem o copie anonimă a raportului și acolo?",
   "report.hint": "Sesizarea va fi trimisă către moderatorii acestei instanțe. Poți oferi o explicație pentru această sesizare mai jos:",
@@ -396,9 +407,14 @@
   "status.delete": "Șterge",
   "status.detailed_status": "Conversația detaliată",
   "status.direct": "Mesaj direct către @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Înglobează",
   "status.favourite": "Favorite",
   "status.filtered": "Sortate",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Încarcă mai multe",
   "status.media_hidden": "Media ascunsă",
   "status.mention": "Menționează pe @{name}",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Adaugă o descriere pentru persoanele cu deficiențe vizuale sau auditive",
   "upload_modal.analyzing_picture": "Se analizează imaginea…",
   "upload_modal.apply": "Aplică",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Se aplică…",
   "upload_modal.choose_image": "Alege imaginea",
   "upload_modal.description_placeholder": "Vând muzică de jazz și haine de bun-gust în New-York și Quebec la preț fix",
   "upload_modal.detect_text": "Detectare text din imagine",
diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json
index 30abbc0c2..4ab568ee0 100644
--- a/app/javascript/mastodon/locales/ru.json
+++ b/app/javascript/mastodon/locales/ru.json
@@ -47,16 +47,17 @@
   "account.unmute": "Убрать {name} из игнорируемых",
   "account.unmute_notifications": "Показывать уведомления от @{name}",
   "account_note.placeholder": "Текст заметки",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Среднее",
+  "admin.dashboard.retention.cohort": "Месяц регистрации",
+  "admin.dashboard.retention.cohort_size": "Новые пользователи",
   "alert.rate_limited.message": "Пожалуйста, повторите после {retry_time, time, medium}.",
   "alert.rate_limited.title": "Вы выполняете действие слишком часто",
   "alert.unexpected.message": "Произошла непредвиденная ошибка.",
   "alert.unexpected.title": "Упс!",
   "announcement.announcement": "Объявление",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(не обработан)",
   "autosuggest_hashtag.per_week": "{count} / неделю",
   "boost_modal.combo": "{combo}, чтобы пропустить это в следующий раз",
   "bundle_column_error.body": "Что-то пошло не так при загрузке этого компонента.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Переключить в режим выбора одного ответа",
   "compose_form.publish": "Запостить",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Отметить медифайл как деликатный} other {Отметить медифайлы как деликатные}}",
   "compose_form.sensitive.marked": "Медиа{count, plural, =1 {файл отмечен} other {файлы отмечены}} как «деликатного характера»",
   "compose_form.sensitive.unmarked": "Медиа{count, plural, =1 {файл не отмечен} other {файлы не отмечены}} как «деликатного характера»",
@@ -118,8 +120,8 @@
   "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.discard_edit_media.confirm": "Отменить",
+  "confirmations.discard_edit_media.message": "У вас имеются несохранённые изменения превью и описания медиафайла, отменить их?",
   "confirmations.domain_block.confirm": "Да, заблокировать узел",
   "confirmations.domain_block.message": "Вы точно уверены, что хотите скрыть все посты с узла {domain}? В большинстве случаев пары блокировок и скрытий вполне достаточно.\n\nПри блокировке узла, вы перестанете получать уведомления оттуда, все посты будут скрыты из публичных лент, а подписчики убраны.",
   "confirmations.logout.confirm": "Выйти",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Ваш пост добавили в «избранное»:",
   "notifications.column_settings.filter_bar.advanced": "Отображать все категории",
   "notifications.column_settings.filter_bar.category": "Панель сортировки",
-  "notifications.column_settings.filter_bar.show": "Отображать панель сортировки",
+  "notifications.column_settings.filter_bar.show_bar": "Отображать панель сортировки",
   "notifications.column_settings.follow": "У вас новый подписчик:",
   "notifications.column_settings.follow_request": "Новые запросы на подписку:",
   "notifications.column_settings.mention": "Вас упомянули в посте:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Отображать в списке",
   "notifications.column_settings.sound": "Проигрывать звук",
   "notifications.column_settings.status": "Новые посты:",
-  "notifications.column_settings.unread_markers.category": "Маркеры непрочитанных уведомлений",
+  "notifications.column_settings.unread_notifications.category": "Непрочитанные уведомления",
+  "notifications.column_settings.unread_notifications.highlight": "Выделять непрочитанные уведомления",
   "notifications.filter.all": "Все",
   "notifications.filter.boosts": "Продвижения",
   "notifications.filter.favourites": "Отметки «избранного»",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# голос} few {# голоса} many {# голосов} other {# голосов}}",
   "poll.vote": "Голосовать",
   "poll.voted": "Вы проголосовали за этот вариант",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# голос} many {# голосов} other {# голоса}}",
   "poll_button.add_poll": "Добавить опрос",
   "poll_button.remove_poll": "Удалить опрос",
   "privacy.change": "Изменить видимость поста",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Загрузка…",
   "regeneration_indicator.sublabel": "Один момент, мы подготавливаем вашу ленту!",
   "relative_time.days": "{number} д",
+  "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} ч",
   "relative_time.just_now": "только что",
   "relative_time.minutes": "{number} мин",
   "relative_time.seconds": "{number} с",
   "relative_time.today": "сегодня",
   "reply_indicator.cancel": "Отмена",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Переслать в {target}",
   "report.forward_hint": "Эта учётная запись расположена на другом узле. Отправить туда анонимную копию вашей жалобы?",
   "report.hint": "Жалоба будет отправлена модераторам вашего узла. Вы также можете указать подробную причину жалобы ниже:",
@@ -396,9 +407,14 @@
   "status.delete": "Удалить",
   "status.detailed_status": "Подробный просмотр обсуждения",
   "status.direct": "Написать @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Встроить на свой сайт",
   "status.favourite": "В избранное",
   "status.filtered": "Отфильтровано",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Загрузить остальное",
   "status.media_hidden": "Файл скрыт",
   "status.mention": "Упомянуть @{name}",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Опишите видео для людей с нарушением слуха или зрения",
   "upload_modal.analyzing_picture": "Обработка изображения…",
   "upload_modal.apply": "Применить",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Применение…",
   "upload_modal.choose_image": "Выбрать изображение",
   "upload_modal.description_placeholder": "На дворе трава, на траве дрова",
   "upload_modal.detect_text": "Найти текст на картинке",
diff --git a/app/javascript/mastodon/locales/sa.json b/app/javascript/mastodon/locales/sa.json
index 1e496c3ec..a2a22e758 100644
--- a/app/javascript/mastodon/locales/sa.json
+++ b/app/javascript/mastodon/locales/sa.json
@@ -47,7 +47,8 @@
   "account.unmute": "सशब्दम् @{name}",
   "account.unmute_notifications": "@{name} सूचनाः सक्रियन्ताम्",
   "account_note.placeholder": "टीकायोजनार्थं नुद्यताम्",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "मतदानं परिवर्तयित्वा निर्विकल्पमतदानं क्रियताम्",
   "compose_form.publish": "दौत्यम्",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "संवेदनशीलसामग्रीत्यङ्यताम्",
   "compose_form.sensitive.marked": "संवेदनशीलसामग्रीत्यङ्कितम्",
   "compose_form.sensitive.unmarked": "संवेदनशीलसामग्रीति नाङ्कितम्",
@@ -312,7 +314,7 @@
   "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": "Show",
+  "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:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Show in column",
   "notifications.column_settings.sound": "Play sound",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "All",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favourites",
@@ -362,12 +365,20 @@
   "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.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "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.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "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.filtered": "Filtered",
+  "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}",
diff --git a/app/javascript/mastodon/locales/sc.json b/app/javascript/mastodon/locales/sc.json
index 339bbac09..4f8f12357 100644
--- a/app/javascript/mastodon/locales/sc.json
+++ b/app/javascript/mastodon/locales/sc.json
@@ -47,7 +47,8 @@
   "account.unmute": "Torra a ativare a @{name}",
   "account.unmute_notifications": "Ativa notìficas pro @{name}",
   "account_note.placeholder": "Incarca pro agiùnghere una nota",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Muda su sondàgiu pro permìtere un'optzione isceti",
   "compose_form.publish": "Tut",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Marca elementu multimediale comente a sensìbile} other {Marca elementos multimediales comente sensìbiles}}",
   "compose_form.sensitive.marked": "{count, plural, one {Elementu multimediale marcadu comente a sensìbile} other {Elementos multimediales marcados comente a sensìbiles}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Elementu multimediale non marcadu comente a sensìbile} other {Elementos multimediales non marcados comente a sensìbiles}}",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Preferidos:",
   "notifications.column_settings.filter_bar.advanced": "Ammustra totu is categorias",
   "notifications.column_settings.filter_bar.category": "Barra lestra de filtros",
-  "notifications.column_settings.filter_bar.show": "Ammustra",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "Sighiduras noas:",
   "notifications.column_settings.follow_request": "Rechestas noas de sighidura:",
   "notifications.column_settings.mention": "Mèntovos:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Ammustra in sa colunna",
   "notifications.column_settings.sound": "Reprodue unu sonu",
   "notifications.column_settings.status": "Publicatziones noas:",
-  "notifications.column_settings.unread_markers.category": "Marcadores de notìficas de lèghere",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "Totus",
   "notifications.filter.boosts": "Cumpartziduras",
   "notifications.filter.favourites": "Preferidos",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Carrighende…",
   "regeneration_indicator.sublabel": "Preparende sa lìnia de tempus printzipale tua.",
   "relative_time.days": "{number} dies a oe",
+  "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} oras a immoe",
   "relative_time.just_now": "immoe",
   "relative_time.minutes": "{number} minutos a immoe",
   "relative_time.seconds": "{number} segundos a immoe",
   "relative_time.today": "oe",
   "reply_indicator.cancel": "Annulla",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Torra a imbiare a {target}",
   "report.forward_hint": "Custu contu est de un'àteru serbidore. Ddi boles imbiare puru una còpia anònima de custu informe?",
   "report.hint": "S'informe at a èssere imbiadu a sa moderatzione de su serbidore. Podes frunire un'ispiegatzione de sa signalatzione tua de custu contu:",
@@ -396,9 +407,14 @@
   "status.delete": "Cantzella",
   "status.detailed_status": "Visualizatzione de detàlliu de arresonada",
   "status.direct": "Messàgiu deretu a @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Afissa",
   "status.favourite": "Preferidos",
   "status.filtered": "Filtradu",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Càrriga·nde àteros",
   "status.media_hidden": "Elementos multimediales cuados",
   "status.mention": "Mèntova a @{name}",
diff --git a/app/javascript/mastodon/locales/si.json b/app/javascript/mastodon/locales/si.json
index 0baa6c7ae..40939f1b2 100644
--- a/app/javascript/mastodon/locales/si.json
+++ b/app/javascript/mastodon/locales/si.json
@@ -47,7 +47,8 @@
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
   "account_note.placeholder": "සටහන එකතු කිරීමට ක්ලික් කරන්න",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "තනි තේරීමකට ඉඩ දීම සඳහා මත විමසුම වෙනස් කරන්න",
   "compose_form.publish": "පිඹින්න",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {මාධ්‍ය සංවේදී ලෙස සලකුණු කරන්න} other {මාධ්‍ය සංවේදී ලෙස සලකුණු කරන්න}}",
   "compose_form.sensitive.marked": "{count, plural, one {මාධ්‍ය සංවේදී ලෙස සලකුණු කර ඇත} other {මාධ්‍ය සංවේදී ලෙස සලකුණු කර ඇත}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {මාධ්‍ය සංවේදී ලෙස සලකුණු කර නැත} other {මාධ්‍ය සංවේදී ලෙස සලකුණු කර නැත}}",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "ප්‍රියතමයන්:",
   "notifications.column_settings.filter_bar.advanced": "Display all categories",
   "notifications.column_settings.filter_bar.category": "Quick filter bar",
-  "notifications.column_settings.filter_bar.show": "පෙන්වන්න",
+  "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": "සැඳහුම්:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "තීරුවෙහි පෙන්වන්න",
   "notifications.column_settings.sound": "ශබ්දය ධාවනය",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "සියල්ල",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "ප්‍රියතමයන්",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "පූරණය වෙමින්…",
   "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": "දැන්",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "අද",
   "reply_indicator.cancel": "අවලංගු කරන්න",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "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.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "status.delete": "Delete",
   "status.detailed_status": "Detailed conversation view",
   "status.direct": "@{name} සෘජු පණිවිඩය",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "එබ්බවූ",
   "status.favourite": "ප්‍රියතම",
   "status.filtered": "පෙරන ලද",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "තව පූරණය කරන්න",
   "status.media_hidden": "මාධ්‍ය සඟවා ඇත",
   "status.mention": "@{name} සැඳහුම",
diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json
index 5911881bb..34c3da043 100644
--- a/app/javascript/mastodon/locales/sk.json
+++ b/app/javascript/mastodon/locales/sk.json
@@ -9,7 +9,7 @@
   "account.browse_more_on_origin_server": "Prehľadávaj viac na pôvodnom profile",
   "account.cancel_follow_request": "Zruš žiadosť o sledovanie",
   "account.direct": "Priama správa pre @{name}",
-  "account.disable_notifications": "Prestaň oboznamovať keď má príspevky @{name}",
+  "account.disable_notifications": "Prestaň oznamovať, keď má príspevky @{name}",
   "account.domain_blocked": "Doména ukrytá",
   "account.edit_profile": "Uprav profil",
   "account.enable_notifications": "Oboznamuj ma, keď má @{name} príspevky",
@@ -33,7 +33,7 @@
   "account.mute_notifications": "Stĺm oboznámenia od @{name}",
   "account.muted": "Utíšený/á",
   "account.never_active": "Nikdy",
-  "account.posts": "Príspevkov",
+  "account.posts": "Príspevky",
   "account.posts_with_replies": "Príspevky, aj s odpoveďami",
   "account.report": "Nahlás @{name}",
   "account.requested": "Čaká na schválenie. Klikni pre zrušenie žiadosti",
@@ -47,16 +47,17 @@
   "account.unmute": "Prestaň ignorovať @{name}",
   "account.unmute_notifications": "Zruš stĺmenie oboznámení od @{name}",
   "account_note.placeholder": "Klikni pre vloženie poznámky",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Priemer",
+  "admin.dashboard.retention.cohort": "Mesiac zaregistrovania sa",
+  "admin.dashboard.retention.cohort_size": "Noví užívatelia",
   "alert.rate_limited.message": "Prosím, skús to znova za {retry_time, time, medium}.",
   "alert.rate_limited.title": "Tempo obmedzené",
   "alert.unexpected.message": "Vyskytla sa nečakaná chyba.",
   "alert.unexpected.title": "Ups!",
   "announcement.announcement": "Oboznámenie",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(nespracované)",
   "autosuggest_hashtag.per_week": "{count} týždenne",
   "boost_modal.combo": "Nabudúce môžeš kliknúť {combo} pre preskočenie",
   "bundle_column_error.body": "Pri načítaní tohto prvku nastala nejaká chyba.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Zmeň anketu na takú s jedinou voľbou",
   "compose_form.publish": "Pošli",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Označ médiá ako chúlostivé",
   "compose_form.sensitive.marked": "Médiálny obsah je označený ako chúlostivý",
   "compose_form.sensitive.unmarked": "Médiálny obsah nieje označený ako chúlostivý",
@@ -118,7 +120,7 @@
   "confirmations.delete.message": "Si si istý/á, že chceš vymazať túto správu?",
   "confirmations.delete_list.confirm": "Vymaž",
   "confirmations.delete_list.message": "Si si istý/á, že chceš natrvalo vymazať tento zoznam?",
-  "confirmations.discard_edit_media.confirm": "Discard",
+  "confirmations.discard_edit_media.confirm": "Zahoď",
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "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í.",
@@ -158,7 +160,7 @@
   "emoji_button.symbols": "Symboly",
   "emoji_button.travel": "Cestovanie a miesta",
   "empty_column.account_suspended": "Účet bol vylúčený",
-  "empty_column.account_timeline": "Niesú tu žiadne príspevky!",
+  "empty_column.account_timeline": "Niesu tu žiadne príspevky!",
   "empty_column.account_unavailable": "Profil nedostupný",
   "empty_column.blocks": "Ešte si nikoho nezablokoval/a.",
   "empty_column.bookmarked_statuses": "Ešte nemáš žiadné záložky. Keď si pridáš príspevok k záložkám, zobrazí sa tu.",
@@ -217,13 +219,13 @@
   "intervals.full.minutes": "{number, plural, one {# minúta} few {# minút} many {# minút} other {# minút}}",
   "keyboard_shortcuts.back": "dostať sa naspäť",
   "keyboard_shortcuts.blocked": "otvor zoznam blokovaných užívateľov",
-  "keyboard_shortcuts.boost": "vyzdvihnúť",
+  "keyboard_shortcuts.boost": "Vyzdvihni príspevok",
   "keyboard_shortcuts.column": "zameraj sa na príspevok v jednom zo stĺpcov",
   "keyboard_shortcuts.compose": "zameraj sa na písaciu plochu",
   "keyboard_shortcuts.description": "Popis",
   "keyboard_shortcuts.direct": "pre otvorenie panelu priamých správ",
   "keyboard_shortcuts.down": "posunúť sa dole v zozname",
-  "keyboard_shortcuts.enter": "otvoriť správu",
+  "keyboard_shortcuts.enter": "Otvor príspevok",
   "keyboard_shortcuts.favourite": "pridaj do obľúbených",
   "keyboard_shortcuts.favourites": "otvor zoznam obľúbených",
   "keyboard_shortcuts.federated": "otvor federovanú časovú os",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Obľúbené:",
   "notifications.column_settings.filter_bar.advanced": "Zobraz všetky kategórie",
   "notifications.column_settings.filter_bar.category": "Rýchle triedenie",
-  "notifications.column_settings.filter_bar.show": "Ukáž",
+  "notifications.column_settings.filter_bar.show_bar": "Ukáž filtrovací panel",
   "notifications.column_settings.follow": "Noví sledujúci:",
   "notifications.column_settings.follow_request": "Nové žiadosti o následovanie:",
   "notifications.column_settings.mention": "Zmienenia:",
@@ -321,8 +323,9 @@
   "notifications.column_settings.reblog": "Vyzdvihnutia:",
   "notifications.column_settings.show": "Ukáž v stĺpci",
   "notifications.column_settings.sound": "Prehraj zvuk",
-  "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Značenia neprečítaných oboznámení",
+  "notifications.column_settings.status": "Nové príspevky:",
+  "notifications.column_settings.unread_notifications.category": "Neprečítané oboznámenia",
+  "notifications.column_settings.unread_notifications.highlight": "Zdôrazni neprečítané oboznámenia",
   "notifications.filter.all": "Všetky",
   "notifications.filter.boosts": "Vyzdvihnutia",
   "notifications.filter.favourites": "Obľúbené",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Načítava sa…",
   "regeneration_indicator.sublabel": "Vaša nástenka sa pripravuje!",
   "relative_time.days": "{number}dní",
+  "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}hod",
   "relative_time.just_now": "teraz",
   "relative_time.minutes": "{number}min",
   "relative_time.seconds": "{number}sek",
   "relative_time.today": "dnes",
   "reply_indicator.cancel": "Zrušiť",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Posuň ku {target}",
   "report.forward_hint": "Tento účet je z iného serveru. Chceš poslať anonymnú kópiu hlásenia aj tam?",
   "report.hint": "Toto nahlásenie bude zaslané správcom tvojho servera. Môžeš napísať odvôvodnenie, prečo nahlasuješ tento účet:",
@@ -396,9 +407,14 @@
   "status.delete": "Zmazať",
   "status.detailed_status": "Podrobný náhľad celej konverzácie",
   "status.direct": "Priama správa pre @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Vložiť",
   "status.favourite": "Páči sa mi",
   "status.filtered": "Filtrované",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Ukáž viac",
   "status.media_hidden": "Skryté médiá",
   "status.mention": "Spomeň @{name}",
diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json
index 0919fc3cd..212e9256c 100644
--- a/app/javascript/mastodon/locales/sl.json
+++ b/app/javascript/mastodon/locales/sl.json
@@ -1,28 +1,28 @@
 {
   "account.account_note_header": "Opombe",
-  "account.add_or_remove_from_list": "Dodaj ali odstrani iz seznama",
+  "account.add_or_remove_from_list": "Dodaj ali odstrani s seznamov",
   "account.badges.bot": "Robot",
-  "account.badges.group": "Group",
+  "account.badges.group": "Skupina",
   "account.block": "Blokiraj @{name}",
-  "account.block_domain": "Skrij vse iz {domain}",
+  "account.block_domain": "Blokiraj domeno {domain}",
   "account.blocked": "Blokirano",
-  "account.browse_more_on_origin_server": "Browse more on the original profile",
-  "account.cancel_follow_request": "Cancel follow request",
+  "account.browse_more_on_origin_server": "Brskaj več po izvirnem profilu",
+  "account.cancel_follow_request": "Prekliči prošnjo za sledenje",
   "account.direct": "Neposredno sporočilo @{name}",
-  "account.disable_notifications": "Stop notifying me when @{name} posts",
-  "account.domain_blocked": "Skrita domena",
+  "account.disable_notifications": "Ne obveščaj me več, ko ima @{name} novo objavo",
+  "account.domain_blocked": "Blokirana domena",
   "account.edit_profile": "Uredi profil",
-  "account.enable_notifications": "Notify me when @{name} posts",
-  "account.endorse": "Zmožnost profila",
+  "account.enable_notifications": "Obvesti me, ko ima @{name} novo objavo",
+  "account.endorse": "Izpostavi v profilu",
   "account.follow": "Sledi",
   "account.followers": "Sledilci",
   "account.followers.empty": "Nihče ne sledi temu uporabniku.",
-  "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
-  "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
+  "account.followers_counter": "{count, plural, one {ima {count} sledilca} two {ima {count} sledilca} few {ima {count} sledilcev} other {ima {count} sledilce}}",
+  "account.following_counter": "{count, plural, one {sledi {count} osebi} two {sledi {count} osebama} few {sledi {count} osebam} other {sledi {count} osebam}}",
   "account.follows.empty": "Ta uporabnik še ne sledi nikomur.",
-  "account.follows_you": "Sledi tebi",
+  "account.follows_you": "Vam sledi",
   "account.hide_reblogs": "Skrij spodbude od @{name}",
-  "account.joined": "Joined {date}",
+  "account.joined": "Pridružen/a {date}",
   "account.last_status": "Zadnja dejavnost",
   "account.link_verified_on": "Lastništvo te povezave je bilo preverjeno {date}",
   "account.locked_info": "Stanje zasebnosti računa je nastavljeno na zaklenjeno. Lastnik ročno pregleda, kdo ga lahko spremlja.",
@@ -47,17 +47,18 @@
   "account.unmute": "Odtišaj @{name}",
   "account.unmute_notifications": "Vklopi obvestila od @{name}",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
-  "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
-  "alert.rate_limited.title": "Rate limited",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Povprečje",
+  "admin.dashboard.retention.cohort": "Mesec prijave",
+  "admin.dashboard.retention.cohort_size": "Novi uporabniki",
+  "alert.rate_limited.message": "Poskusite znova čez {retry_time, time, medium}.",
+  "alert.rate_limited.title": "Hitrost omejena",
   "alert.unexpected.message": "Zgodila se je nepričakovana napaka.",
   "alert.unexpected.title": "Uups!",
-  "announcement.announcement": "Announcement",
-  "attachments_list.unprocessed": "(unprocessed)",
-  "autosuggest_hashtag.per_week": "{count} per week",
+  "announcement.announcement": "Objava",
+  "attachments_list.unprocessed": "(neobdelano)",
+  "autosuggest_hashtag.per_week": "{count} na teden",
   "boost_modal.combo": "Če želite preskočiti to, lahko pritisnete {combo}",
   "bundle_column_error.body": "Med nalaganjem te komponente je prišlo do napake.",
   "bundle_column_error.retry": "Poskusi ponovno",
@@ -66,10 +67,10 @@
   "bundle_modal_error.message": "Med nalaganjem te komponente je prišlo do napake.",
   "bundle_modal_error.retry": "Poskusi ponovno",
   "column.blocks": "Blokirani uporabniki",
-  "column.bookmarks": "Bookmarks",
+  "column.bookmarks": "Zaznamki",
   "column.community": "Lokalna časovnica",
   "column.direct": "Neposredna sporočila",
-  "column.directory": "Browse profiles",
+  "column.directory": "Prebrskaj profile",
   "column.domain_blocks": "Skrite domene",
   "column.favourites": "Priljubljene",
   "column.follow_requests": "Sledi prošnjam",
@@ -87,9 +88,9 @@
   "column_header.show_settings": "Prikaži nastavitve",
   "column_header.unpin": "Odpni",
   "column_subheading.settings": "Nastavitve",
-  "community.column_settings.local_only": "Local only",
+  "community.column_settings.local_only": "Samo krajevno",
   "community.column_settings.media_only": "Samo mediji",
-  "community.column_settings.remote_only": "Remote only",
+  "community.column_settings.remote_only": "Samo oddaljeno",
   "compose_form.direct_message_warning": "Ta tut bo viden le vsem omenjenim uporabnikom.",
   "compose_form.direct_message_warning_learn_more": "Nauči se več",
   "compose_form.hashtag_warning": "Ta tut ne bo naveden pod nobenim ključnikom, ker ni javen. Samo javne tute lahko iščete s ključniki.",
@@ -100,10 +101,11 @@
   "compose_form.poll.duration": "Trajanje ankete",
   "compose_form.poll.option_placeholder": "Izbira {number}",
   "compose_form.poll.remove_option": "Odstrani to izbiro",
-  "compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices",
-  "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
+  "compose_form.poll.switch_to_multiple": "Spremenite anketo, da omogočite več izbir",
+  "compose_form.poll.switch_to_single": "Spremenite anketo, da omogočite eno izbiro",
   "compose_form.publish": "Tutni",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Označi medij kot občutljiv",
   "compose_form.sensitive.marked": "Medij je označen kot občutljiv",
   "compose_form.sensitive.unmarked": "Medij ni označen kot občutljiv",
@@ -118,14 +120,14 @@
   "confirmations.delete.message": "Ali ste prepričani, da želite izbrisati to stanje?",
   "confirmations.delete_list.confirm": "Izbriši",
   "confirmations.delete_list.message": "Ali ste prepričani, da želite trajno izbrisati ta seznam?",
-  "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.discard_edit_media.confirm": "Opusti",
+  "confirmations.discard_edit_media.message": "Imate ne shranjene spremembe za medijski opis ali predogled; jih želite kljub temu opustiti?",
   "confirmations.domain_block.confirm": "Skrij 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.logout.confirm": "Log out",
-  "confirmations.logout.message": "Are you sure you want to log out?",
+  "confirmations.logout.confirm": "Odjava",
+  "confirmations.logout.message": "Ali ste prepričani, da se želite odjaviti?",
   "confirmations.mute.confirm": "Utišanje",
-  "confirmations.mute.explanation": "This will hide posts from them and posts mentioning them, but it will still allow them to see your posts and follow you.",
+  "confirmations.mute.explanation": "S tem boste skrili objave pred njimi in objave, ki jih omenjajo, še vedno pa bodo lahko videli vaše objave in vam sledili.",
   "confirmations.mute.message": "Ali ste prepričani, da želite utišati {name}?",
   "confirmations.redraft.confirm": "Izbriši in preoblikuj",
   "confirmations.redraft.message": "Ali ste prepričani, da želite izbrisati ta status in ga preoblikovati? Vzljubi in spodbude bodo izgubljeni, odgovori na izvirno objavo pa bodo osiroteli.",
@@ -133,14 +135,14 @@
   "confirmations.reply.message": "Odgovarjanje bo prepisalo sporočilo, ki ga trenutno sestavljate. Ali ste prepričani, da želite nadaljevati?",
   "confirmations.unfollow.confirm": "Prenehaj slediti",
   "confirmations.unfollow.message": "Ali ste prepričani, da ne želite več slediti {name}?",
-  "conversation.delete": "Delete conversation",
-  "conversation.mark_as_read": "Mark as read",
-  "conversation.open": "View conversation",
-  "conversation.with": "With {names}",
-  "directory.federated": "From known fediverse",
-  "directory.local": "From {domain} only",
-  "directory.new_arrivals": "New arrivals",
-  "directory.recently_active": "Recently active",
+  "conversation.delete": "Izbriši pogovor",
+  "conversation.mark_as_read": "Označi kot prebrano",
+  "conversation.open": "Prikaži pogovor",
+  "conversation.with": "Z {names}",
+  "directory.federated": "Iz znanega fediverzuma",
+  "directory.local": "Samo iz {domain}",
+  "directory.new_arrivals": "Novi prišleki",
+  "directory.recently_active": "Nedavno aktiven/a",
   "embed.instructions": "Vstavi ta status na svojo spletno stran tako, da kopirate spodnjo kodo.",
   "embed.preview": "Tako bo izgledalo:",
   "emoji_button.activity": "Dejavnost",
@@ -157,7 +159,7 @@
   "emoji_button.search_results": "Rezultati iskanja",
   "emoji_button.symbols": "Simboli",
   "emoji_button.travel": "Potovanja in Kraji",
-  "empty_column.account_suspended": "Account suspended",
+  "empty_column.account_suspended": "Račun je suspendiran",
   "empty_column.account_timeline": "Tukaj ni tutov!",
   "empty_column.account_unavailable": "Profil ni na voljo",
   "empty_column.blocks": "Niste še blokirali nobenega uporabnika.",
@@ -167,29 +169,29 @@
   "empty_column.domain_blocks": "Še vedno ni skritih domen.",
   "empty_column.favourited_statuses": "Nimate priljubljenih tutov. Ko boste vzljubili kakšnega, se bo prikazal tukaj.",
   "empty_column.favourites": "Nihče še ni vzljubil tega tuta. Ko ga bo nekdo, se bo pojavil tukaj.",
-  "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": "Kaže, da za vas ni mogoče pripraviti nobenih predlogov. Poskusite uporabiti iskanje, da poiščete osebe, ki jih poznate, ali raziščete ključnike, ki so v trendu.",
   "empty_column.follow_requests": "Nimate prošenj za sledenje. Ko boste prejeli kakšno, se bo prikazala tukaj.",
   "empty_column.hashtag": "V tem ključniku še ni nič.",
   "empty_column.home": "Vaša domača časovnica je prazna! Obiščite {public} ali uporabite iskanje, da se boste srečali druge uporabnike.",
-  "empty_column.home.suggestions": "See some suggestions",
+  "empty_column.home.suggestions": "Oglejte si nekaj predlogov",
   "empty_column.list": "Na tem seznamu ni ničesar. Ko bodo člani tega seznama objavili nove statuse, se bodo pojavili tukaj.",
   "empty_column.lists": "Nimate seznamov. Ko ga boste ustvarili, se bo prikazal tukaj.",
   "empty_column.mutes": "Niste utišali še nobenega uporabnika.",
   "empty_column.notifications": "Nimate še nobenih obvestil. Povežite se z drugimi, da začnete pogovor.",
   "empty_column.public": "Tukaj ni ničesar! Da ga napolnite, napišite nekaj javnega ali pa ročno sledite uporabnikom iz drugih strežnikov",
-  "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",
-  "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!",
+  "error.unexpected_crash.explanation": "Zaradi hrošča v naši kodi ali težave z združljivostjo brskalnika te strani ni mogoče ustrezno prikazati.",
+  "error.unexpected_crash.explanation_addons": "Te strani ni mogoče ustrezno prikazati. To napako najverjetneje povzroča dodatek briskalnika ali samodejna orodja za prevajanje.",
+  "error.unexpected_crash.next_steps": "Poskusite osvežiti stran. Če to ne pomaga, boste morda še vedno lahko uporabljali Mastodon prek drugega brskalnika ali z domorodno aplikacijo.",
+  "error.unexpected_crash.next_steps_addons": "Poskusite jih onemogočiti in osvežiti stran. Če to ne pomaga, boste morda še vedno lahko uporabljali Mastodon prek drugega brskalnika ali z domorodno aplikacijo.",
+  "errors.unexpected_crash.copy_stacktrace": "Kopiraj sledenje sklada na odložišče",
+  "errors.unexpected_crash.report_issue": "Prijavi težavo",
+  "follow_recommendations.done": "Opravljeno",
+  "follow_recommendations.heading": "Sledite osebam, katerih objave želite videti! Tukaj je nekaj predlogov.",
+  "follow_recommendations.lead": "Objave oseb, ki jim sledite, se bodo prikazale v kronološkem zaporedju v vašem domačem viru. Ne bojte se storiti napake, osebam enako enostavno nehate slediti kadar koli!",
   "follow_request.authorize": "Overi",
   "follow_request.reject": "Zavrni",
-  "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.",
-  "generic.saved": "Saved",
+  "follow_requests.unlocked_explanation": "Čeprav vaš račun ni zaklenjen, zaposleni pri {domain} menijo, da bi morda želeli pregledati zahteve za sledenje teh računov ročno.",
+  "generic.saved": "Shranjeno",
   "getting_started.developers": "Razvijalci",
   "getting_started.directory": "Imenik profilov",
   "getting_started.documentation": "Dokumentacija",
@@ -210,8 +212,8 @@
   "home.column_settings.basic": "Osnovno",
   "home.column_settings.show_reblogs": "Pokaži spodbude",
   "home.column_settings.show_replies": "Pokaži odgovore",
-  "home.hide_announcements": "Hide announcements",
-  "home.show_announcements": "Show announcements",
+  "home.hide_announcements": "Skrij objave",
+  "home.show_announcements": "Prikaži objave",
   "intervals.full.days": "{number, plural, one {# dan} two {# dni} few {# dni} other {# dni}}",
   "intervals.full.hours": "{number, plural, one {# ura} two {# uri} few {# ure} other {# ur}}",
   "intervals.full.minutes": "{number, plural, one {# minuta} two {# minuti} few {# minute} other {# minut}}",
@@ -250,8 +252,8 @@
   "keyboard_shortcuts.unfocus": "odfokusiraj območje za sestavljanje besedila/iskanje",
   "keyboard_shortcuts.up": "premakni se navzgor po seznamu",
   "lightbox.close": "Zapri",
-  "lightbox.compress": "Compress image view box",
-  "lightbox.expand": "Expand image view box",
+  "lightbox.compress": "Strni ogledno polje slike",
+  "lightbox.expand": "Razširi ogledno polje slike",
   "lightbox.next": "Naslednji",
   "lightbox.previous": "Prejšnji",
   "lists.account.add": "Dodaj na seznam",
@@ -261,10 +263,10 @@
   "lists.edit.submit": "Spremeni naslov",
   "lists.new.create": "Dodaj seznam",
   "lists.new.title_placeholder": "Nov naslov seznama",
-  "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.replies_policy.followed": "Vsem sledenim uporabnikom",
+  "lists.replies_policy.list": "Članom seznama",
+  "lists.replies_policy.none": "Nikomur",
+  "lists.replies_policy.title": "Pokaži odgovore:",
   "lists.search": "Išči med ljudmi, katerim sledite",
   "lists.subheading": "Vaši seznami",
   "load_pending": "{count, plural, one {# nov element} other {# novih elementov}}",
@@ -272,12 +274,12 @@
   "media_gallery.toggle_visible": "Preklopi vidljivost",
   "missing_indicator.label": "Ni najdeno",
   "missing_indicator.sublabel": "Tega vira ni bilo mogoče najti",
-  "mute_modal.duration": "Duration",
+  "mute_modal.duration": "Trajanje",
   "mute_modal.hide_notifications": "Skrij obvestila tega uporabnika?",
-  "mute_modal.indefinite": "Indefinite",
+  "mute_modal.indefinite": "Nedoločeno",
   "navigation_bar.apps": "Mobilne aplikacije",
   "navigation_bar.blocks": "Blokirani uporabniki",
-  "navigation_bar.bookmarks": "Bookmarks",
+  "navigation_bar.bookmarks": "Zaznamki",
   "navigation_bar.community_timeline": "Lokalna časovnica",
   "navigation_bar.compose": "Sestavi nov tut",
   "navigation_bar.direct": "Neposredna sporočila",
@@ -300,21 +302,21 @@
   "navigation_bar.security": "Varnost",
   "notification.favourite": "{name} je vzljubil/a vaš status",
   "notification.follow": "{name} vam sledi",
-  "notification.follow_request": "{name} has requested to follow you",
+  "notification.follow_request": "{name} vam želi slediti",
   "notification.mention": "{name} vas je omenil/a",
-  "notification.own_poll": "Your poll has ended",
+  "notification.own_poll": "Vaša anketa se je končala",
   "notification.poll": "Glasovanje, v katerem ste sodelovali, se je končalo",
   "notification.reblog": "{name} je spodbudil/a vaš status",
-  "notification.status": "{name} just posted",
+  "notification.status": "{name} je pravkar objavil/a",
   "notifications.clear": "Počisti obvestila",
   "notifications.clear_confirmation": "Ali ste prepričani, da želite trajno izbrisati vsa vaša obvestila?",
   "notifications.column_settings.alert": "Namizna obvestila",
   "notifications.column_settings.favourite": "Priljubljeni:",
   "notifications.column_settings.filter_bar.advanced": "Prikaži vse kategorije",
   "notifications.column_settings.filter_bar.category": "Vrstica za hitro filtriranje",
-  "notifications.column_settings.filter_bar.show": "Pokaži",
+  "notifications.column_settings.filter_bar.show_bar": "Pokaži vrstico s filtri",
   "notifications.column_settings.follow": "Novi sledilci:",
-  "notifications.column_settings.follow_request": "New follow requests:",
+  "notifications.column_settings.follow_request": "Nove prošnje za sledenje:",
   "notifications.column_settings.mention": "Omembe:",
   "notifications.column_settings.poll": "Rezultati glasovanja:",
   "notifications.column_settings.push": "Potisna obvestila",
@@ -322,31 +324,32 @@
   "notifications.column_settings.show": "Prikaži v stolpcu",
   "notifications.column_settings.sound": "Predvajaj zvok",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Neprebrana obvestila",
+  "notifications.column_settings.unread_notifications.highlight": "Poudari neprebrana obvestila",
   "notifications.filter.all": "Vse",
   "notifications.filter.boosts": "Spodbude",
   "notifications.filter.favourites": "Priljubljeni",
   "notifications.filter.follows": "Sledi",
   "notifications.filter.mentions": "Omembe",
   "notifications.filter.polls": "Rezultati glasovanj",
-  "notifications.filter.statuses": "Updates from people you follow",
-  "notifications.grant_permission": "Grant permission.",
+  "notifications.filter.statuses": "Posodobitve pri osebah, ki jih spremljate",
+  "notifications.grant_permission": "Dovoli.",
   "notifications.group": "{count} obvestil",
-  "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",
+  "notifications.mark_as_read": "Vsa obvestila ozači kot prebrana",
+  "notifications.permission_denied": "Namizna obvestila niso na voljo zaradi poprej zavrnjene zahteve dovoljenja brskalnika.",
+  "notifications.permission_denied_alert": "Namiznih obvestil ni mogoče omogočiti, ker je bilo dovoljenje brskalnika že prej zavrnjeno",
+  "notifications.permission_required": "Namizna obvestila niso na voljo, ker zahtevano dovoljenje ni bilo podeljeno.",
+  "notifications_permission_banner.enable": "Omogoči obvestila na namizju",
+  "notifications_permission_banner.how_to_control": "Če želite prejemati obvestila, ko Mastodon ni odprt, omogočite namizna obvestila. Natančno lahko nadzirate, katere vrste interakcij naj tvorijo namizna obvestila; ko so omogočena, za to uporabite gumb {icon} zgoraj.",
+  "notifications_permission_banner.title": "Nikoli ne zamudite ničesar",
+  "picture_in_picture.restore": "Postavi nazaj",
   "poll.closed": "Zaprto",
   "poll.refresh": "Osveži",
-  "poll.total_people": "{count, plural, one {# person} other {# people}}",
+  "poll.total_people": "{count, plural, one {# oseba} two {# osebi} few {# osebe} other {# oseb}}",
   "poll.total_votes": "{count, plural,one {# glas} other {# glasov}}",
   "poll.vote": "Glasuj",
-  "poll.voted": "You voted for this answer",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.voted": "Glasovali ste za ta odgovor",
+  "poll.votes": "{votes, plural, one {# glas} two {# glasova} few {# glasovi} other {# glasov}}",
   "poll_button.add_poll": "Dodaj anketo",
   "poll_button.remove_poll": "Odstrani anketo",
   "privacy.change": "Prilagodi zasebnost statusa",
@@ -358,16 +361,24 @@
   "privacy.public.short": "Javno",
   "privacy.unlisted.long": "Ne objavi na javne časovnice",
   "privacy.unlisted.short": "Ni prikazano",
-  "refresh": "Refresh",
+  "refresh": "Osveži",
   "regeneration_indicator.label": "Nalaganje…",
   "regeneration_indicator.sublabel": "Vaš domači vir se pripravlja!",
   "relative_time.days": "{number}d",
-  "relative_time.hours": "{number}h",
+  "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}u",
   "relative_time.just_now": "zdaj",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "danes",
   "reply_indicator.cancel": "Prekliči",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Posreduj do {target}",
   "report.forward_hint": "Račun je iz drugega strežnika. Pošljem anonimno kopijo poročila tudi na drugi strežnik?",
   "report.hint": "Poročilo bo poslano moderatorjem vašega vozlišča. Spodaj lahko navedete, zakaj prijavljate ta račun:",
@@ -389,16 +400,21 @@
   "status.admin_account": "Odpri vmesnik za moderiranje za @{name}",
   "status.admin_status": "Odpri status v vmesniku za moderiranje",
   "status.block": "Blokiraj @{name}",
-  "status.bookmark": "Bookmark",
+  "status.bookmark": "Dodaj med zaznamke",
   "status.cancel_reblog_private": "Prekini spodbudo",
   "status.cannot_reblog": "Te objave ni mogoče spodbuditi",
   "status.copy": "Kopiraj povezavo do statusa",
   "status.delete": "Izbriši",
   "status.detailed_status": "Podroben pogled pogovora",
   "status.direct": "Neposredno sporočilo @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Vgradi",
   "status.favourite": "Priljubljen",
   "status.filtered": "Filtrirano",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Naloži več",
   "status.media_hidden": "Mediji so skriti",
   "status.mention": "Omeni @{name}",
@@ -414,7 +430,7 @@
   "status.reblogged_by": "{name} spodbuja",
   "status.reblogs.empty": "Nihče še ni spodbudil tega tuta. Ko se bo to zgodilo, se bodo pojavili tukaj.",
   "status.redraft": "Izbriši in preoblikuj",
-  "status.remove_bookmark": "Remove bookmark",
+  "status.remove_bookmark": "Odstrani zaznamek",
   "status.reply": "Odgovori",
   "status.replyAll": "Odgovori na objavo",
   "status.report": "Prijavi @{name}",
@@ -425,7 +441,7 @@
   "status.show_more": "Prikaži več",
   "status.show_more_all": "Prikaži več za vse",
   "status.show_thread": "Prikaži objavo",
-  "status.uncached_media_warning": "Not available",
+  "status.uncached_media_warning": "Ni na voljo",
   "status.unmute_conversation": "Odtišaj pogovor",
   "status.unpin": "Odpni iz profila",
   "suggestions.dismiss": "Zavrni predlog",
@@ -440,39 +456,39 @@
   "time_remaining.minutes": "{number, plural, one {# minuta} other {# minut}} je ostalo",
   "time_remaining.moments": "Preostali trenutki",
   "time_remaining.seconds": "{number, plural, one {# sekunda} other {# sekund}} je ostalo",
-  "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.remote_resource_not_displayed": "{resource} z drugih strežnikov ni prikazano.",
+  "timeline_hint.resources.followers": "sledilcev",
+  "timeline_hint.resources.follows": "Sledi",
   "timeline_hint.resources.statuses": "Older toots",
-  "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking",
-  "trends.trending_now": "Trending now",
+  "trends.counter_by_accounts": "{count, plural, one {{count} oseba govori} two {{count} osebi govorita} few {{count} osebe govorijo} other {{count} oseb govori}}",
+  "trends.trending_now": "Zdaj v trendu",
   "ui.beforeunload": "Vaš osnutek bo izgubljen, če zapustite Mastodona.",
-  "units.short.billion": "{count}B",
-  "units.short.million": "{count}M",
-  "units.short.thousand": "{count}K",
+  "units.short.billion": "{count} milijard",
+  "units.short.million": "{count} mio.",
+  "units.short.thousand": "{count} tisoč",
   "upload_area.title": "Za pošiljanje povlecite in spustite",
   "upload_button.label": "Dodaj medije",
   "upload_error.limit": "Omejitev prenosa datoteke je presežena.",
   "upload_error.poll": "Prenos datoteke z anketami ni dovoljen.",
-  "upload_form.audio_description": "Describe for people with hearing loss",
+  "upload_form.audio_description": "Opiši za osebe z okvaro sluha",
   "upload_form.description": "Opišite za slabovidne",
-  "upload_form.edit": "Edit",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.edit": "Uredi",
+  "upload_form.thumbnail": "Spremeni sličico",
   "upload_form.undo": "Izbriši",
-  "upload_form.video_description": "Describe for people with hearing loss or visual impairment",
-  "upload_modal.analyzing_picture": "Analyzing picture…",
-  "upload_modal.apply": "Apply",
-  "upload_modal.applying": "Applying…",
-  "upload_modal.choose_image": "Choose image",
+  "upload_form.video_description": "Opiši za osebe z okvaro sluha in/ali vida",
+  "upload_modal.analyzing_picture": "Analiziranje slike …",
+  "upload_modal.apply": "Uveljavi",
+  "upload_modal.applying": "Uveljavljanje poteka …",
+  "upload_modal.choose_image": "Izberite sliko",
   "upload_modal.description_placeholder": "Pri Jakcu bom vzel šest čudežnih fig",
-  "upload_modal.detect_text": "Detect text from picture",
-  "upload_modal.edit_media": "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": "Preparing OCR…",
-  "upload_modal.preview_label": "Preview ({ratio})",
+  "upload_modal.detect_text": "Zaznaj besedilo s slike",
+  "upload_modal.edit_media": "Uredi medij",
+  "upload_modal.hint": "Kliknite ali povlecite krog v predogledu, da izberete točko pozornosti, ki bo vedno vidna na vseh oglednih sličicah.",
+  "upload_modal.preparing_ocr": "Priprava optične prepoznave znakov (OCR) ...",
+  "upload_modal.preview_label": "Predogled ({ratio})",
   "upload_progress.label": "Pošiljanje...",
   "video.close": "Zapri video",
-  "video.download": "Download file",
+  "video.download": "Prenesi datoteko",
   "video.exit_fullscreen": "Izhod iz celozaslonskega načina",
   "video.expand": "Razširi video",
   "video.fullscreen": "Celozaslonski način",
diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json
index 062b566d0..2a9a12e17 100644
--- a/app/javascript/mastodon/locales/sq.json
+++ b/app/javascript/mastodon/locales/sq.json
@@ -47,16 +47,17 @@
   "account.unmute": "Ktheji zërin @{name}",
   "account.unmute_notifications": "Hiqua ndalimin e shfaqjes njoftimeve nga @{name}",
   "account_note.placeholder": "Klikoni për të shtuar shënim",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Mesatare",
+  "admin.dashboard.retention.cohort": "Muaj regjistrimi",
+  "admin.dashboard.retention.cohort_size": "Përdorues të rinj",
   "alert.rate_limited.message": "Ju lutemi, riprovoni pas {retry_time, time, medium}.",
   "alert.rate_limited.title": "Shpejtësi e kufizuar",
   "alert.unexpected.message": "Ndodhi një gabim të papritur.",
   "alert.unexpected.title": "Hëm!",
   "announcement.announcement": "Lajmërim",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(e papërpunuar)",
   "autosuggest_hashtag.per_week": "{count} për javë",
   "boost_modal.combo": "Që kjo të anashkalohet herës tjetër, mund të shtypni {combo}",
   "bundle_column_error.body": "Diç shkoi ters teksa ngarkohej ky përbërës.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Ndrysho votimin për të lejuar vetëm një zgjedhje",
   "compose_form.publish": "Mesazh",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Vëri shenjë medias si rezervat} other {Vëru shenjë mediave si rezervat}}",
   "compose_form.sensitive.marked": "{count, plural, one {Medias i është vënë shenjë rezervat} other {Mediave u është vënë shenjë si rezervat}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media s’ka shenjë si rezervat} other {Mediat s’kanë shenja si rezervat}}",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "Jeni i sigurt se doni të fshihet kjo gjendje?",
   "confirmations.delete_list.confirm": "Fshije",
   "confirmations.delete_list.message": "Jeni i sigurt se doni të fshihet përgjithmonë kjo listë?",
-  "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.discard_edit_media.confirm": "Hidhe tej",
+  "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.logout.confirm": "Dilni",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Të parapëlqyer:",
   "notifications.column_settings.filter_bar.advanced": "Shfaq krejt kategoritë",
   "notifications.column_settings.filter_bar.category": "Shtyllë filtrimesh të shpejta",
-  "notifications.column_settings.filter_bar.show": "Shfaq",
+  "notifications.column_settings.filter_bar.show_bar": "Shfaq shtyllë filtrash",
   "notifications.column_settings.follow": "Ndjekës të rinj:",
   "notifications.column_settings.follow_request": "Kërkesa të reja për ndjekje:",
   "notifications.column_settings.mention": "Përmendje:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Shfaqi në shtylla",
   "notifications.column_settings.sound": "Luaj një tingull",
   "notifications.column_settings.status": "Mesazhe të rinj:",
-  "notifications.column_settings.unread_markers.category": "Shenja njoftimesh të palexuara",
+  "notifications.column_settings.unread_notifications.category": "Njoftime të palexuara",
+  "notifications.column_settings.unread_notifications.highlight": "Theksoji njoftimet e palexuara",
   "notifications.filter.all": "Krejt",
   "notifications.filter.boosts": "Përforcime",
   "notifications.filter.favourites": "Të parapëlqyer",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural,one {# votë }other {# vota }}",
   "poll.vote": "Votoni",
   "poll.voted": "Votuat për këtë përgjigje",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# votë} other {# vota}}",
   "poll_button.add_poll": "Shtoni një pyetësor",
   "poll_button.remove_poll": "Hiqe pyetësorin",
   "privacy.change": "Rregulloni privatësi mesazhesh",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Po ngarkohet…",
   "regeneration_indicator.sublabel": "Prurja juaj vetjake po përgatitet!",
   "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}o",
   "relative_time.just_now": "tani",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "sot",
   "reply_indicator.cancel": "Anuloje",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Përcillja {target}",
   "report.forward_hint": "Llogaria është nga një shërbyes tjetër. Të dërgohet edhe një kopje e anonimizuar e raportimit?",
   "report.hint": "Raportimi do t’u dërgohet moderatorëve të shërbyesit tuaj. Më poshtë mund të jepni një shpjegim se pse po e raportoni këtë llogari:",
@@ -396,9 +407,14 @@
   "status.delete": "Fshije",
   "status.detailed_status": "Pamje e hollësishme bisede",
   "status.direct": "Mesazh i drejtpërdrejtë për @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Trupëzim",
   "status.favourite": "I parapëlqyer",
   "status.filtered": "I filtruar",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Ngarko më tepër",
   "status.media_hidden": "Me media të fshehur",
   "status.mention": "Përmendni @{name}",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Përshkruajeni për persona me dëgjim të kufizuar ose probleme shikimi",
   "upload_modal.analyzing_picture": "Po analizohet fotoja…",
   "upload_modal.apply": "Aplikoje",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Po zbatohet…",
   "upload_modal.choose_image": "Zgjidhni figurë",
   "upload_modal.description_placeholder": "Deshe Korçën, Korçën të dhamë",
   "upload_modal.detect_text": "Pikase tekstin prej fotoje",
diff --git a/app/javascript/mastodon/locales/sr-Latn.json b/app/javascript/mastodon/locales/sr-Latn.json
index 3e29734ef..c12cad908 100644
--- a/app/javascript/mastodon/locales/sr-Latn.json
+++ b/app/javascript/mastodon/locales/sr-Latn.json
@@ -47,7 +47,8 @@
   "account.unmute": "Ukloni ućutkavanje korisniku @{name}",
   "account.unmute_notifications": "Uključi nazad obaveštenja od korisnika @{name}",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
   "compose_form.publish": "Tutni",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Omiljeni:",
   "notifications.column_settings.filter_bar.advanced": "Display all categories",
   "notifications.column_settings.filter_bar.category": "Quick filter bar",
-  "notifications.column_settings.filter_bar.show": "Show",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "Novi pratioci:",
   "notifications.column_settings.follow_request": "New follow requests:",
   "notifications.column_settings.mention": "Pominjanja:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Prikaži u koloni",
   "notifications.column_settings.sound": "Puštaj zvuk",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "All",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favourites",
@@ -362,12 +365,20 @@
   "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": "sada",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "today",
   "reply_indicator.cancel": "Poništi",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "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.hint": "The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "status.delete": "Obriši",
   "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": "Ugradi na sajt",
   "status.favourite": "Omiljeno",
   "status.filtered": "Filtered",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Učitaj još",
   "status.media_hidden": "Multimedija sakrivena",
   "status.mention": "Pomeni korisnika @{name}",
diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json
index ba822e15d..fb94b0098 100644
--- a/app/javascript/mastodon/locales/sr.json
+++ b/app/javascript/mastodon/locales/sr.json
@@ -47,7 +47,8 @@
   "account.unmute": "Уклони ућуткавање кориснику @{name}",
   "account.unmute_notifications": "Укључи назад обавештења од корисника @{name}",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Промените анкету да бисте омогућили један избор",
   "compose_form.publish": "Труби",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Означи мултимедију као осетљиву",
   "compose_form.sensitive.marked": "Медији су означени као осетљиви",
   "compose_form.sensitive.unmarked": "Медији су означени као не-осетљиви",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Омиљени:",
   "notifications.column_settings.filter_bar.advanced": "Прикажи све категорије",
   "notifications.column_settings.filter_bar.category": "Трака за брзи филтер",
-  "notifications.column_settings.filter_bar.show": "Прикажи",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "Нови пратиоци:",
   "notifications.column_settings.follow_request": "Нови захтеви за праћење:",
   "notifications.column_settings.mention": "Помињања:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Прикажи у колони",
   "notifications.column_settings.sound": "Пуштај звук",
   "notifications.column_settings.status": "Нови тутови:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "Све",
   "notifications.filter.boosts": "Подршки",
   "notifications.filter.favourites": "Омиљене",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Учитавање…",
   "regeneration_indicator.sublabel": "Ваша почетна страница се припрема!",
   "relative_time.days": "{number}д",
+  "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}х",
   "relative_time.just_now": "сада",
   "relative_time.minutes": "{number}м",
   "relative_time.seconds": "{number}с",
   "relative_time.today": "данас",
   "reply_indicator.cancel": "Поништи",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Проследити {target}",
   "report.forward_hint": "Налог је са другог сервера. Послати анонимну копију пријаве и тамо?",
   "report.hint": "Пријава ће бити послата модераторима ваше инстанце. Можете додати објашњење зашто пријављујете овај налог у наставку:",
@@ -396,9 +407,14 @@
   "status.delete": "Обриши",
   "status.detailed_status": "Детаљни преглед разговора",
   "status.direct": "Директна порука @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Угради на сајт",
   "status.favourite": "Омиљено",
   "status.filtered": "Филтрирано",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Учитај још",
   "status.media_hidden": "Мултимедија сакривена",
   "status.mention": "Помени корисника @{name}",
diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json
index efcdd187c..ecf14e5f9 100644
--- a/app/javascript/mastodon/locales/sv.json
+++ b/app/javascript/mastodon/locales/sv.json
@@ -47,16 +47,17 @@
   "account.unmute": "Sluta tysta @{name}",
   "account.unmute_notifications": "Återaktivera aviseringar från @{name}",
   "account_note.placeholder": "Klicka för att lägga till anteckning",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Genomsnittlig",
+  "admin.dashboard.retention.cohort": "Registreringsmånad",
+  "admin.dashboard.retention.cohort_size": "Nya användare",
   "alert.rate_limited.message": "Vänligen försök igen efter {retry_time, time, medium}.",
   "alert.rate_limited.title": "Mängd begränsad",
   "alert.unexpected.message": "Ett oväntat fel uppstod.",
   "alert.unexpected.title": "Hoppsan!",
   "announcement.announcement": "Meddelande",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(obearbetad)",
   "autosuggest_hashtag.per_week": "{count} per vecka",
   "boost_modal.combo": "Du kan trycka {combo} för att slippa detta nästa gång",
   "bundle_column_error.body": "Något gick fel medan denna komponent laddades.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Ändra enkät för att tillåta ett enda val",
   "compose_form.publish": "Tut",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "Markera media som känsligt",
   "compose_form.sensitive.marked": "Media har markerats som känsligt",
   "compose_form.sensitive.unmarked": "Media är inte markerat som känsligt",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "Är du säker på att du vill radera denna status?",
   "confirmations.delete_list.confirm": "Radera",
   "confirmations.delete_list.message": "Är du säker på att du vill radera denna lista permanent?",
-  "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.discard_edit_media.confirm": "Kasta",
+  "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.logout.confirm": "Logga ut",
@@ -167,7 +169,7 @@
   "empty_column.domain_blocks": "Det finns ännu inga dolda domäner.",
   "empty_column.favourited_statuses": "Du har inga favoritmarkerade toots än. När du favoritmarkerar en kommer den visas här.",
   "empty_column.favourites": "Ingen har favoritmarkerat den här tooten än. När någon gör det kommer den visas här.",
-  "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": "Det ser ut som om inga förslag kan genereras till dig. Du kan prova att använda sök för att leta efter personer som du kanske känner eller utforska trendande hash-taggar.",
   "empty_column.follow_requests": "Du har inga följarförfrågningar än. När du får en kommer den visas här.",
   "empty_column.hashtag": "Det finns inget i denna hashtag ännu.",
   "empty_column.home": "Din hemma-tidslinje är tom! Besök {public} eller använd sökning för att komma igång och träffa andra användare.",
@@ -184,8 +186,8 @@
   "errors.unexpected_crash.copy_stacktrace": "Kopiera stacktrace till urklipp",
   "errors.unexpected_crash.report_issue": "Rapportera problem",
   "follow_recommendations.done": "Klar",
-  "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_recommendations.heading": "Följ personer som du skulle vilja se inlägg från! Här finns det några förslag.",
+  "follow_recommendations.lead": "Inlägg från personer du följer kommer att dyka upp i kronologisk ordning i ditt hem-flöde. Var inte rädd för att göra misstag, du kan sluta följa människor lika enkelt när som helst!",
   "follow_request.authorize": "Godkänn",
   "follow_request.reject": "Avvisa",
   "follow_requests.unlocked_explanation": "Även om ditt konto inte är låst tror {domain} personalen att du kanske vill granska dessa följares förfrågningar manuellt.",
@@ -250,8 +252,8 @@
   "keyboard_shortcuts.unfocus": "för att avfokusera skrivfält/sökfält",
   "keyboard_shortcuts.up": "för att flytta uppåt i listan",
   "lightbox.close": "Stäng",
-  "lightbox.compress": "Compress image view box",
-  "lightbox.expand": "Expand image view box",
+  "lightbox.compress": "Komprimera bildvyrutan",
+  "lightbox.expand": "Utöka bildvyrutan",
   "lightbox.next": "Nästa",
   "lightbox.previous": "Tidigare",
   "lists.account.add": "Lägg till i lista",
@@ -261,7 +263,7 @@
   "lists.edit.submit": "Ändra titel",
   "lists.new.create": "Lägg till lista",
   "lists.new.title_placeholder": "Ny listrubrik",
-  "lists.replies_policy.followed": "Any followed user",
+  "lists.replies_policy.followed": "Alla användare som följs",
   "lists.replies_policy.list": "Medlemmar i listan",
   "lists.replies_policy.none": "Ingen",
   "lists.replies_policy.title": "Visa svar till:",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Favoriter:",
   "notifications.column_settings.filter_bar.advanced": "Visa alla kategorier",
   "notifications.column_settings.filter_bar.category": "Snabbfilter",
-  "notifications.column_settings.filter_bar.show": "Visa",
+  "notifications.column_settings.filter_bar.show_bar": "Visa filterfält",
   "notifications.column_settings.follow": "Nya följare:",
   "notifications.column_settings.follow_request": "Ny följ-förfrågan:",
   "notifications.column_settings.mention": "Omnämningar:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Visa i kolumnen",
   "notifications.column_settings.sound": "Spela upp ljud",
   "notifications.column_settings.status": "Nya tutor:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "O-lästa aviseringar",
+  "notifications.column_settings.unread_notifications.highlight": "Markera o-lästa aviseringar",
   "notifications.filter.all": "Alla",
   "notifications.filter.boosts": "Knuffar",
   "notifications.filter.favourites": "Favoriter",
@@ -333,9 +336,9 @@
   "notifications.grant_permission": "Godkänn åtkomst.",
   "notifications.group": "{count} aviseringar",
   "notifications.mark_as_read": "Markera varje avisering som läst",
-  "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_denied": "Skrivbordsaviseringar är otillgängliga på grund av tidigare nekade förfrågningar om behörighet i webbläsaren",
+  "notifications.permission_denied_alert": "Skrivbordsaviseringar kan inte aktiveras, eftersom att webbläsarens behörighet har nekats innan",
+  "notifications.permission_required": "Skrivbordsaviseringar är otillgängliga eftersom att rättigheten som krävs inte har godkänts.",
   "notifications_permission_banner.enable": "Aktivera skrivbordsaviseringar",
   "notifications_permission_banner.how_to_control": "För att ta emot aviseringar när Mastodon inte är öppet, aktivera skrivbordsaviseringar. När de är aktiverade kan du styra exakt vilka typer av interaktioner som aviseras via {icon} -knappen ovan.",
   "notifications_permission_banner.title": "Missa aldrig något",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {1 röst} other {# röster}}",
   "poll.vote": "Rösta",
   "poll.voted": "Du röstade för detta svar",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# röst} other {# röster}}",
   "poll_button.add_poll": "Lägg till en omröstning",
   "poll_button.remove_poll": "Ta bort omröstning",
   "privacy.change": "Justera sekretess",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Laddar…",
   "regeneration_indicator.sublabel": "Ditt hemmaflöde förbereds!",
   "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}tim",
   "relative_time.just_now": "nu",
   "relative_time.minutes": "{number}min",
   "relative_time.seconds": "{number}sek",
   "relative_time.today": "idag",
   "reply_indicator.cancel": "Ångra",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Vidarebefordra till {target}",
   "report.forward_hint": "Kontot är från en annan server. Skicka även en anonymiserad kopia av anmälan dit?",
   "report.hint": "Anmälan skickas till din instans moderatorer. Du kan ge en förklaring till varför du har anmält detta konto nedan:",
@@ -396,9 +407,14 @@
   "status.delete": "Radera",
   "status.detailed_status": "Detaljerad samtalsvy",
   "status.direct": "Direktmeddela @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Bädda in",
   "status.favourite": "Favorit",
   "status.filtered": "Filtrerat",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Ladda fler",
   "status.media_hidden": "Media dold",
   "status.mention": "Omnämn @{name}",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Beskriv för personer med hörsel- eller synnedsättning",
   "upload_modal.analyzing_picture": "Analyserar bild…",
   "upload_modal.apply": "Verkställ",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Verkställer…",
   "upload_modal.choose_image": "Välj bild",
   "upload_modal.description_placeholder": "En snabb brun räv hoppar över den lata hunden",
   "upload_modal.detect_text": "Upptäck bildens text",
diff --git a/app/javascript/mastodon/locales/szl.json b/app/javascript/mastodon/locales/szl.json
index eca4765c4..2675da68c 100644
--- a/app/javascript/mastodon/locales/szl.json
+++ b/app/javascript/mastodon/locales/szl.json
@@ -47,7 +47,8 @@
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
@@ -312,7 +314,7 @@
   "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": "Show",
+  "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:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Show in column",
   "notifications.column_settings.sound": "Play sound",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "All",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favourites",
@@ -362,12 +365,20 @@
   "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.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "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.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "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.filtered": "Filtered",
+  "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}",
diff --git a/app/javascript/mastodon/locales/ta.json b/app/javascript/mastodon/locales/ta.json
index 1b3e70fb6..2e329f270 100644
--- a/app/javascript/mastodon/locales/ta.json
+++ b/app/javascript/mastodon/locales/ta.json
@@ -47,7 +47,8 @@
   "account.unmute": "@{name} இன் மீது மௌனத் தடையை நீக்குக",
   "account.unmute_notifications": "@{name} இலிருந்து அறிவிப்புகளின் மீது மௌனத் தடையை நீக்குக",
   "account_note.placeholder": "குறிப்பு ஒன்றை சேர்க்க சொடுக்கவும்",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "ஒரே ஒரு தேர்வை மட்டும் அனுமதிக்குமாறு மாற்று",
   "compose_form.publish": "டூட்",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "அனைவருக்கும் ஏற்றப் படம் இல்லை எனக் குறியிடு",
   "compose_form.sensitive.marked": "இப்படம் அனைவருக்கும் ஏற்றதல்ல எனக் குறியிடப்பட்டுள்ளது",
   "compose_form.sensitive.unmarked": "இப்படம் அனைவருக்கும் ஏற்றதல்ல எனக் குறியிடப்படவில்லை",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "பிடித்தவை:",
   "notifications.column_settings.filter_bar.advanced": "எல்லா வகைகளையும் காட்டு",
   "notifications.column_settings.filter_bar.category": "விரைவு வடிகட்டி பட்டை",
-  "notifications.column_settings.filter_bar.show": "காட்டு",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "புதிய பின்பற்றுபவர்கள்:",
   "notifications.column_settings.follow_request": "புதிய பின்தொடர் கோரிக்கைகள்:",
   "notifications.column_settings.mention": "குறிப்பிடுகிறது:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "பத்தியில் காண்பி",
   "notifications.column_settings.sound": "ஒலி விளையாட",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "எல்லா",
   "notifications.filter.boosts": "மதிப்பை உயர்த்து",
   "notifications.filter.favourites": "விருப்பத்துக்குகந்த",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "சுமையேற்றம்…",
   "regeneration_indicator.sublabel": "உங்கள் வீட்டு ஊட்டம் தயார் செய்யப்படுகிறது!",
   "relative_time.days": "{number}நா",
+  "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}ம",
   "relative_time.just_now": "இப்பொழுது",
   "relative_time.minutes": "{number}நி",
   "relative_time.seconds": "{number}வி",
   "relative_time.today": "இன்று",
   "reply_indicator.cancel": "எதிராணை",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "முன்னோக்கி {target}",
   "report.forward_hint": "கணக்கு மற்றொரு சேவையகத்திலிருந்து வருகிறது. அறிக்கையின் அநாமதேய பிரதி ஒன்றை அனுப்பவும்.?",
   "report.hint": "அறிக்கை உங்கள் மாதிரியாக மாற்றியமைக்கப்படும். கீழே உள்ள கணக்கை நீங்கள் ஏன் புகாரளிக்கிறீர்கள் என்பதற்கான விளக்கத்தை வழங்கலாம்:",
@@ -396,9 +407,14 @@
   "status.delete": "நீக்கு",
   "status.detailed_status": "விரிவான உரையாடல் காட்சி",
   "status.direct": "நேரடி செய்தி @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "கிடத்து",
   "status.favourite": "விருப்பத்துக்குகந்த",
   "status.filtered": "வடிகட்டு",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "அதிகமாய் ஏற்று",
   "status.media_hidden": "மீடியா மறைக்கப்பட்டது",
   "status.mention": "குறிப்பிடு @{name}",
diff --git a/app/javascript/mastodon/locales/tai.json b/app/javascript/mastodon/locales/tai.json
index 2302e7ccc..6ef519315 100644
--- a/app/javascript/mastodon/locales/tai.json
+++ b/app/javascript/mastodon/locales/tai.json
@@ -47,7 +47,8 @@
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
@@ -312,7 +314,7 @@
   "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": "Show",
+  "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:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Show in column",
   "notifications.column_settings.sound": "Play sound",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "All",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favourites",
@@ -362,12 +365,20 @@
   "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.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "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.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "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.filtered": "Filtered",
+  "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}",
diff --git a/app/javascript/mastodon/locales/te.json b/app/javascript/mastodon/locales/te.json
index 348d753dc..b84ee23ec 100644
--- a/app/javascript/mastodon/locales/te.json
+++ b/app/javascript/mastodon/locales/te.json
@@ -47,7 +47,8 @@
   "account.unmute": "@{name}పై మ్యూట్ ని తొలగించు",
   "account.unmute_notifications": "@{name} నుంచి ప్రకటనలపై మ్యూట్ ని తొలగించు",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
   "compose_form.publish": "టూట్",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
   "compose_form.sensitive.marked": "మీడియా సున్నితమైనదిగా గుర్తించబడింది",
   "compose_form.sensitive.unmarked": "మీడియా సున్నితమైనదిగా గుర్తించబడలేదు",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "ఇష్టపడినవి:",
   "notifications.column_settings.filter_bar.advanced": "అన్ని విభాగాలను చూపించు",
   "notifications.column_settings.filter_bar.category": "క్విక్ ఫిల్టర్ బార్",
-  "notifications.column_settings.filter_bar.show": "చూపించు",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "క్రొత్త అనుచరులు:",
   "notifications.column_settings.follow_request": "New follow requests:",
   "notifications.column_settings.mention": "ప్రస్తావనలు:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "నిలువు వరుసలో చూపు",
   "notifications.column_settings.sound": "ధ్వనిని ప్లే చేయి",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "అన్నీ",
   "notifications.filter.boosts": "బూస్ట్లు",
   "notifications.filter.favourites": "ఇష్టాలు",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "లోడ్ అవుతోంది…",
   "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.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": "ఇప్పుడు",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "today",
   "reply_indicator.cancel": "రద్దు చెయ్యి",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "{target}కి ఫార్వార్డ్ చేయండి",
   "report.forward_hint": "ఖాతా మరొక సర్వర్లో ఉంది. నివేదిక యొక్క ఒక అనామకంగా ఉన్న కాపీని అక్కడికి కూడా పంపించమంటారా?",
   "report.hint": "మీ సేవిక మోడరేటర్లకు నివేదిక పంపబడుతుంది. ఈ ఖాతాను ఎందుకు నివేదిస్తున్నారనేదాని వివరణను మీరు దిగువన అందించవచ్చు:",
@@ -396,9 +407,14 @@
   "status.delete": "తొలగించు",
   "status.detailed_status": "వివరణాత్మక సంభాషణ వీక్షణ",
   "status.direct": "@{name}కు నేరుగా సందేశం పంపు",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "ఎంబెడ్",
   "status.favourite": "ఇష్టపడు",
   "status.filtered": "వడకట్టబడిన",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "మరిన్ని లోడ్ చేయి",
   "status.media_hidden": "మీడియా దాచబడింది",
   "status.mention": "@{name}ను ప్రస్తావించు",
diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json
index 90b8ba464..27bcbc4bb 100644
--- a/app/javascript/mastodon/locales/th.json
+++ b/app/javascript/mastodon/locales/th.json
@@ -13,7 +13,7 @@
   "account.domain_blocked": "ปิดกั้นโดเมนอยู่",
   "account.edit_profile": "แก้ไขโปรไฟล์",
   "account.enable_notifications": "แจ้งเตือนฉันเมื่อ @{name} โพสต์",
-  "account.endorse": "แสดงให้เห็นในโปรไฟล์",
+  "account.endorse": "แนะนำในโปรไฟล์",
   "account.follow": "ติดตาม",
   "account.followers": "ผู้ติดตาม",
   "account.followers.empty": "ยังไม่มีใครติดตามผู้ใช้นี้",
@@ -42,21 +42,22 @@
   "account.statuses_counter": "{count, plural, other {{counter} โพสต์}}",
   "account.unblock": "เลิกปิดกั้น @{name}",
   "account.unblock_domain": "เลิกปิดกั้นโดเมน {domain}",
-  "account.unendorse": "ไม่แสดงให้เห็นในโปรไฟล์",
+  "account.unendorse": "ไม่แนะนำในโปรไฟล์",
   "account.unfollow": "เลิกติดตาม",
   "account.unmute": "เลิกซ่อน @{name}",
   "account.unmute_notifications": "เลิกซ่อนการแจ้งเตือนจาก @{name}",
   "account_note.placeholder": "คลิกเพื่อเพิ่มหมายเหตุ",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "ค่าเฉลี่ย",
+  "admin.dashboard.retention.cohort": "เดือนที่ลงทะเบียน",
+  "admin.dashboard.retention.cohort_size": "ผู้ใช้ใหม่",
   "alert.rate_limited.message": "โปรดลองใหม่หลังจาก {retry_time, time, medium}",
   "alert.rate_limited.title": "มีการจำกัดอัตรา",
   "alert.unexpected.message": "เกิดข้อผิดพลาดที่ไม่คาดคิด",
   "alert.unexpected.title": "อุปส์!",
   "announcement.announcement": "ประกาศ",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(ยังไม่ได้ประมวลผล)",
   "autosuggest_hashtag.per_week": "{count} ต่อสัปดาห์",
   "boost_modal.combo": "คุณสามารถกด {combo} เพื่อข้ามสิ่งนี้ในครั้งถัดไป",
   "bundle_column_error.body": "มีบางอย่างผิดพลาดขณะโหลดส่วนประกอบนี้",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "เปลี่ยนการสำรวจความคิดเห็นเป็นอนุญาตตัวเลือกเดี่ยว",
   "compose_form.publish": "โพสต์",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, other {ทำเครื่องหมายสื่อว่าละเอียดอ่อน}}",
   "compose_form.sensitive.marked": "{count, plural, other {มีการทำเครื่องหมายสื่อว่าละเอียดอ่อน}}",
   "compose_form.sensitive.unmarked": "{count, plural, other {ไม่มีการทำเครื่องหมายสื่อว่าละเอียดอ่อน}}",
@@ -118,8 +120,8 @@
   "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.discard_edit_media.confirm": "ละทิ้ง",
+  "confirmations.discard_edit_media.message": "คุณมีการเปลี่ยนแปลงคำอธิบายหรือตัวอย่างสื่อที่ยังไม่ได้บันทึก ละทิ้งการเปลี่ยนแปลงต่อไป?",
   "confirmations.domain_block.confirm": "ปิดกั้นทั้งโดเมน",
   "confirmations.domain_block.message": "คุณแน่ใจจริง ๆ หรือไม่ว่าต้องการปิดกั้นทั้ง {domain}? ในกรณีส่วนใหญ่ การปิดกั้นหรือการซ่อนแบบกำหนดเป้าหมายไม่กี่รายการนั้นเพียงพอและเป็นที่นิยม คุณจะไม่เห็นเนื้อหาจากโดเมนนั้นในเส้นเวลาสาธารณะใด ๆ หรือการแจ้งเตือนของคุณ จะเอาผู้ติดตามของคุณจากโดเมนนั้นออก",
   "confirmations.logout.confirm": "ออกจากระบบ",
@@ -137,7 +139,7 @@
   "conversation.mark_as_read": "ทำเครื่องหมายว่าอ่านแล้ว",
   "conversation.open": "ดูการสนทนา",
   "conversation.with": "กับ {names}",
-  "directory.federated": "จากเฟดิเวิร์สที่รู้จัก",
+  "directory.federated": "จากจักรวาลสหพันธ์ที่รู้จัก",
   "directory.local": "จาก {domain} เท่านั้น",
   "directory.new_arrivals": "มาใหม่",
   "directory.recently_active": "ใช้งานล่าสุด",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "รายการโปรด:",
   "notifications.column_settings.filter_bar.advanced": "แสดงหมวดหมู่ทั้งหมด",
   "notifications.column_settings.filter_bar.category": "แถบตัวกรองด่วน",
-  "notifications.column_settings.filter_bar.show": "แสดง",
+  "notifications.column_settings.filter_bar.show_bar": "แสดงแถบตัวกรอง",
   "notifications.column_settings.follow": "ผู้ติดตามใหม่:",
   "notifications.column_settings.follow_request": "คำขอติดตามใหม่:",
   "notifications.column_settings.mention": "การกล่าวถึง:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "แสดงในคอลัมน์",
   "notifications.column_settings.sound": "เล่นเสียง",
   "notifications.column_settings.status": "โพสต์ใหม่:",
-  "notifications.column_settings.unread_markers.category": "เครื่องหมายการแจ้งเตือนที่ยังไม่ได้อ่าน",
+  "notifications.column_settings.unread_notifications.category": "การแจ้งเตือนที่ยังไม่ได้อ่าน",
+  "notifications.column_settings.unread_notifications.highlight": "เน้นการแจ้งเตือนที่ยังไม่ได้อ่าน",
   "notifications.filter.all": "ทั้งหมด",
   "notifications.filter.boosts": "การดัน",
   "notifications.filter.favourites": "รายการโปรด",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, other {# การลงคะแนน}}",
   "poll.vote": "ลงคะแนน",
   "poll.voted": "คุณได้ลงคะแนนให้กับคำตอบนี้",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, other {# การลงคะแนน}}",
   "poll_button.add_poll": "เพิ่มการสำรวจความคิดเห็น",
   "poll_button.remove_poll": "เอาการสำรวจความคิดเห็นออก",
   "privacy.change": "เปลี่ยนความเป็นส่วนตัวของโพสต์",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "กำลังโหลด…",
   "regeneration_indicator.sublabel": "กำลังเตรียมฟีดหน้าแรกของคุณ!",
   "relative_time.days": "{number} วัน",
+  "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} ชั่วโมง",
   "relative_time.just_now": "ตอนนี้",
   "relative_time.minutes": "{number} นาที",
   "relative_time.seconds": "{number} วินาที",
   "relative_time.today": "วันนี้",
   "reply_indicator.cancel": "ยกเลิก",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "ส่งต่อไปยัง {target}",
   "report.forward_hint": "บัญชีมาจากเซิร์ฟเวอร์อื่น ส่งสำเนาของรายงานที่ไม่ระบุตัวตนไปที่นั่นด้วย?",
   "report.hint": "จะส่งรายงานไปยังผู้ควบคุมเซิร์ฟเวอร์ของคุณ คุณสามารถให้คำอธิบายเหตุผลที่คุณรายงานบัญชีนี้ได้ด้านล่าง:",
@@ -396,9 +407,14 @@
   "status.delete": "ลบ",
   "status.detailed_status": "มุมมองการสนทนาโดยละเอียด",
   "status.direct": "ส่งข้อความโดยตรงถึง @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "ฝัง",
   "status.favourite": "ชื่นชอบ",
   "status.filtered": "กรองอยู่",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "โหลดเพิ่มเติม",
   "status.media_hidden": "ซ่อนสื่ออยู่",
   "status.mention": "กล่าวถึง @{name}",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "อธิบายสำหรับผู้สูญเสียการได้ยินหรือบกพร่องทางการมองเห็น",
   "upload_modal.analyzing_picture": "กำลังวิเคราะห์รูปภาพ…",
   "upload_modal.apply": "นำไปใช้",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "กำลังนำไปใช้…",
   "upload_modal.choose_image": "เลือกภาพ",
   "upload_modal.description_placeholder": "สุนัขจิ้งจอกสีน้ำตาลที่ว่องไวกระโดดข้ามสุนัขขี้เกียจ",
   "upload_modal.detect_text": "ตรวจหาข้อความจากรูปภาพ",
diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json
index 2ae8a908a..a8c602caa 100644
--- a/app/javascript/mastodon/locales/tr.json
+++ b/app/javascript/mastodon/locales/tr.json
@@ -47,16 +47,17 @@
   "account.unmute": "@{name} adlı kişinin sesini aç",
   "account.unmute_notifications": "@{name} adlı kişinin bildirimlerini aç",
   "account_note.placeholder": "Not eklemek için tıklayın",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Ortalama",
+  "admin.dashboard.retention.cohort": "Kayıt ayı",
+  "admin.dashboard.retention.cohort_size": "Yeni kullanıcılar",
   "alert.rate_limited.message": "Lütfen {retry_time, time, medium} süresinden sonra tekrar deneyin.",
   "alert.rate_limited.title": "Oran sınırlıdır",
   "alert.unexpected.message": "Beklenmedik bir hata oluştu.",
   "alert.unexpected.title": "Hay aksi!",
   "announcement.announcement": "Duyuru",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(işlenmemiş)",
   "autosuggest_hashtag.per_week": "Haftada {count}",
   "boost_modal.combo": "Bir daha ki sefere {combo} tuşuna basabilirsin",
   "bundle_column_error.body": "Bu bileşen yüklenirken bir şeyler ters gitti.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Tek bir seçeneğe izin vermek için anketi değiştir",
   "compose_form.publish": "Tootla",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Medyayı hassas olarak işaretle} other {Medyayı hassas olarak işaretle}}",
   "compose_form.sensitive.marked": "{count, plural, one {Medya hassas olarak işaretlendi} other {Medya hassas olarak işaretlendi}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Medya hassas olarak işaretlenmemiş} other {Medya hassas olarak işaretlenmemiş}}",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "Bu tootu silmek istediğinden emin misin?",
   "confirmations.delete_list.confirm": "Sil",
   "confirmations.delete_list.message": "Bu listeyi kalıcı olarak silmek istediğinden emin misin?",
-  "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.discard_edit_media.confirm": "Vazgeç",
+  "confirmations.discard_edit_media.message": "Ortam 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.logout.confirm": "Oturumu kapat",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Beğeniler:",
   "notifications.column_settings.filter_bar.advanced": "Tüm kategorileri görüntüle",
   "notifications.column_settings.filter_bar.category": "Hızlı filtre çubuğu",
-  "notifications.column_settings.filter_bar.show": "Göster",
+  "notifications.column_settings.filter_bar.show_bar": "Süzme çubuğunu göster",
   "notifications.column_settings.follow": "Yeni takipçiler:",
   "notifications.column_settings.follow_request": "Yeni takip istekleri:",
   "notifications.column_settings.mention": "Bahsetmeler:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Sütunda göster",
   "notifications.column_settings.sound": "Ses çal",
   "notifications.column_settings.status": "Yeni gönderiler:",
-  "notifications.column_settings.unread_markers.category": "Okunmamış bildirim işaretleri",
+  "notifications.column_settings.unread_notifications.category": "Okunmamış bildirimler",
+  "notifications.column_settings.unread_notifications.highlight": "Okunmamış bildirimleri öne çıkar",
   "notifications.filter.all": "Tümü",
   "notifications.filter.boosts": "Boostlar",
   "notifications.filter.favourites": "Beğeniler",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# oy} other {# oy}}",
   "poll.vote": "Oy ver",
   "poll.voted": "Bu cevap için oy kullandınız",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# oy} other {# oy}}",
   "poll_button.add_poll": "Bir anket ekleyin",
   "poll_button.remove_poll": "Anketi kaldır",
   "privacy.change": "Gönderi gizliliğini değiştir",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Yükleniyor…",
   "regeneration_indicator.sublabel": "Ana akışın hazırlanıyor!",
   "relative_time.days": "{number}g",
+  "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}sa",
   "relative_time.just_now": "şimdi",
   "relative_time.minutes": "{number}dk",
   "relative_time.seconds": "{number}sn",
   "relative_time.today": "bugün",
   "reply_indicator.cancel": "İptal",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "{target} ilet",
   "report.forward_hint": "Hesap başka bir sunucudan. Raporun anonim bir kopyası da oraya gönderilsin mi?",
   "report.hint": "Bu rapor sunucu moderatörlerine gönderilecek. Bu hesabı neden bildirdiğiniz hakkında bilgi verebirsiniz:",
@@ -396,9 +407,14 @@
   "status.delete": "Sil",
   "status.detailed_status": "Ayrıntılı sohbet görünümü",
   "status.direct": "@{name} adlı kişiye direkt mesaj",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Gömülü",
   "status.favourite": "Beğen",
   "status.filtered": "Filtrelenmiş",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Daha fazlasını yükle",
   "status.media_hidden": "Medya gizli",
   "status.mention": "@{name} kişisinden bahset",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "İşitme kaybı veya görme engeli olan kişiler için tarif edin",
   "upload_modal.analyzing_picture": "Resim analiz ediliyor…",
   "upload_modal.apply": "Uygula",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Uygulanıyor…",
   "upload_modal.choose_image": "Resim seç",
   "upload_modal.description_placeholder": "Pijamalı hasta yağız şoföre çabucak güvendi",
   "upload_modal.detect_text": "Resimdeki metni algıla",
diff --git a/app/javascript/mastodon/locales/tt.json b/app/javascript/mastodon/locales/tt.json
index 456c5f72d..e66a7d4e1 100644
--- a/app/javascript/mastodon/locales/tt.json
+++ b/app/javascript/mastodon/locales/tt.json
@@ -47,7 +47,8 @@
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
@@ -312,7 +314,7 @@
   "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": "Күрсәтү",
+  "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:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Show in column",
   "notifications.column_settings.sound": "Play sound",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "Бөтенесе",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favourites",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Йөкләү...",
   "regeneration_indicator.sublabel": "Your home feed is being prepared!",
   "relative_time.days": "{number}к",
+  "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}с",
   "relative_time.just_now": "хәзер",
   "relative_time.minutes": "{number}м",
   "relative_time.seconds": "{number}сек",
   "relative_time.today": "бүген",
   "reply_indicator.cancel": "Баш тарту",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "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.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "status.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.filtered": "Filtered",
+  "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}",
diff --git a/app/javascript/mastodon/locales/ug.json b/app/javascript/mastodon/locales/ug.json
index eca4765c4..2675da68c 100644
--- a/app/javascript/mastodon/locales/ug.json
+++ b/app/javascript/mastodon/locales/ug.json
@@ -47,7 +47,8 @@
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
@@ -312,7 +314,7 @@
   "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": "Show",
+  "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:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Show in column",
   "notifications.column_settings.sound": "Play sound",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "All",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favourites",
@@ -362,12 +365,20 @@
   "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.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "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.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "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.filtered": "Filtered",
+  "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}",
diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json
index 808701957..5adbd832b 100644
--- a/app/javascript/mastodon/locales/uk.json
+++ b/app/javascript/mastodon/locales/uk.json
@@ -47,16 +47,17 @@
   "account.unmute": "Зняти глушення з @{name}",
   "account.unmute_notifications": "Показувати сповіщення від @{name}",
   "account_note.placeholder": "Коментарі відсутні",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Середнє",
+  "admin.dashboard.retention.cohort": "Місяць реєстрації",
+  "admin.dashboard.retention.cohort_size": "Нові користувачі",
   "alert.rate_limited.message": "Спробуйте ще раз через {retry_time, time, medium}.",
   "alert.rate_limited.title": "Швидкість обмежена",
   "alert.unexpected.message": "Трапилась неочікувана помилка.",
   "alert.unexpected.title": "Ой!",
   "announcement.announcement": "Оголошення",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(не оброблено)",
   "autosuggest_hashtag.per_week": "{count} в тиждень",
   "boost_modal.combo": "Ви можете натиснути {combo}, щоб пропустити це наступного разу",
   "bundle_column_error.body": "Щось пішло не так під час завантаження компоненту.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Перемкнути у режим вибору однієї відповіді",
   "compose_form.publish": "Дмухнути",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Позначити медіа делікатним} other {Позначити медіа делікатними}}",
   "compose_form.sensitive.marked": "{count, plural, one {Медіа позначене делікатним} other {Медіа позначені делікатними}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Медіа не позначене делікатним} other {Медіа не позначені делікатними}}",
@@ -118,8 +120,8 @@
   "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.discard_edit_media.confirm": "Відкинути",
+  "confirmations.discard_edit_media.message": "У вас є незбережені зміни в описі медіа або попереднього перегляду, все одно відкинути їх?",
   "confirmations.domain_block.confirm": "Сховати весь домен",
   "confirmations.domain_block.message": "Ви точно, точно впевнені, що хочете заблокувати весь домен {domain}? У більшості випадків для нормальної роботи краще заблокувати/заглушити лише деяких користувачів. Ви не зможете бачити контент з цього домену у будь-яких стрічках або ваших сповіщеннях. Ваші підписники з цього домену будуть відписані від вас.",
   "confirmations.logout.confirm": "Вийти",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Вподобане:",
   "notifications.column_settings.filter_bar.advanced": "Показати всі категорії",
   "notifications.column_settings.filter_bar.category": "Панель швидкого фільтру",
-  "notifications.column_settings.filter_bar.show": "Показати",
+  "notifications.column_settings.filter_bar.show_bar": "Показати панель фільтра",
   "notifications.column_settings.follow": "Нові підписники:",
   "notifications.column_settings.follow_request": "Нові запити на підписку:",
   "notifications.column_settings.mention": "Згадки:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Показати в колонці",
   "notifications.column_settings.sound": "Відтворювати звуки",
   "notifications.column_settings.status": "Нові дмухи:",
-  "notifications.column_settings.unread_markers.category": "Мітки непрочитаних сповіщень",
+  "notifications.column_settings.unread_notifications.category": "Непрочитані сповіщення",
+  "notifications.column_settings.unread_notifications.highlight": "Виділити непрочитані сповіщення",
   "notifications.filter.all": "Усі",
   "notifications.filter.boosts": "Передмухи",
   "notifications.filter.favourites": "Улюблені",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# голос} few {# голоси} many {# голосів} other {# голосів}}",
   "poll.vote": "Проголосувати",
   "poll.voted": "Ви голосували за цю відповідь",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# голос} few {# голоси} many {# голосів} other {# голоса}}",
   "poll_button.add_poll": "Додати опитування",
   "poll_button.remove_poll": "Видалити опитування",
   "privacy.change": "Змінити видимість допису",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Завантаження…",
   "regeneration_indicator.sublabel": "Ваша домашня стрічка готується!",
   "relative_time.days": "{number}д",
+  "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}г",
   "relative_time.just_now": "щойно",
   "relative_time.minutes": "{number}х",
   "relative_time.seconds": "{number}с",
   "relative_time.today": "сьогодні",
   "reply_indicator.cancel": "Відмінити",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Надіслати до {target}",
   "report.forward_hint": "Це акаунт з іншого серверу. Відправити анонімізовану копію скарги і туди?",
   "report.hint": "Скаргу буде відправлено модераторам Вашого сайту. Ви можете надати їм пояснення, чому ви скаржитесь на акаунт нижче:",
@@ -396,9 +407,14 @@
   "status.delete": "Видалити",
   "status.detailed_status": "Детальний вигляд бесіди",
   "status.direct": "Пряме повідомлення до @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Вбудувати",
   "status.favourite": "Подобається",
   "status.filtered": "Відфільтровано",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Завантажити більше",
   "status.media_hidden": "Медіа приховано",
   "status.mention": "Згадати @{name}",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Опишіть для людей із вадами слуху або зору",
   "upload_modal.analyzing_picture": "Аналізуємо малюнок…",
   "upload_modal.apply": "Застосувати",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Застосування…",
   "upload_modal.choose_image": "Вибрати зображення",
   "upload_modal.description_placeholder": "Щурячий бугай із їжаком-харцизом в'ючись підписали ґешефт у єнах",
   "upload_modal.detect_text": "Виявити текст на малюнку",
diff --git a/app/javascript/mastodon/locales/ur.json b/app/javascript/mastodon/locales/ur.json
index 55f6856d2..e029f074c 100644
--- a/app/javascript/mastodon/locales/ur.json
+++ b/app/javascript/mastodon/locales/ur.json
@@ -47,7 +47,8 @@
   "account.unmute": "@{name} کو با آواز کریں",
   "account.unmute_notifications": "@{name} سے اطلاعات کو با آواز کریں",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "کسی ایک انتخاب کے لیے پول تبدیل کریں",
   "compose_form.publish": "ٹوٹ",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "وسائل کو حساس نشاندہ کریں",
   "compose_form.sensitive.marked": "وسائل حساس نشاندہ ہے",
   "compose_form.sensitive.unmarked": "{count, plural, one {میڈیا کو حساس کے طور پر نشان زد نہیں کیا گیا ہے} other {میڈیا کو حساس کے طور پر نشان زد نہیں کیا گیا ہے}}",
@@ -312,7 +314,7 @@
   "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": "Show",
+  "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:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Show in column",
   "notifications.column_settings.sound": "Play sound",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "All",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favourites",
@@ -362,12 +365,20 @@
   "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.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "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.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "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.filtered": "Filtered",
+  "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}",
diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json
index 9922707be..f5620638a 100644
--- a/app/javascript/mastodon/locales/vi.json
+++ b/app/javascript/mastodon/locales/vi.json
@@ -47,16 +47,17 @@
   "account.unmute": "Bỏ ẩn @{name}",
   "account.unmute_notifications": "Mở lại thông báo từ @{name}",
   "account_note.placeholder": "Nhấn để thêm",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Trung bình",
+  "admin.dashboard.retention.cohort": "Đăng ký tháng",
+  "admin.dashboard.retention.cohort_size": "Người dùng mới",
   "alert.rate_limited.message": "Vui lòng thử lại sau {retry_time, time, medium}.",
   "alert.rate_limited.title": "Vượt giới hạn",
   "alert.unexpected.message": "Đã xảy ra lỗi không mong muốn.",
   "alert.unexpected.title": "Ốiii!",
   "announcement.announcement": "Thông báo chung",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(chưa xử lí)",
   "autosuggest_hashtag.per_week": "{count} mỗi tuần",
   "boost_modal.combo": "Nhấn {combo} để chia sẻ nhanh hơn",
   "bundle_column_error.body": "Đã có lỗi xảy ra trong khi tải nội dung này.",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Chỉ cho phép chọn duy nhất một lựa chọn",
   "compose_form.publish": "Đăng tút",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, other {Đánh dấu nội dung nhạy cảm}}",
   "compose_form.sensitive.marked": "{count, plural, other {Nội dung này nhạy cảm}}",
   "compose_form.sensitive.unmarked": "{count, plural, other {Nội dung này bình thường}}",
@@ -118,8 +120,8 @@
   "confirmations.delete.message": "Bạn \bthật sự muốn xóa tút này?",
   "confirmations.delete_list.confirm": "Xóa bỏ",
   "confirmations.delete_list.message": "Bạn thật sự muốn xóa vĩnh viễn danh sách này?",
-  "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.discard_edit_media.confirm": "Bỏ qua",
+  "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.logout.confirm": "Đăng xuất",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "Lượt thích:",
   "notifications.column_settings.filter_bar.advanced": "Toàn bộ",
   "notifications.column_settings.filter_bar.category": "Phân loại",
-  "notifications.column_settings.filter_bar.show": "Lượt nhắc",
+  "notifications.column_settings.filter_bar.show_bar": "Hiện bộ lọc",
   "notifications.column_settings.follow": "Người theo dõi mới:",
   "notifications.column_settings.follow_request": "Yêu cầu theo dõi mới:",
   "notifications.column_settings.mention": "Lượt nhắc đến:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Thông báo trên thanh menu",
   "notifications.column_settings.sound": "Kèm theo tiếng \"bíp\"",
   "notifications.column_settings.status": "Tút mới:",
-  "notifications.column_settings.unread_markers.category": "Đánh dấu những thông báo chưa đọc",
+  "notifications.column_settings.unread_notifications.category": "Thông báo chưa đọc",
+  "notifications.column_settings.unread_notifications.highlight": "Nổi bật thông báo chưa đọc",
   "notifications.filter.all": "Toàn bộ",
   "notifications.filter.boosts": "Chia sẻ",
   "notifications.filter.favourites": "Thích",
@@ -346,11 +349,11 @@
   "poll.total_votes": "{count, plural, other {# người bình chọn}}",
   "poll.vote": "Bình chọn",
   "poll.voted": "Bạn đã bình chọn rồi",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, other {# lượt bình chọn}}",
   "poll_button.add_poll": "Tạo bình chọn",
   "poll_button.remove_poll": "Hủy cuộc bình chọn",
   "privacy.change": "Thay đổi quyền riêng tư",
-  "privacy.direct.long": "Gửi trực tiếp cho người được nhắc đến",
+  "privacy.direct.long": "Chỉ người được nhắc đến mới thấy",
   "privacy.direct.short": "Tin nhắn",
   "privacy.private.long": "Dành riêng cho người theo dõi",
   "privacy.private.short": "Riêng tư",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "Đang tải…",
   "regeneration_indicator.sublabel": "Bảng tin của bạn đang được cập nhật!",
   "relative_time.days": "{number} ngày",
+  "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} giờ",
   "relative_time.just_now": "vừa xong",
   "relative_time.minutes": "{number} phút",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "hôm nay",
   "reply_indicator.cancel": "Hủy bỏ",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "Chuyển đến {target}",
   "report.forward_hint": "Người này thuộc máy chủ khác. Gửi một báo cáo ẩn danh tới máy chủ đó?",
   "report.hint": "Hãy cho quản trị viên biết lý do vì sao bạn báo cáo người này:",
@@ -396,9 +407,14 @@
   "status.delete": "Xóa",
   "status.detailed_status": "Xem chi tiết thêm",
   "status.direct": "Nhắn tin @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Nhúng",
   "status.favourite": "Thích",
   "status.filtered": "Bộ lọc",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "Xem thêm",
   "status.media_hidden": "Đã ẩn",
   "status.mention": "Nhắc đến @{name}",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "Mô tả cho người mất thị lực hoặc không thể nghe",
   "upload_modal.analyzing_picture": "Phân tích hình ảnh",
   "upload_modal.apply": "Áp dụng",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Đang áp dụng…",
   "upload_modal.choose_image": "Chọn ảnh",
   "upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
   "upload_modal.detect_text": "Trích văn bản từ trong ảnh",
diff --git a/app/javascript/mastodon/locales/zgh.json b/app/javascript/mastodon/locales/zgh.json
index 22f6823fe..bc9b8bc83 100644
--- a/app/javascript/mastodon/locales/zgh.json
+++ b/app/javascript/mastodon/locales/zgh.json
@@ -47,7 +47,8 @@
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
   "account_note.placeholder": "Click to add a note",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
   "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
@@ -312,7 +314,7 @@
   "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": "Show",
+  "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:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "Show in column",
   "notifications.column_settings.sound": "ⵖⵔ ⵉⵎⵙⵍⵉ",
   "notifications.column_settings.status": "New toots:",
-  "notifications.column_settings.unread_markers.category": "Unread notification markers",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "ⴰⴽⴽⵯ",
   "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favourites",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "ⴰⵣⴷⴰⵎ…",
   "regeneration_indicator.sublabel": "Your home feed is being prepared!",
   "relative_time.days": "{number}ⴰⵙ",
+  "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}ⵙⵔⴳ",
   "relative_time.just_now": "ⴷⵖⵉ",
   "relative_time.minutes": "{number}ⵙⴷ",
   "relative_time.seconds": "{number}ⵙⵏ",
   "relative_time.today": "ⴰⵙⵙⴰ",
   "reply_indicator.cancel": "ⵙⵔ",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "ⵙⵙⵉⴼⴹ ⵉ {target}",
   "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
   "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
@@ -396,9 +407,14 @@
   "status.delete": "ⴽⴽⵙ",
   "status.detailed_status": "Detailed conversation view",
   "status.direct": "ⵜⵓⵣⵉⵏⵜ ⵜⵓⵙⵔⵉⴷⵜ ⵉ @{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.filtered": "Filtered",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "ⵙⵙⵉⵍⵉ ⵓⴳⴳⴰⵔ",
   "status.media_hidden": "Media hidden",
   "status.mention": "Mention @{name}",
diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json
index 286d54fb8..cb971126e 100644
--- a/app/javascript/mastodon/locales/zh-CN.json
+++ b/app/javascript/mastodon/locales/zh-CN.json
@@ -47,16 +47,17 @@
   "account.unmute": "不再隐藏 @{name}",
   "account.unmute_notifications": "不再隐藏来自 @{name} 的通知",
   "account_note.placeholder": "点击添加备注",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "平均",
+  "admin.dashboard.retention.cohort": "注册月",
+  "admin.dashboard.retention.cohort_size": "新用户",
   "alert.rate_limited.message": "请在{retry_time, time, medium}后重试。",
   "alert.rate_limited.title": "频率受限",
   "alert.unexpected.message": "发生了意外错误。",
   "alert.unexpected.title": "哎呀!",
   "announcement.announcement": "公告",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(未处理)",
   "autosuggest_hashtag.per_week": "每星期 {count} 条",
   "boost_modal.combo": "下次按住 {combo} 即可跳过此提示",
   "bundle_column_error.body": "载入这个组件时发生了错误。",
@@ -83,9 +84,9 @@
   "column_header.hide_settings": "隐藏设置",
   "column_header.moveLeft_settings": "将此栏左移",
   "column_header.moveRight_settings": "将此栏右移",
-  "column_header.pin": "固定",
+  "column_header.pin": "置顶",
   "column_header.show_settings": "显示设置",
-  "column_header.unpin": "取消固定",
+  "column_header.unpin": "取消置顶",
   "column_subheading.settings": "设置",
   "community.column_settings.local_only": "只显示本站",
   "community.column_settings.media_only": "仅媒体",
@@ -96,7 +97,7 @@
   "compose_form.lock_disclaimer": "你的帐户没有{locked}。任何人都可以在关注你后立即查看仅关注者可见的嘟文。",
   "compose_form.lock_disclaimer.lock": "开启保护",
   "compose_form.placeholder": "在想啥?",
-  "compose_form.poll.add_option": "添加一个选项",
+  "compose_form.poll.add_option": "添加选项",
   "compose_form.poll.duration": "投票持续时间",
   "compose_form.poll.option_placeholder": "选项 {number}",
   "compose_form.poll.remove_option": "移除这个选项",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "将投票改为单选",
   "compose_form.publish": "嘟嘟",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "标记媒体为敏感内容",
   "compose_form.sensitive.marked": "媒体已被标记为敏感内容",
   "compose_form.sensitive.unmarked": "媒体未被标记为敏感内容",
@@ -118,8 +120,8 @@
   "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.discard_edit_media.confirm": "丢弃",
+  "confirmations.discard_edit_media.message": "您还有未保存的媒体描述或预览修改,仍然丢弃它们吗?",
   "confirmations.domain_block.confirm": "隐藏整个网站的内容",
   "confirmations.domain_block.message": "你真的确定要屏蔽所有来自 {domain} 的内容吗?多数情况下,屏蔽或隐藏几个特定的用户就已经足够了。来自该网站的内容将不再出现在你的任何公共时间轴或通知列表里。来自该网站的关注者将会被移除。",
   "confirmations.logout.confirm": "登出",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "当你的嘟文被喜欢时:",
   "notifications.column_settings.filter_bar.advanced": "显示所有类别",
   "notifications.column_settings.filter_bar.category": "快速过滤栏",
-  "notifications.column_settings.filter_bar.show": "显示",
+  "notifications.column_settings.filter_bar.show_bar": "显示过滤栏",
   "notifications.column_settings.follow": "当有人关注你时:",
   "notifications.column_settings.follow_request": "新的关注请求:",
   "notifications.column_settings.mention": "当有人在嘟文中提及你时:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "在通知栏显示",
   "notifications.column_settings.sound": "播放音效",
   "notifications.column_settings.status": "新嘟文:",
-  "notifications.column_settings.unread_markers.category": "未读通知标记",
+  "notifications.column_settings.unread_notifications.category": "未读通知",
+  "notifications.column_settings.unread_notifications.highlight": "高亮显示未读通知",
   "notifications.filter.all": "全部",
   "notifications.filter.boosts": "转嘟",
   "notifications.filter.favourites": "喜欢",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count} 票",
   "poll.vote": "投票",
   "poll.voted": "你已经对这个答案投过票了",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# 票} other {# 票}}",
   "poll_button.add_poll": "发起投票",
   "poll_button.remove_poll": "移除投票",
   "privacy.change": "设置嘟文的可见范围",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "加载中……",
   "regeneration_indicator.sublabel": "你的主页动态正在准备中!",
   "relative_time.days": "{number}天",
+  "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}时",
   "relative_time.just_now": "刚刚",
   "relative_time.minutes": "{number}分",
   "relative_time.seconds": "{number}秒",
   "relative_time.today": "今天",
   "reply_indicator.cancel": "取消",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "转发举报至 {target}",
   "report.forward_hint": "这名用户来自另一个服务器。是否要向那个服务器发送一条匿名的举报?",
   "report.hint": "举报将会发送给你所在服务器的监察员。你可以在下面填写举报该用户的理由:",
@@ -396,9 +407,14 @@
   "status.delete": "删除",
   "status.detailed_status": "对话详情",
   "status.direct": "发送私信给 @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "嵌入",
   "status.favourite": "喜欢",
   "status.filtered": "已过滤",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "加载更多",
   "status.media_hidden": "已隐藏的媒体内容",
   "status.mention": "提及 @{name}",
@@ -422,7 +438,7 @@
   "status.share": "分享",
   "status.show_less": "隐藏内容",
   "status.show_less_all": "隐藏所有内容",
-  "status.show_more": "显示内容",
+  "status.show_more": "显示更多",
   "status.show_more_all": "显示所有内容",
   "status.show_thread": "显示全部对话",
   "status.uncached_media_warning": "暂不可用",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "为听障人士和视障人士添加文字描述",
   "upload_modal.analyzing_picture": "分析图片…",
   "upload_modal.apply": "应用",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "正在应用…",
   "upload_modal.choose_image": "选择图像",
   "upload_modal.description_placeholder": "天地玄黄 宇宙洪荒 日月盈仄 辰宿列张",
   "upload_modal.detect_text": "从图片中检测文本",
diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json
index e93c81f94..bd6666b15 100644
--- a/app/javascript/mastodon/locales/zh-HK.json
+++ b/app/javascript/mastodon/locales/zh-HK.json
@@ -47,7 +47,8 @@
   "account.unmute": "取消 @{name} 的靜音",
   "account.unmute_notifications": "取消來自 @{name} 通知的靜音",
   "account_note.placeholder": "按此添加備注",
-  "admin.dashboard.retention": "Retention",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
   "admin.dashboard.retention.cohort_size": "New users",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "變更投票為限定單一選項",
   "compose_form.publish": "發文",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "標記媒體為敏感內容",
   "compose_form.sensitive.marked": "媒體被標示為敏感",
   "compose_form.sensitive.unmarked": "媒體沒有被標示為敏感",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "你最愛的文章:",
   "notifications.column_settings.filter_bar.advanced": "顯示所有分類",
   "notifications.column_settings.filter_bar.category": "快速過濾欄",
-  "notifications.column_settings.filter_bar.show": "顯示",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
   "notifications.column_settings.follow": "關注你:",
   "notifications.column_settings.follow_request": "新的關注請求:",
   "notifications.column_settings.mention": "提及你:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "在通知欄顯示",
   "notifications.column_settings.sound": "播放音效",
   "notifications.column_settings.status": "新的文章",
-  "notifications.column_settings.unread_markers.category": "未讀通知標記",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
   "notifications.filter.all": "全部",
   "notifications.filter.boosts": "轉推",
   "notifications.filter.favourites": "最愛",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "載入中……",
   "regeneration_indicator.sublabel": "你的主頁時間軸正在準備中!",
   "relative_time.days": "{number}日前",
+  "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}小時前",
   "relative_time.just_now": "剛剛",
   "relative_time.minutes": "{number}分鐘前",
   "relative_time.seconds": "{number}秒前",
   "relative_time.today": "今天",
   "reply_indicator.cancel": "取消",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "轉寄到 {target}",
   "report.forward_hint": "這個帳戶屬於其他服務站。要向該服務站發送匿名的舉報訊息嗎?",
   "report.hint": "這訊息會發送到你服務站的管理員。你可以提供舉報這個帳戶的理由:",
@@ -396,9 +407,14 @@
   "status.delete": "刪除",
   "status.detailed_status": "詳細對話內容",
   "status.direct": "私訊 @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "嵌入",
   "status.favourite": "最愛",
   "status.filtered": "已過濾",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "載入更多",
   "status.media_hidden": "隱藏媒體內容",
   "status.mention": "提及 @{name}",
diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json
index 7fdd156ea..60f4bc2f4 100644
--- a/app/javascript/mastodon/locales/zh-TW.json
+++ b/app/javascript/mastodon/locales/zh-TW.json
@@ -47,16 +47,17 @@
   "account.unmute": "取消靜音 @{name}",
   "account.unmute_notifications": "重新接收來自 @{name} 的通知",
   "account_note.placeholder": "按此添加備注",
-  "admin.dashboard.retention": "Retention",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "平均",
+  "admin.dashboard.retention.cohort": "註冊月份",
+  "admin.dashboard.retention.cohort_size": "新使用者",
   "alert.rate_limited.message": "請在 {retry_time, time, medium} 後重試",
   "alert.rate_limited.title": "已限速",
   "alert.unexpected.message": "發生了非預期的錯誤。",
   "alert.unexpected.title": "哎呀!",
   "announcement.announcement": "公告",
-  "attachments_list.unprocessed": "(unprocessed)",
+  "attachments_list.unprocessed": "(未經處理)",
   "autosuggest_hashtag.per_week": "{count} / 週",
   "boost_modal.combo": "下次您可以按 {combo} 跳過",
   "bundle_column_error.body": "載入此元件時發生錯誤。",
@@ -104,6 +105,7 @@
   "compose_form.poll.switch_to_single": "變更投票為允許單一選項",
   "compose_form.publish": "嘟出去",
   "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
   "compose_form.sensitive.hide": "標記媒體為敏感內容",
   "compose_form.sensitive.marked": "此媒體被標記為敏感內容",
   "compose_form.sensitive.unmarked": "此媒體未被標記為敏感內容",
@@ -118,8 +120,8 @@
   "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.discard_edit_media.confirm": "捨棄",
+  "confirmations.discard_edit_media.message": "您在媒體描述或預覽區塊有未儲存的變更。是否要捨棄這些變更?",
   "confirmations.domain_block.confirm": "隱藏整個域名",
   "confirmations.domain_block.message": "真的非常確定封鎖整個 {domain} 網域嗎?大部分情況下,您只需要封鎖或靜音少數特定的帳帳戶能滿足需求了。您將不能在任何公開的時間軸及通知中看到來自此網域的內容。您來自該網域的跟隨者也將被移除。",
   "confirmations.logout.confirm": "登出",
@@ -312,7 +314,7 @@
   "notifications.column_settings.favourite": "最愛:",
   "notifications.column_settings.filter_bar.advanced": "顯示所有分類",
   "notifications.column_settings.filter_bar.category": "快速過濾欄",
-  "notifications.column_settings.filter_bar.show": "顯示",
+  "notifications.column_settings.filter_bar.show_bar": "顯示過濾器列",
   "notifications.column_settings.follow": "新的跟隨者:",
   "notifications.column_settings.follow_request": "新的跟隨請求:",
   "notifications.column_settings.mention": "提及:",
@@ -322,7 +324,8 @@
   "notifications.column_settings.show": "在欄位中顯示",
   "notifications.column_settings.sound": "播放聲音",
   "notifications.column_settings.status": "新嘟文:",
-  "notifications.column_settings.unread_markers.category": "未讀通知標記",
+  "notifications.column_settings.unread_notifications.category": "未讀通知",
+  "notifications.column_settings.unread_notifications.highlight": "突顯未讀通知",
   "notifications.filter.all": "全部",
   "notifications.filter.boosts": "轉嘟",
   "notifications.filter.favourites": "最愛",
@@ -346,7 +349,7 @@
   "poll.total_votes": "{count, plural, one {# 個投票} other {# 個投票}}",
   "poll.vote": "投票",
   "poll.voted": "您已對此問題投票",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# 張票} other {# 張票}}",
   "poll_button.add_poll": "建立投票",
   "poll_button.remove_poll": "移除投票",
   "privacy.change": "調整嘟文隱私狀態",
@@ -362,12 +365,20 @@
   "regeneration_indicator.label": "載入中…",
   "regeneration_indicator.sublabel": "您的主頁時間軸正在準備中!",
   "relative_time.days": "{number} 天",
+  "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}小時前",
   "relative_time.just_now": "剛剛",
   "relative_time.minutes": "{number} 分前",
   "relative_time.seconds": "{number} 秒",
   "relative_time.today": "今天",
   "reply_indicator.cancel": "取消",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
   "report.forward": "轉寄到 {target}",
   "report.forward_hint": "這個帳戶屬於其他伺服器。要像該伺服器發送匿名的檢舉訊息嗎?",
   "report.hint": "這項訊息會發送到您伺服器的管理員。您可以提供檢舉這個帳戶的理由:",
@@ -396,9 +407,14 @@
   "status.delete": "刪除",
   "status.detailed_status": "詳細的對話內容",
   "status.direct": "發送私訊給 @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "內嵌",
   "status.favourite": "最愛",
   "status.filtered": "已過濾",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
   "status.load_more": "載入更多",
   "status.media_hidden": "隱藏媒體內容",
   "status.mention": "提及 @{name}",
@@ -462,7 +478,7 @@
   "upload_form.video_description": "描述給聽障或視障人士",
   "upload_modal.analyzing_picture": "正在分析圖片…",
   "upload_modal.apply": "套用",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "正在套用⋯⋯",
   "upload_modal.choose_image": "選擇圖片",
   "upload_modal.description_placeholder": "我能吞下玻璃而不傷身體",
   "upload_modal.detect_text": "從圖片中偵測文字",
diff --git a/app/javascript/styles/mastodon/admin.scss b/app/javascript/styles/mastodon/admin.scss
index 92061585a..d28470747 100644
--- a/app/javascript/styles/mastodon/admin.scss
+++ b/app/javascript/styles/mastodon/admin.scss
@@ -1410,8 +1410,9 @@ a.sparkline {
     }
 
     &__button {
+      box-sizing: border-box;
       flex: 0 0 auto;
-      width: 100px;
+      width: 200px;
       padding: 15px;
       padding-right: 0;
 
@@ -1427,4 +1428,38 @@ a.sparkline {
       color: $dark-text-color;
     }
   }
+
+  @media screen and (max-width: 800px) {
+    border: 0;
+
+    &__item {
+      flex-direction: column;
+      border: 0;
+
+      &__button {
+        width: 100%;
+        padding: 15px 0;
+      }
+
+      &__description {
+        padding: 0;
+        padding-bottom: 15px;
+      }
+    }
+  }
+}
+
+.section-skip-link {
+  float: right;
+
+  a {
+    color: $ui-highlight-color;
+    text-decoration: none;
+
+    &:hover,
+    &:focus,
+    &:active {
+      text-decoration: underline;
+    }
+  }
 }
diff --git a/app/models/admin/status_batch_action.rb b/app/models/admin/status_batch_action.rb
index 85822214b..40f60f379 100644
--- a/app/models/admin/status_batch_action.rb
+++ b/app/models/admin/status_batch_action.rb
@@ -8,6 +8,12 @@ class Admin::StatusBatchAction
   attr_accessor :current_account, :type,
                 :status_ids, :report_id
 
+  attr_reader :send_email_notification
+
+  def send_email_notification=(value)
+    @send_email_notification = ActiveModel::Type::Boolean.new.cast(value)
+  end
+
   def save!
     process_action!
   end
@@ -55,7 +61,7 @@ class Admin::StatusBatchAction
       statuses.each { |status| Tombstone.find_or_create_by(uri: status.uri, account: status.account, by_moderator: true) } unless target_account.local?
     end
 
-    UserMailer.warning(target_account.user, @warning).deliver_later! if target_account.local?
+    UserMailer.warning(target_account.user, @warning).deliver_later! if warnable?
     RemovalWorker.push_bulk(status_ids) { |status_id| [status_id, { 'preserve' => target_account.local?, 'immediate' => !target_account.local? }] }
   end
 
@@ -82,6 +88,10 @@ class Admin::StatusBatchAction
     !report.nil?
   end
 
+  def warnable?
+    send_email_notification && target_account.local?
+  end
+
   def target_account
     @target_account ||= statuses.first.account
   end
diff --git a/app/models/trends/tags.rb b/app/models/trends/tags.rb
index a425fd207..2ea4550df 100644
--- a/app/models/trends/tags.rb
+++ b/app/models/trends/tags.rb
@@ -11,12 +11,9 @@ class Trends::Tags < Trends::Base
   }
 
   def register(status, at_time = Time.now.utc)
-    original_status = status.reblog? ? status.reblog : status
+    return unless !status.reblog? && status.public_visibility? && !status.account.silenced?
 
-    return unless original_status.public_visibility? && status.public_visibility? &&
-                  !original_status.account.silenced? && !status.account.silenced?
-
-    original_status.tags.each do |tag|
+    status.tags.each do |tag|
       add(tag, status.account_id, at_time) if tag.usable?
     end
   end
diff --git a/app/presenters/activitypub/activity_presenter.rb b/app/presenters/activitypub/activity_presenter.rb
index 5d174767f..38e8527e8 100644
--- a/app/presenters/activitypub/activity_presenter.rb
+++ b/app/presenters/activitypub/activity_presenter.rb
@@ -4,7 +4,7 @@ class ActivityPub::ActivityPresenter < ActiveModelSerializers::Model
   attributes :id, :type, :actor, :published, :to, :cc, :virtual_object
 
   class << self
-    def from_status(status)
+    def from_status(status, allow_inlining: true)
       new.tap do |presenter|
         presenter.id        = ActivityPub::TagManager.instance.activity_uri_for(status)
         presenter.type      = status.reblog? ? 'Announce' : 'Create'
@@ -15,7 +15,7 @@ class ActivityPub::ActivityPresenter < ActiveModelSerializers::Model
 
         presenter.virtual_object = begin
           if status.reblog?
-            if status.account == status.proper.account && status.proper.private_visibility? && status.local?
+            if allow_inlining && status.account == status.proper.account && status.proper.private_visibility? && status.local?
               status.proper
             else
               ActivityPub::TagManager.instance.uri_for(status.proper)
diff --git a/app/serializers/activitypub/undo_announce_serializer.rb b/app/serializers/activitypub/undo_announce_serializer.rb
index a925efc18..a0f09e8ab 100644
--- a/app/serializers/activitypub/undo_announce_serializer.rb
+++ b/app/serializers/activitypub/undo_announce_serializer.rb
@@ -22,6 +22,6 @@ class ActivityPub::UndoAnnounceSerializer < ActivityPub::Serializer
   end
 
   def virtual_object
-    ActivityPub::ActivityPresenter.from_status(object)
+    ActivityPub::ActivityPresenter.from_status(object, allow_inlining: false)
   end
 end
diff --git a/app/services/concerns/payloadable.rb b/app/services/concerns/payloadable.rb
index 3e45570c3..04c3798fe 100644
--- a/app/services/concerns/payloadable.rb
+++ b/app/services/concerns/payloadable.rb
@@ -1,13 +1,21 @@
 # frozen_string_literal: true
 
 module Payloadable
+  # @param [ActiveModelSerializers::Model] record
+  # @param [ActiveModelSerializers::Serializer] serializer
+  # @param [Hash] options
+  # @option options [Account] :signer
+  # @option options [String] :sign_with
+  # @option options [Boolean] :always_sign
+  # @return [Hash]
   def serialize_payload(record, serializer, options = {})
-    signer    = options.delete(:signer)
-    sign_with = options.delete(:sign_with)
-    payload   = ActiveModelSerializers::SerializableResource.new(record, options.merge(serializer: serializer, adapter: ActivityPub::Adapter)).as_json
-    object    = record.respond_to?(:virtual_object) ? record.virtual_object : record
+    signer      = options.delete(:signer)
+    sign_with   = options.delete(:sign_with)
+    always_sign = options.delete(:always_sign)
+    payload     = ActiveModelSerializers::SerializableResource.new(record, options.merge(serializer: serializer, adapter: ActivityPub::Adapter)).as_json
+    object      = record.respond_to?(:virtual_object) ? record.virtual_object : record
 
-    if (object.respond_to?(:sign?) && object.sign?) && signer && signing_enabled?
+    if (object.respond_to?(:sign?) && object.sign?) && signer && (always_sign || signing_enabled?)
       ActivityPub::LinkedDataSignature.new(payload).sign!(signer, sign_with: sign_with)
     else
       payload
diff --git a/app/services/delete_account_service.rb b/app/services/delete_account_service.rb
index 0e3fedfe7..a572a7c59 100644
--- a/app/services/delete_account_service.rb
+++ b/app/services/delete_account_service.rb
@@ -265,7 +265,7 @@ class DeleteAccountService < BaseService
   end
 
   def delete_actor_json
-    @delete_actor_json ||= Oj.dump(serialize_payload(@account, ActivityPub::DeleteActorSerializer, signer: @account))
+    @delete_actor_json ||= Oj.dump(serialize_payload(@account, ActivityPub::DeleteActorSerializer, signer: @account, always_sign: true))
   end
 
   def delivery_inboxes
diff --git a/app/services/remove_status_service.rb b/app/services/remove_status_service.rb
index e41ad2b0a..361cd4d82 100644
--- a/app/services/remove_status_service.rb
+++ b/app/services/remove_status_service.rb
@@ -97,7 +97,7 @@ class RemoveStatusService < BaseService
   end
 
   def signed_activity_json
-    @signed_activity_json ||= Oj.dump(serialize_payload(@status, @status.reblog? ? ActivityPub::UndoAnnounceSerializer : ActivityPub::DeleteSerializer, signer: @account))
+    @signed_activity_json ||= Oj.dump(serialize_payload(@status, @status.reblog? ? ActivityPub::UndoAnnounceSerializer : ActivityPub::DeleteSerializer, signer: @account, always_sign: true))
   end
 
   def remove_reblogs
diff --git a/app/views/admin/reports/_actions.html.haml b/app/views/admin/reports/_actions.html.haml
new file mode 100644
index 000000000..f3162b325
--- /dev/null
+++ b/app/views/admin/reports/_actions.html.haml
@@ -0,0 +1,27 @@
+= form_tag admin_report_actions_path(@report), method: :post do
+  .report-actions
+    .report-actions__item
+      .report-actions__item__button
+        = link_to t('admin.reports.mark_as_resolved'), resolve_admin_report_path(@report), method: :post, class: 'button'
+      .report-actions__item__description
+        = t('admin.reports.actions.resolve_description_html')
+    .report-actions__item
+      .report-actions__item__button
+        = button_tag t('admin.reports.delete_and_resolve'), name: :delete, class: 'button button--destructive'
+      .report-actions__item__description
+        = t('admin.reports.actions.delete_description_html')
+    .report-actions__item
+      .report-actions__item__button
+        = button_tag t('admin.accounts.silence'), name: :silence, class: 'button button--destructive'
+      .report-actions__item__description
+        = t('admin.reports.actions.silence_description_html')
+    .report-actions__item
+      .report-actions__item__button
+        = button_tag t('admin.accounts.suspend'), name: :suspend, class: 'button button--destructive'
+      .report-actions__item__description
+        = t('admin.reports.actions.suspend_description_html')
+    .report-actions__item
+      .report-actions__item__button
+        = link_to t('admin.accounts.custom'), new_admin_account_action_path(@report.target_account_id, report_id: @report.id), class: 'button'
+      .report-actions__item__description
+        = t('admin.reports.actions.other_description_html')
diff --git a/app/views/admin/reports/show.html.haml b/app/views/admin/reports/show.html.haml
index e03c1220c..018a0c54a 100644
--- a/app/views/admin/reports/show.html.haml
+++ b/app/views/admin/reports/show.html.haml
@@ -120,24 +120,30 @@
 - if @report.comment.present?
   %p= t('admin.reports.comment_description_html', name: content_tag(:strong, @report.account.username, class: 'username'))
 
-  .report-notes__item
-    = image_tag @report.account.avatar.url, class: 'report-notes__item__avatar'
-
-    .report-notes__item__header
-      %span.username
-        = link_to display_name(@report.account), admin_account_path(@report.account_id)
-      %time{ datetime: @report.created_at.iso8601, title: l(@report.created_at) }
-        - if @report.created_at.today?
-          = t('admin.report_notes.today_at', time: l(@report.created_at, format: :time))
-        - else
-          = l @report.created_at.to_date
+  .report-notes
+    .report-notes__item
+      = image_tag @report.account.avatar.url, class: 'report-notes__item__avatar'
+
+      .report-notes__item__header
+        %span.username
+          = link_to display_name(@report.account), admin_account_path(@report.account_id)
+        %time{ datetime: @report.created_at.iso8601, title: l(@report.created_at) }
+          - if @report.created_at.today?
+            = t('admin.report_notes.today_at', time: l(@report.created_at, format: :time))
+          - else
+            = l @report.created_at.to_date
 
-    .report-notes__item__content
-      = simple_format(h(@report.comment))
+      .report-notes__item__content
+        = simple_format(h(@report.comment))
 
 %hr.spacer/
 
-%h3= t 'admin.reports.statuses'
+%h3
+  = t 'admin.reports.statuses'
+  %small.section-skip-link
+    = link_to '#actions' do
+      = fa_icon 'angle-double-down'
+      = t('admin.reports.skip_to_actions')
 
 %p
   = t 'admin.reports.statuses_description_html'
@@ -152,8 +158,6 @@
       .batch-table__toolbar__actions
         - if !@statuses.empty? && @report.unresolved?
           = f.button safe_join([fa_icon('times'), t('admin.statuses.batch.remove_from_report')]), name: :remove_from_report, class: 'table-action-link', type: :submit
-          = f.button safe_join([fa_icon('trash'), t('admin.reports.delete_and_resolve')]), name: :delete, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
-        - else
     .batch-table__body
       - if @statuses.empty?
         = nothing_here 'nothing-here--under-tabs'
@@ -163,24 +167,9 @@
 - if @report.unresolved?
   %hr.spacer/
 
-  %p= t 'admin.reports.actions_description_html'
-
-  .report-actions
-    .report-actions__item
-      .report-actions__item__button
-        = link_to t('admin.accounts.silence'), new_admin_account_action_path(@report.target_account_id, type: 'silence', report_id: @report.id), class: 'button button--destructive'
-      .report-actions__item__description
-        = t('admin.reports.actions.silence_description_html')
-    .report-actions__item
-      .report-actions__item__button
-        = link_to t('admin.accounts.perform_full_suspension'), new_admin_account_action_path(@report.target_account_id, report_id: @report.id, type: 'suspend'), class: 'button button--destructive'
-      .report-actions__item__description
-        = t('admin.reports.actions.suspend_description_html')
-    .report-actions__item
-      .report-actions__item__button
-        = link_to t('admin.accounts.custom'), new_admin_account_action_path(@report.target_account_id, report_id: @report.id), class: 'button'
-      .report-actions__item__description
-        = t('admin.reports.actions.other_description_html')
+  %p#actions= t 'admin.reports.actions_description_html'
+
+  = render partial: 'admin/reports/actions'
 
 - unless @action_logs.empty?
   %hr.spacer/
diff --git a/chart/Chart.yaml b/chart/Chart.yaml
index 24676d749..1687132ac 100644
--- a/chart/Chart.yaml
+++ b/chart/Chart.yaml
@@ -15,7 +15,7 @@ type: application
 # This is the chart version. This version number should be incremented each time you make changes
 # to the chart and its templates, including the app version.
 # Versions are expected to follow Semantic Versioning (https://semver.org/)
-version: 1.2.0
+version: 1.2.1
 
 # This is the version number of the application being deployed. This version number should be
 # incremented each time you make changes to the application. Versions are not expected to
diff --git a/chart/readme.md b/chart/readme.md
index 9f7a88958..381037cc1 100644
--- a/chart/readme.md
+++ b/chart/readme.md
@@ -24,9 +24,7 @@ The variables that _must_ be configured are:
 Currently this chart does _not_ support:
 
 - Hidden services
-- Single Sign-On
 - Swift
-- configurations using `WEB_DOMAIN`
 
 # Upgrading
 
diff --git a/chart/templates/configmap-env.yaml b/chart/templates/configmap-env.yaml
index 701368e49..5e0620998 100644
--- a/chart/templates/configmap-env.yaml
+++ b/chart/templates/configmap-env.yaml
@@ -21,6 +21,9 @@ data:
   ES_PORT: "9200"
   {{- end }}
   LOCAL_DOMAIN: {{ .Values.mastodon.local_domain }}
+  {{- if .Values.mastodon.web_domain }}
+  WEB_DOMAIN: {{ .Values.mastodon.web_domain }}
+  {{- end }}
   # https://devcenter.heroku.com/articles/tuning-glibc-memory-behavior
   MALLOC_ARENA_MAX: "2"
   NODE_ENV: "production"
@@ -36,6 +39,9 @@ data:
   {{- if .Values.mastodon.s3.region }}
   S3_REGION: {{ .Values.mastodon.s3.region }}
   {{- end }}
+  {{- if .Values.mastodon.s3.alias_host }}
+  S3_ALIAS_HOST: {{ .Values.mastodon.s3.alias_host}}
+  {{- end }}
   {{- end }}
   {{- if .Values.mastodon.smtp.auth_method }}
   SMTP_AUTH_METHOD: {{ .Values.mastodon.smtp.auth_method }}
@@ -77,3 +83,221 @@ data:
   SMTP_TLS: {{ .Values.mastodon.smtp.tls | quote }}
   {{- end }}
   STREAMING_CLUSTER_NUM: {{ .Values.mastodon.streaming.workers | quote }}
+  {{- if .Values.externalAuth.oidc.enabled }}
+  OIDC_ENABLED: {{ .Values.externalAuth.oidc.enabled | quote }}
+  OIDC_DISPLAY_NAME: {{ .Values.externalAuth.oidc.display_name }}
+  OIDC_ISSUER: {{ .Values.externalAuth.oidc.issuer }}
+  OIDC_DISCOVERY: {{ .Values.externalAuth.oidc.discovery | quote }}
+  OIDC_SCOPE: {{ .Values.externalAuth.oidc.scope | quote }}
+  OIDC_UID_FIELD: {{ .Values.externalAuth.oidc.uid_field }}
+  OIDC_CLIENT_ID: {{ .Values.externalAuth.oidc.client_id }}
+  OIDC_CLIENT_SECRET: {{ .Values.externalAuth.oidc.client_secret }}
+  OIDC_REDIRECT_URI: {{ .Values.externalAuth.oidc.redirect_uri }}
+  OIDC_SECURITY_ASSUME_EMAIL_IS_VERIFIED: {{ .Values.externalAuth.oidc.assume_email_is_verified | quote }}
+  {{- if .Values.externalAuth.oidc.client_auth_method }}
+  OIDC_CLIENT_AUTH_METHOD: {{ .Values.externalAuth.oidc.client_auth_method }}
+  {{- end }}
+  {{- if .Values.externalAuth.oidc.response_type }}
+  OIDC_RESPONSE_TYPE: {{ .Values.externalAuth.oidc.response_type }}
+  {{- end }}
+  {{- if .Values.externalAuth.oidc.response_mode }}
+  OIDC_RESPONSE_MODE: {{ .Values.externalAuth.oidc.response_mode }}
+  {{- end }}
+  {{- if .Values.externalAuth.oidc.display }}
+  OIDC_DISPLAY: {{ .Values.externalAuth.oidc.display }}
+  {{- end }}
+  {{- if .Values.externalAuth.oidc.prompt }}
+  OIDC_PROMPT: {{ .Values.externalAuth.oidc.prompt }}
+  {{- end }}
+  {{- if .Values.externalAuth.oidc.send_nonce }}
+  OIDC_SEND_NONCE: {{ .Values.externalAuth.oidc.send_nonce }}
+  {{- end }}
+  {{- if .Values.externalAuth.oidc.send_scope_to_token_endpoint }}
+  OIDC_SEND_SCOPE_TO_TOKEN_ENDPOINT: {{ .Values.externalAuth.oidc.send_scope_to_token_endpoint | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.oidc.idp_logout_redirect_uri }}
+  OIDC_IDP_LOGOUT_REDIRECT_URI: {{ .Values.externalAuth.oidc.idp_logout_redirect_uri }}
+  {{- end }}
+  {{- if .Values.externalAuth.oidc.http_scheme }}
+  OIDC_HTTP_SCHEME: {{ .Values.externalAuth.oidc.http_scheme }}
+  {{- end }}
+  {{- if .Values.externalAuth.oidc.host }}
+  OIDC_HOST: {{ .Values.externalAuth.oidc.host }}
+  {{- end }}
+  {{- if .Values.externalAuth.oidc.port }}
+  OIDC_PORT: {{ .Values.externalAuth.oidc.port }}
+  {{- end }}
+  {{- if .Values.externalAuth.oidc.jwks_uri }}
+  OIDC_JWKS_URI: {{ .Values.externalAuth.oidc.jwks_uri }}
+  {{- end }}
+  {{- if .Values.externalAuth.oidc.auth_endpoint }}
+  OIDC_AUTH_ENDPOINT: {{ .Values.externalAuth.oidc.auth_endpoint }}
+  {{- end }}
+  {{- if .Values.externalAuth.oidc.token_endpoint }}
+  OIDC_TOKEN_ENDPOINT: {{ .Values.externalAuth.oidc.token_endpoint }}
+  {{- end }}
+  {{- if .Values.externalAuth.oidc.user_info_endpoint }}
+  OIDC_USER_INFO_ENDPOINT: {{ .Values.externalAuth.oidc.user_info_endpoint }}
+  {{- end }}
+  {{- if .Values.externalAuth.oidc.end_session_endpoint }}
+  OIDC_END_SESSION_ENDPOINT: {{ .Values.externalAuth.oidc.end_session_endpoint }}
+  {{- end }}
+  {{- end }}
+  {{- if .Values.externalAuth.saml.enabled }}
+  SAML_ENABLED: {{ .Values.externalAuth.saml.enabled | quote }}
+  SAML_ACS_URL: {{ .Values.externalAuth.saml.acs_url }}
+  SAML_ISSUER: {{ .Values.externalAuth.saml.issuer }}
+  SAML_IDP_SSO_TARGET_URL: {{ .Values.externalAuth.saml.idp_sso_target_url }}
+  SAML_IDP_CERT: {{ .Values.externalAuth.saml.idp_cert | quote }}
+  {{- if .Values.externalAuth.saml.idp_cert_fingerprint }}
+  SAML_IDP_CERT_FINGERPRINT: {{ .Values.externalAuth.saml.idp_cert_fingerprint | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.saml.name_identifier_format }}
+  SAML_NAME_IDENTIFIER_FORMAT: {{ .Values.externalAuth.saml.name_identifier_format }}
+  {{- end }}
+  {{- if .Values.externalAuth.saml.cert }}
+  SAML_CERT: {{ .Values.externalAuth.saml.cert | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.saml.private_key }}
+  SAML_PRIVATE_KEY: {{ .Values.externalAuth.saml.private_key | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.saml.want_assertion_signed }}
+  SAML_SECURITY_WANT_ASSERTION_SIGNED: {{ .Values.externalAuth.saml.want_assertion_signed | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.saml.want_assertion_encrypted }}
+  SAML_SECURITY_WANT_ASSERTION_ENCRYPTED: {{ .Values.externalAuth.saml.want_assertion_encrypted | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.saml.assume_email_is_verified }}
+  SAML_SECURITY_ASSUME_EMAIL_IS_VERIFIED: {{ .Values.externalAuth.saml.assume_email_is_verified | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.saml.uid_attribute }}
+  SAML_UID_ATTRIBUTE: {{ .Values.externalAuth.saml.uid_attribute }}
+  {{- end }}
+  {{- if .Values.externalAuth.saml.attributes_statements.uid }}
+  SAML_ATTRIBUTES_STATEMENTS_UID: {{ .Values.externalAuth.saml.attributes_statements.uid | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.saml.attributes_statements.email }}
+  SAML_ATTRIBUTES_STATEMENTS_EMAIL: {{ .Values.externalAuth.saml.attributes_statements.email | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.saml.attributes_statements.full_name }}
+  SAML_ATTRIBUTES_STATEMENTS_FULL_NAME: {{ .Values.externalAuth.saml.attributes_statements.full_name | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.saml.attributes_statements.first_name }}
+  SAML_ATTRIBUTES_STATEMENTS_FIRST_NAME: {{ .Values.externalAuth.saml.attributes_statements.first_name | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.saml.attributes_statements.last_name }}
+  SAML_ATTRIBUTES_STATEMENTS_LAST_NAME: {{ .Values.externalAuth.saml.attributes_statements.last_name | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.saml.attributes_statements.verified }}
+  SAML_ATTRIBUTES_STATEMENTS_VERIFIED: {{ .Values.externalAuth.saml.attributes_statements.verified | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.saml.attributes_statements.verified_email }}
+  SAML_ATTRIBUTES_STATEMENTS_VERIFIED_EMAIL: {{ .Values.externalAuth.saml.attributes_statements.verified_email | quote }}
+  {{- end }}
+  {{- end }}
+  {{- if .Values.externalAuth.oauth_global.oauth_redirect_at_sign_in }}
+  OAUTH_REDIRECT_AT_SIGN_IN: {{ .Values.externalAuth.oauth_global.oauth_redirect_at_sign_in | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.cas.enabled }}
+  CAS_ENABLED: {{ .Values.externalAuth.cas.enabled | quote }}
+  CAS_URL: {{ .Values.externalAuth.cas.url }}
+  CAS_HOST: {{ .Values.externalAuth.cas.host }}
+  CAS_PORT: {{ .Values.externalAuth.cas.port }}
+  CAS_SSL: {{ .Values.externalAuth.cas.ssl | quote }}
+  {{- if .Values.externalAuth.cas.validate_url }}
+  CAS_VALIDATE_URL: {{ .Values.externalAuth.cas.validate_url }}
+  {{- end }}
+  {{- if .Values.externalAuth.cas.callback_url }}
+  CAS_CALLBACK_URL: {{ .Values.externalAuth.cas.callback_url }}
+  {{- end }}
+  {{- if .Values.externalAuth.cas.logout_url }}
+  CAS_LOGOUT_URL: {{ .Values.externalAuth.cas.logout_url }}
+  {{- end }}
+  {{- if .Values.externalAuth.cas.login_url }}
+  CAS_LOGIN_URL: {{ .Values.externalAuth.cas.login_url }}
+  {{- end }}
+  {{- if .Values.externalAuth.cas.uid_field }}
+  CAS_UID_FIELD: {{ .Values.externalAuth.cas.uid_field | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.cas.ca_path }}
+  CAS_CA_PATH: {{ .Values.externalAuth.cas.ca_path }}
+  {{- end }}
+  {{- if .Values.externalAuth.cas.disable_ssl_verification }}
+  CAS_DISABLE_SSL_VERIFICATION: {{ .Values.externalAuth.cas.disable_ssl_verification | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.cas.assume_email_is_verified }}
+  CAS_SECURITY_ASSUME_EMAIL_IS_VERIFIED: {{ .Values.externalAuth.cas.assume_email_is_verified | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.cas.keys.uid }}
+  CAS_UID_KEY: {{ .Values.externalAuth.cas.keys.uid | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.cas.keys.name }}
+  CAS_NAME_KEY: {{ .Values.externalAuth.cas.keys.name | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.cas.keys.email }}
+  CAS_EMAIL_KEY: {{ .Values.externalAuth.cas.keys.email | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.cas.keys.nickname }}
+  CAS_NICKNAME_KEY: {{ .Values.externalAuth.cas.keys.nickname | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.cas.keys.first_name }}
+  CAS_FIRST_NAME_KEY: {{ .Values.externalAuth.cas.keys.first_name | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.cas.keys.last_name }}
+  CAS_LAST_NAME_KEY: {{ .Values.externalAuth.cas.keys.last_name | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.cas.keys.location }}
+  CAS_LOCATION_KEY: {{ .Values.externalAuth.cas.keys.location | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.cas.keys.image }}
+  CAS_IMAGE_KEY: {{ .Values.externalAuth.cas.keys.image | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.cas.keys.phone }}
+  CAS_PHONE_KEY: {{ .Values.externalAuth.cas.keys.phone | quote }}
+  {{- end }}
+  {{- end }}
+  {{- if .Values.externalAuth.pam.enabled }}
+  PAM_ENABLED: {{ .Values.externalAuth.pam.enabled | quote }}
+  {{- if .Values.externalAuth.pam.email_domain }}
+  PAM_EMAIL_DOMAIN: {{ .Values.externalAuth.pam.email_domain }}
+  {{- end }}
+  {{- if .Values.externalAuth.pam.default_service }}
+  PAM_DEFAULT_SERVICE: {{ .Values.externalAuth.pam.default_service }}
+  {{- end }}
+  {{- if .Values.externalAuth.pam.controlled_service }}
+  PAM_CONTROLLED_SERVICE: {{ .Values.externalAuth.pam.controlled_service }}
+  {{- end }}
+  {{- end }}
+  {{- if .Values.externalAuth.ldap.enabled }}
+  LDAP_ENABLED: {{ .Values.externalAuth.ldap.enabled | quote }}
+  LDAP_HOST: {{ .Values.externalAuth.ldap.host }}
+  LDAP_PORT: {{ .Values.externalAuth.ldap.port }}
+  LDAP_METHOD: {{ .Values.externalAuth.ldap.method }}
+  {{- if .Values.externalAuth.ldap.base }}
+  LDAP_BASE: {{ .Values.externalAuth.ldap.base }}
+  {{- end }}
+  {{- if .Values.externalAuth.ldap.bind_on }}
+  LDAP_BIND_ON: {{ .Values.externalAuth.ldap.bind_on }}
+  {{- end }}
+  {{- if .Values.externalAuth.ldap.password }}
+  LDAP_PASSWORD: {{ .Values.externalAuth.ldap.password }}
+  {{- end }}
+  {{- if .Values.externalAuth.ldap.uid }}
+  LDAP_UID: {{ .Values.externalAuth.ldap.uid }}
+  {{- end }}
+  {{- if .Values.externalAuth.ldap.mail }}
+  LDAP_MAIL: {{ .Values.externalAuth.ldap.mail }}
+  {{- end }}
+  {{- if .Values.externalAuth.ldap.search_filter }}
+  LDAP_SEARCH_FILTER: {{ .Values.externalAuth.ldap.search_filter }}
+  {{- end }}
+  {{- if .Values.externalAuth.ldap.uid_conversion.enabled }}
+  LDAP_UID_CONVERSION_ENABLED: {{ .Values.externalAuth.ldap.uid_conversion.enabled | quote }}
+  {{- end }}
+  {{- if .Values.externalAuth.ldap.uid_conversion.search }}
+  LDAP_UID_CONVERSION_SEARCH: {{ .Values.externalAuth.ldap.uid_conversion.search }}
+  {{- end }}
+  {{- if .Values.externalAuth.ldap.uid_conversion.replace }}
+  LDAP_UID_CONVERSION_REPLACE: {{ .Values.externalAuth.ldap.uid_conversion.replace }}
+  {{- end }}
+  {{- end }}
\ No newline at end of file
diff --git a/chart/values.yaml b/chart/values.yaml
index dc476b1c5..54627854d 100644
--- a/chart/values.yaml
+++ b/chart/values.yaml
@@ -27,6 +27,9 @@ mastodon:
   # available locales: https://github.com/tootsuite/mastodon/blob/master/config/application.rb#L43
   locale: en
   local_domain: mastodon.local
+  # Use of WEB_DOMAIN requires careful consideration: https://docs.joinmastodon.org/admin/config/#federation
+  # You must redirect the path LOCAL_DOMAIN/.well-known/ to WEB_DOMAIN/.well-known/ as described
+  # web_domain: mastodon.example.com
   persistence:
     assets:
       # ReadWriteOnce is more widely supported than ReadWriteMany, but limits
@@ -49,6 +52,8 @@ mastodon:
     endpoint: https://us-east-1.linodeobjects.com
     hostname: us-east-1.linodeobjects.com
     region: ""
+    # If you have a caching proxy, enter its base URL here.
+    alias_host: ""
   # these must be set manually; autogenerated keys are rotated on each upgrade
   secrets:
     secret_key_base: ""
@@ -136,6 +141,105 @@ service:
   type: ClusterIP
   port: 80
 
+externalAuth:
+  oidc:
+    # OpenID Connect support is proposed in PR #16221 and awaiting merge.
+    enabled: false
+    # display_name: "example-label"
+    # issuer: https://login.example.space/auth/realms/example-space
+    # discovery: true
+    # scope: "openid,profile"
+    # uid_field: uid
+    # client_id: mastodon
+    # client_secret: SECRETKEY
+    # redirect_uri: https://example.com/auth/auth/openid_connect/callback
+    # assume_email_is_verified: true
+    # client_auth_method: 
+    # response_type: 
+    # response_mode: 
+    # display: 
+    # prompt: 
+    # send_nonce: 
+    # send_scope_to_token_endpoint: 
+    # idp_logout_redirect_uri: 
+    # http_scheme: 
+    # host: 
+    # port: 
+    # jwks_uri: 
+    # auth_endpoint: 
+    # token_endpoint: 
+    # user_info_endpoint: 
+    # end_session_endpoint: 
+  saml:
+    enabled: false
+    # acs_url: http://mastodon.example.com/auth/auth/saml/callback
+    # issuer: mastodon
+    # idp_sso_target_url: https://login.example.com/auth/realms/example/protocol/saml
+    # idp_cert: '-----BEGIN CERTIFICATE-----[your_cert_content]-----END CERTIFICATE-----'
+    # idp_cert_fingerprint: 
+    # name_identifier_format: urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
+    # cert: 
+    # private_key: 
+    # want_assertion_signed: true
+    # want_assertion_encrypted: true
+    # assume_email_is_verified: true
+    # uid_attribute: "urn:oid:0.9.2342.19200300.100.1.1"
+    # attributes_statements: 
+    #   uid: "urn:oid:0.9.2342.19200300.100.1.1"
+    #   email: "urn:oid:1.3.6.1.4.1.5923.1.1.1.6"
+    #   full_name: "urn:oid:2.16.840.1.113730.3.1.241"
+    #   first_name: "urn:oid:2.5.4.42"
+    #   last_name: "urn:oid:2.5.4.4"
+    #   verified: 
+    #   verified_email: 
+  oauth_global: 
+    # Force redirect local login to CAS. Does not function with SAML or LDAP.
+    oauth_redirect_at_sign_in: false
+  cas:
+    enabled: false
+    # url: https://sso.myserver.com
+    # host: sso.myserver.com
+    # port: 443
+    # ssl: true
+    # validate_url: 
+    # callback_url: 
+    # logout_url: 
+    # login_url: 
+    # uid_field: 'user'
+    # ca_path: 
+    # disable_ssl_verification: false
+    # assume_email_is_verified: true
+    # keys: 
+    #   uid: 'user'
+    #   name: 'name'
+    #   email: 'email'
+    #   nickname: 'nickname'
+    #   first_name: 'firstname'
+    #   last_name: 'lastname'
+    #   location: 'location'
+    #   image: 'image'
+    #   phone: 'phone'
+  pam: 
+    enabled: false
+    # email_domain: example.com
+    # default_service: rpam
+    # controlled_service: rpam
+  ldap:
+    enabled: false
+    # host: myservice.namespace.svc
+    # port: 389
+    # method: simple_tls
+    # base: 
+    # bind_on: 
+    # password: 
+    # uid: cn
+    # mail: mail
+    # search_filter: "(|(%{uid}=%{email})(%{mail}=%{email}))"
+    # uid_conversion:
+    #   enabled: true
+    #   search: "., -"
+    #   replace: _
+
 # https://github.com/tootsuite/mastodon/blob/master/Dockerfile#L88
 #
 # if you manually change the UID/GID environment variables, ensure these values
diff --git a/config/locales/activerecord.br.yml b/config/locales/activerecord.br.yml
index e16e78eb3..dc35f326f 100644
--- a/config/locales/activerecord.br.yml
+++ b/config/locales/activerecord.br.yml
@@ -6,6 +6,7 @@ br:
         expires_at: Deiziad termen
         options: Dibaboù
       user:
+        agreement: Emglev gant ar servij
         email: Chomlec'h postel
         locale: Lec'hel
         password: Ger-tremen
@@ -28,3 +29,4 @@ br:
           attributes:
             email:
               blocked: a implij ur pourvezour postel berzet
+              unreachable: ne dle ket bezañ implijet
diff --git a/config/locales/activerecord.fr.yml b/config/locales/activerecord.fr.yml
index 00d40aaf0..47cd8765d 100644
--- a/config/locales/activerecord.fr.yml
+++ b/config/locales/activerecord.fr.yml
@@ -11,7 +11,7 @@ fr:
         locale: Langue
         password: Mot de passe
       user/account:
-        username: Nom d’utilisateur
+        username: Nom d’utilisateur·ice
       user/invite_request:
         text: Raison
     errors:
diff --git a/config/locales/activerecord.it.yml b/config/locales/activerecord.it.yml
index 7e16990b5..c6587f1fd 100644
--- a/config/locales/activerecord.it.yml
+++ b/config/locales/activerecord.it.yml
@@ -24,7 +24,7 @@ it:
         status:
           attributes:
             reblog:
-              taken: dello stato esiste già
+              taken: del post esiste già
         user:
           attributes:
             email:
diff --git a/config/locales/activerecord.kmr.yml b/config/locales/activerecord.kmr.yml
index 616c4966f..30afeda99 100644
--- a/config/locales/activerecord.kmr.yml
+++ b/config/locales/activerecord.kmr.yml
@@ -8,7 +8,7 @@ kmr:
       user:
         agreement: Peymana karûbarê
         email: Navnîşana E-nameyê
-        locale: Herêm
+        locale: Herêmî
         password: Pêborîn
       user/account:
         username: Navê bikarhêneriyê
diff --git a/config/locales/activerecord.ro.yml b/config/locales/activerecord.ro.yml
index 1da164190..f752e4961 100644
--- a/config/locales/activerecord.ro.yml
+++ b/config/locales/activerecord.ro.yml
@@ -6,15 +6,27 @@ ro:
         expires_at: Termen limită
         options: Alegeri
       user:
+        agreement: Acord de servicii
         email: Adresă e-mail
+        locale: Localizare
         password: Parolă
+      user/account:
+        username: Nume utilizator
+      user/invite_request:
+        text: Motiv
     errors:
       models:
         account:
           attributes:
             username:
               invalid: doar litere, numere și sublinieri
+              reserved: este rezervat
         status:
           attributes:
             reblog:
-              taken: de stare există deja
+              taken: de postare există deja
+        user:
+          attributes:
+            email:
+              blocked: utilizează un furnizor de e-mail neautorizat
+              unreachable: pare să nu existe
diff --git a/config/locales/activerecord.sl.yml b/config/locales/activerecord.sl.yml
index 1df109579..d7fbb446d 100644
--- a/config/locales/activerecord.sl.yml
+++ b/config/locales/activerecord.sl.yml
@@ -5,13 +5,28 @@ sl:
       poll:
         expires_at: Rok
         options: Izbire
+      user:
+        agreement: Sporazum o storitvah
+        email: E-poštni naslov
+        locale: Krajevne nastavitve
+        password: Geslo
+      user/account:
+        username: Uporabniško ime
+      user/invite_request:
+        text: Razlog
     errors:
       models:
         account:
           attributes:
             username:
               invalid: samo črke, številke in podčrtaji
+              reserved: je rezerviran
         status:
           attributes:
             reblog:
               taken: od statusa že obstajajo
+        user:
+          attributes:
+            email:
+              blocked: uporablja nedovoljenega ponudnika e-poštnih storitev
+              unreachable: kot kaže ne obstaja
diff --git a/config/locales/activerecord.th.yml b/config/locales/activerecord.th.yml
index 4957ab7bd..775ca2edc 100644
--- a/config/locales/activerecord.th.yml
+++ b/config/locales/activerecord.th.yml
@@ -8,6 +8,7 @@ th:
       user:
         agreement: ข้อตกลงการให้บริการ
         email: ที่อยู่อีเมล
+        locale: ตำแหน่งที่ตั้ง
         password: รหัสผ่าน
       user/account:
         username: ชื่อผู้ใช้
diff --git a/config/locales/ar.yml b/config/locales/ar.yml
index 6c3cccdb3..c54fecac1 100644
--- a/config/locales/ar.yml
+++ b/config/locales/ar.yml
@@ -115,7 +115,6 @@ ar:
     accounts:
       add_email_domain_block: حظر نطاق بريد إلكتروني
       approve: صادِق عليه
-      approve_all: الموافقة على الكل
       approved_msg: تمت الموافقة على تسجيل %{username}
       are_you_sure: متأكد ؟
       avatar: الصورة الرمزية
@@ -130,6 +129,7 @@ ar:
       confirm: تأكيد
       confirmed: مؤكَّد
       confirming: التأكد
+      custom: مخصص
       delete: حذف البيانات
       deleted: تمت إزالته
       demote: إنزال الرُتبة الوظيفية
@@ -169,7 +169,6 @@ ar:
         active: نشِط
         all: الكل
         pending: قيد المراجعة
-        silenced: تم كتمه
         suspended: مُجَمَّد
         title: الإشراف
       moderation_notes: ملاحظات الإشراف
@@ -187,7 +186,6 @@ ar:
       redownload: انعش الصفحة التعريفية
       redownloaded_msg: تم تحديث ملف %{username} التعريفي من الأصل
       reject: ارفض
-      reject_all: ارفض الكل
       rejected_msg: تم رفض تطبيق تسجيل %{username} بنجاح
       remove_avatar: حذف الصورة الرمزية
       remove_header: حذف الرأسية
@@ -222,12 +220,14 @@ ar:
       silence: كتم
       silenced: تم كتمه
       statuses: المنشورات
+      strikes: الضربات السابقة
       subscribe: اشترك
       suspended: تم تعليقه
       suspension_irreversible: تم حذف بيانات هذا الحساب بشكل لا رجعة فيه، يمكنك إلغاء تعليق الحساب لجعله قابلا للاستخدام، ولكنه لن يسترد أي بيانات كانت لديه سابقاً.
       suspension_reversible_hint_html: تم تعليق الحساب، وسيتم إزالة البيانات بالكامل في %{date}، حتى ذلك الحين، يمكن استعادة الحساب دون أي آثار سلبية أي كما أنه لم يحدث أي شيء، إذا كنت ترغب في حذف جميع بيانات الحساب الآن، فيمكنك فعل ذلك أدناه.
-      time_in_queue: في قائمة الانتظار %{time}
       title: الحسابات
+      unblock_email: إلغاء حظر عنوان البريد الإلكتروني
+      unblocked_email_msg: تم إلغاء حظر عنوان البريد الإلكتروني %{username} بنجاح
       unconfirmed_email: البريد الإلكتروني غير مؤكد
       undo_sensitized: التراجع عن حساسية
       undo_silenced: رفع الصمت
@@ -242,6 +242,7 @@ ar:
       whitelisted: في القائمة البيضاء
     action_logs:
       action_types:
+        approve_user: الموافقة على المستخدم
         assigned_to_self_report: أسند التقرير
         change_email_user: تغيير عنوان البريد الإلكتروني الخاص بالمستخدم
         confirm_user: تأكيد المستخدم
@@ -259,6 +260,7 @@ ar:
         destroy_domain_allow: حذف النطاق المسموح به
         destroy_domain_block: حذف كتلة النطاق
         destroy_email_domain_block: حذف نطاق بريد إلكتروني
+        destroy_instance: تنظيف النطاق
         destroy_ip_block: حذف قانون IP
         destroy_status: حذف المنشور
         destroy_unavailable_domain: حذف نطاق غير متوفر
@@ -271,6 +273,7 @@ ar:
         enable_user: تفعيل المستخدم
         memorialize_account: جعل الحساب تذكاريا
         promote_user: ترقية المستخدم
+        reject_user: ارفض المستخدم
         remove_avatar_user: احذف الصورة الرمزية
         reopen_report: إعادة فتح التقرير
         reset_password_user: إعادة تعيين كلمة المرور
@@ -279,6 +282,7 @@ ar:
         silence_account: كتم الحساب
         suspend_account: تعليق الحساب
         unassigned_report: إلغاء إسناد الشكوى
+        unblock_email_account: إلغاء حظر عنوان البريد الإلكتروني
         unsensitive_account: إلغاء تحديد الوسائط في حسابك على أنها حساسة
         unsilence_account: إلغاء كتم الحساب
         unsuspend_account: إلغاء تعليق الحساب
@@ -387,9 +391,19 @@ ar:
       updated_msg: تم تحديث الإيموجي بنجاح!
       upload: رفع
     dashboard:
+      active_users: مستخدمين نشطين
+      interactions: تفاعلات
+      media_storage: تخزين الوسائط
+      new_users: مستخدمون جدد
+      opened_reports: تقارير مفتوحة
+      resolved_reports: تقارير تم حلها
       software: البرنامج
+      sources: مصادر التسجيل
       space: المساحة المستخدَمة
       title: لوح المراقبة
+      top_languages: اللغات الأكثر نشاطا
+      top_servers: الخوادم الأكثر نشاطا
+      website: موقع الويب
     domain_allows:
       add_new: إضافة النطاق إلى القائمة البيضاء
       created_msg: تمت إضافة النطاق إلى القائمة البيضاء بنجاح
@@ -528,8 +542,6 @@ ar:
         title: إنشاء قاعدة IP جديدة
       no_ip_block_selected: لم يطرأ أي تغيير على أي قاعدة IP بما أنه لم يتم اختيار أي واحد
       title: قواعد الـIP
-    pending_accounts:
-      title: الحسابات المعلقة (%{count})
     relationships:
       title: علاقات %{acct}
     relays:
@@ -551,6 +563,7 @@ ar:
     report_notes:
       created_msg: تم إنشاء ملاحظة الشكوى بنجاح!
       destroyed_msg: تم حذف ملاحظة الشكوى بنجاح!
+      today_at: اليوم على %{time}
     reports:
       account:
         notes:
@@ -560,31 +573,29 @@ ar:
           other: "%{count} ملاحظات"
           two: "%{count} ملاحظتَيْن"
           zero: "%{count} ملاحظات"
-        reports:
-          few: "%{count} تقارير"
-          many: "%{count} تقارير"
-          one: "%{count} تقرير واحد"
-          other: "%{count} تقارير"
-          two: "%{count} تقريرَيْن"
-          zero: "%{count} تقارير"
+      action_log: سجل المراجعة
       action_taken_by: تم اتخاذ الإجراء مِن طرف
       are_you_sure: هل أنت متأكد ؟
       assign_to_self: عين لي
       assigned: تعين رئيس
       by_target_domain: نطاق الحساب المبلّغ عنه
+      category: الفئة
       comment:
         none: لا شيء
       created_at: ذكرت
+      delete_and_resolve: حذف وحسم
       forwarded: أُعيد توجيهه
       forwarded_to: أُعيد توجيهه إلى %{domain}
       mark_as_resolved: اعتبار الشكوى كمحلولة
       mark_as_unresolved: علم كغير محلولة
+      no_one_assigned: لا أحد
       notes:
         create: اضف ملاحظة
         create_and_resolve: الحل مع ملاحظة
         create_and_unresolve: إعادة فتح مع ملاحظة
         delete: حذف
         placeholder: قم بوصف الإجراءات التي تم اتخاذها أو أي تحديثات أخرى ذات علاقة...
+        title: الملاحظات
       reopen: إعادة فتح الشكوى
       report: 'الشكوى #%{id}'
       reported_account: حساب مُبلّغ عنه
@@ -592,11 +603,13 @@ ar:
       resolved: معالجة
       resolved_msg: تم حل تقرير بنجاح!
       status: الحالة
+      statuses: المحتوى المبلغ عنه
       target_origin: مصدر الحساب المبلغ عنه
       title: الشكاوى
       unassign: إلغاء تعيين
       unresolved: غير معالجة
       updated_at: محدث
+      view_profile: اعرض الصفحة التعريفية
     rules:
       add_new: إضافة قاعدة
       delete: حذف
@@ -698,15 +711,12 @@ ar:
       destroyed_msg: تم حذف التحميل مِن الموقع بنجاح!
     statuses:
       back_to_account: العودة إلى صفحة الحساب
+      back_to_report: العودة إلى صفحة التقرير
       batch:
-        delete: حذف
-        nsfw_off: تعيينه كمنشور غير حساس
-        nsfw_on: تعيينه كمنشور حساس
+        remove_from_report: إزالة من التقرير
       deleted: محذوف
-      failed_to_execute: خطأ في التفعيل
       media:
         title: الوسائط
-      no_media: لا تحتوي على وسائط
       no_status_selected: لم يطرأ أي تغيير على أي منشور بما أنه لم يتم اختيار أي واحد
       title: منشورات الحساب
       with_media: تحتوي على وسائط
@@ -719,21 +729,37 @@ ar:
       sidekiq_process_check:
         message_html: لا توجد عملية Sidekiq قيد التشغيل لقائمة الانتظار %{value}. يرجى مراجعة إعدادات Sidekiq الخاصة بك
     tags:
-      accounts_today: استخدامات هذا اليوم
-      accounts_week: استخدامات هذا الأسبوع
-      breakdown: توزيع استخدام اليوم حسب المصدر
-      last_active: آخر نشاط
-      most_popular: الأكثر شعبية
-      most_recent: الأحدث
-      name: الوسم
       review: حالة المراجعة
-      reviewed: مُراجَع
-      title: الوسوم
-      trending_right_now: متداول اللحظة
-      unique_uses_today: "%{count} منشورات اليوم"
-      unreviewed: غير مُراجَع
       updated_msg: تم تحديث إعدادات الوسوم بنجاح
     title: الإدارة
+    trends:
+      allow: السماح
+      approved: مصادق عليه
+      disallow: رفض
+      links:
+        allow: السماح بالرابط
+        allow_provider: السماح للناشر
+        disallow: رفض الرابط
+        disallow_provider: عدم السماح للناشر
+        title: الروابط المتداولة
+      pending_review: في انتظار المراجعة
+      preview_card_providers:
+        title: الناشرون
+      rejected: مرفوض
+      tags:
+        current_score: التقييم الحالي %{score}
+        dashboard:
+          tag_accounts_measure: استخدامات فريدة
+          tag_languages_dimension: أفضل اللغات
+          tag_servers_dimension: الخوادم الأكثر نشاطا
+          tag_servers_measure: خوادم أخرى
+          tag_uses_measure: إجمالي الاستخدامات
+        listable: يمكن اقتراحه
+        not_listable: لن يتم اقتراحه
+        not_trendable: لن يظهر في المتداولة
+        not_usable: لا يمكن استخدامه
+        title: الوسوم المتداولة
+      title: المتداوَلة
     warning_presets:
       add_new: إضافة واحد جديد
       delete: حذف
@@ -748,9 +774,6 @@ ar:
       body: قام %{reporter} بالإبلاغ عن %{target}
       body_remote: أبلغ شخص ما من %{domain} عن %{target}
       subject: تقرير جديد ل%{instance} (#%{id})
-    new_trending_tag:
-      body: 'الوسم #%{name} متداوَل اليوم، ولكن لم يتم مراجعته من قبل. لن يتم عرضه علنا إلا إذا سمحت بذلك، أو قم بحفظ هذه الإستمارة كما هي حتى تتجاهله مستقبَلًا.'
-      subject: وسم جديد في انتظار المراجعة على %{instance} (#%{name})
   aliases:
     add_new: أنشئ كُنية
     created_msg: تم إنشاء الكُنية الجديدة بنجاح. يمكنكم الآن الشروع في الإنتقال مِن حسابكم القديم.
@@ -802,6 +825,7 @@ ar:
     invalid_reset_password_token: رمز إعادة تعيين كلمة المرور غير صالح أو منتهي الصلاحية. يرجى طلب واحد جديد.
     link_to_otp: أدخل رمز ذو عامِلين من هاتفك أو رمز الاسترجاع
     link_to_webauth: استخدم جهاز مفتاح الأمان الخاص بك
+    log_in_with: الولوج عبر
     login: تسجيل الدخول
     logout: خروج
     migrate_account: الانتقال إلى حساب آخر
@@ -957,9 +981,10 @@ ar:
     changes_saved_msg: تم حفظ التعديلات بنجاح!
     copy: نسخ
     delete: احذف
-    no_batch_actions_available: ليس هناك أية إجراءات بالجملة على هذه الصفحة
+    none: لا شيء
     order_by: ترتيب بحسب
     save_changes: حفظ التغييرات
+    today: اليوم
     validation_errors:
       few: هناك شيء ما ليس على ما يرام! يُرجى مراجعة الأخطاء الـ %{count} أدناه
       many: هناك شيء ما ليس على ما يرام! يُرجى مراجعة الأخطاء الـ %{count} أدناه
@@ -969,26 +994,6 @@ ar:
       zero: هناك شيء ما ليس على ما يرام! يُرجى مراجعة الأخطاء الـ %{count} أدناه
   html_validator:
     invalid_markup: 'يحتوي على علامة HTML غير صالحة: %{error}'
-  identity_proofs:
-    active: نشط
-    authorize: نعم ، قم بترخيصه
-    authorize_connection_prompt: هل تريد ترخيص هذا الاتصال المشفّر؟
-    errors:
-      failed: فشل اتصال التشفير. الرجاء المحاولة مرة أخرى من %{provider}.
-      keybase:
-        invalid_token: رموز Keybase هي تجزئة من التوقيعات ويجب أن تكون 66 حرف hex
-        verification_failed: Keybase لا يستطيع التعرف على هذا الرمز كتوقيع لمستخدم Keybase %{kb_username}، الرجاء إعادة المحاولة من Keybase.
-      wrong_user: لا يمكن إنشاء دليل لـ%{proving} أثناء تسجيل الدخول كـ%{current}. قم بتسجيل الدخول كـ%{proving} ثم حاول مرة أخرى.
-    explanation_html: هنا يمكنك أن تربط بشكل مُشفر هوياتك الأُخريات من منصات أخرى مثل Keybase. هذا يتيح للأشخاص الآخرين إرسال رسائل مشفرة إليك على تلك المنصات ويسمح لهم بالثقة في أن المحتوى الذي ترسله لهم يأتي منك أنت.
-    i_am_html: أنا %{username} على %{service}.
-    identity: الهوية
-    inactive: ليس نشطا
-    publicize_checkbox: 'وقم بتبويق هذا:'
-    publicize_toot: 'متحقق منه! أنا %{username} على %{service}: %{url}'
-    remove: احذف الدليل مِن الحساب
-    removed: تم حذف الدليل مِن الحساب بنجاح
-    status: حالة التحقق
-    view_proof: عرض الدليل
   imports:
     errors:
       over_rows_processing_limit: يحتوي على أكثر من %{count} صف
@@ -1274,7 +1279,6 @@ ar:
     edit_profile: عدّل الصفحة التعريفية
     export: تصدير البيانات
     featured_tags: الوسوم الشائعة
-    identity_proofs: دلائل الهوية
     import: استيراد
     import_and_export: استيراد وتصدير
     migrate: تهجير الحساب
@@ -1320,13 +1324,11 @@ ar:
       zero: 'يحتوي على وسوم غير مسموح بها: %{tags}'
     errors:
       in_reply_not_found: إنّ المنشور الذي تحاول الرد عليه غير موجود على ما يبدو.
-    language_detection: اكتشاف اللغة تلقائيا
     open_in_web: افتح في الويب
     over_character_limit: تم تجاوز حد الـ %{max} حرف المسموح بها
     pin_errors:
       limit: لقد بلغت الحد الأقصى للتبويقات المدبسة
       ownership: لا يمكن تدبيس تبويق نشره شخص آخر
-      private: لا يمكن تدبيس تبويق لم يُنشر للعامة
       reblog: لا يمكن تثبيت ترقية
     poll:
       total_people:
@@ -1517,24 +1519,19 @@ ar:
       subject: الرجاء تأكيد محاولة الولوج
       title: محاولة الولوج
     warning:
-      explanation:
-        disable: عندما يتم تجميد حسابك، تظل بيانات حسابك سليمة، ولكن لا يمكنك تنفيذ أي إجراءات حتى يتم فتحه.
-        sensitive: سيتم التعامل مع ملفات الوسائط المحملة والوسائط المرتبطة لديك على أنها حساسة.
-        silence: في حين أن حسابك محدود، فإن الأشخاص الذين يتبعونك بالفعل سيشاهدون تبويقاتك على هذا الخادم، وقد يتم استثناؤك من قوائم عامة مختلفة. ومع ذلك، قد يمكن للآخرين متابعتك يدويا.
-        suspend: تم إيقاف حسابك بشكل دائم، وتم إزالة كافة تبويقاتك وملفات الوسائط التي تم تحميلها بشكل لا رجعة فيه من هذا الخادم، و كذا على الخوادم حيث كان لديك فيها متابِعون.
-      get_in_touch: يمكنك الرد على هذا البريد الإلكتروني للاتصال بفريق %{instance}.
+      categories:
+        spam: مزعج
+        violation: ينتهك المحتوى المبادئ التوجيهية التالية للمجتمع
+      reason: 'السبب:'
       review_server_policies: مراجعة شروط السيرفر
-      statuses: 'خصيصا لـ:'
       subject:
         disable: تم تجميد حسابك %{acct}
         none: تحذير إلى %{acct}
-        sensitive: تم وضع علامة حساسة على وسائط منشورات حسابك %{acct}
         silence: إنّ حسابك %{acct} محدود
         suspend: لقد تم تعليق حسابك %{acct}
       title:
         disable: الحساب مُجمَّد
         none: تحذير
-        sensitive: تم وضع علامة حساسة على الوسائط الخاصة بك
         silence: الحساب محدود
         suspend: الحساب مُعلَّق
     welcome:
diff --git a/config/locales/ast.yml b/config/locales/ast.yml
index d0a8b3d34..a10bd5f2f 100644
--- a/config/locales/ast.yml
+++ b/config/locales/ast.yml
@@ -12,10 +12,10 @@ ast:
     contact_unavailable: N/D
     discover_users: Usuarios nuevos
     documentation: Documentación
-    federation_hint_html: Con una cuenta en %{instance} vas ser a siguir a persones de cualesquier sirvidor de Mastodon y más.
+    federation_hint_html: Con una cuenta en %{instance} vas ser a siguir a persones de cualesquier sirvidor de Mastodon y facer más coses.
     get_apps: En preseos móviles
     hosted_on: Mastodon ta agospiáu en %{domain}
-    learn_more: Deprender más
+    learn_more: Saber más
     privacy_policy: Política de privacidá
     server_stats: 'Estadístiques del sirvidor:'
     source_code: Códigu fonte
@@ -23,7 +23,7 @@ ast:
       one: estáu
       other: estaos
     status_count_before: Que crearon
-    tagline: Sigui a persones y conoz a más
+    tagline: Sigui a persones y conoz a más xente
     terms: Términos del serviciu
     unavailable_content_description:
       domain: Sirvidor
@@ -54,7 +54,6 @@ ast:
       bot: Robó
   admin:
     accounts:
-      approve_all: Aprobar too
       are_you_sure: "¿De xuru?"
       by_domain: Dominiu
       domain: Dominiu
@@ -65,7 +64,6 @@ ast:
         title: Allugamientu
       protocol: Protocolu
       reject: Refugar
-      reject_all: Refugar too
       resend_confirmation:
         already_confirmed: Esti usuariu yá ta confirmáu
         send: Reunviar les instrucciones
@@ -75,14 +73,13 @@ ast:
         moderator: Llendador
         user: Usuariu
       statuses: Estaos
-      time_in_queue: Esperando na cola %{time}
       title: Cuentes
       username: Nome d'usuariu
     announcements:
-      destroyed_msg: "¡L'anunciu desanicióse con ésitu!"
+      destroyed_msg: "¡L'anunciu desanicióse correutamente!"
       new:
         title: Anunciu nuevu
-      published_msg: "¡L'anunciu espublizóse con ésitu!"
+      published_msg: "¡L'anunciu espublizóse coreutamente!"
       title: Anuncios
     custom_emojis:
       by_domain: Dominiu
@@ -101,16 +98,10 @@ ast:
         available: Disponible
         expired: Caducó
       title: Invitaciones
-    pending_accounts:
-      title: Cuentes pendientes (%{count})
     relays:
       save_and_enable: Guardar y activar
       status: Estáu
     reports:
-      account:
-        reports:
-          one: "%{count} informe"
-          other: "%{count} informes"
       are_you_sure: "¿De xuru?"
       status: Estáu
       title: Informes
@@ -122,12 +113,6 @@ ast:
         title: Descripción del sirvidor
       site_title: Nome del sirvidor
       title: Axustes del sitiu
-    statuses:
-      failed_to_execute: Fallu al executar
-    tags:
-      most_recent: Lo más recién
-      name: Etiqueta
-      title: Etiquetes
     title: Alministración
   admin_mailer:
     new_pending_account:
@@ -135,13 +120,11 @@ ast:
     new_report:
       body: "%{reporter} informó de %{target}"
       body_remote: Daquién dende %{domain} informó de %{target}
-    new_trending_tag:
-      body: 'Güei la etiqueta #%{name} ye tendencia pero nun se revisó anteriormente. Nun va amosase públicamente a nun ser que lo permitas o guardes el formulariu como ta pa nun saber más d''ello.'
   aliases:
     empty: Nun tienes nomatos.
   appearance:
     advanced_web_interface: Interfaz web avanzada
-    advanced_web_interface_hint: 'Si quies asegúrate de que s''use tol anchor de la pantalla, la interfaz web avanzada permítete configurar munches columnes estremaes pa ver tanta información al empar como quieras: Aniciu, avisos, llinia temporal federada, cualesquier cantidá de llistes y etiquetes...'
+    advanced_web_interface_hint: 'Si quies asegúrate de que s''use tol llargor de la pantalla, la interfaz web avanzada permítete configurar munches columnes estremaes pa ver tanta información al empar como quieras: Aniciu, avisos, llinia temporal federada, cualesquier cantidá de llistes y etiquetes...'
     animations_and_accessibility: Animaciones y accesibilidá
     confirmation_dialogs: Diálogos de confirmación
     discovery: Descubrición
@@ -155,8 +138,8 @@ ast:
     warning: Ten munchu curiáu con estos datos, ¡enxamás nun los compartas con naide!
   auth:
     change_password: Contraseña
-    checkbox_agreement_html: Aceuto les <a href="%{rules_path}" target="_blank">regles del sirvidor</a> y los <a href="%{terms_path}" target="_blank">términos del serviciu</a>
-    checkbox_agreement_without_rules_html: Aceuto los <a href="%{terms_path}" target="_blank"> términos del serviciu</a>
+    checkbox_agreement_html: Acepto les <a href="%{rules_path}" target="_blank">regles del sirvidor</a> y los <a href="%{terms_path}" target="_blank">términos del serviciu</a>
+    checkbox_agreement_without_rules_html: Acepto los <a href="%{terms_path}" target="_blank"> términos del serviciu</a>
     delete_account: Desaniciu de la cuenta
     delete_account_html: Si deseyes desaniciar la to cuenta, pues <a href="%{path}">siguir equí</a>. Va pidísete la confirmación.
     description:
@@ -234,13 +217,10 @@ ast:
     resources: Recursos
   generic:
     all: Too
-    changes_saved_msg: "¡Los cambeos guardáronse con ésitu!"
+    changes_saved_msg: "¡Los cambeos guardáronse correutamente!"
     order_by: Clasificación
-    save_changes: Guardar cambeos
-  identity_proofs:
-    authorize: Sí, autorizar
-    i_am_html: Soi %{username} de %{service}.
-    identity: Identidá
+    save_changes: Guardar los cambeos
+    today: güei
   imports:
     modes:
       merge: Mecíu
@@ -353,7 +333,7 @@ ast:
       mac: Mac
       other: plataforma desconocida
     revoke: Revocar
-    revoke_success: La sesión revocóse con esitu
+    revoke_success: La sesión revocóse correutamente
     title: Sesiones
   settings:
     account: Cuenta
@@ -384,11 +364,9 @@ ast:
         one: "%{count} videu"
         other: "%{count} vídeos"
     boosted_from_html: Compartióse'l barritu dende %{acct_link}
-    language_detection: Deteutala automáticamente
     pin_errors:
       limit: Yá fixesti'l númberu máximu de barritos
       ownership: Nun pue fixase'l barritu d'otra persona
-      private: Nun puen fixase los barritos que nun seyan públicos
       reblog: Nun pue fixase un barritu compartíu
     poll:
       total_people:
@@ -418,16 +396,14 @@ ast:
   two_factor_authentication:
     disable: Desactivar
     enabled: L'autenticación en dos pasos ta activada
-    enabled_success: L'autenticación en dos pasos activóse con ésitu
+    enabled_success: L'autenticación en dos pasos activóse correutamente
     generate_recovery_codes: Xenerar códigos de recuperación
     lost_recovery_codes: Los códigos de recuperación permítente recuperar l'accesu a la cuenta si pierdes el teléfonu. Si tamién pierdes estos códigos, pues rexeneralos equí. Los códigos de recuperación vieyos van invalidase.
     recovery_codes: Códigos de recuperación
-    recovery_codes_regenerated: Los códigos de recuperación rexeneráronse con ésitu
+    recovery_codes_regenerated: Los códigos de recuperación rexeneráronse correutamente
     webauthn: Claves d'autenticación
   user_mailer:
     warning:
-      explanation:
-        suspend: La to cuenta suspendióse y tolos espublizamientos qu'espublizares desaniciáronse de mou irreversible d'esti sirvidor y sirvidores onde teníes siguidores.
       subject:
         suspend: Suspendióse la cuenta %{acct}
       title:
diff --git a/config/locales/bg.yml b/config/locales/bg.yml
index ffa78b386..f97d6508f 100644
--- a/config/locales/bg.yml
+++ b/config/locales/bg.yml
@@ -89,7 +89,6 @@ bg:
     accounts:
       add_email_domain_block: Блокиране на имейл домейн
       approve: Одобряване
-      approve_all: Одобряване на всички
       are_you_sure: Сигурни ли сте?
       avatar: Аватар
       by_domain: Домейн
@@ -135,7 +134,6 @@ bg:
         active: Активно
         all: Всичко
         pending: Чакащо
-        silenced: Заглушено
         suspended: Спряно
         title: Модерация
       moderation_notes: Модераторни бележки
@@ -152,7 +150,6 @@ bg:
       push_subscription_expires: PuSH абонаментът изтича
       redownload: Опресняване на профил
       reject: Отхвърляне
-      reject_all: Отхвърляне на всичко
       rejected_msg: Успешно отхвърлена заявка за регистрация на %{username}
       remove_avatar: Премахване на аватар
       remove_header: Премахване на заглавна част
diff --git a/config/locales/bn.yml b/config/locales/bn.yml
index 7e6fee889..dd3eb91d9 100644
--- a/config/locales/bn.yml
+++ b/config/locales/bn.yml
@@ -94,7 +94,6 @@ bn:
     accounts:
       add_email_domain_block: নিষিদ্ধ করা ই-মেইল ডোমেইন
       approve: অনুমোদন দিন
-      approve_all: প্রত্যেক কে অনুমতি দিন
       are_you_sure: আপনি কি নিশ্চিত ?
       avatar: অবতার
       by_domain: ওয়েবসাইট/কার্যক্ষেত্র
@@ -139,7 +138,6 @@ bn:
         active: চালু
         all: সব
         pending: অপেক্ষিত আছে
-        silenced: নীরব করা হয়েছে
         suspended: স্থগিত করা হয়েছে
         title: প্রশাসনা
       moderation_notes: প্রশাসনের কিছু লেখা
@@ -156,7 +154,6 @@ bn:
       push_subscription_expires: PuSH সাবস্ক্রিপশনের মেয়াদ শেষ হয়ে গেছে
       redownload: প্রোফাইল সতেজ করুন
       reject: প্রত্যাখ্যান করুন
-      reject_all: সব প্রত্যাখ্যান করুন
       remove_avatar: অবতার অপসারণ করুন
       remove_header: হেডার এর ছবি অপসারণ করুন
       resend_confirmation:
@@ -184,7 +181,6 @@ bn:
       statuses: স্থিতিগুলি
       subscribe: সদস্যতা
       suspended: স্থগিত করা হয়েছে
-      time_in_queue: কাতারে অপেক্ষা করছে %{time}
       title: একাউন্ট সমূহ
       unconfirmed_email: অনিশ্চিত ইমেল
       undo_silenced: নীরবতা পূর্বাবস্থা
@@ -280,8 +276,6 @@ bn:
         expired: মেয়াদোত্তীর্ণ
         title: ফিল্টার
       title: আমন্ত্রণগুলি
-    pending_accounts:
-      title: মুলতুবি থাকা অ্যাকাউন্টগুলি (%{count})
     relationships:
       title: "%{acct} এর সম্পর্কগুলি"
     relays:
diff --git a/config/locales/br.yml b/config/locales/br.yml
index d4320859f..31b8e2c47 100644
--- a/config/locales/br.yml
+++ b/config/locales/br.yml
@@ -72,13 +72,11 @@ br:
         remote: A-bell
       moderation:
         active: Oberiant
-        silenced: Mudet
         suspended: Astalet
       perform_full_suspension: Astalañ
       protocol: Komenad
       public: Publik
       reject: Nac'hañ
-      reject_all: Nac'hañ pep hini
       remove_header: Dilemel an talbenn
       reset: Adderaouekaat
       reset_password: Adderaouekaat ar ger-tremen
@@ -166,13 +164,7 @@ br:
       site_title: Anv ar servijer
       title: Arventennoù al lec'hienn
     statuses:
-      batch:
-        delete: Dilemel
       deleted: Dilamet
-      no_media: Media ebet
-    tags:
-      name: Ger-klik
-      title: Gerioù-klik
     warning_presets:
       add_new: Ouzhpenniñ unan nevez
       delete: Dilemel
@@ -244,8 +236,6 @@ br:
     copy: Eilañ
     delete: Dilemel
     order_by: Urzhiañ dre
-  identity_proofs:
-    identity: Identelezh
   invites:
     expires_in:
       '1800': 30 munutenn
@@ -329,5 +319,27 @@ br:
     welcome:
       edit_profile_action: Kefluniañ ar profil
       subject: Donemat e Mastodoñ
+      title: Degemer mat e bourzh, %{name}!
+  users:
+    signed_in_as: 'Aet-tre evel:'
+    suspicious_sign_in_confirmation: N'ez aec'h ket tre d'ho kont deus ar benveg-se araok, neuze eo kaset deoc'h ur c'hod surentez d'ho postel evit bezañ sur c'hwi eo.
+  verification:
+    explanation_html: 'Gallout a rit <strong>gwiriañ c''hwi a zo perc''henn. ez liammoù metadata ho profil</strong>. Ret eo d''al lec''hienn web staget enderc''hel ul liamm evit mont d''ho profil Mastodon. <strong>Ret eo<strong> d''al liamm-se enderc''hel un doarenn <code>rel="me"</code>. Ne ra forzh an destenn a zo e-barzh al liamm. Setu ur skouer:'
+    verification: Amprouadur
   webauthn_credentials:
+    add: Ouzphennañ un alc'hwez surentez nevez
+    create:
+      error: Ur guden a oa en ur ouzphennañ hoc'h alc'hwez surentez. Mar plij, klaskit c'hoazh.
+      success: Hoc'h alc'hwez surentez a zo bet ouzphennet gant berzh.
     delete: Dilemel
+    delete_confirmation: Sur oc'h e fell deoc'h dilemel an alc'hwez surentez-se ?
+    description_html: Ma'z eo aotreet <strong>dilesadur dre alc'hwez surentez</strong>, ret e vo deoc'h implijout unan eus hoc'h alc'hwezioù surentez evit mont-tre.
+    destroy:
+      error: Ur gudenn a oa en ur zilemel hoc'h alc'hwez surentez. Mar plij, klaskit c'hoazh.
+      success: Hoc'h alc'hwez surentez a zo bet dilamet gant berzh.
+    invalid_credential: Alc'hwez surentez direizh
+    nickname_hint: Skrivit lesanv hoc'h alc'hwez surentez nevez
+    not_enabled: WebAuthn n'eo ket aotreet ganeoc'h c'hoazh
+    not_supported: Alc'hwezioù surentez a zo diembreg gant ar merdeer-se
+    otp_required: Evit implijout alc'hwezioù surentez, aotrit dilesadur dre eil-elfenn da gentañ.
+    registered_on: Enrollet d'ar %{date}
diff --git a/config/locales/ca.yml b/config/locales/ca.yml
index c0aef6c37..a3aa1fb92 100644
--- a/config/locales/ca.yml
+++ b/config/locales/ca.yml
@@ -16,10 +16,10 @@ ca:
     contact: Contacte
     contact_missing: No configurat
     contact_unavailable: N/D
-    discover_users: Descobreix usuaris
+    discover_users: Descobrir usuaris
     documentation: Documentació
     federation_hint_html: Amb un compte de %{instance} podràs seguir persones de qualsevol servidor Mastodon i altres.
-    get_apps: Prova una aplicació mòbil
+    get_apps: Provar una aplicació mòbil
     hosted_on: Mastodon allotjat a %{domain}
     instance_actor_flash: |
       Aquest compte és un actor virtual utilitzat per a representar al propi servidor i no cap usuari individual.
@@ -99,7 +99,6 @@ ca:
     accounts:
       add_email_domain_block: Afegir el domini de correu a la llista negra
       approve: Aprova
-      approve_all: Aprova'ls tots
       approved_msg: L’aplicació del registre de %{username} s’ha aprovat amb èxit
       are_you_sure: N'estàs segur?
       avatar: Avatar
@@ -114,6 +113,7 @@ ca:
       confirm: Confirma
       confirmed: Confirmat
       confirming: Confirmant
+      custom: Personalitzat
       delete: Esborra les dades
       deleted: Esborrats
       demote: Degrada
@@ -132,7 +132,7 @@ ca:
       enabled: Habilitat
       enabled_msg: El compte de %{username} s’ha descongelat amb èxit
       followers: Seguidors
-      follows: Segueix
+      follows: Seguits
       header: Capçalera
       inbox_url: URL de la safata d'entrada
       invite_request_text: Motiu del registre
@@ -153,7 +153,6 @@ ca:
         active: Actiu
         all: Tot
         pending: Pendent
-        silenced: Silenciat
         suspended: Suspès
         title: Moderació
       moderation_notes: Notes de moderació
@@ -171,7 +170,6 @@ ca:
       redownload: Actualitza el perfil
       redownloaded_msg: El perfil de %{username} s’ha refrescat des de l’origen amb èxit
       reject: Rebutja
-      reject_all: Rebutja'ls tots
       rejected_msg: L’aplicació de registre de %{username} s’ha rebutjat amb èxit
       remove_avatar: Eliminar avatar
       remove_header: Treu la capçalera
@@ -206,12 +204,14 @@ ca:
       silence: Silenci
       silenced: Silenciat
       statuses: Tuts
+      strikes: Accions anteriors
       subscribe: Subscriu
       suspended: Suspès
       suspension_irreversible: Les dades d’aquest compte s’han suprimit irreversiblament. Pots desfer la suspensió del compte per a fer-lo usable però això no recuperarà les dades si és que en tenia.
       suspension_reversible_hint_html: El compte ha estat suspès i les dades seran totalment suprimides el %{date}. Fins llavors, el compte pot ser restaurat sense problemes. Si vols suprimir immediatament totes les dades del compte, ho pots fer a continuació.
-      time_in_queue: Esperant en la cua %{time}
       title: Comptes
+      unblock_email: Desbloqueja l'adreça de correu
+      unblocked_email_msg: Adreça de correu de %{username} desbloquejada amb èxit
       unconfirmed_email: Correu electrònic sense confirmar
       undo_sensitized: Desmarcar com a sensible
       undo_silenced: Deixa de silenciar
@@ -226,6 +226,7 @@ ca:
       whitelisted: Llista blanca
     action_logs:
       action_types:
+        approve_user: Aprova l'usuari
         assigned_to_self_report: Assigna l'informe
         change_email_user: Canvia l'adreça electrònica per l'usuari
         confirm_user: Confirma l'usuari
@@ -243,6 +244,7 @@ ca:
         destroy_domain_allow: Esborra el domini permès
         destroy_domain_block: Esborra el bloqueig de domini
         destroy_email_domain_block: Esborra el bloqueig de domini de l'adreça de correu
+        destroy_instance: Purga Domini
         destroy_ip_block: Eliminar regla IP
         destroy_status: Esborra el tut
         destroy_unavailable_domain: Esborra domini no disponible
@@ -255,6 +257,7 @@ ca:
         enable_user: Activa l'usuari
         memorialize_account: Memoritza el compte
         promote_user: Promou l'usuari
+        reject_user: Rebutja l'usuari
         remove_avatar_user: Eliminar avatar
         reopen_report: Reobre l'informe
         reset_password_user: Restableix la contrasenya
@@ -263,6 +266,7 @@ ca:
         silence_account: Silencia el compte
         suspend_account: Suspèn el compte
         unassigned_report: Des-assigna l'informe
+        unblock_email_account: Desbloqueja l'adreça de correu
         unsensitive_account: Desmarcar els mèdia en el teu compte com a sensibles
         unsilence_account: Desfés el silenci del compte
         unsuspend_account: Desfés la suspensió del compte
@@ -271,6 +275,7 @@ ca:
         update_domain_block: Actualitza el Bloqueig de Domini
         update_status: Actualitza l'estat
       actions:
+        approve_user_html: "%{name} ha aprovat el registre de %{target}"
         assigned_to_self_report_html: "%{name} han assignat l'informe %{target} a ells mateixos"
         change_email_user_html: "%{name} ha canviat l'adreça de correu electrònic del usuari %{target}"
         confirm_user_html: "%{name} ha confirmat l'adreça de correu electrònic de l'usuari %{target}"
@@ -288,6 +293,7 @@ ca:
         destroy_domain_allow_html: "%{name} no permet la federació amb el domini %{target}"
         destroy_domain_block_html: "%{name} ha desbloquejat el domini %{target}"
         destroy_email_domain_block_html: "%{name} ha desbloquejat el domini de correu electrònic %{target}"
+        destroy_instance_html: "%{name} ha purgat el domini %{target}"
         destroy_ip_block_html: "%{name} ha esborrat la regla per a l'IP %{target}"
         destroy_status_html: "%{name} ha eliminat el tut de %{target}"
         destroy_unavailable_domain_html: "%{name} ha représ el lliurament delivery al domini %{target}"
@@ -300,6 +306,7 @@ ca:
         enable_user_html: "%{name} ha activat l'accés del usuari %{target}"
         memorialize_account_html: "%{name} ha convertit el compte %{target} en una pàgina de memorial"
         promote_user_html: "%{name} ha promogut l'usuari %{target}"
+        reject_user_html: "%{name} ha rebutjat el registre de %{target}"
         remove_avatar_user_html: "%{name} ha eliminat l'avatar de %{target}"
         reopen_report_html: "%{name} ha reobert l'informe %{target}"
         reset_password_user_html: "%{name} ha restablert la contrasenya de l'usuari %{target}"
@@ -308,6 +315,7 @@ ca:
         silence_account_html: "%{name} ha silenciat el compte de %{target}"
         suspend_account_html: "%{name} ha suspès el compte de %{target}"
         unassigned_report_html: "%{name} ha des-assignat l'informe %{target}"
+        unblock_email_account_html: "%{name} ha desbloquejat l'adreça de correu de %{target}"
         unsensitive_account_html: "%{name} ha desmarcat com sensibles els mèdia de %{target}"
         unsilence_account_html: "%{name} ha llevat el silenci del compte %{target}"
         unsuspend_account_html: "%{name} ha llevat la suspensió del compte de %{target}"
@@ -341,7 +349,7 @@ ca:
       assign_category: Assigna una categoria
       by_domain: Domini
       copied_msg: S'ha creat correctament la còpia local de l'emoji
-      copy: Copia
+      copy: Copiar
       copy_failed_msg: No s'ha pogut fer una còpia local d'aquest emoji
       create_new_category: Crea una categoria nova
       created_msg: Emoji creat amb èxit!
@@ -449,12 +457,12 @@ ca:
       empty: Cap domini de correu a la llista negre.
       from_html: des de %{domain}
       new:
-        create: Afegeix un domini
+        create: Afegir un domini
         title: Nova adreça de correu en la llista negra
       title: Llista negra de correus electrònics
     follow_recommendations:
       description_html: "<strong>Seguir les recomanacions ajuda als nous usuaris a trobar ràpidament contingut interessant</strong>. Quan un usuari no ha interactuat prou amb d'altres com per a formar a qui seguir personalment, aquests comptes li seran recomanats. Es recalculen a diari a partir d'una barreja de comptes amb els compromisos recents més alts i el nombre més alt de seguidors locals per a un idioma determinat."
-      language: Per llenguatge
+      language: Per idioma
       status: Estat
       suppress: Suprimeix les recomanacions de seguiment
       suppressed: Suprimit
@@ -465,6 +473,7 @@ ca:
       back_to_limited: Limitades
       back_to_warning: Avís
       by_domain: Domini
+      confirm_purge: Estàs segur que vols eliminar permanentment les dades d'aquest domini?
       delivery:
         all: Totes
         clear: Neteja els errors de lliurament
@@ -480,6 +489,7 @@ ca:
       delivery_available: El lliurament està disponible
       delivery_error_days: Dies de fallades de lliurament
       delivery_error_hint: Si el lliurament no és possible per %{count} dies, serà automàticament marcat com a no lliurable.
+      destroyed_msg: Les dades de %{domain} ara son en la cua per a esborrat imminent.
       empty: No s'han trobat dominis.
       known_accounts:
         one: "%{count} compte conegut"
@@ -490,6 +500,7 @@ ca:
         title: Moderació
       private_comment: Comentari privat
       public_comment: Comentari públic
+      purge: Purga
       title: Federació
       total_blocked_by_us: Bloquejats per nosaltres
       total_followed_by_them: Seguits per ells
@@ -519,8 +530,6 @@ ca:
         title: Crea nova regla IP
       no_ip_block_selected: No s’ha canviat cap regla IP perquè no s’han seleccionat
       title: Regles IP
-    pending_accounts:
-      title: Comptes pendents (%{count})
     relationships:
       title: relacions del %{acct}
     relays:
@@ -542,32 +551,44 @@ ca:
     report_notes:
       created_msg: La nota del informe s'ha creat correctament!
       destroyed_msg: La nota del informe s'ha esborrat correctament!
+      today_at: Avui a les %{time}
     reports:
       account:
         notes:
           one: "%{count} nota"
           other: "%{count} notes"
-        reports:
-          one: "%{count} informe"
-          other: "%{count} informes"
+      action_log: Registre d'auditoria
       action_taken_by: Mesures adoptades per
+      actions:
+        other_description_html: Veu més opcions controlant el comportament del compte i personalitza la comunicació al compte reportat.
+        silence_description_html: El perfil serà visible només per aquells que ja el seguien o en cerca manual, limitant severament el seu alcanç. Sempre pot ser revertit.
+        suspend_description_html: El perfil i tot el seu contingut esdevindrà inaccessible fins que sigui eventualment esborrat. Interactuar amb el compte serà impossible. Reversible dins de 30 dies.
+      actions_description_html: 'Si treien el contingut ofensiu de dalt és insuficient:'
+      add_to_report: Afegir més al informe
       are_you_sure: N'estàs segur?
       assign_to_self: Assignar-me
       assigned: Moderador assignat
       by_target_domain: Domini del compte reportat
+      category: Categoria
+      category_description_html: La raó que aquest compte o contingut ha estat reportat serà citat en la comunicació amb el compte reportat
       comment:
         none: Cap
+      comment_description_html: 'Per a donar més informació, %{name} ha escrit:'
       created_at: Reportat
+      delete_and_resolve: Esborra i resol
       forwarded: Reenviat
       forwarded_to: Reenviat a %{domain}
       mark_as_resolved: Marca com a resolt
       mark_as_unresolved: Marcar com a sense resoldre
+      no_one_assigned: Ningú
       notes:
-        create: Afegeix una nota
+        create: Afegir una nota
         create_and_resolve: Resol amb una nota
         create_and_unresolve: Reobre amb una nota
         delete: Esborra
         placeholder: Descriu les accions que s'han pres o qualsevol altra actualització relacionada…
+        title: Notes
+      notes_description_html: Veu i deixa notes als altres moderadors i a tu mateix
       reopen: Reobre l'informe
       report: 'Informe #%{id}'
       reported_account: Compte reportat
@@ -575,11 +596,14 @@ ca:
       resolved: Resolt
       resolved_msg: Informe resolt amb èxit!
       status: Estat
+      statuses: Contingut reportat
+      statuses_description_html: El contingut ofensiu serà citat en comunicació amb el compte reportat
       target_origin: Origen del compte reportat
       title: Informes
       unassign: Treu l'assignació
       unresolved: No resolt
       updated_at: Actualitzat
+      view_profile: Veure perfil
     rules:
       add_new: Afegir norma
       delete: Suprimeix
@@ -681,15 +705,13 @@ ca:
       destroyed_msg: La càrrega al lloc s'ha suprimit correctament!
     statuses:
       back_to_account: Torna a la pàgina del compte
+      back_to_report: Torna a la pàgina del informe
       batch:
-        delete: Suprimeix
-        nsfw_off: Marcar com a no sensible
-        nsfw_on: Marcar com a sensible
+        remove_from_report: Treu del informe
+        report: Informe
       deleted: Esborrats
-      failed_to_execute: No s'ha pogut executar
       media:
         title: Contingut multimèdia
-      no_media: Sense contingut multimèdia
       no_status_selected: No s’han canviat els estatus perquè cap no ha estat seleccionat
       title: Estats del compte
       with_media: Amb contingut multimèdia
@@ -702,23 +724,53 @@ ca:
       sidekiq_process_check:
         message_html: No hi ha cap procés de Sidekiq executant-se per a la cua (o cues) de %{value}. Si us plau revisa la teva configuració de Sidekiq
     tags:
-      accounts_today: Usos únics actuals
-      accounts_week: Usos únics d'aquesta setmana
-      breakdown: Desglossament de l’ús actual per origen
-      last_active: Darrer actiu
-      most_popular: Més populars
-      most_recent: Més recent
-      name: Etiqueta
       review: Revisar l'estat
-      reviewed: Revisades
-      title: Etiquetes
-      trending_right_now: Actualment en tendència
-      unique_uses_today: "%{count} publicacions d'avui"
-      unreviewed: Sense revisar
       updated_msg: Ajustaments d'etiquetes actualitzats amb èxit
     title: Administració
+    trends:
+      allow: Permet
+      approved: Aprovat
+      disallow: No permès
+      links:
+        allow: Permet enllaç
+        allow_provider: Permet mitjà
+        disallow: No permetre l'enllaç
+        disallow_provider: No permetre el mitjà
+        shared_by_over_week:
+          one: Compartit per un usuari en la darrera setmana
+          other: Compartit per %{count} usuaris en la darrera setmana
+        title: Enllaços en tendència
+        usage_comparison: Compartit %{today} vegades avui, comparat amb %{yesterday} d'ahir
+      pending_review: Revisió pendent
+      preview_card_providers:
+        allowed: Els enllaços d'aquest mitjà poden estar en tendència
+        rejected: Els enllaços d'aquest mitjà no poden estar en tendència
+        title: Mitjans
+      rejected: Rebutjat
+      tags:
+        current_score: Puntuació actual %{score}
+        dashboard:
+          tag_accounts_measure: usos únics
+          tag_languages_dimension: Els millors idiomes
+          tag_servers_dimension: Els millors servidors
+          tag_servers_measure: diferents servidors
+          tag_uses_measure: total usos
+        listable: Es pot suggerir
+        not_listable: No es pot suggerir
+        not_trendable: No apareixeran en les tendències
+        not_usable: No pot ser emprat
+        peaked_on_and_decaying: Punt màxim el dia %{date}, ara decaient
+        title: Etiquetes en tendència
+        trendable: Pot aparèixer en les tendències
+        trending_rank: 'Tendència #%{rank}'
+        usable: Pot ser emprat
+        usage_comparison: Usat %{today} vegades avui, comparat amb %{yesterday} d'ahir
+        used_by_over_week:
+          one: Emprat per un usuari en la darrera setmana
+          other: Emprat per %{count} usuaris en la darrera setmana
+      title: Tendència
     warning_presets:
-      add_new: Afegeix-ne un de nou
+      add_new: Afegir-ne un de nou
       delete: Esborra
       edit_preset: Edita l'avís predeterminat
       empty: Encara no has definit cap preavís.
@@ -731,9 +783,16 @@ ca:
       body: "%{reporter} ha informat de %{target}"
       body_remote: Algú des de el domini %{domain} ha informat sobre %{target}
       subject: Informe nou per a %{instance} (#%{id})
-    new_trending_tag:
-      body: 'La etiqueta #%{name} està actualment en tendència però no s''ha revisat prèviament. No es mostrarà públicament tret que ho permetis o guardis el formulari tal com està per a no tornar a escoltar res al respecte.'
-      subject: Nova etiqueta pendent de revisió a %{instance} (#%{name})
+    new_trending_links:
+      body: Els enllaços següents son tendència avui però els seus mitjans no han estat verificats. No seran mostrats públicament fins que els aprovis. No es generaran noves notificacions dels mateixos mitjans.
+      no_approved_links: Actualment no hi ha enllaços en tendència aprovats.
+      requirements: L'enllaç en tendència més baixa aprovat és actualment "%{lowest_link_title}" amb una puntuació de %{lowest_link_score}.
+      subject: Nou enllaços en tendència pendents de revisar a %{instance}
+    new_trending_tags:
+      body: 'Les següents etiquetes son tendència avui però no han estat prèviament revisades. No seran mostrades públicament fins que les aprovis:'
+      no_approved_tags: Actualment no hi ha etiquetes en tendència aprovades.
+      requirements: L'etiqueta en tendència més baixa aprovada és actualment "%{lowest_tag_name}" amb una puntuació de %{lowest_tag_score}.
+      subject: Noves etiquetes en tendència pendents de ser revisades a %{instance}
   aliases:
     add_new: Crea un àlies
     created_msg: Nou àlies creat amb èxit. Ara pots iniciar el moviment des de'l compte vell.
@@ -743,7 +802,7 @@ ca:
     remove: Desvincula l'àlies
   appearance:
     advanced_web_interface: Interfície web avançada
-    advanced_web_interface_hint: 'Si vols fer ús de tota l''amplada de la teva pantalla, l''interfície web avançada et permet configurar diverses columnes per a veure molta més informació al mateix temps: Inici, notificacions, línia de temps federada i qualsevol número de llistes i etiquetes.'
+    advanced_web_interface_hint: 'Si vols fer ús de tota l''amplada de la teva pantalla, l''interfície web avançada et permet configurar diverses columnes per a veure molta més informació al mateix temps: Inici, notificacions, línia de temps federada i qualsevol quantitat de llistes i etiquetes.'
     animations_and_accessibility: Animacions i accessibilitat
     confirmation_dialogs: Diàlegs de confirmació
     discovery: Descobriment
@@ -771,7 +830,7 @@ ca:
   auth:
     apply_for_account: Demana una invitació
     change_password: Contrasenya
-    checkbox_agreement_html: Estic d'acord amb les <a href="%{rules_path}" target="_blank">normes del servidor</a> i <a href="%{terms_path}" target="_blank"> els termes del servei</a>
+    checkbox_agreement_html: Accepto les <a href="%{rules_path}" target="_blank">normes del servidor</a> i <a href="%{terms_path}" target="_blank"> els termes del servei</a>
     checkbox_agreement_without_rules_html: Acepto els <a href="%{terms_path}" target="_blank">termes del servei</a>
     delete_account: Suprimeix el compte
     delete_account_html: Si vols suprimir el compte pots <a href="%{path}">fer-ho aquí</a>. Se't demanarà confirmació.
@@ -785,7 +844,8 @@ ca:
     invalid_reset_password_token: L'enllaç de restabliment de la contrasenya no és vàlid o ha caducat. Torna-ho a provar.
     link_to_otp: Introdueix el teu codi de doble factor des d’el teu mòbil o un codi de recuperació
     link_to_webauth: Usa el teu dispositiu de clau de seguretat
-    login: Inicia sessió
+    log_in_with: Inicia sessió amb
+    login: Iniciar sessió
     logout: Surt
     migrate_account: Mou a un compte diferent
     migrate_account_html: Si vols redirigir aquest compte a un altre diferent, el pots <a href="%{path}">configurar aquí</a>.
@@ -793,7 +853,7 @@ ca:
     providers:
       cas: CAS
       saml: SAML
-    register: Registre
+    register: Registrar-se
     registration_closed: "%{instance} no accepta nous membres"
     resend_confirmation: Torna a enviar el correu de confirmació
     reset_password: Restableix la contrasenya
@@ -806,7 +866,7 @@ ca:
     status:
       account_status: Estat del compte
       confirming: Esperant que es completi la confirmació del correu electrònic.
-      functional: El teu compte és plenament operatiu.
+      functional: El teu compte està completament operatiu.
       pending: La vostra sol·licitud està pendent de revisió pel nostre personal. Això pot trigar una mica. Rebreu un correu electrònic quan sigui aprovada.
       redirecting_to: El teu compte és inactiu perquè actualment està redirigint a %{acct}.
     too_fast: Formulari enviat massa ràpid, torna a provar-ho.
@@ -898,7 +958,7 @@ ca:
       download: Baixa l’arxiu
       hint_html: Pots sol·licitar un arxiu dels teus <strong>tuts i dels fitxers multimèdia pujats</strong>. Les dades exportades tindran el format ActivityPub, llegible per qualsevol programari compatible. Pots sol·licitar un arxiu cada 7 dies.
       in_progress: S'està compilant el teu arxiu...
-      request: Sol·licita el teu arxiu
+      request: Sol·licitar el teu arxiu
       size: Mida
     blocks: Persones que has blocat
     bookmarks: Marcadors
@@ -908,7 +968,7 @@ ca:
     mutes: Persones silenciades
     storage: Emmagatzematge
   featured_tags:
-    add_new: Afegir nova
+    add_new: Afegir nova etiqueta
     errors:
       limit: Ja has mostrat la quantitat màxima d'etiquetes
     hint_html: "<strong>Què son les etiquetes destacades?</strong> Es mostren de manera destacada en el teu perfil públic i permeten a les persones navegar per les teves publicacions gràcies a aquestes etiquetes. Són una gran eina per fer un seguiment de treballs creatius o de projectes a llarg termini."
@@ -929,7 +989,7 @@ ca:
       empty: No hi tens cap filtre.
       title: Filtres
     new:
-      title: Afegeix un nou filtre
+      title: Afegir un nou filtre
   footer:
     developers: Desenvolupadors
     more: Més…
@@ -938,36 +998,17 @@ ca:
   generic:
     all: Tot
     changes_saved_msg: Els canvis s'han desat correctament!
-    copy: Copia
+    copy: Copiar
     delete: Esborra
-    no_batch_actions_available: Cap accions de lot disponibles en aquesta pàgina
+    none: Cap
     order_by: Ordena per
-    save_changes: Desa els canvis
+    save_changes: Desar els canvis
+    today: avui
     validation_errors:
       one: Alguna cosa no va bé! Si us plau, revisa l'error
       other: Alguna cosa no va bé! Si us plau, revisa %{count} errors més a baix
   html_validator:
     invalid_markup: 'conté HTML markup no vàlid: %{error}'
-  identity_proofs:
-    active: Actiu
-    authorize: Sí, autoritza
-    authorize_connection_prompt: Autoritzar aquesta connexió criptogràfica?
-    errors:
-      failed: Ha fallat la connexió criptogràfica. Torna-ho a provar des de %{provider}.
-      keybase:
-        invalid_token: Els tokens de Keybase són hashs de signatures i han de tenir 66 caràcters hexadecimals
-        verification_failed: Keybase no reconeix aquest token com a signatura del usuari de Keybase %{kb_username}. Si us plau prova des de Keybase.
-      wrong_user: No es pot crear una prova per a %{proving} mentre es connectava com a %{current}. Inicia sessió com a %{proving} i prova de nou.
-    explanation_html: Aquí pots connectar criptogràficament les teves altres identitats com ara el teu perfil de Keybase. Això permet que altres persones t'enviïn missatges xifrats i confiar en el contingut que els hi envies.
-    i_am_html: Sóc %{username} a %{service}.
-    identity: Identitat
-    inactive: Inactiu
-    publicize_checkbox: 'I envia un tut d''això:'
-    publicize_toot: 'Està provat! Sóc %{username} a %{service}: %{url}'
-    remove: Elimina prova d’identitat del compte
-    removed: Prova d’identitat del compte eliminada amb èxit
-    status: Estat de verificació
-    view_proof: Veure la prova
   imports:
     errors:
       over_rows_processing_limit: conté més de %{count} files
@@ -1103,7 +1144,7 @@ ca:
     status:
       subject: "%{name} ha publicat"
   notifications:
-    email_events: Esdeveniments per a notificacions per correu electrònic
+    email_events: Esdeveniments per a notificacions de correu electrònic
     email_events_hint: 'Selecciona els esdeveniments per als quals vols rebre notificacions:'
     other_settings: Altres opcions de notificació
   number:
@@ -1183,6 +1224,9 @@ ca:
     reply:
       proceed: Procedir a respondre
       prompt: 'Vols respondre a aquest tut:'
+  reports:
+    errors:
+      invalid_rules: no fa referència a normes vàlides
   scheduled_statuses:
     over_daily_limit: Has superat el límit de %{limit} tuts programats per a aquell dia
     over_total_limit: Has superat el limit de %{limit} tuts programats
@@ -1231,7 +1275,7 @@ ca:
     view_authentication_history: Veure l'historial d'autenticació del teu compte
   settings:
     account: Compte
-    account_settings: Ajustos del compte
+    account_settings: Configuració del compte
     aliases: Àlies de compte
     appearance: Aparença
     authorized_apps: Aplicacions autoritzades
@@ -1241,7 +1285,6 @@ ca:
     edit_profile: Edita el perfil
     export: Exportació de dades
     featured_tags: Etiquetes destacades
-    identity_proofs: Proves d'identitat
     import: Importació
     import_and_export: Importació i exportació
     migrate: Migració del compte
@@ -1249,7 +1292,7 @@ ca:
     preferences: Preferències
     profile: Perfil
     relationships: Seguits i seguidors
-    statuses_cleanup: Borrat automàtic de publicacions
+    statuses_cleanup: Esborrat automàtic de publicacions
     two_factor_authentication: Autenticació de dos factors
     webauthn_authentication: Claus de seguretat
   statuses:
@@ -1266,18 +1309,19 @@ ca:
         other: "%{count} vídeos"
     boosted_from_html: Impulsat des de %{acct_link}
     content_warning: 'Avís de contingut: %{warning}'
+    default_language: El mateix que a la llengua de la interfície
     disallowed_hashtags:
       one: 'conté una etiqueta no permesa: %{tags}'
       other: 'conté les etiquetes no permeses: %{tags}'
+    edited_at: Editat %{date}
     errors:
       in_reply_not_found: El tut al qual intentes respondre sembla que no existeix.
-    language_detection: Detecta automàticament el llenguatge
     open_in_web: Obre en la web
     over_character_limit: Límit de caràcters de %{max} superat
     pin_errors:
+      direct: Les publicacions que només son visibles per els usuaris mencionats no poden ser fixades
       limit: Ja has fixat el màxim nombre de tuts
       ownership: No es pot fixar el tut d'algú altre
-      private: No es pot fixar un tut no públic
       reblog: No es pot fixar un impuls
     poll:
       total_people:
@@ -1302,25 +1346,25 @@ ca:
       unlisted: No llistat
       unlisted_long: Tothom ho pot veure, però no es mostra en les línies de temps públiques
   statuses_cleanup:
-    enabled: Esborra automàtic publicacions velles
+    enabled: Esborrar automàticament publicacions antigues
     enabled_hint: Suprimeix automàticament les teves publicacions quan arribin a un llindar d’edat especificat, tret que coincideixin amb una de les excepcions següents
     exceptions: Excepcions
-    explanation: Com que suprimir publicacions és una operació cara, es fa lentament amb el pas del temps quan el servidor no està ocupat. Per aquest motiu, és possible que les teves publicacions se suprimeixin un temps després d’assolir el llindar d’edat.
+    explanation: Com que suprimir publicacions és una operació cara, es fa lentament amb el pas del temps i quan el servidor no està ocupat. Per aquest motiu, és possible que les teves publicacions se suprimeixin un temps després d’assolir el llindar d’edat.
     ignore_favs: Ignora favorits
     ignore_reblogs: Ignora impulsos
     interaction_exceptions: Excepcions basades en interaccions
-    interaction_exceptions_explanation: Tingues en compte que no es garanteix que es suprimeixen les publicacions si passen per sota del llindar de favorit o impuls després d'haver-lo superat.
-    keep_direct: Manté missatges directes
+    interaction_exceptions_explanation: Has de tenir en compte que no es garanteix que es suprimeixen les publicacions si passen per sota del llindar de favorit o impuls després d'haver-lo superat.
+    keep_direct: Mantenir missatges directes
     keep_direct_hint: No esborra cap dels teus missatges directes
-    keep_media: Manté les publicacions amb adjunts multimèdia
+    keep_media: Mantenir les publicacions amb contingut gràfic
     keep_media_hint: No esborra cap de les teves publicacions que tinguin adjunts multimèdia
-    keep_pinned: Manté les publicacions fixades
+    keep_pinned: Mantenir les publicacions fixades
     keep_pinned_hint: No esborra cap de les teves publicacions fixades
-    keep_polls: Manté enquestes
+    keep_polls: Mantenir enquestes
     keep_polls_hint: No esborra cap de les teves enquestes
-    keep_self_bookmark: Manté les publicacions que has desat a les adreces d'interès
+    keep_self_bookmark: Mantenir les publicacions que has desat a les adreces d'interès
     keep_self_bookmark_hint: No esborra les teves pròpies publicacions si les has desat en les adreces d'interès
-    keep_self_fav: Manté les publicacions que has afavorit
+    keep_self_fav: Mantenir les publicacions que has afavorit
     keep_self_fav_hint: No esborra les teves pròpies publicacions si les has afavorit
     min_age:
       '1209600': 2 setmanes
@@ -1331,9 +1375,9 @@ ca:
       '63113904': 2 anys
       '7889238': 3 mesos
     min_age_label: Llindar d'edat
-    min_favs: Manté les publicacions afavorides més de
+    min_favs: Mantenir les publicacions afavorides més de
     min_favs_hint: No suprimeix cap de les teves publicacions que hagin rebut més d'aquesta quantitat de favorits. Deixa-ho en blanc per suprimir publicacions independentment del nombre de favorits que tinguin
-    min_reblogs: Manté les publicacions impulsades més de
+    min_reblogs: Mantenir les publicacions impulsades més de
     min_reblogs_hint: No suprimeix cap de les teves publicacions que s'hagin impulsat més que aquest número de vegades. Deixa-ho en blanc per suprimir les publicacions independentment del nombre d'impulsos que tinguin
   stream_entries:
     pinned: Tut fixat
@@ -1432,6 +1476,7 @@ ca:
     formats:
       default: "%b %d, %Y, %H:%M"
       month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Afegeix
     disable: Desactiva
@@ -1459,24 +1504,31 @@ ca:
       subject: Si us plau confirma l’intent d’inici de sessió
       title: Intent d’inici de sessió
     warning:
+      categories:
+        spam: Contingut brossa
+        violation: El contingut viola les següents guies de la comunitat
       explanation:
-        disable: Mentre el teu compte estigui congelat les dades romandran intactes però no pots dur a terme cap acció fins que no estigui desbloquejat.
-        sensitive: Els fitxers multimèdia pujats i els enllaçats seran tractas com a sensibles.
-        silence: Mentre el teu compte estigui limitat només les persones que ja et segueixen veuen les teves dades en aquest servidor i pots ser exclòs de diverses llistes públiques. No obstant això, d'altres encara poden seguir-te manualment.
-        suspend: El teu compte s'ha suspès i tots els teus tuts i fitxers multimèdia penjats s'han eliminat de manera irreversible d'aquest servidor i dels servidors on tenies seguidors.
-      get_in_touch: Pots respondre a aquest correu electrònic per a contactar amb el personal de %{instance}.
+        delete_statuses: Algunes de les teves publicacions han estat trobades que violen les guies de la comunitat i han estat per tant esborrades per els moderadors de %{instance}. Futures violacions podrien resultar en accions més punitives contra el teu compte.
+        disable: Ja no pots utilitzar el teu compte però el teu perfil i altres dades segueixen intactes. Pots demanar una copia de les teves dades, canviar els ajustaments del teu compte o esborrar-lo.
+        sensitive: A partir d'ara, tots els mèdia pujats seran marcats com a sensibles i ocultats darrera un avís.
+        silence: Encara pots fer servir el teu compte però només la gent que ja t'està seguint veuran les teves publicacions en aquest servidor i tu podries ser exclòs de les diverses opcions de descobriment. De totes maneres altres podrien encara seguir-te manualment.
+        suspend: Ja no pots utilitzar el teu compte i el teu perfil i altres dades ja no son accessibles. Encara pots iniciar sessió per a demanar una copia de les teves dades fins que siguin totalment eliminades als 30 dies però es mantindran les dades bàsiques per evitar que esquivis la suspensió.
+      get_in_touch: Si tu creus que això és un error pots respondre aquest correu electrònic per a contactar amb l'equip de %{instance}.
+      reason: 'Raó:'
       review_server_policies: Revisa les polítiques del servidor
-      statuses: 'Concretament, per:'
+      statuses: 'Publicacions que han estat trobades com a violació:'
       subject:
+        delete_statuses: Les teves publicacions de %{acct} han estat esborrades
         disable: S'ha congelat el teu compte %{acct}
         none: Avís per a %{acct}
-        sensitive: El teu compte %{acct} de publicació de mèdia ha estat marcat com a sensible
+        sensitive: Els teus mèdia de %{acct} seran marcades com a sensibles a partir d'ara
         silence: El teu compte %{acct} ha estat limitat
         suspend: S'ha suspès el teu compte %{acct}
       title:
+        delete_statuses: Publicacions esborrades
         disable: Compte congelat
         none: Avís
-        sensitive: Els teus mèdia han estat marcats com a sensibles
+        sensitive: Mèdia ocult
         silence: Compte limitat
         suspend: Compte suspès
     welcome:
diff --git a/config/locales/co.yml b/config/locales/co.yml
index f2f278678..1128caca9 100644
--- a/config/locales/co.yml
+++ b/config/locales/co.yml
@@ -99,7 +99,6 @@ co:
     accounts:
       add_email_domain_block: Mette u duminiu e-mail in lista nera
       approve: Appruvà
-      approve_all: Appruvà tuttu
       approved_msg: A dumanda d'arregistramente di %{username} hè stata appruvata
       are_you_sure: Site sicuru·a?
       avatar: Ritrattu di prufile
@@ -153,7 +152,6 @@ co:
         active: Attivu
         all: Tutti
         pending: In attesa
-        silenced: Silenzati
         suspended: Suspesi
         title: Muderazione
       moderation_notes: Note di muderazione
@@ -171,7 +169,6 @@ co:
       redownload: Mette à ghjornu u prufile
       redownloaded_msg: U prufile di %{username} hè statu attualizatu da l'urighjine
       reject: Righjittà
-      reject_all: Righjittà tutti
       rejected_msg: A dumanda d'arregistramente di %{username} hè stata righjittata
       remove_avatar: Toglie l’avatar
       remove_header: Toglie a cuprendula
@@ -210,7 +207,6 @@ co:
       suspended: Suspesu
       suspension_irreversible: I dati di stu contu sò stati irreversibilamente sguassati. Pudete annullà a suspensione di u contu per u rende utilizabile ma ùn pudete micca ricuperà i dati pricedenti.
       suspension_reversible_hint_html: U contu hè statu suspesu, è i so dati saranu sguassati u %{date}. Da quì à là, u contu pò esse ricuperatu senza prublemu. S'e voi vulete toglie tutti i dati di u contu avà, pudete fallu quì sottu.
-      time_in_queue: 'Attesa in fila: %{time}'
       title: Conti
       unconfirmed_email: E-mail micca cunfirmatu
       undo_sensitized: Annullà sensibile
@@ -226,6 +222,7 @@ co:
       whitelisted: In a lista bianca
     action_logs:
       action_types:
+        approve_user: Appruvà l'utilizatore
         assigned_to_self_report: Assignà signalamentu
         change_email_user: Mudificà l'E-mail di l'Utilizatore
         confirm_user: Cunfirmà Utilizatore
@@ -255,6 +252,7 @@ co:
         enable_user: Attivà utilizatore
         memorialize_account: Trasfurmà contu in mimuriale
         promote_user: Prumove Utilizatore
+        reject_user: Righjittà l'utilizatore
         remove_avatar_user: Toglie Avatar
         reopen_report: Riapre Signalamentu
         reset_password_user: Riinizializà Chjave d'Accessu
@@ -369,9 +367,18 @@ co:
       updated_msg: L’emoji hè stata messa à ghjornu!
       upload: Caricà
     dashboard:
+      active_users: utilizatori attivi
+      interactions: interazzione
+      media_storage: Spaziu di i media
+      new_users: novi utilizatori
+      opened_reports: signalamenti aperti
+      resolved_reports: signalamenti risolti
       software: Lugiziale
       space: Usu di u spaziu
       title: Quatru di strumenti
+      top_languages: Lingue e più attive
+      top_servers: Servori i più attivi
+      website: Situ web
     domain_allows:
       add_new: Aghjunghje à a lista bianca
       created_msg: U duminiu hè statu aghjuntu à a lista bianca
@@ -497,8 +504,6 @@ co:
         title: Creà una nova regula IP
       no_ip_block_selected: E regule ùn sò micca state mudificate perchè manc'un'era selezziunata
       title: Regule IP
-    pending_accounts:
-      title: Conti in attesa (%{count})
     relationships:
       title: Rilazione di %{acct}
     relays:
@@ -525,9 +530,6 @@ co:
         notes:
           one: "%{count} nota"
           other: "%{count} note"
-        reports:
-          one: "%{count} riportu"
-          other: "%{count} riporti"
       action_taken_by: Intervenzione di
       are_you_sure: Site sicuru·a?
       assign_to_self: Assignallu à mè
@@ -553,6 +555,7 @@ co:
       resolved: Scioltu è chjosu
       resolved_msg: Signalamentu scioltu!
       status: Statutu
+      target_origin: Urighjine di u contu signalatu
       title: Signalamenti
       unassign: Disassignà
       unresolved: Micca sciolti
@@ -656,15 +659,9 @@ co:
       destroyed_msg: Fugliale sguassatu da u situ!
     statuses:
       back_to_account: Ritornu à a pagina di u contu
-      batch:
-        delete: Toglie
-        nsfw_off: Indicà cum’è micca sensibile
-        nsfw_on: Indicà cum’è sensibile
       deleted: Sguassatu
-      failed_to_execute: Esecuzione impussibule
       media:
         title: Media
-      no_media: Nisun media
       no_status_selected: I statuti ùn sò micca stati mudificati perchè manc'unu era selezziunatu
       title: Statuti di u contu
       with_media: Cù media
@@ -673,21 +670,29 @@ co:
         action: Amministrà e regule di u servore
         message_html: Ùn avete micca ancu difinitu di regula per u servore.
     tags:
-      accounts_today: Usi unichi oghji
-      accounts_week: Usi unichi sta settimana
-      breakdown: Ditagli di l'usu d'oghji per origine
-      last_active: Ultima attività
-      most_popular: Più pupulari
-      most_recent: Più ricente
-      name: Hashtag
       review: Statutu di verificazione
-      reviewed: Verificatu
-      title: Hashtag
-      trending_right_now: Tendenze avà
-      unique_uses_today: "%{count} pustendu oghji"
-      unreviewed: Micca verificatu
       updated_msg: Parametri di i hashtag messi à ghjornu
     title: Amministrazione
+    trends:
+      allow: Auturizà
+      approved: Appruvatu
+      disallow: Difende
+      links:
+        allow: Auturizà u ligame
+      pending_review: In attesa di rivista
+      preview_card_providers:
+        title: Pubblicatori
+      rejected: Righittate
+      tags:
+        current_score: Score attuale %{score}
+        dashboard:
+          tag_accounts_measure: usi unichi
+          tag_languages_dimension: Lingue principale
+          tag_servers_measure: servori sfarenti
+          tag_uses_measure: usi tutali
+        not_usable: Ùn pò esse usatu
+        title: Tendenze di hashtag
+        usable: Pò esse usatu
     warning_presets:
       add_new: Aghjunghje
       delete: Sguassà
@@ -701,9 +706,6 @@ co:
       body: "%{reporter} hà palisatu %{target}"
       body_remote: Qualch’unu da %{domain} hà palisatu %{target}
       subject: Novu signalamentu nant’à %{instance} (#%{id})
-    new_trending_tag:
-      body: 'U hashtag #%{name} hè in e tendenze oghji, mà ùn hè micca verificatu. Ùn sarà micca mustratu à u pubblicu eccettu s''ellu hè auturizatu, o pudete ancu salvà u furmulariu cusì per ùn mai più avè à ne sente parlà.'
-      subject: Novu hashtag in attesa di rivista nant'à %{instance} (#%{name})
   aliases:
     add_new: Creà un pseudonimu
     created_msg: Novu pseudonimu creatu. Pudete avà inizià u trasferimentu da u vechju contu.
@@ -910,7 +912,6 @@ co:
     changes_saved_msg: Cambiamenti salvati!
     copy: Cupià
     delete: Sguassà
-    no_batch_actions_available: Alcun'azzione di gruppu nant'à sta pagina
     order_by: Urdinà da
     save_changes: Salvà e mudificazione
     validation_errors:
@@ -918,26 +919,6 @@ co:
       other: Qualcosa ùn và bè! Verificate %{count} prublemi quì sottu
   html_validator:
     invalid_markup: 'cuntene codice HTML invalidu: %{error}'
-  identity_proofs:
-    active: Attiva
-    authorize: Ié, auturizà
-    authorize_connection_prompt: Auturizà sta cunnessione crittograffica?
-    errors:
-      failed: A cunnessione crittograffica s'hè fiascata. Ripruvate da %{provider}.
-      keybase:
-        invalid_token: E fiscie Keybase sò hash di firme è duvenu fà 66 caratteri esadecimali (0-9 A-F)
-        verification_failed: Keybase ùn ricunosce micca sta fiscia cum'una firma di l'utilizatore Keybase %{kb_username}. Ripruvate da Keybase.
-      wrong_user: Ùn si pò micca creà una prova per %{proving} mentre chì site cunnettatu·a cum'è %{current}. Cunnettatevi cum'è %{proving} è ripruvate.
-    explanation_html: Quì pudete cunnettà crittografficamente e vostre altre identità, cum'è per esempiu un prufile Keybase. Quessu permette à d'altre persone di mandà vi missaghji crittati, è d'affiducià i cuntinuti chì mandate.
-    i_am_html: Sò %{username} nant'à %{service}.
-    identity: Identità
-    inactive: Inattiva
-    publicize_checkbox: 'È mandà stu statutu:'
-    publicize_toot: 'Hè pruvata! Sò %{username} nant’à %{service}: %{url}'
-    remove: Sguassà a prova da u contu
-    removed: Prova sguassata da u contu
-    status: Statutu di a verificazione
-    view_proof: Vede a prova
   imports:
     errors:
       over_rows_processing_limit: cuntene più di %{count} filari
@@ -1205,7 +1186,6 @@ co:
     edit_profile: Mudificà u prufile
     export: Spurtazione d’infurmazione
     featured_tags: Hashtag in vista
-    identity_proofs: Prove d'identità
     import: Impurtazione
     import_and_export: Impurtazione è spurtazione
     migrate: Migrazione di u contu
@@ -1234,13 +1214,11 @@ co:
       other: 'cuntene l’hashtag disattivati: %{tags}'
     errors:
       in_reply_not_found: U statutu à quellu avete pruvatu di risponde ùn sembra micca esiste.
-    language_detection: Truvà a lingua autumaticamente
     open_in_web: Apre nant’à u web
     over_character_limit: site sopr’à a limita di %{max} caratteri
     pin_errors:
       limit: Avete digià puntarulatu u numeru massimale di statuti
       ownership: Pudete puntarulà solu unu di i vostri propii statuti
-      private: Ùn pudete micca puntarulà un statutu ch’ùn hè micca pubblicu
       reblog: Ùn pudete micca puntarulà una spartera
     poll:
       total_people:
@@ -1415,24 +1393,15 @@ co:
       subject: Cunfirmate u tentativu di cunnessione
       title: Tentativu di cunnessione
     warning:
-      explanation:
-        disable: Quandu u vostru contu hè ghjacciatu, i vostri dati stannu intatti, mà ùn pudete fà nunda fin'à ch'ellu sia sbluccatu.
-        sensitive: I vostri media caricati è in ligami saranu trattati cum'è sensibili.
-        silence: Quandu u vostru contu hè limitatu, solu quelli chì sò digià abbunati à u vostru contu viderenu i vostri statuti nant'à quessu servore, è puderete esse esclusu·a di parechje liste pubbliche. Però, altri conti puderenu sempre seguitavi.
-        suspend: U vostru contu hè statu suspesu, è tutti i vo statuti è fugliali media caricati sò stati sguassati di manera irreversibile di stu servore, è di i servori induve aviate abbunati.
-      get_in_touch: Pudete risponde à quest'e-mail per cuntattà a squadra di muderazione di %{instance}.
       review_server_policies: Leghje e pulitiche di u servore
-      statuses: 'Più pricisamente, per:'
       subject:
         disable: U vostru contu %{acct} hè statu ghjacciatu
         none: Avertimentu pè %{acct}
-        sensitive: I media di u vostru contu %{acct} sò stati marcati cum'è sensibili
         silence: U vostru contu %{acct} hè statu limitatu
         suspend: U vostru contu %{acct} hè statu suspesu
       title:
         disable: Contu ghjacciatu
         none: Avertimentu
-        sensitive: U vostru media hè statu marcatu cum'è sensibile
         silence: Contu limitatu
         suspend: Contu suspesu
     welcome:
diff --git a/config/locales/cs.yml b/config/locales/cs.yml
index 19428252b..9d807d923 100644
--- a/config/locales/cs.yml
+++ b/config/locales/cs.yml
@@ -107,7 +107,6 @@ cs:
     accounts:
       add_email_domain_block: Blokovat e-mailovou doménu
       approve: Schválit
-      approve_all: Schválit vše
       approved_msg: Žádost o registraci uživatele %{username} úspěšně schválena
       are_you_sure: Opravdu?
       avatar: Avatar
@@ -161,7 +160,6 @@ cs:
         active: Aktivní
         all: Vše
         pending: Čekající
-        silenced: Omezené
         suspended: Pozastavené
         title: Moderování
       moderation_notes: Moderátorské poznámky
@@ -179,7 +177,6 @@ cs:
       redownload: Obnovit profil
       redownloaded_msg: Profil účtu %{username} byl úspěšně obnoven ze zdroje
       reject: Zamítnout
-      reject_all: Zamítnout vše
       rejected_msg: Žádost o registraci uživatele %{username} úspěšně zamítnuta
       remove_avatar: Odstranit avatar
       remove_header: Odstranit záhlaví
@@ -218,8 +215,9 @@ cs:
       suspended: Uživatel pozastaven
       suspension_irreversible: Data tohoto účtu byla nevratně smazána. Účet můžete obnovit, aby byl použitelný, ale nebudou obnovena žádná jeho dřívější data.
       suspension_reversible_hint_html: Účet byl pozastaven a jeho data budou kompletně smazána %{date}. Do té doby může být tento účet kompletně obnoven do původního stavu. Chcete-li smazat všechna data účtu ihned, můžete tak učinit níže.
-      time_in_queue: Čeká ve frontě %{time}
       title: Účty
+      unblock_email: Odblokovat e-mailovou adresu
+      unblocked_email_msg: E-mailová adresa %{username} byla úspěšně odblokována
       unconfirmed_email: Nepotvrzený e-mail
       undo_sensitized: Vrátit zpět citlivost
       undo_silenced: Zrušit omezení
@@ -234,6 +232,7 @@ cs:
       whitelisted: Povoleno federovat
     action_logs:
       action_types:
+        approve_user: Schválit uživatele
         assigned_to_self_report: Přiřadit hlášení
         change_email_user: Změnit uživateli e-mailovou adresu
         confirm_user: Potvrdit uživatele
@@ -251,6 +250,7 @@ cs:
         destroy_domain_allow: Odstranit povolenou doménu
         destroy_domain_block: Odstranit blokování domény
         destroy_email_domain_block: Smazat blokaci e-mailové domény
+        destroy_instance: Odmazat doménu
         destroy_ip_block: Smazat IP pravidlo
         destroy_status: Odstranit Příspěvek
         destroy_unavailable_domain: Smazat nedostupnou doménu
@@ -263,6 +263,7 @@ cs:
         enable_user: Povolit uživatele
         memorialize_account: Změna na „in memoriam“
         promote_user: Povýšit uživatele
+        reject_user: Odmítnout uživatele
         remove_avatar_user: Odstranit avatar
         reopen_report: Znovu otevřít hlášení
         reset_password_user: Obnovit heslo
@@ -271,6 +272,7 @@ cs:
         silence_account: Omezit účet
         suspend_account: Pozastavit účet
         unassigned_report: Zrušit přiřazení hlášení
+        unblock_email_account: Odblokovat e-mailovou adresu
         unsensitive_account: Zrušit označení médií ve vašem účtu jako citlivých
         unsilence_account: Zrušit omezení účtu
         unsuspend_account: Zrušit pozastavení účtu
@@ -279,6 +281,7 @@ cs:
         update_domain_block: Změnit blokaci domény
         update_status: Aktualizovat Příspěvek
       actions:
+        approve_user_html: "%{name} schválil registraci od %{target}"
         assigned_to_self_report_html: Uživatel %{name} si přidělil hlášení %{target}
         change_email_user_html: Uživatel %{name} změnil e-mailovou adresu uživatele %{target}
         confirm_user_html: Uživatel %{name} potvrdil e-mailovou adresu uživatele %{target}
@@ -296,6 +299,7 @@ cs:
         destroy_domain_allow_html: Uživatel %{name} zakázal federaci s doménou %{target}
         destroy_domain_block_html: Uživatel %{name} odblokoval doménu %{target}
         destroy_email_domain_block_html: Uživatel %{name} odblokoval e-mailovou doménu %{target}
+        destroy_instance_html: Uživatel %{name} odmazal doménu %{target}
         destroy_ip_block_html: "%{name} odstranil pravidlo pro IP %{target}"
         destroy_status_html: Uživatel %{name} odstranil příspěvek uživatele %{target}
         destroy_unavailable_domain_html: "%{name} obnovil doručování na doménu %{target}"
@@ -308,6 +312,7 @@ cs:
         enable_user_html: Uživatel %{name} povolil přihlašování pro uživatele %{target}
         memorialize_account_html: Uživatel %{name} změnil účet %{target} na „in memoriam“ stránku
         promote_user_html: Uživatel %{name} povýšil uživatele %{target}
+        reject_user_html: "%{name} odmítl registraci od %{target}"
         remove_avatar_user_html: Uživatel %{name} odstranil avatar uživatele %{target}
         reopen_report_html: Uživatel %{name} znovu otevřel hlášení %{target}
         reset_password_user_html: Uživatel %{name} obnovil heslo uživatele %{target}
@@ -316,6 +321,7 @@ cs:
         silence_account_html: Uživatel %{name} ztišil uživatele %{target}
         suspend_account_html: Uživatel %{name} pozastavil účet uživatele %{target}
         unassigned_report_html: Uživatel %{name} odebral hlášení %{target}
+        unblock_email_account_html: Uživatel %{name} odblokoval e-mailovou adresu %{target}
         unsensitive_account_html: "%{name} zrušil označení médií účtu %{target} jako citlivých"
         unsilence_account_html: Uživatel %{name} zrušil ztišení uživatele %{target}
         unsuspend_account_html: Uživatel %{name} zrušil pozastavení účtu uživatele %{target}
@@ -388,17 +394,17 @@ cs:
         few: "<strong>%{count}</strong> čekající hlášení"
         many: "<strong>%{count}</strong> čekajících hlášení"
         one: "<strong>1</strong> čekající hlášení"
-        other: "<strong>%{count}</strong> čekající hlášení"
+        other: "<strong>%{count}</strong> čekajících hlášení"
       pending_tags_html:
         few: "<strong>%{count}</strong> čekající hashtagy"
         many: "<strong>%{count}</strong> čekajících hashtagů"
         one: "<strong>1</strong> čekající hashtag"
-        other: "<strong>%{count}</strong> čekající hashtagy"
+        other: "<strong>%{count}</strong> čekajících hashtagů"
       pending_users_html:
         few: "<strong>%{count}</strong> čekající uživatelé"
         many: "<strong>%{count}</strong> čekajících uživatelů"
         one: "<strong>1</strong> čekající uživatel"
-        other: "<strong>%{count}</strong> čekající uživatel"
+        other: "<strong>%{count}</strong> čekajících uživatelů"
       resolved_reports: vyřešeno hlášení
       software: Software
       sources: Zdroje registrací
@@ -481,6 +487,7 @@ cs:
       back_to_limited: Omezený
       back_to_warning: Varování
       by_domain: Doména
+      confirm_purge: Jste si jisti, že chcete nevratně smazat data z této domény?
       delivery:
         all: Vše
         clear: Vymazat chyby doručení
@@ -498,6 +505,7 @@ cs:
       delivery_available: Doručení je k dispozici
       delivery_error_days: Dny chybného doručování
       delivery_error_hint: Není-li možné doručení po dobu %{count} dnů, bude automaticky označen za nedoručitelný.
+      destroyed_msg: Data z %{domain} nyní čekají na smazání.
       empty: Nebyly nalezeny žádné domény.
       known_accounts:
         few: "%{count} známé účty"
@@ -510,6 +518,7 @@ cs:
         title: Moderování
       private_comment: Soukromý komentář
       public_comment: Veřejný komentář
+      purge: Odmazat
       title: Federace
       total_blocked_by_us: Blokované námi
       total_followed_by_them: Sledované jimi
@@ -539,8 +548,6 @@ cs:
         title: Vytvořit nové IP pravidlo
       no_ip_block_selected: Nebyla změněna žádná IP pravidla, protože nebylo žádné zaškrtnuto
       title: IP pravidla
-    pending_accounts:
-      title: Čekající účty (%{count})
     relationships:
       title: Vztahy uživatele %{acct}
     relays:
@@ -569,11 +576,6 @@ cs:
           many: "%{count} poznámek"
           one: "%{count} poznámka"
           other: "%{count} poznámek"
-        reports:
-          few: "%{count} hlášení"
-          many: "%{count} hlášení"
-          one: "%{count} hlášení"
-          other: "%{count} hlášení"
       action_taken_by: Akci vykonal uživatel
       are_you_sure: Opravu?
       assign_to_self: Přidělit ke mně
@@ -698,22 +700,16 @@ cs:
         desc_html: Ovlivňuje hashtagy, které nebyly dříve zakázány
         title: Povolit zobrazení hashtagů mezi populárními i bez předchozího posouzení
       trends:
-        desc_html: Veřejně zobrazit dříve schválené hashtagy, které jsou zrovna populární
-        title: Populární hashtagy
+        desc_html: Veřejně zobrazit dříve schválený obsah, který je zrovna populární
+        title: Trendy
     site_uploads:
       delete: Odstranit nahraný soubor
       destroyed_msg: Upload stránky byl úspěšně smazán!
     statuses:
       back_to_account: Zpět na stránku účtu
-      batch:
-        delete: Smazat
-        nsfw_off: Označit, že není citlivý
-        nsfw_on: Označit jako citlivý
       deleted: Smazáno
-      failed_to_execute: Nepodařilo se vykonat
       media:
         title: Média
-      no_media: Žádná média
       no_status_selected: Nebyly změněny žádné příspěvky, neboť žádné nebyly vybrány
       title: Příspěvky účtu
       with_media: S médii
@@ -726,21 +722,55 @@ cs:
       sidekiq_process_check:
         message_html: Pro %{value} frontu/fronty neběží žádný Sidekiq proces. Zkontrolujte prosím svou Sidekiq konfiguraci
     tags:
-      accounts_today: Dnešní jedinečná použití
-      accounts_week: Jedinečná použití tento týden
-      breakdown: Přehled dnešního používání podle zdroje
-      last_active: Nedávno použité
-      most_popular: Nejpopulárnější
-      most_recent: Nedávno vytvořené
-      name: Hashtag
-      review: Stav schválení
-      reviewed: Schválen
-      title: Hashtagy
-      trending_right_now: Populární právě teď
-      unique_uses_today: Dnes použilo %{count} uživatelů
-      unreviewed: Nezkontrolováno
+      review: Stav posouzení
       updated_msg: Nastavení hashtagů bylo úspěšně aktualizováno
     title: Administrace
+    trends:
+      allow: Povolit
+      approved: Schválené
+      disallow: Zakázat
+      links:
+        allow: Povolit odkaz
+        allow_provider: Povolit vydavatele
+        disallow: Zakázat odkaz
+        disallow_provider: Zakázat vydavatele
+        shared_by_over_week:
+          few: Sdílený %{count} lidmi za poslední týden
+          many: Sdílený %{count} lidmi za poslední týden
+          one: Sdílený jedním člověkem za poslední týden
+          other: Sdílený %{count} lidmi za poslední týden
+        title: Populární odkazy
+        usage_comparison: Za dnešek %{today} sdílení, oproti %{yesterday} včera
+      pending_review: Čeká na posouzení
+      preview_card_providers:
+        allowed: Odkazy z tohoto vydavatele se smí objevovat mezi populárními
+        rejected: Odkazy z tohoto vydavatele se neobjeví mezi populárními
+        title: Vydavatelé
+      rejected: Zamítnutí
+      tags:
+        current_score: Aktuální skóre %{score}
+        dashboard:
+          tag_accounts_measure: unikátních použití
+          tag_languages_dimension: Nejčastější jazyky
+          tag_servers_dimension: Nejčastější servery
+          tag_servers_measure: různých serverů
+          tag_uses_measure: použití celkem
+        listable: Může být navrhován
+        not_listable: Nebude navrhován
+        not_trendable: Neobjeví se mezi populárními
+        not_usable: Nemůže být používán
+        peaked_on_and_decaying: Vrcholil %{date}, nyní skomírá
+        title: Populární hashtagy
+        trendable: Může se objevovat mezi populárními
+        trending_rank: 'Populární #%{rank}'
+        usable: Může být používán
+        usage_comparison: Za dnešek %{today} použití, oproti %{yesterday} včera
+        used_by_over_week:
+          few: Použit %{count} lidmi za poslední týden
+          many: Použit %{count} lidmi za poslední týden
+          one: Použit jedním člověkem za poslední týden
+          other: Použit %{count} lidmi za poslední týden
+      title: Trendy
     warning_presets:
       add_new: Přidat nové
       delete: Smazat
@@ -755,9 +785,16 @@ cs:
       body: Uživatel %{reporter} nahlásil uživatele %{target}
       body_remote: Někdo z domény %{domain} nahlásil uživatele %{target}
       subject: Nové hlášení pro %{instance} (#%{id})
-    new_trending_tag:
-      body: 'Hashtag #%{name} je dnes populární, ale nebyl dříve schválen. Pokud to nedovolíte, nebude veřejně zobrazen. Nebo pouze uložte formulář tak, jak je, a už o něm neuslyšíte.'
-      subject: Nový hashtag ke schválení na %{instance} (#%{name})
+    new_trending_links:
+      body: Následující odkazy jsou dnes populární, ale jejich vydavatelé zatím nebyli posouzeni. Nebudou veřejně zobrazeny, pokud je neschválíte. Pro stejné vydavatele už další upozornění nedostanete.
+      no_approved_links: Momentálně nejsou žádné schválené populární odkazy.
+      requirements: Nejnižší schválený populární odkaz je momentálně "%{lowest_link_title}" se skóre %{lowest_link_score}.
+      subject: Nové populární odkazy k posouzení na %{instance}
+    new_trending_tags:
+      body: 'Následující hashtagy jsou dnes populární, ale nebyly dříve přezkoumány. Nebudou zobrazeny veřejně, pokud je neschválíte:'
+      no_approved_tags: Momentálně nejsou žádné schválené populární hashtagy.
+      requirements: Nejnižší schválený populární hashtag je momentálně "%{lowest_tag_name}" se skóre %{lowest_tag_score}.
+      subject: Nové populární hashtagy k posouzení na %{instance}
   aliases:
     add_new: Vytvořit alias
     created_msg: Nový alias byl úspěšně vytvořen. Nyní můžete zahájit přesun ze starého účtu.
@@ -809,6 +846,7 @@ cs:
     invalid_reset_password_token: Token pro obnovení hesla je buď neplatný, nebo vypršel. Vyžádejte si prosím nový.
     link_to_otp: Zadat kód dvoufázového ověření z mobilu nebo záložní kód
     link_to_webauth: Použít svůj bezpečnostní klíč
+    log_in_with: Přihlásit přes
     login: Přihlásit
     logout: Odhlásit
     migrate_account: Přesunout se na jiný účet
@@ -831,7 +869,7 @@ cs:
       account_status: Stav účtu
       confirming: Čeká na dokončení potvrzení e-mailu.
       functional: Váš účet je zcela funkční.
-      pending: Vaše žádost čeká na schválení naším personálem. To může nějakou dobu trvat. Pokud bude váš požadavek schválen, obdržíte e-mail.
+      pending: Vaše žádost čeká na posouzení naším personálem. To může nějakou dobu trvat. Pokud bude váš požadavek schválen, obdržíte e-mail.
       redirecting_to: Váš účet je neaktivní, protože je právě přesměrován na účet %{acct}.
     too_fast: Formulář byl odeslán příliš rychle, zkuste to znovu.
     trouble_logging_in: Problémy s přihlášením?
@@ -964,9 +1002,10 @@ cs:
     changes_saved_msg: Změny byly úspěšně uloženy!
     copy: Kopírovat
     delete: Smazat
-    no_batch_actions_available: Pro tuto stránku nejsou dostupné žádné souhrnné akce
+    none: Žádné
     order_by: Seřadit podle
     save_changes: Uložit změny
+    today: dnes
     validation_errors:
       few: Něco ještě není úplně v pořádku! Zkontrolujte prosím %{count} chyby uvedené níže
       many: Něco ještě není úplně v pořádku! Zkontrolujte prosím %{count} chyb uvedených níže
@@ -974,26 +1013,6 @@ cs:
       other: Něco ještě není úplně v pořádku! Zkontrolujte prosím %{count} chyb uvedených níže
   html_validator:
     invalid_markup: 'obsahuje neplatný HTML kód: %{error}'
-  identity_proofs:
-    active: Aktivní
-    authorize: Ano, autorizovat
-    authorize_connection_prompt: Autorizovat toto kryptografické spojení?
-    errors:
-      failed: Kryptografické spojení selhalo. Zkuste to prosím znovu z %{provider}.
-      keybase:
-        invalid_token: Keybase tokeny jsou hashe podpisů a musí být dlouhé 66 hexadecimálních znaků
-        verification_failed: Keybase nerozpoznává tento token jako podpis uživatele %{kb_username} na Keybase. Zkuste to prosím znovu z Keybase.
-      wrong_user: Nelze vytvořit důkaz pro %{proving}, zatímco jste přihlášeni jako %{current}. Přihlaste se jako %{proving} a zkuste to znovu.
-    explanation_html: Zde můžete kryptograficky propojit další své identity z jiných platforem, jako například Keybase. To umožňuje jiným lidem poslat vám šifrované zprávy na těchto platformách a důvěřovat, že obsah, který jim posíláte, pochází od vás.
-    i_am_html: Na %{service} jsem %{username}.
-    identity: Identita
-    inactive: Neaktivní
-    publicize_checkbox: 'A odeslat tohle:'
-    publicize_toot: 'Je to dokázáno! Na %{service} jsem %{username}: %{url}'
-    remove: Odstranit důkaz z účtu
-    removed: Úspěšně odstraněn důkaz z účtu
-    status: Stav ověření
-    view_proof: Zobrazit důkaz
   imports:
     errors:
       over_rows_processing_limit: obsahuje více než %{count} řádků
@@ -1273,7 +1292,6 @@ cs:
     edit_profile: Upravit profil
     export: Export dat
     featured_tags: Zvýrazněné hashtagy
-    identity_proofs: Důkazy identity
     import: Import
     import_and_export: Import a export
     migrate: Přesun účtu
@@ -1311,13 +1329,12 @@ cs:
       other: 'obsahoval nepovolené hashtagy: %{tags}'
     errors:
       in_reply_not_found: Příspěvek, na který se pokoušíte odpovědět, neexistuje.
-    language_detection: Zjistit jazyk automaticky
     open_in_web: Otevřít na webu
     over_character_limit: byl překročen limit %{max} znaků
     pin_errors:
+      direct: Příspěvky viditelné pouze zmíněným uživatelům nelze připnout
       limit: Už jste si připnuli maximální počet příspěvků
       ownership: Nelze připnout příspěvek někoho jiného
-      private: Neveřejné příspěvky nelze připnout
       reblog: Boosty nelze připnout
     poll:
       total_people:
@@ -1503,24 +1520,15 @@ cs:
       subject: Potvrďte prosím pokus o přihlášení
       title: Pokus o přihlášení
     warning:
-      explanation:
-        disable: Nemůžete se přihlásit do svého účtu nebo ho jakkoliv jinak používat, ale váš profil a ostatní data zůstávají nedotčeny.
-        sensitive: Vámi nahrané a odkazované mediální soubory budou považovány za citlivé.
-        silence: Nadále můžete používat svůj účet, ale pouze lidé, kteří vás již sledovali, uvidí vaše příspěvky na tomto serveru a můžete být vyjmuti z různých veřejných seznamů. Ostatní vás však stále mohou ručně začít sledovat.
-        suspend: Nemůžete už používat svůj účet a váš profil a ostatní data již nejsou dostupná. Stále se můžete přihlásit pro vyžádání zálohy svých dat, dokud nebudou zcela smazána, ale ponecháme si některé údaje, abychom vám zabránili ve vyhýbání se pozastavení.
-      get_in_touch: Můžete odpovědět na tento e-mail a spojit se s personálem serveru %{instance}.
       review_server_policies: Zkontrolujte pravidla serveru
-      statuses: 'Konkrétně kvůli:'
       subject:
         disable: Váš účet %{acct} byl zmrazen
         none: Varování pro %{acct}
-        sensitive: Média z Vašeho účtu %{acct} byla označena za citlivá
         silence: Váš účet %{acct} byl omezen
         suspend: Váš účet %{acct} byl pozastaven
       title:
         disable: Účet zmrazen
         none: Varování
-        sensitive: Vaše média byla označena jako citlivá
         silence: Účet omezen
         suspend: Účet pozastaven
     welcome:
diff --git a/config/locales/cy.yml b/config/locales/cy.yml
index 8e899ebd0..16fd77cdd 100644
--- a/config/locales/cy.yml
+++ b/config/locales/cy.yml
@@ -110,7 +110,6 @@ cy:
     accounts:
       add_email_domain_block: Cosbrestru parth e-bost
       approve: Cymeradwyo
-      approve_all: Cymeradwyo pob un
       are_you_sure: Ydych chi'n siŵr?
       avatar: Afatar
       by_domain: Parth
@@ -155,7 +154,6 @@ cy:
         active: Yn weithredol
         all: Popeth
         pending: Yn aros
-        silenced: Wedi ei dawelu
         suspended: Wedi ei atal
         title: Goruwchwyliad
       moderation_notes: Nodiadau goruwchwylio
@@ -172,7 +170,6 @@ cy:
       push_subscription_expires: Tanysgrifiad gwthiadwy yn dod i ben
       redownload: Adnewyddu proffil
       reject: Gwrthod
-      reject_all: Gwrthod pob un
       remove_avatar: Dileu afatar
       remove_header: Dileu pennawd
       resend_confirmation:
@@ -199,7 +196,6 @@ cy:
       statuses: Statysau
       subscribe: Tanysgrifio
       suspended: Ataliwyd
-      time_in_queue: Yn aros yn y rhestr am %{time}
       title: Cyfrifon
       unconfirmed_email: E-bost heb ei gadarnhau
       undo_silenced: Dadwneud tawelu
@@ -392,8 +388,6 @@ cy:
         expired: Wedi dod i ben
         title: Hidlo
       title: Gwahoddiadau
-    pending_accounts:
-      title: Cyfrifau yn aros (%{count})
     relationships:
       title: Perthnasau %{acct}
     relays:
@@ -424,13 +418,6 @@ cy:
           other: "%{count} o nodiadau"
           two: "%{count} o nodiadau"
           zero: "%{count} nodyn"
-        reports:
-          few: "%{count} o adroddiadau"
-          many: "%{count} o adroddiadau"
-          one: "%{count} adroddiad"
-          other: "%{count} o adroddiadau"
-          two: "%{count} o adroddiadau"
-          zero: "%{count} adroddiad"
       action_taken_by: Gwnaethpwyd hyn gan
       are_you_sure: Ydych chi'n sicr?
       assign_to_self: Aseinio i mi
@@ -549,32 +536,14 @@ cy:
       destroyed_msg: Uwchlwythiad wefan wedi'i ddileu yn lwyddianus!
     statuses:
       back_to_account: Yn ôl i dudalen y cyfrif
-      batch:
-        delete: Dileu
-        nsfw_off: Marcio fel nad yw'n sensitif
-        nsfw_on: Marcio'n sensitif
       deleted: Dilëwyd
-      failed_to_execute: Methwyd a gweithredu
       media:
         title: Cyfryngau
-      no_media: Dim cyfryngau
       no_status_selected: Ni newidwyd dim statws achos ni ddewiswyd dim un
       title: Statysau cyfrif
       with_media: A chyfryngau
     tags:
-      accounts_today: Defyddau unigol heddiw
-      accounts_week: Defnyddau unigol yr wythnos hon
-      breakdown: Ymddatodiad o ddefnyddiaeth heddiw wrth ffynhonnell
-      last_active: Yn weithredol ddiwethaf
-      most_popular: Mwyaf poblogaidd
-      most_recent: Mwyaf diweddar
-      name: Hashnod
       review: Adolygu statws
-      reviewed: Wedi'i adolygu
-      title: Hashnodau
-      trending_right_now: Yn tueddu nawr
-      unique_uses_today: "%{count} yn postio heddiw"
-      unreviewed: Heb ei adolygu
       updated_msg: Gosodiadau hashnodau wedi'i diweddaru'n llwyddiannus
     title: Gweinyddiaeth
     warning_presets:
@@ -590,9 +559,6 @@ cy:
       body: Mae %{reporter} wedi cwyno am %{target}
       body_remote: Mae rhywun o %{domain} wedi cwyno am %{target}
       subject: Cwyn newydd am %{instance} (#%{id})
-    new_trending_tag:
-      body: 'Mae''r hashnod #%{name} yn tueddu heddiw, ond nid yw''r hashnod wedi''i adolygu''n gynt. Ni fydd o''n cael ei arddangos yn gyhoeddus oni bai bod chi''n ei ganiataú, neu arbedwch y ffurflen fel y mae i fyth clywed amdano eto.'
-      subject: Hashnod newydd i fynnu ar gyfer adolygiad ar %{instance} (%{name})
   aliases:
     add_new: Creu enw arall
     created_msg: Wedi creu enw arall yn llwyddianus. Gallwch nawr dechrau'r symudiad o'r hen gyfrif.
@@ -783,7 +749,6 @@ cy:
     changes_saved_msg: Llwyddwyd i gadw y newidiadau!
     copy: Copïo
     delete: Dileu
-    no_batch_actions_available: Dim gweithredau llwyth ar gael ar y dudalen hon
     order_by: Trefnu wrth
     save_changes: Cadw newidiadau
     validation_errors:
@@ -795,26 +760,6 @@ cy:
       zero: Mae rhywbeth o'i le o hyd! Edrychwch ar y %{count} gwall isod os gwelwch yn dda
   html_validator:
     invalid_markup: 'yn cynnwys marciad HTML annilys: %{error}'
-  identity_proofs:
-    active: Yn weithredol
-    authorize: Ie, awdurdodi
-    authorize_connection_prompt: Awdurdodi y cysylltiad cryptograffig hon?
-    errors:
-      failed: Methwyd y cysylltiad cryptograffig. Ceisiwch eto o %{provider}, os gwelwch yn dda.
-      keybase:
-        invalid_token: Mae tocynnau keybase yn hashiau o llofnodau ac mae rhaid iddynt bod yn 66 cymeriadau hecs
-        verification_failed: Nid yw Keybase yn adnabod y tocyn hyn fel llofnod defnyddiwr Keybase %{kb_username}. Cesiwch eto o Keybase, os gwelwch yn dda.
-      wrong_user: Ni all greu prawf ar gyfer %{proving} tra wedi mewngofnodi fel %{current}. Mewngofnodi fel %{proving} a cheisiwch eto.
-    explanation_html: Fama gallwch cysylltu i'ch hunanieithau arall yn cryptograffig, er enghraifft proffil Keybase. Mae hyn yn gadael pobl arall i anfon chi negeseuon amgryptiedig a ymddiried mewn cynnwys rydych yn eich anfon iddynt.
-    i_am_html: Rydw i'n %{username} ar %{service}.
-    identity: Hunaniaeth
-    inactive: Anweithgar
-    publicize_checkbox: 'A thŵtiwch hon:'
-    publicize_toot: 'Wedi profi! Rydw i''n %{username} ar %{service}: %{url}'
-    remove: Tynnu prawf o'r cyfrif
-    removed: Wedi tynnu prawf o'r cyfrif yn llwyddiannus
-    status: Statws gwirio
-    view_proof: Gweld prawf
   imports:
     modes:
       merge: Cyfuno
@@ -1050,7 +995,6 @@ cy:
     edit_profile: Golygu proffil
     export: Allforio data
     featured_tags: Hashnodau Nodedig
-    identity_proofs: Profiadau Hunaniaeth
     import: Mewnforio
     import_and_export: Mewnfori ac allfori
     migrate: Mudo cyfrif
@@ -1094,13 +1038,11 @@ cy:
       zero: 'yn cynnwys yr hashnod gwaharddedig: %{tags}'
     errors:
       in_reply_not_found: Nid yw'r statws rydych yn ceisio ymateb i yn edrych fel ei fod yn bodoli.
-    language_detection: Canfod iaith yn awtomataidd
     open_in_web: Agor yn y wê
     over_character_limit: wedi mynd heibio'r uchafswm nodyn o %{max}
     pin_errors:
       limit: Yr ydych wedi pinio yr uchafswm posib o dŵtiau
       ownership: Ni ellir pinio tŵt rhywun arall
-      private: Ni ellir pinio tŵt nad yw'n gyhoeddus
       reblog: Ni ellir pinio bŵstiau
     poll:
       total_people:
@@ -1242,13 +1184,7 @@ cy:
       subject: Cadarnhewch yr ymgais mewngofnodi
       title: Ymgais mewngofnodi
     warning:
-      explanation:
-        disable: Er bod eich cyfrif wedi'i rewi, mae eich data cyfrif yn parhau i fod yn gyfan, ond ni allwch chi berfformio unrhyw gamau nes ei ddatgloi.
-        silence: Pan mae eich cyfrif yn gyfyngiedig, dim ond pobl sydd yn barod yn eich dilyn yn gweld eich tŵtiau ar y gweinydd hon, a efallai byddwch yn cael eich tynnu o restrau cyhoeddus. Er hyn, gall eraill eich dilyn chi wrth law.
-        suspend: Mae eich cyfrif wedi cael ei wahardd, a mae gyd o'ch tŵtiau a'ch ffeiliau cyfrwng uwchlwythadwy wedi cael eu tynnu or gweinydd yn barhaol, ac o weinyddau ble yr oedd eich dilynwyr.
-      get_in_touch: Gallwch ymateb i'r e-bost hwn i gysylltu â staff %{instance}.
       review_server_policies: Adolygu polisïau'r gweinydd
-      statuses: 'Yn benodol, ar gyfer:'
       subject:
         disable: Mae'ch cyfrif %{acct} wedi'i rewi
         none: Rhybudd am %{acct}
diff --git a/config/locales/da.yml b/config/locales/da.yml
index 128d3ece9..c898bee20 100644
--- a/config/locales/da.yml
+++ b/config/locales/da.yml
@@ -99,7 +99,6 @@ da:
     accounts:
       add_email_domain_block: Blokér e-maildomæne
       approve: Godkend
-      approve_all: Godkend alle
       approved_msg: Tilmeldingsansøgning for %{username} blev godkendt
       are_you_sure: Sikker?
       avatar: Profilbillede
@@ -114,6 +113,7 @@ da:
       confirm: Bekræft
       confirmed: Bekræftet
       confirming: Bekræfter
+      custom: Tilpasset
       delete: Slet data
       deleted: Slettet
       demote: Degradér
@@ -153,7 +153,6 @@ da:
         active: Aktiv
         all: Alle
         pending: Afventer
-        silenced: Tavsgjort
         suspended: Suspenderet
         title: Moderation
       moderation_notes: Moderationsnotater
@@ -171,7 +170,6 @@ da:
       redownload: Opfrisk profil
       redownloaded_msg: Profil for %{username} opfriske fra oprindelsesserver
       reject: Afvis
-      reject_all: Afvis alle
       rejected_msg: Tilmeldingsansøgning fra %{username} afvist
       remove_avatar: Fjern profilbillede
       remove_header: Fjern overskrift
@@ -206,12 +204,14 @@ da:
       silence: Tavsgør
       silenced: Tavsgjort
       statuses: Statusser
+      strikes: Tidligere striber
       subscribe: Abonnér
       suspended: Suspenderet
       suspension_irreversible: Disse kontodata er blevet slettet permanent. Du kan afsuspendere kontoen for at gøre den brugbar, men dette gendanner ikke de tidligere kontodata.
       suspension_reversible_hint_html: Kontoen er blevet suspenderet, og dens data fjernes helt d. %{date}. Indtil da kan kontoen genoprettes uden datatab mv. Ønsker alle kontodata fjernet straks, kan dette gøres nedenfor.
-      time_in_queue: Venter i køen %{time}
       title: Konti
+      unblock_email: Afblokér e-mailadresse
+      unblocked_email_msg: "%{username}s e-mail-adresse afblokeret"
       unconfirmed_email: Ikke-bekræftet e-mail
       undo_sensitized: Fortryd sensitiv
       undo_silenced: Fortryd tavsgørelse
@@ -226,6 +226,7 @@ da:
       whitelisted: Tilladt for federering
     action_logs:
       action_types:
+        approve_user: Godkend bruger
         assigned_to_self_report: Tildel rapport
         change_email_user: Skift e-mail for bruger
         confirm_user: Bekræft bruger
@@ -243,6 +244,7 @@ da:
         destroy_domain_allow: Slet domænetilladelse
         destroy_domain_block: Slet domæneblokering
         destroy_email_domain_block: Slet e-maildomæneblokering
+        destroy_instance: Udrens domæne
         destroy_ip_block: Slet IP-regel
         destroy_status: Slet status
         destroy_unavailable_domain: Slet Utilgængeligt Domæne
@@ -255,6 +257,7 @@ da:
         enable_user: Aktivér brugeren
         memorialize_account: Gør til mindekonto
         promote_user: Promovér bruger
+        reject_user: Afvis bruger
         remove_avatar_user: Fjern profilbillede
         reopen_report: Genåbn anmeldelse
         reset_password_user: Nulstil adgangskode
@@ -263,6 +266,7 @@ da:
         silence_account: Tavsgør konto
         suspend_account: Suspendér konto
         unassigned_report: Aftildel anmeldelse
+        unblock_email_account: Afblokér af e-mailadresse
         unsensitive_account: Afmarkér medierne i din konto som sensitive
         unsilence_account: Fjern kontotavsgørelse
         unsuspend_account: Afsuspendér konto
@@ -271,6 +275,7 @@ da:
         update_domain_block: Opdatér domæneblokering
         update_status: Opdatér status
       actions:
+        approve_user_html: "%{name} godkendte tilmelding fra %{target}"
         assigned_to_self_report_html: "%{name} tildelte sig selv anmeldelsen %{target}"
         change_email_user_html: "%{name} ændrede e-mailadressen for bruger %{target}"
         confirm_user_html: "%{name} bekræftede e-mailadressen for bruger %{target}"
@@ -288,6 +293,7 @@ da:
         destroy_domain_allow_html: "%{name} fjernede federeringstilladelsen med domænet %{target}"
         destroy_domain_block_html: "%{name} afblokerede domænet %{target}"
         destroy_email_domain_block_html: "%{name} afblokerede e-maildomænet %{target}"
+        destroy_instance_html: "%{name} udrensede domænet %{target}"
         destroy_ip_block_html: "%{name} slettede en regel for IP %{target}"
         destroy_status_html: "%{name} fjernede statussen fra %{target}"
         destroy_unavailable_domain_html: "%{name} genoptog levering til domænet %{target}"
@@ -300,6 +306,7 @@ da:
         enable_user_html: "%{name} aktiverede indlogning for brugeren %{target}"
         memorialize_account_html: "%{name} gjorde %{target}s konto til en mindeside"
         promote_user_html: "%{name} forfremmede brugeren %{target}"
+        reject_user_html: "%{name} afviste tilmelding fra %{target}"
         remove_avatar_user_html: "%{name} fjernede %{target}s profilbillede"
         reopen_report_html: "%{name} genåbnede anmeldelsen %{target}"
         reset_password_user_html: "%{name} nulstillede adgangskoden for brugeren %{target}"
@@ -308,6 +315,7 @@ da:
         silence_account_html: "%{name} tavsgjorde %{target}s konto"
         suspend_account_html: "%{name} suspenderede %{target}s konto"
         unassigned_report_html: "%{name} fjernede tildelingen af rapporten %{target}"
+        unblock_email_account_html: "%{name} afblokerede %{target}s e-mailadresse"
         unsensitive_account_html: "%{name} afmarkerede %{target}s medier som sensitive"
         unsilence_account_html: "%{name} fjernede tavsgøring af %{target}s konto"
         unsuspend_account_html: "%{name} fjernede suspenderingen af %{target}s konto"
@@ -375,6 +383,7 @@ da:
       interactions: interaktioner
       media_storage: Medielagerplads
       new_users: nye brugere
+      opened_reports: rapporter åbnet
       pending_reports_html:
         one: "<strong>1</strong> afventende rapport"
         other: "<strong>%{count}</strong> afventende rapporter"
@@ -464,6 +473,7 @@ da:
       back_to_limited: Begrænset
       back_to_warning: Advarsel
       by_domain: Domæne
+      confirm_purge: Sikker på, at data skal slettes fra dette domæne permanent?
       delivery:
         all: Alle
         clear: Ryd leveringsfejl
@@ -479,6 +489,7 @@ da:
       delivery_available: Levering er tilgængelig
       delivery_error_days: Leveringsfejldage
       delivery_error_hint: Er levering ikke mulig i %{count} dage, markeres den automatisk som ikke-leverbar.
+      destroyed_msg: Data fra %{domain} er nu sat i kø til snarlig sletning.
       empty: Ingen domæner fundet.
       known_accounts:
         one: "%{count} kendt konto"
@@ -489,6 +500,7 @@ da:
         title: Moderation
       private_comment: Privat kommentar
       public_comment: Offentlig kommentar
+      purge: Udrens
       title: Federation
       total_blocked_by_us: Blokeret af os
       total_followed_by_them: Følges af dem
@@ -518,8 +530,6 @@ da:
         title: Opret ny IP-regel
       no_ip_block_selected: Ingen IP-regler blev ændret, da ingen blev valgt
       title: IP-regler
-    pending_accounts:
-      title: Afventende konti (%{count})
     relationships:
       title: "%{acct}-relationer"
     relays:
@@ -541,32 +551,44 @@ da:
     report_notes:
       created_msg: Anmeldelsesnotat er oprettet!
       destroyed_msg: Anmeldelsesnotat er slettet!
+      today_at: I dag kl. %{time}
     reports:
       account:
         notes:
           one: "%{count} notat"
           other: "%{count} notater"
-        reports:
-          one: "%{count} anmeldelse"
-          other: "%{count} anmeldelser"
+      action_log: Revisionslog
       action_taken_by: Handling udført af
+      actions:
+        other_description_html: Se flere muligheder for kontoadfærdsstyring og kommunikationstilpasning til den anmeldte konto.
+        silence_description_html: Profilen vil kun være synlig for dem, som allerede følger den eller manuelt slå den op, hvilket markant begrænse dens rækkevidde. Kan altid omgøres.
+        suspend_description_html: Profilen inkl. alt indhold gøres utilgængelig, indtil den til sidst slettes. Interaktion med kontoen vil være umulig. Reversible inden for 30 dage.
+      actions_description_html: 'Hvis fjernelse af det krænkende indhold ovenfor er utilstrækkelig:'
+      add_to_report: Føj mere til anmeldelse
       are_you_sure: Sikker?
       assign_to_self: Tildel til mig
       assigned: Tildelt moderator
       by_target_domain: Domæne for anmeldt konto
+      category: Kategori
+      category_description_html: Årsagen til anmeldelsen af denne konto og/eller indhold refereres i kommunikationen med den anmeldte konto
       comment:
         none: Ingen
+      comment_description_html: 'For at give mere information, skrev %{name}:'
       created_at: Anmeldt
+      delete_and_resolve: Løs og slet
       forwarded: Videresendt
       forwarded_to: Videresendt til %{domain}
       mark_as_resolved: Markér som løst
       mark_as_unresolved: Markér som ikke-løst
+      no_one_assigned: Ingen
       notes:
         create: Tilføj notat
         create_and_resolve: Løs med notat
         create_and_unresolve: Genåbn med notat
         delete: Slet
         placeholder: Beskriv de udførte handlinger eller andre relevante opdateringer...
+        title: Notater
+      notes_description_html: Se og skriv notater til andre moderatorer og dit fremtid selv
       reopen: Genåbn anmeldelse
       report: 'Anmeldelse #%{id}'
       reported_account: Anmeldt konto
@@ -574,11 +596,14 @@ da:
       resolved: Løst
       resolved_msg: Anmeldelse er nu løst!
       status: Status
+      statuses: Anmeld indhold
+      statuses_description_html: Krænkende indhold refereres i kommunikationen med den anmeldte konto
       target_origin: Anmeldte kontos oprindelse
       title: Anmeldelser
       unassign: Utildel
       unresolved: Ikke-løst
       updated_at: Opdateret
+      view_profile: Vis profil
     rules:
       add_new: Tilføj regel
       delete: Slet
@@ -680,15 +705,13 @@ da:
       destroyed_msg: Websteds-upload blev slettet!
     statuses:
       back_to_account: Tilbage til kontosiden
+      back_to_report: Retur til anmeldelsessiden
       batch:
-        delete: Slet
-        nsfw_off: Markér som ikke-sensitivt
-        nsfw_on: Markér som sensitivt
+        remove_from_report: Fjern fra anmeldelse
+        report: Anmeldelse
       deleted: Slettet
-      failed_to_execute: Udførelse mislykkedes
       media:
         title: Medier
-      no_media: Ingen medier
       no_status_selected: Ingen indlæg ændret, da ingen var valgt
       title: Kontoindlæg
       with_media: Med medier
@@ -701,21 +724,51 @@ da:
       sidekiq_process_check:
         message_html: Ingen Sidekiq-proces kører for %{value}-kø(er). Gennemgå din Sidekiq-opsætning
     tags:
-      accounts_today: Unikke anvendelser i dag
-      accounts_week: Unikke anvendelser denne uge
-      breakdown: Dagens anvendelse fordelt på kilde
-      last_active: Senest aktiv
-      most_popular: Mest populære
-      most_recent: Seneste
-      name: Hashtag
       review: Gennemsynsstatus
-      reviewed: Gennemgået
-      title: Hashtags
-      trending_right_now: Populære lige nu
-      unique_uses_today: "%{count} indlæg i dag"
-      unreviewed: Ikke gennemgået
       updated_msg: Hashtag-indstillinger opdateret
     title: Administration
+    trends:
+      allow: Tillad
+      approved: Godkendt
+      disallow: Tillad ikke
+      links:
+        allow: Tillad link
+        allow_provider: Tillad udgiver
+        disallow: Tillad ikke link
+        disallow_provider: Tillad ikke udgiver
+        shared_by_over_week:
+          one: Delt af én person i løbet af den sidste uge
+          other: Delt af %{count} personer i løbet af den sidste uge
+        title: Populære links
+        usage_comparison: Delt %{today} gange i dag, sammenlignet med %{yesterday} i går
+      pending_review: Afventende vurdering
+      preview_card_providers:
+        allowed: Links fra denne udgiver kan trende
+        rejected: Links fra denne udgiver vil ikke trende
+        title: Udgivere
+      rejected: Afvist
+      tags:
+        current_score: Aktuel score %{score}
+        dashboard:
+          tag_accounts_measure: unikke brugere
+          tag_languages_dimension: Topsprog
+          tag_servers_dimension: Topservere
+          tag_servers_measure: forskellige servere
+          tag_uses_measure: brugere i alt
+        listable: Kan foreslås
+        not_listable: Foreslås ikke
+        not_trendable: Vises ikke under tendenser
+        not_usable: Kan ikke bruges
+        peaked_on_and_decaying: Toppede d. %{date}, nu nedadgående
+        title: Populære hashtags
+        trendable: Kan vises under tendenser
+        trending_rank: 'Populær #%{rank}'
+        usable: Kan bruges
+        usage_comparison: Brugt %{today} gange i dag, sammenlignet med %{yesterday} i går
+        used_by_over_week:
+          one: Brugt af én person i løbet af den sidste uge
+          other: Brugt af %{count} personer i løbet af den sidste uge
+      title: Trends
     warning_presets:
       add_new: Tilføj ny
       delete: Slet
@@ -730,9 +783,16 @@ da:
       body: "%{reporter} har anmeldt %{target}"
       body_remote: Nogen fra %{domain} har anmeldt %{target}
       subject: Ny anmeldelse for %{instance} (#%{id})
-    new_trending_tag:
-      body: 'Hashtagget #%{name} teender i dag, men er ikke tidligere blevet gennemgået. Det vises ikke offentligt, medmindre du tillader det eller blot gemme formularen, som den er, for aldrig at høre om det igen.'
-      subject: Nyt hashtag til gennemsyn på %{instance} (#%{name})
+    new_trending_links:
+      body: De flg. links er populære i dag, men deres udgivere er ikke tidligere blevet revideret. De vil ikke blive vist offentligt, medmindre du godkender dem. Yderligere notifikationer fra de samme udgivere genereres ikke.
+      no_approved_links: Der er i pt. ingen godkendte populære links.
+      requirements: Det laveste godkendte populære link er pt. "%{lowest_link_title}" med en score på %{lowest_link_score}.
+      subject: Nye populære links er klar til revidering på %{instance}
+    new_trending_tags:
+      body: 'Flg. hashtags er populære i dag, men de er ikke tidligere revideret. De vises ikke offentligt, medmindre du godkender dem:'
+      no_approved_tags: Der er pt. ingen godkendte populære hashtags.
+      requirements: 'Det laveste godkendte populære hashtags er pt. #%{lowest_tag_name} med en score på %{lowest_tag_score}.'
+      subject: Nye populære hashtags er klar til revidering på %{instance}
   aliases:
     add_new: Opret alias
     created_msg: Nyt alias oprettet. Du kan nu påbegynde flytningen fra den gamle konto.
@@ -784,6 +844,7 @@ da:
     invalid_reset_password_token: Adgangskodenulstillingstoken ugyldigt eller udløbet. Anmod om et nyt.
     link_to_otp: Angiv en tofaktorkode fra din mobil, eller en gendannelseskode
     link_to_webauth: Brug din sikkerhedsnøgleenhed
+    log_in_with: Log ind med
     login: Log ind
     logout: Log ud
     migrate_account: Flyt til en anden konto
@@ -939,34 +1000,15 @@ da:
     changes_saved_msg: Ændringerne er gemt!
     copy: Kopier
     delete: Slet
-    no_batch_actions_available: Ingen multihandlinger tilgængelige på denne side
+    none: Intet
     order_by: Sortér efter
     save_changes: Gem ændringer
+    today: i dag
     validation_errors:
       one: Noget er ikke er helt i vinkel! Tjek fejlen nedenfor
       other: Noget er ikke er helt i vinkel! Tjek de %{count} fejl nedenfor
   html_validator:
     invalid_markup: 'indeholder ugyldig HTML-markup: %{error}'
-  identity_proofs:
-    active: Aktiv
-    authorize: Ja, godkend
-    authorize_connection_prompt: Godkend denne kryptografiske forbindelse?
-    errors:
-      failed: Den kryptografiske forbindelse mislykkedes. Prøv igen fra %{provider}.
-      keybase:
-        invalid_token: Keybase-tokens er hashes af signaturer og skal udgøre 66 hex tegn
-        verification_failed: Keybase genkender ikke dette token som Keybasebruger %{kb_username}s signatur. Forsøg igen fra Keybase.
-      wrong_user: Kan ikke oprette et bevis til %{proving}, når indlogget %{current}. Log ind som %{proving} og forsøg igen.
-    explanation_html: Her kan du kryptografisk forbinde dine andre identiteter fra andre platforme, såsom Keybase. Dette lader andre personer sende dig krypterede beskeder på disse platforme og giver dem mulighed for at stole på, at det indhold, du sender dem, kommer fra dig.
-    i_am_html: Jeg er %{username} på %{service}.
-    identity: Identitet
-    inactive: Inaktiv
-    publicize_checkbox: 'Og toot dette:'
-    publicize_toot: 'Det er bevist! Jeg er %{username} på %{service}: %{url}'
-    remove: Fjern bevis fra konto
-    removed: Bevis fjernet fra kontoen
-    status: Verifikationsstatus
-    view_proof: Se bevis
   imports:
     errors:
       over_rows_processing_limit: indeholder mere end %{count} rækker
@@ -1182,6 +1224,9 @@ da:
     reply:
       proceed: Fortsæt for at besvare
       prompt: 'Du ønsker at besvare dette indlæg:'
+  reports:
+    errors:
+      invalid_rules: refererer ikke til gyldige regler
   scheduled_statuses:
     over_daily_limit: Du har nået dagsgrænsen på %{limit} planlagte indlæg
     over_total_limit: Du har nået grænsen på %{limit} planlagte indlæg
@@ -1240,7 +1285,6 @@ da:
     edit_profile: Redigér profil
     export: Dataeksport
     featured_tags: Fremhævede hashtags
-    identity_proofs: Identitetsbeviser
     import: Import
     import_and_export: Importér og eksportér
     migrate: Kontomigrering
@@ -1265,18 +1309,19 @@ da:
         other: "%{count} videoer"
     boosted_from_html: Boostet fra %{acct_link}
     content_warning: 'Indholdsadvarsel: %{warning}'
+    default_language: Det samme som UI-sproget
     disallowed_hashtags:
       one: 'indeholdte et ikke tilladt hashtag: %{tags}'
       other: 'indeholdte de ikke tilladte hashtags: %{tags}'
+    edited_at: Redigeret %{date}
     errors:
       in_reply_not_found: Indlægget, du forsøger at besvare, ser ikke ud til at findes.
-    language_detection: Detektér sprog automatisk
     open_in_web: Åbn i browser
     over_character_limit: grænsen på %{max} tegn er nået
     pin_errors:
+      direct: Indlæg, som kun kan ses af nævnte brugere, kan ikke fastgøres
       limit: Du har allerede fastgjort det maksimale antal indlæg
       ownership: Andres indlæg kan ikke fastgøres
-      private: Ikke-offentlige indlæg kan ikke fastgjøres
       reblog: Et boost kan ikke fastgøres
     poll:
       total_people:
@@ -1351,6 +1396,7 @@ da:
     formats:
       default: "%b %d, %Y, %H:%M"
       month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Tilføj
     disable: Deaktivér 2FA
@@ -1378,24 +1424,31 @@ da:
       subject: Bekræft indlogningsforsøg
       title: Indlogningsforsøg
     warning:
+      categories:
+        spam: Spam
+        violation: Indhold overtræder flg. fællesskabsretningslinjer
       explanation:
-        disable: Du kan ikke længere logge ind på, eller på anden vis bruge, din konto, men din profil og øvrige data forbliver intakte.
-        sensitive: Dine uploadede mediefiler og linkede medier vil blive behandlet som sensitive.
-        silence: Du kan stadig bruge din konto, men kun personer, som allerede følger dig, vil se dine indlæg på denne server, og du kan blive udelukket fra forskellige offentlige lister. Personer vil stadig manuelt kunne følge dig.
-        suspend: Du kan ikke længere bruge din konto, og din profil samt øvrige data kan ikke længere tilgås. Du kan stadig logge ind for at anmode om en sikkerhedskopi af dine data, indtil dataene helt er fjernet. men visse data bevares mhp. at forhindre dig i at omgå udelukkelsen.
-      get_in_touch: Du kan besvare denne e-mail for at komme i kontakt med personalet på %{instance}.
+        delete_statuses: Nogle af dine indlæg har vist sig at være i strid med en eller flere fællesskabsretningslinjer og er som konsekvens fjernet af moderatorerne på %{instance}. Fremtidige overtrædelser kan resultere i hårdere kontosanktioner.
+        disable: Din konto kan ikke længere bruges, men profilen og andre data er intakte. Du kan anmode om en sikkerhedskopi af dine data, ændre kontoindstillinger eller slette kontoen.
+        sensitive: Fra nu af vil alle dine uploadede mediefiler blive markeret som sensitive og skjult bag en klik-igennem advarsel.
+        silence: Din konto kan stadig bruges, men dine indlæg vil kunne ses af personer, som allerede følger dig på denne server, og du kan blive udelukket fra forskellige opdagelsesfunktioner. Personer vil stadig kunne følge dig manuelt.
+        suspend: Din konto kan ikke længere bruges, og hverken profil eller øvrige data kan tilgås. Du kan stadig logge ind for at anmode om en sikkerhedskopi af dine data, indtil disse om ca. 30 er helt slettet. Visse data bevares dog mhp. at forhindre dig i at omgå udelukkelsen.
+      get_in_touch: Anses dette som en fejl, kan denne e-mail besvares for at komme i kontakt med personalet på %{instance}.
+      reason: 'Årsag:'
       review_server_policies: Gennemgå serverpolitikker
-      statuses: 'Specifikt til:'
+      statuses: 'Indlæg fundet i krænkelse:'
       subject:
+        delete_statuses: Dine indlæg på %{acct} er blevet fjernet
         disable: Din konto %{acct} er blevet frosset
         none: Advarsel for %{acct}
-        sensitive: Din konto %{acct} opslagsmedie er blevet markeret som sensitivt
+        sensitive: Dine mediefiler på %{acct} markeres fra nu af som sensitive
         silence: Din konto %{acct} er blevet begrænset
         suspend: Din konto %{acct} er blevet suspenderet
       title:
+        delete_statuses: Indlæg fjernet
         disable: Konto frosset
         none: Advarsel
-        sensitive: Dit medie er blevet markeret som sensitivt
+        sensitive: Medier skjult
         silence: Konto begrænset
         suspend: Konto suspenderet
     welcome:
diff --git a/config/locales/de.yml b/config/locales/de.yml
index 4e59f7b34..6d0865026 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -99,7 +99,6 @@ de:
     accounts:
       add_email_domain_block: E-Mail-Domain blacklisten
       approve: Akzeptieren
-      approve_all: Alle akzeptieren
       approved_msg: "%{username}'s Anmeldeantrag erfolgreich genehmigt"
       are_you_sure: Bist du sicher?
       avatar: Profilbild
@@ -114,6 +113,7 @@ de:
       confirm: Bestätigen
       confirmed: Bestätigt
       confirming: Bestätigung
+      custom: Benutzerdefiniert
       delete: Daten löschen
       deleted: Gelöscht
       demote: Degradieren
@@ -131,7 +131,7 @@ de:
       enable_sign_in_token_auth: Aktiviere die Zwei-Faktor-Authentifizierung per E-Mail
       enabled: Freigegeben
       enabled_msg: "%{username}'s Konto erfolgreich freigegeben"
-      followers: Folgende
+      followers: Follower
       follows: Folgt
       header: Titelbild
       inbox_url: Posteingangs-URL
@@ -153,7 +153,6 @@ de:
         active: Aktiv
         all: Alle
         pending: In Warteschlange
-        silenced: Stummgeschaltet
         suspended: Gesperrt
         title: Moderation
       moderation_notes: Moderationsnotizen
@@ -171,7 +170,6 @@ de:
       redownload: Profil neu laden
       redownloaded_msg: Profil von %{username} erfolgreich von Ursprung aktualisiert
       reject: Ablehnen
-      reject_all: Alle ablehnen
       rejected_msg: "%{username}'s Anmeldeantrag erfolgreich abgelehnt"
       remove_avatar: Profilbild entfernen
       remove_header: Titelbild entfernen
@@ -206,12 +204,14 @@ de:
       silence: Stummschalten
       silenced: Stummgeschaltet
       statuses: Beiträge
+      strikes: Vorherige Strikes
       subscribe: Abonnieren
       suspended: Verbannt
       suspension_irreversible: Die Daten dieses Kontos wurden unwiderruflich gelöscht. Du kannst das Konto aufheben, um es brauchbar zu machen, aber es wird keine Daten wiederherstellen, die es davor schon hatte.
       suspension_reversible_hint_html: Das Konto wurde gesperrt und die Daten werden am %{date} vollständig gelöscht. Bis dahin kann das Konto ohne irgendwelche negativen Auswirkungen wiederhergestellt werden. Wenn du alle Daten des Kontos sofort entfernen möchtest, kannst du dies nachfolgend tun.
-      time_in_queue: "%{time} in der Warteschlange"
       title: Konten
+      unblock_email: E-Mail Adresse entsperren
+      unblocked_email_msg: Die E-Mail-Adresse von %{username} wurde erfolgreich entsperrt
       unconfirmed_email: Unbestätigte E-Mail-Adresse
       undo_sensitized: Nicht mehr als NSFW markieren
       undo_silenced: Stummschaltung aufheben
@@ -226,6 +226,7 @@ de:
       whitelisted: Auf der Whitelist
     action_logs:
       action_types:
+        approve_user: Benutzer genehmigen
         assigned_to_self_report: Bericht zuweisen
         change_email_user: E-Mail des Benutzers ändern
         confirm_user: Benutzer bestätigen
@@ -243,6 +244,7 @@ de:
         destroy_domain_allow: Erlaube das Löschen von Domains
         destroy_domain_block: Domain-Blockade löschen
         destroy_email_domain_block: E-Mail-Domain-Blockade löschen
+        destroy_instance: Domain-Daten entfernen
         destroy_ip_block: IP-Regel löschen
         destroy_status: Beitrag löschen
         destroy_unavailable_domain: Nicht verfügbare Domain löschen
@@ -255,6 +257,7 @@ de:
         enable_user: Benutzer aktivieren
         memorialize_account: Account deaktivieren
         promote_user: Benutzer befördern
+        reject_user: Benutzer ablehnen
         remove_avatar_user: Profilbild entfernen
         reopen_report: Meldung wieder eröffnen
         reset_password_user: Passwort zurücksetzen
@@ -263,6 +266,7 @@ de:
         silence_account: Konto stummschalten
         suspend_account: Konto sperren
         unassigned_report: Meldung widerrufen
+        unblock_email_account: E-Mail Adresse entsperren
         unsensitive_account: Markiere die Medien in deinem Konto nicht mehr als NSFW
         unsilence_account: Konto nicht mehr stummschalten
         unsuspend_account: Konto nicht mehr sperren
@@ -271,6 +275,7 @@ de:
         update_domain_block: Domain Block aktualisieren
         update_status: Beitrag aktualisieren
       actions:
+        approve_user_html: "%{name} genehmigte die Anmeldung von %{target}"
         assigned_to_self_report_html: "%{name} hat sich die Meldung %{target} selbst zugewiesen"
         change_email_user_html: "%{name} hat die E-Mail-Adresse des Nutzers %{target} geändert"
         confirm_user_html: "%{name} hat die E-Mail-Adresse von %{target} bestätigt"
@@ -288,6 +293,7 @@ de:
         destroy_domain_allow_html: "%{name} hat die Domain %{target} von der Whitelist entfernt"
         destroy_domain_block_html: "%{name} hat die Domain %{target} entblockt"
         destroy_email_domain_block_html: "%{name} hat die E-Mail-Domain %{target} gewhitelistet"
+        destroy_instance_html: "%{name} hat die Daten der Domain %{target} entfernt"
         destroy_ip_block_html: "%{name} hat eine Regel für IP %{target} gelöscht"
         destroy_status_html: "%{name} hat einen Beitrag von %{target} entfernt"
         destroy_unavailable_domain_html: "%{name} setzte die Lieferung an die Domain %{target} fort"
@@ -300,6 +306,7 @@ de:
         enable_user_html: "%{name} hat Zugang von Benutzer_in %{target} aktiviert"
         memorialize_account_html: "%{name} hat das Konto von %{target} in eine Gedenkseite umgewandelt"
         promote_user_html: "%{name} hat %{target} befördert"
+        reject_user_html: "%{name} hat die Registrierung von %{target} abgelehnt"
         remove_avatar_user_html: "%{name} hat das Profilbild von %{target} entfernt"
         reopen_report_html: "%{name} hat die Meldung %{target} wieder geöffnet"
         reset_password_user_html: "%{name} hat das Passwort von %{target} zurückgesetzt"
@@ -308,6 +315,7 @@ de:
         silence_account_html: "%{name} hat das Konto von %{target} stummgeschaltet"
         suspend_account_html: "%{name} hat das Konto von %{target} verbannt"
         unassigned_report_html: "%{name} hat die Zuweisung der Meldung %{target} entfernt"
+        unblock_email_account_html: "%{name} entsperrte %{target}'s E-Mail-Adresse"
         unsensitive_account_html: "%{name} markierte %{target}'s Medien nicht als NSFW"
         unsilence_account_html: "%{name} hat die Stummschaltung von %{target} aufgehoben"
         unsuspend_account_html: "%{name} hat die Verbannung von %{target} aufgehoben"
@@ -371,9 +379,28 @@ de:
       updated_msg: Emoji erfolgreich aktualisiert!
       upload: Hochladen
     dashboard:
+      active_users: Aktive Benutzer
+      interactions: Interaktionen
+      media_storage: Medienspeicher
+      new_users: Neue Benutzer
+      opened_reports: Erstellte Meldungen
+      pending_reports_html:
+        one: "<strong>1</strong> ausstehende Meldung"
+        other: "<strong>%{count}</strong> ausstehende Meldungen"
+      pending_tags_html:
+        one: "<strong>1</strong> ausstehender Hashtag"
+        other: "<strong>%{count}</strong> ausstehende Hashtags"
+      pending_users_html:
+        one: "<strong>1</strong> ausstehender Benutzer"
+        other: "<strong>%{count}</strong> ausstehende Benutzer"
+      resolved_reports: Gelöste Meldungen
       software: Software
+      sources: Registrierungsquellen
       space: Speicherverbrauch
       title: Übersicht
+      top_languages: Top aktive Sprachen
+      top_servers: Top aktive Server
+      website: Website
     domain_allows:
       add_new: Whitelist-Domain
       created_msg: Domain wurde erfolgreich zur Whitelist hinzugefügt
@@ -446,6 +473,7 @@ de:
       back_to_limited: Beschränkt
       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?
       delivery:
         all: Alle
         clear: Zustellfehler löschen
@@ -461,6 +489,7 @@ de:
       delivery_available: Zustellung funktioniert
       delivery_error_days: Tage seitdem die Zustellung nicht funktioniert
       delivery_error_hint: Wenn eine Lieferung für %{count} Tage nicht möglich ist, wird sie automatisch als nicht lieferbar markiert.
+      destroyed_msg: Daten von %{domain} sind nun in der Warteschlange für die bevorstehende Löschung.
       empty: Keine Domains gefunden.
       known_accounts:
         one: "%{count} bekanntes Konto"
@@ -471,6 +500,7 @@ de:
         title: Moderation
       private_comment: Privater Kommentar
       public_comment: Öffentlicher Kommentar
+      purge: Löschen
       title: Föderation
       total_blocked_by_us: Von uns blockiert
       total_followed_by_them: Gefolgt von denen
@@ -500,8 +530,6 @@ de:
         title: Neue IP-Regel erstellen
       no_ip_block_selected: Keine IP-Regeln wurden geändert, weil keine ausgewählt wurden
       title: IP-Regeln
-    pending_accounts:
-      title: Ausstehende Konten (%{count})
     relationships:
       title: Beziehungen von %{acct}
     relays:
@@ -523,32 +551,44 @@ de:
     report_notes:
       created_msg: Meldungs-Kommentar erfolgreich erstellt!
       destroyed_msg: Meldungs-Kommentar erfolgreich gelöscht!
+      today_at: Heute um %{time}
     reports:
       account:
         notes:
           one: "%{count} Notiz"
           other: "%{count} Notizen"
-        reports:
-          one: "%{count} Bericht"
-          other: "%{count} Berichte"
+      action_log: Überprüfungsprotokoll
       action_taken_by: Maßnahme ergriffen durch
+      actions:
+        other_description_html: Weitere Optionen zur Kontrolle des Kontoverhaltens und zur Anpassung der Kommunikation an das gemeldete Konto.
+        silence_description_html: Das Profil wird nur für diejenigen sichtbar sein, die es bereits verfolgen oder manuell nachschlagen und die Reichweite wird stark begrenzt. Kann immer rückgängig gemacht werden.
+        suspend_description_html: Das Profil und alle seine Inhalte werden unzugänglich werden, bis es schließlich gelöscht wird. Interaktion mit dem Konto wird unmöglich sein. Reversibel innerhalb von 30 Tagen.
+      actions_description_html: 'Wenn das Entfernen des obigen Inhalts nicht ausreicht:'
+      add_to_report: Mehr zur Meldung hinzufügen
       are_you_sure: Bist du dir sicher?
       assign_to_self: Mir zuweisen
       assigned: Zugewiesener Moderator
       by_target_domain: Domain des gemeldeten Kontos
+      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
       comment:
         none: Kein
+      comment_description_html: 'Um weitere Informationen bereitzustellen, schrieb %{name} folgendes:'
       created_at: Gemeldet
+      delete_and_resolve: Löschen und auflösen
       forwarded: Weitergeleitet
       forwarded_to: Weitergeleitet an %{domain}
       mark_as_resolved: Als gelöst markieren
       mark_as_unresolved: Als ungelöst markieren
+      no_one_assigned: Niemand
       notes:
         create: Kommentar hinzufügen
         create_and_resolve: Mit Kommentar lösen
         create_and_unresolve: Mit Kommentar wieder öffnen
         delete: Löschen
         placeholder: Beschreibe, welche Maßnahmen ergriffen wurden oder irgendwelche andere Neuigkeiten…
+        title: Notizen
+      notes_description_html: Zeige und hinterlasse Notizen an andere Moderatoren und dein zukünftiges Selbst
       reopen: Meldung wieder eröffnen
       report: 'Meldung #%{id}'
       reported_account: Gemeldetes Konto
@@ -556,11 +596,14 @@ de:
       resolved: Gelöst
       resolved_msg: Meldung erfolgreich gelöst!
       status: Zustand
+      statuses: Gemeldeter Inhalt
+      statuses_description_html: Störende Inhalte werden in der Kommunikation mit dem gemeldeten Konto zitiert
       target_origin: Domain des gemeldeten Kontos
       title: Meldungen
       unassign: Zuweisung entfernen
       unresolved: Ungelöst
       updated_at: Aktualisiert
+      view_profile: Zeige Profil
     rules:
       add_new: Regel hinzufügen
       delete: Löschen
@@ -662,15 +705,13 @@ de:
       destroyed_msg: Upload erfolgreich gelöscht!
     statuses:
       back_to_account: Zurück zum Konto
+      back_to_report: Zurück zur Seite mit den Meldungen
       batch:
-        delete: Löschen
-        nsfw_off: Als nicht NSFW markieren
-        nsfw_on: Als NSFW markieren
+        remove_from_report: Von der Meldung entfernen
+        report: Meldung
       deleted: Gelöscht
-      failed_to_execute: Ausführen fehlgeschlagen
       media:
         title: Medien
-      no_media: Keine Medien
       no_status_selected: Keine Beiträge wurden geändert, weil keine ausgewählt wurden
       title: Beiträge des Kontos
       with_media: Mit Medien
@@ -683,21 +724,51 @@ de:
       sidekiq_process_check:
         message_html: Kein Sidekiq-Prozess läuft für die %{value} Warteschlange(n). Bitte überprüfen Sie Ihre Sidekiq-Konfiguration
     tags:
-      accounts_today: Einzigartige Nutzungen heute
-      accounts_week: Einzigartige Nutzung dieser Woche
-      breakdown: Heruntergebrochene Statistiken der heutigen Nutzung nach Quelle
-      last_active: Zuletzt aktiv
-      most_popular: Am beliebtesten
-      most_recent: Neuste
-      name: Hashtag
       review: Prüfstatus
-      reviewed: Überprüft
-      title: Hashtags
-      trending_right_now: Aktuell in den Trends
-      unique_uses_today: "%{count} Beiträge heute"
-      unreviewed: Nicht überprüft
       updated_msg: Hashtageinstellungen wurden erfolgreich aktualisiert
     title: Administration
+    trends:
+      allow: Erlauben
+      approved: Freigegeben
+      disallow: Verbieten
+      links:
+        allow: Erlaube Link
+        allow_provider: Erlaube Herausgeber
+        disallow: Verbiete Link
+        disallow_provider: Verbiete Herausgeber
+        shared_by_over_week:
+          one: In der letzten Woche geteilt von einer Person
+          other: In der letzten Woche geteilt von %{count} Personen
+        title: Angesagte Links
+        usage_comparison: Heute %{today} mal geteilt, gestern %{yesterday} mal
+      pending_review: Überprüfung ausstehend
+      preview_card_providers:
+        allowed: Links von diesem Herausgeber können angesagt sein
+        rejected: Links von diesem Herausgeber können nicht angesagt sein
+        title: Herausgeber
+      rejected: Abgelehnt
+      tags:
+        current_score: Aktuelle Punktzahl %{score}
+        dashboard:
+          tag_accounts_measure: eindeutige Verwendungen
+          tag_languages_dimension: Top Sprachen
+          tag_servers_dimension: Top Server
+          tag_servers_measure: verschiedene Server
+          tag_uses_measure: Gesamtnutzungen
+        listable: Kann vorgeschlagen werden
+        not_listable: Wird nicht vorgeschlagen
+        not_trendable: Wird nicht unter Trends angezeigt
+        not_usable: Kann nicht verwendet werden
+        peaked_on_and_decaying: In den Trends am %{date}, jetzt absteigend
+        title: Beliebtes Hashtags
+        trendable: Darf unter Trends erscheinen
+        trending_rank: 'Trend #%{rank}'
+        usable: Kann verwendet werden
+        usage_comparison: Heute %{today} mal genutzt, gestern %{yesterday} mal
+        used_by_over_week:
+          one: In der letzten Woche genutzt von einer Person
+          other: In der letzten Woche genutzt von %{count} Personen
+      title: Trends
     warning_presets:
       add_new: Neu hinzufügen
       delete: Löschen
@@ -712,9 +783,16 @@ de:
       body: "%{reporter} hat %{target} gemeldet"
       body_remote: Jemand von %{domain} hat %{target} gemeldet
       subject: Neue Meldung auf %{instance} (#%{id})
-    new_trending_tag:
-      body: 'Der Hashtag #%{name} ist heute am trenden, aber wurde vorher noch nicht überprüft. Er wird nicht öffentlich angezeigt, es sei denn du erlaubst es oder speicherst das Formular ab und vergisst es.'
-      subject: Neuer Hashtag zur Überprüfung auf %{instance} verfügbar (#%{name})
+    new_trending_links:
+      body: Die folgenden Links sind heute in den Trends, aber der Ursprung wurde bisher nicht überprüft. Sie werden nicht öffentlich angezeigt, es sei denn, du genehmigst sie. Sollten weitere Links vom selben Ursprung trenden, müssen sie nicht vorher überprüft werden.
+      no_approved_links: Derzeit sind keine Links hinterlegt, die genehmigt wurden.
+      requirements: Der am wenigsten genehmigte Trend-Link ist derzeit "%{lowest_link_title}" mit einer Punktzahl von %{lowest_link_score}.
+      subject: Neue Trend-Links zur Überprüfung auf %{instance}
+    new_trending_tags:
+      body: 'Die folgenden Hashtags trenden heute, aber sie wurden bisher nicht überprüft. Sie werden nicht öffentlich angezeigt, es sei denn, du genehmigst sie:'
+      no_approved_tags: Derzeit gibt es keine genehmigten trendene Hashtags.
+      requirements: 'Der am wenigsten genehmigte trendene Hashtag ist derzeit #%{lowest_tag_name} mit einer Punktzahl von %{lowest_tag_score}.'
+      subject: Neuer Hashtag zur Überprüfung auf %{instance} verfügbar
   aliases:
     add_new: Alias erstellen
     created_msg: Ein neuer Alias wurde erfolgreich erstellt. Du kannst nun den Wechsel vom alten Konto starten.
@@ -766,6 +844,7 @@ de:
     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_webauth: Verwende deinen Sicherheitsschlüssel
+    log_in_with: Anmelden mit
     login: Anmelden
     logout: Abmelden
     migrate_account: Ziehe zu einem anderen Konto um
@@ -921,34 +1000,15 @@ de:
     changes_saved_msg: Änderungen gespeichert!
     copy: Kopieren
     delete: Löschen
-    no_batch_actions_available: Keine Massenaktionen auf dieser Seite verfügbar
+    none: Keine
     order_by: Sortieren nach
     save_changes: Änderungen speichern
+    today: heute
     validation_errors:
       one: Etwas ist noch nicht ganz richtig! Bitte korrigiere den Fehler
       other: Etwas ist noch nicht ganz richtig! Bitte korrigiere %{count} Fehler
   html_validator:
     invalid_markup: 'enthält ungültiges HTML-Markup: %{error}'
-  identity_proofs:
-    active: Aktiv
-    authorize: Ja, autorisieren
-    authorize_connection_prompt: Diese kryptographische Verbindung autorisieren?
-    errors:
-      failed: Die kryptographische Verbindung ist fehlgeschlagen. Bitte versuche es nochmal von %{provider}.
-      keybase:
-        invalid_token: Keybase-Tokens sind Hashsignaturen und müssen 66 Hexadezimalzeichen lang sein
-        verification_failed: Keybase nimmt dieses Token nicht als Signatur für Keybase-Benutzer %{kb_username} an. Bitte versuche es nochmal über Keybase.
-      wrong_user: Kann keinen Beweis für %{proving} erstellen während du als %{current} angemeldet bist. Melde dich als %{proving} an und versuche es noch einmal.
-    explanation_html: Hier kannst du kryptographisch deine anderen Identitäten wie dein Keybase-Profil verbinden. Dadurch können andere Leute dir verschlüsselte Nachrichten senden und dem Inhalt, den sie dir senden, vertrauen.
-    i_am_html: Ich bin %{username} auf %{service}.
-    identity: Identität
-    inactive: Inaktiv
-    publicize_checkbox: 'Und poste das:'
-    publicize_toot: 'Es ist offiziell! Ich bin %{username} auf %{service}: %{url}'
-    remove: Nachweis vom Konto entfernen
-    removed: Identitätsnachweis erfolgreich vom Konto entfernt
-    status: Verifizierungsstatus
-    view_proof: Zeige Nachweis
   imports:
     errors:
       over_rows_processing_limit: enthält mehr als %{count} Zeilen
@@ -1164,6 +1224,9 @@ de:
     reply:
       proceed: Fortfahren zum Antworten
       prompt: 'Du möchtest auf diesen Beitrag antworten:'
+  reports:
+    errors:
+      invalid_rules: verweist nicht auf gültige Regeln
   scheduled_statuses:
     over_daily_limit: Du hast das Limit für geplante Beiträge, dass %{limit} beträgt, für heute erreicht
     over_total_limit: Du hast das Limit für geplante Beiträge, dass %{limit} beträgt, erreicht
@@ -1222,7 +1285,6 @@ de:
     edit_profile: Profil bearbeiten
     export: Datenexport
     featured_tags: Empfohlene Hashtags
-    identity_proofs: Identitätsnachweise
     import: Datenimport
     import_and_export: Importieren und Exportieren
     migrate: Konto-Umzug
@@ -1230,7 +1292,7 @@ de:
     preferences: Einstellungen
     profile: Profil
     relationships: Folgende und Gefolgte
-    statuses_cleanup: Automatisches Beitraglöschen
+    statuses_cleanup: Automatische Löschung
     two_factor_authentication: Zwei-Faktor-Auth
     webauthn_authentication: Sicherheitsschlüssel
   statuses:
@@ -1247,18 +1309,19 @@ de:
         other: "%{count} Videos"
     boosted_from_html: Geteilt von %{acct_link}
     content_warning: 'Inhaltswarnung: %{warning}'
+    default_language: Wie die Oberflächensprache
     disallowed_hashtags:
       one: 'enthält einen verbotenen Hashtag: %{tags}'
       other: 'enthält verbotene Hashtags: %{tags}'
+    edited_at: Bearbeitet am %{date}
     errors:
       in_reply_not_found: Der Beitrag, auf den du antworten möchtest, scheint nicht zu existieren.
-    language_detection: Sprache automatisch erkennen
     open_in_web: Im Web öffnen
     over_character_limit: Zeichenlimit von %{max} überschritten
     pin_errors:
+      direct: Beiträge, die nur für erwähnte Benutzer sichtbar sind, können nicht angepinnt werden
       limit: Du hast bereits die maximale Anzahl an Beiträgen angeheftet
       ownership: Du kannst nur eigene Beiträge anheften
-      private: Du kannst nur öffentliche Beiträge anheften
       reblog: Du kannst keine geteilten Beiträge anheften
     poll:
       total_people:
@@ -1415,6 +1478,7 @@ de:
     formats:
       default: "%d.%m.%Y %H:%M"
       month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Hinzufügen
     disable: Deaktivieren
@@ -1442,24 +1506,31 @@ de:
       subject: Bitte bestätige den Anmeldeversuch
       title: Anmeldeversuch
     warning:
+      categories:
+        spam: Spam
+        violation: Inhalt verletzt die folgenden Community-Richtlinien
       explanation:
-        disable: Solange dein Konto eingefroren ist, sind deine Benutzerdaten intakt; aber du kannst nichts tun, bis dein Konto entsperrt wurde.
-        sensitive: Deine hochgeladenen Mediendateien und verknüpften Medien werden als NSFW markiert.
+        delete_statuses: Einige deiner Beiträge wurden aufgrund eines Verstoßes gegen eine oder mehrere Community-Richtlinien entfernt und von den Moderatoren auf %{instance} entfernt. Künftige Verstöße können zu härteren Strafmaßnahmen gegen dein Konto führen.
+        disable: Du kannst dein Konto nicht mehr verwenden, aber dein Profil und andere Daten bleiben unversehrt. Du kannst ein Backup deiner Daten anfordern, die Kontoeinstellungen ändern oder dein Konto löschen.
+        sensitive: Von nun an werden alle deine hochgeladenen Mediendateien als sensibel markiert und hinter einer Warnung versteckt.
         silence: Solange dein Konto limitiert ist, können nur die Leute, die dir bereits folgen, deine Beiträge auf dem Server sehen und es könnte sein, dass du von verschiedenen öffentlichen Listungen ausgeschlossen wirst. Andererseits können andere dir manuell folgen.
-        suspend: Dein Konto wurde gesperrt und alle deine Beiträge und hochgeladenen Medien wurden unwiderruflich vom Server und anderen Servern, bei denen du Folgende hattest, gelöscht.
-      get_in_touch: Du kannst auf diese E-Mail antworten, um mit dem Personal von %{instance} in Kontakt zu treten.
+        suspend: Du kannst dein Konto nicht mehr verwenden und dein Profil und andere Daten sind nicht mehr verfügbar. Du kannst dich immer noch anmelden, um ein Backup deiner Daten anzufordern, bis die Daten innerhalb von 30 Tagen vollständig gelöscht wurden. Allerdings werden wir einige Daten speichern, um zu verhindern, dass du die Sperrung umgehst.
+      get_in_touch: Wenn du glaubst, dass dies ein Fehler ist, kannst auf diese E-Mail antworten, um mit den Mitarbeitern von %{instance} in Kontakt zu treten.
+      reason: 'Grund:'
       review_server_policies: Serverrichtlinien ansehen
-      statuses: 'Besonders für:'
+      statuses: 'Beiträge, die in Verletzung gefunden wurden:'
       subject:
+        delete_statuses: Deine Beiträge auf %{acct} wurden entfernt
         disable: Dein Konto %{acct} wurde eingefroren
         none: Warnung für %{acct}
-        sensitive: Die Medien deines Konto %{acct} wurden als NSFW markiert
+        sensitive: Deine Mediendateien auf %{acct} werden von nun an als sensibel markiert
         silence: Dein Konto %{acct} wurde limitiert
         suspend: Dein Konto %{acct} wurde gesperrt
       title:
+        delete_statuses: Beiträge entfernt
         disable: Konto eingefroren
         none: Warnung
-        sensitive: Deine Medien wurden als NSFW markiert
+        sensitive: Medien versteckt
         silence: Konto limitiert
         suspend: Konto gesperrt
     welcome:
diff --git a/config/locales/devise.ast.yml b/config/locales/devise.ast.yml
index 29fde3941..eaeb425f3 100644
--- a/config/locales/devise.ast.yml
+++ b/config/locales/devise.ast.yml
@@ -2,8 +2,8 @@
 ast:
   devise:
     confirmations:
-      confirmed: La direición de corréu confirmóse con ésitu.
-      send_instructions: Nunos minutos, vas recibir un corréu coles instrucciones pa cómo confirmar la direición de corréu. Comprueba la carpeta Puxarra si nun lu recibiesti, por favor.
+      confirmed: La direición de corréu confirmóse correutamente.
+      send_instructions: Nunos minutos, vas recibir un corréu coles instrucciones pa cómo confirmar la direición de corréu. Comprueba la carpeta Puxarra si nun lu recibiesti.
       send_paranoid_instructions: Si la direición de corréu esiste na nuesa base de datos, nunos minutos vas recibir un corréu coles instrucciones pa cómo confirmala. Comprueba la carpeta Puxarra si nun lu recibiesti.
     failure:
       already_authenticated: Yá aniciesti sesión.
@@ -11,7 +11,7 @@ ast:
       last_attempt: Tienes un intentu más enantes de bloquiar la cuenta.
       locked: La cuenta ta bloquiada.
       pending: La cuenta ta entá en revisión.
-      timeout: La sesión caducó. Volvi aniciar sesión pa siguir, por favor.
+      timeout: La sesión caducó. Volvi aniciar sesión pa siguir.
       unauthenticated: Precises aniciar sesión o rexistrate enantes de siguir.
     mailer:
       confirmation_instructions:
@@ -22,7 +22,8 @@ ast:
         title: Direición nueva de corréu
       password_change:
         explanation: Camudó la contraseña de la cuenta.
-        subject: 'Mastodon: Camudó la contraseña'
+        extra: Si nun camudesti la contraseña, ye probable que daquién accediere a la cuenta. Camuda la contraseña agora mesmo o ponte en contautu cola alministración del sirvidor si nun yes a acceder a la cuenta.
+        subject: 'Mastodon: La contraseña camudó'
       reset_password_instructions:
         explanation: Solicitesti una contraseña nueva pa la cuenta.
         extra: Si nun solicitesti esto, inora esti corréu. La contraseña nun va camudar hasta que nun accedas al enllaz d'enriba y crees una nueva.
@@ -38,20 +39,21 @@ ast:
     passwords:
       send_instructions: Si la direición de corréu esiste na base de datos, nunos minutos vas recibir un enllaz pa recuperar la contraseña a esi corréu. Comprueba la carpeta Puxarra si nun lu recibiesti.
       send_paranoid_instructions: Si la direición de corréu esiste na base de datos, nunos minutos vas recibir un enllaz pa recuperar la contraseña a esi corréu. Comprueba la carpeta Puxarra si nun lu recibiesti.
-      updated: La contraseña camudó con ésitu. Agora aniciesti sesión.
-      updated_not_active: La contraseña camudó con ésitu.
+      updated_not_active: La contraseña camudó con correutamente.
     registrations:
-      signed_up: "¡Afáyate! Rexistréstite con ésitu."
-      signed_up_but_unconfirmed: Unvióse un mensaxe de confirmación a la direición de corréu. Sigui l'enllaz p'activar la cuenta. Comprueba la carpeta Puxarra si nun recibiesti esti corréu, por favor.
-      updated: La cuenta anovóse con ésitu.
+      signed_up: "¡Afáyate! Rexistréstite correutamente."
+      signed_up_but_unconfirmed: Unvióse un mensaxe de confirmación a la direición de corréu. Sigui l'enllaz p'activar la cuenta. Comprueba la carpeta Puxarra si nun recibiesti esti corréu.
+      updated: La cuenta anovóse correutamente.
+    sessions:
+      signed_in: Aniciesti sesión correutamente.
     unlocks:
       send_instructions: Nunos minutos vas recibir un corréu coles instrucciones pa cómo desbloquiar la cuenta. Comprueba la carpeta Puxarra si nun lu recibiesti.
       send_paranoid_instructions: Si esiste la cuenta, nun momentu vas recibir un corréu coles instrucciones pa cómo desbloquiala. Comprueba la carpeta Puxarra si nun recibiesti esti corréu.
-      unlocked: La cuenta desbloquióse con ésitu. Anicia sesión pa siguir, por favor.
+      unlocked: La cuenta desbloquióse correutamente. Anicia sesión pa siguir.
   errors:
     messages:
       already_confirmed: yá se confirmó, volvi aniciar sesión
       not_found: nun s'alcontró
       not_saved:
         one: '1 fallu torgó que %{resource} se guardare:'
-        other: "%{count} fallos torgó que %{resource} se guardaren:"
+        other: "%{count} fallos torgaron que %{resource} se guardaren:"
diff --git a/config/locales/devise.br.yml b/config/locales/devise.br.yml
index dc4a650e4..86c726811 100644
--- a/config/locales/devise.br.yml
+++ b/config/locales/devise.br.yml
@@ -3,6 +3,8 @@ br:
   devise:
     confirmations:
       confirmed: Kadarnaet eo bet ho chomlec'h postel gant berzh.
+      send_instructions: Resev a rit ur postel evit displegañ penaos kadarnaat ho chomlec'h-postel tuchantig, Mar plij, gwiriit ho restr strobel ma ne oa ket resevet ar postel-mañ ganeoc'h.
+      send_paranoid_instructions: Ma'z eo ho chomlec'h-postel er stlennvon dija, kaset a vo ur postel deoc'h evit displegañ penaos kadarnaat ho chomlec'h-postel tuchantig. Mar plij, gwiriit ho restr strobel ma ne oa ket resevet ar postel-mañ ganeoc'h.
     failure:
       already_authenticated: Kennasket oc'h dija.
       inactive: N'eo ket gweredekaet ho kont c'hoazh.
@@ -11,47 +13,106 @@ br:
       locked: Prennet eo ho kont.
       not_found_in_database: "%{authentication_keys} pe ger-tremen diwiriek."
       pending: O vezañ asantet eo ho kont.
+      timeout: Ho talc'h a zo aet da dermen. Mar plij, kit-tre c'hoazh evit kenderc'hel.
+      unauthenticated: Ret eo deoc'h mont-tre pe e em enskrivañ araok kenderc'hel.
+      unconfirmed: Ret eo deoc'h kadarnaat ho chomlec'h-postel araok kenderc'hel.
     mailer:
       confirmation_instructions:
         action: Gwiriekaat ar chomlec'h postel
         action_with_app: Kadarnaat ha distroiñ da %{app}
+        explanation: Krouet ho peus ur c'hont war %{host} gant ar chomlec'h-postel-mañ. N'eus nemet ur c'hlik evit bevaat anezhañ. Ma ne oa ket krouet ganeoc'h, dianavezit ar postel-se.
+        explanation_when_pending: Enskrivañ ho peus d'ur c'hemennad da %{host} gant ar chomlec'h-postel-se. Pa vo kadarnaet ho chomlec'h-postel, hoc'h enskrivadur a vo asantet. Gallout a rit mont-tre evit kemmañ munudoù ho kont pe skarzhañ anezhañ, met ne c'hellit ket implijout ul lod eus an aezamantoù par ma n'eo ket asantet ho kont. Ma vefe hoc'h enskrivadur nac'het, ho keloù a vefe skarzhet, neuze ne vo ket ret deoc'h ober netra ken. Ma ne oa ket ac'hanoc'h, dianavezit ar postel-se.
+        extra_html: Mar plij, gwiriit ivez <a href="%{terms_path}"> reolennoù ar servijer</a> ha <a href="%{policy_path}"> hon divizoù-implij</a>.
+        subject: 'Mastodon: kemennoù kadarnadur evit %{instance}'
         title: Gwiriekaat ar chomlec'h postel
       email_changed:
+        explanation: 'Chomlec''h-postel ho kont a zo bet kemmet da:'
+        extra: Ma n'ho peus ket kemmet ho postel, e seblant un den bennak en deus gallet mont-tre d'ho kont. Mar plij, kemmit ho ker-tremen hep gortoz, pe kit e darempred gant merer ar servijer ma'z oc'h bac'het e-maez ho kont.
         subject: 'Mastodoñ : Postel kemmet'
         title: Chomlec'h postel nevez
       password_change:
         explanation: Kemmet eo bet ger-tremen ho kont.
+        extra: Ma n'ho peus ket kemmet ho ker-tremen, e seblant un den bennak en deus gallet mont-tre d'ho kont. Mar plij, kemmit ho ker-tremen hep gortoz, pe kit e darempred gant merer ar servijer ma'z oc'h bac'het e-maez ho kont.
         subject: 'Mastodoñ : Ger-tremen kemmet'
         title: Ger-tremen kemmet
       reconfirmation_instructions:
-        explanation: Kadarnait ar chomlec'h nevez evit cheñch ho postel.
+        explanation: Kadarnait ar chomlec'h nevez evit kemmañ ho postel.
+        extra: Ma ne oa ket lañset ar ch'emm-se ganeoc'h, dianavezit ar postel-mañ. Chomlec'h-postel ar c'hont Mastodon ne vo ket kemmet keit ha ma c'hlikit ar lec'hienn a-us.
         subject: 'Mastodoñ : Kadarnait ar postel evit %{instance}'
         title: Gwiriekaat ar chomlec'h postel
       reset_password_instructions:
-        action: Cheñch ar ger-tremen
+        action: Kemmañ ar ger-tremen
         explanation: Goulennet ho peus ur ger-tremen nevez evit ho kont.
+        extra: Ma n'ho peus ket goulennet an dra-se, dianavezit ar postel-mañ. Ho ker-tremen ne gemmo ket keit ha ma c'hlikit ar lec'hienn a-us ha krouiit unan all.
+        subject: 'Mastodon: Adkorañ kemennoù ar ger-tremen'
         title: Adderaouekaat ar ger-tremen
       two_factor_disabled:
+        explanation: Dilesadur dre eil-elfenn a zo bet nac'het. Gallout a reer mont-tre en ur implijout nemet ur chomlec'h-postel hag ur ger-tremen.
+        subject: 'Mastodon: dilesadur dre eil-elfenn nac''het'
         title: 2FA diweredekaet
       two_factor_enabled:
+        explanation: Dilesadur dre eil-elfenn a zo aotreet evit ho kont. Ret a vo implij ur jedouer krouet gant an app TOTP koublet evit mont-tre.
+        subject: 'Mastodon: dilesadur dre eil-elfenn aotreet'
         title: 2FA gweredekaet
+      two_factor_recovery_codes_changed:
+        explanation: Ar c'hodoù adtapout diaraok a zo bet skarzhet ha kodoù nevez krouet.
+        subject: 'Mastodon: kod adtapout dre eil-elfenn a zo adgrouet'
+        title: Kod adtapout 2FA a zo bet kemmet
+      unlock_instructions:
+        subject: 'Mastodon: Dikrouilhiñ kemennoù'
+      webauthn_credential:
+        added:
+          explanation: An alc'hwez surentez-se a zo bet ouzhpennet d'ho kont
+          subject: 'Mastodon: alc''hwez surentez nevez-flamm'
+          title: Un alc'hwez surentez nevez-flamm a zo bet ouzhpennet
+        deleted:
+          explanation: An alc'hwez surentez-se a zo bet dilamet eus ho kont
+          subject: 'Mastodon: alc''hwezioù surentez dilamet'
+          title: Unan eus hoc'h alc'hwezioù surentez a zo bet dilamet
+      webauthn_disabled:
+        explanation: Dilezadur dre alc'hwezioù surentel a zo bet nac'het evit ho kont. Gallout a reer mont-tre en ur implijout ar jedouer krouet gant app TOTP koublet.
+        subject: 'Mastodon: dilesadur dre alc''hwezioù surentez nac''het'
+        title: Alc'hwezioù surentez nac'het
+      webauthn_enabled:
+        explanation: Dilesadur dre alc'hwez surentez a zo bet aotreet evit ho kont. Hoc'h alc'hwez surentez a c'hell bezañ implijet evit mont-tre.
+        subject: 'Mastodon: dilesadur dre alc''hwezioù surentez aotreet'
+        title: Alc'hwezioù surentez aotreet
+    omniauth_callbacks:
+      failure: Ne c'haller ket bezañ gwiriekaet deus %{kind} abalamour da "%{reason}".
+      success: Gwiriekaet deus kont %{kind} gant berzh.
     passwords:
-      updated: Cheñchet eo bet ho ker-tremen gant berzh. Bremañ oc'h anavezadennet.
+      no_token: Ne c'hellit ket mont d'ar bajenn-mañ ma zeuit ket deus ur postel evit adkorañ ur ger-tremen. M'ho peus implijet ur postel evit adkorañ ur ger-tremen, gwiriit oc'h implijet an URL a-bezh.
+      send_instructions: Ma'z eo ho chomlec'h-postel er stlennvon dija, kaset a vo deoc'h ur lec'hienn evit adkorañ ho ker-tremen tuchantig. Mar plij, gwiriit ho restr strobel ma ne oa ket resevet ar postel-mañ ganeoc'h.
+      send_paranoid_instructions: Ma'z eo ho chomlec'h-postel er stlennvon dija, kaset a vo deoc'h ur lec'hienn evit adkorañ ho ker-tremen tuchantig. Mar plij, gwiriit ho restr strobel ma ne oa ket resevet ar postel-mañ ganeoc'h.
+      updated: Kemmet eo bet ho ker-tremen gant berzh. Bremañ oc'h anavezadennet.
       updated_not_active: Kemmet eo bet ho ker-tremen ent reizh.
     registrations:
       destroyed: Kenavo! Ho kont a zo bet nullet gant berzh. Emichañs e viot adwelet tuchant.
       signed_up: Donemat ! Kevreet oc'h.
       signed_up_but_inactive: Enskrivet oc'h bet gant berzh. N'omp ket evit anavezadenniñ ac'hanoc'h alatao, rak ho kont n'eo ket aotreet c'hoazh.
       signed_up_but_locked: Enskrivet oc'h bet gant berzh. N'omp ket evit anavezadenniñ ac'hanoc'h alatao, rak ho kont a zo prennet.
+      signed_up_but_pending: Ur c'hemennad gant ul lec'hienn kadarnaat a zo bet kaset d'ho chomlec'h-postel. Pa vo kliket al lec'hienn ganeoc'h e vo gwiriet hoc'h arload ganeomp. Ur gemennadenn a vo kaset deoc'h hag-eñ eo erbedet ho kont.
+      signed_up_but_unconfirmed: Ur ch'emennad gant ul lec'hienn kadarnaat a zo bet kaset d'ho chomlec'h-postel. Mar plij, heuliit al lec'hienn evit gweredekaat ho kont. Gwiriit ho restr strobel ma ne oa ket resevet ar postel-mañ ganeoc'h.
+      update_needs_confirmation: Ho kont a zo bet hizivaet da benn, met ret eo deomp gwiriañ ho chomlec'h-postel nevez. Mar plij, gwiriit ho postelioù ha heuliit al lec'hienn evit kadarnaat ho chomlec'h-postel nevez. Gwiriit ho restr strobel ma ne oa ket resevet ar postel-mañ ganeoc'h.
+      updated: Ho kont a zo bet hizivaet da benn.
     sessions:
       already_signed_out: Digennasket gant berzh.
       signed_in: Kennasket gant berzh.
       signed_out: Digennasket gant berzh.
     unlocks:
+      send_instructions: Kaset e vo ur postel deoc'h evit displegañ deoc'h penaos dikrouilhiñ anezhañ tuchantig. Mar plij, gwiriit ho restr strobel ma ne oa ket resevet ar postel-mañ ganeoc'h.
+      send_paranoid_instructions: Ma'z eo ho kont krouet dija, kaset e vo ur postel deoc'h evit displegañ deoc'h penaos dikrouilhiñ anezhañ. Mar plij, gwiriit ho restr strobel ma ne oa ket resevet ar postel-mañ ganeoc'h.
       unlocked: Ho kont a zo bet dibrennet gant berzh. Anavezadennit evit mont-tre.
   errors:
     messages:
       already_confirmed: a zo bet kadarnaet dija, klaskit d'en em anavezadenniñ
       confirmation_period_expired: eo ret bezañ kadarnaet a-raok %{period}, goulennit unan all mar plij
+      expired: a zo aet da dermen, goulennit unan nevez mar plij
       not_found: digavet
       not_locked: ne oa ket prennet
+      not_saved:
+        few: "%{count} faot en deus miret ouzh %{resource} da vezañ gwarezet:"
+        many: "%{count} faot en deus miret ouzh %{resource} da vezañ gwarezet:"
+        one: '1 faot en deus miret ouzh %{resource} da vezañ gwarezet:'
+        other: "%{count} faot en deus miret ouzh %{resource} da vezañ gwarezet:"
+        two: "%{count} faot en deus miret ouzh %{resource} da vezañ gwarezet:"
diff --git a/config/locales/devise.fr.yml b/config/locales/devise.fr.yml
index 41ec75856..c43653662 100644
--- a/config/locales/devise.fr.yml
+++ b/config/locales/devise.fr.yml
@@ -6,7 +6,7 @@ fr:
       send_instructions: Vous allez recevoir par courriel les instructions nécessaires à la confirmation de votre compte dans quelques minutes. Veuillez, dans le cas où vous ne recevriez pas ce message, vérifier votre dossier d’indésirables.
       send_paranoid_instructions: Si votre adresse électronique existe dans notre base de données, vous allez bientôt recevoir un courriel contenant les instructions de confirmation de votre compte. Veuillez, dans le cas où vous ne recevriez pas ce message, vérifier votre dossier d’indésirables.
     failure:
-      already_authenticated: Vous êtes déjà connecté.
+      already_authenticated: Vous êtes déjà connecté⋅e.
       inactive: Votre compte n’est pas encore activé.
       invalid: "%{authentication_keys} ou mot de passe invalide."
       last_attempt: Vous avez droit à une dernière tentative avant que votre compte ne soit verrouillé.
@@ -27,12 +27,12 @@ fr:
         title: Vérifiez l’adresse courriel
       email_changed:
         explanation: 'L’adresse courriel de votre compte est en cours de modification pour devenir :'
-        extra: Si vous n’avez pas changé votre adresse courriel, il est probable que quelqu’un ait eu accès à votre compte. Veuillez changer votre mot de passe immédiatement ou contacter l’administrateur du serveur si vous êtes bloqué hors de votre compte.
+        extra: Si vous n’avez pas changé votre adresse courriel, il est probable que quelqu’un ait eu accès à votre compte. Veuillez changer votre mot de passe immédiatement ou contacter l’administrateur·rice du serveur si vous êtes bloqué·e hors de votre compte.
         subject: 'Mastodon : Courriel modifié'
         title: Nouvelle adresse courriel
       password_change:
         explanation: Le mot de passe de votre compte a été changé.
-        extra: Si vous n’avez pas changé votre mot de passe, il est probable que quelqu’un ait eu accès à votre compte. Veuillez changer votre mot de passe immédiatement ou contacter l’administrateur du serveur si vous êtes bloqué hors de votre compte.
+        extra: Si vous n’avez pas changé votre mot de passe, il est probable que quelqu’un ait eu accès à votre compte. Veuillez changer votre mot de passe immédiatement ou contacter l’administrateur·rice du serveur si vous êtes bloqué·e hors de votre compte.
         subject: 'Mastodon : Votre mot de passe a été modifié avec succès'
         title: Mot de passe modifié
       reconfirmation_instructions:
@@ -89,16 +89,16 @@ fr:
     registrations:
       destroyed: Au revoir ! Votre compte a été supprimé avec succès. Nous espérons vous revoir bientôt.
       signed_up: Bienvenue ! Vous êtes connecté.
-      signed_up_but_inactive: Vous êtes bien enregistré. Vous ne pouvez cependant pas vous connecter car votre compte n’est pas encore activé.
-      signed_up_but_locked: Vous êtes bien enregistré. Vous ne pouvez cependant pas vous connecter car votre compte est verrouillé.
-      signed_up_but_pending: Un message avec un lien de confirmation a été envoyé à votre adresse courriel. Après avoir cliqué sur le lien, nous examinerons votre demande. Vous serez informé si elle a été approuvée.
+      signed_up_but_inactive: Vous êtes bien enregistré·e. Vous ne pouvez cependant pas vous connecter car votre compte n’est pas encore activé.
+      signed_up_but_locked: Vous êtes bien enregistré·e. Vous ne pouvez cependant pas vous connecter car votre compte est verrouillé.
+      signed_up_but_pending: Un message avec un lien de confirmation a été envoyé à votre adresse courriel. Après avoir cliqué sur le lien, nous examinerons votre demande. Vous serez informé·e si elle a été approuvée.
       signed_up_but_unconfirmed: Un message contenant un lien de confirmation a été envoyé à votre adresse courriel. Ouvrez ce lien pour activer votre compte. Veuillez vérifier votre dossier d'indésirables si vous ne recevez pas le courriel.
       update_needs_confirmation: Votre compte a bien été mis à jour, mais nous devons vérifier votre nouvelle adresse courriel. Merci de vérifier vos courriels et de cliquer sur le lien de confirmation pour finaliser la validation de votre nouvelle adresse. Si vous n'avez pas reçu le courriel, vérifiez votre dossier de spams.
       updated: Votre compte a été modifié avec succès.
     sessions:
       already_signed_out: Déconnecté·e.
-      signed_in: Connecté.
-      signed_out: Déconnecté.
+      signed_in: Connecté·e.
+      signed_out: Déconnecté·e.
     unlocks:
       send_instructions: Vous allez recevoir les instructions nécessaires au déverrouillage de votre compte dans quelques instants. Veuillez, dans le cas où vous ne recevriez pas ce message, vérifier votre dossier d’indésirables.
       send_paranoid_instructions: Si votre compte existe, vous allez bientôt recevoir un courriel contenant les instructions pour le déverrouiller. Veuillez, dans le cas où vous ne recevriez pas ce message, vérifier votre dossier d’indésirables.
@@ -111,5 +111,5 @@ fr:
       not_found: n’a pas été trouvé
       not_locked: n’était pas verrouillé
       not_saved:
-        one: 'Une erreur a empêché cette %{resource} d’être sauvegardé :'
-        other: "%{count} erreurs ont empêché %{resource} d’être sauvegardé :"
+        one: 'Une erreur a empêché ce·tte %{resource} d’être sauvegardé·e :'
+        other: "%{count} erreurs ont empêché %{resource} d’être sauvegardé⋅e :"
diff --git a/config/locales/devise.gl.yml b/config/locales/devise.gl.yml
index 6c8718f28..0bb52d8e2 100644
--- a/config/locales/devise.gl.yml
+++ b/config/locales/devise.gl.yml
@@ -78,7 +78,7 @@ gl:
         subject: 'Mastodon: Autenticación con chave de seguridade activada'
         title: Chaves de seguridade activas
     omniauth_callbacks:
-      failure: Non foi posíbel autenticar %{kind} porque "%{reason}".
+      failure: Non foi posible autenticarte desde %{kind} debido a "%{reason}".
       success: Autenticado con éxito na conta %{kind}.
     passwords:
       no_token: Non podes acceder a esta páxina se non vés a través da ligazón enviada por email para o mudado do teu contrasinal. Se empregaches esa ligazón para chegar aquí, por favor verifica que o enderezo URL actual é o mesmo do que foi enviado no email.
diff --git a/config/locales/devise.hy.yml b/config/locales/devise.hy.yml
index 2a75385e9..2d235c0af 100644
--- a/config/locales/devise.hy.yml
+++ b/config/locales/devise.hy.yml
@@ -3,7 +3,7 @@ hy:
   devise:
     confirmations:
       confirmed: Ձեր էլ․ փոստի հասցէն յաջողութեամբ հաստատուեց։
-      send_instructions: Մի քանի րոպէից դու կը ստանաս իմակ՝ նկարագրութիւններով, թէ ինչպէս հաստատես էլ․ հասցէդ։ Խնդրում ենք, ստուգիր սպամ պանակդ, եթէ չստանաս իմակ։
+      send_instructions: Մի քանի րոպէից դու կը ստանաս էլ. նամակ՝ նկարագրութիւններով, թէ ինչպէս հաստատես էլ․ հասցէդ։ Եթե չստանաս, խնդրում ենք ստուգիր նաեւ սպամ պանակդ։
       send_paranoid_instructions: Եթե ձեր էլ․փոստի հասցեն արդեն կա մեր տվյալների բազայում, ապա մենք ուղարկել ենք Ձեզ էլ․նամակ՝ նկարագրությունով, թե ինչպես հաստատեք էլ․փոստը մի քանի վայրկյանում։ Ստուգե ձեր թափոն թղթապանակը, եթե նամակ չեք ստացել։
     failure:
       already_authenticated: Արդէն մուտք ես գործել
diff --git a/config/locales/devise.it.yml b/config/locales/devise.it.yml
index 53e8169e4..3aba63a9c 100644
--- a/config/locales/devise.it.yml
+++ b/config/locales/devise.it.yml
@@ -93,7 +93,7 @@ it:
       signed_up_but_locked: Ti sei registrato con successo. Purtroppo però non possiamo farti accedere perché il tuo account è bloccato.
       signed_up_but_pending: Un messaggio con un collegamento per la conferma è stato inviato al tuo indirizzo email. Dopo aver cliccato il collegamento, esamineremo la tua richiesta. Ti sarà notificato se verrà approvata.
       signed_up_but_unconfirmed: Un messaggio con un link di conferma è stato inviato al tuo indirizzo email. Per favore, visita il link per attivare il tuo account.
-      update_needs_confirmation: Hai aggiornato correttamente il tuo account, ma abbiamo bisogno di verificare il tuo nuovo indirizzo email. Per favore, controlla la posta in arrivo e visita il link di conferma per verificare il tuo indirizzo email.
+      update_needs_confirmation: Il tuo account è stato aggiornato correttamente, tuttavia è necessario verificare il tuo nuovo indirizzo e-mail. Controlla la tua casella di posta elettronica e segui il link di conferma per confermare il tuo nuovo indirizzo e-mail. Controlla la cartella posta indesiderata se non trovi l'email.
       updated: Il tuo account è stato aggiornato con successo.
     sessions:
       already_signed_out: Sei uscito correttamente dal tuo account.
diff --git a/config/locales/devise.kab.yml b/config/locales/devise.kab.yml
index 79faaaa1b..eb599e55e 100644
--- a/config/locales/devise.kab.yml
+++ b/config/locales/devise.kab.yml
@@ -60,6 +60,10 @@ kab:
         title: Tangalt n tuɣalin 2FA tettwabeddel
       unlock_instructions:
         subject: 'Mastodon: iwelihhen n userreḥ'
+      webauthn_credential:
+        added:
+          subject: 'Maṣṭudun : Tasarutt tamaynutt n tɣellist'
+          title: Tasarut tamaynutt n tɣellist tamaynut tettwarna
     omniauth_callbacks:
       failure: Ur nezmir ara ad ak·akem-nsesṭeb seg %{kind} acku "%{reason}".
       success: Asesṭeb idda akken iwata seg umiḍan %{kind}.
diff --git a/config/locales/devise.ro.yml b/config/locales/devise.ro.yml
index 8579d2c64..d25d0f6b3 100644
--- a/config/locales/devise.ro.yml
+++ b/config/locales/devise.ro.yml
@@ -60,6 +60,23 @@ ro:
         title: Coduri de recuperare 2FA modificate
       unlock_instructions:
         subject: Instrucțiuni de deblocare
+      webauthn_credential:
+        added:
+          explanation: Următoarea cheie de securitate a fost adăugată în contul tău
+          subject: 'Mastodon: Noua cheie de securitate'
+          title: A fost adăugată o nouă cheie de securitate
+        deleted:
+          explanation: Următoarea cheie de securitate a fost ștearsă din contul tău
+          subject: 'Mastodon: Cheie de securitate ștearsă'
+          title: Una dintre cheile tale de securitate a fost ștearsă
+      webauthn_disabled:
+        explanation: Autentificarea cu chei de securitate a fost dezactivată pentru contul tău. Conectarea este posibilă acum folosind doar token-ul generat de aplicația TOTP.
+        subject: 'Mastodon: Autentificarea cu chei de securitate dezactivată'
+        title: Chei de securitate dezactivate
+      webauthn_enabled:
+        explanation: Autentificarea cheii de securitate a fost activată pentru contul tău. Cheia ta de securitate poate fi acum folosită pentru conectare.
+        subject: 'Mastodon: Autentificarea cheii de securitate activată'
+        title: Chei de securitate activate
     omniauth_callbacks:
       failure: Nu te-am putut autentifica de la %{kind} deoarece "%{reason}".
       success: Autentificat cu succes din contul %{kind}.
diff --git a/config/locales/devise.sl.yml b/config/locales/devise.sl.yml
index dee1b9125..6553e3cd6 100644
--- a/config/locales/devise.sl.yml
+++ b/config/locales/devise.sl.yml
@@ -46,8 +46,37 @@ sl:
         extra: Če tega niste zahtevali, prezrite to e-poštno sporočilo. Vaše geslo se ne bo spremenilo, dokler ne kliknete na zgornjo povezavo in ustvarite novega.
         subject: 'Mastodon: Navodila za ponastavitev gesla'
         title: Ponastavi geslo
+      two_factor_disabled:
+        explanation: Dvojno oz. dvofazno preverjanje pristnosti je za vaš račun onemogočeno. Prijava je zdaj možna le z e-poštnim naslovom in geslom.
+        subject: 'Mastodon: dvojno preverjanje pristnosti je onemogočeno'
+        title: 2FA onemogočeno
+      two_factor_enabled:
+        explanation: Dvojno oz. dvofazno preverjanje pristnosti je za vaš račun omogočena. Žeton, izdelan z aplikacijo TOTP, bo zahtevan zs prijavo.
+        subject: 'Mastodon: dvojno preverjanje pristnosti je omogočeno'
+        title: 2FA omogočeno
+      two_factor_recovery_codes_changed:
+        explanation: Prejšnje obnovitvene kode so postale neveljavne in ustvarjene so bile nove.
+        subject: 'Mastodon: varnostne obnovitvene kode za dvojno preverjanje pristnosti so ponovno izdelane'
+        title: obnovitvene kode 2FA spremenjene
       unlock_instructions:
         subject: 'Mastodon: Odkleni navodila'
+      webauthn_credential:
+        added:
+          explanation: Naslednja varnostna koda je dodana vašemu računu
+          subject: 'Mastodon: nova varnostna koda'
+          title: Dodana je nova varnostna koda
+        deleted:
+          explanation: Naslednja varnostna koda je izbrisana iz vašega računa
+          subject: 'Mastodon: varnostna koda izbrisana'
+          title: Ena od vaših varnostnih kod je bila izbrisana
+      webauthn_disabled:
+        explanation: Overjanje pristnosti z varnostnimi ključi je za vaš račun onemogočeno. Prijava je zdaj možna le z uporabo žetona, ki ga izdela aplikacijo TOTP.
+        subject: 'Mastodon: overjanje pristnosti z varnosnimi kodami je onemogočeno'
+        title: Varnostne kode onemogočene
+      webauthn_enabled:
+        explanation: Overjanje z varnostnim ključem je omogočeno za vaš račun. Svoj varnostni ključ lahko zdaj uporabite za prijavo.
+        subject: 'Mastodon: preverjanje pristnosti z varnostno kodo je omogočeno'
+        title: Varnostne kode omogočene
     omniauth_callbacks:
       failure: Overitev iz %{kind} ni možna zaradi "%{reason}".
       success: Overitev iz računa %{kind} je bila uspešna.
diff --git a/config/locales/devise.th.yml b/config/locales/devise.th.yml
index 5970e8d26..e53c0f895 100644
--- a/config/locales/devise.th.yml
+++ b/config/locales/devise.th.yml
@@ -47,7 +47,7 @@ th:
         subject: 'Mastodon: คำแนะนำการตั้งรหัสผ่านใหม่'
         title: การตั้งรหัสผ่านใหม่
       two_factor_disabled:
-        explanation: ปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยสำหรับบัญชีของคุณแล้ว การเข้าสู่ระบบสามารถทำได้โดยใช้ที่อยู่อีเมลและรหัสผ่านเท่านั้น
+        explanation: ปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยสำหรับบัญชีของคุณแล้ว ตอนนี้สามารถเข้าสู่ระบบได้โดยใช้ที่อยู่อีเมลและรหัสผ่านเท่านั้น
         subject: 'Mastodon: ปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยแล้ว'
         title: ปิดใช้งาน 2FA แล้ว
       two_factor_enabled:
@@ -70,9 +70,11 @@ th:
           subject: 'Mastodon: ลบกุญแจความปลอดภัยแล้ว'
           title: ลบหนึ่งในกุญแจความปลอดภัยของคุณแล้ว
       webauthn_disabled:
+        explanation: ปิดใช้งานการรับรองความถูกต้องด้วยกุญแจความปลอดภัยสำหรับบัญชีของคุณแล้ว ตอนนี้สามารถเข้าสู่ระบบได้โดยใช้โทเคนที่สร้างโดยแอป TOTP ที่จับคู่เท่านั้น
         subject: 'Mastodon: ปิดใช้งานการรับรองความถูกต้องด้วยกุญแจความปลอดภัยแล้ว'
         title: ปิดใช้งานกุญแจความปลอดภัยแล้ว
       webauthn_enabled:
+        explanation: เปิดใช้งานการรับรองความถูกต้องด้วยกุญแจความปลอดภัยสำหรับบัญชีของคุณแล้ว ตอนนี้สามารถใช้กุญแจความปลอดภัยของคุณสำหรับการเข้าสู่ระบบ
         subject: 'Mastodon: เปิดใช้งานการรับรองความถูกต้องด้วยกุญแจความปลอดภัยแล้ว'
         title: เปิดใช้งานกุญแจความปลอดภัยแล้ว
     omniauth_callbacks:
diff --git a/config/locales/devise.zh-CN.yml b/config/locales/devise.zh-CN.yml
index 0d8e487c9..ef09b0d03 100644
--- a/config/locales/devise.zh-CN.yml
+++ b/config/locales/devise.zh-CN.yml
@@ -4,7 +4,7 @@ zh-CN:
     confirmations:
       confirmed: 已成功确认你的邮箱地址。
       send_instructions: 你将在几分钟内收到一封电子邮件,指导你如何验证电子邮箱地址。如果你没有收到这封邮件,请检查你的垃圾邮件文件夹。
-      send_paranoid_instructions: 如果你的电子邮箱地址存在于我们的数据库中,你将在几分钟内收到一封邮件,知道你如何验证电子邮箱地址。如果你没有收到这封邮件,请检查你的垃圾邮件文件夹。
+      send_paranoid_instructions: 如果你的电子邮箱地址存在于我们的数据库中,你将在几分钟内收到一封邮件,指导你如何验证电子邮箱地址。如果你没有收到这封邮件,请检查你的垃圾邮件文件夹。
     failure:
       already_authenticated: 你已登录。
       inactive: 你还没有激活帐户。
@@ -79,19 +79,19 @@ zh-CN:
         title: 已启用安全密钥
     omniauth_callbacks:
       failure: 由于%{reason},无法从%{kind}获得授权。
-      success: 成功地从%{kind}获得授权。
+      success: 成功地从 %{kind} 获得授权。
     passwords:
-      no_token: 你必须通过密码重置邮件才能访问这个页面。如果你确实如此,请确保你输入的 URL 是完整的。
-      send_instructions: 几分钟后,你将收到重置密码的电子邮件。如果没有,请检查你的垃圾邮箱。
-      send_paranoid_instructions: 如果你的邮箱存在于我们的数据库中,你将收到一封找回密码的邮件。如果没有,请检查你的垃圾邮箱。
-      updated: 你的密码已修改成功,你现在已登录。
-      updated_not_active: 你的密码已修改成功。
+      no_token: 如果你不是来自于密码重置邮件,你就不能访问这个页面。如果你确实来自密码重置邮件,请确保你使用了所提供的完整 URL 。
+      send_instructions: 如果你的电子邮件地址存在于我们的数据库中,你将在几分钟后收到一个密码恢复链接。如果你没有收到这封邮件,请检查你邮箱的垃圾箱。
+      send_paranoid_instructions: 如果你的电子邮件地址存在于我们的数据库中,你将在几分钟后收到一个密码恢复链接。如果你没有收到这封邮件,请检查你邮箱的垃圾箱。
+      updated: 你的密码已成功修改,现在你已登录。
+      updated_not_active: 你的密码已成功修改。
     registrations:
       destroyed: 再见!你的帐户已成功注销。我们希望很快可以再见到你。
-      signed_up: 欢迎!你已注册成功。
-      signed_up_but_inactive: 你已成功注册,但因尚未激活帐户所以无法登陆。
-      signed_up_but_locked: 你已成功注册,但因帐户被锁定所以无法登陆。
-      signed_up_but_pending: 一封带有确认链接的邮件已经发送到了你的邮箱。 在你点击确认链接后,我们将会审核你的申请。审核通过后,我们将会通知你。
+      signed_up: 欢迎!你已成功注册。
+      signed_up_but_inactive: 你已成功注册,但我们无法让你登录,因为你的账户还没有激活。
+      signed_up_but_locked: 你已成功注册,但我们无法让你登录,因为你的账户已被锁定。
+      signed_up_but_pending: 一条带有确认链接的邮件已经发送到你的电子邮件地址。在你点击该链接后,我们将会审查你的申请。如果申请被批准,你将收到通知。
       signed_up_but_unconfirmed: 一封带有确认链接的邮件已经发送至你的邮箱,请点击邮件中的链接以激活你的帐户。如果没有,请检查你的垃圾邮件。
       update_needs_confirmation: 帐号信息更新成功,但我们需要验证你的新电子邮件地址,请点击邮件中的链接以确认。如果没有,请检查你的垃圾邮箱。
       updated: 帐户资料更新成功。
@@ -101,14 +101,14 @@ zh-CN:
       signed_out: 已成功登出。
     unlocks:
       send_instructions: 几分钟后,你将收到一封解锁帐户的邮件。如果没有,请检查你的垃圾邮箱。
-      send_paranoid_instructions: 如果你的帐号存在于数据库中,你将收到一封指引你解锁帐户的邮件。如果没有,请检查你的垃圾邮箱。
+      send_paranoid_instructions: 如果你的账户存在,你将会在几分钟内收到一封指引你如何解锁账户的邮件。如果你没有收到这封邮件,请检查你邮箱的垃圾箱。
       unlocked: 你的帐户已成功解锁。登录以继续。
   errors:
     messages:
-      already_confirmed: 已经确认成功,请尝试登录
+      already_confirmed: 已经成功确认,请尝试登录
       confirmation_period_expired: 必须在 %{period} 以内确认。请重新发起请求
       expired: 已过期。请重新发起请求
       not_found: 未找到
       not_locked: 未被锁定
       not_saved:
-        other: 发生 %{count} 个错误,导致%{resource}保存失败:
+        other: 在保存 %{resource} 时发生了 %{count} 个错误:
diff --git a/config/locales/doorkeeper.br.yml b/config/locales/doorkeeper.br.yml
index a9b8d5b90..dfcdb984d 100644
--- a/config/locales/doorkeeper.br.yml
+++ b/config/locales/doorkeeper.br.yml
@@ -4,7 +4,15 @@ br:
     attributes:
       doorkeeper/application:
         name: Anv an arload
+        redirect_uri: Dazkas URI
         website: Lec'hienn an arload
+    errors:
+      models:
+        doorkeeper/application:
+          attributes:
+            redirect_uri:
+              invalid_uri: eo ret bezañ un URI reizh.
+              secured_uri: eo ret bezañ un HTTPS/SSL URI.
   doorkeeper:
     applications:
       buttons:
@@ -12,11 +20,21 @@ br:
         cancel: Nullañ
         destroy: Distrujañ
         edit: Aozañ
+        submit: Kas
       confirmations:
         destroy: Ha sur oc'h ?
+      edit:
+        title: Kemmañ an arload
+      form:
+        error: Hopala! Gwiriit ho frammenn rak fazioù a c'hell bezañ enni
+      help:
+        native_redirect_uri: Implijit %{native_redirect_uri} evit amprouadennoù lec'hel
+        redirect_uri: Implijit ul linenn evit pep URI
       index:
         application: Arload
+        callback_url: URL adc'halv
         delete: Dilemel
+        empty: Arloadoù ebet ganeoc'h.
         name: Anv
         new: Arload nevez
         show: Diskouez
@@ -24,16 +42,51 @@ br:
       new:
         title: Arload nevez
       show:
+        actions: Obererezhioù
+        application_id: Alc'hwez an arval
+        callback_urls: URLoù adc'halv
         title: 'Arload : %{name}'
     authorizations:
       buttons:
         authorize: Aotren
+        deny: Nac'hañ
+      error:
+        title: Ur fazi a zo degouezhet
+      new:
+        able_to: Gallout a raio
+        prompt: Arload %{client_name} a reket moned d'ho kont
+        title: Aotre rekis
+      show:
+        title: Eilennit kod aotre-se ha pegit en arload.
     authorized_applications:
+      buttons:
+        revoke: Skarzhañ
       confirmations:
         revoke: Ha sur oc'h ?
       index:
         application: Arload
+        created_at: Aotreet
         date_format: "%d-%m-%Y %H:%M:%S"
+        title: Hoc'h arloadoù aotreet
+    errors:
+      messages:
+        access_denied: Perc'henn an danvez pe ar servijer aotre nac'het ar reket.
+        invalid_grant: An aotre pourvezhet a zo direizh, aet da dermen, skarzhet, roet d'un arval all pe ne glot ket gant an URI dazkas implijet.
+        invalid_redirect_uri: An URI dazkas n'eo ket reizh.
+        invalid_request:
+          missing_param: 'Un arventenn a vank: %{value}.'
+          request_not_authorized: Ret eo d'ar reket bezañ aotreet. Arventenn rekis evit aotren ar reket a zo direizh pe diank.
+          unknown: Ar reket a vank un arventenn rekis, a enlaak un dalvoud arventenn dianavezet, pe a zo faziek en ur mod all.
+        invalid_resource_owner: Testenioù perc'henn an danvez pourvezet n'int ket reizh, pe perc'henn an danvez ne c'hell ket bezañ kavet
+        invalid_token:
+          expired: Ar jedouer moned a zo aet da dermen
+          revoked: Ar jedouer moned a zo skarzhet
+          unknown: Ar jedouer moned a zo direizh
+        server_error: Ur fazi digortozet a c'hoarveze hag a vire ar servijer aotre ouzh klokaat ar reket.
+        temporarily_unavailable: Ar servijer aotre ne c'hall ket seveniñ ar reket abalamour d'ur soulgarg pe d'ur gempenn.
+        unauthorized_client: An arval n'eo ket aotreet seveniñ ar reket-mañ er mod-se.
+        unsupported_grant_type: Diembreg eo seurt aotre gant ar servijer aotre.
+        unsupported_response_type: Diembreg eo seurt respontoù gant ar servijer aotre.
     flash:
       applications:
         create:
@@ -42,11 +95,47 @@ br:
           notice: Dilamet eo bet an arload.
         update:
           notice: Hizivaet eo bet an arload.
+      authorized_applications:
+        destroy:
+          notice: Skarzhet eo bet an arload.
     layouts:
       admin:
         nav:
           applications: Arloadoù
+          oauth2_provider: OAuth2 Pourvezer
+      application:
+        title: OAuth aotre rekis
     scopes:
+      admin:read: lenn holl titouroù ar servijer
+      admin:read:accounts: lenn titouroù kizidik an holl kontoù
+      admin:read:reports: lenn titouroù kizidik an holl danevelloù hag an holl kontoù danevellet
+      admin:write: kemmañ holl titouroù ar servijer
+      admin:write:accounts: ober evezherezh war ar c'hontoù
+      admin:write:reports: ober evezherezh war an danevelloù
+      follow: kemmañ darempredoù ho kont
+      push: resev ho kemennoù push
+      read: lenn holl titouroù ho kont
+      read:accounts: gwelout titouroù ar c'hontoù
+      read:blocks: gwelout ar pezh a zo stanket ganeoc'h
+      read:bookmarks: gwelout ho sinedoù
+      read:favourites: gwelout ho muiañ-karet
+      read:filters: gwelout ho siloù
+      read:follows: gwelout ar pezh a zo heuliet ganeoc'h
       read:lists: gwelout ho listennoù
+      read:mutes: gwelout traoù pe kontoù kuzhet ganeoc'h
+      read:notifications: gwellout ho kemennoù
+      read:reports: gwelout ho tanevelloù
+      read:statuses: gwelout an holl toudoù
+      write: kemmañ holl titouroù ho kont
+      write:accounts: kemmañ ho profil
+      write:blocks: berzañ kontoù ha domanioù
+      write:bookmarks: toudoù enrollet evel sinedoù
+      write:favourites: merkañ toudoù evel muiañ-karet
+      write:filters: krouiñ siloù
+      write:follows: heuliañ an dud
       write:lists: krouiñ listennoù
+      write:media: pellgargañ restroù media
+      write:mutes: kuzhat tud ha kaozeadennoù
+      write:notifications: skarzhañ ho kemennoù
+      write:reports: danevellañ tud all
       write:statuses: embann toudoù
diff --git a/config/locales/doorkeeper.ca.yml b/config/locales/doorkeeper.ca.yml
index d85738ec2..9b0961433 100644
--- a/config/locales/doorkeeper.ca.yml
+++ b/config/locales/doorkeeper.ca.yml
@@ -75,7 +75,7 @@ ca:
         created_at: Creat el
         date_format: "%A-%m-%d %H:%M:%S"
         scopes: Àmbits
-        title: Les aplicacions autoritzades
+        title: Les teves aplicacions autoritzades
     errors:
       messages:
         access_denied: El propietari del recurs o servidor d'autorizació ha denegat la petició.
diff --git a/config/locales/doorkeeper.fa.yml b/config/locales/doorkeeper.fa.yml
index bc86a064c..d977c0afb 100644
--- a/config/locales/doorkeeper.fa.yml
+++ b/config/locales/doorkeeper.fa.yml
@@ -125,7 +125,7 @@ fa:
       admin:write:accounts: انجام کنش مدیریتی روی حساب‌ها
       admin:write:reports: انجام کنش مدیریتی روی گزارش‌ها
       follow: پیگیری، مسدودسازی، لغو مسدودسازی، و لغو پیگیری حساب‌ها
-      push: برای حساب خود اعلان‌های لحظه‌ای دریافت کنید
+      push: دریافت آگاهی‌ای ارسالیتان
       read: خواندن اطلاعات حساب شما
       read:accounts: دیدن اطّلاعات حساب
       read:blocks: دیدن انسدادهایتان
@@ -133,7 +133,7 @@ fa:
       read:favourites: دیدن برگزیده‌هایتان
       read:filters: دیدن پالایه‌هایتان
       read:follows: دیدن پی‌گیری‌هایتان
-      read:lists: دیدن فهرست‌هایتان
+      read:lists: دیدن سیاهه‌هایتان
       read:mutes: دیدن خموشی‌هایتان
       read:notifications: دیدن آگاهی‌هایتان
       read:reports: دیدن گزارش‌هایتان
@@ -146,7 +146,7 @@ fa:
       write:favourites: برگزیدن وضعیت‌ها
       write:filters: ایحاد پالایش‌ها
       write:follows: پی‌گیری افراد
-      write:lists: ایجاد فهرست‌ها
+      write:lists: ایجاد سیاهه‌ها
       write:media: بارگذاری پرونده‌های رسانه
       write:mutes: خموش کردن افراد و گفت‌وگوها
       write:notifications: پام‌سازی آگاهی‌هایتان
diff --git a/config/locales/doorkeeper.gl.yml b/config/locales/doorkeeper.gl.yml
index dd2071639..365eebb6e 100644
--- a/config/locales/doorkeeper.gl.yml
+++ b/config/locales/doorkeeper.gl.yml
@@ -138,12 +138,12 @@ gl:
       read:notifications: ver as notificacións
       read:reports: ver as túas denuncias
       read:search: buscar no teu nome
-      read:statuses: ver todos os estados
+      read:statuses: ver todas as publicacións
       write: modificar todos os datos da tua conta
       write:accounts: modificar o teu perfil
       write:blocks: bloquear contas e dominios
-      write:bookmarks: marcar os estados
-      write:favourites: estados favoritos
+      write:bookmarks: marcar publicacións
+      write:favourites: publicacións favoritas
       write:filters: crear filtros
       write:follows: seguir usuarias
       write:lists: crear listaxes
@@ -151,4 +151,4 @@ gl:
       write:mutes: acalar usuarias e conversas
       write:notifications: eliminar as notificacións
       write:reports: denunciar usuarias
-      write:statuses: publicar estados
+      write:statuses: publicar
diff --git a/config/locales/doorkeeper.it.yml b/config/locales/doorkeeper.it.yml
index 6aea56e49..43053c73d 100644
--- a/config/locales/doorkeeper.it.yml
+++ b/config/locales/doorkeeper.it.yml
@@ -25,7 +25,7 @@ it:
         edit: Modifica
         submit: Invia
       confirmations:
-        destroy: Sei sicur*?
+        destroy: Sei sicuro/a?
       edit:
         title: Modifica applicazione
       form:
@@ -69,7 +69,7 @@ it:
       buttons:
         revoke: Disabilita
       confirmations:
-        revoke: Sei sicur*?
+        revoke: Sei sicuro/a?
       index:
         application: Applicazione
         created_at: Autorizzato
@@ -98,7 +98,7 @@ it:
         temporarily_unavailable: Al momento il server di autorizzazione non può completare la tua richiesta a causa di un temporaneo sovraccarico o di manutenzione del server.
         unauthorized_client: Il client non è autorizzato a eseguire questa operazione con questo metodo.
         unsupported_grant_type: Questa modalità di trasmissione di autenticazione non è supportata da questo server.
-        unsupported_response_type: Il server autorizzatore non supporta questa modalità di risposta.
+        unsupported_response_type: Il server di autorizzazione non supporta questo tipo di risposta.
     flash:
       applications:
         create:
@@ -138,12 +138,12 @@ it:
       read:notifications: vedere le tue notifiche
       read:reports: vedere i tuoi rapporti
       read:search: fare ricerche per te
-      read:statuses: vedere tutti gli status
+      read:statuses: vedere tutti i post
       write: modificare tutti i dati del tuo account
       write:accounts: modificare il tuo profilo
       write:blocks: bloccare account e domini
-      write:bookmarks: aggiungi post ai preferiti
-      write:favourites: segnare status come preferiti
+      write:bookmarks: aggiungere post ai preferiti
+      write:favourites: apprezzare post
       write:filters: creare filtri
       write:follows: seguire persone
       write:lists: creare liste
@@ -151,4 +151,4 @@ it:
       write:mutes: silenziare persone e conversazioni
       write:notifications: cancellare le tue notifiche
       write:reports: fare rapporto su altre persone
-      write:statuses: pubblicare status
+      write:statuses: pubblicare post
diff --git a/config/locales/doorkeeper.nn.yml b/config/locales/doorkeeper.nn.yml
index 419bc28a6..72727d64c 100644
--- a/config/locales/doorkeeper.nn.yml
+++ b/config/locales/doorkeeper.nn.yml
@@ -73,6 +73,7 @@ nn:
       index:
         application: Applikasjon
         created_at: Autorisert
+        date_format: "%d. %m %Y kl. %H.%M.%S"
         scopes: Skop
         title: Dine autoriserte applikasjonar
     errors:
@@ -82,6 +83,10 @@ nn:
         invalid_client: Klientautentisering feilet på grunn av ukjent klient, ingen autentisering inkludert, eller autentiseringsmetode er ikke støttet.
         invalid_grant: Autoriseringen er ugyldig, utløpt, opphevet, stemmer ikke overens med omdirigerings-URIen eller var utstedt til en annen klient.
         invalid_redirect_uri: Omdirigerings-URLen er ikkje gyldig.
+        invalid_request:
+          missing_param: 'Mangler påkrevd parameter: %{value}.'
+          request_not_authorized: Forespørselen må godkjennes. Påkrevd parameter for godkjenningsforespørselen mangler eller er ugyldig.
+          unknown: Forespørselen mangler en påkrevd parameter, inkluderer en ukjent parameterverdi, eller er utformet for noe annet.
         invalid_resource_owner: Ressurseierens detaljer er ikke gyldige, eller så er det ikke mulig å finne eieren
         invalid_scope: Det etterspurte omfanget er ugyldig, ukjent eller har feil struktur.
         invalid_token:
diff --git a/config/locales/doorkeeper.pt-PT.yml b/config/locales/doorkeeper.pt-PT.yml
index 4a5bb899a..d2c768a70 100644
--- a/config/locales/doorkeeper.pt-PT.yml
+++ b/config/locales/doorkeeper.pt-PT.yml
@@ -120,10 +120,10 @@ pt-PT:
     scopes:
       admin:read: ler todos os dados no servidor
       admin:read:accounts: ler informações sensíveis de todas as contas
-      admin:read:reports: ler informações sensíveis de todos os relatórios e contas reportadas
+      admin:read:reports: ler informações sensíveis de todas as denúnicas e contas denunciadas
       admin:write: modificar todos os dados no servidor
       admin:write:accounts: executar ações de moderação em contas
-      admin:write:reports: executar ações de moderação em relatórios
+      admin:write:reports: executar ações de moderação em denúncias
       follow: siga, bloqueie, desbloqueie, e deixa de seguir contas
       push: receber as suas notificações push
       read: tenha acesso aos dados da tua conta
@@ -150,5 +150,5 @@ pt-PT:
       write:media: carregar arquivos de media
       write:mutes: silenciar pessoas e conversas
       write:notifications: limpar as suas notificações
-      write:reports: reportar outras pessoas
+      write:reports: denunciar outras pessoas
       write:statuses: publicar estado
diff --git a/config/locales/doorkeeper.ro.yml b/config/locales/doorkeeper.ro.yml
index fc4efdcc5..c09fb9e3d 100644
--- a/config/locales/doorkeeper.ro.yml
+++ b/config/locales/doorkeeper.ro.yml
@@ -73,6 +73,7 @@ ro:
       index:
         application: Aplicație
         created_at: Autorizat
+        date_format: "%Y-%m-%d %H:%M:%S"
         scopes: Domenii
         title: Aplicațiile dvs autorizate
     errors:
@@ -82,6 +83,10 @@ ro:
         invalid_client: Autentificarea clientului a eșuat din cauza unui client necunoscut, nici o autentificare client inclusă, sau metodă de autentificare nesuportată.
         invalid_grant: Acordarea autorizației furnizată este invalidă, expirată, revocată, nu corespunde URI-ului de redirecționare folosit în cererea de autorizare, sau a fost eliberat altui client.
         invalid_redirect_uri: Uri-ul de redirecționare inclus nu este valid.
+        invalid_request:
+          missing_param: 'Lipseste parametrul necesar: %{value}.'
+          request_not_authorized: Solicitarea trebuie să fie autorizată. Parametrul necesar pentru solicitarea de autorizare lipsește sau este invalid.
+          unknown: Solicitarea nu are un parametru necesar, include un parametru nesuportat sau este dealtfel formatat incorect.
         invalid_resource_owner: Acreditările proprietarului de resurse nu sunt valide sau proprietarul de resurse nu poate fi găsit
         invalid_scope: Domeniul de aplicare solicitat este invalid, necunoscut sau incorect.
         invalid_token:
diff --git a/config/locales/doorkeeper.sl.yml b/config/locales/doorkeeper.sl.yml
index bb69d7519..d8e1ef43a 100644
--- a/config/locales/doorkeeper.sl.yml
+++ b/config/locales/doorkeeper.sl.yml
@@ -38,6 +38,7 @@ sl:
         application: Program
         callback_url: Povratni URL
         delete: Izbriši
+        empty: Nimate programov.
         name: Ime
         new: Nov program
         scopes: Obsegi
@@ -72,6 +73,7 @@ sl:
       index:
         application: Program
         created_at: Odobreno
+        date_format: "%Y-%m-%d %H:%M:%S"
         scopes: Obsegi
         title: Vaši odobreni programi
     errors:
@@ -81,6 +83,10 @@ sl:
         invalid_client: Overitev odjemalca ni uspelo zaradi neznanega odjemalca, zaradi nevključitve overitve odjemalca ali zaradi nepodprte metode overitve.
         invalid_grant: Predložena odobritev za pooblastilo je neveljavna, potekla, preklicana, se ne ujema z URI preusmeritvijo, ki je uporabljena v zahtevi za pooblastilo ali je bila izdana drugemu odjemalcu.
         invalid_redirect_uri: URI za preusmeritev ni veljaven.
+        invalid_request:
+          missing_param: 'Zahtevani parameter manjka: %{value}.'
+          request_not_authorized: Zahtevo je potrebno overiti. Zahtevani parameter za overjanje zahteve manjka ali ni veljaven.
+          unknown: Zahtevku manjka zahtevani parameter, vključuje nepodprto vrednost parametra ali je nepravilno oblikovan.
         invalid_resource_owner: Predložene poverilnice lastnika virov niso veljavne ali pa lastnika virov ni mogoče najti
         invalid_scope: Zahtevani obseg je neveljaven, neznan ali nepravilen.
         invalid_token:
@@ -123,6 +129,7 @@ sl:
       read: preberi vse podatke svojega računa
       read:accounts: oglejte si podrobnosti računov
       read:blocks: oglejte si svoje blokirane
+      read:bookmarks: glejte svoje zaznamke
       read:favourites: oglejte si svoje priljubljene
       read:filters: oglejte si svoje filtre
       read:follows: oglejte si svoje sledilce
@@ -135,6 +142,7 @@ sl:
       write: spremenite vse podatke svojega računa
       write:accounts: spremenite svoj profil
       write:blocks: blokirajte račune in domene
+      write:bookmarks: objave zaznamkov
       write:favourites: priljubljena stanja
       write:filters: ustvari filtre
       write:follows: sledi osebam
diff --git a/config/locales/doorkeeper.zh-CN.yml b/config/locales/doorkeeper.zh-CN.yml
index 7fefaf951..4a2c97e34 100644
--- a/config/locales/doorkeeper.zh-CN.yml
+++ b/config/locales/doorkeeper.zh-CN.yml
@@ -4,7 +4,7 @@ zh-CN:
     attributes:
       doorkeeper/application:
         name: 应用名称
-        redirect_uri: 跳转 URI
+        redirect_uri: 重定向 URI
         scopes: 权限范围
         website: 应用网站
     errors:
@@ -12,9 +12,9 @@ zh-CN:
         doorkeeper/application:
           attributes:
             redirect_uri:
-              fragment_present: 不能包含网址片段(#)
-              invalid_uri: 必须是有效的 URL 格式
-              relative_uri: 必须是绝对的 URL 地址
+              fragment_present: 不能包含网页书签(#)
+              invalid_uri: 必须是有效的 URL 地址。
+              relative_uri: 必须是绝对的 URL 地址。
               secured_uri: 必须是 HTTPS/SSL 的 URL 地址
   doorkeeper:
     applications:
@@ -61,7 +61,7 @@ zh-CN:
         title: 发生错误
       new:
         able_to: 此应用将能够
-        prompt: 授权 %{client_name} 访问你的帐户?
+        prompt: "%{client_name} 应用想要授权访问你的账户"
         title: 需要授权
       show:
         title: 接下来请复制此处的授权代码并粘贴到应用中。
@@ -73,12 +73,12 @@ zh-CN:
       index:
         application: 应用
         created_at: 授权时间
-        date_format: "%Y年%m月%d日 %H:%M:%S"
+        date_format: "%Y 年 %m 月 %d 日 %H:%M:%S"
         scopes: 权限范围
         title: 已授权的应用列表
     errors:
       messages:
-        access_denied: 资源所有者或服务器拒绝了请求
+        access_denied: 资源所有者或验证服务器拒绝了此请求
         credential_flow_not_configured: 由于 Doorkeeper.configure.resource_owner_from_credentials 尚未配置,应用验证授权流程失败。
         invalid_client: 由于应用信息未知、未提交认证信息或使用了不支持的认证方式,认证失败
         invalid_grant: 授权方式无效、过期或已被撤销、与授权请求中的回调地址不一致,或使用了其他应用的回调地址
diff --git a/config/locales/el.yml b/config/locales/el.yml
index 7b91dd9e9..f1bdf34a8 100644
--- a/config/locales/el.yml
+++ b/config/locales/el.yml
@@ -98,7 +98,6 @@ el:
     accounts:
       add_email_domain_block: Εγγραφή τομέα email σε μαύρη λίστα
       approve: Έγκριση
-      approve_all: Έγκριση όλων
       approved_msg: Επιτυχής έγκριση αίτησης εγγραφής του/της %{username}
       are_you_sure: Σίγουρα;
       avatar: Αβατάρ
@@ -150,7 +149,6 @@ el:
         active: Ενεργός/ή
         all: Όλα
         pending: Εκκρεμούν
-        silenced: Αποσιωπημένα
         suspended: Σε αναστολή
         title: Μεσολάβηση
       moderation_notes: Σημειώσεις μεσολάβησης
@@ -168,7 +166,6 @@ el:
       redownload: Ανανέωση αβατάρ
       redownloaded_msg: Επιτυχής ανανέωη προφίλ του/της %{username} από την πηγή
       reject: Απόρριψη
-      reject_all: Απόρριψη όλων
       rejected_msg: Επιτυχής απόρριψη αίτησης εγγραφής του/της %{username}
       remove_avatar: Απομακρυσμένο αβατάρ
       remove_header: Αφαίρεση επικεφαλίδας
@@ -203,8 +200,9 @@ el:
       suspended: Σε αναστολή
       suspension_irreversible: Τα δεδομένα αυτού του λογαριασμού έχουν διαγραφεί οριστικά. Μπορείς να άρεις την αναστολή του λογαριασμού για να μπορέσει να χρησιμοποιηθεί αλλά αυτό δεν θα επαναφέρει όσα δεδομένα είχε προηγουμένως.
       suspension_reversible_hint_html: Ο λογαριασμός έχει ανασταλλεί και τα δεδομένα του θα διαγραφούν πλήρως στις %{date}. Μέχρι τότε ο λογαριασμός μπορεί να επανέλθει κανονικά. Αν θέλεις να διαγράψεις όλα τα δεδομένα του λογαριασμού, μπορείς να το κάνεις παρακάτω.
-      time_in_queue: Σε αναμονή για %{time}
       title: Λογαριασμοί
+      unblock_email: Ξεμπλοκάρισμα διεύθυνσης email
+      unblocked_email_msg: Επιτυχής κατάργηση αποκλεισμού διεύθυνσης ηλεκτρονικού ταχυδρομείου %{username}
       unconfirmed_email: Ανεπιβεβαίωτο email
       undo_sensitized: Αναίρεση ευαίσθητου
       undo_silenced: Αναίρεση αποσιώπησης
@@ -219,6 +217,7 @@ el:
       whitelisted: Εγκεκριμένοι
     action_logs:
       action_types:
+        approve_user: Έγκριση Χρήστη
         assigned_to_self_report: Ανάθεση Αναφοράς
         change_email_user: Αλλαγή email για χρήστη
         confirm_user: Επιβεβαίωση Χρήστη
@@ -235,6 +234,7 @@ el:
         destroy_domain_allow: Διαγραφή Επιτρεπτού Τομέα
         destroy_domain_block: Διαγραφή Αποκλεισμού Τομέα
         destroy_email_domain_block: Διαγραφή Αποκλεισμένου Τομέα email
+        destroy_instance: Εκκαθάριση Τομέα
         destroy_ip_block: Διαγραφή κανόνα IP
         destroy_status: Διαγραφή Κατάστασης
         disable_2fa_user: Απενεργοποίηση 2FA
@@ -244,6 +244,7 @@ el:
         enable_user: Ενεργοποίηση Χρήστη
         memorialize_account: Μετατροπή Λογαριασμού σε Αναμνηστικό
         promote_user: Προαγωγή Χρήστη
+        reject_user: Απόρριψη Χρήστη
         remove_avatar_user: Αφαίρεση Avatar
         reopen_report: Ξανάνοιγμα Καταγγελίας
         reset_password_user: Επαναφορά Συνθηματικού
@@ -252,12 +253,18 @@ el:
         silence_account: Σίγαση Λογαριασμού
         suspend_account: Αναστολή Λογαριασμού
         unassigned_report: Αποδέσμευση Καταγγελίας
+        unblock_email_account: Ξεμπλοκάρισμα διεύθυνσης email
         unsensitive_account: Αφαίρεση σήμανσης των πολυμέσων στον λογαριασμό σας ως ευαίσθητων
         unsilence_account: Άρση Σίγασης Λογαριασμού
         unsuspend_account: Άρση Αναστολής Λογαριασμού
         update_announcement: Ενημέρωση Ανακοίνωσης
         update_custom_emoji: Ενημέρωση Προσαρμοσμένου Emoji
         update_status: Ενημέρωση Κατάστασης
+      actions:
+        approve_user_html: "%{name} εγκρίθηκε εγγραφή από %{target}"
+        destroy_instance_html: Ο/Η %{name} εκκαθάρισε τον τομέα %{target}
+        reject_user_html: "%{name} απορρίφθηκε εγγραφή από %{target}"
+        unblock_email_account_html: "%{name} ξεμπλόκαρε τη διεύθυνση ηλεκτρονικού ταχυδρομείου του %{target}"
       deleted_status: "(διαγραμμένη δημοσίευση)"
       empty: Δεν βρέθηκαν αρχεία καταγραφής.
       filter_by_action: Φιλτράρισμα ανά ενέργεια
@@ -314,6 +321,15 @@ el:
       updated_msg: Επιτυχής ενημέρωση του emoji!
       upload: Ανέβασμα
     dashboard:
+      pending_reports_html:
+        one: "<strong>1</strong> εκκρεμής αναφορά"
+        other: "<strong>%{count}</strong> εκκρεμείς αναφορές"
+      pending_tags_html:
+        one: "<strong>1</strong> εκκρεμές hashtag"
+        other: "<strong>%{count}</strong> εκκρεμή hashtag"
+      pending_users_html:
+        one: "<strong>1</strong> χρήστης σε εκκρεμότητα"
+        other: "<strong>%{count}</strong> χρήστες σε εκκρεμότητα"
       software: Λογισμικό
       space: Κατανάλωση χώρου
       title: Ταμπλό
@@ -378,7 +394,9 @@ el:
       status: Κατάσταση
     instances:
       by_domain: Τομέας
+      confirm_purge: Είστε βέβαιοι ότι θέλετε να διαγράψετε μόνιμα τα δεδομένα από αυτόν τον τομέα;
       delivery_available: Διαθέσιμη παράδοση
+      destroyed_msg: Τα δεδομένα από το %{domain} βρίσκονται σε αναμονή για επικείμενη διαγραφή.
       empty: Δεν βρέθηκαν τομείς.
       known_accounts:
         one: "%{count} γνωστός λογαριασμός"
@@ -389,6 +407,7 @@ el:
         title: Διαμεσολάβηση
       private_comment: Ιδιωτικό σχόλιο
       public_comment: Δημόσιο σχόλιο
+      purge: Εκκαθάριση
       title: Γνωστοί κόμβοι
       total_blocked_by_us: Μπλοκάρονται από εμάς
       total_followed_by_them: Ακολουθούνται από εκείνους
@@ -417,8 +436,6 @@ el:
       new:
         title: Δημιουργία νέου κανόνα IP
       title: Κανόνες IP
-    pending_accounts:
-      title: Λογαριασμοί σε αναμονή (%{count})
     relationships:
       title: Σχέσεις %{acct}
     relays:
@@ -440,32 +457,39 @@ el:
     report_notes:
       created_msg: Επιτυχής δημιουργία σημείωσης καταγγελίας!
       destroyed_msg: Επιτυχής διαγραφή σημείωσης καταγγελίας!
+      today_at: Σήμερα στις %{time}
     reports:
       account:
         notes:
           one: "%{count} σημείωση"
           other: "%{count} σημειώσεις"
-        reports:
-          one: "%{count} αναφορά"
-          other: "%{count} αναφορές"
+      action_log: Αρχείο ελέγχου
       action_taken_by: Ενέργεια από τον/την
+      actions:
+        other_description_html: Δείτε περισσότερες επιλογές για τον έλεγχο της συμπεριφοράς του λογαριασμού και προσαρμόσετε την επικοινωνία στον αναφερόμενο λογαριασμό.
+        silence_description_html: Το προφίλ θα είναι ορατό μόνο σε όσους το ακολουθούν ή το αναζητούν με μη αυτόματο τρόπο, περιορίζοντας σημαντικά την εμβέλειά του. Μπορεί πάντα να επανέλθει.
+      add_to_report: Προσθέστε περισσότερα στην αναφορά
       are_you_sure: Σίγουρα;
       assign_to_self: Ανάθεση σε μένα
       assigned: Αρμόδιος συντονιστής
       by_target_domain: Κόμβος του λογαριασμού υπό καταγγελία
+      category: Κατηγορία
       comment:
         none: Κανένα
       created_at: Καταγγέλθηκε
+      delete_and_resolve: Διαγραφή και επίλυση
       forwarded: Προωθημένα
       forwarded_to: Προώθημένα προς %{domain}
       mark_as_resolved: Σημειωμένο ως επιλυμένο
       mark_as_unresolved: Σημειωμένο ως ανεπίλυτο
+      no_one_assigned: Κανένας
       notes:
         create: Πρόσθεσε σημείωση
         create_and_resolve: Επίλυσε με σημείωση
         create_and_unresolve: Ξανάνοιξε με σημείωση
         delete: Διαγραφή
         placeholder: Περιέγραψε τις ενέργειες που έγιναν, ή οποιαδήποτε άλλη ενημέρωση...
+        title: Σημειώσεις
       reopen: Ξανάνοιξε την καταγγελία
       report: 'Καταγγελία #%{id}'
       reported_account: Αναφερόμενος λογαριασμός
@@ -473,10 +497,12 @@ el:
       resolved: Επιλύθηκε
       resolved_msg: Η καταγγελία επιλύθηκε επιτυχώς!
       status: Κατάσταση
+      statuses: Αναφερόμενο περιεχόμενο
       title: Αναφορές
       unassign: Αποσύνδεση
       unresolved: Άλυτη
       updated_at: Ενημερωμένη
+      view_profile: Προβολή προφίλ
     rules:
       add_new: Προσθήκη κανόνα
       delete: Διαγραφή
@@ -576,14 +602,11 @@ el:
     statuses:
       back_to_account: Επιστροφή στη σελίδα λογαριασμού
       batch:
-        delete: Διαγραφή
-        nsfw_off: Σημείωσε ως μη ευαίσθητο
-        nsfw_on: Σημείωσε ως ευαίσθητο
+        remove_from_report: Αφαίρεση από την αναφορά
+        report: Αναφορά
       deleted: Διαγραμμένα
-      failed_to_execute: Αποτυχία εκτέλεσης
       media:
         title: Πολυμέσα
-      no_media: Χωρίς πολυμέσα
       no_status_selected: Καμία δημοσίευση δεν άλλαξε αφού καμία δεν ήταν επιλεγμένη
       title: Καταστάσεις λογαριασμού
       with_media: Με πολυμέσα
@@ -594,19 +617,7 @@ el:
         action: Διαχείριση κανόνων διακομιστή
         message_html: Δεν έχετε ορίσει κανέναν κανόνα διακομιστή.
     tags:
-      accounts_today: Μοναδικές χρήσεις ημέρας
-      accounts_week: Μοναδικές χρήσεις εβδομάδας
-      breakdown: Ανάλυση σημερινής χρήσης ανα πηγή
-      last_active: Τελευταία δραστηριότητα
-      most_popular: Δημοφιλέστερες
-      most_recent: Πιο πρόσφατες
-      name: Ετικέτα
       review: Κατάσταση έγκρισης
-      reviewed: Εγκεκριμένες
-      title: Ετικέτες
-      trending_right_now: Δημοφιλείς αυτή τη στιγμή
-      unique_uses_today: "%{count} σημερινές δημοσιεύσεις"
-      unreviewed: Εκκρεμεί έγκριση
       updated_msg: Οι ρυθμίσεις των ετικετών ενημερώθηκαν επιτυχώς
     title: Διαχείριση
     warning_presets:
@@ -623,9 +634,6 @@ el:
       body: Ο/Η %{reporter} κατήγγειλε τον/την %{target}
       body_remote: Κάποιος/α από τον τομέα %{domain} κατήγγειλε τον/την %{target}
       subject: Νέα καταγγελία για %{instance} (#%{id})
-    new_trending_tag:
-      body: 'Η ετικέτα #%{name} είναι δημοφιλής σήμερα, αλλά δεν έχει εγκριθεί μέχρι τώρα. Δεν θα εμφανίζεται δημοσίως μέχρι να δοθεί έγκριση, αλλιώς αποθήκευση τη φόρμα ως έχει για να μην την δεις ξανά.'
-      subject: Νέα ετικέτα προς έγκριση στο %{instance} (#%{name})
   aliases:
     add_new: Δημιουργία ψευδώνυμου
     created_msg: Δημιουργήθηκε νέο ψευδώνυμο. Τώρα μπορείς να ξεκινήσεις τη μεταφορά από τον παλιό λογαριασμό.
@@ -677,6 +685,7 @@ el:
     invalid_reset_password_token: Το διακριτικό επαναφοράς συνθηματικού είναι άκυρο ή ληγμένο. Παρακαλώ αιτήσου νέο.
     link_to_otp: Γράψε τον κωδικό πιστοποίησης 2 παραγόντων (2FA) από το τηλέφωνό σου ή τον κωδικό επαναφοράς
     link_to_webauth: Χρήση συσκευής κλειδιού ασφαλείας
+    log_in_with: Σύνδεση με
     login: Σύνδεση
     logout: Αποσύνδεση
     migrate_account: Μετακόμιση σε διαφορετικό λογαριασμό
@@ -828,34 +837,14 @@ el:
     changes_saved_msg: Οι αλλαγές αποθηκεύτηκαν!
     copy: Αντιγραφή
     delete: Διαγραφή
-    no_batch_actions_available: Δεν υπάρχουν ομαδικές ενέργειες σε αυτή τη σελίδα
     order_by: Ταξινόμηση κατά
     save_changes: Αποθήκευση αλλαγών
+    today: σήμερα
     validation_errors:
       one: Κάτι δεν είναι εντάξει ακόμα! Για κοίταξε το παρακάτω σφάλμα
       other: Κάτι δεν είναι εντάξει ακόμα! Για κοίταξε τα παρακάτω %{count} σφάλματα
   html_validator:
     invalid_markup: 'περιέχει λάθος μορφοποίηση HTML: %{error}'
-  identity_proofs:
-    active: Ενεργή
-    authorize: Ναι, εξουσιοδότησε
-    authorize_connection_prompt: Εξουσιοδότηση αυτής της κρυπτογραφικής σύνδεσης;
-    errors:
-      failed: Η κρυπτογραφική σύνδεση απέτυχε. Παρακαλώ ξανά δοκίμασε μέσω %{provider}.
-      keybase:
-        invalid_token: Τα κλειδιά Keybase είναι κατακερματισμένες υπογραφές και πρέπει να έχουν μήκος 66 δεκαεξαδικών χαρακτήρων
-        verification_failed: Το Keybase δεν δέχτηκε αυτό το κλειδί ως υπογραφή του χρήστη %{kb_username}. Παρακαλούμε δοκίμασε μέσω Keybase.
-      wrong_user: Δεν επιτρέπεται να δημιουργηθεί ένα αποδεικτικό για %{proving} υπό τη σύνδεση ως %{current}. Συνδέσου ως %{proving} και δοκίμασε ξανά.
-    explanation_html: Εδώ μπορείς να συνδέσεις κρυπτογραφικά τις υπόλοιπες ταυτοτητές σου, όπως για παράδειγμα ένα προφίλ στο Keybase. Αυτό επιτρέπει σε άλλους ανθρώπους να σου στέλνουν κρυπτογραφημένα μηνύματα και να μπορούν να εμπιστευτούν το περιεχόμενο που τους στέλνεις εσύ.
-    i_am_html: Είμαι ο/η %{username} στην υπηρεσία %{service}.
-    identity: Ταυτότητα
-    inactive: Ανενεργή
-    publicize_checkbox: 'Και κάνε τουτ αυτό:'
-    publicize_toot: 'Αποδείχτηκε! Λέγομαι %{username} στο %{service}: %{url}'
-    remove: Αφαίρεση απόδειξης από τον λογαριασμό
-    removed: Επιτυχής αφαίρεση απόδειξης από τον λογαριασμό
-    status: Κατάσταση επαλήθευσης
-    view_proof: Εμφάνιση απόδειξης
   imports:
     errors:
       over_rows_processing_limit: περιέχει περισσότερες από %{count} γραμμές
@@ -1053,6 +1042,9 @@ el:
     reply:
       proceed: Συνέχισε για να απαντήσεις
       prompt: 'Θέλεις να απαντήσεις σε αυτό το τουτ:'
+  reports:
+    errors:
+      invalid_rules: δεν παραπέμπει σε έγκυρους κανόνες
   scheduled_statuses:
     over_daily_limit: Έχεις υπερβεί το όριο των %{limit} προγραμματισμένων τουτ για εκείνη τη μέρα
     over_total_limit: Έχεις υπερβεί το όριο των %{limit} προγραμματισμένων τουτ
@@ -1083,7 +1075,6 @@ el:
     edit_profile: Επεξεργασία προφίλ
     export: Εξαγωγή δεδομένων
     featured_tags: Χαρακτηριστικές ετικέτες
-    identity_proofs: Αποδείξεις ταυτοτήτων
     import: Εισαγωγή
     import_and_export: Εισαγωγή & Εξαγωγή
     migrate: Μετακόμιση λογαριασμού
@@ -1106,18 +1097,19 @@ el:
         other: "%{count} βίντεο"
     boosted_from_html: Προωθήθηκε από %{acct_link}
     content_warning: 'Προειδοποίηση περιεχομένου: %{warning}'
+    default_language: Ίδια με γλώσσα διεπαφής
     disallowed_hashtags:
       one: 'περιέχει μη επιτρεπτή ετικέτα: %{tags}'
       other: περιέχει μη επιτρεπτές ετικέτες %{tags}
+    edited_at: Επεξεργάστηκε στις %{date}
     errors:
       in_reply_not_found: Η κατάσταση στην οποία προσπαθείτε να απαντήσετε δεν υπάρχει.
-    language_detection: Αυτόματη αναγνώριση γλώσσας
     open_in_web: Δες στο διαδίκτυο
     over_character_limit: υπέρβαση μέγιστου ορίου %{max} χαρακτήρων
     pin_errors:
+      direct: Αναρτήσεις που είναι ορατές μόνο στους αναφερόμενους χρήστες δεν μπορούν να καρφιτσωθούν
       limit: Έχεις ήδη καρφιτσώσει το μέγιστο αριθμό επιτρεπτών τουτ
       ownership: Δεν μπορείς να καρφιτσώσεις τουτ κάποιου άλλου
-      private: Τα μη δημόσια τουτ δεν καρφιτσώνονται
       reblog: Οι προωθήσεις δεν καρφιτσώνονται
     poll:
       total_people:
@@ -1232,6 +1224,9 @@ el:
     contrast: Mastodon (Υψηλή αντίθεση)
     default: Mastodon (Σκοτεινό)
     mastodon-light: Mastodon (Ανοιχτόχρωμο)
+  time:
+    formats:
+      time: "%H:%M"
   two_factor_authentication:
     add: Προσθήκη
     disable: Απενεργοποίησε
@@ -1256,13 +1251,10 @@ el:
       subject: Παρακαλούμε επιβεβαίωσε την απόπειρα εισόδου
       title: Απόπειρα εισόδου
     warning:
-      explanation:
-        disable: Όσο ο λογαριασμός σου είναι παγωμένος, τα στοιχεία του παραμένουν άθικτα αλλά δεν μπορείς να κανείς καμία ενέργεια μέχρι να ξεκλειδωθείς.
-        silence: Όσο ο λογαριασμός σου είναι περιορισμένος, μόνο όσοι σε ακολουθούν ήδη θα βλέπουν τα τουτ σου σε αυτό τον κόμβο ενώ μπορεί να εξαιρεθείς από διάφορες δημόσιες απαριθμήσεις. Πάντως, θα μπορούν να σε ακολουθήσουν χειροκίνητα.
-        suspend: Ο λογαριασμός σου αναστάλθηκε μόνιμα, όλα τα τουτ και τα ανεβασμένα πολυμέσα σου διαγράφηκαν αμετάκλητα από αυτόν τον κόμβο και σε όσους άλλους είχες ακόλουθους.
-      get_in_touch: Μπορείς να απαντήσεις σε αυτό το email για να επικοινωνήσεις με το προσωπικό του %{instance}.
+      categories:
+        spam: Ανεπιθύμητο
+      reason: 'Αιτιολογία:'
       review_server_policies: Αναθεώρηση πολιτικής του κόμβου
-      statuses: 'Συγκεκριμένα, για:'
       subject:
         disable: Ο λογαριασμός σου %{acct} έχει παγώσει
         none: Προειδοποίηση προς %{acct}
@@ -1271,7 +1263,7 @@ el:
       title:
         disable: Παγωμένος λογαριασμός
         none: Προειδοποίηση
-        sensitive: Το πολυμέσο σας έχει σημανθεί ως ευαίσθητο
+        sensitive: Κρυμμένο πολυμέσο
         silence: Περιορισμένος λογαριασμός
         suspend: Λογαριασμός σε αναστολή
     welcome:
diff --git a/config/locales/en.yml b/config/locales/en.yml
index ccaff84b4..0a9f66827 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -206,6 +206,7 @@ en:
       statuses: Posts
       strikes: Previous strikes
       subscribe: Subscribe
+      suspend: Suspend
       suspended: Suspended
       suspension_irreversible: The data of this account has been irreversibly deleted. You can unsuspend the account to make it usable but it will not recover any data it previously had.
       suspension_reversible_hint_html: The account has been suspended, and the data will be fully removed on %{date}. Until then, the account can be restored without any ill effects. If you wish to remove all of the account's data immediately, you can do so below.
@@ -560,10 +561,12 @@ en:
       action_log: Audit log
       action_taken_by: Action taken by
       actions:
+        delete_description_html: The reported posts will be deleted and a strike will be recorded to help you escalate on future infractions by the same account.
         other_description_html: See more options for controlling the account's behaviour and customize communication to the reported account.
+        resolve_description_html: No action will be taken against the reported account, no strike recorded, and the report will be closed.
         silence_description_html: The profile will be visible only to those who already follow it or manually look it up, severely limiting its reach. Can always be reverted.
         suspend_description_html: The profile and all its contents will become inaccessible until it is eventually deleted. Interacting with the account will be impossible. Reversible within 30 days.
-      actions_description_html: 'If removing the offending content above is insufficient:'
+      actions_description_html: Decide which action to take to resolve this report. If you take a punitive action against the reported account, an e-mail notification will be sent to them, except when the <strong>Spam</strong> category is selected.
       add_to_report: Add more to report
       are_you_sure: Are you sure?
       assign_to_self: Assign to me
@@ -575,7 +578,7 @@ en:
         none: None
       comment_description_html: 'To provide more information, %{name} wrote:'
       created_at: Reported
-      delete_and_resolve: Delete and resolve
+      delete_and_resolve: Delete posts
       forwarded: Forwarded
       forwarded_to: Forwarded to %{domain}
       mark_as_resolved: Mark as resolved
@@ -589,12 +592,14 @@ en:
         placeholder: Describe what actions have been taken, or any other related updates...
         title: Notes
       notes_description_html: View and leave notes to other moderators and your future self
+      quick_actions_description_html: 'Take a quick action or scroll down to see reported content:'
       reopen: Reopen report
       report: 'Report #%{id}'
       reported_account: Reported account
       reported_by: Reported by
       resolved: Resolved
       resolved_msg: Report successfully resolved!
+      skip_to_actions: Skip to actions
       status: Status
       statuses: Reported content
       statuses_description_html: Offending content will be cited in communication with the reported account
diff --git a/config/locales/eo.yml b/config/locales/eo.yml
index 6841bb439..e2315ae82 100644
--- a/config/locales/eo.yml
+++ b/config/locales/eo.yml
@@ -91,7 +91,6 @@ eo:
     accounts:
       add_email_domain_block: Bloki retadresan domajnon
       approve: Aprobi
-      approve_all: Aprobi ĉiujn
       are_you_sure: Ĉu vi certas?
       avatar: Profilbildo
       by_domain: Domajno
@@ -139,7 +138,6 @@ eo:
         active: Aktiva
         all: Ĉio
         pending: Pritraktata
-        silenced: Silentigita
         suspended: Haltigita
         title: Kontrolado
       moderation_notes: Kontrolaj notoj
@@ -156,7 +154,6 @@ eo:
       push_subscription_expires: Eksvalidiĝo de la abono al PuSH
       redownload: Aktualigi profilon
       reject: Malakcepti
-      reject_all: Malaprobi ĉiujn
       remove_avatar: Forigi profilbildon
       remove_header: Forigi kapan bildon
       resend_confirmation:
@@ -190,7 +187,6 @@ eo:
       statuses: Mesaĝoj
       subscribe: Aboni
       suspended: Haltigita
-      time_in_queue: Atendado en atendovico %{time}
       title: Kontoj
       unconfirmed_email: Nekonfirmita retadreso
       undo_sensitized: Malfari sentema
@@ -204,6 +200,7 @@ eo:
       whitelisted: En la blanka listo
     action_logs:
       action_types:
+        approve_user: Aprobu Uzanton
         assigned_to_self_report: Atribui Raporton
         change_email_user: Ŝanĝi retadreson de uzanto
         confirm_user: Konfermi uzanto
@@ -222,6 +219,7 @@ eo:
         destroy_email_domain_block: Forigi blokadon de retpoŝta domajno
         destroy_ip_block: Forigi IP-regulon
         destroy_status: Forigi mesaĝon
+        destroy_unavailable_domain: Forigi Nehaveblan Domajnon
         disable_2fa_user: Malebligi 2FA
         disable_custom_emoji: Malebligi Propran Emoĝion
         disable_user: Malebligi uzanton
@@ -328,9 +326,15 @@ eo:
       updated_msg: Emoĝio sukcese ĝisdatigita!
       upload: Alŝuti
     dashboard:
+      active_users: aktivaj uzantoj
+      interactions: interago
+      media_storage: Aŭdvidaĵa memorilo
+      new_users: novaj uzantoj
       software: Programo
       space: Memorspaca uzado
       title: Kontrolpanelo
+      top_servers: Plej aktivaj serviloj
+      website: Retejo
     domain_allows:
       add_new: Aldoni domajnon al la blanka listo
       created_msg: Domajno estis sukcese aldonita al la blanka listo
@@ -441,8 +445,6 @@ eo:
         title: Krei novan IP-regulon
       no_ip_block_selected: Neniu IP-regulo estis ŝanĝita ĉar neniu estis elektita
       title: IP-reguloj
-    pending_accounts:
-      title: Pritraktataj kontoj (%{count})
     relationships:
       title: Rilatoj de %{acct}
     relays:
@@ -468,9 +470,6 @@ eo:
         notes:
           one: "%{count} noto"
           other: "%{count} notoj"
-        reports:
-          one: "%{count} signalo"
-          other: "%{count} signaloj"
       action_taken_by: Ago farita de
       are_you_sure: Ĉu vi certas?
       assign_to_self: Asigni al mi
@@ -589,15 +588,9 @@ eo:
       delete: Forigi elŝutitan dosieron
     statuses:
       back_to_account: Reveni al konta paĝo
-      batch:
-        delete: Forigi
-        nsfw_off: Marki netikla
-        nsfw_on: Marki tikla
       deleted: Forigita
-      failed_to_execute: Ekigo malsukcesa
       media:
         title: Aŭdovidaĵoj
-      no_media: Neniu aŭdovidaĵo
       no_status_selected: Neniu mesaĝo estis ŝanĝita ĉar neniu estis elektita
       title: Mesaĝoj de la konto
       with_media: Kun aŭdovidaĵoj
@@ -608,19 +601,7 @@ eo:
         action: Administri servilajn regulojn
         message_html: Vi ne difinis iujn servilajn regulojn.
     tags:
-      accounts_today: Unikaj uzoj hodiaŭ
-      accounts_week: Unikaj uzoj je ĉi tiu semajno
-      breakdown: Disigo de la hodiaŭa uzo per fonto
-      last_active: Laste aktiva
-      most_popular: La plej populara
-      most_recent: Plej lasta
-      name: Kradvorto
       review: La statuso de la recenzo
-      reviewed: Recenzis
-      title: Kradvortoj
-      trending_right_now: Nunaj furoraĵoj
-      unique_uses_today: "%{count} uzas hodiaŭ"
-      unreviewed: Ne recenzis
       updated_msg: Kradvorto agordoj ĝisdatigis sukcese
     title: Administrado
     warning_presets:
@@ -636,9 +617,6 @@ eo:
       body: "%{reporter} signalis %{target}"
       body_remote: Iu de %{domain} signalis %{target}
       subject: Nova signalo por %{instance} (#%{id})
-    new_trending_tag:
-      body: 'La kradvorto #%{name} furoras hodiaŭ, sed ankoraŭ ne estis kontrolita. Ĝi ne aperos publike sen via aprobo. Se vi ne volas tion, simple konservu la formularon tiel kiel.'
-      subject: Nova kradvorto kontrolebla en %{instance} (#%{name})
   aliases:
     add_new: Krei alinomon
     created_msg: Kreis novan alinomon sukcese. Vi povas inici la transloki el la malnovan konton nun.
@@ -687,6 +665,7 @@ eo:
     forgot_password: Pasvorto forgesita?
     invalid_reset_password_token: Ĵetono por restarigi pasvorton nevalida aŭ eksvalida. Bonvolu peti novan.
     link_to_webauth: Uzi vian sekurecan ŝlosilon
+    log_in_with: Ensaluti per
     login: Ensaluti
     logout: Elsaluti
     migrate_account: Movi al alia konto
@@ -839,24 +818,6 @@ eo:
       other: Io mise okazis! Bonvolu konsulti la subajn %{count} erar-raportojn
   html_validator:
     invalid_markup: 'havas nevalidan HTML-markadon: %{error}'
-  identity_proofs:
-    active: Aktiva
-    authorize: Jes, permesi
-    authorize_connection_prompt: Permesi ĉi tiu ĉifrikan conekton?
-    errors:
-      failed: La ĉifrika conekto nefaris. Peti provu denove el %{provider}.
-      keybase:
-        invalid_token: Keybase signo estas haŝoj de subskribo kaj devi 66 deksesuma leteroj
-        verification_failed: Keybase ne rekoni ĉi tiu signo kiel subskribo de Keybase uzanto %{kb_username}. Peti provu denove el Keybase.
-      wrong_user: Ne povas krei por %{proving} dum ensalutis kiel %{current}. Ensaluti kiel %{proving} kaj provu denove.
-    explanation_html: Ĉi tie vi povas ĉifrika konekti via alia identicoj, kiel Keybase profilon. ĉi tiu igi aliaj popoloj sendi al vi ĉifritaj mesaĝoj kaj fidi kontento vi sendi al ilin.
-    i_am_html: Mi estas %{username} en %{service}.
-    identity: Identeco
-    inactive: Malaktiva
-    publicize_checkbox: 'Kaj fajfi ĉi tio:'
-    publicize_toot: 'I estas pruvita! Mi estas %{username} sur %{service}: %{url}'
-    status: Confirmo statuso
-    view_proof: Vidi pruvo
   imports:
     modes:
       merge: Kunigi
@@ -1025,7 +986,7 @@ eo:
     mutual: Reciproka
     primary: Primara
     relationship: Rilato
-    remove_selected_domains: Forigi ĉiuj sekvantojn el la selektitajn domajnojn
+    remove_selected_domains: Forigi ĉiujn sekvantojn el la selektitaj domajnoj
     remove_selected_followers: Forigi selektitajn sekvantojn
     remove_selected_follows: Ne plu sekvi elektitajn uzantojn
     status: Statuso de la konto
@@ -1103,7 +1064,6 @@ eo:
     edit_profile: Redakti profilon
     export: Eksporti datumojn
     featured_tags: Elstarigitaj kradvortoj
-    identity_proofs: Pruvo de identeco
     import: Importi
     import_and_export: Alporto kaj elporto
     migrate: Konta migrado
@@ -1130,13 +1090,11 @@ eo:
     disallowed_hashtags:
       one: 'enhavas malpermesitan kradvorton: %{tags}'
       other: 'enhavis malpermesitan kradvorton: %{tags}'
-    language_detection: Aŭtomate detekti la lingvon
     open_in_web: Malfermi retumile
     over_character_limit: limo de %{max} signoj transpasita
     pin_errors:
       limit: Vi jam atingis la maksimuman nombron de alpinglitaj mesaĝoj
       ownership: Mesaĝo de iu alia ne povas esti alpinglita
-      private: Mesaĝo nepublika ne povas esti alpinglita
       reblog: Diskonigo ne povas esti alpinglita
     poll:
       total_people:
@@ -1209,12 +1167,7 @@ eo:
       subject: Via arkivo estas preta por elŝutado
       title: Arkiva elŝuto
     warning:
-      explanation:
-        disable: Dum via konto estas frostigita, via kontaj datumoj restas intaktaj, sed vi ne povas plenumi iujn agojn ĝis ĝi estas malhaltigita.
-        silence: Dum via konto estas limigita, nur tiuj, kiuj jam sekvas vin, vidos viajn mesaĝojn en ĉi tiu servilo, kaj vi povus esti ekskludita de diversaj publikaj listoj. Tamen, aliaj ankoraŭ povas mane sekvi vin.
-        suspend: Via konto estis haltigita, kaj ĉiuj el viaj mesaĝoj kaj alŝutitaj aŭdovidaj dosieroj estis nemalfareble forigitaj de ĉi tiu servilo, kaj de la serviloj, kie vi havis sekvantojn.
       review_server_policies: Superrigardi servilajn politikojn
-      statuses: 'Specife, per:'
       subject:
         disable: Via konto %{acct} estas frostigita
         none: Averto por %{acct}
diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml
index bcfab74c8..e14a8d725 100644
--- a/config/locales/es-AR.yml
+++ b/config/locales/es-AR.yml
@@ -99,7 +99,6 @@ es-AR:
     accounts:
       add_email_domain_block: Bloquear el dominio del correo electrónico
       approve: Aprobar
-      approve_all: Aprobar todas
       approved_msg: Se aprobó exitosamente la solicitud de registro de %{username}
       are_you_sure: "¿Estás seguro?"
       avatar: Avatar
@@ -114,6 +113,7 @@ es-AR:
       confirm: Confirmar
       confirmed: Confirmado
       confirming: Confirmación
+      custom: Personalizar
       delete: Eliminar datos
       deleted: Eliminado
       demote: Bajar de nivel
@@ -153,7 +153,6 @@ es-AR:
         active: Activas
         all: Todas
         pending: Pendientes
-        silenced: Limitadas
         suspended: Suspendidas
         title: Moderación
       moderation_notes: Notas de moderación
@@ -171,7 +170,6 @@ es-AR:
       redownload: Refrescar perfil
       redownloaded_msg: Se refrescó exitosamente el perfil de %{username} desde el origen
       reject: Rechazar
-      reject_all: Rechazar todas
       rejected_msg: Se rechazó exitosamente la solicitud de registro de %{username}
       remove_avatar: Quitar avatar
       remove_header: Quitar cabecera
@@ -206,12 +204,14 @@ es-AR:
       silence: Limitar
       silenced: Limitadas
       statuses: Mensajes
+      strikes: Sanciones previas
       subscribe: Suscribirse
       suspended: Suspendidas
       suspension_irreversible: Se eliminaron irreversiblemente los datos de esta cuenta. Podés dejar de suspenderla para hacerla utilizable, pero no se recuperarán los datos que tenía anteriormente.
       suspension_reversible_hint_html: La cuenta fue suspendida y los datos se eliminarán completamente el %{date}. Hasta entonces, la cuenta puede ser restaurada sin ningún efecto perjudicial. Si querés eliminar todos los datos de la cuenta inmediatamente, podés hacerlo abajo.
-      time_in_queue: Esperando en cola %{time}
       title: Cuentas
+      unblock_email: Desbloquear dirección de correo electrónico
+      unblocked_email_msg: Se desbloqueó exitosamente la dirección de correo electrónico de %{username}
       unconfirmed_email: Correo electrónico sin confirmar
       undo_sensitized: Deshacer Forzar como sensible
       undo_silenced: Deshacer límite
@@ -226,6 +226,7 @@ es-AR:
       whitelisted: Permitidas para federación
     action_logs:
       action_types:
+        approve_user: Aprobar usuario
         assigned_to_self_report: Asignar denuncia
         change_email_user: Cambiar correo electrónico del usuario
         confirm_user: Confirmar usuario
@@ -243,6 +244,7 @@ es-AR:
         destroy_domain_allow: Eliminar permiso de dominio
         destroy_domain_block: Eliminar bloqueo de dominio
         destroy_email_domain_block: Eliminar bloqueo de dominio de correo electrónico
+        destroy_instance: Purgar dominio
         destroy_ip_block: Eliminar regla de dirección IP
         destroy_status: Eliminar mensaje
         destroy_unavailable_domain: Eliminar dominio no disponible
@@ -255,6 +257,7 @@ es-AR:
         enable_user: Habilitar usuario
         memorialize_account: Convertir en cuenta conmemorativa
         promote_user: Promover usuario
+        reject_user: Rechazar usuario
         remove_avatar_user: Quitar avatar
         reopen_report: Reabrir denuncia
         reset_password_user: Cambiar contraseña
@@ -263,6 +266,7 @@ es-AR:
         silence_account: Limitar cuenta
         suspend_account: Suspender cuenta
         unassigned_report: Desasignar denuncia
+        unblock_email_account: Desbloquear dirección de correo electrónico
         unsensitive_account: Desmarcar Forzar cuenta como sensible
         unsilence_account: Deshacer Limitar cuenta
         unsuspend_account: Dejar de suspender cuenta
@@ -271,6 +275,7 @@ es-AR:
         update_domain_block: Actualizar bloque de dominio
         update_status: Actualizar mensaje
       actions:
+        approve_user_html: "%{name} aprobó el registro de %{target}"
         assigned_to_self_report_html: "%{name} se asignó la denuncia %{target} a sí"
         change_email_user_html: "%{name} cambió la dirección de correo electrónico del usuario %{target}"
         confirm_user_html: "%{name} confirmó la dirección de correo del usuario %{target}"
@@ -288,6 +293,7 @@ es-AR:
         destroy_domain_allow_html: "%{name} no permitió la federación con el dominio %{target}"
         destroy_domain_block_html: "%{name} desbloqueó el dominio %{target}"
         destroy_email_domain_block_html: "%{name} desbloqueó el dominio de correo electrónico %{target}"
+        destroy_instance_html: "%{name} purgó el dominio %{target}"
         destroy_ip_block_html: "%{name} eliminó la regla para la dirección IP %{target}"
         destroy_status_html: "%{name} eliminó el mensaje de %{target}"
         destroy_unavailable_domain_html: "%{name} reanudó la entrega al dominio %{target}"
@@ -300,6 +306,7 @@ es-AR:
         enable_user_html: "%{name} habilitó el inicio de sesión para el usuario %{target}"
         memorialize_account_html: "%{name} convirtió la cuenta de %{target} en una cuenta conmemorativa"
         promote_user_html: "%{name} promovió al usuario %{target}"
+        reject_user_html: "%{name} rechazó el registro de %{target}"
         remove_avatar_user_html: "%{name} quitó el avatar de %{target}"
         reopen_report_html: "%{name} reabrió la denuncia %{target}"
         reset_password_user_html: "%{name} cambió la contraseña del usuario %{target}"
@@ -308,6 +315,7 @@ es-AR:
         silence_account_html: "%{name} limitó la cuenta de %{target}"
         suspend_account_html: "%{name} suspendió la cuenta de %{target}"
         unassigned_report_html: "%{name} desasignó la denuncia %{target}"
+        unblock_email_account_html: "%{name} desbloqueó la dirección de correo electrónico de %{target}"
         unsensitive_account_html: "%{name} desmarcó los medios de %{target} como sensibles"
         unsilence_account_html: "%{name} quitó el límite de la cuenta de %{target}"
         unsuspend_account_html: "%{name} quitó la suspensión de la cuenta de %{target}"
@@ -371,9 +379,28 @@ es-AR:
       updated_msg: "¡Emoji actualizado exitosamente!"
       upload: Subir
     dashboard:
+      active_users: usuarios activos
+      interactions: interacciones
+      media_storage: Almacenamiento de medios
+      new_users: nuevos usuarios
+      opened_reports: denuncias abiertas
+      pending_reports_html:
+        one: "<strong>1</strong> denuncia pendiente"
+        other: "<strong>%{count}</strong> denuncias pendientes"
+      pending_tags_html:
+        one: "<strong>1</strong> etiqueta pendiente"
+        other: "<strong>%{count}</strong> etiquetas pendientes"
+      pending_users_html:
+        one: "<strong>1</strong> usuario pendiente"
+        other: "<strong>%{count}</strong> usuarios pendientes"
+      resolved_reports: denuncias resueltas
       software: Software
+      sources: Fuentes de registro
       space: Uso de almacenamiento
       title: Panel
+      top_languages: Idiomas más activos
+      top_servers: Servidores más activos
+      website: Sitio web
     domain_allows:
       add_new: Permitir federación con el dominio
       created_msg: El dominio fue exitosamente permitido para la federación
@@ -446,6 +473,7 @@ es-AR:
       back_to_limited: Limitados
       back_to_warning: Advertencia
       by_domain: Dominio
+      confirm_purge: "¿Estás seguro que querés eliminar permanentemente los datos de este dominio?"
       delivery:
         all: Todos
         clear: Limpiar errores de entrega
@@ -461,6 +489,7 @@ es-AR:
       delivery_available: La entrega está disponible
       delivery_error_days: Días de error de entrega
       delivery_error_hint: Si la entrega no es posible durante %{count} días, se marcará automáticamente como no entregable.
+      destroyed_msg: Los datos de %{domain} están ahora en cola para su eliminación inminente.
       empty: No se encontraron dominios.
       known_accounts:
         one: "%{count} cuenta conocida"
@@ -471,6 +500,7 @@ es-AR:
         title: Moderación
       private_comment: Comentario privado
       public_comment: Comentario público
+      purge: Purgar
       title: Federación
       total_blocked_by_us: Bloqueada por nosotros
       total_followed_by_them: Seguidas por ellos
@@ -500,8 +530,6 @@ es-AR:
         title: Crear nueva regla de dirección IP
       no_ip_block_selected: No se cambió ninguna regla de dirección IP, ya que no se seleccionó ninguna
       title: Reglas de dirección IP
-    pending_accounts:
-      title: Cuentas pendientes (%{count})
     relationships:
       title: Relaciones de %{acct}
     relays:
@@ -523,32 +551,44 @@ es-AR:
     report_notes:
       created_msg: "¡La nota de denuncia fue creada exitosamente!"
       destroyed_msg: "¡La nota de denuncia fue eliminada exitosamente!"
+      today_at: Hoy a las %{time}
     reports:
       account:
         notes:
           one: "%{count} nota"
           other: "%{count} notas"
-        reports:
-          one: "%{count} denuncia"
-          other: "%{count} denuncias"
+      action_log: Registro de auditoría
       action_taken_by: Acción tomada por
+      actions:
+        other_description_html: Ver más opciones para controlar el comportamiento de la cuenta y personalizar la comunicación de la cuenta denunciada.
+        silence_description_html: El perfil será visible sólo para aquellos que ya sigan esta cuenta o que la busquen manualmente, limitando seriamente su alcance. Siempre puede ser revertido.
+        suspend_description_html: El perfil y todos sus contenidos serán inaccesibles hasta que sean finalmente eliminados. No será posible interactuar con la cuenta. Reversible dentro de los 30 días.
+      actions_description_html: 'Si quitar el contenido ofensivo de arriba no es suficiente:'
+      add_to_report: Agregar más a la denuncia
       are_you_sure: "¿Estás seguro?"
       assign_to_self: Asignármela a mí
       assigned: Moderador asignado
       by_target_domain: Dominio de la cuenta denunciada
+      category: Categoría
+      category_description_html: El motivo por el que se denunció esta cuenta o contenido será citado en las comunicaciones con la cuenta denunciada
       comment:
         none: Ninguno
+      comment_description_html: 'Para proporcionar más información, %{name} escribió:'
       created_at: Denunciado
+      delete_and_resolve: Resolver y eliminar
       forwarded: Reenviado
       forwarded_to: Reenviado a %{domain}
       mark_as_resolved: Marcar como resuelta
       mark_as_unresolved: Marcar como no resuelta
+      no_one_assigned: Nadie
       notes:
         create: Agregar nota
         create_and_resolve: Resolver con nota
         create_and_unresolve: Reabrir con nota
         delete: Eliminar
         placeholder: Describí qué acciones se tomaron, o cualquier otra actualización relacionada...
+        title: Notas
+      notes_description_html: Ver y dejar notas para otros moderadores y como referencia futura
       reopen: Reabrir denuncia
       report: 'Denuncia #%{id}'
       reported_account: Cuenta denunciada
@@ -556,11 +596,14 @@ es-AR:
       resolved: Resueltas
       resolved_msg: "¡Denuncia exitosamente resuelta!"
       status: Estado
+      statuses: Contenido denunciado
+      statuses_description_html: El contenido ofensivo se citará en la comunicación con la cuenta denunciada
       target_origin: Origen de la cuenta denunciada
       title: Denuncias
       unassign: Desasignar
       unresolved: No resueltas
       updated_at: Actualizadas
+      view_profile: Ver perfil
     rules:
       add_new: Agregar regla
       delete: Eliminar
@@ -656,21 +699,19 @@ es-AR:
         title: Permitir que las etiquetas sean tendencia sin revisión previa
       trends:
         desc_html: Mostrar públicamente etiquetas previamente revisadas que son tendencia actualmente
-        title: Etiquetas en tendencia
+        title: Tendencias
     site_uploads:
       delete: Eliminar archivo subido
       destroyed_msg: "¡Subida al sitio eliminada exitosamente!"
     statuses:
       back_to_account: Volver a la página de la cuenta
+      back_to_report: Volver a la página de la denuncia
       batch:
-        delete: Eliminar
-        nsfw_off: Marcar contenido como no sensible
-        nsfw_on: Marcar contenido como sensible
+        remove_from_report: Quitar de la denuncia
+        report: Denunciar
       deleted: Eliminado
-      failed_to_execute: Falló al ejecutar
       media:
         title: Medios
-      no_media: Sin medios
       no_status_selected: No se cambió ningún mensaje, ya que ninguno fue seleccionado
       title: Mensajes de la cuenta
       with_media: Con medios
@@ -683,21 +724,51 @@ es-AR:
       sidekiq_process_check:
         message_html: No hay ningún proceso Sidekiq en ejecución para la/s cola/s %{value}. Por favor, revisá tu configuración de Sidekiq
     tags:
-      accounts_today: Usos únicos de hoy
-      accounts_week: Usos únicos esta semana
-      breakdown: Desglose del consumo de hoy por fuentes
-      last_active: Usadas recientemente
-      most_popular: Lo más popular
-      most_recent: Creadas recientemente
-      name: Etiqueta
       review: Estado de revisión
-      reviewed: Revisado
-      title: Etiquetas
-      trending_right_now: En tendencia ahora mismo
-      unique_uses_today: "%{count} mensajes hoy"
-      unreviewed: No revisada
       updated_msg: La configuración de la etiqueta se actualizó exitosamente
     title: Administración
+    trends:
+      allow: Permitir
+      approved: Aprobadas
+      disallow: Rechazar
+      links:
+        allow: Permitir enlace
+        allow_provider: Permitir medio
+        disallow: Rechazar enlace
+        disallow_provider: Rechazar medio
+        shared_by_over_week:
+          one: Compartido por una persona durante la última semana
+          other: Compartido por %{count} personas durante la última semana
+        title: Enlaces en tendencia
+        usage_comparison: Compartido %{today} veces hoy, comparado con la/s %{yesterday} vez/veces de ayer
+      pending_review: Revisión pendiente
+      preview_card_providers:
+        allowed: Los enlaces de este medio pueden ser tendencia
+        rejected: Los enlaces de este medio no serán tendencia
+        title: Medios
+      rejected: Rechazadas
+      tags:
+        current_score: Puntuación actual %{score}
+        dashboard:
+          tag_accounts_measure: usos únicos
+          tag_languages_dimension: Idiomas principales
+          tag_servers_dimension: Servidores principales
+          tag_servers_measure: diferentes servidores
+          tag_uses_measure: usos totales
+        listable: Pueden ser recomendadas
+        not_listable: No serán recomendadas
+        not_trendable: No aparecerán en tendencias
+        not_usable: No podrán ser usadas
+        peaked_on_and_decaying: Alcanzó el pico el %{date}, ahora decreciendo
+        title: Etiquetas en tendencia
+        trendable: Pueden aparecer en tendencias
+        trending_rank: Tendencia n.º %{rank}
+        usable: Pueden usarse
+        usage_comparison: Usadas %{today} veces hoy, comparado con la/s %{yesterday} vez/veces de ayer
+        used_by_over_week:
+          one: Usada por una persona durante la última semana
+          other: Usada por %{count} personas durante la última semana
+      title: Tendencias
     warning_presets:
       add_new: Agregar nuevo
       delete: Eliminar
@@ -712,9 +783,16 @@ es-AR:
       body: "%{reporter} denunció a %{target}"
       body_remote: Alguien de %{domain} denunció a %{target}
       subject: Nueva denuncia para %{instance} (#%{id})
-    new_trending_tag:
-      body: 'La etiqueta #%{name} está en tendencia hoy, pero no fue revisada previamente. No se mostrará públicamente a menos que lo permitas, o si no simplemente guardá el formulario como está para no volver a ver esto.'
-      subject: Nueva etiqueta para revisión en %{instance} (#%{name})
+    new_trending_links:
+      body: Los siguientes enlaces están en tendencia hoy, pero sus medios de origen no han sido revisados previamente. No se mostrarán públicamente a menos que los aprobés. No se generarán más notificaciones de estos medios.
+      no_approved_links: Actualmente no hay enlaces en tendencia aprobados.
+      requirements: El enlace en tendencia aprobado más bajo actualmente es "%{lowest_link_title}" con una puntuación de %{lowest_link_score}.
+      subject: Nuevos enlaces en tendencia esperando ser revisados en %{instance}
+    new_trending_tags:
+      body: 'Las siguientes etiquetas están en tendencia hoy, pero no han sido revisadas previamente. No se mostrarán públicamente a menos que las aprobés:'
+      no_approved_tags: Actualmente no hay ninguna etiqueta en tendencia aprobada.
+      requirements: La etiqueta en tendencia aprobada más baja actualmente es "%{lowest_tag_name}" con una puntuación de %{lowest_tag_score}.
+      subject: Nuevas etiquetas en tendencia esperando ser revisadas en %{instance}
   aliases:
     add_new: Crear alias
     created_msg: El nuevo alias se creó exitosamente. Ahora podés empezar la mudanza desde la cuenta vieja.
@@ -766,6 +844,7 @@ es-AR:
     invalid_reset_password_token: La clave para cambiar la contraseña no es válida o venció. Por favor, solicitá una nueva.
     link_to_otp: Ingresá un código de dos factores desde tu dispositivo o un código de recuperación
     link_to_webauth: Usá tu dispositivo de llave de seguridad
+    log_in_with: Iniciar sesión con
     login: Iniciar sesión
     logout: Cerrar sesión
     migrate_account: Mudarse a otra cuenta
@@ -921,34 +1000,15 @@ es-AR:
     changes_saved_msg: "¡Cambios guardados exitosamente!"
     copy: Copiar
     delete: Eliminar
-    no_batch_actions_available: No hay acciones por lotes disponibles en esta página
+    none: "[Ninguna]"
     order_by: Ordenar por
     save_changes: Guardar cambios
+    today: hoy
     validation_errors:
       one: "¡Falta algo! Por favor, revisá el error abajo"
       other: "¡Falta algo! Por favor, revisá los %{count} errores abajo"
   html_validator:
     invalid_markup: 'contiene markup HTML no válido: %{error}'
-  identity_proofs:
-    active: Activa
-    authorize: Sí, autorizar
-    authorize_connection_prompt: "¿Autorizar esta conexión criptográfica?"
-    errors:
-      failed: Falló la conexión criptográfica. Por favor, intentá de nuevo desde %{provider}.
-      keybase:
-        invalid_token: Las claves de Keybase son hashes de firmas y deben tener 66 caracteres hexadecimales
-        verification_failed: Keybase no reconoce esta clave como una firma del usuario de Keybase %{kb_username}. Por favor, intentá de nuevo desde Keybase.
-      wrong_user: No se puede crear una prueba para %{proving} mientras se haya iniciado sesión como %{current}. Iniciá sesión como %{proving} e intentá de nuevo.
-    explanation_html: Acá podés conectar criptográficamente tus otras identidades, como un perfil de Keybase. Esto permite a otras personas enviarte mensajes cifrados y confiar en el contenido que les envías.
-    i_am_html: Soy %{username} en %{service}.
-    identity: Identidad
-    inactive: Inactiva
-    publicize_checkbox: 'Y enviá esto:'
-    publicize_toot: "¡Comprobado! Soy %{username} en %{service}: %{url}"
-    remove: Quitar prueba de cuenta
-    removed: Se quitó la prueba de cuenta exitosamente
-    status: Estado de verificación
-    view_proof: Ver prueba
   imports:
     errors:
       over_rows_processing_limit: contiene más de %{count} filas
@@ -1164,6 +1224,9 @@ es-AR:
     reply:
       proceed: Proceder para responder
       prompt: 'Vas a responder a este mensaje:'
+  reports:
+    errors:
+      invalid_rules: no hace referencia a reglas válidas
   scheduled_statuses:
     over_daily_limit: Superaste el límite de %{limit} mensajes programados para ese día
     over_total_limit: Superaste el límite de %{limit} mensajes programados
@@ -1222,7 +1285,6 @@ es-AR:
     edit_profile: Editar perfil
     export: Exportación de datos
     featured_tags: Etiquetas destacadas
-    identity_proofs: Pruebas de identidad
     import: Importar
     import_and_export: Importación y exportación
     migrate: Migración de la cuenta
@@ -1247,18 +1309,19 @@ es-AR:
         other: "%{count} videos"
     boosted_from_html: Adherido desde %{acct_link}
     content_warning: 'Advertencia de contenido: %{warning}'
+    default_language: Igual que el idioma de la interface
     disallowed_hashtags:
       one: 'contenía una etiqueta no permitida: %{tags}'
       other: 'contenía las etiquetas no permitidas: %{tags}'
+    edited_at: Editado %{date}
     errors:
       in_reply_not_found: El mensaje al que intentás responder no existe.
-    language_detection: Detectar idioma automáticamente
     open_in_web: Abrir en la web
     over_character_limit: se excedió el límite de %{max} caracteres
     pin_errors:
+      direct: Los mensajes que sólo son visibles para los usuarios mencionados no pueden ser fijados
       limit: Ya fijaste el número máximo de mensajes
       ownership: No se puede fijar el mensaje de otra cuenta
-      private: Los mensajes que no son públicos no se pueden fijar
       reblog: No se puede fijar una adhesión
     poll:
       total_people:
@@ -1312,9 +1375,9 @@ es-AR:
       '63113904': 2 años
       '7889238': 3 meses
     min_age_label: Umbral de edad
-    min_favs: Conservar mensajes marcados como favoritos de hace más de
+    min_favs: Conservar mensajes marcados como favoritos de por lo menos
     min_favs_hint: No elimina ninguno de tus mensajes que haya recibido más de esta cantidad de favoritos. Dejá en blanco para eliminar mensajes independientemente de su número de favoritos
-    min_reblogs: Conservar adhesiones de hace más de
+    min_reblogs: Conservar adhesiones de por lo menos
     min_reblogs_hint: No elimina ninguno de tus mensajes que haya recibido más de esta cantidad de adhesiones. Dejá en blanco para eliminar mensajes independientemente de su número de adhesiones
   stream_entries:
     pinned: Mensaje fijado
@@ -1413,6 +1476,7 @@ es-AR:
     formats:
       default: "%Y.%b.%d, %H:%M"
       month: "%b de %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Agregar
     disable: Deshabilitar 2FA
@@ -1440,24 +1504,31 @@ es-AR:
       subject: Por favor, confirmá el intento de inicio de sesión
       title: Intento de inicio de sesión
     warning:
+      categories:
+        spam: Spam
+        violation: El contenido viola las siguientes directrices de la comunidad
       explanation:
-        disable: Ya no podés iniciar sesión en tu cuenta o usarla de alguna manera, pero tu perfil y otros datos permanecen intactos.
-        sensitive: Tus archivos de medios subidos y enlaces de medios serán tratados como sensibles.
-        silence: Todavía podés usar tu cuenta, pero sólo las cuentas que ya te estén siguiendo verán tus mensajes en este servidor, y puede que se te excluya de varios listados públicos. Sin embargo, otras cuentas pueden seguirte manualmente.
-        suspend: Ya no podés usar tu cuenta; tu perfil y otros datos ya no son accesibles. Todavía podés iniciar sesión para solicitar un resguardo de tus datos hasta que los mismos sean totalmente quitados, pero retendremos ciertos datos para prevenirte de evadir la suspensión.
-      get_in_touch: Podés responder a esta dirección de correo electrónico para ponerte en contacto con la administración de %{instance}.
+        delete_statuses: Algunos de tus mensajes violan una o más directrices de la comunidad y por consiguiente fueron eliminados por los moderadores de %{instance}. Futuras violaciones pueden resultar en acciones punitivas más severas contra tu cuenta.
+        disable: Ya no podés usar tu cuenta, pero tu perfil y el resto de datos permanecen intactos. Podés solicitar una copia de seguridad de tus datos, cambiar la configuración de tu cuenta, o eliminarla.
+        sensitive: A partir de ahora, todos tus archivos subidos serán marcados como sensibles y ocultos tras una advertencia en la que habrá que hacer clic.
+        silence: Todavía podés usar tu cuenta, pero sólo las personas que te están siguiendo verán tus publicaciones en este servidor, y podrías ser excluido de varias funciones de descubrimiento. Sin embargo, otras cuentas podrán seguirte manualmente.
+        suspend: Ya no podés usar tu cuenta, y tu perfil y el resto de datos ya no son accesibles. Todavía podés iniciar sesión para solicitar una copia de seguridad de tus datos, hasta que estos sean eliminados por completo en unos 30 días, aunque conservaremos algunos datos básicos para impedir que esquivés la suspensión.
+      get_in_touch: Si crees que esto es un error, podés responder a este correo electrónico para ponerte en contacto con el equipo de %{instance}.
+      reason: 'Motivo:'
       review_server_policies: Revisar las políticas del servidor
-      statuses: 'Específicamente, para:'
+      statuses: 'Mensajes que se encontraron en violación:'
       subject:
+        delete_statuses: Se eliminaron tus mensajes en %{acct}
         disable: Tu cuenta %{acct} fue congelada
         none: Advertencia para %{acct}
-        sensitive: Los mensajes con medios de tu cuenta %{acct} fueron marcados como sensibles
+        sensitive: Tus archivos en %{acct} se marcarán como sensibles a partir de ahora
         silence: Tu cuenta %{acct} fue limitada
         suspend: Tu cuenta %{acct} fue suspendida
       title:
+        delete_statuses: Mensajes eliminados
         disable: Cuenta congelada
         none: Advertencia
-        sensitive: Tus medios fueron marcados como sensibles
+        sensitive: Medios ocultos
         silence: Cuenta limitada
         suspend: Cuenta suspendida
     welcome:
diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml
index 0260febab..834b3a7d4 100644
--- a/config/locales/es-MX.yml
+++ b/config/locales/es-MX.yml
@@ -99,7 +99,6 @@ es-MX:
     accounts:
       add_email_domain_block: Poner en lista negra el dominio del correo
       approve: Aprobar
-      approve_all: Aprobar todos
       approved_msg: La solicitud de registro de %{username} ha sido aprobada correctamente
       are_you_sure: "¿Estás seguro?"
       avatar: Foto de perfil
@@ -114,6 +113,7 @@ es-MX:
       confirm: Confirmar
       confirmed: Confirmado
       confirming: Confirmando
+      custom: Personalizado
       delete: Eliminar datos
       deleted: Borrado
       demote: Degradar
@@ -153,7 +153,6 @@ es-MX:
         active: Activo
         all: Todos
         pending: Pendiente
-        silenced: Silenciados
         suspended: Suspendidos
         title: Moderación
       moderation_notes: Notas de moderación
@@ -171,7 +170,6 @@ es-MX:
       redownload: Refrescar avatar
       redownloaded_msg: Se actualizó correctamente el perfil de %{username} desde el origen
       reject: Rechazar
-      reject_all: Rechazar todos
       rejected_msg: La solicitud de registro de %{username} ha sido rechazada con éxito
       remove_avatar: Eliminar el avatar
       remove_header: Eliminar cabecera
@@ -206,12 +204,14 @@ es-MX:
       silence: Silenciar
       silenced: Silenciado
       statuses: Estados
+      strikes: Amonestaciones previas
       subscribe: Suscribir
       suspended: Suspendido
       suspension_irreversible: Los datos de esta cuenta han sido irreversiblemente eliminados. Puedes deshacer la suspensión de la cuenta para hacerla utilizable, pero no recuperará los datos que tenías anteriormente.
       suspension_reversible_hint_html: La cuenta ha sido suspendida y los datos se eliminarán completamente el %{date}. Hasta entonces, la cuenta puede ser restaurada sin ningún efecto perjudicial. Si desea eliminar todos los datos de la cuenta inmediatamente, puede hacerlo a continuación.
-      time_in_queue: Esperando en cola %{time}
       title: Cuentas
+      unblock_email: Desbloquear dirección de correo
+      unblocked_email_msg: Se ha desbloqueado correctamente la dirección de correo de %{username}
       unconfirmed_email: Correo electrónico sin confirmar
       undo_sensitized: Desmarcar como sensible
       undo_silenced: Des-silenciar
@@ -226,6 +226,7 @@ es-MX:
       whitelisted: Añadido a la lista blanca
     action_logs:
       action_types:
+        approve_user: Aprobar Usuario
         assigned_to_self_report: Asignar Reporte
         change_email_user: Cambiar Correo Electrónico del Usuario
         confirm_user: Confirmar Usuario
@@ -243,6 +244,7 @@ es-MX:
         destroy_domain_allow: Eliminar Permiso de Dominio
         destroy_domain_block: Eliminar Bloqueo de Dominio
         destroy_email_domain_block: Eliminar Bloqueo de Dominio de Correo Electrónico
+        destroy_instance: Purgar Dominio
         destroy_ip_block: Eliminar regla IP
         destroy_status: Eliminar Estado
         destroy_unavailable_domain: Eliminar Dominio No Disponible
@@ -255,6 +257,7 @@ es-MX:
         enable_user: Habilitar Usuario
         memorialize_account: Transformar en Cuenta Conmemorativa
         promote_user: Promover Usuario
+        reject_user: Rechazar Usuario
         remove_avatar_user: Eliminar Avatar
         reopen_report: Reabrir Reporte
         reset_password_user: Restablecer Contraseña
@@ -263,6 +266,7 @@ es-MX:
         silence_account: Silenciar Cuenta
         suspend_account: Suspender Cuenta
         unassigned_report: Desasignar Reporte
+        unblock_email_account: Desbloquear dirección de correo
         unsensitive_account: Desmarcar multimedia en tu cuenta como sensible
         unsilence_account: Dejar de Silenciar Cuenta
         unsuspend_account: Dejar de Suspender Cuenta
@@ -271,6 +275,7 @@ es-MX:
         update_domain_block: Actualizar el Bloqueo de Dominio
         update_status: Actualizar Estado
       actions:
+        approve_user_html: "%{name} aprobó el registro de %{target}"
         assigned_to_self_report_html: "%{name} asignó el informe %{target} a sí mismo"
         change_email_user_html: "%{name} cambió la dirección de correo electrónico del usuario %{target}"
         confirm_user_html: "%{name} confirmó la dirección de correo electrónico del usuario %{target}"
@@ -288,6 +293,7 @@ es-MX:
         destroy_domain_allow_html: "%{name} bloqueó la federación con el dominio %{target}"
         destroy_domain_block_html: "%{name} desbloqueó el dominio %{target}"
         destroy_email_domain_block_html: "%{name} desbloqueó el dominio de correo electrónico %{target}"
+        destroy_instance_html: "%{name} purgó el dominio %{target}"
         destroy_ip_block_html: "%{name} eliminó una regla para la IP %{target}"
         destroy_status_html: "%{name} eliminó el estado por %{target}"
         destroy_unavailable_domain_html: "%{name} reanudó las entregas al dominio %{target}"
@@ -300,6 +306,7 @@ es-MX:
         enable_user_html: "%{name} habilitó el inicio de sesión para el usuario %{target}"
         memorialize_account_html: "%{name} convirtió la cuenta de %{target} en una página in memoriam"
         promote_user_html: "%{name} promoción al usuario %{target}"
+        reject_user_html: "%{name} rechazó el registro de %{target}"
         remove_avatar_user_html: "%{name} eliminó el avatar de %{target}"
         reopen_report_html: "%{name} reabrió el informe %{target}"
         reset_password_user_html: "%{name} reinició la contraseña del usuario %{target}"
@@ -308,6 +315,7 @@ es-MX:
         silence_account_html: "%{name} silenció la cuenta de %{target}"
         suspend_account_html: "%{name} suspendió la cuenta de %{target}"
         unassigned_report_html: "%{name} des-asignó el informe %{target}"
+        unblock_email_account_html: "%{name} ha desbloqueado la dirección de correo de %{target}"
         unsensitive_account_html: "%{name} desmarcó la multimedia de %{target} como sensible"
         unsilence_account_html: "%{name} desilenció la cuenta de %{target}"
         unsuspend_account_html: "%{name} reactivó la cuenta de %{target}"
@@ -371,9 +379,28 @@ es-MX:
       updated_msg: "¡Emoji actualizado con éxito!"
       upload: Subir
     dashboard:
+      active_users: usuarios activos
+      interactions: interacciones
+      media_storage: Almacenamiento multimedia
+      new_users: nuevos usuarios
+      opened_reports: informes abiertos
+      pending_reports_html:
+        one: "<strong>1</strong> informe pendiente"
+        other: "<strong>%{count}</strong> informes pendientes"
+      pending_tags_html:
+        one: "<strong>1</strong> etiqueta pendiente"
+        other: "<strong>%{count}</strong> etiquetas pendientes"
+      pending_users_html:
+        one: "<strong>1</strong> usuario pendiente"
+        other: "<strong>%{count}</strong> usuarios pendientes"
+      resolved_reports: informes resueltos
       software: Software
+      sources: Fuentes de registro
       space: Uso de almacenamiento
       title: Tablero
+      top_languages: Idiomas más activos
+      top_servers: Servidores más activos
+      website: Sitio web
     domain_allows:
       add_new: Añadir dominio a la lista blanca
       created_msg: Dominio añadido a la lista blanca con éxito
@@ -446,6 +473,7 @@ es-MX:
       back_to_limited: Limitados
       back_to_warning: Advertencia
       by_domain: Dominio
+      confirm_purge: "¿Seguro que quieres eliminar permanentemente los datos de este dominio?"
       delivery:
         all: Todos
         clear: Limpiar errores de entrega
@@ -461,6 +489,7 @@ es-MX:
       delivery_available: Entrega disponible
       delivery_error_days: Días de error de entrega
       delivery_error_hint: Si la entrega no es posible a lo largo de %{count} días, se marcará automáticamente como no entregable.
+      destroyed_msg: Los datos de %{domain} están ahora en cola para su inminente eliminación.
       empty: No se encontraron dominios.
       known_accounts:
         one: "%{count} cuenta conocida"
@@ -471,6 +500,7 @@ es-MX:
         title: Moderación
       private_comment: Comentario privado
       public_comment: Comentario público
+      purge: Purgar
       title: Instancias conocidas
       total_blocked_by_us: Bloqueado por nosotros
       total_followed_by_them: Seguidos por ellos
@@ -500,8 +530,6 @@ es-MX:
         title: Crear nueva regla IP
       no_ip_block_selected: No se han cambiado reglas IP ya que no se ha seleccionado ninguna
       title: Reglas IP
-    pending_accounts:
-      title: Cuentas pendientes (%{count})
     relationships:
       title: Relaciones de %{acct}
     relays:
@@ -523,32 +551,44 @@ es-MX:
     report_notes:
       created_msg: "¡El registro de la denuncia se ha creado correctamente!"
       destroyed_msg: "¡El registro de la denuncia se ha borrado correctamente!"
+      today_at: Hoy a las %{time}
     reports:
       account:
         notes:
           one: "%{count} nota"
           other: "%{count} notas"
-        reports:
-          one: "%{count} informe"
-          other: "%{count} informes"
+      action_log: Registro de auditoría
       action_taken_by: Acción tomada por
+      actions:
+        other_description_html: Ver más opciones para controlar el comportamiento de la cuenta y personalizar la comunicación de la cuenta reportada.
+        silence_description_html: El perfil será visible solo para aquellos que ya lo sigan o lo busquen manualmente, limitando seriamente su alcance. Siempre puede ser revertido.
+        suspend_description_html: El perfil y todos sus contenidos serán inaccesibles hasta que sean finalmente eliminados. La interacción con la cuenta será imposible. Reversible durante un plazo de 30 días.
+      actions_description_html: 'Si eliminar el contenido ofensivo de arriba no es suficiente:'
+      add_to_report: Añadir más al reporte
       are_you_sure: "¿Estás seguro?"
       assign_to_self: Asignármela a mí
       assigned: Moderador asignado
       by_target_domain: Dominio de la cuenta reportada
+      category: Categoría
+      category_description_html: La razón por la que se reportó esta cuenta o contenido será citada en las comunicaciones con la cuenta reportada
       comment:
         none: Ninguno
+      comment_description_html: 'Para proporcionar más información, %{name} escribió:'
       created_at: Denunciado
+      delete_and_resolve: Eliminar y resolver
       forwarded: Reenviado
       forwarded_to: Reenviado a %{domain}
       mark_as_resolved: Marcar como resuelto
       mark_as_unresolved: Marcar como no resuelto
+      no_one_assigned: Nadie
       notes:
         create: Añadir una nota
         create_and_resolve: Resolver con una nota
         create_and_unresolve: Reabrir con una nota
         delete: Eliminar
         placeholder: Especificar qué acciones se han tomado o cualquier otra novedad respecto a esta denuncia…
+        title: Notas
+      notes_description_html: Ver y dejar notas a otros moderadores y a tu yo futuro
       reopen: Reabrir denuncia
       report: 'Reportar #%{id}'
       reported_account: Cuenta reportada
@@ -556,11 +596,14 @@ es-MX:
       resolved: Resuelto
       resolved_msg: "¡La denuncia se ha resuelto correctamente!"
       status: Estado
+      statuses: Contenido reportado
+      statuses_description_html: El contenido ofensivo se citará en la comunicación con la cuenta reportada
       target_origin: Origen de la cuenta reportada
       title: Reportes
       unassign: Desasignar
       unresolved: No resuelto
       updated_at: Actualizado
+      view_profile: Ver perfil
     rules:
       add_new: Añadir norma
       delete: Eliminar
@@ -662,15 +705,13 @@ es-MX:
       destroyed_msg: "¡Carga del sitio eliminada con éxito!"
     statuses:
       back_to_account: Volver a la cuenta
+      back_to_report: Volver a la página del reporte
       batch:
-        delete: Eliminar
-        nsfw_off: Marcar contenido como no sensible
-        nsfw_on: Marcar contenido como sensible
+        remove_from_report: Eliminar del reporte
+        report: Reporte
       deleted: Eliminado
-      failed_to_execute: Falló al ejecutar
       media:
         title: Multimedia
-      no_media: No hay multimedia
       no_status_selected: No se cambió ningún estado al no seleccionar ninguno
       title: Estado de las cuentas
       with_media: Con multimedia
@@ -683,21 +724,51 @@ es-MX:
       sidekiq_process_check:
         message_html: No hay ningún proceso Sidekiq en ejecución para la(s) cola(s) %{value}. Por favor, revise su configuración de Sidekiq
     tags:
-      accounts_today: Usos únicos de hoy
-      accounts_week: Usos únicos esta semana
-      breakdown: Desglose del consumo actual por fuentes
-      last_active: Última actividad
-      most_popular: Más popular
-      most_recent: Más reciente
-      name: Etiqueta
       review: Estado de revisión
-      reviewed: Revisado
-      title: Etiquetas
-      trending_right_now: En tendencia ahora mismo
-      unique_uses_today: "%{count} publicando hoy"
-      unreviewed: No revisado
       updated_msg: Hashtags actualizados exitosamente
     title: Administración
+    trends:
+      allow: Permitir
+      approved: Aprobadas
+      disallow: No permitir
+      links:
+        allow: Permitir enlace
+        allow_provider: Permitir medio
+        disallow: Rechazar enlace
+        disallow_provider: Rechazar medio
+        shared_by_over_week:
+          one: Compartido por una persona durante la última semana
+          other: Compartido por %{count} personas durante la última semana
+        title: Enlaces en tendencia
+        usage_comparison: Compartido %{today} veces hoy, comparado con %{yesterday} ayer
+      pending_review: Revisión pendiente
+      preview_card_providers:
+        allowed: Los enlaces de este medio pueden ser tendencia
+        rejected: Los enlaces de este medio no pueden ser tendencia
+        title: Medios
+      rejected: Rechazadas
+      tags:
+        current_score: Puntuación actual %{score}
+        dashboard:
+          tag_accounts_measure: usos únicos
+          tag_languages_dimension: Idiomas principales
+          tag_servers_dimension: Servidores principales
+          tag_servers_measure: diferentes servidores
+          tag_uses_measure: usos totales
+        listable: Pueden ser recomendadas
+        not_listable: No serán recomendadas
+        not_trendable: No aparecerán en tendencias
+        not_usable: No pueden ser usadas
+        peaked_on_and_decaying: Alcanzó el pico en %{date}, ahora decreciendo
+        title: Etiquetas en tendencia
+        trendable: Pueden aparecer en tendencias
+        trending_rank: Tendencia n.º %{rank}
+        usable: Pueden usarse
+        usage_comparison: Usada %{today} veces hoy, comparado con %{yesterday} ayer
+        used_by_over_week:
+          one: Usada por una persona durante la última semana
+          other: Usada por %{count} personas durante la última semana
+      title: Tendencias
     warning_presets:
       add_new: Añadir nuevo
       delete: Borrar
@@ -712,9 +783,16 @@ es-MX:
       body: "%{reporter} ha reportado a %{target}"
       body_remote: Alguien de %{domain} a reportado a %{target}
       subject: Nuevo reporte para la %{instance} (#%{id})
-    new_trending_tag:
-      body: 'El hashtag #%{name} está en tendencia hoy, pero no ha sido revisado previamente. No se mostrará públicamente a menos que lo permita, o simplemente guarde el formulario como para no volver a ver esto.'
-      subject: Nuevo hashtag para revisión en %{instance} (#%{name})
+    new_trending_links:
+      body: Los siguientes enlaces están en tendencia hoy, pero sus medios de origen no han sido revisados previamente. No se mostrarán públicamente a menos que los apruebes. No se generarán más notificaciones de estos medios.
+      no_approved_links: Actualmente no hay enlaces en tendencia aprobados.
+      requirements: El enlace en tendencia aprobado más bajo actualmente es "%{lowest_link_title}" con una puntuación de %{lowest_link_score}.
+      subject: Nuevos enlaces en tendencia esperando ser revisados en %{instance}
+    new_trending_tags:
+      body: 'Las siguientes etiquetas están en tendencia hoy, pero no han sido revisadas previamente. No se mostrarán públicamente a menos que las apruebes:'
+      no_approved_tags: Actualmente no hay ninguna etiqueta en tendencia aprobada.
+      requirements: La etiqueta en tendencia aprobada más baja actualmente es "%{lowest_tag_name}" con una puntuación de %{lowest_tag_score}.
+      subject: Nuevas etiquetas en tendencia esperando ser revisadas en %{instance}
   aliases:
     add_new: Crear alias
     created_msg: El nuevo alias se ha creado correctamente. Ahora puedes empezar el traslado desde la cuenta antigua.
@@ -766,6 +844,7 @@ es-MX:
     invalid_reset_password_token: El token de reinicio de contraseña es inválido o expiró. Por favor pide uno nuevo.
     link_to_otp: Introduce un código de dos factores desde tu teléfono o un código de recuperación
     link_to_webauth: Utilice su dispositivo de clave de seguridad
+    log_in_with: Iniciar sesión con
     login: Iniciar sesión
     logout: Cerrar sesión
     migrate_account: Mudarse a otra cuenta
@@ -921,34 +1000,15 @@ es-MX:
     changes_saved_msg: "¡Cambios guardados con éxito!"
     copy: Copiar
     delete: Eliminar
-    no_batch_actions_available: No hay acciones por lotes disponibles en esta página
+    none: Nada
     order_by: Ordenar por
     save_changes: Guardar cambios
+    today: hoy
     validation_errors:
       one: "¡Algo no está bien! Por favor, revisa el error"
       other: "¡Algo no está bien! Por favor, revise %{count} errores más abajo"
   html_validator:
     invalid_markup: 'contiene código HTML no válido: %{error}'
-  identity_proofs:
-    active: Activo
-    authorize: Sí, autorizar
-    authorize_connection_prompt: "¿Autorizar esta conexión criptográfica?"
-    errors:
-      failed: La conexión criptográfica falló. Por favor, inténtalo de nuevo desde %{provider}.
-      keybase:
-        invalid_token: Los tokens de Keybase son hashes de firmas y deben tener 66 caracteres hex
-        verification_failed: Keybase no reconoce este token como una firma del usuario de Keybase %{kb_username}. Por favor, inténtelo de nuevo desde Keybase.
-      wrong_user: No se puede crear una prueba para %{proving} mientras se inicia sesión como %{current}. Inicia sesión como %{proving} e inténtalo de nuevo.
-    explanation_html: Aquí puedes conectar criptográficamente sus otras identidades, como un perfil de Keybase. Esto permite a otras personas enviarle mensajes encriptados y confiar en el contenido que les envías.
-    i_am_html: Soy %{username} en %{service}.
-    identity: Identidad
-    inactive: Inactivo
-    publicize_checkbox: 'Y tootee esto:'
-    publicize_toot: "¡Comprobado! Soy %{username} en %{service}: %{url}"
-    remove: Eliminar prueba de la cuenta
-    removed: Prueba eliminada con éxito de la cuenta
-    status: Estado de la verificación
-    view_proof: Ver prueba
   imports:
     errors:
       over_rows_processing_limit: contiene más de %{count} filas
@@ -1222,7 +1282,6 @@ es-MX:
     edit_profile: Editar perfil
     export: Exportar información
     featured_tags: Hashtags destacados
-    identity_proofs: Pruebas de identidad
     import: Importar
     import_and_export: Importar y exportar
     migrate: Migración de cuenta
@@ -1247,18 +1306,19 @@ es-MX:
         other: "%{count} vídeos"
     boosted_from_html: Impulsado desde %{acct_link}
     content_warning: 'Alerta de contenido: %{warning}'
+    default_language: Igual que el idioma de la interfaz
     disallowed_hashtags:
       one: 'contenía un hashtag no permitido: %{tags}'
       other: 'contenía los hashtags no permitidos: %{tags}'
+    edited_at: Editado %{date}
     errors:
       in_reply_not_found: El estado al que intentas responder no existe.
-    language_detection: Detección automática de idioma
     open_in_web: Abrir en web
     over_character_limit: Límite de caracteres de %{max} superado
     pin_errors:
+      direct: Las publicaciones que son visibles solo para los usuarios mencionados no pueden fijarse
       limit: Ya has fijado el número máximo de publicaciones
       ownership: El toot de alguien más no puede fijarse
-      private: Los toots no-públicos no pueden fijarse
       reblog: Un boost no puede fijarse
     poll:
       total_people:
@@ -1413,6 +1473,7 @@ es-MX:
     formats:
       default: "%d de %b del %Y, %H:%M"
       month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Añadir
     disable: Deshabilitar
@@ -1440,24 +1501,31 @@ es-MX:
       subject: Por favor, confirma el intento de inicio de sesión
       title: Intento de inicio de sesión
     warning:
+      categories:
+        spam: Spam
+        violation: El contenido viola las siguientes directrices de la comunidad
       explanation:
-        disable: Mientras su cuenta esté congelada, la información de su cuenta permanecerá intacta, pero no puede realizar ninguna acción hasta que se desbloquee.
-        sensitive: Los archivos multimedia subidos y vinculados serán tratados como sensibles.
-        silence: Mientras su cuenta está limitada, sólo las personas que ya le están siguiendo verán sus toots en este servidor, y puede que se le excluya de varios listados públicos. Sin embargo, otros pueden seguirle manualmente.
-        suspend: Su cuenta ha sido suspendida, y todos tus toots y tus archivos multimedia subidos han sido irreversiblemente eliminados de este servidor, y de los servidores donde tenías seguidores.
-      get_in_touch: Puede responder a esta dirección de correo electrónico para ponerse en contacto con el personal de %{instance}.
+        delete_statuses: Se ha visto que algunas de tus publicaciones violan una o más directrices de la comunidad y seguidamente han sido eliminadas por los moderadores de %{instance}. Futuras violaciones pueden resultar en acciones punitivas más severas contra tu cuenta.
+        disable: Ya no puedes usar tu cuenta, pero tu perfil y el resto de datos permanecen intactos. Puedes solicitar una copia de seguridad de tus datos, cambiar la configuración de tu cuenta o eliminarla.
+        sensitive: A partir de ahora todos los archivos multimedia que subas serán marcados como sensibles y ocultos tras una advertencia que habrá que clicar.
+        silence: Aún puedes usar tu cuenta, pero solo las personas que te están siguiendo verán tus publicaciones en este servidor, y puedes ser excluido de varias funcionalidades de descubrimiento. Sin embargo, otras cuentas podrán empezar a seguirte manualmente.
+        suspend: Ya no puedes utilizar tu cuenta, y tu perfil y el resto de datos ya no son accesibles. Todavía puedes iniciar sesión para solicitar una copia de seguridad de tus datos, hasta que estos sean eliminados por completo en unos 30 días, aunque conservaremos algunos datos básicos para impedir que esquives la suspensión.
+      get_in_touch: Si crees que esto es un error, puedes responder a este correo electrónico para ponerte en contacto con el personal de %{instance}.
+      reason: 'Razón:'
       review_server_policies: Revisar las políticas del servidor
-      statuses: 'Específicamente, para:'
+      statuses: 'Publicaciones que han sido halladas contrarias las directrices:'
       subject:
+        delete_statuses: Tus publicaciones en %{acct} han sido eliminadas
         disable: Su cuenta %{acct} ha sido congelada
         none: Advertencia para %{acct}
-        sensitive: Tu cuenta %{acct} ha sido marcada como sensible
+        sensitive: Tus archivos multimedia en %{acct} se marcarán como sensibles a partir de ahora
         silence: Su cuenta %{acct} ha sido limitada
         suspend: Su cuenta %{acct} ha sido suspendida
       title:
+        delete_statuses: Publicaciones eliminadas
         disable: Cuenta congelada
         none: Advertencia
-        sensitive: Tu multimedia ha sido marcado como sensible
+        sensitive: Contenido multimedia oculto
         silence: Cuenta limitada
         suspend: Cuenta suspendida
     welcome:
diff --git a/config/locales/es.yml b/config/locales/es.yml
index 6bd81c8a2..02dee7b4f 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -99,7 +99,6 @@ es:
     accounts:
       add_email_domain_block: Poner en lista negra el dominio del correo
       approve: Aprobar
-      approve_all: Aprobar todos
       approved_msg: La solicitud de registro de %{username} ha sido aprobada correctamente
       are_you_sure: "¿Estás seguro?"
       avatar: Avatar
@@ -114,6 +113,7 @@ es:
       confirm: Confirmar
       confirmed: Confirmado
       confirming: Confirmando
+      custom: Personalizado
       delete: Eliminar datos
       deleted: Borrado
       demote: Degradar
@@ -153,7 +153,6 @@ es:
         active: Activo
         all: Todos
         pending: Pendiente
-        silenced: Silenciados
         suspended: Suspendidos
         title: Moderación
       moderation_notes: Notas de moderación
@@ -171,7 +170,6 @@ es:
       redownload: Refrescar avatar
       redownloaded_msg: Se actualizó correctamente el perfil de %{username} desde el origen
       reject: Rechazar
-      reject_all: Rechazar todos
       rejected_msg: La solicitud de registro de %{username} ha sido rechazada con éxito
       remove_avatar: Eliminar el avatar
       remove_header: Eliminar cabecera
@@ -206,12 +204,14 @@ es:
       silence: Silenciar
       silenced: Silenciado
       statuses: Estados
+      strikes: Amonestaciones previas
       subscribe: Suscribir
       suspended: Suspendido
       suspension_irreversible: Los datos de esta cuenta han sido irreversiblemente eliminados. Puedes deshacer la suspensión de la cuenta para hacerla utilizable, pero no recuperará los datos que tenías anteriormente.
       suspension_reversible_hint_html: La cuenta ha sido suspendida y los datos se eliminarán completamente el %{date}. Hasta entonces, la cuenta puede ser restaurada sin ningún efecto perjudicial. Si desea eliminar todos los datos de la cuenta inmediatamente, puede hacerlo a continuación.
-      time_in_queue: Esperando en cola %{time}
       title: Cuentas
+      unblock_email: Desbloquear dirección de correo
+      unblocked_email_msg: Se ha desbloqueado correctamente la dirección de correo de %{username}
       unconfirmed_email: Correo electrónico sin confirmar
       undo_sensitized: Desmarcar como sensible
       undo_silenced: Des-silenciar
@@ -226,6 +226,7 @@ es:
       whitelisted: Añadido a la lista blanca
     action_logs:
       action_types:
+        approve_user: Aprobar Usuario
         assigned_to_self_report: Asignar Reporte
         change_email_user: Cambiar Correo Electrónico del Usuario
         confirm_user: Confirmar Usuario
@@ -243,6 +244,7 @@ es:
         destroy_domain_allow: Eliminar Permiso de Dominio
         destroy_domain_block: Eliminar Bloqueo de Dominio
         destroy_email_domain_block: Eliminar Bloqueo de Dominio de Correo Electrónico
+        destroy_instance: Purgar Dominio
         destroy_ip_block: Eliminar regla IP
         destroy_status: Eliminar Estado
         destroy_unavailable_domain: Eliminar Dominio No Disponible
@@ -255,6 +257,7 @@ es:
         enable_user: Habilitar Usuario
         memorialize_account: Transformar en Cuenta Conmemorativa
         promote_user: Promover Usuario
+        reject_user: Rechazar Usuario
         remove_avatar_user: Eliminar Avatar
         reopen_report: Reabrir Reporte
         reset_password_user: Restablecer Contraseña
@@ -263,6 +266,7 @@ es:
         silence_account: Silenciar Cuenta
         suspend_account: Suspender Cuenta
         unassigned_report: Desasignar Reporte
+        unblock_email_account: Desbloquear dirección de correo
         unsensitive_account: Desmarcar multimedia en tu cuenta como sensible
         unsilence_account: Dejar de Silenciar Cuenta
         unsuspend_account: Dejar de Suspender Cuenta
@@ -271,6 +275,7 @@ es:
         update_domain_block: Actualizar el Bloqueo de Dominio
         update_status: Actualizar Estado
       actions:
+        approve_user_html: "%{name} aprobó el registro de %{target}"
         assigned_to_self_report_html: "%{name} asignó el informe %{target} a sí mismo"
         change_email_user_html: "%{name} cambió la dirección de correo electrónico del usuario %{target}"
         confirm_user_html: "%{name} confirmó la dirección de correo electrónico del usuario %{target}"
@@ -288,6 +293,7 @@ es:
         destroy_domain_allow_html: "%{name} bloqueó la federación con el dominio %{target}"
         destroy_domain_block_html: "%{name} desbloqueó el dominio %{target}"
         destroy_email_domain_block_html: "%{name} desbloqueó el dominio de correo electrónico %{target}"
+        destroy_instance_html: "%{name} purgó el dominio %{target}"
         destroy_ip_block_html: "%{name} eliminó una regla para la IP %{target}"
         destroy_status_html: "%{name} eliminó el estado por %{target}"
         destroy_unavailable_domain_html: "%{name} reanudó las entregas al dominio %{target}"
@@ -300,6 +306,7 @@ es:
         enable_user_html: "%{name} habilitó el inicio de sesión para el usuario %{target}"
         memorialize_account_html: "%{name} convirtió la cuenta de %{target} en una página in memoriam"
         promote_user_html: "%{name} promoción al usuario %{target}"
+        reject_user_html: "%{name} rechazó el registro de %{target}"
         remove_avatar_user_html: "%{name} eliminó el avatar de %{target}"
         reopen_report_html: "%{name} reabrió el informe %{target}"
         reset_password_user_html: "%{name} reinició la contraseña del usuario %{target}"
@@ -308,6 +315,7 @@ es:
         silence_account_html: "%{name} silenció la cuenta de %{target}"
         suspend_account_html: "%{name} suspendió la cuenta de %{target}"
         unassigned_report_html: "%{name} des-asignó el informe %{target}"
+        unblock_email_account_html: "%{name} ha desbloqueado la dirección de correo de %{target}"
         unsensitive_account_html: "%{name} desmarcó la multimedia de %{target} como sensible"
         unsilence_account_html: "%{name} desilenció la cuenta de %{target}"
         unsuspend_account_html: "%{name} reactivó la cuenta de %{target}"
@@ -465,6 +473,7 @@ es:
       back_to_limited: Limitados
       back_to_warning: Advertencia
       by_domain: Dominio
+      confirm_purge: "¿Seguro que quieres eliminar permanentemente los datos de este dominio?"
       delivery:
         all: Todos
         clear: Limpiar errores de entrega
@@ -480,6 +489,7 @@ es:
       delivery_available: Entrega disponible
       delivery_error_days: Días de error de entrega
       delivery_error_hint: Si la entrega no es posible a lo largo de %{count} días, se marcará automáticamente como no entregable.
+      destroyed_msg: Los datos de %{domain} están ahora en cola para su inminente eliminación.
       empty: No se encontraron dominios.
       known_accounts:
         one: "%{count} cuenta conocida"
@@ -490,6 +500,7 @@ es:
         title: Moderación
       private_comment: Comentario privado
       public_comment: Comentario público
+      purge: Purgar
       title: Instancias conocidas
       total_blocked_by_us: Bloqueado por nosotros
       total_followed_by_them: Seguidos por ellos
@@ -519,8 +530,6 @@ es:
         title: Crear nueva regla IP
       no_ip_block_selected: No se han cambiado reglas IP ya que no se ha seleccionado ninguna
       title: Reglas IP
-    pending_accounts:
-      title: Cuentas pendientes (%{count})
     relationships:
       title: Relaciones de %{acct}
     relays:
@@ -542,32 +551,44 @@ es:
     report_notes:
       created_msg: "¡El registro de la denuncia se ha creado correctamente!"
       destroyed_msg: "¡El registro de la denuncia se ha borrado correctamente!"
+      today_at: Hoy a las %{time}
     reports:
       account:
         notes:
           one: "%{count} nota"
           other: "%{count} notas"
-        reports:
-          one: "%{count} informe"
-          other: "%{count} informes"
+      action_log: Registro de auditoría
       action_taken_by: Acción tomada por
+      actions:
+        other_description_html: Ver más opciones para controlar el comportamiento de la cuenta y personalizar la comunicación de la cuenta reportada.
+        silence_description_html: El perfil será visible solo para aquellos que ya lo sigan o lo busquen manualmente, limitando seriamente su alcance. Siempre puede ser revertido.
+        suspend_description_html: El perfil y todos sus contenidos serán inaccesibles hasta que sean finalmente eliminados. La interacción con la cuenta será imposible. Reversible durante un plazo de 30 días.
+      actions_description_html: 'Si eliminar el contenido ofensivo de arriba no es suficiente:'
+      add_to_report: Añadir más al reporte
       are_you_sure: "¿Estás seguro?"
       assign_to_self: Asignármela a mí
       assigned: Moderador asignado
       by_target_domain: Dominio de la cuenta reportada
+      category: Categoría
+      category_description_html: La razón por la que se reportó esta cuenta o contenido será citada en las comunicaciones con la cuenta reportada
       comment:
         none: Ninguno
+      comment_description_html: 'Para proporcionar más información, %{name} escribió:'
       created_at: Denunciado
+      delete_and_resolve: Eliminar y resolver
       forwarded: Reenviado
       forwarded_to: Reenviado a %{domain}
       mark_as_resolved: Marcar como resuelto
       mark_as_unresolved: Marcar como no resuelto
+      no_one_assigned: Nadie
       notes:
         create: Añadir una nota
         create_and_resolve: Resolver con una nota
         create_and_unresolve: Reabrir con una nota
         delete: Eliminar
         placeholder: Especificar qué acciones se han tomado o cualquier otra novedad respecto a esta denuncia…
+        title: Notas
+      notes_description_html: Ver y dejar notas a otros moderadores y a tu yo futuro
       reopen: Reabrir denuncia
       report: 'Reportar #%{id}'
       reported_account: Cuenta reportada
@@ -575,11 +596,14 @@ es:
       resolved: Resuelto
       resolved_msg: "¡La denuncia se ha resuelto correctamente!"
       status: Estado
+      statuses: Contenido reportado
+      statuses_description_html: El contenido ofensivo se citará en la comunicación con la cuenta reportada
       target_origin: Origen de la cuenta reportada
       title: Reportes
       unassign: Desasignar
       unresolved: No resuelto
       updated_at: Actualizado
+      view_profile: Ver perfil
     rules:
       add_new: Añadir norma
       delete: Eliminar
@@ -681,15 +705,13 @@ es:
       destroyed_msg: "¡Carga del sitio eliminada con éxito!"
     statuses:
       back_to_account: Volver a la cuenta
+      back_to_report: Volver a la página del reporte
       batch:
-        delete: Eliminar
-        nsfw_off: Marcar contenido como no sensible
-        nsfw_on: Marcar contenido como sensible
+        remove_from_report: Eliminar del reporte
+        report: Reporte
       deleted: Eliminado
-      failed_to_execute: Falló al ejecutar
       media:
         title: Multimedia
-      no_media: No hay multimedia
       no_status_selected: No se cambió ningún estado al no seleccionar ninguno
       title: Estado de las cuentas
       with_media: Con multimedia
@@ -702,21 +724,51 @@ es:
       sidekiq_process_check:
         message_html: No hay ningún proceso Sidekiq en ejecución para la(s) cola(s) %{value}. Por favor, revise su configuración de Sidekiq
     tags:
-      accounts_today: Usos únicos de hoy
-      accounts_week: Usos únicos esta semana
-      breakdown: Desglose del consumo actual por fuentes
-      last_active: Última actividad
-      most_popular: Más popular
-      most_recent: Más reciente
-      name: Hashtag
       review: Estado de revisión
-      reviewed: Revisado
-      title: Etiquetas
-      trending_right_now: En tendencia ahora mismo
-      unique_uses_today: "%{count} publicando hoy"
-      unreviewed: No revisado
       updated_msg: Hashtags actualizados exitosamente
     title: Administración
+    trends:
+      allow: Permitir
+      approved: Aprobadas
+      disallow: No permitir
+      links:
+        allow: Permitir enlace
+        allow_provider: Permitir medio
+        disallow: Rechazar enlace
+        disallow_provider: Rechazar medio
+        shared_by_over_week:
+          one: Compartido por una persona durante la última semana
+          other: Compartido por %{count} personas durante la última semana
+        title: Enlaces en tendencia
+        usage_comparison: Compartido %{today} veces hoy, comparado con %{yesterday} ayer
+      pending_review: Revisión pendiente
+      preview_card_providers:
+        allowed: Los enlaces de este medio pueden ser tendencia
+        rejected: Los enlaces de este medio no pueden ser tendencia
+        title: Medios
+      rejected: Rechazadas
+      tags:
+        current_score: Puntuación actual %{score}
+        dashboard:
+          tag_accounts_measure: usos únicos
+          tag_languages_dimension: Idiomas principales
+          tag_servers_dimension: Servidores principales
+          tag_servers_measure: diferentes servidores
+          tag_uses_measure: usos totales
+        listable: Pueden ser recomendadas
+        not_listable: No serán recomendadas
+        not_trendable: No aparecerán en tendencias
+        not_usable: No pueden ser usadas
+        peaked_on_and_decaying: Alcanzó el pico en %{date}, ahora decreciendo
+        title: Etiquetas en tendencia
+        trendable: Pueden aparecer en tendencias
+        trending_rank: Tendencia n.º %{rank}
+        usable: Pueden usarse
+        usage_comparison: Usada %{today} veces hoy, comparado con %{yesterday} ayer
+        used_by_over_week:
+          one: Usada por una persona durante la última semana
+          other: Usada por %{count} personas durante la última semana
+      title: Tendencias
     warning_presets:
       add_new: Añadir nuevo
       delete: Borrar
@@ -731,9 +783,16 @@ es:
       body: "%{reporter} ha reportado a %{target}"
       body_remote: Alguien de %{domain} a reportado a %{target}
       subject: Nuevo reporte para la %{instance} (#%{id})
-    new_trending_tag:
-      body: 'El hashtag #%{name} está en tendencia hoy, pero no ha sido revisado previamente. No se mostrará públicamente a menos que lo permita, o simplemente guarde el formulario como para no volver a ver esto.'
-      subject: Nuevo hashtag para revisión en %{instance} (#%{name})
+    new_trending_links:
+      body: Los siguientes enlaces están en tendencia hoy, pero sus medios de origen no han sido revisados previamente. No se mostrarán públicamente a menos que los apruebes. No se generarán más notificaciones de estos medios.
+      no_approved_links: Actualmente no hay enlaces en tendencia aprobados.
+      requirements: El enlace en tendencia aprobado más bajo actualmente es "%{lowest_link_title}" con una puntuación de %{lowest_link_score}.
+      subject: Nuevos enlaces en tendencia esperando ser revisados en %{instance}
+    new_trending_tags:
+      body: 'Las siguientes etiquetas están en tendencia hoy, pero no han sido revisadas previamente. No se mostrarán públicamente a menos que las apruebes:'
+      no_approved_tags: Actualmente no hay ninguna etiqueta en tendencia aprobada.
+      requirements: La etiqueta en tendencia aprobada más baja actualmente es "%{lowest_tag_name}" con una puntuación de %{lowest_tag_score}.
+      subject: Nuevas etiquetas en tendencia esperando ser revisadas en %{instance}
   aliases:
     add_new: Crear alias
     created_msg: El nuevo alias se ha creado correctamente. Ahora puedes empezar el traslado desde la cuenta antigua.
@@ -785,6 +844,7 @@ es:
     invalid_reset_password_token: El token de reinicio de contraseña es inválido o expiró. Por favor pide uno nuevo.
     link_to_otp: Introduce un código de dos factores desde tu teléfono o un código de recuperación
     link_to_webauth: Utilice su dispositivo de clave de seguridad
+    log_in_with: Iniciar sesión con
     login: Iniciar sesión
     logout: Cerrar sesión
     migrate_account: Mudarse a otra cuenta
@@ -929,7 +989,7 @@ es:
       empty: No tienes filtros.
       title: Filtros
     new:
-      title: Añadir un nuevo filtro
+      title: Añadir nuevo filtro
   footer:
     developers: Desarrolladores
     more: Mas…
@@ -940,34 +1000,15 @@ es:
     changes_saved_msg: "¡Cambios guardados con éxito!"
     copy: Copiar
     delete: Eliminar
-    no_batch_actions_available: No hay acciones por lotes disponibles en esta página
+    none: Nada
     order_by: Ordenar por
     save_changes: Guardar cambios
+    today: hoy
     validation_errors:
       one: "¡Algo no está bien! Por favor, revisa el error"
       other: "¡Algo no está bien! Por favor, revise %{count} errores más abajo"
   html_validator:
     invalid_markup: 'contiene código HTML no válido: %{error}'
-  identity_proofs:
-    active: Activo
-    authorize: Sí, autorizar
-    authorize_connection_prompt: "¿Autorizar esta conexión criptográfica?"
-    errors:
-      failed: La conexión criptográfica falló. Por favor, inténtalo de nuevo desde %{provider}.
-      keybase:
-        invalid_token: Los tokens de Keybase son hashes de firmas y deben tener 66 caracteres hex
-        verification_failed: Keybase no reconoce este token como una firma del usuario de Keybase %{kb_username}. Por favor, inténtelo de nuevo desde Keybase.
-      wrong_user: No se puede crear una prueba para %{proving} mientras se inicia sesión como %{current}. Inicia sesión como %{proving} e inténtalo de nuevo.
-    explanation_html: Aquí puedes conectar criptográficamente sus otras identidades, como un perfil de Keybase. Esto permite a otras personas enviarle mensajes encriptados y confiar en el contenido que les envías.
-    i_am_html: Soy %{username} en %{service}.
-    identity: Identidad
-    inactive: Inactivo
-    publicize_checkbox: 'Y tootee esto:'
-    publicize_toot: "¡Comprobado! Soy %{username} en %{service}: %{url}"
-    remove: Eliminar prueba de la cuenta
-    removed: Prueba eliminada con éxito de la cuenta
-    status: Estado de la verificación
-    view_proof: Ver prueba
   imports:
     errors:
       over_rows_processing_limit: contiene más de %{count} filas
@@ -1183,6 +1224,9 @@ es:
     reply:
       proceed: Proceder a responder
       prompt: 'Quieres responder a esta publicación:'
+  reports:
+    errors:
+      invalid_rules: no hace referencia a reglas válidas
   scheduled_statuses:
     over_daily_limit: Ha superado el límite de %{limit} publicaciones programadas para ese día
     over_total_limit: Ha superado el límite de %{limit} publicaciones programadas
@@ -1241,7 +1285,6 @@ es:
     edit_profile: Editar perfil
     export: Exportar información
     featured_tags: Hashtags destacados
-    identity_proofs: Pruebas de identidad
     import: Importar
     import_and_export: Importar y exportar
     migrate: Migración de cuenta
@@ -1266,18 +1309,19 @@ es:
         other: "%{count} vídeos"
     boosted_from_html: Impulsado desde %{acct_link}
     content_warning: 'Alerta de contenido: %{warning}'
+    default_language: Igual que el idioma de la interfaz
     disallowed_hashtags:
       one: 'contenía un hashtag no permitido: %{tags}'
       other: 'contenía los hashtags no permitidos: %{tags}'
+    edited_at: Editado %{date}
     errors:
       in_reply_not_found: El estado al que intentas responder no existe.
-    language_detection: Detección automática de idioma
     open_in_web: Abrir en web
     over_character_limit: Límite de caracteres de %{max} superado
     pin_errors:
+      direct: Las publicaciones que son visibles solo para los usuarios mencionados no pueden fijarse
       limit: Ya has fijado el número máximo de publicaciones
       ownership: La publicación de otra persona no puede fijarse
-      private: Las publicaciones no públicas no pueden fijarse
       reblog: Un boost no puede fijarse
     poll:
       total_people:
@@ -1432,6 +1476,7 @@ es:
     formats:
       default: "%d de %b del %Y, %H:%M"
       month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Añadir
     disable: Deshabilitar
@@ -1459,24 +1504,31 @@ es:
       subject: Por favor, confirma el intento de inicio de sesión
       title: Intento de inicio de sesión
     warning:
+      categories:
+        spam: Spam
+        violation: El contenido viola las siguientes directrices de la comunidad
       explanation:
-        disable: Mientras su cuenta esté congelada, la información de su cuenta permanecerá intacta, pero no puede realizar ninguna acción hasta que se desbloquee.
-        sensitive: Los archivos multimedia subidos y vinculados serán tratados como sensibles.
-        silence: Mientras su cuenta está limitada, sólo las personas que ya te están siguiendo verán tus publicaciones en este servidor, y puede que se te excluya de varios listados públicos. Sin embargo, otros pueden seguirte manualmente.
-        suspend: Su cuenta ha sido suspendida, y todas tus publicaciones y tus archivos multimedia subidos han sido irreversiblemente eliminados de este servidor, y de los servidores donde tenías seguidores.
-      get_in_touch: Puede responder a esta dirección de correo electrónico para ponerse en contacto con el personal de %{instance}.
+        delete_statuses: Se ha visto que algunas de tus publicaciones violan una o más directrices de la comunidad y seguidamente han sido eliminadas por los moderadores de %{instance}. Futuras violaciones pueden resultar en acciones punitivas más severas contra tu cuenta.
+        disable: Ya no puedes usar tu cuenta, pero tu perfil y el resto de datos permanecen intactos. Puedes solicitar una copia de seguridad de tus datos, cambiar la configuración de tu cuenta o eliminarla.
+        sensitive: A partir de ahora todos los archivos multimedia que subas serán marcados como sensibles y ocultos tras una advertencia que habrá que clicar.
+        silence: Aún puedes usar tu cuenta, pero solo las personas que te están siguiendo verán tus publicaciones en este servidor, y puedes ser excluido de varias funcionalidades de descubrimiento. Sin embargo, otras cuentas podrán empezar a seguirte manualmente.
+        suspend: Ya no puedes utilizar tu cuenta, y tu perfil y el resto de datos ya no son accesibles. Todavía puedes iniciar sesión para solicitar una copia de seguridad de tus datos, hasta que estos sean eliminados por completo en unos 30 días, aunque conservaremos algunos datos básicos para impedir que esquives la suspensión.
+      get_in_touch: Si crees que esto es un error, puedes responder a este correo electrónico para ponerte en contacto con el personal de %{instance}.
+      reason: 'Razón:'
       review_server_policies: Revisar las políticas del servidor
-      statuses: 'Específicamente, para:'
+      statuses: 'Publicaciones que han sido halladas contrarias las directrices:'
       subject:
+        delete_statuses: Tus publicaciones en %{acct} han sido eliminadas
         disable: Su cuenta %{acct} ha sido congelada
         none: Advertencia para %{acct}
-        sensitive: Tu cuenta %{acct} ha sido marcada como sensible
+        sensitive: Tus archivos multimedia en %{acct} se marcarán como sensibles a partir de ahora
         silence: Su cuenta %{acct} ha sido limitada
         suspend: Su cuenta %{acct} ha sido suspendida
       title:
+        delete_statuses: Publicaciones eliminadas
         disable: Cuenta congelada
         none: Advertencia
-        sensitive: Tu multimedia ha sido marcado como sensible
+        sensitive: Contenido multimedia oculto
         silence: Cuenta limitada
         suspend: Cuenta suspendida
     welcome:
diff --git a/config/locales/et.yml b/config/locales/et.yml
index 3fcca0ad5..1060dda35 100644
--- a/config/locales/et.yml
+++ b/config/locales/et.yml
@@ -91,7 +91,6 @@ et:
     accounts:
       add_email_domain_block: Keela e-posti domeen
       approve: Kinnita
-      approve_all: Kinnita kõik
       are_you_sure: Olete kindel?
       avatar: Profiilipilt
       by_domain: Domeen
@@ -135,7 +134,6 @@ et:
         active: Aktiivne
         all: Kõik
         pending: Ootel
-        silenced: Vaigistatud
         suspended: Peatatud
         title: Moderatsioon
       moderation_notes: Moderatsiooniteated
@@ -152,7 +150,6 @@ et:
       push_subscription_expires: PuSH tellimus aegub
       redownload: Värskenda profiili
       reject: Hülga
-      reject_all: Hülga kõik
       remove_avatar: Kustuta profiilipilt
       remove_header: Kustuta päis
       resend_confirmation:
@@ -180,7 +177,6 @@ et:
       statuses: Staatuseid
       subscribe: Telli
       suspended: Peatatud
-      time_in_queue: Ootab järjekorras %{time}
       title: Kontod
       unconfirmed_email: Kinnitamata e-post
       undo_silenced: Võta vaigistus tagasi
@@ -369,8 +365,6 @@ et:
         available: Saadaval
         expired: Aegunud
       title: Kutsed
-    pending_accounts:
-      title: Ootel olevad kasutajad (%{count})
     relationships:
       title: "%{acct}-i suhted"
     relays:
@@ -397,9 +391,6 @@ et:
         notes:
           one: "%{count} märkus"
           other: "%{count} märkust"
-        reports:
-          one: "%{count} teavitus"
-          other: "%{count} teavitust"
       action_taken_by: Meetmeid kasutanud
       are_you_sure: Olete kindel?
       assign_to_self: Määra mulle
@@ -518,32 +509,14 @@ et:
       destroyed_msg: Üleslaetud fail edukalt kustutatud!
     statuses:
       back_to_account: Tagasi konto lehele
-      batch:
-        delete: Kustuta
-        nsfw_off: Märgi kui mitte tundlik
-        nsfw_on: Märgi kui tundlik
       deleted: Kustutatud
-      failed_to_execute: Täitmine ebaõnnestus
       media:
         title: Meedia
-      no_media: Meedia puudub
       no_status_selected: Mitte ühtegi staatust muudeti sest midagi polnud valitud
       title: Konto staatused
       with_media: Meediaga
     tags:
-      accounts_today: Unikaalseid kasutusi täna
-      accounts_week: Unikaalseid kasutusi see nädal
-      breakdown: Tänane kasutus allikate kohta
-      last_active: Viimati aktiivne
-      most_popular: Kõige populaarsemad
-      most_recent: Viimased
-      name: Silt
       review: Staatuse ülevaade
-      reviewed: Ülevaadatud
-      title: Sildid
-      trending_right_now: Praegu populaarsed
-      unique_uses_today: "%{count} inimest postitavad täna"
-      unreviewed: Üle vaatamata
       updated_msg: Sildi sätted edukalt uuendatud
     title: Administreerimine
     warning_presets:
@@ -559,9 +532,6 @@ et:
       body: "%{reporter} teavitas kasutajast %{target}"
       body_remote: Keegi domeenist %{domain} teavitas kasutajast %{target}
       subject: Uus teavitus %{instance}-ile (#%{id})
-    new_trending_tag:
-      body: Silt %{name} on täna trendikas, aga pole eelnevalt üle vaadatud. Seda ei näidata avalikult, välja arvatud juhul, kui Te ise seda lubate või lihtsalt salvestage vorm nagu see on ning Te ei kuule sellest enam kunagi.
-      subject: Uus silt valmis ülevaatluseks serveril %{instance} (#%{name})
   aliases:
     add_new: Loo teine nimi
     created_msg: Teine nimi on edukalt loodud. Te saate nüüd alustada kolimist vanalt kontolt.
@@ -752,7 +722,6 @@ et:
     changes_saved_msg: Muudatuste salvestamine õnnestus!
     copy: Kopeeri
     delete: Kustuta
-    no_batch_actions_available: Komplekttegevused pole sellel lehel saadaval
     order_by: Järjesta
     save_changes: Salvesta muudatused
     validation_errors:
@@ -760,26 +729,6 @@ et:
       other: Midagi pole ikka õigesti! Palun vaadake all olevad %{count} veateadet üle
   html_validator:
     invalid_markup: 'sisaldab valet HTMLi süntaksi: %{error}'
-  identity_proofs:
-    active: Aktiivne
-    authorize: Jah, luba
-    authorize_connection_prompt: Luba see krüptograafiline ühendus?
-    errors:
-      failed: Krüptograafiline ühendus ebaõnnestus. Palun proovi uuesti %{provider}-ist.
-      keybase:
-        invalid_token: Keybase võtmed on allkirjade hashid ja peavad olema 66 hex tähemärki
-        verification_failed: Keybase ei tunnista seda võtit kui kasutaja %{kb_username} omand. Palun proovige uuesti Keybasest.
-      wrong_user: Ei saa luua tõendit kontole %{proving} kui olete sisseloginud kui %{current}. Logige sisse kui %{proving} ja proovige uuesti.
-    explanation_html: Siin saate luua krüptograafilisi ühendusi oma teiste identiteetidega, nagu näiteks Keybase profiiliga. See võimaldab teistel kasutajatel saata Teile krüptitud sõnumeid ja usaldada sisu, mis Teie saadate neile.
-    i_am_html: Ma olen %{username} teenusel %{service}.
-    identity: Identiteet
-    inactive: Passiivne
-    publicize_checkbox: 'Ja tuututa seda:'
-    publicize_toot: 'See on tõestatud! Ma olen %{username} teenusel %{service}: %{url}'
-    remove: Eemalda isikutõend kontolt
-    removed: Isikutõendi eemaldamine oli edukas
-    status: Kinnituse staatus
-    view_proof: Vaata tõendit
   imports:
     modes:
       merge: Lõimi
@@ -991,7 +940,6 @@ et:
     edit_profile: Muuda profiili
     export: Andmete eksportimine
     featured_tags: Esile toodud sildid
-    identity_proofs: Isikutõendid
     import: Impordi
     import_and_export: Import / eksport
     migrate: Konto migreerumine
@@ -1013,13 +961,11 @@ et:
       other: 'sisaldab ebasobivaid silte: %{tags}'
     errors:
       in_reply_not_found: Staatus, millele üritate vastata, ei näi enam eksisteerivat.
-    language_detection: Automaatselt tuvasta keel
     open_in_web: Ava veebis
     over_character_limit: tähtmärkide limiit %{max} ületatud
     pin_errors:
       limit: Te olete juba maksimum arvu lubatud tuututusi kinnitanud
       ownership: Kellegi teise tuututust ei saa kinnitada
-      private: Privaatset tuututust ei saa kinnitada
       reblog: Upitust ei saa kinnitada
     poll:
       total_people:
@@ -1070,13 +1016,7 @@ et:
       subject: Teie arhiiv on allalaadimiseks valmis
       title: Arhiivi väljavõte
     warning:
-      explanation:
-        disable: Kuniks Teie konto on lukus, ei saa Te teha sellega ühtegi tegevust kuni see on lukust lahti tehtud.
-        silence: Kuniks Teie konto on limiteeritud, ainult need inimesed, kes Teid juba jälgivad, näevad Teie tuututusi sellel serveril ning Teid jäetakse välja avalikest nimekirjadest. Sellest hoolimata võivad inimesed Teid siiski jälgida.
-        suspend: Teie konto on peatatud ning kõik Teie tuututused ja üleslaetud meediafailid on jäädavalt kustutatud sellelt serverilt ning serveritelt, kus Teil oli jälgijad.
-      get_in_touch: Te saate sellele e-kirjale vastata, et võtta ühendust %{instance}-i personaliga.
       review_server_policies: Vaadake üle serveri eeskirju
-      statuses: 'Täpsemalt:'
       subject:
         disable: Teie konto %{acct} on lukustatud
         none: Hoiatus kasutajale %{acct}
diff --git a/config/locales/eu.yml b/config/locales/eu.yml
index 7fd8fdd93..e9c9320e2 100644
--- a/config/locales/eu.yml
+++ b/config/locales/eu.yml
@@ -1,7 +1,7 @@
 ---
 eu:
   about:
-    about_hashtag_html: Hauek <strong>#%{hashtag}</strong> traola duten bidalketa publikoak dira. Fedibertsoko edozein kontu baduzu harremanetan jarri zaitezke.
+    about_hashtag_html: Hauek <strong>#%{hashtag}</strong> traola duten bidalketa publikoak dira. Fedibertsoko edozein kontu baduzu haiekin elkarrekintza izan dezakezu.
     about_mastodon_html: 'Etorkizuneko sare soziala: ez iragarkirik eta ez zelatatze korporatiborik, diseinu etikoa eta deszentralizazioa! Izan zure datuen jabea Mastodonekin!'
     about_this: Honi buruz
     active_count_after: aktibo
@@ -97,7 +97,6 @@ eu:
     accounts:
       add_email_domain_block: Sartu domeinua zerrenda beltzean
       approve: Onartu
-      approve_all: Onartu denak
       approved_msg: "%{username} erabiltzailearen erregistratzeko eskaera behar bezala onartu da"
       are_you_sure: Ziur zaude?
       avatar: Abatarra
@@ -117,6 +116,7 @@ eu:
       demote: Jaitsi mailaz
       destroyed_msg: "%{username} erabiltzailearen datuak behin betiko ezabatzeko ilaran daude"
       disable: Desgaitu
+      disable_sign_in_token_auth: Desgaitu e-posta token autentifikazioa
       disable_two_factor_authentication: Desgaitu 2FA
       disabled: Desgaituta
       display_name: Pantaila-izena
@@ -125,6 +125,7 @@ eu:
       email: E-mail
       email_status: Posta elektronikoaren egoera
       enable: Gaitu
+      enable_sign_in_token_auth: Gaitu e-posta token autentifikazioa
       enabled: Gaituta
       enabled_msg: "%{username} kontua behar bezala desblokeatu da"
       followers: Jarraitzaileak
@@ -149,7 +150,6 @@ eu:
         active: Aktiboa
         all: Denak
         pending: Zain
-        silenced: Isilarazita
         suspended: Kanporatua
         title: Moderazioa
       moderation_notes: Moderazio oharrak
@@ -167,7 +167,6 @@ eu:
       redownload: Freskatu profila
       redownloaded_msg: "%{username} erabiltzailearen profila behar bezala freskatu da jatorritik"
       reject: Ukatu
-      reject_all: Ukatu denak
       rejected_msg: "%{username} erabiltzailearen izen emate eskaera behar bezala ukatu da"
       remove_avatar: Kendu abatarra
       remove_header: Kendu goiburua
@@ -189,6 +188,10 @@ eu:
       search: Bilatu
       search_same_email_domain: E-mail domeinu bera duten beste erabiltzailean
       search_same_ip: IP bera duten beste erabiltzaileak
+      security_measures:
+        only_password: Soilik pasahitza
+        password_and_2fa: Pasahitza eta 2FA
+        password_and_sign_in_token: Pasahitza eta e-posta tokena
       sensitive: Hunkigarria
       sensitized: hunkigarri gisa markatua
       shared_inbox_url: Partekatutako sarrera ontziaren URL-a
@@ -202,8 +205,9 @@ eu:
       suspended: Kanporatuta
       suspension_irreversible: Kontu honen datuak behin betiko ezabatu dira. Kontua kanporatzea atzera bota dezakezu, berriz erabilgarri izan dadin, baina datuak ezingo dira berreskuratu.
       suspension_reversible_hint_html: Kontu hau kanporatua izan da eta bere datuak %{date}(e)an behin betiko ezabatuko dira. Ordura arte kontua kalterik gabe leheneratu daiteke. Kontuaren datu guztiak oraintxe bertan ezabatu nahi badituzu, jarraian egin dezakezu.
-      time_in_queue: Kolan zain %{time}
       title: Kontuak
+      unblock_email: Desblokeatu eposta helbidea
+      unblocked_email_msg: Behar bezala desblokeatu da %{username} eposta helbidea
       unconfirmed_email: Baieztatu gabeko e-mail helbidea
       undo_sensitized: Desegin hunkigarria
       undo_silenced: Utzi isilarazteari
@@ -218,6 +222,7 @@ eu:
       whitelisted: Zerrenda zurian
     action_logs:
       action_types:
+        approve_user: Onartu erabiltzailea
         assigned_to_self_report: Esleitu salaketa
         change_email_user: Aldatu erabiltzailearen e-maila
         confirm_user: Berretsi erabiltzailea
@@ -235,16 +240,20 @@ eu:
         destroy_domain_allow: Ezabatu domeinu baimena
         destroy_domain_block: Ezabatu domeinu blokeoa
         destroy_email_domain_block: Ezabatu e-mail domeinu blokeoa
+        destroy_instance: Ezabatu betiko domeinua
         destroy_ip_block: Ezabatu IP araua
         destroy_status: Ezabatu bidalketa
         destroy_unavailable_domain: Ezabatu eskuragarri ez dagoen domeinua
         disable_2fa_user: Desgaitu 2FA
         disable_custom_emoji: Desgaitu emoji pertsonalizatua
+        disable_sign_in_token_auth_user: Desgaitu e-posta token autentifikazioa erabiltzailearentzat
         disable_user: Desgaitu erabiltzailea
         enable_custom_emoji: Gaitu emoji pertsonalizatua
+        enable_sign_in_token_auth_user: Gaitu e-posta token autentifikazioa erabiltzailearentzat
         enable_user: Gaitu erabiltzailea
         memorialize_account: Bihurtu kontua oroigarri
         promote_user: Igo erabiltzailea mailaz
+        reject_user: Baztertu erabiltzailea
         remove_avatar_user: Kendu abatarra
         reopen_report: Berrireki txostena
         reset_password_user: Berrezarri pasahitza
@@ -253,6 +262,7 @@ eu:
         silence_account: Isilarazi kontua
         suspend_account: Kanporatu kontua
         unassigned_report: Kendu txostenaren esleipena
+        unblock_email_account: Desblokeatu eposta helbidea
         unsensitive_account: Utzi zure kontuko multimedia hunkigarri bezala markatzeari
         unsilence_account: Utzi kontua isilarazteari
         unsuspend_account: Atzera bota kontua kanporatzea
@@ -261,6 +271,7 @@ eu:
         update_domain_block: Eguneratu domeinu-blokeoa
         update_status: Eguneratu bidalketa
       actions:
+        approve_user_html: "%{name} erabiltzaileak %{target} erabiltzailearen izen-ematea onartu du"
         assigned_to_self_report_html: "%{name} erabiltzaileak %{target} salaketa bere buruari esleitu dio"
         change_email_user_html: "%{name} erabiltzaileak %{target} erabiltzailearen e-posta helbidea aldatu du"
         confirm_user_html: "%{name} erabiltzaileak %{target} erabiltzailearen e-posta helbidea berretsi du"
@@ -278,16 +289,20 @@ eu:
         destroy_domain_allow_html: "%{name} erabiltzaileak %{target} domeinuarekin federatzea debekatu du"
         destroy_domain_block_html: "%{name} erabiltzaileak %{target} domeinua desblokeatu du"
         destroy_email_domain_block_html: "%{name} erabiltzaileak %{target} e-posta helbideen domeinua desblokeatu du"
+        destroy_instance_html: "%{name} erabiltzaileak %{target} domeinua betiko ezabatu du"
         destroy_ip_block_html: "%{name} erabiltzaileak %{target} IParen araua ezabatu du"
         destroy_status_html: "%{name} erabiltzaileak %{target} erabiltzailearen bidalketa kendu du"
         destroy_unavailable_domain_html: "%{name}(e)k %{target} domeinurako banaketari berrekin dio"
         disable_2fa_user_html: "%{name} erabiltzaileak %{target} erabiltzailearen bi faktoreko autentifikazioa desgaitu du"
         disable_custom_emoji_html: "%{name} erabiltzaileak %{target} emoji-a desgaitu du"
+        disable_sign_in_token_auth_user_html: "%{name} erabiltzaileak e-posta token autentifikazioa desgaitu du %{target} helburuan"
         disable_user_html: "%{name} erabiltzaileak %{target} erabiltzailearen saioa desgaitu du"
         enable_custom_emoji_html: "%{name} erabiltzaileak %{target} emoji-a gaitu du"
+        enable_sign_in_token_auth_user_html: "%{name} erabiltzaileak e-posta token autentifikazioa gaitu du %{target} helburuan"
         enable_user_html: "%{name} erabiltzaileak %{target} erabiltzailearen saioa gaitu du"
         memorialize_account_html: "%{name} erabiltzaileak %{target} kontua memoriala bihurtu du"
         promote_user_html: "%{name} erabiltzaileak %{target} erabiltzailea mailaz igo du"
+        reject_user_html: "%{name} erabiltzaileak %{target} erabiltzailearen izen-ematea baztertu du"
         remove_avatar_user_html: "%{name} erabiltzaileak %{target} erabiltzailearen abatarra kendu du"
         reopen_report_html: "%{name} erabiltzaileak %{target} txostena berrireki du"
         reset_password_user_html: "%{name} erabiltzaileak %{target} erabiltzailearen pasahitza berrezarri du"
@@ -296,6 +311,7 @@ eu:
         silence_account_html: "%{name} erabiltzaileak %{target} kontua isilarazi du"
         suspend_account_html: "%{name} erabiltzaileak %{target} kontua kanporatu du"
         unassigned_report_html: "%{name} erabiltzaileak %{target} txostenaren esleipena atzera bota du"
+        unblock_email_account_html: "%{name} erabiltzaileak %{target} eposta helbidea desblokeatu du"
         unsensitive_account_html: "%{name} erabiltzaileak %{target} erabiltzailearen multimedia hunkigarri bezala markatzeari utzi dio"
         unsilence_account_html: "%{name} erabiltzaileak %{target} kontua isilarazteari utzi dio"
         unsuspend_account_html: "%{name} erabiltzaileak %{target} kontuaren kanporaketa atzera bota du"
@@ -359,9 +375,28 @@ eu:
       updated_msg: Emoji-a ongi eguneratu da!
       upload: Igo
     dashboard:
+      active_users: erabiltzaile aktibo
+      interactions: elkarrekintza
+      media_storage: Multimedia biltegiratzea
+      new_users: erabiltzaile berri
+      opened_reports: txosten irekita
+      pending_reports_html:
+        one: Txosten <strong>1</strong> zain
+        other: "<strong>%{count}</strong> txosten zain"
+      pending_tags_html:
+        one: Traola <strong>1</strong> zain
+        other: "<strong>%{count}</strong> traola zain"
+      pending_users_html:
+        one: Erabiltzaile <strong>1</strong> zain
+        other: "<strong>%{count}</strong> erabiltzaile zain"
+      resolved_reports: txosten konponduta
       software: Softwarea
+      sources: Izen emate jatorriak
       space: Espazio erabilera
       title: Kontrol panela
+      top_languages: Hizkuntza aktiboenak
+      top_servers: Zerbitzari aktiboenak
+      website: Webgunea
     domain_allows:
       add_new: Sartu domeinua zerrenda zurian
       created_msg: Domeinua ongi sartu da zerrenda zurian
@@ -434,6 +469,7 @@ eu:
       back_to_limited: Mugatua
       back_to_warning: Abisua
       by_domain: Domeinua
+      confirm_purge: Ziur zaude domeinu honen datuak behin betiko ezabatu nahi dituzula?
       delivery:
         all: Guztiak
         clear: Garbitu banaketa erroreak
@@ -449,6 +485,7 @@ eu:
       delivery_available: Bidalketa eskuragarri dago
       delivery_error_days: Banaketa errore egunak
       delivery_error_hint: Banaketa ezin bada %{count} egunean egin, banaezin bezala markatuko da automatikoki.
+      destroyed_msg: "%{domain} domeinuko datuak berehala ezabatzeko ilaran daude orain."
       empty: Ez da domeinurik aurkitu.
       known_accounts:
         one: Kontu ezagun %{count}
@@ -459,6 +496,7 @@ eu:
         title: Moderazioa
       private_comment: Iruzkin pribatua
       public_comment: Iruzkin publikoa
+      purge: Ezabatu betiko
       title: Federazioa
       total_blocked_by_us: Guk blokeatuta
       total_followed_by_them: Haiek jarraitua
@@ -488,8 +526,6 @@ eu:
         title: Sortu IP arau berria
       no_ip_block_selected: Ez da IP araurik aldatu, ez delako batere hautatu
       title: IP arauak
-    pending_accounts:
-      title: Zain dauden kontuak (%{count})
     relationships:
       title: "%{acct}(e)ren erlazioak"
     relays:
@@ -516,9 +552,6 @@ eu:
         notes:
           one: Ohar %{count}
           other: "%{count} ohar"
-        reports:
-          one: Txosten %{count}
-          other: "%{count} txosten"
       action_taken_by: Neurrien hartzailea
       are_you_sure: Ziur zaude?
       assign_to_self: Esleitu niri
@@ -544,6 +577,7 @@ eu:
       resolved: Konponduta
       resolved_msg: Salaketa ongi konpondu da!
       status: Mezua
+      target_origin: Salatutako kontuaren jatorria
       title: Salaketak
       unassign: Kendu esleipena
       unresolved: Konpondu gabea
@@ -649,15 +683,9 @@ eu:
       destroyed_msg: Guneko igoera ongi ezabatu da!
     statuses:
       back_to_account: Atzera kontuaren orrira
-      batch:
-        delete: Ezabatu
-        nsfw_off: Markatu ez hunkigarri gisa
-        nsfw_on: Markatu hunkigarri gisa
       deleted: Ezabatuta
-      failed_to_execute: Ezin izan da burutu
       media:
         title: Multimedia
-      no_media: Multimediarik ez
       no_status_selected: Ez da bidalketarik aldatu ez delako bidalketarik aukeratu
       title: Kontuaren bidalketak
       with_media: Multimediarekin
@@ -670,21 +698,51 @@ eu:
       sidekiq_process_check:
         message_html: Ez da ari Sidekiq prozesurik exekutatzen %{value} ilad(et)an. Egiaztatu Sidekiq konfigurazioa
     tags:
-      accounts_today: Erabilera bakanak gaur
-      accounts_week: Erabilera bakanak aste honetan
-      breakdown: Gaurko erabilera iturriaren arabera
-      last_active: Azkenekoz aktiboa
-      most_popular: Erabilienak
-      most_recent: Azkenak
-      name: Traola
       review: Berrikusketaren egoera
-      reviewed: Berrikusita
-      title: Traolak
-      trending_right_now: Joera orain
-      unique_uses_today: "%{count} bidalketa gaur"
-      unreviewed: Berrikusi gabe
       updated_msg: Traola-ezarpenak ongi eguneratu dira
     title: Administrazioa
+    trends:
+      allow: Onartu
+      approved: Onartua
+      disallow: Ukatu
+      links:
+        allow: Onartu esteka
+        allow_provider: Onartu argitaratzailea
+        disallow: Ukatu esteka
+        disallow_provider: Ukatu argitaratzailea
+        shared_by_over_week:
+          one: Pertsona batek partekatua azken astean
+          other: "%{count} pertsonak partekatua azken astean"
+        title: Esteken joerak
+        usage_comparison: "%{today} aldiz partekatua gaur, atzo %{yesterday} aldiz"
+      pending_review: Berrikusketaren zain
+      preview_card_providers:
+        allowed: Argitaratzaile honen estekak joera izan daitezke
+        rejected: Argitaratzaile honen estekek ezin dute joera izan
+        title: Argitaratzaileak
+      rejected: Ukatua
+      tags:
+        current_score: Uneko emaitza%{score}
+        dashboard:
+          tag_accounts_measure: aldiz
+          tag_languages_dimension: Hizkuntza nagusiak
+          tag_servers_dimension: Zerbitzari nagusiak
+          tag_servers_measure: zerbitzari desberdin
+          tag_uses_measure: erabilera guztira
+        listable: Gomendatu daiteke
+        not_listable: Ez da gomendatuko
+        not_trendable: Ez da joeretan agertuko
+        not_usable: Ezin da erabili
+        peaked_on_and_decaying: "%{date} datan jo du goia, orain beherantz"
+        title: Traolak joeran
+        trendable: Joeretan agertuko da
+        trending_rank: "%{rank}. joera"
+        usable: Erabili daiteke
+        usage_comparison: "%{today} aldiz erabili da gaur, atzo %{yesterday} aldiz"
+        used_by_over_week:
+          one: Pertsona batek erabilia azken astean
+          other: "%{count} pertsonak erabilia azken astean"
+      title: Joerak
     warning_presets:
       add_new: Gehitu berria
       delete: Ezabatu
@@ -699,9 +757,16 @@ eu:
       body: "%{reporter}(e)k %{target} salatu du"
       body_remote: "%{domain} domeinuko norbaitek %{target} salatu du"
       subject: Salaketa berria %{instance} instantzian (#%{id})
-    new_trending_tag:
-      body: "#%{name} traola joeran dago gaur, baina ez da oraindik errebisatu. Ez da publikoki agertuko baimentzen ez baduzu, edo gorde inprimakia dagoen moduan eta ez duzu berriro honi buruz entzungo."
-      subject: Traola berria errebisatzeko %{instance} instantzian (#%{name})
+    new_trending_links:
+      body: Ondorengo estekak dira joera gaur, baina beren argitaratzaileak ez dira berrikusi aurretik. Ez dira bistaratuko publikoki onartu ezean. Ez da sortuko argitaratzaile hauen jakinarazpen gehiago.
+      no_approved_links: Ez dago onartutako esteken joerarik une honetan.
+      requirements: Onartutako esteken joera baxuena %{lowest_link_title} da une honetan %{lowest_link_score} emaitzarekin.
+      subject: Esteken joera gehiago daude berrikusteko %{instance} instantzian
+    new_trending_tags:
+      body: 'Ondorengo traolak dira joera gaur, baina ez dira berrikusi aurretik. Ez dira bistaratuko publikoki onartzen ez badituzu:'
+      no_approved_tags: Ez dago onartutako traolen joerarik une honetan.
+      requirements: Onartutako traolen joera baxuena %{lowest_tag_name} da une honetan %{lowest_tag_score} emaitzarekin.
+      subject: Traolen joera gehiago daude berrikusteko %{instance} instantzian
   aliases:
     add_new: Sortu ezizena
     created_msg: Ongi sortu da ezizena. Orain kontu zaharretik migratzen hasi zaitezke.
@@ -908,34 +973,15 @@ eu:
     changes_saved_msg: Aldaketak ongi gorde dira!
     copy: Kopiatu
     delete: Ezabatu
-    no_batch_actions_available: Ez dago ekintza masiborik orri honetan eskuragarri
+    none: Bat ere ez
     order_by: Ordenatze-irizpidea
     save_changes: Gorde aldaketak
+    today: gaur
     validation_errors:
       one: Zerbait ez dabil ongi! Egiaztatu beheko errorea mesedez
       other: Zerbait ez dabil ongi! Egiaztatu beheko %{count}  erroreak mesedez
   html_validator:
     invalid_markup: 'HTML markaketa baliogabea du: %{error}'
-  identity_proofs:
-    active: Aktiboa
-    authorize: Bai, baimendu
-    authorize_connection_prompt: Baimendu zifratutako konexio hau?
-    errors:
-      failed: Zifratutako konexioak huts egin du. Saiatu berriro %{provider} hornitzailetik.
-      keybase:
-        invalid_token: Keybase-ko token-ak sinaduren hash-ak dira eta 66 hex karakterekoak izan beha dira
-        verification_failed: Keybase-k ez du token hau Keybase-ko %{kb_username} erabiltzailearen sinaduratzat onartzen. Saiatu berriro Keybase-tik.
-      wrong_user: Ezin izan da %{proving} erabiltzailearentzat froga sortu %{current} gisa saioa hasita. Hasi saioa %{proving} erabilita eta saiatu berriro.
-    explanation_html: Hemen modu zifratuan konektatu ditzakezu zure beste identitateak, esaterako Keybase profila. Honek beste jendeak zuri zifratutako mezuak bidaltzea ahalbidetzen du, eta zuk beraiei bidalitako edukia fidagarritzat jotzea.
-    i_am_html: "%{username} erabiltzailea naiz %{service} zerbitzuan."
-    identity: Identitatea
-    inactive: Ez aktiboa
-    publicize_checkbox: 'Eta argitaratu bidalketa hau:'
-    publicize_toot: 'Frogatua dago! %{username} erabiltzailea naiz %{service} zerbitzuan: %{url}'
-    remove: Kendu froga kontutik
-    removed: Ongi kendu da froga kontutik
-    status: Egiaztatze egoera
-    view_proof: Ikusi froga
   imports:
     errors:
       over_rows_processing_limit: "%{count} lerro baina gehiago ditu"
@@ -1209,7 +1255,6 @@ eu:
     edit_profile: Aldatu profila
     export: Datuen esportazioa
     featured_tags: Nabarmendutako traolak
-    identity_proofs: Identitate frogak
     import: Inportazioa
     import_and_export: Inportatu eta esportatu
     migrate: Kontuaren migrazioa
@@ -1217,6 +1262,7 @@ eu:
     preferences: Hobespenak
     profile: Profila
     relationships: Jarraitutakoak eta jarraitzaileak
+    statuses_cleanup: Bidalketak automatikoki ezabatzea
     two_factor_authentication: Bi faktoreetako autentifikazioa
     webauthn_authentication: Segurtasun gakoak
   statuses:
@@ -1238,13 +1284,11 @@ eu:
       other: 'debekatutako traola hauek zituen: %{tags}'
     errors:
       in_reply_not_found: Erantzuten saiatu zaren bidalketa antza ez da existitzen.
-    language_detection: Antzeman hizkuntza automatikoki
     open_in_web: Ireki web-ean
     over_character_limit: "%{max}eko karaktere muga gaindituta"
     pin_errors:
       limit: Gehienez finkatu daitekeen bidalketa kopurua finkatu duzu jada
       ownership: Ezin duzu beste norbaiten bidalketa bat finkatu
-      private: Ezin dira publikoak ez diren bidalketak finkatu
       reblog: Bultzada bat ezin da finkatu
     poll:
       total_people:
@@ -1268,6 +1312,40 @@ eu:
       public_long: Edonork ikusi dezake
       unlisted: Zerrendatu gabea
       unlisted_long: Edonork ikusi dezake, baina ez da denbora-lerro publikoetan agertzen
+  statuses_cleanup:
+    enabled: Ezabatu bidalketa zaharrak automatikoki
+    enabled_hint: Zure bidalketa zaharrak automatikoki ezabatzen ditu zehazturiko denbora mugara iristean, beheko baldintza bat betetzen ez bada
+    exceptions: Salbuespenak
+    explanation: Bidalketak ezabatzea eragiketa garestia denez, mantso egiten da, zerbitzaria lasai dagoenean. Horregatik, zure bidalketak denbora mugara iristen direnetik ezabatu arte tarte bat igaro daiteke.
+    ignore_favs: Ez ezabatu gogokoak
+    ignore_reblogs: Ez ezabatu bultzadak
+    interaction_exceptions: Elkarrekintzetan oinarritutako salbuespenak
+    interaction_exceptions_explanation: Kontuan izan ezin dela ziurtatu ez direnik ezabatuko gogoko edo bultzaden muga gainditzen duten bidalketak, ondoren mugatik behera gelditzen badira ere.
+    keep_direct: Mantendu mezu zuzenak
+    keep_direct_hint: Zure mezu zuzenak ez dira ezabatuko
+    keep_media: Mantendu multimediak dituzten bidalketak
+    keep_media_hint: Multimedia eranskinak dituzten zure bidalketak ez dira ezabatuko
+    keep_pinned: Mantendu finkatutako bidalketak
+    keep_pinned_hint: Zure finkatutako bidalketak ez dira ezabatuko
+    keep_polls: Mantendu inkestak
+    keep_polls_hint: Zure inkestak ez dira ezabatuko
+    keep_self_bookmark: Mantendu laster-marka duten bidalketak
+    keep_self_bookmark_hint: Laster-marka egin diezun zure bidalketak ez dira ezabatuko
+    keep_self_fav: Mantendu gogoko bidalketak
+    keep_self_fav_hint: Gogoko bezala markatu dituzun zure bidalketak ez ditu ezabatuko
+    min_age:
+      '1209600': 2 aste
+      '15778476': 6 hilabete
+      '2629746': Hilabete 1
+      '31556952': Urte 1
+      '5259492': 2 hilabete
+      '63113904': 2 urte
+      '7889238': 3 hilabete
+    min_age_label: Denbora muga
+    min_favs: Mantendu gogoko kopuru hau duten bidalketak
+    min_favs_hint: Gutxienez gogoko kopuru hau jaso duten zure bidalketak ez dira ezabatuko. Hutsik utziz gero gogoko kopurua ez da kontuan hartuko bidalketak ezabatzean
+    min_reblogs: Mantendu bultzada kopuru hau duten bidalketak
+    min_reblogs_hint: Gutxienez bultzada kopuru hau jaso duten zure bidalketak ez dira ezabatuko. Hutsik utziz gero bultzada kopurua ez da kontuan hartuko bidalketak ezabatzean
   stream_entries:
     pinned: Finkatutako bidalketa
     reblogged: "(r)en bultzada"
@@ -1392,24 +1470,15 @@ eu:
       subject: Berretsi saioa hasteko saiakera
       title: Saioa hasteko saiakera
     warning:
-      explanation:
-        disable: Zure kontua izoztuta dagoen bitartean, zure kontua bere horretan dirau, baina ezin duzu ekintzarik burutu desblokeatzen den arte.
-        sensitive: Igotzen dituzun multimedia fitxategiak eta estekatutako edukiak hunkigarri bezala hartuko dira.
-        silence: Zure kontua murriztua dagoen bitartean, jada zu jarraitzen zaituztenak besterik ez dituzte zure bidalketak ikusiko zerbitzari honetan, eta agian zerrenda publikoetatik kenduko zaizu. Hala ere besteek oraindik zu jarraitu zaitzakete.
-        suspend: Zure kontua kanporatua izan da, zure toot guztiak eta multimedia fitxategiak behin betiko ezabatu dira zerbitzari honetatik, eta zure jarraitzaileen zerbitzarietatik.
-      get_in_touch: "%{instance} instantziako jendearekin harremanetan jartzeko e-mail honi erantzun ahal diozu."
       review_server_policies: Berrikusi zerbitzariko politikak
-      statuses: 'Zehazki, honentzat:'
       subject:
         disable: Zure  %{acct} kontua izoztu da
         none: "%{acct} konturako abisua"
-        sensitive: Zure %{acct} kontuaren multimedia bidalketak hunkigarri bezala markatu dira
         silence: Zure  %{acct} kontua murriztu da
         suspend: Zure %{acct} kontua kanporatua izan da
       title:
         disable: Kontu izoztua
         none: Abisua
-        sensitive: Zure multimedia edukiak hunkigarri bezala markatu dira
         silence: Kontu murriztua
         suspend: Kontu kanporatua
     welcome:
diff --git a/config/locales/fa.yml b/config/locales/fa.yml
index 8d4dab2b1..9f0b39a9c 100644
--- a/config/locales/fa.yml
+++ b/config/locales/fa.yml
@@ -10,7 +10,7 @@ fa:
     api: رابط برنامه‌نویسی کاربردی
     apps: اپ‌های موبایل
     apps_platforms: ماستودون را در iOS، اندروید، و سایر سیستم‌ها داشته باشید
-    browse_directory: کاربران را بر اساس علاقه‌مندی‌هایشان از فهرست گزیده بیابید
+    browse_directory: شاخهٔ نمایه‌ای را مرور کرده و بر حسب علاقه، بپالایید
     browse_local_posts: جریانی زنده از فرسته‌های عمومی این کارساز را ببینید
     browse_public_posts: جریانی زنده از فرسته‌های عمومی روی ماستودون را ببینید
     contact: تماس
@@ -43,9 +43,7 @@ fa:
       reason: دلیل
       rejecting_media: 'پرونده‌های رسانه از این کارسازها پردازش یا ذخیره نخواهند شد و هیچ بندانگشتی‌ای نمایش نخواهد یافت. نیازمند کلیک دستی برای رسیدن به پروندهٔ اصلی:'
       rejecting_media_title: رسانه‌های پالوده
-      silenced: |-
-        هیچ کدام از نوشته‌ها از طرف این کارساز این‌جا نمایش نخواهند یافت مگر در فهرست پیگیری‌ها شما، اگر نویسنده‌اش را پی بگیرید.
-        فرسته‌ها از این کارسازها در گفت‌وگوها و فهرست نوشته‌های عمومی نهفته خواهند بود و تا وقتی پیگیرشان نشوید، هیچ اعلانی از برهم‌کنش‌های کاربرانشان تولید نخواهد شد:
+      silenced: 'فرسته‌ها از این کارسازها در خط‌زمانی‌های عمومی و گفت‌وگوها پنهان خواهند بود و هیچ آگاهی‌ای از برهم‌کنش‌های کاربرانشان ایجاد نخواهد شد،‌مگر این که دنبالشان کنید:'
       silenced_title: کارسازهای خموش
       suspended: 'هیچ داده‌ای از این کارسازها پردازش، ذخیره یا مبادله نخواهد شد، که هرگونه برهم‌کنش یا ارتباط با کاربران این کارسازها را غیرممکن خواهد کرد:'
       suspended_title: کارسازهای معلّق
@@ -101,7 +99,6 @@ fa:
     accounts:
       add_email_domain_block: مسدود کردن دامنهٔ رایانامه
       approve: پذیرفتن
-      approve_all: پذیرفتن همه
       approved_msg: کارهٔ ثبت‌نام %{username} با موفقیت تأیید شد
       are_you_sure: مطمئنید؟
       avatar: تصویر نمایه
@@ -116,6 +113,7 @@ fa:
       confirm: تأیید
       confirmed: تأیید شد
       confirming: تأیید
+      custom: سفارشی
       delete: حذف داده‌ها
       deleted: حذف شده
       demote: تنزل‌دادن
@@ -155,7 +153,6 @@ fa:
         active: فعّال
         all: همه
         pending: منتظر
-        silenced: خموشانده
         suspended: تعلیق شده
         title: مدیریت
       moderation_notes: یادداشت‌های مدیریتی
@@ -173,7 +170,6 @@ fa:
       redownload: نوسازی نمایه
       redownloaded_msg: حساب %{username} با موفقیت از ابتدا نوسازی شد
       reject: نپذیرفتن
-      reject_all: نپذیرفتن هیچکدام
       rejected_msg: کارهٔ ثبت‌نام %{username} با موفقیت رد شد
       remove_avatar: حذف تصویر نمایه
       remove_header: برداشتن تصویر زمینه
@@ -208,12 +204,14 @@ fa:
       silence: خموشاندن
       silenced: خموشانده
       statuses: نوشته‌ها
+      strikes: اخطار های پیشین
       subscribe: اشتراک
       suspended: تعلیق‌شده
       suspension_irreversible: داده‌های این حساب به صورت بی‌بازگشت حذف شد. می‌توانید برای قابل استفاده کردنش، آن را نامعلّق کنید، ولی این کار هیچ داده‌ای را که از پیش داده، برنخواهد گرداند.
       suspension_reversible_hint_html: حساب معلّق شد و داده‌ها به صورت کامل در %{date} برداشته خواهند شد. تا آن زمان، حساب می‌تواند بی هیچ عوارضی بازگردانده شود. اگر می‌خواهید فوراً همهٔ داده‌های حساب را بردارید، می‌توانید در پایین این کار را بکنید.
-      time_in_queue: در حال انتظار %{time}
       title: حساب‌ها
+      unblock_email: رفع مسدودیت نشانی ایمیل
+      unblocked_email_msg: مسدودیت نشانی ایمیل %{username} با موفقیت رفع شد
       unconfirmed_email: ایمیل تأییدنشده
       undo_sensitized: بازگردانی حساس
       undo_silenced: واگردانی بی‌صداکردن
@@ -228,6 +226,7 @@ fa:
       whitelisted: فهرست مجاز
     action_logs:
       action_types:
+        approve_user: تایید کاربر
         assigned_to_self_report: واگذاری گزارش
         change_email_user: تغییر رایانامه برای کاربر
         confirm_user: تأیید کاربر
@@ -245,6 +244,7 @@ fa:
         destroy_domain_allow: حذف اجازهٔ دامنه
         destroy_domain_block: حذف انسداد دامنه
         destroy_email_domain_block: حذف انسداد دامنهٔ رایانامه
+        destroy_instance: پاکسازی دامنه
         destroy_ip_block: حذف قاعدهٔ آی‌پی
         destroy_status: حذف وضعیت
         destroy_unavailable_domain: حذف دامنهٔ ناموجود
@@ -257,6 +257,7 @@ fa:
         enable_user: به کار انداختن کاربر
         memorialize_account: یادسپاری حساب
         promote_user: ترفیع کاربر
+        reject_user: رد کاربر
         remove_avatar_user: برداشتن تصویر نمایه
         reopen_report: بازگشایی گزارش
         reset_password_user: بازنشانی گذرواژه
@@ -265,6 +266,7 @@ fa:
         silence_account: خموشی حساب
         suspend_account: تعلیق حساب
         unassigned_report: رفع واگذاری گزارش
+        unblock_email_account: رفع مسدودیت ایمیل
         unsensitive_account: برداشتن علامت رسانه در حسابتان به عنوان حساس
         unsilence_account: رفع خموشی حساب
         unsuspend_account: رفع تعلیق حساب
@@ -273,6 +275,7 @@ fa:
         update_domain_block: به‌روزرسانی مسدودسازی دامنه
         update_status: به‌روز رسانی وضعیت
       actions:
+        approve_user_html: "%{name} ثبت نام %{target} را تایید کرد"
         assigned_to_self_report_html: "%{name} رسیدگی به گزارش %{target} را به عهده گرفت"
         change_email_user_html: "%{name} نشانی رایانامهٔ کاربر %{target} را عوض کرد"
         confirm_user_html: "%{name} نشانی رایانامهٔ کاربر %{target} را تأیید کرد"
@@ -290,6 +293,7 @@ fa:
         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} قاعدهٔ آی‌پی %{target} را حذف کرد"
         destroy_status_html: "%{name} وضعیت %{target} را برداشت"
         destroy_unavailable_domain_html: "%{name} تحویل محتوا به دامنه %{target} را از سر گرفت"
@@ -302,6 +306,7 @@ fa:
         enable_user_html: "%{name} ورود را برای کاربر %{target} فعال کرد"
         memorialize_account_html: "%{name} حساب %{target} را تبدیل به صفحهٔ یادمان کرد"
         promote_user_html: "%{name} کاربر %{target} را ترفیع داد"
+        reject_user_html: "%{name} ثبت نام %{target} را رد کرد"
         remove_avatar_user_html: "%{name} تصویر نمایهٔ %{target} را حذف کرد"
         reopen_report_html: "%{name} گزارش %{target} را دوباره به جریان انداخت"
         reset_password_user_html: "%{name} گذرواژه کاربر %{target} را بازنشاند"
@@ -310,6 +315,7 @@ fa:
         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} را از تعلیق خارج کرد"
@@ -358,7 +364,7 @@ fa:
       enabled_msg: این شکلک با موفقیت فعال شد
       image_hint: پروندهٔ PNG حداکثر 50KB
       list: فهرست
-      listed: فهرست‌شده
+      listed: فهرست شده
       new:
         title: افزودن شکلک سفارشی
       not_permitted: مجاز به انجام این کنش نیستید
@@ -368,14 +374,33 @@ fa:
       title: شکلک‌های سفارشی
       uncategorized: دسته‌بندی نشده
       unlist: نافهرست
-      unlisted: فهرست‌نشده
+      unlisted: فهرست نشده
       update_failed_msg: این شکلک نتوانست به‌روز شود
       updated_msg: شکلک با موفقیت به‌روز شد!
       upload: بارگذاری
     dashboard:
+      active_users: کاربران فعّال
+      interactions: برهم‌کنش‌ها
+      media_storage: ذخیره‌ساز رسانه
+      new_users: کاربران جدید
+      opened_reports: گزارش باز شده
+      pending_reports_html:
+        one: "<strong>۱</strong> گزارش منتظر"
+        other: "<strong>%{count}</strong> گزارش منتظر"
+      pending_tags_html:
+        one: "<strong>۱</strong> برچسب منتظر"
+        other: "<strong>%{count}</strong> برچسب منتظر"
+      pending_users_html:
+        one: "<strong>۱</strong> کاربر منتظر"
+        other: "<strong>%{count}</strong> کاربر منتظر"
+      resolved_reports: گزارش حل شده
       software: نرم‌افزار
+      sources: منابع ثبت‌نام
       space: فضای مصرف‌شده
       title: ابزارهای مدیریت
+      top_languages: زبان‌های فعّال‌تر
+      top_servers: کاربران فعّال‌تر
+      website: پایگاه وب
     domain_allows:
       add_new: مجاز کردن دامنه
       created_msg: دامنه با موفقیت مجاز شد
@@ -448,6 +473,7 @@ fa:
       back_to_limited: محدود
       back_to_warning: هشدار
       by_domain: دامین
+      confirm_purge: آیا مطمئن هستید می‌خواهید داده را از این دامنه برای همیشه پاک کنید؟
       delivery:
         all: همه
         clear: پاک کردن خطاهای تحول محتوا
@@ -457,9 +483,13 @@ fa:
         unavailable: ناموجود
         unavailable_message: تحویل محتوا در دسترس نیست
         warning: هشدار
+        warning_message:
+          one: شکست تحویل %{count} روز
+          other: شکست تحویل محتوا %{count} روز
       delivery_available: پیام آماده است
       delivery_error_days: زورهای خطای تحویل محتوا
       delivery_error_hint: اگر تحویل محتوا به مدت %{count} روز ممکن نباشد، به طور خودکار به عنوان تحویل‌ناشونده علامت‌گذاری خواهد شد.
+      destroyed_msg: هم اکنون داده دامنه %{domain} در صف حذف حتمی است.
       empty: هیج دامنه‌ای پیدا نشد.
       known_accounts:
         one: "%{count} حساب شناخته‌شده"
@@ -470,6 +500,7 @@ fa:
         title: مدیریت
       private_comment: یادداشت خصوصی
       public_comment: یادداشت عمومی
+      purge: پاکسازی
       title: ارتباط میان‌سروری
       total_blocked_by_us: مسدودشده از طرف ما
       total_followed_by_them: ما را پی می‌گیرند
@@ -482,7 +513,7 @@ fa:
         all: همه
         available: در دسترس
         expired: منقضی‌شده
-        title: فیلتر
+        title: پالایه
       title: دعوت‌ها
     ip_blocks:
       add_new: ایجاد قانون
@@ -499,8 +530,6 @@ fa:
         title: ایجاد قانون جدید IP
       no_ip_block_selected: هیچ قاعدهٔ آی‌پی‌ای تغییری نکرد زیرا هیچ‌کدام گزیده نشده بودند
       title: قوانین IP
-    pending_accounts:
-      title: حساب‌های منتظر (%{count})
     relationships:
       title: روابط %{acct}
     relays:
@@ -522,32 +551,38 @@ fa:
     report_notes:
       created_msg: یادداشت گزارش با موفقیت ساخته شد!
       destroyed_msg: یادداشت گزارش با موفقیت حذف شد!
+      today_at: امروز در %{time}
     reports:
       account:
         notes:
           one: "%{count} یادداشت"
           other: "%{count} یادداشت"
-        reports:
-          one: "%{count} گزارش"
-          other: "%{count} گزارش"
+      action_log: گزارش حسابرسی
       action_taken_by: انجام‌دهنده
+      actions:
+        other_description_html: دیدن انتخاب های بیشتر برای کنترل رفتار حساب و سفارشی سازی ارتباط با حساب گزارش شده.
+      add_to_report: افزودن بیش‌تر به گزارش
       are_you_sure: مطمئنید؟
       assign_to_self: به عهدهٔ من بگذار
       assigned: مدیر عهده‌دار
       by_target_domain: دامنهٔ حساب گزارش‌شده
+      category: دسته
       comment:
         none: هیچ
       created_at: گزارش‌شده
+      delete_and_resolve: حذف و رفع
       forwarded: هدایت شده
       forwarded_to: هدایت شده به %{domain}
       mark_as_resolved: علامت‌گذاری به عنوان حل‌شده
       mark_as_unresolved: علامت‌گذاری به عنوان حل‌نشده
+      no_one_assigned: هیچ‌کس
       notes:
         create: افزودن یادداشت
         create_and_resolve: حل کردن با یادداشت
         create_and_unresolve: دوباره گشودن با یادداشت
         delete: حذف
         placeholder: کارهایی را که در این باره انجام شده، یا هر به‌روزرسانی دیگری را بنویسید...
+        title: یادداشت‌ها
       reopen: دوباره به جریان بیندازید
       report: 'گزارش #%{id}'
       reported_account: حساب گزارش‌شده
@@ -555,11 +590,13 @@ fa:
       resolved: حل‌شده
       resolved_msg: گزارش با موفقیت حل شد!
       status: نوشته
+      statuses: محتوای گزارش شده
       target_origin: خاستگاه حساب گزارش‌شده
       title: گزارش‌ها
       unassign: پس‌گرفتن مسئولیت
       unresolved: حل‌نشده
       updated_at: به‌روز شد
+      view_profile: دیدن نمایه
     rules:
       add_new: افزودن قانون
       delete: حذف
@@ -598,13 +635,13 @@ fa:
         title: تصویر نماد
       peers_api_enabled:
         desc_html: دامین‌هایی که این سرور به آن‌ها برخورده است
-        title: انتشار فهرست سرورهای یافته‌شده
+        title: انتشار سیاههٔ کارسازهای کشف شده در API
       preview_sensitive_media:
         desc_html: پیوند به سایت‌های دیگر پیش‌نمایشی خواهد داشت که یک تصویر کوچک را نشان می‌دهد، حتی اگر نوشته به عنوان حساس علامت‌گذاری شده باشد
         title: نمایش تصاویر حساسیت‌برانگیز در پیش‌نمایش‌های OpenGraph
       profile_directory:
-        desc_html: به کاربران اجازه دهید تا بتوانند خود را روی فهرست گزیدهٔ کاربران این سرور نمایش دهند
-        title: فعال‌سازی فهرست گزیدهٔ کاربران
+        desc_html: اجازه به کاربران برای قابل کشف بودن
+        title: به کار انداختن شاخهٔ نمایه
       registrations:
         closed_message:
           desc_html: وقتی امکان ثبت نام روی سرور فعال نباشد در صفحهٔ اصلی نمایش می‌یابد<br>می‌توانید HTML بنویسید
@@ -661,15 +698,13 @@ fa:
       destroyed_msg: بارگذاری پایگاه با موفقیت حذف شد!
     statuses:
       back_to_account: بازگشت به صفحهٔ حساب
+      back_to_report: بازگشت به صفحهٔ گزارش
       batch:
-        delete: پاک‌کردن
-        nsfw_off: علامت‌زدن به عنوان غیرحساس
-        nsfw_on: علامت‌زدن به عنوان حساس
+        remove_from_report: برداشتن از گزارش
+        report: گزارش
       deleted: پاک‌شده
-      failed_to_execute: اجرا نشد
       media:
         title: رسانه
-      no_media: بدون عکس یا ویدیو
       no_status_selected: هیچ بوقی تغییری نکرد زیرا هیچ‌کدام از آن‌ها انتخاب نشده بودند
       title: نوشته‌های حساب
       with_media: دارای عکس یا ویدیو
@@ -682,21 +717,37 @@ fa:
       sidekiq_process_check:
         message_html: صف(های) %{value} فاقد هیچونه فرایند Sidekiq هستند. لطفا تنظیمات Sidekiq خود را بازبینی کنید
     tags:
-      accounts_today: کاربرد یکتا در امروز
-      accounts_week: کاربرد یکتا در این هفته
-      breakdown: کاربردهای امروز به تفکیک منبع
-      last_active: آخرین فعالیت
-      most_popular: محبوب‌ترین
-      most_recent: تازه‌ترین
-      name: هشتگ
       review: وضعیت بازبینی
-      reviewed: بازبینی شده
-      title: هشتگ‌ها
-      trending_right_now: پرطرفدارهای کنونی
-      unique_uses_today: "%{count} امروز منتشر شده"
-      unreviewed: بازبینی نشده
       updated_msg: تنظیمات برچسب‌ها با موفقیت به‌روز شد
     title: مدیریت
+    trends:
+      allow: اجازه
+      approved: تأیید شده
+      disallow: اجازه ندادن
+      links:
+        allow: اجازه به پیوند
+        allow_provider: اجازه به ناشر
+        disallow: اجازه ندادن به پیوند
+        disallow_provider: اجازه ندادن به ناشر
+        title: پیوندهای داغ
+      pending_review: بازبینی منتظر
+      preview_card_providers:
+        title: ناشران
+      rejected: رد شده
+      tags:
+        current_score: امتیاز کنونی %{score}
+        dashboard:
+          tag_accounts_measure: استفادهٔ یکتا
+          tag_languages_dimension: زبان‌های برتر
+          tag_servers_dimension: کارسازهای برتر
+          tag_servers_measure: کارسازهای گوناگون
+          tag_uses_measure: کل استفاده‌ّا
+        listable: می‌تواند پیشنهاد شود
+        not_listable: پیشنهاد نخواهد شد
+        not_usable: غیر قابل استفاده
+        title: برچسب‌های پرطرفدار
+        usable: قابل استفاده
+      title: پرطرفدار
     warning_presets:
       add_new: افزودن تازه
       delete: زدودن
@@ -711,9 +762,6 @@ fa:
       body: کاربر %{reporter} کاربر %{target} را گزارش داد
       body_remote: کسی از %{domain} گزارش %{target} را فرستاده
       subject: گزارش تازه‌ای برای %{instance} (#%{id})
-    new_trending_tag:
-      body: 'برچسب #%{name} امروز پرطرفدار است، ولی تا حالا بازبینی نشده. تا وقتی که شما اجازه نداده‌اید، این برچسب به طور عمومی نمایش داده نخواهد شد. اگر فرم را به شکل فعلی ذخیره کنید، هیچ وقت چیزی دربارهٔ این برچسب نخواهید دید.'
-      subject: برچسب تازه‌ای در %{instance} نیازمند بررسی است (#%{name})
   aliases:
     add_new: ساختن نام مستعار
     created_msg: نام مستعار تازه با موفقیت ساخته شد. الان می‌توانید انتقال از حساب قدیمی را آغاز کنید.
@@ -723,7 +771,7 @@ fa:
     remove: حذف ارتباط نام مستعار
   appearance:
     advanced_web_interface: رابط کاربری پیشرفته
-    advanced_web_interface_hint: 'اگر می‌خواهید همهٔ فضای نمایشگر خود را به کار ببرید، می‌توانید به کمک رابط کاربری پیشرفته ستون‌های گوناگونی داشته باشید تا در یک نگاه همهٔ اطلاعاتی را که می‌خواهید ببینید: نوشته‌های دیگران، اعلان‌ها، فهرست نوشته‌های همه‌جا، و هر تعداد فهرست و برچسب که بخواهید.'
+    advanced_web_interface_hint: اگر می‌خواهید از تمامی پهنای صفحه‌تان استفاده کنید، رابط پیش‌رفتهٔ وب می‌گذارد هر چند ستون را که می‌خواهید، برای دیدن اطّلاعات بیش‌تر در یک زمان، پیکربندی کنید:‌خانه، آگاهی‌ها، خط زمانی عمومی،‌ هرتعدادی از سیاهه‌ها و برچسب‌ها.
     animations_and_accessibility: پویانمایی‌های و دسترسی‌پذیری
     confirmation_dialogs: پیغام‌های تأیید
     discovery: کاوش
@@ -765,6 +813,7 @@ fa:
     invalid_reset_password_token: کد بازنشانی رمز نامعتبر یا منقضی شده است. لطفاً کد دیگری درخواست کنید.
     link_to_otp: رمز بازگردانی یا رمز دوعاملی را از تلفنتان وارد کنید
     link_to_webauth: استفاده از افزارهٔ امنیتیتان
+    log_in_with: ورود با
     login: ورود
     logout: خروج
     migrate_account: نقل مکان به یک حساب دیگر
@@ -849,7 +898,7 @@ fa:
       username_available: نام کاربری شما دوباره در دسترس خواهد بود
       username_unavailable: نام کاربری شما برای دیگران غیرقابل دسترس خواهد ماند
   directories:
-    directory: فهرست گزیدهٔ کاربران
+    directory: شاخهٔ نمایه
     explanation: کاربران را بر اساس علاقه‌مندی‌هایشان بیابید
     explore_mastodon: گشت و گذار در %{title}
   domain_validator:
@@ -884,7 +933,7 @@ fa:
     bookmarks: نشانک‌ها
     csv: CSV
     domain_blocks: دامین‌های مسدودشده
-    lists: فهرست‌ها
+    lists: سیاهه‌ها
     mutes: حساب‌های بی‌صداشده
     storage: تصویرهای ذخیره‌شده
   featured_tags:
@@ -896,8 +945,8 @@ fa:
     contexts:
       account: نمایه‌ها
       home: خانه
-      notifications: اعلان‌ها
-      public: فهرست عمومی
+      notifications: آگاهی‌ها
+      public: خط زمانی‌های عمومی
       thread: گفتگوها
     edit:
       title: ویرایش پالایه
@@ -920,34 +969,15 @@ fa:
     changes_saved_msg: تغییرات با موفقیت ذخیره شدند!
     copy: رونوشت
     delete: حذف
-    no_batch_actions_available: هیچ کار گروهی‌ای در این صفحه موجود نیست
+    none: هیچ‌کدام
     order_by: مرتب‌سازی
     save_changes: ذخیرهٔ تغییرات
+    today: امروز
     validation_errors:
       one: یک چیزی هنوز درست نیست! لطفاً خطاهای زیر را ببینید
       other: یک چیزی هنوز درست نیست! لطفاً %{count} خطای زیر را ببینید
   html_validator:
     invalid_markup: 'دارای نشانه‌گذاری نامعتبر HTML است: %{error}'
-  identity_proofs:
-    active: فعال
-    authorize: بله، اجازه بده
-    authorize_connection_prompt: آیا اجازهٔ این ارتباط رمزگذاری را می‌دهید؟
-    errors:
-      failed: برقراری ارتباط  رمزگذاری شکست خورد. لطفاً دوباره از %{provider} تلاش کنید.
-      keybase:
-        invalid_token: کدهای Keybase چکیده (هش) امضاهای دیجیتال هستند و دست‌کم ۶۶ نویسه در مبنای ۱۶ دارند
-        verification_failed: این کد را Keybase به عنوان امضای دیجیتال کاربر %{kb_username} تأیید نمی‌کند. لطفاً دوباره از Keybase تلاش کنید.
-      wrong_user: نمی‌توان تأییدی برای %{proving} در حالی که به عنوان %{current} وارد شده‌اید. به عنوان %{proving} وارد شوید و دوباره تلاش کنید.
-    explanation_html: این‌جا می‌توانید به شناسه‌های دیگر خود مانند نمایهٔ Keybase خودتان به طور رمزنگارانه متصل شوید. با این کار دیگران می‌توانند به شما پیغام‌های رمزشده بفرستند و به چیزی که شما به آن‌ها می‌فرستید اعتماد کنند.
-    i_am_html: من %{username} روی %{service} هستم.
-    identity: شناسه
-    inactive: غیرفعال
-    publicize_checkbox: 'این را ببوقید:'
-    publicize_toot: 'تأیید شد! من %{username} روی %{service} هستم: %{url}'
-    remove: برداشتن مدرک از حساب
-    removed: مدرک با موفّقیت از حساب برداشته شد
-    status: وضعیت تأیید
-    view_proof: دیدن مدرک
   imports:
     errors:
       over_rows_processing_limit: دارای بیش از %{count} ردیف
@@ -956,14 +986,14 @@ fa:
       merge_long: داده‌های فعلی را داشته باشید و داده‌های تازه‌ای بیفزایید
       overwrite: بازنویسی
       overwrite_long: داده‌های فعلی را پاک کنید و داده‌های تازه‌ای بیفزایید
-    preface: می‌توانید داده‌هایی مانند فهرست افرادی که دنبال یا مسدود کرده‌اید را که از کارسازی دیگر برون‌ریخته‌اید درون‌ریزی کنید.
+    preface: می‌توانید داده‌هایی را که از کارسازی دیگر برون‌ریخته‌اید، چون سیاهه‌ای از افرادی که پی گرفته یا مسدود می‌کنید را درون‌ریزی کنید.
     success: داده‌های شما با موفقیت بارگذاری شد و به زودی پردازش می‌شود
     types:
-      blocking: فهرست مسدودشده‌ها
+      blocking: سیاههٔ انسداد
       bookmarks: نشانک‌ها
-      domain_blocking: فهرست دامین‌های مسدودشده
-      following: فهرست پی‌گیری‌ها
-      muting: فهرست بی‌صداشده‌ها
+      domain_blocking: سیاههٔ انسداد دامنه
+      following: سیاههٔ پی‌گیری
+      muting: سیاههٔ خموشی
     upload: بارگذاری
   in_memoriam_html: به یادبود.
   invites:
@@ -990,7 +1020,7 @@ fa:
     title: دعوت دیگران
   lists:
     errors:
-      limit: از این بیشتر نمی‌شود فهرست داشت
+      limit: به بیشینهٔ مقدار سیاهه‌ها رسیدید
   login_activities:
     authentication_methods:
       otp: کارهٔ تأیید هویت دوعاملی
@@ -1046,7 +1076,7 @@ fa:
     copy_account_note_text: 'این کاربر از %{acct} جابه‌جا شده است. یادداشت‌های پیشینتان درباره‌اش این‌هاست:'
   notification_mailer:
     digest:
-      action: دیدن همهٔ اعلان‌ها
+      action: دیدن تمامی آگاهی‌ها
       body: خلاصه‌ای از پیغام‌هایی که از زمان آخرین بازدید شما در %{since} فرستاده شد
       mention: "%{name} این‌جا از شما نام برد:"
       new_followers_summary:
@@ -1054,7 +1084,7 @@ fa:
         other: در ضمن، وقتی که نبودید %{count} پیگیر تازه پیدا کردید! چه عالی!
       subject:
         one: "یک اعلان تازه از زمان آخرین بازدید شما \U0001F418"
-        other: "%{count} اعلان تازه از زمان آخرین بازدید شما \U0001F418"
+        other: "%{count} آگاهی جدید از آخرین بازدیدتان \U0001F418"
       title: در مدتی که نبودید...
     favourite:
       body: "%{name} این نوشتهٔ شما را پسندید:"
@@ -1083,9 +1113,9 @@ fa:
     status:
       subject: "%{name} چیزی فرستاد"
   notifications:
-    email_events: رویدادها برای اعلان‌های ایمیلی
-    email_events_hint: 'رویدادهایی که می‌خواهید برایشان اعلانی دریافت کنید را برگزینید:'
-    other_settings: سایر تنظیمات اعلان‌ها
+    email_events: رویدادها برای آگاهی‌های رایانامه‌ای
+    email_events_hint: 'گزینش رویدادهایی که می‌خواهید برایشان آگاهی دریافت کنید:'
+    other_settings: سایر تنظیمات آگاهی‌ها
   number:
     human:
       decimal_units:
@@ -1124,7 +1154,7 @@ fa:
   preferences:
     other: سایر تنظیمات
     posting_defaults: تنظیمات پیش‌فرض انتشار
-    public_timelines: فهرست عمومی نوشته‌ها
+    public_timelines: خط زمانی‌های عمومی
   reactions:
     errors:
       limit_reached: تجاوز از کران واکنش‌های مختلف
@@ -1221,11 +1251,10 @@ fa:
     edit_profile: ویرایش نمایه
     export: برون‌سپاری داده‌ها
     featured_tags: برچسب‌های برگزیده
-    identity_proofs: مدرک شناسه‌ها
     import: درون‌ریزی
     import_and_export: درون‌ریزی و برون‌بری
     migrate: انتقال حساب
-    notifications: اعلان‌ها
+    notifications: آگاهی‌ها
     preferences: ترجیحات
     profile: نمایه
     relationships: پیگیری‌ها و پیگیران
@@ -1249,15 +1278,14 @@ fa:
     disallowed_hashtags:
       one: 'دارای هشتگ غیرمجاز: %{tags}'
       other: 'دارای هشتگ‌های غیرمجاز: %{tags}'
+    edited_at: ویراسته در %{date}
     errors:
       in_reply_not_found: به نظر نمی‌رسد وضعیتی که می‌خواهید به آن پاسخ دهید، وجود داشته باشد.
-    language_detection: زبان نوشته خودبه‌خود شناخته شود
     open_in_web: بازکردن در وب
     over_character_limit: از حد مجاز %{max} حرف فراتر رفتید
     pin_errors:
       limit: از این بیشتر نمی‌شود نوشته‌های ثابت داشت
       ownership: نوشته‌های دیگران را نمی‌توان ثابت کرد
-      private: نوشته‌های غیرعمومی را نمی‌توان ثابت کرد
       reblog: بازبوق‌ها را نمی‌توان ثابت کرد
     poll:
       total_people:
@@ -1279,7 +1307,7 @@ fa:
       private_long: تنها پیگیران شما می‌بینند
       public: عمومی
       public_long: همه می‌توانند ببینند
-      unlisted: فهرست‌نشده
+      unlisted: فهرست نشده
       unlisted_long: عمومی، ولی در فهرست نوشته‌ها نمایش نمی‌یابد
   statuses_cleanup:
     enabled: حذف خودکار فرسته‌های قدیمی
@@ -1412,6 +1440,7 @@ fa:
     formats:
       default: "%d %b %Y, %H:%M"
       month: "%b %Y"
+      time: "%OH:%OM"
   two_factor_authentication:
     add: افزودن
     disable: غیرفعال‌کردن
@@ -1439,24 +1468,20 @@ fa:
       subject: لطفاً تلاش برای ورود را تأیید کنید
       title: تلاش برای ورود
     warning:
-      explanation:
-        disable: تا وقتی حساب شما متوقف باشد، داده‌های شما دست‌نخورده باقی می‌مانند، ولی تا وقتی که حسابتان باز نشده، نمی‌توانید هیچ کاری با آن بکنید.
-        sensitive: پرونده‌های رسانهٔ بارگذاری‌شده و رسانه‌های پیوسته به عنوان حساس در نظر گرفته خواهند شد.
-        silence: تا وقتی حساب شما محدود باشد، تنها کسانی که از قبل پیگیر شما بودند نوشته‌های شما در این کارساز را می‌بینند و شاید شما در برخی از فهرست‌های عمومی دیده نشوید. ولی دیگران همچنان می‌توانند به دلخواه خودشان پیگیر شما شوند.
-        suspend: حسابتان معلق شده و تمام بوق‌ها و رسانه‌های بارگذاشته‌تان، از روی این کارساز و کارسازهایی که پیگیرانی رویشان داشتید، به طور بازگشت‌ناپذیری برداشته شده‌اند.
-      get_in_touch: با پاسخ به این ایمیل می‌توانید با دست‌اندرکاران %{instance} در تماس باشید.
+      categories:
+        spam: هرزنامه
+      reason: 'دلیل:'
       review_server_policies: مرور سیاست‌های کارساز
-      statuses: 'به طور خاص برای:'
       subject:
         disable: حساب %{acct} شما متوقف شده است
         none: هشدار برای %{acct}
-        sensitive: رسانه‌های فرستاده شده توسط حساب %{acct} شما برچسب حساس خورده‌اند
         silence: حساب %{acct} شما محدود شده است
         suspend: حساب %{acct}  شما معلق شده است
       title:
+        delete_statuses: فرسته‌ها برداشته شدند
         disable: حساب متوقف شده است
         none: هشدار
-        sensitive: رسانه‌تان به عنوان حساس در نظر گرفته شد
+        sensitive: رسانهٔ نهفته
         silence: حساب محدود شده است
         suspend: حساب معلق شده است
     welcome:
@@ -1473,7 +1498,7 @@ fa:
       tip_federated_timeline: "«فهرست نوشته‌های همه‌جا» نمایی کلی از شبکهٔ ماستودون است. ولی فقط شامل افرادیست که همسایگانتان پیگیرشان هستند؛ پس کامل نیست."
       tip_following: به طور پیش‌گزیده مدیر(ان) کارسازتان را پی می‌گیرید. برای یافتن افراد جالب دیگر، فهرست «نوشته‌های محلی» و «نوشته‌های همه‌جا» را ببینید.
       tip_local_timeline: فهرست نوشته‌های محلی نمایی کلی از کاربران روی %{instance} را ارائه می‌دهد. این‌ها همسایه‌های شما هستند!
-      tip_mobile_webapp: اگر مرورگر موبایل شما امکان گذاشتن ماستودون روی صفحهٔ اصلی موبایل را به شما می‌دهد، این یعنی می‌توانید اعلان‌های خودکار ماستودون را دریافت کنید. با این کار ماستودون خیلی شبیه یک اپ معمولی موبایل می‌شود!
+      tip_mobile_webapp: اگر مرورگر همراهتان پیشنهاد افزودن ماستودون به صفحهٔ اصلیتان را می‌دهد، می‌توانید آگاهی‌های ارسالی را دریافت کنید. این کار از بسیاری جهت‌ها،‌مانند یک کارهٔ بومی عمل می‌کند!
       tips: نکته‌ها
       title: خوش آمدید، کاربر %{name}!
   users:
diff --git a/config/locales/fi.yml b/config/locales/fi.yml
index c8376023b..38b9a04bf 100644
--- a/config/locales/fi.yml
+++ b/config/locales/fi.yml
@@ -1,18 +1,18 @@
 ---
 fi:
   about:
-    about_hashtag_html: Nämä ovat hashtagilla <strong>#%{hashtag}</strong> merkittyjä julkisia tuuttauksia. Voit vastata niihin, jos sinulla on tili jossain päin fediversumia.
-    about_mastodon_html: Mastodon on sosiaalinen verkosto. Se on toteutettu avoimilla verkkoprotokollilla ja vapailla, avoimen lähdekoodin ohjelmistoilla, ja se toimii hajautetusti samaan tapaan kuin sähköposti.
-    about_this: Tietoja tästä palvelimesta
-    active_count_after: aktiivinen
-    active_footnote: Kuukausittaiset aktiiviset käyttäjät (MAU)
+    about_hashtag_html: Nämä julkiset julkaisut on merkitty hastagilla <strong>#%{hashtag}</strong>. Voit vastata niihin, jos sinulla on tili jossain päin fediversumia.
+    about_mastodon_html: 'Tulevaisuuden sosiaalinen verkosto: Ei mainoksia, ei valvontaa, toteutettu avoimilla protokollilla ja hajautettu! Pidä tietosi ominasi Mastodonilla!'
+    about_this: Tietoa tästä palvelimesta
+    active_count_after: aktiivista
+    active_footnote: Kuukausittain aktiiviset käyttäjät (MAU)
     administered_by: 'Ylläpitäjä:'
     api: Rajapinta
-    apps: Mobiili sovellukset
-    apps_platforms: Käytä Mastodonia iOS:llä, Androidilla tai muilla alustoilla
-    browse_directory: Selaa profiilihakemistoa ja suodata kiinnostuksen kohteiden mukaan
-    browse_local_posts: Selaa suoratoistoja julkisista viesteistä tältä palvelimelta
-    browse_public_posts: Selaa suoratoistoja julkisista viesteistä Mastodonissa
+    apps: Mobiilisovellukset
+    apps_platforms: Käytä Mastodonia Androidilla, iOS:llä ja muilla alustoilla
+    browse_directory: Selaa profiilihakemistoa
+    browse_local_posts: Selaa julkisia julkaisuja tältä palvelimelta
+    browse_public_posts: Selaa julkisia julkaisuja Mastodonissa
     contact: Ota yhteyttä
     contact_missing: Ei asetettu
     contact_unavailable: Ei saatavilla
@@ -25,16 +25,16 @@ fi:
       Tämä on virtuaalitili, joka edustaa itse palvelinta eikä yksittäistä käyttäjää.
       Sitä käytetään yhdistämistarkoituksiin, eikä sitä saa estää, ellet halua estää koko palvelinta, jolloin sinun on käytettävä verkkotunnuksen estoa.
     learn_more: Lisätietoja
-    privacy_policy: Tietosuojaseloste
+    privacy_policy: Tietosuojakäytäntö
     rules: Palvelimen säännöt
     rules_html: 'Alla on yhteenveto säännöistä, joita sinun on noudatettava, jos haluat olla tili tällä Mastodonin palvelimella:'
     see_whats_happening: Näe mitä tapahtuu
     server_stats: 'Palvelimen tilastot:'
     source_code: Lähdekoodi
     status_count_after:
-      one: tila
-      other: tilanne
-    status_count_before: He ovat luoneet
+      one: julkaisun
+      other: julkaisua
+    status_count_before: Julkaistu
     tagline: Seuraa ja löydä uusia kavereita
     terms: Käyttöehdot
     unavailable_content: Moderoidut palvelimet
@@ -50,8 +50,8 @@ fi:
     unavailable_content_html: Mastodonin avulla voit yleensä tarkastella sisältöä ja olla vuorovaikutuksessa käyttäjien kanssa millä tahansa muulla palvelimella fediversessä. Nämä ovat poikkeuksia, jotka on tehty tälle palvelimelle.
     user_count_after:
       one: käyttäjä
-      other: käyttäjät
-    user_count_before: Koti
+      other: käyttäjää
+    user_count_before: Palvelimella
     what_is_mastodon: Mikä on Mastodon?
   accounts:
     choices_html: "%{name} valinnat:"
@@ -76,10 +76,10 @@ fi:
     pin_errors:
       following: Sinun täytyy seurata henkilöä jota haluat tukea
     posts:
-      one: Tuuttaus
-      other: Tuuttaukset
-    posts_tab_heading: Tuuttaukset
-    posts_with_replies: Tuuttaukset ja vastaukset
+      one: Julkaisu
+      other: Julkaisut
+    posts_tab_heading: Julkaisut
+    posts_with_replies: Julkaisut ja vastaukset
     roles:
       admin: Ylläpitäjä
       bot: Botti
@@ -99,7 +99,6 @@ fi:
     accounts:
       add_email_domain_block: Estä sähköpostidomain
       approve: Hyväksy
-      approve_all: Hyväksy kaikki
       approved_msg: Käyttäjän %{username} liittymishakemus hyväksyttiin
       are_you_sure: Oletko varma?
       avatar: Profiilikuva
@@ -153,7 +152,6 @@ fi:
         active: Aktiivinen
         all: Kaikki
         pending: Odottavat
-        silenced: Hiljennetty
         suspended: Jäähyllä
         title: Moderointi
       moderation_notes: Moderointimerkinnät
@@ -171,7 +169,6 @@ fi:
       redownload: Päivitä profiilikuva
       redownloaded_msg: Käyttäjän %{username} profiilin päivittäminen alkuperästä onnistui
       reject: Hylkää
-      reject_all: Hylkää kaikki
       rejected_msg: Käyttäjän %{username} rekisteröitymishakemus hylättiin
       remove_avatar: Poista profiilikuva
       remove_header: Poista otsakekuva
@@ -210,7 +207,6 @@ fi:
       suspended: Jäähyllä
       suspension_irreversible: Tämän tilin tiedot on poistettu peruuttamattomasti. Voit peruuttaa tilin jäädyttämisen, jolloin siitä tulee käyttökelpoinen, mutta toiminto ei palauta sillä aiemmin olleita tietoja.
       suspension_reversible_hint_html: Tili on jäädytetty, ja tiedot poistetaan kokonaan %{date}. Siihen asti tili voidaan palauttaa ilman haitallisia vaikutuksia. Jos haluat poistaa kaikki tilin tiedot välittömästi, voit tehdä sen alla.
-      time_in_queue: Odottaa jonossa %{time}
       title: Tilit
       unconfirmed_email: Sähköpostia ei vahvistettu
       undo_sensitized: Kumoa pakotus arkaluontoiseksi tiliksi
@@ -219,13 +215,14 @@ fi:
       unsilenced_msg: "%{username} -tilin rajoituksen kumoaminen onnistui"
       unsubscribe: Lopeta tilaus
       unsuspended_msg: "%{username} -tilin keskeytyksen kumoaminen onnistui"
-      username: Käyttäjänimi
+      username: Käyttäjätunnus
       view_domain: Näytä verkkotunnuksen yhteenveto
       warn: Varoita
       web: Verkko
       whitelisted: Sallittu liittämiselle
     action_logs:
       action_types:
+        approve_user: Hyväksy käyttäjä
         assigned_to_self_report: Määritä raportti
         change_email_user: Vaihda sähköposti käyttäjälle
         confirm_user: Vahvista käyttäjä
@@ -244,7 +241,7 @@ fi:
         destroy_domain_block: Poista verkkotunnuksen esto
         destroy_email_domain_block: Poista sähköpostipalvelimen esto
         destroy_ip_block: Poista IP-sääntö
-        destroy_status: Poista tilapäivitys
+        destroy_status: Poista julkaisu
         destroy_unavailable_domain: Poista ei-saatavilla oleva verkkotunnus
         disable_2fa_user: Poista kaksivaiheinen tunnistautuminen käytöstä
         disable_custom_emoji: Estä mukautettu emoji
@@ -255,6 +252,7 @@ fi:
         enable_user: Tili otettu käyttöön
         memorialize_account: Muuta muistotiliksi
         promote_user: Käyttäjä ylennetty
+        reject_user: Hylkää käyttäjä
         remove_avatar_user: Profiilikuvan poisto
         reopen_report: Uudelleenavaa raportti
         reset_password_user: Nollaa salasana
@@ -271,6 +269,7 @@ fi:
         update_domain_block: Päivitä verkkotunnuksen esto
         update_status: Päivitä viesti
       actions:
+        approve_user_html: "%{name} hyväksyi käyttäjän rekisteröitymisen kohteesta %{target}"
         assigned_to_self_report_html: "%{name} otti raportin %{target} tehtäväkseen"
         change_email_user_html: "%{name} vaihtoi käyttäjän %{target} sähköpostiosoitteen"
         confirm_user_html: "%{name} vahvisti käyttäjän %{target} sähköpostiosoitteen"
@@ -300,6 +299,7 @@ fi:
         enable_user_html: "%{name} salli kirjautumisen käyttäjälle %{target}"
         memorialize_account_html: "%{name} muutti käyttäjän %{target} tilin muistosivuksi"
         promote_user_html: "%{name} ylensi käyttäjän %{target}"
+        reject_user_html: "%{name} hylkäsi käyttäjän rekisteröitymisen kohteesta %{target}"
         remove_avatar_user_html: "%{name} poisti käyttäjän %{target} profiilikuvan"
         reopen_report_html: "%{name} avasi uudelleen raportin %{target}"
         reset_password_user_html: "%{name} palautti käyttäjän %{target} salasanan"
@@ -315,7 +315,7 @@ fi:
         update_custom_emoji_html: "%{name} päivitti emojin %{target}"
         update_domain_block_html: "%{name} päivitti verkkotunnuksen %{target}"
         update_status_html: "%{name} päivitti viestin %{target}"
-      deleted_status: "(poistettu tilapäivitys)"
+      deleted_status: "(poistettu julkaisu)"
       empty: Lokeja ei löytynyt.
       filter_by_action: Suodata tapahtuman mukaan
       filter_by_user: Suodata käyttäjän mukaan
@@ -371,9 +371,19 @@ fi:
       updated_msg: Emojin päivitys onnistui!
       upload: Lähetä
     dashboard:
+      active_users: aktiiviset käyttäjät
+      interactions: vuorovaikutukset
+      media_storage: Median tallennustila
+      new_users: uudet käyttäjät
+      opened_reports: raportit avattu
+      resolved_reports: raportit ratkaistu
       software: Ohjelmisto
+      sources: Kirjautumisen lähteet
       space: Tilankäyttö
       title: Hallintapaneeli
+      top_languages: Aktiiviset kielet
+      top_servers: Aktiiviset palvelimet
+      website: Sivusto
     domain_allows:
       add_new: Salli liitto verkkotunnuksella
       created_msg: Verkkotunnus on onnistuneesti sallittu federaatiolle
@@ -436,7 +446,7 @@ fi:
     follow_recommendations:
       description_html: "<strong>Suositusten noudattaminen auttaa uusia käyttäjiä löytämään nopeasti mielenkiintoista sisältöä.</strong>. Jos käyttäjä ei ole ollut vuorovaikutuksessa tarpeeksi muiden kanssa luodakseen henkilökohtaisia seuraajia, näitä muita tilejä suositellaan sen sijaan. Ne lasketaan uudelleen päivittäin yhdistelmästä tilejä, joilla on korkein viimeaikainen käyttö ja korkein paikallinen seuraajien määrä tietyllä kielellä."
       language: Kielelle
-      status: Tilanne
+      status: Tila
       suppress: Peitä noudata suosituksia
       suppressed: Rajoitettu
       title: Noudata suosituksia
@@ -494,8 +504,6 @@ fi:
         title: Luo uusi IP-sääntö
       no_ip_block_selected: IP-sääntöjä ei muutettu, koska yhtään ei ole valittuna
       title: IP-säännöt
-    pending_accounts:
-      title: Vireillä olevat tilit (%{count})
     relationships:
       title: "%{acct}n suhteet"
     relays:
@@ -628,7 +636,7 @@ fi:
         desc_html: Näytetään sivupalkissa ja kuvauksessa. Kerro yhdessä kappaleessa, mitä Mastodon on ja mikä tekee palvelimesta erityisen.
         title: Lyhyt instanssin kuvaus
       site_terms:
-        desc_html: Tähän voi kirjoittaa instanssin tietosuojakäytännöstä, käyttöehdoista ja sen sellaisista asioista. HTML-tagit käytössä
+        desc_html: Tähän voit kirjoittaa tietosuojakäytännöistä, käyttöehdoista ja sen sellaisista asioista. Voit käyttää HTML-tageja
         title: Omavalintaiset käyttöehdot
       site_title: Instanssin nimi
       thumbnail:
@@ -649,15 +657,9 @@ fi:
       destroyed_msg: Sivuston lataus onnistuneesti poistettu!
     statuses:
       back_to_account: Takaisin tilin sivulle
-      batch:
-        delete: Poista
-        nsfw_off: NSFW POIS
-        nsfw_on: NSFW PÄÄLLÄ
       deleted: Poistettu
-      failed_to_execute: Suoritus epäonnistui
       media:
         title: Media
-      no_media: Ei mediaa
       no_status_selected: Viestejä ei muutettu, koska yhtään ei ole valittuna
       title: Tilin tilat
       with_media: Sisältää mediaa
@@ -670,21 +672,51 @@ fi:
       sidekiq_process_check:
         message_html: Ei ole Sidekiq-prosessia käynnissä jonossa %{value}. Tarkista Sidekiq-asetukset
     tags:
-      accounts_today: Tämän päivän käyttö
-      accounts_week: Tämän viikon käyttö
-      breakdown: Tämän päivän käyttö lähteen mukaan
-      last_active: Aktiivinen viimeksi
-      most_popular: Suosituimmat
-      most_recent: Viimeisimmät
-      name: Aihetunniste
       review: Tarkista tila
-      reviewed: Tarkistetut
-      title: Aihetunnisteet
-      trending_right_now: Trendaa juuri nyt
-      unique_uses_today: "%{count} postausta tänään"
-      unreviewed: Ei tarkistettu
       updated_msg: Hashtagin asetukset päivitetty onnistuneesti
     title: Ylläpito
+    trends:
+      allow: Salli
+      approved: Hyväksytty
+      disallow: Estä
+      links:
+        allow: Salli linkki
+        allow_provider: Salli julkaisija
+        disallow: Hylkää linkki
+        disallow_provider: Estä julkaisija
+        shared_by_over_week:
+          one: Yhden henkilön jakama viime viikon aikana
+          other: "%{count} henkilön jakama viime viikon aikana"
+        title: Suositut linkit
+        usage_comparison: Jaettu %{today} kertaa tänään verrattuna eilen %{yesterday}
+      pending_review: Odottaa tarkistusta
+      preview_card_providers:
+        allowed: Tämän julkaisijan linkit voivat trendata
+        rejected: Tämän julkaisijan linkit eivät voi trendata
+        title: Julkaisijat
+      rejected: Hylätty
+      tags:
+        current_score: Nykyinen tulos %{score}
+        dashboard:
+          tag_accounts_measure: uniikit käyttötarkoitukset
+          tag_languages_dimension: Suosituimmat kielet
+          tag_servers_dimension: Suosituimmat palvelimet
+          tag_servers_measure: eri palvelimet
+          tag_uses_measure: käyttökerrat
+        listable: Voidaan ehdottaa
+        not_listable: Ei tulla ehdottamaan
+        not_trendable: Ei näy trendien alla
+        not_usable: Ei voida käyttää
+        peaked_on_and_decaying: Saavutti huipun %{date}, nyt hiipuu
+        title: Suositut tunnisteet
+        trendable: Voi näkyä trendien alla
+        trending_rank: 'Nousussa #%{rank}'
+        usable: Voidaan käyttää
+        usage_comparison: Käytetty %{today} kertaa tänään, verrattuna %{yesterday} eiliseen
+        used_by_over_week:
+          one: Yhden henkilön käyttämä viime viikon aikana
+          other: "%{count} henkilön käyttämä viime viikon aikana"
+      title: Trendit
     warning_presets:
       add_new: Lisää uusi
       delete: Poista
@@ -699,9 +731,16 @@ fi:
       body: "%{reporter} on raportoinut kohteen %{target}"
       body_remote: Joku osoitteesta %{domain} on raportoinut kohteen %{target}
       subject: Uusi raportti instanssista %{instance} (nro %{id})
-    new_trending_tag:
-      body: 'Aihetunniste #%{name} on nousussa tänään, mutta sitä ei ole aiemmin tarkistettu. Sitä ei näytetä julkisesti, ellet salli sitä. Siitä ei ilmoiteta uudelleen, jos pelkästään tallennat lomakkeen sellaisenaan.'
-      subject: Uusi aihetunniste tarkistettavaksi %{instance} (#%{name})
+    new_trending_links:
+      body: Seuraavat linkit trendaavat tänään, mutta niiden julkaisijoita ei ole aiemmin tarkistettu. Niitä ei näytetä julkisesti, ellet hyväksy niitä. Uusia ilmoituksia samoilta julkaisijoilta ei luoda.
+      no_approved_links: Tällä hetkellä ei ole hyväksyttyjä trendaavia linkkejä.
+      requirements: Alin hyväksytty trendilinkki on tällä hetkellä "%{lowest_link_title}" pisteillä %{lowest_link_score}.
+      subject: Uudet trendikkäät linkit tarkistettavaksi %{instance}
+    new_trending_tags:
+      body: 'Seuraavat hashtagit ovat trendejä tänään, mutta niitä ei ole aiemmin tarkistettu. Niitä ei näytetä julkisesti, ellet hyväksy niitä:'
+      no_approved_tags: Tällä hetkellä ei ole hyväksyttyjä trendikkäitä hashtageja.
+      requirements: Alin hyväksytty trendikäs hashtag on tällä hetkellä "%{lowest_tag_name}" pisteillä %{lowest_tag_score}.
+      subject: Uusia trendikkäitä hashtageja tarkistettavaksi %{instance}
   aliases:
     add_new: Luo alias
     created_msg: Uusi alias luotiin onnistuneesti. Voit nyt aloittaa siirron vanhasta tilistä.
@@ -739,7 +778,7 @@ fi:
   auth:
     apply_for_account: Pyydä kutsu
     change_password: Salasana
-    checkbox_agreement_html: Hyväksyn <a href="%{rules_path}" target="_blank">palvelinsäännöt</a> ja <a href="%{terms_path}" target="_blank">käyttöehdot</a>
+    checkbox_agreement_html: Hyväksyn <a href="%{rules_path}" target="_blank">palvelimen käytännöt</a> ja <a href="%{terms_path}" target="_blank">käyttöehdot</a>
     checkbox_agreement_without_rules_html: Hyväksyn <a href="%{terms_path}" target="_blank">käyttöehdot</a>
     delete_account: Poista tili
     delete_account_html: Jos haluat poistaa tilisi, <a href="%{path}">paina tästä</a>. Poisto on vahvistettava.
@@ -908,34 +947,15 @@ fi:
     changes_saved_msg: Muutosten tallennus onnistui!
     copy: Kopioi
     delete: Poista
-    no_batch_actions_available: Tällä sivulla ei ole erätoimintoja
+    none: Ei mitään
     order_by: Järjestä
     save_changes: Tallenna muutokset
+    today: tänään
     validation_errors:
       one: Kaikki ei ole aivan oikein! Tarkasta alla oleva virhe
       other: Kaikki ei ole aivan oikein! Tarkasta alla olevat %{count} virhettä
   html_validator:
     invalid_markup: 'sisältää virheellisen HTML-merkinnän: %{error}'
-  identity_proofs:
-    active: Aktiivinen
-    authorize: Kyllä, valtuuta
-    authorize_connection_prompt: Sallitaanko tämä salausyhteys?
-    errors:
-      failed: Salausyhteys epäonnistui. Yritä uudelleen %{provider}.
-      keybase:
-        invalid_token: Keybase-tunnukset ovat allekirjoituksia ja niiden on oltava 66 hex-merkkiä
-        verification_failed: Keybase ei tunnista tätä tunnusta Keybase käyttäjän %{kb_username} allekirjoituksena. Yritä uudelleen Keybasesta.
-      wrong_user: Todistusta käyttäjälle %{proving} ei voida luoda kirjautuessa %{current}. Kirjaudu sisään käyttäjänä %{proving} ja yritä uudelleen.
-    explanation_html: Täällä voit salata muita identiteettejäsi muista alustoista, kuten Keybase. Näin muut ihmiset voivat lähettää sinulle salattuja viestejä kyseisillä alustoilla ja he voivat luottaa siihen, että lähettämäsi sisältö tulee sinulta.
-    i_am_html: Olen %{username} %{service}.
-    identity: Identiteetti
-    inactive: Passiivinen
-    publicize_checkbox: 'Ja toot tämä:'
-    publicize_toot: 'Se on todistettu! Olen %{username} %{service}: %{url}'
-    remove: Poista todiste tililtä
-    removed: Todisteen poistaminen tililtä onnistui
-    status: Vahvistuksen tila
-    view_proof: Näytä todiste
   imports:
     errors:
       over_rows_processing_limit: sisältää yli %{count} riviä
@@ -1020,8 +1040,18 @@ fi:
     warning:
       backreference_required: Uusi tili on ensin määritettävä viittaamaan tähän tiliin
       before: 'Ennen jatkamista, lue nämä huomautukset huolellisesti:'
+      cooldown: Muuton jälkeen on odotusaika, jonka aikana et pysty enää liikkumaan
+      disabled_account: Nykyinen tilisi ei ole täysin käytettävissä jälkikäteen. Sinulla on kuitenkin pääsy tietojen vientiin ja uudelleenaktivointiin.
+      followers: Tämä toiminto siirtää kaikki seuraajat nykyisestä tilistä uudelle tilille
+      only_redirect_html: Vaihtoehtoisesti voit <a href="%{path}">asettaa vain uudelleenohjauksen profiiliisi</a>.
+      other_data: Muita tietoja ei siirretä automaattisesti
+      redirect: Nykyinen tilisi profiili päivitetään, ohjataan uudelleen ja jätetään pois hausta
   moderation:
     title: Moderointi
+  move_handler:
+    carry_blocks_over_text: Tämä käyttäjä siirtyi paikasta %{acct}, jonka olit estänyt.
+    carry_mutes_over_text: Tämä käyttäjä siirtyi paikasta %{acct}, jonka mykistit.
+    copy_account_note_text: 'Tämä käyttäjä siirtyi paikasta %{acct}, tässä olivat aiemmat muistiinpanosi niistä:'
   notification_mailer:
     digest:
       action: Näytä kaikki ilmoitukset
@@ -1052,45 +1082,99 @@ fi:
       body: "%{name} mainitsi sinut:"
       subject: "%{name} mainitsi sinut"
       title: Uusi maininta
+    poll:
+      subject: Äänestys käyttäjältä %{name} on päättynyt
     reblog:
       body: "%{name} buustasi tilaasi:"
       subject: "%{name} boostasi tilaasi"
       title: Uusi buustaus
+    status:
+      subject: "%{name} julkaisi juuri"
+  notifications:
+    email_events: Sähköposti-ilmoitusten tapahtumat
+    email_events_hint: 'Valitse tapahtumat, joista haluat saada ilmoituksia:'
+    other_settings: Muut ilmoitusasetukset
   number:
     human:
       decimal_units:
         format: "%n %u"
         units:
           billion: Mrd
+          million: M
           quadrillion: Brd
           thousand: k
           trillion: B
+  otp_authentication:
+    code_hint: Anna todennussovelluksen luoma koodi vahvistaaksesi
+    description_html: Jos otat käyttöön <strong>kaksivaiheisen todentamisen</strong>, käyttämällä todennussovellusta, kirjautumiseen vaaditaan puhelin, jolla voidaan luoda kirjautumistunnuksia.
+    enable: Ota käyttöön
+    instructions_html: "<strong>Lue tämä QR-koodi puhelimen Google Authenticator- tai vastaavalla TOTP-sovelluksella</strong>. Sen jälkeen sovellus luo tunnuksia, joita tarvitset kun kirjaudut sisään."
+    manual_instructions: 'Jos et voi lukea QR-koodia ja haluat syöttää sen käsin, tässä on salainen koodi tekstinä:'
+    setup: Asetusten määritys
+    wrong_code: Annettu koodi oli virheellinen! Ovatko palvelimen aika ja laitteen aika oikein?
   pagination:
     newer: Uudemmat
     next: Seuraava
     older: Vanhemmat
     prev: Edellinen
+    truncate: "&hellip;"
   polls:
     errors:
+      already_voted: Olet jo äänestänyt tässä äänestyksessä
+      duplicate_options: sisältää kaksoiskappaleita
       duration_too_long: on liian kaukana tulevaisuudessa
       duration_too_short: on liian aikainen
       expired: Äänestys on jo loppunut
+      invalid_choice: Valittua äänestysvaihtoehtoa ei ole
+      over_character_limit: voi olla enintään %{max} merkkiä
+      too_few_options: on oltava useampi kuin yksi
+      too_many_options: ei voi sisältää enempää kuin %{max} kohdetta
   preferences:
     other: Muut
+    posting_defaults: Julkaisujen oletusasetukset
     public_timelines: Julkiset aikajanat
   reactions:
     errors:
+      limit_reached: Erilaisten reaktioiden raja saavutettu
       unrecognized_emoji: ei ole tunnistettu emoji
   relationships:
     activity: Tilin tapahtumat
+    dormant: Ei aktiivinen
+    follow_selected_followers: Seuraa valittuja seuraajia
     followers: Seuraajat
     following: Seuratut
     invited: Kutsuttu
+    last_active: Viimeksi aktiivinen
+    most_recent: Viimeisin
+    moved: Muuttaneet
+    mutual: Molemminpuoleinen
+    primary: Ensisijainen
+    relationship: Suhde
+    remove_selected_domains: Poista kaikki seuraajat valituista verkkotunnuksista
+    remove_selected_followers: Poista valitut seuraajat
+    remove_selected_follows: Lopeta valittujen käyttäjien seuraaminen
+    status: Tilin tila
   remote_follow:
     acct: Syötä se käyttäjätunnus@verkkotunnus, josta haluat seurata
     missing_resource: Vaadittavaa uudelleenohjaus-URL:ää tiliisi ei löytynyt
+    no_account_html: Eikö sinulla ole tiliä? Voit <a href='%{sign_up_path}' target='_blank'>rekisteröityä täällä</a>
     proceed: Siirry seuraamaan
     prompt: 'Olet aikeissa seurata:'
+    reason_html: "<strong>Miksi tämä vaihe on tarpeen?</strong> <code>%{instance}</code> ei ehkä ole se palvelin, jolle olet rekisteröitynyt, joten meidän täytyy ensin ohjata sinut kotipalvelimellesi."
+  remote_interaction:
+    favourite:
+      proceed: Jatka suosikiksi lisäämiseen
+      prompt: 'Haluat lisätä suosikiksi julkaisun:'
+    reblog:
+      proceed: Jatka buustaamiseen
+      prompt: 'Haluat buustata julkaisun:'
+    reply:
+      proceed: Jatka vastaamiseen
+      prompt: 'Haluat vastata julkaisuun:'
+  scheduled_statuses:
+    over_daily_limit: Olet ylittänyt %{limit} ajoitetun viestin rajan tälle päivälle
+    over_total_limit: Olet ylittänyt %{limit} ajoitetun viestin rajan
+    too_soon: Ajoitetun päivämäärän on oltava tulevaisuudessa
   sessions:
     activity: Viimeisin toiminta
     browser: Selain
@@ -1100,8 +1184,13 @@ fi:
       chrome: Chrome
       edge: Microsoft Edge
       electron: Electron
+      firefox: Firefox
       generic: Tuntematon selain
+      ie: Internet Explorer
+      micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi -selain
+      opera: Opera
+      otter: Otter
       phantom_js: PhantomJS
       qq: QQ Browser
       safari: Safari
@@ -1127,6 +1216,7 @@ fi:
     revoke: Hylkää
     revoke_success: Istunnon hylkäys onnistui
     title: Istunnot
+    view_authentication_history: Näytä tilisi todennushistoria
   settings:
     account: Tili
     account_settings: Tilin asetukset
@@ -1145,25 +1235,34 @@ fi:
     notifications: Ilmoitukset
     preferences: Ominaisuudet
     profile: Profiili
-    relationships: Seurattavat ja seuraajat
+    relationships: Seuratut ja seuraajat
+    statuses_cleanup: Automaattinen viestin poisto
     two_factor_authentication: Kaksivaiheinen todentaminen
+    webauthn_authentication: Suojausavaimet
   statuses:
     attached:
+      audio:
+        one: "%{count} ääni"
+        other: "%{count} ääntä"
       description: 'Liitetty: %{attached}'
       image:
         one: "%{count} kuva"
         other: "%{count} kuvaa"
+      video:
+        one: "%{count} video"
+        other: "%{count} videota"
+    boosted_from_html: Tehostettu %{acct_link}
     content_warning: 'Sisältövaroitus: %{warning}'
     disallowed_hashtags:
       one: 'sisälsi aihetunnisteen jota ei sallita: %{tags}'
       other: 'sisälsi aihetunnisteet joita ei sallita: %{tags}'
-    language_detection: Tunnista kieli automaattisesti
+    errors:
+      in_reply_not_found: Viesti, johon yrität vastata, ei näytä olevan olemassa.
     open_in_web: Avaa selaimessa
     over_character_limit: merkkimäärän rajoitus %{max} ylitetty
     pin_errors:
       limit: Olet jo kiinnittänyt suurimman mahdollisen määrän tuuttauksia
       ownership: Muiden tuuttauksia ei voi kiinnittää
-      private: Piilotettua tuuttausta ei voi kiinnittää
       reblog: Buustausta ei voi kiinnittää
     poll:
       total_people:
@@ -1195,6 +1294,7 @@ fi:
     ignore_favs: Ohita suosikit
     ignore_reblogs: Ohita tehostukset
     interaction_exceptions: Poikkeukset, jotka perustuvat vuorovaikutukseen
+    interaction_exceptions_explanation: Huomaa, että ei ole takeita viestien poistamiselle, jos ne alittavat suosikki- tai tehostusrajan sen jälkeen, kun ne on kerran ylitetty.
     keep_direct: Säilytä suorat viestit
     keep_media: Säilytä viestit, joissa on liitetiedostoja
     keep_media_hint: Ei poista viestejä, joissa on liitteitä
@@ -1210,10 +1310,11 @@ fi:
       '1209600': 2 viikkoa
       '15778476': 6 kuukautta
       '2629746': 1 kuukausi
-      '31556952': 1 year
-      '5259492': 2 months
-      '63113904': 2 years
-      '7889238': 3 months
+      '31556952': 1 vuosi
+      '5259492': 2 kuukautta
+      '63113904': 2 vuotta
+      '7889238': 3 kuukautta
+    min_age_label: Ikäraja
   stream_entries:
     pinned: Kiinnitetty tuuttaus
     reblogged: buustasi
@@ -1221,26 +1322,46 @@ fi:
   terms:
     title: "%{instance}, käyttöehdot ja tietosuojakäytäntö"
   themes:
-    default: Mastodon
+    contrast: Mastodon (Korkea kontrasti)
+    default: Mastodon (Tumma)
+    mastodon-light: Mastodon (Vaalea)
   time:
     formats:
       default: "%d.%m.%Y klo %H.%M"
+      month: "%b %Y"
   two_factor_authentication:
+    add: Lisää
     disable: Poista käytöstä
+    edit: Muokkaa
     enabled: Kaksivaiheinen todentaminen käytössä
     enabled_success: Kaksivaiheisen todentamisen käyttöönotto onnistui
     generate_recovery_codes: Luo palautuskoodit
     lost_recovery_codes: Palautuskoodien avulla voit käyttää tiliä, jos menetät puhelimesi. Jos olet hukannut palautuskoodit, voit luoda uudet tästä. Vanhat palautuskoodit poistetaan käytöstä.
+    methods: Kaksivaiheisen tunnistautumisen menetelmät
+    otp: Todennussovellus
     recovery_codes: Varapalautuskoodit
     recovery_codes_regenerated: Uusien palautuskoodien luonti onnistui
     recovery_instructions_html: Jos menetät puhelimesi, voit kirjautua tilillesi jollakin alla olevista palautuskoodeista. <strong>Pidä palautuskoodit hyvässä tallessa</strong>. Voit esimerkiksi tulostaa ne ja säilyttää muiden tärkeiden papereiden joukossa.
+    webauthn: Suojausavaimet
   user_mailer:
     backup_ready:
       explanation: Pyysit täydellistä varmuuskopiota Mastodon-tilistäsi. Voit nyt ladata sen!
       subject: Arkisto on valmiina ladattavaksi
       title: Arkiston tallennus
+    sign_in_token:
+      details: 'Tässä yrityksen yksityiskohtia:'
+      explanation: 'Tunnistimme sisäänkirjautumisyrityksen tunnistamattomasta IP-osoitteesta. Jos se olit sinä, syötä alla oleva turvakoodi sisäänkirjautumissivulle:'
+      further_actions: 'Jos tämä et ollut sinä, vaihda salasanasi ja ota käyttöön kaksivaiheinen todennus tililläsi. Voit tehdä sen täällä:'
+      subject: Ole hyvä ja vahvista sisäänkirjautumisyritys
+      title: Sisäänkirjautumisyritys
     warning:
+      review_server_policies: Tarkista palvelimen käytännöt
+      subject:
+        disable: Tilisi %{acct} on jäädytetty
+        none: Varoitus %{acct}
       title:
+        disable: Tili jäädytetty
+        none: Varoitus
         silence: Rajoitettu tili
         suspend: Tilin käyttäminen keskeytetty
     welcome:
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index 6fc840824..7fde95d4f 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -16,14 +16,14 @@ fr:
     contact: Contact
     contact_missing: Non défini
     contact_unavailable: Non disponible
-    discover_users: Découvrez des utilisateur·rice·s
+    discover_users: Découvrez des utilisateurs
     documentation: Documentation
     federation_hint_html: Avec un compte sur %{instance}, vous pourrez suivre les gens sur n’importe quel serveur Mastodon et au-delà.
     get_apps: Essayez une application mobile
     hosted_on: Serveur Mastodon hébergé par %{domain}
     instance_actor_flash: |
-      Ce compte est un acteur virtuel utilisé pour représenter le serveur lui-même et non un utilisateur individuel.
-      Il est utilisé à des fins de fédération et ne doit pas être bloqué à moins que vous ne vouliez bloquer l’instance entière, auquel cas vous devriez utiliser un bloqueur de domaine.
+      Ce compte est un acteur virtuel utilisé pour représenter le serveur lui-même et non un·e utilisateur·rice individuel·le.
+      Il est utilisé à des fins de fédération et ne doit pas être bloqué à moins que vous ne vouliez bloquer l’instance entière, auquel cas vous devriez utiliser un blocage de domaine.
     learn_more: En savoir plus
     privacy_policy: Politique de confidentialité
     rules: Règles du serveur
@@ -43,14 +43,14 @@ fr:
       reason: Motif
       rejecting_media: 'Les fichiers média de ces serveurs ne seront ni traités ni stockés, et aucune miniature ne sera affichée, rendant nécessaire de cliquer vers le fichier d’origine :'
       rejecting_media_title: Médias filtrés
-      silenced: 'Les messages de ces serveurs seront cachés des flux publics et conversations, et les interactions de leurs utilisateurs ne donneront lieu à aucune notification, à moins que vous ne les suiviez :'
+      silenced: 'Les messages de ces serveurs seront cachés des flux publics et conversations, et les interactions de leurs utilisateur·rice·s ne donneront lieu à aucune notification, à moins que vous ne les suiviez :'
       silenced_title: Serveurs masqués
-      suspended: 'Aucune donnée venant de ces serveurs ne sera traitée, stockée ou échangée, rendant impossible toute interaction ou communication avec les utilisateurs de ces serveurs :'
+      suspended: 'Aucune donnée venant de ces serveurs ne sera traitée, stockée ou échangée, rendant impossible toute interaction ou communication avec les utilisateur·rice·s de ces serveurs :'
       suspended_title: Serveurs suspendus
     unavailable_content_html: Mastodon vous permet généralement de visualiser le contenu et d'interagir avec les utilisateur·rice·s de n'importe quel autre serveur dans le fédiverse. Voici les exceptions qui ont été faites sur ce serveur en particulier.
     user_count_after:
       one: utilisateur
-      other: utilisateurs
+      other: utilisateur·rice·s
     user_count_before: Abrite
     what_is_mastodon: Qu’est-ce que Mastodon ?
   accounts:
@@ -59,11 +59,11 @@ fr:
     featured_tags_hint: Vous pouvez mettre en avant certains hashtags qui seront affichés ici.
     follow: Suivre
     followers:
-      one: Abonné
+      one: Abonné·e
       other: Abonné·e·s
     following: Abonnements
     instance_actor_flash: Ce compte est un acteur virtuel utilisé pour représenter le serveur lui-même et non un utilisateur individuel. Il est utilisé à des fins de fédération et ne doit pas être suspendu.
-    joined: Inscrit en %{date}
+    joined: Inscrit·e en %{date}
     last_active: dernière activité
     link_verified_on: La propriété de ce lien a été vérifiée le %{date}
     media: Médias
@@ -74,7 +74,7 @@ fr:
     people_followed_by: Personnes suivies par %{name}
     people_who_follow: Personnes qui suivent %{name}
     pin_errors:
-      following: Vous devez être déjà abonné à la personne que vous désirez recommander
+      following: Vous devez être déjà abonné·e à la personne que vous désirez recommander
     posts:
       one: Message
       other: Messages
@@ -84,7 +84,7 @@ fr:
       admin: Admin
       bot: Robot
       group: Groupe
-      moderator: Modérateur
+      moderator: Modérateur·trice
     unavailable: Profil non disponible
     unfollow: Ne plus suivre
   admin:
@@ -99,7 +99,6 @@ fr:
     accounts:
       add_email_domain_block: Mettre le domaine du courriel sur liste noire
       approve: Approuver
-      approve_all: Tout approuver
       approved_msg: La demande d’inscription de %{username} a été approuvée avec succès
       are_you_sure: Voulez-vous vraiment faire ça ?
       avatar: Avatar
@@ -114,6 +113,7 @@ fr:
       confirm: Confirmer
       confirmed: Confirmé
       confirming: Confirmation
+      custom: Personnalisé
       delete: Supprimer les données
       deleted: Supprimé
       demote: Rétrograder
@@ -131,14 +131,14 @@ fr:
       enable_sign_in_token_auth: Activer l'authentification basée sur les jetons envoyés par courriel
       enabled: Activé
       enabled_msg: Le compte de %{username} a été débloqué avec succès
-      followers: Abonnés
+      followers: Abonné·e·s
       follows: Abonnements
       header: Entête
       inbox_url: URL d’entrée
       invite_request_text: Raisons de l’adhésion
       invited_by: Invité par
       ip: Adresse IP
-      joined: Inscrit depuis
+      joined: Inscrit·e depuis
       location:
         all: Tous
         local: Local
@@ -146,14 +146,13 @@ fr:
         title: Situation
       login_status: Statut de connexion
       media_attachments: Fichiers médias
-      memorialize: Convertir en mémorial
-      memorialized: Mis en mémoire
+      memorialize: Ériger en mémorial
+      memorialized: Compte érigé en mémorial
       memorialized_msg: Transformation réussie de %{username} en un compte mémorial
       moderation:
         active: Actifs
         all: Tous
         pending: En cours de traitement
-        silenced: Masqués
         suspended: Suspendus
         title: Modération
       moderation_notes: Notes de modération
@@ -171,14 +170,13 @@ fr:
       redownload: Rafraîchir le profil
       redownloaded_msg: Le profil de %{username} a été actualisé avec succès depuis l’origine
       reject: Rejeter
-      reject_all: Tout rejeter
       rejected_msg: La demande d’inscription de %{username} a été rejetée avec succès
       remove_avatar: Supprimer l’avatar
       remove_header: Supprimer l’entête
       removed_avatar_msg: L’avatar de %{username} a été supprimé avec succès
       removed_header_msg: L’image d’en-tête de %{username} a été supprimée avec succès
       resend_confirmation:
-        already_confirmed: Cet utilisateur est déjà confirmé
+        already_confirmed: Cet·te utilisateur·rice est déjà confirmé·e
         send: Renvoyer un courriel de confirmation
         success: Courriel de confirmation envoyé avec succès !
       reset: Réinitialiser
@@ -191,8 +189,8 @@ fr:
         staff: Équipe
         user: Utilisateur
       search: Rechercher
-      search_same_email_domain: Autres utilisateurs avec le même domaine de courriel
-      search_same_ip: Autres utilisateurs avec la même IP
+      search_same_email_domain: Autres utilisateurs·trices avec le même domaine de courriel
+      search_same_ip: Autres utilisateur·rice·s avec la même IP
       security_measures:
         only_password: Mot de passe uniquement
         password_and_2fa: Mot de passe et 2FA
@@ -206,12 +204,14 @@ fr:
       silence: Masquer
       silenced: Masqué
       statuses: Statuts
+      strikes: Punitions précédentes
       subscribe: S’abonner
       suspended: Suspendu
       suspension_irreversible: Les données de ce compte ont été irréversiblement supprimées. Vous pouvez annuler la suspension du compte pour le rendre utilisable, mais il ne récupérera aucune donnée qu’il avait auparavant.
       suspension_reversible_hint_html: Le compte a été suspendu et les données seront complètement supprimées le %{date}. D’ici là, le compte peut être restauré sans aucun effet néfaste. Si vous souhaitez supprimer toutes les données du compte immédiatement, vous pouvez le faire ci-dessous.
-      time_in_queue: En file d’attente %{time}
       title: Comptes
+      unblock_email: Débloquer l'adresse courriel
+      unblocked_email_msg: L'adresse courriel de %{username} a été débloquée avec succès
       unconfirmed_email: Courriel non confirmé
       undo_sensitized: Annuler sensible
       undo_silenced: Ne plus masquer
@@ -219,13 +219,14 @@ fr:
       unsilenced_msg: Le compte de %{username} a été illimité avec succès
       unsubscribe: Se désabonner
       unsuspended_msg: Le compte de %{username} a été réactivé avec succès
-      username: Nom d’utilisateur
+      username: Nom d’utilisateur·ice
       view_domain: Voir le résumé du domaine
       warn: Avertissement
       web: Web
       whitelisted: Sur liste blanche
     action_logs:
       action_types:
+        approve_user: Approuver l’utilisateur
         assigned_to_self_report: Affecter le signalement
         change_email_user: Modifier le courriel pour
         confirm_user: Confirmer l’utilisateur
@@ -237,24 +238,26 @@ fr:
         create_email_domain_block: Créer un blocage de domaine de courriel
         create_ip_block: Créer une règle IP
         create_unavailable_domain: Créer un domaine indisponible
-        demote_user: Rétrograder l’utilisateur
+        demote_user: Rétrograder l’utilisateur·ice
         destroy_announcement: Supprimer l’annonce
         destroy_custom_emoji: Supprimer des émojis personnalisés
         destroy_domain_allow: Supprimer le domaine autorisé
         destroy_domain_block: Supprimer le blocage de domaine
         destroy_email_domain_block: Supprimer le blocage de domaine de courriel
+        destroy_instance: Purge du domaine
         destroy_ip_block: Supprimer la règle IP
         destroy_status: Supprimer le statut
         destroy_unavailable_domain: Supprimer le domaine indisponible
         disable_2fa_user: Désactiver l’A2F
         disable_custom_emoji: Désactiver les émojis personnalisés
-        disable_sign_in_token_auth_user: Désactiver l'authentification basée sur les jetons envoyés par courriel pour l'utilisateur
-        disable_user: Désactiver l’utilisateur
+        disable_sign_in_token_auth_user: Désactiver l'authentification basée sur les jetons envoyés par courriel pour l'utilisateur·rice
+        disable_user: Désactiver le compte
         enable_custom_emoji: Activer les émojis personnalisées
-        enable_sign_in_token_auth_user: Activer l'authentification basée sur les jetons envoyés par courriel pour l'utilisateur
+        enable_sign_in_token_auth_user: Activer l'authentification basée sur les jetons envoyés par courriel pour l'utilisateur·rice
         enable_user: Activer l’utilisateur
-        memorialize_account: Se souvenir du compte
+        memorialize_account: Ériger en mémorial
         promote_user: Promouvoir l’utilisateur
+        reject_user: Rejeter l’utilisateur
         remove_avatar_user: Supprimer l’avatar
         reopen_report: Rouvrir le signalement
         reset_password_user: Réinitialiser le mot de passe
@@ -263,6 +266,7 @@ fr:
         silence_account: Masque le compte
         suspend_account: Suspendre le compte
         unassigned_report: Ne plus assigner le signalement
+        unblock_email_account: Débloquer l'adresse courriel
         unsensitive_account: Ne pas marquer les médias de votre compte comme sensibles
         unsilence_account: Ne plus masquer le compte
         unsuspend_account: Annuler la suspension du compte
@@ -271,9 +275,10 @@ fr:
         update_domain_block: Mettre à jour le blocage de domaine
         update_status: Mettre à jour le statut
       actions:
-        assigned_to_self_report_html: "%{name} s’est assigné le signalement de %{target}"
-        change_email_user_html: "%{name} a modifié l'adresse de courriel de l'utilisateur %{target}"
-        confirm_user_html: "%{name} a confirmé l'adresse courriel de l'utilisateur·rice %{target}"
+        approve_user_html: "%{name} a approuvé l’inscription de %{target}"
+        assigned_to_self_report_html: "%{name} s’est assigné·e le signalement de %{target}"
+        change_email_user_html: "%{name} a modifié l'adresse de courriel de l'utilisateur·rice %{target}"
+        confirm_user_html: "%{name} a confirmé l'adresse courriel de l'utilisateur %{target}"
         create_account_warning_html: "%{name} a envoyé un avertissement à %{target}"
         create_announcement_html: "%{name} a créé une nouvelle annonce %{target}"
         create_custom_emoji_html: "%{name} a téléversé un nouvel émoji %{target}"
@@ -282,32 +287,35 @@ fr:
         create_email_domain_block_html: "%{name} a bloqué de domaine de courriel %{target}"
         create_ip_block_html: "%{name} a créé une règle pour l'IP %{target}"
         create_unavailable_domain_html: "%{name} a arrêté la livraison vers le domaine %{target}"
-        demote_user_html: "%{name} a rétrogradé l'utilisateur %{target}"
+        demote_user_html: "%{name} a rétrogradé l'utilisateur·rice %{target}"
         destroy_announcement_html: "%{name} a supprimé l'annonce %{target}"
         destroy_custom_emoji_html: "%{name} a détruit l'émoji %{target}"
         destroy_domain_allow_html: "%{name} a rejeté la fédération avec le domaine %{target}"
         destroy_domain_block_html: "%{name} a débloqué le domaine %{target}"
         destroy_email_domain_block_html: "%{name} a débloqué le domaine de courriel %{target}"
+        destroy_instance_html: "%{name} a purgé le domaine %{target}"
         destroy_ip_block_html: "%{name} a supprimé la règle pour l'IP %{target}"
         destroy_status_html: "%{name} a supprimé le statut de %{target}"
         destroy_unavailable_domain_html: "%{name} a repris la livraison au domaine %{target}"
-        disable_2fa_user_html: "%{name} a désactivé l'authentification à deux facteurs pour l'utilisateur %{target}"
+        disable_2fa_user_html: "%{name} a désactivé l'authentification à deux facteurs pour l'utilisateur·rice %{target}"
         disable_custom_emoji_html: "%{name} a désactivé l'émoji %{target}"
         disable_sign_in_token_auth_user_html: "%{name} a désactivé l'authentification basée sur les jetons envoyés par courriel pour %{target}"
-        disable_user_html: "%{name} a désactivé la connexion de l'utilisateur %{target}"
+        disable_user_html: "%{name} a désactivé la connexion de l'utilisateur·rice %{target}"
         enable_custom_emoji_html: "%{name} a activé l'émoji %{target}"
         enable_sign_in_token_auth_user_html: "%{name} a activé l'authentification basée sur les jetons envoyés par courriel pour %{target}"
-        enable_user_html: "%{name} a activé la connexion de l'utilisateur %{target}"
+        enable_user_html: "%{name} a activé la connexion de l'utilisateur·rice %{target}"
         memorialize_account_html: "%{name} a converti le compte de %{target} en un mémorial"
-        promote_user_html: "%{name} a promu l'utilisateur %{target}"
+        promote_user_html: "%{name} a promu l'utilisateur·rice %{target}"
+        reject_user_html: "%{name} a rejeté l’inscription de %{target}"
         remove_avatar_user_html: "%{name} a supprimé l'avatar de %{target}"
         reopen_report_html: "%{name} a rouvert le signalement %{target}"
-        reset_password_user_html: "%{name} a réinitialisé le mot de passe de l'utilisateur %{target}"
+        reset_password_user_html: "%{name} a réinitialisé le mot de passe de l'utilisateur·rice %{target}"
         resolve_report_html: "%{name} a résolu le signalement %{target}"
         sensitive_account_html: "%{name} a marqué le média de %{target} comme sensible"
         silence_account_html: "%{name} a masqué le compte de %{target}"
         suspend_account_html: "%{name} a suspendu le compte de %{target}"
         unassigned_report_html: "%{name} a désassigné le signalement %{target}"
+        unblock_email_account_html: "%{name} a débloqué l'adresse courriel de %{target}"
         unsensitive_account_html: "%{name} a enlevé le marquage comme sensible du média de %{target}"
         unsilence_account_html: "%{name} a enlevé le masquage du compte de %{target}"
         unsuspend_account_html: "%{name} a réactivé le compte de %{target}"
@@ -318,7 +326,7 @@ fr:
       deleted_status: "(statut supprimé)"
       empty: Aucun journal trouvé.
       filter_by_action: Filtrer par action
-      filter_by_user: Filtrer par utilisateur
+      filter_by_user: Filtrer par utilisateur·ice
       title: Journal d’audit
     announcements:
       destroyed_msg: Annonce supprimée avec succès !
@@ -346,7 +354,7 @@ fr:
       create_new_category: Créer une nouvelle catégorie
       created_msg: Émoji créé avec succès !
       delete: Supprimer
-      destroyed_msg: Émoji supprimé avec succès!
+      destroyed_msg: Émoji supprimé avec succès !
       disable: Désactiver
       disabled: Désactivé
       disabled_msg: Émoji désactivé avec succès
@@ -368,7 +376,7 @@ fr:
       unlist: Délister
       unlisted: Délisté
       update_failed_msg: Cet émoji n'a pas pu être mis à jour
-      updated_msg: Émoji mis à jour avec succès!
+      updated_msg: Émoji mis à jour avec succès !
       upload: Téléverser
     dashboard:
       active_users: utilisateurs actifs
@@ -383,8 +391,8 @@ fr:
         one: "<strong>1</strong> hashtag en attente"
         other: "<strong>%{count}</strong> hashtags en attente"
       pending_users_html:
-        one: "<strong>1</strong> utilisateur en attente"
-        other: "<strong>%{count}</strong> utilisateurs en attente"
+        one: "<strong>1</strong> utilisateur·rice en attente"
+        other: "<strong>%{count}</strong> utilisateur·rice·s en attente"
       resolved_reports: rapports résolus
       software: Logiciel
       sources: Sources d'inscription
@@ -403,7 +411,7 @@ fr:
       created_msg: Le blocage de domaine est désormais activé
       destroyed_msg: Le blocage de domaine a été désactivé
       domain: Domaine
-      edit: Modifier le bloqueur de domaine
+      edit: Modifier le blocage de domaine
       existing_domain_block_html: Vous avez déjà imposé des limites plus strictes à %{name}, vous devez d’abord le <a href="%{unblock_url}">débloquer</a>.
       new:
         create: Créer le blocage
@@ -438,8 +446,8 @@ fr:
           suspend: Annuler la suspension des comptes existants affectés pour ce domaine
         title: Annuler le blocage du domaine %{domain}
         undo: Annuler
-      undo: Annuler le bloqueur de domaine
-      view: Afficher les bloqueurs de domaines
+      undo: Annuler le blocage de domaine
+      view: Afficher les blocages de domaines
     email_domain_blocks:
       add_new: Ajouter
       created_msg: Le blocage de domaine de courriel est désormais activé
@@ -453,7 +461,7 @@ fr:
         title: Nouveau blocage de domaine de courriel
       title: Blocage de domaines de courriel
     follow_recommendations:
-      description_html: "<strong>Les recommandations d'abonnement aident les nouvelles personnes à trouver rapidement du contenu intéressant</strong>. Si un utilisateur n'a pas assez interagi avec les autres pour avoir des recommandations personnalisées, ces comptes sont alors recommandés. La sélection est mise à jour quotidiennement depuis un mélange de comptes ayant le plus d'interactions récentes et le plus grand nombre d'abonnés locaux pour une langue donnée."
+      description_html: "<strong>Les recommandations d'abonnement aident les nouvelles personnes à trouver rapidement du contenu intéressant</strong>. Si un·e utilisateur·rice n'a pas assez interagi avec les autres pour avoir des recommandations personnalisées, ces comptes sont alors recommandés. La sélection est mise à jour quotidiennement depuis un mélange de comptes ayant le plus d'interactions récentes et le plus grand nombre d'abonné·e·s locaux pour une langue donnée."
       language: Pour la langue
       status: État
       suppress: Supprimer les recommandations d'abonnement
@@ -465,6 +473,7 @@ fr:
       back_to_limited: Limité
       back_to_warning: Avertissement
       by_domain: Domaine
+      confirm_purge: Êtes-vous sûr de vouloir supprimer définitivement les données de ce domaine ?
       delivery:
         all: Tout
         clear: Effacer les erreurs de livraison
@@ -480,6 +489,7 @@ fr:
       delivery_available: Livraison disponible
       delivery_error_days: Jours d'erreur de livraison
       delivery_error_hint: Si la livraison n'est pas possible pendant %{count} jours, elle sera automatiquement marquée comme non livrable.
+      destroyed_msg: Les données de %{domain} sont maintenant en file d'attente pour une suppression imminente.
       empty: Aucun domaine trouvé.
       known_accounts:
         one: "%{count} compte connu"
@@ -490,6 +500,7 @@ fr:
         title: Modération
       private_comment: Commentaire privé
       public_comment: Commentaire public
+      purge: Purge
       title: Fédération
       total_blocked_by_us: Bloqués par nous
       total_followed_by_them: Suivi par eux
@@ -519,8 +530,6 @@ fr:
         title: Créer une nouvelle règle IP
       no_ip_block_selected: Aucune règle IP n’a été modifiée car aucune n’a été sélectionnée
       title: Règles IP
-    pending_accounts:
-      title: Comptes en attente (%{count})
     relationships:
       title: Relations de %{acct}
     relays:
@@ -542,32 +551,44 @@ fr:
     report_notes:
       created_msg: Note de signalement créée avec succès !
       destroyed_msg: Note de signalement effacée avec succès !
+      today_at: Aujourd'hui à %{time}
     reports:
       account:
         notes:
           one: "%{count} note"
           other: "%{count} notes"
-        reports:
-          one: "%{count} signalement"
-          other: "%{count} signalements"
+      action_log: Journal d’audit
       action_taken_by: Intervention de
+      actions:
+        other_description_html: Voir plus d'options pour contrôler le comportement du compte et personnaliser la communication vers le compte signalé.
+        silence_description_html: Le profil ne sera visible que pour ceux qui le suivent déjà ou le consultent manuellement, ce qui limite considérablement sa portée. Peut toujours être restauré.
+        suspend_description_html: Le profil et tout son contenu deviendront inaccessibles jusqu'à ce qu'il soit éventuellement supprimé. Interagir avec le compte sera impossible. Réversible dans les 30 jours.
+      actions_description_html: 'Si la suppression du contenu offensant ci-dessus est insuffisante :'
+      add_to_report: Ajouter davantage au rapport
       are_you_sure: Voulez-vous vraiment faire ça ?
       assign_to_self: Me l’assigner
       assigned: Modérateur assigné
       by_target_domain: Domaine du compte signalé
+      category: Catégorie
+      category_description_html: La raison pour laquelle ce compte et/ou ce contenu a été signalé sera citée dans la communication avec le compte signalé
       comment:
         none: Aucun
+      comment_description_html: 'Pour fournir plus d''informations, %{name} a écrit :'
       created_at: Signalé
+      delete_and_resolve: Supprimer et résoudre
       forwarded: Transféré
       forwarded_to: Transféré à %{domain}
       mark_as_resolved: Marquer comme résolu
       mark_as_unresolved: Marquer comme non-résolu
+      no_one_assigned: Personne
       notes:
         create: Ajouter une note
         create_and_resolve: Résoudre avec une note
         create_and_unresolve: Ré-ouvrir avec une note
         delete: Supprimer
         placeholder: Décrivez quelles actions ont été prises, ou toute autre mise à jour…
+        title: Remarques
+      notes_description_html: Voir et laisser des notes aux autres modérateurs et à votre futur moi-même
       reopen: Ré-ouvrir le signalement
       report: 'Signalement #%{id}'
       reported_account: Compte signalé
@@ -575,25 +596,28 @@ fr:
       resolved: Résolus
       resolved_msg: Signalement résolu avec succès !
       status: Statut
+      statuses: Contenu signalé
+      statuses_description_html: Le contenu offensant sera cité dans la communication avec le compte signalé
       target_origin: Origine du compte signalé
       title: Signalements
       unassign: Dés-assigner
       unresolved: Non résolus
       updated_at: Mis à jour
+      view_profile: Voir le profil
     rules:
       add_new: Ajouter une règle
       delete: Supprimer
-      description_html: Bien que la plupart des gens prétende avoir lu les conditions d'utilisation avant de les accepter, généralement les utilisateurs ne les lisent vraiment que lorsque un problème apparaît. <strong>Pour faciliter la visualisation des règles de votre serveur en un seul coup d’œil, présentez-les sous la forme d'une liste à puces !</strong> Essayez de garder chacune des règles simple et concise, mais faites attention à ne pas non plus les diviser en de trop nombreux éléments distincts.
+      description_html: Bien que la plupart des gens prétende avoir lu les conditions d'utilisation avant de les accepter, généralement les utilisateur·rice·s ne les lisent vraiment que lorsque un problème apparaît. <strong>Pour faciliter la visualisation des règles de votre serveur en un seul coup d’œil, présentez-les sous la forme d'une liste à puces !</strong> Essayez de garder chacune des règles simple et concise, mais faites attention à ne pas non plus les diviser en de trop nombreux éléments distincts.
       edit: Modifier la règle
       empty: Aucune règle de serveur n'a été définie pour l'instant.
       title: Règles du serveur
     settings:
       activity_api_enabled:
-        desc_html: Nombre de statuts affichés localement, de comptes actifs et de nouvelles inscriptions regroupés par semaine
-        title: Publier des statistiques agrégées sur l’activité des utilisateurs
+        desc_html: Nombre de messages publiés localement, de comptes actifs et de nouvelles inscriptions regroupés par semaine
+        title: Publier des statistiques agrégées sur l’activité des utilisateur·rice·s
       bootstrap_timeline_accounts:
-        desc_html: Séparez les noms d’utilisateurs par des virgules. Ne fonctionne qu’avec des comptes locaux et non verrouillés. Si laissé vide, tous les administrateurs locaux sont sélectionnés
-        title: Abonnements par défaut pour les nouveaux utilisateurs
+        desc_html: Séparez les noms d'utilisateur·rice·s par des virgules. Ces comptes seront affichés dans les recommendations d'abonnement
+        title: Recommender ces comptes aux nouveaux·elles utilisateur·rice·s
       contact_information:
         email: Entrez une adresse courriel publique
         username: Entrez un nom d’utilisateur·ice
@@ -606,8 +630,8 @@ fr:
       domain_blocks:
         all: À tout le monde
         disabled: À personne
-        title: Afficher les bloqueurs de domaines
-        users: Aux utilisateurs connectés localement
+        title: Afficher le blocage de domaines
+        users: Aux utilisateur·rice·s connecté·e·s localement
       domain_blocks_rationale:
         title: Montrer la raison
       hero:
@@ -618,19 +642,19 @@ fr:
         title: Image de la mascotte
       peers_api_enabled:
         desc_html: Noms des domaines que ce serveur a découvert dans le fédiverse
-        title: Publier la liste des serveurs découverts
+        title: Publier la liste des serveurs découverts dans l’API
       preview_sensitive_media:
         desc_html: Les aperçus de lien sur les autres sites web afficheront une vignette même si les médias sont marqués comme sensibles
         title: Montrer les médias sensibles dans les prévisualisations OpenGraph
       profile_directory:
-        desc_html: Permettre aux utilisateurs d’être découverts
+        desc_html: Permettre aux utilisateur·ice·s d’être découvert·e·s
         title: Activer l’annuaire des profils
       registrations:
         closed_message:
           desc_html: Affiché sur la page d’accueil lorsque les inscriptions sont fermées. Vous pouvez utiliser des balises HTML
           title: Message de fermeture des inscriptions
         deletion:
-          desc_html: Permettre à tous les utilisateurs de supprimer leur compte
+          desc_html: Permettre à tou·te·s les utilisateur·rice·s de supprimer leur compte
           title: Autoriser les suppressions de compte
         min_invite_role:
           disabled: Personne
@@ -648,7 +672,7 @@ fr:
         desc_html: Lorsque désactivée, restreint le fil public accessible via la page d’accueil de l’instance pour ne montrer que le contenu local
         title: Inclure le contenu fédéré sur la page de fil public sans authentification
       show_staff_badge:
-        desc_html: Montrer un badge de responsable sur une page utilisateur
+        desc_html: Montrer un badge de responsable sur une page utilisateur·rice
         title: Montrer un badge de responsable
       site_description:
         desc_html: Paragraphe introductif sur la page d’accueil. Décrivez ce qui rend spécifique ce serveur Mastodon et toute autre chose importante. Vous pouvez utiliser des balises HTML, en particulier <code>&lt;a&gt;</code> et <code>&lt;em&gt;</code>.
@@ -681,15 +705,13 @@ fr:
       destroyed_msg: Téléversement sur le site supprimé avec succès !
     statuses:
       back_to_account: Retour à la page du compte
+      back_to_report: Retour à la page du rapport
       batch:
-        delete: Supprimer
-        nsfw_off: Marquer comme non-sensible
-        nsfw_on: Marquer comme sensible
+        remove_from_report: Retirer du rapport
+        report: Signalement
       deleted: Supprimé
-      failed_to_execute: Erreur d’exécution
       media:
         title: Médias
-      no_media: Aucun média
       no_status_selected: Aucun statut n’a été modifié car aucun n’a été sélectionné
       title: Statuts du compte
       with_media: Avec médias
@@ -702,21 +724,51 @@ fr:
       sidekiq_process_check:
         message_html: Aucun processus Sidekiq en cours d'exécution pour la/les file(s) d'attente %{value}. Veuillez vérifier votre configuration de Sidekiq
     tags:
-      accounts_today: Utilisations uniques aujourd'hui
-      accounts_week: Utilisation unique cette semaine
-      breakdown: Répartition de l’utilisation actuelle par source
-      last_active: Dernière activité
-      most_popular: Plus populaire
-      most_recent: Plus récent
-      name: Hashtag
       review: État du traitement
-      reviewed: Traité
-      title: Hashtags
-      trending_right_now: Populaire en ce moment
-      unique_uses_today: "%{count} publications aujourd'hui"
-      unreviewed: Non traité
       updated_msg: Paramètres du hashtag mis à jour avec succès
     title: Administration
+    trends:
+      allow: Autoriser
+      approved: Approuvé
+      disallow: Interdire
+      links:
+        allow: Autoriser le lien
+        allow_provider: Autoriser l'éditeur
+        disallow: Interdire le lien
+        disallow_provider: Interdire l'éditeur
+        shared_by_over_week:
+          one: Partagé par une personne au cours de la dernière semaine
+          other: Partagé par %{count} personnes au cours de la dernière semaine
+        title: Liens tendances
+        usage_comparison: Partagé %{today} fois aujourd'hui, comparé à %{yesterday} hier
+      pending_review: En attente de révision
+      preview_card_providers:
+        allowed: Les liens de cet éditeur peuvent être tendance
+        rejected: Les liens de cet éditeur ne seront pas considérés tendance
+        title: Éditeurs
+      rejected: Rejeté
+      tags:
+        current_score: Score actuel %{score}
+        dashboard:
+          tag_accounts_measure: utilisations uniques
+          tag_languages_dimension: Langues principales
+          tag_servers_dimension: Meilleurs serveurs
+          tag_servers_measure: différents serveurs
+          tag_uses_measure: utilisations totales
+        listable: Peut être suggéré
+        not_listable: Ne sera pas suggéré
+        not_trendable: N'apparaîtra pas sous les tendances
+        not_usable: Ne peut être utilisé
+        peaked_on_and_decaying: A atteint son maximum le %{date}, maintenant en déclin
+        title: Hashtags tendance
+        trendable: Peut apparaître sous les tendances
+        trending_rank: 'Tendance #%{rank}'
+        usable: Peut être utilisé
+        usage_comparison: Utilisé %{today} fois aujourd'hui, comparé à %{yesterday} hier
+        used_by_over_week:
+          one: Utilisé par une personne au cours de la dernière semaine
+          other: Utilisé par %{count} personnes au cours de la dernière semaine
+      title: Tendances
     warning_presets:
       add_new: Ajouter un nouveau
       delete: Supprimer
@@ -731,9 +783,16 @@ fr:
       body: "%{reporter} a signalé %{target}"
       body_remote: Quelqu’un de %{domain} a signalé %{target}
       subject: Nouveau signalement sur %{instance} (#%{id})
-    new_trending_tag:
-      body: 'Le hashtag #%{name} est dans les tendances aujourd’hui, mais il n’a pas encore été approuvé. Il ne sera pas affiché publiquement à moins que vous l’autorisiez. Sauvegardez simplement ce formulaire tel quel pour ne plus jamais en entendre parler.'
-      subject: Nouveau hashtag en attente d’approbation sur %{instance} (#%{name})
+    new_trending_links:
+      body: Les liens suivants sont tendance aujourd'hui, mais leurs éditeurs n'ont pas été révisés auparavant. Ils ne seront pas affichés publiquement à moins que vous ne les approuviez. De nouvelles notifications provenant des mêmes éditeurs ne seront pas générées.
+      no_approved_links: Il n'y a actuellement aucun lien tendance approuvé.
+      requirements: Le lien tendance le plus bas est actuellement "%{lowest_link_title}" avec un score de %{lowest_link_score}.
+      subject: Nouveaux liens tendance à examiner sur %{instance}
+    new_trending_tags:
+      body: 'Les hashtags suivants sont tendances aujourd''hui, mais ils n''ont pas été examinés précédemment. Ils ne seront pas affichés publiquement à moins que vous ne les approuviez :'
+      no_approved_tags: Il n'y a actuellement aucun hashtag tendance approuvé.
+      requirements: 'Le hashtag tendance le plus bas est actuellement #%{lowest_tag_name} avec un score de %{lowest_tag_score}.'
+      subject: Nouveaux hashtags tendance à réviser sur %{instance}
   aliases:
     add_new: Créer un alias
     created_msg: Un nouvel alias a été créé avec succès. Vous pouvez maintenant déménager depuis l'ancien compte.
@@ -778,13 +837,14 @@ fr:
     description:
       prefix_invited_by_user: "@%{name} vous invite à rejoindre ce serveur Mastodon !"
       prefix_sign_up: Inscrivez-vous aujourd’hui sur Mastodon !
-      suffix: Avec un compte, vous pourrez suivre des gens, publier des statuts et échanger des messages avec les utilisateurs de n'importe quel serveur Mastodon et bien plus !
+      suffix: Avec un compte, vous pourrez suivre des gens, publier des statuts et échanger des messages avec les utilisateur·rice·s de n'importe quel serveur Mastodon et bien plus !
     didnt_get_confirmation: Vous n’avez pas reçu les consignes de confirmation ?
     dont_have_your_security_key: Vous n'avez pas votre clé de sécurité?
     forgot_password: Mot de passe oublié ?
     invalid_reset_password_token: Le lien de réinitialisation du mot de passe est invalide ou a expiré. Merci de réessayer.
     link_to_otp: Entrez un code à deux facteurs de votre téléphone ou un code de récupération
     link_to_webauth: Utilisez votre appareil de clé de sécurité
+    log_in_with: Se connecter via
     login: Se connecter
     logout: Se déconnecter
     migrate_account: Déménager vers un compte différent
@@ -821,7 +881,7 @@ fr:
     following: 'Youpi ! Vous suivez maintenant  :'
     post_follow:
       close: Ou bien, vous pouvez fermer cette fenêtre.
-      return: Afficher le profil de l’utilisateur
+      return: Afficher le profil de l’utilisateur·ice
       web: Retour à l’interface web
     title: Suivre %{acct}
   challenge:
@@ -866,11 +926,11 @@ fr:
       email_reconfirmation_html: Si vous ne recevez pas le courriel de confirmation, vous pouvez le <a href="%{path}">demander à nouveau</a>
       irreversible: Vous ne pourrez pas restaurer ou réactiver votre compte
       more_details_html: Pour plus de détails, voir la <a href="%{terms_path}">politique de confidentialité</a>.
-      username_available: Votre nom d’utilisateur sera à nouveau disponible
-      username_unavailable: Votre nom d’utilisateur restera indisponible
+      username_available: Votre nom d’utilisateur·rice sera à nouveau disponible
+      username_unavailable: Votre nom d’utilisateur·rice restera indisponible
   directories:
     directory: Annuaire des profils
-    explanation: Découvrir des utilisateurs en selon leurs centres d’intérêt
+    explanation: Découvrir des utilisateur·rice·s en fonction de leurs centres d’intérêt
     explore_mastodon: Explorer %{title}
   domain_validator:
     invalid_domain: n’est pas un nom de domaine valide
@@ -885,12 +945,12 @@ fr:
       title: Vérification de sécurité échouée
     '429': Trop de requêtes émises dans un délai donné
     '500':
-      content: Nous sommes désolés, mais quelque chose s’est mal passé de notre côté.
+      content: Nous sommes désolé·e·s, mais quelque chose s’est mal passé de notre côté.
       title: Cette page n’est pas correcte
     '503': La page n'a pas pu être servie en raison d'une défaillance temporaire du serveur.
     noscript_html: Pour utiliser Mastodon, veuillez activer JavaScript. Sinon, essayez l’une des <a href="%{apps_path}">applications natives</a> pour Mastodon pour votre plate-forme.
   existing_username_validator:
-    not_found: n’a pas trouvé d’utilisateur local avec ce nom
+    not_found: impossible de trouver un·e utilisateur·ice local·e de ce nom
     not_found_multiple: n’a pas trouvé %{usernames}
   exports:
     archive_takeout:
@@ -903,7 +963,7 @@ fr:
     blocks: Vous bloquez
     bookmarks: Signets
     csv: CSV
-    domain_blocks: Bloqueurs de domaine
+    domain_blocks: Blocages de domaine
     lists: Listes
     mutes: Vous masquez
     storage: Médias stockés
@@ -940,34 +1000,15 @@ fr:
     changes_saved_msg: Les modifications ont été enregistrées avec succès !
     copy: Copier
     delete: Supprimer
-    no_batch_actions_available: Aucune action par lots disponible sur cette page
+    none: Aucun
     order_by: Classer par
     save_changes: Enregistrer les modifications
+    today: aujourd’hui
     validation_errors:
       one: Quelque chose ne va pas ! Veuillez vérifiez l’erreur ci-dessous
       other: Certaines choses ne vont pas ! Veuillez vérifiez les %{count} erreurs ci-dessous
   html_validator:
     invalid_markup: 'contient un balisage HTML invalide: %{error}'
-  identity_proofs:
-    active: Active
-    authorize: Oui, autoriser
-    authorize_connection_prompt: Autoriser cette connexion chiffrée ?
-    errors:
-      failed: La connexion chiffrée a échoué. Veuillez réessayer à partir de %{provider}.
-      keybase:
-        invalid_token: Les jetons Keybase sont des hachages de signatures et doivent comporter 66 caractères hexadécimaux
-        verification_failed: Keybase ne reconnaît pas ce jeton comme une signature de l’utilisateur Keybase %{kb_username}. Veuillez réessayer à partir de Keybase.
-      wrong_user: Impossible de créer une preuve pour %{proving} lorsque vous êtes connecté en tant que %{current}. Connectez-vous en tant que %{proving} et réessayez.
-    explanation_html: Ici, vous pouvez connecter de manière chiffrée vos autres identités, par exemple un profil Keybase. Cela permet à d’autres personnes de vous envoyer des messages chiffrés et de faire confiance au contenu que vous leur envoyez.
-    i_am_html: Je suis %{username} sur %{service}.
-    identity: Identité
-    inactive: Inactive
-    publicize_checkbox: 'Et publier ceci :'
-    publicize_toot: 'C’est prouvé ! Je suis %{username} sur %{service}: %{url}'
-    remove: Retirer la preuve du compte
-    removed: Preuve retirée du compte avec succès
-    status: État de la vérification
-    view_proof: Voir la preuve
   imports:
     errors:
       over_rows_processing_limit: contient plus de %{count} lignes
@@ -998,7 +1039,7 @@ fr:
       '86400': 1 jour
     expires_in_prompt: Jamais
     generate: Générer un lien d'invitation
-    invited_by: 'Vous avez été invité par :'
+    invited_by: 'Vous avez été invité·e par :'
     max_uses:
       one: 1 utilisation
       other: "%{count} utilisations"
@@ -1030,31 +1071,31 @@ fr:
   migrations:
     acct: A déménagé vers
     cancel: Annuler la redirection
-    cancel_explanation: Annuler la redirection réactivera votre compte actuel, mais ne rapportera pas les abonnés qui ont été déplacés sur ce compte.
+    cancel_explanation: Annuler la redirection réactivera votre compte actuel, mais ne rapportera pas les abonné·e·s qui ont été déplacé·e·s sur ce compte.
     cancelled_msg: Suppression de la redirection réussie.
     errors:
       already_moved: est le même compte que vous avez déjà déplacé vers
       missing_also_known_as: ne référence pas ce compte en retour
       move_to_self: ne peut pas être le compte actuel
       not_found: n'a pas été trouvé
-      on_cooldown: Vous êtes soumis à un temps de rechargement
-    followers_count: Abonnés au moment du déménagement
+      on_cooldown: Vous êtes soumis·e à un temps de rechargement
+    followers_count: Abonné·e·s au moment du déménagement
     incoming_migrations: Déplacement depuis un compte différent
     incoming_migrations_html: Pour déménager d'un autre compte à celui-ci, vous devez d'abord <a href="%{path}">créer un alias de compte</a>.
-    moved_msg: Votre compte est maintenant redirigé vers %{acct} et vos abonnés sont en train d'être déplacés.
+    moved_msg: Votre compte est maintenant redirigé vers %{acct} et vos abonné·e·s sont en train d'être déplacé·e·s.
     not_redirecting: Votre compte n'est pas redirigé vers un autre compte actuellement.
     on_cooldown: Vous avez récemment migré votre compte. Cette fonction sera à nouveau disponible dans %{count} jours.
     past_migrations: Migrations passées
-    proceed_with_move: Migrer les abonnés
+    proceed_with_move: Migrer les abonné·e·s
     redirected_msg: Votre compte est maintenant redirigé vers %{acct}.
     redirecting_to: Votre compte est redirigé vers %{acct}.
     set_redirect: Définir la redirection
     warning:
       backreference_required: Le nouveau compte doit d'abord être configuré pour faire référence à celui-ci en définissant un alias
       before: 'Avant de procéder, veuillez lire attentivement ces notes :'
-      cooldown: Après le déménagement, il y a une période d’attente pendant laquelle vous ne pourrez pas re-déménager
+      cooldown: Après le déménagement, il y a une période d’attente pendant laquelle vous ne pourrez pas redéménager
       disabled_account: Votre compte actuel ne sera pas entièrement utilisable par la suite. Cependant, vous aurez accès à l'exportation de données et à la réactivation.
-      followers: Cette action va déménager tous les abonnés du compte actuel vers le nouveau compte
+      followers: Cette action va déménager tou·te·s les abonné·e·s du compte actuel vers le nouveau compte
       only_redirect_html: Alternativement, vous pouvez <a href="%{path}">seulement appliquer une redirection sur votre profil</a>.
       other_data: Aucune autre donnée ne sera déplacée automatiquement
       redirect: Le profil de votre compte actuel sera mis à jour avec un avis de redirection et sera exclu des recherches
@@ -1063,15 +1104,15 @@ fr:
   move_handler:
     carry_blocks_over_text: Cet utilisateur que vous aviez bloqué est parti de %{acct}.
     carry_mutes_over_text: Cet utilisateur que vous aviez masqué est parti de %{acct}.
-    copy_account_note_text: 'Cet utilisateur est parti de %{acct}, voici vos notes précédentes à son sujet :'
+    copy_account_note_text: 'Cet·te utilisateur·rice est parti·e de %{acct}, voici vos notes précédentes à son sujet :'
   notification_mailer:
     digest:
       action: Voir toutes les notifications
       body: Voici un bref résumé des messages que vous avez raté depuis votre dernière visite le %{since}
-      mention: "%{name} vous a mentionné dans :"
+      mention: "%{name} vous a mentionné⋅e dans :"
       new_followers_summary:
-        one: Vous avez un nouvel abonné ! Youpi !
-        other: Vous avez %{count} nouveaux abonnés ! Incroyable !
+        one: De plus, vous avez un·e nouvel·le abonné·e ! Youpi !
+        other: De plus, vous avez %{count} abonné·e·s de plus ! Incroyable !
       subject:
         one: "Une nouvelle notification depuis votre dernière visite \U0001F418"
         other: "%{count} nouvelles notifications depuis votre dernière visite \U0001F418"
@@ -1083,16 +1124,16 @@ fr:
     follow:
       body: "%{name} vous suit !"
       subject: "%{name} vous suit"
-      title: Nouvel abonné
+      title: Nouvel·le abonné·e
     follow_request:
       action: Gérer les demandes d’abonnement
       body: "%{name} a demandé à vous suivre"
-      subject: 'Abonnés en attente : %{name}'
+      subject: 'Abonné·e en attente : %{name}'
       title: Nouvelle demande d’abonnement
     mention:
       action: Répondre
-      body: "%{name} vous a mentionné dans :"
-      subject: "%{name} vous a mentionné"
+      body: "%{name} vous a mentionné⋅e dans :"
+      subject: "%{name} vous a mentionné·e"
       title: Nouvelle mention
     poll:
       subject: Un sondage de %{name} est terminé
@@ -1152,19 +1193,19 @@ fr:
   relationships:
     activity: Activité du compte
     dormant: Dormant
-    follow_selected_followers: Suivre les abonnés sélectionnés
-    followers: Abonnés
-    following: Abonnements
-    invited: Invité
+    follow_selected_followers: Suivre les abonné·e·s sélectionné·e·s
+    followers: Abonné·e
+    following: Abonnement
+    invited: Invité·e
     last_active: Dernière activité
     most_recent: Plus récent
     moved: Déménagé
     mutual: Mutuel
     primary: Primaire
     relationship: Relation
-    remove_selected_domains: Supprimer tous les abonnés des domaines sélectionnés
-    remove_selected_followers: Supprimer les abonnés sélectionnés
-    remove_selected_follows: Cesser de suivre les comptes sélectionnés
+    remove_selected_domains: Supprimer tou·te·s les abonné·e·s des domaines sélectionnés
+    remove_selected_followers: Supprimer les abonné·e·s sélectionné·e·s
+    remove_selected_follows: Ne plus suivre les comptes sélectionnés
     status: État du compte
   remote_follow:
     acct: Entrez l’adresse profil@serveur depuis laquelle vous voulez effectuer cette action
@@ -1172,7 +1213,7 @@ fr:
     no_account_html: Vous n’avez pas de compte ? Vous pouvez <a href='%{sign_up_path}' target='_blank'>vous inscrire ici</a>
     proceed: Confirmer l’abonnement
     prompt: 'Vous allez suivre :'
-    reason_html: "<strong>Pourquoi cette étape est-elle nécessaire?</strong> <code>%{instance}</code> pourrait ne pas être le serveur sur lequel vous vous êtes inscrit, et nous devons donc vous rediriger vers votre serveur de base en premier."
+    reason_html: "<strong>Pourquoi cette étape est-elle nécessaire?</strong> <code>%{instance}</code> pourrait ne pas être le serveur sur lequel vous vous êtes inscrit·e, et nous devons donc vous rediriger vers votre serveur de base en premier."
   remote_interaction:
     favourite:
       proceed: Confirmer l’ajout aux favoris
@@ -1241,7 +1282,6 @@ fr:
     edit_profile: Modifier le profil
     export: Export de données
     featured_tags: Hashtags mis en avant
-    identity_proofs: Preuves d’identité
     import: Import de données
     import_and_export: Import et export
     migrate: Migration de compte
@@ -1249,7 +1289,7 @@ fr:
     preferences: Préférences
     profile: Profil
     relationships: Abonnements et abonné·e·s
-    statuses_cleanup: Suppression automatique de la publication
+    statuses_cleanup: Suppression automatique de messages
     two_factor_authentication: Identification à deux facteurs
     webauthn_authentication: Clés de sécurité
   statuses:
@@ -1266,18 +1306,19 @@ fr:
         other: "%{count} vidéos"
     boosted_from_html: Partagé depuis %{acct_link}
     content_warning: 'Avertissement sur le contenu : %{warning}'
+    default_language: Même langue que celle de l’interface
     disallowed_hashtags:
       one: 'contient un hashtag désactivé : %{tags}'
       other: 'contient les hashtags désactivés : %{tags}'
+    edited_at: Édité le %{date}
     errors:
       in_reply_not_found: Le statut auquel vous essayez de répondre ne semble pas exister.
-    language_detection: Détecter automatiquement la langue
     open_in_web: Ouvrir sur le web
     over_character_limit: limite de %{max} caractères dépassée
     pin_errors:
+      direct: Les messages qui ne sont visibles que pour les utilisateurs mentionnés ne peuvent pas être épinglés
       limit: Vous avez déjà épinglé le nombre maximum de pouets
       ownership: Vous ne pouvez pas épingler un statut ne vous appartenant pas
-      private: Les statuts non-publics ne peuvent pas être épinglés
       reblog: Un partage ne peut pas être épinglé
     poll:
       total_people:
@@ -1295,15 +1336,15 @@ fr:
     title: '%{name} : "%{quote}"'
     visibilities:
       direct: Direct
-      private: Abonnés uniquement
-      private_long: Afficher seulement à vos vos abonnés
+      private: Abonné⋅e⋅s uniquement
+      private_long: Afficher seulement à vos vos abonné·e·s
       public: Publique
       public_long: Tout le monde peut voir vos statuts
       unlisted: Public sans être affiché sur le fil public
       unlisted_long: Tout le monde peut voir vos statuts mais ils ne seront pas listés sur les fils publics
   statuses_cleanup:
-    enabled: Supprimer automatiquement les anciennes publications
-    enabled_hint: Supprime automatiquement vos publications une fois qu'elles ont atteint un seuil d'ancienneté défini, à moins qu'elles ne correspondent à l'une des exceptions ci-dessous
+    enabled: Supprimer automatiquement vos anciens messages
+    enabled_hint: Supprime automatiquement vos messages une fois qu'ils ont atteint un seuil d'ancienneté défini, à moins qu'ils ne correspondent à l'une des exceptions ci-dessous
     exceptions: Exceptions
     explanation: Parce que la suppression de messages est une opération lourde, cela se fait lentement au fil du temps lorsque le serveur n'est pas autrement occupé. Pour cette raison, vos messages peuvent être supprimés un peu plus tard que le seuil d'ancienneté défini.
     ignore_favs: Ignorer les favoris
@@ -1312,16 +1353,16 @@ fr:
     interaction_exceptions_explanation: Notez qu'il n'est pas garanti que les messages soient supprimés s'ils passent sous le seuil des favoris ou des partages une fois qu'ils les ont dépassés.
     keep_direct: Conserver les messages directs
     keep_direct_hint: Ne supprime aucun de vos messages directs
-    keep_media: Conserver les publications avec des fichiers médias joints
-    keep_media_hint: Ne supprime pas les publications contenant des fichiers médias joints
-    keep_pinned: Conserver les publications épinglées
-    keep_pinned_hint: Ne supprime aucune de vos publications épinglées
+    keep_media: Conserver les messages avec des fichiers médias joints
+    keep_media_hint: Ne supprime pas les messages contenant des fichiers médias joints
+    keep_pinned: Conserver les messages épinglés
+    keep_pinned_hint: Ne supprime aucun de vos messages épinglés
     keep_polls: Conserver les sondages
     keep_polls_hint: Ne supprime aucun de vos sondages
-    keep_self_bookmark: Conserver les publications que vous avez mises en marque-page
-    keep_self_bookmark_hint: Ne supprime pas vos propres publications si vous les avez ajoutées aux marque-pages
-    keep_self_fav: Conserver les publications que vous avez mises dans vos favoris
-    keep_self_fav_hint: Ne supprime pas vos propres publications si vous les avez mises dans vos favoris
+    keep_self_bookmark: Conserver les messages que vous avez mis en marque-page
+    keep_self_bookmark_hint: Ne supprime pas vos propres messages si vous les avez ajoutés aux marque-pages
+    keep_self_fav: Conserver les messages que vous avez mis dans vos favoris
+    keep_self_fav_hint: Ne supprime pas vos propres messages si vous les avez ajoutés à vos favoris
     min_age:
       '1209600': 2 semaines
       '15778476': 6 mois
@@ -1331,10 +1372,10 @@ fr:
       '63113904': 2 ans
       '7889238': 3 mois
     min_age_label: Seuil d'ancienneté
-    min_favs: Conserver les publications favorites plus de
-    min_favs_hint: Ne supprime aucune de vos publications qui ont reçu plus que ce nombre de favoris. Laisser vide pour supprimer les messages quel que soit leur nombre de favoris
-    min_reblogs: Conserver les publications partagées plus de
-    min_reblogs_hint: Ne supprime aucune de vos publications qui ont été partagées plus que ce nombre de fois. Laisser vide pour supprimer les publications indépendamment de leur nombre de partages
+    min_favs: Conserver les messages mis en favoris au moins
+    min_favs_hint: Ne supprime aucun de vos messages qui ont reçu au moins ce nombre de favoris. Laisser vide pour supprimer les messages quel que soit leur nombre de favoris
+    min_reblogs: Conserver les messages partagés au moins
+    min_reblogs_hint: Ne supprime aucun de vos messages qui ont été partagés au moins ce nombre de fois. Laisser vide pour supprimer les messages indépendamment de leur nombre de partages
   stream_entries:
     pinned: Message épinglé
     reblogged: a partagé
@@ -1348,8 +1389,8 @@ fr:
 
       <ul>
       <li><em>Informations de base sur votre compte</em> : si vous vous inscrivez sur ce serveur, il vous sera demandé de rentrer un identifiant, une adresse électronique et un mot de passe. Vous pourrez également ajouter des informations additionnelles sur votre profil, telles qu’un nom public et une biographie, ainsi que téléverser une image de profil et une image d’en-tête. Vos identifiant, nom public, biographie, image de profil et image d’en-tête seront toujours affichés publiquement.</li>
-      <li><em>Posts, liste d’abonnements et autres informations publiques</em> : la liste de vos abonnements ainsi que la liste de vos abonnés sont publiques. Quand vous postez un message, la date et l’heure d’envoi ainsi que le nom de l’application utilisée pour sa transmission sont enregistrés. Des médias, tels que des images ou des vidéos, peuvent être joints aux messages. Les posts publics et non listés sont affichés publiquement. Quand vous mettez en avant un post sur votre profil, ce post est également affiché publiquement. Vos messages sont délivrés à vos abonnés, ce qui, dans certains cas, signifie qu’ils sont délivrés à des serveurs tiers et que ces derniers en stockent une copie. Quand vous supprimez un post, il est probable que l'action soit aussi délivrée à vos abonnés. Partager un message ou le marquer comme favori est toujours une action publique.</li>
-      <li><em>Posts directs et abonnés uniquement</em> : tous les posts sont stockés et traités par le serveur. Les messages abonnés uniquement ne sont transmis qu’à vos abonnés et aux personnes mentionnées dans le corps du message, tandis que les messages directs ne sont transmis qu’aux personnes mentionnées. Dans certains cas, cela signifie qu’ils sont délivrés à des serveurs tiers et que ces derniers en stockent une copie. Nous faisons un effort de bonne foi pour en limiter l’accès uniquement aux personnes autorisées, mais ce n’est pas nécessairement le cas des autres serveurs. Il est donc très important que vous vérifiiez les serveurs auxquels appartiennent vos abonnés. Il vous est possible d’activer une option dans les paramètres afin d’approuver et de rejeter manuellement les nouveaux abonnés. <em>Gardez s’il vous plaît en mémoire que les opérateurs du serveur ainsi que celles et ceux de n’importe quel serveur récepteur peuvent voir ces messages</em> et qu’il est possible pour les destinataires de faire des captures d’écran, de copier et plus généralement de repartager ces messages. <em>Ne partagez aucune information sensible à l’aide de Mastodon !</em></li>
+      <li><em>Posts, liste d’abonnements et autres informations publiques</em> : la liste de vos abonnements ainsi que la liste de vos abonné·e·s sont publiques. Quand vous postez un message, la date et l’heure d’envoi ainsi que le nom de l’application utilisée pour sa transmission sont enregistré·e·s. Des médias, tels que des images ou des vidéos, peuvent être joints aux messages. Les posts publics et non listés sont affichés publiquement. Quand vous mettez en avant un post sur votre profil, ce post est également affiché publiquement. Vos messages sont délivrés à vos abonné·e·s, ce qui, dans certains cas, signifie qu’ils sont délivrés à des serveurs tiers et que ces derniers en stockent une copie. Quand vous supprimez un post, il est probable que l'action soit aussi délivrée à vos abonné·e·s. Partager un message ou le marquer comme favori est toujours une action publique.</li>
+      <li><em>Posts directs et abonné·e·s uniquement</em> : tous les posts sont stockés et traités par le serveur. Les messages abonné·e·s uniquement ne sont transmis qu’à vos abonné·e·s et aux personnes mentionnées dans le corps du message, tandis que les messages directs ne sont transmis qu’aux personnes mentionnées. Dans certains cas, cela signifie qu’ils sont délivrés à des serveurs tiers et que ces derniers en stockent une copie. Nous faisons un effort de bonne foi pour en limiter l’accès uniquement aux personnes autorisées, mais ce n’est pas nécessairement le cas des autres serveurs. Il est donc très important que vous vérifiiez les serveurs auxquels appartiennent vos abonné·e·s. Il vous est possible d’activer une option dans les paramètres afin d’approuver et de rejeter manuellement les nouveaux·lles abonné·e·s. <em>Gardez s’il vous plaît en mémoire que les opérateur·rice·s du serveur ainsi que celles et ceux de n’importe quel serveur récepteur peuvent voir ces messages</em> et qu’il est possible pour les destinataires de faire des captures d’écran, de copier et plus généralement de repartager ces messages. <em>Ne partagez aucune information sensible à l’aide de Mastodon !</em></li>
       <li><em>IP et autres métadonnées</em> : quand vous vous connectez, nous enregistrons votre adresse IP ainsi que le nom de votre navigateur web. Toutes les sessions enregistrées peuvent être consultées dans les paramètres, afin que vous puissiez les surveiller et éventuellement les révoquer. La dernière adresse IP utilisée est conservée pour une durée de 12 mois. Nous sommes également susceptibles de conserver les journaux du serveur, ce qui inclut l’adresse IP de chaque requête reçue.</li>
       </ul>
 
@@ -1360,7 +1401,7 @@ fr:
       <p>Toutes les informations que nous collectons sur vous peuvent être utilisées des manières suivantes :</p>
 
       <ul>
-      <li>pour vous fournir les fonctionnalités de base de Mastodon. Vous ne pouvez interagir avec le contenu des autres et poster votre propre contenu que lorsque vous êtes connecté. Par exemple, vous pouvez vous abonner à plusieurs autres comptes pour voir l’ensemble de leurs posts dans votre fil d’accueil personnalisé.</li>
+      <li>pour vous fournir les fonctionnalités de base de Mastodon. Vous ne pouvez interagir avec le contenu des autres et poster votre propre contenu que lorsque vous êtes connecté·e. Par exemple, vous pouvez vous abonner à plusieurs autres comptes pour voir l’ensemble de leurs posts dans votre fil d’accueil personnalisé.</li>
       <li>pour aider à la modération de la communauté : par exemple, comparer votre adresse IP avec d’autres afin de déterminer si un bannissement a été contourné ou si une autre violation aux règles a été commise.</li>
       <li>l’adresse électronique que vous nous avez fournie peut être utilisée pour vous envoyer des informations, des notifications lorsque d’autres personnes interagissent avec votre contenu ou vous envoient des messages, pour répondre à des demandes de votre part ainsi que pour toutes autres requêtes ou questions.</li>
       </ul>
@@ -1379,7 +1420,7 @@ fr:
 
       <ul>
       <li>pour ne pas conserver plus de 90 jours les journaux systèmes contenant les adresses IP de toutes les requêtes reçues par ce serveur.</li>
-      <li>pour ne pas conserver plus de 12 mois les adresses IP associées aux utilisateurs enregistrés.</li>
+      <li>pour ne pas conserver plus de 12 mois les adresses IP associées aux utilisateur·ice·s enregistré·e·s.</li>
       </ul>
 
       <p>Vous pouvez demander une archive de votre contenu, incluant vos posts, vos médias joints, votre image de profil et votre image d’en-tête.</p>
@@ -1400,9 +1441,9 @@ fr:
 
       <p>Nous ne vendons, n’échangeons ou ne transférons d’une quelconque manière que ce soit des informations permettant de vous identifier personnellement. Cela n’inclut pas les tiers de confiance qui nous aident à faire fonctionner ce site, à conduire nos activités commerciales ou à vous servir, du moment qu’ils acceptent de garder ces informations confidentielles. Nous sommes également susceptibles de partager vos informations quand nous pensons que cela est nécessaire pour nous conformer à la loi, pour faire respecter les règles de notre site, ainsi que pour défendre nos droits, notre propriété, notre sécurité, ou ceux d’autres personnes.</p>
 
-      <p>Votre contenu public peut être téléchargé par d’autres serveurs du réseau. Dans le cas où vos abonnés et vos destinataires résideraient sur des serveurs différents du vôtre, vos posts publics et abonnés uniquement peuvent être délivrés vers les serveurs de vos abonnés tandis que vos messages directs sont délivrés aux serveurs de vos destinataires.</p>
+      <p>Votre contenu public peut être téléchargé par d’autres serveurs du réseau. Dans le cas où vos abonné·e·s et vos destinataires résideraient sur des serveurs différents du vôtre, vos posts publics et abonné·e·s uniquement peuvent être délivrés vers les serveurs de vos abonné·e·s tandis que vos messages directs sont délivrés aux serveurs de vos destinataires.</p>
 
-      <p>Quand vous autorisez une application à utiliser votre compte, en fonction de l’étendue des permissions que vous approuvez, il est possible qu’elle puisse accéder aux informations publiques de votre profil, à votre liste d’abonnements, votre liste d’abonnés, vos listes, tous vos posts et vos favoris. Les applications ne peuvent en aucun cas accéder à votre adresse électronique et à votre mot de passe.</p>
+      <p>Quand vous autorisez une application à utiliser votre compte, en fonction de l’étendue des permissions que vous approuvez, il est possible qu’elle puisse accéder aux informations publiques de votre profil, à votre liste d’abonnements, votre liste d’abonné·e·s, vos listes, tous vos posts et vos favoris. Les applications ne peuvent en aucun cas accéder à votre adresse électronique et à votre mot de passe.</p>
 
       <hr class="spacer" />
 
@@ -1432,6 +1473,7 @@ fr:
     formats:
       default: "%d %b %Y, %H:%M"
       month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Ajouter
     disable: Désactiver
@@ -1459,39 +1501,46 @@ fr:
       subject: Veuillez confirmer la tentative de connexion
       title: Tentative de connexion
     warning:
+      categories:
+        spam: Indésirable
+        violation: Le contenu viole les directives de la communauté suivantes
       explanation:
-        disable: Lorsque votre compte est gelé, les données de votre compte demeurent intactes, mais vous ne pouvez effectuer aucune action jusqu’à ce qu’il soit débloqué.
-        sensitive: Vos fichiers médias téléversés et vos médias liés seront traités comme sensibles.
-        silence: Vous pouvez encore utiliser votre compte, mais seuls les comptes qui vous suivent déjà verront vos messages sur ce serveur, et vous pouvez être exclu de plusieurs listes publiques. Néanmoins, il est encore possible de vous suivre manuellement.
-        suspend: Votre ne pouvez plus utiliser votre compte, et votre profil ainsi que d’autres données ne sont plus accessibles. Vous pouvez vous connecter pour demander une sauvegarde de vos données avant qu’elles ne soient complètement supprimées, mais nous gardons certaines données pour vous empêcher d’échapper à la suspension.
-      get_in_touch: Vous pouvez répondre à cette adresse pour entrer en contact avec l’équipe de %{instance}.
+        delete_statuses: Certains de vos messages ont été jugés en violation d'une ou plusieurs directives de la communauté et ont été supprimés par les modérateurs de %{instance}. De nouvelles violations peuvent entraîner des actions punitives plus sévères contre votre compte.
+        disable: Vous ne pouvez plus utiliser votre compte, mais votre profil et d'autres données restent intacts. Vous pouvez demander une sauvegarde de vos données, modifier les paramètres de votre compte ou supprimer votre compte.
+        sensitive: Désormais, tous vos fichiers multimédias téléchargés seront marqués comme sensibles et cachés derrière un avertissement à cliquer.
+        silence: Vous pouvez toujours utiliser votre compte, mais seules les personnes qui vous suivent déjà verront vos messages sur ce serveur, et vous pourriez être exclu de diverses fonctions de découverte. Cependant, d'autres personnes peuvent toujours vous suivre manuellement.
+        suspend: Vous ne pouvez plus utiliser votre compte, votre profil et vos autres données ne sont plus accessibles. Vous pouvez toujours vous connecter pour demander une sauvegarde de vos données jusqu'à leur suppression complète dans environ 30 jours, mais nous conserverons certaines données de base pour vous empêcher d'échapper à la suspension.
+      get_in_touch: Si vous pensez qu'il s'agit d'une erreur, vous pouvez répondre à ce courriel pour entrer en contact avec le personnel de %{instance}.
+      reason: 'Motif :'
       review_server_policies: Passer en revue les politiques du serveur
-      statuses: 'Spécialement, pour :'
+      statuses: 'Les messages qui ont été jugés en violation :'
       subject:
+        delete_statuses: Vos messages sur %{acct} ont été supprimés
         disable: Votre compte %{acct} a été gelé
         none: Avertissement pour %{acct}
-        sensitive: Les médias de votre compte %{acct} ont été marqués comme sensibles
+        sensitive: Vos fichiers multimédias sur %{acct} seront désormais marqués comme sensibles
         silence: Votre compte %{acct} a été limité
         suspend: Votre compte %{acct} a été suspendu
       title:
+        delete_statuses: Messages supprimés
         disable: Compte gelé
         none: Avertissement
-        sensitive: Vos médias ont été marqués comme sensibles
+        sensitive: Média masqué
         silence: Compte limité
         suspend: Compte suspendu
     welcome:
       edit_profile_action: Configuration du profil
-      edit_profile_step: Vous pouvez personnaliser votre profil en téléchargeant un avatar, une image d’en-tête, en changeant votre pseudo et plus encore. Si vous souhaitez examiner les nouveaux abonnés avant qu’ils ne soient autorisés à vous suivre, vous pouvez verrouiller votre compte.
+      edit_profile_step: Vous pouvez personnaliser votre profil en téléchargeant un avatar, une image d’en-tête, en changeant votre pseudo et plus encore. Si vous souhaitez examiner les nouveaux·lles abonné·e·s avant qu’iels ne soient autorisé·e·s à vous suivre, vous pouvez verrouiller votre compte.
       explanation: Voici quelques conseils pour vous aider à démarrer
       final_action: Commencez à publier
-      final_step: 'Commencez à publier ! Même sans abonnés, vos messages publics peuvent être vus par d’autres, par exemple sur le fil public local et dans les hashtags. Vous pouvez vous présenter sur le hashtag #introductions.'
+      final_step: 'Commencez à publier ! Même sans abonné·e·s, vos messages publics peuvent être vus par d’autres, par exemple sur le fil public local et dans les hashtags. Vous pouvez vous présenter sur le hashtag #introductions.'
       full_handle: Votre identifiant complet
-      full_handle_hint: C’est ce que vous diriez à vos amis pour leur permettre de vous envoyer un message ou vous suivre à partir d’un autre serveur.
+      full_handle_hint: C’est ce que vous diriez à vos ami·e·s pour leur permettre de vous envoyer un message ou vous suivre à partir d’un autre serveur.
       review_preferences_action: Modifier les préférences
       review_preferences_step: Assurez-vous de définir vos préférences, telles que les courriels que vous aimeriez recevoir ou le niveau de confidentialité auquel vous publier vos messages par défaut. Si vous n’avez pas le mal des transports, vous pouvez choisir d’activer la lecture automatique des GIF.
       subject: Bienvenue sur Mastodon
-      tip_federated_timeline: La fil public global est une vue en direct du réseau Mastodon. Mais elle n’inclut que les personnes auxquelles vos voisins sont abonnés, donc elle n’est pas complète.
-      tip_following: Vous suivez les administrateur·rice·s de votre serveur par défaut. Pour trouver d’autres personnes intéressantes, consultez les fils publics local et global.
+      tip_federated_timeline: Le fil public global est une vue en direct du réseau Mastodon. Mais elle n’inclut que les personnes auxquelles vos voisin·e·s sont abonné·e·s, donc elle n’est pas complète.
+      tip_following: Vous suivez les administrateurs de votre serveur par défaut. Pour trouver d’autres personnes intéressantes, consultez les fils publics local et global.
       tip_local_timeline: Le fil public local est une vue des personnes sur %{instance}. Ce sont vos voisines et voisins immédiats !
       tip_mobile_webapp: Si votre navigateur mobile vous propose d’ajouter Mastodon à votre écran d’accueil, vous pouvez recevoir des notifications. Il agit comme une application native de bien des façons !
       tips: Astuces
@@ -1503,7 +1552,7 @@ fr:
     invalid_sign_in_token: Code de sécurité non valide
     otp_lost_help_html: Si vous perdez accès aux deux, vous pouvez contacter %{email}
     seamless_external_login: Vous êtes connecté via un service externe, donc les paramètres concernant le mot de passe et le courriel ne sont pas disponibles.
-    signed_in_as: 'Connecté en tant que :'
+    signed_in_as: 'Connecté·e en tant que :'
     suspicious_sign_in_confirmation: Il semblerait que vous ne vous êtes pas connecté depuis cet appareil auparavant et que vous ne vous êtes pas connecté depuis un moment, alors nous envoyons un code de sécurité à votre adresse courriel pour confirmer qu’il s’agit bien de vous.
   verification:
     explanation_html: 'Vous pouvez <strong>vous vérifier en tant que propriétaire des liens dans les métadonnées de votre profil</strong>. Pour cela, le site web lié doit contenir un lien vers votre profil Mastodon. Le lien de retour <strong>doit</strong> avoir un attribut <code>rel="me"</code> . Le texte du lien n’a pas d’importance. Voici un exemple :'
diff --git a/config/locales/gd.yml b/config/locales/gd.yml
index 357a12b25..17f32cb04 100644
--- a/config/locales/gd.yml
+++ b/config/locales/gd.yml
@@ -46,7 +46,7 @@ gd:
       rejecting_media: 'Cha dèid faidhlichean meadhain o na frithealaichean seo a phròiseasadh no a stòradh agus cha dèid dealbhagan dhiubh a shealltainn. Feumar briogadh gus an ruigear am faidhle tùsail a làimh:'
       rejecting_media_title: Meadhanan criathraichte
       silenced: 'Thèid postaichean o na frithealaichean seo fhalach air loidhnichean-ama is còmhraidhean poblach agus cha dèid brathan a ghintinn à conaltraidhean nan cleachdaichean aca ach ma bhios tu fèin a’ leantainn orra:'
-      silenced_title: Frithealaichean mùchte
+      silenced_title: Frithealaichean cuingichte
       suspended: 'Cha dèid dàta sam bith o na frithealaichean seo a phròiseasadh, a stòradh no iomlaid agus chan urrainn do na cleachdaichean o na frithealaichean sin conaltradh an-seo:'
       suspended_title: Frithealaichean à rèim
     unavailable_content_html: San fharsaingeachd, leigidh Mastodon leat susbaint o fhrithealaiche sam bith sa cho-shaoghal a shealltainn agus conaltradh leis na cleachdaichean uapa-san. Seo na h-easgaidhean a tha an sàs air an fhrithealaiche shònraichte seo.
@@ -107,7 +107,6 @@ gd:
     accounts:
       add_email_domain_block: Bac àrainn a’ phuist-d
       approve: Aontaich ris
-      approve_all: Aontaich ris na h-uile
       approved_msg: Chaidh aontachadh ris an iarrtas clàraidh aig %{username}
       are_you_sure: A bheil thu cinnteach?
       avatar: Avatar
@@ -122,6 +121,7 @@ gd:
       confirm: Dearbh
       confirmed: Chaidh a dhearbhachadh
       confirming: "’Ga dhearbhadh"
+      custom: Gnàthaichte
       delete: Sguab às an dàta
       deleted: Chaidh a sguabadh às
       demote: Ìslich
@@ -161,7 +161,6 @@ gd:
         active: Gnìomhach
         all: Na h-uile
         pending: Ri dhèiligeadh
-        silenced: Mùchte
         suspended: À rèim
         title: Maorsainneachd
       moderation_notes: Nòtaichean na maorsainneachd
@@ -179,7 +178,6 @@ gd:
       redownload: Ath-nuadhaich a’ phròifil
       redownloaded_msg: Chaidh a’ phròifil aig %{username} on tùs
       reject: Diùlt
-      reject_all: Diùlt na h-uile
       rejected_msg: Chaidh an t-iarrtas clàraidh aig %{username} a dhiùltadh
       remove_avatar: Thoir air falbh an t-avatar
       remove_header: Thoir air falbh am bann-cinn
@@ -205,26 +203,28 @@ gd:
         only_password: Facal-faire a-mhàin
         password_and_2fa: Facal-faire ’s dà-cheumnach
         password_and_sign_in_token: Facal-faire ’s tòcan puist-d
-      sensitive: Frionasach
+      sensitive: Spàrr an fhrionasachd air
       sensitized: Chaidh comharradh gu bheil e frionasach
       shared_inbox_url: URL a’ bhogsa a-steach cho-roinnte
       show:
         created_reports: Gearanan a chaidh a dhèanamh
         targeted_reports: Gearanan le càch
-      silence: Crìoch
+      silence: Cuingich
       silenced: Cuingichte
       statuses: Postaichean
+      strikes: Rabhaidhean roimhe
       subscribe: Fo-sgrìobh
       suspended: À rèim
       suspension_irreversible: Chaidh dàta a’ chunntais seo a sguabadh às gu buan. ’S urrainn an cunntas a chur ann an rèim a-rithist ach an gabh a chleachdadh ach chan fhaigh thu gin dhen dàta air ais a b’ àbhaist a bhith aige.
       suspension_reversible_hint_html: Chaidh an cunntas a chur à rèim agus thèid an dàta aige a sguabadh às gu buan %{date}. Gus an dig an t-àm ud, gabhaidh an cunntas aiseag fhathast gun droch bhuaidh sam bith air. Nam bu toigh leat gach dàta a’ chunntais a thoirt air falbh sa bhad, ’s urrainn dhut sin a dhèanamh gu h-ìosal.
-      time_in_queue: A’ feitheamh air a’ chiudha fad %{time}
       title: Cunntasan
+      unblock_email: Dì-bhac an seòladh puist-d
+      unblocked_email_msg: Chaidh am post-d aig %{username} a dhì-bhacadh
       unconfirmed_email: Post-d gun dearbhadh
-      undo_sensitized: Thoir air falbh a comharra gu bheil e frionasach
-      undo_silenced: Dì-mhùch
+      undo_sensitized: Na spàrr an fhrionasachd air tuilleadh
+      undo_silenced: Dì-chuingich
       undo_suspension: Cuir ann an rèim a-rithist
-      unsilenced_msg: Chaidh an cuingeachadh a thoirt air falbh on chunntas aig %{username}
+      unsilenced_msg: Chaidh an cunntas aig %{username} a dhì-chuingeachadh
       unsubscribe: Cuir crìoch air an fho-sgrìobhadh
       unsuspended_msg: Chaidh an cunntas aig %{username} a chur ann an rèim a-rithist
       username: Ainm-cleachdaiche
@@ -234,6 +234,7 @@ gd:
       whitelisted: Ceadaichte a chùm co-nasgaidh
     action_logs:
       action_types:
+        approve_user: Aontaich ris a’ chleachdaiche
         assigned_to_self_report: Iomruin an gearan
         change_email_user: Atharraich post-d a’ chleachdaiche
         confirm_user: Dearbh an cleachdaiche
@@ -251,6 +252,7 @@ gd:
         destroy_domain_allow: Sguab às ceadachadh na h-àrainne
         destroy_domain_block: Sguab às bacadh na h-àrainne
         destroy_email_domain_block: Sguab às bacadh na h-àrainne puist-d
+        destroy_instance: Purgaidich an àrainn
         destroy_ip_block: Sguab às an riaghailt IP
         destroy_status: Sguab às am post
         destroy_unavailable_domain: Sguab às àrainn nach eil ri fhaighinn
@@ -263,22 +265,25 @@ gd:
         enable_user: Cuir an cleachdaiche an comas
         memorialize_account: Dèan cuimhneachan dhen chunntas
         promote_user: Àrdaich an cleachdaiche
+        reject_user: Diùlt an cleachdaiche
         remove_avatar_user: Thoir air falbh an t-avatar
         reopen_report: Fosgail an gearan a-rithist
         reset_password_user: Ath-shuidhich am facal-faire
         resolve_report: Fuasgail an gearan
-        sensitive_account: Comharraich gu bheil na meadhanan sa chunntas agad frionasach
-        silence_account: Mùch an cunntas
+        sensitive_account: Spàrr an fhrionasachd air a’ chunntas seo
+        silence_account: Cuingich an cunntas
         suspend_account: Cuir an cunntas à rèim
         unassigned_report: Dì-iomruin an gearan
-        unsensitive_account: Comharraich nach eil na meadhanan sa chunntas agad frionasach
-        unsilence_account: Dì-mhùch an cunntas
+        unblock_email_account: Dì-bhac an seòladh puist-d
+        unsensitive_account: Na spàrr an fhrionasachd air a’ chunntas seo tuilleadh
+        unsilence_account: Dì-chuingich an cunntas
         unsuspend_account: Cuir an cunntas ann an rèim a-rithist
         update_announcement: Ùraich am brath-fios
         update_custom_emoji: Ùraich an t-Emoji gnàthaichte
         update_domain_block: Ùraich bacadh na h-àrainne
         update_status: Ùraich am post
       actions:
+        approve_user_html: Dh’aontaich %{name} ri clàradh o %{target}
         assigned_to_self_report_html: Dh’iomruin %{name} an gearan %{target} dhaibh fhèin
         change_email_user_html: Dh’atharraich %{name} seòladh puist-d a’ chleachdaiche %{target}
         confirm_user_html: Dhearbh %{name} seòladh puist-d a’ chleachdaiche %{target}
@@ -296,6 +301,7 @@ gd:
         destroy_domain_allow_html: Dì-cheadaich %{name} co-nasgadh leis an àrainn %{target}
         destroy_domain_block_html: Dì-bhac %{name} an àrainn %{target}
         destroy_email_domain_block_html: Dì-bhac %{name} an àrainn puist-d %{target}
+        destroy_instance_html: Purgaidich %{name} an àrainn %{target}
         destroy_ip_block_html: Sguab %{name} às riaghailt dhan IP %{target}
         destroy_status_html: Thug %{name} post aig %{target} air falbh
         destroy_unavailable_domain_html: Lean %{name} air adhart leis an lìbhrigeadh dhan àrainn %{target}
@@ -308,16 +314,18 @@ gd:
         enable_user_html: Chuir %{name} an clàradh a-steach an comas dhan chleachdaiche %{target}
         memorialize_account_html: Rinn %{name} duilleag cuimhneachain dhen chunntas aig %{target}
         promote_user_html: Dh’àrdaich %{name} an cleachdaiche %{target}
+        reject_user_html: Dhiùlt %{name} an clàradh o %{target}
         remove_avatar_user_html: Thug %{name} avatar aig %{target} air falbh
         reopen_report_html: Dh’fhosgail %{name} an gearan %{target} a-rithist
         reset_password_user_html: Dh’ath-shuidhich %{name} am facal-faire aig a’ chleachdaiche %{target}
         resolve_report_html: Dh’fhuasgail %{name} an gearan %{target}
         sensitive_account_html: Chuir %{name} comharra gu bheil e frionasach ri meadhan aig %{target}
-        silence_account_html: Mhùch %{name} an cunntas aig %{target}
+        silence_account_html: Chuingich %{name} an cunntas aig %{target}
         suspend_account_html: Chuir %{name} an cunntas aig %{target} à rèim
         unassigned_report_html: Neo-iomruin %{name} an gearan %{target}
+        unblock_email_account_html: Dhì-bhac %{name} an seòladh puist-d aig %{target}
         unsensitive_account_html: Chuir %{name} comharra nach eil e frionasach ri meadhan aig %{target}
-        unsilence_account_html: Dì-mhùch %{name} an cunntas aig %{target}
+        unsilence_account_html: Dì-chuingich %{name} an cunntas aig %{target}
         unsuspend_account_html: Chuir %{name} an cunntas aig %{target} ann an rèim a-rithist
         update_announcement_html: Dh’ùraich %{name} am brath-fios %{target}
         update_custom_emoji_html: Dh’ùraich %{name} an Emoji %{target}
@@ -379,9 +387,34 @@ gd:
       updated_msg: Chaidh an t-Emoji ùrachadh!
       upload: Luchdaich suas
     dashboard:
+      active_users: cleachdaichean gnìomhach
+      interactions: eadar-ghnìomhan
+      media_storage: Stòras mheadhanan
+      new_users: cleachdaichean ùra
+      opened_reports: gearanan air am fosgladh
+      pending_reports_html:
+        few: "<strong>%{count}</strong> lèirmheasan ri dhèiligeadh"
+        one: "<strong>%{count}</strong> lèirmheas ri dhèiligeadh"
+        other: "<strong>%{count}</strong> lèirmheas ri dhèiligeadh"
+        two: "<strong>%{count}</strong> lèirmheas ri dhèiligeadh"
+      pending_tags_html:
+        few: "<strong>%{count}</strong> tagaichean hais ri dhèiligeadh"
+        one: "<strong>%{count}</strong> taga hais ri dhèiligeadh"
+        other: "<strong>%{count}</strong> taga hais ri dhèiligeadh"
+        two: "<strong>%{count}</strong> thaga hais ri dhèiligeadh"
+      pending_users_html:
+        few: "<strong>%{count}</strong> cleachdaichean ri dhèiligeadh"
+        one: "<strong>%{count}</strong> chleachdaiche ri dhèiligeadh"
+        other: "<strong>%{count}</strong> cleachdaiche ri dhèiligeadh"
+        two: "<strong>%{count}</strong> chleachdaiche ri dhèiligeadh"
+      resolved_reports: gearanan air am fuasgladh
       software: Bathar-bog
+      sources: Tùsan clàraidh
       space: Caitheamh àite
       title: Deas-bhòrd
+      top_languages: Brod nan cànan gnìomhach
+      top_servers: Brod nam frithealaichean gnìomhach
+      website: Làrach-lìn
     domain_allows:
       add_new: Ceadaich co-nasgadh le àrainn
       created_msg: Chaidh an àrainn a cheadachadh a chùm co-nasgaidh
@@ -416,7 +449,7 @@ gd:
       rejecting_media: a’ diùltadh faidhlichean meadhain
       rejecting_reports: a’ diùltadh gearanan
       severity:
-        silence: mùchte
+        silence: cuingichte
         suspend: à rèim
       show:
         affected_accounts:
@@ -425,7 +458,7 @@ gd:
           other: Bheir seo buaidh air %{count} cunntas san stòr-dàta
           two: Bheir seo buaidh air %{count} chunntas san stòr-dàta
         retroactive:
-          silence: Dì-mhùch na cunntasan a tha ann on àrainn seo ’s air a bheil buaidh
+          silence: Dì-chuingich na cunntasan a tha ann on àrainn seo ’s air a bheil buaidh
           suspend: Cuir na cunntasan a tha ann on àrainn seo ’s air a bheil buaidh ann an rèim a-rithist
         title: Neo-dhèan bacadh na h-àrainne %{domain}
         undo: Neo-dhèan
@@ -456,6 +489,7 @@ gd:
       back_to_limited: Cuingichte
       back_to_warning: Rabhadh
       by_domain: Àrainn
+      confirm_purge: A bheil thu cinnteach gu bheil thu airson an dàta on àrainn seo a sguabadh às gu buan?
       delivery:
         all: Na h-uile
         clear: Falamhaich na mearachdan lìbhrigidh
@@ -473,6 +507,7 @@ gd:
       delivery_available: Tha lìbhrigeadh ri fhaighinn
       delivery_error_days: Làithean le mearachd lìbhrigidh
       delivery_error_hint: Mura gabh a lìbhrigeadh fad %{count} là(ithean), thèid comharra a chur ris gu fèin-obrachail a dh’innseas nach gabh a lìbhrigeadh.
+      destroyed_msg: Tha an dàta o %{domain} air ciutha an sguabaidh às aithghearr.
       empty: Cha deach àrainn a lorg.
       known_accounts:
         few: "%{count} cunntasan as aithne dhuinn"
@@ -485,6 +520,7 @@ gd:
         title: Maorsainneachd
       private_comment: Beachd prìobhaideachd
       public_comment: Beachd poblach
+      purge: Purgaidich
       title: Co-nasgadh
       total_blocked_by_us: "‘Ga bhacadh leinne"
       total_followed_by_them: "’Ga leantainn leotha-san"
@@ -514,8 +550,6 @@ gd:
         title: Cruthaich riaghailt IP ùr
       no_ip_block_selected: Cha deach riaghailt IP sam bith atharrachadh o nach deach gin dhiubh a thaghadh
       title: Riaghailtean IP
-    pending_accounts:
-      title: Cunntasan ri dhèiligeadh (%{count})
     relationships:
       title: Na dàimhean aig %{acct}
     relays:
@@ -537,6 +571,7 @@ gd:
     report_notes:
       created_msg: Chaidh nòta a chruthachadh dhan ghearan!
       destroyed_msg: Chaidh nòta a’ ghearain a sguabadh às!
+      today_at: An-diugh aig %{time}
     reports:
       account:
         notes:
@@ -544,29 +579,38 @@ gd:
           one: "%{count} nòta"
           other: "%{count} nòta"
           two: "%{count} nòta"
-        reports:
-          few: "%{count} gearanan"
-          one: "%{count} ghearan"
-          other: "%{count} gearan"
-          two: "%{count} ghearan"
+      action_log: Sgrùd an loga
       action_taken_by: Chaidh an gnìomh a ghabhail le
+      actions:
+        other_description_html: Seall barrachd roghainnean airson giùlan a’ chunntais a stiùireadh agus an conaltradh leis a’ chunntas a chaidh gearan a dhèanamh mu dhèidhinn a ghnàthachadh.
+        silence_description_html: Chan fhaic ach an fheadhainn a tha a’ leantainn oirre mu thràth no a lorgas a làimh i a’ phròifil seo agus cuingichidh seo uiread nan daoine a ruigeas i gu mòr. Gabhaidh seo a neo-dhèanamh uair sam bith.
+        suspend_description_html: Cha ghabh a’ phròifil seo agus an t-susbaint gu leòr aice inntrigeadh gus an dèid a sguabadh às air deireadh na sgeòil. Cha ghabh eadar-ghabhail a dhèanamh leis a’ chunntas. Gabhaidh seo a neo-dhèanamh am broinn 30 latha.
+      actions_description_html: 'Mura foghainn toirt air falbh na droch-shusbaint gu h-àrd:'
+      add_to_report: Cuir barrachd ris a’ ghearan
       are_you_sure: A bheil thu cinnteach?
       assign_to_self: Iomruin dhomh-sa
       assigned: Maor iomruinte
       by_target_domain: Àrainn cunntas a’ ghearain
+      category: Roinn-seòrsa
+      category_description_html: Thèid iomradh a thoirt air adhbhar a’ ghearain mun chunntas/susbaint seo sa chonaltradh leis a’ chunntas mun a chaidh an gearan a thogail
       comment:
         none: Chan eil gin
+      comment_description_html: 'Airson barrachd fiosrachaidh a sholar, sgrìobh %{name}:'
       created_at: Chaidh an gearan a dhèanamh
+      delete_and_resolve: Sguab às is fuasgail
       forwarded: Chaidh a shìneadh air adhart
       forwarded_to: Chaidh a shìneadh air adhart gu %{domain}
       mark_as_resolved: Cuir comharra gun deach fhuasgladh
       mark_as_unresolved: Cuir comharra nach deach fhuasgladh
+      no_one_assigned: Gun iomruineadh
       notes:
         create: Cuir nòta ris
         create_and_resolve: Fuasgail le nòta
         create_and_unresolve: Ath-fhosgail le nòta
         delete: Sguab às
         placeholder: Mìnich dè na ghnìomhan a chaidh a ghabhail no naidheachd sam bith eile mu dhèidhinn…
+        title: Nòtaichean
+      notes_description_html: Seall is sgrìobh nòtaichean do mhaoir eile is dhut fhèin san àm ri teachd
       reopen: Fosgail an gearan a-rithist
       report: 'Gearan air #%{id}'
       reported_account: Cunntas mun a chaidh a ghearan
@@ -574,11 +618,14 @@ gd:
       resolved: Air fhuasgladh
       resolved_msg: Chaidh an gearan fhuasgladh!
       status: Staid
+      statuses: Susbaint le gearan
+      statuses_description_html: Thèid iomradh a thoirt air an t-susbaint oilbheumach sa chonaltradh leis a’ chunntas mun a chaidh an gearan a thogail
       target_origin: Tùs cunntas a’ ghearain
       title: Gearanan
       unassign: Dì-iomruin
       unresolved: Gun fhuasgladh
       updated_at: Air ùrachadh
+      view_profile: Seall a’ phròifil
     rules:
       add_new: Cuir riaghailt ris
       delete: Sguab às
@@ -673,22 +720,20 @@ gd:
         desc_html: Bheir seo buaidh air na tagaichean hais nach deach a dhì-cheadachadh roimhe
         title: Leig le tagaichean hais treandadh às aonais lèirmheis ro làimh
       trends:
-        desc_html: Seall tagaichean hais gu poblach a chaidh lèirmheas a dhèanamh orra roimhe ’s a tha a’ treandadh aig a àm seo
-        title: Tagaichean hais a’ treandadh
+        desc_html: Seall susbaint gu poblach a chaidh lèirmheas a dhèanamh oirre roimhe ’s a tha a’ treandadh
+        title: Treandaichean
     site_uploads:
       delete: Sguab às am faidhle a chaidh a luchdadh suas
       destroyed_msg: Chaidh an luchdadh suas dhan làrach a sguabadh às!
     statuses:
       back_to_account: Till gu duilleag a’ chunntais
+      back_to_report: Till gu duilleag a’ ghearain
       batch:
-        delete: Sguab às
-        nsfw_off: Cuir comharra nach eil e frionasach
-        nsfw_on: Cuir comharra gu bheil e frionasach
+        remove_from_report: Thoir air falbh on ghearan
+        report: Gearan
       deleted: Chaidh a sguabadh às
-      failed_to_execute: Cha b’ urrainn dhuinn a ruith
       media:
         title: Meadhanan
-      no_media: Chan eil meadhanan ann
       no_status_selected: Cha deach post sam bith atharrachadh o nach deach gin dhiubh a thaghadh
       title: Postaichean a’ chunntais
       with_media: Le meadhanan riutha
@@ -701,21 +746,55 @@ gd:
       sidekiq_process_check:
         message_html: Chan eil pròiseas Sidekiq sam bith a ruith dhan chiutha/dha na ciuthan %{value}. Thoir sùil air an rèiteachadh Sidekiq agad
     tags:
-      accounts_today: Cleachdaidhean fa leth an-diugh
-      accounts_week: Cleachdaidhean fa leth an t-seachdain seo
-      breakdown: Seall an cleachdadh an-diugh a-rèir tùis
-      last_active: Air a chleachdadh o chionn goirid
-      most_popular: Na tha fèill mhòr air
-      most_recent: Air a chruthachadh o chionn goirid
-      name: Taga hais
       review: Dèan lèirmheas air an staid
-      reviewed: Chaidh lèirmheas a dhèanamh air
-      title: Tagaichean hais
-      trending_right_now: A’ treandadh an-dràsta
-      unique_uses_today: "%{count} a’ postadh an-diugh"
-      unreviewed: Gun lèirmheas
       updated_msg: Chaidh roghainnean nan tagaichean hais ùrachadh
     title: Rianachd
+    trends:
+      allow: Ceadaich
+      approved: Aontaichte
+      disallow: Na ceadaich
+      links:
+        allow: Ceadaich an ceangal
+        allow_provider: Ceadaich am foillsichear
+        disallow: Na ceadaich an ceangal
+        disallow_provider: Na ceadaich am foillsichear
+        shared_by_over_week:
+          few: Chaidh a cho-roinneadh le %{count} rè na seachdain seo chaidh
+          one: Chaidh a cho-roinneadh le %{count} rè na seachdain seo chaidh
+          other: Chaidh a cho-roinneadh le %{count} rè na seachdain seo chaidh
+          two: Chaidh a cho-roinneadh le %{count} rè na seachdain seo chaidh
+        title: Ceanglaichean a’ treandadh
+        usage_comparison: Chaidh a cho-roinneadh %{today} tura(i)s an-diugh an coimeas ri %{yesterday} an-dè
+      pending_review: A’ feitheamh air lèirmheas
+      preview_card_providers:
+        allowed: Faodaidh ceanglaichean on fhoillsichear seo treandadh
+        rejected: Cha treandaich ceanglaichean on fhoillsichear seo
+        title: Foillsichearan
+      rejected: Air a dhiùltadh
+      tags:
+        current_score: Sgòr làithreach de %{score}
+        dashboard:
+          tag_accounts_measure: cleachdaidhean àraidh
+          tag_languages_dimension: Brod nan cànan
+          tag_servers_dimension: Brod nam frithealaichean
+          tag_servers_measure: frithealaichean eadar-dhealaichte
+          tag_uses_measure: cleachdaidhean iomlan
+        listable: Gabhaidh a mholadh
+        not_listable: Cha dèid a mholadh
+        not_trendable: Cha nochd e am measg nan treandaichean
+        not_usable: Cha ghabh a chleachdadh
+        peaked_on_and_decaying: Air a’ bhàrr %{date}, a’ crìonadh an-dràsta
+        title: Tagaichean hais a’ treandadh
+        trendable: Faodaidh e nochdadh am measg nan treandaichean
+        trending_rank: 'A’ treandadh #%{rank}'
+        usable: Gabhaidh a chleachdadh
+        usage_comparison: Chaidh a chleachdadh %{today} tura(i)s an-diugh an coimeas ri %{yesterday} an-dè
+        used_by_over_week:
+          few: Chaidh a chleachdadh le %{count} rè na seachdain seo chaidh
+          one: Chaidh a chleachdadh le %{count} rè na seachdain seo chaidh
+          other: Chaidh a chleachdadh le %{count} rè na seachdain seo chaidh
+          two: Chaidh a chleachdadh le %{count} rè na seachdain seo chaidh
+      title: Treandaichean
     warning_presets:
       add_new: Cuir fear ùr ris
       delete: Sguab às
@@ -730,9 +809,16 @@ gd:
       body: Rinn %{reporter} gearan air %{target}
       body_remote: Rinn cuideigin o %{domain} gearan air %{target}
       subject: Tha gearan ùr aig %{instance} (#%{id})
-    new_trending_tag:
-      body: 'Tha an taga hais #%{name} a’ treandadh an-diugh ach cha deach lèirmheas a dhèanamh air cheana. Cha nochd e gu poblach ach ma cheadaicheas tu e. Ma shàbhaileas tu am foirm seo mar a tha e, cha bhodraig e a-rithist thu.'
-      subject: Tha taga hais ùr air %{instance} a’ feitheamh air lèirmheas (#%{name})
+    new_trending_links:
+      body: Tha na ceanglaichean a leanas a’ treandadh an-diugh ach cha deach lèirmheas a dhèanamh air na foillsichearan aca fhathast. Cha nochd iad gu poblach mur aontaich thu riutha. Chan fhaic thu brathan eile mu na h-aon fhoillsichearan.
+      no_approved_links: Chan eil ceangal a’ treandadh le aontachadh ann.
+      requirements: "’S e “%{lowest_link_title}” a tha sa cheangal a’ treandadh as ìsle le aontachadh agus sgòr de %{lowest_link_score} air."
+      subject: Tha ceanglaichean ùra a’ trèanadh feumach air lèirmheas air %{instance}
+    new_trending_tags:
+      body: 'Tha na tagaichean hais a leanas a’ treandadh an-diugh ach cha deach lèirmheas a dhèanamh orra fhathast. Cha nochd iad gu poblach mur aontaich thu riutha:'
+      no_approved_tags: Chan eil tagaichean hais a’ treandadh le aontachadh ann.
+      requirements: "’S e #%{lowest_tag_name} a tha san taga hais a’ treandadh as ìsle le aontachadh agus sgòr de %{lowest_tag_score} air."
+      subject: Tha tagaichean hais ùra a’ trèanadh feumach air lèirmheas air %{instance}
   aliases:
     add_new: Cruthaich alias
     created_msg: Chaidh an t-alias ùr a chruthachadh. ’S urrainn dhut tòiseachadh air imrich on seann-chunntas a-nis.
@@ -784,6 +870,7 @@ gd:
     invalid_reset_password_token: Tha tòcan ath-shuidheachadh an fhacail-fhaire mì-dhligheach no dh’fhalbh an ùine air. Feuch an iarr thu fear ùr.
     link_to_otp: Cuir a-steach còd dà-cheumnach no còd aisig on fhòn agad
     link_to_webauth: Cleachd uidheam na h-iuchrach tèarainteachd agad
+    log_in_with: Clàraich a-steach le
     login: Clàraich a-steach
     logout: Clàraich a-mach
     migrate_account: Imrich gu cunntas eile
@@ -939,9 +1026,10 @@ gd:
     changes_saved_msg: Chaidh na h-atharraichean a shàbhaladh!
     copy: Dèan lethbhreac
     delete: Sguab às
-    no_batch_actions_available: Chan eil gnìomh grunna ri fhaighinn air an duilleag seo
+    none: Chan eil gin
     order_by: Seòrsaich a-rèir
     save_changes: Sàbhail na h-atharraichean
+    today: an-diugh
     validation_errors:
       few: Tha rud ann nach eil buileach ceart fhathast! Thoir sùil air na %{count} mhearachdan gu h-ìosal
       one: Tha rud ann nach eil buileach ceart fhathast! Thoir sùil air an %{count} mhearachd gu h-ìosal
@@ -949,26 +1037,6 @@ gd:
       two: Tha rud ann nach eil buileach ceart fhathast! Thoir sùil air an %{count} mhearachd gu h-ìosal
   html_validator:
     invalid_markup: 'tha HTML markup mì-dhligheach ann: %{error}'
-  identity_proofs:
-    active: Gnìomhach
-    authorize: Tha, ùghdarraich
-    authorize_connection_prompt: A bheil thu airson an ceangal crioptaichte seo ùghdarrachadh?
-    errors:
-      failed: Dh’fhàillig leis a’ cheangal chrioptaichte. Feuch ris a-rithist o %{provider}.
-      keybase:
-        invalid_token: "’S e haisichean de shoidhnidhean a th’ anns na tòcanan Keybase agus feumaidh 66 caractar sia-dheicheach a bhith annta"
-        verification_failed: Chan aithnich Keybase an tòcan seo ’na shoidhneadh aig cleachdaiche Keybase %{kb_username}. Feuch ris a-rithist o Keybase.
-      wrong_user: Chan urrainn dhuinn dearbhadh air %{proving} a chruthachadh fhad ’s a bhios tu clàraichte a-steach mar %{current}. Clàraich a-steach mar %{proving} is feuch ris a-rithist.
-    explanation_html: "’S urrainn dhut na dearbh-aithnean eile agad a cheangal le crioptachadh o ùrlaran eile, can Keybase. Leigidh seo le càch teachdaireachdan crioptaichte a chur thugad air na h-ùrlaran sin agus bheir seo comas dhaibh gun cuir iad earbsa san t-susbaint a chuireas tu thuca ’s iad cinnteach gur ann uat-sa fhèin a thàinig i."
-    i_am_html: Is mise %{username} air %{service}.
-    identity: Dearbh-aithne
-    inactive: Neo-ghnìomhach
-    publicize_checkbox: "’S postaich seo mar dhùd:"
-    publicize_toot: 'Chaidh a dhearbhadh! Is mise %{username} air %{service}: %{url}'
-    remove: Thoir an dearbhadh air falbh on chunntas
-    removed: Chaidh an dearbhadh a thoirt air falbh on chunntas
-    status: Staid an dearbhaidh
-    view_proof: Seall an dearbhadh
   imports:
     errors:
       over_rows_processing_limit: tha còrr is %{count} ràgh(an) ann
@@ -1248,7 +1316,6 @@ gd:
     edit_profile: Deasaich a’ phròifil
     export: Às-phortadh dàta
     featured_tags: Tagaichean hais brosnaichte
-    identity_proofs: Dearbhaidhean na dearbh-aithne
     import: Ion-phortadh
     import_and_export: Ion-phortadh ⁊ às-phortadh
     migrate: Imrich cunntais
@@ -1284,15 +1351,15 @@ gd:
       one: "– bha na tagaichean hais toirmisgte seo ann: %{tags}"
       other: "– bha na tagaichean hais toirmisgte seo ann: %{tags}"
       two: "– bha na tagaichean hais toirmisgte seo ann: %{tags}"
+    edited_at: Air a dheasachadh %{date}
     errors:
       in_reply_not_found: Tha coltas nach eil am post dhan a tha thu airson freagairt ann.
-    language_detection: Mothaich dhan chànan gu fèin-obrachail
     open_in_web: Fosgail air an lìon
     over_character_limit: chaidh thu thar crìoch charactaran de %{max}
     pin_errors:
+      direct: Chan urrainn dhut post a phrìneachadh nach fhaic ach na cleachdaichean le iomradh orra
       limit: Tha an àireamh as motha de phostaichean prìnichte agad a tha ceadaichte
       ownership: Chan urrainn dhut post càich a phrìneachadh
-      private: Chan urrainn dhut post neo-phoblach a phrìneachadh
       reblog: Chan urrainn dhut brosnachadh a phrìneachadh
     poll:
       total_people:
@@ -1350,10 +1417,10 @@ gd:
       '63113904': 2 bhliadhna
       '7889238': 3 mìosan
     min_age_label: Stairsneach aoise
-    min_favs: Cùm na tha ’na annsachd aig còrr is
-    min_favs_hint: Cha dèid gin dhe na postaichean agad a sguabadh às a tha ’nan annsachd aig barrachd daoine na an t-uiread seo. Fàg seo bàn airson postaichean a sguabadh às ge b’ e co mheud neach a chur ris na h-annsachdan iad
-    min_reblogs: Cùm na tha ’ga bhrosnachadh le còrr is
-    min_reblogs_hint: Cha dèid gin dhe na postaichean agad a sguabadh às a tha ’gam brosnachadh le barrachd daoine na an t-uiread seo. Fàg seo bàn airson postaichean a sguabadh às ge b’ e co mheud neach a tha ’gam brosnachadh
+    min_favs: Cùm na tha ’na annsachd aig co-dhiù
+    min_favs_hint: Cha dèid gin dhe na postaichean agad a sguabadh às a tha ’nan annsachd an àireamh de thursan seo air a char as lugha. Fàg seo bàn airson postaichean a sguabadh às ge b’ e co mheud turas a tha iad ’nan annsachd
+    min_reblogs: Cùm na tha ’ga bhrosnachadh le co-dhiù
+    min_reblogs_hint: Cha dèid gin dhe na postaichean agad a sguabadh às a tha ’gam brosnachadh an àireamh de thursan seo air a char as lugha. Fàg seo bàn airson postaichean a sguabadh às ge b’ e co mheud turas a tha iad ’gam brosnachadh
   stream_entries:
     pinned: Post prìnichte
     reblogged: "’ga bhrosnachadh"
@@ -1361,7 +1428,9 @@ gd:
   tags:
     does_not_match_previous_name: "– chan eil seo a-rèir an ainm roimhe"
   terms:
-    body_html: '<h2>Poileasaidh prìobhaideachd</h2> <h3 id="collect">Dè am fiosrachadh a chruinnicheas sinn?</h3> <ul> <li><em>Fiosrachadh bunasach a’ cunntais</em>: Ma chlàraicheas tu leis an fhrithealaiche seo, dh’fhaoidte gun dèid iarraidh ort gun cuir thu a-steach ainm-cleachdaiche, seòladh puist-d agus facal-faire. Faodaidh tu barrachd fiosrachaidh a chur ris a’ phròifil agad ma thogras tu, can ainm-taisbeanaidh agus teacsa mu do dhèidhinn agus dealbhan pròifile ’s banna-chinn a luchdadh suas. Thèid an t-ainm-cleachdaiche, an t-ainm-taisbeanaidh, an teacsa mu do dhèidhinn agus dealbhan na pròifile ’s a bhanna-chinn a shealltainn gu poblach an-còmhnaidh.</li> <li><em>Postaichean, luchd-leantainn agus fiosrachadh poblach eile</em>: Tha liosta nan daoine air a leanas tu poblach mar a tha i dhan luchd-leantainn agad. Nuair a chuireas tu a-null teachdaireachd, thèid an t-àm ’s an ceann-latha a stòradh cho math ris an aplacaid leis an do chuir thu am foirm a-null. Faodaidh ceanglachain meadhain a bhith am broinn teachdaireachdan, can dealbhan no videothan. Tha postaichean poblach agus postaichean falaichte o liostaichean ri ’m faighinn gu poblach. Nuair a bhrosnaicheas tu post air a’ phròifil agad, ’s e fiosrachadh poblach a tha sin cuideachd. Thèid na postaichean agad a lìbhrigeadh dhan luchd-leantainn agad agus is ciall dha seo gun dèid an lìbhrigeadh gu frithealaichean eile aig amannan is gun dèid lethbhreacan dhiubh a stòradh thall. Nuair a sguabas tu às post, thèid sin a lìbhrigeadh dhan luchd-leantainn agad cuideachd. Tha ath-bhlogachadh no dèanamh annsachd de phost eile poblach an-còmhnaidh.</li> <li><em>Postaichean dìreach is dhan luchd-leantainn a-mhàin</em>: Thèid a h-uile post a stòradh ’s a phròiseasadh air an fhrithealaiche. Thèid na postaichean dhan luchd-leantainn a-mhàin a lìbhrigeadh dhan luchd-leantainn agad agus dhan luchd-chleachdaidh a chaidh iomradh a dhèanamh orra sa phost. Thèid postaichean dìreach a lìbhrigeadh dhan luchd-chleachdaidh a chaidh iomradh a dhèanamh orra sa phost a-mhàin. Is ciall dha seo gun dèid an lìbhrigeadh gu frithealaichean eile aig amannan is gun dèid lethbhreacan dhiubh a stòradh thall. Nì sinn ar dìcheall gun cuingich sinn an t-inntrigeadh dha na postaichean air na daoine a fhuair ùghdarrachadh dhaibh ach dh’fhaoidte nach dèan frithealaichean eile seo. Mar sin dheth, tha e cudromach gun doir thu sùil air na frithealaichean dhan a bhuineas an luchd-leantainn agad. Faodaidh tu roghainn a chur air no dheth a leigeas leat aontachadh ri luchd-leantainn ùra no an diùltadh a làimh. <em>Thoir an aire gum faic rianairean an fhrithealaiche agus frithealaiche sam bith a gheibh am fiosrachadh na teachdaireachdan dhen leithid</em> agus gur urrainn dha na faightearan glacaidhean-sgrìn no lethbhreacan dhiubh a dhèanamh no an cho-roinneadh air dòighean eile. <em>Na co-roinn fiosrachadh cunnartach air Mastodon idir.</em></li> <li><em>IPan is meata-dàta eile</em>: Nuair a nì thu clàradh a-steach, clàraidh sinn an seòladh IP on a rinn thu clàradh a-steach cuide ri ainm aplacaid a’ bhrabhsair agad. Bidh a h-uile seisean clàraidh a-steach ri làimh dhut airson an lèirmheas agus an cùl-ghairm sna roghainnean. Thèid an seòladh IP as ùire a chleachd thu a stòradh suas ri 12 mhìos. Faodaidh sinn cuideachd logaichean an fhrithealaiche a chumail a ghabhas a-steach seòladh IP aig a h-uile iarrtas dhan fhrithealaiche againn.</li> </ul> <hr class="spacer" /> <h3 id="use">Dè na h-adhbharan air an cleachd sinn am fiosrachadh agad?</h3> <p>Seo na dòighean air an cleachd sinn fiosrachadh sam bith a chruinnich sinn uat ma dh’fhaoidte:</p> <ul> <li>Airson bun-ghleusan Mhastodon a lìbhrigeadh. Chan urrainn dhut conaltradh le susbaint càich no an t-susbaint agad fhèin a phostadh ach nuair a bhios tu air do chlàradh a-steach. Mar eisimpleir, faodaidh tu leantainn air càch ach am faic thu na postaichean aca còmhla air loidhne-ama pearsanaichte na dachaigh agad.</li> <li>Airson cuideachadh le maorsainneachd na coimhearsnachd, can airson coimeas a dhèanamh eadar an seòladh IP agad ri feadhainn eile feuch am mothaich sinn do sheachnadh toirmisg no briseadh eile nan riaghailtean.</li> <li>Faodaidh sinn an seòladh puist-d agad a chleachdadh airson fiosrachadh no brathan mu chonaltraidhean càich leis an t-susbaint agad no teachdaireachdan a chur thugad, airson freagairt ri ceasnachaidhean agus/no iarrtasan no ceistean eile.</li> </ul> <hr class="spacer" /> <h3 id="protect">Ciamar a dhìonas sinn am fiosrachadh agad?</h3> <p>Cuiridh sinn iomadh gleus tèarainteachd an sàs ach an glèidheadh sinn sàbhailteachd an fhiosrachaidh phearsanta agad nuair a chuireas tu gin a-steach, nuair a chuireas tu a-null e no nuair a nì thu inntrigeadh air. Am measg gleusan eile, thèid seisean a’ bhrabhsair agad cuide ris an trafaig eadar na h-aplacaidean agad ’s an API a dhìon le SSL agus thèid hais a dhèanamh dhen fhacal-fhaire agad le algairim aon-shligheach làidir. Faodaidh tu dearbhadh dà-cheumnach a chur an comas airson barrachd tèarainteachd a chur ris an inntrigeadh dhan chunntas agad.</p> <hr class="spacer" /> <h3 id="data-retention">Dè am poileasaidh cumail dàta againn?</h3> <p>Nì sinn ar dìcheall:</p> <ul> <li>Nach cùm sinn logaidhean an fhrithealaiche sa bheil seòlaidhean IP nan iarrtasan uile dhan fhrithealaiche seo nas fhaide na 90 latha ma chumas sinn logaichean dhen leithid idir.</li> <li>Nach cùm sinn na seòlaidhean IP a tha co-cheangailte ri cleachdaichean clàraichte nas fhaide na 12 mhìos.</li> </ul> <p>’S urrainn dhut tasg-lann iarraidh dhen t-susbaint agad ’s a luchdadh a-nuas is gabhaidh seo a-staigh na postaichean, na ceanglachain meadhain, dealbh na pròifil agus dealbh a’ bhanna-chinn agad.</p> <p>’S urrainn dhut an cunntas agad a sguabadh às gu buan uair sam bith.</p> <hr class="spacer"/> <h3 id="cookies">An cleachd sinn briosgaidhean?</h3> <p>Cleachdaidh. ’S e faidhlichean beaga a tha sna briosgaidean a thar-chuireas làrach no solaraiche seirbheise gu clàr-cruaidh a’ choimpiutair agad leis a’ bhrabhsair-lìn agad (ma cheadaicheas tu sin). Bheir na briosgaidean sin comas dhan làrach gun aithnich i am brabhsair agad agus ma tha cunntas clàraichte agad, gun co-cheangail i ris a’ chunntas chlàraichte agad e.</p> <p>Cleachdaidh sinn briosgaidean airson na roghainnean agad a thuigsinn ’s a ghlèidheadh gus an tadhail thu oirnn san àm ri teachd.</p> <hr class="spacer" /> <h3 id="disclose">Am foillsich sinn fiosrachadh sam bith gu pàrtaidhean air an taobh a-muigh?</h3> <p>Cha reic, malairt no tar-chuir sinn fiosrachadh air a dh’aithnichear thu fhèin gu pàrtaidh sam bith air an taobh a-muigh. Cha ghabh seo a-staigh treas-phàrtaidhean earbsach a chuidicheas leinn le ruith na làraich againn, le obrachadh a’ ghnìomhachais againn no gus an t-seirbheis a thoirt leat cho fada ’s a dh’aontaicheas na treas-phàrtaidhean sin gun cùm iad am fiosrachadh dìomhair. Faodaidh sinn am fiosrachadh agad fhoillseachadh cuideachd nuair a bhios sinn dhen bheachd gu bheil am foillseachadh sin iomchaidh airson gèilleadh dhan lagh, poileasaidhean na làraich againn èigneachadh no na còraichean, an sealbh no an t-sàbhailteachd againn fhèin no aig càch a dhìon.</p> <p>Dh’fhaoidte gun dèid an t-susbaint phoblach agad a luchdadh a-nuas le frithealaichean eile san lìonra. Thèid na postaichean poblach agad ’s an fheadhainn dhan luchd-leantainn a-mhàin a lìbhrigeadh dha na frithealaichean far a bheil an luchd-leantainn agad a’ còmhnaidh agus thèid na teachdaireachdan dìreach a lìbhrigeadh gu frithealaichean nam faightearan nuair a bhios iad a’ còmhnaidh air frithealaiche eile.</p> <p>Nuair a dh’ùghdarraicheas tu aplacaid gun cleachd i an cunntas agad, a-rèir sgòp nan ceadan a dh’aontaicheas tu riutha, faodaidh i fiosrachadh poblach na pròifil agad, liosta na feadhna air a bhios tu a’ leantainn, an luchd-leantainn agad, na liostaichean agad, na postaichean agad uile ’s na h-annsachdan agad inntrigeadh. Chan urrainn do dh’aplacaidean an seòladh puist-d no am facal-faire agad inntrigeadh idir.</p> <hr class="spacer" /> <h3 id="children">Cleachdadh na làraich leis a’ chloinn</h3> <p>Ma tha am frithealaiche seo san Aonadh Eòrpach (AE) no san Roinn Eaconomach na h-Eòrpa (EEA): Tha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 16 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon GDPR (<a href="https://en.wikipedia.org/wiki/General_Data_Protection_Regulation">General Data Protection Regulation</a>) nach cleachd thu an làrach seo.</p> <p>Ma tha am frithealaiche seo sna Stàitean Aonaichte (SAA): Tha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 13 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon COPPA (<a href="https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act">Children''s Online Privacy Protection Act</a>)ha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 16 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon GDPR (<a href="https://en.wikipedia.org/wiki/General_Data_Protection_Regulation">General Data Protection Regulation</a>) nach cleachd thu an làrach seo.</p> <p>Ma tha am frithealaiche seo sna Stàitean Aonaichte (SAA): Tha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 13 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon COPPA (<a href="https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act">Children''s Online Privacy Protection Act</a>) nach cleachd thu an làrach seo.</p> <p>Dh’fhaoidte gu bheil am frithealaiche seo fo riatanasan lagha eile ma tha e ann an uachdranas laghail eile.</p> <hr class="spacer" /> <h3 id="changes">Atharraichean air a’ phoileasaidh phrìobhaideachd againn</h3> <p>Ma chuireas sinn romhainn am poileasaidh prìobhaideachd againn atharrachadh, postaichidh sinn na h-atharraichean dhan duilleag seo.</p> <p>Tha an sgrìobhainn seo fo cheadachas CC-BY-SA. Chaidh ùrachadh an turas mu dheireadh an t-7mh dhen Mhart 2018.</p> <p>Chaidh a fhreagarrachadh o thùs o <a href="https://github.com/discourse/discourse">phoileasaidh prìobhaideachd Discourse</a>.</p> nach cleachd thu an làrach seo.</p> <p>Dh’fhaoidte gu bheil am frithealaiche seo fo riatanasan lagha eile ma tha e ann an uachdranas laghail eile.</p> <hr class="spacer" /> <h3 id="changes">Atharraichean air a’ phoileasaidh phrìobhaideachd againn</h3> <p>Ma chuireas sinn romhainn am poileasaidh prìobhaideachd againn atharrachadh, postaichidh sinn na h-atharraichean dhan duilleag seo.</p> <p>Tha an sgrìobhainn seo fo cheadachas CC-BY-SA. Chaidh ùrachadh an turas mu dheireadh an t-7mh dhen Mhart 2018.</p> <p>Chaidh a fhreagarrachadh o thùs o <a href="https://github.com/discourse/discourse">phoileasaidh prìobhaideachd Discourse</a>.</p>'
+    body_html: '<h2>Poileasaidh prìobhaideachd</h2> <h3 id="collect">Dè am fiosrachadh a chruinnicheas sinn?</h3> <ul> <li><em>Fiosrachadh bunasach a’ cunntais</em>: Ma chlàraicheas tu leis an fhrithealaiche seo, dh’fhaoidte gun dèid iarraidh ort gun cuir thu a-steach ainm-cleachdaiche, seòladh puist-d agus facal-faire. Faodaidh tu barrachd fiosrachaidh a chur ris a’ phròifil agad ma thogras tu, can ainm-taisbeanaidh agus teacsa mu do dhèidhinn agus dealbhan pròifile ’s banna-chinn a luchdadh suas. Thèid an t-ainm-cleachdaiche, an t-ainm-taisbeanaidh, an teacsa mu do dhèidhinn agus dealbhan na pròifile ’s a bhanna-chinn a shealltainn gu poblach an-còmhnaidh.</li> <li><em>Postaichean, luchd-leantainn agus fiosrachadh poblach eile</em>: Tha liosta nan daoine air a leanas tu poblach mar a tha i dhan luchd-leantainn agad. Nuair a chuireas tu a-null teachdaireachd, thèid an t-àm ’s an ceann-latha a stòradh cho math ris an aplacaid leis an do chuir thu am foirm a-null. Faodaidh ceanglachain meadhain a bhith am broinn teachdaireachdan, can dealbhan no videothan. Tha postaichean poblach agus postaichean falaichte o liostaichean ri ’m faighinn gu poblach. Nuair a bhrosnaicheas tu post air a’ phròifil agad, ’s e fiosrachadh poblach a tha sin cuideachd. Thèid na postaichean agad a lìbhrigeadh dhan luchd-leantainn agad agus is ciall dha seo gun dèid an lìbhrigeadh gu frithealaichean eile aig amannan is gun dèid lethbhreacan dhiubh a stòradh thall. Nuair a sguabas tu às post, thèid sin a lìbhrigeadh dhan luchd-leantainn agad cuideachd. Tha ath-bhlogachadh no dèanamh annsachd de phost eile poblach an-còmhnaidh.</li> <li><em>Postaichean dìreach is dhan luchd-leantainn a-mhàin</em>: Thèid a h-uile post a stòradh ’s a phròiseasadh air an fhrithealaiche. Thèid na postaichean dhan luchd-leantainn a-mhàin a lìbhrigeadh dhan luchd-leantainn agad agus dhan luchd-chleachdaidh a chaidh iomradh a dhèanamh orra sa phost. Thèid postaichean dìreach a lìbhrigeadh dhan luchd-chleachdaidh a chaidh iomradh a dhèanamh orra sa phost a-mhàin. Is ciall dha seo gun dèid an lìbhrigeadh gu frithealaichean eile aig amannan is gun dèid lethbhreacan dhiubh a stòradh thall. Nì sinn ar dìcheall gun cuingich sinn an t-inntrigeadh dha na postaichean air na daoine a fhuair ùghdarrachadh dhaibh ach dh’fhaoidte nach dèan frithealaichean eile seo. Mar sin dheth, tha e cudromach gun doir thu sùil air na frithealaichean dhan a bhuineas an luchd-leantainn agad. Faodaidh tu roghainn a chur air no dheth a leigeas leat aontachadh ri luchd-leantainn ùra no an diùltadh a làimh. <em>Thoir an aire gum faic rianairean an fhrithealaiche agus frithealaiche sam bith a gheibh am fiosrachadh na teachdaireachdan dhen leithid</em> agus gur urrainn dha na faightearan glacaidhean-sgrìn no lethbhreacan dhiubh a dhèanamh no an cho-roinneadh air dòighean eile. <em>Na co-roinn fiosrachadh cunnartach air Mastodon idir.</em></li> <li><em>IPan is meata-dàta eile</em>: Nuair a nì thu clàradh a-steach, clàraidh sinn an seòladh IP on a rinn thu clàradh a-steach cuide ri ainm aplacaid a’ bhrabhsair agad. Bidh a h-uile seisean clàraidh a-steach ri làimh dhut airson an lèirmheas agus an cùl-ghairm sna roghainnean. Thèid an seòladh IP as ùire a chleachd thu a stòradh suas ri 12 mhìos. Faodaidh sinn cuideachd logaichean an fhrithealaiche a chumail a ghabhas a-steach seòladh IP aig a h-uile iarrtas dhan fhrithealaiche againn.</li> </ul> <hr class="spacer" /> <h3 id="use">Dè na h-adhbharan air an cleachd sinn am fiosrachadh agad?</h3> <p>Seo na dòighean air an cleachd sinn fiosrachadh sam bith a chruinnich sinn uat ma dh’fhaoidte:</p> <ul> <li>Airson bun-ghleusan Mhastodon a lìbhrigeadh. Chan urrainn dhut conaltradh le susbaint càich no an t-susbaint agad fhèin a phostadh ach nuair a bhios tu air do chlàradh a-steach. Mar eisimpleir, faodaidh tu leantainn air càch ach am faic thu na postaichean aca còmhla air loidhne-ama pearsanaichte na dachaigh agad.</li> <li>Airson cuideachadh le maorsainneachd na coimhearsnachd, can airson coimeas a dhèanamh eadar an seòladh IP agad ri feadhainn eile feuch am mothaich sinn do sheachnadh toirmisg no briseadh eile nan riaghailtean.</li> <li>Faodaidh sinn an seòladh puist-d agad a chleachdadh airson fiosrachadh no brathan mu chonaltraidhean càich leis an t-susbaint agad no teachdaireachdan a chur thugad, airson freagairt ri ceasnachaidhean agus/no iarrtasan no ceistean eile.</li> </ul> <hr class="spacer" /> <h3 id="protect">Ciamar a dhìonas sinn am fiosrachadh agad?</h3> <p>Cuiridh sinn iomadh gleus tèarainteachd an sàs ach an glèidheadh sinn sàbhailteachd an fhiosrachaidh phearsanta agad nuair a chuireas tu gin a-steach, nuair a chuireas tu a-null e no nuair a nì thu inntrigeadh air. Am measg gleusan eile, thèid seisean a’ bhrabhsair agad cuide ris an trafaig eadar na h-aplacaidean agad ’s an API a dhìon le SSL agus thèid hais a dhèanamh dhen fhacal-fhaire agad le algairim aon-shligheach làidir. Faodaidh tu dearbhadh dà-cheumnach a chur an comas airson barrachd tèarainteachd a chur ris an inntrigeadh dhan chunntas agad.</p> <hr class="spacer" /> <h3 id="data-retention">Dè am poileasaidh cumail dàta againn?</h3> <p>Nì sinn ar dìcheall:</p> <ul> <li>Nach cùm sinn logaidhean an fhrithealaiche sa bheil seòlaidhean IP nan iarrtasan uile dhan fhrithealaiche seo nas fhaide na 90 latha ma chumas sinn logaichean dhen leithid idir.</li> <li>Nach cùm sinn na seòlaidhean IP a tha co-cheangailte ri cleachdaichean clàraichte nas fhaide na 12 mhìos.</li> </ul> <p>’S urrainn dhut tasg-lann iarraidh dhen t-susbaint agad ’s a luchdadh a-nuas is gabhaidh seo a-staigh na postaichean, na ceanglachain meadhain, dealbh na pròifil agus dealbh a’ bhanna-chinn agad.</p> <p>’S urrainn dhut an cunntas agad a sguabadh às gu buan uair sam bith.</p> <hr class="spacer"/> <h3 id="cookies">An cleachd sinn briosgaidhean?</h3> <p>Cleachdaidh. ’S e faidhlichean beaga a tha sna briosgaidean a thar-chuireas làrach no solaraiche seirbheise gu clàr-cruaidh a’ choimpiutair agad leis a’ bhrabhsair-lìn agad (ma cheadaicheas tu sin). Bheir na briosgaidean sin comas dhan làrach gun aithnich i am brabhsair agad agus ma tha cunntas clàraichte agad, gun co-cheangail i ris a’ chunntas chlàraichte agad e.</p> <p>Cleachdaidh sinn briosgaidean airson na roghainnean agad a thuigsinn ’s a ghlèidheadh gus an tadhail thu oirnn san àm ri teachd.</p> <hr class="spacer" /> <h3 id="disclose">Am foillsich sinn fiosrachadh sam bith gu pàrtaidhean air an taobh a-muigh?</h3> <p>Cha reic, malairt no tar-chuir sinn fiosrachadh air a dh’aithnichear thu fhèin gu pàrtaidh sam bith air an taobh a-muigh. Cha ghabh seo a-staigh treas-phàrtaidhean earbsach a chuidicheas leinn le ruith na làraich againn, le obrachadh a’ ghnìomhachais againn no gus an t-seirbheis a thoirt leat cho fada ’s a dh’aontaicheas na treas-phàrtaidhean sin gun cùm iad am fiosrachadh dìomhair. Faodaidh sinn am fiosrachadh agad fhoillseachadh cuideachd nuair a bhios sinn dhen bheachd gu bheil am foillseachadh sin iomchaidh airson gèilleadh dhan lagh, poileasaidhean na làraich againn èigneachadh no na còraichean, an sealbh no an t-sàbhailteachd againn fhèin no aig càch a dhìon.</p> <p>Dh’fhaoidte gun dèid an t-susbaint phoblach agad a luchdadh a-nuas le frithealaichean eile san lìonra. Thèid na postaichean poblach agad ’s an fheadhainn dhan luchd-leantainn a-mhàin a lìbhrigeadh dha na frithealaichean far a bheil an luchd-leantainn agad a’ còmhnaidh agus thèid na teachdaireachdan dìreach a lìbhrigeadh gu frithealaichean nam faightearan nuair a bhios iad a’ còmhnaidh air frithealaiche eile.</p> <p>Nuair a dh’ùghdarraicheas tu aplacaid gun cleachd i an cunntas agad, a-rèir sgòp nan ceadan a dh’aontaicheas tu riutha, faodaidh i fiosrachadh poblach na pròifil agad, liosta na feadhna air a bhios tu a’ leantainn, an luchd-leantainn agad, na liostaichean agad, na postaichean agad uile ’s na h-annsachdan agad inntrigeadh. Chan urrainn do dh’aplacaidean an seòladh puist-d no am facal-faire agad inntrigeadh idir.</p> <hr class="spacer" /> <h3 id="children">Cleachdadh na làraich leis a’ chloinn</h3> <p>Ma tha am frithealaiche seo san Aonadh Eòrpach (AE) no san Roinn Eaconomach na h-Eòrpa (EEA): Tha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 16 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon GDPR (<a href="https://en.wikipedia.org/wiki/General_Data_Protection_Regulation">General Data Protection Regulation</a>) nach cleachd thu an làrach seo.</p> <p>Ma tha am frithealaiche seo sna Stàitean Aonaichte (SAA): Tha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 13 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon COPPA (<a href="https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act">Children''s Online Privacy Protection Act</a>)ha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 16 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon GDPR (<a href="https://en.wikipedia.org/wiki/General_Data_Protection_Regulation">General Data Protection Regulation</a>) nach cleachd thu an làrach seo.</p> <p>Ma tha am frithealaiche seo sna Stàitean Aonaichte (SAA): Tha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 13 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon COPPA (<a href="https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act">Children''s Online Privacy Protection Act</a>) nach cleachd thu an làrach seo.</p> <p>Dh’fhaoidte gu bheil am frithealaiche seo fo riatanasan lagha eile ma tha e ann an uachdranas laghail eile.</p> <hr class="spacer" /> <h3 id="changes">Atharraichean air a’ phoileasaidh phrìobhaideachd againn</h3> <p>Ma chuireas sinn romhainn am poileasaidh prìobhaideachd againn atharrachadh, postaichidh sinn na h-atharraichean dhan duilleag seo.</p> <p>Tha an sgrìobhainn seo fo cheadachas CC-BY-SA. Chaidh ùrachadh an turas mu dheireadh an t-7mh dhen Mhart 2018.</p> <p>Chaidh a fhreagarrachadh o thùs o <a href="https://github.com/discourse/discourse">phoileasaidh prìobhaideachd Discourse</a>.</p> nach cleachd thu an làrach seo.</p> <p>Dh’fhaoidte gu bheil am frithealaiche seo fo riatanasan lagha eile ma tha e ann an uachdranas laghail eile.</p> <hr class="spacer" /> <h3 id="changes">Atharraichean air a’ phoileasaidh phrìobhaideachd againn</h3> <p>Ma chuireas sinn romhainn am poileasaidh prìobhaideachd againn atharrachadh, postaichidh sinn na h-atharraichean dhan duilleag seo.</p> <p>Tha an sgrìobhainn seo fo cheadachas CC-BY-SA. Chaidh ùrachadh an turas mu dheireadh an t-7mh dhen Mhart 2018.</p> <p>Chaidh a fhreagarrachadh o thùs o <a href="https://github.com/discourse/discourse">phoileasaidh prìobhaideachd Discourse</a>.</p>
+
+      '
     title: Teirmichean na seirbheise ⁊ poileasaidh prìobhaideachd %{instance}
   themes:
     contrast: Mastodon (iomsgaradh àrd)
@@ -1371,6 +1440,7 @@ gd:
     formats:
       default: "%d %b %Y, %H:%M"
       month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Cuir ris
     disable: Cuir an dearbhadh dà-cheumnach à comas
@@ -1398,24 +1468,31 @@ gd:
       subject: Dearbh an oidhirp air clàradh a-steach
       title: Oidhirp clàraidh a-steach
     warning:
+      categories:
+        spam: Spama
+        violation: Tha an t-susbaint a’ briseadh na riaghailtean giùlain a leanas
       explanation:
-        disable: Chan urrainn dhut clàradh a-steach dhan chunntas agad tuilleadh no a chleachdadh ann an dòigh sam bith eile ach mairidh a’ phròifil ’s an dàta eile agad.
-        sensitive: Thèid dèiligeadh ris na faidhlichean meadhain is na meadhanan ceangailte agad mar fheadhainn fhrionasach.
-        silence: "’S urrainn dhut an cunntas agad a chleachdadh fhathast ach chan fhaic ach na daoine a tha a’ leantainn ort mu thràth na postaichean agad air an fhrithealaiche seo agus dh’fhaoidte gun dèid d’ às-dhùnadh o iomadh liosta phoblach. Gidheadh, faodaidh càch leantainn ort a làimh fhathast."
-        suspend: Chan urrainn dhut an cunntas agad a chleachdadh tuilleadh agus chan fhaigh thu grèim air a’ phròifil no air an dàta eile agad. ’S urrainn dhut clàradh a-steach fhathast airson lethbhreac-glèidhidh dhen dàta agad iarraidh mur dèid an dàta a thoirt air falbh gu slàn ach cumaidh sinn cuid dhen dàta ach nach seachain thu an cur à rèim.
-      get_in_touch: "’S urrainn dhut freagairt dhan phost-d seo no conaltradh ris an sgioba aig %{instance}."
+        delete_statuses: Thathar dhen bheachd gu bheil cuid dhe na postaichean agad a’ briseadh riaghailt no riaghailtean giùlain agus chaidh an toirt air falbh le maoir %{instance} an uairsin. Ma bhriseas tu na riaghailtean a-rithist, dh’fhaoidte gum fulaing an cunntas agad peanas nas teinne.
+        disable: Chan urrainn dhut an cunntas agad a chleachdadh tuilleadh ach mairidh a’ phròifil ’s an dàta eile agad. Faodaidh tu lethbhreac-glèidhidh dhen dàta agad iarraidh, roghainnean a’ chunntais atharrachadh no an cunntas agad a sguabadh às.
+        sensitive: O seo a-mach, thèid comharra na frionasachd a chur ri faidhle meadhain sam bith a luchdaicheas tu suas agus thèid am falach air cùlaibh rabhaidh a ghabhas briogadh air.
+        silence: "’S urrainn dhut an cunntas agad a chleachdadh fhathast ach chan fhaic ach na daoine a tha a’ leantainn ort mu thràth na postaichean agad air an fhrithealaiche seo agus dh’fhaoidte gun dèid d’ às-dhùnadh o iomadh gleus luirg. Gidheadh, faodaidh càch leantainn ort a làimh fhathast."
+        suspend: Chan urrainn dhut an cunntas agad a chleachdadh tuilleadh agus chan fhaigh thu grèim air a’ phròifil no air an dàta eile agad. ’S urrainn dhut clàradh a-steach fhathast airson lethbhreac-glèidhidh dhen dàta agad iarraidh mur dèid an dàta a thoirt air falbh an ceann 30 latha gu slàn ach cumaidh sinn cuid dhen dàta bhunasach ach nach seachain thu an cur à rèim.
+      get_in_touch: Ma tha thu dhen bheachd gur e mearachd a th’ ann, ’s urrainn dhut freagairt dhan phost-d seo no conaltradh ris an sgioba aig %{instance}.
+      reason: 'Adhbhar:'
       review_server_policies: Thoir sùil air riaghailtean an fhrithealaiche
-      statuses: 'Gu sònraichte, dha:'
+      statuses: 'Na postaichean a bhris riaghailt:'
       subject:
+        delete_statuses: Chaidh na postaichean agad air %{acct} a thoirt air falbh
         disable: Chaidh an cunntas %{acct} agad a reòthadh
         none: Rabhadh dha %{acct}
-        sensitive: Chaidh comharra a chur ri meadhanan a’ chunntais %{acct} agad gu bheil iad frionasach
+        sensitive: Thèid comharra na frionasachd a chur ris na faidhlichean meadhain agad air %{acct} o seo a-mach
         silence: Chaidh an cunntas %{acct} agad a chuingeachadh
         suspend: Chaidh an cunntas %{acct} agad a chur à rèim
       title:
+        delete_statuses: Chaidh postaichean a thoirt air falbh
         disable: Cunntas reòite
         none: Rabhadh
-        sensitive: Chaidh comharra a chur ris na meadhanan agad gu bheil iad frionasach
+        sensitive: Chaidh meadhanan fhalach
         silence: Cunntas cuingichte
         suspend: Cunntas à rèim
     welcome:
@@ -1443,7 +1520,7 @@ gd:
     otp_lost_help_html: Ma chaill thu an t-inntrigeadh dhan dà chuid diubh, ’s urrainn dhut fios a chur gu %{email}
     seamless_external_login: Rinn thu clàradh a-steach le seirbheis on taobh a-muigh, mar sin chan eil roghainnean an fhacail-fhaire ’s a’ phuist-d ri làimh dhut.
     signed_in_as: 'Chlàraich thu a-steach mar:'
-    suspicious_sign_in_confirmation: Tha coltas nach do rinn thu clàradh a-steach on uidheam seo cheana agus cha do clàraich thu a-steach greis mhath. Air an adhbhar sin, cuiridh sinn còd tèarainteachd dhan t-seòladh puist-d agad ach an dearbhamaid gur e tusa a th’ ann.
+    suspicious_sign_in_confirmation: Tha coltas nach do rinn thu clàradh a-steach on uidheam seo cheana. Air an adhbhar sin, cuiridh sinn còd tèarainteachd dhan t-seòladh puist-d agad ach an dearbhamaid gur e tusa a th’ ann.
   verification:
     explanation_html: '’S urrainn dhut <strong>dearbhadh gur e seilbheadair nan ceanglaichean ann am meata-dàta na pròifil agad a th’ annad</strong>. Airson sin a dhèanamh, feumaidh ceangal air ais dhan phròifil Mastodon a bhith aig an làrach-lìn cheangailte. <strong>Feumaidh</strong> buadh <code>rel="me"</code> a bhith aig a’ cheangal air ais. Chan eil e gu diofar dè an t-susbaint a tha ann an teacsa a’ cheangail. Seo ball-eisimpleir dhut:'
     verification: Dearbhadh
diff --git a/config/locales/gl.yml b/config/locales/gl.yml
index d740d2b73..57154da58 100644
--- a/config/locales/gl.yml
+++ b/config/locales/gl.yml
@@ -21,7 +21,9 @@ gl:
     federation_hint_html: Cunha conta en %{instance} poderás seguir ás persoas en calquera servidor do Mastodon e alén.
     get_apps: Probar unha aplicación móbil
     hosted_on: Mastodon aloxado en %{domain}
-    instance_actor_flash: Esta conta é un actor virtual utilizado para representar ao servidor e non a unha usuaria individual. Utilízase para propósitos de federación e non debería estar bloqueada a menos que queiras bloquear a toda a instancia, en tal caso deberías utilizar o bloqueo do dominio.
+    instance_actor_flash: 'Esta conta é un actor virtual utilizado para representar ao servidor e non a unha usuaria individual. Utilízase para propósitos de federación e non debería estar bloqueada a menos que queiras bloquear a toda a instancia, en tal caso deberías utilizar o bloqueo do dominio.
+
+      '
     learn_more: Saber máis
     privacy_policy: Política de privacidade
     rules: Regras do servidor
@@ -97,8 +99,7 @@ gl:
     accounts:
       add_email_domain_block: Bloquear o dominio do email
       approve: Aprobar
-      approve_all: Aprobar todos
-      approved_msg: Aprobada a solicitude da aplicación de conexión de %{username}
+      approved_msg: Aprobada a solicitude de rexistro de %{username}
       are_you_sure: Está segura?
       avatar: Imaxe de perfil
       by_domain: Dominio
@@ -112,6 +113,7 @@ gl:
       confirm: Confirmar
       confirmed: Confirmado
       confirming: Estase a confirmar
+      custom: Personalizado
       delete: Eliminar datos
       deleted: Eliminado
       demote: Rebaixar
@@ -151,7 +153,6 @@ gl:
         active: Activa
         all: Todo
         pending: Pendente
-        silenced: Acalada
         suspended: Suspendidos
         title: Moderación
       moderation_notes: Notas de moderación
@@ -169,8 +170,7 @@ gl:
       redownload: Actualizar perfil
       redownloaded_msg: Actualizado o perfil de %{username} desde a orixe
       reject: Rexeitar
-      reject_all: Rexeitar todo
-      rejected_msg: Rexeitada a solicitude da aplicación de conexión de %{username}
+      rejected_msg: Rexeitada a solicitude de rexistro de %{username}
       remove_avatar: Eliminar imaxe de perfil
       remove_header: Eliminar cabeceira
       removed_avatar_msg: Eliminado a imaxe de avatar de %{username}
@@ -195,8 +195,8 @@ gl:
         only_password: Só contrasinal
         password_and_2fa: Contrasinal e 2FA
         password_and_sign_in_token: Contrasinal e token nun email
-      sensitive: Sensible
-      sensitized: marcado como sensible
+      sensitive: Forzar como sensible
+      sensitized: Marcado como sensible
       shared_inbox_url: URL da caixa de entrada compartida
       show:
         created_reports: Denuncias feitas
@@ -204,14 +204,16 @@ gl:
       silence: Silenciar
       silenced: Silenciado
       statuses: Publicacións
+      strikes: Accións previas
       subscribe: Subscribirse
       suspended: Suspendida
       suspension_irreversible: Elimináronse de xeito irreversible os datos desta conta. Podes reactivar a conta para facela usable novamente pero non recuperará os datos eliminados.
       suspension_reversible_hint_html: Esta conta foi suspendida, e os datos serán totalmente eliminados o %{date}. Ata entón, a conta pode ser restaurada sen danos. Se desexas eliminar agora mesmo todos os datos da conta, podes facelo aquí embaixo.
-      time_in_queue: Agardando na cola %{time}
       title: Contas
+      unblock_email: Desbloquear enderezo de email
+      unblocked_email_msg: Enderezo de email de %{username} desbloqueado
       unconfirmed_email: Email non confirmado
-      undo_sensitized: Desmarcar sensible
+      undo_sensitized: Desmarcar como sensible
       undo_silenced: Desfacer acalar
       undo_suspension: Desfacer suspensión
       unsilenced_msg: Retirado o límite da conta %{username}
@@ -224,6 +226,7 @@ gl:
       whitelisted: Listaxe branca
     action_logs:
       action_types:
+        approve_user: Aprobar Usuaria
         assigned_to_self_report: Asignar denuncia
         change_email_user: Editar email da usuaria
         confirm_user: Confirmar usuaria
@@ -241,6 +244,7 @@ gl:
         destroy_domain_allow: Eliminar permiso de dominio
         destroy_domain_block: Eliminar bloqueo de dominio
         destroy_email_domain_block: Eliminar bloqueo de dominio de correo electrónico
+        destroy_instance: Purgar Dominio
         destroy_ip_block: Eliminar regra IP
         destroy_status: Eliminar publicación
         destroy_unavailable_domain: Eliminar dominio Non dispoñible
@@ -253,6 +257,7 @@ gl:
         enable_user: Activar usuaria
         memorialize_account: Transformar en conta conmemorativa
         promote_user: Promover usuaria
+        reject_user: Rexeitar Usuaria
         remove_avatar_user: Eliminar avatar
         reopen_report: Reabrir denuncia
         reset_password_user: Restabelecer contrasinal
@@ -261,6 +266,7 @@ gl:
         silence_account: Silenciar conta
         suspend_account: Suspender conta
         unassigned_report: Desasignar denuncia
+        unblock_email_account: Desbloquear enderezo de email
         unsensitive_account: Retira a marca de sensible do multimedia da conta
         unsilence_account: Deixar de silenciar conta
         unsuspend_account: Retirar suspensión de conta
@@ -269,6 +275,7 @@ gl:
         update_domain_block: Actualizar bloqueo do dominio
         update_status: Actualizar publicación
       actions:
+        approve_user_html: "%{name} aprobou o rexistro de %{target}"
         assigned_to_self_report_html: "%{name} asignou a denuncia %{target} para si mesma"
         change_email_user_html: "%{name} cambiou o enderezo de email da usuaria %{target}"
         confirm_user_html: "%{name} confirmou o enderezo de email da usuaria %{target}"
@@ -286,6 +293,7 @@ gl:
         destroy_domain_allow_html: "%{name} retirou a federación co dominio %{target}"
         destroy_domain_block_html: "%{name} desbloqueou o dominio %{target}"
         destroy_email_domain_block_html: "%{name} desbloqueou o dominio de email %{target}"
+        destroy_instance_html: "%{name} purgou o dominio %{target}"
         destroy_ip_block_html: "%{name} eliminou a regra para o IP %{target}"
         destroy_status_html: "%{name} eliminou a publicación de %{target}"
         destroy_unavailable_domain_html: "%{name} retomou a interacción co dominio %{target}"
@@ -298,6 +306,7 @@ gl:
         enable_user_html: "%{name} activou a conexión para a usuaria %{target}"
         memorialize_account_html: "%{name} convertiu a conta de %{target} nunha páxina para o recordo"
         promote_user_html: "%{name} promocionou a usuaria %{target}"
+        reject_user_html: "%{name} rexeitou o rexistro de %{target}"
         remove_avatar_user_html: "%{name} eliminou o avatar de %{target}"
         reopen_report_html: "%{name} reabriu a denuncia %{target}"
         reset_password_user_html: "%{name} restableceu o contrasinal da usuaria %{target}"
@@ -306,6 +315,7 @@ gl:
         silence_account_html: "%{name} acalou a conta de %{target}"
         suspend_account_html: "%{name} suspendeu a conta de %{target}"
         unassigned_report_html: "%{name} quitoulle a asignación á denuncia %{target}"
+        unblock_email_account_html: "%{name} desbloqueou o enderezo de email de %{target}"
         unsensitive_account_html: "%{name} desmarcou como sensible o multimedia de %{target}"
         unsilence_account_html: "%{name} reactivou a conta de %{target}"
         unsuspend_account_html: "%{name} retiroulle a suspensión á conta de %{target}"
@@ -425,7 +435,7 @@ gl:
       rejecting_media: rexeitando ficheiros multimedia
       rejecting_reports: rexeitando denuncias
       severity:
-        silence: silenciado
+        silence: limitado
         suspend: suspendido
       show:
         affected_accounts:
@@ -463,6 +473,7 @@ gl:
       back_to_limited: Limitado
       back_to_warning: Aviso
       by_domain: Dominio
+      confirm_purge: Tes a certeza de querer eliminar permanentemente os datos deste dominio?
       delivery:
         all: Todo
         clear: Eliminar erros na entrega
@@ -478,6 +489,7 @@ gl:
       delivery_available: Entrega dispoñíbel
       delivery_error_days: Días de fallo na entrega
       delivery_error_hint: Se non é posible a entrega durante %{count} días, será automáticamente marcado como non entregable.
+      destroyed_msg: Os datos desde %{domain} están na cola para o borrado inminente.
       empty: Non se atopan dominios.
       known_accounts:
         one: "%{count} conta coñecida"
@@ -488,6 +500,7 @@ gl:
         title: Moderación
       private_comment: Comentario privado
       public_comment: Comentario público
+      purge: Purgar
       title: Federación
       total_blocked_by_us: Bloqueado por nós
       total_followed_by_them: Seguidos por eles
@@ -517,8 +530,6 @@ gl:
         title: Crear nova regra IP
       no_ip_block_selected: Non se cambiou ningunha regra iP porque non seleccionaches ningunha
       title: Regras IP
-    pending_accounts:
-      title: Contas pendentes (%{count})
     relationships:
       title: Relacións de %{acct}
     relays:
@@ -540,32 +551,44 @@ gl:
     report_notes:
       created_msg: A nota da denuncia creouse de xeito correcto!
       destroyed_msg: A nota da denuncia borrouse de xeito correcto!
+      today_at: Hoxe ás %{time}
     reports:
       account:
         notes:
           one: "%{count} nota"
           other: "%{count} notas"
-        reports:
-          one: "%{count} denuncia"
-          other: "%{count} denuncias"
+      action_log: Rexistro de auditoría
       action_taken_by: Acción tomada por
+      actions:
+        other_description_html: Mira máis opcións para controlar o comportamento da conta e personalizar as comunicacións coa conta denunciada.
+        silence_description_html: O perfil será visible só para quen xa o está a seguir ou quen o buscou manualmente, limitando moito o seu alcance. Pódese cambiar.
+        suspend_description_html: O perfil e tódolos seus contidos será inaccesbles e finalmente eliminados. A interacción coa conta non será posible. Reversible durante 30 días.
+      actions_description_html: 'Se eliminar o contido ofensivo non é suficiente:'
+      add_to_report: Engadir máis á denuncia
       are_you_sure: Estás seguro?
       assign_to_self: Asignarme
       assigned: Moderador asignado
       by_target_domain: Dominio da conta denunciada
+      category: Categoría
+      category_description_html: A razón para denunciar esta conta ou contido será citada na comunicación coa conta denunciada
       comment:
         none: Ningún
+      comment_description_html: 'Como información engadida, %{name} escribiu:'
       created_at: Denunciado
+      delete_and_resolve: Eliminar e resolver
       forwarded: Reenviado
       forwarded_to: Reenviado a %{domain}
       mark_as_resolved: Marcar como resolto
       mark_as_unresolved: Marcar como non resolto
+      no_one_assigned: Ninguén
       notes:
         create: Engadir nota
         create_and_resolve: Resolver cunha nota
         create_and_unresolve: Reabrir cunha nota
         delete: Eliminar
         placeholder: Describir que accións foron tomadas ou calquera outra novidade sobre esta denuncia...
+        title: Notas
+      notes_description_html: Ver e deixar unha nota para ti no futuro e outras moderadoras
       reopen: Reabrir denuncia
       report: 'Denuncia #%{id}'
       reported_account: Conta denunciada
@@ -573,11 +596,14 @@ gl:
       resolved: Resolto
       resolved_msg: Resolveuse con éxito a denuncia!
       status: Estado
+      statuses: Contido denunciado
+      statuses_description_html: O contido ofensivo será citado na comunicación coa conta denunciada
       target_origin: Orixe da conta denunciada
       title: Denuncias
       unassign: Non asignar
       unresolved: Non resolto
       updated_at: Actualizado
+      view_profile: Ver perfil
     rules:
       add_new: Engadir regra
       delete: Eliminar
@@ -679,15 +705,13 @@ gl:
       destroyed_msg: Eliminado correctamente o subido!
     statuses:
       back_to_account: Volver a páxina da conta
+      back_to_report: Volver a denuncias
       batch:
-        delete: Eliminar
-        nsfw_off: Marcar como non sensible
-        nsfw_on: Marcar como sensible
+        remove_from_report: Eliminar da denuncia
+        report: Denuncia
       deleted: Eliminado
-      failed_to_execute: Fallou a execución
       media:
         title: Medios
-      no_media: Sen medios
       no_status_selected: Non se cambiou ningunha publicación xa que ningunha foi seleccionada
       title: Publicacións da conta
       with_media: con medios
@@ -700,21 +724,51 @@ gl:
       sidekiq_process_check:
         message_html: Non hai procesos Sidekiq a funcionar para a cola(s) %{value}. Revisa a túa configuración para Sidekiq
     tags:
-      accounts_today: Usos únicos hoxe
-      accounts_week: Usos únicos esta semana
-      breakdown: Consumo do uso diario por fonte
-      last_active: Úlimo activo
-      most_popular: Máis popular
-      most_recent: Máis recente
-      name: Cancelo
       review: Estado de revisión
-      reviewed: Revisado
-      title: Cancelos
-      trending_right_now: Agora como Tendencia
-      unique_uses_today: "%{count} publicando hoxe"
-      unreviewed: Sen revisar
       updated_msg: Actualizaronse os axustes dos cancelos
     title: Administración
+    trends:
+      allow: Permitir
+      approved: Aprobadas
+      disallow: Denegar
+      links:
+        allow: Permitir ligazón
+        allow_provider: Permitir orixe
+        disallow: Denegar ligazón
+        disallow_provider: Denegar orixe
+        shared_by_over_week:
+          one: Compartido por unha persoa na última semana
+          other: Compartido por %{count} persoas na última semana
+        title: Ligazóns en voga
+        usage_comparison: Compartido %{today} veces hoxe, comparado con %{yesterday} onte
+      pending_review: Revisión pendente
+      preview_card_providers:
+        allowed: As ligazóns desta orixe poden estar en voga
+        rejected: As ligazóns desta orixe non poden estar en voga
+        title: Orixes
+      rejected: Rexeitado
+      tags:
+        current_score: Puntuación actual %{score}
+        dashboard:
+          tag_accounts_measure: usos únicos
+          tag_languages_dimension: Clasificiación idiomas
+          tag_servers_dimension: Clasificación Servidores
+          tag_servers_measure: diferentes servidores
+          tag_uses_measure: total de usos
+        listable: Pode ser suxerida
+        not_listable: Non vai ser suxerida
+        not_trendable: Non aparecerá en tendencias
+        not_usable: Non pode ser usado
+        peaked_on_and_decaying: Máximo en %{date}, agora diminúe
+        title: Cancelos en voga
+        trendable: Pode aparecer nas tendencias
+        trending_rank: 'En voga #%{rank}'
+        usable: Pode ser usado
+        usage_comparison: Utilizado %{today} veces hoxe, comparado coas %{yesterday} de onte
+        used_by_over_week:
+          one: Utilizado por unha persoa na última semana
+          other: Utilizado por %{count} persoas na última semana
+      title: Tendencias
     warning_presets:
       add_new: Engadir novo
       delete: Eliminar
@@ -729,9 +783,16 @@ gl:
       body: "%{reporter} informou sobre %{target}"
       body_remote: Alguén desde %{domain} informou sobre %{target}
       subject: Novo informe sobre %{instance} (#%{id})
-    new_trending_tag:
-      body: 'O cancelo #%{name} é tendencia hoxe, pero non foi previamente revisada. Non se amosará de xeito público a menos que ti o permitas, ou gardes o formulario para facer que non se che consulte de novo.'
-      subject: Un novo cancelo que revisar en %{instance} (#%{name})
+    new_trending_links:
+      body: As seguintes ligazóns están hoxe en voga, pero as súas orixes non foron anteriormente revisadas. Non se van amosar públicamente ata que as aprobes. Non se crearán novas notificacións acerca destas orixes.
+      no_approved_links: Actualmente non hai ligazóns en voga aprobadas.
+      requirements: A ligazón en voga aprobada con menor rango é "%{lowest_link_title}" cunha puntuación de %{lowest_link_score}.
+      subject: Novas ligazóns en voga para revisión en %{instance}
+    new_trending_tags:
+      body: 'Os seguintes cancelos son tendencia hoxe, pero non foron previamente revisados. Non aparecerán públicamente a menos que os aprobes:'
+      no_approved_tags: Non hai cancelos en voga aprobados.
+      requirements: 'O cancelo aprobado con menor rango é #%{lowest_tag_name} cunha puntuación de %{lowest_tag_score}.'
+      subject: Hai novos cancelos pendentes de revisión en %{instance}
   aliases:
     add_new: Crear alcume
     created_msg: Creou un novo alcume correctamente. Pode iniciar o movemento desde a conta antiga.
@@ -783,6 +844,7 @@ gl:
     invalid_reset_password_token: O testemuño para restablecer o contrasinal non é válido ou caducou. Por favor solicite un novo.
     link_to_otp: Escribe o código do segundo factor do móbil ou un código de recuperación
     link_to_webauth: Usa o teu dispositivo de chave de seguridade
+    log_in_with: Inicia sesión con
     login: Conectar
     logout: Desconectar
     migrate_account: Mover a unha conta diferente
@@ -805,7 +867,7 @@ gl:
       account_status: Estado da conta
       confirming: Agardando a confirmación do correo enviado.
       functional: A súa conta está totalmente operativa.
-      pending: A túa aplicación está pendente de revisión. Poderíanos levar algún tempo. Recibirás un correo se a aplicación está aprobada.
+      pending: A túa solicitude está pendente de revisión. Poderíanos levar algún tempo. Recibirás un correo se a solicitude está aprobada.
       redirecting_to: A túa conta está inactiva porque está redirixida a %{acct}.
     too_fast: Formulario enviado demasiado rápido, inténtao outra vez.
     trouble_logging_in: Problemas para conectar?
@@ -815,7 +877,7 @@ gl:
     already_requested: Xa tes enviada unha solicitude de seguimento a esa conta
     error: Desgraciadamente, algo fallou ao buscar a conta remota
     follow: Seguir
-    follow_request: 'Enviou unha petición de seguimento a:'
+    follow_request: 'Enviaches unha petición de seguimento a:'
     following: 'Parabéns! Está a seguir a:'
     post_follow:
       close: Ou, pode pechar esta ventá.
@@ -886,7 +948,7 @@ gl:
       content: Sentímolo, pero algo do noso lado falloou.
       title: Esta páxina non é correcta
     '503': A páxina non se puido servir debido a un fallo temporal no servidor.
-    noscript_html: Para utilizar a aplicación web de Mastodon debe habilitar JavaScript. De xeito alternativo, intente unha das <a href="%{apps_path}">apps nativas</a> para Mastodon da súa plataforma.
+    noscript_html: Para utilizar a aplicación web de Mastodon debes activar JavaScript. De xeito alternativo, probb cunha das <a href="%{apps_path}">apps nativas</a> para Mastodon na túa plataforma.
   existing_username_validator:
     not_found: non se atopou unha usuaria local con ese alcume
     not_found_multiple: non se atopou a %{usernames}
@@ -938,34 +1000,15 @@ gl:
     changes_saved_msg: Cambios gardados correctamente!!
     copy: Copiar
     delete: Eliminar
-    no_batch_actions_available: Non hai accións en pila dispoñibles nesta páxina
+    none: Ningún
     order_by: Ordenar por
     save_changes: Gardar cambios
+    today: hoxe
     validation_errors:
       one: Algo non está ben de todo! Por favor revise abaixo o erro
       other: Algo aínda non está ben! Por favor revise os %{count} erros abaixo
   html_validator:
     invalid_markup: 'contén cancelos HTML non válidas: %{error}'
-  identity_proofs:
-    active: Activo
-    authorize: Si, autorizar
-    authorize_connection_prompt: Autorizar esta conexión criptográfica?
-    errors:
-      failed: Fallou a conexión criptográfica. Por favor inténteo de novo desde %{provider}.
-      keybase:
-        invalid_token: Os testemuños Keybase son hashes de firma e deben ter 66 caracteres hexadecimais
-        verification_failed: Keybase non recoñece este testemuño como firma da usuaria de Keybase %{kb_username}. Por favor inténteo desde Keybase.
-      wrong_user: Non se puido crear a proba para %{proving} mentras está conectada como %{current}. Conéctate como %{proving} e inténtao de novo.
-    explanation_html: Aquí podes conectar criptográficamente as tuas outras identidades, como a un perfil Keybase. Esto permítelle a outras persoas enviarche mensaxes cifradas e confiar no contido que ti lles envías.
-    i_am_html: Eu son %{username} en %{service}.
-    identity: Identidade
-    inactive: Inactiva
-    publicize_checkbox: 'E tootee esto:'
-    publicize_toot: 'Comprobado! Eu son %{username} en %{service}: %{url}'
-    remove: Quitar a verificación da conta
-    removed: Quitaches correctamente a verificación da conta
-    status: Estado da validación
-    view_proof: Ver proba
   imports:
     errors:
       over_rows_processing_limit: contén máis de %{count} filas
@@ -975,7 +1018,7 @@ gl:
       overwrite: Sobreescribir
       overwrite_long: Sustituír rexistros actuais cos novos
     preface: Pode importar os datos que exportou de outro servidor, tales como a lista de usuarias que está a seguir ou bloquear.
-    success: Os seus datos foron correctamente subidos e serán procesados ao momento
+    success: Os teus datos foron correctamente subidos e serán procesados ao momento
     types:
       blocking: Lista de bloqueo
       bookmarks: Marcadores
@@ -1181,6 +1224,9 @@ gl:
     reply:
       proceed: Respostar
       prompt: 'Vas responder a esta publicación:'
+  reports:
+    errors:
+      invalid_rules: non fai referencia a regras válidas
   scheduled_statuses:
     over_daily_limit: Excedeches o límite de %{limit} publicacións programadas para ese día
     over_total_limit: Excedeches o límite de %{limit} publicacións programadas
@@ -1239,7 +1285,6 @@ gl:
     edit_profile: Editar perfil
     export: Exportar datos
     featured_tags: Cancelos destacados
-    identity_proofs: Probas de identidade
     import: Importar
     import_and_export: Importar e exportar
     migrate: Migrar conta
@@ -1264,18 +1309,19 @@ gl:
         other: "%{count} vídeos"
     boosted_from_html: Promovida desde %{acct_link}
     content_warning: 'Aviso sobre o contido: %{warning}'
+    default_language: Igual que o idioma da interface
     disallowed_hashtags:
       one: 'contiña un cancelo non permitido: %{tags}'
       other: 'contiña uns cancelos non permitidos: %{tags}'
+    edited_at: Editado %{date}
     errors:
       in_reply_not_found: A publicación á que tentas respostar semella que non existe.
-    language_detection: Detección automática do idioma
     open_in_web: Abrir na web
     over_character_limit: Excedeu o límite de caracteres %{max}
     pin_errors:
+      direct: As publicacións que só son visibles para as usuarias mencionadas non se poden fixar
       limit: Xa fixaches o número máximo permitido de publicacións
       ownership: Non podes fixar a publicación doutra usuaria
-      private: As publicacións non-públicas non poden ser fixadas
       reblog: Non se poden fixar as mensaxes promovidas
     poll:
       total_people:
@@ -1307,7 +1353,7 @@ gl:
     ignore_favs: Ignorar favoritas
     ignore_reblogs: Ignorar promocións
     interaction_exceptions: Excepcións baseadas en interaccións
-    interaction_exceptions_explanation: Ten en conta de que non hai garantía de que se eliminen as túas publicacións se non superan o límite de promocións e favoritos aínd que algunha vez o tivesen superado.
+    interaction_exceptions_explanation: Ten en conta de que non hai garantía de que se eliminen as túas publicacións se non superan o límite de promocións e favoritos aínda que algunha vez o tivesen superado.
     keep_direct: Manter mensaxes directas
     keep_direct_hint: Non borrar ningunha das túas mensaxes directas
     keep_media: Manter publicacións que conteñen multimedia
@@ -1430,6 +1476,7 @@ gl:
     formats:
       default: "%d %b, %Y, %H:%M"
       month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Engadir
     disable: Deshabilitar
@@ -1457,32 +1504,39 @@ gl:
       subject: Por favor confirma o intento de conexión
       title: Intento de conexión
     warning:
+      categories:
+        spam: Spam
+        violation: O contido viola as seguintes normas da comunidade
       explanation:
-        disable: Cando a súa conta está conxelada, os datos permanecen intactos, pero non pode levar a fin accións ate que se desbloquea.
-        sensitive: Os teus ficheiros e ligazóns a multimedia serán tratados como sensibles.
-        silence: Mentras a conta está limitada, só a xente que actualmente te segue verá as publicacións neste servidor, e poderías estar excluída de varias listaxes públicas. Porén, outras persoas poderíante seguir de xeito manual.
-        suspend: A súa conta foi suspendida, e todos os seus toots e medios subidos foron eliminados de este servidor de xeito irreversible, e dos servidores onde tivese seguidoras.
-      get_in_touch: Pode responder a este correo para contactar coa administración de %{instance}.
+        delete_statuses: Algunha das túas publicacións semella que viola algunha das normas da comunidade e foi eliminada pola moderación de %{instance}. Futuras violacións poderían implicar accións máis contundentes contra a túa conta.
+        disable: Xa non podes usar a túa conta, pero o teu perfil e outros datos permanecen intactos. Podes solicitar unha copia dos teus datos, cambiar os axustes da conta ou eliminar a túa conta.
+        sensitive: A partir deste momento, tódolos ficheiros que subiches estarán marcados como sensibles e agochados tras un aviso de contido.
+        silence: Aínda podes usar a túa conta pero só as persoas que te siguen poden ver as túas publicacións neste servidor, e podes que foses excluída de varios xeitos de descubrimento. Porén, aínda te poden seguir de xeito manual.
+        suspend: Xa non podes usar a túa conta, o teu perfil e outros datos xa non son accesibles. Aínda podes conectarte para solicitar unha copia dos teus datos no prazo de 30 días previos á eliminación da conta, pero imos reter algúns datos básicos para evitar que poidas evitar a suspensión.
+      get_in_touch: Se consideras que isto é un erro, podes responder a este email para contactar coa administración de %{instance}.
+      reason: 'Razón:'
       review_server_policies: Revisar políticas do servidor
-      statuses: 'En concreto, para:'
+      statuses: 'Publicacións que contradín as normas:'
       subject:
+        delete_statuses: As túas publicacións en %{acct} foron eliminadas
         disable: A súa conta %{acct} foi conxelada
         none: Aviso para %{acct}
-        sensitive: Ó publicar multimedia a túa conta %{acct} foi marcada como sensible
+        sensitive: A partir de agora os ficheiros multimedia en %{acct} van ser marcados como sensibles
         silence: A súa conta %{acct} foi limitada
         suspend: A súa conta %{acct} foi suspendida
       title:
+        delete_statuses: Publicacións eliminadas
         disable: Conta conxelada
         none: Aviso
-        sensitive: O teu multimedia foi marcado como sensible
+        sensitive: Contido multimedia agochado
         silence: Conta limitada
         suspend: Conta suspendida
     welcome:
       edit_profile_action: Configurar perfil
       edit_profile_step: Podes personalizar o teu perfil subindo un avatar, cabeceira, cambiar o nome público e aínda máis. Se restrinxes a túa conta podes revisar a conta das persoas que solicitan seguirte antes de permitirlles o acceso aos teus toots.
-      explanation: Aquí ten alunhas endereitas para ir aprendendo
+      explanation: Aquí tes algunhas endereitas para ir aprendendo
       final_action: Comece a publicar
-      final_step: 'Publica! Incluso sen seguidoras as túas mensaxes públicas serán vistas por outras, por exemplo na cronoloxía local e nos cancelos. Poderías presentarte ao #fediverso utilizando o cancelo #introductions.'
+      final_step: 'Publica! Incluso sen seguidoras as túas mensaxes públicas serán vistas por outras persoas, por exemplo na cronoloxía local e nos cancelos. Poderías presentarte ao #fediverso utilizando o cancelo #introductions.'
       full_handle: O seu alcume completo
       full_handle_hint: Esto é o que lle dirá aos seus amigos para que poidan seguila ou enviarlle mensaxes desde outro servidor.
       review_preferences_action: Cambiar preferencias
diff --git a/config/locales/he.yml b/config/locales/he.yml
index 300d13d62..c151f0192 100644
--- a/config/locales/he.yml
+++ b/config/locales/he.yml
@@ -65,7 +65,6 @@ he:
       memorialize: הפוך לדף זכרון
       moderation:
         all: הכל
-        silenced: מושתקים
         suspended: מושהים
         title: ניהול קהילה
       moderation_notes: הודעות מנחה
@@ -97,6 +96,7 @@ he:
         targeted_reports: דיווחים נגד חשבון זה
       silence: השתקה
       statuses: הודעות
+      strikes: עבירות קודמות
       subscribe: הרשמה
       title: חשבונות
       undo_silenced: ביטול השתקה
@@ -128,18 +128,28 @@ he:
       undo: ביטול
     instances:
       title: שרתים מוכרים
+    report_notes:
+      today_at: היום, ב%{time}
     reports:
+      add_to_report: הוספת פרטים לדיווח
       are_you_sure: 100% על בטוח?
+      category: קטגוריה
       comment:
         none: ללא
+      comment_description_html: 'על מנת לספק עוד מידע, %{name} כתב\ה:'
       mark_as_resolved: סימון כפתור
+      no_one_assigned: אף אחד
+      notes:
+        title: הערות
       report: 'דווח על #%{id}'
       reported_account: חשבון מדווח
       reported_by: דווח על ידי
       resolved: פתור
       status: הודעה
+      statuses: התוכן עליו דווח
       title: דיווחים
       unresolved: לא פתור
+      view_profile: צפה בפרופיל
     settings:
       contact_information:
         email: נא להקליד כתובת דוא"ל פומבית
@@ -156,6 +166,11 @@ he:
         title: תיאור אתר מורחב
       site_title: כותרת האתר
       title: הגדרות אתר
+    statuses:
+      back_to_report: חזרה לעמוד הדיווח
+      batch:
+        remove_from_report: הסרה מהדיווח
+        report: דווח
     title: ניהול
   application_mailer:
     settings: 'שינוי הגדרות דוא"ל: %{link}'
@@ -165,6 +180,7 @@ he:
   auth:
     didnt_get_confirmation: לא התקבלו הוראות אימות?
     forgot_password: הנשתכחה סיסמתך?
+    log_in_with: התחבר באמצעות
     login: כניסה
     logout: יציאה
     register: הרשמה
@@ -172,6 +188,8 @@ he:
     reset_password: איפוס סיסמא
     security: החלפת סיסמא
     set_new_password: שינוי סיסמא
+    status:
+      redirecting_to: חשבונכם לא פעיל כעת מכיוון שמפנה ל%{acct}.
   authorize_follow:
     error: למרבה הצער, היתה שגיאה בחיפוש החשבון המרוחק
     follow: לעקוב
@@ -221,6 +239,11 @@ he:
     validations:
       images_and_video: לא ניתן להוסיף וידאו לחצרוץ שכבר מכיל תמונות
       too_many: לא ניתן להוסיף יותר מארבעה קבצים
+  migrations:
+    not_redirecting: חשבונכם לא מפנה לשום חשבון אחר כעת.
+    redirected_msg: חשבונכם כעת מפנה ל%{acct}.
+    redirecting_to: חשבונכם מפנה ל%{acct}.
+    set_redirect: הגדר הפניה
   notification_mailer:
     digest:
       body: להלן סיכום זריז של הדברים שקרו על מאז ביקורך האחרון ב-%{since}
@@ -257,6 +280,8 @@ he:
     preferences: העדפות
     two_factor_authentication: אימות דו-שלבי
   statuses:
+    default_language: זהה לשפת ממשק
+    edited_at: נערך ב%{date}
     open_in_web: פתח ברשת
     over_character_limit: חריגה מגבול התווים של %{max}
     show_more: עוד
@@ -273,6 +298,7 @@ he:
   time:
     formats:
       default: "%d %b %Y, %H:%M"
+      time: "%H:%M"
   two_factor_authentication:
     disable: כיבוי
     enabled_success: אימות דו-שלבי הופעל בהצלחה
@@ -280,5 +306,16 @@ he:
     lost_recovery_codes: קודי האחזור מאפשרים אחזור גישה לחשבון במידה ומכשירך אבד. במידה וקודי האחזור אבדו, ניתן לייצרם מחדש כאן. תוקף קודי האחזור הישנים יפוג.
     recovery_codes_regenerated: קודי האחזור יוצרו בהצלחה
     recovery_instructions_html: במידה והגישה למכשירך תאבד, ניתן לייצר קודי אחזור למטה על מנת לאחזר גישה לחשבונך בכל עת. <strong>נא לשמור על קודי הגישה במקום בטוח</strong>. לדוגמא על ידי הדפסתם ושמירתם עם מסמכים חשובים אחרים, או שימוש בתוכנה ייעודית לניהול סיסמאות וסודות.
+  user_mailer:
+    warning:
+      categories:
+        spam: ספאם
+      reason: 'סיבה:'
+      subject:
+        delete_statuses: הפוסטים שלכם ב%{acct} הוסרו
+        sensitive: קבצי המדיה שלכם ב%{acct} יסומנו בתור תוכן רגיש מעכשיו והלאה
+      title:
+        delete_statuses: פוסטים שהוסרו
+        sensitive: מדיה שהוסתרה
   users:
     invalid_otp_token: קוד דו-שלבי שגוי
diff --git a/config/locales/hr.yml b/config/locales/hr.yml
index 3380f7d42..d1a809144 100644
--- a/config/locales/hr.yml
+++ b/config/locales/hr.yml
@@ -42,7 +42,6 @@ hr:
       create: Ostavi bilješku
     accounts:
       approve: Odobri
-      approve_all: Odobri sve
       are_you_sure: Jeste li sigurni?
       by_domain: Domena
       change_email:
@@ -143,9 +142,6 @@ hr:
     copy: Kopiraj
     delete: Obriši
     save_changes: Sačuvaj izmjene
-  identity_proofs:
-    authorize: Da, autoriziraj
-    identity: Identitet
   imports:
     preface: Možete uvesti podatke koje ste izveli s drugog poslužitelja, kao što su liste ljudi koje pratite ili blokirate.
     success: Vaši podatci uspješno su preneseni i bit će obrađeni u dogledno vrijeme
diff --git a/config/locales/hu.yml b/config/locales/hu.yml
index 720cc7350..a72c02eae 100644
--- a/config/locales/hu.yml
+++ b/config/locales/hu.yml
@@ -101,7 +101,6 @@ hu:
     accounts:
       add_email_domain_block: Email domain tiltólistára vétele
       approve: Jóváhagyás
-      approve_all: Mindet jóváhagy
       approved_msg: A %{username} fiók regisztrációs kérelmét sikeresen elfogadtuk
       are_you_sure: Biztos vagy benne?
       avatar: Profilkép
@@ -116,6 +115,7 @@ hu:
       confirm: Megerősítés
       confirmed: Megerősítve
       confirming: Megerősítés alatt
+      custom: Egyéni
       delete: Adatok törlése
       deleted: Törölve
       demote: Lefokozás
@@ -155,7 +155,6 @@ hu:
         active: Aktív
         all: Összes
         pending: Függőben
-        silenced: Némítva
         suspended: Felfüggesztve
         title: Moderáció
       moderation_notes: Moderációs bejegyzés
@@ -173,7 +172,6 @@ hu:
       redownload: Profilkép frissítése
       redownloaded_msg: "%{username} profilját sikeresen frissítettük az eredetiből"
       reject: Elutasítás
-      reject_all: Összes elutasítása
       rejected_msg: A %{username} fiók regisztrációs kérelmét sikeresen elutasítottuk
       remove_avatar: Profilkép eltávolítása
       remove_header: Fejléc törlése
@@ -208,12 +206,14 @@ hu:
       silence: Némítás
       silenced: Némított
       statuses: Bejegyzés
+      strikes: Korábbi kihágások
       subscribe: Feliratkozás
       suspended: Felfüggesztett
       suspension_irreversible: Ennek a fióknak az adatait visszaállíthatatlanul törölték. Visszavonhatod a fiók felfüggesztését, hogy újra használható legyen, de a régi adatok ettől még nem fognak visszatérni.
       suspension_reversible_hint_html: A fiókot felfüggesztettük, az adatait %{date}-n teljesen eltávolítjuk. Eddig az időpontig a fiók probléma nélkül visszaállítható. Ha mégis azonnal törölni szeretnéd a fiókot, alább megteheted.
-      time_in_queue: Várakozás a sorban %{time}
       title: Fiókok
+      unblock_email: E-mail-cím tiltásának feloldása
+      unblocked_email_msg: A(z) %{username} e-mail-cím tiltása sikeresen feloldva
       unconfirmed_email: Nem megerősített e-mail
       undo_sensitized: Kényesnek jelölés visszavonása
       undo_silenced: Némítás visszavonása
@@ -228,6 +228,7 @@ hu:
       whitelisted: Engedélyező-listán
     action_logs:
       action_types:
+        approve_user: Felhasználó Jóváhagyása
         assigned_to_self_report: Jelentés hozzárendelése
         change_email_user: Felhasználó e-mail címének módosítása
         confirm_user: Felhasználó megerősítése
@@ -245,6 +246,7 @@ hu:
         destroy_domain_allow: Domain engedélyezés törlése
         destroy_domain_block: Domain tiltás törlése
         destroy_email_domain_block: E-mail domain tiltás törlése
+        destroy_instance: Domain végleges törlése
         destroy_ip_block: IP szabály törlése
         destroy_status: Bejegyzés törlése
         destroy_unavailable_domain: Elérhetetlen domain törlése
@@ -257,6 +259,7 @@ hu:
         enable_user: Felhasználó engedélyezése
         memorialize_account: Fiók emlékké nyilvánítása
         promote_user: Felhasználó előléptetése
+        reject_user: Felhasználó Elutasítása
         remove_avatar_user: Profilkép eltávolítása
         reopen_report: Jelentés újranyitása
         reset_password_user: Jelszó visszaállítása
@@ -265,6 +268,7 @@ hu:
         silence_account: Fiók némítása
         suspend_account: Fiók felfüggesztése
         unassigned_report: Jelentés hozzárendelésének megszüntetése
+        unblock_email_account: E-mail-cím tiltásának feloldása
         unsensitive_account: A fiókodban minden média kényesként jelölésének törlése
         unsilence_account: Fiók némításának feloldása
         unsuspend_account: Fiók felfüggesztésének feloldása
@@ -273,6 +277,7 @@ hu:
         update_domain_block: Domain tiltás frissítése
         update_status: Bejegyzés frissítése
       actions:
+        approve_user_html: "%{name} jóváhagyta %{target} regisztrációját"
         assigned_to_self_report_html: "%{name} a %{target} bejelentést magához rendelte"
         change_email_user_html: "%{name} megváltoztatta %{target} felhasználó e-mail címét"
         confirm_user_html: "%{name} megerősítette %{target} e-mail-címét"
@@ -286,22 +291,24 @@ hu:
         create_unavailable_domain_html: "%{name} leállította a kézbesítést a %{target} domainbe"
         demote_user_html: "%{name} lefokozta %{target} felhasználót"
         destroy_announcement_html: "%{name} törölte a %{target} közleményt"
-        destroy_custom_emoji_html: "%{name} törölte a %{target} emodzsit"
+        destroy_custom_emoji_html: "%{name} törölte az emodzsit: %{target}"
         destroy_domain_allow_html: "%{name} letiltotta a föderációt a %{target} domainnel"
         destroy_domain_block_html: "%{name} engedélyezte a %{target} domaint"
         destroy_email_domain_block_html: "%{name} engedélyezte a %{target} e-mail domaint"
+        destroy_instance_html: "%{name} véglegesen törölte a(z) %{target} domaint"
         destroy_ip_block_html: "%{name} törölt egy szabályt a %{target} IP-vel kapcsolatban"
         destroy_status_html: "%{name} eltávolította %{target} felhasználó bejegyzését"
         destroy_unavailable_domain_html: "%{name} újraindította a kézbesítést a %{target} domainbe"
         disable_2fa_user_html: "%{name} kikapcsolta a kétlépcsős azonosítást %{target} felhasználó fiókján"
-        disable_custom_emoji_html: "%{name} letiltotta a %{target} emodzsit"
+        disable_custom_emoji_html: "%{name} letiltotta az emodzsit: %{target}"
         disable_sign_in_token_auth_user_html: "%{name} letiltotta a tokenes e-mail hitelesítést %{target} felhasználóra"
         disable_user_html: "%{name} letiltotta %{target} felhasználó bejelentkezését"
-        enable_custom_emoji_html: "%{name} engedélyezte a %{target} emodzsit"
+        enable_custom_emoji_html: "%{name} engedélyezte az emodzsit: %{target}"
         enable_sign_in_token_auth_user_html: "%{name} engedélyezte a tokenes e-mail hitelesítést %{target} felhasználóra"
         enable_user_html: "%{name} engedélyezte %{target} felhasználó bejelentkezését"
         memorialize_account_html: "%{name} emléket állított %{target} felhasználónak"
         promote_user_html: "%{name} előléptette %{target} felhasználót"
+        reject_user_html: "%{name} elutasította %{target} regisztrációját"
         remove_avatar_user_html: "%{name} törölte %{target} profilképét"
         reopen_report_html: "%{name} újranyitotta a %{target} bejelentést"
         reset_password_user_html: "%{name} visszaállította %{target} felhasználó jelszavát"
@@ -310,11 +317,12 @@ hu:
         silence_account_html: "%{name} lenémította %{target} felhasználói fiókját"
         suspend_account_html: "%{name} felfüggesztette %{target} felhasználói fiókját"
         unassigned_report_html: "%{name} törölte a %{target} bejelentés hozzárendelését"
+        unblock_email_account_html: "%{name} feloldotta a(z) %{target} e-mail-cím tiltását"
         unsensitive_account_html: "%{name} levette a kényesnek jelölést %{target} médiatartalmáról"
         unsilence_account_html: "%{name} feloldotta a némítást %{target} felhasználói fiókján"
         unsuspend_account_html: "%{name} feloldotta %{target} felhasználói fiókjának felfüggesztését"
         update_announcement_html: "%{name} frissítette a %{target} közleményt"
-        update_custom_emoji_html: "%{name} frissítette a %{target} emodzsit"
+        update_custom_emoji_html: "%{name} frissítette az emodzsit: %{target}"
         update_domain_block_html: "%{name} frissítette a %{target} domain tiltását"
         update_status_html: "%{name} frissítette %{target} felhasználó bejegyzését"
       deleted_status: "(törölt bejegyzés)"
@@ -340,35 +348,35 @@ hu:
       unpublished_msg: A közlemény közzététele sikeresen visszavonva!
       updated_msg: A közlemény sikeresen frissítve!
     custom_emojis:
-      assign_category: Kategóriák
+      assign_category: Kategória hozzárendelése
       by_domain: Domain
-      copied_msg: Sikeresen létrehoztuk az emodzsi helyi másolatát
+      copied_msg: Sikeresen létrejött az emodzsi helyi másolata
       copy: Másolás
-      copy_failed_msg: Emodzsi helyi másolatának létrehozása sikertelen
+      copy_failed_msg: Az emodzsi helyi másolatának létrehozása sikertelen
       create_new_category: Új kategória létrehozása
-      created_msg: Emodzsi létrehozva!
+      created_msg: Emodzsi sikeresen létrehozva!
       delete: Törlés
-      destroyed_msg: Emodzsi törlése sikeres!
+      destroyed_msg: Az emodzsi törlése sikeres!
       disable: Letiltás
       disabled: Letiltva
-      disabled_msg: Emodzsi letiltva
+      disabled_msg: Emodzsi sikeresen letiltva
       emoji: Emodzsi
       enable: Engedélyezés
       enabled: Engedélyezve
-      enabled_msg: Emodzsji engedélyezve
-      image_hint: PNG (maximális méret 50KB)
-      list: Listázás
-      listed: Listázva
+      enabled_msg: Emodzsi sikeresen engedélyezve
+      image_hint: PNG (legfeljebb 50 kB-os)
+      list: Felsorolás
+      listed: Felsorolva
       new:
-        title: Új egyedi emodzsi hozzáadása
+        title: Új egyéni emodzsi hozzáadása
       not_permitted: Nem vagy jogosult a művelet végrehajtására
       overwrite: Felülírás
       shortcode: Rövidítés
       shortcode_hint: Legalább két karakter, csak betűk, számok és alsóvonás
-      title: Egyedi emodzsik
+      title: Egyéni emodzsik
       uncategorized: Nem kategorizált
       unlist: Elrejtés a listáról
-      unlisted: Nincs listázva
+      unlisted: Nem listázott
       update_failed_msg: Nem sikerült frissíteni az emodzsit
       updated_msg: Emodzsi sikeresen frissítve!
       upload: Feltöltés
@@ -467,6 +475,7 @@ hu:
       back_to_limited: Korlátozott
       back_to_warning: Figyelmeztetés
       by_domain: Domain
+      confirm_purge: Biztos, hogy véglegesen törölni akarod az adatokat ebből a domainből?
       delivery:
         all: Mind
         clear: Kézbesítési hibák törlése
@@ -482,6 +491,7 @@ hu:
       delivery_available: Kézbesítés elérhető
       delivery_error_days: Kézbesítési hiba időtartama
       delivery_error_hint: Ha a kézbesítés lehetetlen %{count} napig, automatikusan kézbesíthetetlennek lesz megjelölve.
+      destroyed_msg: A(z) %{domain} adatai sorba lettek állítva végleges törléshez.
       empty: Nem található domain.
       known_accounts:
         one: "%{count} ismert fiók"
@@ -492,6 +502,7 @@ hu:
         title: Moderáció
       private_comment: Privát megjegyzés
       public_comment: Nyilvános megjegyzés
+      purge: Végleges törlés
       title: Föderáció
       total_blocked_by_us: Általunk letiltott
       total_followed_by_them: Általuk követett
@@ -521,8 +532,6 @@ hu:
         title: Új IP szabály létrehozása
       no_ip_block_selected: Nem változtattunk egy IP szabályon sem, mivel egy sem volt kiválasztva
       title: IP szabály
-    pending_accounts:
-      title: Függőben lévő fiókok (%{count})
     relationships:
       title: "%{acct} kapcsolatai"
     relays:
@@ -544,32 +553,44 @@ hu:
     report_notes:
       created_msg: Bejelentési feljegyzés létrehozva!
       destroyed_msg: Bejelentési feljegyzés törölve!
+      today_at: Ma %{time}-kor
     reports:
       account:
         notes:
           one: "%{count} feljegyzés"
           other: "%{count} feljegyzés"
-        reports:
-          one: "%{count} bejelentés"
-          other: "%{count} bejelentés"
+      action_log: Audit napló
       action_taken_by: 'Kezelte:'
+      actions:
+        other_description_html: További lehetőségek megjelenítése a fiók viselkedésének szabályozásához, és a jelentett fiók kommunikációjának testreszabásához.
+        silence_description_html: A profil csak azok számára lesz látható, akik már követik, vagy kézileg megkeresik, rendkívül korlátozva az elérését. Ez mindig visszafordítható.
+        suspend_description_html: A profil és az összes tartalma elérhetetlen lesz, amíg végleg törlésre nem kerül. A fiókkal történő minden interakció lehetetlen lesz. 30 napon belül még visszaállítható.
+      actions_description_html: 'Ha a fenti szabálysértő tartalom eltávolítása elégtelen:'
+      add_to_report: Továbbiak hozzáadása a bejelentéshez
       are_you_sure: Biztos vagy benne?
       assign_to_self: Magamhoz rendelés
       assigned: Hozzárendelt moderátor
       by_target_domain: A bejelentett fiók domainje
+      category: Kategória
+      category_description_html: A fiók vagy tartalom bejelentésének oka a jelentett fiókkal kapcsolatos kommunikációban idézve lesz
       comment:
         none: Egyik sem
+      comment_description_html: 'Hogy további információkat adjon, %{name} ezt írta:'
       created_at: Jelentve
+      delete_and_resolve: Törlés és megoldás
       forwarded: Továbbítva
       forwarded_to: 'Továbbítva ide: %{domain}'
       mark_as_resolved: Megjelölés megoldottként
       mark_as_unresolved: Megjelölés megoldatlanként
+      no_one_assigned: Senki
       notes:
         create: Feljegyzés hozzáadása
         create_and_resolve: Megoldás feljegyzéssel
         create_and_unresolve: Újranyitás feljegyzéssel
         delete: Törlés
         placeholder: Jegyezd le, mi tettünk az ügy érdekében, vagy bármilyen változást...
+        title: Megjegyzések
+      notes_description_html: Megtekintés, és megjegyzések hagyása más moderátoroknak
       reopen: Bejelentés újranyitása
       report: "#%{id} számú jelentés"
       reported_account: Bejelentett fiók
@@ -577,11 +598,14 @@ hu:
       resolved: Megoldott
       resolved_msg: A bejelentést sikeresen megoldottuk!
       status: Állapot
+      statuses: Jelentett tartalom
+      statuses_description_html: A sértő tartalmat idézni fogjuk a bejelentett fiókkal való kommunikáció során
       target_origin: A jelentett fiók eredete
       title: Bejelentések
       unassign: Hozzárendelés törlése
       unresolved: Megoldatlan
       updated_at: Frissítve
+      view_profile: Profil megtekintése
     rules:
       add_new: Szabály hozzáadása
       delete: Törlés
@@ -601,7 +625,7 @@ hu:
         username: Kapcsolattartó felhasználóneve
       custom_css:
         desc_html: Változtasd meg a kinézetet ebben a CSS-ben, mely minden oldalon be fog töltődni
-        title: Egyedi CSS
+        title: Egyéni CSS
       default_noindex:
         desc_html: Olyan felhasználókat érinti, akik nem módosították ezt a beállítást
         title: Alapértelmezésként ne indexeljék a keresők a felhasználóinkat
@@ -657,16 +681,16 @@ hu:
         title: A szerver bemutatása
       site_description_extended:
         desc_html: Ide teheted például a közösségi és egyéb szabályzatot, útmutatókat és mindent, ami egyedivé teszi szerveredet. HTML-tageket is használhatsz
-        title: További egyedi információ
+        title: További egyéni információk
       site_short_description:
         desc_html: Oldalsávban és meta tag-ekben jelenik meg. Írd le, mi teszi ezt a szervert különlegessé egyetlen bekezdésben.
         title: Rövid leírás
       site_terms:
         desc_html: Megírhatod saját adatkezelési szabályzatodat, felhasználási feltételeidet vagy más hasonló jellegű dokumentumodat. HTML-tageket is használhatsz
-        title: Egyedi felhasználási feltételek
+        title: Egyéni felhasználási feltételek
       site_title: A szerver neve
       thumbnail:
-        desc_html: OpenGraph-os és API-s előnézetekben használjuk. Ajánlott mérete 1200x630 pixel
+        desc_html: Az OpenGraph-on és API-n keresztüli előnézetekhez használatos. Ajánlott mérete 1200×630 képpont.
         title: A szerver bélyegképe
       timeline_preview:
         desc_html: Nyilvános idővonal megjelenítése a főoldalon
@@ -674,24 +698,22 @@ hu:
       title: Webhely beállításai
       trendable_by_default:
         desc_html: Azokra a hashtagekere hat, melyet előzőleg nem tiltottak le
-        title: Hashtagek trendiségének engedélyezése előzetes ellenőrzés nélkül
+        title: Felkapott hashtagek engedélyezése előzetes ellenőrzés nélkül
       trends:
-        desc_html: Előzetesen engedélyezett és most trendi hashtagek nyilvános mutatása
-        title: Trendi hashtagek
+        desc_html: Előzetesen engedélyezett és most felkapott hashtagek nyilvános megjelenítése
+        title: Felkapott hashtagek
     site_uploads:
       delete: Feltöltött fájl törlése
       destroyed_msg: Sikeresen töröltük a site feltöltését!
     statuses:
       back_to_account: Vissza a fiók oldalára
+      back_to_report: Vissza a bejelentés oldalra
       batch:
-        delete: Törlés
-        nsfw_off: Kényesnek jelölés törlése
-        nsfw_on: Megjelölés kényes tartalomként
+        remove_from_report: Eltávolítás a bejelentésből
+        report: Bejelentés
       deleted: Törölve
-      failed_to_execute: Végrehajtás sikertelen
       media:
         title: Média
-      no_media: Nincs média
       no_status_selected: Nem változtattunk meg egy bejegyzést sem, mert semmi sem volt kiválasztva
       title: Fiók bejegyzései
       with_media: Médiával
@@ -704,21 +726,51 @@ hu:
       sidekiq_process_check:
         message_html: Nincs Sidekiq folyamat, mely a %{value} sorhoz van rendelve. Kérlek, nézd át a Sidekiq beállításait
     tags:
-      accounts_today: Egyedi használat a mai napon
-      accounts_week: Egyedi használat ezen a héten
-      breakdown: Mai használat bontása forrás szerint
-      last_active: Utoljára aktív
-      most_popular: Legnépszerűbb
-      most_recent: Legutóbbi
-      name: Címke
       review: Engedélyezés állapota
-      reviewed: Engedélyezett
-      title: Hashtagek
-      trending_right_now: Most trendi
-      unique_uses_today: "%{count} mai bejegyzés"
-      unreviewed: Még nem engedélyezett
       updated_msg: A hashtag beállításokat sikeresen frissítettük
     title: Karbantartás
+    trends:
+      allow: Engedélyezés
+      approved: Jóváhagyott
+      disallow: Letiltás
+      links:
+        allow: Hivatkozás engedélyezése
+        allow_provider: Közzétevő engedélyezése
+        disallow: Hivatkozás letiltása
+        disallow_provider: Közzétevő letiltása
+        shared_by_over_week:
+          one: Egy ember osztotta meg a múlt héten
+          other: "%{count} ember osztotta meg a múlt héten"
+        title: Felkapott hivatkozások
+        usage_comparison: "%{today} alkalommal lett ma megosztva, a tegnapi %{yesterday} alkalomhoz képest"
+      pending_review: Áttekintésre vár
+      preview_card_providers:
+        allowed: A közzétevő hivatkozásai felkapottak lehetnek
+        rejected: A közzétevő hivatkozásai nem lesznek felkapottak
+        title: Közzétévők
+      rejected: Elutasított
+      tags:
+        current_score: 'Jelenlegi pontszám: %{score}'
+        dashboard:
+          tag_accounts_measure: egyedi használat
+          tag_languages_dimension: Legnépszerűbb nyelvek
+          tag_servers_dimension: Legnépszerűbb kiszolgálók
+          tag_servers_measure: különböző kiszolgáló
+          tag_uses_measure: összes használat
+        listable: Javasolható
+        not_listable: Nem lesz javasolva
+        not_trendable: Nem fog megjelenni a trendek alatt
+        not_usable: Nem használható
+        peaked_on_and_decaying: 'Ekkor volt a csúcson: %{date}, most hanyatlik'
+        title: Felkapott hashtagek
+        trendable: Megjelenhet a trendek alatt
+        trending_rank: "%{rank}. felkapott"
+        usable: Használható
+        usage_comparison: "%{today} alkalommal lett ma használva, a tegnapi %{yesterday} alkalomhoz képest"
+        used_by_over_week:
+          one: Egy ember használta a múlt héten
+          other: "%{count} ember használta a múlt héten"
+      title: Trendek
     warning_presets:
       add_new: Új hozzáadása
       delete: Törlés
@@ -733,9 +785,16 @@ hu:
       body: "%{reporter} jelentette: %{target}"
       body_remote: Valaki a %{domain} domainről jelentette %{target}
       subject: 'Új jelentés az alábbi szerveren: %{instance} (#%{id})'
-    new_trending_tag:
-      body: 'A #%{name} hashtag trendi a mai napon, de még nem engedélyeztük eddig. Nem mutatjuk meg nyilvánosan, hacsak nem engedélyezed. Csak simán mentsd az űrlapot, ha soha többé nem akarsz erről a hashtagről hallani.'
-      subject: Új hashtag (#%{name}) engedélyezésre vár a %{instance} szerveren
+    new_trending_links:
+      body: A következő hivatkozások ma felkapottak, de a közzétevőjük eddig még nem lett ellenőrizve. Nem fognak nyilvánosan megjelenni, hacsak nem hagyod jóvá őket. További értesítések nem lesznek előállítva ugyanahhoz a közzétevőhöz.
+      no_approved_links: Jelenleg nincsenek jóváhagyott felkapott hivatkozások.
+      requirements: 'A legkisebb pontszámú jóváhagyott felkapott hivatkozás jelenleg ez: „%{lowest_link_title}”, pontszáma %{lowest_link_score}.'
+      subject: 'Új jóváhagyandó felkapott hivatkozások ezen: %{instance}'
+    new_trending_tags:
+      body: 'A következő hashtagek ma felkapottak, de a eddig még nem lettek ellenőrizve. Nem fognak nyilvánosan megjelenni, hacsak nem hagyod jóvá őket:'
+      no_approved_tags: Jelenleg nincsenek jóváhagyott felkapott hashtagek.
+      requirements: 'A legkisebb pontszámú jóváhagyott felkapott hashtag jelenleg ez: #%{lowest_tag_name}, pontszáma %{lowest_tag_score}.'
+      subject: 'Új jóváhagyandó felkapott hashtagek ezen: %{instance}'
   aliases:
     add_new: Alias készítése
     created_msg: Elkészült az új aliasod. Most már elkezdheted a költöztetést a régi fiókból.
@@ -787,6 +846,7 @@ hu:
     invalid_reset_password_token: A jelszó-visszaállítási kulcs nem megfelelő vagy lejárt. Kérlek generálj egy újat.
     link_to_otp: Írj be egy kétlépcsős azonosító kódot a telefonodról vagy egy visszaállító kódot
     link_to_webauth: Használd a biztonsági kulcs eszközödet
+    log_in_with: Bejelentkezés, mint
     login: Bejelentkezés
     logout: Kijelentkezés
     migrate_account: Felhasználói fiók költöztetése
@@ -936,40 +996,21 @@ hu:
     developers: Fejlesztőknek
     more: Többet…
     resources: Segédanyagok
-    trending_now: Most trendi
+    trending_now: Most felkapott
   generic:
     all: Mind
     changes_saved_msg: A változásokat elmentettük!
     copy: Másolás
     delete: Törlés
-    no_batch_actions_available: Ezen az oldalon nem elérhetőek kötegelt műveletek
+    none: Nincs
     order_by: Rendezés
     save_changes: Változások mentése
+    today: ma
     validation_errors:
       one: Valami nincs rendjén! Tekintsd meg a hibát lent
       other: Valami nincs rendjén! Tekintsd meg a(z) %{count} hibát lent
   html_validator:
     invalid_markup: 'hibás HTML leíró: %{error}'
-  identity_proofs:
-    active: Aktív
-    authorize: Igen, engedélyezés
-    authorize_connection_prompt: Engedélyezed ezt a kriptografikus kapcsolatot?
-    errors:
-      failed: A kriptografikus kapcsolat sikertelen. Próbáld inkább innen %{provider}.
-      keybase:
-        invalid_token: A Keybase tokenek hashelt aláírások és pont 66 hexa karakterből állnak
-        verification_failed: A Keybase ezt a tokent nem ismerte fel a %{kb_username} Keybase felhasználó aláírásaként. Próbáld újra Keybase-ből.
-      wrong_user: Nem tudjuk tanúsítani %{proving} felhasználót amíg %{current} felhasználóként vagy bejelentkezve. Jelentkezz be %{proving} felhasználóként és próbáld újra.
-    explanation_html: Itt más személyazonosságaiddal tudsz kriptografikus kapcsolatot létesíteni, pl. Keybase profillal. Így mások titkosított üzenetet küldhetnek neked, valamint megbízhatnak az általad küldött tartalomban is.
-    i_am_html: "%{username} vagyok %{service} szerveren."
-    identity: Személyazonosság
-    inactive: Inaktív
-    publicize_checkbox: 'És ezt tülköld ki:'
-    publicize_toot: 'Tanúsítva! %{username} vagyok %{service}: %{url} szerveren'
-    remove: Tanúsítás eltávolítása a fiókról
-    removed: Leszedtük a tanúsítást a fiókról
-    status: Ellenőrzés állapota
-    view_proof: Tanúsítás megtekintése
   imports:
     errors:
       over_rows_processing_limit: több mint %{count} sort tartalmaz
@@ -1002,8 +1043,8 @@ hu:
     generate: Generálás
     invited_by: 'Téged meghívott:'
     max_uses:
-      one: 1 felhasználás
-      other: "%{count} felhasználás"
+      one: 1 használat
+      other: "%{count} használat"
     max_uses_prompt: Nincs korlát
     prompt: Az itt generált linkek megosztásával hívhatod meg ismerőseidet erre a szerverre
     table:
@@ -1040,9 +1081,9 @@ hu:
       move_to_self: nem lehet az aktuális fiók
       not_found: nem található
       on_cooldown: Még tart a türelmi idő
-    followers_count: Követő a költözéskor
-    incoming_migrations: Más fiókból költöző
-    incoming_migrations_html: Ahhoz, hogy egy másik fiókból ebbe költözz, először <a href="%{path}">hozz létre egy fiók aliast</a>.
+    followers_count: Követők a költözéskor
+    incoming_migrations: Átköltözés egy másik fiókból
+    incoming_migrations_html: Ahhoz, hogy egy másik fiókból ebbe költözz, először <a href="%{path}">hozz létre egy fiókálnevet</a>.
     moved_msg: A fiókod mostantól ide %{acct} irányít át, a követőidet átköltöztetjük.
     not_redirecting: A fiókod nincs átirányítva jelenleg sehová sem.
     on_cooldown: Nemrég költöztetted a fiókod. Ez a funkció %{count} nap múlva lesz megint elérhető.
@@ -1185,6 +1226,9 @@ hu:
     reply:
       proceed: Válaszadás
       prompt: 'Erre a bejegyzésre szeretnél válaszolni:'
+  reports:
+    errors:
+      invalid_rules: nem hivatkozik érvényes szabályra
   scheduled_statuses:
     over_daily_limit: Túllépted az időzített bejegyzésekre vonatkozó %{limit} db-os napi limitet
     over_total_limit: Túllépted az időzített bejegyzésekre vonatkozó %{limit} db-os limitet
@@ -1243,7 +1287,6 @@ hu:
     edit_profile: Profil szerkesztése
     export: Adatok exportálása
     featured_tags: Kiemelt hashtagek
-    identity_proofs: Személyazonosság tanúsítások
     import: Importálás
     import_and_export: Import és export
     migrate: Fiók átirányítása
@@ -1268,18 +1311,19 @@ hu:
         other: "%{count} videó"
     boosted_from_html: Megtolva innen %{acct_link}
     content_warning: 'Tartalom figyelmeztetés: %{warning}'
+    default_language: Felhasználói felület nyelvével azonos
     disallowed_hashtags:
       one: 'tiltott hashtaget tartalmaz: %{tags}'
       other: 'tiltott hashtageket tartalmaz: %{tags}'
+    edited_at: Szerkesztve %{date}
     errors:
       in_reply_not_found: Már nem létezik az a bejegyzés, melyre válaszolni szeretnél.
-    language_detection: Nyelv automatikus felismerése
     open_in_web: Megnyitás a weben
     over_character_limit: túllépted a maximális %{max} karakteres keretet
     pin_errors:
+      direct: A csak a megemlített felhasználók számára látható bejegyzések nem tűzhetők ki
       limit: Elérted a kitűzhető bejegyzések maximális számát
       ownership: Nem tűzheted ki valaki más bejegyzését
-      private: Nem nyilvános bejegyzéseket nem tűzhetsz ki
       reblog: Megtolt bejegyzést nem tudsz kitűzni
     poll:
       total_people:
@@ -1434,6 +1478,7 @@ hu:
     formats:
       default: "%Y. %b %d., %H:%M"
       month: "%Y %b"
+      time: "%H:%M"
   two_factor_authentication:
     add: Hozzáadás
     disable: Kikapcsolás
@@ -1461,24 +1506,31 @@ hu:
       subject: Erősítsd meg a megkísérelt belépést
       title: Belépési kísérlet
     warning:
+      categories:
+        spam: Kéretlen üzenet
+        violation: A tartalom megsérti a következő közösségi irányelveket
       explanation:
-        disable: A fiókod befagyasztott állapotban megtartja minden adatát, de feloldásig nem csinálhatsz vele semmit.
-        sensitive: A feltöltött és hivatkozott médiatartalmaidat kényesként kezeljük.
-        silence: A fiókodat így is használhatod, de csak a követőid láthatják a bejegyzéseidet ezen a szerveren, valamint kimaradhatsz a nyilvános idővonalakról is. Ugyanakkor ettől még mások manuálisan bekövethetnek.
-        suspend: Többé nem használhatod a fiókodat, a profilod és más adataid többé nem elérhetőek. Még be tudsz jelentkezni, hogy lementsd az adataidat addig, amíg azokat teljesen le nem töröljük, bár néhány adatot megtartunk, hogy a jövőben ne tudd elkerülni a felfüggesztést.
-      get_in_touch: Válaszolhatsz erre az emailre, hogy kapcsolatba lépj a %{instance} csapatával.
+        delete_statuses: Néhány bejegyzésedről a moderátorok úgy találták, hogy sérti a közösségi szabályainkat, így ezeket eltávolították a %{instance} kiszolgálóról. A jövőbeni kihágásokat a fiókodon keményebben is büntethetik.
+        disable: Nem használhatod tovább a fiókodat, bár a profil- és egyéb adataid érintetlenül maradnak. Kérhetsz mentést az adataidról, megváltoztathatod a beállításaidat vagy törölheted a fiókodat.
+        sensitive: Mostantól minden feltöltött médiaállományodat érzékeny tartalomként jelölünk meg és kattintásos figyelmeztetés mögé rejtjük.
+        silence: A fiókodat most is használhatod, de ezen a kiszolgálón csak olyanok láthatják a bejegyzéseidet, akik már eddig is a követőid voltak, valamint kihagyunk különböző felfedezésre használható funkciókból. Ettől még mások továbbra is manuálisan be tudnak követni.
+        suspend: Többé nem használhatod a fiókodat, a profilod és más adataid többé nem elérhetőek. Még be tudsz jelentkezni, hogy mentést kérj az adataidról addig, amíg kb. 30 nap múlva teljesen le nem töröljük őket. Néhány alapadatot megtartunk, hogy el tudjuk kerülni, hogy megkerüld a felfüggesztést.
+      get_in_touch: Ha azt gondolod, hogy ez egy hiba, akkor válaszolj erre az e-mail-re, hogy kapcsolatba léphess a %{instance} kiszolgáló üzemeltetőivel.
+      reason: 'Indok:'
       review_server_policies: Szerver szabályzat átnézése
-      statuses: 'Különösen hozzá:'
+      statuses: 'Szabálysértőnek talált bejegyzések:'
       subject:
+        delete_statuses: A(z) %{acct} fiók bejegyzései eltávolításra kerültek
         disable: A fiókodat %{acct} befagyasztották
         none: Figyelmeztetés a %{acct} fióknak
-        sensitive: A %{acct} fiókod médiatartalmait kényesnek jelölték
+        sensitive: A(z) %{acct} fiók médiafájljai mostantól érzékenynek lesznek jelölve
         silence: A fiókodat %{acct} korlátozták
         suspend: A fiókodat %{acct} felfüggesztették
       title:
+        delete_statuses: Bejegyzések törölve
         disable: Befagyasztott fiók
         none: Figyelem
-        sensitive: Médiatartalmadat kényesnek jelölték
+        sensitive: Média elrejtve
         silence: Lekorlátozott fiók
         suspend: Felfüggesztett fiók
     welcome:
diff --git a/config/locales/hy.yml b/config/locales/hy.yml
index fb9df0156..021aa7c31 100644
--- a/config/locales/hy.yml
+++ b/config/locales/hy.yml
@@ -97,7 +97,6 @@ hy:
     accounts:
       add_email_domain_block: Արգելափակել էլ․ փոստի տիրոյթը
       approve: Ընդունել
-      approve_all: Ընդունել բոլորը
       approved_msg: Յաջողութեամբ հաստատուեց %{username}֊ի գրանցման յայտը
       are_you_sure: Վստա՞հ ես
       avatar: Աւատար
@@ -149,7 +148,6 @@ hy:
         active: Ակտիվ
         all: Բոլորը
         pending: Սպասում
-        silenced: Լռեցուած
         suspended: Կասեցուած
         title: Մոդերացիա
       moderation_notes: Մոդերացիայի նշումներ
@@ -167,7 +165,6 @@ hy:
       redownload: Թարմացնել հաշիւը
       redownloaded_msg: "%{username}֊ի հաշիւը սկզբնաղբիւրից բարեյաջող թարմացուեց"
       reject: Մերժել
-      reject_all: Մերժել բոլորը
       rejected_msg: Յաջողութեամբ մերժուեց %{username}֊ի գրանցման յայտը
       remove_avatar: Հեռացնել աւատարը
       remove_header: Հեռացնել գլխագիրը
@@ -206,7 +203,6 @@ hy:
       suspended: Կասեցուած
       suspension_irreversible: Հաշուի տուեալները անդարձ ջնջուեցին։ Դու կարող ես ապակասեցնել հաշիւը՝ դարձնելով այն կիրառելի, բայց այն չի վերականգնի նախկին տուեալները։
       suspension_reversible_hint_html: Հաշիւը կասեցուեց, եւ տուեալներն ամբողջապէս կը վերացուի %{date}ին։ Մինչեւ այդ, հաշիւը կարող է վերականգնուել՝ առանց կողմնակի ազդեցութիւնների։ Եթէ ցանկանում ես վերացնել հաշուի տուեալները միանգամից, կարող ես դա անել ներքեւում։
-      time_in_queue: Հերթում է %{time}
       title: Հաշիւներ
       unconfirmed_email: Չհաստատուած էլ․ հասցէ
       undo_sensitized: Ետարկել դիւրազգացութիւնը
@@ -414,8 +410,6 @@ hy:
       new:
         title: Ստեղծել նոր IP կանոն
       title: IP կանոններ
-    pending_accounts:
-      title: Սպասող հաշիւներ (%{count})
     relationships:
       title: "%{acct}ի յարաբերութիւններ"
     relays:
@@ -433,9 +427,6 @@ hy:
         notes:
           one: "%{count} նոթ"
           other: "%{count} նոթեր"
-        reports:
-          one: "%{count} զեկոյց"
-          other: "%{count} զեկոյց"
       action_taken_by: Գործողութիւնը կատարել է
       are_you_sure: Վստա՞հ ես
       assign_to_self: Ինձ յանձնարարուած
@@ -516,28 +507,13 @@ hy:
       destroyed_msg: Կայքի վերբեռնումը բարեյաջող ջնջուեց
     statuses:
       back_to_account: Վերադառնալ անձնական էջ
-      batch:
-        delete: Ջնջել
-        nsfw_off: Նշել որպէս ոչ դիւրազգաց
-        nsfw_on: Նշել որպէս դիւրազգաց
       deleted: Ջնջված է
-      failed_to_execute: Կատարումը ձախողուեց
       media:
         title: Մեդիա
-      no_media: Մեդիա չկայ
       title: Օգտատիրոջ գրառումները
       with_media: Մեդիայի հետ
     tags:
-      last_active: Վերջին ակտիւութիւնը
-      most_popular: Ամէնայայտնի
-      most_recent: Վերջին
-      name: Պիտակ
       review: Վերանայել գրառումը
-      reviewed: Վերանայուած
-      title: Պիտակներ
-      trending_right_now: Այժմ թրենդի մէջ է
-      unique_uses_today: "%{count} հրապարակուել է այսօր"
-      unreviewed: Վերանայուած չէ
     title: Ադմինիստարցիա
     warning_presets:
       add_new: Ավելացնել նորը
@@ -697,19 +673,6 @@ hy:
     delete: Ջնջել
     order_by: Դասաւորել ըստ
     save_changes: Պահպանել փոփոխութիւնները
-  identity_proofs:
-    active: Ակտիվ
-    authorize: Այո, նոյնականացնել
-    authorize_connection_prompt: Հաւաստագրէ՞լ այս ծածկագրման կապակցումը
-    i_am_html: Ես %{username}ն եմ %{service}ում։
-    identity: Ինքնութիւն
-    inactive: Ոչ ակտիւ
-    publicize_checkbox: Հրապարակել սա՝
-    publicize_toot: 'Ապացուցուա՜ծ է․ Ես%{username} եմ %{service}ում․ %{url} '
-    remove: Հաշուից հեռացնել ապացոյցը
-    removed: Ապացոյցը բարեյաջող հեռացուեց հաշուից
-    status: Հաստատման կարգավիճակ
-    view_proof: Նայել ապացոյցը
   imports:
     errors:
       over_rows_processing_limit: տողերի քանակը աւելին է քան %{count}-ը
@@ -903,7 +866,6 @@ hy:
     edit_profile: Խմբագրել պրոֆիլը
     export: Տվյալների արտահանում
     featured_tags: Ընտրուած հէշթեգեր
-    identity_proofs: Անձի նոյնացումներ
     import: Ներմուծել
     import_and_export: Ներմուծել և արտահանել
     migrate: Հաշուի տեղափոխում
@@ -925,7 +887,6 @@ hy:
         one: "%{count} վիդեո"
         other: "%{count} վիդեո"
     content_warning: Նախազգուշացում։ %{warning}
-    language_detection: Ինքնուրոյն ճանաչել լեզուն
     open_in_web: Բացել վէբում
     over_character_limit: "%{max} նիշի սահմանը գերազանցուած է"
     poll:
@@ -1075,15 +1036,12 @@ hy:
     sign_in_token:
       title: Մուտքի փորձ
     warning:
-      get_in_touch: Կարող էք կապուել %{instance} հանգոյցի անձնակազմի հետ պատասխանելով այս նամակին։
-      statuses: Մասնաւորապէս, միայն՝
       subject:
         disable: Քո %{acct} հաշիւը սառեցուել է
         none: Նախազգուշացուեմ %{acct}-ին
       title:
         disable: Հաշիւը սառեցուած է
         none: Զգուշացում
-        sensitive: Մեդիաֆայլը պիտակուել է որպէս զգայուն։
         silence: Հաշիւը սահմանափակուած է
         suspend: Հաշիւը արգելափակուած է
     welcome:
diff --git a/config/locales/id.yml b/config/locales/id.yml
index d3987ceb7..b034da26f 100644
--- a/config/locales/id.yml
+++ b/config/locales/id.yml
@@ -93,7 +93,6 @@ id:
     accounts:
       add_email_domain_block: Masukkan domain email ke daftar hitam
       approve: Terima
-      approve_all: Terima semua
       approved_msg: Berhasil menerima pendaftaran %{username}
       are_you_sure: Anda yakin?
       avatar: Avatar
@@ -108,6 +107,7 @@ id:
       confirm: Konfirmasi
       confirmed: Dikonfirmasi
       confirming: Mengkonfirmasi
+      custom: Kustom
       delete: Hapus data
       deleted: Terhapus
       demote: Turunkan
@@ -147,7 +147,6 @@ id:
         active: Aktif
         all: Semua
         pending: Tertunda
-        silenced: Didiamkan
         suspended: Disuspen
         title: Moderasi
       moderation_notes: Catatan moderasi
@@ -165,7 +164,6 @@ id:
       redownload: Muat ulang profil
       redownloaded_msg: Berhasil menyegarkan profil %{username} dari asal
       reject: Tolak
-      reject_all: Tolak semua
       rejected_msg: Berhasil menolak permintaan pendaftaran %{username}
       remove_avatar: Hapus avatar
       remove_header: Hapus header
@@ -200,12 +198,14 @@ id:
       silence: Diam
       silenced: Didiamkan
       statuses: Status
+      strikes: Peringatan sebelumnya
       subscribe: Langganan
       suspended: Disuspen
       suspension_irreversible: Data akun ini telah dihapus secara permanen. Anda dapat mengaktifkan akun agar tetap bisa dipakai lagi tapi data sebelumnya tidak dapat dikembalikan.
       suspension_reversible_hint_html: Akun telah ditangguhkan, dan data akan dihapus total pada %{date}. Sebelum tanggal tersebut, akun dapat dikembalikan tanpa efek apapun. Jika Anda ingin menghapus segera semua data, Anda dapat melakukan sesuai keterangan di bawah.
-      time_in_queue: Menunggu dalam antrean %{time}
       title: Akun
+      unblock_email: Buka blokir alamat email
+      unblocked_email_msg: Berhasil membuka blokir alamat email %{username}
       unconfirmed_email: Email belum dikonfirmasi
       undo_sensitized: Batalkan sensitif
       undo_silenced: Undo mendiamkan
@@ -220,6 +220,7 @@ id:
       whitelisted: Masuk daftar putih
     action_logs:
       action_types:
+        approve_user: Setujui Pengguna
         assigned_to_self_report: Berikan laporan
         change_email_user: Ubah Email untuk Pengguna
         confirm_user: Konfirmasi Pengguna
@@ -237,6 +238,7 @@ id:
         destroy_domain_allow: Hapus Izin Domain
         destroy_domain_block: Hapus Blokir Domain
         destroy_email_domain_block: Hapus email blokir domain
+        destroy_instance: Hapus Domain
         destroy_ip_block: Hapus aturan IP
         destroy_status: Hapus Status
         destroy_unavailable_domain: Hapus Domain yang Tidak Tersedia
@@ -249,6 +251,7 @@ id:
         enable_user: Aktifkan Pengguna
         memorialize_account: Kenang Akun
         promote_user: Promosikan Pengguna
+        reject_user: Tolak Pengguna
         remove_avatar_user: Hapus Avatar
         reopen_report: Buka Lagi Laporan
         reset_password_user: Atur Ulang Kata sandi
@@ -257,6 +260,7 @@ id:
         silence_account: Bisukan Akun
         suspend_account: Tangguhkan Akun
         unassigned_report: Batalkan Pemberian Laporan
+        unblock_email_account: Buka blokir alamat email
         unsensitive_account: Batalkan tanda media di akun Anda dari sensitif
         unsilence_account: Lepas Status Bisu Akun
         unsuspend_account: Lepas Status Tangguh Akun
@@ -265,6 +269,7 @@ id:
         update_domain_block: Perbarui Blokir Domain
         update_status: Perbarui Status
       actions:
+        approve_user_html: "%{name} menyetujui pendaftaran dari %{target}"
         assigned_to_self_report_html: "%{name} menugaskan laporan %{target} ke dirinya sendiri"
         change_email_user_html: "%{name} mengubah alamat email pengguna %{target}"
         confirm_user_html: "%{name} mengonfirmasi alamat email pengguna %{target}"
@@ -282,6 +287,7 @@ id:
         destroy_domain_allow_html: "%{name} membatalkan izin penggabungan dengan domain %{target}"
         destroy_domain_block_html: "%{name} membuka blokir domain %{target}"
         destroy_email_domain_block_html: "%{name} membuka blokir domain email %{target}"
+        destroy_instance_html: "%{name} menghapus domain %{target}"
         destroy_ip_block_html: "%{name} menghapus aturan untuk IP %{target}"
         destroy_status_html: "%{name} menghapus status %{target}"
         destroy_unavailable_domain_html: "%{name} melanjutkan pengiriman ke domain %{target}"
@@ -294,6 +300,7 @@ id:
         enable_user_html: "%{name} mengaktifkan login untuk pengguna %{target}"
         memorialize_account_html: "%{name} mengubah akun %{target} jadi halaman memorial"
         promote_user_html: "%{name} mempromosikan pengguna %{target}"
+        reject_user_html: "%{name} menolak pendaftaran dari %{target}"
         remove_avatar_user_html: "%{name} menghapus avatar %{target}"
         reopen_report_html: "%{name} membuka ulang laporan %{target}"
         reset_password_user_html: "%{name} mereset kata sandi pengguna %{target}"
@@ -302,6 +309,7 @@ id:
         silence_account_html: "%{name} membisukan akun %{target}"
         suspend_account_html: "%{name} menangguhkan akun %{target}"
         unassigned_report_html: "%{name} membatalkan penugasan laporan %{target}"
+        unblock_email_account_html: "%{name} membuka blokir alamat email %{target}"
         unsensitive_account_html: "%{name} membatalkan tanda media %{target} sebagai sensitif"
         unsilence_account_html: "%{name} membunyikan akun %{target}"
         unsuspend_account_html: "%{name} membatalkan penangguhan akun %{target}"
@@ -455,6 +463,7 @@ id:
       back_to_limited: Terbatas
       back_to_warning: Peringatan
       by_domain: Domain
+      confirm_purge: Yakin ingin menghapus permanen data dari domain ini?
       delivery:
         all: Semua
         clear: Hapus galat pengiriman
@@ -469,6 +478,7 @@ id:
       delivery_available: Pengiriman tersedia
       delivery_error_days: Lama hari pengiriman galat
       delivery_error_hint: Jika pengiriman tidak terjadi selama %{count} hari, ia akan ditandai secara otomatis sebagai tidak terkirim.
+      destroyed_msg: Data dari %{domain} masuk antrean dihapus dalam waktu dekat.
       empty: Domain tidak ditemukan.
       known_accounts:
         other: "%{count} akun yang dikenal"
@@ -478,6 +488,7 @@ id:
         title: Moderasi
       private_comment: Komentar pribadi
       public_comment: Komentar publik
+      purge: Hapus
       title: Server yang diketahui
       total_blocked_by_us: Yang kita blokir
       total_followed_by_them: Diikuti mereka
@@ -507,8 +518,6 @@ id:
         title: Buat aturan IP baru
       no_ip_block_selected: Tak ada aturan IP yang berubah karena tak ada yang dipilih
       title: Aturan IP
-    pending_accounts:
-      title: Akun tertunda (%{count})
     relationships:
       title: Hubungan %{acct}
     relays:
@@ -530,30 +539,43 @@ id:
     report_notes:
       created_msg: Catatan laporan berhasil dibuat!
       destroyed_msg: Catatan laporan berhasil dihapus!
+      today_at: Hari ini pada %{time}
     reports:
       account:
         notes:
           other: "%{count} catatan"
-        reports:
-          other: "%{count} laporan"
+      action_log: Log audit
       action_taken_by: Aksi dilakukan oleh
+      actions:
+        other_description_html: Lihat opsi lain untuk mengendalikan perilaku akun dan menyesuaikan komunikasi ke akun yang dilaporkan.
+        silence_description_html: Profil hanya dapat terlihat oleh pengguna yang telah mengikuti atau melihatnya secara manual, yang sangat membatasi jangkauannya. Selalu dapat dipulihkan kembali.
+        suspend_description_html: Profil dan semua kontennya tidak dapat diakses sampai ia terhapus. Interaksi dengan akun tersebut tidak dimungkinkan. Dapat dipulihkan dalam waktu 30 hari.
+      actions_description_html: 'Jika menghapus konten yang menyinggung perasaan di atas tidak memadai:'
+      add_to_report: Tambahkan lebih banyak untuk lapor
       are_you_sure: Apakah Anda yakin?
       assign_to_self: Tugaskan kpd saya
       assigned: Moderator tertugas
       by_target_domain: Domain akun yang dilaporkan
+      category: Kategori
+      category_description_html: Alasan akun dan/atau konten ini dilaporkan akan disampaikan saat berkomunikasi dengan akun yang dilaporkan
       comment:
         none: Tidak ada
+      comment_description_html: 'Untuk menyediakan lebih banyak informasi, %{name} menulis:'
       created_at: Dilaporkan
+      delete_and_resolve: Hapus dan selesaikan
       forwarded: Diteruskan
       forwarded_to: Diteruskan ke %{domain}
       mark_as_resolved: Tandai telah diseleseikan
       mark_as_unresolved: Tandai belum terselesaikan
+      no_one_assigned: Tidak ada
       notes:
         create: Tambah catatan
         create_and_resolve: Diselesaikan dengan catatan
         create_and_unresolve: Dibuka kembali dengan catatan
         delete: Hapus
         placeholder: Jelaskan aksi yang telah dilakukan, atau pembaruan lain yang berhubungan...
+        title: Catatan
+      notes_description_html: Lihat dan tinggalkan catatan kepada moderator lain dan Anda di masa depan
       reopen: Buka lagi laporan
       report: 'Laporkan #%{id}'
       reported_account: Akun yang dilaporkan
@@ -561,11 +583,14 @@ id:
       resolved: Terseleseikan
       resolved_msg: Laporan berhasil diselesaikan!
       status: Status
+      statuses: Konten yang dilaporkan
+      statuses_description_html: Konten menyinggung akan disampaikan saat komunikasi dengan akun yang dilaporkan
       target_origin: Akun asal yang dilaporkan
       title: Laporan
       unassign: Bebas Tugas
       unresolved: Belum Terseleseikan
       updated_at: Diperbarui
+      view_profile: Lihat profil
     rules:
       add_new: Tambah aturan
       delete: Hapus
@@ -667,15 +692,13 @@ id:
       destroyed_msg: Situs yang diunggah berhasil dihapus!
     statuses:
       back_to_account: Kembali ke halaman akun
+      back_to_report: Kembali ke halaman laporan
       batch:
-        delete: Hapus
-        nsfw_off: Tandai sebagai tak sensitif
-        nsfw_on: Tandai sebagai sensitif
+        remove_from_report: Hapus dari laporan
+        report: Laporan
       deleted: Dihapus
-      failed_to_execute: Gagal mengeksekusi
       media:
         title: Media
-      no_media: Tanpa media
       no_status_selected: Tak ada status yang berubah karena tak ada yang dipilih
       title: Status akun
       with_media: Dengan media
@@ -688,21 +711,49 @@ id:
       sidekiq_process_check:
         message_html: Tidak ada proses Sidekiq yang berjalan untuk %{value} antrian. Silakan tinjau konfigurasi Sidekiq Anda
     tags:
-      accounts_today: Penggunaan unik hari ini
-      accounts_week: Penggunaan unik minggu ini
-      breakdown: Rinci penggunaan hari ini berdasar sumber
-      last_active: Terakhir aktif
-      most_popular: Paling populer
-      most_recent: Terkini
-      name: Tagar
       review: Tinjau status
-      reviewed: Ditinjau
-      title: Tagar
-      trending_right_now: Sedang tren sekarang
-      unique_uses_today: "%{count} memposkan hari ini"
-      unreviewed: Tak tertinjau
       updated_msg: Pembaruan pengaturan tagar berhasil
     title: Administrasi
+    trends:
+      allow: Izinkan
+      approved: Disetujui
+      disallow: Batalkan izin
+      links:
+        allow: Izinkan tautan
+        allow_provider: Izinkan penerbit
+        disallow: Batalkan izin tautan
+        disallow_provider: Batalkan izin penerbit
+        shared_by_over_week:
+          other: Dibagikan oleh %{count} orang selama seminggu terakhir
+        title: Tautan sedang tren
+        usage_comparison: Dibagikan %{today} kali hari ini, dibandingkan %{yesterday} kemarin
+      pending_review: Tinjauan tertunda
+      preview_card_providers:
+        allowed: Tautan dari penerbit ini dapat menjadi tren
+        rejected: Tautan dari penerbit ini tidak dapat menjadi tren
+        title: Penerbit
+      rejected: Ditolak
+      tags:
+        current_score: Skor saat ini %{score}
+        dashboard:
+          tag_accounts_measure: kegunaan unik
+          tag_languages_dimension: Bahasa terpopuler
+          tag_servers_dimension: Server terpopuler
+          tag_servers_measure: server berbeda
+          tag_uses_measure: kegunaan total
+        listable: Dapat disarankan
+        not_listable: Tidak akan disarankan
+        not_trendable: Tidak akan muncul di bawah tren
+        not_usable: Tidak dapat digunakan
+        peaked_on_and_decaying: Populer pada %{date}, kini mulai turun
+        title: Tagar sedang tren
+        trendable: Dapat muncul di bawah tren
+        trending_rank: 'Sedang tren #%{rank}'
+        usable: Dapat digunakan
+        usage_comparison: Digunakan %{today} kali hari ini, dibandingkan %{yesterday} kemarin
+        used_by_over_week:
+          other: Digunakan oleh %{count} orang selama seminggu terakhir
+      title: Tren
     warning_presets:
       add_new: Tambah baru
       delete: Hapus
@@ -717,9 +768,16 @@ id:
       body: "%{reporter} telah melaporkan %{target}"
       body_remote: Seseorang dari %{domain} telah melaporkan %{target}
       subject: Laporan baru untuk %{instance} (#%{id})
-    new_trending_tag:
-      body: 'Tagar #%{name} sedang tren hari ini, tetapi belum ditinjau. Itu tidak akan ditampilkan secara publik kecuali Anda mengizinkannya, atau simpan saja borang sebagaimana mestinya untuk tidak mendengarnya lagi.'
-      subject: Tagar baru muncul untuk ditinjau di %{instance} (#%{name})
+    new_trending_links:
+      body: Tautan berikut sedang tren hari ini, tetapi penerbit sebelumnya belum ditinjau. Mereka tidak akan ditampilkan secara publik kecuali Anda menyetujuinya. Notifikasi berikutnya dari penerbit yang sama tidak akan dibuat.
+      no_approved_links: Saat ini tidak akan tautan tren yang disetujui.
+      requirements: Tautan tren yang disetujui peringkat terendah saat ini "%{lowest_link_title}" dengan skor %{lowest_link_score}.
+      subject: Tautan tren baru mulai ditinjau di %{instance}
+    new_trending_tags:
+      body: 'Tagar berikut sedang tren hari ini, tetapi mereka sebelumnya belum ditinjau. Mereka tidak akan muncul secara publik kecuali Anda menyetujuinya:'
+      no_approved_tags: Saat ini tidak ada tagar tren yang disetujui.
+      requirements: 'Tagar tren yang disetujui peringkat terendah saat ini #%{lowest_tag_name} dengan skor %{lowest_tag_score}.'
+      subject: Tagar tren baru mulai ditinjau di %{instance}
   aliases:
     add_new: Buat alias
     created_msg: Berhasil membuat alias baru. Sekarang Anda dapat memulai pindah dari akun lama.
@@ -771,6 +829,7 @@ id:
     invalid_reset_password_token: Token reset kata sandi tidak valid atau kedaluwarsa. Silakan minta yang baru.
     link_to_otp: Masukkan kode dua-faktor dari ponsel Anda atau dari kode pemulihan
     link_to_webauth: Gunakan perangkat kunci keamanan Anda
+    log_in_with: Masuk dengan
     login: Masuk
     logout: Keluar
     migrate_account: Pindah ke akun berbeda
@@ -926,33 +985,14 @@ id:
     changes_saved_msg: Perubahan berhasil disimpan!
     copy: Salin
     delete: Hapus
-    no_batch_actions_available: Tindakan batch tidak tersedia di halaman ini
+    none: Tidak ada
     order_by: Urut berdasarkan
     save_changes: Simpan perubahan
+    today: hari ini
     validation_errors:
       other: Ada yang belum benar! Silakan tinjau %{count} kesalahan di bawah ini
   html_validator:
     invalid_markup: 'berisi markup HTML yang tidak valid: %{error}'
-  identity_proofs:
-    active: Aktif
-    authorize: Ya, izinkan
-    authorize_connection_prompt: Izinkan koneksi kriptografi ini?
-    errors:
-      failed: Koneksi kriptografi gagal. Silakan coba lagi dari %{provider}.
-      keybase:
-        invalid_token: Token Keybase adalah sandi tanda tangan dan harus berupa 66 karakter hex
-        verification_failed: Keybase tidak mengenali token ini sebagai tanda tangan pengguna Keybase %{kb_username}. Silakan ulangi lagi dari Keybase.
-      wrong_user: Tidak dapat membuat bukti untuk %{proving} saat masuk sebagai %{current}. Masuk sebagai %{proving} dan coba lagi.
-    explanation_html: Anda dapat mengoneksikan identitas lain secara kriptografi, seperti profil Keybase. Ini mengizinkan orang lain untuk mengirim pesan terenkripsi kepada Anda dan mempercayai konten yang Anda kirim.
-    i_am_html: Saya adalah %{username} di %{service}.
-    identity: Identitas
-    inactive: Tidak aktif
-    publicize_checkbox: 'Dan toot ini:'
-    publicize_toot: 'Terbukti! Saya adalah %{username} di %{service}: %{url}'
-    remove: Hapus bukti dari akun
-    removed: Berhasil menghapus bukti dari akun
-    status: Status verifikasi
-    view_proof: Lihat bukti
   imports:
     errors:
       over_rows_processing_limit: berisi lebih dari %{count} baris
@@ -1223,7 +1263,6 @@ id:
     edit_profile: Ubah profil
     export: Expor data
     featured_tags: Tagar unggulan
-    identity_proofs: Bukti identitas
     import: Impor
     import_and_export: Impor dan ekspor
     migrate: Pemindahan akun
@@ -1245,17 +1284,18 @@ id:
         other: "%{count} video"
     boosted_from_html: Boost dari %{acct_link}
     content_warning: 'Peringatan konten: %{warning}'
+    default_language: Sama seperti bahasa antarmuka
     disallowed_hashtags:
       other: 'berisi tagar yang tidak diizinkan: %{tags}'
+    edited_at: Diedit %{date}
     errors:
       in_reply_not_found: Status yang ingin Anda balas sudah tidak ada.
-    language_detection: Deteksi bahasa secara otomatis
     open_in_web: Buka di web
     over_character_limit: melebihi %{max} karakter
     pin_errors:
+      direct: Kiriman yang hanya terlihat oleh pengguna yang disebutkan tidak dapat disematkan
       limit: Anda sudah mencapai jumlah maksimum toot yang dapat disematkan
       ownership: Toot orang lain tidak bisa disematkan
-      private: Toot privat tidak bisa disematkan
       reblog: Boost tidak bisa disematkan
     poll:
       total_people:
@@ -1408,6 +1448,7 @@ id:
     formats:
       default: "%d %b %Y, %H:%M"
       month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Tambah
     disable: Matikan
@@ -1435,24 +1476,31 @@ id:
       subject: Harap konfirmasi usaha masuk akun
       title: Usaha masuk akun
     warning:
+      categories:
+        spam: Spam
+        violation: Konten melanggar panduan komunitas berikut
       explanation:
-        disable: Saat akun Anda beku, data Anda tetap utuh. Anda tidak akan dapat melakukan apa-apa sampai akun Anda tidak lagi dikunci.
-        sensitive: Berkas media dan media tertaut yang Anda unggah akan dianggap sebagai sensitif.
-        silence: Saat akun Anda dibatasi, hanya akun yang Anda ikuti yang dapat melihat toot Anda di server ini. Akun Anda mungkin akan dikecualikan dari daftar publik. Akun lain dapat mengikuti akun Anda secara manual.
-        suspend: Akun Anda telah ditangguhkan. Semua toot dan media yang Anda unggah dihapus secara permanen dari server ini, dan server tempat Anda memiliki pengikut.
-      get_in_touch: Anda dapat membalas email ini untuk menghubungi pengurus %{instance}.
+        delete_statuses: Beberapa kiriman Anda melanggar satu atau lebih panduan komunitas dan telah dihapus oleh moderator %{instance}. Pelanggaran berikutnya akan menyebabkan tindakan yang lebih parah terhadap akun Anda.
+        disable: Anda tidak lagi dapat menggunakan akun, tapi profil dan data Anda lainnya masih tersimpan. Anda dapat minta cadangan data Anda, mengubah pengaturan akun, atau menghapus akun.
+        sensitive: Mulai sekarang, semua berkas media yang telah Anda unggah akan ditandai sebagai sensitif dan disembunyikan di balik peringatan yang harus diklik.
+        silence: Anda masih tetap dapat menggunakan akun tetapi hanya orang yang mengikuti Anda yang dapat melihat kiriman Anda di server ini, dan Anda mungkin akan dikeluarkan dari fitur pencarian akun. Bagaimana pun, orang lain tetap dapat mengikuti Anda secara manual.
+        suspend: Anda tidak dapat menggunakan akun Anda, dan profil serta data lain Anda tidak lagi dapat diakses. Anda masih tetap bisa masuk akun untuk minta cadangan data sampai data Anda akan dihapus permanen 30 hari lagi, tapi kami akan menyimpan beberapa data dasar untuk mencegah Anda menghindari penangguhan.
+      get_in_touch: Jika Anda yakin ini kesalahan, Anda dapat membalas email ini untuk menghubungi staf %{instance}.
+      reason: 'Alasan:'
       review_server_policies: Tinjau kebijakan server
-      statuses: 'Khususnya untuk:'
+      statuses: 'Postingan yang telah terbukti pelanggarannya:'
       subject:
+        delete_statuses: Postingan anda pada %{acct} telah dihapus
         disable: Akun Anda %{acct} telah dibekukan
         none: Peringatan untuk %{acct}
-        sensitive: Postingan media akun Anda %{acct} telah ditandai sebagai sensitif
+        sensitive: File media anda pada %{acct} akan ditandai sebagai sensitif mulai saat ini
         silence: Akun Anda %{acct} telah dibatasi
         suspend: Akun Anda %{acct} telah ditangguhkan
       title:
+        delete_statuses: Postingan dihapus
         disable: Akun dibekukan
         none: Peringatan
-        sensitive: Media Anda telah ditandai sebagai sensitif
+        sensitive: Media disembunyikan
         silence: Akun dibatasi
         suspend: Akun ditangguhkan
     welcome:
diff --git a/config/locales/is.yml b/config/locales/is.yml
index f17977aa9..3a1896df1 100644
--- a/config/locales/is.yml
+++ b/config/locales/is.yml
@@ -1,7 +1,7 @@
 ---
 is:
   about:
-    about_hashtag_html: Þetta eru opinber tíst sem merkt eru með <strong>#%{hashtag}</strong>. Þú getur unnið með þau ef þú ert með skráðan aðgang einhversstaðar í skýjasambandinu.
+    about_hashtag_html: Þetta eru opinber skilaboð sem merkt eru með <strong>#%{hashtag}</strong>. Þú getur unnið með þau ef þú ert með skráðan aðgang einhversstaðar í skýjasambandinu.
     about_mastodon_html: 'Samfélagsnet framtíðarinnar: Engar auglýsingar, ekkert eftirlit stórfyrirtækja, siðleg hönnun og engin miðstýring! Þú átt þín eigin gögn í Mastodon!'
     about_this: Um hugbúnaðinn
     active_count_after: virkt
@@ -99,7 +99,6 @@ is:
     accounts:
       add_email_domain_block: Útiloka tölvupóstlén
       approve: Samþykkja
-      approve_all: Samþykkja allt
       approved_msg: Tókst að samþykkja skráningu fyrir %{username}
       are_you_sure: Ertu viss?
       avatar: Auðkennismynd
@@ -114,6 +113,7 @@ is:
       confirm: Staðfesta
       confirmed: Staðfest
       confirming: Staðfesti
+      custom: Sérsniðið
       delete: Eyða gögnum
       deleted: Eytt
       demote: Lækka í tign
@@ -153,7 +153,6 @@ is:
         active: Virkur
         all: Allt
         pending: Í bið
-        silenced: Hulið
         suspended: Í bið
         title: Umsjón
       moderation_notes: Minnispunktar umsjónarmanna
@@ -171,7 +170,6 @@ is:
       redownload: Endurlesa notandasnið
       redownloaded_msg: Tókst að endurlesa notandasnið %{username} úr upphaflegu sniði
       reject: Hafna
-      reject_all: Hafna öllu
       rejected_msg: Tókst að hafna skráningu fyrir %{username}
       remove_avatar: Fjarlægja auðkennismynd
       remove_header: Fjarlægja haus
@@ -206,12 +204,14 @@ is:
       silence: Hylja
       silenced: Hulið
       statuses: Stöðufærslur
+      strikes: Fyrri refsingar
       subscribe: Gerast áskrifandi
       suspended: Í bið
       suspension_irreversible: Gögnunum á þessum notandaaðgangi hefur verið eytt óafturkræft. Þú getur tekið aðganginn úr bið svo hægt sé að nota hann, en það mun ekki endurheimta neitt af þeim gögnum sem á honum voru áður.
       suspension_reversible_hint_html: Notandaaðgangurin hefur verið settur í biðstöðu og gögnunum á honum verður eytt að fullu þann %{date}. Þangað til væri hægt að endurheimta aðganginn úr bið án nokkurra breytinga. Ef þú vilt eyða öllum gögnum af honum strax, geturðu gert það hér fyrir neðan.
-      time_in_queue: Bíður í biðröð %{time}
       title: Notandaaðgangar
+      unblock_email: Leyfa tölvupóstfang
+      unblocked_email_msg: Tókst að afbanna tölvupóstfang notandans %{username}
       unconfirmed_email: Óstaðfestur tölvupóstur
       undo_sensitized: Afturkalla merkingu sem viðkvæmt
       undo_silenced: Hætta að hylja
@@ -226,6 +226,7 @@ is:
       whitelisted: Á lista yfir leyft
     action_logs:
       action_types:
+        approve_user: Samþykkja notanda
         assigned_to_self_report: Úthluta kæru
         change_email_user: Skipta um tölvupóstfang notanda
         confirm_user: Staðfesta notanda
@@ -243,6 +244,7 @@ is:
         destroy_domain_allow: Eyða léni leyft
         destroy_domain_block: Eyða léni bannað
         destroy_email_domain_block: Eyða tölvupóstfangi bannað
+        destroy_instance: Henda léni
         destroy_ip_block: Eyða IP-reglu
         destroy_status: Eyða stöðufærslu
         destroy_unavailable_domain: Eyða léni sem ekki er tiltækt
@@ -255,6 +257,7 @@ is:
         enable_user: Virkja notanda
         memorialize_account: Gera aðgang að minningargrein
         promote_user: Hækka notanda í tign
+        reject_user: Hafna notanda
         remove_avatar_user: Fjarlægja auðkennismynd
         reopen_report: Enduropna kæru
         reset_password_user: Endurstilla lykilorð
@@ -263,6 +266,7 @@ is:
         silence_account: Hylja notandaaðgang
         suspend_account: Setja notandaaðgang í bið
         unassigned_report: Aftengja úthlutun kæru
+        unblock_email_account: Leyfa tölvupóstfang
         unsensitive_account: Afmerkja myndefni á aðgangnum þínum sem viðkvæmt
         unsilence_account: Hætta að hylja notandaaðgang
         unsuspend_account: Taka notandaaðgang úr bið
@@ -271,6 +275,7 @@ is:
         update_domain_block: Uppfæra útilokun léns
         update_status: Uppfæra stöðufærslu
       actions:
+        approve_user_html: "%{name} samþykkti nýskráningu frá %{target}"
         assigned_to_self_report_html: "%{name} úthlutaði kæru %{target} til sín"
         change_email_user_html: "%{name} breytti tölvupóstfangi fyrir notandann %{target}"
         confirm_user_html: "%{name} staðfesti tölvupóstfang fyrir notandann %{target}"
@@ -288,6 +293,7 @@ is:
         destroy_domain_allow_html: "%{name} bannaði skýjasamband með léninu %{target}"
         destroy_domain_block_html: "%{name} aflétti útilokun af léninu %{target}"
         destroy_email_domain_block_html: "%{name} aflétti útilokun af póstléninu %{target}"
+        destroy_instance_html: "%{name} henti léninu %{target}"
         destroy_ip_block_html: "%{name} eyddi reglu fyrir IP-vistfangið %{target}"
         destroy_status_html: "%{name} fjarlægði stöðufærslu frá %{target}"
         destroy_unavailable_domain_html: "%{name} hóf aftur afhendingu til lénsins %{target}"
@@ -300,6 +306,7 @@ is:
         enable_user_html: "%{name} gerði innskráningu virka fyrir notandann %{target}"
         memorialize_account_html: "%{name} breytti notandaaðgangnum %{target} í minningargreinarsíðu"
         promote_user_html: "%{name} hækkaði notandann %{target} í tign"
+        reject_user_html: "%{name} hafnaði nýskráningu frá %{target}"
         remove_avatar_user_html: "%{name} fjarlægði auðkennismynd af %{target}"
         reopen_report_html: "%{name} enduropnaði kæru %{target}"
         reset_password_user_html: "%{name} endurstillti lykilorð fyrir notandann %{target}"
@@ -308,6 +315,7 @@ is:
         silence_account_html: "%{name} þaggaði niður í aðgangnum %{target}"
         suspend_account_html: "%{name} setti notandaaðganginn %{target} í bið"
         unassigned_report_html: "%{name} fjarlægði úthlutun af kæru %{target}"
+        unblock_email_account_html: "%{name} opnaði á tölvupóstfangið %{target}"
         unsensitive_account_html: "%{name} tók merkinguna viðkvæmt af myndefni frá %{target}"
         unsilence_account_html: "%{name} hætti að hylja notandaaðganginn %{target}"
         unsuspend_account_html: "%{name} tók notandaaðganginn %{target} úr bið"
@@ -371,9 +379,28 @@ is:
       updated_msg: Tókst að uppfæra tjáningartákn!
       upload: Senda inn
     dashboard:
+      active_users: virkir notendur
+      interactions: aðgerðir
+      media_storage: Geymsla myndefnis
+      new_users: nýir notendur
+      opened_reports: kærur opnaðar
+      pending_reports_html:
+        one: "<strong>1</strong> kæra í bið"
+        other: "<strong>%{count}</strong> kærur í bið"
+      pending_tags_html:
+        one: "<strong>1</strong> myllumerki í bið"
+        other: "<strong>%{count}</strong> myllumerki í bið"
+      pending_users_html:
+        one: "<strong>1</strong> notandi í bið"
+        other: "<strong>%{count}</strong> notendur í bið"
+      resolved_reports: kærur leystar
       software: Hugbúnaður
+      sources: Uppruni nýskráninga
       space: Notkun geymslurýmis
       title: Stjórnborð
+      top_languages: Virkustu tungumál
+      top_servers: Virkustu netþjónar
+      website: Vefsvæði
     domain_allows:
       add_new: Setja lén á lista yfir leyft
       created_msg: Það tókst að setja lénið á lista yfir leyft
@@ -446,6 +473,7 @@ is:
       back_to_limited: Takmarkað
       back_to_warning: Aðvörun
       by_domain: Lén
+      confirm_purge: Ertu viss um að þú viljir eyða gögnum endanlega frá þessu léni?
       delivery:
         all: Allt
         clear: Hreinsa afhendingarvillur
@@ -461,6 +489,7 @@ is:
       delivery_available: Afhending er til taks
       delivery_error_days: Dagar með villum í afhendingu
       delivery_error_hint: Ef afhending er ekki möguleg í %{count} daga, verður það sjálfkrafa merkt sem óafhendanlegt.
+      destroyed_msg: Gögn frá %{domain} bíða núna eftir að vera eytt innan skamms.
       empty: Engin lén fundust.
       known_accounts:
         one: "%{count} þekktur notandaaðgangur"
@@ -471,6 +500,7 @@ is:
         title: Umsjón
       private_comment: Einkaathugasemd
       public_comment: Opinber athugasemd
+      purge: Henda
       title: Samband
       total_blocked_by_us: Útilokaðir af okkur
       total_followed_by_them: Fylgt af þeim
@@ -500,8 +530,6 @@ is:
         title: Búa til nýja IP-reglu
       no_ip_block_selected: Engum IP-reglum var breytt því ekkert var valið
       title: IP-reglur
-    pending_accounts:
-      title: Notendaaðgangar í bið (%{count})
     relationships:
       title: Vensl %{acct}
     relays:
@@ -523,32 +551,44 @@ is:
     report_notes:
       created_msg: Tókst að útbúa minnispunkt skýrslu!
       destroyed_msg: Tókst að eyða minnispunkti skýrslu!
+      today_at: Í dag kl. %{time}
     reports:
       account:
         notes:
           one: "%{count} minnispunktur"
           other: "%{count} minnispunktar"
-        reports:
-          one: "%{count} skýrsla"
-          other: "%{count} skýrslur"
+      action_log: Atvikaskrá
       action_taken_by: Aðgerð framkvæmd af
+      actions:
+        other_description_html: Skoðaðu fleir valkosti fyrir stjórnun á hegðun notandaaðgangsins og til að stýra samskiptum við kærðan notandaaðgang.
+        silence_description_html: Notandaaðgangurinn verður einungis sýnilegur þeim sem þegar fylgjast með honum eða sem fletta honum upp handvirkt, sem takmarkar útbreiðslu efnis verulega. Er alltaf hægt að afturkalla.
+        suspend_description_html: Notandaaðgangurinn og allt efni á honum mun verða óaðgengilegt og á endanum eytt út. Samskipti við aðganginn verða ekki möguleg. Hægt að afturkalla innan 30 daga.
+      actions_description_html: 'Ef það að fjarlægja óviðeigandi efnið hér fyrir ofan er ekki nægilegt:'
+      add_to_report: Bæta fleiru í kæru
       are_you_sure: Ertu viss?
       assign_to_self: Úthluta mér
       assigned: Úthlutaður umsjónarmaður
       by_target_domain: Lén kærða notandaaðgangsins
+      category: Flokkur
+      category_description_html: Ástæðan fyrir því að þessi notandaaðgangur og/eða efni hans var kært mun verða tiltekin í samskiptum við kærðan notandaaðgang
       comment:
         none: Ekkert
+      comment_description_html: 'Til að gefa nánari upplýsingar skrifaði %{name}:'
       created_at: Tilkynnt
+      delete_and_resolve: Eyða og leysa
       forwarded: Áframsent
       forwarded_to: Áframsent á %{domain}
       mark_as_resolved: Merkja sem leyst
       mark_as_unresolved: Merkja sem óleyst
+      no_one_assigned: Enginn
       notes:
         create: Bæta við minnispunkti
         create_and_resolve: Leysa með minnispunkti
         create_and_unresolve: Enduropna með minnispunkti
         delete: Eyða
         placeholder: Lýstu til hvaða aðgerða hefur verið gripið eða uppfærðu inn aðrar tengdar upplýsingar...
+        title: Minnispunktar
+      notes_description_html: Skoðaðu og skrifaðu minnispunkta til annarra stjórnenda og sjálfs þín
       reopen: Enduropna kæru
       report: 'Kæra #%{id}'
       reported_account: Kærður notandaaðgangur
@@ -556,11 +596,14 @@ is:
       resolved: Leyst
       resolved_msg: Það tókst að leysa kæruna!
       status: Staða
+      statuses: Kært efni
+      statuses_description_html: Óviðeigandi efni verður tiltekið í samskiptum við kærðan notandaaðgang
       target_origin: Uppruni kærða notandaaðgangsins
       title: Kærur
       unassign: Aftengja úthlutun
       unresolved: Óleyst
       updated_at: Uppfært
+      view_profile: Skoða notandasnið
     rules:
       add_new: Skrá reglu
       delete: Eyða
@@ -662,15 +705,13 @@ is:
       destroyed_msg: Það tókst að eyða innsendingu á vefsvæði!
     statuses:
       back_to_account: Fara aftur á síðu notandaaðgangsins
+      back_to_report: Til baka á kærusíðu
       batch:
-        delete: Eyða
-        nsfw_off: Merkja gögn sem ekki viðkvæm
-        nsfw_on: Merkja sem viðkvæmt
+        remove_from_report: Fjarlægja úr kæru
+        report: Kæra
       deleted: Eytt
-      failed_to_execute: Mistókst að keyra
       media:
         title: Myndefni
-      no_media: Ekkert myndefni
       no_status_selected: Engum stöðufærslum var breytt þar sem engar voru valdar
       title: Staða notendaaðganga
       with_media: Með myndefni
@@ -683,21 +724,51 @@ is:
       sidekiq_process_check:
         message_html: Ekkert Sidekiq-ferli er í gangi fyrir %{value} biðröð/biðraðir. Endilega athugaðu Sidekiq-uppsetninguna þína
     tags:
-      accounts_today: Einstök afnot í dag
-      accounts_week: Einstök afnot í þessari viku
-      breakdown: Samantekt á notkun dagsins eftir uppruna
-      last_active: Síðasta virkni
-      most_popular: Vinsælast
-      most_recent: Nýjast
-      name: Myllumerki
       review: Yfirfara stöðufærslu
-      reviewed: Yfirfarið
-      title: Myllumerki
-      trending_right_now: Í umræðunni nákvæmlega núna
-      unique_uses_today: "%{count} færslur í dag"
-      unreviewed: Ekki yfirfarið
       updated_msg: Það tókst að uppfæra stillingar myllumerkja
     title: Stjórnendur
+    trends:
+      allow: Leyfa
+      approved: Samþykkt
+      disallow: Ekki leyfa
+      links:
+        allow: Leyfa tengil
+        allow_provider: Leyfa útgefanda
+        disallow: Ekki leyfa tengil
+        disallow_provider: Ekki leyfa útgefanda
+        shared_by_over_week:
+          one: Deilt af einum aðila síðustu vikuna
+          other: Deilt af %{count} aðilum síðustu vikuna
+        title: Vinsælir tenglar
+        usage_comparison: Deilt %{today} sinnum í dag, samanborið við %{yesterday} í gær
+      pending_review: Bíður eftir yfirlestri
+      preview_card_providers:
+        allowed: Tenglar frá þessum útgefanda geta verið með í vinsældum
+        rejected: Tenglar frá þessum útgefanda verða ekki með í vinsældum
+        title: Útgefendur
+      rejected: Hafnað
+      tags:
+        current_score: Núverandi stig %{score}
+        dashboard:
+          tag_accounts_measure: einstök tilvik
+          tag_languages_dimension: Vinsælustu tungumál
+          tag_servers_dimension: Vinsælustu netþjónar
+          tag_servers_measure: mismunandi netþjónar
+          tag_uses_measure: tilvik alls
+        listable: Má stinga uppá
+        not_listable: Mun ekki vera stungið uppá
+        not_trendable: Mun ekki birtast í vinsældum
+        not_usable: Má ekki nota
+        peaked_on_and_decaying: Toppaði þann %{date}, núna dalandi
+        title: Vinsæl myllumerki
+        trendable: Má vera með í vinsældum
+        trending_rank: 'Vinsæl #%{rank}'
+        usable: Má nota
+        usage_comparison: Notað %{today} sinnum í dag, samanborið við %{yesterday} í gær
+        used_by_over_week:
+          one: Notað af einum aðila síðustu vikuna
+          other: Notað af %{count} aðilum síðustu vikuna
+      title: Tilhneiging
     warning_presets:
       add_new: Bæta við nýju
       delete: Eyða
@@ -712,9 +783,16 @@ is:
       body: "%{reporter} hefur kært %{target}"
       body_remote: Einhver frá %{domain} hefur kært %{target}
       subject: Ný kæra vegna %{instance} (#%{id})
-    new_trending_tag:
-      body: 'Myllumerkið #%{name} er í umræðunni í dag, en hefur ekki verið yfirfarið áður. Það mun ekki verða birt opinberlega nema að þú samþykkir það, annars geturðu vistað eyðublaðið óbreytt og aldrei heyrt á þetta minnst framar.'
-      subject: Nýtt myllumerki er komið til yfirferðar á %{instance} (#%{name})
+    new_trending_links:
+      body: Eftirfarandi tenglar eru vinsælir í dag, en ekki er búið að yfirfara útgefendur þeirra. Þeir munu ekki birtast opinberlega nema þú samþykkir þá. Ekki verða útbúnar frekari tilkynningar frá sömu útgefendum.
+      no_approved_links: Í augnablikinu eru engir samþykktir vinsælir tenglar.
+      requirements: Minnst vinsæli tengillinn sem búið er að samþykkja er núna "%{lowest_link_title}" með stigaskorið %{lowest_link_score}.
+      subject: Nýir vinsælir tenglar eru tilbúnir til yfirferðar á %{instance}
+    new_trending_tags:
+      body: 'Eftirfarandi myllumerki eru vinsæl í dag, en ekki er búið að yfirfara þau. Þau munu ekki birtast opinberlega nema þú samþykkir þau:'
+      no_approved_tags: Í augnablikinu eru engin samþykkt vinsæl myllumerki.
+      requirements: Minnst vinsæla myllumerkið sem búið er að samþykkja er núna %{lowest_tag_name} með stigaskorið %{lowest_tag_score}.
+      subject: Ný vinsæl myllumerki eru tilbúin til yfirferðar á %{instance}
   aliases:
     add_new: Búa til samnefni (alias)
     created_msg: Tókst að búa til samnefni. Þú getur núna byrjað að færa gögn af gamla aðgangnum.
@@ -766,6 +844,7 @@ is:
     invalid_reset_password_token: Teikn fyrir endurstillingu lykilorðs er ógilt eða útrunnið. Biddu um nýtt teikn.
     link_to_otp: Settu inn tveggja-þátta kóða úr farsímanum þínum eða endurheimtukóða
     link_to_webauth: Notaðu tæki með öryggislykli
+    log_in_with: Skrá inn með
     login: Skrá inn
     logout: Skrá út
     migrate_account: Færa á annan notandaaðgang
@@ -921,34 +1000,15 @@ is:
     changes_saved_msg: Það tókst að vista breytingarnar!
     copy: Afrita
     delete: Eyða
-    no_batch_actions_available: Engar magnvinnsluaðgerðir tiltækar á þessari síðu
+    none: Ekkert
     order_by: Raða eftir
     save_changes: Vista breytingar
+    today: í dag
     validation_errors:
       one: Ennþá er ekk alvegi allt í lagi! Skoðaðu vel villuna hér fyrir neðan
       other: Ennþá er ekki alveg allt í lagi! Skoðaðu vel villurnar %{count} hér fyrir neðan
   html_validator:
     invalid_markup: 'inniheldur ógildar HTML-merkingar: %{error}'
-  identity_proofs:
-    active: Virkur
-    authorize: Já, heimila
-    authorize_connection_prompt: Auðkenna dulkóðaða tengingu?
-    errors:
-      failed: Dulrituð tenging mistókst, endilega reyndu aftur frá %{provider}.
-      keybase:
-        invalid_token: Keybase-teikn eru tætigildi undirritana og verða að vera 66 hex-stafir
-        verification_failed: Keybase skilur þetta teikn ekki sem undirritun Keybase-notandans %{kb_username}. Prófaðu aftur í Keybase.
-      wrong_user: Get ekki búið til sannvottun fyrir %{proving} á meðan skráð er inn sem %{current}. Skráðu inn sem %{proving} og prófaðu aftur.
-    explanation_html: Hér geturðu tengt dulritað önnur auðkenni þín, eins og t.d. Keybase-notandasnið. Þetta gerir öðru fólki kleift að senda þér dulrituð skilaboð og að treysta efni sem þú sendir þeim.
-    i_am_html: Ég er %{username} á %{service}.
-    identity: Auðkenni
-    inactive: Óvirkt
-    publicize_checkbox: 'Og tísti þetta:'
-    publicize_toot: 'Það er búið að sanna þetta! Ég er %{username} á %{service}: %{url}'
-    remove: Fjarlægja sönnun úr notandaaðgangi
-    removed: Tókst að fjarlægja sönnun úr notandaaðgangi
-    status: Staða sannvottunar
-    view_proof: Skoða sönnun
   imports:
     errors:
       over_rows_processing_limit: inniheldur meira en %{count} raðir
@@ -1164,6 +1224,9 @@ is:
     reply:
       proceed: Halda áfram í að svara
       prompt: 'Þú ætlar að svara þessu tísti:'
+  reports:
+    errors:
+      invalid_rules: vísar ekki til gildra reglna
   scheduled_statuses:
     over_daily_limit: Þú hefur farið fram úr hámarkinu með %{limit} áætluð tíst fyrir þennan dag
     over_total_limit: Þú hefur farið fram úr hámarkinu með %{limit} áætluð tíst
@@ -1222,7 +1285,6 @@ is:
     edit_profile: Breyta notandasniði
     export: Útflutningur gagna
     featured_tags: Myllumerki með aukið vægi
-    identity_proofs: Sannanir á auðkenni
     import: Flytja inn
     import_and_export: Inn- og útflutningur
     migrate: Yfirfærsla notandaaðgangs
@@ -1247,18 +1309,19 @@ is:
         other: "%{count} myndskeið"
     boosted_from_html: Endurbirt frá %{acct_link}
     content_warning: 'Aðvörun vegna efnis (CW): %{warning}'
+    default_language: Sama og tungumál viðmóts
     disallowed_hashtags:
       one: 'innihélt óleyfilegt myllumerki: %{tags}'
       other: 'innihélt óleyfilegu myllumerkin: %{tags}'
+    edited_at: Breytt %{date}
     errors:
       in_reply_not_found: Stöðufærslan sem þú ert að reyna að svara að er líklega ekki til.
-    language_detection: Greina tungumál sjálfvirkt
     open_in_web: Opna í vafra
     over_character_limit: hámarksfjölda stafa (%{max}) náð
     pin_errors:
+      direct: Ekki er hægt að festa skilaboð sem einungis eru sýnileg þeim notendum sem minnst er á
       limit: Þú hefur þegar fest leyfilegan hámarksfjölda tísta
       ownership: Tíst frá einhverjum öðrum er ekki hægt að festa
-      private: Óopinber tíst er ekki hægt að festa
       reblog: Ekki er hægt að festa endurbirtingu
     poll:
       total_people:
@@ -1413,6 +1476,7 @@ is:
     formats:
       default: "%d. %b, %Y, %H:%M"
       month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Bæta við
     disable: Gera óvirkt
@@ -1440,24 +1504,31 @@ is:
       subject: Endilega staðfestu tilraun til innskráningar
       title: Tilraun til innskráningar
     warning:
+      categories:
+        spam: Ruslpóstur
+        violation: Efnið er á skjön við eftirfarandi leiðbeiningar til notenda
       explanation:
-        disable: Á meðan aðgangurinn þinn er frystur, eru gögn aðgangsins ósnert, en þú getur ekki framkvæmt neinar aðgerðir fyrr en honum hefur verið aflæst.
-        sensitive: Innsent myndefni sem þú sendir inn og tengt myndefni verður farið með sem viðkvæmt efni.
-        silence: Á meðan aðgangurinn þinn er takmarkaður, mun aðeins fólk sem þegar fylgist með þér sjá tístin þín á þessum vefþjóni, auk þess sem lokað gæti verið á þig á ýmsum opinberum listum. Aftur á móti geta aðrir gerst fylgjendur þínir handvirkt.
-        suspend: Aðgangurinn þinn hefur verið settur í biðstöðu, öll þín tíst og innsent myndefni hafa verið óafturkræft fjarlægð af þessum vefþjóni, sem og af þeim vefþjónum þar sem þú áttir þér fylgjendur.
-      get_in_touch: Þú getur svarað þessum tölvupósti til að setja þig í samband við umsjónarmenn %{instance}.
+        delete_statuses: Sum skilaboð frá þér eru álitin eru að hafa gengið gegn samþykktum skilmálum vegna notkunar og hafa því stjórnendur fjarlægt þau af %{instance}. Brot sem framin verða hér eftir geta leitt til enn harðari aðgerða gegn notandaaðgangnum þínum.
+        disable: Þú getur ekki lengur notað aðganginn þinn, en notandasniðið þitt og önnur gögn eru óskemmd. Þú getur beðið um afrit af gögnunum þínum, getur breytt stillingum eða eytt aðgangnum þínum.
+        sensitive: Héðan í frá verður allt myndefni sem þú sendir inn meðhöndlað sem viðkvæmt efni og falið á bakvið aðvörun sem smella þarf á.
+        silence: Þú getur áfram notað aðganginn þinn en aðeins fólk sem þegar fylgist með þér mun sjá tístin þín á þessum vefþjóni, auk þess sem lokað gæti verið á þig á ýmsum opinberum listum. Aftur á móti geta aðrir gerst fylgjendur þínir handvirkt.
+        suspend: Þú getur ekki lengur notað aðganginn þinn og notandasniðið þitt og önnur gögn eru ekki lengur aðgengileg. Þú getur enn skráð þig inn til að biðja um afrit af gögnunum þínum þar til þeim verður eytt að fullu eftir 30 daga, við munum hinsvegar halda eftir einstaka grunnupplýsingum til að koma í veg fyrir að þú komist framhjá þessu banni.
+      get_in_touch: Ef þú álítur að um mistök sé að ræða, geturðu svarað þessum tölvupósti til að setja þig í samband við umsjónarmenn %{instance}.
+      reason: 'Ástæða:'
       review_server_policies: Yfirfara reglur vefþjónsins
-      statuses: 'Sérstaklega fyrir:'
+      statuses: 'Skilaboð sem álitin eru að hafa gengið gegn samþykktum ákvæðum:'
       subject:
+        delete_statuses: Skilaboð ín á %{acct} hafa verið fjarlægð
         disable: Notandaaðgangurinn þinn %{acct} hefur verið frystur
         none: Aðvörun fyrir %{acct}
-        sensitive: Myndefni sent frá %{acct} aðgangnum þínum hefur verið merkt sem viðkvæmt
+        sensitive: Myndefnið þitt á %{acct} verður héðan í frá merkt sem viðkvæmt
         silence: Notandaaðgangurinn þinn %{acct} hefur verið takmarkaður
         suspend: Notandaaðgangurinn þinn %{acct} hefur verið settur í bið
       title:
+        delete_statuses: Skilaboð fjarlægð
         disable: Notandaaðgangur frystur
         none: Aðvörun
-        sensitive: Myndefnið þitt hefur verið merkt sem viðkvæmt
+        sensitive: Mynd er falin
         silence: Notandaaðgangur takmarkaður
         suspend: Notandaaðgangur í bið
     welcome:
diff --git a/config/locales/it.yml b/config/locales/it.yml
index 8194e4a2c..580179b68 100644
--- a/config/locales/it.yml
+++ b/config/locales/it.yml
@@ -11,8 +11,8 @@ it:
     apps: Applicazioni per dispositivi mobili
     apps_platforms: Usa Mastodon da iOS, Android e altre piattaforme
     browse_directory: Sfoglia la directory dei profili e filtra per interessi
-    browse_local_posts: Sfoglia il flusso in tempo reale di post pubblici su questo server
-    browse_public_posts: Sfoglia il flusso in tempo reale di post pubblici su Mastodon
+    browse_local_posts: Sfoglia il flusso di post pubblici in tempo reale su questo server
+    browse_public_posts: Sfoglia il flusso di post pubblici in tempo reale su Mastodon
     contact: Contatti
     contact_missing: Non impostato
     contact_unavailable: N/D
@@ -99,7 +99,6 @@ it:
     accounts:
       add_email_domain_block: Inserisci il dominio email nella blacklist
       approve: Approva
-      approve_all: Approva tutto
       approved_msg: Richiesta di registrazione di %{username} approvata
       are_you_sure: Sei sicuro?
       avatar: Immagine di profilo
@@ -114,6 +113,7 @@ it:
       confirm: Conferma
       confirmed: Confermato
       confirming: Confermando
+      custom: Personalizzato
       delete: Elimina dati
       deleted: Cancellato
       demote: Declassa
@@ -153,7 +153,6 @@ it:
         active: Attivo
         all: Tutto
         pending: In attesa
-        silenced: Silenziati
         suspended: Sospesi
         title: Moderazione
       moderation_notes: Note di moderazione
@@ -171,7 +170,6 @@ it:
       redownload: Aggiorna avatar
       redownloaded_msg: Il profilo di %{username} è stato aggiornato dall'origine
       reject: Rifiuta
-      reject_all: Rifiuta tutto
       rejected_msg: Richiesta di registrazione di %{username} rifiutata
       remove_avatar: Rimuovi avatar
       remove_header: Rimuovi intestazione
@@ -206,12 +204,14 @@ it:
       silence: Silenzia
       silenced: Silenziato
       statuses: Stati
+      strikes: Provvedimenti precedenti
       subscribe: Sottoscrivi
       suspended: Sospeso
       suspension_irreversible: I dati di questo account sono stati cancellati in modo irreversibile. È possibile annullare la sospensione dell'account per renderlo utilizzabile, ma non recupererà alcuno dei dati precedenti.
       suspension_reversible_hint_html: L'account è stato sospeso e i dati saranno completamente eliminati il %{date}. Fino ad allora, l'account può essere ripristinato senza effetti negativi. Se si desidera eliminare immediatamente tutti i dati dell'account, è possibile farlo qui sotto.
-      time_in_queue: Attesa in coda %{time}
       title: Account
+      unblock_email: Sblocca indirizzo email
+      unblocked_email_msg: Indirizzo email di %{username} sbloccato
       unconfirmed_email: Email non confermata
       undo_sensitized: Annulla sensibile
       undo_silenced: Rimuovi silenzia
@@ -226,6 +226,7 @@ it:
       whitelisted: Nella whitelist
     action_logs:
       action_types:
+        approve_user: Approva Utente
         assigned_to_self_report: Assegna report
         change_email_user: Cambia l'e-mail per l'utente
         confirm_user: Conferma utente
@@ -243,6 +244,7 @@ it:
         destroy_domain_allow: Cancella permesso di dominio
         destroy_domain_block: Cancella blocco di dominio
         destroy_email_domain_block: Cancella blocco dominio e-mail
+        destroy_instance: Ripulisci dominio
         destroy_ip_block: Elimina regola IP
         destroy_status: Cancella stato
         destroy_unavailable_domain: Elimina dominio non disponibile
@@ -255,6 +257,7 @@ it:
         enable_user: Abilita utente
         memorialize_account: Trasforma in account commemorativo
         promote_user: Promuovi utente
+        reject_user: Rifiuta Utente
         remove_avatar_user: Elimina avatar
         reopen_report: Riapri report
         reset_password_user: Reimposta password
@@ -263,6 +266,7 @@ it:
         silence_account: Silenzia account
         suspend_account: Sospendi account
         unassigned_report: Disassegna report
+        unblock_email_account: Sblocca indirizzo email
         unsensitive_account: Deseleziona il media nel tuo profilo come sensibile
         unsilence_account: De-silenzia account
         unsuspend_account: Annulla la sospensione dell'account
@@ -271,6 +275,7 @@ it:
         update_domain_block: Aggiorna blocco di dominio
         update_status: Aggiorna stato
       actions:
+        approve_user_html: "%{name} ha approvato la registrazione da %{target}"
         assigned_to_self_report_html: "%{name} ha assegnato il rapporto %{target} a se stesso"
         change_email_user_html: "%{name} ha cambiato l'indirizzo e-mail dell'utente %{target}"
         confirm_user_html: "%{name} ha confermato l'indirizzo e-mail dell'utente %{target}"
@@ -288,6 +293,7 @@ it:
         destroy_domain_allow_html: "%{name} ha negato la federazione al dominio %{target}"
         destroy_domain_block_html: "%{name} ha sbloccato dominio %{target}"
         destroy_email_domain_block_html: "%{name} ha sbloccato il dominio e-mail %{target}"
+        destroy_instance_html: "%{name} ha ripulito il dominio %{target}"
         destroy_ip_block_html: "%{name} ha eliminato la regola per l'IP %{target}"
         destroy_status_html: "%{name} ha eliminato lo status di %{target}"
         destroy_unavailable_domain_html: "%{name} ha ripreso la consegna al dominio %{target}"
@@ -300,6 +306,7 @@ it:
         enable_user_html: "%{name} ha abilitato il login per l'utente %{target}"
         memorialize_account_html: "%{name} ha trasformato l'account di %{target} in una pagina in memoriam"
         promote_user_html: "%{name} ha promosso l'utente %{target}"
+        reject_user_html: "%{name} ha rifiutato la registrazione da %{target}"
         remove_avatar_user_html: "%{name} ha rimosso l'immagine profilo di %{target}"
         reopen_report_html: "%{name} ha riaperto il rapporto %{target}"
         reset_password_user_html: "%{name} ha reimpostato la password dell'utente %{target}"
@@ -308,6 +315,7 @@ it:
         silence_account_html: "%{name} ha silenziato l'account di %{target}"
         suspend_account_html: "%{name} ha sospeso l'account di %{target}"
         unassigned_report_html: "%{name} ha disassegnato il rapporto %{target}"
+        unblock_email_account_html: "%{name} ha sbloccato l'indirizzo email di %{target}"
         unsensitive_account_html: "%{name} ha annullato il segnare il media di %{target} come sensibile"
         unsilence_account_html: "%{name} ha riattivato l'account di %{target}"
         unsuspend_account_html: "%{name} ha annullato la sospensione dell'account di %{target}"
@@ -379,6 +387,9 @@ it:
       pending_reports_html:
         one: "<strong>1</strong> rapporto in attesa"
         other: "<strong>%{count}</strong> rapporti in attesa"
+      pending_tags_html:
+        one: "<strong>1</strong> hashtag in attesa"
+        other: "<strong>%{count}</strong> hashtag in attesa"
       pending_users_html:
         one: "<strong>1</strong> utente in attesa"
         other: "<strong>%{count}</strong> utenti in attesa"
@@ -401,7 +412,7 @@ it:
       destroyed_msg: Il blocco del dominio è stato rimosso
       domain: Dominio
       edit: Modifica blocco di dominio
-      existing_domain_block_html: Hai già impostato limitazioni più stringenti su %{name}, dovresti <a href="%{unblock_url}">sbloccare</a> prima.
+      existing_domain_block_html: Hai già impostato limitazioni più stringenti su %{name}, dovresti <a href="%{unblock_url}">sbloccarlo</a> prima.
       new:
         create: Crea blocco
         hint: Il blocco dominio non previene la creazione di utenti nel database, ma applicherà automaticamente e retroattivamente metodi di moderazione specifici su quegli account.
@@ -462,6 +473,7 @@ it:
       back_to_limited: Limitato
       back_to_warning: Avviso
       by_domain: Dominio
+      confirm_purge: Sei sicuro di voler cancellare definitivamente i dati di questo dominio?
       delivery:
         all: Tutto
         clear: Cancella errori di consegna
@@ -477,6 +489,7 @@ it:
       delivery_available: Distribuzione disponibile
       delivery_error_days: Giorni con errori di consegna
       delivery_error_hint: Se la consegna non è possibile per %{count} giorni, sarà automaticamente contrassegnata come non consegnabile.
+      destroyed_msg: I dati da %{domain} sono in coda per l'eliminazione imminente.
       empty: Nessun dominio trovato.
       known_accounts:
         one: "%{count} account noto"
@@ -487,6 +500,7 @@ it:
         title: Moderazione
       private_comment: Commento privato
       public_comment: Commento pubblico
+      purge: Ripulisci
       title: Istanze conosciute
       total_blocked_by_us: Bloccato da noi
       total_followed_by_them: Seguito da loro
@@ -516,8 +530,6 @@ it:
         title: Crea una nuova regola IP
       no_ip_block_selected: Nessuna regola IP è stata modificata poiché nessuna è stata selezionata
       title: Regole IP
-    pending_accounts:
-      title: Account in attesa (%{count})
     relationships:
       title: Relazioni di %{acct}
     relays:
@@ -539,32 +551,43 @@ it:
     report_notes:
       created_msg: Nota rapporto creata!
       destroyed_msg: Nota rapporto cancellata!
+      today_at: Oggi alle %{time}
     reports:
       account:
         notes:
           one: "%{count} nota"
           other: "%{count} note"
-        reports:
-          one: "%{count} rapporto"
-          other: "%{count} rapporti"
       action_taken_by: Azione intrapresa da
+      actions:
+        other_description_html: Vedi altre opzioni per controllare il comportamento dell'account e personalizzare la comunicazione all'account segnalato.
+        silence_description_html: Il profilo sarà visibile solo a coloro che lo seguono o lo cercano manualmente, limitandone fortemente la raggiungibilità. Può sempre essere annullato.
+        suspend_description_html: Il profilo e tutti i suoi contenuti diventeranno inaccessibili fino a quando non sarà cancellato. L'interazione con l'account sarà impossibile. Annullabile entro 30 giorni.
+      actions_description_html: 'Se la rimozione del contenuto in questione è insufficiente:'
+      add_to_report: Aggiungi altro al report
       are_you_sure: Sei sicuro?
       assign_to_self: Assegna a me
       assigned: Moderatore assegnato
       by_target_domain: Dominio dell'account segnalato
+      category: Categoria
+      category_description_html: Il motivo per cui questo account e/o contenuto è stato segnalato sarà citato nella comunicazione con l'account segnalato
       comment:
         none: Nessuno
+      comment_description_html: 'Per fornire ulteriori informazioni, %{name} ha scritto:'
       created_at: Segnalato
+      delete_and_resolve: Cancella e risolvi
       forwarded: Inoltrato
       forwarded_to: Inoltrato a %{domain}
       mark_as_resolved: Segna come risolto
       mark_as_unresolved: Segna come non risolto
+      no_one_assigned: Nessuno
       notes:
         create: Aggiungi nota
         create_and_resolve: Risolvi con nota
         create_and_unresolve: Riapri con nota
         delete: Elimina
         placeholder: Descrivi quali azioni sono state intraprese, o ogni altro aggiornamento rilevante...
+        title: Note
+      notes_description_html: Visualizza e lascia note ad altri moderatori e al tuo futuro sé
       reopen: Riapri rapporto
       report: 'Rapporto #%{id}'
       reported_account: Account segnalato
@@ -572,11 +595,14 @@ it:
       resolved: Risolto
       resolved_msg: Rapporto risolto!
       status: Stato
+      statuses: Contenuto segnalato
+      statuses_description_html: Il contenuto offensivo sarà citato nella comunicazione con l'account segnalato
       target_origin: Origine dell'account segnalato
       title: Rapporti
       unassign: Non assegnare
       unresolved: Non risolto
       updated_at: Aggiornato
+      view_profile: Visualizza profilo
     rules:
       add_new: Aggiungi regola
       delete: Cancella
@@ -598,7 +624,7 @@ it:
         desc_html: Modifica l'aspetto con il CSS caricato in ogni pagina
         title: CSS personalizzato
       default_noindex:
-        desc_html: Interessa tutti gli utenti che non hanno cambiato questa impostazione
+        desc_html: Influisce su tutti gli utenti che non hanno cambiato questa impostazione
         title: Esclude gli utenti dall'indicizzazione dei motori di ricerca per impostazione predefinita
       domain_blocks:
         all: A tutti
@@ -651,7 +677,7 @@ it:
         desc_html: Paragrafo introduttivo nella pagina iniziale. Descrive ciò che rende speciale questo server Mastodon e qualunque altra cosa sia importante dire. Potete usare marcatori HTML, in particolare <code>&lt;a&gt;</code> e <code>&lt;em&gt;</code>.
         title: Descrizione del server
       site_description_extended:
-        desc_html: Un posto adatto per pubblicare regole di comportamento, linee guida e altre cose specifiche del vostro server. Potete usare marcatori HTML
+        desc_html: Un posto adatto le regole di comportamento, linee guida e altre cose specifiche del vostro server. Potete usare marcatori HTML
         title: Informazioni estese personalizzate
       site_short_description:
         desc_html: Mostrato nella barra laterale e nei tag meta. Descrive in un paragrafo che cos'è Mastodon e che cosa rende questo server speciale. Se vuoto, sarà usata la descrizione predefinita del server.
@@ -678,15 +704,13 @@ it:
       destroyed_msg: Caricamento sito eliminato!
     statuses:
       back_to_account: Torna alla pagina dell'account
+      back_to_report: Torna alla pagina del report
       batch:
-        delete: Elimina
-        nsfw_off: Segna come non sensibile
-        nsfw_on: Segna come sensibile
+        remove_from_report: Rimuovi dal report
+        report: Rapporto
       deleted: Cancellato
-      failed_to_execute: Impossibile eseguire
       media:
         title: Media
-      no_media: Nessun media
       no_status_selected: Nessun status è stato modificato perché nessuno era stato selezionato
       title: Gli status dell'account
       with_media: con media
@@ -699,21 +723,51 @@ it:
       sidekiq_process_check:
         message_html: Nessun processo di Sidekiq in esecuzione per le code di %{value}. Sei pregato di revisionare la tua configurazione di Sidekiq
     tags:
-      accounts_today: Usi unici oggi
-      accounts_week: Usi unici questa settimana
-      breakdown: Suddivisione dell'utilizzo di oggi per fonte
-      last_active: Ultima attività
-      most_popular: Più popolari
-      most_recent: Più recenti
-      name: Hashtag
       review: Esamina status
-      reviewed: Controllato
-      title: Hashtag
-      trending_right_now: Di tendenza ora
-      unique_uses_today: "%{count} post oggi"
-      unreviewed: Non controllato
-      updated_msg: Impostazioni degli hashtag aggiornate
+      updated_msg: Impostazioni hashtag aggiornate con successo
     title: Amministrazione
+    trends:
+      allow: Consenti
+      approved: Approvato
+      disallow: Non consentire
+      links:
+        allow: Consenti link
+        allow_provider: Consenti editore
+        disallow: Non consentire link
+        disallow_provider: Non consentire editore
+        shared_by_over_week:
+          one: Condiviso da una persona nell'ultima settimana
+          other: Condiviso da %{count} persone nell'ultima settimana
+        title: Link in tendenza
+        usage_comparison: Condiviso %{today} volte oggi, rispetto a %{yesterday} ieri
+      pending_review: Revisione in sospeso
+      preview_card_providers:
+        allowed: I link da questa fonte possono essere in tendenza
+        rejected: I link da questa fonte non possono essere in tendenza
+        title: Editori
+      rejected: Rifiutato
+      tags:
+        current_score: Punteggio corrente %{score}
+        dashboard:
+          tag_accounts_measure: usi unici
+          tag_languages_dimension: Lingue migliori
+          tag_servers_dimension: Server migliori
+          tag_servers_measure: server diversi
+          tag_uses_measure: usi totali
+        listable: Suggeribile
+        not_listable: Non sarà suggerito
+        not_trendable: Non apparirà nelle tendenze
+        not_usable: Inutilizzabile
+        peaked_on_and_decaying: Ha avuto un picco il %{date}, ora in caduta
+        title: Hashtag in tendenza
+        trendable: Può comparire nelle tendenze
+        trending_rank: 'In tendenza #%{rank}'
+        usable: Utilizzabile
+        usage_comparison: Usato %{today} volte oggi, rispetto a %{yesterday} ieri
+        used_by_over_week:
+          one: Usato da una persona nell'ultima settimana
+          other: Usato da %{count} persone nell'ultima settimana
+      title: Tendenze
     warning_presets:
       add_new: Aggiungi nuovo
       delete: Cancella
@@ -728,9 +782,16 @@ it:
       body: "%{reporter} ha segnalato %{target}"
       body_remote: Qualcuno da %{domain} ha segnalato %{target}
       subject: Nuova segnalazione per %{instance} (#%{id})
-    new_trending_tag:
-      body: 'L''hashtag #%{name} oggi è di tendenza, ma non è stato mai controllato. Non sarà visualizzato pubblicamente se non lo permetti; se salvi il form senza modifiche non lo vedrai mai più.'
-      subject: Nuovo hashtag pronto per essere controllato su %{instance} (#%{name})
+    new_trending_links:
+      body: I seguenti link sono in tendenza oggi, ma i loro editori non sono stati revisionati precedentemente. Non saranno mostrati pubblicamente a meno che tu non li approvi. Ulteriori notifiche dagli stessi editori non saranno generate.
+      no_approved_links: Nessun link in tendenza correntemente approvato.
+      requirements: Il link in tendenza più basso approvato è correntemente "%{lowest_link_title}" con un punteggio di %{lowest_link_score}.
+      subject: Nuovi link in tendenza in attesa di revisione su %{instance}
+    new_trending_tags:
+      body: 'I seguenti hashtag sono in tendenza oggi, ma non sono stati precedentemente revisionati. Non saranno visualizzati pubblicamente a meno che non li approvi:'
+      no_approved_tags: Nessun hashtag in tendenza correntemente approvato.
+      requirements: 'L''hashtag in tendenza approvato con punteggio più basso è al momento #%{lowest_tag_name} con un punteggio di %{lowest_tag_score}.'
+      subject: I nuovi hashtag in tendenza in attesa di revisione su %{instance}
   aliases:
     add_new: Crea alias
     created_msg: Hai creato un nuovo alias. Ora puoi iniziare lo spostamento dal vecchio account.
@@ -758,7 +819,7 @@ it:
     settings: 'Cambia le impostazioni per le email: %{link}'
     view: 'Guarda:'
     view_profile: Mostra profilo
-    view_status: Mostra stati
+    view_status: Mostra post
   applications:
     created: Applicazione creata con successo
     destroyed: Applicazione eliminata con successo
@@ -784,6 +845,7 @@ it:
     invalid_reset_password_token: Il token di reimpostazione della password non è valido o è scaduto. Per favore richiedine uno nuovo.
     link_to_otp: Inserisci un codice a due fattori dal tuo telefono o un codice di recupero
     link_to_webauth: Usa il tuo dispositivo chiave di sicurezza
+    log_in_with: Accedi con
     login: Entra
     logout: Esci da Mastodon
     migrate_account: Sposta ad un account differente
@@ -895,7 +957,7 @@ it:
     archive_takeout:
       date: Data
       download: Scarica il tuo archivio
-      hint_html: Puoi richiedere un archivio dei tuoi <strong>toot e media caricati</strong>. I dati esportati sono in formato ActivityPub, leggibili da qualunque software che segue questo standard. Puoi richiedere un archivio ogni 7 giorni.
+      hint_html: Puoi richiedere un archivio dei tuoi <strong>post media caricati</strong>. I dati esportati sono in formato ActivityPub, leggibili da qualunque software che segue questo standard. Puoi richiedere un archivio ogni 7 giorni.
       in_progress: Creazione archivio...
       request: Chiedi il tuo archivio
       size: Dimensioni
@@ -939,34 +1001,15 @@ it:
     changes_saved_msg: Modifiche effettuate con successo!
     copy: Copia
     delete: Cancella
-    no_batch_actions_available: Nessuna azione batch disponibile su questa pagina
+    none: Nessuno
     order_by: Ordina per
     save_changes: Salva modifiche
+    today: oggi
     validation_errors:
       one: Qualcosa ancora non va bene! Per favore, controlla l'errore qui sotto
       other: Qualcosa ancora non va bene! Per favore, controlla i %{count} errori qui sotto
   html_validator:
     invalid_markup: 'contiene markup HTML non valido: %{error}'
-  identity_proofs:
-    active: Attive
-    authorize: Si, autorizza
-    authorize_connection_prompt: Autorizzare questa connessione crittografata?
-    errors:
-      failed: La connessione crittografata non è riuscita. Per favore riprova da %{provider}.
-      keybase:
-        invalid_token: I toked di Keybase sono hash di firme e devono essere lunghi 66 caratteri esadecimali
-        verification_failed: Keybase non riconosce questo token come firma dell'utente Keybase %{kb_username}. Per favore riprova da Keybase.
-      wrong_user: Impossibile creare una prova per %{proving} mentre si è effettuato l'accesso come %{current}. Accedi come %{proving} e riprova.
-    explanation_html: Qui puoi connettere crittograficamente le tue altre identità, come il profilo Keybase. Questo consente ad altre persone di inviarti messaggi criptati e fidarsi dei contenuto che tu invii a loro.
-    i_am_html: Io sono %{username} su %{service}.
-    identity: Identità
-    inactive: Inattiva
-    publicize_checkbox: 'E posta questo:'
-    publicize_toot: 'É provato! Io sono %{username} su %{service}: %{url}'
-    remove: Elimina prova dall'account
-    removed: Prova eliminata dall'account
-    status: Stato della verifica
-    view_proof: Vedi prova
   imports:
     errors:
       over_rows_processing_limit: contiene più di %{count} righe
@@ -1047,14 +1090,14 @@ it:
     proceed_with_move: Sposta seguaci
     redirected_msg: Il tuo account sta reindirizzando a %{acct}.
     redirecting_to: Il tuo account sta reindirizzando a %{acct}.
-    set_redirect: Imposta ridirezione
+    set_redirect: Imposta reindirizzamento
     warning:
       backreference_required: Il nuovo account deve essere prima configurato per collegarsi a questo
       before: 'Prima di procedere, leggi attentamente queste avvertenze:'
       cooldown: Dopo il trasferimento c'è un periodo di pausa durante il quale non potrai trasferirti di nuovo
       disabled_account: Il tuo account attuale non sarà più pienamente utilizzabile. Tuttavia, avrai accesso all'esportazione dei dati e alla riattivazione.
-      followers: Questa azione sposterà tutti i seguaci dall'account attuale al nuovo account
-      only_redirect_html: In alternativa, puoi solo <a href="%{path}">impostare un redirect sul tuo profilo</a>.
+      followers: Questa azione sposterà tutti i follower dall'account attuale al nuovo account
+      only_redirect_html: In alternativa, puoi solo <a href="%{path}">impostare un reindirizzamento sul tuo profilo</a>.
       other_data: Nessun altro dato verrà spostato automaticamente
       redirect: Il profilo del tuo account corrente sarà aggiornato con un avviso di ridirezione e sarà escluso dalle ricerche
   moderation:
@@ -1104,7 +1147,7 @@ it:
   notifications:
     email_events: Eventi per notifiche via email
     email_events_hint: 'Seleziona gli eventi per i quali vuoi ricevere le notifiche:'
-    other_settings: Altre impostazioni per le notifiche
+    other_settings: Altre impostazioni delle notifiche
   number:
     human:
       decimal_units:
@@ -1175,16 +1218,16 @@ it:
   remote_interaction:
     favourite:
       proceed: Continua per segnare come apprezzato
-      prompt: 'Vuoi segnare questo toot come apprezzato:'
+      prompt: 'Vuoi segnare questo post come apprezzato:'
     reblog:
       proceed: Continua per condividere
-      prompt: 'Vuoi condividere questo toot:'
+      prompt: 'Vuoi condividere questo post:'
     reply:
       proceed: Continua per rispondere
-      prompt: 'Vuoi rispondere a questo toot:'
+      prompt: 'Vuoi rispondere a questo post:'
   scheduled_statuses:
-    over_daily_limit: Hai superato il limite di %{limit} toot programmati per questo giorno
-    over_total_limit: Hai superato il limite di %{limit} toot programmati
+    over_daily_limit: Hai superato il limite di %{limit} post programmati per questo giorno
+    over_total_limit: Hai superato il limite di %{limit} post programmati
     too_soon: La data di pubblicazione deve essere nel futuro
   sessions:
     activity: Ultima attività
@@ -1238,9 +1281,8 @@ it:
     delete: Cancellazione account
     development: Sviluppo
     edit_profile: Modifica profilo
-    export: Esporta impostazioni
+    export: Esportazione dati
     featured_tags: Hashtag in evidenza
-    identity_proofs: Prove di identità
     import: Importa
     import_and_export: Importa ed esporta
     migrate: Migrazione dell'account
@@ -1265,18 +1307,19 @@ it:
         other: "%{count} video"
     boosted_from_html: Condiviso da %{acct_link}
     content_warning: 'Avviso di contenuto: %{warning}'
+    default_language: Come la lingua dell'interfaccia
     disallowed_hashtags:
       one: 'contiene un hashtag non permesso: %{tags}'
       other: 'contiene gli hashtags non permessi: %{tags}'
+    edited_at: Modificato il %{date}
     errors:
-      in_reply_not_found: Lo stato a cui stai tentando di rispondere non sembra esistere.
-    language_detection: Individua lingua automaticamente
+      in_reply_not_found: Il post a cui stai tentando di rispondere non sembra esistere.
     open_in_web: Apri sul Web
     over_character_limit: Limite caratteri superato di %{max}
     pin_errors:
-      limit: Hai già fissato in cima il massimo numero di toot
-      ownership: Non puoi fissare in cima un toot di qualcun altro
-      private: Un toot non pubblico non può essere fissato in cima
+      direct: I messaggi visibili solo agli utenti citati non possono essere fissati in cima
+      limit: Hai già fissato in cima il massimo numero di post
+      ownership: Non puoi fissare in cima un post di qualcun altro
       reblog: Un toot condiviso non può essere fissato in cima
     poll:
       total_people:
@@ -1335,7 +1378,7 @@ it:
     min_reblogs: Conserva i post condivisi più di
     min_reblogs_hint: Non cancella nessuno dei tuoi post che è stato condiviso più di questo numero di volte. Lascia vuoto per cancellare i post indipendentemente dal loro numero di condivisioni
   stream_entries:
-    pinned: Toot fissato in cima
+    pinned: Post fissato in cima
     reblogged: condiviso
     sensitive_content: Materiale sensibile
   tags:
@@ -1434,6 +1477,7 @@ it:
     formats:
       default: "%d %b %Y, %H:%M"
       month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Aggiungi
     disable: Disabilita
@@ -1461,28 +1505,35 @@ it:
       subject: Conferma il tentativo di accesso
       title: Tentativo di accesso
     warning:
+      categories:
+        spam: Spam
+        violation: Il contenuto viola le seguenti linee guida della comunità
       explanation:
-        disable: Mentre il tuo account è congelato, i tuoi dati dell'account rimangono intatti, ma non potrai eseguire nessuna azione fintanto che non viene sbloccato.
-        sensitive: I tuoi file multimediali caricati e multimedia collegati saranno trattati come sensibili.
-        silence: Mentre il tuo account è limitato, solo le persone che già ti seguono possono vedere i tuoi toot su questo server, e potresti essere escluso da vari elenchi pubblici. Comunque, altri possono manualmente seguirti.
-        suspend: Non puoi più utilizzare il tuo account, e il tuo profilo e altri dati non sono più accessibili. È ancora possibile effettuare il login per richiedere un backup dei dati fino a quando i dati non vengono completamente rimossi, ma conserveremo alcuni dati per impedirti di eludere la sospensione.
-      get_in_touch: Puoi rispondere a questa email per entrare in contatto con lo staff di %{instance}.
+        delete_statuses: Alcuni dei tuoi post sono in violazione di una o più linee guida della comunità, e quindi sono stati eliminati dai moderatori di %{instance}. Le future violazioni possono comportare azioni punitive più severe contro il tuo account.
+        disable: Non puoi più utilizzare il tuo account, ma il tuo profilo e gli altri dati rimangono intatti. Puoi richiedere un backup dei tuoi dati, modificare le impostazioni dell'account o eliminare il tuo account.
+        sensitive: D'ora in poi, tutti i file multimediali che hai caricato saranno contrassegnati come sensibili e nascosti dietro un avviso click-through.
+        silence: Puoi ancora utilizzare il tuo account, ma solo le persone che già ti seguono possono vedere i tuoi post su questo server, e potresti essere escluso da varie funzionalità di ricerca. Gli altri utenti possono comunque seguirti manualmente.
+        suspend: Non puoi più utilizzare il tuo account, e il tuo profilo e gli altri dati non sono più accessibili. Puoi ancora effettuare il login per richiedere un backup dei dati fino a quando i dati non saranno completamente cancellati nei prossimi 30 giorni, ma conserveremo alcuni dati di base per impedirti di eludere la sospensione.
+      get_in_touch: Se credi che questo sia un errore, puoi rispondere a questa e-mail per metterti in contatto con lo staff di %{instance}.
+      reason: 'Motivo:'
       review_server_policies: Rivedi regole del server
-      statuses: 'Nello specifico, per:'
+      statuses: 'Post che sono stati trovati in violazione:'
       subject:
+        delete_statuses: I tuoi post su %{acct} sono stati eliminati
         disable: Il tuo account %{acct} è stato congelato
         none: Avviso per %{acct}
-        sensitive: Il multimedia in pubblicazione del tuo profilo %{acct} è stato contrassegnato come sensibile
+        sensitive: I tuoi file multimediali su %{acct} d'ora in poi saranno contrassegnati come sensibili
         silence: Il tuo account %{acct} è stato limitato
         suspend: Il tuo account %{acct} è stato sospeso
       title:
+        delete_statuses: Post eliminati
         disable: Account congelato
         none: Avviso
-        sensitive: Il tuo multimedia è stato contrassegnato come sensibile
+        sensitive: Media nascosto
         silence: Account limitato
         suspend: Account sospeso
     welcome:
-      edit_profile_action: Imposta profilo
+      edit_profile_action: Configura profilo
       edit_profile_step: Puoi personalizzare il tuo profilo caricando un avatar, un'intestazione, modificando il tuo nome visualizzato e così via. Se vuoi controllare i tuoi nuovi seguaci prima di autorizzarli a seguirti, puoi bloccare il tuo account.
       explanation: Ecco alcuni suggerimenti per iniziare
       final_action: Inizia a postare
@@ -1493,7 +1544,7 @@ it:
       review_preferences_step: Dovresti impostare le tue preferenze, ad esempio quali email vuoi ricevere oppure il livello predefinito di privacy per i tuoi post. Se le immagini in movimento non ti danno fastidio, puoi abilitare l'animazione automatica delle GIF.
       subject: Benvenuto/a su Mastodon
       tip_federated_timeline: La timeline federata visualizza uno dopo l'altro i messaggi pubblicati su Mastodon. Ma comprende solo gli utenti seguiti dai tuoi vicini, quindi non è completa.
-      tip_following: Per impostazione predefinita, segui l'amministratore/i del tuo server. Per trovare utenti più interessanti, dà un'occhiata alle timeline locale e federata.
+      tip_following: Per impostazione predefinita, segui gli amministratori del tuo server. Per trovare utenti più interessanti, dà un'occhiata alle timeline locale e federata.
       tip_local_timeline: La timeline locale visualizza uno dopo l'altro i messaggi degli utenti di %{instance}. Questi sono i tuoi vicini!
       tip_mobile_webapp: Se il tuo browser mobile ti dà la possibilità di aggiungere Mastodon allo schermo, puoi ricevere le notifiche. Funziona un po' come un'app natova!
       tips: Suggerimenti
@@ -1504,7 +1555,7 @@ it:
     invalid_otp_token: Codice d'accesso non valido
     invalid_sign_in_token: Codice di sicurezza non valido
     otp_lost_help_html: Se perdessi l'accesso ad entrambi, puoi entrare in contatto con %{email}
-    seamless_external_login: Ti sei collegato per mezzo di un servizio esterno, quindi le impostazioni di email e password non sono disponibili.
+    seamless_external_login: Hai effettuato l'accesso tramite un servizio esterno, quindi le impostazioni di password e e-mail non sono disponibili.
     signed_in_as: 'Hai effettuato l''accesso come:'
     suspicious_sign_in_confirmation: Sembra che tu non abbia effettuato l'accesso da questo dispositivo prima d'ora, e non hai effettuato l'accesso per un po', quindi inviamo un codice di sicurezza al tuo indirizzo e-mail per confermare che sei proprio tu.
   verification:
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index 85c22a0f4..105974389 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -1,10 +1,10 @@
 ---
 ja:
   about:
-    about_hashtag_html: ハッシュタグ <strong>#%{hashtag}</strong> の付いた公開投稿です。どこでもいいので、連合に参加しているSNS上にアカウントを作れば会話に参加することができます。
+    about_hashtag_html: ハッシュタグ <strong>#%{hashtag}</strong> の公開投稿です。どこか連合に参加しているSNS上にアカウントを作れば、会話に参加することができます。
     about_mastodon_html: Mastodon は、オープンなウェブプロトコルを採用した、自由でオープンソースなソーシャルネットワークです。電子メールのような分散型の仕組みを採っています。
     about_this: 詳細情報
-    active_count_after: 人アクティブ
+    active_count_after: 人がアクティブ
     active_footnote: 月間アクティブユーザー数 (MAU)
     administered_by: '管理者:'
     api: API
@@ -93,7 +93,6 @@ ja:
     accounts:
       add_email_domain_block: メールドメインブロックに追加
       approve: 承認
-      approve_all: すべて承認
       approved_msg: "%{username} の登録申請を承認しました"
       are_you_sure: 本当に実行しますか?
       avatar: アイコン
@@ -108,11 +107,13 @@ ja:
       confirm: 確認
       confirmed: 確認済み
       confirming: 確認中
+      custom: カスタム
       delete: データを削除する
       deleted: 削除済み
       demote: 降格
       destroyed_msg: "%{username} のデータは完全に削除されるよう登録されました"
       disable: 無効化
+      disable_sign_in_token_auth: メールトークン認証を無効にする
       disable_two_factor_authentication: 二段階認証を無効にする
       disabled: 無効
       display_name: 表示名
@@ -121,6 +122,7 @@ ja:
       email: メールアドレス
       email_status: メールアドレスの状態
       enable: 有効化
+      enable_sign_in_token_auth: メールトークン認証を有効にする
       enabled: 有効
       enabled_msg: "%{username} の無効化を解除しました"
       followers: フォロワー数
@@ -145,7 +147,6 @@ ja:
         active: アクティブ
         all: すべて
         pending: 承認待ち
-        silenced: サイレンス済み
         suspended: 停止済み
         title: モデレーション
       moderation_notes: モデレーションメモ
@@ -163,7 +164,6 @@ ja:
       redownload: プロフィールを更新
       redownloaded_msg: "%{username} のプロフィールを正常に更新しました"
       reject: 却下
-      reject_all: すべて却下
       rejected_msg: "%{username} の登録申請を却下しました"
       remove_avatar: アイコンを削除
       remove_header: ヘッダーを削除
@@ -186,12 +186,14 @@ ja:
       search_same_email_domain: 同じドメインのメールアドレスを使用しているユーザー
       search_same_ip: 同じ IP のユーザーを検索
       security_measures:
+        only_password: パスワードのみ
         password_and_2fa: パスワードと 2FA
+        password_and_sign_in_token: パスワードとメールトークン
       sensitive: 閲覧注意
-      sensitized: 閲覧注意済み
+      sensitized: 閲覧注意としてマーク済み
       shared_inbox_url: Shared inbox URL
       show:
-        created_reports: このアカウントで作られた通報
+        created_reports: このアカウントからの通報
         targeted_reports: このアカウントについての通報
       silence: サイレンス
       silenced: サイレンス済み
@@ -200,8 +202,9 @@ ja:
       suspended: 停止済み
       suspension_irreversible: このアカウントのデータは削除され元に戻せなくなります。後日アカウントの凍結を解除することはできますがデータは元に戻せません。
       suspension_reversible_hint_html: アカウントは停止されており、データは %{date} に完全に削除されます。それまではアカウントを元に戻すことができます。今すぐ完全に削除したい場合は以下から行うことができます。
-      time_in_queue: "%{time} 待ち"
       title: アカウント
+      unblock_email: メールアドレスのブロックを解除
+      unblocked_email_msg: "%{username} のメールアドレスのブロックを解除しました"
       unconfirmed_email: 確認待ちのメールアドレス
       undo_sensitized: 閲覧注意から戻す
       undo_silenced: サイレンスから戻す
@@ -216,6 +219,7 @@ ja:
       whitelisted: 連合許可済み
     action_logs:
       action_types:
+        approve_user: ユーザーの承認
         assigned_to_self_report: 通報の担当者に設定
         change_email_user: ユーザーのメールアドレスを変更
         confirm_user: ユーザーの確認
@@ -233,16 +237,20 @@ ja:
         destroy_domain_allow: 連合許可を外す
         destroy_domain_block: ドメインブロックを削除
         destroy_email_domain_block: メールドメインブロックを削除
+        destroy_instance: ドメインをブロックする
         destroy_ip_block: IPルールを削除
         destroy_status: 投稿を削除
         destroy_unavailable_domain: 配送できないドメインを削除
         disable_2fa_user: 二段階認証を無効化
         disable_custom_emoji: カスタム絵文字を無効化
+        disable_sign_in_token_auth_user: ユーザーのE-mail トークン認証を無効にする
         disable_user: ユーザーを無効化
         enable_custom_emoji: カスタム絵文字を有効化
+        enable_sign_in_token_auth_user: E-mail トークンのユーザー認証を有効にする
         enable_user: ユーザーを有効化
         memorialize_account: 追悼アカウント化
         promote_user: ユーザーを昇格
+        reject_user: ユーザーを拒否
         remove_avatar_user: アイコンを削除
         reopen_report: 未解決に戻す
         reset_password_user: パスワードをリセット
@@ -251,6 +259,7 @@ ja:
         silence_account: アカウントをサイレンス
         suspend_account: アカウントを停止
         unassigned_report: 通報の担当を解除
+        unblock_email_account: メールアドレスのブロックを解除
         unsensitive_account: アカウントのメディアの閲覧注意マークを解除
         unsilence_account: アカウントのサイレンスを解除
         unsuspend_account: アカウントの停止を解除
@@ -259,6 +268,7 @@ ja:
         update_domain_block: ドメインブロックを更新
         update_status: 投稿を更新
       actions:
+        approve_user_html: "%{target} から登録された %{name} さんを承認しました"
         assigned_to_self_report_html: "%{name} さんが通報 %{target} を自身の担当に割り当てました"
         change_email_user_html: "%{name} さんが %{target} さんのメールアドレスを変更しました"
         confirm_user_html: "%{name} さんが %{target} さんのメールアドレスを確認済みにしました"
@@ -276,16 +286,20 @@ ja:
         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} への配送を再開しました"
         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_user_html: "%{target} から登録された %{name} さんを拒否しました"
         remove_avatar_user_html: "%{name} さんが %{target} さんのアイコンを削除しました"
         reopen_report_html: "%{name} さんが通報 %{target} を未解決に戻しました"
         reset_password_user_html: "%{name} さんが %{target} さんのパスワードをリセットしました"
@@ -294,6 +308,7 @@ ja:
         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} さんの停止を解除しました"
@@ -357,9 +372,25 @@ ja:
       updated_msg: 絵文字の更新に成功しました!
       upload: アップロード
     dashboard:
+      active_users: アクティブユーザー
+      interactions: 相互作用
+      media_storage: メディアストレージ
+      new_users: 新規ユーザー
+      opened_reports: レポートが開かれました
+      pending_reports_html:
+        other: 保留中の報告 <strong>%{count}</strong> 件
+      pending_tags_html:
+        other: 保留中のハッシュタグ <strong>%{count}</strong> 件
+      pending_users_html:
+        other: 保留中のユーザー <strong>%{count}</strong> 件
+      resolved_reports: 解決済みのレポート
       software: ソフトウェア
+      sources: サインアップソース
       space: ディスク使用量
       title: ダッシュボード
+      top_languages: トップのアクティブ言語
+      top_servers: トップアクティブサーバー
+      website: ウェブサイト
     domain_allows:
       add_new: 連合を許可
       created_msg: 連合を許可しました
@@ -431,6 +462,7 @@ ja:
       back_to_limited: 制限あり
       back_to_warning: 警告あり
       by_domain: ドメイン
+      confirm_purge: このドメインを完全にブロックしてもよろしいですか?
       delivery:
         all: すべて
         clear: 配送エラーをクリア
@@ -445,6 +477,7 @@ ja:
       delivery_available: 配送可能
       delivery_error_days: 配送エラー発生日
       delivery_error_hint: "%{count} 日間配送ができない場合は、自動的に配送不可としてマークされます。"
+      destroyed_msg: "%{domain} からのデータは、すぐに削除されるように、キューに追加されました。"
       empty: ドメインが見つかりませんでした。
       known_accounts:
         other: 既知のアカウント数 %{count}
@@ -454,6 +487,7 @@ ja:
         title: モデレーション
       private_comment: コメント (非公開)
       public_comment: コメント (公開)
+      purge: パージ
       title: 既知のサーバー
       total_blocked_by_us: ブロック合計
       total_followed_by_them: 被フォロー合計
@@ -483,8 +517,6 @@ ja:
         title: 新規IPルール
       no_ip_block_selected: 何も選択されていないためIPルールを変更しませんでした
       title: IPルール
-    pending_accounts:
-      title: 承認待ちアカウント (%{count})
     relationships:
       title: "%{acct} さんのフォロー・フォロワー"
     relays:
@@ -506,20 +538,23 @@ ja:
     report_notes:
       created_msg: 通報メモを書き込みました!
       destroyed_msg: 通報メモを削除しました!
+      today_at: 今日 %{time}
     reports:
       account:
         notes:
           other: "%{count} 件のメモ"
-        reports:
-          other: "%{count} 件の通報"
+      action_log: 監査ログ
       action_taken_by: 通報処理者
+      add_to_report: レポートにさらに追加
       are_you_sure: 本当に実行しますか?
       assign_to_self: 担当になる
       assigned: 担当者
       by_target_domain: ドメイン
+      category: カテゴリー
       comment:
         none: なし
       created_at: 通報日時
+      delete_and_resolve: 解決済みにして削除
       forwarded: 転送済み
       forwarded_to: "%{domain} に転送されました"
       mark_as_resolved: 解決済みとしてマーク
@@ -530,6 +565,8 @@ ja:
         create_and_unresolve: 書き込み、未解決に戻す
         delete: 削除
         placeholder: どのような措置が取られたか、または関連する更新を記述してください…
+        title: メモ
+      notes_description_html: 他のモデレーターと将来の自分にメモを残してください
       reopen: 未解決に戻す
       report: 通報#%{id}
       reported_account: 報告対象アカウント
@@ -537,10 +574,13 @@ ja:
       resolved: 解決済み
       resolved_msg: 通報を解決済みにしました!
       status: ステータス
+      statuses: 通報内容
+      target_origin: 報告されたアカウントの起源
       title: 通報
       unassign: 担当を外す
       unresolved: 未解決
       updated_at: 更新日時
+      view_profile: プロフィールを表示
     rules:
       add_new: ルールを追加
       delete: 削除
@@ -642,15 +682,13 @@ ja:
       destroyed_msg: ファイルを削除しました!
     statuses:
       back_to_account: アカウントページに戻る
+      back_to_report: レポートページに戻る
       batch:
-        delete: 削除
-        nsfw_off: 閲覧注意をはずす
-        nsfw_on: 閲覧注意にする
+        remove_from_report: レポートから削除
+        report: 通報
       deleted: 削除済み
-      failed_to_execute: 実行に失敗しました
       media:
         title: メディア
-      no_media: メディアなし
       no_status_selected: 何も選択されていないため、変更されていません
       title: 投稿一覧
       with_media: メディアあり
@@ -663,21 +701,49 @@ ja:
       sidekiq_process_check:
         message_html: "%{value} キューに対応するSidekiq プロセスがありません。Sidekiq の設定を確認してください。"
     tags:
-      accounts_today: 本日使用した人数
-      accounts_week: 今週使用した人数
-      breakdown: 直近のサーバー別使用状況
-      last_active: 最近使われた順
-      most_popular: 使用頻度順
-      most_recent: 新着順
-      name: ハッシュタグ
       review: 審査状況
-      reviewed: 審査済み
-      title: ハッシュタグ
-      trending_right_now: 現在のトレンド
-      unique_uses_today: 本日 %{count} 人が投稿に使用
-      unreviewed: 未審査
       updated_msg: ハッシュタグ設定が更新されました
     title: 管理
+    trends:
+      allow: 許可
+      approved: 承認
+      disallow: 不許可
+      links:
+        allow: リンクの許可
+        allow_provider: 発行者の承認
+        disallow: リンクの拒否
+        disallow_provider: 発行者の拒否
+        shared_by_over_week:
+          other: 先週 %{count} 人が共有しました
+        title: トレンドリンク
+        usage_comparison: 今日は %{today} 回、昨日は %{yesterday} 回共有されました
+      pending_review: 保留中のレビュー
+      preview_card_providers:
+        allowed: この発行者からのリンクを許可
+        rejected: この発行者からのリンクを拒否
+        title: 発行者
+      rejected: 拒否
+      tags:
+        current_score: 現在のスコア %{score}
+        dashboard:
+          tag_accounts_measure: 1回のみ使用
+          tag_languages_dimension: 人気の言語
+          tag_servers_dimension: 人気のサーバー
+          tag_servers_measure: その他のサーバー
+          tag_uses_measure: 合計利用数
+        listable: おすすめの
+        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:
+          other: 先週は %{count} 人に使用されました
+      title: トレンド
     warning_presets:
       add_new: 追加
       delete: 削除
@@ -692,9 +758,16 @@ ja:
       body: "%{reporter} が %{target} を通報しました"
       body_remote: "%{domain} の誰かが %{target} を通報しました"
       subject: "%{instance} の新しい通報 (#%{id})"
-    new_trending_tag:
-      body: 'ハッシュタグ #%{name} が本日のトレンドになっていますが、審査がまだ行われていないためトレンドタグには表示されていません。一度許可すれば次回からこの操作は不要です。'
-      subject: "%{instance} で新しいハッシュタグ (#%{name}) が審査待ちです"
+    new_trending_links:
+      body: 以下のリンクは今日のトレンドですが、これらの発行者はまだレビューされていません。承認するまでは、このリンクは公開されず、通知も生成されません。
+      no_approved_links: 承認済みのトレンドはありません。
+      requirements: '承認された最低のトレンドは現在 %{lowest_link_title} です。(スコア: %{lowest_link_score} )'
+      subject: 新しいトレンドを %{instance} で確認してください。
+    new_trending_tags:
+      body: 以下のハッシュタグは今日のトレンドですが、これらの発行者はまだレビューされていません。承認するまでは、このハッシュタグは公開されず、通知も生成されません。
+      no_approved_tags: 承認済みのハッシュタグはありません。
+      requirements: '承認された最低のトレンドハッシュタグは現在 %{lowest_tag_name} です。(スコア: %{lowest_tag_score} )'
+      subject: 新しいトレンドハッシュタグを %{instance} で確認してください。
   aliases:
     add_new: エイリアスを作成
     created_msg: エイリアスを作成しました。これで以前のアカウントから引っ越しを開始できます。
@@ -901,33 +974,14 @@ ja:
     changes_saved_msg: 正常に変更されました!
     copy: コピー
     delete: 削除
-    no_batch_actions_available: このページに一括操作はありません
+    none: なし
     order_by: 並び順
     save_changes: 変更を保存
+    today: 今日
     validation_errors:
       other: エラーが発生しました! 以下の%{count}個のエラーを確認してください
   html_validator:
     invalid_markup: '無効なHTMLマークアップが含まれています: %{error}'
-  identity_proofs:
-    active: アクティブ
-    authorize: 許可する
-    authorize_connection_prompt: この暗号化接続を許可しますか?
-    errors:
-      failed: 暗号化接続に失敗しました。%{provider}からもう一度やり直してください。
-      keybase:
-        invalid_token: Keybaseトークンは16進数で66文字のハッシュである必要があります
-        verification_failed: KeybaseはこのトークンをKeybaseユーザー%{kb_username}の署名として認識しませんでした。Keybaseから再試行してください。
-      wrong_user: "%{current}としてログインしている間%{proving}の証明を作成することはできません。%{proving}としてログインし、もう一度やり直してください。"
-    explanation_html: ここではKeybaseのような他のサービスのアカウントと暗号化し関連づけることができます。これによりそれらのサービス上で他の人が暗号化されたメッセージを送信したり、あなたの送信した内容があなたからのものであると信用できるようになります。
-    i_am_html: 私は %{service} の %{username} です。
-    identity: 所属
-    inactive: 非アクティブ
-    publicize_checkbox: 'そしてこれをトゥートします:'
-    publicize_toot: '証明されました!私は %{service} の %{username} です: %{url}'
-    remove: アカウントから証明書を削除
-    removed: アカウントから証明書を削除することに成功しました
-    status: 認証状態
-    view_proof: 証明を表示
   imports:
     errors:
       over_rows_processing_limit: "%{count} 行以上"
@@ -972,9 +1026,15 @@ ja:
       limit: リストの上限に達しました
   login_activities:
     authentication_methods:
+      otp: 2要素認証
       password: パスワード
       sign_in_token: 電子メールセキュリティコード
       webauthn: セキュリティキー
+    description_html: 認識できないアクティビティが表示された場合は、パスワードの変更と2要素認証の有効化を検討してください。
+    empty: 利用可能な認証履歴がありません
+    failed_sign_in_html: "%{ip} (%{browser}) からの %{method} を利用したサインインに失敗しました。"
+    successful_sign_in_html: "%{ip} (%{browser}) からの %{method} を利用したサインインに成功しました"
+    title: 認証履歴
   media_attachments:
     validations:
       images_and_video: 既に画像が追加されているため、動画を追加することはできません
@@ -1179,6 +1239,7 @@ ja:
     revoke: 削除
     revoke_success: セッションを削除しました
     title: セッション
+    view_authentication_history: アカウントの認証履歴を表示
   settings:
     account: アカウント
     account_settings: アカウント設定
@@ -1191,7 +1252,6 @@ ja:
     edit_profile: プロフィールを編集
     export: データのエクスポート
     featured_tags: 注目のハッシュタグ
-    identity_proofs: Identity proofs
     import: データのインポート
     import_and_export: インポート・エクスポート
     migrate: アカウントの引っ越し
@@ -1213,17 +1273,18 @@ ja:
         other: "%{count} 本の動画"
     boosted_from_html: "%{acct_link} からブースト"
     content_warning: '閲覧注意: %{warning}'
+    default_language: UIの表示言語
     disallowed_hashtags:
       other: '許可されていないハッシュタグが含まれています: %{tags}'
+    edited_at: "%{date} に編集"
     errors:
       in_reply_not_found: あなたが返信しようとしている投稿は存在しないようです。
-    language_detection: 自動検出
     open_in_web: Webで開く
     over_character_limit: 上限は %{max}文字までです
     pin_errors:
+      direct: 返信したユーザーのみに表示される投稿はピン留めできません
       limit: 固定できる投稿数の上限に達しました
       ownership: 他人の投稿を固定することはできません
-      private: 非公開の投稿を固定することはできません
       reblog: ブーストを固定することはできません
     poll:
       total_people:
@@ -1376,6 +1437,7 @@ ja:
     formats:
       default: "%Y年%m月%d日 %H:%M"
       month: "%Y年 %b"
+      time: "%H:%M"
   two_factor_authentication:
     add: 追加
     disable: 無効化
@@ -1403,24 +1465,26 @@ ja:
       subject: ログイン試行を確認してください
       title: ログインを検出しました
     warning:
+      categories:
+        spam: スパム
+        violation: コンテンツは以下のコミュニティガイドラインに違反しています
       explanation:
-        disable: あなたのアカウントはログインが禁止され使用できなくなりました。しかしアカウントのデータはそのまま残っています。
-        sensitive: あなたのアップロードしたメディアファイルとリンク先のメディアは、閲覧注意として扱われます。
-        silence: あなたのアカウントは制限されましたがそのまま使用できます。ただし既にフォローしている人はあなたの投稿を見ることができますが、様々な公開タイムラインには表示されない場合があります。また他のユーザーは今後も手動であなたをフォローすることができます。
-        suspend: あなたのアカウントは使用できなくなりプロフィールやその他データにアクセスできなくなりました。アカウントが完全に削除されるまではログインしてデータのエクスポートをリクエストできます。証拠隠滅を防ぐため一部のデータは削除されず残ります。
-      get_in_touch: このメールに返信することで %{instance} のスタッフと連絡を取ることができます。
+        delete_statuses: あなたの投稿のいくつかは、1つ以上のコミュニティガイドラインに違反していることが判明し、 %{instance} のモデレータによって削除されました。 今後の違反は、より厳しい処罰が行われる可能性があります。
+        disable: アカウントは使用できませんが、プロフィールやその他のデータはそのまま残ります。 データのバックアップをリクエストしたり、アカウント設定を変更したり、アカウントを削除したりできます。
+        sensitive: 今後、アップロードされたすべてのメディアファイルは閲覧注意してマークされ、クリックスルー警告の背後に隠されます。
+        silence: アカウントが制限されています。このサーバーでは既にフォローしている人だけがあなたの投稿を見ることができます。 様々な発見機能から除外されるかもしれません。他の人があなたを手動でフォローすることは可能です。
+      reason: '理由:'
       review_server_policies: サーバーのポリシーを確認
-      statuses: '特に次の投稿:'
       subject:
         disable: あなたのアカウント %{acct} は凍結されました
         none: "%{acct} に対する警告"
-        sensitive: あなたのアカウント %{acct} の投稿メディアは閲覧注意とマークされました
         silence: あなたのアカウント %{acct} はサイレンスにされました
         suspend: あなたのアカウント %{acct} は停止されました
       title:
+        delete_statuses: 投稿が削除されました
         disable: アカウントが凍結されました
         none: 警告
-        sensitive: あなたのメディアが閲覧注意とマークされました
+        sensitive: メディアが非表示にされました
         silence: アカウントがサイレンスにされました
         suspend: アカウントが停止されました
     welcome:
diff --git a/config/locales/ka.yml b/config/locales/ka.yml
index 02f0986f4..782d57e2a 100644
--- a/config/locales/ka.yml
+++ b/config/locales/ka.yml
@@ -83,7 +83,6 @@ ka:
       memorialize: აქციე მემორანდუმად
       moderation:
         all: ყველა
-        silenced: გაჩუმებული
         suspended: შეჩერებული
         title: მოდერაცია
       moderation_notes: მოდერაციის ჩანაწერები
@@ -298,14 +297,8 @@ ka:
       title: საიტის პარამეტრები
     statuses:
       back_to_account: უკან ანგარიშის გვერდისკენ
-      batch:
-        delete: გაუქმება
-        nsfw_off: მონიშნე არა-მგრძნობიარედ
-        nsfw_on: მონიშნე მგრძნობიარედ
-      failed_to_execute: ვერ გაეშვა
       media:
         title: მედია
-      no_media: არაა მედია
       no_status_selected: სატუსები არ შეცვლილა, რადგან არცერთი არ მონიშნულა
       title: ანგარიშის სტატუსები
       with_media: მედიით
@@ -596,13 +589,11 @@ ka:
     disallowed_hashtags:
       one: 'მოიცავდა აკრძალულ ჰეშტეგს: %{tags}'
       other: 'მოიცავს აკრძალულ ჰეშტეგს: %{tags}'
-    language_detection: ავტომატურად დადგინდეს ენა
     open_in_web: ვებში გახნსა
     over_character_limit: ნიშნების ლიმიტი გადასცდა %{max}-ს
     pin_errors:
       limit: ტუტების მაქსიმალური რაოდენობა უკვე აპინეთ
       ownership: სხვისი ტუტი ვერ აიპინება
-      private: არა-საჯარო ტუტი ვერ აიპინება
       reblog: ბუსტი ვერ აიპინება
     show_more: მეტის ჩვენება
     sign_in_to_participate: საუბარში მონაწილეობისთვის გაიარეთ ავტორიზაცია
diff --git a/config/locales/kab.yml b/config/locales/kab.yml
index 5f675127f..6b18ddbc3 100644
--- a/config/locales/kab.yml
+++ b/config/locales/kab.yml
@@ -80,7 +80,6 @@ kab:
     accounts:
       add_email_domain_block: Sewḥel taɣult n yimayl
       approve: Qbel
-      approve_all: Qbel kullec
       are_you_sure: Tetḥeqqeḍ?
       avatar: Tugna n umaɣnu
       by_domain: Taɣult
@@ -94,6 +93,7 @@ kab:
       confirm: Sentem
       confirmed: Yettwasentem
       confirming: Asentem
+      custom: Udmawan
       delete: Kkes isefka
       deleted: Yettwakkes
       demote: Sider s weswir
@@ -130,7 +130,6 @@ kab:
         active: Yermed
         all: Akk
         pending: Yettraǧu
-        silenced: Yettwasgugem
         suspended: Yeḥbes
         title: Aseɣyed
       moderation_notes: Tamawin n useɣyed
@@ -147,7 +146,6 @@ kab:
       push_subscription_expires: Ajerred PuSH ad ifakk
       redownload: Smiren amaɣnu
       reject: Aggi
-      reject_all: Aggi-ten akk
       remove_avatar: Kkes tugna n umaɣnu
       remove_header: Kkes tacacit
       resend_confirmation:
@@ -179,7 +177,6 @@ kab:
       statuses: Tisuffɣin
       subscribe: Jerred
       suspended: Yeḥbes
-      time_in_queue: Deg tebdert n uraju %{time}
       title: Imiḍanen
       unconfirmed_email: Imayl ur yettwasentem ara
       undo_silenced: Kkes asgugem
@@ -310,9 +307,11 @@ kab:
       update_failed_msg: Ur izmir ara ad-issali umuji-a
       upload: Sali
     dashboard:
+      new_users: iseqdacen imaynuten
       software: Aseɣẓan
       space: Tallunt yettwasqedcen
       title: Tafelwit
+      website: Asmel
     domain_allows:
       add_new: Timerna n taɣult ɣer tabdert tamellalt
       created_msg: Taγult-a tettwarna γer wumuγ amellal mebla ugur
@@ -408,8 +407,6 @@ kab:
         title: Rnu alugen n IP amaynut
       no_ip_block_selected: Ula yiwen n ulugen n IP ur yettwabeddel acku ula yiwen ur yettwafren
       title: Ilugan n IP
-    pending_accounts:
-      title: Imiḍanen yettrajun (%{count})
     relationships:
       title: Assaɣen n %{acct}
     relays:
@@ -428,9 +425,6 @@ kab:
         notes:
           one: "%{count} n tamawt"
           other: "%{count} n timawin"
-        reports:
-          one: "%{count} uneqqis"
-          other: "%{count} n ineqqisen"
       action_taken_by: Tigawt yettwaṭṭfen sɣur
       are_you_sure: Tetḥaq-eḍ?
       comment:
@@ -481,22 +475,11 @@ kab:
       delete: Kkes afaylu yulin
     statuses:
       back_to_account: Tuγalin γer usebter n umiḍan
-      batch:
-        delete: Kkes
       deleted: Yettwakkes
       media:
         title: Taγwalt
-      no_media: Mebla taγwalt
       title: Tisuffiγin n umiḍan
       with_media: S taγwalt
-    tags:
-      last_active: Armud aneggaru
-      most_popular: Ittwasnen aṭas
-      most_recent: Melmi kan
-      name: Ahacṭag
-      reviewed: Yettwacegger
-      title: Ihacṭagen
-      unique_uses_today: "%{count} i d-yeffen ass-a"
     title: Tadbelt
     warning_presets:
       add_new: Rnu amaynut
@@ -511,6 +494,7 @@ kab:
       guide_link_text: Yal yiwen·t y·tezmer a ttekki.
     sensitive_content: Agbur amḥulfu
   application_mailer:
+    salutation: "%{name},"
     view: 'Ẓaṛ:'
     view_profile: Ssken-d amaɣnu
     view_status: Ssken-d tasuffiɣt
@@ -558,6 +542,7 @@ kab:
   date:
     formats:
       default: "%d %b %Y"
+      with_month_name: "%d %B %Y"
   datetime:
     distance_in_words:
       about_x_hours: "%{count}isr"
@@ -625,13 +610,6 @@ kab:
     delete: Kkes
     order_by: Sizwer s
     save_changes: Sekles ibeddilen
-  identity_proofs:
-    active: Yermed
-    authorize: Ih, ssireg
-    i_am_html: Nekki d %{username} deg %{service}.
-    identity: Tamagit
-    inactive: D arurmid
-    publicize_checkbox: 'Tjewqeḍ aya:'
   imports:
     modes:
       merge: Smezdi
@@ -697,6 +675,7 @@ kab:
   number:
     human:
       decimal_units:
+        format: "%n%u"
         units:
           billion: AṬ
           million: A
@@ -801,7 +780,6 @@ kab:
       video:
         one: "%{count} n tbidyutt"
         other: "%{count} n tbidyutin"
-    language_detection: Asefru awurman n tutlayt
     open_in_web: Ldi deg Web
     poll:
       total_people:
@@ -814,7 +792,9 @@ kab:
     show_more: Ssken-d ugar
     show_thread: Ssken-d lxiḍ
     sign_in_to_participate: Qqen i waken ad tzeddiḍ deg udiwenni
+    title: '%{name} : "%{quote}"'
     visibilities:
+      direct: Usrid
       private: Imeḍfaṛen kan
       private_long: Ssken i ymeḍfaṛen kan
       public: Azayez
@@ -838,6 +818,10 @@ kab:
     contrast: Maṣṭudun (agnil awriran)
     default: Maṣṭudun (Aberkan)
     mastodon-light: Maṣṭudun (Aceɛlal)
+  time:
+    formats:
+      default: "%d %b %Y, %H:%M"
+      month: "%b %Y"
   two_factor_authentication:
     add: Rnu
     disable: Gdel
diff --git a/config/locales/kk.yml b/config/locales/kk.yml
index 1c4445ee9..0ea1d6a39 100644
--- a/config/locales/kk.yml
+++ b/config/locales/kk.yml
@@ -91,7 +91,6 @@ kk:
       destroyed_msg: Модерация жазбасы өшірілді!
     accounts:
       approve: Құптау
-      approve_all: Бәрін құптау
       are_you_sure: Шынымен бе?
       avatar: Аватар
       by_domain: Домен
@@ -136,7 +135,6 @@ kk:
         active: Актив
         all: Барлығы
         pending: Күтуде
-        silenced: Үнсіз
         suspended: Тоқтатылды
         title: Модерация
       moderation_notes: Модерация жазбалары
@@ -153,7 +151,6 @@ kk:
       push_subscription_expires: PuSH жазылу мерзімі аяқталады
       redownload: Профиль жаңарт
       reject: Қабылдамау
-      reject_all: Бәрін қабылдамау
       remove_avatar: Аватар өшіру
       remove_header: Мұқаба суретін өшір
       resend_confirmation:
@@ -180,7 +177,6 @@ kk:
       statuses: Статустар
       subscribe: Жазылу
       suspended: Тоқтатылды
-      time_in_queue: "%{time} күту"
       title: Аккаунттар
       unconfirmed_email: Құпталмаған email
       undo_silenced: Үнсіздікті қайтып алу
@@ -318,8 +314,6 @@ kk:
         expired: Уақыты өткен
         title: Фильтр
       title: Шақырулар
-    pending_accounts:
-      title: Күтілген аккаунттар (%{count})
     relationships:
       title: "%{acct} байланыстары"
     relays:
@@ -460,32 +454,14 @@ kk:
       destroyed_msg: Жүктелген файл сәтті өшірілді!
     statuses:
       back_to_account: Аккаунт бетіне оралы
-      batch:
-        delete: Delеte
-        nsfw_off: Сезімтал емес ретінде белгіле
-        nsfw_on: Сезімтал ретінде белгіле
       deleted: Өшірілді
-      failed_to_execute: Орындалмады
       media:
         title: Медиa
-      no_media: Медиасыз
       no_status_selected: Бірде-бір статус өзгерген жоқ, себебі ештеңе таңдалмады
       title: Аккаунт статустары
       with_media: Медиамен
     tags:
-      accounts_today: Бүгін қолданылғандар
-      accounts_week: Осы аптада қолданылғандар
-      breakdown: Бүгінгі пайдалану көздері бойынша бөлу
-      last_active: Соңғы белсенділік
-      most_popular: Ең танымал
-      most_recent: Ең соңғы
-      name: Хэштег
       review: Статусты көрсету
-      reviewed: Көрілген
-      title: Hashtаgs
-      trending_right_now: Бұгінгі трендте
-      unique_uses_today: "%{count} бүгін жазылған"
-      unreviewed: Қаралды
       updated_msg: Хэштег параметрлері сәтті жаңартылды
     title: Administrаtion
     warning_presets:
@@ -501,9 +477,6 @@ kk:
       body: "%{reporter} has rеported %{target}"
       body_remote: Someone from %{domain} has rеported %{target}
       subject: New rеport for %{instance} (#%{id})
-    new_trending_tag:
-      body: "#%{name} хэштегі бүгін тренд, бірақ бұрын қарастырылмаған. Егер сіз оған рұқсат бермесеңіз немесе ол туралы ешқашан естімейтін болсаңыз, ол көпшілікке көрсетілмейді."
-      subject: Жаңа хештег күтілуде %{instance} (#%{name})
   aliases:
     add_new: Алиас қосу
     created_msg: Жаңа алиас сәтті жасалды. Енді сіз ескі аккаунттан көшіруді бастай аласыз.
@@ -686,7 +659,6 @@ kk:
     all: Барлығы
     changes_saved_msg: Өзгерістер сәтті сақталды!
     copy: Көшіру
-    no_batch_actions_available: Бұл бетте ешқандай әрекет жоқ
     order_by: Сұрыптау
     save_changes: Өзгерістерді сақтау
     validation_errors:
@@ -694,24 +666,6 @@ kk:
       other: Бір нәрсе дұрыс емес! Төмендегі %{count} қатені қараңыз
   html_validator:
     invalid_markup: 'жарамсыз HTML код: %{error}'
-  identity_proofs:
-    active: Актив
-    authorize: Иә, авторластырыңыз
-    authorize_connection_prompt: Осы криптографиялық қосылымға рұқсат бересіз бе?
-    errors:
-      failed: Криптографиялық байланыс сәтсіз аяқталды. %{provider} әрекетті қайталаңыз.
-      keybase:
-        invalid_token: Пернетақтаның таңбалауыштары қолтаңбалар болып табылады және олар 66 таңбадан тұруы керек
-        verification_failed: Keybase бұл белгіні Keybase пайдаланушысының %{kb_username} қолтаңбасы ретінде танымайды. Keybase-тен қайталап көріңіз.
-      wrong_user: "%{current} ретінде кірген кезде %{proving} үшін дәлелдер жасау мүмкін емес. %{proving} ретінде кіріп, әрекетті қайталаңыз."
-    explanation_html: Мұнда сіз өзіңіздің жеке басыңызды, мысалы, Keybase профилі сияқты криптографиялық түрде байланыстыра аласыз. Бұл сізге басқа адамдарға шифрланған хабарламаларды жіберуге және сіз жіберетін мазмұнға сенімді болуға мүмкіндік береді.
-    i_am_html: Мен %{username} атты қолданушымын - %{service}.
-    identity: Жеке бас куәлігі
-    inactive: Инактив
-    publicize_checkbox: 'Түрт мынаны:'
-    publicize_toot: 'Керемет! Мен енді %{username} болып тіркелдім %{service}: %{url}'
-    status: Тексеру күйі
-    view_proof: Пруф көрсету
   imports:
     modes:
       merge: Біріктіру
@@ -930,7 +884,6 @@ kk:
     edit_profile: Профиль өңдеу
     export: Экспорт уақыты
     featured_tags: Таңдаулы хэштегтер
-    identity_proofs: Жеке куәлік
     import: Импорт
     import_and_export: Импорт/экспорт
     migrate: Аккаунт көшіру
@@ -953,13 +906,11 @@ kk:
     disallowed_hashtags:
       one: 'рұқсат етілмеген хэштег: %{tags}'
       other: 'рұқсат етілмеген хэштегтер: %{tags}'
-    language_detection: Тілді өздігінен таңда
     open_in_web: Вебте ашу
     over_character_limit: "%{max} максимум таңбадан асып кетті"
     pin_errors:
       limit: Жабыстырылатын жазба саны максимумынан асты
       ownership: Біреудің жазбасы жабыстырылмайды
-      private: Жабық жазба жабыстырылмайды
       reblog: Бөлісілген жазба жабыстырылмайды
     poll:
       total_people:
@@ -1087,13 +1038,7 @@ kk:
       subject: Мұрағатыңыз түсіріп алуға дайын
       title: Мұрағатты алу
     warning:
-      explanation:
-        disable: Аккаунтыңыз қатып қалса, сіздің деректеріңіз өзгеріссіз қалады, бірақ ол құлыптан босатылғанша ешқандай әрекетті орындай алмайсыз.
-        silence: While your account is limited, only people who are already following you will see your toots on this server, and you may be excluded from various public listings. However, others may still manually follоw you.
-        suspend: Сіздің аккаунтыңыз уақытша тоқтатылды және сіздің барлық файлдарыңыз бен жүктеп салынған медиа файлдарыңыз осы серверлерден және оқырманы болған серверлерден қайтарылмайды.
-      get_in_touch: Сіз бұл электронды поштаға %{instance} қызметкерлерімен байланысу үшін жауап бере аласыз.
       review_server_policies: Сервер саясатын қарап шығыңыз
-      statuses: 'Арнайы:'
       subject:
         disable: Аккаунтыңыз %{acct} уақытша тоқтатылды
         none: "%{acct} ескертуі"
diff --git a/config/locales/kmr.yml b/config/locales/kmr.yml
index 5a275b4c9..22eaf7b95 100644
--- a/config/locales/kmr.yml
+++ b/config/locales/kmr.yml
@@ -21,7 +21,9 @@ kmr:
     federation_hint_html: Bi ajimêrê xwe %{instance} re tu dikarî kesên rajekar û li derveyî mastodonê bişopînî.
     get_apps: Sepaneke mobîl bicerbîne
     hosted_on: Mastodon li ser%{domain} tê hildanê
-    instance_actor_flash: Ev ajimêr aktorekî aşopî ye ji bo rajekar were temsîl kirin tê bikaranîn ne ajimêra kesî ye. Ji bo armanca federasyonê dixebite û divê ney asteng kirin heta ku te xwest hemû nimûneyan asteng bikî, di vir de ger tu blogek navper bikarbînî.
+    instance_actor_flash: 'Ev ajimêr aktorekî aşopî ye ji bo rajekar were temsîl kirin tê bikaranîn ne ajimêra kesî ye. Ji bo armanca federasyonê dixebite û divê ney asteng kirin heta ku te xwest hemû nimûneyan asteng bikî, di vir de ger tu blogek navper bikarbînî.
+
+      '
     learn_more: Bêtir fêr bibe
     privacy_policy: Polîtikaya nihêniyê
     rules: Rêbazên rajekar
@@ -97,7 +99,6 @@ kmr:
     accounts:
       add_email_domain_block: Navparê e-nameyê asteng bike
       approve: Bipejirîne
-      approve_all: Hemûyan bipejirîne
       approved_msg: Tomarkirina %{username} bi awayekî serkeftî hate pejirandin
       are_you_sure: Ma tu bawerî?
       avatar: Wêne
@@ -112,6 +113,7 @@ kmr:
       confirm: Bipejirîne
       confirmed: Hate pejirandin
       confirming: Tê pejirandin
+      custom: Kesanekirin
       delete: Daneyan jê bibe
       deleted: Hate jêbirin
       demote: Ast daxistin
@@ -151,7 +153,6 @@ kmr:
         active: Çalak
         all: Hemû
         pending: Tê nirxandin
-        silenced: Sînorkirî
         suspended: Sekinandî
         title: Çavdêrî
       moderation_notes: Nîşeyên Rêvebirinê
@@ -169,7 +170,6 @@ kmr:
       redownload: Profîl nûve bike
       redownloaded_msg: Bi serkeftî profîla %{username} ji kokê va hat nûve kirin
       reject: Nepejirîne
-      reject_all: Hemûyan red bike
       rejected_msg: Tomarkirina %{username} bi awayekî serkeftî nehate pejirandin
       remove_avatar: Avatarê rake
       remove_header: Sernavê rake
@@ -204,12 +204,14 @@ kmr:
       silence: Sînor
       silenced: Bêdeng kirî
       statuses: Şandî
+      strikes: Lêdanên berê
       subscribe: Bibe kiryar
       suspended: Hatiye rawestandin
       suspension_irreversible: Daneyên vê ajimêrê bêveger hatine jêbirin. Tu dikarî ajimêra xwe ji rawestandinê vegerinî da ku ew bi kar bînî lê ew ê tu daneya ku berê hebû venegere.
       suspension_reversible_hint_html: Ajimêr hat qerisandin, û daneyên di %{date} de hemû were rakirin. Hetta vê demê, ajimêr bê bandorên nebaş dikare dîsa vegere. Heke tu dixwazî hemû daneyan ajimêrê niha rakî, tu dikarî li jêrê bikî.
-      time_in_queue: Di dorê de sekinandin %{time}
       title: Ajimêr
+      unblock_email: Astengiyê li ser navnîşana e-nameyê rake
+      unblocked_email_msg: Bi serkeftî astengiya li ser navnîşana e-nameyê %{username} hate rakirin
       unconfirmed_email: E-nameya nepejirandî
       undo_sensitized: Hestiyariyê vegerîne
       undo_silenced: Sînorê vegerîne
@@ -224,6 +226,7 @@ kmr:
       whitelisted: Ji bona yekbûyînê maf tê dayîn
     action_logs:
       action_types:
+        approve_user: Bikarhêner bipejirîne
         assigned_to_self_report: Ragihandinê diyar bike
         change_email_user: E-nameya bikarhêner biguherîne
         confirm_user: Bikarhêner bipejirîne
@@ -241,6 +244,7 @@ kmr:
         destroy_domain_allow: Navperên mafdayî jê bibe
         destroy_domain_block: Navperên astengkirî jê bibe
         destroy_email_domain_block: Navperên e-nameyê yên astengkirî jê bibe
+        destroy_instance: Pakirina navperê
         destroy_ip_block: Tomara IPyê jêbibe
         destroy_status: Şandiyê jê bibe
         destroy_unavailable_domain: Navperên tuneyî jê bibe
@@ -253,6 +257,7 @@ kmr:
         enable_user: Bikarhêner çalak bike
         memorialize_account: Ajimêrê bike bîranînek
         promote_user: Bikarhêner pêş bixe
+        reject_user: Bikarhêner nepejirîne
         remove_avatar_user: Avatarê rake
         reopen_report: Ragihandina ji nû ve veke
         reset_password_user: Pêborînê ji nû ve saz bike
@@ -261,6 +266,7 @@ kmr:
         silence_account: Ajimêrê bi sînor bike
         suspend_account: Ajimêr rawestîne
         unassigned_report: Ragihandinê diyar neke
+        unblock_email_account: Astengiyê li ser navnîşana e-nameyê rake
         unsensitive_account: Medyayên di ajimêrê te de wek hestyarî nepejirîne
         unsilence_account: Ajimêra sînorkirî vegerîne
         unsuspend_account: Ajimêrê xwe ji rewestandinê rake
@@ -269,6 +275,7 @@ kmr:
         update_domain_block: Navperên astengkirî rojane bike
         update_status: Şandiyê rojane bike
       actions:
+        approve_user_html: "%{name} tomarkirina ji %{target} pejirand"
         assigned_to_self_report_html: "%{name} ji xwe re ragihandinek %{target} hilda"
         change_email_user_html: "%{name} navnîşana e-nameya bikarhêner %{target} guherand"
         confirm_user_html: "%{name} navnîşana e-nameya bikarhêner %{target} piştrast kir"
@@ -276,43 +283,46 @@ kmr:
         create_announcement_html: "%{name} agahdarkirineke nû çêkir %{target}"
         create_custom_emoji_html: "%{name} emojîyeke nû ya %{target} bar kir"
         create_domain_allow_html: "%{name} bi navperê %{target} re maf da federeyê"
-        create_domain_block_html: "%{name} ji navperê %{target} asteng kir"
-        create_email_domain_block_html: "%{name} e-name ya navperê %{target} asteng kir"
+        create_domain_block_html: "%{name} navpera %{target} asteng kir"
+        create_email_domain_block_html: "%{name} e-nameya navperê %{target} asteng kir"
         create_ip_block_html: "%{name} ji bo IPya %{target} rêzikname saz kir"
         create_unavailable_domain_html: "%{name} bi navperê %{target} re gihandinê rawestand"
         demote_user_html: "%{name} bikarhênerê %{target} kaşê jêr kir"
         destroy_announcement_html: "%{name} daxûyaniyeke %{target} jê bir"
         destroy_custom_emoji_html: "%{name} emojiya %{target} tune kir"
         destroy_domain_allow_html: "%{name} bi navperê %{target} re maf neda federeyê"
-        destroy_domain_block_html: "%{name} navpera astengkirî %{target}"
-        destroy_email_domain_block_html: "%{name} e-name yê navpera %{target} asteng kirinê rakir"
+        destroy_domain_block_html: "%{name} navpera %{target} asteng kir"
+        destroy_email_domain_block_html: "%{name} astengiya li ser navpera e-nameyê %{target} rakir"
+        destroy_instance_html: "%{name} navpera %{target} asteng kir"
         destroy_ip_block_html: "%{name}, ji bo IPya %{target} rêziknameyê jêbir"
         destroy_status_html: "%{name} ji alîyê %{target} ve şandiyê rakir"
         destroy_unavailable_domain_html: "%{name} bi navperê %{target} re gihandinê berdewam kir"
         disable_2fa_user_html: "%{name} ji bo bikarhênerê %{target} du faktorî neçalak kir"
         disable_custom_emoji_html: "%{name} emojiya %{target} neçalak kir"
-        disable_sign_in_token_auth_user_html: "%{name} ji bo %{target} biştraskirina e-name ya token ne çalak kir"
-        disable_user_html: "%{name}, ji bo bikarhênerê %{target} têketinê neçalak kir"
+        disable_sign_in_token_auth_user_html: "%{name} ji bo %{target} nîşana mafdayîna e-nameya ne çalak kir"
+        disable_user_html: "%{name} ji bo bikarhêner %{target} têketin neçalak kir"
         enable_custom_emoji_html: "%{name} emojiya %{target} çalak kir"
-        enable_sign_in_token_auth_user_html: "%{name} ji bo %{target} biştraskirina e-name ya token çalak kir"
-        enable_user_html: "%{name}, ji bo bikarhênerê %{target} têketinê çalak kir"
+        enable_sign_in_token_auth_user_html: "%{name} ji bo %{target} nîşana mafdayîna e-nameyê çalak kir"
+        enable_user_html: "%{name} ji bo bikarhêner %{target} têketin çalak kir"
         memorialize_account_html: "%{name} ajimêra %{target} veguherand rûpeleke bîranînê"
-        promote_user_html: "%{name}, bikarhêner %{target} bilind kir"
+        promote_user_html: "%{name} bikarhêner %{target} bilind kir"
+        reject_user_html: "%{name} tomarkirina ji %{target} nepejirand"
         remove_avatar_user_html: "%{name} avatara bikarhêner %{target} rakir"
-        reopen_report_html: "%{name} gilîyê %{target} ji nû ve vekir"
-        reset_password_user_html: "%{name} şifre ya bikarhênerê %{target} ji nû ve saz kir"
-        resolve_report_html: "%{name} gilîya %{target} çareser kir"
-        sensitive_account_html: "%{name} medyayê %{target} ê wek hestiyarî nîşan kir"
-        silence_account_html: "%{name} ajimêrê %{target} ê sînor kir"
-        suspend_account_html: "%{name} ajimêrê %{target} ê hilda rawestandinê"
-        unassigned_report_html: "%{name} gilîkirina %{target} rakir"
-        unsensitive_account_html: "%{name} medyayê %{target} ê nîşandana hestiyarî rakir"
-        unsilence_account_html: "%{name} bêdengiya ajimêrê %{target} ê rakir"
-        unsuspend_account_html: "%{name} ajimêrê %{target} ê de rawestandinê rakir"
-        update_announcement_html: "%{name} agahdarî ya%{target} rojane kir"
-        update_custom_emoji_html: "%{name} emojiyê %{target} rojane kir"
-        update_domain_block_html: "%{name} ji bo navperê %{target} asteng kirinê rojane kir"
-        update_status_html: "%{name} şandiya bikarhêner %{target} rojanekir"
+        reopen_report_html: "%{name} ragihandina %{target} ji nû ve vekir"
+        reset_password_user_html: "%{name} pêborîna bikarhênerê %{target} ji nû ve saz kir"
+        resolve_report_html: "%{name} ragihandina %{target} çareser kir"
+        sensitive_account_html: "%{name} medyayê %{target} wekî hestiyarî nîşan kir"
+        silence_account_html: "%{name} ajimêra %{target} bi sînor kir"
+        suspend_account_html: "%{name} ajimêra %{target} hilda rawestandinê"
+        unassigned_report_html: "%{name} ragihandina %{target} rakir"
+        unblock_email_account_html: "%{name} navnîşana e-nameyê %{target} asteng kir"
+        unsensitive_account_html: "%{name} medyayê %{target} nîşandana wek hestiyarî rakir"
+        unsilence_account_html: "%{name} bêdengiya ajimêrê %{target} rakir"
+        unsuspend_account_html: "%{name} rawestandina ajimêrê %{target} rakir"
+        update_announcement_html: "%{name} daxûyaniya %{target} rojane kir"
+        update_custom_emoji_html: "%{name} emojiya %{target} rojane kir"
+        update_domain_block_html: "%{name} ji bo navpera %{target} astengkirin rojane kir"
+        update_status_html: "%{name} şandiya bikarhêner %{target} rojane kir"
       deleted_status: "(şandiyeke jêbirî)"
       empty: Tomarkirin nehate dîtin.
       filter_by_action: Li gorî çalakiyê biparzinîne
@@ -465,6 +475,7 @@ kmr:
       back_to_limited: Sînorkirî
       back_to_warning: Hişyarî
       by_domain: Navper
+      confirm_purge: Ma tu dixwazî ku bi awayekî domdar daneyan ji vê navparê jê bibî?
       delivery:
         all: Hemû
         clear: Çewtiyên gihandinê paqij bike
@@ -480,6 +491,7 @@ kmr:
       delivery_available: Gihandin berdest e
       delivery_error_days: Rojên çewtiyên gehandinê
       delivery_error_hint: Ger gehandin %{count} rojan ne pêkan be ewê wek bixweber wê nayê gehandin were nîşandan.
+      destroyed_msg: Daneyên %{domain} niha ji bo jêbirina nêzîk di rêzê de ne.
       empty: Tu navper nehatine dîtin.
       known_accounts:
         one: "%{count} ajimêra naskirî"
@@ -490,6 +502,7 @@ kmr:
         title: Çavdêrî
       private_comment: Şîroveya taybet
       public_comment: Şîroveya ji hemû kesî re vekirî
+      purge: Pak bike
       title: Giştî
       total_blocked_by_us: Ji aliyê me ve hatiye astengkirin
       total_followed_by_them: Ji aliyê wan ve hatiye şopandin
@@ -519,8 +532,6 @@ kmr:
         title: Rêzika nû a IPyê çêbike
       no_ip_block_selected: Ji ber ku tu ajimêr nehat hilbijartin tu rêzika IPyê nehate guhertin
       title: Rêbazên IP
-    pending_accounts:
-      title: Ajimêrên di dorê de ne (%{count})
     relationships:
       title: Têkiliyên %{acct}
     relays:
@@ -542,32 +553,44 @@ kmr:
     report_notes:
       created_msg: Nîşeyê ragihandinê bi awayekî serkeftî pêk hat!
       destroyed_msg: Nîşeyê ragihandinê bi awayekî serkeftî hate jêbirin!
+      today_at: Îro di %{time} de
     reports:
       account:
         notes:
           one: "%{count} nîşe"
           other: "%{count} nîşe"
-        reports:
-          one: "%{count} gilî"
-          other: "%{count} gilî"
+      action_log: Tomarê çavdêriyê
       action_taken_by: Çalakî hate kirin ji aliyê
+      actions:
+        other_description_html: Bêtir vebijêrkên ji bo kontrolkirina tevgera ajimêrê bibîne û pêwendiyê li ser ajimêra ragihandî kesane bike.
+        silence_description_html: Wê profîl tenê ji kesên ku berê te dişopînin an ji bi destan lê serî lê didin re xuya bibe, gihandina wê bi tundî sînordar dike. Her gav dikare were vegerandin.
+        suspend_description_html: Heya ku di dawiyê de neyê jêbirin, wê profîl û hemû naverokên wê ne gihiştbar bin. Têkiliya bi ajimêrê re wê ne guncav be. Di nav 30 rojan de veger ji jêbirinê pêkan e.
+      actions_description_html: 'Ku rakirina naveroka sûcdar a li jor ne bes e:'
+      add_to_report: Bo ragihandinê bêtir tevlî bike
       are_you_sure: Gelo tu bawerî?
       assign_to_self: Bo min diyar bike
       assigned: Çavdêrê diyarkirî
       by_target_domain: Navperê ya ajimêrê ragihandî
+      category: Beş
+      category_description_html: Sedema ku ev ajimêr û/an jî naverok hate ragihandin wê di pêwendiya bi ajimêrê ragihandinê de werê diyarkirin
       comment:
         none: Ne yek
+      comment_description_html: 'Bo bêtir zanyarî bidî, %{name} nivîsand:'
       created_at: Hate ragihandin
+      delete_and_resolve: Jê bibe û ji nû ve çareser bike
       forwarded: Beralîkirî
       forwarded_to: Beralîkirî bo %{domain}
       mark_as_resolved: Wekî çareserkirî nîşan bide
       mark_as_unresolved: Wekî neçareserkirî nîşan bide
+      no_one_assigned: Ne yek
       notes:
         create: Nîşe tevlî bike
         create_and_resolve: Bi nîşe re çareser bike
         create_and_unresolve: Bi nîşe re dîsa veke
         delete: Jê bibe
         placeholder: Bide nasîn ka çi çalakî hatine kirin, an jî heman rojanekirinên din ên têkildar...
+        title: Nîşe
+      notes_description_html: Nîşeyan ji çavdêrên din û ji xwe re di pêşerojê de bibîne û bihêle
       reopen: Ragihandina ji nû ve veke
       report: "@%{id} Ragihîne"
       reported_account: Ajimêra ragihandî
@@ -575,11 +598,14 @@ kmr:
       resolved: Çareserkirî
       resolved_msg: Ragihandin bi awayekî serkeftî hate çareserkirin!
       status: Rewş
+      statuses: Naveroka ragihandî
+      statuses_description_html: Naveroka sûcdar wê di danûstendina bi xwediyê ajimêra ragihandî re wê werê diyarkirin
       target_origin: Jêdera ajimêrê ragihandî
       title: Ragihandinên
       unassign: Diyar neke
       unresolved: Neçareserkirî
       updated_at: Rojanekirî
+      view_profile: Profîlê nîşan bide
     rules:
       add_new: Rêbazekê tevlî bike
       delete: Jê bibe
@@ -681,15 +707,13 @@ kmr:
       destroyed_msg: Barkirina malperê bi serkeftî hate jêbirin!
     statuses:
       back_to_account: Vegere bo rûpela ajimêr
+      back_to_report: Vegere rûpela ragihandinê
       batch:
-        delete: Jê bibe
-        nsfw_off: Wekî ne hestiyar nîşan bide
-        nsfw_on: Wekî hestiyar nîşan bide
+        remove_from_report: Ji ragihandinê rake
+        report: Ragihîne
       deleted: Hate jêbirin
-      failed_to_execute: Bi ser neket
       media:
         title: Medya
-      no_media: Medya nîne
       no_status_selected: Tu şandî nehat hilbijartin ji ber vê tu şandî jî nehat guhertin
       title: Şandiyên ajimêr
       with_media: Bi medya yê re
@@ -702,21 +726,51 @@ kmr:
       sidekiq_process_check:
         message_html: Pêvajoyên Sidekiq ên heyî ji bo %{value} di rêz (an) de tune ne. Ji kerema xwe sazkariyên Sidekiq a xwe binirxîne
     tags:
-      accounts_today: Bikaranînên bêhempa yên îro
-      accounts_week: Bikaranînên bêhempa yên vê heftê
-      breakdown: Dabeşkirina bikaranîn yên îro li gorî çavkaniyan ve
-      last_active: Çalakiyên dawî
-      most_popular: Herî navdar
-      most_recent: Çalakiyên herî nû
-      name: Hashtag
       review: Binêre rewşê
-      reviewed: Hate vekolandin
-      title: Hashtag
-      trending_right_now: Niha di rojevê de
-      unique_uses_today: "%{count} şandiyên îro"
-      unreviewed: Nehatiye nirxandin
       updated_msg: Sazkariyên hashtag bi awayekî serkeftî hate rojanekirin
     title: Rêvebirî
+    trends:
+      allow: Bihêle
+      approved: Pejirandî
+      disallow: Nehêle
+      links:
+        allow: Mafê bide girêdanê
+        allow_provider: Mafê bide weşanger
+        disallow: Mafê nede girêdanê
+        disallow_provider: Mafê nede weşanger
+        shared_by_over_week:
+          one: Di nava hefteya dawî de ji aliyê keskekî ve hate parvekirin
+          other: Di nava hefteya dawî de ji aliyê %{count} ve hate parvekirin
+        title: Girêdanên di rojevê de
+        usage_comparison: Îro %{today} car hate parvekirin, li gorî %{yesterday} duh
+      pending_review: Li benda nirxandinê ye
+      preview_card_providers:
+        allowed: Girêdanên ji vê weşangerê dikarin bibin rojev
+        rejected: Girêdanên ji vê weşangerê nikarin bibin rojev
+        title: Weşanger
+      rejected: Nepejirand
+      tags:
+        current_score: Encama niha %{score}
+        dashboard:
+          tag_accounts_measure: bikaranînên bêhempa
+          tag_languages_dimension: Zimanên pir tên bikaranîn
+          tag_servers_dimension: Rajekarên pir tên bikaranîn
+          tag_servers_measure: rajekarên cuda
+          tag_uses_measure: bikaranîna giştî
+        listable: Dikare were pêşniyarkirin
+        not_listable: Nikare wer pêşniyarkirin
+        not_trendable: Wê di bin rojevan de xuya neke
+        not_usable: Nikare were bikaranîn
+        peaked_on_and_decaying: Di %{date} de derketiye asta herî bilind, û niha winda dibe
+        title: Hashtagên rojevê
+        trendable: Dikare di bin rojevan de xuya bibe
+        trending_rank: 'Rojev #%{rank}'
+        usable: Dikare were bikaranîn
+        usage_comparison: "%{today} car îro hate bikaranîn, li gorî %{yesterday} duh"
+        used_by_over_week:
+          one: Di nava hefteya dawî de ji aliyê kesekî ve hatiye bikaranîn
+          other: Di nava hefteya dawî de ji %{count} kes ve hatiye bikaranîn
+      title: Rojev
     warning_presets:
       add_new: Yeka nû tevlî bike
       delete: Jê bibe
@@ -731,9 +785,16 @@ kmr:
       body: "%{reporter} ji %{target} ê ragihand"
       body_remote: Kesekî bi navê %{domain} ji %{target} ê ragihand
       subject: Ragihandinek nû ji bo %{instance} (#%{id})
-    new_trending_tag:
-      body: 'Hashtaga #%{name} îro rojev e, lê berê nehatibû nirxandin. Heya ku tu mafê nedît, ew ê bi gelemperî neyê xuyang kirin, an jî tenê formê tomar bike ku ew e ku tu careke din li ser wê tiştekî nebîne.'
-      subject: "(#%{name}) Hashtagek nû ji bo vekolandina li ser%{instance}"
+    new_trending_links:
+      body: Girêdanên li jêr îro rojev in, lê weşangerên wan berê nehatine nirxandin. Heya ku tu wan nepejirînî ew dê bi awayekî giştî neyên nîşandan. Ji heman weşangeran agahdarîyên bêtir nayên çêkirin.
+      no_approved_links: Niha tu girêdanên rojeva pejirandî tune ne.
+      requirements: Girêdanên rojevê ya herî kêm pejirandî niha "%{lowest_link_title}" e bi rêjeyek %{lowest_link_score}.
+      subject: Girêdanên rojevê yên nû ji bo nirxandinê li ser %{instance} derdikevin
+    new_trending_tags:
+      body: 'Hashtagên li jêr îro trojev in, lê ew berê nehatine nirxandin. Heya ku tu wan nepejirînî, ew dê bi awayekî gelemperî neyên nîşandan:'
+      no_approved_tags: Niha hashtagên rojevê pejirandî tune ne.
+      requirements: 'Hashtagên rojevê ya herî kêm pejirandî niha #%{lowest_tag_name} e bi rêjeyek %{lowest_tag_score}.'
+      subject: Hashtagên rojevê yên nû ji bo nirxandinê li ser %{instance} derdikevin
   aliases:
     add_new: Naveke sexte çê bike
     created_msg: Bi serkeftî nûçikê nû hat çêkirin. Tu niha dikarî di ajimêrê xwe kevn bar bikî.
@@ -785,6 +846,7 @@ kmr:
     invalid_reset_password_token: Ji nû ve sazkirina pêborînê nederbasdar e an jî qediya ye. Jkx daxwaza yeka nû bike.
     link_to_otp: Ji têlefona xwe an jî ji kodeke rizgarkirinê kodeke du-gavî binivîsine
     link_to_webauth: Amûra kilîta ewlehiya xwe bi kar bîne
+    log_in_with: Têkeve bi riya
     login: Têkeve
     logout: Derkeve
     migrate_account: Derbasî ajimêreke din bibe
@@ -894,7 +956,7 @@ kmr:
     not_found_multiple: "%{usernames} nehat dîtin"
   exports:
     archive_takeout:
-      date: Dem
+      date: Dîrok
       download: Arşîva xwe daxîne
       hint_html: Tu dikarî arşîvek ji <strong> weşanên xwe û medyayên barkirî </strong> re bixwaze. Daneyên derxistî dê di forma ActivityPub de bin, ku ji hêla nermalava ku vê formê ve têne xwendin. Tu dikarî her 7 rojan arşîvekê bixwaze.
       in_progress: Arşîve te tê berhev kirin...
@@ -940,34 +1002,15 @@ kmr:
     changes_saved_msg: Guhertin bi serkeftî tomar bû!
     copy: Jê bigire
     delete: Jê bibe
-    no_batch_actions_available: Di vê rûpelê da tu çalakîyên tevahî tune ne
+    none: Ne yek
     order_by: Rêz bike bi
     save_changes: Guhertinan tomar bike
+    today: îro
     validation_errors:
       one: Tiştek hîn ne rast e! Ji kerema xwe çewtiya li jêr di ber çavan re derbas bike
       other: Tiştek hîn ne rast e! Ji kerema xwe %{count} çewtî li jêr di ber çavan re derbas bike
   html_validator:
     invalid_markup: 'di nav de nîşana HTML a nederbasdar heye: %{error}'
-  identity_proofs:
-    active: Çalak
-    authorize: Erê, bide rastandin
-    authorize_connection_prompt: Tu dixwazî ev girêdana şîfrekirinê bidî rastandin?
-    errors:
-      failed: Girêdana şîfrekirinê têk çû. Ji kerema xwe dîsa biceribîne ji%{provider}.
-      keybase:
-        invalid_token: Nîşanên Keybase beşek ji îmzeyan in û divê 66 tîpên hex bin
-        verification_failed: Keybase vê wekî îmzeya bikarhênerê %{kb_username} nas nake. Ji kerema xwe ji Keybase dîsa biceribîne.
-      wrong_user: Dema ku wekî %{current} têketin dikî, ji bo %{proving} delîl nayê çêkirin. Wekî %{proving} têkeve û dîsa biceribîne.
-    explanation_html: Li vir tu dikarî nasnameyên xwe yên din ji platformên din, wek Keybase, bi şîfrekî ve girê bidî. Ev dihêle mirovên din ji te re peyamên şîfrekirî li ser wan platforman bişînin û dihêle ew pê bawer bin ku naveroka ku tu ji wan re dişînin ji te tê.
-    i_am_html: Ez %{username} li ser %{service}.
-    identity: Nasname
-    inactive: Neçalak e
-    publicize_checkbox: 'Û vê toot bike:'
-    publicize_toot: 'Hat eşkerekirin! Ez %{username} li ser %{service}: %{url}'
-    remove: Di ajimêrê de delîla rabike
-    removed: Delîl di ajimêrê de bi serkeftî hat rakirin
-    status: Piştrastkirina rewşê
-    view_proof: Delîlan nîşan bike
   imports:
     errors:
       over_rows_processing_limit: ji %{count} zêdetir rêzok hene
@@ -1179,10 +1222,13 @@ kmr:
       prompt: 'Tu dixwazî vê şandiyê bibijêrî:'
     reblog:
       proceed: Bo bilindkirinê bidomîne
-      prompt: 'Tu dixwazî vê şandî ye rabikî:'
+      prompt: 'Tu dixwazî vê şandî ye bilind bikî:'
     reply:
       proceed: Bersivandinê bidomîne
       prompt: 'Tu dixwazî bersiva vê şandiyê bidî:'
+  reports:
+    errors:
+      invalid_rules: rêbazên derbasdar nîşan nadê
   scheduled_statuses:
     over_daily_limit: Te sînorê %{limit} şandiyên demsazkirî yên ji bo îro derbas kir
     over_total_limit: Te sînorê %{limit} şandiyên demsazkirî derbas kir
@@ -1241,7 +1287,6 @@ kmr:
     edit_profile: Profîlê serrast bike
     export: Derxistinê daneyan
     featured_tags: Hashtagên bijarte
-    identity_proofs: Delîlên nasnameyê
     import: Têxistin
     import_and_export: Têxistin û derxistin
     migrate: Barkirina ajimêrê
@@ -1266,18 +1311,19 @@ kmr:
         other: "%{count} vîdyo"
     boosted_from_html: Bilindkirî ji alî %{acct_link} ve
     content_warning: 'Hişyariya naverokê: %{warning}'
+    default_language: Wekî zimanê navrûya bikarhêneriyê
     disallowed_hashtags:
       one: 'hashtagek bê maf tê de hebû: %{tags}'
       other: 'hashtagek bê maf tê de hebû: %{tags}'
+    edited_at: Di %{date} de hate serrastkirin
     errors:
       in_reply_not_found: Ew şandiya ku tu dikî nakî bersivê bide xuya nake an jî hatiye jêbirin.
-    language_detection: Bi xweberî ziman nas bike
     open_in_web: Di tevnê de veke
     over_character_limit: sînorê karakterê %{max} derbas kir
     pin_errors:
+      direct: Şandiyên ku tenê ji bikarhênerên qalkirî re têne xuyangkirin, nayê derzîkirin
       limit: Jixwe te mezintirîn hejmara şandîyên xwe derzî kir
       ownership: Şandiya kesekî din nay derzî kirin
-      private: Şandiyên negelemperî nayên daliqandin
       reblog: Ev şandî nayê derzî kirin
     poll:
       total_people:
@@ -1307,7 +1353,7 @@ kmr:
     exceptions: Awarte
     explanation: Ji ber ku jêbirina şandiyan pêvajoyeke biha ye, ev hêdî hêdî bi demê re tê kirin dema ku rajekar wekî din mijûl nebe. Ji ber vê sedemê, dibe ku şandiyên te demek şûnda ku bigihîjin sînorê temenê wê werin jêbirin.
     ignore_favs: Ecibandinan paşguh bike
-    ignore_reblogs: Rakirina piştguh bike
+    ignore_reblogs: Bilindkirinê piştguh bike
     interaction_exceptions: Awarteyên li ser bingehên têkiliyan
     interaction_exceptions_explanation: Bizanibe ku heke şandiyeke ku ji binî ve têkeve jêrî bijare an bilindkirin ê piştî ku carek din di ser wan re derbas bibe, garantiyek tune ku werin jêbirin.
     keep_direct: Peyamên rasterast veşêre
@@ -1333,7 +1379,7 @@ kmr:
     min_age_label: Şêmûga demê
     min_favs: Peyamên ku ji wê zêdetir hatine ecibandin veşêre
     min_favs_hint: Şandî ku ji evqas hezkirin wergirtibe nayê jêbirin. Vala bihêle da ku şandiyan jê bibî tevlî ku çiqas hezkirin wergirtibe
-    min_reblogs: Şandiyên ku zêdetir hatine rakirin veşêre
+    min_reblogs: Şandiyên ku bêtir hatine bilindkirin veşêre
     min_reblogs_hint: Şandî ku ji ji vê hejmarê bêtir bilindkirin wergirtibe nayê jêbirin. Vala bihêle da ku şandiyan jê bibî tevlî ku çiqas hezkirin wergirtibe
   stream_entries:
     pinned: Şandiya derzîkirî
@@ -1432,6 +1478,7 @@ kmr:
     formats:
       default: "%b %d, %Y, %H:%M"
       month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Tevlî bike
     disable: 2FA neçalak bike
@@ -1459,24 +1506,31 @@ kmr:
       subject: Ji kerema xwe re hewldanên têketinê piştrast bike
       title: Hewldanên têketinê
     warning:
+      categories:
+        spam: Nexwestî (Spam)
+        violation: Naverok rêbazên civakê yên jêrîn binpê dike
       explanation:
-        disable: Tu êdî nikarî têkevî ajimêra xwe an wê bi rengeke din bi kar bînî, lê profîla te û daneyên din saxlem dimînin.
-        sensitive: Pelên te yê medyayê a barkirî û girêdanên te yên medyayê wek hestiyarî wê bihê nirxandin.
-        silence: Gava ajimêra te sînorkirî be dîsa jî tu dikarî ajimêra xwe bi kar bînî lê tenê kesên ku berê te dişopînin dê şandiyên te li ser vê rajekarê bibînin, û dibe ku tu ji navnîşên cihêreng ên gelemperî bêne awaretkirin. Lêbelê, dibe ku yên din hîn te bişopînin bi destan.
-        suspend: Tu êdî nikarî têkevî ajimêra xwe, û profîla te û daneyên din êdî nayên gihîştin. Dîsa jî tu dikarî têkevî da ku hilanîna daneyên xwe daxwaz bikî heya ku dane bi tevahî werin rakirin, lê em ê hin daneyan biparêzin da ku tu ji rawestandinê rizgar bikin.
-      get_in_touch: Ji bo bi xebatkarên %{instance} têkilî deynî tu dikarî vê e-nameyê bibersivînî.
+        delete_statuses: Hate dîtin ku hinek nivîsên te yek an çend rêbazên civakê binpê dikin û dû re ji hêla çavdêran %{instance} ve hatine rakirin. Binpêkirinên di pêşerojê dibe ku li dijî ajimêra te bibe sedema kiryarên cezayê tundtir.
+        disable: Tu êdî nikarî ajimêra xwe bi kar bînî, lê profîla te û daneyên din bê ziyan dimînin. Tu dikarî ji daneyên xwe hilanînê bixwazî, sazkariyên ajimêrê biguherîmî an jî ajimêrê xwe jê bibî.
+        sensitive: Ji niha û pê ve, hemû pelên te yên medyayê yên hatine barkirin wê li piştî hişyariyek wekî hestyar û veşartî bêne nîşankirin.
+        silence: Tu hîn jî dikarî ajimêra xwe bi kar bînî lê tenê kesên ku jixwe te dişopînin wê şandiyên te li ser vê rajekarê bibînin, û dibe ku tu ji cûrbecûr taybetmendiyên vedîtinê werî bi dûrxistin. Lêbelê, yên din hîn jî dikarin bi destan te bişopînin.
+        suspend: Tu êdî nikarî têkevî ajimêra xwe, û profîla te û daneyên din êdî nayên gihîştin. Dîsa jî tu dikarî têkevî da ku hilanîna daneyên xwe daxwaz bikî heya ku dane bi tevahî werin rakirin di hundirê 30 roj de, lê em ê hin daneyan biparêzin da ku tu ji rawestandinê rizgar bikî.
+      get_in_touch: Ku tu bawer dikî ev çewtiyeke, tu dikarî bersiva vê e-nameyê bidî ku bi xebatkarên %{instance} re têkevî pêwendiyê.
+      reason: 'Sedem:'
       review_server_policies: Rêbazên rajeker lêkolîn bike
-      statuses: 'Bi taybetî, ji bo wê:'
+      statuses: 'Şandiyên ku di binpêkirinê de hatine dîtin:'
       subject:
+        delete_statuses: Şandiyên te yên li ser %{acct} hatin rakirin
         disable: Ajimêra te a %{acct} hat qerisandin
         none: Hişyarî bo %{acct}
-        sensitive: Ajimêra te %{acct} medyaya ku wek hestyar hatiye nîşandin weşandiye
+        sensitive: Pelên te yên medyayê yên li ser %{acct} wê ji niha û pê ve wekî hestyar bêne nîşankirin
         silence: Ajimêra te ya %{acct} hate bisînorkirin
         suspend: Ajimêra te %{acct} hate rawestandin
       title:
+        delete_statuses: Şandî hatin rakirin
         disable: Ajimêr hate qerisandin
         none: Hişyarî
-        sensitive: Medyayê te wekî hestyar hate nîşandan
+        sensitive: Medya veşartî ye
         silence: Ajimêr sînor kiriye
         suspend: Ajimêr hatiye rawestandin
     welcome:
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index c9d5238ee..4da68f0b4 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -95,7 +95,6 @@ ko:
     accounts:
       add_email_domain_block: 이 이메일 도메인을 차단하기
       approve: 승인
-      approve_all: 모두 승인
       approved_msg: 성공적으로 %{username}의 가입 신청서를 승인했습니다
       are_you_sure: 정말로 실행하시겠습니까?
       avatar: 아바타
@@ -110,6 +109,7 @@ ko:
       confirm: 확인
       confirmed: 확인됨
       confirming: 확인 중
+      custom: 사용자 지정
       delete: 데이터 삭제
       deleted: 삭제됨
       demote: 강등
@@ -127,8 +127,8 @@ ko:
       enable_sign_in_token_auth: 이메일 토큰 인증 활성화
       enabled: 활성
       enabled_msg: "%{username}의 계정을 성공적으로 얼리기 해제하였습니다"
-      followers: 팔로워 수
-      follows: 팔로잉 수
+      followers: 팔로워
+      follows: 팔로잉
       header: 헤더
       inbox_url: 수신함 URL
       invite_request_text: 가입 하려는 이유
@@ -149,7 +149,6 @@ ko:
         active: 활동
         all: 전체
         pending: 대기중
-        silenced: 침묵 중
         suspended: 정지 중
         title: 중재
       moderation_notes: 중재 기록
@@ -167,7 +166,6 @@ ko:
       redownload: 프로필 업데이트
       redownloaded_msg: 성공적으로 %{username}의 프로필을 원본으로부터 업데이트 하였습니다
       reject: 거부
-      reject_all: 모두 거부
       rejected_msg: 성공적으로 %{username}의 가입 신청서를 반려하였습니다
       remove_avatar: 아바타 지우기
       remove_header: 헤더 삭제
@@ -202,12 +200,14 @@ ko:
       silence: 침묵
       silenced: 침묵 됨
       statuses: 게시물
+      strikes: 이전의 처벌들
       subscribe: 구독하기
       suspended: 정지 됨
       suspension_irreversible: 이 계정의 데이터는 복구할 수 없도록 삭제되었습니다. 계정을 정지 해제함으로서 계정을 다시 사용 가능하게 할 수 있지만 이전에 삭제한 어떤 데이터도 복구되지 않습니다.
       suspension_reversible_hint_html: 계정이 정지되었습니다, 그리고 %{date}에 데이터가 완전히 삭제될 것입니다. 그 때까지는 어떤 안 좋은 효과 없이 계정이 복구 될 수 있습니다. 만약 지금 당장 계정의 모든 데이터를 삭제하고 싶다면, 아래에서 행할 수 있습니다.
-      time_in_queue: "%{time}동안 기다림"
       title: 계정
+      unblock_email: 이메일 주소 차단 해제
+      unblocked_email_msg: "%{username}의 이메일 주소를 성공적으로 차단 해제했습니다"
       unconfirmed_email: 미확인 된 이메일 주소
       undo_sensitized: 민감함으로 설정 취소
       undo_silenced: 침묵 해제
@@ -222,6 +222,7 @@ ko:
       whitelisted: 허용 목록
     action_logs:
       action_types:
+        approve_user: 사용자 승인
         assigned_to_self_report: 신고 맡기
         change_email_user: 사용자의 이메일 변경
         confirm_user: 사용자 확인
@@ -239,6 +240,7 @@ ko:
         destroy_domain_allow: 도메인 허용 삭제
         destroy_domain_block: 도메인 차단 삭제
         destroy_email_domain_block: 이메일 도메인 차단 삭제
+        destroy_instance: 도메인 제거
         destroy_ip_block: IP 규칙 삭제
         destroy_status: 게시물 삭제
         destroy_unavailable_domain: 사용 불가능한 도메인 제거
@@ -251,6 +253,7 @@ ko:
         enable_user: 사용자 활성화
         memorialize_account: 추모계정으로 전환
         promote_user: 사용자 승급
+        reject_user: 사용자 거부
         remove_avatar_user: 아바타 지우기
         reopen_report: 신고 다시 열기
         reset_password_user: 암호 재설정
@@ -259,6 +262,7 @@ ko:
         silence_account: 계정 침묵
         suspend_account: 계정 정지
         unassigned_report: 신고 맡기 취소
+        unblock_email_account: 이메일 주소 차단 해제
         unsensitive_account: 당신의 계정의 미디어를 민감함으로 표시하지 않음
         unsilence_account: 계정 침묵 취소
         unsuspend_account: 계정 정지 취소
@@ -267,6 +271,7 @@ ko:
         update_domain_block: 도메인 차단 갱신
         update_status: 게시물 게시
       actions:
+        approve_user_html: "%{name} 님이 %{target}의 가입을 승인했습니다"
         assigned_to_self_report_html: "%{name} 님이 신고 %{target}을 자신에게 할당했습니다"
         change_email_user_html: "%{name} 님이 사용자 %{target}의 이메일 주소를 변경했습니다"
         confirm_user_html: "%{name} 님이 사용자 %{target}의 이메일 주소를 승인했습니다"
@@ -284,6 +289,7 @@ ko:
         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}에 대한 전달을 재개"
@@ -296,6 +302,7 @@ ko:
         enable_user_html: "%{name} 님이 사용자 %{target}의 로그인을 활성화 했습니다"
         memorialize_account_html: "%{name} 님이 %{target}의 계정을 추모비 페이지로 전환했습니다"
         promote_user_html: "%{name} 님이 사용자 %{target}를 승급시켰습니다"
+        reject_user_html: "%{name} 님이 %{target}의 가입을 거부했습니다"
         remove_avatar_user_html: "%{name} 님이 %{target}의 아바타를 지웠습니다"
         reopen_report_html: "%{name} 님이 신고 %{target}을 다시 열었습니다"
         reset_password_user_html: "%{name} 님이 사용자 %{target}의 암호를 초기화했습니다"
@@ -304,6 +311,7 @@ ko:
         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}의 계정에 대한 정지를 해제했습니다"
@@ -367,9 +375,25 @@ ko:
       updated_msg: 에모지가 성공적으로 업데이트 되었습니다!
       upload: 업로드
     dashboard:
+      active_users: 활성 사용자
+      interactions: 상호 작용
+      media_storage: 미디어 저장소
+      new_users: 새로운 사용자
+      opened_reports: 신고 열림
+      pending_reports_html:
+        other: "<strong>%{count}</strong> 개의 신고 대기중"
+      pending_tags_html:
+        other: "<strong>%{count}</strong> 개의 해시태그 대기중"
+      pending_users_html:
+        other: "<strong>%{count}</strong> 명의 사용자 대기중"
+      resolved_reports: 신고 해결됨
       software: 소프트웨어
+      sources: 가입 출처
       space: 디스크 사용량
       title: 대시보드
+      top_languages: 상위 활성 언어
+      top_servers: 상위 활성 서버
+      website: 웹사이트
     domain_allows:
       add_new: 도메인 허용
       created_msg: 도메인이 성공적으로 허용 목록에 추가되었습니다
@@ -443,6 +467,7 @@ ko:
       back_to_limited: 제한됨
       back_to_warning: 경고
       by_domain: 도메인
+      confirm_purge: 정말로 이 도메인의 데이터를 영구적으로 삭제하길 원하십니까?
       delivery:
         all: 전체
         clear: 전달 에러 초기화
@@ -457,6 +482,7 @@ ko:
       delivery_available: 전송 가능
       delivery_error_days: 전달 에러가 난 날짜들
       delivery_error_hint: 만약 %{count}일동안 전달이 불가능하다면, 자동으로 전달불가로 표시됩니다.
+      destroyed_msg: "%{domain}의 데이터는 곧바로 지워지도록 대기열에 들어갔습니다."
       empty: 도메인이 하나도 없습니다.
       known_accounts:
         other: 알려진 계정 %{count}개
@@ -466,6 +492,7 @@ ko:
         title: 중재
       private_comment: 비공개 주석
       public_comment: 공개 주석
+      purge: 제거
       title: 연합
       total_blocked_by_us: 우리에게 차단 됨
       total_followed_by_them: 우리를 팔로우
@@ -495,8 +522,6 @@ ko:
         title: 새 IP 규칙 만들기
       no_ip_block_selected: 아무 것도 선택 되지 않아 어떤 IP 규칙도 변경 되지 않았습니다
       title: IP 규칙들
-    pending_accounts:
-      title: 대기중인 계정 (%{count})
     relationships:
       title: "%{acct}의 관계"
     relays:
@@ -518,30 +543,43 @@ ko:
     report_notes:
       created_msg: 리포트 노트가 성공적으로 작성되었습니다!
       destroyed_msg: 리포트 노트가 성공적으로 삭제되었습니다!
+      today_at: 오늘 %{time}
     reports:
       account:
         notes:
           other: "%{count}개의 기록"
-        reports:
-          other: "%{count}개의 신고"
+      action_log: 감사 기록
       action_taken_by: 신고 처리자
+      actions:
+        other_description_html: 계정 동작을 제어하고 신고된 계정과의 의사소통을 사용자 지정하기 위한 추가 옵션을 봅니다.
+        silence_description_html: 이미 팔로우 하고 있는 사람이나 수동으로 찾아보는 사람에게만 프로필이 보여지고, 도달 범위를 엄격하게 제한합니다. 언제든지 되돌릴 수 있습니다.
+        suspend_description_html: 프로필과 모든 컨텐츠가 최종적으로 삭제될 때까지 접근 불가상태가 됩니다. 이 계정과의 상호작용은 불가능해집니다. 30일 이내에 되돌릴 수 있습니다.
+      actions_description_html: '만약 문제가 되는 위의 컨텐츠를 삭제하는 것을 불충분할 때에는:'
+      add_to_report: 신고에 더 추가하기
       are_you_sure: 정말로 실행하시겠습니까?
       assign_to_self: 나에게 할당하기
       assigned: 할당 된 중재자
       by_target_domain: 신고된 계정의 도메인
+      category: 카테고리
+      category_description_html: 이 계정 또는 게시물이 신고된 이유는 신고된 계정과의 의사소통 과정에 인용됩니다
       comment:
         none: 없음
+      comment_description_html: '더 많은 정보를 위해, %{name} 님이 작성했습니다:'
       created_at: 리포트 시각
+      delete_and_resolve: 삭제하고 처리됨으로 변경
       forwarded: 전달됨
       forwarded_to: "%{domain}에게 전달됨"
       mark_as_resolved: 해결 완료 처리
       mark_as_unresolved: 미해결로 표시
+      no_one_assigned: 아무도 없음
       notes:
         create: 기록 추가
         create_and_resolve: 기록을 작성하고 해결됨으로 표시
         create_and_unresolve: 기록 작성과 함께 미해결로 표시
         delete: 삭제
         placeholder: 이 리포트에 대한 조치, 기타 관련 된 사항에 대해 설명합니다…
+        title: 노트
+      notes_description_html: 확인하고 다른 중재자나 미래의 자신을 위해 기록을 작성합니다
       reopen: 리포트 다시 열기
       report: '신고 #%{id}'
       reported_account: 신고 대상 계정
@@ -549,11 +587,14 @@ ko:
       resolved: 해결됨
       resolved_msg: 리포트가 성공적으로 해결되었습니다!
       status: 상태
+      statuses: 신고된 컨텐츠
+      statuses_description_html: 문제가 되는 컨텐츠는 신고된 계정에게 인용되어 전달됩니다
       target_origin: 신고된 계정의 소속
       title: 신고
       unassign: 할당 해제
       unresolved: 미해결
       updated_at: 업데이트 시각
+      view_profile: 프로필 보기
     rules:
       add_new: 규칙 추가
       delete: 삭제
@@ -655,15 +696,13 @@ ko:
       destroyed_msg: 사이트 업로드를 성공적으로 삭제했습니다!
     statuses:
       back_to_account: 계정으로 돌아가기
+      back_to_report: 신고 페이지로 돌아가기
       batch:
-        delete: 삭제
-        nsfw_off: NSFW 끄기
-        nsfw_on: NSFW 켜기
+        remove_from_report: 신고에서 제거
+        report: 신고
       deleted: 삭제됨
-      failed_to_execute: 실행을 실패하였습니다
       media:
         title: 미디어
-      no_media: 미디어 없음
       no_status_selected: 아무 게시물도 선택 되지 않아 아무 것도 바뀌지 않았습니다
       title: 계정 게시물
       with_media: 미디어 있음
@@ -676,21 +715,49 @@ ko:
       sidekiq_process_check:
         message_html: "%{value} 큐에 대한 사이드킥 프로세스가 발견되지 않았습니다. 사이드킥 설정을 검토해주세요"
     tags:
-      accounts_today: 오늘의 순 사용자
-      accounts_week: 금주의 순 사용자
-      breakdown: 소스별 오늘의 사용량 분석
-      last_active: 최근에 사용됨
-      most_popular: 최고 인기
-      most_recent: 최근에 추가됨
-      name: 해시태그
       review: 심사 상태
-      reviewed: 심사 됨
-      title: 해시태그
-      trending_right_now: 지금 유행 중
-      unique_uses_today: 오늘 %{count}명이 포스팅
-      unreviewed: 심사 되지 않음
       updated_msg: 해시태그 설정이 성공적으로 갱신되었습니다
     title: 관리
+    trends:
+      allow: 허용
+      approved: 승인됨
+      disallow: 거부
+      links:
+        allow: 링크 허용하기
+        allow_provider: 출처 허용하기
+        disallow: 링크 거부하기
+        disallow_provider: 출처 거부하기
+        shared_by_over_week:
+          other: 한 주 동안 %{count}명의 사람이 공유했습니다
+        title: 지금 유행 중인 링크
+        usage_comparison: 오늘은 %{today}회 공유되었고, 어제는 %{yesterday}회 공유되었습니다
+      pending_review: 심사 대기
+      preview_card_providers:
+        allowed: 이 출처의 링크는 유행 목록에 실릴 수 있습니다
+        rejected: 이 출처의 링크는 유행 목록에 실릴 수 없습니다
+        title: 출처
+      rejected: 거부됨
+      tags:
+        current_score: 현재 %{score}점
+        dashboard:
+          tag_accounts_measure: 고유한 사용
+          tag_languages_dimension: 상위 언어
+          tag_servers_dimension: 상위 서버
+          tag_servers_measure: 다른 서버들
+          tag_uses_measure: 총 사용
+        listable: 추천될 수 있습니다
+        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:
+          other: 한 주 동안 %{count}명의 사람이 사용했습니다
+      title: 유행
     warning_presets:
       add_new: 새로 추가
       delete: 삭제
@@ -705,9 +772,16 @@ ko:
       body: "%{reporter} 가 %{target} 를 신고했습니다"
       body_remote: "%{domain}의 누군가가 %{target}을 신고했습니다"
       subject: "%{instance} 에 새 신고 등록됨 (#%{id})"
-    new_trending_tag:
-      body: '오늘 #%{name} 해시태그가 유행하고 있습니다, 하지만 심사 된 적이 없습니다. 허용하지 않는 한 공개적으로 나타나지 않습니다. 또는 그냥 저장을 눌러 더이상 나타나지 않게 할 수 있습니다.'
-      subject: 새 해시태그가 %{instance}에서 심사 대기 중입니다(#%{name})
+    new_trending_links:
+      body: 아래에 있는 링크들이 오늘 유행 중입니다, 하지만 이 링크들의 출처는 전에 심사를 받은 적이 없습니다. 이 링크들은 승인하기 전까지는 공개적으로 표시되지 않을 것입니다. 동일한 출처에 대한 알림은 더 생성되지 않습니다.
+      no_approved_links: 현재 승인된 유행 중인 링크가 없습니다.
+      requirements: 현재 승인된 유행하는 링크 중 가장 낮은 것은 %{lowest_link_score}점을 가진 "%{lowest_link_title}" 입니다
+      subject: 새 유행하는 링크가 %{instance}에서 심사 대기 중입니다
+    new_trending_tags:
+      body: '아래에 있는 해시태그들이 오늘 유행 중입니다, 하지만 전에 심사를 받은 적이 없습니다. 이 해시태그들은 승인하기 전까지는 공개적으로 표시되지 않을 것입니다:'
+      no_approved_tags: 현재 승인된 유행 중인 해시태그가 없습니다.
+      requirements: '현재 승인된 유행하는 해시태그 중 가장 낮은 것은 %{lowest_tag_score}점을 가진 #%{lowest_tag_name} 입니다'
+      subject: 새 유행하는 해시태그가 %{instance}에서 심사 대기 중입니다
   aliases:
     add_new: 별칭 만들기
     created_msg: 새 별칭이 성공적으로 만들어졌습니다. 이제 기존 계정에서 이주를 시작할 수 있습니다.
@@ -759,6 +833,7 @@ ko:
     invalid_reset_password_token: 암호 리셋 토큰이 올바르지 못하거나 기간이 만료되었습니다. 다시 요청해주세요.
     link_to_otp: 휴대폰의 2차 코드 혹은 복구 키를 입력해 주세요
     link_to_webauth: 보안 키 장치 사용
+    log_in_with: 다음으로 로그인
     login: 로그인
     logout: 로그아웃
     migrate_account: 계정 옮기기
@@ -809,7 +884,7 @@ ko:
       invalid_signature: 유효하지 않은 Ed25519 서명
   date:
     formats:
-      default: "%Y-%b-%d"
+      default: "%Y-%m-%d"
       with_month_name: "%Y년 %B %d일"
   datetime:
     distance_in_words:
@@ -914,33 +989,14 @@ ko:
     changes_saved_msg: 정상적으로 변경되었습니다!
     copy: 복사
     delete: 삭제
-    no_batch_actions_available: 이 페이지에서 수행할 수 있는 일괄작업이 없습니다
+    none: 없음
     order_by: 순서
     save_changes: 변경 사항을 저장
+    today: 오늘
     validation_errors:
       other: 오류가 발생했습니다. 아래 %{count}개 오류를 확인해 주십시오
   html_validator:
     invalid_markup: '올바르지 않은 HTML 마크업을 포함하고 있습니다: %{error}'
-  identity_proofs:
-    active: 활성
-    authorize: 네, 인증합니다
-    authorize_connection_prompt: 이 암호화 연결을 인증합니까?
-    errors:
-      failed: 암호화 연결에 실패했습니다. %{provider}에서 다시 시도해 주세요.
-      keybase:
-        invalid_token: 키베이스 토큰은 서명의 해시이며 66자의 16진수 문자여야 합니다
-        verification_failed: 키베이스가 이 토큰을 키베이스 유저 %{kb_username}의 서명으로 인식하지 못했습니다. 키베이스에서 다시 시도하세요.
-      wrong_user: "%{current}로 로그인 한 상태에서는 %{proving}에 대한 증명을 할 수 없습니다. %{proving}으로 로그인 한 후 다시 시도하세요."
-    explanation_html: 키베이스와 같은 다른 명의에 대한 암호화 연결을 할 수 있습니다. 이것으로 다른 사람들이 당신에게 암호화 된 메시지를 보낼 수 있고 당신의 메시지를 믿을 수 있습니다.
-    i_am_html: 나는 %{service}의 %{username} 입니다.
-    identity: 신원
-    inactive: 비활성
-    publicize_checkbox: '그리고 이것을 게시하세요:'
-    publicize_toot: '증명되었습니다! 저는 %{service}에 있는 %{username}입니다: %{url}'
-    remove: 계정증명 삭제
-    removed: 성공적으로 계정증명을 삭제했습니다
-    status: 인증 상태
-    view_proof: 증명 보기
   imports:
     errors:
       over_rows_processing_limit: "%{count}개 이상의 열을 포함합니다"
@@ -1040,7 +1096,7 @@ ko:
     digest:
       action: 모든 알림 보기
       body: 마지막 로그인(%{since}) 이후로 일어난 일들에 관한 요약
-      mention: "%{name} 님이 답장했습니다:"
+      mention: "%{name} 님이 나를 언급했습니다:"
       new_followers_summary:
         other: 게다가, 접속하지 않은 동안 %{count} 명의 팔로워가 생겼습니다!
       subject:
@@ -1061,8 +1117,8 @@ ko:
       title: 새 팔로우 요청
     mention:
       action: 답장
-      body: "%{name} 님이 답장을 보냈습니다:"
-      subject: "%{name} 님이 답장을 보냈습니다"
+      body: "%{name} 님이 나를 언급했습니다:"
+      subject: "%{name} 님이 나를 언급했습니다"
       title: 새 멘션
     poll:
       subject: "%{name}의 투표가 종료되었습니다"
@@ -1211,7 +1267,6 @@ ko:
     edit_profile: 프로필 편집
     export: 데이터 내보내기
     featured_tags: 추천 해시태그
-    identity_proofs: 신원 증명
     import: 데이터 가져오기
     import_and_export: 가져오기 / 내보내기
     migrate: 계정 이동
@@ -1235,15 +1290,15 @@ ko:
     content_warning: '열람 주의: %{warning}'
     disallowed_hashtags:
       other: '허용되지 않은 해시태그를 포함하고 있습니다: %{tags}'
+    edited_at: "%{date}에 편집됨"
     errors:
       in_reply_not_found: 답장하려는 게시물이 존재하지 않습니다.
-    language_detection: 자동으로 언어 감지
     open_in_web: Web으로 열기
     over_character_limit: 최대 %{max}자까지 입력할 수 있습니다
     pin_errors:
+      direct: 멘션된 사용자들에게만 보이는 게시물은 고정될 수 없습니다
       limit: 이미 너무 많은 게시물을 고정했습니다
       ownership: 다른 사람의 게시물은 고정될 수 없습니다
-      private: 비공개 게시물은 고정될 수 없습니다
       reblog: 부스트는 고정될 수 없습니다
     poll:
       total_people:
@@ -1396,6 +1451,7 @@ ko:
     formats:
       default: "%Y년 %m월 %d일 %H:%M"
       month: "%Y년 %b"
+      time: "%H:%M"
   two_factor_authentication:
     add: 추가
     disable: 비활성화
@@ -1423,24 +1479,31 @@ ko:
       subject: 로그인 시도를 확인해 주십시오
       title: 로그인 시도
     warning:
+      categories:
+        spam: 스팸
+        violation: 컨텐츠가 다음의 커뮤니티 규정을 위반합니다
       explanation:
-        disable: 당신의 계정이 동결 된 동안 당신의 계정은 유지 됩니다. 하지만 잠금이 풀릴 때까지 당신은 아무 것도 할 수 없습니다.
-        sensitive: 당신의 업로드 한 미디어 파일들과 링크된 미디어들은 민감함으로 취급됩니다.
-        silence: 당신의 계정이 제한 된 동안엔 당신의 팔로워 이외엔 게시물을 받아 볼 수 없고 공개 리스팅에서 제외 됩니다. 하지만 다른 사람들은 여전히 당신을 팔로우 가능합니다.
-        suspend: 당신의 계정은 정지 되었으며, 모든 게시물과 업로드 한 미디어가 서버에서 삭제 되어 되돌릴 수 없습니다.
-      get_in_touch: 이 메일에 대해 답장해서 %{instance}의 스태프와 연락 할 수 있습니다.
+        delete_statuses: 당신의 게시물 중 몇 개가 커뮤니티 규정을 위반하는 것으로 확인되었고 %{instance}의 중재자에 의해 삭제되었습니다. 이후의 규정 위반은 당신의 계정에 대해 더 강력한 제재가 이루어 질 수 있습니다.
+        disable: 당신은 더이상 당신의 계정을 사용할 수 없습니다, 하지만 프로필과 다른 데이터들은 여전히 그대로 남아있습니다. 당신의 데이터에 대한 백업을 요청하거나, 계정 설정을 변경 또는 계정을 삭제할 수 있습니다.
+        sensitive: 지금부터는, 당신이 업로드한 미디어 파일들은 민감함 표시가 뜨게 되고 클릭해야만 볼 수 있다는 경고문 뒤에 가려지게 됩니다.
+        silence: 당신은 여전히 당신의 계정을 사용할 수 있지만 당신을 팔로우 하고 있는 사람들만 당신의 게시물을 볼 수 있으며, 여러가지 탐색 기능에서 제외됩니다. 하지만, 여전히 다른 사람들은 수동으로 당신을 팔로우 할 수 있습니다.
+        suspend: 당신은 더이상 당신의 계정을 사용할 수 없으며, 프로필과 데이터는 접근 불가능하게 됩니다. 데이터가 완전히 삭제되기 전인 30일동안은 여전히 백업을 요청하기 위해 로그인 할 수 있습니다, 하지만 계정 정지를 회피하는 것을 방지하기 위하여 몇 가지 정보는 유지됩니다.
+      get_in_touch: 이것이 잘못된 조치라고 생각된다면, 이 메일에 답장하여 %{instance}의 스태프들에게 연락할 수 있습니다.
+      reason: '사유:'
       review_server_policies: 서버 정책 검토하기
-      statuses: '구체적으로:'
+      statuses: '위반사항이 발견된 게시물:'
       subject:
+        delete_statuses: 당신의 계정 %{acct}에서 작성한 게시물이 삭제되었습니다
         disable: 당신의 계정 %{acct}가 동결 되었습니다
         none: "%{acct}에게의 경고"
-        sensitive: 당신의 계정 %{acct}에서 포스팅 하는 미디어는 민감함으로 설정되었습니다
+        sensitive: 지금부터 당신의 계정 %{acct}의 미디어 파일들은 민감함으로 표시됩니다
         silence: 당신의 계정 %{acct}가 제한 되었습니다
         suspend: 당신의 계정 %{acct}가 정지 되었습니다
       title:
+        delete_statuses: 게시물 삭제됨
         disable: 계정 동결 됨
         none: 경고
-        sensitive: 당신의 미디어는 민감함으로 표시되었습니다
+        sensitive: 미디어 숨겨짐
         silence: 계정 제한 됨
         suspend: 계정 정지 됨
     welcome:
@@ -1483,7 +1546,7 @@ ko:
     destroy:
       error: 보안 키를 삭제하는데 문제가 발생했습니다. 다시 시도해보십시오.
       success: 보안 키가 성공적으로 삭제되었습니다.
-    invalid_credential: 잘못된 보안 키
+    invalid_credential: 올바르지 않은 보안 키
     nickname_hint: 새 보안 키의 별명을 입력해 주세요
     not_enabled: 아직 WebAuthn을 활성화 하지 않았습니다.
     not_supported: 이 브라우저는 보안 키를 지원하지 않습니다
diff --git a/config/locales/ku.yml b/config/locales/ku.yml
index d421b42a7..744ead215 100644
--- a/config/locales/ku.yml
+++ b/config/locales/ku.yml
@@ -95,7 +95,6 @@ ku:
     accounts:
       add_email_domain_block: بلۆککردنی هەموو دۆمەینەکە
       approve: پەسەند کردن
-      approve_all: پەسەندکردنی هەموو
       approved_msg: بەرنامەی تۆمارکردنی %{username} بۆ چوونەناوی پەسەند کرا
       are_you_sure: دڵنیای?
       avatar: وێنۆچکە
@@ -146,7 +145,6 @@ ku:
         active: چالاک
         all: هەموو
         pending: چاوەڕوان
-        silenced: بێدەنگ
         suspended: ڕاگرتن
         title: بەڕێوەبردن
       moderation_notes: بەڕێوەبردنی تێبینیەکان
@@ -164,7 +162,6 @@ ku:
       redownload: نوێکردنەوەی پرۆفایل
       redownloaded_msg: پرۆفایلی %{username} لە بنەڕەتەوە بە سەرکەوتوویی نوێکرایەوە
       reject: ڕەتکردنەوە
-      reject_all: هەموو ڕەت بکەوە
       rejected_msg: بەرنامەی تۆمارکردنی %{username} بە سەرکەوتوویی ڕەتکرایەوە
       remove_avatar: لابردنی وێنۆجکە
       remove_header: سەرپەڕ لابدە
@@ -199,7 +196,6 @@ ku:
       suspended: ڕاگرتن
       suspension_irreversible: داتای ئەم هەژمارەیە بە شێوەیەکی نائاسایی سڕاوەتەوە. دەتوانیت هەژمارەکەت ڕابخەیت بۆ ئەوەی بەکاربێت بەڵام هیچ داتایەک ناگەڕگەڕێتەوە کە پێشتر بوونی بوو.
       suspension_reversible_hint_html: هەژمارە ڕاگیرا ، و داتاکە بەتەواوی لە %{date} لادەبرێت. تا ئەو کاتە هەژمارەکە دەتوانرێت بە بێ هیچ کاریگەریەکی خراپ بژمێردرێتەوە. ئەگەر دەتەوێت هەموو داتاکانی هەژمارەکە بسڕەوە، دەتوانیت لە خوارەوە ئەمە بکەیت.
-      time_in_queue: چاوەڕوانی لە ڕیزدا %{time}
       title: هەژمارەکان
       unconfirmed_email: ئیمەیڵی پشتڕاستنەکراو
       undo_sensitized: " هەستیار نەکردن"
@@ -308,32 +304,9 @@ ku:
       updated_msg: ئیمۆجی بە سەرکەوتوویی نوێکرایەوە!
       upload: بارکردن
     dashboard:
-      authorized_fetch_mode: دۆخی پارێزراو
-      backlog: کاری پشتەواز
-      config: شێوەپێدان
-      feature_deletions: سڕینەوەی هەژمارە
-      feature_invites: بانگێشتکردنی بەستەرەکان
-      feature_profile_directory: ڕێنیشاندەرێکی پرۆفایل
-      feature_registrations: تۆمارکراوەکان
-      feature_relay: گواستنەوەی گشتی
-      feature_timeline_preview: پێش نیشاندانی نووسراوەکان
-      features: تایبەتمەندیەکان
-      hidden_service: پەیوەندی نێوان ڕاژە یان خزمەتگوزاری نێننی
-      open_reports: ڕاپۆرتەکان بکەوە
-      pending_tags: هاشتاگی چاوەڕوانی پێداچوونەوە دەکات
-      pending_users: بەکارهێنەران چاوەڕێی پێداچوونەوەن
-      recent_users: بەکارهێنەرانی ئەم دواییە
-      search: گەڕانی تەواوی-دەق
-      single_user_mode: دۆخی بەکارهێنەری تاک
       software: نەرمەکالا
       space: بەکارهێنانی بۆشایی
       title: داشبۆرد
-      total_users: ژمارەی بەکارهێنەران
-      trends: تاگە بەرچاوکراوەکان
-      week_interactions: چالاکیەکانی ئەم هەفتەیە
-      week_users_active: چالاکی ئەم هەفتەیە
-      week_users_new: بەکارهێنەرانی ئەم هەفتەیە
-      whitelist_mode: شێوەی پێرستی ڕێپێدراو
     domain_allows:
       add_new: ڕێپێدان بە دۆمەین
       created_msg: دۆمەین بە سەرکەوتوویی رێگەی پێدرا
@@ -432,8 +405,6 @@ ku:
         title: دروستکردنی یاسای نوێی IP
       no_ip_block_selected: هیچ ڕێسایەکی IP نەگۆڕدرا وەک ئەوەی هیچ کامیان دەستنیشان نەکران
       title: یاساکانی IP
-    pending_accounts:
-      title: هەژمارە هەڵواسراوەکان (%{count})
     relationships:
       title: پەیوەنیەکان %{acct}
     relays:
@@ -460,9 +431,6 @@ ku:
         notes:
           one: "%{count} یاداشت"
           other: "%{count} یاداشت"
-        reports:
-          one: "%{count} گوزارشت"
-          other: "%{count} گوزارشتەکان"
       action_taken_by: کردەوە لە لایەن
       are_you_sure: دڵنیای?
       assign_to_self: دیاریکردن بۆ من
@@ -581,32 +549,14 @@ ku:
       destroyed_msg: بارکردنی ماڵپەڕ بە سەرکەوتوویی سڕدراوەتەوە!
     statuses:
       back_to_account: گەڕانەوە بۆ لاپەڕەی هەژمارە
-      batch:
-        delete: سڕینەوە
-        nsfw_off: نیشانەکردن وەک هەستیار نیە
-        nsfw_on: نیشانەکردن وەک هەستیار
       deleted: سڕینەوە
-      failed_to_execute: جێبەجێ کردن سەرکەوتوو نەبوو
       media:
         title: میدیا
-      no_media: هیچ میدیایەک
       no_status_selected: هیچ دۆخیک نەگۆڕاوە وەک ئەوەی هیچ بارێک دەستنیشان نەکراوە
       title: دۆخی ئەژمێر
       with_media: بە میدیا
     tags:
-      accounts_today: بەکارهێنانی بێ هاوتای ئەمڕۆ
-      accounts_week: بەکارهێنەری یەکتا لەم هەفتەیە
-      breakdown: بەکارهێنانی ئەمڕۆ بە جوداکردنی سەرچاوە
-      last_active: دوا چالاکی
-      most_popular: بەناوبانگترین
-      most_recent: تازەترین
-      name: هەشتاگ
       review: پێداچوونەوەی دۆخ
-      reviewed: پێداچوونەوە
-      title: هەشتاگ
-      trending_right_now: بەرچاوکردن لە ئێستادا
-      unique_uses_today: T%{count} ئەمڕۆ بڵاوکراوە
-      unreviewed: پێداچوونەوە نەکراوە
       updated_msg: ڕێکخستنی هاشتاگ بە سەرکەوتوویی نوێکرایەوە
     title: بەڕێوەبەر
     warning_presets:
@@ -622,9 +572,6 @@ ku:
       body: بەکارهێنەری %{reporter} گوزارشی لە بەکارهینەری%{target} دا
       body_remote: کەسێک لە %{domain} گوزارشتی %{target} ناردووە
       subject: گوزارشتێکی نوی لە %{instance} (#%{id})
-    new_trending_tag:
-      body: 'هاشتاگی #%{name} ئەمڕۆ ئاراستە دەکرێت، بەڵام پێشتر پێداچوونەوەی بۆ نەکراوە. بە ئاشکرا پیشان نادرێت مەگەر تۆ ڕێگەی پێ بدەیت، یان تەنها فۆرمەکەت وەک خۆی پاشەکەوت بکەیت کە هەرگیز لێی نەبیستیت.'
-      subject: تاگێکی نوێ لە %{instance} نیازمەندی پێداچوونەوەیە (#%{name})
   aliases:
     add_new: دروستکردنی ناوی ساختە
     created_msg: نازناوێکی نوێیان سەرکەوتووانە دروستکرد. ئێستا دەتوانیت دەست بە گواستنەوە کەیت لە هەژمێرە کۆنەکەت.
@@ -815,7 +762,6 @@ ku:
     changes_saved_msg: گۆڕانکاریەکان بە سەرکەوتوویی هەڵگیرا!
     copy: ڕوونووس
     delete: سڕینەوە
-    no_batch_actions_available: هیچ گرووپێکی کاری بەردەست نیە لەسەر ئەم لاپەڕەیە
     order_by: ڕێکخستن بەپێی
     save_changes: گۆڕانکاریەکان بپارێزە
     validation_errors:
@@ -823,26 +769,6 @@ ku:
       other: هێشتا تەواو ڕاست نیە تکایە چاو بە هەڵەی %{count} خوارەوە بخشێنەوە
   html_validator:
     invalid_markup: 'نیشانەی HTML نادروستی تێدایە: %{error}'
-  identity_proofs:
-    active: چالاک
-    authorize: بەڵێ، ڕێگە بدە
-    authorize_connection_prompt: ئایا ئەم گرێدانە نهێنییە ڕیگە دەدەی?
-    errors:
-      failed: پەیوەندی کردنی نهێنیکردن سەرکەوتوو نەبوو. تکایە دووبارە لە %{provider} هەوڵ بدەوە.
-      keybase:
-        invalid_token: نیشانە کانی بنەکلیلی سەرەکی (هەش) واژووی دیجیتاڵن و لانی کەم ٦٦ نووسە لە توانی ١٦ هەیە
-        verification_failed: ئەم بنە کلیلیە(Keybase) بە ءینوانی واژووی دیجیتاڵی بەکارهێنەری %{kb_username} پەسەند ناکا، تکایا دووبارە لە بنە کلیلێکی دیکە هەوڵ بدەوە.
-      wrong_user: ناتوانرێت پشت ڕاستکردنەوەیەک بۆ %{proving} لە کاتێک بە عینوانی %{current} هاتنەتە ناوە. بە عینوانی %{proving} بچنە ناوەو دووبارە هەوڵ بدەنەوە.
-    explanation_html: لێرە دەتوانیت بە نهێنی ناسنامەکانی تر ت گرێ بدەی لە سەکۆکانی ترەوە، وەک کلیلی بنکە. ئەمە ڕێگە دەدات بە کەسانی تر نامەی رەمزێنراوەکانت بۆ بنێرن لەسەر ئەو پلاتفۆرمە ، رێگەیان پێدەدات متمانە بکەن کە ئەو ناوەڕۆکەی تۆ دەیاننێریت لە تۆوە دێت.
-    i_am_html: من %{username} ــم لەسەر %{service} ــنم.
-    identity: ناسنامە
-    inactive: ناچالاکە
-    publicize_checkbox: 'ئەمە توت بکە:'
-    publicize_toot: 'پەسەند کرا! من %{username} لەسەر %{service} هەم: %{url}'
-    remove: لابردنی بەڵگە لە هەژمارەی
-    removed: بە سەرکەوتوویی بەڵگەنامەی سەلماندن لابرا لە هەژمارەی بەکارهینەر
-    status: دۆخی سەلماندن
-    view_proof: پیشاندانی سەلماندن
   imports:
     modes:
       merge: یەکخستن
@@ -1083,7 +1009,6 @@ ku:
     edit_profile: دەستکاری پرۆفایل
     export: ناردن زانیاری
     featured_tags: هاشتاگی تایبەت
-    identity_proofs: سەلماندنی ناسنامە
     import: هاوردن
     import_and_export: هاوردەکردن و ناردن
     migrate: گواستنەوەی هەژمارە
@@ -1112,13 +1037,11 @@ ku:
       other: 'هاشتاگەکانی ڕێگەپێنەدراوەی تێدابوو: %{tags}'
     errors:
       in_reply_not_found: ئەو دۆخەی کە تۆ هەوڵی وەڵامدانەوەی دەدەیت وادەرناکەوێت کە هەبێت.
-    language_detection: بە شێوەیەکی خۆکارانە زمان بدۆزیەوە
     open_in_web: کردنەوە لە وێب
     over_character_limit: سنووری نووسەی %{max} تێپەڕێنرا
     pin_errors:
       limit: تۆ پێشتر زۆرترین ژمارەی توتتی چەسپیوەت هەیە
       ownership: نووسراوەکانی تر ناتوانرێ بسەلمێت
-      private: توتی ناگشتی ناتوانرێت بچەسپێ
       reblog: بەهێزکردن ناتوانرێت بچەسپێ
     poll:
       total_people:
@@ -1256,24 +1179,15 @@ ku:
       subject: تکایە دڵنیابە لە هەوڵدان بۆ چوونە ژوورەوە
       title: هەوڵدان بۆ چوونە ژوورەوە
     warning:
-      explanation:
-        disable: تا کاتێک هەژمارەی ئێوە نەوێستاوە، دراوەکانی ئێوە دەستکاری ناکرێت.بەڵام تا کاتێک کە هەژمارەکەتان ناکرێتەوە. ناتوانن هیچ ئیشێکی لەسەر بکەن.
-        sensitive: پەڕگە میدیایە بارکراوەکانت و میدیا لینککراوەکانت وەک هەستیار مامەڵەیان لەگەڵ دەکرێت.
-        silence: تا کاتیک هەژمارەکەتان سنووردار بێت، تەنها ئەو کەسانە کە پێشتر شوێنکەوتووی ئێوە بوون نووسراوەکانی ئێوە لەم ڕاژە دەبینن. شایەد ئێوە لە زۆر پێرستی گشتی دیار نەکەون؛ بەڵام خەڵکانی دیکە دەتوانن بە دڵی خۆیان پەیگیری ئێوە بن.
-        suspend: هەژمارەکەتان هەڵواسراوە، وە تەواو توت و میدیاکان کە لەسەر ئەم ڕاژە بارتان کردووە یان ئەو ڕاژانە کە شوێنکەوتووتان لە سەری بووە ئیتر ناگەڕێنەوە.
-      get_in_touch: بە وڵام دانەوەی ئەم ئیمەیلە دەتوانن لە گەڵ لیژنەی %{instance} لە پەیوەندی بن.
       review_server_policies: پێداچوونەوەی سیاسەتەکانی ڕاژە
-      statuses: 'بە دیاریکراوی، بۆ:'
       subject:
         disable: هەژمارەکەت %{acct} بەستراوە
         none: ئاگاداری بۆ %{acct}
-        sensitive: هەژمارەکەت %{acct} میدیایەکی پۆست کردن بە هەستیار نیشان کراوە
         silence: هەژمارەکەی %{acct} سنووردار کراوە
         suspend: هەژمارەکەی %{acct} ڕاگیرا
       title:
         disable: هەژمارە بەستراوە
         none: ئاگاداری
-        sensitive: میدیاکەت بە هەستیار نیشان کراوە
         silence: هەژماری سنووردار
         suspend: هەژمار ڕاگیرا
     welcome:
diff --git a/config/locales/lt.yml b/config/locales/lt.yml
index b0de04024..c41db64cf 100644
--- a/config/locales/lt.yml
+++ b/config/locales/lt.yml
@@ -91,7 +91,6 @@ lt:
       moderation:
         active: Aktyvus
         all: Visi
-        silenced: Užtildytas
         suspended: Užrakintas
         title: Moderacija
       moderation_notes: Medaracijos žinutės
@@ -343,19 +342,11 @@ lt:
       title: Tinklalapio nustatymai
     statuses:
       back_to_account: Atgal į paskyros puslapį
-      batch:
-        delete: Ištrinti
-        nsfw_off: Pažymėti kaip ne jautrią informaciją
-        nsfw_on: Pažymėti kaip jautrią informaciją
-      failed_to_execute: Nesėkmingas veiksmas
       media:
         title: Medija
-      no_media: Nėra medijos
       no_status_selected: Jokie statusai nebuvo pakeisti, nes niekas nepasirinkta
       title: Paskyros statusai
       with_media: Su medija
-    tags:
-      title: Saitažodžiai(#)
     title: Administracija
     warning_presets:
       add_new: Pridėti naują
@@ -619,13 +610,11 @@ lt:
       description: 'Pridėta: %{attached}'
     boosted_from_html: Pakelta iš %{acct_link}
     content_warning: 'Turinio įspėjimas: %{warning}'
-    language_detection: Automatiškai nustatyti kalbą
     open_in_web: Atidaryti naudojan Web
     over_character_limit: pasiektas %{max} simbolių limitas
     pin_errors:
       limit: Jūs jau prisegėte maksimalų toot'ų skaičų
       ownership: Kitų vartotojų toot'ai negali būti prisegti
-      private: Ne vieši toot'ai negali būti prisegti
       reblog: Pakeltos žinutės negali būti prisegtos
     show_more: Daugiau
     sign_in_to_participate: Prisijunkite jeigu norite dalyvauti pokalbyje
@@ -740,10 +729,6 @@ lt:
       subject: Jūsų archyvas paruoštas parsisiuntimui
       title: Archyvas išimtas
     warning:
-      explanation:
-        disable: Kol Jūsų paskyra užšaldyta, Jūsų duomenys tebėra matomi, tačiau jūs negalite atlikti jokių veiksmu, tol, kol užšaldymas panaikintas.
-        silence: Kol Jūsų paskyra limituota, tik žmonės, kurie jus jau sekė matus Jūsų toot'us serveryje, Jūs taip pat būsite išimtas iš viešųjų sąrašų. Tačiau, kiti gali jus rasti, savo rankomis.
-        suspend: Jūsų paskyra buvo užrakinta, ir visi Jūsų toot'ai, medijos failai, buvo panaikinti iš šio serverio, ir visų kitų serverių, kur turėjote sekėjų.
       review_server_policies: Apžvelgti serverio politiką
       subject:
         disable: Jūsų paskyra %{acct} buvo užšaldyta
diff --git a/config/locales/lv.yml b/config/locales/lv.yml
index 5b51b2bca..875ad5c05 100644
--- a/config/locales/lv.yml
+++ b/config/locales/lv.yml
@@ -1,7 +1,7 @@
 ---
 lv:
   about:
-    about_hashtag_html: Šīs ir publiskas ziņas, kas atzīmētas ar <strong>#%{hashtag} </strong>. Tu vari mijiedarboties ar viņiem, ja tev ir konts jebkurā federācijas vietnē.
+    about_hashtag_html: Šīs ir publiskas ziņas, kas atzīmētas ar <strong>#%{hashtag}</strong>. Tu vari mijiedarboties ar tām, ja tev ir konts jebkurā federācijas vietnē.
     about_mastodon_html: 'Nākotnes sociālais tīkls: bez reklāmām, bez korporatīvās uzraudzības, ētisks dizains un decentralizācija! Pārvaldi savus datus ar Mastodon!'
     about_this: Par
     active_count_after: aktīvs
@@ -9,7 +9,7 @@ lv:
     administered_by: 'Administrē:'
     api: API
     apps: Mobilās lietotnes
-    apps_platforms: Lieto Mastodon uz iOS, Android un citām platformām
+    apps_platforms: Lieto Mastodon iOS, Android un citās platformās
     browse_directory: Pārlūko profila direktoriju un atlasi pēc interesēm
     browse_local_posts: Pārlūko publisko ziņu straumi no šī servera
     browse_public_posts: Pārlūko publisko ziņu straumi no Mastodon
@@ -60,6 +60,10 @@ lv:
     endorsements_hint: Jūs varat apstiprināt cilvēkus, kuriem sekojat no tīmekļa saskarnes, un viņi tiks parādīti šeit.
     featured_tags_hint: Šeit vari norādīt īpašus tēmturus, kuri tiks parādīti šeit.
     follow: Seko
+    followers:
+      one: Sekotājs
+      other: Sekotāji
+      zero: Sekotāju
     following: Seko
     instance_actor_flash: Šis konts ir virtuāls aktieris, ko izmanto, lai pārstāvētu pašu serveri, nevis atsevišķu lietotāju. To izmanto federācijas nolūkos, un to nevajadzētu apturēt.
     joined: Pievienojās %{date}
@@ -74,6 +78,10 @@ lv:
     people_who_follow: Cilvēki, kuri seko %{name}
     pin_errors:
       following: Tev jau ir jāseko personai, kuru vēlies apstiprināt
+    posts:
+      one: Ziņa
+      other: Ziņas
+      zero: Ziņu
     posts_tab_heading: Ziņas
     posts_with_replies: Ziņas un atbildes
     roles:
@@ -95,7 +103,6 @@ lv:
     accounts:
       add_email_domain_block: Bloķēt e-pasta domēnu
       approve: Apstiprināt
-      approve_all: Apstiprināt visus
       approved_msg: Veiksmīgi apstiprināts %{username} reģistrēšanās pieteikums
       are_you_sure: Vai esi pārliecināts?
       avatar: Avatars
@@ -110,6 +117,7 @@ lv:
       confirm: Apstiprināt
       confirmed: Apstiprināts
       confirming: Apstiprina
+      custom: Pielāgot
       delete: Dzēst datus
       deleted: Dzēsts
       demote: Pazemināt
@@ -149,7 +157,6 @@ lv:
         active: Aktīvie
         all: Visi
         pending: Gaida
-        silenced: Ierobežotie
         suspended: Apturētie
         title: Moderācija
       moderation_notes: Moderācijas piezīmes
@@ -167,7 +174,6 @@ lv:
       redownload: Atsvaidzināt profilu
       redownloaded_msg: Veiksmīgi atsvaidzināts %{username} profils no izcelsmes
       reject: Noraidīt
-      reject_all: Noraidīt visus
       rejected_msg: Veiksmīgi noraidīts %{username} reģistrēšanās pieteikums
       remove_avatar: Noņemt avatāru
       remove_header: Noņemt galveni
@@ -184,6 +190,7 @@ lv:
       roles:
         admin: Administrators
         moderator: Moderators
+        staff: Personāls
         user: Lietotājs
       search: Meklēt
       search_same_email_domain: Citi lietotāji ar tādu pašu e-pasta domēnu
@@ -201,22 +208,78 @@ lv:
       silence: Ierobežot
       silenced: Ierobežots
       statuses: Ziņas
+      strikes: Iepriekšējie streiki
       subscribe: Abonēt
       suspended: Apturēts
       suspension_irreversible: Šī konta dati ir neatgriezeniski izdzēsti. Tu vari atcelt konta darbības apturēšanu, lai tas būtu izmantojams, taču tas neatjaunos iepriekšējos datus.
       suspension_reversible_hint_html: Konta darbība ir apturēta, un dati tiks pilnībā noņemti %{date}. Līdz tam kontu var atjaunot bez jebkādām nelabvēlīgām sekām. Ja vēlies nekavējoties noņemt visus konta datus, to vari izdarīt zemāk.
-      time_in_queue: Gaida rindā %{time}
       title: Konti
+      unblock_email: Atbloķēt e-pasta adresi
+      unblocked_email_msg: Veiksmīgi atbloķēta %{username} e-pasta adrese
       unconfirmed_email: Neapstiprināts e-pasts
       undo_sensitized: Atcelt sensitivizēšanu
+      undo_silenced: Atsaukt ierobežojumu
+      undo_suspension: Atsaukt apturēšanu
+      unsilenced_msg: Veiksmīgi atsaukts %{username} konta ierobežojums
+      unsubscribe: Anulēt abonementu
+      unsuspended_msg: Veiksmīgi neapturēts %{username} konts
+      username: Lietotājvārds
+      view_domain: Skatīt domēna kopsavilkumu
+      warn: Brīdināt
+      web: Web
+      whitelisted: Atļauts federācijai
     action_logs:
       action_types:
+        approve_user: Apstiprināt lietotāju
+        assigned_to_self_report: Piešķirt Pārskatu
+        change_email_user: Mainīt e-pastu lietotājam
+        confirm_user: Apstiprināt lietotāju
+        create_account_warning: Izveidot Brīdinājumu
+        create_announcement: Izveidot Paziņojumu
+        create_custom_emoji: Izveidot pielāgotu emocijzīmi
+        create_domain_allow: Izveidot Domēna Atļauju
+        create_domain_block: Izveidot Domēna Bloku
+        create_email_domain_block: Izveidot E-pasta Domēna Bloku
+        create_ip_block: Izveidot IP noteikumu
+        create_unavailable_domain: Izveidot Nepieejamu Domēnu
+        demote_user: Pazemināt Lietotāju
+        destroy_announcement: Dzēst Paziņojumu
+        destroy_custom_emoji: Dzēst pielāgoto emocijzīmi
+        destroy_domain_allow: Dzēst Domēna Atļauju
+        destroy_domain_block: Dzēst Domēna Bloku
+        destroy_email_domain_block: Dzēst E-pasta Domēna Bloku
+        destroy_instance: Attīrīt domēnu
+        destroy_ip_block: Dzēst IP noteikumu
+        destroy_status: Izdzēst Rakstu
+        destroy_unavailable_domain: Dzēst Nepieejamu Domēnu
+        disable_2fa_user: Atspējot 2FA
+        disable_custom_emoji: Atspējot pielāgotu emocijzīmi
+        disable_sign_in_token_auth_user: Atspējoja e-pasta marķiera autentifikāciju lietotājam
+        disable_user: Atspējot Lietotāju
+        enable_custom_emoji: Iespējot pielāgotu emocijzīmi
+        enable_sign_in_token_auth_user: Iespējot e-pasta marķiera autentifikāciju lietotājam
+        enable_user: Ieslēgt Lietotāju
+        memorialize_account: Saglabāt Kontu Piemiņai
+        promote_user: Paaugstināt Lietotāju
+        reject_user: Noraidīt lietotāju
+        remove_avatar_user: Noņemt Avatāru
+        reopen_report: Atkārtoti Atvērt Ziņojumu
+        reset_password_user: Atiestatīt Paroli
+        resolve_report: Atrisināt Ziņojumu
+        sensitive_account: Piespiedu sensitīvizēt kontu
+        silence_account: Ierobežot Kontu
+        suspend_account: Apturēt Kontu
+        unassigned_report: Atcelt Pārskata Piešķiršanu
+        unblock_email_account: Atbloķēt e-pasta adresi
+        unsensitive_account: Atsaukt Konta Piespiedu Sensitivizēšanu
+        unsilence_account: Atcelt Konta Ierobežošanu
         unsuspend_account: Atcelt konta apturēšanu
         update_announcement: Atjaunināt Paziņojumu
         update_custom_emoji: Atjaunināt pielāgoto emocijzīmi
         update_domain_block: Atjaunināt Domēna Bloku
         update_status: Atjaunināt ziņu
       actions:
+        approve_user_html: "%{name} apstiprināja reģistrēšanos no %{target}"
         assigned_to_self_report_html: "%{name} piešķīra pārskatu %{target} sev"
         change_email_user_html: "%{name} nomainīja e-pasta adresi lietotājam %{target}"
         confirm_user_html: "%{name} apstiprināja e-pasta adresi lietotājam %{target}"
@@ -234,6 +297,7 @@ lv:
         destroy_domain_allow_html: "%{name} neatļāva federāciju ar domēnu %{target}"
         destroy_domain_block_html: "%{name} atbloķēja domēnu %{target}"
         destroy_email_domain_block_html: "%{name} atbloķēja e-pasta domēnu %{target}"
+        destroy_instance_html: "%{name} attīrija domēnu %{target}"
         destroy_ip_block_html: "%{name} izdzēsa nosacījumu priekš IP %{target}"
         destroy_status_html: "%{name} noņēma ziņu %{target}"
         destroy_unavailable_domain_html: "%{name} atjaunoja piegādi uz domēnu %{target}"
@@ -246,6 +310,7 @@ lv:
         enable_user_html: "%{name} iespējoja pieteikšanos lietotājam %{target}"
         memorialize_account_html: "%{name} pārvērta %{target} kontu par atmiņas lapu"
         promote_user_html: "%{name} paaugstināja lietotāju %{target}"
+        reject_user_html: "%{name} noraidīja reģistrēšanos no %{target}"
         remove_avatar_user_html: "%{name} noņēma %{target} avatāru"
         reopen_report_html: "%{name} atkārtoti atvēra ziņojumu %{target}"
         reset_password_user_html: "%{name} atiestatīja paroli lietotājam %{target}"
@@ -254,6 +319,7 @@ lv:
         silence_account_html: "%{name} ierobežoja %{target} kontu"
         suspend_account_html: "%{name} apturēja %{target} kontu"
         unassigned_report_html: "%{name} nepiešķīra ziņojumu %{target}"
+        unblock_email_account_html: "%{name} atbloķēja %{target} e-pasta adresi"
         unsensitive_account_html: "%{name} atmarķēja %{target} mediju kā sensitīvu"
         unsilence_account_html: "%{name} atcēla ierobežojumu %{target} kontam"
         unsuspend_account_html: "%{name} neapturēja %{target} kontu"
@@ -318,9 +384,30 @@ lv:
       upload: Augšupielādēt
     dashboard:
       active_users: aktīvie lietotāji
+      interactions: mijiedarbības
+      media_storage: Mediju krātuve
+      new_users: jauni lietotāji
+      opened_reports: atvērtie ziņojumi
+      pending_reports_html:
+        one: "<strong>1</strong> ziņojums gaida"
+        other: "<strong>%{count}</strong>ziņojumi gaida"
+        zero: "<strong>%{count}</strong> ziņojumu"
+      pending_tags_html:
+        one: "<strong>1</strong> tēmturis gaida"
+        other: "<strong>%{count}</strong>tēmturi gaida"
+        zero: "<strong>%{count}</strong> tēmturu"
+      pending_users_html:
+        one: "<strong>1</strong> lietotājs gaida"
+        other: "<strong>%{count}</strong>lietotāji gaida"
+        zero: "<strong>%{count}</strong> lietotāju"
+      resolved_reports: ziņojumi atrisināti
       software: Programmatūra
+      sources: Reģistrēšanās avoti
       space: Vietas izmantošana
       title: Panelis
+      top_languages: Aktīvākās valodas
+      top_servers: Aktīvākie serveri
+      website: Tīmekļa vietne
     domain_allows:
       add_new: Atļaut federāciju ar domēnu
       created_msg: Domēns ir veiksmīgi atļauts federācijai
@@ -332,7 +419,54 @@ lv:
       destroyed_msg: Domēna bloķēšana ir atsaukta
       domain: Domēns
       edit: Rediģēt domēna bloķēšanu
+      existing_domain_block_html: Tu jau esi noteicis stingrākus ierobežojumus %{name}, vispirms tev <a href="%{unblock_url}">jāatbloķē</a>.
+      new:
+        create: Izveodot bloku
+        hint: Domēna bloķēšana netraucēs izveidot kontu ierakstus datu bāzē, bet ar atpakaļejošu datumu un automātiski tiks piemērotas noteiktas moderēšanas metodes šajos kontos.
+        severity:
+          desc_html: "<strong>Klusums</strong> padarīs konta ziņas neredzamas ikvienam, kurš tām neseko. <strong>Apturēt</strong> tiks noņemts viss konta saturs, mediji un profila dati. Izmanto <strong>Nevienu</strong>, ja vēlies noraidīt mediju failus."
+          noop: Neviens
+          silence: Klusums
+          suspend: Apturēt
+        title: Jauns domēna bloks
+      obfuscate: Apslēpt domēna vārdu
+      obfuscate_hint: Daļēji apslēpt domēna nosaukumu sarakstā, ja ir iespējota domēna ierobežojumu saraksta reklamēšana
+      private_comment: Privāts komentārs
+      private_comment_hint: Atstāj komentāru par šo domēna ierobežojumu moderatoru iekšējai lietošanai.
+      public_comment: Publisks komentārs
+      public_comment_hint: Atstāj komentāru par šo domēna ierobežojumu plašai sabiedrībai, ja ir iespējota domēnu ierobežojumu saraksta reklamēšana.
+      reject_media: Noraidīt mediju failus
+      reject_media_hint: Noņem lokāli saglabātos mediju failus un atsaka tos lejupielādēt nākotnē. Nav nozīmes apturēšanai
+      reject_reports: Noraidīt ziņojumus
+      reject_reports_hint: Ignorēt visus ziņojumus, kas nāk no šī domēna. Nav nozīmes apturēšanai
+      rejecting_media: noraidīt mediju failus
+      rejecting_reports: noraida ziņojumus
+      severity:
+        silence: ierobežots
+        suspend: apturēts
+      show:
+        affected_accounts:
+          one: Ietekmēts viens konts datu bāzē
+          other: Ietekmēti %{count} konti datu bāzē
+          zero: "%{count} ietekmētu kontu"
+        retroactive:
+          silence: Atsaukt ierobežojumus esošajiem ietekmētajiem kontiem no šī domēna
+          suspend: Atcelt šī domēna esošo ietekmēto kontu darbības apturēšanu
+        title: Atsaukt domēna bloķēšanu %{domain}
+        undo: Atsaukt
+      undo: Atsaukt domēna bloķēšanu
+      view: Skatīt domēna bloķēšanu
     email_domain_blocks:
+      add_new: Pievienot jaunu
+      created_msg: E-pasta domēns ir veiksmīgi bloķēts
+      delete: Dzēst
+      destroyed_msg: E-pasta domēns ir veiksmīgi atbloķēts
+      domain: Domēns
+      empty: Pašlaik nav bloķēts neviens e-pasta domēns.
+      from_html: no %{domain}
+      new:
+        create: Pievienot domēnu
+        title: Bloķēt jaunu e-pasta domēnu
       title: Bloķētie e-pasta domēni
     follow_recommendations:
       description_html: "<strong>Sekošana rekomendācijām palīdz jaunajiem lietotājiem ātri atrast interesantu saturu</strong>. Ja lietotājs nav pietiekami mijiedarbojies ar citiem, lai izveidotu personalizētus ieteikumus, ieteicams izmantot šos kontus. Tie tiek pārrēķināti katru dienu, izmantojot vairākus kontus ar visaugstākajām pēdējā laika saistībām un vislielāko vietējo sekotāju skaitu noteiktā valodā."
@@ -347,6 +481,7 @@ lv:
       back_to_limited: Ierobežotās
       back_to_warning: Brīdinājums
       by_domain: Domēns
+      confirm_purge: Vai tiešām vēlies neatgriezeniski izdzēst datus no šī domēna?
       delivery:
         all: Visas
         clear: Notīrīt piegādes kļūdas
@@ -356,16 +491,26 @@ lv:
         unavailable: Nav pieejams
         unavailable_message: Piegāde nav iespējama
         warning: Brīdinājums
+        warning_message:
+          one: Piegādes kļūme %{count} diena
+          other: Piegādes kļūme %{count} dienas
+          zero: Piegādes kļūme %{count} dienas
       delivery_available: Piegāde ir iespējama
       delivery_error_days: Piegādes kļūdu dienas
       delivery_error_hint: Ja piegāde nav iespējama %{count} dienas, tā tiks automātiski atzīmēta kā nepiegādājama.
+      destroyed_msg: Dati no %{domain} tagad ir gaidīšanas rindā, lai tos drīzumā dzēstu.
       empty: Domēni nav atrasti.
+      known_accounts:
+        one: "%{count} zināms konts"
+        other: "%{count} zināmi konti"
+        zero: "%{count} zināmu kontu"
       moderation:
         all: Visas
         limited: Ierobežotās
         title: Moderācija
       private_comment: Privāts komentārs
       public_comment: Publisks komentārs
+      purge: Iztīrīt
       title: Federācija
       total_blocked_by_us: Mūsu bloķēta
       total_followed_by_them: Viņiem seko
@@ -389,13 +534,87 @@ lv:
         '15778476': 6 mēneši
         '2629746': 1 mēnesis
         '31556952': 1 gads
-        '86400': 1 day
-        '94670856': 3 years
+        '86400': 1 diena
+        '94670856': 3 gadi
+      new:
+        title: Izveidot jaunu IP noteikumu
+      no_ip_block_selected: Neviens IP noteikums netika mainīts, jo netika atlasīts
+      title: IP noteikumi
+    relationships:
+      title: "%{acct} attiecības"
+    relays:
+      add_new: Pievienot jaunu releju
+      delete: Dzēst
+      description_html: "<strong>Federācijas relejs</strong> ir starpniekserveris, kas apmainās ar lielu publisko ziņu apjomu starp serveriem, kas to abonē un publicē. <strong>Tas var palīdzēt maziem un vidējiem serveriem atklāt saturu no federācijas</strong>, pretējā gadījumā vietējiem lietotājiem manuāli jāseko citām personām attālos serveros."
+      disable: Atspējot
+      disabled: Atspējots
+      enable: Iespējot
+      enable_hint: Kad tas būs iespējots, tavs serveris abonēs visas publiskās ziņas no šī releja un sāks tam sūtīt šī servera publiskās ziņas.
+      enabled: Iespējots
+      inbox_url: Releja URL
+      pending: Gaida apstiprinājumu no releja
+      save_and_enable: Saglabāt un iespējot
+      setup: Iestatīt releja savienojumu
+      signatures_not_enabled: Releji nedarbosies pareizi, kamēr ir iespējots drošais režīms vai ierobežotas federācijas režīms
+      status: Statuss
+      title: Releji
+    report_notes:
+      created_msg: Ziņojuma piezīme ir veiksmīgi izveidota!
+      destroyed_msg: Ziņojuma piezīme ir veiksmīgi izdzēsta!
+      today_at: Šodien %{time}
     reports:
+      account:
+        notes:
+          one: "%{count} piezīme"
+          other: "%{count} piezīmes"
+          zero: "%{count} piezīmju"
+      action_log: Auditācijas pieraksti
+      action_taken_by: Veiktā darbība
+      actions:
+        other_description_html: Skatīt vairāk iespēju kontrolēt konta uzvedību un pielāgot saziņu ar paziņoto kontu.
+        silence_description_html: Profils būs redzams tikai tiem, kas jau tam seko vai manuāli apskata, stingri ierobežojot tās sasniedzamību. Šo vienmēr var atgriezt.
+        suspend_description_html: Profils un viss tā saturs kļūs nepieejami, līdz tas beidzot tiek izdzēsts. Mijiedarbība ar kontu būs neiespējama. Atgriežams 30 dienu laikā.
+      actions_description_html: 'Ja ar minētā satura noņemšanu vien nepietiek:'
+      add_to_report: Pievienot varāk paziņošanai
+      are_you_sure: Vai esi pārliecināts?
+      assign_to_self: Piešķirt man
+      assigned: Piešķirtais moderators
+      by_target_domain: Ziņotā konta domēns
+      category: Kategorija
+      category_description_html: Iemesls kāpēc šis konts un / vai saturs tika ziņots, tiks minēts saziņā ar paziņoto kontu
+      comment:
+        none: Neviens
+      comment_description_html: 'Lai sniegtu vairāk informācijas, %{name} rakstīja:'
+      created_at: Ziņoti
+      delete_and_resolve: Dzēst un atrisināt
+      forwarded: Pārsūtīti
+      forwarded_to: Pārsūtīti %{domain}
+      mark_as_resolved: Atzīmēt kā atrisinātu
+      mark_as_unresolved: Atzīmēt kā neatrisinātu
+      no_one_assigned: Neviena
+      notes:
+        create: Pievienot piezīmi
+        create_and_resolve: Atrisināt ar piezīmi
+        create_and_unresolve: Atvērt atkārtoti ar piezīmi
+        delete: Dzēst
+        placeholder: Apraksti veiktās darbības vai citus saistītus atjauninājumus...
+        title: Piezīmes
+      notes_description_html: Skati un atstāj piezīmes citiem moderatoriem un sev nākotnei
+      reopen: Atkārtoti atvērt ziņojumu
+      report: 'Ziņojums #%{id}'
+      reported_account: Ziņotais konts
+      reported_by: Ziņoja
+      resolved: Atrisināts
+      resolved_msg: Ziņojums veiksmīgi atrisināts!
+      status: Statuss
+      statuses: Ziņotais saturs
+      statuses_description_html: Pārkāpuma saturs tiks minēts saziņā ar paziņoto kontu
+      target_origin: Ziņotā konta izcelsme
       title: Ziņojumi
       unassign: Atsaukt
       unresolved: Neatrisinātie
       updated_at: Atjaunināts
+      view_profile: Skatīt profilu
     rules:
       add_new: Pievienot noteikumu
       delete: Dzēst
@@ -464,8 +683,105 @@ lv:
         desc_html: Ja šī funkcija ir atspējota, tā ierobežo publisko ziņu lentu, kas ir saistīta ar galveno lapu, lai parādītu tikai vietējo saturu
         title: Iekļaut federēto saturu neautentificētā publiskā ziņu lentas lapā
       show_staff_badge:
-        desc_html: Parādiet personāla emblēmu lietotāja lapā
+        desc_html: Parāda personāla emblēmu lietotāja lapā
+        title: Parādīt personāla emblēmu
+      site_description:
+        desc_html: Ievadpunkts par API. Apraksti, kas padara šo Mastodon serveri īpašu, un jebko citu svarīgu. Vari izmantot HTML tagus, jo īpaši <code>&lt;a&gt;</code> un <code>&lt;em&gt;</code>.
+        title: Servera apraksts
+      site_description_extended:
+        desc_html: Laba vieta tavam rīcības kodeksam, noteikumiem, vadlīnijām un citām lietām, kas atšķir tavu serveri. Tu vari izmantot HTML tagus
+        title: Pielāgota paplašināta informācija
+      site_short_description:
+        desc_html: Tiek parādīts sānjoslā un metatagos. Vienā rindkopā apraksti, kas ir Mastodon un ar ko šis serveris ir īpašs.
+        title: Īss servera apraksts
+      site_terms:
+        desc_html: Tu vari uzrakstīt savu privātuma politiku, pakalpojumu sniegšanas noteikumus vai citu likumīgu. Tu vari izmantot HTML tagus
+        title: Pielāgoti pakalpojuma sniegšanas noteikumi
+      site_title: Servera nosaukums
+      thumbnail:
+        desc_html: Izmanto priekšskatījumiem, izmantojot OpenGraph un API. Ieteicams 1200x630 pikseļi
+        title: Servera sīkbilde
+      timeline_preview:
+        desc_html: Galvenajā lapā parādi saiti uz publisku laika skalu un ļauj API piekļūt publiskai ziņu lentai bez autentifikācijas
+        title: Atļaut neautentificētu piekļuvi publiskai ziņu lentai
+      title: Vietnes iestatījumi
+      trendable_by_default:
+        desc_html: Ietekmē tēmturus, kas iepriekš nav bijuši aizliegti
+        title: Ļaujiet tēmturiem mainīties bez iepriekšējas pārskatīšanas
+      trends:
+        desc_html: Publiski parādīt iepriekš pārskatītus tēmturus, kas pašlaik ir populāri
+        title: Populārākie tēmturi
+    site_uploads:
+      delete: Dzēst augšupielādēto failu
+      destroyed_msg: Vietnes augšupielāde ir veiksmīgi izdzēsta!
+    statuses:
+      back_to_account: Atpakaļ uz konta lapu
+      back_to_report: Atpakaļ uz paziņojumu lapu
+      batch:
+        remove_from_report: Noņemt no ziņojuma
+        report: Ziņojums
+      deleted: Dzēstie
+      media:
+        title: Mediji
+      no_status_selected: Neviena ziņa netika mainīta, jo neviena netika atlasīta
+      title: Konta ziņas
+      with_media: Ar medijiem
+    system_checks:
+      database_schema_check:
+        message_html: Notiek datubāzu migrācijas. Lūdzu, palaid tās, lai nodrošinātu, ka lietojumprogramma darbojas, kā paredzēts
+      rules_check:
+        action: Pārvaldīt servera nosacījumus
+        message_html: Tu neesi definējis nevienu servera nosacījumu.
+      sidekiq_process_check:
+        message_html: Rindā(s) %{value} nedarbojas neviens Sidekiq process. Lūdzu, pārskati savu Sidekiq konfigurāciju
+    tags:
+      review: Pārskatīt statusu
+      updated_msg: Tēmtura uzstādījumi ir veiksmīgi atjaunināti
     title: Administrēšana
+    trends:
+      allow: Atļaut
+      approved: Apstiprināts
+      disallow: Neatļaut
+      links:
+        allow: Atļaut saiti
+        allow_provider: Atļaut publicētāju
+        disallow: Neatļaut saiti
+        disallow_provider: Neatļaut publicētāju
+        shared_by_over_week:
+          one: Pēdējās nedēļas laikā kopīgoja viena persona
+          other: Pēdējās nedēļas laikā kopīgoja %{count} personas
+          zero: Pēdējās nedēļas laikā kopīgoja %{count} persona
+        title: Populārākās saites
+        usage_comparison: Šodien kopīgots %{today} reizes, salīdzinot ar %{yesterday} vakar
+      pending_review: Gaida pārskatīšanu
+      preview_card_providers:
+        allowed: Šī publicētāja saites var mainīties
+        rejected: Saites no šī publicētāja nebūs tendence
+        title: Publicētāji
+      rejected: Noraidīts
+      tags:
+        current_score: Pašreizējais rezultāts %{score}
+        dashboard:
+          tag_accounts_measure: unikāli lietojumi
+          tag_languages_dimension: Populārākās valodas
+          tag_servers_dimension: Populārākie serveri
+          tag_servers_measure: dažādi serveri
+          tag_uses_measure: lietojumi pavisam
+        listable: Var tikt ieteikts
+        not_listable: Nevar tikt ieteikts
+        not_trendable: Neparādīsies pie tendencēm
+        not_usable: Nevar tikt lietots
+        peaked_on_and_decaying: Sasniedza maksimumu %{date}, tagad samazinās
+        title: Populārākie tēmturi
+        trendable: Var parādīsies pie tendencēm
+        trending_rank: 'Populārākie #%{rank}'
+        usable: Var tikt lietots
+        usage_comparison: Šodien lietots %{today} reizes, salīdzinot ar %{yesterday} vakar
+        used_by_over_week:
+          one: Pēdējās nedēļas laikā izmantoja viens cilvēks
+          other: Pēdējās nedēļas laikā izmantoja %{count} personas
+          zero: Pēdējās nedēļas laikā izmantoja %{count} personu
+      title: Tendences
     warning_presets:
       add_new: Pievienot jaunu
       delete: Dzēst
@@ -475,13 +791,824 @@ lv:
   admin_mailer:
     new_pending_account:
       body: Sīkāka informācija par jauno kontu ir sniegta zemāk. Tu vari apstiprināt vai noraidīt šo pieteikumu.
+      subject: Jauns konts pārskatīšanai %{instance} (%{username})
+    new_report:
+      body: "%{reporter} ziņoja par %{target}"
+      body_remote: Kāds no %{domain} ziņoja par %{target}
+      subject: Jauns ziņojums par %{instance} (#%{id})
+    new_trending_links:
+      body: Tālāk norādītās saites šodien ir populāras, taču to publicētāji iepriekš nav pārskatīti. Tie netiks rādīti publiski, ja vien tu tos neapstiprināsi. Turpmāki paziņojumi no tiem pašiem publicētājiem netiks ģenerēti.
+      no_approved_links: Pašlaik nav apstiprinātu tendenču saišu.
+      requirements: Viszemāk apstiprinātā populārā saite pašlaik ir “%{lowest_link_title}” ar rezultātu %{lowest_link_score}.
+      subject: Jaunas populāras saites ir pieejamas pārskatīšanai vietnē %{instance}
+    new_trending_tags:
+      body: 'Tālāk norādītās atsauces ir populāras, taču tās iepriekš nav pārskatītas. Tie netiks rādīti publiski, ja vien tu tās neapstiprināsi:'
+      no_approved_tags: Pašlaik nav apstiprinātu tendenču tēmturu.
+      requirements: 'Viszemāk apstiprinātais populārais tēmturis pašlaik ir #%{lowest_tag_name} ar rezultātu %{lowest_tag_score}.'
+      subject: Jauni populāri tēmturi ir pieejami pārskatīšanai vietnē %{instance}
+  aliases:
+    add_new: Izveidot aizstājvārdu
+    created_msg: Veiksmīgi izveidots jauns aizstājvārds. Tagad vari sākt pārvietošanu no vecā konta.
+    deleted_msg: Aizstājvārds tika veiksmīgi noņemts. Pāreja no šī konta uz šo vairs nebūs iespējama.
+    empty: Tev nav aizstājvārdu.
+    hint_html: Ja vēlies pāriet no cita konta uz šo, šeit vari izveidot aizstājvārdu, kas ir nepieciešams, lai varētu turpināt sekotāju pārvietošanu no vecā konta uz šo. Šī darbība pati par sevi ir <strong>nekaitīga un atgriezeniska</strong>. <strong>Konta migrācija tiek sākta no vecā konta</strong>.
+    remove: Atsaistīt aizstājvārdu
+  appearance:
+    advanced_web_interface: Paplašinātais web interfeiss
+    advanced_web_interface_hint: 'Ja vēlies izmantot visu ekrāna platumu, uzlabotā tīmekļa saskarne ļauj konfigurēt daudzas dažādas kolonnas, lai vienlaikus redzētu tik daudz informācijas, cik vēlies: Sākums, paziņojumi, federētā ziņu lenta, neierobežots skaits sarakstu un tēmturu.'
+    animations_and_accessibility: Animācijas un pieejamība
+    confirmation_dialogs: Apstiprināšanas dialogi
+    discovery: Atklājums
+    localization:
+      body: Mastodon ir tulkojuši brīvprātīgie.
+      guide_link: https://crowdin.com/project/mastodon
+      guide_link_text: Ikviens var piedalīties.
+    sensitive_content: Sensitīvs saturs
+    toot_layout: Ziņas izskats
+  application_mailer:
+    notification_preferences: Mainīt e-pasta preferences
+    salutation: "%{name},"
+    settings: 'Mainīt e-pasta preferences: %{link}'
+    view: 'Skatījums:'
+    view_profile: Skatīt profilu
+    view_status: Skatīt ziņu
+  applications:
+    created: Lietojumprogramma ir veiksmīgi izveidota
+    destroyed: Lietojumprogramma ir veiksmīgi dzēsta
+    invalid_url: Norādītais URL nav derīgs
+    regenerate_token: Atjaunot piekļuves marķieri
+    token_regenerated: Piekļuves marķieris veiksmīgi atjaunots
+    warning: Esi ļoti uzmanīgs ar šiem datiem. Nekad nedalies ne ar vienu ar tiem!
+    your_token: Tavs piekļuves marķieris
+  auth:
+    apply_for_account: Pieprasīt ielūgumu
+    change_password: Parole
+    checkbox_agreement_html: Es piekrītu <a href="%{rules_path}" target="_blank">servera noteikumiem</a> un <a href="%{terms_path}" target="_blank">pakalpojuma sniegšanas noteikumiem</a>
+    checkbox_agreement_without_rules_html: Es piekrītu <a href="%{terms_path}" target="_blank">pakalpojuma sniegšanas noteikumiem</a>
+    delete_account: Dzēst kontu
+    delete_account_html: Ja vēlies dzēst savu kontu, tu vari <a href="%{path}">turpināt šeit</a>. Tev tiks lūgts apstiprinājums.
+    description:
+      prefix_invited_by_user: "@%{name} aicina tevi pievienoties šim Mastodon serverim!"
+      prefix_sign_up: Reģistrējies Mastodon jau šodien!
+      suffix: Izmantojot kontu, tu varēsi sekot cilvēkiem, publicēt atjauninājumus un apmainīties ar ziņojumiem ar lietotājiem no jebkura Mastodon servera un daudz ko citu!
+    didnt_get_confirmation: Vai nesaņēmi apstiprināšanas norādījumus?
+    dont_have_your_security_key: Vai tev nav drošības atslēgas?
+    forgot_password: Aizmirsi paroli?
+    invalid_reset_password_token: Paroles atiestatīšanas pilnvara nav derīga, vai tai ir beidzies derīgums. Lūdzu, pieprasi jaunu.
+    link_to_otp: Ievadi divfaktoru kodu no tālruņa vai atkopšanas kodu
+    link_to_webauth: Lieto savu drošības atslēgas iekārtu
+    log_in_with: Pieslēgties ar
+    login: Pieteikties
+    logout: Iziet
+    migrate_account: Pāriešana uz citu kontu
+    migrate_account_html: Ja vēlies novirzīt šo kontu uz citu, tu vari <a href="%{path}">to konfigurēt šeit</a>.
+    or_log_in_with: Vai piesakies ar
+    providers:
+      cas: CAS
+      saml: SAML
+    register: Reģistrēties
+    registration_closed: "%{instance} nepieņem jaunus dalībniekus"
+    resend_confirmation: Atkārtoti nosūtīt apstiprinājuma norādījumus
+    reset_password: Atiestatīt paroli
+    security: Drošība
+    set_new_password: Iestatīt jaunu paroli
+    setup:
+      email_below_hint_html: Ja zemāk norādītā e-pasta adrese ir nepareiza, vari to nomainīt šeit un saņemt jaunu apstiprinājuma e-pastu.
+      email_settings_hint_html: Apstiprinājuma e-pasts tika nosūtīts uz %{email}. Ja šī e-pasta adrese nav pareiza, vari to nomainīt konta iestatījumos.
+      title: Iestatīt
+    status:
+      account_status: Konta statuss
+      confirming: Gaida e-pasta apstiprinājuma pabeigšanu.
+      functional: Tavs konts ir pilnībā darboties spējīgs.
+      pending: Tavu pieteikumu gaida mūsu darbinieku izskatīšana. Tas var aizņemt kādu laiku. Ja tavs pieteikums tiks apstiprināts, tu saņemsi e-pastu.
+      redirecting_to: Tavs konts ir neaktīvs, jo pašlaik tas tiek novirzīts uz %{acct}.
+    too_fast: Veidlapa ir iesniegta pārāk ātri, mēģini vēlreiz.
+    trouble_logging_in: Problēma ar pieteikšanos?
+    use_security_key: Lietot drošības atslēgu
+  authorize_follow:
+    already_following: Tu jau seko šim kontam
+    already_requested: Tu jau esi nosūtījis sekošanas pieteikumu šim kontam
+    error: Diemžēl, meklējot attālināto kontu, radās kļūda
+    follow: Sekot
+    follow_request: 'Tu esi nosūtījis sekošanas pieteikumu:'
+    following: 'Veiksmīgi! Tu tagad seko:'
+    post_follow:
+      close: Vai vienkārši aizver šo logu.
+      return: Parādīt lietotāja profilu
+      web: Doties uz tīmekli
+    title: Seko %{acct}
+  challenge:
+    confirm: Turpināt
+    hint_html: "<strong>Padoms:</strong> Nākamās stundas laikā mēs tev vairs neprasīsim paroli."
+    invalid_password: Nepareiza parole
+    prompt: Lai turpinātu, apstiprini paroli
+  crypto:
+    errors:
+      invalid_key: nav derīga Ed25519 vai Curve25519 atslēga
+      invalid_signature: nav derīgs Ed25519 paraksts
+  date:
+    formats:
+      default: "%b %d, %Y"
+      with_month_name: "%B %d, %Y"
+  datetime:
+    distance_in_words:
+      about_x_hours: "%{count}st"
+      about_x_months: "%{count}mēn"
+      about_x_years: "%{count}g"
+      almost_x_years: "%{count}g"
+      half_a_minute: Tikko
+      less_than_x_minutes: "%{count}min"
+      less_than_x_seconds: Tikko
+      over_x_years: "%{count}g"
+      x_days: "%{count}d"
+      x_minutes: "%{count}min"
+      x_months: "%{count}mēn"
+      x_seconds: "%{count}s"
+  deletes:
+    challenge_not_passed: Tevis ievadītā informācija nebija pareiza
+    confirm_password: Ievadi savu pašreizējo paroli, lai pārbaudītu savu identitāti
+    confirm_username: Ievadi savu lietotājvārdu, lai apstiprinātu procedūru
+    proceed: Dzēst kontu
+    success_msg: Tavs konts tika veiksmīgi dzēsts
+    warning:
+      before: 'Pirms turpināt, lūdzu, uzmanīgi izlasi šīs piezīmes:'
+      caches: Citu serveru kešatmiņā saglabātais saturs var saglabāties
+      data_removal: Tavas ziņas un citi dati tiks neatgriezeniski noņemti
+      email_change_html: Tu vari <a href="%{path}">mainīt savu e-pasta adresi</a>, neizdzēšot savu kontu
+      email_contact_html: Ja tas joprojām nav saņemts, tu vari nosūtīt e-pastu <a href="mailto:%{email}">%{email}</a> lai saņemtu palīdzību
+      email_reconfirmation_html: Ja tu nesaņem apstiprinājuma e-pastu, tu vari <a href="%{path}">pieprsīt to vēlreiz</a>
+      irreversible: Tu nevarēsi atjaunot vai atkārtoti aktivizēt savu kontu
+      more_details_html: Plašāku informāciju skatīt <a href="%{terms_path}">privātuma politika</a>.
+      username_available: Tavs lietotājvārds atkal būs pieejams
+      username_unavailable: Tavs lietotājvārds paliks nepieejams
+  directories:
+    directory: Profila direktorija
+    explanation: Atklāj lietotājus, pamatojoties uz viņu interesēm
+    explore_mastodon: Izpētīt %{title}
+  domain_validator:
+    invalid_domain: nav derīgs domēna nosaukums
   errors:
-    '400': The request you submitted was invalid or malformed.
-    '403': You don't have permission to view this page.
-    '404': The page you are looking for isn't here.
-    '406': This page is not available in the requested format.
-    '410': The page you were looking for doesn't exist here anymore.
-    '422': 
-    '429': Too many requests
-    '500': 
-    '503': The page could not be served due to a temporary server failure.
+    '400': Tevis iesniegtais pieprasījums bija nederīgs vai nepareizi izveidots.
+    '403': Tev nav atļauts aplūkot šo lapu.
+    '404': Tevis meklētās lapas šeit nav.
+    '406': Šī lapa nav pieejama pieprasītajā formātā.
+    '410': Tevis meklētā lapa šeit vairs nepastāv.
+    '422':
+      content: Drošības pārbaude neizdevās. Vai tu bloķē sīkfailus?
+      title: Drošības pārbaude neizdevās
+    '429': Pārāk daudz pieprasījumu
+    '500':
+      content: Atvaino, bet kaut kas mūsu pusē nogāja greizi.
+      title: Šī lapa nav pareiza
+    '503': Lapu nevarēja apkalpot īslaicīgas servera kļūmes dēļ.
+    noscript_html: Lai izmantotu Mastodon web lietojumu, lūdzu, iespējo JavaScript. Vai arī izmēģini kādu no <a href="%{apps_path}">vietējām lietotnēm</a> Mastodon savai platformai.
+  existing_username_validator:
+    not_found: nevarēja atrast lokālo lietotāju ar šādu lietotājvārdu
+    not_found_multiple: nevarēja atrast %{usernames}
+  exports:
+    archive_takeout:
+      date: Dati
+      download: Lejupielādē savu arhīvu
+      hint_html: Tu vari pieprasīt savu <strong>ziņu un augšupielādēto mediju</strong> arhīvu. Eksportētie dati būs ActivityPub formātā, ko varēs nolasīt ar jebkuru saderīgu programmatūru. Tu vari pieprasīt arhīvu ik pēc 7 dienām.
+      in_progress: Notiek tava arhīva apkopošana...
+      request: Pieprasi savu arhīvu
+      size: Izmērs
+    blocks: Tu bloķē
+    bookmarks: Grāmatzīmes
+    csv: CSV
+    domain_blocks: Bloķētie domēni
+    lists: Saraksti
+    mutes: Tu apklusini
+    storage: Mediju krātuve
+  featured_tags:
+    add_new: Pievienot jaunu
+    errors:
+      limit: Tu jau esi piedāvājis maksimālo tēmturu skaitu
+    hint_html: "<strong>Kas ir piedāvātie tēmturi?</strong> Tie ir redzami tavā publiskajā profilā un ļauj cilvēkiem pārlūkot tavas publiskās ziņas tieši zem šiem tēmturiem. Tie ir lielisks līdzeklis radošu darbu vai ilgtermiņa projektu izsekošanai."
+  filters:
+    contexts:
+      account: Profili
+      home: Sākums un saraksti
+      notifications: Paziņojumi
+      public: Publiskās ziņu lentas
+      thread: Sarunas
+    edit:
+      title: Rediģēt filtru
+    errors:
+      invalid_context: Nav, vai piegādāts nederīgs konteksts
+      invalid_irreversible: Neatgriezeniskā filtrēšana darbojas tikai sākuma vai paziņojumu kontekstā
+    index:
+      delete: Dzēst
+      empty: Tev nav filtru.
+      title: Filtri
+    new:
+      title: Pievienot jaunu filtru
+  footer:
+    developers: Izstrādātāji
+    more: Vairāk…
+    resources: Resursi
+    trending_now: Šobrīd tendences
+  generic:
+    all: Visi
+    changes_saved_msg: Izmaiņas veiksmīgi saglabātas!
+    copy: Kopēt
+    delete: Dzēst
+    none: Neviens
+    order_by: Kārtot pēc
+    save_changes: Saglabāt izmaiņas
+    today: šodien
+    validation_errors:
+      one: Kaut kas vēl nav īsti kārtībā! Lūdzu, pārskati zemāk norādīto kļūdu
+      other: Kaut kas vēl nav īsti kārtībā! Lūdzu, pārskati %{count} kļūdas zemāk
+      zero: "%{count} kļūdu"
+  html_validator:
+    invalid_markup: 'satur nederīgu HTML marķējumu: %{error}'
+  imports:
+    errors:
+      over_rows_processing_limit: satur vairāk, nekā %{count} rindas
+    modes:
+      merge: Savienot
+      merge_long: Saglabāt esošos ierakstus un pievienot jaunus
+      overwrite: Pārrakstīt
+      overwrite_long: Nomainīt pašreizējos ierakstus ar jauniem
+    preface: Tu vari importēt datus, kurus esi eksportējis no cita servera, piemēram, to personu sarakstu, kurām tu seko vai kuras bloķē.
+    success: Tavi dati tika veiksmīgi augšupielādēti un tiks apstrādāti noteiktajā laikā
+    types:
+      blocking: Bloķēšanas saraksts
+      bookmarks: Grāmatzīmes
+      domain_blocking: Domēnu bloķēšanas saraksts
+      following: Šāds saraksts
+      muting: Izslēgšanas saraksts
+    upload: Augšupielādēt
+  in_memoriam_html: Piemiņai.
+  invites:
+    delete: Deaktivizēt
+    expired: Beigušies
+    expires_in:
+      '1800': 30 minūtes
+      '21600': 6 stundas
+      '3600': 1 stunda
+      '43200': 12 stundas
+      '604800': 1 nedēļa
+      '86400': 1 diena
+    expires_in_prompt: Nekad
+    generate: Ģenerēt uzaicinājuma saiti
+    invited_by: 'Tevi uzaicināja:'
+    max_uses:
+      one: 1 lietojums
+      other: "%{count} lietojumi"
+      zero: "%{count} lietojumu"
+    max_uses_prompt: Nav ierobežojuma
+    prompt: Izveido un kopīgo saites ar citiem, lai piešķirtu piekļuvi šim serverim
+    table:
+      expires_at: Beidzas
+      uses: Lieto
+    title: Uzaicināt cilvēkus
+  lists:
+    errors:
+      limit: Esi sasniedzis maksimālo sarakstu skaitu
+  login_activities:
+    authentication_methods:
+      otp: divfaktoru autentifikācijas lietotne
+      password: parole
+      sign_in_token: e-pasta drošības kods
+      webauthn: drošības atslēgas
+    description_html: Ja pamani darbības, kuras tu neatpazīsti, apsver iespēju nomainīt savu paroli un iespējot divfaktoru autentifikāciju.
+    empty: Nav pieejama autentifikācijas vēsture
+    failed_sign_in_html: Neizdevies pierakstīšanās mēģinājums ar %{method} no %{ip} (%{browser})
+    successful_sign_in_html: Veiksmīga pierakstīšanās ar %{method} no %{ip} (%{browser})
+    title: Autentifikācijas vēsture
+  media_attachments:
+    validations:
+      images_and_video: Nevar pievienot videoklipu tādai ziņai, kura jau satur attēlus
+      not_ready: Nevar pievienot failus, kuru apstrāde nav pabeigta. Pēc brīža mēģini vēlreiz!
+      too_many: Nevar pievienot vairāk kā 4 failus
+  migrations:
+    acct: Pārcēlās uz
+    cancel: Atcelt novirzīšanu
+    cancel_explanation: Atceļot novirzīšanu, tavs pašreizējais konts tiks atkārtoti aktivizēts, taču netiks atgriezti sekotāji, kas ir pārvietoti uz šo kontu.
+    cancelled_msg: Novirzīšana sekmīgi atcelta.
+    errors:
+      already_moved: ir tas pats konts, uz kuru jau esi pārcēlies
+      missing_also_known_as: nav šī konta aizstājvārds
+      move_to_self: nevar būt šis pats konts
+      not_found: nevarēja atrast
+      on_cooldown: Tu esi atpūtā
+    followers_count: Sekotāji pārvietošanās brīdī
+    incoming_migrations: Pārnākšana no cita konta
+    incoming_migrations_html: Lai pārnāktu no cita konta uz šo, vispirms tev <a href="%{path}">jāizveido konta aizstājvārds</a>.
+    moved_msg: Tavs konts tagad tiek novirzīts uz %{acct}, un tavi sekotāji tiek pārvietoti.
+    not_redirecting: Tavs konts pašlaik netiek novirzīts uz jebkādu citu kontu.
+    on_cooldown: Tu nesen migrēji savu kontu. Šī funkcija atkal būs pieejama pēc %{count} dienām.
+    past_migrations: Pagātnes migrācijas
+    proceed_with_move: Pārvietot sekotājus
+    redirected_msg: Tavs konts tagad tiek novirzīts uz %{acct}.
+    redirecting_to: Tavs konts tiek novirzīts uz %{acct}.
+    set_redirect: Iestatīt novirzīšanu
+    warning:
+      backreference_required: Jaunais konts vispirms ir jākonfigurē, lai tas atsauktos uz šo kontu
+      before: 'Pirms turpināt, lūdzu, uzmanīgi izlasi šīs piezīmes:'
+      cooldown: Pēc pārcelšanās ir gaidīšanas periods, kura laikā tu vairs nevarēsi pārvietoties
+      disabled_account: Tavs pašreizējais konts pēc tam nebūs pilnībā lietojams. Tomēr tev būs piekļuve datu eksportēšanai, kā arī atkārtotai aktivizēšanai.
+      followers: Veicot šo darbību, visi sekotāji tiks pārvietoti no pašreizējā konta uz jauno kontu
+      only_redirect_html: Citādāk tu vari arī <a href="%{path}">savā profilā ievietot tikai novirzīšanu</a>.
+      other_data: Nekādi citi dati netiks automātiski pārvietoti
+      redirect: Tava pašreizējā konta profils tiks atjaunināts ar novirzīšanas paziņojumu un tiks izslēgts no meklēšanas
+  moderation:
+    title: Moderācija
+  move_handler:
+    carry_blocks_over_text: Šis lietotājs pārcēlās no %{acct}, kuru tu biji bloķējis.
+    carry_mutes_over_text: Šis lietotājs pārcēlās no %{acct}, kuru tu biji apklusinājis.
+    copy_account_note_text: 'Šis lietotājs pārcēlās no %{acct}, šeit bija tavas iepriekšējās piezīmes par viņu:'
+  notification_mailer:
+    digest:
+      action: Rādīt visus paziņojumus
+      body: Šeit ir īss kopsavilkums par ziņojumiem, kurus tu esi palaidis garām kopš pēdējā apmeklējuma %{since}
+      mention: "%{name} pieminēja tevi:"
+      new_followers_summary:
+        one: Tāpat, atrodoties prom, esi ieguvis vienu jaunu sekotāju! Jip!
+        other: Turklāt, atrodoties prom, esi ieguvis %{count} jaunus sekotājus! Apbrīnojami!
+        zero: "%{count} jaunu sekotāju!"
+      subject:
+        one: "1 jauns paziņojums kopš tava pēdējā apmeklējuma \U0001F418"
+        other: "%{count} jauni paziņojumi kopš tava pēdējā apmeklējuma \U0001F418"
+        zero: "%{count} jaunu paziņojumu"
+      title: Tavas prombūtnes laikā...
+    favourite:
+      body: 'Tavu ziņu izlasei pievienoja %{name}:'
+      subject: "%{name} pievienoja tavu ziņu izlasei"
+      title: Jauns izcēlums
+    follow:
+      body: "%{name} tagad tev seko!"
+      subject: "%{name} tagad tev seko"
+      title: Jauns sekotājs
+    follow_request:
+      action: Pārvaldīt sekošanas pieprasījumus
+      body: "%{name} vēlas tev sekot"
+      subject: 'Gaidošs sekotājs: %{name}'
+      title: Jauns sekotāja pieprasījums
+    mention:
+      action: Atbildēt
+      body: 'Tevi pieminēja %{name}:'
+      subject: Tevi pieminēja %{name}
+      title: Jauna pieminēšana
+    poll:
+      subject: "%{name} aptauja ir beigusies"
+    reblog:
+      body: 'Tavu ziņu paaugstināja %{name}:'
+      subject: "%{name} paaugstināja tavu ziņu"
+      title: Jauns stimuls
+    status:
+      subject: "%{name} tikko publicēja"
+  notifications:
+    email_events: E-pasta paziņojumu notikumi
+    email_events_hint: 'Atlasi notikumus, par kuriem vēlies saņemt paziņojumus:'
+    other_settings: Citu paziņojumu iestatījumi
+  number:
+    human:
+      decimal_units:
+        format: "%n%u"
+        units:
+          billion: B
+          million: M
+          quadrillion: Q
+          thousand: K
+          trillion: T
+  otp_authentication:
+    code_hint: Lai apstiprinātu, ievadi autentifikācijas lietotnes ģenerēto kodu
+    description_html: Ja iespējosi <strong>divfaktoru autentifikāciju</strong>, izmantojot autentifikatora lietotni, lai pieteiktos, tev būs nepieciešams tālrunis, kas ģenerēs ievadāmos marķierus.
+    enable: Iespējot
+    instructions_html: "<strong>Skenē šo QR kodu Google Authenticator vai līdzīgā TOTP lietotnē savā tālrunī</strong>. No šī brīža šī lietotne ģenerēs marķierus, kas tev būs jāievada, piesakoties."
+    manual_instructions: 'Ja nevari noskenēt QR kodu un tas ir jāievada manuāli, šeit ir noslēpums vienkāršā tekstā:'
+    setup: Iestatīt
+    wrong_code: Ievadītais kods nebija derīgs! Vai servera laiks un ierīces laiks ir pareizs?
+  pagination:
+    newer: Jaunāks
+    next: Nākamais
+    older: Vecāks
+    prev: Iepr
+    truncate: "&hellip;"
+  polls:
+    errors:
+      already_voted: Šajā aptaujā tu esi jau balsojis
+      duplicate_options: satur dublētus vienumus
+      duration_too_long: ir pārāk tālu nākotnē
+      duration_too_short: ir par agru
+      expired: Aptauja jau ir beigusies
+      invalid_choice: Izvēlētā balsošanas iespēja nepastāv
+      over_character_limit: katrs nedrīkst būt garāks par %{max} rakstzīmēm
+      too_few_options: jābūt vairāk nekā vienam vienumam
+      too_many_options: nevar saturēt vairāk par %{max} vienumiem
+  preferences:
+    other: Citi
+    posting_defaults: Publicēšanas noklusējuma iestatījumi
+    public_timelines: Publiskās ziņu lentas
+  reactions:
+    errors:
+      limit_reached: Sasniegts dažādu reakciju limits
+      unrecognized_emoji: nav atpazīta emocijzīme
+  relationships:
+    activity: Konta aktivitāte
+    dormant: Snaudošie
+    follow_selected_followers: Sekot atlasītajiem sekotājiem
+    followers: Sekotāji
+    following: Seko
+    invited: Uzaicinātie
+    last_active: Pēdējā aktivitāte
+    most_recent: Jaunākais
+    moved: Pārvietots
+    mutual: Savstarpējs
+    primary: Primārais
+    relationship: Attiecības
+    remove_selected_domains: Noņemt visus sekotājus no atlasītajiem domēniem
+    remove_selected_followers: Noņemt atlasītos sekotājus
+    remove_selected_follows: Pārtraukt sekošanu atlasītajiem lietotājiem
+    status: Konta statuss
+  remote_follow:
+    acct: Ievadi savu lietotajvards@domens, no kura vēlies darboties
+    missing_resource: Nevarēja atrast tavam kontam nepieciešamo novirzīšanas URL
+    no_account_html: Vai tev nav konta? Tu vari <a href='%{sign_up_path}' target='_blank'>piereģistrēties šeit</a>
+    proceed: Turpini lai sekotu
+    prompt: 'Tu gatavojies sekot:'
+    reason_html: "<strong> Kāpēc šis solis ir nepieciešams?</strong> <code>%{instance}</code>, iespējams, nav serveris, kurā esi reģistrēts, tāpēc mums vispirms ir jānovirza tevi uz tavu mājas serveri."
+  remote_interaction:
+    favourite:
+      proceed: Pārej uz izlasi
+      prompt: 'Tu vēlies pievienot izlasei šo ziņu:'
+    reblog:
+      proceed: Turpini paaugstināt
+      prompt: 'Tu vēlies paugstināt šo ziņu:'
+    reply:
+      proceed: Turpini lai atbildētu
+      prompt: 'Tu vēlies atbildēt uz šo ziņu:'
+  reports:
+    errors:
+      invalid_rules: neatsaucas uz derīgiem noteikumiem
+  scheduled_statuses:
+    over_daily_limit: Tu esi pārsniedzis šodien ieplānoto %{limit} ziņu ierobežojumu
+    over_total_limit: Tu esi pārsniedzis ieplānoto %{limit} ziņu ierobežojumu
+    too_soon: Ieplānotajam datumam ir jābūt nākotnē
+  sessions:
+    activity: Pēdējā aktivitāte
+    browser: Pārlūks
+    browsers:
+      alipay: Alipay
+      blackberry: Blackberry
+      chrome: Chrome
+      edge: Microsoft Edge
+      electron: Electron
+      firefox: Firefox
+      generic: Nezināms pārlūks
+      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: UCBrowser
+      weibo: Weibo
+    current_session: Pašreizējā sesija
+    description: "%{browser} uz %{platform}"
+    explanation: Šīs ir tīmekļa pārlūkprogrammas, kurās pašlaik esi pieteicies savā Mastodon kontā.
+    ip: IP
+    platforms:
+      adobe_air: Adobe Air
+      android: Android
+      blackberry: Blackberry
+      chrome_os: Chrome OS
+      firefox_os: Firefox OS
+      ios: iOS
+      linux: Linux
+      mac: macOS
+      other: nezināma platforma
+      windows: Windows
+      windows_mobile: Windows Mobile
+      windows_phone: Windows Phone
+    revoke: Atsaukt
+    revoke_success: Sesija veiksmīgi atsaukta
+    title: Sesijas
+    view_authentication_history: Skatīt sava konta autentifikācijas vēsturi
+  settings:
+    account: Konts
+    account_settings: Konta iestatījumi
+    aliases: Konta aizstājvārdi
+    appearance: Izskats
+    authorized_apps: Autorizētās lietotnes
+    back: Atgriezties Mastodon
+    delete: Konta dzēšana
+    development: Izstrāde
+    edit_profile: Rediģēt profilu
+    export: Datu eksports
+    featured_tags: Piedāvātie tēmturi
+    import: Imports
+    import_and_export: Imports un eksports
+    migrate: Konta migrācija
+    notifications: Paziņojumi
+    preferences: Iestatījumi
+    profile: Profils
+    relationships: Man seko un sekotāji
+    statuses_cleanup: Automātiska ziņu dzēšana
+    two_factor_authentication: Divfaktoru Aut
+    webauthn_authentication: Drošības atslēgas
+  statuses:
+    attached:
+      audio:
+        one: "%{count} audio"
+        other: "%{count} audio"
+        zero: "%{count} audio"
+      description: 'Pievienots: %{attached}'
+      image:
+        one: "%{count} attēls"
+        other: "%{count} attēli"
+        zero: "%{count} attēlu"
+      video:
+        one: "%{count} video"
+        other: "%{count} video"
+        zero: "%{count} video"
+    boosted_from_html: Paaugstināja %{acct_link}
+    content_warning: 'Satura brīdinājums: %{warning}'
+    default_language: Tāda, kā interfeisa valoda
+    disallowed_hashtags:
+      one: 'saturēja neatļautu tēmturi: %{tags}'
+      other: 'saturēja neatļautus tēmturus: %{tags}'
+      zero: 'neatļauti tēmturi: %{tags}'
+    edited_at: Rediģēts %{date}
+    errors:
+      in_reply_not_found: Šķiet, ka ziņa, uz kuru tu mēģini atbildēt, nepastāv.
+    open_in_web: Atvērt webā
+    over_character_limit: pārsniegts %{max} rakstzīmju ierobežojums
+    pin_errors:
+      direct: Ziņojumus, kas ir redzami tikai minētajiem lietotājiem, nevar piespraust
+      limit: Tu jau esi piespraudis maksimālo ziņu skaitu
+      ownership: Citas personas ziņu nevar piespraust
+      reblog: Paaugstinātās ziņas nevar piespraust
+    poll:
+      total_people:
+        one: "%{count} persona"
+        other: "%{count} personas"
+        zero: "%{count} personu"
+      total_votes:
+        one: "%{count} balss"
+        other: "%{count} balsis"
+        zero: "%{count} balsu"
+      vote: Balsu skaits
+    show_more: Rādīt vairāk
+    show_newer: Nekad nerādīt
+    show_older: Rādīt senākus
+    show_thread: Rādīt tematu
+    sign_in_to_participate: Lai piedalītos sarunā, pieraksties
+    title: "%{name}: “%{quote}”"
+    visibilities:
+      direct: Tiešs
+      private: Tikai sekotājiem
+      private_long: Rādīt tikai sekotājiem
+      public: Publisks
+      public_long: Visi var redzēt
+      unlisted: Neiekļautie
+      unlisted_long: Ikviens var redzēt, bet nav norādīts publiskajā ziņu lentā
+  statuses_cleanup:
+    enabled: Automātiski dzēst vecās ziņas
+    enabled_hint: Automātiski izdzēš tavas ziņas, tiklīdz tās sasniedz noteiktu vecuma slieksni, ja vien tās neatbilst kādam no tālāk norādītajiem izņēmumiem
+    exceptions: Izņēmumi
+    explanation: Tā kā ziņu dzēšana ir dārga darbība, tā tiek veikta lēnām laika gaitā, kad serveris nav citādi aizņemts. Šī iemesla dēļ tavas ziņas var tikt izdzēstas kādu laiku pēc vecuma sliekšņa sasniegšanas.
+    ignore_favs: Ignorēt izlasi
+    ignore_reblogs: Ignorēt paaugstinātās
+    interaction_exceptions: Izņēmumi, kuru pamatā ir mijiedarbība
+    interaction_exceptions_explanation: Ņem vērā, ka nav garantijas, ka ziņas tiks dzēstas, ja tās ir zemākas par izlases vai paaugstinājuma slieksni pēc to pārsniegšanas.
+    keep_direct: Saglabāt tiešos ziņojumus
+    keep_direct_hint: Nedzēš nevienu tavu tiešo ziņojumu
+    keep_media: Saglabāt ziņas ar mediju pielikumiem
+    keep_media_hint: Neizdzēš nevienu no tavām ziņām, kurām ir mediju pielikumi
+    keep_pinned: Saglabāt piespraustās ziņas
+    keep_pinned_hint: Nedzēš nevienu tavis piesprausto ziņu
+    keep_polls: Saglabāt aptaujas
+    keep_polls_hint: Nedzēš nevienu tavu aptauju
+    keep_self_bookmark: Saglabāt ziņas, kuras esi pievienojis grāmatzīmēm
+    keep_self_bookmark_hint: Neizdzēš tavas ziņas, ja esi tās pievienojis grāmatzīmēm
+    keep_self_fav: Saglabāt ziņas, kuras esi pievienojis izlasei
+    keep_self_fav_hint: Neizdzēš tavas ziņas, ja esi tās pievienojis izlasei
+    min_age:
+      '1209600': 2 nedēļas
+      '15778476': 6 mēneši
+      '2629746': 1 mēnesis
+      '31556952': 1 gads
+      '5259492': 2 mēneši
+      '63113904': 2 gadi
+      '7889238': 3 mēneši
+    min_age_label: Vecuma slieksnis
+    min_favs: Saglabāt ziņas izlsasē vismaz
+    min_favs_hint: Nedzēš nevienu tavu ziņu, kas ir saņēmusi vismaz tik daudz izlases. Atstāj tukšu, lai dzēstu ziņas neatkarīgi no to izlases skaita
+    min_reblogs: Saglabāt ziņas paaugstinātas vismaz
+    min_reblogs_hint: Neizdzēš nevienu no tavām ziņām, kas ir paaugstinātas vismaz tik reižu. Atstāj tukšu, lai dzēstu ziņas neatkarīgi no to paaugstinājumu skaita
+  stream_entries:
+    pinned: Piespraustā ziņa
+    reblogged: paaugstinātās
+    sensitive_content: Sensitīvs saturs
+  tags:
+    does_not_match_previous_name: nesakrīt ar iepriekšējo nosaukumu
+  terms:
+    body_html: |
+      <h2>Privātuma politika</h2>
+      <h3 id="collect">Kādu informāciju mēs apkopojam?</h3>
+
+      <ul>
+        <li><em>Konta pamatinformācija</em>: Ja tu reģistrējies šajā serverī, iespējams, tev tiks lūgts ievadīt lietotājvārdu, e-pasta adresi un paroli. Vari arī ievadīt papildu profila informāciju, piemēram, parādāmo vārdu un biogrāfiju, kā arī augšupielādēt profila attēlu un galvenes attēlu. Lietotājvārds, parādāmais vārds, biogrāfija, profila attēls un galvenes attēls vienmēr ir publiski.</li>
+        <li><em>Ziņas, sekošana un cita publiska informācija</em>: To personu saraksts, kurām tu seko, ir publiski pieejams, tas pats attiecas uz taviem sekotājiem. Iesniedzot ziņojumu, tiek saglabāts datums un laiks, kā arī pieteikums, no kura iesniedzi ziņojumu. Ziņojumos var būt mediju pielikumi, piemēram, attēli un videoklipi. Publiskās un nerindotās ziņas ir pieejamas publiski. Ja savā profilā ievieto ziņu, tā ir arī publiski pieejama informācija. Ziņas tiek piegādātas taviem sekotājiem, dažos gadījumos tas nozīmē, ka tās tiek piegādātas uz dažādiem serveriem un tur tiek glabātas to kopijas. Dzēšot ziņas, tas tāpat tiek piegādāts taviem sekotājiem. Atkārtota emuāra pievienošana vai citas ziņas pievienošana izlasei vienmēr ir publiskas.</li>
+        <li><em>Tiešas un tikai sekotāju ziņas</em>: Visas ziņas tiek glabātas un apstrādātas serverī. Tikai sekotājiem paredzētās ziņas tiek piegādātas taviem sekotājiem un tajās minētajiem lietotājiem, un tiešās ziņas tiek piegādātas tikai tajās minētajiem lietotājiem. Dažos gadījumos tas nozīmē, ka tās tiek piegādātas uz dažādiem serveriem un tur tiek saglabātas kopijas. Mēs godprātīgi cenšamies ierobežot piekļuvi šīm ziņām tikai pilnvarotām personām, taču citiem serveriem tas var neizdoties. Tāpēc ir svarīgi pārskatīt serverus, kuriem pieder tavi sekotāji. Iestatījumos varat manuāli pārslēgt iespēju apstiprināt un noraidīt jaunus sekotājus. <em>Lūdzu, ņemiet vērā, ka servera operatori un jebkura saņēmēja servera operatori var skatīt šādus ziņojumus</em> un adresāti var uzņemt to ekrānšāviņus, kopēt vai citādi atkārtoti kopīgot. <em>Nekopīgo nekādu sensitīvu informāciju, izmantojot Mastodon.</em></li>
+        <li><em>IP un citi metadati</em>: Kad tu piesakies, mēs ierakstām IP adresi, no kuras piesakies, kā arī tavu pārlūkprogrammas un/vai lietojumprogrammas nosaukumu. Visas pieteikušās sesijas ir pieejamas iestatījumos pārskatīšanai un atsaukšanai. Pēdējā izmantotā IP adrese tiek glabāta līdz 12 mēnešiem. Mēs varam arī saglabāt servera žurnālus, kuros ir iekļauta katra mūsu serverim nosūtītā pieprasījuma IP adrese.</li>
+      </ul>
+
+      <hr class="spacer" />
+
+      <h3 id="use">Kam mēs izmantojam tavu informāciju?</h3>
+
+      <p>Jebkuru informāciju, ko mēs apkopojam par tevi, var izmantot šādos veidos:</p>
+
+      <ul>
+        <li>Lai nodrošinātu Mastodon pamatfunkcionalitāti. Tu vari mijiedarboties ar citu personu saturu un izlikt savu saturu tikai tad, kad esi pieteicies. Piemēram, tu vari sekot citām personām, lai skatītu viņu apvienotās ziņas savā personalizētajā mājas laika skalā.</li>
+        <li>Lai palīdzētu regulēt kopienu, piemēram, salīdzinot tavu IP adresi ar citām zināmām, lai noteiktu izvairīšanos no aizlieguma vai citus pārkāpumus.</li>
+        <li>Tevis norādītā e-pasta adrese var tikt izmantota, lai nosūtītu tev informāciju, paziņojumus par citām personām, kas mijiedarbojas ar tavu saturu vai sūta tev ziņojumus, kā arī atbildētu uz jautājumiem un/vai citiem pieprasījumiem vai jautājumiem.</li>
+      </ul>
+
+      <hr class="spacer" />
+
+      <h3 id="protect">Kā mēs aizsargājam tavu informāciju?</h3>
+
+      <p>Mēs ieviešam dažādus drošības pasākumus, lai saglabātu tavas personiskās informācijas drošību, kad ievadi, iesniedz vai piekļūsti savai personas informācijai. Cita starpā pārlūkprogrammas sesija, kā arī datplūsma starp lietojumprogrammām un API ir aizsargāta ar SSL, un tava parole tiek sajaukta, izmantojot spēcīgu vienvirziena algoritmu. Vari iespējot divu faktoru autentifikāciju, lai vēl vairāk aizsargātu piekļuvi savam kontam.</p>
+
+      <hr class="spacer" />
+
+      <h3 id="use">Kam mēs izmantojam tavu informāciju?</h3>
+
+      <p>Jebkuru informāciju, ko mēs apkopojam no jums, var izmantot šādos veidos:</p>
+
+      <ul>
+        <li>Lai nodrošinātu Mastodon pamatfunkcionalitāti. Jūs varat mijiedarboties ar citu personu saturu un izlikt savu saturu tikai tad, kad esat pieteicies. Piemēram, varat sekot citām personām, lai skatītu viņu apvienotās ziņas savā personalizētajā mājas laika skalā.</li>
+        <li>Lai palīdzētu regulēt kopienu, piemēram, salīdzinot jūsu IP adresi ar citām zināmām, lai noteiktu izvairīšanos no aizlieguma vai citus pārkāpumus.</li>
+        <li>Jūsu norādītā e-pasta adrese var tikt izmantota, lai nosūtītu jums informāciju, paziņojumus par citām personām, kas mijiedarbojas ar jūsu saturu vai sūta jums ziņojumus, kā arī atbildētu uz jautājumiem un/vai citiem pieprasījumiem vai jautājumiem.</li>
+      </ul>
+
+      <hr class="spacer" />
+
+      <h3 id="data-retention">Kāda ir mūsu datu saglabāšanas politika?</h3>
+
+      <p>Mēs godprātīgi centīsimies:</p>
+
+      <ul>
+        <li>Saglabājiet servera žurnālus, kuros ir visu šim serverim nosūtīto pieprasījumu IP adrese, ciktāl šādi žurnāli tiek glabāti, ne ilgāk kā 90 dienas.</li>
+        <li>Saglabājiet ar reģistrētajiem lietotājiem saistītās IP adreses ne ilgāk kā 12 mēnešus.</li>
+      </ul>
+
+      <p>Varat pieprasīt un lejupielādēt sava satura arhīvu, tostarp ziņas, multivides pielikumus, profila attēlu un galvenes attēlu.</p>
+
+      <p>Jūs jebkurā laikā varat neatgriezeniski izdzēst savu kontu.</p>
+
+      <hr class="spacer"/>
+
+      <h3 id="cookies">Vai mēs izmantojam sīkfailus?</h3>
+
+      <p>Jā. Sīkfaili ir mazi faili, ko vietne vai tās pakalpojumu sniedzējs pārsūta uz jūsu datora cieto disku, izmantojot jūsu tīmekļa pārlūkprogrammu (ja atļaujat). Šīs sīkdatnes ļauj vietnei atpazīt jūsu pārlūkprogrammu un, ja jums ir reģistrēts konts, saistīt to ar jūsu reģistrēto kontu.</p>
+
+      <p>Mēs izmantojam sīkfailus, lai saprastu un saglabātu jūsu preferences turpmākiem apmeklējumiem.</p>
+
+      <hr class="spacer" />
+
+      <h3 id="disclose">Vai mēs izpaužam kādu informāciju ārējām pusēm?</h3>
+
+      <p>Mēs nepārdodam, netirgojam vai citādi nenododam ārējām pusēm jūsu personu identificējošo informāciju. Tas neietver uzticamas trešās puses, kas palīdz mums darboties mūsu vietnē, veikt mūsu uzņēmējdarbību vai apkalpot jūs, ja vien šīs puses piekrīt saglabāt šīs informācijas konfidencialitāti. Mēs varam arī izpaust jūsu informāciju, ja uzskatām, ka tā ir piemērota, lai ievērotu likumus, īstenotu mūsu vietnes politikas vai aizsargātu mūsu vai citu tiesības, īpašumu vai drošību.</p>
+
+      <p>Jūsu publisko saturu var lejupielādēt citi tīkla serveri. Jūsu publiskās un tikai sekotājiem paredzētās ziņas tiek piegādātas serveros, kur atrodas jūsu sekotāji, un tiešie ziņojumi tiek piegādāti adresātu serveriem, ja šie sekotāji vai adresāti atrodas citā serverī, nevis šajā.</p>
+
+      <p>Kad jūs pilnvarojat lietojumprogrammu izmantot jūsu kontu, atkarībā no jūsu apstiprināto atļauju apjoma, tā var piekļūt jūsu publiskā profila informācijai, jūsu sekojošajam sarakstam, jūsu sekotājiem, sarakstiem, visām jūsu ziņām un jūsu izlasei. Lietojumprogrammas nekad nevar piekļūt jūsu e-pasta adresei vai parolei.</p>
+
+      <hr class="spacer" />
+
+      <h3 id="children">Vietnes lietojums bērniem</h3>
+
+      <p>Ja šis serveris atrodas ES vai EEZ: mūsu vietne, produkti un pakalpojumi ir paredzēti personām, kuras ir vismaz 16 gadus vecas. Ja esat jaunāks par 16 gadiem, neizmantojiet šo vietni atbilstoši GDPR (<a href="https://en.wikipedia.org/wiki/General_Data_Protection_Regulation">Vispārīgās datu aizsardzības regulas</a>) prasībām..</p>
+
+      <p>Ja šis serveris atrodas ASV: mūsu vietne, produkti un pakalpojumi ir paredzēti personām, kuras ir vismaz 13 gadus vecas. Ja esat jaunāks par 13 gadiem, saskaņā ar COPPA (<a href="https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act">Children's Online Privacy Protection Act</a>) prasībām neizmantojiet šajā vietnē.</p>
+
+      <p>Tiesību prasības var atšķirties, ja šis serveris atrodas citā jurisdikcijā.</p>
+
+      <hr class="spacer" />
+
+      <h3 id="changes">Izmaiņas mūsu konfidencialitātes politikā</h3>
+
+      <p>Ja mēs nolemsim mainīt savu konfidencialitātes politiku, mēs publicēsim šīs izmaiņas šajā lapā.</p>
+
+      <p>Šis dokuments ir CC-BY-SA. Pēdējo reizi tas tika atjaunināts 2018. gada 7. martā.</p>
+
+      <p>Sākotnēji pielāgots no <a href="https://github.com/discourse/discourse">Discourse konfidencialitātes politikas</a>.</p>
+    title: "%{instance} Pakalpojuma Noteikumi un Privātuma Politika"
+  themes:
+    contrast: Mastodon (Augsts kontrasts)
+    default: Mastodon (Tumšs)
+    mastodon-light: Mastodon (Gaišs)
+  time:
+    formats:
+      default: "%b %d, %Y, %H:%M"
+      month: "%b %Y"
+      time: "%H:%M"
+  two_factor_authentication:
+    add: Pievienot
+    disable: Atspējot 2FA
+    disabled_success: Divfaktoru autentifikācija veiksmīgi atspējota
+    edit: Rediģēt
+    enabled: Divfaktoru autentifikācija ir iespējota
+    enabled_success: Divfaktoru autentifikācija veiksmīgi iespējota
+    generate_recovery_codes: Ģenerēt atkopšanas kodus
+    lost_recovery_codes: Atkopšanas kodi ļauj atgūt piekļuvi tavam kontam, ja pazaudē tālruni. Ja esi pazaudējis atkopšanas kodus, tu vari tos ģenerēt šeit. Tavi vecie atkopšanas kodi tiks anulēti.
+    methods: Divfaktoru metodes
+    otp: Autentifikātora lietotne
+    recovery_codes: Veidot atkopšanas kodu rezerves kopijas
+    recovery_codes_regenerated: Atkopšanas kodi veiksmīgi atjaunoti
+    recovery_instructions_html: Ja kādreiz zaudēsi piekļuvi savam tālrunim, vari izmantot kādu no tālāk norādītajiem atkopšanas kodiem, lai atgūtu piekļuvi savam kontam. <strong>Glabā atkopšanas kodus drošībā</strong>. Piemēram, tu vari tos izdrukāt un uzglabāt kopā ar citiem svarīgiem dokumentiem.
+    webauthn: Drošības atslēgas
+  user_mailer:
+    backup_ready:
+      explanation: Tu pieprasīji pilnu sava Mastodon konta dublējumu. Tagad tas ir gatavs lejupielādei!
+      subject: Tavs arhīvs ir gatavs lejupielādei
+      title: Arhīva līdzņemšana
+    sign_in_token:
+      details: 'Šeit ir sīkāka informācija par mēģinājumu:'
+      explanation: 'Mēs atklājām mēģinājumu pierakstīties tavā kontā no neatpazītas IP adreses. Ja tas esi tu, lūdzu, ievadi zemāk esošo drošības kodu pierakstīšanās izaicinājumu lapā:'
+      further_actions: 'Ja tas nebiji tu, lūdzu, nomaini paroli un savā kontā iespējo divfaktoru autentifikāciju. To var izdarīt šeit:'
+      subject: Lūdzu, apstiprini pierakstīšanās mēģinājumu
+      title: Pierakstīšanās mēģinājums
+    warning:
+      categories:
+        spam: Spams
+        violation: Saturs pārkāpj šādas kopienas pamatnostādnes
+      explanation:
+        delete_statuses: Ir konstatēts, ka daži no jūsu ierakstiem pārkāpj vienu vai vairākas kopienas vadlīnijas, un pēc tam %{instance} moderatori tos ir izdzēsuši. Turpmāki pārkāpumi var novest pie bargākiem soda pasākumiem pret jūsu kontu.
+        disable: Tu vairs nevari izmantot savu kontu, taču tavs profils un citi dati paliek neskarti. Tu vari pieprasīt savu datu dublējumu, mainīt konta iestatījumus vai dzēst kontu.
+        sensitive: No šī brīža visi augšupielādētie mediju faili tiks atzīmēti kā sensitīvi un paslēpti aiz klikšķa brīdinājuma.
+        silence: Tu joprojām vari izmantot savu kontu, taču tikai tie cilvēki, kuri jau tev seko, redzēs tavas ziņas šajā serverī, un tev var tikt liegtas dažādas atklāšanas funkcijas. Tomēr citi joprojām var tev manuāli sekot.
+        suspend: Tu vairs nevari izmantot savu kontu, un tavs profils un citi dati vairs nav pieejami. Tu joprojām vari pieteikties, lai pieprasītu savu datu dublēšanu, līdz dati tiks pilnībā noņemti aptuveni 30 dienu laikā, taču mēs saglabāsim dažus pamata datus, lai neļautu tev izvairīties no apturēšanas.
+      get_in_touch: Ja uzskati, ka tā ir kļūda, vari atbildēt uz šo e-pastu, lai sazinātos ar %{instance} darbiniekiem.
+      reason: 'Iemesls:'
+      review_server_policies: Pārskati servera politikas
+      statuses: 'Ziņas, kurās tika konstatēti pārkāpumi:'
+      subject:
+        delete_statuses: Tavas ziņas %{acct} tika noņemtas
+        disable: Tavs konts %{acct} tika iesaldēts
+        none: Brīdinājums par %{acct}
+        sensitive: Tavi mediju faili %{acct} turpmāk tiks marķēti kā sensitīvi
+        silence: Tavs konts %{acct} tika ierobežots
+        suspend: Tava konta %{acct} darbība ir apturēta
+      title:
+        delete_statuses: Izdzēstās ziņas
+        disable: Konts iesaldēts
+        none: Brīdinājums
+        sensitive: Paslēptie mediji
+        silence: Konts ierobežots
+        suspend: Konts apturēts
+    welcome:
+      edit_profile_action: Iestatīt profilu
+      edit_profile_step: Vari pielāgot savu profilu, augšupielādējot avataru, galveni, mainot parādāmo vārdu un daudz ko citu. Ja vēlies pārskatīt jaunus sekotājus, pirms viņiem ir atļauts tev sekot, tu vari bloķēt savu kontu.
+      explanation: Šeit ir daži padomi, kā sākt darbu
+      final_action: Sāc publicēt
+      final_step: 'Sāc publicēt! Pat bez sekotājiem tavas publiskās ziņas var redzēt citi, piemēram, vietējā ziņu lentā un atsaucēs. Iespējams, tu vēlēsies iepazīstināt ar sevi, izmantojot tēmturi #introductions.'
+      full_handle: Tavs pilnais rokturis
+      full_handle_hint: Šis ir tas, ko tu pasaki saviem draugiem, lai viņi varētu tev ziņot vai sekot tev no cita servera.
+      review_preferences_action: Mainīt preferences
+      review_preferences_step: Noteikti iestati savas preferences, piemēram, kādus e-pasta ziņojumus vēlies saņemt vai kādu konfidencialitātes līmeni vēlies iestatīt savām ziņām pēc noklusējuma. Ja tev nav kustību slimības, vari izvēlēties iespējot GIF automātisko atskaņošanu.
+      subject: Laipni lūgts Mastodon
+      tip_federated_timeline: Apvienotā ziņu lenta ir skats caur ugunsdzēsības šļūteni uz Mastodon tīklu. Bet tajā ir iekļauti tikai tie cilvēki, kurus abonē tavi kaimiņi, tāpēc tas nav pilnīgs.
+      tip_following: Pēc noklusējuma tu seko sava servera administratoram(-iem). Lai atrastu vairāk interesantu cilvēku, pārbaudi vietējās un federālās ziņu lentas.
+      tip_local_timeline: Vietējā ziņu lenta ir skats caur ugunsdzēsības šļūteni uz %{instance}. Tie ir tavi tuvākie kaimiņi!
+      tip_mobile_webapp: Ja tava mobilā pārlūkprogramma piedāvā pievienot Mastodon sākuma ekrānam, vari saņemt push paziņojumus. Daudzējādi tā darbojas kā vietējā lietotne!
+      tips: Padomi
+      title: Laipni lūgts uz borta, %{name}!
+  users:
+    follow_limit_reached: Tu nevari sekot vairāk par %{limit} cilvēkiem
+    generic_access_help_html: Vai nevari piekļūt savam kontam? Lai saņemtu palīdzību, tu vari sazināties ar %{email}
+    invalid_otp_token: Nederīgs divfaktora kods
+    invalid_sign_in_token: Nederīgs drošības kods
+    otp_lost_help_html: Ja esi zaudējis piekļuvi abiem, tu vari sazināties ar %{email}
+    seamless_external_login: Tu esi pieteicies, izmantojot ārēju pakalpojumu, tāpēc paroles un e-pasta iestatījumi nav pieejami.
+    signed_in_as: 'Pierakstījies kā:'
+    suspicious_sign_in_confirmation: Šķiet, ka tu iepriekš neesi pieteicies no šīs ierīces, tāpēc mēs nosūtām drošības kodu uz tavu e-pasta adresi, lai apstiprinātu, ka tas esi tu.
+  verification:
+    explanation_html: 'Tu vari <strong>apstiprināt sevi kā sava profila metadatos esošo saišu īpašnieku</strong>. Lai to izdarītu, saistītajā vietnē ir jābūt saitei uz tavu Mastodon profilu. Atpakaļsaitē <strong>jābūt</strong> atribūtam <code>rel="me"</code>. Saites teksta saturam nav nozīmes. Šeit ir piemērs:'
+    verification: Pārbaude
+  webauthn_credentials:
+    add: Pievienot jaunu drošības atslēgu
+    create:
+      error: Pievienojot drošības atslēgu, radās problēma. Lūdzu mēģini vēlreiz.
+      success: Tava drošības atslēga tika veiksmīgi pievienota.
+    delete: Dzēst
+    delete_confirmation: Vai tiešām vēlies dzēst šo drošības atslēgu?
+    description_html: Ja iespējosi <strong>drošības atslēgas autentifikāciju</strong>, piesakoties būs jāizmanto viena no tavām drošības atslēgām.
+    destroy:
+      error: Dzēšot tavu drošības atslēgu, radās problēma. Lūdzu mēģini vēlreiz.
+      success: Tava drošības atslēga tika veiksmīgi izdēsta.
+    invalid_credential: Nederīga drošības atslēga
+    nickname_hint: Ievadi savas jaunās drošības atslēgas segvārdu
+    not_enabled: Tu vel neesi iespējojis WebAuthn
+    not_supported: Šī pārlūkprogramma neatbalsta drošības atslēgas
+    otp_required: Lai izmantotu drošības atslēgas, lūdzu, vispirms iespējo divfaktoru autentifikāciju.
+    registered_on: Reģistrēts %{date}
diff --git a/config/locales/ml.yml b/config/locales/ml.yml
index 1d6cbaf22..47ed7ed1c 100644
--- a/config/locales/ml.yml
+++ b/config/locales/ml.yml
@@ -46,7 +46,6 @@ ml:
     accounts:
       add_email_domain_block: ഇ-മെയിൽ ഡൊമെയ്ൻ തടയുക
       approve: അംഗീകരിക്കുക
-      approve_all: എല്ലാം അംഗീകരിക്കുക
       are_you_sure: നിങ്ങൾക്ക് ഉറപ്പാണോ?
       avatar: അവതാർ
       by_domain: മേഖല
diff --git a/config/locales/ms.yml b/config/locales/ms.yml
index 3305c17c9..b38b9279a 100644
--- a/config/locales/ms.yml
+++ b/config/locales/ms.yml
@@ -95,7 +95,6 @@ ms:
     accounts:
       add_email_domain_block: Sekat domain e-mel
       approve: Luluskan
-      approve_all: Luluskan semua
       approved_msg: Berjaya meluluskan permohonan pendaftaran %{username}
       are_you_sure: Adakah anda pasti?
       avatar: Avatar
@@ -147,7 +146,6 @@ ms:
         active: Aktif
         all: Semua
         pending: Menunggu
-        silenced: Didiamkan
         suspended: Digantungkan
         title: Penyederhanaan
       moderation_notes: Catatan penyederhana
@@ -165,7 +163,6 @@ ms:
       redownload: Segarkan semula profil
       redownloaded_msg: Berjaya segarkan semula profil %{username} daripada asalnya
       reject: Tolak
-      reject_all: Tolak semua
       rejected_msg: Berjaya menolak permohonan pendaftaran %{username}
       remove_avatar: Buang avatar
       remove_header: Buang pengepala
@@ -200,7 +197,6 @@ ms:
       suspended: Digantung
       suspension_irreversible: Data akaun ini telah dipadam secara kekal. Anda boleh nyahgantungkannya untuk membuatkan akaun ini boleh digunakan semula tetapi data lama tidak akan diperolehi.
       suspension_reversible_hint_html: Akaun ini telah digantung, dan datanya akan dibuang pada %{date}. Sebelum tarikh itu, akaun ini boleh diperoleh semula tanpa kesan buruk. Jika anda mahu memadamkan kesemua data akaun ini serta-merta, anda boleh melakukannya di bawah.
-      time_in_queue: Menunggu giliran %{time}
       title: Akaun
       unconfirmed_email: E-mel belum disahkan
       undo_sensitized: Nyahtanda sensitif
@@ -483,8 +479,6 @@ ms:
         title: Cipta peraturan alamat IP baharu
       no_ip_block_selected: Tiada peraturan alamat IP diubah kerana tiada yang dipilih
       title: Peraturan alamat IP
-    pending_accounts:
-      title: Akaun sedang menunggu (%{count})
     relationships:
       title: Hubungan %{acct}
     relays:
@@ -510,8 +504,6 @@ ms:
       account:
         notes:
           other: "%{count} catatan"
-        reports:
-          other: "%{count} laporan"
       action_taken_by: Tindakan diambil oleh
       are_you_sure: Adakah anda pasti?
       assign_to_self: Menugaskan kepada saya
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index 7a7773f46..723e7de9c 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -42,7 +42,7 @@ nl:
       rejecting_media: 'Mediabestanden van deze server worden niet verwerkt en er worden geen thumbnails getoond. Je moet handmatig naar deze server doorklikken om de mediabestanden te kunnen bekijken:'
       rejecting_media_title: Mediabestanden geweigerd
       silenced: Toots van deze server worden nergens weergegeven, behalve op jouw eigen starttijdlijn wanneer je het account volgt.
-      silenced_title: Genegeerde servers
+      silenced_title: Beperkte servers
       suspended: Je bent niet in staat om iemand van deze server te volgen, en er worden geen gegevens van deze server verwerkt of opgeslagen, en met deze server uitgewisseld.
       suspended_title: Opgeschorte servers
     unavailable_content_html: Met Mastodon kun je in het algemeen berichten bekijken van en communiceren met gebruikers van elke andere server in de fediverse. Dit zijn de uitzonderingen die door deze server zijn gemaakt en expliciet alleen hier gelden.
@@ -97,7 +97,6 @@ nl:
     accounts:
       add_email_domain_block: E-maildomein blokkeren
       approve: Goedkeuren
-      approve_all: Alles goedkeuren
       approved_msg: Het goedkeuren van het registratieverzoek van %{username} is geslaagd
       are_you_sure: Weet je het zeker?
       avatar: Avatar
@@ -112,6 +111,7 @@ nl:
       confirm: Bevestigen
       confirmed: Bevestigd
       confirming: Bevestiging
+      custom: Handmatig
       delete: Gegevens verwijderen
       deleted: Verwijderd
       demote: Degraderen
@@ -149,7 +149,6 @@ nl:
         active: Actief
         all: Alles
         pending: In afwachting
-        silenced: Genegeerd
         suspended: Opgeschort
         title: Moderatie
       moderation_notes: Opmerkingen voor moderatoren
@@ -167,7 +166,6 @@ nl:
       redownload: Profiel vernieuwen
       redownloaded_msg: Het herstellen van het oorspronkelijke profiel van %{username} is geslaagd
       reject: Afkeuren
-      reject_all: Alles afkeuren
       rejected_msg: Het afwijzen van het registratieverzoek van %{username} is geslaagd
       remove_avatar: Avatar verwijderen
       remove_header: Omslagfoto verwijderen
@@ -189,7 +187,7 @@ nl:
       search: Zoeken
       search_same_email_domain: Andere gebruikers met hetzelfde e-maildomein
       search_same_ip: Andere gebruikers met hetzelfde IP-adres
-      sensitive: Gevoelig
+      sensitive: Gevoelig forceren
       sensitized: als gevoelig gemarkeerd
       shared_inbox_url: Gedeelde inbox-URL
       show:
@@ -202,11 +200,10 @@ nl:
       suspended: Opgeschort
       suspension_irreversible: De gegevens van dit account zijn onomkeerbaar verwijderd. Je kunt het opschorten van dit account ongedaan maken zodat het weer valt te gebruiken, maar de verwijderde gegevens worden hiermee niet hersteld.
       suspension_reversible_hint_html: Dit account is opgeschort en de gegevens worden volledig verwijderd op %{date}. Tot die tijd kan dit account worden hersteld zonder nadelige gevolgen. Wanneer je alle gegevens van dit account onmiddellijk wilt verwijderen, kun je dit hieronder doen.
-      time_in_queue: "%{time} in de wachtrij"
       title: Accounts
       unconfirmed_email: Onbevestigd e-mailadres
-      undo_sensitized: Niet meer als gevoelig markeren
-      undo_silenced: Niet langer negeren
+      undo_sensitized: Niet meer als gevoelig forceren
+      undo_silenced: Niet langer beperken
       undo_suspension: Niet langer opschorten
       unsilenced_msg: Het opheffen van de beperkingen van %{username} zijn geslaagd
       unsubscribe: Opzeggen
@@ -488,8 +485,6 @@ nl:
         title: Nieuwe IP-regel aanmaken
       no_ip_block_selected: Er zijn geen IP-regels veranderd, omdat er geen een was geselecteerd
       title: IP-regels
-    pending_accounts:
-      title: Accounts in afwachting (%{count})
     relationships:
       title: Relaties van %{acct}
     relays:
@@ -516,9 +511,6 @@ nl:
         notes:
           one: "%{count} opmerking"
           other: "%{count} opmerkingen"
-        reports:
-          one: "%{count} rapportage"
-          other: "%{count} rapportages"
       action_taken_by: Actie uitgevoerd door
       are_you_sure: Weet je het zeker?
       assign_to_self: Aan mij toewijzen
@@ -649,15 +641,9 @@ nl:
       destroyed_msg: Verwijderen website-upload geslaagd!
     statuses:
       back_to_account: Terug naar accountpagina
-      batch:
-        delete: Verwijderen
-        nsfw_off: Als niet gevoelig markeren
-        nsfw_on: Als gevoelig markeren
       deleted: Verwijderd
-      failed_to_execute: Uitvoeren mislukt
       media:
         title: Media
-      no_media: Geen media
       no_status_selected: Er werden geen toots gewijzigd, omdat er geen enkele werd geselecteerd
       title: Toots van account
       with_media: Met media
@@ -670,19 +656,7 @@ nl:
       sidekiq_process_check:
         message_html: Er draait geen Sidekiqproces voor de wachtrij(en) %{value}. Controleer je Sidekiqconfiguratie
     tags:
-      accounts_today: Aantal verschillende keren vandaag gebruikt
-      accounts_week: Aantal verschillende keren deze week gebruikt
-      breakdown: Uitsplitsing van het gebruik van vandaag naar bron
-      last_active: Laatst actief
-      most_popular: Meest populair
-      most_recent: Meest recent
-      name: Hashtag
       review: Status beoordelen
-      reviewed: Beoordeeld
-      title: Hashtags
-      trending_right_now: Op dit moment trending
-      unique_uses_today: "%{count} keer vandaag gebruikt"
-      unreviewed: Niet beoordeeld
       updated_msg: Instellingen hashtag succesvol bijgewerkt
     title: Beheer
     warning_presets:
@@ -699,9 +673,6 @@ nl:
       body: "%{reporter} heeft %{target} gerapporteerd"
       body_remote: Iemand van %{domain} heeft %{target} gerapporteerd
       subject: Nieuwe rapportage op %{instance} (#%{id})
-    new_trending_tag:
-      body: 'De hashtag #%{name} is vandaag trending, maar is nog niet beoordeeld. Het wordt niet in het openbaar getoond alvorens je de hashtag goedkeurt. Je kunt ook het formulier zoals het nu is opslaan, waarna je er niks meer over zult horen.'
-      subject: Nieuwe hashtag te beoordelen op %{instance} (#%{name})
   aliases:
     add_new: Alias aanmaken
     created_msg: Succesvol een nieuwe alias aangemaakt. Je kunt nu met de verhuizing vanaf het oude account beginnen.
@@ -908,7 +879,6 @@ nl:
     changes_saved_msg: Wijzigingen succesvol opgeslagen!
     copy: Kopiëren
     delete: Verwijderen
-    no_batch_actions_available: Geen batchacties op deze pagina beschikbaar
     order_by: Sorteer op
     save_changes: Wijzigingen opslaan
     validation_errors:
@@ -916,26 +886,6 @@ nl:
       other: Er is iets niet helemaal goed! Bekijk onderstaande %{count} fouten
   html_validator:
     invalid_markup: 'bevat ongeldige HTML-opmaak: %{error}'
-  identity_proofs:
-    active: Actief
-    authorize: Ja, autoriseren
-    authorize_connection_prompt: Deze cryptografische verbinding autoriseren?
-    errors:
-      failed: De cryptografische verbinding is mislukt. Probeer het opnieuw vanaf %{provider}.
-      keybase:
-        invalid_token: Keybasetokens zijn hashes van handtekeningen en moeten een lengte hebben van 66 hexadecimale tekens
-        verification_failed: Keybase herkent deze token niet als een handtekening van Keybasegebruiker %{kb_username}. Probeer het opnieuw vanuit Keybase.
-      wrong_user: Er kan geen bewijs worden aangemaakt voor %{proving} terwijl je bent ingelogd als %{current}. Log in als %{proving} en probeer het opnieuw.
-    explanation_html: Hier kun je met behulp van cryptografie jouw andere identiteiten verbinden, zoals een Keybaseprofiel. Hiermee kunnen andere mensen jou versleutelde berichten sturen en inhoud die jij verstuurt vertrouwen.
-    i_am_html: Ik ben %{username} op %{service}.
-    identity: Identiteit
-    inactive: Inactief
-    publicize_checkbox: 'En toot dit:'
-    publicize_toot: 'Het is bewezen! Ik ben %{username} op %{service}: %{url}'
-    remove: Bewijs uit account verwijderen
-    removed: Bewijs is succesvol uit account verwijderd
-    status: Verificatiestatus
-    view_proof: Bekijk bewijs
   imports:
     errors:
       over_rows_processing_limit: bevat meer dan %{count} rijen
@@ -1197,7 +1147,6 @@ nl:
     edit_profile: Profiel bewerken
     export: Exporteren
     featured_tags: Uitgelichte hashtags
-    identity_proofs: Identiteitsbewijzen
     import: Importeren
     import_and_export: Importeren en exporteren
     migrate: Accountmigratie
@@ -1226,13 +1175,11 @@ nl:
       other: 'bevatte niet toegestane hashtags: %{tags}'
     errors:
       in_reply_not_found: De toot waarop je probeert te reageren lijkt niet te bestaan.
-    language_detection: Taal automatisch detecteren
     open_in_web: In de webapp openen
     over_character_limit: Limiet van %{max} tekens overschreden
     pin_errors:
       limit: Je hebt het maximaal aantal toots al vastgezet
       ownership: Een toot van iemand anders kan niet worden vastgezet
-      private: Alleen openbare toots kunnen worden vastgezet
       reblog: Een boost kan niet worden vastgezet
     poll:
       total_people:
@@ -1380,24 +1327,15 @@ nl:
       subject: Bevestig de inlogpoging
       title: Inlogpoging
     warning:
-      explanation:
-        disable: Zolang jouw account is bevroren blijven jouw accountgegevens intact, maar kun je geen handelingen uitvoeren totdat het account is vrijgegeven.
-        sensitive: De mediabestanden die je upload en gekoppelde media worden als gevoelig behandeld.
-        silence: Zolang jouw account wordt beperkt, kunnen alleen mensen die jou al volgen jouw toots op deze server zien. Tevens ben je niet zichtbaar in meldingen, gesprekken en op openbare tijdlijnen. Anderen kunnen je echter wel handmatig volgen.
-        suspend: Jouw account is opgeschort. Jouw toots en geüploade media zijn onomkeerbaar van deze server verwijderd, en ook o.a. van de servers waar jij volgers had.
-      get_in_touch: Je kunt deze e-mail beantwoorden om in contact te komen met de medewerkers van %{instance}.
       review_server_policies: Serverbeleid bekijken
-      statuses: 'Met name voor:'
       subject:
         disable: Jouw account %{acct} is bevroren
         none: Waarschuwing voor %{acct}
-        sensitive: De door jouw account %{acct} geplaatste media is als gevoelig gemarkeerd
         silence: Jouw account %{acct} is nu beperkt
         suspend: Jouw account %{acct} is opgeschort
       title:
         disable: Account bevroren
         none: Waarschuwing
-        sensitive: Jouw media is als gevoelig gemarkeerd
         silence: Account beperkt
         suspend: Account opgeschort
     welcome:
diff --git a/config/locales/nn.yml b/config/locales/nn.yml
index 005523a9f..d75e8bb87 100644
--- a/config/locales/nn.yml
+++ b/config/locales/nn.yml
@@ -97,7 +97,6 @@ nn:
     accounts:
       add_email_domain_block: Gøym e-postdomene
       approve: Godtak
-      approve_all: Godtak alle
       approved_msg: Godkjent %{username} sin registreringsapplikasjon
       are_you_sure: Er du sikker?
       avatar: Bilete
@@ -151,7 +150,6 @@ nn:
         active: Aktiv
         all: Alle
         pending: Ventar på svar
-        silenced: Dempa
         suspended: Utvist
         title: Moderasjon
       moderation_notes: Moderasjonsmerknader
@@ -169,7 +167,6 @@ nn:
       redownload: Last inn profil på nytt
       redownloaded_msg: Oppdatert %{username} sin profil fra opprinnelse
       reject: Avvis
-      reject_all: Avvis alle
       rejected_msg: Vellykket avvist %{username} sin registreringsapplikasjon
       remove_avatar: Fjern bilete
       remove_header: Fjern overskrift
@@ -207,7 +204,6 @@ nn:
       suspended: Utvist
       suspension_irreversible: Dataene fra denne kontoen har blitt ikke reverserbart slettet. Du kan oppheve suspenderingen av kontoen for å gjøre den brukbart, men den vil ikke gjenopprette alle data den tidligere har hatt.
       suspension_reversible_hint_html: Kontoen har blitt suspendert, og dataene vil bli fullstendig fjernet den %{date}. Frem til da kan kontoen gjenopprettes uten negative effekter. Hvis du ønsker å fjerne alle kontoens data umiddelbart, kan du gjøre det nedenfor.
-      time_in_queue: Ventar i kø %{time}
       title: Kontoar
       unconfirmed_email: E-post utan stadfesting
       undo_silenced: Angr målbinding
@@ -222,6 +218,7 @@ nn:
       whitelisted: Kvitlista
     action_logs:
       action_types:
+        approve_user: Godkjenn bruker
         assigned_to_self_report: Tilordne rapport
         change_email_user: Byt e-post for brukar
         confirm_user: Stadfest brukar
@@ -246,6 +243,7 @@ nn:
         enable_custom_emoji: Skruv på tilpassa emoji
         enable_user: Skruv på brukar
         promote_user: Forfrem brukar
+        reject_user: Avvis bruker
         remove_avatar_user: Fjern avatar
         reopen_report: Opn rapport opp att
         reset_password_user: Tilbakestill passord
@@ -257,11 +255,13 @@ nn:
         update_custom_emoji: Oppdater tilpassa emoji
         update_status: Oppdater tut
       actions:
+        approve_user_html: "%{name} godkjente registrering fra %{target}"
         create_custom_emoji_html: "%{name} lastet opp ny emoji %{target}"
         create_domain_allow_html: "%{name} tillatt føderasjon med domenet %{target}"
         create_domain_block_html: "%{name} blokkert domene %{target}"
         create_email_domain_block_html: "%{name} blokkert e-post domene %{target}"
         create_ip_block_html: "%{name} opprettet regel for IP %{target}"
+        reject_user_html: "%{name} avslo registrering fra %{target}"
         silence_account_html: "%{name} begrenset %{target} sin konto"
       deleted_status: "(sletta status)"
       empty: Ingen loggar funne.
@@ -319,9 +319,19 @@ nn:
       updated_msg: Kjensleteiknet er oppdatert!
       upload: Last opp
     dashboard:
+      active_users: aktive brukere
+      interactions: interaksjoner
+      media_storage: Medialagring
+      new_users: nye brukere
+      opened_reports: rapporter åpnet
+      resolved_reports: rapporter løst
       software: Programvare
+      sources: Kilder for registreringer
       space: Lagrinsplass nytta
       title: Dashbord
+      top_languages: Mest aktive språk
+      top_servers: Mest aktive servere
+      website: Nettside
     domain_allows:
       add_new: Kvitlist domene
       created_msg: Domene er vorte kvitlista
@@ -441,8 +451,6 @@ nn:
         title: Opprett ny IP-regel
       no_ip_block_selected: Ingen IP-regler ble endret da ingen ble valgt
       title: IP-regler
-    pending_accounts:
-      title: Kontoar som ventar (%{count})
     relationships:
       title: "%{acct} sitt forhold"
     relays:
@@ -469,9 +477,6 @@ nn:
         notes:
           one: "%{count} notis"
           other: "%{count} notiser"
-        reports:
-          one: "%{count} rapport"
-          other: "%{count} rapporter"
       action_taken_by: Handling gjort av
       are_you_sure: Er du sikker?
       assign_to_self: Tilegn til meg
@@ -601,15 +606,9 @@ nn:
       destroyed_msg: Vellukka sletting av sideopplasting!
     statuses:
       back_to_account: Tilbake til kontosida
-      batch:
-        delete: Slett
-        nsfw_off: NSFW AV
-        nsfw_on: NSFW PÅ
       deleted: Sletta
-      failed_to_execute: Lét seg ikkje gjera
       media:
         title: Media
-      no_media: Ingen media
       no_status_selected: Ingen statusar vart endra sidan ingen vart valde
       title: Kontostatusar
       with_media: Med media
@@ -620,19 +619,7 @@ nn:
         action: Behandle serverregler
         message_html: Du har ikke definert noen serverregler.
     tags:
-      accounts_today: Ulike brukarar i dag
-      accounts_week: Unike brukstilfeller denne uken
-      breakdown: Oversyn over bruk i dag etter kjelde
-      last_active: Sist aktiv
-      most_popular: Mest populær
-      most_recent: Nyast
-      name: Emneknagg
       review: Sjå gjennom status
-      reviewed: Gjennomgått
-      title: Emneknaggar
-      trending_right_now: Populært no
-      unique_uses_today: "%{count} legg ut i dag"
-      unreviewed: Ikkje gjennomgått
       updated_msg: Emneknagginnstillingane er oppdaterte
     title: Leiing
     warning_presets:
@@ -648,9 +635,6 @@ nn:
       body: "%{reporter} har rapportert %{target}"
       body_remote: Nokon frå %{domain} har meldt %{target}
       subject: Ny rapport for %{instance} (#%{id})
-    new_trending_tag:
-      body: 'Emneknaggen #%{name} trender i dag, men den har ikke blitt gjennomgått tidligere. Den vil ikke bli vist offentlig med mindre du tillater at den blir det, eller du kan bare lagre skjemaet slik det er for å aldri høre om det igjen.'
-      subject: Ny emneknagg ventar gjennomgang på %{instance} (#%{name})
   aliases:
     add_new: Lag psevdonym
     created_msg: Laga eit nytt kallenamn. No kan du setja i gang med flyttinga frå den gamle kontoen.
@@ -850,33 +834,14 @@ nn:
     changes_saved_msg: Alle endringane vart lagra!
     copy: Kopier
     delete: Slett
-    no_batch_actions_available: Ingen batch-handlingar tilgjengelege på denne sida
     order_by: Sorter etter
     save_changes: Lagr endringar
+    today: i dag
     validation_errors:
       one: Noe er ikke helt riktig ennå. Vennligst se etter en gang til
       other: Noe er ikke helt riktig ennå. Det er ennå %{count} feil å rette på
   html_validator:
     invalid_markup: 'rommar ugild HTML-kode: %{error}'
-  identity_proofs:
-    active: Aktiv
-    authorize: Ja, stadfest
-    authorize_connection_prompt: Vil du autorisere denne kryptografiske forbindelsen?
-    errors:
-      failed: Den kryptografiske tilkoplinga gjekk gale. Venlegast prøv om att frå %{provider}.
-      keybase:
-        verification_failed: Keybase kjenner ikke igjen denne sjetongen som en signatur for Keybase-brukeren %{kb_username}. Vennligst prøv igjen gjennom Keybase.
-      wrong_user: Kan ikke lage et bevis for %{proving} mens du er logget på som %{current}. Logg på som %{proving} og prøv igjen.
-    explanation_html: Her kan du kryptografisk koble til dine andre enheter, f.eks. en Keybase-profil. Dette lar andre folk sende deg krypterte meldinger og stole på innhold som du sender dem.
-    i_am_html: Eg er %{username} på %{service}.
-    identity: Identitet
-    inactive: Uaktiv
-    publicize_checkbox: 'Og tut dette:'
-    publicize_toot: 'Det er prova! Eg er %{username} på %{service}: %{url}'
-    remove: Fjern prov frå konto
-    removed: Vellukka fjerning av prov frå konto
-    status: Stadfestingsstatus
-    view_proof: Sjå prov
   imports:
     modes:
       merge: Set saman
@@ -1137,7 +1102,6 @@ nn:
     edit_profile: Endr profil
     export: Dataeksport
     featured_tags: Utvalgte emneknagger
-    identity_proofs: Identitetsprov
     import: Hent inn
     import_and_export: Importer og eksporter
     migrate: Kontoflytting
@@ -1166,13 +1130,12 @@ nn:
       other: 'inneheldt emneknaggen som ikkje var tillaten: %{tags}'
     errors:
       in_reply_not_found: Det ser ut til at tutet du freistar å svara ikkje finst.
-    language_detection: Kjenn att språk automatisk
     open_in_web: Opn på nett
     over_character_limit: øvregrensa for teikn, %{max}, er nådd
     pin_errors:
+      direct: Innlegg som bare er synlige for nevnte brukere kan ikke festes
       limit: Du har allereie festa så mange tut som det går an å festa
       ownership: Du kan ikkje festa andre sine tut
-      private: Du kan ikkje festa uoffentlege tut
       reblog: Ei framheving kan ikkje festast
     poll:
       total_people:
@@ -1319,24 +1282,15 @@ nn:
       subject: Venlegast stadfest forsøket på å logga inn
       title: Forsøk på å logga inn
     warning:
-      explanation:
-        disable: Mens kontoen din er fryst, forblir dine kontodata intakt, men du kan ikke utføre noen handlinger før den har blitt tint opp.
-        sensitive: De opplastede mediefilene og linket vil bli behandlet som sensitive.
-        silence: Mens kontoen din er begrenset, vil bare folk som allerede følger deg se dine tuter på denne tjeneren, og du kan bli ekskludert fra diverse offentlige oppføringer. Men andre kan fortsatt følge deg manuelt.
-        suspend: Kontoen din har blitt suspendert, og alle dine tuter og opplastede media har blitt ugjenkallelig fjernet fra denne tjeneren, og fra tjenere der du hadde følgere.
-      get_in_touch: Du kan svare på denne E-posten for å komme i kontakt med styret i %{instance}.
       review_server_policies: Gjennomgå serverretningslinjer
-      statuses: 'Spesifikt for å:'
       subject:
         disable: Kontoen din, %{acct}, har blitt fryst
         none: Åtvaring for %{acct}
-        sensitive: Din konto %{acct} medier har blitt merket som følsom
         silence: Kontoen din, %{acct}, er vorten avgrensa
         suspend: Kontoen din, %{acct}, er vorten utvist
       title:
         disable: Konto frosen
         none: Åtvaring
-        sensitive: Mediet ditt er markert som følsom
         silence: Konto avgrensa
         suspend: Konto utvist
     welcome:
diff --git a/config/locales/no.yml b/config/locales/no.yml
index 668efca9c..088812fb1 100644
--- a/config/locales/no.yml
+++ b/config/locales/no.yml
@@ -97,7 +97,6 @@
     accounts:
       add_email_domain_block: Svartelist E-postdomenet
       approve: Godkjenn
-      approve_all: Godkjenn alle
       approved_msg: Godkjent %{username} sin registreringsapplikasjon
       are_you_sure: Er du sikker?
       avatar: Profilbilde
@@ -151,7 +150,6 @@
         active: Aktive
         all: Alle
         pending: Avventer
-        silenced: Målbundet
         suspended: Utvist
         title: Moderasjon
       moderation_notes: Moderasjonsnotater
@@ -169,7 +167,6 @@
       redownload: Oppdater avatar
       redownloaded_msg: Oppdatert %{username} sin profil fra opprinnelse
       reject: Avslå
-      reject_all: Avslå alle
       rejected_msg: Vellykket avvist %{username} sin registreringsapplikasjon
       remove_avatar: Fjern profilbilde
       remove_header: Fjern overskrift
@@ -207,7 +204,6 @@
       suspended: Suspendert
       suspension_irreversible: Dataene fra denne kontoen har blitt ikke reverserbart slettet. Du kan oppheve suspenderingen av kontoen for å gjøre den brukbart, men den vil ikke gjenopprette alle data den tidligere har hatt.
       suspension_reversible_hint_html: Kontoen har blitt suspendert, og dataene vil bli fullstendig fjernet den %{date}. Frem til da kan kontoen gjenopprettes uten negative effekter. Hvis du ønsker å fjerne alle kontoens data umiddelbart, kan du gjøre det nedenfor.
-      time_in_queue: Venter i kø %{time}
       title: Kontoer
       unconfirmed_email: Ubekreftet E-postadresse
       undo_silenced: Angre målbinding
@@ -222,6 +218,7 @@
       whitelisted: Hvitelistet
     action_logs:
       action_types:
+        approve_user: Godkjenn bruker
         assigned_to_self_report: Tilordne rapport
         change_email_user: Endre brukerens E-postadresse
         confirm_user: Bekreft brukeren
@@ -243,6 +240,7 @@
         enable_custom_emoji: Skru på tilpassede emojier
         enable_user: Aktiver bruker
         promote_user: Promoter bruker
+        reject_user: Avvis bruker
         remove_avatar_user: Fjern Avatar
         reopen_report: Gjenåpne rapporten
         reset_password_user: Tilbakestill passord
@@ -254,11 +252,13 @@
         update_custom_emoji: Oppdater tilpasset Emoji
         update_status: Oppdater statusen
       actions:
+        approve_user_html: "%{name} godkjente registrering fra %{target}"
         create_custom_emoji_html: "%{name} lastet opp ny emoji %{target}"
         create_domain_allow_html: "%{name} tillatt føderasjon med domenet %{target}"
         create_domain_block_html: "%{name} blokkert domene %{target}"
         create_email_domain_block_html: "%{name} blokkert e-post domene %{target}"
         create_ip_block_html: "%{name} opprettet regel for IP %{target}"
+        reject_user_html: "%{name} avslo registrering fra %{target}"
         silence_account_html: "%{name} begrenset %{target} sin konto"
       deleted_status: "(statusen er slettet)"
       empty: Ingen loggføringer ble funnet.
@@ -321,15 +321,6 @@
       media_storage: Medialagring
       new_users: nye brukere
       opened_reports: rapporter åpnet
-      pending_reports_html:
-        one: "<strong>1</strong> ventende rapport"
-        other: "<strong>%{count}</strong> ventende rapporter"
-      pending_tags_html:
-        one: "<strong>1</strong> ventende hashtag"
-        other: "<strong>%{count}</strong> ventende hashtags"
-      pending_users_html:
-        one: "<strong>1</strong> ventende bruker"
-        other: "<strong>%{count}</strong> ventende brukere"
       resolved_reports: rapporter løst
       software: Programvare
       sources: Kilder for registreringer
@@ -457,8 +448,6 @@
         title: Opprett ny IP-regel
       no_ip_block_selected: Ingen IP-regler ble endret da ingen ble valgt
       title: IP-regler
-    pending_accounts:
-      title: Avventende brukere (%{count})
     relationships:
       title: "%{acct} sitt forhold"
     relays:
@@ -485,9 +474,6 @@
         notes:
           one: "%{count} notis"
           other: "%{count} notiser"
-        reports:
-          one: "%{count} rapport"
-          other: "%{count} rapporter"
       action_taken_by: Handling utført av
       are_you_sure: Er du sikker?
       assign_to_self: Tilegn til meg
@@ -617,15 +603,9 @@
       destroyed_msg: Vellykket sletting av sideopplasting!
     statuses:
       back_to_account: Tilbake til kontosiden
-      batch:
-        delete: Slett
-        nsfw_off: NSFW AV
-        nsfw_on: NSFW PÅ
       deleted: Slettet
-      failed_to_execute: Utføring mislyktes
       media:
         title: Media
-      no_media: Ingen media
       no_status_selected: Ingen statuser ble endret da ingen ble valgt
       title: Kontostatuser
       with_media: Med media
@@ -636,18 +616,7 @@
         action: Behandle serverregler
         message_html: Du har ikke definert noen serverregler.
     tags:
-      accounts_today: Ulike brukere i dag
-      accounts_week: Unike brukstilfeller denne uken
-      last_active: Senest aktiv
-      most_popular: Mest populært
-      most_recent: Nyligst
-      name: Emneknagg
       review: Gjennomgangsstatus
-      reviewed: Gjennomgått
-      title: Emneknagger
-      trending_right_now: Trender akkurat nå
-      unique_uses_today: "%{count} legger ut om det i dag"
-      unreviewed: Ikke gjennomgått
     title: Administrasjon
     warning_presets:
       add_new: Legg til ny
@@ -660,8 +629,6 @@
       body: "%{reporter} har rapportert %{target}"
       body_remote: Noen fra %{domain} har rapportert %{target}
       subject: Ny rapport for %{instance} (#%{id})
-    new_trending_tag:
-      body: 'Emneknaggen #%{name} trender i dag, men den har ikke blitt gjennomgått tidligere. Den vil ikke bli vist offentlig med mindre du tillater at den blir det, eller du kan bare lagre skjemaet slik det er for å aldri høre om det igjen.'
   aliases:
     add_new: Lag et alias
     empty: Du har ingen aliaser.
@@ -856,26 +823,10 @@
     delete: Slett
     order_by: Sorter etter
     save_changes: Lagre endringer
+    today: i dag
     validation_errors:
       one: Noe er ikke helt riktig ennå. Vennligst se etter en gang til
       other: Noe er ikke helt riktig ennå. Det er ennå %{count} feil å rette på
-  identity_proofs:
-    active: Aktive
-    authorize: Ja, autoriser
-    authorize_connection_prompt: Vil du autorisere denne kryptografiske forbindelsen?
-    errors:
-      keybase:
-        verification_failed: Keybase kjenner ikke igjen denne sjetongen som en signatur for Keybase-brukeren %{kb_username}. Vennligst prøv igjen gjennom Keybase.
-      wrong_user: Kan ikke lage et bevis for %{proving} mens du er logget på som %{current}. Logg på som %{proving} og prøv igjen.
-    explanation_html: Her kan du kryptografisk koble til dine andre enheter, f.eks. en Keybase-profil. Dette lar andre folk sende deg krypterte meldinger og stole på innhold som du sender dem.
-    i_am_html: Jeg er %{username} på %{service}.
-    identity: Identitet
-    inactive: Inaktive
-    publicize_checkbox: 'Og tut ut dette:'
-    publicize_toot: 'Det er bevist! Jeg er %{username} på %{service}: %{url}'
-    remove: Fjern bevis fra kontoen
-    status: Verifiseringsstatus
-    view_proof: Se bevis
   imports:
     modes:
       merge: Slå sammen
@@ -1135,7 +1086,6 @@
     edit_profile: Endre profil
     export: Dataeksport
     featured_tags: Utvalgte emneknagger
-    identity_proofs: Identitetsbevis
     import: Importér
     import_and_export: Importer og eksporter
     migrate: Kontomigrering
@@ -1161,13 +1111,12 @@
     content_warning: 'Innholdsadvarsel: %{warning}'
     errors:
       in_reply_not_found: Posten du prøver å svare ser ikke ut til eksisterer.
-    language_detection: Oppdag språk automatisk
     open_in_web: Åpne i nettleser
     over_character_limit: grense på %{max} tegn overskredet
     pin_errors:
+      direct: Innlegg som bare er synlige for nevnte brukere kan ikke festes
       limit: Du har allerede festet det maksimale antall tuter
       ownership: Kun egne tuter kan festes
-      private: Kun offentlige tuter kan festes
       reblog: En fremheving kan ikke festes
     poll:
       total_people:
@@ -1314,24 +1263,15 @@
       subject: Bekreft forsøk på å logge inn
       title: Påloggingsforsøk
     warning:
-      explanation:
-        disable: Mens kontoen din er fryst, forblir dine kontodata intakt, men du kan ikke utføre noen handlinger før den har blitt tint opp.
-        sensitive: De opplastede mediefilene og linket vil bli behandlet som sensitive.
-        silence: Mens kontoen din er begrenset, vil bare folk som allerede følger deg se dine tuter på denne tjeneren, og du kan bli ekskludert fra diverse offentlige oppføringer. Men andre kan fortsatt følge deg manuelt.
-        suspend: Kontoen din har blitt suspendert, og alle dine tuter og opplastede media har blitt ugjenkallelig fjernet fra denne tjeneren, og fra tjenere der du hadde følgere.
-      get_in_touch: Du kan svare på denne E-posten for å komme i kontakt med styret i %{instance}.
       review_server_policies: Gjennomgå serverretningslinjer
-      statuses: 'Spesifikt for å:'
       subject:
         disable: Kontoen din, %{acct}, har blitt fryst
         none: Advarsel for %{acct}
-        sensitive: Din konto %{acct} medier har blitt merket som følsom
         silence: Kontoen din, %{acct}, har blitt begrenset
         suspend: Kontoen din, %{acct}, har blitt suspendert
       title:
         disable: Kontoen er fryst
         none: Advarsel
-        sensitive: Mediet ditt er markert som følsom
         silence: Kontoen er begrenset
         suspend: Kontoen er suspendert
     welcome:
diff --git a/config/locales/oc.yml b/config/locales/oc.yml
index 64035d34a..5ba40c527 100644
--- a/config/locales/oc.yml
+++ b/config/locales/oc.yml
@@ -91,7 +91,6 @@ oc:
     accounts:
       add_email_domain_block: Metre lo domeni del corrièl en lista negra
       approve: Aprovar
-      approve_all: O validar tot
       are_you_sure: Sètz segur ?
       avatar: Avatar
       by_domain: Domeni
@@ -105,6 +104,7 @@ oc:
       confirm: Confirmar
       confirmed: Confirmat
       confirming: Confirmacion
+      custom: Personalizar
       delete: Suprimir donadas
       deleted: Suprimits
       demote: Retrogradar
@@ -138,7 +138,6 @@ oc:
         active: Actius
         all: Totes
         pending: En espèra
-        silenced: Resconduts
         suspended: Suspenduts
         title: Moderacion
       moderation_notes: Nòtas de moderacion
@@ -155,7 +154,6 @@ oc:
       push_subscription_expires: Fin de l’abonament PuSH
       redownload: Actualizar lo perfil
       reject: Regetar
-      reject_all: O regetar tot
       remove_avatar: Supriir l’avatar
       remove_header: Levar la bandièra
       resend_confirmation:
@@ -173,6 +171,10 @@ oc:
         user: Uitlizaire
       search: Cercar
       search_same_ip: Autres utilizaires amb la meteissa IP
+      security_measures:
+        only_password: Sonque senhal
+        password_and_2fa: Senhal e 2FA
+        password_and_sign_in_token: Senhal e geton via mail
       sensitive: Sensible
       sensitized: marcar coma sensible
       shared_inbox_url: URL de recepcion partejada
@@ -184,7 +186,6 @@ oc:
       statuses: Estatuts
       subscribe: S’abonar
       suspended: Suspendut
-      time_in_queue: En espèra a la fila %{time}
       title: Comptes
       unconfirmed_email: Adreça pas confirmada
       undo_sensitized: Desmarcar coma sensible
@@ -197,6 +198,7 @@ oc:
       whitelisted: Mes en lista blanca
     action_logs:
       action_types:
+        approve_user: Aprobar l’utilizaire
         assigned_to_self_report: Assignar lo rapòrt
         change_email_user: Cambiar l’adreça de l’utilizaire
         confirm_user: Confirmar l’utilizaire
@@ -285,15 +287,7 @@ oc:
       interactions: interraccions
       media_storage: Emmagazinatge dels mèdias
       new_users: utilizaire novèl
-      pending_reports_html:
-        one: "<strong>1</strong> senhalament en espèra"
-        other: "<strong>%{count}</strong> senhalaments en espèra"
-      pending_tags_html:
-        one: "<strong>1</strong> etiqueta en espèra"
-        other: "<strong>%{count}</strong> etiquetas en espèra"
-      pending_users_html:
-        one: "<strong>1</strong> utilizaire en espèra"
-        other: "<strong>%{count}</strong> utilizaires en espèra"
+      opened_reports: senhalaments dubèrts
       resolved_reports: senhalament resolguts
       software: Logicial
       space: Utilizacion de l’espaci
@@ -399,8 +393,6 @@ oc:
       new:
         title: Crear una règlas IP novèla
       title: Règlas IP
-    pending_accounts:
-      title: Comptes en espèra (%{count})
     relationships:
       title: Relacions de %{acct}
     relays:
@@ -427,14 +419,12 @@ oc:
         notes:
           one: "%{count} nòta"
           other: "%{count} nòtas"
-        reports:
-          one: "%{count} senhalament"
-          other: "%{count} senhalaments"
       action_taken_by: Mesura menada per
       are_you_sure: Es segur ?
       assign_to_self: Me l’assignar
       assigned: Moderador assignat
       by_target_domain: Domeni del compte senhalat
+      category: Categoria
       comment:
         none: Pas cap
       created_at: Creacion
@@ -457,6 +447,7 @@ oc:
       unassign: Levar
       unresolved: Pas resolgut
       updated_at: Actualizat
+      view_profile: Veire lo perfil
     rules:
       title: Règlas del servidor
     settings:
@@ -544,15 +535,9 @@ oc:
       delete: Suprimir lo fichièr enviat
     statuses:
       back_to_account: Tornar a la pagina Compte
-      batch:
-        delete: Suprimir
-        nsfw_off: Marcar coma pas sensible
-        nsfw_on: Marcar coma sensible
       deleted: Suprimits
-      failed_to_execute: Fracàs
       media:
         title: Mèdia
-      no_media: Cap de mèdia
       no_status_selected: Cap d’estatut pas cambiat estant que cap èra pas seleccionat
       title: Estatuts del compte
       with_media: Amb mèdia
@@ -561,20 +546,14 @@ oc:
         action: Gerir las règlas servidor
         message_html: Avètz pas definida cap de règla.
     tags:
-      accounts_today: Utilizacions unicas uèi
-      accounts_week: Utilizacions unicas aquesta setmana
-      last_active: Darrièra activitat
-      most_popular: Mai popularas
-      most_recent: Mai recentas
-      name: Etiqueta
       review: Repassar l’estatut
-      reviewed: Repassadas
-      title: Etiquetas
-      trending_right_now: Actualament en tendéncia
-      unique_uses_today: "%{count} publicacions uèi"
-      unreviewed: Pas repassadas
       updated_msg: Paramètres d’etiquetas corrèctament actualizats
     title: Administracion
+    trends:
+      tags:
+        dashboard:
+          tag_languages_dimension: Lengas principalas
+          tag_servers_dimension: Servidors principals
     warning_presets:
       add_new: N’ajustar un nòu
       delete: Escafar
@@ -588,8 +567,6 @@ oc:
       body: "%{reporter} a senhalat %{target}"
       body_remote: Qualqu’un de %{domain} senhalèt %{target}
       subject: Novèl senhalament per %{instance} (#%{id})
-    new_trending_tag:
-      subject: Nòva etiqueta per repassar sus %{instance} (#%{name})
   aliases:
     add_new: Crear un alias
     remove: Desligar l’alias
@@ -772,33 +749,14 @@ oc:
     changes_saved_msg: Cambiaments ben realizats !
     copy: Copiar
     delete: Suprimir
-    no_batch_actions_available: Cap d’accion de massa pas disponibla sus aquesta pagina
     order_by: Triar per
     save_changes: Salvar los cambiaments
+    today: uèi
     validation_errors:
       one: I a quicòm que truca ! Mercés de corregir l’error çai-jos
       other: I a quicòm que truca ! Mercés de corregir las %{count} errors çai-jos
   html_validator:
     invalid_markup: 'conten un balisatge HTML invalid : %{error}'
-  identity_proofs:
-    active: Actiu
-    authorize: Òc, autorizar
-    authorize_connection_prompt: Autorizar aquesta connexion criptografica ?
-    errors:
-      failed: La connexion criptografica a fracassat. Ensajatz tornamai de %{provider} estant.
-      keybase:
-        invalid_token: Los getons Keybase son de hashes de signaturas e devon èsser de caractèrs 66 hex
-        verification_failed: Keybase reconeis pas aqueste geton coma signatura de l’utilizaire Keybase %{kb_username}. Ensajatz tornamai de Keybase estant.
-      wrong_user: Creacion impossibla de la pròva per %{proving} en estant connectat coma %{current}. Connectatz-vos coma %{proving} e ensajatz tornamai.
-    explanation_html: Aquí podètz connectar d’un biais criptografic vòstras identitats, coma un perfil Keybase. Aquò permet al monde de vos enviar de messatges chifrats e fisar al contengut que lor enviatz.
-    i_am_html: Soi %{username} a %{service}.
-    identity: Identitat
-    inactive: Inactiu
-    publicize_checkbox: 'E enviatz lo tut seguent :'
-    publicize_toot: 'Es provat ! Soi %{username} de %{service} : %{url}'
-    remove: Tirar la pròva del compte
-    status: Estatut de verificacion
-    view_proof: Veire la pròva
   imports:
     modes:
       merge: Fondre
@@ -840,6 +798,11 @@ oc:
   lists:
     errors:
       limit: Avètz atengut lo maximum de listas
+  login_activities:
+    authentication_methods:
+      password: senhal
+      sign_in_token: còdi de seguretat mail
+      webauthn: claus de seguretat
   media_attachments:
     validations:
       images_and_video: Se pòt pas ajustar una vidèo a un estatut que ten ja d’imatges
@@ -1027,7 +990,6 @@ oc:
     edit_profile: Modificar lo perfil
     export: Exportar de donadas
     featured_tags: Etiquetas en avant
-    identity_proofs: Pròvas d’identitat
     import: Importar de donadas
     import_and_export: Import e export
     migrate: Migracion de compte
@@ -1054,13 +1016,11 @@ oc:
     disallowed_hashtags:
       one: 'conten una etiqueta desactivada : %{tags}'
       other: 'conten las etiquetas desactivadas : %{tags}'
-    language_detection: Detectar automaticament la lenga
     open_in_web: Dobrir sul web
     over_character_limit: limit de %{max} caractèrs passat
     pin_errors:
       limit: Avètz ja lo maximum de tuts penjats
       ownership: Se pòt pas penjar lo tut de qualqu’un mai
-      private: Se pòt pas penjar los tuts pas publics
       reblog: Se pòt pas penjar un tut partejat
     poll:
       total_people:
@@ -1088,6 +1048,14 @@ oc:
     keep_direct: Gardar los messatges dirèctes
     keep_media: Gardar las publicacions amb pèça-junta
     keep_pinned: Gardar las publicacions penjadas
+    min_age:
+      '1209600': 2 setmanas
+      '15778476': 6 meses
+      '2629746': 1 mes
+      '31556952': 1 an
+      '5259492': 2 meses
+      '63113904': 2 ans
+      '7889238': 3 meses
   stream_entries:
     pinned: Tut penjat
     reblogged: a partejat
@@ -1187,6 +1155,7 @@ oc:
     formats:
       default: Lo %-d %B de %Y a %Ho%M
       month: "%B de %Y"
+      time: "%H'h'%M"
   two_factor_authentication:
     add: Ajustar
     disable: Desactivar
@@ -1206,13 +1175,8 @@ oc:
       subject: Vòstre archiu es prèst per telecargament
       title: Archiu per emportar
     warning:
-      explanation:
-        disable: Quand vòstre compte es gelat, las donadas d’aqueste demòran senceras, mas podètz pas realizar cap d’accion fins que siá desblocat.
-        silence: Del temps que vòstre compte es limitat, solament lo monde que vos sègon veiràn vòstres tuts sus aqueste servidor, e poiriatz èsser tirat de mantuna lista publica. Pasmens, d’autres vos pòdon sègre manualament.
-        suspend: Vòstre compte es suspendut e totes vòstres tuts e fichièrs enviats son estats suprimits sens retorn possible d’aqueste servidor e los de vòstres seguidors.
-      get_in_touch: Podètz respondre a aqueste corrièl per contactar la còla de %{instance}.
+      reason: 'Motiu :'
       review_server_policies: Repassar las politicas del servidor
-      statuses: 'Especificament per :'
       subject:
         disable: Vòstre compte %{acct} es gelat
         none: Avertiment per %{acct}
diff --git a/config/locales/pl.yml b/config/locales/pl.yml
index 8023251c9..ed565cc76 100644
--- a/config/locales/pl.yml
+++ b/config/locales/pl.yml
@@ -107,7 +107,6 @@ pl:
     accounts:
       add_email_domain_block: Dodaj domenę e-mail na czarną listę
       approve: Przyjmij
-      approve_all: Zatwierdź wszystkie
       approved_msg: Pomyślnie zaakceptowano wniosek o rejestrację %{username}
       are_you_sure: Jesteś tego pewien?
       avatar: Awatar
@@ -122,6 +121,7 @@ pl:
       confirm: Potwierdź
       confirmed: Potwierdzono
       confirming: Potwierdzanie
+      custom: Własne
       delete: Usuń dane
       deleted: Usunięto
       demote: Degraduj
@@ -161,7 +161,6 @@ pl:
         active: Aktywne
         all: Wszystkie
         pending: Oczekujące
-        silenced: Wyciszone
         suspended: Zawieszone
         title: Moderacja
       moderation_notes: Notatki moderacyjne
@@ -179,7 +178,6 @@ pl:
       redownload: Odśwież profil
       redownloaded_msg: Pomyślnie odświeżono profil %{username} z miejsca pochodzenia
       reject: Odrzuć
-      reject_all: Odrzuć wszystkie
       rejected_msg: Pomyślnie odrzucono wniosek o rejestrację %{username}
       remove_avatar: Usun awatar
       remove_header: Usuń nagłówek
@@ -214,12 +212,14 @@ pl:
       silence: Wycisz
       silenced: Wyciszono
       statuses: Wpisy
+      strikes: Poprzednie ostrzeżenia
       subscribe: Subskrybuj
       suspended: Zawieszono
       suspension_irreversible: Dane tego konta zostały bezpowrotnie usunięte. Możesz cofnąć zawieszenie tego konta aby można było z niego ponownie korzystać, lecz nie przywróci to danych które poprzednio się na nim znajdowały.
       suspension_reversible_hint_html: Twoje konto zostało zawieszone, a dane zostaną całkowicie usunięte %{date}. Do tego czasu, konto może zostać przywrócone bez żadnych negatywnych skutków. Jeżeli chcesz natychmiastowo usunąć wszystkie dane, możesz zrobić to niżej.
-      time_in_queue: Czekanie w kolejce %{time}
       title: Konta
+      unblock_email: Odblokuj adres e-mail
+      unblocked_email_msg: Pomyślnie odblokowano adres e-mail %{username}
       unconfirmed_email: Niepotwierdzony adres e-mail
       undo_sensitized: Cofnij oznaczenie
       undo_silenced: Cofnij wyciszenie
@@ -234,6 +234,7 @@ pl:
       whitelisted: Na białej liście
     action_logs:
       action_types:
+        approve_user: Zatwierdź użytkownika
         assigned_to_self_report: Przypisz zgłoszenie
         change_email_user: Zmień adres e-mail użytkownika
         confirm_user: Potwierdź użytkownika
@@ -251,6 +252,7 @@ pl:
         destroy_domain_allow: Usuń zezwolenie dla domeny
         destroy_domain_block: Usuń blokadę domeny
         destroy_email_domain_block: Usuń blokadę domeny e-mail
+        destroy_instance: Wyczyść domenę
         destroy_ip_block: Usuń regułę IP
         destroy_status: Usuń wpis
         destroy_unavailable_domain: Usuń niedostępną domenę
@@ -263,6 +265,7 @@ pl:
         enable_user: Włącz użytkownika
         memorialize_account: Upamiętnij konto
         promote_user: Podnieś uprawnienia
+        reject_user: Odrzuć użytkownika
         remove_avatar_user: Usuń awatar
         reopen_report: Otwórz zgłoszenie ponownie
         reset_password_user: Resetuj hasło
@@ -271,6 +274,7 @@ pl:
         silence_account: Wycisz konto
         suspend_account: Zawieś konto
         unassigned_report: Cofnij przypisanie zgłoszenia
+        unblock_email_account: Odblokuj adres e-mail
         unsensitive_account: Cofnij oznaczenie zawartości multimedialnej swojego konta jako wrażliwą
         unsilence_account: Cofnij wyciszenie konta
         unsuspend_account: Cofnij zawieszenie konta
@@ -279,6 +283,7 @@ pl:
         update_domain_block: Zaktualizuj blokadę domeny
         update_status: Aktualizuj wpis
       actions:
+        approve_user_html: "%{name} zatwierdził rejestrację od %{target}"
         assigned_to_self_report_html: "%{name} przypisał(a) sobie zgłoszenie %{target}"
         change_email_user_html: "%{name} zmienił(a) adres e-mail użytkownika %{target}"
         confirm_user_html: "%{name} potwierdził(a) adres e-mail użytkownika %{target}"
@@ -296,6 +301,7 @@ pl:
         destroy_domain_allow_html: "%{name} usunął(-ęła) domenę %{target} z białej listy"
         destroy_domain_block_html: "%{name} odblokował(a) domenę %{target}"
         destroy_email_domain_block_html: "%{name} usunął(-ęła) domenę e-mail %{target} z czarnej listy"
+        destroy_instance_html: "%{name} usunął domenę %{target}"
         destroy_ip_block_html: "%{name} usunął(-ęła) regułę dla IP %{target}"
         destroy_status_html: "%{name} usunął(-ęła) wpis użytkownika %{target}"
         destroy_unavailable_domain_html: "%{name} wznowił(a) doręczanie do domeny %{target}"
@@ -308,6 +314,7 @@ pl:
         enable_user_html: "%{name} przywrócił(a) możliwość logowania użytkownikowi %{target}"
         memorialize_account_html: "%{name} nadał(a) kontu %{target} status in memoriam"
         promote_user_html: "%{name} podniósł(a) uprawnienia użytkownikowi %{target}"
+        reject_user_html: "%{name} odrzucił rejestrację od %{target}"
         remove_avatar_user_html: "%{name} usunął(-ęła) awatar użytkownikowi %{target}"
         reopen_report_html: "%{name} otworzył(a) ponownie zgłoszenie %{target}"
         reset_password_user_html: "%{name} przywrócił(a) hasło użytkownikowi %{target}"
@@ -316,6 +323,7 @@ pl:
         silence_account_html: "%{name} wyciszył(a) konto %{target}"
         suspend_account_html: "%{name} zawiesił(a) konto %{target}"
         unassigned_report_html: "%{name} cofnął(-ęła) przypisanie zgłoszenia %{target}"
+        unblock_email_account_html: "%{name} odblokował adres e-mail %{target}"
         unsensitive_account_html: "%{name} cofnął(-ęła) oznaczenie zawartości multimedialnej %{target} jako wrażliwą"
         unsilence_account_html: "%{name} cofnął(-ęła) wyciszenie konta %{target}"
         unsuspend_account_html: "%{name} cofnął(-ęła) zawieszenie konta %{target}"
@@ -387,12 +395,12 @@ pl:
       pending_reports_html:
         few: "<strong>%{count}</strong> oczekujące raporty"
         many: "<strong>%{count}</strong> oczekujących raportów"
-        one: "<strong>1</strong> oczekujący raport"
+        one: "<strong>%{count}</strong> oczekujący raport"
         other: "<strong>%{count}</strong> oczekujących raportów"
       pending_tags_html:
         few: "<strong>%{count}</strong> oczekujące hashtagi"
         many: "<strong>%{count}</strong> oczekujących hashtagów"
-        one: "<strong>1</strong> oczekujący hashtag"
+        one: "<strong>%{count}</strong>oczekujący hasztag"
         other: "<strong>%{count}</strong> oczekujących hashtagów"
       pending_users_html:
         few: "<strong>%{count}</strong> oczekujących użytkowników"
@@ -481,6 +489,7 @@ pl:
       back_to_limited: Ograniczone
       back_to_warning: Ostrzeżenie
       by_domain: Domena
+      confirm_purge: Czy na pewno chcesz trwale usunąć dane z tej domeny?
       delivery:
         all: Wszystkie
         clear: Wyczyść błędy w doręczaniu
@@ -498,6 +507,7 @@ pl:
       delivery_available: Doręczanie jest dostępne
       delivery_error_days: Dni błędów doręczenia
       delivery_error_hint: Jeżeli doręczanie nie będzie możliwe przez %{count} dni, zostanie automatycznie oznaczona jako nie do doręczania.
+      destroyed_msg: Dane z %{domain} są teraz w kolejce do bezpośredniego usunięcia.
       empty: Nie znaleziono domen.
       known_accounts:
         few: "%{count} znane konta"
@@ -510,6 +520,7 @@ pl:
         title: Moderacja
       private_comment: Prywatny komentarz
       public_comment: Publiczny komentarz
+      purge: Wyczyść
       title: Znane instancje
       total_blocked_by_us: Zablokowane przez nas
       total_followed_by_them: Śledzeni przez nich
@@ -539,8 +550,6 @@ pl:
         title: Utwórz nową regułę IP
       no_ip_block_selected: Żadna reguła nie została zmieniona, ponieważ żadna nie została wybrana
       title: Reguły adresów IP
-    pending_accounts:
-      title: Oczekujące konta (%{count})
     relationships:
       title: Relacje %{acct}
     relays:
@@ -562,6 +571,7 @@ pl:
     report_notes:
       created_msg: Pomyslnie utworzono notatkę moderacyjną.
       destroyed_msg: Pomyślnie usunięto notatkę moderacyjną.
+      today_at: Dziś o %{time}
     reports:
       account:
         notes:
@@ -569,29 +579,38 @@ pl:
           many: "%{count} notatek"
           one: "%{count} notatka"
           other: "%{count} notatki"
-        reports:
-          few: "%{count} zgłoszenia"
-          many: "%{count} zgłoszeń"
-          one: "%{count} zgłoszenie"
-          other: "%{count} zgłoszenia"
+      action_log: Dziennik audytu
       action_taken_by: Działanie podjęte przez
+      actions:
+        other_description_html: Zobacz więcej opcji do kontrolowania zachowania konta i dostosuj komunikację do zgłoszonego konta.
+        silence_description_html: Profil będzie widoczny tylko dla tych, którzy go już obserwują lub szukaj ręcznie, poważnie ograniczając jego zasięg. Może być zawsze cofnięty.
+        suspend_description_html: Profil i cała jego zawartość staną się niedostępne, dopóki nie zostaną ostatecznie usunięte. Interakcja z kontem będzie niemożliwa. Odwracalne w ciągu 30 dni.
+      actions_description_html: 'Jeśli usunięcie obraźliwych treści jest niewystarczające:'
+      add_to_report: Dodaj więcej do raportu
       are_you_sure: Czy na pewno?
       assign_to_self: Przypisz do siebie
       assigned: Przypisany moderator
       by_target_domain: Domena zgłaszanego konta
+      category: Kategoria
+      category_description_html: Powód, dla którego to konto i/lub zawartość zostały zgłoszone, będzie cytowany w komunikacji ze zgłoszonym kontem
       comment:
         none: Brak
+      comment_description_html: 'Aby dostarczyć więcej informacji, %{name} napisał:'
       created_at: Zgłoszono
+      delete_and_resolve: Usuń i rozwiąż
       forwarded: Przekazano
       forwarded_to: Przekazano do %{domain}
       mark_as_resolved: Oznacz jako rozwiązane
       mark_as_unresolved: Oznacz jako nierozwiązane
+      no_one_assigned: Nikt nie
       notes:
         create: Utwórz notatkę
         create_and_resolve: Rozwiąż i pozostaw notatkę
         create_and_unresolve: Cofnij rozwiązanie i pozostaw notatkę
         delete: Usuń
         placeholder: Opisz wykonane akcje i inne szczegóły dotyczące tego zgłoszenia…
+        title: Notatki
+      notes_description_html: Przeglądaj i zostaw notatki innym moderatorom i sobie samemu
       reopen: Otwórz ponownie
       report: 'Zgłoszenie #%{id}'
       reported_account: Zgłoszone konto
@@ -599,11 +618,14 @@ pl:
       resolved: Rozwiązane
       resolved_msg: Pomyślnie rozwiązano zgłoszenie.
       status: Stan
+      statuses: Zgłoszona treść
+      statuses_description_html: Obraźliwe treści będą cytowane w komunikacji ze zgłoszonym kontem
       target_origin: Pochodzenie zgłaszanego konta
       title: Zgłoszenia
       unassign: Cofnij przypisanie
       unresolved: Nierozwiązane
       updated_at: Zaktualizowano
+      view_profile: Wyświetl profil
     rules:
       add_new: Dodaj zasadę
       delete: Usuń
@@ -705,15 +727,13 @@ pl:
       destroyed_msg: Pomyślnie usunięto przesłany plik!
     statuses:
       back_to_account: Wróć na konto
+      back_to_report: Wróć do strony zgłoszenia
       batch:
-        delete: Usuń
-        nsfw_off: Cofnij NSFW
-        nsfw_on: Oznacz jako NSFW
+        remove_from_report: Usuń ze zgłoszenia
+        report: Zgłoszenie
       deleted: Usunięto
-      failed_to_execute: Nie udało się wykonać
       media:
         title: Multimedia
-      no_media: Bez zawartości multimedialnej
       no_status_selected: Żaden wpis nie został zmieniony, bo żaden nie został wybrany
       title: Wpisy konta
       with_media: Z zawartością multimedialną
@@ -726,21 +746,55 @@ pl:
       sidekiq_process_check:
         message_html: Brak uruchomionego procesu Sidekiq dla kolejki(-ek) %{value}. Sprawdź konfigurację Sidekiq
     tags:
-      accounts_today: Unikalne wykorzystania dzisiaj
-      accounts_week: Unikalne wykorzystania w tym tygodniu
-      breakdown: Podział dzisiejszego wykorzystania według źródła
-      last_active: Ostatnia aktywność
-      most_popular: Najpopularniejsze
-      most_recent: Ostatnie
-      name: Hasztag
       review: Stan przeglądu
-      reviewed: Przejrzany
-      title: Hashtagi
-      trending_right_now: Obecnie na czasie
-      unique_uses_today: "%{count} opublikowanych dzisiaj"
-      unreviewed: Nie przejrzano
       updated_msg: Pomyślnie uaktualniono ustawienia hashtagów
     title: Administracja
+    trends:
+      allow: Zezwól
+      approved: Zaakceptowano
+      disallow: Niedozwolone
+      links:
+        allow: Zezwól na link
+        allow_provider: Zezwalaj na wydawcę
+        disallow: Nie zezwalaj na link
+        disallow_provider: Nie zezwalaj na wydawcę
+        shared_by_over_week:
+          few: Udostępnione przez %{count} osoby w ciągu ostatniego tygodnia
+          many: Udostępnione przez %{count} osób w ciągu ostatniego tygodnia
+          one: Udostępnione przez jedną osobę w ciągu ostatniego tygodnia
+          other: Udostępnione przez %{count} osób w ciągu ostatniego tygodnia
+        title: Popularne linki
+        usage_comparison: Udostępnione %{today} razy dzisiaj, w porównaniu z %{yesterday} wczoraj
+      pending_review: Oczekuje na przegląd
+      preview_card_providers:
+        allowed: Linki od tego wydawcy mogą podlegać trendom
+        rejected: Linki od tego wydawcy nie mogą podlegać trendom
+        title: Wydawcy
+      rejected: Odrzucono
+      tags:
+        current_score: Bieżący wynik %{score}
+        dashboard:
+          tag_accounts_measure: unikalne zastosowania
+          tag_languages_dimension: Najlepsze języki
+          tag_servers_dimension: Najlepsze serwery
+          tag_servers_measure: różne serwery
+          tag_uses_measure: użyć łącznie
+        listable: Można zasugerować
+        not_listable: Nie można zasugerować
+        not_trendable: Nie pojawia się pod trendami
+        not_usable: Nie mogą zostać użyte
+        peaked_on_and_decaying: Najwyżej %{date}, teraz idzie w dół
+        title: Popularne hashtagi
+        trendable: Może pojawić się pod trendami
+        trending_rank: 'Popularne #%{rank}'
+        usable: Może być użyty
+        usage_comparison: Używane %{today} razy dzisiaj, w porównaniu z %{yesterday} wczoraj
+        used_by_over_week:
+          few: Użyte przez %{count} osoby w ciągu ostatniego tygodnia
+          many: Użyte przez %{count} osób w ciągu ostatniego tygodnia
+          one: Użyte przez jedną osobę w ciągu ostatniego tygodnia
+          other: Użyte przez %{count} osób w ciągu ostatniego tygodnia
+      title: Na czasie
     warning_presets:
       add_new: Dodaj nowy
       delete: Usuń
@@ -755,9 +809,16 @@ pl:
       body: Użytkownik %{reporter} zgłosił(a) %{target}
       body_remote: Użytkownik instancji %{domain} zgłosił(a) %{target}
       subject: Nowe zgłoszenie na %{instance} (#%{id})
-    new_trending_tag:
-      body: 'Hashtag #%{name} jest dziś popularny, ale nie został wcześniej zatwierdzony. Nie będzie wyświetlany publicznie zanim na to pozwolisz, możesz też zapisać, że nie chcesz o nim już słyszeć.'
-      subject: Nowy hashtag do zatwierdzenia na %{instance} (#%{name})
+    new_trending_links:
+      body: Poniższe linki są dziś popularne, ale ich wydawcy nie byli wcześniej sprawdzeni. Nie będą one wyświetlane publicznie dopóki ich nie zatwierdzisz. Kolejne powiadomienia od tych samych wydawców nie zostaną wygenerowane.
+      no_approved_links: Obecnie nie ma zatwierdzonych linków trendów.
+      requirements: Najniższy zatwierdzony link trendu to "%{lowest_link_title}" z wynikiem %{lowest_link_score}.
+      subject: Nowe popularne linki do przeglądu na %{instance}
+    new_trending_tags:
+      body: 'Następujące hashtagi są dziś popularne, ale nie zostały wcześniej sprawdzone. Nie będą one wyświetlane publicznie, chyba że je zatwierdzisz:'
+      no_approved_tags: Obecnie nie ma zatwierdzonych popularnych hashtagów.
+      requirements: 'Najniższy zatwierdzony popularny hashtag to obecnie #%{lowest_tag_name} z wynikiem %{lowest_tag_score}.'
+      subject: Nowy popularny hashtag do zatwierdzenia na %{instance}
   aliases:
     add_new: Utwórz alias
     created_msg: Pomyślnie utworzono nowy alias. Możesz teraz rozpocząć przenoszenie ze starego konta.
@@ -809,6 +870,7 @@ pl:
     invalid_reset_password_token: Token do resetowania hasła jest nieprawidłowy lub utracił ważność. Spróbuj uzyskać nowy.
     link_to_otp: Wprowadź kod dwustopniowego uwierzytelniania z telefonu lub użyj zapasowego kodu
     link_to_webauth: Użyj swojego urządzenia z kluczem bezpieczeństwa
+    log_in_with: Zaloguj się za pomocą
     login: Zaloguj się
     logout: Wyloguj się
     migrate_account: Przenieś konto
@@ -964,9 +1026,10 @@ pl:
     changes_saved_msg: Ustawienia zapisane!
     copy: Kopiuj
     delete: Usuń
-    no_batch_actions_available: Brak akcji wsadowych dostępnych na tej stronie
+    none: Żaden
     order_by: Uporządkuj według
     save_changes: Zapisz zmiany
+    today: dzisiaj
     validation_errors:
       few: Coś jest wciąż nie tak! Przejrzyj %{count} poniższe błędy
       many: Coś jest wciąż nie tak! Przejrzyj %{count} poniższych błędów
@@ -974,26 +1037,6 @@ pl:
       other: Coś jest wciąż nie tak! Przejrzyj poniższe błędy (%{count})
   html_validator:
     invalid_markup: 'zawiera nieprawidłową składnię HTML: %{error}'
-  identity_proofs:
-    active: Aktywny
-    authorize: Tak, autoryzuj
-    authorize_connection_prompt: Czy chcesz autoryzować to połączenie kryptograficzne?
-    errors:
-      failed: Połączenioe kryptograficzne nie powiodło się. Spróbuj ponownie z poziomu %{provider}.
-      keybase:
-        invalid_token: Tokeny Keybase są hashami podpisów i musza składać się z 66 znaków heksadecymalnych
-        verification_failed: Keybase nie rozpoznaje tego tokenu jako podpisu użytkownika Keybase %{kb_username}. Spróbuj ponownie z poziomu Keybase.
-      wrong_user: Nie można utworzyć dowodu dla %{proving}, gdy jesteś zalogowany(-a) jako %{current}. Zaloguj się jako %{proving} i spróbuj ponownie.
-    explanation_html: Tutaj możesz połączyć kryptograficznie swoje inne tożsamości, takie jak profil Keybase. To pozwoli innym wysłać Ci szyfrowane wiadomości i zaufać zawartości którą im wysyłasz.
-    i_am_html: Jestem %{username} na %{service}.
-    identity: Tożsamość
-    inactive: Niekatywny
-    publicize_checkbox: 'I opublikuj to:'
-    publicize_toot: 'Udowodnione! Jestem %{username} na %{service}: %{url}'
-    remove: Usuń dowód z konta
-    removed: Pomyślnie usunięto dowód z konta
-    status: Stan weryfikacji
-    view_proof: Wyświetl dowód
   imports:
     errors:
       over_rows_processing_limit: zawiera więcej niż %{count} wierszy
@@ -1273,7 +1316,6 @@ pl:
     edit_profile: Edytuj profil
     export: Eksportowanie danych
     featured_tags: Wyróżnione hashtagi
-    identity_proofs: Dowody tożsamości
     import: Importowanie danych
     import_and_export: Import i eksport
     migrate: Migracja konta
@@ -1304,20 +1346,21 @@ pl:
         other: "%{count} filmów"
     boosted_from_html: Podbito przez %{acct_link}
     content_warning: 'Ostrzeżenie o zawartości: %{warning}'
+    default_language: Taki sam jak język interfejsu użytkownika
     disallowed_hashtags:
       few: 'zawiera niedozwolone hashtagi: %{tags}'
       many: 'zawiera niedozwolone hashtagi: %{tags}'
       one: 'zawiera niedozwolony hashtag: %{tags}'
       other: 'zawiera niedozwolone hashtagi: %{tags}'
+    edited_at: Edytowano %{date}
     errors:
       in_reply_not_found: Post, na który próbujesz odpowiedzieć, nie istnieje.
-    language_detection: Automatycznie wykrywaj język
     open_in_web: Otwórz w przeglądarce
     over_character_limit: limit %{max} znaków przekroczony
     pin_errors:
+      direct: Nie możesz przypiąć wpisu, który jest widoczny tylko dla wspomnianych użytkowników
       limit: Przekroczyłeś maksymalną liczbę przypiętych wpisów
       ownership: Nie możesz przypiąć cudzego wpisu
-      private: Nie możesz przypiąć niepublicznego wpisu
       reblog: Nie możesz przypiąć podbicia wpisu
     poll:
       total_people:
@@ -1476,6 +1519,7 @@ pl:
     formats:
       default: "%d. %b %Y, %H:%M"
       month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Dodaj
     disable: Wyłącz
@@ -1503,24 +1547,31 @@ pl:
       subject: Potwierdź próbę zalogowania
       title: Próba logowania
     warning:
+      categories:
+        spam: Spam
+        violation: Zawartość narusza następujące wytyczne społeczności
       explanation:
-        disable: Kiedy Twoje konto jest wyłączone, Twoje dane pozostają na serwerze, ale nie możesz wykonywać żadnych działań, zanim zostanie odblokowane.
-        sensitive: Wysyłane przez Ciebie pliki multimedialne i media z odnośników będą traktowane jako wrażliwe.
-        silence: Kiedy Twoje konto jest ograniczone, tylko osoby które je śledzą będą widzieć Twoje wpisy. Może ono też przestać być widoczne na publicznych listach. Inni wciąż mogą zacząć Cię śledzić.
-        suspend: Twoje konto zostało zawieszone i wszystkie Twoje wpisy wraz z zawartością multimedialną zostały nieodwracalnie usunięte z tego serwera i serwerów, których użytkownicy śledzili Cię.
-      get_in_touch: Możesz odpowiedzieć na ten e-mail aby pozostać w kontakcie z prowadzącymi %{instance}.
+        delete_statuses: Stwierdzono, że niektóre z Twoich postów naruszają jedną lub więcej wytycznych dla społeczności i zostały usunięte przez moderatorów %{instance}. Przyszłe naruszenia mogą skutkować ostrzejszymi działaniami karnymi w stosunku do Twojego konta.
+        disable: Nie możesz już używać swojego konta, ale Twój profil i inne dane pozostają nienaruszone. Możesz poprosić o kopię swoich danych, zmienić ustawienia konta lub usunąć swoje konto.
+        sensitive: Od teraz wszystkie przesłane pliki multimedialne będą oznaczone jako wrażliwe i ukryte za ostrzeżeniem kliknięcia.
+        silence: Kiedy Twoje konto jest ograniczone, tylko osoby, które je śledzą, będą widzieć Twoje wpisy. Może ono też przestać być widoczne w funkcjach odkrywania. Inni wciąż mogą zacząć Cię śledzić.
+        suspend: Nie możesz już używać Twojego konta, a Twój profil i inne dane nie są już dostępne. Zanim w pełni usuniemy Twoje dane po około 30 dniach, możesz nadal zalogować się, aby uzyskać ich kopię. Zachowamy pewne podstawowe dane, aby zapobiegać obchodzeniu przez Ciebie zawieszenia.
+      get_in_touch: Jeżeli uważasz to za błąd, możesz odpowiedzieć na ten e-mail, aby skontaktować się z prowadzącymi %{instance}.
+      reason: 'Powód:'
       review_server_policies: Przejrzyj zasady serwera
-      statuses: 'Szczególnie dla:'
+      statuses: 'Wpisy uznane za naruszające wytyczne:'
       subject:
+        delete_statuses: Twoje wpisy na %{acct} zostały usunięte
         disable: Twoje konto %{acct} zostało wyłączone
         none: Ostrzeżenie dla %{acct}
-        sensitive: Zawartość multimedialna publikowana przez Twoje konto %{acct} została oznaczona jako wrażliwa
+        sensitive: Twoje multimedia na %{acct} będą od teraz oznaczane jako wrażliwe
         silence: Twoje konto %{acct} zostało ograniczone
         suspend: Twoje konto %{acct} zostało zawieszone
       title:
+        delete_statuses: Wpisy usunięte
         disable: Konto wyłączone
         none: Ostrzeżenie
-        sensitive: Twoja zawartość multimedialna została oznaczona jako wrażliwa
+        sensitive: Media ukryte
         silence: Konto ograniczone
         suspend: Konto zawieszone
     welcome:
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index 812972867..36f390b0e 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -99,7 +99,6 @@ pt-BR:
     accounts:
       add_email_domain_block: Adicionar o domínio de e-mail à lista negra
       approve: Aprovar
-      approve_all: Aprovar tudo
       approved_msg: Aprovado com sucesso o pedido de registro de %{username}
       are_you_sure: Você tem certeza?
       avatar: Imagem de perfil
@@ -119,6 +118,7 @@ pt-BR:
       demote: Rebaixar
       destroyed_msg: Os dados de %{username} estão na fila para serem excluídos em breve
       disable: Congelar
+      disable_sign_in_token_auth: Desativar autenticação via token por email
       disable_two_factor_authentication: Desativar autenticação de dois fatores
       disabled: Desativada
       display_name: Nome de exibição
@@ -127,6 +127,7 @@ pt-BR:
       email: E-mail
       email_status: Status do e-mail
       enable: Descongelar
+      enable_sign_in_token_auth: Ativar autenticação via token por email
       enabled: Ativada
       enabled_msg: Descongelada com sucesso a conta de %{username}
       followers: Seguidores
@@ -139,6 +140,7 @@ pt-BR:
       joined: Entrou
       location:
         all: Todos
+        local: Local
         remote: Remoto
         title: Localização
       login_status: Situação da conta
@@ -150,7 +152,6 @@ pt-BR:
         active: Ativo
         all: Todos
         pending: Pendente
-        silenced: Silenciados
         suspended: Banidos
         title: Moderação
       moderation_notes: Notas de moderação
@@ -168,7 +169,6 @@ pt-BR:
       redownload: Atualizar perfil
       redownloaded_msg: Atualizado com sucesso o perfil de %{username} a partir da origem
       reject: Vetar
-      reject_all: Vetar tudo
       rejected_msg: Rejeitado com sucesso o pedido de registro de %{username}
       remove_avatar: Remover imagem de perfil
       remove_header: Remover capa
@@ -190,6 +190,10 @@ pt-BR:
       search: Pesquisar
       search_same_email_domain: Outros usuários com o mesmo domínio de e-mail
       search_same_ip: Outros usuários com o mesmo IP
+      security_measures:
+        only_password: Somente senha
+        password_and_2fa: Senha e 2FA
+        password_and_sign_in_token: Token de senha e e-mail
       sensitive: Sensíveis
       sensitized: marcadas como sensíveis
       shared_inbox_url: Link da caixa de entrada compartilhada
@@ -203,8 +207,9 @@ pt-BR:
       suspended: Banido
       suspension_irreversible: Os dados desta conta foram excluídos de forma irreversível. Você pode remover a suspensão da conta para torná-la utilizável, mas ela não irá recuperar nenhum dado que ela possuía anteriormente.
       suspension_reversible_hint_html: A conta foi suspensa e os dados serão totalmente removidos em %{date}. Até lá, a conta pode ser restaurada sem nenhum efeito negativo. Se você deseja remover todos os dados da conta imediatamente, você pode fazer isso abaixo.
-      time_in_queue: Esperando na fila por %{time}
       title: Contas
+      unblock_email: Desbloquear endereço de e-mail
+      unblocked_email_msg: Endereço de e-mail de %{username} desbloqueado com sucesso
       unconfirmed_email: E-mail não confirmado
       undo_sensitized: Desfazer sensível
       undo_silenced: Desfazer silêncio
@@ -219,6 +224,7 @@ pt-BR:
       whitelisted: Permitido
     action_logs:
       action_types:
+        approve_user: Aprovar Usuário
         assigned_to_self_report: Adicionar relatório
         change_email_user: Editar e-mail do usuário
         confirm_user: Confirmar Usuário
@@ -229,6 +235,7 @@ pt-BR:
         create_domain_block: Criar Bloqueio de Domínio
         create_email_domain_block: Criar Bloqueio de Domínio de E-mail
         create_ip_block: Criar regra de IP
+        create_unavailable_domain: Criar domínio indisponível
         demote_user: Rebaixar usuário
         destroy_announcement: Excluir anúncio
         destroy_custom_emoji: Excluir emoji personalizado
@@ -237,13 +244,17 @@ pt-BR:
         destroy_email_domain_block: Excluir bloqueio de domínio de e-mail
         destroy_ip_block: Excluir regra de IP
         destroy_status: Excluir Status
+        destroy_unavailable_domain: Deletar domínio indisponível
         disable_2fa_user: Desativar autenticação de dois fatores
         disable_custom_emoji: Desativar Emoji Personalizado
+        disable_sign_in_token_auth_user: Desativar autenticação via token por email para Usuário
         disable_user: Desativar usuário
         enable_custom_emoji: Ativar Emoji Personalizado
+        enable_sign_in_token_auth_user: Ativar autenticação via token por email para Usuário
         enable_user: Ativar usuário
         memorialize_account: Converter conta em memorial
         promote_user: Promover usuário
+        reject_user: Rejeitar Usuário
         remove_avatar_user: Remover Avatar
         reopen_report: Reabrir Relatório
         reset_password_user: Redefinir a senha
@@ -252,6 +263,7 @@ pt-BR:
         silence_account: Silenciar conta
         suspend_account: Suspender Conta
         unassigned_report: Remover relatório
+        unblock_email_account: Desbloquear endereço de e-mail
         unsensitive_account: Desmarcar a mídia na sua conta como sensível
         unsilence_account: Desfazer silenciar conta
         unsuspend_account: Remover suspensão de conta
@@ -260,9 +272,52 @@ pt-BR:
         update_domain_block: Atualizar bloqueio de domínio
         update_status: Editar Status
       actions:
+        assigned_to_self_report_html: "%{name} atribuiu o relatório %{target} para si"
+        change_email_user_html: "%{name} alterou o endereço de e-mail do usuário %{target}"
+        confirm_user_html: "%{name} confirmou o endereço de e-mail do usuário %{target}"
         create_account_warning_html: "%{name} enviou um aviso para %{target}"
+        create_announcement_html: "%{name} criou o novo anúncio %{target}"
+        create_custom_emoji_html: "%{name} enviou o novo emoji %{target}"
+        create_domain_allow_html: "%{name} permitiu federação com domínio %{target}"
         create_domain_block_html: "%{name} bloqueou o domínio %{target}"
         create_email_domain_block_html: "%{name} bloqueou do domínio de e-mail %{target}"
+        create_ip_block_html: "%{name} criou regra para o IP %{target}"
+        create_unavailable_domain_html: "%{name} parou a entrega ao domínio %{target}"
+        demote_user_html: "%{name} rebaixou o usuário %{target}"
+        destroy_announcement_html: "%{name} excluiu o anúncio %{target}"
+        destroy_custom_emoji_html: "%{name} excluiu emoji %{target}"
+        destroy_domain_allow_html: "%{name} bloqueou federação com domínio %{target}"
+        destroy_domain_block_html: "%{name} deixou de bloquear domínio %{target}"
+        destroy_email_domain_block_html: "%{name} adicionou domínio de e-mail %{target} à lista branca"
+        destroy_ip_block_html: "%{name} excluiu regra para o IP %{target}"
+        destroy_status_html: "%{name} excluiu post de %{target}"
+        destroy_unavailable_domain_html: "%{name} retomou a entrega ao domínio %{target}"
+        disable_2fa_user_html: "%{name} desativou a exigência de autenticação de dois fatores para o usuário %{target}"
+        disable_custom_emoji_html: "%{name} desativou o emoji %{target}"
+        disable_sign_in_token_auth_user_html: "%{name} desativou a autenticação via token por email para %{target}"
+        disable_user_html: "%{name} desativou o login para %{target}"
+        enable_custom_emoji_html: "%{name} desativou o emoji %{target}"
+        enable_sign_in_token_auth_user_html: "%{name} ativou a autenticação via token por email para %{target}"
+        enable_user_html: "%{name} ativou o login para %{target}"
+        memorialize_account_html: "%{name} transformou a conta de %{target} em um memorial"
+        promote_user_html: "%{name} promoveu o usuário %{target}"
+        reject_user_html: "%{name} rejeitou a inscrição de %{target}"
+        remove_avatar_user_html: "%{name} removeu a imagem de perfil de %{target}"
+        reopen_report_html: "%{name} reabriu a denúncia %{target}"
+        reset_password_user_html: "%{name} redefiniu a senha de %{target}"
+        resolve_report_html: "%{name} fechou a denúncia %{target}"
+        sensitive_account_html: "%{name} marcou a mídia de %{target} como sensível"
+        silence_account_html: "%{name} limitou a conta de %{target}"
+        suspend_account_html: "%{name} suspendeu a conta de %{target}"
+        unassigned_report_html: "%{name} desvinculou a denúncia %{target}"
+        unblock_email_account_html: "%{name} desbloqueou o endereço de e-mail de %{target}"
+        unsensitive_account_html: "%{name} desmarcou a mídia de %{target} como sensível"
+        unsilence_account_html: "%{name} removeu a limitação da conta de %{target}"
+        unsuspend_account_html: "%{name} removeu a suspenção da conta de %{target}"
+        update_announcement_html: "%{name} atualizou o comunicado %{target}"
+        update_custom_emoji_html: "%{name} atualizou o emoji %{target}"
+        update_domain_block_html: "%{name} atualizou o bloqueio de domínio de %{target}"
+        update_status_html: "%{name} atualizou a publicação de %{target}"
       deleted_status: "(status excluído)"
       empty: Nenhum registro encontrado.
       filter_by_action: Filtrar por ação
@@ -298,6 +353,7 @@ pt-BR:
       disable: Desativar
       disabled: Desativado
       disabled_msg: Emoji desativado com sucesso
+      emoji: Emoji
       enable: Ativar
       enabled: Ativado
       enabled_msg: Emoji ativado com sucesso
@@ -318,9 +374,19 @@ pt-BR:
       updated_msg: Emoji atualizado com sucesso!
       upload: Enviar
     dashboard:
+      active_users: usuários ativos
+      interactions: interações
+      media_storage: Armazenamento de mídia
+      new_users: novos usuários
+      opened_reports: denúncias abertas
+      resolved_reports: denúncias solucionadas
       software: Software
+      sources: Origem das inscrições
       space: Uso de espaço em disco
       title: Painel de controle
+      top_languages: Línguas mais ativas
+      top_servers: Servidores mais ativos
+      website: Site
     domain_allows:
       add_new: Permitir domínio
       created_msg: Domínio foi permitido
@@ -343,6 +409,7 @@ pt-BR:
           suspend: Banir
         title: Novo bloqueio de domínio
       obfuscate: Ofuscar nome de domínio
+      obfuscate_hint: Ofuscar parcialmente o domínio na lista se a exibição da lista de domínios limitados estiver habilitada
       private_comment: Comentário privado
       private_comment_hint: Comente sobre essa restrição ao domínio para uso interno dos moderadores.
       public_comment: Comentário público
@@ -379,9 +446,28 @@ pt-BR:
         create: Adicionar domínio
         title: Nova entrada de lista negra de e-mail
       title: Lista de negra de e-mail
+    follow_recommendations:
+      description_html: "<strong>A recomendação de contas ajuda os novos usuários a encontrar rapidamente conteúdo interessante</strong>. Quando um usuário ainda não tiver interagido o suficiente para gerar recomendações de contas, essas contas serão recomendadas. Essas recomendações são recalculadas diariamente a partir de uma lista de contas com alto engajamento e maior número de seguidores locais em uma dada língua."
+      language: Na língua
+      status: Situação
+      suppress: Remover recomendação de contas
+      suppressed: Removida
+      title: Recomendações de contas
+      unsuppress: Restaurar recomendação de contas
     instances:
+      back_to_all: Todas
       back_to_warning: Aviso
       by_domain: Domínio
+      confirm_purge: Você tem certeza de que deseja excluir permanentemente os dados deste domínio?
+      delivery:
+        all: Todos
+        clear: Limpar erros de entrega
+        restart: Reiniciar a entrega
+        stop: Parar entrega
+        title: Entrega
+        unavailable: Indisponível
+        unavailable_message: Envio indisponível
+        warning: Aviso
       delivery_available: Envio disponível
       empty: Nenhum domínio encontrado.
       known_accounts:
@@ -393,6 +479,7 @@ pt-BR:
         title: Moderação
       private_comment: Comentário privado
       public_comment: Comentário público
+      purge: Limpar
       title: Federação
       total_blocked_by_us: Bloqueado por nós
       total_followed_by_them: Seguidos por eles
@@ -422,8 +509,6 @@ pt-BR:
         title: Criar nova regra de IP
       no_ip_block_selected: Nenhuma regra de IP foi alterada pois nenhuma foi selecionada
       title: Regras de IP
-    pending_accounts:
-      title: Contas pendentes (%{count})
     relationships:
       title: Relações de %{acct}
     relays:
@@ -440,6 +525,7 @@ pt-BR:
       save_and_enable: Salvar e ativar
       setup: Configurar uma conexão de repetidor
       signatures_not_enabled: Repetidores não funcionarão adequadamente enquanto o modo seguro ou o modo lista de permitidos estiverem ativos
+      status: Situação
       title: Repetidores
     report_notes:
       created_msg: Nota de denúncia criada com sucesso!
@@ -449,37 +535,53 @@ pt-BR:
         notes:
           one: "%{count} nota"
           other: "%{count} notas"
-        reports:
-          one: "%{count} denúncia"
-          other: "%{count} denúncias"
+      action_log: Logs de auditoria
       action_taken_by: Atitude tomada por
+      actions:
+        other_description_html: Veja mais opções para controlar o comportamento da conta e personalizar a comunicação com a conta reportada.
+        silence_description_html: O perfil será visível apenas para aqueles que já o seguem ou que o procuram manualmente, limitando severamente seu alcance. Pode ser sempre revertido.
+        suspend_description_html: O perfil e todo o seu conteúdo ficarão inacessíveis até que seja eventualmente excluído. Interagir com a conta será impossível. Reversível dentro de 30 dias.
+      actions_description_html: 'Se remover o conteúdo ofensivo acima for insuficiente:'
+      add_to_report: Adicionar mais ao relatório
       are_you_sure: Você tem certeza?
       assign_to_self: Pegar
       assigned: Moderador responsável
       by_target_domain: Domínio da conta denunciada
+      category: Categoria
+      category_description_html: O motivo pelo qual esta conta e/ou conteúdo foi reportado será citado na comunicação com a conta reportada
       comment:
         none: Nenhum
+      comment_description_html: 'Para fornecer mais informações, %{name} escreveu:'
       created_at: Denunciado
+      delete_and_resolve: Apagar e resolver
       forwarded: Encaminhados
       forwarded_to: Encaminhado para %{domain}
       mark_as_resolved: Marcar como resolvido
       mark_as_unresolved: Marcar como não resolvido
+      no_one_assigned: Ninguém
       notes:
         create: Adicionar nota
         create_and_resolve: Resolver com nota
         create_and_unresolve: Reabrir com nota
         delete: Excluir
         placeholder: Descreva que ações foram tomadas, ou quaisquer outras atualizações relacionadas…
+        title: Notas
+      notes_description_html: Visualize e deixe anotações para outros moderadores e para o seu "eu" do futuro
       reopen: Reabrir denúncia
       report: 'Denúncia #%{id}'
       reported_account: Conta denunciada
       reported_by: Denunciada por
       resolved: Resolvido
       resolved_msg: Denúncia resolvida com sucesso!
+      status: Situação
+      statuses: Conteúdo denunciado
+      statuses_description_html: Conteúdo Ofensivo será citado em comunicação com a conta relatada
+      target_origin: Origem da conta relatada
       title: Denúncias
       unassign: Largar
       unresolved: Não resolvido
       updated_at: Atualizado
+      view_profile: Ver perfil
     rules:
       add_new: Adicionar regra
       delete: Deletar
@@ -581,39 +683,64 @@ pt-BR:
       destroyed_msg: Upload do site excluído com sucesso!
     statuses:
       back_to_account: Voltar para página da conta
-      batch:
-        delete: Excluir
-        nsfw_off: Desmarcar como sensível
-        nsfw_on: Marcar como sensível
       deleted: Excluídos
-      failed_to_execute: Falha ao executar
       media:
         title: Mídia
-      no_media: Sem mídia
       no_status_selected: Nenhum status foi modificado porque nenhum estava selecionado
       title: Toots da conta
       with_media: Com mídia
     system_checks:
+      database_schema_check:
+        message_html: Existem migrações de banco de dados pendentes. Por favor, execute-as para garantir que o aplicativo se comporte como esperado
       rules_check:
+        action: Gerenciar regras do servidor
         message_html: Você não definiu nenhuma regra de servidor.
     tags:
-      accounts_today: Usos únicos de hoje
-      accounts_week: Usos únicos desta semana
-      breakdown: Descrição do consumo atual por fonte
-      last_active: Última atividade
-      most_popular: Mais populares
-      most_recent: Mais recentes
       review: Status da revisão
-      reviewed: Revisado
-      trending_right_now: Em alta no momento
-      unique_uses_today: "%{count} tootando hoje"
-      unreviewed: Não revisadas
       updated_msg: Configurações de hashtag atualizadas com sucesso
     title: Administração
+    trends:
+      allow: Permitir
+      approved: Aprovado
+      disallow: Anular
+      links:
+        allow: Permitir link
+        allow_provider: Permitir editor
+        disallow: Proibir link
+        disallow_provider: Anular editor
+        title: Em alta no momento
+        usage_comparison: Compartilhado %{today} vezes hoje, em comparação com %{yesterday} de ontem
+      pending_review: Revisão pendente
+      preview_card_providers:
+        allowed: Links deste editor podem tender
+        rejected: Links deste editor não vão tender
+        title: Editor
+      rejected: Rejeitado
+      tags:
+        current_score: Pontuação atual %{score}
+        dashboard:
+          tag_accounts_measure: usos únicos
+          tag_languages_dimension: Idiomas principais
+          tag_servers_dimension: Servidores mais populares
+          tag_servers_measure: servidores diferentes
+        listable: Pode ser sugerido
+        not_listable: Não será sugerido
+        not_trendable: Não aparecerá em alta
+        not_usable: Não pode ser usado
+        title: Hashtags em alta
+        trendable: Aparecerá em alta
+        trending_rank: 'Em alta #%{rank}'
+        usable: Pode ser usado
+        usage_comparison: Usado %{today} vezes hoje, em comparação com %{yesterday} de ontem
+        used_by_over_week:
+          one: Usado por uma pessoa na última semana
+          other: Usado por %{count} pessoas na última semana
+      title: Em alta
     warning_presets:
       add_new: Adicionar novo
       delete: Excluir
       edit_preset: Editar o aviso pré-definido
+      empty: Você ainda não definiu nenhuma predefinição de alerta.
       title: Gerenciar os avisos pré-definidos
   admin_mailer:
     new_pending_account:
@@ -623,9 +750,10 @@ pt-BR:
       body: "%{reporter} denunciou %{target}"
       body_remote: Alguém da instância %{domain} reportou %{target}
       subject: Nova denúncia sobre %{instance} (#%{id})
-    new_trending_tag:
-      body: 'A hashtag #%{name} está em alta hoje, mas não foi previamente revisada. Ela não estará visível publicamente a menos que você aprove, ou salve o formulário do jeito que está para nunca mais ouvir falar dela.'
-      subject: Nova hashtag disponível para revisão em %{instance} (#%{name})
+    new_trending_links:
+      no_approved_links: Atualmente, não há links de tendência aprovados.
+    new_trending_tags:
+      body: 'As seguintes hashtags estão em alta hoje, mas não foram avaliadas anteriormente. Elas não serão exibidas publicamente, a menos que você as aprove:'
   aliases:
     add_new: Criar alias
     created_msg: Um novo alias foi criado com sucesso. Agora você pode iniciar a mudança da conta antiga.
@@ -647,6 +775,7 @@ pt-BR:
     toot_layout: Layout do Toot
   application_mailer:
     notification_preferences: Alterar preferências de e-mail
+    salutation: "%{name},"
     settings: 'Alterar e-mail de preferência: %{link}'
     view: 'Ver:'
     view_profile: Ver perfil
@@ -681,6 +810,9 @@ pt-BR:
     migrate_account: Mudar-se para outra conta
     migrate_account_html: Se você quer redirecionar essa conta para uma outra você pode <a href="%{path}">configurar isso aqui</a>.
     or_log_in_with: Ou entre com
+    providers:
+      cas: CAS
+      saml: SAML
     register: Criar conta
     registration_closed: "%{instance} não está aceitando novos membros"
     resend_confirmation: Reenviar instruções de confirmação
@@ -727,6 +859,7 @@ pt-BR:
       with_month_name: "%d de %b de %Y"
   datetime:
     distance_in_words:
+      about_x_hours: "%{count}h"
       about_x_months: "%{count}m"
       about_x_years: "%{count}a"
       almost_x_years: "%{count}a"
@@ -787,6 +920,7 @@ pt-BR:
       size: Tamanho
     blocks: Você bloqueou
     bookmarks: Marcadores
+    csv: CSV
     domain_blocks: Bloqueios de domínio
     lists: Listas
     mutes: Você silenciou
@@ -824,35 +958,18 @@ pt-BR:
     changes_saved_msg: Alterações foram salvas com sucesso!
     copy: Copiar
     delete: Excluir
-    no_batch_actions_available: Nenhuma ação em lote disponível nesta página
+    none: Nenhum
     order_by: Ordenar por
     save_changes: Salvar alterações
+    today: hoje
     validation_errors:
       one: Algo errado não está certo! Por favor, analise o erro abaixo
       other: Algo errado não está certo! Por favor, analise os %{count} erros abaixo
   html_validator:
     invalid_markup: 'contém HTML inválido: %{error}'
-  identity_proofs:
-    active: Ativo
-    authorize: Sim, autorizar
-    authorize_connection_prompt: Autorizar essa conexão criptográfica?
-    errors:
-      failed: Falha na conexão criptográfica. Por favor, tente novamente a partir de %{provider}.
-      keybase:
-        invalid_token: Tokens keybase são hashes de assinatura e devem conter 66 caracteres hexa
-        verification_failed: Keybase não reconhece esse token como uma assinatura do usuário keybase %{kb_username}. Por favor, tente novamente a partir do Keybase.
-      wrong_user: Não foi possível criar uma prova para %{proving} como %{current}. Entre como %{proving} e tente novamente.
-    explanation_html: Você pode conectar criptograficamente suas outras identidades, tais quais seu perfil Keybase. Isso permite outras pessoas de lhe enviarem mensagens criptografadas e confiar no conteúdo que você as envia.
-    i_am_html: Eu sou %{username} em %{service}.
-    identity: Identidade
-    inactive: Inativo
-    publicize_checkbox: 'E toote isso:'
-    publicize_toot: 'Está provado! Eu sou %{username} no %{service}: %{url}'
-    remove: Remover prova da conta
-    removed: Prova removida da conta com sucesso
-    status: Status da verificação
-    view_proof: Ver prova
   imports:
+    errors:
+      over_rows_processing_limit: contém mais de %{count} linhas
     modes:
       merge: Juntar
       merge_long: Manter os registros existentes e adicionar novos
@@ -893,6 +1010,16 @@ pt-BR:
   lists:
     errors:
       limit: Você atingiu o máximo de listas
+  login_activities:
+    authentication_methods:
+      otp: autenticação de dois fatores
+      password: senha
+      webauthn: chaves de segurança
+    description_html: Se você vir atividades suspeitas ou não reconhecidas, considere alterar sua senha e ativar a autenticação de dois fatores.
+    empty: Sem histórico de autenticação disponível
+    failed_sign_in_html: Falha na tentativa de login com %{method} de %{ip} (%{browser})
+    successful_sign_in_html: Login bem-sucedido com %{method} de %{ip} (%{browser})
+    title: Histórico de autenticação
   media_attachments:
     validations:
       images_and_video: Não foi possível anexar um vídeo a um toot que já contém imagens
@@ -965,10 +1092,14 @@ pt-BR:
       body: "%{name} te mencionou em:"
       subject: "%{name} te mencionou"
       title: Nova menção
+    poll:
+      subject: Uma enquete por %{name} terminou
     reblog:
       body: "%{name} deu boost no seu toot:"
       subject: "%{name} deu boost no seu toot"
       title: Novo boost
+    status:
+      subject: "%{name} acabou de postar"
   notifications:
     email_events: Eventos para notificações por e-mail
     email_events_hint: 'Selecione os eventos que deseja receber notificações:'
@@ -976,6 +1107,7 @@ pt-BR:
   number:
     human:
       decimal_units:
+        format: "%n%u"
         units:
           billion: BI
           million: MI
@@ -995,6 +1127,7 @@ pt-BR:
     next: Próximo
     older: Mais antigo
     prev: Anterior
+    truncate: "&hellip;"
   polls:
     errors:
       already_voted: Enquete votada
@@ -1076,15 +1209,24 @@ pt-BR:
     current_session: Sessão atual
     description: "%{browser} em %{platform}"
     explanation: Estes são os navegadores que estão conectados com a sua conta Mastodon.
+    ip: IP
     platforms:
+      adobe_air: Adobe Air
+      android: Android
       blackberry: BlackBerry
+      chrome_os: Chrome OS
+      firefox_os: Firefox OS
+      ios: iOS
+      linux: Linux
       mac: MacOS
       other: Plataforma desconhecida
+      windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
     revoke: Fechar
     revoke_success: Sessão fechada com sucesso
     title: Sessões
+    view_authentication_history: Ver histórico de autenticação da sua conta
   settings:
     account: Conta
     account_settings: Configurações da conta
@@ -1097,7 +1239,6 @@ pt-BR:
     edit_profile: Editar perfil
     export: Exportar dados
     featured_tags: Hashtags em destaque
-    identity_proofs: Provas de identidade
     import: Importar
     import_and_export: Importar e exportar
     migrate: Migração de conta
@@ -1105,6 +1246,7 @@ pt-BR:
     preferences: Preferências
     profile: Perfil
     relationships: Seguindo e seguidores
+    statuses_cleanup: Exclusão automatizada de publicações
     two_factor_authentication: Autenticação de dois fatores
     webauthn_authentication: Chaves de segurança
   statuses:
@@ -1126,13 +1268,12 @@ pt-BR:
       other: 'continha hashtags não permitidas: %{tags}'
     errors:
       in_reply_not_found: O toot que você quer responder parece não existir.
-    language_detection: Detectar idioma automaticamente
     open_in_web: Abrir no navegador
     over_character_limit: limite de caracteres de %{max} excedido
     pin_errors:
+      direct: Posts visíveis apenas para usuários mencionados não podem ser fixados
       limit: Quantidade máxima de toots excedida
       ownership: Toots dos outros não podem ser fixados
-      private: Toots não-públicos não podem ser fixados
       reblog: Boosts não podem ser fixados
     poll:
       total_people:
@@ -1147,13 +1288,49 @@ pt-BR:
     show_older: Mostrar mais antigos
     show_thread: Mostrar conversa
     sign_in_to_participate: Entre para participar dessa conversa
+    title: '%{name}: "%{quote}"'
     visibilities:
+      direct: Direto
       private: Privado
       private_long: Posta apenas para seguidores
       public: Público
       public_long: Posta em linhas públicas
       unlisted: Não-listado
       unlisted_long: Não posta em linhas públicas
+  statuses_cleanup:
+    enabled: Excluir publicações antigas automaticamente
+    enabled_hint: Exclui suas publicações automaticamente assim que elas alcançam sua validade, a não ser que se enquadrem em alguma das exceções abaixo
+    exceptions: Exceções
+    explanation: Já que a exclusão de publicações é uma operação custosa, ela é feita lentamente quando o servidor não está ocupado. Por isso suas publicações podem ser excluídas algum tempo depois de alcançarem sua validade.
+    ignore_favs: Ignorar favoritos
+    ignore_reblogs: Ignorar boosts
+    interaction_exceptions: Exceções baseadas nas interações
+    interaction_exceptions_explanation: Note que não há garantia de que as publicações sejam excluídas se ficarem abaixo do limite de favoritos ou boosts depois de tê-lo ultrapassado.
+    keep_direct: Manter mensagens diretas
+    keep_direct_hint: Não deleta nenhuma de suas mensagens diretas
+    keep_media: Manter publicações com mídia
+    keep_media_hint: Não exclui nenhuma de suas publicações com mídia
+    keep_pinned: Manter publicações fixadas
+    keep_pinned_hint: Não exclui nenhuma publicação fixada
+    keep_polls: Manter enquetes
+    keep_polls_hint: Não exclui nenhuma de suas enquetes
+    keep_self_bookmark: Manter publicações que você salvou
+    keep_self_bookmark_hint: Não exclui suas próprias publicações se você as tiver salvado
+    keep_self_fav: Manter publicações que você favoritou
+    keep_self_fav_hint: Não exclui suas próprias publicações se você as tiver favoritado
+    min_age:
+      '1209600': 2 semanas
+      '15778476': 6 meses
+      '2629746': 1 mês
+      '31556952': 1 ano
+      '5259492': 2 meses
+      '63113904': 2 anos
+      '7889238': 3 meses
+    min_age_label: Validade
+    min_favs: Manter publicações favoritadas por ao menos
+    min_favs_hint: Não exclui publicações que tiverem sido favoritados ao menos essa quantidade de vezes. Deixe em branco para excluir publicações independente da quantidade de favoritos
+    min_reblogs: Manter publicações boostadas por ao menos
+    min_reblogs_hint: Não exclui publicações que tiverem sido boostadas ao menos essa quantidade de vezes. Deixe em branco para excluir publicações independente da quantidade de boosts
   stream_entries:
     pinned: Toot fixado
     reblogged: deu boost
@@ -1278,24 +1455,24 @@ pt-BR:
       subject: Por favor, confirme a tentativa de acesso
       title: Tentativa de acesso
     warning:
+      categories:
+        spam: Spam
+        violation: O conteúdo viola as seguintes diretrizes da comunidade
       explanation:
-        disable: Enquanto sua conta está congelada, seus dados de conta permanecem intactos, mas você não pode realizar nenhuma ação até que esteja destrancada.
-        sensitive: Seus arquivos de mídia carregados e mídias vinculadas serão tratados como sensíveis.
-        silence: Enquanto sua conta está silenciada, somente pessoas que já estão seguindo você poderão ver seus toots nessa instância, e você pode ser excluído de várias listas públicas. No entanto, outros ainda podem te seguir manualmente.
-        suspend: Sua conta foi banida e todos os seus toots e mídias foram irreversivelmente excluídos desta instância e das instâncias dos seus seguidores.
-      get_in_touch: Você pode responder a este e-mail para entrar em contato com a equipe de %{instance}.
+        sensitive: A partir de agora, todos os seus arquivos de mídia enviados serão marcados como confidenciais e escondidos por trás de um aviso de clique.
+      get_in_touch: Se você acredita que isso é um erro, você pode responder a este e-mail para entrar em contato com a equipe de %{instance}.
+      reason: 'Motivo:'
       review_server_policies: Revisar as políticas da instância
-      statuses: 'Especificamente, para:'
       subject:
         disable: Sua conta %{acct} foi bloqueada
         none: Aviso para %{acct}
-        sensitive: Sua conta %{acct} de postagem de mídia foi marcada como sensível
         silence: Sua conta %{acct} foi silenciada
         suspend: Sua conta %{acct} foi banida
       title:
+        delete_statuses: Publicações removidas
         disable: Conta bloqueada
         none: Aviso
-        sensitive: Sua mídia foi marcada como sensível
+        sensitive: Mídia oculta
         silence: Conta silenciada
         suspend: Conta banida
     welcome:
diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml
index 93b375c3d..de301e149 100644
--- a/config/locales/pt-PT.yml
+++ b/config/locales/pt-PT.yml
@@ -99,7 +99,6 @@ pt-PT:
     accounts:
       add_email_domain_block: Adicionar o domínio de e-mail à lista negra
       approve: Aprovar
-      approve_all: Aprovar todos
       approved_msg: Inscrição de %{username} aprovada com sucesso
       are_you_sure: Tens a certeza?
       avatar: Imagem de Perfil
@@ -114,6 +113,7 @@ pt-PT:
       confirm: Confirmar
       confirmed: Confirmado
       confirming: A confirmar
+      custom: Personalizar
       delete: Eliminar dados
       deleted: Eliminada
       demote: Despromoveu
@@ -153,7 +153,6 @@ pt-PT:
         active: Activo
         all: Todos
         pending: Pendente
-        silenced: Silenciados
         suspended: Supensos
         title: Moderação
       moderation_notes: Notas de moderação
@@ -171,7 +170,6 @@ pt-PT:
       redownload: Atualizar perfil
       redownloaded_msg: Atualizado com sucesso o perfil de %{username} da origem
       reject: Rejeitar
-      reject_all: Rejeitar todas
       rejected_msg: Inscrição de %{username} rejeitada com sucesso
       remove_avatar: Remover a imagem de perfil
       remove_header: Remover o cabeçalho
@@ -201,17 +199,19 @@ pt-PT:
       sensitized: marcada como sensível
       shared_inbox_url: URL da caixa de entrada compartilhada
       show:
-        created_reports: Relatórios gerados por esta conta
-        targeted_reports: Relatórios feitos sobre esta conta
+        created_reports: Denúncias realizadas
+        targeted_reports: Denunciada por outros
       silence: Silêncio
       silenced: Silenciada
       statuses: Status
+      strikes: Punições anteriores
       subscribe: Inscrever-se
       suspended: Suspensa
       suspension_irreversible: Os dados desta conta foram eliminados irreversivelmente. Pode cancelar a suspensão da conta para torná-la utilizável, mas ela não irá recuperar os dados que possuía anteriormente.
       suspension_reversible_hint_html: A conta foi suspensa e os dados serão totalmente eliminados em %{date}. Até lá, a conta poderá ser recuperada sem quaisquer efeitos negativos. Se deseja eliminar todos os dados desta conta imediatamente, pode fazê-lo em baixo.
-      time_in_queue: Aguardando na fila %{time}
       title: Contas
+      unblock_email: Desbloquear endereço de e-mail
+      unblocked_email_msg: Endereço de e-mail de %{username} desbloqueado com sucesso
       unconfirmed_email: E-mail não confirmado
       undo_sensitized: Desmarcar como sensível
       undo_silenced: Desfazer silenciar
@@ -226,7 +226,8 @@ pt-PT:
       whitelisted: Está na lista branca
     action_logs:
       action_types:
-        assigned_to_self_report: Atribuir Relatório
+        approve_user: Aprovar Utilizador
+        assigned_to_self_report: Atribuir Denúncia
         change_email_user: Alterar E-mail do Utilizador
         confirm_user: Confirmar Utilizador
         create_account_warning: Criar Aviso
@@ -243,6 +244,7 @@ pt-PT:
         destroy_domain_allow: Eliminar Permissão de Domínio
         destroy_domain_block: Eliminar Bloqueio de Domínio
         destroy_email_domain_block: Eliminar Bloqueio de Domínio de E-mail
+        destroy_instance: Purgar Domínio
         destroy_ip_block: Eliminar regra de IP
         destroy_status: Eliminar Publicação
         destroy_unavailable_domain: Eliminar Domínio Indisponível
@@ -255,14 +257,16 @@ pt-PT:
         enable_user: Ativar Utilizador
         memorialize_account: Memorizar Conta
         promote_user: Promover Utilizador
+        reject_user: Rejeitar Utilizador
         remove_avatar_user: Remover Imagem de Perfil
-        reopen_report: Reabrir Relatório
+        reopen_report: Reabrir Denúncia
         reset_password_user: Repor Password
-        resolve_report: Resolver Relatório
+        resolve_report: Resolver Denúncia
         sensitive_account: Marcar a media na sua conta como sensível
         silence_account: Silenciar Conta
         suspend_account: Suspender Conta
-        unassigned_report: Desatribuir Relatório
+        unassigned_report: Desatribuir Denúncia
+        unblock_email_account: Desbloquear endereço de e-mail
         unsensitive_account: Desmarcar a media na sua conta como sensível
         unsilence_account: Deixar de Silenciar Conta
         unsuspend_account: Retirar Suspensão à Conta
@@ -271,7 +275,8 @@ pt-PT:
         update_domain_block: Atualizar Bloqueio de Domínio
         update_status: Atualizar Estado
       actions:
-        assigned_to_self_report_html: "%{name} atribuiu o relatório %{target} a si próprio"
+        approve_user_html: "%{name} aprovou a inscrição de %{target}"
+        assigned_to_self_report_html: "%{name} atribuiu a denúncia %{target} a si próprio"
         change_email_user_html: "%{name} alterou o endereço de e-mail do utilizador %{target}"
         confirm_user_html: "%{name} confirmou o endereço de e-mail do utilizador %{target}"
         create_account_warning_html: "%{name} enviou um aviso para %{target}"
@@ -288,6 +293,7 @@ pt-PT:
         destroy_domain_allow_html: "%{name} desabilitou a federação com o domínio %{target}"
         destroy_domain_block_html: "%{name} desbloqueou o domínio %{target}"
         destroy_email_domain_block_html: "%{name} desbloqueou o domínio de e-mail %{target}"
+        destroy_instance_html: "%{name} purgou o domínio %{target}"
         destroy_ip_block_html: "%{name} eliminou regra para o IP %{target}"
         destroy_status_html: "%{name} removeu a publicação de %{target}"
         destroy_unavailable_domain_html: "%{name} retomou a entrega ao domínio %{target}"
@@ -300,14 +306,16 @@ pt-PT:
         enable_user_html: "%{name} ativou o acesso para o utilizador %{target}"
         memorialize_account_html: "%{name} transformou a conta de %{target} em um memorial"
         promote_user_html: "%{name} promoveu o utilizador %{target}"
+        reject_user_html: "%{name} rejeitou a inscrição de %{target}"
         remove_avatar_user_html: "%{name} removeu a imagem de perfil de %{target}"
-        reopen_report_html: "%{name} reabriu o relatório %{target}"
+        reopen_report_html: "%{name} reabriu a denúncia %{target}"
         reset_password_user_html: "%{name} restabeleceu a palavra-passe do utilizador %{target}"
-        resolve_report_html: "%{name} resolveu o relatório %{target}"
+        resolve_report_html: "%{name} resolveu a denúncia %{target}"
         sensitive_account_html: "%{name} marcou a media de %{target} como sensível"
         silence_account_html: "%{name} silenciou a conta de %{target}"
         suspend_account_html: "%{name} suspendeu a conta de %{target}"
-        unassigned_report_html: "%{name} desatribuiu o realtório %{target}"
+        unassigned_report_html: "%{name} desatribuiu a denúncia %{target}"
+        unblock_email_account_html: "%{name} desbloqueou o endereço de e-mail de %{target}"
         unsensitive_account_html: "%{name} desmarcou a media de %{target} como sensível"
         unsilence_account_html: "%{name} desativou o silêncio de %{target}"
         unsuspend_account_html: "%{name} desativou a suspensão de %{target}"
@@ -375,17 +383,17 @@ pt-PT:
       interactions: interações
       media_storage: Armazenamento de media
       new_users: novos utilizadores
-      opened_reports: relatórios abertos
+      opened_reports: denúncias abertas
       pending_reports_html:
-        one: "<strong>1</strong> relatório pendente"
-        other: "<strong>%{count}</strong> relatórios pendentes"
+        one: "<strong>1</strong> denúncia pendente"
+        other: "<strong>%{count}</strong> denúncias pendentes"
       pending_tags_html:
         one: "<strong>1</strong> hashtag pendente"
         other: "<strong>%{count}</strong> hashtags pendentes"
       pending_users_html:
         one: "<strong>1</strong> utilizador pendente"
         other: "<strong>%{count}</strong> utilizadores pendentes"
-      resolved_reports: relatórios resolvidos
+      resolved_reports: denúncias resolvidas
       software: Software
       sources: Origem de inscrições
       space: Utilização do espaço
@@ -422,10 +430,10 @@ pt-PT:
       public_comment_hint: Comentário sobre essa limitação de domínio para o público geral, se ativada a divulgação da lista de limitações de domínio.
       reject_media: Rejeitar ficheiros de media
       reject_media_hint: Remove arquivos de media armazenados localmente e rejeita descarregar novos arquivos no futuro. Irrelevante para suspensões
-      reject_reports: Rejeitar relatórios
-      reject_reports_hint: Ignorar todos os relatórios vindos deste domínio. Irrelevantes para efectuar suspensões
+      reject_reports: Rejeitar denúncia
+      reject_reports_hint: Ignorar todos as denúncias provenientes deste domínio. Irrelevante para suspensões
       rejecting_media: a rejeitar ficheiros de media
-      rejecting_reports: a rejeitar relatórios
+      rejecting_reports: a rejeitar denúncias
       severity:
         silence: silenciado
         suspend: suspenso
@@ -465,6 +473,7 @@ pt-PT:
       back_to_limited: Limitadas
       back_to_warning: Aviso
       by_domain: Domínio
+      confirm_purge: Tem a certeza que deseja eliminar permanentemente os dados deste domínio?
       delivery:
         all: Todas
         clear: Limpar erros de entrega
@@ -480,6 +489,7 @@ pt-PT:
       delivery_available: Entrega disponível
       delivery_error_days: Dias de erro de entrega
       delivery_error_hint: Se a entrega não for possível durante %{count} dias, será automaticamente marcada como não realizável.
+      destroyed_msg: Dados de %{domain} estão agora na fila para iminente eliminação.
       empty: Não foram encontrados domínios.
       known_accounts:
         one: "%{count} conta conhecida"
@@ -490,11 +500,12 @@ pt-PT:
         title: Moderação
       private_comment: Comentários privados
       public_comment: Comentários públicos
+      purge: Purgar
       title: Instâncias conhecidas
       total_blocked_by_us: Bloqueadas por nós
       total_followed_by_them: Seguidas por eles
       total_followed_by_us: Seguidas por nós
-      total_reported: Relatórios sobre eles
+      total_reported: Denúncias sobre eles
       total_storage: Anexos de media
     invites:
       deactivate_all: Desativar todos
@@ -519,8 +530,6 @@ pt-PT:
         title: Criar nova regra de IP
       no_ip_block_selected: Nenhuma regra de IP foi alterada pois nenhuma foi selecionada
       title: Regras de IP
-    pending_accounts:
-      title: Contas pendentes (%{count})
     relationships:
       title: Relações de %{acct}
     relays:
@@ -540,46 +549,61 @@ pt-PT:
       status: Estado
       title: Retransmissores
     report_notes:
-      created_msg: Relatório criado com sucesso!
-      destroyed_msg: Nota de relatório eliminada com sucesso!
+      created_msg: Nota de denúncia criada com sucesso!
+      destroyed_msg: Nota de denúncia eliminada com sucesso!
+      today_at: Hoje às %{time}
     reports:
       account:
         notes:
           one: "%{count} nota"
           other: "%{count} notas"
-        reports:
-          one: "%{count} relatório"
-          other: "%{count} relatórios"
+      action_log: Registo de auditoria
       action_taken_by: Ação tomada por
-      are_you_sure: Tens a certeza?
-      assign_to_self: Atribuí-me a mim
-      assigned: Atribuído ao moderador
-      by_target_domain: Domínio da conta reportada
+      actions:
+        other_description_html: Ver mais opções para controlar o comportamento da conta e personalizar a comunicação para a conta denunciada.
+        silence_description_html: O perfil será visível apenas para aqueles que já o seguem ou o procurem manualmente, limitando severamente o seu alcance. Pode sempre ser revertido.
+        suspend_description_html: O perfil e todo o seu conteúdo tornar-se-ão inacessíveis até serem eventualmente apagados. A interacção com a conta será impossível. Reversível no prazo de 30 dias.
+      actions_description_html: 'Se a remoção do conteúdo ofensivo acima for insuficiente:'
+      add_to_report: Adicionar mais à denúncia
+      are_you_sure: Tem a certeza?
+      assign_to_self: Atribuída a mim
+      assigned: Atribuída ao moderador
+      by_target_domain: Domínio da conta denunciada
+      category: Categorização
+      category_description_html: A razão pela qual esta conta e/ou conteúdo foi denunciado será citada na comunicação com a conta denunciada
       comment:
         none: Nenhum
-      created_at: Relatado
+      comment_description_html: 'Para fornecer mais informações, %{name} escreveu:'
+      created_at: Denunciado
+      delete_and_resolve: Apagar e resolver
       forwarded: Encaminhado
       forwarded_to: Encaminhado para %{domain}
       mark_as_resolved: Marcar como resolvido
       mark_as_unresolved: Marcar como não resolvido
+      no_one_assigned: Ninguém
       notes:
         create: Adicionar nota
         create_and_resolve: Resolver com nota
         create_and_unresolve: Reabrir com nota
         delete: Eliminar
         placeholder: Descreve as ações que foram tomadas ou quaisquer outras atualizações relacionadas...
-      reopen: Reabrir relatório
+        title: Notas
+      notes_description_html: Visualize e deixe anotações para outros moderadores e para sí no futuro
+      reopen: Reabrir denúncia
       report: 'Denúncia #%{id}'
       reported_account: Conta denunciada
-      reported_by: Reportado por
+      reported_by: Denunciado por
       resolved: Resolvido
-      resolved_msg: Relatório resolvido com sucesso!
+      resolved_msg: Denúncia resolvida com sucesso!
       status: Estado
-      target_origin: Origem da conta reportada
-      title: Relatórios
+      statuses: Conteúdo denunciado
+      statuses_description_html: O conteúdo ofensivo será citado na comunicação com a conta denunciada
+      target_origin: Origem da conta denunciada
+      title: Denúncias
       unassign: Não atribuir
       unresolved: Por resolver
       updated_at: Atualizado
+      view_profile: Ver perfil
     rules:
       add_new: Adicionar regra
       delete: Eliminar
@@ -681,15 +705,13 @@ pt-PT:
       destroyed_msg: Upload do site eliminado com sucesso!
     statuses:
       back_to_account: Voltar para página da conta
+      back_to_report: Voltar à página da denúncia
       batch:
-        delete: Eliminar
-        nsfw_off: NSFW OFF
-        nsfw_on: NSFW ON
+        remove_from_report: Remover da denúncia
+        report: Denúncia
       deleted: Eliminado
-      failed_to_execute: Falhou ao executar
       media:
         title: Media
-      no_media: Não há media
       no_status_selected: Nenhum estado foi alterado porque nenhum foi selecionado
       title: Estado das contas
       with_media: Com media
@@ -702,21 +724,51 @@ pt-PT:
       sidekiq_process_check:
         message_html: Nenhum processo Sidekiq em execução para a(s) fila(s) %{value}. Reveja a configuração do seu Sidekiq
     tags:
-      accounts_today: Usos únicos hoje
-      accounts_week: Usos únicos desta semana
-      breakdown: Descrição do consumo atual por fonte
-      last_active: Última actividade
-      most_popular: Mais popular
-      most_recent: Mais recente
-      name: Hashtag
       review: Estado da revisão
-      reviewed: Revista
-      title: Hashtags
-      trending_right_now: Tendências agora
-      unique_uses_today: "%{count} publicando hoje"
-      unreviewed: Não revista
       updated_msg: Definições de hashtags actualizadas com sucesso
     title: Administração
+    trends:
+      allow: Permitir
+      approved: Aprovado
+      disallow: Não permitir
+      links:
+        allow: Permitir link
+        allow_provider: Permitir editor
+        disallow: Não permitir link
+        disallow_provider: Não permitir editor
+        shared_by_over_week:
+          one: Partilhado por uma pessoa na última semana
+          other: Partilhado por %{count} pessoas na última semana
+        title: Links em destaque
+        usage_comparison: Partilhado %{today} vezes hoje, em comparação com %{yesterday} ontem
+      pending_review: Pendente de revisão
+      preview_card_providers:
+        allowed: Links deste editor poderão ser incluídos nos destaques
+        rejected: Links deste editor não serão incluídos nos destaques
+        title: Editores
+      rejected: Rejeitado
+      tags:
+        current_score: Pontuação atual %{score}
+        dashboard:
+          tag_accounts_measure: utilizadores únicos
+          tag_languages_dimension: Idiomas mais populares
+          tag_servers_dimension: Servidores mais populares
+          tag_servers_measure: servidores diferentes
+          tag_uses_measure: utilizações totais
+        listable: Pode ser sugerida
+        not_listable: Não será sugerida
+        not_trendable: Não aparecerá nas tendências
+        not_usable: Não pode ser utilizada
+        peaked_on_and_decaying: Máximo em %{date}, agora a decair
+        title: Hashtags em destaque
+        trendable: Pode aparecer nas tendências
+        trending_rank: 'Tendência #%{rank}'
+        usable: Pode ser utilizada
+        usage_comparison: Utilizada %{today} vezes hoje, em comparação com %{yesterday} ontem
+        used_by_over_week:
+          one: Utilizada por uma pessoa na última semana
+          other: Utilizada por %{count} pessoas na última semana
+      title: Tendências
     warning_presets:
       add_new: Adicionar novo
       delete: Eliminar
@@ -728,12 +780,19 @@ pt-PT:
       body: Em baixo, estão os detalhes da nova conta. Pode aprovar ou rejeitar esta inscrição.
       subject: Nova conta para revisão em %{instance} (%{username})
     new_report:
-      body: "%{reporter} relatou %{target}"
-      body_remote: Alguém de %{domain} relatou %{target}
-      subject: Novo relatório sobre %{instance} (#%{id})
-    new_trending_tag:
-      body: 'A hashtag #%{name} está hoje a destacar-se, mas não foi anteriormente revista. Ela não será exibida publicamente a menos que você o permita, ou limite-se a salvar o formulário tal como está, para nunca mais ouvir falar dela.'
-      subject: Nova hashtag para revisão em %{instance} (#%{name})
+      body: "%{reporter} denunciou %{target}"
+      body_remote: Alguém de %{domain} denunciou %{target}
+      subject: Nova denúncia para %{instance} (#%{id})
+    new_trending_links:
+      body: Os seguintes links estão hoje em destaque, mas os seus editores não foram previamente revistos. Eles não serão exibidos publicamente a menos que você os aprove. Outras notificações dos mesmos editores não serão geradas.
+      no_approved_links: Não existem, atualmente, links aprovados em destaque.
+      requirements: O link em destaque, com pontuação mais baixa, aprovado atualmente é "%{lowest_link_title}" com uma pontuação de %{lowest_link_score}.
+      subject: Novos links em destaque para revisão em %{instance}
+    new_trending_tags:
+      body: 'As seguintes hashtags estão hoje em tendência, mas não foram revistas anteriormente. Elas não serão exibidas publicamente, a menos que você as aprove:'
+      no_approved_tags: Não existem, atualmente, hashtags aprovados em tendência.
+      requirements: 'A hashtag em tendência, com pontuação mais baixa, aprovado atualmente é #%{lowest_tag_name} com uma pontuação de %{lowest_tag_score}.'
+      subject: Novas hashtags em tendência para revisão em %{instance}
   aliases:
     add_new: Criar pseudónimo
     created_msg: Criou com sucesso um novo pseudónimo. Pode agora iniciar a migração da conta antiga.
@@ -785,6 +844,7 @@ pt-PT:
     invalid_reset_password_token: Token de modificação da palavra-passe é inválido ou expirou. Por favor, solicita um novo.
     link_to_otp: Insira um código de autenticação em duas etapas do seu telemóvel ou um código de recuperação
     link_to_webauth: Usa o teu dispositivo de chave de segurança
+    log_in_with: Iniciar sessão com
     login: Entrar
     logout: Sair
     migrate_account: Mudar para uma conta diferente
@@ -940,34 +1000,15 @@ pt-PT:
     changes_saved_msg: Alterações guardadas!
     copy: Copiar
     delete: Eliminar
-    no_batch_actions_available: Nenhuma ação em lote disponível nesta página
+    none: Nenhum
     order_by: Ordenar por
     save_changes: Guardar alterações
+    today: hoje
     validation_errors:
       one: Algo não está correcto. Por favor vê o erro abaixo
       other: Algo não está correto. Por favor vê os %{count} erros abaixo
   html_validator:
     invalid_markup: 'contém marcação HTML inválida: %{error}'
-  identity_proofs:
-    active: Ativo
-    authorize: Sim, autorizar
-    authorize_connection_prompt: Autorizar esta conexão criptográfica?
-    errors:
-      failed: A conexão criptográfica falhou. Por favor, tente novamente a partir de %{provider}.
-      keybase:
-        invalid_token: Os tokens Keybase são hashes de assinaturas e devem conter 66 caracteres hexadecimais
-        verification_failed: O Keybase não reconhece este token como uma assinatura do utilizador do Keybase %{kb_username}. Por favor, tente novamente a partir do Keybase.
-      wrong_user: Não é possível criar um comprovativo para %{proving} enquanto estiver conetado como %{current}. Inicie sessão como %{proving} e tente novamente.
-    explanation_html: Aqui pode conetar criptograficamente as suas outras identidades, tais como um perfil Keybase. Isto permite que outras pessoas lhe enviem mensagens encriptadas e confiar em conteúdo que você lhes envia.
-    i_am_html: Sou %{username} em %{service}.
-    identity: Identidade
-    inactive: Inativo
-    publicize_checkbox: 'E publique isso:'
-    publicize_toot: 'Está comprovado! Eu sou %{username} em %{service}: %{url}'
-    remove: Remover comprovatido da conta
-    removed: Comprovativo removido da conta com sucesso
-    status: Estado da verificação
-    view_proof: Ver prova
   imports:
     errors:
       over_rows_processing_limit: contém mais de %{count} linhas
@@ -1241,7 +1282,6 @@ pt-PT:
     edit_profile: Editar perfil
     export: Exportar dados
     featured_tags: Hashtags destacadas
-    identity_proofs: Provas de identidade
     import: Importar
     import_and_export: Importar e exportar
     migrate: Migração de conta
@@ -1269,15 +1309,15 @@ pt-PT:
     disallowed_hashtags:
       one: 'continha uma hashtag proibida: %{tags}'
       other: 'continha as hashtags proibidas: %{tags}'
+    edited_at: Editado em %{date}
     errors:
       in_reply_not_found: A publicação a que está a tentar responder parece não existir.
-    language_detection: Detectar automaticamente a língua
     open_in_web: Abrir no browser
     over_character_limit: limite de caracter excedeu %{max}
     pin_errors:
+      direct: Publicações visíveis apenas para utilizadores mencionados não podem ser fixados
       limit: Já fixaste a quantidade máxima de publicações
       ownership: Posts de outras pessoas não podem ser fixados
-      private: Post não-público não pode ser fixado
       reblog: Não podes fixar uma partilha
     poll:
       total_people:
@@ -1432,6 +1472,7 @@ pt-PT:
     formats:
       default: "%H:%M em %d de %b de %Y"
       month: "%b de %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Adicionar
     disable: Desativar
@@ -1459,24 +1500,31 @@ pt-PT:
       subject: Por favor, confirme a tentativa de acesso
       title: Tentativa de acesso
     warning:
+      categories:
+        spam: Spam
+        violation: O conteúdo infringe as seguintes diretrizes da comunidade
       explanation:
-        disable: Enquanto a tua conta está congelada, os seus dados permanecem intactos, mas tu não podes executar quaisquer acções até que ela seja desbloqueada.
-        sensitive: Os seus ficheiros de media carregados e os media ligados serão tratados como sensíveis.
-        silence: Enquanto a sua conta estiver limitada, só pessoas que já estiver a seguir irão ver as suas publicações nesta instância e poderá ser excluído de várias listagens públicas. No entanto, outros ainda o poderão seguir de forma manual.
-        suspend: A sua conta foi suspensa e todas as suas publicações e os seus ficheiros de media foram irreversivelmente removidos desta instância e das instâncias onde tinhas seguidores.
-      get_in_touch: Pode responder a este e-mail para entrar em contacto com a equipa de %{instance}.
+        delete_statuses: Algumas das suas publicações foram consideradas como a infringir uma ou mais diretrizes da comunidade e foram subsequentemente removidas pelos moderadores de %{instance}. Futuras infrações podem resultar em acções punitivas mais severas contra a sua conta.
+        disable: Não pode mais utilizar a sua conta, mas o seu perfil e outros dados permanecem intactos. Pode solicitar uma cópia dos seus dados, alterar as definições da conta ou apagá-la.
+        sensitive: A partir de agora, todos os ficheiros de media que carregue serão marcados como sensíveis e escondidos atrás de um aviso de "clicar-para-continuar".
+        silence: Pode ainda utilizar a sua conta mas apenas as pessoas que já o seguem poderão ver as suas mensagens neste servidor, e poderá ser excluído de várias funcionalidades de divulgação. No entanto, outros poderão ainda segui-lo manualmente.
+        suspend: Não pode mais utilizar a sua conta, e o seu perfil e outros dados já não se encontram acessíveis. Poderá ainda iniciar sessão para solicitar uma cópia dos seus dados até os mesmos serem totalmente removidos em cerca de 30 dias, porém reteremos alguns dados básicos para o impedir evitar a suspensão.
+      get_in_touch: Se acredita tratar-se de um erro, pode responder a este e-mail para entrar em contacto com os colaboradores de %{instance}.
+      reason: 'Motivo:'
       review_server_policies: Reveja a política da instância
-      statuses: 'Especificamente, para:'
+      statuses: 'Publicações que foram consideradas em infracção:'
       subject:
+        delete_statuses: As suas publicações em %{acct} foram removidas
         disable: A tua conta %{acct} foi congelada
         none: Aviso para %{acct}
-        sensitive: As publicações de media da sua conta %{acct} foram marcadas como sensíveis
+        sensitive: Os seus ficheiros de media em %{acct} serão marcados como sensiveis de agora em diante
         silence: A tua conta %{acct} foi limitada
         suspend: A tua conta %{acct} foi suspensa
       title:
+        delete_statuses: Publicações removidas
         disable: Conta congelada
         none: Aviso
-        sensitive: A sua media foi marcada como sensível
+        sensitive: Media escondida
         silence: Conta limitada
         suspend: Conta suspensa
     welcome:
diff --git a/config/locales/ro.yml b/config/locales/ro.yml
index 0e2dc57af..a3d25c9b9 100644
--- a/config/locales/ro.yml
+++ b/config/locales/ro.yml
@@ -7,12 +7,15 @@ ro:
     active_count_after: activi
     active_footnote: Utilizatori activi lunar (UAL)
     administered_by: 'Administrat de:'
+    api: API
     apps: Aplicații mobile
     apps_platforms: Folosește Mastodon de pe iOS, Android și alte platforme
     browse_directory: Răsfoiți directorul de profil și filtrați după interese
     browse_local_posts: Răsfoiți un flux live al postărilor publice de pe acest server
     browse_public_posts: Răsfoiește un flux live de postări publice pe Mastodon
+    contact: Contact
     contact_missing: Nesetat
+    contact_unavailable: Indisponibil
     discover_users: Descoperă utilizatori
     documentation: Documentație
     federation_hint_html: Cu un cont pe %{instance} vei putea urmări oameni pe orice server de Mastodon sau mai departe.
@@ -23,6 +26,8 @@ ro:
       Acesta este folosit în scopuri de federație și nu ar trebui blocat decât dacă doriți să blocați întreaga instanță, în ce caz trebuie să utilizaţi un bloc de domeniu.
     learn_more: Află mai multe
     privacy_policy: Politica de confidenţialitate
+    rules: Regulile serverului
+    rules_html: 'Mai jos este un rezumat al regulilor pe care trebuie să le urmezi dacă vrei să ai un cont pe acest server de Mastodon:'
     see_whats_happening: Vezi ce se întâmplă
     server_stats: 'Statistici server:'
     source_code: Cod sursă
@@ -35,10 +40,12 @@ ro:
     terms: Termeni de serviciu
     unavailable_content: Conținut indisponibil
     unavailable_content_description:
+      domain: Server
       reason: Motiv
       rejecting_media: 'Fişierele media de pe aceste servere nu vor fi procesate sau stocate şi nici o miniatură nu va fi afişată, necesitând click manual la fişierul original:'
       rejecting_media_title: Fișiere media filtrate
       silenced: 'Postările de pe aceste servere vor fi ascunse în cronologii și conversații publice, și nici o notificare nu va fi generată de interacțiunile utilizatorilor lor decât dacă le urmărești:'
+      silenced_title: Servere limitate
       suspended: 'Nici o informație de pe aceste servere nu va fi procesată, stocată sau schimbată, ceea ce face imposibilă orice interacțiune sau comunicare cu utilizatorii de pe aceste servere:'
       suspended_title: Servere suspendate
     unavailable_content_html: Mastodon vă permite în general să vedeți conținutul din orice alt server și să interacționați cu utilizatorii din rețea. Acestea sunt excepţiile care au fost făcute pe acest server.
@@ -58,9 +65,11 @@ ro:
       one: Urmăritor
       other: De Urmăritori
     following: Urmăriți
+    instance_actor_flash: Acest cont este un actor virtual folosit pentru a reprezenta serverul în sine și nu un utilizator individual. Acesta este utilizat în scopuri federative şi nu trebuie suspendat.
     joined: Înscris %{date}
     last_active: ultima activitate
     link_verified_on: Proprietatea acestui link a fost verificată la %{date}
+    media: Media
     moved_html: "%{name} s-a mutat la %{new_profile_link}:"
     network_hidden: Aceste informaţii nu sunt disponibile
     never_active: Niciodată
@@ -76,8 +85,10 @@ ro:
     posts_tab_heading: Postări
     posts_with_replies: Postări și răspunsuri
     roles:
+      admin: Admin
       bot: Robot
       group: Grup
+      moderator: Moderator
     unavailable: Profil indisponibil
     unfollow: Nu mai urmării
   admin:
@@ -92,8 +103,9 @@ ro:
     accounts:
       add_email_domain_block: Domeniu de e-mail în lista neagră
       approve: Aprobă
-      approve_all: Aprobă toate
+      approved_msg: Cererea de înregistrare de către %{username} a fost aprobată cu succes
       are_you_sure: Ești sigur?
+      avatar: Poză de profil
       by_domain: Domeniu
       change_email:
         changed_msg: E-mail de cont schimbat cu succes!
@@ -105,9 +117,13 @@ ro:
       confirm: Confirmă
       confirmed: Confirmat
       confirming: Confirmare
+      custom: Personalizat
+      delete: Ștergere datele
       deleted: Șters
       demote: Retrogradează
+      destroyed_msg: Datele utilizatorului %{username} sunt acum în așteptare pentru a fi șterse iminent
       disable: Dezactivează
+      disable_sign_in_token_auth: Dezactivează autentificarea prin token e-mail
       disable_two_factor_authentication: Dezactivează 2FA
       disabled: Dezactivat
       display_name: Nume afișat
@@ -116,25 +132,31 @@ ro:
       email: E-mail
       email_status: Stare e-mail
       enable: Activează
+      enable_sign_in_token_auth: Activează autentificarea prin token e-mail
       enabled: Activat
+      enabled_msg: Am dezghețat cu succes contul %{username}
       followers: Urmăritori
       follows: Urmăriri
       header: Antet
       inbox_url: URL mesaje primite
+      invite_request_text: Motive pentru alăturare
       invited_by: Invitat de
+      ip: IP
       joined: Înscris
       location:
         all: Toate
+        local: Local
         remote: La distanţă
         title: Locaţie
       login_status: Stare conectare
       media_attachments: Atașamente media
       memorialize: Transformă în memorie
+      memorialized: Comemorat
+      memorialized_msg: S-a transforma cu succes %{username} într-un cont comemorat
       moderation:
         active: Activ
         all: Toate
         pending: În așteptare
-        silenced: Ignorate
         suspended: Suspendate
         title: Moderare
       moderation_notes: Note de moderare
@@ -146,12 +168,17 @@ ro:
       pending: În așteptare
       perform_full_suspension: Suspendate
       promote: Promovează
+      protocol: Protocol
+      public: Public
       push_subscription_expires: Abonamentul PuSH expiră
       redownload: Reîmprospătează profilul
+      redownloaded_msg: S-a reîmprospătat cu succes profilul %{username} de la origine
       reject: Respinge
-      reject_all: Respinge toate
+      rejected_msg: S-a respins cu succes cererea de înregistrare a utilizatorului %{username}
       remove_avatar: Elimină avatar
       remove_header: Elimină antet
+      removed_avatar_msg: S-a îndepărtat cu succes poza de profil a utilizatorului %{username}
+      removed_header_msg: S-a îndepărtat cu succes coperta utilizatorului %{username}
       resend_confirmation:
         already_confirmed: Acest utilizator este deja confirmat
         send: Retrimite e-mail de confirmare
@@ -161,11 +188,19 @@ ro:
       resubscribe: Resubscrie-te
       role: Permisiuni
       roles:
+        admin: Administrator
+        moderator: Moderator
         staff: Personal
         user: Utilizator
       search: Caută
       search_same_email_domain: Alţi utilizatori cu acelaşi domeniu de e-mail
       search_same_ip: Alţi utilizatori cu acelaşi IP
+      security_measures:
+        only_password: Doar parola
+        password_and_2fa: Parolă și Conectarea în 2 pași
+        password_and_sign_in_token: Parola și token-ul e-mail
+      sensitive: Sensibil
+      sensitized: Marcat ca sensibil
       shared_inbox_url: URL inbox distribuit
       show:
         created_reports: Rapoarte realizate
@@ -173,19 +208,29 @@ ro:
       silence: Ignoră
       silenced: Ignorate
       statuses: Stări
+      strikes: Atenționări anterioare
       subscribe: Subscrie
       suspended: Suspendate
-      time_in_queue: Așteptare în coadă %{time}
+      suspension_irreversible: Datele acestui cont au fost șterse în mod ireversibil. Poți să renunți la suspnedarea contului pentru a-l face utilizabil, dar acesta nu va recupera nicio informație pe care a avut-o anterior.
+      suspension_reversible_hint_html: Contul a fost suspendat și datele vor fi șterse complet pe %{date}. Până atunci, contul poate fi restabilit fără efecte adverse. Dacă dorești să ştergi imediat toate datele contului, poți face acest lucru mai jos.
       title: Conturi
+      unblock_email: Deblochează adresa de e-mail
+      unblocked_email_msg: S-a deblocat cu succes adresa de email a utilizatorului %{username}
       unconfirmed_email: E-mail neconfirmat
+      undo_sensitized: Anulează ca sensibil
       undo_silenced: Anulează ignorarea
       undo_suspension: Anulați suspendarea
+      unsilenced_msg: S-a refăcut cu succes limita contului %{username}
       unsubscribe: Dezabonare
+      unsuspended_msg: S-a anulat cu succes suspendarea contului %{username}
       username: Nume
+      view_domain: Vezi sumarul pentru domeniul
       warn: Avertizează
+      web: Web
       whitelisted: Excluse la blocare
     action_logs:
       action_types:
+        approve_user: Aprobă Utilizatorul
         assigned_to_self_report: Atribuie raportul
         change_email_user: Schimbă e-mailul pentru utilizator
         confirm_user: Confirmare Utilizator
@@ -195,22 +240,33 @@ ro:
         create_domain_allow: Creează permis domeniu
         create_domain_block: Crează blocare de domenii
         create_email_domain_block: Creați blocare de domeniu e-mail
+        create_ip_block: Creează regulă IP
+        create_unavailable_domain: Crează domeniu indisponibil
         demote_user: Retrogradare Utilizatorul
         destroy_announcement: Ștergere anunț
         destroy_custom_emoji: Ștergere Zâmbet Personalizat
         destroy_domain_allow: Ștergere Permitere Domeniu
         destroy_domain_block: Ștergere Blocare Domeniu
+        destroy_email_domain_block: Șterge Blocarea Domeniului de Email
+        destroy_instance: Curăță Domeniul
+        destroy_ip_block: Șterge regula IP
         destroy_status: Șterge starea
+        destroy_unavailable_domain: Șterge Domeniul Indisponibil
         disable_2fa_user: Dezactivează 2FA
         disable_custom_emoji: Dezactivează Emoji-urile Personalizate
+        disable_sign_in_token_auth_user: Dezactivează Autentificarea prin Token E-mail pentru Utilizator
         disable_user: Dezactivează Utilizator
         enable_custom_emoji: Activează Emoji Personalizat
+        enable_sign_in_token_auth_user: Activează Autentificarea prin Token e-mail pentru Utilizator
         enable_user: Activează Utilizator
+        memorialize_account: Comemoreză Contul
         promote_user: Promovează utilizator
+        reject_user: Respinge Utilizatorul
         remove_avatar_user: Elimină avatar
         reopen_report: Redeschide Raport
         reset_password_user: Resetează Parola
         resolve_report: Rezolvă Raport
+        sensitive_account: Cont Sensibil
         suspend_account: Suspendă Cont
         unassigned_report: Raport Neasignat
         unsuspend_account: Anulează Suspendarea Contului
@@ -521,13 +577,11 @@ ro:
       other: 'conținea aceste hashtag-uri nepermise: %{tags}'
     errors:
       in_reply_not_found: Postarea la care încercați să răspundeți nu pare să existe.
-    language_detection: Detectează automat limba
     open_in_web: Deschide pe web
     over_character_limit: s-a depășit limita de caracter %{max}
     pin_errors:
       limit: Deja ai fixat numărul maxim de postări
       ownership: Postarea altcuiva nu poate fi fixată
-      private: Postarea non-publică nu poate fi fixată
       reblog: Un impuls nu poate fi fixat
     poll:
       total_people:
@@ -658,13 +712,7 @@ ro:
       subject: Arhiva ta este gata pentru descărcare
       title: Preluare arhivă
     warning:
-      explanation:
-        disable: În timp ce contul tău este înghețat, datele contului tău rămân intacte, dar nu poți efectua nicio acțiune până când acesta este deblocat.
-        silence: În timp ce contul tău este limitat, doar persoanele care deja te urmăresc îți vor vedea postările pe acest server, și puteți fi exclus de la diverse liste publice. Cu toate acestea, este posibil ca alte persoane să vă urmărească manual.
-        suspend: Contul tău a fost suspendat și toate postările tale și fișierele media încărcate au fost șterse ireversibil de pe acest server, și servere unde ai avut urmăritori.
-      get_in_touch: Puteți răspunde la acest e-mail pentru a lua legătura cu personalul din %{instance}.
       review_server_policies: Revizuiește politicile serverului
-      statuses: 'Mai precis, pentru:'
       subject:
         disable: Contul tău %{acct} a fost înghețat
         none: Avertizare pentru %{acct}
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
index a5f71ae10..bdcab4f83 100644
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -107,7 +107,6 @@ ru:
     accounts:
       add_email_domain_block: Заблокировать e-mail домен
       approve: Подтвердить
-      approve_all: Подтвердить все
       approved_msg: Успешно одобрена заявка на регистрацию %{username}
       are_you_sure: Вы уверены?
       avatar: Аватар
@@ -122,6 +121,7 @@ ru:
       confirm: Подтвердить
       confirmed: Подтверждено
       confirming: Подтверждение
+      custom: Другое
       delete: Удалить данные
       deleted: Удалён
       demote: Разжаловать
@@ -161,7 +161,6 @@ ru:
         active: Действующие
         all: Все
         pending: В ожидании
-        silenced: Скрытые
         suspended: Заблокированные
         title: Модерация
       moderation_notes: Заметки модератора
@@ -179,7 +178,6 @@ ru:
       redownload: Обновить аватар
       redownloaded_msg: Профиль %{username} успешно обновлен из оригинала
       reject: Отклонить
-      reject_all: Отклонить все
       rejected_msg: Успешно отклонено приложение для регистрации %{username}
       remove_avatar: Удалить аватар
       remove_header: Убрать шапку
@@ -214,12 +212,14 @@ ru:
       silence: Скрытие
       silenced: Заглушен
       statuses: Посты
+      strikes: Предыдущие предупреждения
       subscribe: Подписаться
       suspended: Заморожен
       suspension_irreversible: Данные этой учётной записи были необратимо удалены. Вы можете разблокировать учетную запись, чтобы сделать её доступной, но это не восстановит ранее имевшиеся в ней данные.
       suspension_reversible_hint_html: Учётная запись была заблокирована, и данные будут полностью удалены %{date}. До этого момента её можно восстановить без каких-либо неприятных последствий. Если вы хотите немедленно удалить все данные учётной записи, вы можете сделать это ниже.
-      time_in_queue: Ожидание в очереди %{time}
       title: Учётные записи
+      unblock_email: Разблокировать e-mail адрес
+      unblocked_email_msg: E-mail адрес %{username} разблокирован
       unconfirmed_email: Неподтверждённый e-mail
       undo_sensitized: Убрать отметку «деликатного содержания»
       undo_silenced: Отменить скрытие
@@ -234,6 +234,7 @@ ru:
       whitelisted: В белом списке
     action_logs:
       action_types:
+        approve_user: Утвердить
         assigned_to_self_report: Присвоение жалоб
         change_email_user: Изменение e-mail пользователей
         confirm_user: Подтверждение пользователей
@@ -263,6 +264,7 @@ ru:
         enable_user: Разморозка пользователей
         memorialize_account: Присвоение пользователям статуса «мемориала»
         promote_user: Повышение пользователей
+        reject_user: Отклонить
         remove_avatar_user: Удаление аватаров
         reopen_report: Возобновление жалоб
         reset_password_user: Сброс пароля пользователей
@@ -271,6 +273,7 @@ ru:
         silence_account: Скрытие пользователей
         suspend_account: Блокировка пользователей
         unassigned_report: Снятие жалоб
+        unblock_email_account: Разблокировать e-mail адрес
         unsensitive_account: Снятие с пользователей отметки «деликатного содержания»
         unsilence_account: Отмена скрытия пользователей
         unsuspend_account: Разблокировка пользователей
@@ -279,6 +282,7 @@ ru:
         update_domain_block: Изменение блокировки домена
         update_status: Изменение постов
       actions:
+        approve_user_html: "%{name} утвердил(а) регистрацию %{target}"
         assigned_to_self_report_html: "%{name} назначил(а) себя для решения жалобы %{target}"
         change_email_user_html: "%{name} сменил(а) e-mail пользователя %{target}"
         confirm_user_html: "%{name} подтвердил(а) e-mail адрес пользователя %{target}"
@@ -296,6 +300,7 @@ ru:
         destroy_domain_allow_html: "%{name} запретил(а) федерацию с доменом %{target}"
         destroy_domain_block_html: "%{name} снял(а) блокировку с домена %{target}"
         destroy_email_domain_block_html: "%{name} снял(а) блокировку с e-mail домена %{target}"
+        destroy_instance_html: "%{name} очистил(а) данные для домена %{target}"
         destroy_ip_block_html: "%{name} удалил(а) правило для IP %{target}"
         destroy_status_html: "%{name} удалил(а) пост пользователя %{target}"
         destroy_unavailable_domain_html: "%{name} возобновил доставку на узел %{target}"
@@ -308,6 +313,7 @@ ru:
         enable_user_html: "%{name} разморозил(а) пользователя %{target}"
         memorialize_account_html: "%{name} перевел(а) учётную запись пользователя %{target} в статус памятника"
         promote_user_html: "%{name} повысил(а) пользователя %{target}"
+        reject_user_html: "%{name} отклонил(а) регистрацию %{target}"
         remove_avatar_user_html: "%{name} убрал(а) аватарку пользователя %{target}"
         reopen_report_html: "%{name} повторно открыл(а) жалобу %{target}"
         reset_password_user_html: "%{name} сбросил(а) пароль пользователя %{target}"
@@ -316,6 +322,7 @@ ru:
         silence_account_html: "%{name} наложил(а) ограничения на видимость постов пользователя %{target}"
         suspend_account_html: "%{name} заблокировал(а) учётную запись %{target}"
         unassigned_report_html: "%{name} снял(а) назначение жалобы %{target}"
+        unblock_email_account_html: "%{name} разблокировал(а) e-mail адрес %{target}"
         unsensitive_account_html: "%{name} снял(а) отметку файлов %{target} как «деликатного характера»"
         unsilence_account_html: "%{name} снял(а) ограничения видимости постов пользователя %{target}"
         unsuspend_account_html: "%{name} снял(а) блокировку с пользователя %{target}"
@@ -486,6 +493,7 @@ ru:
       back_to_limited: Все ограниченные узлы
       back_to_warning: Все узлы требующие внимания
       by_domain: Домен
+      confirm_purge: Вы уверены, что хотите навсегда удалить данные с этого домена?
       delivery:
         all: Все
         clear: Очистить ошибки доставки
@@ -503,6 +511,7 @@ ru:
       delivery_available: Доставка возможна
       delivery_error_days: Дней ошибок доставки
       delivery_error_hint: Если доставка доставка не удастся в течение %{count} дней, он будет автоматически отмечен недоступным для доставки.
+      destroyed_msg: Данные для домена %{domain} поставлены в очередь на удаление.
       empty: Домены не найдены.
       known_accounts:
         few: "%{count} известные учётные записи"
@@ -515,6 +524,7 @@ ru:
         title: Модерация
       private_comment: Приватный комментарий
       public_comment: Публичный комментарий
+      purge: Удалить данные
       title: Федерация
       total_blocked_by_us: Заблокировано нами
       total_followed_by_them: Их подписчиков
@@ -544,8 +554,6 @@ ru:
         title: Создать новое IP правило
       no_ip_block_selected: Не было изменено ни одного IP правила, так как не было выбрано ни одного
       title: IP правила
-    pending_accounts:
-      title: Ожидающие учетные записи (%{count})
     relationships:
       title: Связи %{acct}
     relays:
@@ -567,6 +575,7 @@ ru:
     report_notes:
       created_msg: Примечание жалобы создано!
       destroyed_msg: Примечание жалобы удалено!
+      today_at: Сегодня в %{time}
     reports:
       account:
         notes:
@@ -574,29 +583,37 @@ ru:
           many: "%{count} заметок"
           one: "%{count} заметка"
           other: "%{count} заметок"
-        reports:
-          few: "%{count} жалобы"
-          many: "%{count} жалоб"
-          one: "%{count} жалоба"
-          other: "%{count} жалоб"
+      action_log: Журнал событий
       action_taken_by: 'Действие предпринято:'
+      actions:
+        silence_description_html: Профиль будет просматриваем только пользователями, которые уже подписаны на него, либо открыли его вручную. Это действие можно отменить в любой момент.
+        suspend_description_html: Профиль и всё опубликованное в нём содержимое станут недоступны, пока в конечном итоге учётная запись не будет удалена. Пользователи не смогут взаимодействовать с этой учётной записью. Это действие можно отменить в течение 30 дней.
+      actions_description_html: 'Если удаления вышеуказанного содержимого недостаточно:'
+      add_to_report: Прикрепить ещё
       are_you_sure: Вы уверены?
       assign_to_self: Назначить себе
       assigned: Назначенный модератор
       by_target_domain: Домен объекта жалобы
+      category: Категория
+      category_description_html: Причина, по которой были доложены этот пользователь или содержимое, будет указана при коммуникации с фигурирующим в жалобе пользователем
       comment:
         none: Нет
+      comment_description_html: 'В дополнение, %{name} добавил(а) следующий комментарий:'
       created_at: Создана
+      delete_and_resolve: Отметить решённой и удалить
       forwarded: Переслано
       forwarded_to: Переслано на %{domain}
       mark_as_resolved: Отметить как решённую
       mark_as_unresolved: Отметить как нерешённую
+      no_one_assigned: Никто
       notes:
         create: Добавить заметку
         create_and_resolve: Разрешить с примечанием
         create_and_unresolve: Переоткрыть с примечанием
         delete: Удалить
         placeholder: Опишите, какие действия были приняты, или любые другие подробности…
+        title: Примечания
+      notes_description_html: Просмотрите или оставьте примечания для остальных модераторов и себя в будущем
       reopen: Переоткрыть жалобу
       report: Жалоба №%{id}
       reported_account: Учётная запись нарушителя
@@ -604,11 +621,14 @@ ru:
       resolved: Решённые
       resolved_msg: Жалоба обработана, спасибо!
       status: Статус
+      statuses: Содержимое относящееся к жалобе
+      statuses_description_html: Нарушающее правила содержимое будет процитировано при коммуникации с фигурирующим в жалобе аккаунтом
       target_origin: Происхождение объекта жалобы
       title: Жалобы
       unassign: Снять назначение
       unresolved: Нерешённые
       updated_at: Обновлена
+      view_profile: Открыть профиль
     rules:
       add_new: Добавить правило
       delete: Удалить
@@ -710,15 +730,13 @@ ru:
       destroyed_msg: Файл успешно удалён.
     statuses:
       back_to_account: Назад к учётной записи
+      back_to_report: Вернуться к жалобе
       batch:
-        delete: Удалить
-        nsfw_off: Снять отметку «деликатного характера»
-        nsfw_on: Отметить как «деликатного характера»
+        remove_from_report: Убрать из жалобы
+        report: Пожаловаться
       deleted: Удалено
-      failed_to_execute: Не удалось выполнить
       media:
         title: Файлы мультимедиа
-      no_media: Без файлов
       no_status_selected: Ничего не изменилось, так как ни один пост не был выделен
       title: Посты пользователя
       with_media: С файлами
@@ -731,21 +749,41 @@ ru:
       sidekiq_process_check:
         message_html: Ни один Sidekiq не запущен для %{value} очереди(-ей). Пожалуйста, просмотрите настройки Sidekiq
     tags:
-      accounts_today: Уникальных использований за сегодня
-      accounts_week: Уникальных использований за эту неделю
-      breakdown: Разбивка сегодняшнего использования по источникам
-      last_active: Последняя активность
-      most_popular: Самые популярные
-      most_recent: Последние
-      name: Хэштег
       review: Состояние проверки
-      reviewed: Проверенные
-      title: Хэштеги
-      trending_right_now: Популярно сейчас
-      unique_uses_today: "%{count} чел. пишут об этом"
-      unreviewed: Непроверенные
       updated_msg: Настройки хэштега обновлены
     title: Администрирование
+    trends:
+      allow: Разрешить
+      approved: Принятые
+      disallow: Отклонить
+      links:
+        allow: Разрешить ссылку
+        allow_provider: Разрешить издание
+        disallow_provider: Отклонить издание
+        shared_by_over_week:
+          few: "%{count} человека поделились за последнюю неделю"
+          many: "%{count} человек поделились за последнюю неделю"
+          one: "%{count} человек поделился за последнюю неделю"
+          other: "%{count} человека поделилось за последнюю неделю"
+        title: Актуальные ссылки
+      pending_review: Ожидает рассмотрения
+      preview_card_providers:
+        allowed: Ссылки этого издания могут отображаться в «актуальном»
+        rejected: Ссылки этого издания не будут отображаться в «актуальном»
+        title: Издатели
+      rejected: Отклонённые
+      tags:
+        dashboard:
+          tag_accounts_measure: уникальных использований
+          tag_uses_measure: всего использований
+        listable: Может предлагаться
+        not_listable: Не будет предлагаться
+        not_trendable: Не будет появляться в списке «актуального»
+        not_usable: Не может использоваться
+        peaked_on_and_decaying: Последний пик — %{date}, сейчас идёт на спад
+        title: Актуальные хэштеги
+        trendable: Может появляться в списке «актуального»
+        usable: Может использоваться
     warning_presets:
       add_new: Добавить
       delete: Удалить
@@ -760,9 +798,8 @@ ru:
       body: "%{reporter} подал(а) жалобу на %{target}"
       body_remote: Кто-то с узла %{domain} пожаловался на %{target}
       subject: Новая жалоба, узел %{instance} (№%{id})
-    new_trending_tag:
-      body: 'Хэштег #%{name} актуален сегодня, но не был проверен. Он не будет отображаться публично, если вы не одобрите его, или просто сохраните эту форму как есть, чтоб никогда больше о нём не слышать.'
-      subject: Новый хэштег для проверки на %{instance} (#%{name})
+    new_trending_links:
+      body: Следующие ссылки на неподтверждённых издателей сегодня актуальны. Они не будут отображаться пока вы их не подтвердите. Дальнейшие уведомления для тех же издателей не будут созданы.
   aliases:
     add_new: Создать псевдоним
     created_msg: Новый псевдоним установлен. Теперь мы можете начать миграцию со старой учётной записи.
@@ -814,6 +851,7 @@ ru:
     invalid_reset_password_token: Токен сброса пароля неверен или устарел. Пожалуйста, запросите новый.
     link_to_otp: Введите двухфакторный код с телефона или код восстановления
     link_to_webauth: Используйте устройство с ключом безопасности
+    log_in_with: Войти используя
     login: Войти
     logout: Выйти
     migrate_account: Перенос учётной записи
@@ -969,9 +1007,9 @@ ru:
     changes_saved_msg: Изменения успешно сохранены!
     copy: Копировать
     delete: Удалить
-    no_batch_actions_available: На этой странице нет запланированных действий
     order_by: Сортировка
     save_changes: Сохранить изменения
+    today: сегодня
     validation_errors:
       few: Что-то здесь не так! Пожалуйста, прочитайте о %{count} ошибках ниже
       many: Что-то здесь не так! Пожалуйста, прочитайте о %{count} ошибках ниже
@@ -979,26 +1017,6 @@ ru:
       other: Что-то здесь не так! Пожалуйста, прочитайте о %{count} ошибках ниже
   html_validator:
     invalid_markup: 'невалидная разметка HTML: %{error}'
-  identity_proofs:
-    active: Активно
-    authorize: Да, авторизовать
-    authorize_connection_prompt: Авторизовать эту криптографическую связь?
-    errors:
-      failed: Криптографическое соединение не установлено. Попробуйте ещё раз на %{provider}.
-      keybase:
-        invalid_token: Токены Keybase — это хэши от подписей и должны быть по длине в 66 hex-символов
-        verification_failed: Keybase не распознаёт этот токен как подпись пользователя %{kb_username}. Пожалуйста, повторите на Keybase.
-      wrong_user: Невозможно подтвердить пользователя %{proving}, будучи залогиненным как %{current}. Выполните вход как %{proving} и попробуйте ещё раз.
-    explanation_html: На этой странице отображаются криптографически подтверждённые идентификаторы — например, привязанный профиль Keybase. Это позволяет людям отправлять вам зашифрованные сообщения, а также доверять вашим постам.
-    i_am_html: Я %{username} на %{service}.
-    identity: Идентификатор
-    inactive: Неактивно
-    publicize_checkbox: 'И опубликуйте текст:'
-    publicize_toot: 'Подтверждено! Я %{username} на %{service}: %{url}'
-    remove: Удалить идентификатор
-    removed: Идентификатор учётной записи удалён
-    status: Статус
-    view_proof: Посмотреть подтверждение
   imports:
     errors:
       over_rows_processing_limit: содержит более %{count} строк
@@ -1031,10 +1049,10 @@ ru:
     generate: Сгенерировать
     invited_by: 'Вас пригласил(а):'
     max_uses:
-      few: "%{count} исп."
-      many: "%{count} исп."
-      one: 1 исп
-      other: "%{count} исп"
+      few: "%{count} раза"
+      many: "%{count} раз"
+      one: "%{count} раз"
+      other: "%{count} раза"
     max_uses_prompt: Без ограничения
     prompt: Создавайте и делитесь ссылками с другими, чтобы предоставить им доступом к этому узлу.
     table:
@@ -1220,6 +1238,9 @@ ru:
     reply:
       proceed: Ответить
       prompt: 'Вы собираетесь ответить на этот пост:'
+  reports:
+    errors:
+      invalid_rules: не ссылается на действительные правила
   scheduled_statuses:
     over_daily_limit: Вы превысили лимит в %{limit} запланированных постов на указанный день
     over_total_limit: Вы превысили лимит на %{limit} запланированных постов
@@ -1278,7 +1299,6 @@ ru:
     edit_profile: Изменить профиль
     export: Экспорт данных
     featured_tags: Особенные хэштеги
-    identity_proofs: Идентификация
     import: Импорт
     import_and_export: Импорт и экспорт
     migrate: Миграция учётной записи
@@ -1309,20 +1329,21 @@ ru:
         other: "%{count} видео"
     boosted_from_html: Продвижение польз. %{acct_link}
     content_warning: 'Спойлер: %{warning}'
+    default_language: Тот же, что язык интерфейса
     disallowed_hashtags:
       few: 'содержались запрещённые хэштеги: %{tags}'
       many: 'содержались запрещённые хэштеги: %{tags}'
       one: 'содержался запрещённый хэштег: %{tags}'
       other: 'содержались запрещённые хэштеги: %{tags}'
+    edited_at: 'Последнее изменение: %{date}'
     errors:
       in_reply_not_found: Пост, на который вы пытаетесь ответить, не существует или удалён.
-    language_detection: Определять язык автоматически
     open_in_web: Открыть в веб-версии
     over_character_limit: превышен лимит символов (%{max})
     pin_errors:
+      direct: Сообщения, видимые только упомянутым пользователям, не могут быть закреплены
       limit: Вы закрепили максимально возможное число постов
       ownership: Нельзя закрепить чужой пост
-      private: Нельзя закрепить непубличный пост
       reblog: Нельзя закрепить продвинутый пост
     poll:
       total_people:
@@ -1381,9 +1402,9 @@ ru:
       '7889238': 3 месяца
     min_age_label: Возрастной порог
     min_favs: Порог отметок «избранного»
-    min_favs_hint: Не удаляет ваши посты, которые получили отметок «избранного» больше, чем указано выше. Оставьте поле пустым, чтобы удалять посты независимо от количества отметок.
+    min_favs_hint: Не удаляет ваши посты, у которых количество отметок «избранного» достигло указанного выше значения. Оставьте поле пустым, чтобы удалять посты независимо от количества отметок.
     min_reblogs: Порог продвижений
-    min_reblogs_hint: Не удаляет ваши посты, количество продвижений которых больше, чем указано выше. Оставьте поле пустым, чтобы удалять посты независимо от количества продвижений.
+    min_reblogs_hint: Не удаляет ваши посты, количество продвижений которых достигло указанного выше значения. Оставьте поле пустым, чтобы удалять посты независимо от количества продвижений.
   stream_entries:
     pinned: Закреплённый пост
     reblogged: продвинул(а)
@@ -1477,6 +1498,7 @@ ru:
     formats:
       default: "%d %b %Y, %H:%M"
       month: "%m.%Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Добавить
     disable: Отключить
@@ -1504,24 +1526,31 @@ ru:
       subject: Пожалуйста, подтвердите попытку входа
       title: Попытка входа
     warning:
+      categories:
+        spam: Спам
+        violation: Содержимое нарушает следующие правила сообщества
       explanation:
-        disable: Пока ваша учётная запись заморожена, ваши данные остаются нетронутыми, но вы не можете производить никаких действий до разблокировки.
-        sensitive: Все загружаемые и прикреплённые вами медиафайлы будут расцениваться как «деликатного характера».
-        silence: Пока действуют данные ограничения, публикуемые вами посты будут видеть исключительно люди, которые на вас уже подписаны на этом узле, вы также можете быть исключены из различных публичных лент. Несмотря на это, остальные пользователи по-прежнему могут подписаться на вас, чтобы читать новые посты.
-        suspend: Ваша учётная запись заблокирована и все ваши посты и загруженные медиафайлы безвозвратно удалены с этого сервера и других серверов, где у вас были подписчики.
-      get_in_touch: Вы можете ответить на это письмо, чтобы связаться с сотрудниками %{instance}.
+        delete_statuses: Некоторые из ваших постов нарушают одно или несколько правил сообщества, и, как следствие, были удалены модераторами %{instance}. Повторные нарушения могут привести к более суровым санкциям относительно вашей учётной записи.
+        disable: Вы не можете использовать свою учётную запись, однако ваш профиль и данные остаются нетронутыми. Вы можете запросить выгрузку своих данных, менять настройки, либо полностью удалить свою учётную запись.
+        sensitive: С этого момента, все прикрепляемые вами файлы будут отмечаться как «деликатного характера» и скрыты за предупреждением, требующими клика.
+        silence: Вы по-прежнему можете использовать свою учётную запись, но только пользователи, которые подписаны на вас, смогут видеть ваши публикации на данном узле. Вы также будете исключены из различных поисковых функций, однако пользователи всё ещё могут вручную подписаться на вас.
+        suspend: Вы больше не сможете использовать эту учётную запись и ваш профиль более недоступен к просмотру. Вы по-прежнему можете войти в учётную запись, чтобы запросить выгрузку своих данных, до тех пор, пока они не будут удалены спустя 30 дней (за исключением информации, которая не позволит вам обойти эту блокировку).
+      get_in_touch: Если вы считаете, что это ошибка, вы можете ответить на это сообщение или связаться с руководством %{instance}.
+      reason: 'Причина:'
       review_server_policies: Посмотреть правила сервера
-      statuses: 'В частности, для:'
+      statuses: 'Следующие публикации были отмечены как нарушающие правила:'
       subject:
+        delete_statuses: Опубликованные вами с учётной записи %{acct} посты были удалены
         disable: Ваша учётная запись %{acct} заморожена
         none: "%{acct} вынесено предупреждение"
-        sensitive: Ваша учётная запись %{acct} была отмечена как «деликатного содержания»
+        sensitive: Публикуемое с учётной записи %{acct} медиа-содержимое с этого момента будет помечаться как «деликатного характера»
         silence: На учётную запись %{acct} наложены ограничения
         suspend: Ваша учётная запись %{acct} была заблокирована
       title:
+        delete_statuses: Ваши посты удалены
         disable: Учётная запись заморожена
         none: Предупреждение
-        sensitive: Ваши медиафайлы отмечены как «деликатного характера»
+        sensitive: Ваши медиафайлы скрыты
         silence: На учётную запись наложены ограничения
         suspend: Учётная запись заблокирована
     welcome:
diff --git a/config/locales/sc.yml b/config/locales/sc.yml
index eeea2793d..221943217 100644
--- a/config/locales/sc.yml
+++ b/config/locales/sc.yml
@@ -21,7 +21,9 @@ sc:
     federation_hint_html: Cun unu contu in %{instance} as a pòdere sighire persones in cale si siat serbidore de Mastodon o de su fediversu.
     get_apps: Proa un'aplicatzione mòbile
     hosted_on: Mastodon allogiadu in %{domain}
-    instance_actor_flash: Custu contu est un'atore virtuale impreadu pro rapresentare su pròpiu serbidore, no est un'utente individuale. Benit impreadu pro punnas de federatzione e no ddu dias dèpere blocare si non boles blocare su domìniu intreu, e in cussu casu dias dèpere impreare unu blocu de domìniu.
+    instance_actor_flash: 'Custu contu est un''atore virtuale impreadu pro rapresentare su pròpiu serbidore, no est un''utente individuale. Benit impreadu pro punnas de federatzione e no ddu dias dèpere blocare si non boles blocare su domìniu intreu, e in cussu casu dias dèpere impreare unu blocu de domìniu.
+
+      '
     learn_more: Àteras informatziones
     privacy_policy: Polìtica de riservadesa
     rules: Règulas de su serbidore
@@ -97,7 +99,6 @@ sc:
     accounts:
       add_email_domain_block: Bloca domìniu de posta eletrònica
       approve: Aprova
-      approve_all: Aprova totus
       approved_msg: Sa dimanda de registru de %{username} est istada aprovada
       are_you_sure: Seguru?
       avatar: Immàgine de profilu
@@ -149,7 +150,6 @@ sc:
         active: Ativu
         all: Totus
         pending: De imbiare
-        silenced: A sa muda
         suspended: Suspèndidu
         title: Moderatzione
       moderation_notes: Notas de moderatzione
@@ -167,7 +167,6 @@ sc:
       redownload: Atualiza su profilu
       redownloaded_msg: Su profilu de %{username} est istadu atualizadu dae s'orìgine
       reject: Refuda
-      reject_all: Refuda totu
       rejected_msg: Sa dimanda de registru de %{username} est istada refudada
       remove_avatar: Boga immàgine de profilu
       remove_header: Boga s'intestatzione
@@ -202,7 +201,6 @@ sc:
       suspended: Suspèndidu
       suspension_irreversible: Is datos de custu contu sunt istados cantzellados in manera irreversìbile. Podes bogare sa suspensione a su contu pro chi si potzat impreare, ma no at a recuperare datu perunu de is chi teniat in antis.
       suspension_reversible_hint_html: Su contu est istadu suspèndidu, e is datos ant a èssere cantzelladu de su totu su %{date}. Finas a tando, su contu si podet ripristinare sena efetu malu perunu. Si boles cantzellare totu is datos de su contu immediatamente ddu podes fàghere inoghe in bassu.
-      time_in_queue: Isetende in coa %{time}
       title: Contos
       unconfirmed_email: Posta eletrònica sena cunfirmare
       undo_sensitized: Boga sa marcadura comente "sensìbile"
@@ -467,8 +465,6 @@ sc:
         title: Crea una règula IP noa
       no_ip_block_selected: Peruna règula IP est istada mudada dae chi non nd'as seletzionadu
       title: Règulas IP
-    pending_accounts:
-      title: Contos in ispera (%{count})
     relationships:
       title: relatziones de %{acct}
     relays:
@@ -495,9 +491,6 @@ sc:
         notes:
           one: "%{count} nota"
           other: "%{count} notas"
-        reports:
-          one: "%{count} informe"
-          other: "%{count} informes"
       action_taken_by: Mesuras adotadas dae
       are_you_sure: Seguru?
       assign_to_self: Assigna a mie
@@ -628,15 +621,9 @@ sc:
       destroyed_msg: Càrriga de su situ cantzellada.
     statuses:
       back_to_account: Torra a sa pàgina de su contu
-      batch:
-        delete: Cantzella
-        nsfw_off: Signala comente a non sensìbile
-        nsfw_on: Signala comente a sensìbile
       deleted: Cantzelladu
-      failed_to_execute: Faddina in s'esecutzione
       media:
         title: Elementos multimediales
-      no_media: Perunu elementu multimediale
       no_status_selected: Perunu istadu est istadu mudadu dae chi non nd'as seletzionadu
       title: Istados de su contu
       with_media: Cun elementos multimediales
@@ -649,19 +636,7 @@ sc:
       sidekiq_process_check:
         message_html: Perunu protzessu Sidekiq est in esecutzione pro sa coa(s) %{value}. Revisiona is cunfiguratziones de Sidekiq
     tags:
-      accounts_today: Impreos ùnicos atuales
-      accounts_week: Impreos ùnicos de custa chida
-      breakdown: Detàllios de s'impreu atuale pro orìgine
-      last_active: Ùrtima atividade
-      most_popular: Prus populares
-      most_recent: Prus reghentes
-      name: Eticheta
       review: Revisiona s'istadu
-      reviewed: Revisionadas
-      title: Etichetas
-      trending_right_now: In tendèntzia immoe
-      unique_uses_today: "%{count} publicatziones de oe"
-      unreviewed: Sena revisionare
       updated_msg: Cunfiguratzione de etichetas atualizada
     title: Amministratzione
     warning_presets:
@@ -678,9 +653,6 @@ sc:
       body: "%{reporter} at sinnaladu %{target}"
       body_remote: Una persone de su domìniu %{domain} at sinnaladu %{target}
       subject: Informe nou pro %{instance} (#%{id})
-    new_trending_tag:
-      body: 'S''eticheta #%{name} est in tendèntzia oe, ma no est istada revisionada in passadu. No at a èssere ammustrada in pùblicu francu chi ddu permitas; si sarvas su formulàriu sena ddu modificare, no ddu as a bìdere mai prus.'
-      subject: Eticheta noa de revisionare in %{instance} (#%{name})
   aliases:
     add_new: Crea unu nomìngiu
     created_msg: Nomìngiu creadu. Immoe podes cumintzare a tramudare dae su contu betzu.
@@ -887,7 +859,6 @@ sc:
     changes_saved_msg: Modìficas sarvadas.
     copy: Còpia
     delete: Cantzella
-    no_batch_actions_available: Peruna atzione in blocu a disponimentu dae custa pàgina
     order_by: Òrdina pro
     save_changes: Sarva is modìficas
     validation_errors:
@@ -895,26 +866,6 @@ sc:
       other: Calicuna cosa ancora no est andende. Bide is %{count} faddinas in bàsciu
   html_validator:
     invalid_markup: 'cuntenet etichetas HTML non vàlidas: %{error}'
-  identity_proofs:
-    active: Ativu
-    authorize: Eja, autoriza
-    authorize_connection_prompt: Boles autorizare custa connessione critografada?
-    errors:
-      failed: Faddina in sa connessione critografada. Torra·bi a proare dae %{provider}.
-      keybase:
-        invalid_token: Is còdighes de autorizatzione de Keybase sunt hash de firmas e depent tènnere 66 caràteres esadetzimales
-        verification_failed: Keybase non reconnoschet custu còdighe de autorizatzione che a firma de s'utente de Keybase %{kb_username}. Torra·bi a proare dae Keybase.
-      wrong_user: Impossìbile creare una proa pro %{proving} cando as fatu s'atzessu che a %{current}. Intra che a %{proving} e torra·bi a proare.
-    explanation_html: Inoghe podes collegare critograficamente is àteras identidades tuas dae àteras prataformas, che a Keybase. Custu permitit a àteras persones de t'imbiare messàgios tzifrados in cussas prataformas e de tènnere sa seguresa chi is cuntenutos chi ddis ses imbiende benint dae tene.
-    i_am_html: So %{username} in %{service}.
-    identity: Identidade
-    inactive: Inativu
-    publicize_checkbox: 'E imbia custu tut:'
-    publicize_toot: 'Verificadu! So %{username} in %{service}: %{url}'
-    remove: Boga sa proa dae su contu
-    removed: Proa bogada dae su contu
-    status: Istadu de verìfica
-    view_proof: Ammustra sa proa
   imports:
     errors:
       over_rows_processing_limit: cuntenet prus de %{count} filas
@@ -1176,7 +1127,6 @@ sc:
     edit_profile: Modìfica profilu
     export: Esportatzione de datos
     featured_tags: Etichetas in evidèntzia
-    identity_proofs: Proas de identidade
     import: Importatzione
     import_and_export: Importatzione e esportatzione
     migrate: Tràmuda de contu
@@ -1205,13 +1155,11 @@ sc:
       other: 'cuntenet is etichetas non permìtidas: %{tags}'
     errors:
       in_reply_not_found: Ses chirchende de rispòndere a unu tut chi no esistit prus.
-    language_detection: Rileva s'idioma in automàticu
     open_in_web: Aberi in sa web
     over_character_limit: lìmite de caràteres de %{max} superadu
     pin_errors:
       limit: As giai apicadu su nùmeru màssimu de tuts
       ownership: Is tuts de àtere non podent èssere apicados
-      private: Is tuts non pùblicos non podent èssere apicados
       reblog: Is cumpartziduras non podent èssere apicadas
     poll:
       total_people:
@@ -1368,24 +1316,15 @@ sc:
       subject: Cunfirma su tentativu de identificatzione
       title: Tentativu de identificatzione
     warning:
-      explanation:
-        disable: Non podes prus intrare in su contu tuo o dd'impreare in cale si siat àtera manera, ma su profilu e is àteros datos tuos abarrant intatos.
-        sensitive: Is elementos e documentos multimediales carrigados e ligados tuos ant a èssere tratados che a sensìbiles.
-        silence: Podes ancora impreare su contu tuo, ma isceti is persones chi ti sunt giai sighende ant a bìdere is tuts tuos in custu serbidore, e dias pòdere èssere esclùdidu dae unas cantas listas pùblicas. Nointames custu, is àteros ti diant pòdere galu sighire in manera manuale.
-        suspend: Non podes prus impreare su contu tuo, e su profilu e àteros datos non sunt prus atzessìbiles. Bi podes ancora intrare pro pedire una còpia de seguresa de is datos tuos finas a cando no ant a èssere cantzellados de su totu, ma nd'amus a mantènnere unos cantos pro non ti permìtere de evàdere sa suspensione.
-      get_in_touch: Podes rispòndere a custu indiritzu de posta eletrònica pro cuntatare cun su personale de %{instance}.
       review_server_policies: Revisiona sas polìticas de su serbidore
-      statuses: 'In manera cuncreta, pro:'
       subject:
         disable: Su contu tuo %{acct} est istadu cungeladu
         none: Avisu pro %{acct}
-        sensitive: Is elementos multimediales de publicatzione de su contu tuo %{acct} sunt istados marcados comente sensìbiles
         silence: Su contu tuo %{acct} est istadu limitadu
         suspend: Su contu tuo %{acct} est istadu suspèndidu
       title:
         disable: Contu congeladu
         none: Atentzione
-        sensitive: S'elementu multimediale tuo est istadu marcadu comente sensìbile
         silence: Contu limitadu
         suspend: Contu suspèndidu
     welcome:
diff --git a/config/locales/si.yml b/config/locales/si.yml
index 6fa12abec..3ebd25341 100644
--- a/config/locales/si.yml
+++ b/config/locales/si.yml
@@ -42,7 +42,6 @@ si:
     accounts:
       add_email_domain_block: වි-තැපැල් වසම අවහිර කරන්න
       approve: අනුමත කරන්න
-      approve_all: සියල්ල අනුමත කරන්න
       are_you_sure: ඔබට විශ්වාසද?
       by_domain: වසම
       change_email:
@@ -74,7 +73,6 @@ si:
       moderation:
         active: සක්‍රීයයි
         all: සියල්ල
-        silenced: සීමාසහිත
         suspended: අත්හිටුවන ලදි
       most_recent_ip: වඩා මෑත අ.ජා.කෙ.(IP)
       perform_full_suspension: අත්හිටුවන්න
@@ -228,7 +226,6 @@ si:
       back_to_account: ගිණුම් පිටුවට ආපසු යන්න
       media:
         title: මාධ්‍යය
-      no_media: මාධ්‍ය නැත
       with_media: මාධ්‍ය සමඟ
     title: පරිපාලනය
   appearance:
@@ -298,9 +295,6 @@ si:
     all: සියල්ල
     copy: පිටපත්
     save_changes: වෙනස්කම් සුරකින්න
-  identity_proofs:
-    active: ක්‍රියාත්මකයි
-    identity: අනන්‍යතාව
   imports:
     types:
       bookmarks: පොත් යොමු
diff --git a/config/locales/simple_form.ast.yml b/config/locales/simple_form.ast.yml
index 332f55079..1a554f21f 100644
--- a/config/locales/simple_form.ast.yml
+++ b/config/locales/simple_form.ast.yml
@@ -21,6 +21,8 @@ ast:
         data: El ficheru CSV esportáu dende otra instancia de Mastodon
       invite_request:
         text: Esto va ayudanos a revisar la to aplicación
+      ip_block:
+        comment: Opcional. Acuérdate por qué amestesti esta regla.
       sessions:
         otp: 'Introduz el códigu de dos pasos xeneráu pola aplicación autenticadora o usa unu de los códigos de recuperación:'
     labels:
@@ -51,7 +53,6 @@ ast:
         header: Testera
         irreversible: Escartar en cuentes d'anubrir
         locale: Llingua de la interfaz
-        locked: Bloquiar la cuenta
         max_uses: Númberu máximu d'usos
         new_password: Contraseña nueva
         note: Biografía
@@ -72,6 +73,7 @@ ast:
         setting_unfollow_modal: Amosar el diálogu de confirmación enantes de dexar de siguir a daquién
         setting_use_pending_items: Mou lentu
         severity: Severidá
+        sign_in_token_attempt: Códigu de seguranza
         type: Triba de la importación
         username: Nome d'usuariu
         username_or_email: Nome d'usuariu o corréu
@@ -90,10 +92,12 @@ ast:
         follow_request: Daquién solicitó siguite
         mention: Daquién te mentó
         reblog: Daquién compartió dalgún estáu de to
+        report: Unvióse un informe nuevu
       tag:
         name: Etiqueta
     'no': Non
     recommended: Aconséyase
     required:
+      mark: "*"
       text: ríquese
     'yes': Sí
diff --git a/config/locales/simple_form.ca.yml b/config/locales/simple_form.ca.yml
index e82ac2f73..f0cb47995 100644
--- a/config/locales/simple_form.ca.yml
+++ b/config/locales/simple_form.ca.yml
@@ -42,21 +42,21 @@ ca:
         header: PNG, GIF o JPG. Màxim %{size}. S'escalarà a %{dimensions}px
         inbox_url: Copia l'URL des de la pàgina principal del relay que vols utilitzar
         irreversible: Els tuts filtrats desapareixeran de manera irreversible, fins i tot si el filtre es retira més tard
-        locale: El llenguatge de l’interfície d’usuari, els correus i les notificacions push
+        locale: L'idioma de la interfície d’usuari, els correus i les notificacions push
         locked: Requereix que aprovis manualment els seguidors
         password: Utilitza com a mínim 8 caràcters
         phrase: Es combinarà independentment del format en el text o l'avís de contingut del tut
         scopes: A quines API es permetrà a l'aplicació accedir. Si selecciones un àmbit d'alt nivell, no cal que seleccionis un d'individual.
-        setting_aggregate_reblogs: No mostra els nous impulsos dels tuts que ja s'han impulsat recentment (només afecta als impulsos nous rebuts)
-        setting_default_sensitive: Els mèdia sensibles estan ocults per defecte i es poden revelar amb un clic
-        setting_display_media_default: Amaga els multimèdia marcats com a sensibles
+        setting_aggregate_reblogs: No mostrar els nous impulsos de les publicacions que ja s'han impulsat recentment (només afecta els impulsos nous rebuts)
+        setting_default_sensitive: El contingut gràfic sensible està ocult per defecte i es pot revelar amb un clic
+        setting_display_media_default: Ocultar el contigut gràfic marcat com a sensible
         setting_display_media_hide_all: Oculta sempre tot el contingut multimèdia
-        setting_display_media_show_all: Mostra sempre els elements multimèdia marcats com a sensibles
+        setting_display_media_show_all: Mostrar sempre el contingut gràfic marcat com a sensible
         setting_hide_network: Qui tu segueixes i els que et segueixen a tu no es mostraran en el teu perfil
         setting_noindex: Afecta el teu perfil públic i les pàgines d'estat
-        setting_show_application: L'aplicació que fas servir per a publicar es mostrarà a la vista detallada dels teus tuts
+        setting_show_application: L'aplicació que fas servir per a publicar es mostrarà a la vista detallada de les publicacions
         setting_use_blurhash: Els degradats es basen en els colors de les imatges ocultes, però enfosqueixen els detalls
-        setting_use_pending_items: Amaga les actualitzacions de la línia de temps després d'un clic en comptes de desplaçar-se automàticament
+        setting_use_pending_items: Amagar les actualitzacions de la línia de temps després d'un clic en comptes de desplaçar-se automàticament
         username: El teu nom d'usuari serà únic a %{domain}
         whole_word: Quan la paraula clau o la frase sigui només alfanumèrica, s'aplicarà si coincideix amb la paraula sencera
       domain_allow:
@@ -65,7 +65,7 @@ ca:
         domain: Això pot ser el nom del domini que es veu en l’adreça de correu electrònic, el registre MX al que resol el domini o l’IP del servidor al que resol el registre MX. Es comprovaran amb el registre d’usuari i es rebutjarà la inscripció.
         with_dns_records: Es procurarà resoldre els registres DNS del domini determinat i els resultats també es llistaran a la llista negra
       featured_tag:
-        name: 'És possible que vulguis utilitzar un d''aquests:'
+        name: 'És possible que vulguis utilitzar una d''aquestes:'
       form_challenge:
         current_password: Estàs entrant en una àrea segura
       imports:
@@ -121,6 +121,7 @@ ca:
         text: Anunci
       defaults:
         autofollow: Convida a seguir el teu compte
+        avatar: Avatar
         bot: Aquest compte és un bot
         chosen_languages: Filtrar llengües
         confirm_new_password: Confirma la contrasenya nova
@@ -128,7 +129,7 @@ ca:
         context: Filtre els contextos
         current_password: Contrasenya actual
         data: Informació
-        discoverable: Mostra aquest compte en el directori
+        discoverable: Mostra aquest compte en el directori de perfils
         display_name: Nom visible
         email: Adreça de correu electrònic
         expires_in: Expira després
@@ -137,8 +138,8 @@ ca:
         honeypot: "%{label} (no omplir)"
         inbox_url: URL de la safata d'entrada del relay
         irreversible: Cau en lloc d'ocultar
-        locale: Llengua de la interfície
-        locked: Fes aquest compte privat
+        locale: Idioma de la interfície
+        locked: Torna aquest compte privat
         max_uses: Nombre màxim d'usos
         new_password: Contrasenya nova
         note: Biografia
@@ -146,29 +147,29 @@ ca:
         password: Contrasenya
         phrase: Paraula clau o frase
         setting_advanced_layout: Activar l’interfície web avançada
-        setting_aggregate_reblogs: Agrupa impulsos en les línies de temps
-        setting_auto_play_gif: Reproducció automàtica de GIFs animats
-        setting_boost_modal: Mostra la finestra de confirmació abans d'impulsar
+        setting_aggregate_reblogs: Agrupar impulsos en les línies de temps
+        setting_auto_play_gif: Reproduir automàticament els GIFs animats
+        setting_boost_modal: Mostrar la finestra de confirmació abans d'impulsar
         setting_crop_images: Retalla les imatges en tuts no ampliats a 16x9
-        setting_default_language: Llengua de les publicacions
+        setting_default_language: Idioma de les publicacions
         setting_default_privacy: Privacitat de les publicacions
-        setting_default_sensitive: Marca sempre els elements multimèdia com a sensibles
-        setting_delete_modal: Mostra la finestra de confirmació abans d'esborrar un tut
+        setting_default_sensitive: Marcar sempre el contingut gràfic com a sensible
+        setting_delete_modal: Mostrar la finestra de confirmació abans d'esborrar un tut
         setting_disable_swiping: Desactivar les animacions
         setting_display_media: Visualització multimèdia
         setting_display_media_default: Per defecte
         setting_display_media_hide_all: Amaga-ho tot
         setting_display_media_show_all: Mostra-ho tot
-        setting_expand_spoilers: Sempre amplia els tuts marcats amb advertències de contingut
-        setting_hide_network: Amaga la teva xarxa
-        setting_noindex: Desactivació de la indexació del motor de cerca
-        setting_reduce_motion: Redueix el moviment en animacions
-        setting_show_application: Revela l'aplicació utilitzada per enviar tuts
-        setting_system_font_ui: Utilitza el tipus de lletra predeterminat del sistema
+        setting_expand_spoilers: Sempre ampliar els tuts marcats amb advertències de contingut
+        setting_hide_network: Amagar la teva xarxa
+        setting_noindex: Desactivar la indexació dels motors de cerca
+        setting_reduce_motion: Reduir el moviment de les animacions
+        setting_show_application: Revelar l'aplicació utilitzada per fer les publicacions
+        setting_system_font_ui: Utilitzar el tipus de lletra predeterminat del sistema
         setting_theme: Tema del lloc
         setting_trends: Mostra les tendències d'avui
-        setting_unfollow_modal: Mostra el diàleg de confirmació abans de deixar de seguir a algú
-        setting_use_blurhash: Mostra degradats de colors per als Mèdia amagats
+        setting_unfollow_modal: Mostrar el diàleg de confirmació abans de deixar de seguir a algú
+        setting_use_blurhash: Mostrar degradats de colors per al contigut gràfic ocult
         setting_use_pending_items: Mode lent
         severity: Severitat
         sign_in_token_attempt: Codi de seguretat
@@ -182,28 +183,29 @@ ca:
         name: Etiqueta
       interactions:
         must_be_follower: Blocar les notificacions de persones que no et segueixen
-        must_be_following: Bloca les notificacions de persones que no segueixes
-        must_be_following_dm: Bloca els missatges directes de persones que no segueixes
+        must_be_following: Blocar les notificacions de persones que no segueixes
+        must_be_following_dm: Blocar els missatges directes de persones que no segueixes
       invite:
         comment: Comenta
       invite_request:
         text: Per què vols unir-te?
       ip_block:
         comment: Comentari
+        ip: IP
         severities:
           no_access: Bloquejar l’accés
           sign_up_requires_approval: Limitar els registres
         severity: Regla
       notification_emails:
-        digest: Envia un resum per correu electrònic
-        favourite: Envia un correu electrònic si algú marca com a preferit el teu estat
-        follow: Envia un correu electrònic si algú et segueix
+        digest: Enviar un resum per correu electrònic
+        favourite: Algú marca com a preferit el teu estat
+        follow: Algú t'ha seguit
         follow_request: Envia un correu electrònic si algú sol·licita seguir-te
-        mention: Envia un correu electrònic si algú et menciona
-        pending_account: Envia un correu electrònic quan es necessiti revisar un compte nou
-        reblog: Envia un correu electrònic si algú comparteix el teu estat
-        report: Envia un correu electrònic quan s'enviï un nou informe
-        trending_tag: Envia un correu quan una etiqueta sense revisar està en tendència
+        mention: Algú t'ha esmentat
+        pending_account: Un nou compte necessita revisió
+        reblog: Algú comparteix el teu estat
+        report: Es presenta un nou informe
+        trending_tag: Una etiqueta sense revisar està en tendència
       rule:
         text: Norma
       tag:
@@ -211,8 +213,10 @@ ca:
         name: Etiqueta
         trendable: Permet que aquesta etiqueta aparegui en les tendències
         usable: Permet als tuts emprar aquesta etiqueta
+    'no': 'No'
     recommended: Recomanat
     required:
+      mark: "*"
       text: necessari
     title:
       sessions:
diff --git a/config/locales/simple_form.cs.yml b/config/locales/simple_form.cs.yml
index 3ba75acc9..050a54a63 100644
--- a/config/locales/simple_form.cs.yml
+++ b/config/locales/simple_form.cs.yml
@@ -167,7 +167,7 @@ cs:
         setting_show_application: Odhalit aplikaci použitou k odeslání příspěvků
         setting_system_font_ui: Použít výchozí písmo systému
         setting_theme: Vzhled stránky
-        setting_trends: Zobrazit dnes populární hashtagy
+        setting_trends: Zobrazit dnešní trendy
         setting_unfollow_modal: Před zrušením sledování zobrazovat potvrzovací okno
         setting_use_blurhash: Zobrazit pro skrytá média barevné gradienty
         setting_use_pending_items: Pomalý režim
@@ -205,7 +205,7 @@ cs:
         pending_account: Je třeba posoudit nový účet
         reblog: Někdo boostnul váš příspěvek
         report: Je odesláno nové hlášení
-        trending_tag: Neposouzený hashtag je populární
+        trending_tag: Nový trend vyžaduje schválení
       rule:
         text: Pravidlo
       tag:
diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml
index 58ffab89a..68e49afc8 100644
--- a/config/locales/simple_form.de.yml
+++ b/config/locales/simple_form.de.yml
@@ -54,7 +54,7 @@ de:
         setting_display_media_show_all: Alle Medien immer anzeigen
         setting_hide_network: Wem du folgst und wer dir folgt, wird in deinem Profil nicht angezeigt
         setting_noindex: Betrifft dein öffentliches Profil und deine Beiträge
-        setting_show_application: Die Anwendung die du nutzst wird in der detaillierten Ansicht deiner Beiträge angezeigt
+        setting_show_application: Die Anwendung die du nutzt wird in der detaillierten Ansicht deiner Beiträge angezeigt
         setting_use_blurhash: Die Farbverläufe basieren auf den Farben der versteckten Medien, aber verstecken jegliche Details
         setting_use_pending_items: Neue Beiträge hinter einem Klick verstecken anstatt automatisch zu scrollen
         username: Dein Benutzername wird auf %{domain} einzigartig sein
diff --git a/config/locales/simple_form.eo.yml b/config/locales/simple_form.eo.yml
index b00cc46f1..4789a2e2a 100644
--- a/config/locales/simple_form.eo.yml
+++ b/config/locales/simple_form.eo.yml
@@ -2,16 +2,31 @@
 eo:
   simple_form:
     hints:
+      account_alias:
+        acct: Specifu la uzantnomon@domajnon de la konto el kiu vi volas translokiĝi
+      account_migration:
+        acct: Specifu la uzantnomon@domajnon de la konto al kiu vi volas translokiĝi
       account_warning_preset:
         text: Vi povas uzi skribmanierojn de mesaĝoj, kiel URL-ojn, kradvortojn kaj menciojn
+        title: Laŭvola. Ne videbla por la ricevanto
       admin_account_action:
+        include_statuses: La uzanto vidos, kiujn afiŝojn estas kaŭzintaj la moderigan agon aŭ averton
         send_email_notification: La uzanto ricevos klarigon pri tio, kio okazis al ties konto
         text_html: Malnepra. Vi povas uzi skribmanierojn de mesaĝoj. Vi povas <a href="%{path}">aldoni avertajn antaŭagordojn</a> por ŝpari tempon
         type_html: Elektu kion fari kun <strong>%{acct}</strong>
         types:
+          disable: Malhelpi la uzanton uzi sian konton, sed ne forigi aŭ kaŝi ties enhavojn.
           none: Uzu ĉi tion por sendi averton al la uzanto, sen ekigi alian agon.
+          sensitive: Devigi ĉiujn da plurmediaj aldonaĵoj esti markitaj kiel sentemaj.
+          silence: Malhelpi la uzanton povu afiŝi per publika videbleco, kaŝi ties afiŝojn kaj sciigojn de homoj kiuj ne sekvas rin.
           suspend: Malhelpu ajnan interagon de aŭ al ĉi tiu konto kaj forigu ĝian enhavon. Returnebla ene de 30 tagoj.
         warning_preset_id: Malnepra. Vi povas ankoraŭ aldoni propran tekston al la fino de la antaŭagordo
+      announcement:
+        all_day: Kiam markita, nur la datoj de la tempointervalo estos montrataj
+        ends_at: Laŭvola. La anonco estos aŭtomate maleldonita ĉi tiam
+        scheduled_at: Lasi malplena por eldoni la anoncon tuj
+        starts_at: Laŭvola. Se via anonco estas ligita al specifa tempo
+        text: Vi povas uzi afiŝo-sintakson. Bonvolu mensemi pri la spaco, kiun la anonco okupos sur la ekrano de la uzanto
       defaults:
         autofollow: Homoj, kiuj registriĝos per la invito aŭtomate sekvos vin
         avatar: Formato PNG, GIF aŭ JPG. Ĝis %{size}. Estos malgrandigita al %{dimensions}px
@@ -21,6 +36,7 @@ eo:
         current_username: Por konfirmi, bonvolu enigi la uzantnomon de la nuna konto
         digest: Sendita nur post longa tempo de neaktiveco, kaj nur se vi ricevis personan mesaĝon en via foresto
         discoverable: Montru ĉi tiun profilon en la profilujon por ke la konto estos pli-vaste vidata
+        discoverable_no_directory: Permesi vian konton esti malkovrita de fremduloj per rekomendoj kaj aliaj funkcioj
         email: Vi ricevos konfirman retmesaĝon
         fields: Vi povas havi ĝis 4 tabelajn elementojn en via profilo
         header: Formato PNG, GIF aŭ JPG. Ĝis %{size}. Estos malgrandigita al %{dimensions}px
@@ -40,8 +56,11 @@ eo:
         setting_noindex: Influas vian publikan profilon kaj mesaĝajn paĝojn
         setting_show_application: La aplikaĵo, kiun vi uzas por afiŝi, estos montrita en la detala vido de viaj mesaĝoj
         setting_use_blurhash: Transirojn estas bazita sur la koloroj de la kaŝitaj aŭdovidaĵoj sed ne montri iun ajn detalon
+        setting_use_pending_items: Kaŝi tempoliniajn ĝisdatigojn malantaŭ klako anstataŭ aŭtomate rulumi la fluon
         username: Via uzantnomo estos unika ĉe %{domain}
         whole_word: Kiam la vorto aŭ frazo estas nur litera aŭ cifera, ĝi estos uzata nur se ĝi kongruas kun la tuta vorto
+      domain_allow:
+        domain: Ĉi tiu domajno povos akiri datumon de ĉi tiu servilo kaj envenanta datumo estos prilaborita kaj konservita
       featured_tag:
         name: 'Vi povus uzi iun el la jenaj:'
       form_challenge:
@@ -51,10 +70,18 @@ eo:
       invite_request:
         text: Ĉi tio helpos nin revizii vian kandidatiĝon
       ip_block:
+        comment: Laŭvola. Memoru, kial vi aldonis ĉi tiun regulon.
         severities:
+          no_access: Bloki aliron al ĉiuj rimedoj
           sign_up_requires_approval: Novaj registriĝoj devigos vian aprobon
+        severity: Elektu, kio okazos pri petoj de ĉi tiu IP
+      rule:
+        text: Priskribu regulon aŭ neceson por uzantoj en ĉi tiu servilo. Provu fari ĝin mallonga kaj simpla
       sessions:
         otp: 'Enmetu la kodon de dufaktora aŭtentigo el via telefono aŭ uzu unu el viaj realiraj kodoj:'
+        webauthn: Se ĝi estas USB-ŝlosilo, certu enmeti ĝin kaj, se necese, frapi ĝin.
+      tag:
+        name: Vi povas ŝanĝi nur la majuskladon de la literoj, ekzemple, por igi ĝin pli legebla
       user:
         chosen_languages: Kiam estas elekto, nur mesaĝoj en elektitaj lingvoj aperos en publikaj templinioj
     labels:
@@ -70,6 +97,7 @@ eo:
         text: Antaŭagordita teksto
         title: Titolo
       admin_account_action:
+        include_statuses: Inkluzivi raportitajn afiŝojn en la retpoŝtmesaĝo
         send_email_notification: Sciigi la uzanton retpoŝte
         text: Propra averto
         type: Ago
@@ -122,6 +150,7 @@ eo:
         setting_default_privacy: Mesaĝa videbleco
         setting_default_sensitive: Ĉiam marki aŭdovidaĵojn tiklaj
         setting_delete_modal: Montri konfirman fenestron antaŭ ol forigi mesaĝon
+        setting_disable_swiping: Malebligi svingajn movojn
         setting_display_media: Aŭdovidaĵa montrado
         setting_display_media_default: Dekomenca
         setting_display_media_hide_all: Kaŝi ĉiujn
diff --git a/config/locales/simple_form.es-AR.yml b/config/locales/simple_form.es-AR.yml
index bd6dbf98b..e170d08d5 100644
--- a/config/locales/simple_form.es-AR.yml
+++ b/config/locales/simple_form.es-AR.yml
@@ -205,7 +205,7 @@ es-AR:
         pending_account: Una nueva cuenta necesita revisión
         reblog: Una cuenta adhiere a tu mensaje
         report: Se envía una nueva denuncia
-        trending_tag: Una etiqueta no revisada está en tendencia
+        trending_tag: Una nueva tendencia requiere aprobación
       rule:
         text: Regla
       tag:
diff --git a/config/locales/simple_form.es-MX.yml b/config/locales/simple_form.es-MX.yml
index dc1bf65e6..11d3ed5f4 100644
--- a/config/locales/simple_form.es-MX.yml
+++ b/config/locales/simple_form.es-MX.yml
@@ -36,6 +36,7 @@ es-MX:
         current_username: Para confirmar, por favor ingrese el nombre de usuario de la cuenta actual
         digest: Solo enviado tras un largo periodo de inactividad y solo si has recibido mensajes personales durante tu ausencia
         discoverable: El directorio del perfil es otra forma en la que su cuenta puede llegar a un público más amplio
+        discoverable_no_directory: Permite que tu cuenta sea encontrada por desconocidos por medio de recomendaciones y otras herramientas
         email: Se le enviará un correo de confirmación
         fields: Puedes tener hasta 4 elementos mostrándose como una tabla en tu perfil
         header: PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px
diff --git a/config/locales/simple_form.es.yml b/config/locales/simple_form.es.yml
index 286558854..d2c64ce2b 100644
--- a/config/locales/simple_form.es.yml
+++ b/config/locales/simple_form.es.yml
@@ -137,7 +137,7 @@ es:
         header: Img. cabecera
         honeypot: "%{label} (no rellenar)"
         inbox_url: URL de la entrada de relés
-        irreversible: Dejar en lugar de ocultar
+        irreversible: Rechazar en lugar de ocultar
         locale: Idioma
         locked: Hacer privada esta cuenta
         max_uses: Máx. número de usos
diff --git a/config/locales/simple_form.eu.yml b/config/locales/simple_form.eu.yml
index 68913558f..5dc19f50a 100644
--- a/config/locales/simple_form.eu.yml
+++ b/config/locales/simple_form.eu.yml
@@ -36,6 +36,7 @@ eu:
         current_username: Berresteko sartu uneko kontuaren erabiltzaile-izena
         digest: Jarduerarik gabeko epe luze bat eta gero mezu pertsonalen bat jaso baduzu, besterik ez
         discoverable: Profilen direktorioa zure kontua jende gehiagok irakurtzeko modu bat da
+        discoverable_no_directory: Baimendu zure kontua ezezagunek aurkitu ahal izatea gomendio eta beste ezaugarrien bidez
         email: Baieztapen e-mail bat bidaliko zaizu
         fields: 4 elementu bistaratu ditzakezu taula batean zure profilean
         header: PNG, GIF edo JPG. Gehienez %{size}. %{dimensions}px eskalara txikituko da
diff --git a/config/locales/simple_form.fa.yml b/config/locales/simple_form.fa.yml
index 50e7dd3f2..72bfcd1e6 100644
--- a/config/locales/simple_form.fa.yml
+++ b/config/locales/simple_form.fa.yml
@@ -42,7 +42,7 @@ fa:
         header: یکی از قالب‌های PNG یا  GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد
         inbox_url: نشانی صفحهٔ اصلی رله‌ای را که می‌خواهید به کار ببرید کپی کنید
         irreversible: بوق‌های پالوده به طور برگشت‌ناپذیری ناپدید می‌شوند، حتا اگر بعدها پالایه برداشته شود
-        locale: زبان محیط کاربری، ایمیل‌ها، و اعلان‌ها
+        locale: زبان واسط کاربری، رایانامه‌ها و آگاهی‌های ارسالی
         locked: باید پیگیران تازه را خودتان تأیید کنید
         password: دست‌کم باید ۸ نویسه داشته باشد
         phrase: مستقل از کوچکی و بزرگی حروف، با متن اصلی یا هشدار محتوای بوق‌ها مقایسه می‌شود
@@ -129,7 +129,7 @@ fa:
         context: زمینه‌های پالایش
         current_password: رمز فعلی
         data: داده‌ها
-        discoverable: این حساب را در فهرست گزیدهٔ کاربران نشان بده
+        discoverable: پیشنهاد حساب به دیگران
         display_name: نمایش به نام
         email: نشانی ایمیل
         expires_in: تاریخ انقضا
@@ -182,8 +182,8 @@ fa:
       featured_tag:
         name: برچسب
       interactions:
-        must_be_follower: مسدودکردن اعلان‌های همه به جز پیگیران
-        must_be_following: مسدودکردن اعلان‌های کسانی که شما پی نمی‌گیرید
+        must_be_follower: انسداد آگاهی‌ها از ناپی‌گیران
+        must_be_following: انسداد آگاهی‌ها از افرادی که پی نمی‌گیرید
         must_be_following_dm: مسدودکردن پیغام‌های خصوصی کسانی که شما پی نمی‌گیرید
       invite:
         comment: توضیح
@@ -197,7 +197,7 @@ fa:
           sign_up_requires_approval: محدود کردن ثبت نام‌ها
         severity: قانون
       notification_emails:
-        digest: خلاصه‌کردن چند اعلان در یک ایمیل
+        digest: فرستادن رایانامه‌های خلاصه
         favourite: وقتی کسی نوشتهٔ شما را پسندید ایمیل بفرست
         follow: وقتی کسی پیگیر شما شد ایمیل بفرست
         follow_request: وقتی کسی درخواست پیگیری کرد ایمیل بفرست
@@ -209,7 +209,7 @@ fa:
       rule:
         text: قانون
       tag:
-        listable: بگذارید که این برچسب در جستجوها و در فهرست گزیدهٔ کاربران نمایش داده شود
+        listable: اجازه به این برچسب برای ظاهر شدن در جست‌وجوها و پیشنهادها
         name: برچسب
         trendable: بگذارید که این برچسب در موضوعات پرطرفدار دیده شود
         usable: بگذارید که این برچسب در بوق‌ها به کار بروند
diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml
index 770c3e9e0..895a4f047 100644
--- a/config/locales/simple_form.fi.yml
+++ b/config/locales/simple_form.fi.yml
@@ -22,6 +22,7 @@ fi:
         warning_preset_id: Valinnainen. Voit silti lisätä mukautetun tekstin esiasetuksen loppuun
       announcement:
         all_day: Kun valittu, vain valittu aikaväli näytetään
+        ends_at: Valinnainen. Ilmoitus tullaan poistamaan automaattisesti tällä hetkellä
         scheduled_at: Jätä tyhjäksi julkaistaksesi ilmoituksen välittömästi
       defaults:
         avatar: PNG, GIF tai JPG. Enintään %{size}. Skaalataan kokoon %{dimensions} px
@@ -32,6 +33,7 @@ fi:
         fields: Sinulla voi olla korkeintaan 4 asiaa profiilissasi taulukossa
         header: PNG, GIF tai JPG. Enintään %{size}. Skaalataan kokoon %{dimensions} px
         locked: Sinun täytyy hyväksyä seuraajat manuaalisesti
+        password: Käytä vähintään 8 merkkiä
         setting_display_media_default: Piilota arkaluonteiseksi merkitty media
         setting_display_media_hide_all: Piilota aina kaikki media
         setting_display_media_show_all: Näytä aina arkaluonteiseksi merkitty media
@@ -55,10 +57,14 @@ fi:
         types:
           disable: Poista kirjautuminen käytöstä
           none: Älä tee mitään
+          sensitive: Arkaluontoinen
           silence: Hiljennä
           suspend: Poista käytöstä ja tuhoa käyttäjätunnuksen tiedot peruuttamattomasti
+        warning_preset_id: Käytä varoitusmallia
       announcement:
         all_day: Koko päivän kestävä tapahtuma
+        ends_at: Tapahtuman loppu
+        starts_at: Tapahtuman alku
         text: Ilmoitus
       defaults:
         autofollow: Kutsu seuraamaan tiliäsi
@@ -124,6 +130,12 @@ fi:
         comment: Kommentoi
       invite_request:
         text: Miksi haluat liittyä?
+      ip_block:
+        ip: IP
+        severities:
+          no_access: Estä pääsy
+          sign_up_requires_approval: Rajoita rekisteröitymisiä
+        severity: Sääntö
       notification_emails:
         digest: Lähetä koosteviestejä sähköpostitse
         favourite: Lähetä sähköposti, kun joku tykkää tilastasi
@@ -132,6 +144,8 @@ fi:
         mention: Lähetä sähköposti, kun sinut mainitaan
         pending_account: Uusi tili tarvitsee tarkastusta
         reblog: Lähetä sähköposti, kun joku buustaa julkaisusi
+      rule:
+        text: Sääntö
       tag:
         name: Aihetunniste
         trendable: Salli tämän aihetunnisteen näkyä trendeissä
diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml
index 419f28cb9..095fa721a 100644
--- a/config/locales/simple_form.fr.yml
+++ b/config/locales/simple_form.fr.yml
@@ -10,15 +10,15 @@ fr:
         text: Vous pouvez utiliser la syntaxe des messages, comme les URL, les hashtags et les mentions
         title: Facultatif. Invisible pour le destinataire
       admin_account_action:
-        include_statuses: L’utilisateur verra quels messages sont la source de l’action de modération ou de l’avertissement
+        include_statuses: L’utilisateur·rice verra quels messages sont la source de l’action de modération ou de l’avertissement
         send_email_notification: L’utilisateur recevra une explication de ce qu’il s’est passé avec son compte
         text_html: Optionnel. Vous pouvez utilisez la syntaxe des messages. Vous pouvez <a href="%{path}">ajouter des modèles d’avertissement</a> pour économiser du temps
         type_html: Choisir que faire avec <strong>%{acct}</strong>
         types:
-          disable: Empêcher l’utilisateur d’utiliser son compte, mais ne pas supprimer ou masquer son contenu.
-          none: Utilisez ceci pour envoyer un avertissement à l’utilisateur, sans déclencher aucune autre action.
-          sensitive: Forcer toutes les pièces jointes de cet utilisateur à être signalées comme sensibles.
-          silence: Empêcher l’utilisateur de poster avec une visibilité publique, cacher ses messages et ses notifications aux personnes qui ne les suivent pas.
+          disable: Empêcher l’utilisateur·rice d’utiliser son compte, mais ne pas supprimer ou masquer son contenu.
+          none: Utilisez ceci pour envoyer un avertissement à l’utilisateur·rice, sans déclencher aucune autre action.
+          sensitive: Forcer toutes les pièces jointes de cet·te utilisateur·rice à être signalées comme sensibles.
+          silence: Empêcher l’utilisateur·rice de poster avec une visibilité publique, cacher ses messages et ses notifications aux personnes qui ne les suivent pas.
           suspend: Empêcher toute interaction depuis ou vers ce compte et supprimer son contenu. Réversible dans les 30 jours.
         warning_preset_id: Optionnel. Vous pouvez toujours ajouter un texte personnalisé à la fin de la présélection
       announcement:
@@ -26,7 +26,7 @@ fr:
         ends_at: Optionnel. L’annonce sera automatiquement dépubliée à ce moment
         scheduled_at: Laisser vide pour publier l’annonce immédiatement
         starts_at: Optionnel. Si votre annonce est liée à une période spécifique
-        text: Vous pouvez utiliser la syntaxe des messages. Veuillez prendre en compte l’espace que l'annonce prendra sur l’écran de l'utilisateur
+        text: Vous pouvez utiliser la syntaxe des messages. Veuillez prendre en compte l’espace que l'annonce prendra sur l’écran de l'utilisateur·rice
       defaults:
         autofollow: Les personnes qui s’inscrivent grâce à l’invitation vous suivront automatiquement
         avatar: Au format PNG, GIF ou JPG. %{size} maximum. Sera réduit à %{dimensions}px
@@ -43,7 +43,7 @@ fr:
         inbox_url: Copiez l’URL depuis la page d’accueil du relais que vous souhaitez utiliser
         irreversible: Les messages filtrés disparaîtront pour toujours, même si le filtre est supprimé plus tard
         locale: La langue de l’interface, des courriels et des notifications
-        locked: Nécessite que vous approuviez manuellement chaque abonné
+        locked: Nécessite que vous approuviez manuellement chaque abonné·e
         password: Utilisez au moins 8 caractères
         phrase: Sera filtré peu importe la casse ou l’avertissement de contenu du message
         scopes: À quelles APIs l’application sera autorisée à accéder. Si vous sélectionnez une permission générale, vous n’avez pas besoin de sélectionner les permissions plus précises.
@@ -75,7 +75,7 @@ fr:
       ip_block:
         comment: Optionnel. Pour ne pas oublier pourquoi vous avez ajouté cette règle.
         expires_in: Les adresses IP sont une ressource finie, elles sont parfois partagées et changent souvent de mains. Pour cette raison, les blocages d’IP indéfiniment ne sont pas recommandés.
-        ip: Entrez une adresse IPv4 ou IPv6. Vous pouvez bloquer des plages entières en utilisant la syntaxe CIDR. Faites attention à ne pas vous bloquer vous-même!
+        ip: Entrez une adresse IPv4 ou IPv6. Vous pouvez bloquer des plages entières en utilisant la syntaxe CIDR. Faites attention à ne pas vous bloquer vous-même !
         severities:
           no_access: Bloquer l’accès à toutes les ressources
           sign_up_requires_approval: Les nouvelles inscriptions nécessiteront votre approbation
@@ -129,8 +129,8 @@ fr:
         context: Contextes du filtre
         current_password: Mot de passe actuel
         data: Données
-        discoverable: Proposer ce compte aux autres
-        display_name: Afficher le nom
+        discoverable: Suggérer ce compte aux autres
+        display_name: Nom public
         email: Adresse courriel
         expires_in: Expire après
         fields: Métadonnées du profil
diff --git a/config/locales/simple_form.gd.yml b/config/locales/simple_form.gd.yml
index cf124c967..d8f30e871 100644
--- a/config/locales/simple_form.gd.yml
+++ b/config/locales/simple_form.gd.yml
@@ -35,7 +35,7 @@ gd:
         current_password: A chùm tèarainteachd, cuir a-steach facal-faire a’ chunntais làithrich
         current_username: Airson seo a dhearbhadh, cuir a-steach ainm-cleachdaiche a’ chunntais làithrich
         digest: Cha dèid seo a chur ach nuair a bhios tu air ùine mhòr gun ghnìomh a ghabhail agus ma fhuair thu teachdaireachd phearsanta fhad ’s a bha thu air falbh
-        discoverable: Ceadaich gun lorg coigrich an cunntas agad le taic o mholaidhean is gleusan eile
+        discoverable: Ceadaich gun lorg coigrich an cunntas agad le taic o mholaidhean, eòlaire nam pròifil is gleusan eile
         discoverable_no_directory: Ceadaich gun lorg coigrich an cunntas agad le taic o mholaidhean is gleusan eile
         email: Thèid post-d dearbhaidh a chur thugad
         fields: Faodaidh tu suas ri 4 nithean a shealltainn mar chlàr air a’ phròifil agad
@@ -110,7 +110,7 @@ gd:
           disable: Reòth
           none: Cuir rabhadh
           sensitive: Frionasach
-          silence: Crìoch
+          silence: Cuingich
           suspend: Cuir à rèim
         warning_preset_id: Cleachd rabhadh ro-shuidhichte
       announcement:
@@ -182,8 +182,8 @@ gd:
       featured_tag:
         name: Taga hais
       interactions:
-        must_be_follower: Mùch na brathan nach eil o luchd-leantainn
-        must_be_following: Mùch na brathan o dhaoine air nach lean thu
+        must_be_follower: Bac na brathan nach eil o luchd-leantainn
+        must_be_following: Bac na brathan o dhaoine air nach lean thu
         must_be_following_dm: Bac teachdaireachdan dìreach o dhaoine air nach lean thu
       invite:
         comment: Beachd
@@ -205,7 +205,7 @@ gd:
         pending_account: Tha cunntas ùr feumach air lèirmheas
         reblog: Bhrosnaich cuideigin am post agad
         report: Chaidh gearan ùr a chur a-null
-        trending_tag: Tha taga hais gun lèirmheas a’ treandadh
+        trending_tag: Tha treandadh ùr feumach air dearbhadh
       rule:
         text: Riaghailt
       tag:
diff --git a/config/locales/simple_form.gl.yml b/config/locales/simple_form.gl.yml
index e10067fd2..904b0e949 100644
--- a/config/locales/simple_form.gl.yml
+++ b/config/locales/simple_form.gl.yml
@@ -35,8 +35,8 @@ gl:
         current_password: Por razóns de seguridade, introduce o contrasinal da conta actual
         current_username: Para confirmar, introduce o nome de usuaria da conta actual
         digest: Enviar só tras un longo período de inactividade e só se recibiches algunha mensaxe directa na tua ausencia
-        discoverable: Permite que a túa conta poida ser descuberta por persoas descoñecidas a través de recomendacións e outras ferramentas
-        discoverable_no_directory: Permitir que a túa conta poida ser descuberta por extrañas a través das recomendacións e outras ferramentas
+        discoverable: Permite que a túa conta poida ser descuberta por persoas descoñecidas a través de recomendacións, directorio de perfil e outras ferramentas
+        discoverable_no_directory: Permitir que a túa conta poida ser descuberta por persoas descoñecidas a través das recomendacións e outras ferramentas
         email: Ímosche enviar un correo de confirmación
         fields: Podes ter ate 4 elementos no teu perfil mostrados como unha táboa
         header: PNG, GIF ou JPG. Máximo %{size}. Será reducida a %{dimensions}px
@@ -53,7 +53,7 @@ gl:
         setting_display_media_hide_all: Ocultar sempre os medios
         setting_display_media_show_all: Mostrar sempre os medios marcados como sensibles
         setting_hide_network: Non se mostrará no teu perfil quen te segue e a quen estás a seguir
-        setting_noindex: Afecta ao teu perfil público e páxinas de estado
+        setting_noindex: Afecta ao teu perfil público e páxinas de publicación
         setting_show_application: A aplicación que estás a utilizar para enviar publicacións mostrarase na vista detallada da publicación
         setting_use_blurhash: Os gradientes toman as cores da imaxe oculta pero esborranchando todos os detalles
         setting_use_pending_items: Agochar actualizacións da cronoloxía tras un click no lugar de desprazar automáticamente os comentarios
@@ -71,7 +71,7 @@ gl:
       imports:
         data: Ficheiro CSV exportado desde outro servidor Mastodon
       invite_request:
-        text: Esto axudaranos a revisar a tua aplicación
+        text: Esto axudaranos a revisar a tua solicitude
       ip_block:
         comment: Opcional. Lembrar a razón para engadir esta regra.
         expires_in: Os enderezos IP son un recurso finito, a veces son compartidos e cambian de mans con frecuencia. Por esta razón, non se recomendan os bloqueos indefinidos de IPs.
@@ -83,7 +83,7 @@ gl:
       rule:
         text: Describe unha regra ou requerimento para as usuarias deste servidor. Intenta que sexa curta e simple
       sessions:
-        otp: 'Introduce o código do segundo factor creado pola aplicación do teu móbil ou usa un dos códigos de recuperación:'
+        otp: 'Escribe o código do segundo factor creado pola aplicación do teu móbil ou usa un dos códigos de recuperación:'
         webauthn: Se é unha chave USB asegúrate de que está conectada e preme o botón.
       tag:
         name: Só podes cambiar maiús/minúsculas, por exemplo, mellorar a lexibilidade
@@ -205,7 +205,7 @@ gl:
         pending_account: Enviar un correo cando unha nova conta precisa revisión
         reblog: Enviar un correo cando alguén promociona a tua mensaxe
         report: Enviar un correo cando se envíe unha denuncia
-        trending_tag: Un cancelo ser revisar está sendo tendencia
+        trending_tag: Unha nova tendencia require aprobación
       rule:
         text: Regra
       tag:
diff --git a/config/locales/simple_form.hu.yml b/config/locales/simple_form.hu.yml
index b328ea267..9876f9950 100644
--- a/config/locales/simple_form.hu.yml
+++ b/config/locales/simple_form.hu.yml
@@ -20,7 +20,7 @@ hu:
           sensitive: Ennek a felhasználónak minden médiatartalmát jelöljük meg kényesként.
           silence: Megakadályozzuk, hogy ez a felhasználó nyilvános láthatóságú bejegyzést tegyen közzé, elrejtjük a bejegyzéseit és a róla szóló értesítéseket azok elől, akik nem közvetlen követői.
           suspend: Minden interakciót megakadályozunk ezzel a fiókkal és töröljük a tartalmát. 30 napon belül még visszacsinálható.
-        warning_preset_id: Opcionális. A figyelmeztetés végére saját szöveget is írhatsz
+        warning_preset_id: Nem kötelező. A figyelmeztetés végére saját szöveget is írhatsz.
       announcement:
         all_day: Bejelölve csak a dátumok számítanak majd a megadott intervallumból
         ends_at: Opcionális. A közleményt ekkor automatikusan levesszük
@@ -104,7 +104,7 @@ hu:
       admin_account_action:
         include_statuses: Tedd az e-mailbe a bejelentett bejegyzéseket
         send_email_notification: Figyelmeztessük a felhasználót e-mailben
-        text: Egyedi figyelmeztetés
+        text: Egyéni figyelmeztetés
         type: Művelet
         types:
           disable: Letiltás
@@ -133,7 +133,7 @@ hu:
         display_name: Megjelenített név
         email: E-mail cím
         expires_in: Elévül
-        fields: Profil metaadatok
+        fields: Profil metaadatai
         header: Fejléc
         honeypot: "%{label} (ne töltsd ki)"
         inbox_url: Relé inbox-hoz tartozó URL
@@ -205,13 +205,13 @@ hu:
         pending_account: E-mail küldése, ha új fiókot kell engedélyezni
         reblog: Valaki megtolta a bejegyzésedet
         report: E-mail küldése, ha új bejelentés érkezett
-        trending_tag: E-mail küldése, ha egy még nem látott hashtag trendi lett
+        trending_tag: Új felkapott hashtag jóváhagyásra vár
       rule:
         text: Szabály
       tag:
         listable: A hashtag megjelenhet a profiladatbázisban
         name: Hashtag
-        trendable: A hashtag megjelenhet a trendek között
+        trendable: A hashtag megjelenhet a felkapottak között
         usable: Bejegyzések használhatják ezt a hashtaget
     'no': Nem
     recommended: Ajánlott
diff --git a/config/locales/simple_form.it.yml b/config/locales/simple_form.it.yml
index 147a5eea4..f4a28756b 100644
--- a/config/locales/simple_form.it.yml
+++ b/config/locales/simple_form.it.yml
@@ -7,12 +7,12 @@ it:
       account_migration:
         acct: Indica il nomeutente@dominio dell'account al quale vuoi trasferirti
       account_warning_preset:
-        text: Puoi usare la sintassi dei toot, come URL, hashtag e menzioni
+        text: Puoi usare la sintassi dei post, come URL, hashtag e menzioni
         title: Opzionale. Non visibile al destinatario
       admin_account_action:
-        include_statuses: L'utente vedrà quali toot hanno causato l'azione di moderazione o l'avviso
+        include_statuses: L'utente vedrà quali post hanno causato l'azione di moderazione o l'avviso
         send_email_notification: L'utente riceverà una spiegazione di ciò che è successo con suo account
-        text_html: Opzionale. Puoi usare la sintassi dei toot. Puoi <a href="%{path}">aggiungere avvisi preimpostati</a> per risparmiare tempo
+        text_html: Opzionale. Puoi usare la sintassi dei post. Puoi <a href="%{path}">aggiungere avvisi preimpostati</a> per risparmiare tempo
         type_html: Decidi cosa fare con <strong>%{acct}</strong>
         types:
           disable: Impedisce all'utente di utilizzare il suo account, ma non elimina o nasconde i suoi contenuti.
@@ -26,7 +26,7 @@ it:
         ends_at: Opzionale. L'annuncio verrà automaticamente ritirato in questo momento
         scheduled_at: Lascia vuoto per pubblicare immediatamente l'annuncio
         starts_at: Opzionale. Quando l'annuncio è legato a un intervallo di tempo specifico
-        text: Puoi usare la sintassi dei toot. Tieni presente lo spazio che l'annuncio occuperà nello schermo dell'utente
+        text: Puoi usare la sintassi dei post. Tieni presente lo spazio che l'annuncio occuperà nello schermo dell'utente
       defaults:
         autofollow: Le persone che si iscrivono attraverso l'invito ti seguiranno automaticamente
         avatar: PNG, GIF o JPG. Al massimo %{size}. Verranno scalate a %{dimensions}px
@@ -41,7 +41,7 @@ it:
         fields: Puoi avere fino a 4 voci visualizzate come una tabella sul tuo profilo
         header: PNG, GIF o JPG. Al massimo %{size}. Verranno scalate a %{dimensions}px
         inbox_url: Copia la URL dalla pagina iniziale del ripetitore che vuoi usare
-        irreversible: I toot filtrati scompariranno in modo irreversibile, anche se il filtro viene eliminato
+        irreversible: I post filtrati scompariranno in modo irreversibile, anche se il filtro viene eliminato
         locale: La lingua dell'interfaccia utente, di email e notifiche push
         locked: Richiede che approvi i follower manualmente
         password: Usa almeno 8 caratteri
@@ -150,21 +150,21 @@ it:
         setting_aggregate_reblogs: Raggruppa condivisioni in timeline
         setting_auto_play_gif: Play automatico GIF animate
         setting_boost_modal: Mostra dialogo di conferma prima del boost
-        setting_crop_images: Ritaglia immagini in toot non espansi a 16x9
+        setting_crop_images: Ritaglia immagini in post non espansi a 16x9
         setting_default_language: Lingua dei post
         setting_default_privacy: Privacy dei post
         setting_default_sensitive: Segna sempre i media come sensibili
-        setting_delete_modal: Mostra dialogo di conferma prima di eliminare un toot
+        setting_delete_modal: Mostra dialogo di conferma prima di eliminare un post
         setting_disable_swiping: Disabilita i movimenti di scorrimento
         setting_display_media: Visualizzazione dei media
         setting_display_media_default: Predefinita
         setting_display_media_hide_all: Nascondi tutti
         setting_display_media_show_all: Mostra tutti
-        setting_expand_spoilers: Espandi sempre toot con content warning
+        setting_expand_spoilers: Espandi sempre post con content warning
         setting_hide_network: Nascondi la tua rete
         setting_noindex: Non farti indicizzare dai motori di ricerca
         setting_reduce_motion: Riduci movimento nelle animazioni
-        setting_show_application: Rendi pubblica l'applicazione usata per inviare i toot
+        setting_show_application: Rendi pubblica l'applicazione usata per inviare i post
         setting_system_font_ui: Usa il carattere predefinito del sistema
         setting_theme: Tema sito
         setting_trends: Mostra tendenze di oggi
@@ -198,12 +198,12 @@ it:
         severity: Regola
       notification_emails:
         digest: Invia email riassuntive
-        favourite: Invia email quando segna come preferito al tuo stato
+        favourite: Qualcuno ha apprezzato il tuo post
         follow: Invia email quando qualcuno ti segue
         follow_request: Invia email quando qualcuno chiede di seguirti
         mention: Invia email quando qualcuno ti menziona
         pending_account: Invia e-mail quando un nuovo account richiede l'approvazione
-        reblog: Invia email quando qualcuno condivide un tuo toot
+        reblog: Qualcuno ha condiviso il tuo post
         report: Manda una mail quando viene inviato un nuovo rapporto
         trending_tag: Invia e-mail quando un hashtag non controllato è in tendenza
       rule:
@@ -212,7 +212,7 @@ it:
         listable: Permetti a questo hashtag di apparire nella directory dei profili
         name: Hashtag
         trendable: Permetti a questo hashtag di apparire nelle tendenze
-        usable: Permetti ai toot di utilizzare questo hashtag
+        usable: Permetti ai post di usare questo hashtag
     'no': 'No'
     recommended: Consigliato
     required:
diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml
index 4c4133baf..8820cfd2e 100644
--- a/config/locales/simple_form.ja.yml
+++ b/config/locales/simple_form.ja.yml
@@ -36,6 +36,7 @@ ja:
         current_username: 確認のため、現在のアカウントのユーザー名を入力してください
         digest: 長期間使用していない場合と不在時に返信を受けた場合のみ送信されます
         discoverable: ディレクトリはあなたのアカウントをより多くの人に見つけてもらうためのひとつの手段です
+        discoverable_no_directory: ディレクトリ機能を使用して、あなたのアカウントを他の人から見つけられるようにします
         email: 確認のメールが送信されます
         fields: プロフィールに表として4つまでの項目を表示することができます
         header: "%{size}までのPNG、GIF、JPGが利用可能です。 %{dimensions}pxまで縮小されます"
diff --git a/config/locales/simple_form.kab.yml b/config/locales/simple_form.kab.yml
index 4327fcc8e..d94f8471f 100644
--- a/config/locales/simple_form.kab.yml
+++ b/config/locales/simple_form.kab.yml
@@ -95,6 +95,7 @@ kab:
           no_access: Sewḥel anekcum
         severity: Alugen
       notification_emails:
+        follow: Yeḍfer-ik·im-id walbɛaḍ
         mention: Yuder-ik·em-id walbɛaḍ
         reblog: Yella win yesselhan adda-dik·im
       rule:
@@ -104,5 +105,6 @@ kab:
     'no': Ala
     recommended: Yettuwelleh
     required:
+      mark: "*"
       text: ilaq
     'yes': Ih
diff --git a/config/locales/simple_form.kmr.yml b/config/locales/simple_form.kmr.yml
index 015dfcbf4..2702b14dc 100644
--- a/config/locales/simple_form.kmr.yml
+++ b/config/locales/simple_form.kmr.yml
@@ -149,7 +149,7 @@ kmr:
         password: Pêborîn
         phrase: Peyvkilîd an jî hevok
         setting_advanced_layout: Navrûya tevnê yê pêşketî çalak bike
-        setting_aggregate_reblogs: Di demnameyê de tootên bilindkirî kom bike
+        setting_aggregate_reblogs: Di demnameyê de şandiyên bilindkirî kom bike
         setting_auto_play_gif: GIF ên livok bi xweber bilîzine
         setting_boost_modal: Gotûbêja pejirandinê nîşan bide berî ku şandî werê bilindkirin
         setting_crop_images: Wêneyên di nav şandiyên ku nehatine berfireh kirin wek 16×9 jê bike
diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml
index 106b36121..8ffe6bd65 100644
--- a/config/locales/simple_form.ko.yml
+++ b/config/locales/simple_form.ko.yml
@@ -15,7 +15,7 @@ ko:
         text_html: 선택사항. 게시물 문법을 사용할 수 있습니다. <a href="%{path}">경고 틀을 추가</a>하여 시간을 절약할 수 있습니다
         type_html: "<strong>%{acct}</strong>에 대해 취할 행동 선택"
         types:
-          disable: 사용자가 계정을 사용하는 것을 막지만, 그들의 게시물을 삭제하거나 숨기지는 않습니다.
+          disable: 사용자가 계정을 사용하는 것을 막지만, 그의 게시물을 삭제하거나 숨기지는 않습니다.
           none: 이것을 사용해서 어떤 동작도 하지 않고, 사용자에게 경고를 보냅니다.
           sensitive: 이 사용자의 모든 미디어 첨부를 민감함으로 강제 설정합니다.
           silence: 이 사용자가 공개 설정으로 게시물을 작성할 수 없도록 하고, 그를 팔로우 하지 않는 사람에게는 이 사용자의 게시물과 알림을 숨깁니다.
@@ -201,7 +201,7 @@ ko:
         favourite: 누군가 내 상태를 즐겨찾기로 등록했을 때 이메일 보내기
         follow: 누군가 나를 팔로우 했을 때 이메일 보내기
         follow_request: 누군가 나를 팔로우 하길 원할 때 이메일 보내기
-        mention: 누군가 나에게 답장했을 때 이메일 보내기
+        mention: 누군가 나를 언급했을 때 이메일 보내기
         pending_account: 새 계정이 심사가 필요할 때 이메일 보내기
         reblog: 누군가 내 툿을 부스트 했을 때 이메일 보내기
         report: 새 신고 등록시 이메일로 알리기
diff --git a/config/locales/simple_form.pl.yml b/config/locales/simple_form.pl.yml
index a82bbb8da..2700af17f 100644
--- a/config/locales/simple_form.pl.yml
+++ b/config/locales/simple_form.pl.yml
@@ -49,9 +49,9 @@ pl:
         scopes: Wybór API, do których aplikacja będzie miała dostęp. Jeżeli wybierzesz nadrzędny zakres, nie musisz wybierać jego elementów.
         setting_aggregate_reblogs: Nie pokazuj nowych podbić dla wpisów, które zostały niedawno podbite (dotyczy tylko nowo otrzymanych podbić)
         setting_default_sensitive: Wrażliwe multimedia są domyślnie schowane i mogą być odkryte kliknięciem
-        setting_display_media_default: Ukrywaj zawartość oznaczoną jako wrażliwa
-        setting_display_media_hide_all: Zawsze oznaczaj zawartość multimedialną jako wrażliwą
-        setting_display_media_show_all: Nie ukrywaj zawartości multimedialnej oznaczonej jako wrażliwa
+        setting_display_media_default: Ukrywaj zawartość multimedialną oznaczoną jako wrażliwa
+        setting_display_media_hide_all: Zawsze ukrywaj zawartość multimedialną
+        setting_display_media_show_all: Zawsze pokazuj zawartość multimedialną
         setting_hide_network: Informacje o tym, kto Cię śledzi i kogo śledzisz nie będą widoczne
         setting_noindex: Wpływa na widoczność strony profilu i Twoich wpisów
         setting_show_application: W informacjach o wpisie będzie widoczna informacja o aplikacji, z której został wysłany
diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml
index b1bb020dd..c17ad2c7c 100644
--- a/config/locales/simple_form.pt-BR.yml
+++ b/config/locales/simple_form.pt-BR.yml
@@ -36,6 +36,7 @@ pt-BR:
         current_username: Para confirmar, por favor, digite o nome de usuário da conta atual
         digest: Enviado apenas após um longo período de inatividade com um resumo das menções recebidas durante ausência
         discoverable: O diretório de perfis é outra maneira de sua conta alcançar um público maior
+        discoverable_no_directory: Permitir que sua conta seja visível para desconhecidos através de recomendações e outras funcionalidades
         email: Você receberá um e-mail de confirmação
         fields: Você pode ter até 4 itens mostrados em forma de tabela no seu perfil
         header: PNG, GIF or JPG. Arquivos de até %{size}. Serão redimensionados para %{dimensions}px
diff --git a/config/locales/simple_form.pt-PT.yml b/config/locales/simple_form.pt-PT.yml
index 9519ee35a..9b34ad357 100644
--- a/config/locales/simple_form.pt-PT.yml
+++ b/config/locales/simple_form.pt-PT.yml
@@ -102,7 +102,7 @@ pt-PT:
         text: Texto pré-definido
         title: Título
       admin_account_action:
-        include_statuses: Incluir no e-mail os toots reportados
+        include_statuses: Incluir no e-mail as publicações denunciadas
         send_email_notification: Notificar o utilizador por e-mail
         text: Aviso personalizado
         type: Acção
diff --git a/config/locales/simple_form.ru.yml b/config/locales/simple_form.ru.yml
index 356f9f2b9..7584be3c8 100644
--- a/config/locales/simple_form.ru.yml
+++ b/config/locales/simple_form.ru.yml
@@ -140,7 +140,7 @@ ru:
         irreversible: Удалять, а не скрывать
         locale: Язык интерфейса
         locked: Сделать учётную запись закрытой
-        max_uses: Максимальное число использований
+        max_uses: Максимальное кол-во использований
         new_password: Новый пароль
         note: О себе
         otp_attempt: Код из приложения-аутентификатора
diff --git a/config/locales/simple_form.sl.yml b/config/locales/simple_form.sl.yml
index 20a07eccb..fcc14df9c 100644
--- a/config/locales/simple_form.sl.yml
+++ b/config/locales/simple_form.sl.yml
@@ -45,6 +45,9 @@ sl:
         data: Izvožena CSV datoteka iz drugega Mastodon vozlišča
       invite_request:
         text: To nam bo pomagalo pregledati vašo prijavo
+      ip_block:
+        severities:
+          no_access: Blokiraj dostop do vseh virov
       sessions:
         otp: 'Vnesite dvomestno kodo, ki je ustvarjena z aplikacijo na telefonu, ali uporabite eno od vaših obnovitvenih kod:'
       user:
@@ -54,8 +57,13 @@ sl:
         fields:
           name: Oznaka
           value: Vsebina
+      account_alias:
+        acct: Ročica starega računa
+      account_migration:
+        acct: Ročica novega računa
       account_warning_preset:
         text: Prednastavljeno besedilo
+        title: Naslov
       admin_account_action:
         send_email_notification: Obvesti uporabnika po e-pošti
         text: Opozorilo po meri
@@ -63,9 +71,15 @@ sl:
         types:
           disable: Onemogoči
           none: Ne naredi ničesar
+          sensitive: Občutljivo
           silence: Utišaj
           suspend: Suspendiraj in nepovratno izbriši podatke računa
         warning_preset_id: Uporabi prednastavljeno opozorilo
+      announcement:
+        all_day: Celodnevni dogodek
+        ends_at: Konec dogodka
+        starts_at: Začetek dogodka
+        text: Objava
       defaults:
         autofollow: Povabite, da sledi vašemu računu
         avatar: Podoba
@@ -82,12 +96,14 @@ sl:
         expires_in: Preteče po
         fields: Metapodatki profila
         header: Glava
+        honeypot: "%{label} (ne izpolnjujte)"
         inbox_url: URL mape "Prejeto"
         irreversible: Opusti namesto skrij
         locale: Jezik vmesnika
         locked: Zaklenjen račun
         max_uses: Največje število uporabnikov
         new_password: Novo geslo
+        note: Biografija
         otp_attempt: Dvofaktorska koda
         password: Geslo
         phrase: Ključna beseda ali fraza
@@ -95,6 +111,7 @@ sl:
         setting_aggregate_reblogs: Skupinske spodbude na časovnicah
         setting_auto_play_gif: Samodejno predvajanje animiranih GIF-ov
         setting_boost_modal: Pred sunkom pokaži potrditveno okno
+        setting_crop_images: Obreži slike v nerazširjenih objavah v razmerju 16:9
         setting_default_language: Jezik objavljanja
         setting_default_privacy: Zasebnost objave
         setting_default_sensitive: Vedno označi medije kot občutljive
@@ -110,22 +127,35 @@ sl:
         setting_show_application: Razkrij aplikacijo za pošiljanje tutov
         setting_system_font_ui: Uporabi privzeto pisavo sistema
         setting_theme: Tema strani
+        setting_trends: Pokaži današnje trende
         setting_unfollow_modal: Pokaži potrditveno okno, preden nekoga prenehamo slediti
         setting_use_blurhash: Pokaži barvite gradiente za skrite medije
         setting_use_pending_items: Počasen način
         severity: Strogost
+        sign_in_token_attempt: Varnostna koda
         type: Vrsta uvoza
         username: Uporabniško ime
         username_or_email: Uporabniško ime ali E-pošta
         whole_word: Celotna beseda
+      email_domain_block:
+        with_dns_records: Vključi zapise MX in IP-številke domene
       featured_tag:
         name: Ključnik
       interactions:
         must_be_follower: Blokiraj obvestila nesledilcev
         must_be_following: Blokiraj obvestila oseb, ki jim ne sledite
         must_be_following_dm: Blokiraj neposredna sporočila oseb, ki jim ne sledite
+      invite:
+        comment: Komentar
       invite_request:
         text: Zakaj se želite pridružiti?
+      ip_block:
+        comment: Komentar
+        ip: IP
+        severities:
+          no_access: Blokiraj dostop
+          sign_up_requires_approval: Omeji število prijav
+        severity: Pravilo
       notification_emails:
         digest: Pošlji izvlečke e-pošt
         favourite: Pošlji e-pošto, ko nekdo doda vaše stanje med priljubljene
@@ -135,8 +165,20 @@ sl:
         pending_account: Pošlji e-pošto, ko je potreben pregled novega računa
         reblog: Pošlji e-pošto, ko nekdo sune vaše stanje
         report: Pošlji e-pošto, ko je oddana nova prijava
+        trending_tag: Nov trend zahteva odobritev
+      rule:
+        text: Pravilo
+      tag:
+        listable: Dovoli, da se ta ključnik pojavi v iskanjih in predlogih
+        name: Ključnik
+        trendable: Dovoli, da se ta ključnik pojavi med trendi
+        usable: Dovoli, da objave uporabljajo ta ključnik
     'no': Ne
     recommended: Priporočeno
     required:
+      mark: "*"
       text: zahtevano
+    title:
+      sessions:
+        webauthn: Za prijavo uporabite eno od svojih varnostnih kod
     'yes': Da
diff --git a/config/locales/simple_form.sv.yml b/config/locales/simple_form.sv.yml
index 12ddc9547..f8c39b099 100644
--- a/config/locales/simple_form.sv.yml
+++ b/config/locales/simple_form.sv.yml
@@ -3,7 +3,7 @@ sv:
   simple_form:
     hints:
       account_alias:
-        acct: Ange användarnamn@domän för kontot du flyttar från
+        acct: Ange användarnamn@domän för kontot som du vill flytta från
       account_migration:
         acct: Ange användarnamn@domän för kontot du flyttar till
       account_warning_preset:
@@ -16,6 +16,8 @@ sv:
         type_html: Välj vad du vill göra med <strong>%{acct}</strong>
         types:
           disable: Förhindra användaren från att använda sitt konto, men ta inte bort eller dölj innehållet.
+          none: Använd det här för att skicka en varning till användaren, utan att trigga någon annan åtgärd.
+          sensitive: Tvinga denna användares alla mediebilagor att flaggas som känsliga.
         warning_preset_id: Extra. Du kan lägga till valfri text i slutet av förinställningen
       announcement:
         all_day: När det är markerat visas endast datum för tidsintervallet
@@ -41,14 +43,31 @@ sv:
         setting_hide_network: Vem du följer och vilka som följer dig kommer inte att visas på din profilsida
         setting_noindex: Påverkar din offentliga profil och statussidor
         username: Ditt användarnamn måste vara unikt på %{domain}
+      email_domain_block:
+        with_dns_records: Ett försök att lösa den givna domänens DNS-poster kommer att göras och resultaten kommer också att blockeras
       featured_tag:
         name: 'Du kan vilja använda en av dessa:'
+      form_challenge:
+        current_password: Du går in i ett säkert område
       imports:
         data: CSV-fil som exporteras från en annan Mastodon-instans
+      invite_request:
+        text: Det här kommer att hjälpa oss att granska din ansökan
+      ip_block:
+        comment: Valfritt. Kom ihåg varför du lade till denna regel.
+        expires_in: IP-adresser är en ändlig resurs, de delas ibland och byter ofta händer. Av den här anledningen så rekommenderas inte IP-blockeringar på obestämd tid.
+        ip: Ange en IPv4 eller IPv6-adress. Du kan blockera hela intervall med hjälp av CIDR-syntax. Var försiktig så att du inte låser ut dig själv!
+        severities:
+          no_access: Blockera åtkomst till alla resurser
+          sign_up_requires_approval: Nya registreringar kräver ditt godkännande
+        severity: Välj vad som ska hända med förfrågningar från denna IP
       rule:
         text: Beskriv en kort och enkel regel för användare på denna server
       sessions:
         otp: 'Ange tvåfaktorkoden genererad från din telefonapp eller använd någon av dina återställningskoder:'
+        webauthn: Om det är en USB-nyckel se till att sätta in den och, om nödvändigt, knacka på den.
+      tag:
+        name: Du kan bara ändra bokstävernas typ av variant, till exempel för att göra det mer läsbart
       user:
         chosen_languages: När aktiverat så visas bara inlägg i dina valda språk i den offentliga tidslinjen
     labels:
@@ -61,8 +80,10 @@ sv:
       account_migration:
         acct: Namnet på det nya kontot
       account_warning_preset:
+        text: Förinställd text
         title: Rubrik
       admin_account_action:
+        include_statuses: Inkludera rapporterade inlägg i e-postmeddelandet
         send_email_notification: Meddela användaren via e-post
         text: Anpassad varning
         type: Åtgärd
@@ -72,6 +93,7 @@ sv:
           sensitive: Känslig
           silence: Tysta
           suspend: Stäng av
+        warning_preset_id: Använd en förinställd varning
       announcement:
         all_day: Heldagsevenemang
         ends_at: Evenemangets slut
diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml
index 8311e1d12..939d86030 100644
--- a/config/locales/simple_form.th.yml
+++ b/config/locales/simple_form.th.yml
@@ -25,7 +25,7 @@ th:
         all_day: เมื่อกาเครื่องหมาย จะแสดงเฉพาะวันที่ของช่วงเวลาเท่านั้น
         ends_at: ไม่จำเป็น จะเลิกเผยแพร่ประกาศที่เวลานี้โดยอัตโนมัติ
         scheduled_at: เว้นว่างไว้เพื่อเผยแพร่ประกาศทันที
-        starts_at: ไม่จำเป็น ในกรณีที่ประกาศของคุณผูกไว้กับช่วงเวลาที่เจาะจง
+        starts_at: ไม่จำเป็น ในกรณีที่ประกาศของคุณผูกไว้กับช่วงเวลาที่เฉพาะเจาะจง
         text: คุณสามารถใช้ไวยากรณ์โพสต์ โปรดระวังพื้นที่ที่ประกาศจะใช้ในหน้าจอของผู้ใช้
       defaults:
         autofollow: ผู้คนที่ลงทะเบียนผ่านคำเชิญจะติดตามคุณโดยอัตโนมัติ
@@ -35,7 +35,7 @@ th:
         current_password: เพื่อวัตถุประสงค์ด้านความปลอดภัย โปรดป้อนรหัสผ่านของบัญชีปัจจุบัน
         current_username: เพื่อยืนยัน โปรดป้อนชื่อผู้ใช้ของบัญชีปัจจุบัน
         digest: ส่งเฉพาะหลังจากไม่มีการใช้งานเป็นเวลานานและในกรณีที่คุณได้รับข้อความส่วนบุคคลใด ๆ เมื่อคุณไม่อยู่เท่านั้น
-        discoverable: อนุญาตให้คนแปลกหน้าค้นพบบัญชีของคุณได้ผ่านคำแนะนำและคุณลักษณะอื่น ๆ
+        discoverable: อนุญาตให้คนแปลกหน้าค้นพบบัญชีของคุณได้ผ่านคำแนะนำ, ไดเรกทอรีโปรไฟล์ และคุณลักษณะอื่น ๆ
         discoverable_no_directory: อนุญาตให้คนแปลกหน้าค้นพบบัญชีของคุณได้ผ่านคำแนะนำและคุณลักษณะอื่น ๆ
         email: คุณจะได้รับอีเมลยืนยัน
         fields: คุณสามารถมีได้มากถึง 4 รายการแสดงเป็นตารางในโปรไฟล์ของคุณ
@@ -73,10 +73,13 @@ th:
         text: นี่จะช่วยให้เราตรวจทานใบสมัครของคุณ
       ip_block:
         comment: ไม่จำเป็น จดจำเหตุผลที่คุณเพิ่มกฎนี้
+        ip: ป้อนที่อยู่ IPv4 หรือ IPv6 คุณสามารถปิดกั้นทั้งช่วงได้โดยใช้ไวยากรณ์ CIDR ระวังอย่าล็อคตัวเองออก!
         severities:
           no_access: ปิดกั้นการเข้าถึงทรัพยากรทั้งหมด
           sign_up_requires_approval: การลงทะเบียนใหม่จะต้องมีการอนุมัติของคุณ
         severity: เลือกสิ่งที่จะเกิดขึ้นกับคำขอจาก IP นี้
+      rule:
+        text: อธิบายกฎหรือข้อกำหนดสำหรับผู้ใช้ในเซิร์ฟเวอร์นี้ พยายามทำให้กฎหรือข้อกำหนดสั้นและเรียบง่าย
       sessions:
         otp: 'ป้อนรหัสสองปัจจัยที่สร้างโดยแอปในโทรศัพท์ของคุณหรือใช้หนึ่งในรหัสกู้คืนของคุณ:'
       tag:
@@ -198,7 +201,7 @@ th:
         pending_account: บัญชีใหม่ต้องมีการตรวจทาน
         reblog: ใครสักคนได้ดันโพสต์ของคุณ
         report: มีการส่งรายงานใหม่
-        trending_tag: แฮชแท็กที่ยังไม่ได้ตรวจทานกำลังนิยม
+        trending_tag: แนวโน้มใหม่ต้องการการอนุมัติ
       rule:
         text: กฎ
       tag:
diff --git a/config/locales/simple_form.vi.yml b/config/locales/simple_form.vi.yml
index d85de10ea..0e7146abb 100644
--- a/config/locales/simple_form.vi.yml
+++ b/config/locales/simple_form.vi.yml
@@ -15,11 +15,11 @@ vi:
         text_html: Tùy chọn. Bạn nên dùng <a href="%{path}">cảnh cáo cài sẵn</a> để tiết kiệm thời gian
         type_html: Chọn làm gì với <strong>%{acct}</strong>
         types:
-          disable: Cấm người này tiếp tục đăng nhập, nhưng không xóa hoặc ẩn tút của họ.
-          none: Sử dụng để gửi cảnh cáo tới tài khoản này, không áp đặt trừng phạt.
+          disable: Tạm khóa đăng nhập tài khoản, nhưng không xóa hoặc ẩn tút.
+          none: Cảnh cáo tài khoản này, không áp đặt trừng phạt.
           sensitive: Mọi tập tin của tài khoản này tải lên đều sẽ bị gắn nhãn nhạy cảm.
           silence: Cấm tài khoản này đăng tút công khai, ẩn tút của họ hiện ra với những người chưa theo dõi họ.
-          suspend: Vô hiệu hóa mọi hoạt động của tài khoản này và xóa sạch dữ liệu. Có thể mở lại trong vòng 30 ngày.
+          suspend: Vô hiệu hóa và xóa sạch dữ liệu của tài khoản này. Có thể khôi phục trước 30 ngày.
         warning_preset_id: Tùy chọn. Bạn vẫn có thể thêm ghi chú riêng
       announcement:
         all_day: Chỉ có khoảng thời gian được đánh dấu mới hiển thị
@@ -107,10 +107,10 @@ vi:
         text: Ghi chú riêng
         type: Hành động
         types:
-          disable: Tạm khóa
+          disable: Khóa
           none: Cảnh cáo
           sensitive: Nhạy cảm
-          silence: Tạm ẩn
+          silence: Hạn chế
           suspend: Vô hiệu hóa
         warning_preset_id: Dùng mẫu có sẵn
       announcement:
diff --git a/config/locales/simple_form.zh-CN.yml b/config/locales/simple_form.zh-CN.yml
index b578b331c..152d6b4cc 100644
--- a/config/locales/simple_form.zh-CN.yml
+++ b/config/locales/simple_form.zh-CN.yml
@@ -178,7 +178,7 @@ zh-CN:
         username_or_email: 用户名或电子邮件地址
         whole_word: 整个词条
       email_domain_block:
-        with_dns_records: 包括改域名的 MX 记录和 IP 地址
+        with_dns_records: 包括该域名的 MX 记录和 IP 地址
       featured_tag:
         name: 话题标签
       interactions:
@@ -204,7 +204,7 @@ zh-CN:
         mention: 当有用户在嘟文中提及我时,发送电子邮件提醒我
         pending_account: 在有帐号需要审核时,发送电子邮件提醒我
         reblog: 当有用户转嘟了我的嘟文时,发送电子邮件提醒我
-        report: 在提交新举报时,发送电子邮件提醒我
+        report: 在提交新报告时,发送电子邮件提醒我
         trending_tag: 当未经审核的话题成为当前热门时发邮件提醒
       rule:
         text: 规则
diff --git a/config/locales/simple_form.zh-TW.yml b/config/locales/simple_form.zh-TW.yml
index 8b4440013..fcc85b9a1 100644
--- a/config/locales/simple_form.zh-TW.yml
+++ b/config/locales/simple_form.zh-TW.yml
@@ -36,7 +36,7 @@ zh-TW:
         current_username: 請輸入目前帳戶的使用者名稱以確認
         digest: 僅在你長時間未登入且在未登入期間收到私訊時傳送
         discoverable: 加入個人資料目錄能接觸更多閱聽眾
-        discoverable_no_directory: 允許陌生人透過推薦與其他功能探索您的帳號
+        discoverable_no_directory: 允許陌生人透過推薦與其他功能發現您的帳號
         email: 您將收到一封確認電子郵件
         fields: 您可在個人資料上有至多 4 個以表格形式顯示的項目
         header: 支援 PNG, GIF 或 JPG 圖片,檔案最大為 %{size},會按比例縮小成 %{dimensions} 像素
diff --git a/config/locales/sk.yml b/config/locales/sk.yml
index 0be6d3bfa..4bf56464e 100644
--- a/config/locales/sk.yml
+++ b/config/locales/sk.yml
@@ -102,7 +102,6 @@ sk:
     accounts:
       add_email_domain_block: Pridaj e-mailovú doménu na zoznam zakázaných
       approve: Schváľ
-      approve_all: Schváľ všetky
       are_you_sure: Si si istý/á?
       avatar: Maskot
       by_domain: Doména
@@ -116,6 +115,7 @@ sk:
       confirm: Potvrď
       confirmed: Potvrdený
       confirming: Potvrdzujúci
+      custom: Vlastné
       delete: Vymaž dáta
       deleted: Vymazané
       demote: Degraduj
@@ -148,7 +148,6 @@ sk:
         active: Aktívny/a
         all: Všetko
         pending: Čakajúci
-        silenced: Umlčané
         suspended: Vylúčený/á
         title: Moderácia
       moderation_notes: Moderátorské poznámky
@@ -165,7 +164,6 @@ sk:
       push_subscription_expires: PuSH odoberanie expiruje
       redownload: Obnov profil
       reject: Zamietni
-      reject_all: Zamietni všetky
       remove_avatar: Vymaž avatar
       remove_header: Vymaž záhlavie
       resend_confirmation:
@@ -194,11 +192,11 @@ sk:
         targeted_reports: Nahlásenia od ostatných
       silence: Stíš
       silenced: Stíšený/é
-      statuses: Príspevky
+      statuses: Príspevkov
       subscribe: Odoberaj
       suspended: Vylúčený/á
-      time_in_queue: Čakajúci %{time} v poradí
       title: Účty
+      unblock_email: Odblokuj emailovú adresu
       unconfirmed_email: Nepotvrdený email
       undo_silenced: Zruš stíšenie
       undo_suspension: Zruš blokovanie
@@ -209,19 +207,24 @@ sk:
       whitelisted: Na bielej listine
     action_logs:
       action_types:
+        approve_user: Odobri užívateľa
         assigned_to_self_report: Priraď hlásenie
         change_email_user: Zmeň email pre užívateľa
         confirm_user: Potvrď užívateľa
         create_account_warning: Vytvor výstrahu
         create_announcement: Vytvor oboznámenie
+        create_custom_emoji: Vytvor vlastné emotikony
         create_domain_allow: Vytvor povolenie pre doménu
         create_domain_block: Vytvor zákaz domény
         create_email_domain_block: Vytvor zákaz emailovej domény
         create_ip_block: Vytvor IP pravidlo
         demote_user: Zniž užívateľskú rolu
         destroy_announcement: Vymaž oboznámenie
+        destroy_custom_emoji: Vymaž vlastné emotikony
         destroy_domain_allow: Zmaž povolenie pre doménu
         destroy_domain_block: Zruš blokovanie domény
+        destroy_email_domain_block: Zmazať zákaz emailovej domény
+        destroy_instance: Vyčistiť doménu
         destroy_ip_block: Vymaž IP pravidlo
         destroy_status: Vymaž príspevok
         destroy_unavailable_domain: Vymaž nedostupnú doménu
@@ -231,6 +234,7 @@ sk:
         enable_custom_emoji: Povoľ vlastné emotikony
         enable_user: Povoľ užívateľa
         promote_user: Povýš užívateľskú rolu
+        reject_user: Zamietni užívateľa
         remove_avatar_user: Vymaž avatar
         reopen_report: Znovu otvor hlásenie
         reset_password_user: Obnov heslo
@@ -238,6 +242,8 @@ sk:
         sensitive_account: Vynúť všetky médiá na účte ako chúlostivé
         silence_account: Utíš účet
         suspend_account: Vylúč účet
+        unassigned_report: Odober priradenie nahlásenia
+        unblock_email_account: Odblokuj emailovú adresu
         unsilence_account: Zvráť obmedzenie účtu
         unsuspend_account: Odblokuj účet
         update_announcement: Aktualizuj oboznámenie
@@ -266,6 +272,7 @@ sk:
       scheduled_for: Načasované na %{time}
       scheduled_msg: Oboznámenie bolo naplánované na zverejnenie!
       title: Oboznámenia
+      unpublish: Zruš zverejnenie
     custom_emojis:
       assign_category: Priraď kategóriu
       by_domain: Doména
@@ -299,9 +306,17 @@ sk:
       updated_msg: Emoji bolo úspešne aktualizované!
       upload: Nahraj
     dashboard:
+      active_users: aktívni užívatelia
+      media_storage: Úložisko médií
+      new_users: noví užívatelia
+      opened_reports: otvorené hlásenia
+      resolved_reports: vyriešené hlásenia
       software: Softvér
       space: Využitie miesta
       title: Spravovacie rozhranie
+      top_languages: Hlavne aktívne jazyky
+      top_servers: Hlavne aktívne servery
+      website: Webová stránka
     domain_allows:
       add_new: Povolená doména
       created_msg: Doména bola úspešne povolená
@@ -376,6 +391,7 @@ sk:
       by_domain: Doména
       delivery:
         all: Všetko
+        unavailable: Nedostupné
         warning: Upozornenie
       delivery_available: Je v dosahu doručovania
       known_accounts:
@@ -405,6 +421,7 @@ sk:
       title: Pozvánky
     ip_blocks:
       add_new: Vytvor pravidlo
+      created_msg: Nové IP pravidlo úspešne pridané
       delete: Vymaž
       expires_in:
         '1209600': 2 týždne
@@ -415,8 +432,8 @@ sk:
         '94670856': 3 roky
       new:
         title: Vytvor nové IP pravidlo
-    pending_accounts:
-      title: Čakajúcich účtov (%{count})
+      no_ip_block_selected: Žiadne IP pravidlá neboli zmenené, keďže si žiadne nemal/a zvolené
+      title: pravidlá pre IP adresy
     relationships:
       title: Vzťahy užívateľa %{acct}
     relays:
@@ -438,29 +455,29 @@ sk:
     report_notes:
       created_msg: Poznámka o nahlásení úspešne vytvorená!
       destroyed_msg: Poznámka o nahlásení úspešne vymazaná!
+      today_at: Dnes o %{time}
     reports:
-      account:
-        reports:
-          few: "%{count} hlásení"
-          many: "%{count} hlásenia"
-          one: "%{count} hlásenie"
-          other: "%{count} hlásení"
       action_taken_by: Zákrok vykonal/a
       are_you_sure: Si si istý/á?
       assign_to_self: Priraď sebe
       assigned: Priradený moderátor
       by_target_domain: Doména nahláseného účtu
+      category: Kategória
       comment:
         none: Žiadne
       created_at: Nahlásené
+      forwarded: Preposlané
+      forwarded_to: Preposlané na %{domain}
       mark_as_resolved: Označiť ako vyriešené
       mark_as_unresolved: Označ ako nevyriešené
+      no_one_assigned: Nikoho
       notes:
         create: Pridaj poznámku
         create_and_resolve: Vyrieš s poznámkou
         create_and_unresolve: Otvor znovu, s poznámkou
         delete: Vymaž
         placeholder: Opíš aké opatrenia boli urobené, alebo akékoľvek iné súvisiace aktualizácie…
+        title: Poznámky
       reopen: Znovu otvor report
       report: 'Nahlásiť #%{id}'
       reported_account: Nahlásený účet
@@ -468,6 +485,7 @@ sk:
       resolved: Vyriešené
       resolved_msg: Hlásenie úspešne vyriešené!
       status: Stav
+      statuses: Nahlásený obsah
       title: Hlásenia
       unassign: Odober
       unresolved: Nevyriešené
@@ -563,15 +581,9 @@ sk:
       destroyed_msg: Nahratie bolo zo stránky úspešne vymazané!
     statuses:
       back_to_account: Späť na účet
-      batch:
-        delete: Vymaž
-        nsfw_off: Označ ako nechúlostivé
-        nsfw_on: Označ ako chúlostivé
       deleted: Vymazané
-      failed_to_execute: Nepodarilo sa vykonať
       media:
         title: Médiá
-      no_media: Žiadné médiá
       no_status_selected: Žiadne príspevky neboli zmenené, keďže si žiadne nemal/a zvolené
       title: Príspevky na účte
       with_media: S médiami
@@ -580,21 +592,27 @@ sk:
         action: Spravuj serverové pravidlá
         message_html: Neurčil/a si žiadne serverové pravidlá.
     tags:
-      accounts_today: Jedinečných užívateľov za dnešok
-      accounts_week: Jedinečných užívateľov tento týždeň
-      breakdown: Rozpis dnešného využitia podľa zdroja
-      last_active: Naposledy aktívny
-      most_popular: Najpopulárnejšie
-      most_recent: Najnovšie
-      name: Haštag
       review: Prehodnoť stav
-      reviewed: Zhodnotené
-      title: Haštagy
-      trending_right_now: Práve populárne
-      unique_uses_today: "%{count} dnes prispievajú"
-      unreviewed: Neposúdené
       updated_msg: Nastavenia haštagov boli úspešne aktualizované
     title: Spravovanie
+    trends:
+      allow: Povoľ
+      approved: Povolené
+      disallow: Zakáž
+      links:
+        allow: Povoľ odkaz
+        allow_provider: Povoľ zverejňovateľa
+        disallow: Zakáž odkaz
+        disallow_provider: Zákaž zverejňovateľa
+        title: Populárne odkazy
+      preview_card_providers:
+        title: Zverejňovatelia
+      rejected: Odmietnuté
+      tags:
+        title: Populárne štítky
+        trending_rank: 'Populárne #%{rank}'
+        usable: Môže byť použitý
+      title: Trendy
     warning_presets:
       add_new: Pridaj nové
       delete: Vymaž
@@ -608,8 +626,6 @@ sk:
       body: "%{reporter} nahlásil/a %{target}"
       body_remote: Niekto z %{domain} nahlásil/a %{target}
       subject: Nové hlásenie pre %{instance} (#%{id})
-    new_trending_tag:
-      subject: Nový haštag očakáva preverenie na %{instance} (#%{name})
   aliases:
     add_new: Vytvor alias
     created_msg: Nový alias úspešne vytvorený. Teraz môžeš začať presun zo starého účtu.
@@ -794,7 +810,6 @@ sk:
     changes_saved_msg: Zmeny boli úspešne uložené!
     copy: Kopíruj
     delete: Vymaž
-    no_batch_actions_available: Na tejto stránke niesú k dispozícii žiadne hromadné akcie
     order_by: Zoraď podľa
     save_changes: Ulož zmeny
     validation_errors:
@@ -804,28 +819,6 @@ sk:
       other: Niečo ešte nieje celkom v poriadku! Prosím skontroluj %{count} chyby uvedené nižšie
   html_validator:
     invalid_markup: 'obsahuje neplatný HTML kód: %{error}'
-  identity_proofs:
-    active: Aktívne
-    authorize: Áno, povoľ
-    authorize_connection_prompt: Povoliť toto kryptografické prepojenie?
-    errors:
-      failed: Kryptografické prepojenie sa nepodarilo. Prosím skús to znova z %{provider}.
-      keybase:
-        invalid_token: Keybase tokeny sú hašovaniami podpisov a musia mať 66 znakov
-        verification_failed: Keybase nerozpoznáva tento token ako podpis od Keybase užívateľa menom %{kb_username}. Prosím skús to znova cez Keybase.
-      wrong_user: Nemožno vytvoriť overenie pre %{proving}, pokiaľ si prihlásený/á ako %{current}. Prihlás sa za %{proving} a skús to znova.
-    explanation_html: |-
-      Tu si môžeš kryptograficky prepojiť svoje iné identity, ako napríklad tvoj profil na Keybase.
-      Umožňuje to ostatním ľudom posielať ti enkryptované správy a veriť obsahu ktorý im pošleš ty.
-    i_am_html: Na %{service} som %{username}.
-    identity: Identita
-    inactive: Neaktívne
-    publicize_checkbox: 'A poslať toto:'
-    publicize_toot: 'Je to dokázané! Na %{service} som %{username}: %{url}'
-    remove: Odstrániť z účtu dôkaz
-    removed: Dôkaz z účtu úspešne odstránený
-    status: Stav overenia
-    view_proof: Ukáž overenie
   imports:
     errors:
       over_rows_processing_limit: obsahuje viac než %{count} riadkov
@@ -1064,7 +1057,6 @@ sk:
     edit_profile: Uprav profil
     export: Exportuj dáta
     featured_tags: Zvýraznené haštagy
-    identity_proofs: Overenia identity
     import: Importuj
     import_and_export: Import a export
     migrate: Presuň účet
@@ -1090,13 +1082,11 @@ sk:
       other: 'obsahoval nepovolené haštagy: %{tags}'
     errors:
       in_reply_not_found: Príspevok, na ktorý sa snažíš odpovedať, už pravdepodobne neexistuje.
-    language_detection: Zisti automaticky
     open_in_web: Otvor v okne na webe
     over_character_limit: limit %{max} znakov bol presiahnutý
     pin_errors:
       limit: Už si si pripol ten najvyšší možný počet hlášok
       ownership: Nieje možné pripnúť hlášku od niekoho iného
-      private: Neverejný príspevok nemôže byť pripnutý
       reblog: Vyzdvihnutie sa nedá pripnúť
     poll:
       total_people:
@@ -1121,6 +1111,10 @@ sk:
       public_long: Všetci môžu vidieť
       unlisted: Nezaradené
       unlisted_long: Všetci môžu vidieť, ale nieje zaradené do verejnej osi
+  statuses_cleanup:
+    keep_pinned: Ponechaj pripnuté príspevky
+    keep_pinned_hint: Nevymaže žiadne s tvojich pripnutých príspevkov
+    keep_self_bookmark: Ponechaj príspevky, ktoré sú záložkami
   stream_entries:
     pinned: Pripnutý príspevok
     reblogged: vyzdvihli
@@ -1180,13 +1174,7 @@ sk:
       subject: Prosím potvrď pokus o prihlásenie
       title: Pokus o prihlásenie
     warning:
-      explanation:
-        disable: Pokiaľ je tvoj účet zamrazený, tvoje dáta zostávajú nedoknuté, ale nemôžeš v rámci neho nič robiť, až kým nebude odomknutý.
-        silence: Kým máš účet obmedzený, tvoje príspevky na tomto serveri uvidia iba tí ľudia, ktorí ťa už následujú, a môžeš byť vylúčený/á z rôznych verejných záznamov. Ostatní ťa však stále budú môcť následovať manuálne.
-        suspend: Tvoj účet bol vylúčený, a všetky tvoje príspevky a nahraté médiálné súbory boli nenávratne zmazané z tohto serveru, a zo serverov na ktorých si mal následovateľov.
-      get_in_touch: Môžeš na tento email odpovedať, pre skontaktovanie sa s tímom %{instance}.
       review_server_policies: Prehodnoť pravidlá servera
-      statuses: 'Konkrétne kvôli:'
       subject:
         disable: Tvoj účet %{acct} bol zamrazený
         none: Varovanie pre %{acct}
diff --git a/config/locales/sl.yml b/config/locales/sl.yml
index 05420b18c..6b03de475 100644
--- a/config/locales/sl.yml
+++ b/config/locales/sl.yml
@@ -7,9 +7,11 @@ sl:
     active_count_after: dejaven
     active_footnote: Aktivni mesečni uporabniki (AMU)
     administered_by: 'Upravlja:'
+    api: API (programerski vmesnik aplikacije)
     apps: Mobilne aplikacije
     apps_platforms: Uporabljajte Mastodon iz iOS, Android ali iz drugih platform
     browse_directory: Brskajte po imeniku profilov in filtriranje po interesih
+    browse_local_posts: Prebrskaj živi tok javnih objav s tega strežnika
     browse_public_posts: Brskajte javnih objav v živo na Mastodonu
     contact: Kontakt
     contact_missing: Ni nastavljeno
@@ -24,6 +26,8 @@ sl:
       Uporablja se za namene federacije in se ne blokira, če ne želite blokirati celotne instance. V tem primeru blokirajte domeno.
     learn_more: Nauči se več
     privacy_policy: Pravilnik o zasebnosti
+    rules: Pravila strežnika
+    rules_html: 'Spodaj je povzetek pravil, ki jim morate slediti, če želite imeti račun na tem strežniku Mastodon:'
     see_whats_happening: Poglejte, kaj se dogaja
     server_stats: 'Statistika strežnika:'
     source_code: Izvorna koda
@@ -35,6 +39,11 @@ sl:
     status_count_before: Ki so avtorji
     tagline: Sledite prijateljem in odkrijte nove
     terms: Pogoji storitve
+    unavailable_content: Moderirani strežniki
+    unavailable_content_description:
+      domain: Strežnik
+      reason: Razlog
+      silenced_title: Omejeni strežniki
     user_count_after:
       few: uporabniki
       one: uporabnik
@@ -86,7 +95,6 @@ sl:
       destroyed_msg: Moderirana opomba je uspešno uničena!
     accounts:
       approve: Odobri
-      approve_all: Odobri vse
       are_you_sure: Ali ste prepričani?
       avatar: Podoba
       by_domain: Domena
@@ -100,6 +108,8 @@ sl:
       confirm: Potrdi
       confirmed: Potrjeno
       confirming: Potrjujem
+      custom: Po meri
+      delete: Izbriši podatke
       deleted: Izbrisano
       demote: Degradiraj
       disable: Onemogoči
@@ -116,7 +126,9 @@ sl:
       follows: Sledi
       header: Glava
       inbox_url: URL mape "Prejeto"
+      invite_request_text: Razlogi za pridružitev
       invited_by: Povabljen od
+      ip: IP
       joined: Pridružil
       location:
         all: Vse
@@ -130,7 +142,6 @@ sl:
         active: Dejaven
         all: Vse
         pending: Na čakanju
-        silenced: Utišan
         suspended: Suspendiran
         title: Moderiranje
       moderation_notes: Opombe moderiranja
@@ -147,7 +158,6 @@ sl:
       push_subscription_expires: Naročnina PuSH preteče
       redownload: Osveži profil
       reject: Zavrni
-      reject_all: Zavrni vse
       remove_avatar: Odstrani podobo
       remove_header: Odstrani glavo
       resend_confirmation:
@@ -160,9 +170,14 @@ sl:
       role: Dovoljenja
       roles:
         admin: Skrbnik
+        moderator: Moderator
         staff: Osebje
         user: Uporabnik
       search: Iskanje
+      search_same_email_domain: Drugi uporabniki z isto domeno e-pošte
+      search_same_ip: Drugi uporabniki z istim IP
+      security_measures:
+        only_password: Samo geslo
       shared_inbox_url: URL mape "Prejeto v skupni rabi"
       show:
         created_reports: Narejene prijave
@@ -172,33 +187,65 @@ sl:
       statuses: Stanja
       subscribe: Naroči
       suspended: Suspendiran
-      time_in_queue: Čakanje v vrsti %{time}
       title: Računi
       unconfirmed_email: Nepotrjena e-pošta
       undo_silenced: Razveljavi utišanje
       undo_suspension: Razveljavi suspendiranje
       unsubscribe: Odjavi se od naročnine
       username: Uporabniško ime
+      view_domain: Pokaži povzetek za domeno
       warn: Opozori
       web: Splet
       whitelisted: Na belem seznamu
     action_logs:
+      action_types:
+        approve_user: Odobri uporabnika
+        assigned_to_self_report: Dodeli poročilo
+        change_email_user: Spremeni e-poštni naslov uporabnika
+        confirm_user: Potrdi uporabnika
+        create_account_warning: Ustvari opozorilo
+        create_announcement: Ustvari obvestilo
+        create_ip_block: Ustvari pravilo IP
+        create_unavailable_domain: Ustvari domeno, ki ni na voljo
+        destroy_announcement: Izbriši obvestilo
+        destroy_ip_block: Izbriši pravilo IP
+        destroy_status: Izbriši objavo
+        disable_user: Onemogoči uporabnika
+        enable_user: Omogoči uporabnika
+        reject_user: Zavrni uporabnika
+        remove_avatar_user: Odstrani avatar
+        reopen_report: Ponovno odpri prijavo
+        reset_password_user: Ponastavi geslo
+        silence_account: Omeji račun
+        update_status: Posodobi objavo
       deleted_status: "(izbrisano stanje)"
       title: Dnevnik revizije
+    announcements:
+      new:
+        title: Novo obvestilo
+      publish: Objavi
+      published_msg: Obvestilo je bilo uspešno objavljeno!
+      title: Obvestila
+      unpublish: Umakni iz objave
     custom_emojis:
+      assign_category: Dodeli kategorijo
       by_domain: Domena
       copied_msg: Lokalna kopija emotikonov je bila uspešno ustvarjena
       copy: Kopiraj
       copy_failed_msg: Lokalne kopije emotikonov ni bilo mogoče ustvariti
+      create_new_category: Ustvari novo kategorijo
       created_msg: Emotikon je uspešno ustvarjen!
       delete: Izbriši
       destroyed_msg: Emotikon je uspešno uničen!
       disable: Onemogoči
+      disabled: Onemogočeno
       disabled_msg: Ta emotikon je uspešno onemogočen
       emoji: Emotikon
       enable: Omogoči
+      enabled: Omogočeno
       enabled_msg: Ta emotikon je uspešno omogočen
       image_hint: PNG do 50KB
+      list: Seznam
       listed: Navedeno
       new:
         title: Dodaj nove emotikone
@@ -206,6 +253,7 @@ sl:
       shortcode: Kratka koda
       shortcode_hint: Najmanj 2 znaka, samo alfanumerični znaki in podčrtaji
       title: Emotikoni po meri
+      uncategorized: Brez kategorije
       unlisted: Neuvrščeni
       update_failed_msg: Tega emotikona ni bilo mogoče posodobiti
       updated_msg: Emotikon je uspešno posodobljen!
@@ -214,6 +262,7 @@ sl:
       software: Programska oprema
       space: Uporaba prostora
       title: Nadzorna plošča
+      website: Spletišče
     domain_allows:
       add_new: Dodaj domeno na beli seznam
       created_msg: Domena je bila uspešno dodana na beli seznam
@@ -224,6 +273,7 @@ sl:
       created_msg: Domenski blok se sedaj obdeluje
       destroyed_msg: Domenski blok je bil razveljavljen
       domain: Domena
+      edit: Uredi domenski blok
       existing_domain_block_html: Uvedli ste strožje omejitve za %{name}, sedaj ga morate najprej <a href="%{unblock_url}">odblokirati</a>.
       new:
         create: Ustvari blok
@@ -234,6 +284,8 @@ sl:
           silence: Utišaj
           suspend: Suspendiraj
         title: Nov domenski blok
+      private_comment: Zasebni komentar
+      public_comment: Javni komentar
       reject_media: Zavrni predstavnostne datoteke
       reject_media_hint: Odstrani lokalno shranjene predstavnostne datoteke in zavrača prenašanje le-teh v prihodnosti. Za suspenzije ni pomembno
       reject_reports: Zavrnjene prijave
@@ -265,8 +317,18 @@ sl:
         create: Dodaj domeno
         title: Nov vnos e-pošte na črni seznam
       title: Črni seznam e-pošt
+    follow_recommendations:
+      language: Za jezik
+      status: Stanje
     instances:
+      back_to_all: Vse
+      back_to_limited: Omejeno
+      back_to_warning: Opozorilo
       by_domain: Domena
+      delivery:
+        all: Vse
+        unavailable: Ni na voljo
+        warning: Opozorilo
       delivery_available: Na voljo je dostava
       known_accounts:
         few: "%{count} znani računi"
@@ -277,6 +339,8 @@ sl:
         all: Vse
         limited: Omejeno
         title: Moderiranje
+      private_comment: Zasebni komentar
+      public_comment: Javni komentar
       title: Federacija
       total_blocked_by_us: Blokirano iz naše strani
       total_followed_by_them: Oni ti sledijo
@@ -290,8 +354,18 @@ sl:
         available: Razpoložljivo
         expired: Potekel
       title: Povabila
-    pending_accounts:
-      title: "(%{count}) računov na čakanju"
+    ip_blocks:
+      add_new: Ustvari pravilo
+      delete: Izbriši
+      expires_in:
+        '1209600': 2 tedna
+        '15778476': 6 mesecev
+        '2629746': 1 mesec
+        '31556952': 1 leto
+        '86400': 1 dan
+        '94670856': 3 leta
+      new:
+        title: Ustvari novo pravilo IP
     relays:
       add_new: Dodaj nov rele
       delete: Izbriši
@@ -315,17 +389,20 @@ sl:
       are_you_sure: Ali ste prepričani?
       assign_to_self: Dodeli meni
       assigned: Dodeljen moderator
+      category: Kategorija
       comment:
         none: Brez
       created_at: Prijavljeno
       mark_as_resolved: Označi kot rešeno
       mark_as_unresolved: Označi kot nerešeno
+      no_one_assigned: Nihče
       notes:
         create: Dodaj opombo
         create_and_resolve: Razreši z opombo
         create_and_unresolve: Ponovo odpri z opombo
         delete: Izbriši
         placeholder: Opišite dejanja, ki ste jih izvedli, ali katere koli druge posodobitve...
+        title: Zapiski
       reopen: Ponovno odpri prijavo
       report: 'Prijavi #%{id}'
       reported_account: Prijavljeni račun
@@ -337,6 +414,13 @@ sl:
       unassign: Odstopljeni
       unresolved: Nerešeni
       updated_at: Posodobljeni
+      view_profile: Pokaži profil
+    rules:
+      add_new: Dodaj pravilo
+      delete: Izbriši
+      edit: Uredi pravilo
+      empty: Zaenkrat še ni opredeljenih pravil.
+      title: Pravila strežnika
     settings:
       activity_api_enabled:
         desc_html: Številke lokalno objavljenih stanj, aktivnih uporabnikov in novih registracij na tedenskih seznamih
@@ -407,22 +491,26 @@ sl:
         desc_html: Prikaži javno časovnico na ciljni strani
         title: Predogled časovnice
       title: Nastavitve strani
+      trends:
+        title: Trendi
     statuses:
       back_to_account: Nazaj na stran računa
-      batch:
-        delete: Izbriši
-        nsfw_off: Označi, da ni občutljivo
-        nsfw_on: Označi, kot občutljivo
-      failed_to_execute: Ni bilo mogoče izvesti
+      deleted: Izbrisano
       media:
         title: Mediji
-      no_media: Ni medijev
       no_status_selected: Nobeno stanje ni bilo spremenjeno, ker ni bilo izbrano nobeno
       title: Stanja računa
       with_media: Z mediji
-    tags:
-      title: Ključniki
     title: Upravljanje
+    trends:
+      allow: Dovoli
+      approved: Odobren
+      disallow: Ne dovoli
+      tags:
+        dashboard:
+          tag_languages_dimension: Naj jeziki
+          tag_servers_dimension: Naj strežniki
+      title: Trendi
     warning_presets:
       add_new: Dodaj novo
       delete: Izbriši
@@ -441,6 +529,10 @@ sl:
     advanced_web_interface_hint: 'Če želite uporabiti celotno širino zaslona, vam napredni spletni vmesnik omogoča, da si nastavite več različnih stolpcev in da si hkrati ogledate toliko informacij, kot želite: domačo stran, obvestila, združeno časovnico, poljubno število seznamov in ključnikov.'
     animations_and_accessibility: Animacije in dostopnost
     confirmation_dialogs: Potrditvena okna
+    localization:
+      body: Mastodon prevajamo prostovoljci.
+      guide_link: https://crowdin.com/project/mastodon
+      guide_link_text: Vsakdo lahko prispeva.
     sensitive_content: Občutljiva vsebina
   application_mailer:
     notification_preferences: Spremenite e-poštne nastavitve
@@ -466,11 +558,15 @@ sl:
     didnt_get_confirmation: Niste prejeli navodil za potrditev?
     forgot_password: Ste pozabili svoje geslo?
     invalid_reset_password_token: Žeton za ponastavitev gesla je neveljaven ali je potekel. Zahtevajte novo.
+    log_in_with: Prijavi se s
     login: Prijava
     logout: Odjava
     migrate_account: Premakni se na drug račun
     migrate_account_html: Če želite ta račun preusmeriti na drugega, ga lahko <a href="%{path}">nastavite tukaj</a>.
     or_log_in_with: Ali se prijavite z
+    providers:
+      cas: CAS
+      saml: SAML
     register: Vpis
     registration_closed: "%{instance} ne sprejema novih članov"
     resend_confirmation: Ponovno pošlji navodila za potrditev
@@ -486,6 +582,7 @@ sl:
       confirming: Čakanje na potrditev e-pošte.
       pending: Naše osebje preverja vašo prijavo. To lahko traja nekaj časa. Če bo vaša prijava odobrena, boste prejeli e-pošto.
     trouble_logging_in: Težave pri prijavi?
+    use_security_key: Uporabi varnostni ključ
   authorize_follow:
     already_following: Temu računu že sledite
     error: Na žalost je prišlo do napake pri iskanju oddaljenega računa
@@ -536,6 +633,7 @@ sl:
       request: Zahtevajte svoj arhiv
       size: Velikost
     blocks: Blokirate
+    bookmarks: Zaznamki
     domain_blocks: Bloki domene
     lists: Seznami
     mutes: Utišate
@@ -546,6 +644,7 @@ sl:
       limit: Ste že dodali največje število ključnikov
   filters:
     contexts:
+      account: Profili
       home: Domača časovnica
       notifications: Obvestila
       public: Javne časovnice
@@ -564,12 +663,16 @@ sl:
     developers: Razvijalci
     more: Več…
     resources: Viri
+    trending_now: Zdaj v trendu
   generic:
     all: Vse
     changes_saved_msg: Spremembe so uspešno shranjene!
     copy: Kopiraj
+    delete: Izbriši
+    none: Brez
     order_by: Razvrsti po
     save_changes: Shrani spremembe
+    today: danes
     validation_errors:
       few: Nekaj še ni čisto v redu! Spodaj si oglejte %{count} napake
       one: Nekaj še ni čisto v redu! Spodaj si oglejte napako
@@ -577,24 +680,6 @@ sl:
       two: Nekaj še ni čisto v redu! Spodaj si oglejte %{count} napaki
   html_validator:
     invalid_markup: 'vsebuje neveljavno oznako HTML: %{error}'
-  identity_proofs:
-    active: Dejaven
-    authorize: Da, odobri
-    authorize_connection_prompt: Odobrite to kriptografsko povezavo?
-    errors:
-      failed: Kriptografska povezava ni uspela. Poskusite znova od %{provider}.
-      keybase:
-        invalid_token: Žetoni Keybase so algoritem podpisov in morajo biti sestavljeni iz 66 heksadecimalnih znakov
-        verification_failed: Keybase ne prepozna tega žetona kot podpis uporabnika %{kb_username}. Poskusite znova s Keybase-om.
-      wrong_user: Dokler se prijavite kot %{current}, ni mogoče ustvariti dokazila za %{proving}. Prijavite se kot %{proving} in poskusite znova.
-    explanation_html: Tukaj lahko kriptografsko povežete druge identitete, na primer profil Keybase. To omogoča drugim, da vam pošljejo šifrirana sporočila in zaupate vsebino, ki ste jo poslali.
-    i_am_html: Jaz sem %{username} na %{service}.
-    identity: Identiteta
-    inactive: Neaktiven
-    publicize_checkbox: 'In to tutnite:'
-    publicize_toot: 'Dokazano je! Jaz sem %{username} na %{service}: %{url}'
-    status: Stanje preverjanja
-    view_proof: Oglejte si dokaz
   imports:
     modes:
       merge: Združi
@@ -605,6 +690,7 @@ sl:
     success: Vaši podatki so bili uspešno naloženi in bodo zdaj pravočasno obdelani
     types:
       blocking: Seznam blokiranih
+      bookmarks: Zaznamki
       domain_blocking: Seznam blokiranih domen
       following: Seznam uporabnikov, katerim sledite
       muting: Seznam utišanih
@@ -637,6 +723,10 @@ sl:
   lists:
     errors:
       limit: Dosegli ste največje število seznamov
+  login_activities:
+    authentication_methods:
+      password: geslo
+      webauthn: varnostni ključi
   media_attachments:
     validations:
       images_and_video: Videoposnetka ni mogoče priložiti stanju, ki že vsebuje slike
@@ -732,6 +822,9 @@ sl:
     reply:
       proceed: Nadaljuj z odgovorom
       prompt: 'Ali želite odgovoriti na ta tut:'
+  reports:
+    errors:
+      invalid_rules: se ne sklicuje na veljavna pravila
   scheduled_statuses:
     over_daily_limit: Za ta dan ste presegli omejitev %{limit} načrtovanih tutov
     over_total_limit: Presegli ste omejitev %{limit} načrtovanih tutov
@@ -740,16 +833,40 @@ sl:
     activity: Zadnja dejavnost
     browser: Brskalnik
     browsers:
+      alipay: Alipay
       blackberry: BlackBerry
+      chrome: Chrome
+      edge: Microsoft Edge
+      electron: Electron
+      firefox: Firefox
       generic: Neznan brskalnik
+      ie: Internet Explorer
+      micro_messenger: MicroMessenger
+      nokia: Brskalnik Nokia S40 Ovi
+      opera: Opera
+      otter: Otter
+      phantom_js: PhantomJS
+      qq: QQ Browser
+      safari: Safari
       uc_browser: UC Browser
+      weibo: Weibo
     current_session: Trenutna seja
     description: "%{browser} na %{platform}"
     explanation: To so spletni brskalniki, ki so trenutno prijavljeni v vaš Mastodon račun.
+    ip: IP
     platforms:
+      adobe_air: Adobe Air
+      android: Android
       blackberry: BlackBerry
+      chrome_os: Chrome OS
+      firefox_os: Firefox OS
+      ios: iOS
+      linux: Linux
       mac: Mac
       other: neznana platforma
+      windows: Windows
+      windows_mobile: Windows Mobile
+      windows_phone: Windows Phone
     revoke: Prekliči
     revoke_success: Seja je bila uspešno preklicana
     title: Seje
@@ -764,7 +881,6 @@ sl:
     edit_profile: Uredi profil
     export: Izvoz podatkov
     featured_tags: Vključeni ključniki
-    identity_proofs: Dokazi o identiteti
     import: Uvozi
     import_and_export: Uvoz in izvoz
     migrate: Selitev računa
@@ -773,6 +889,7 @@ sl:
     profile: Profil
     relationships: Sledenja in sledilci
     two_factor_authentication: Dvofaktorsko overjanje
+    webauthn_authentication: Varnostni ključi
   statuses:
     attached:
       description: 'Priloženo: %{attached}'
@@ -793,13 +910,12 @@ sl:
       one: 'vsebuje nedovoljeni ključnik: %{tags}'
       other: 'vsebuje nedovoljenih ključnikov: %{tags}'
       two: 'vsebuje nedovoljena ključnika: %{tags}'
-    language_detection: Samodejno zaznaj jezik
+    edited_at: Urejeno %{date}
     open_in_web: Odpri na spletu
     over_character_limit: omejitev %{max} znakov je presežena
     pin_errors:
       limit: Pripeli ste največje število tutov
       ownership: Trob nekoga drugega ne more biti pripet
-      private: Nejavnega troba ni mogoče pripeti
       reblog: Spodbuda ne more biti pripeta
     poll:
       total_votes:
@@ -817,6 +933,18 @@ sl:
       public_long: Vsi lahko vidijo
       unlisted: Ni prikazano
       unlisted_long: Vsi lahko vidijo, vendar ni objavljeno na javnih časovnicah
+  statuses_cleanup:
+    keep_polls: Ohrani ankete
+    keep_polls_hint: Ne izbriše vaših anket
+    min_age:
+      '1209600': 2 tedna
+      '15778476': 6 mesecev
+      '2629746': 1 mesec
+      '31556952': 1 leto
+      '5259492': 2 meseca
+      '63113904': 2 leti
+      '7889238': 3 mesece
+    min_age_label: Starostna meja
   stream_entries:
     pinned: Pripet trob
     reblogged: spodbujen
@@ -909,7 +1037,9 @@ sl:
     default: Mastodon (Temna)
     mastodon-light: Mastodon (Svetla)
   two_factor_authentication:
+    add: Dodaj
     disable: Onemogoči
+    edit: Uredi
     enabled: Dvofaktorsko preverjanje pristnosti je omogočeno
     enabled_success: Dvofaktorsko preverjanje pristnosti je uspešno omogočeno
     generate_recovery_codes: Ustvari kode za obnovitev
@@ -917,16 +1047,16 @@ sl:
     recovery_codes: Varnostna kopija obnovitvenih kod
     recovery_codes_regenerated: Obnovitvene kode so bile uspešno regenerirane
     recovery_instructions_html: Če kdaj izgubite dostop do telefona, lahko uporabite eno od spodnjih obnovitvenih kod, da ponovno pridobite dostop do svojega računa. <strong>Shranite obnovitvene kode</strong>. Lahko jih natisnete in shranite z drugimi pomembnimi dokumenti.
+    webauthn: Varnostni ključi
   user_mailer:
     backup_ready:
       explanation: Zahtevali ste popolno varnostno kopijo računa Mastodon. Zdaj je pripravljen za prenos!
       subject: Vaš arhiv je pripravljen za prenos
       title: Prevzem arhiva
+    sign_in_token:
+      title: Poskus prijave
     warning:
-      explanation:
-        disable: Medtem ko je vaš račun zamrznjen, podatki vašega računa ostanejo nedotaknjeni, vendar ne morete izvajati nobenih dejanj, dokler ga ne odklenete.
-        silence: Medtem ko je vaš račun omejen, bodo na tem strežniku videli vaše tute samo osebe, ki vam že sledijo in morda boste izključeni iz različnih javnih seznamov. Vendar vam lahko še vedno ročno sledijo drugi.
-        suspend: Vaš račun je bil začasno ukinjen, vsi vaši tuti in naložene predstavnostne datoteke so bili nepovratno odstranjeni s tega strežnika in strežnikov, kjer ste imeli sledilce.
+      reason: 'Razlog:'
       review_server_policies: Preglejte pravilnike strežnika
       subject:
         disable: Vaš račun %{acct} je zamrznjen
@@ -934,8 +1064,10 @@ sl:
         silence: Vaš račun %{acct} je omejen
         suspend: Vaš račun %{acct} je suspendiran
       title:
+        delete_statuses: Objave odstranjene
         disable: Račun je zamrznjen
         none: Opozorilo
+        sensitive: Mediji so skriti
         silence: Račun je omejen
         suspend: Račun je suspendiran
     welcome:
@@ -958,9 +1090,16 @@ sl:
   users:
     follow_limit_reached: Ne morete spremljati več kot %{limit} ljudi
     invalid_otp_token: Neveljavna dvofaktorska koda
+    invalid_sign_in_token: Neveljavna varnostna koda
     otp_lost_help_html: Če ste izgubili dostop do obeh, stopite v stik z %{email}
     seamless_external_login: Prijavljeni ste prek zunanje storitve, tako da nastavitve gesla in e-pošte niso na voljo.
     signed_in_as: 'Vpisani kot:'
   verification:
     explanation_html: '<strong>V metapodatkih svojega profila se lahko potrdite kot lastnik povezav</strong>. Za to mora povezano spletno mesto vsebovati povezavo do vašega Mastodon profila. Povezava <strong>mora</strong> imeti atribut <code>el="me"</code>. Vsebina besedila povezave ni pomembna. Tukaj je primer:'
     verification: Potrditev
+  webauthn_credentials:
+    add: Dodaj nov varnostni ključ
+    delete: Izbriši
+    delete_confirmation: Ali ste prepričani, da želite izbrisati ta varnostni ključ?
+    invalid_credential: Neveljaven varnostni ključ
+    not_supported: Ta brskalnik ne podpira varnostnih ključev
diff --git a/config/locales/sq.yml b/config/locales/sq.yml
index 5c7e9c3fe..5ff75afee 100644
--- a/config/locales/sq.yml
+++ b/config/locales/sq.yml
@@ -99,7 +99,6 @@ sq:
     accounts:
       add_email_domain_block: Blloko përkatësi email
       approve: Miratojeni
-      approve_all: Miratojini krejt
       approved_msg: U miratua me sukses aplikimi për regjistrim të %{username}
       are_you_sure: Jeni i sigurt?
       avatar: Avatar
@@ -114,6 +113,7 @@ sq:
       confirm: Ripohojeni
       confirmed: U ripohua
       confirming: Po ripohohet
+      custom: Vetjake
       delete: Fshiji të dhënat
       deleted: U fshi
       demote: Zhgradoje
@@ -153,7 +153,6 @@ sq:
         active: Aktiv
         all: Krejt
         pending: Pezull
-        silenced: Të heshtuara
         suspended: Të pezulluara
         title: Moderim
       moderation_notes: Shënime moderimesh
@@ -171,7 +170,6 @@ sq:
       redownload: Rifresko profilin
       redownloaded_msg: Profili i %{username} u rifreskua me sukses prej origjinës
       reject: Hidhe tej
-      reject_all: Hidhi krejt tej
       rejected_msg: Aplikimi për regjistrim i %{username} u hodh poshtë me sukses
       remove_avatar: Hiqe avatarin
       remove_header: Hiqe kryen
@@ -206,12 +204,14 @@ sq:
       silence: Heshtoje
       silenced: E heshtuar
       statuses: Gjendje
+      strikes: Ndëshkime të mëparshme
       subscribe: Pajtomë
       suspended: Të pezulluara
       suspension_irreversible: Të dhënat e kësaj llogarie janë fshirë në mënyrë të pakthyeshme. Mund ta shpezulloni llogarinë, për ta bërë të përdorshme, por kjo s’do të kthejë ndonjë të dhënë që kihej më parë.
       suspension_reversible_hint_html: Llogaria është pezulluar, dhe të dhënat do të hiqen plotësisht më %{date}. Deri atëherë, llogaria mund të rikthehet pa ndonjë zarar. Nëse doni të hiqen menjëherë krejt të dhënat e llogarisë, këtë mund ta bëni më poshtë.
-      time_in_queue: Pritje në radhë %{time}
       title: Llogari
+      unblock_email: Zhbllokoje adresën email
+      unblocked_email_msg: U zhbllokua me sukses adresa email e %{username}
       unconfirmed_email: Email i paripohuar
       undo_sensitized: Hiqja shenjën si rezervat
       undo_silenced: Zhbëje heshtjen
@@ -226,6 +226,7 @@ sq:
       whitelisted: Lejuar për federim
     action_logs:
       action_types:
+        approve_user: Miratoje Përdoruesin
         assigned_to_self_report: Caktoji Raportim
         change_email_user: Ndrysho Email për Përdoruesin
         confirm_user: Ripohoje Përdoruesin
@@ -243,6 +244,7 @@ sq:
         destroy_domain_allow: Fshi Lejim Përkatësie
         destroy_domain_block: Fshi Bllokim Përkatësie
         destroy_email_domain_block: Fshi bllokim përkatësie email-esh
+        destroy_instance: Spastroje Përkatësinë
         destroy_ip_block: Fshini Rregull IP
         destroy_status: Fshi Gjendje
         destroy_unavailable_domain: Fshi Përkatësi të Papërdorshme
@@ -255,6 +257,7 @@ sq:
         enable_user: Aktivizo Përdorues
         memorialize_account: Bëje Llogari Përkujtimore
         promote_user: Promovojeni Përdoruesin
+        reject_user: Hidhe Poshtë Përdoruesin
         remove_avatar_user: Hiqe Avatarin
         reopen_report: Rihape Raportimin
         reset_password_user: Ricaktoni Fjalëkalimin
@@ -263,6 +266,7 @@ sq:
         silence_account: Heshtoje Llogarinë
         suspend_account: Pezulloje Llogarinë
         unassigned_report: Hiqe Caktimin e Raportimit
+        unblock_email_account: Zhbllokoje adresën email
         unsensitive_account: Hiqjani shenjën si rezervat medias në llogarinë tuaj
         unsilence_account: Hiqe Heshtimin e Llogarisë
         unsuspend_account: Hiqe Pezullimin e Llogarisë
@@ -271,6 +275,7 @@ sq:
         update_domain_block: Përditëso Bllok Përkatësish
         update_status: Përditëso Gjendjen
       actions:
+        approve_user_html: "%{name} miratoi regjistrim nga %{target}"
         assigned_to_self_report_html: "%{name} ia kaloi raportimin %{target} në ngarkim vetvetes"
         change_email_user_html: "%{name} ndryshoi adresën email të përdoruesit %{target}"
         confirm_user_html: "%{name} ripohoi adresën email të përdoruesit %{target}"
@@ -288,6 +293,7 @@ sq:
         destroy_domain_allow_html: "%{name} hoqi lejimin për federim me %{target}"
         destroy_domain_block_html: "%{name} zhbllokoi përkatësinë %{target}"
         destroy_email_domain_block_html: "%{name} hoqi bllokimin për përkatësinë email %{target}"
+        destroy_instance_html: "%{name} spastroi përkatësinë %{target}"
         destroy_ip_block_html: "%{name} fshiu rregull për IP-në %{target}"
         destroy_status_html: "%{name} hoqi gjendje nga %{target}"
         destroy_unavailable_domain_html: "%{name} rinisi dërgimin drejt përkatësisë %{target}"
@@ -300,6 +306,7 @@ sq:
         enable_user_html: "%{name} aktivizoi hyrje për përdoruesin %{target}"
         memorialize_account_html: "%{name} e shndërroi llogarinë e %{target} në një faqe përkujtimore"
         promote_user_html: "%{name} gradoi përdoruesin %{target}"
+        reject_user_html: "%{name} hodhi poshtë regjistrimin nga %{target}"
         remove_avatar_user_html: "%{name} hoqi avatarin e %{target}"
         reopen_report_html: "%{name} rihapi raportimin %{target}"
         reset_password_user_html: "%{name} ricaktoi fjalëkalimi për përdoruesin %{target}"
@@ -308,6 +315,7 @@ sq:
         silence_account_html: "%{name} heshtoi llogarinë e %{target}"
         suspend_account_html: "%{name} pezulloi llogarinë e %{target}"
         unassigned_report_html: "%{name} rihapi raportimin %{target}"
+        unblock_email_account_html: "%{name} zhbllokoi adresën email të %{target}"
         unsensitive_account_html: "%{name} ia hoqi shenjën si rezervat medias në %{target}"
         unsilence_account_html: "%{name} hoqi heshtimin për llogarinë %{target}"
         unsuspend_account_html: "%{name} hoqi pezullimin për llogarinë e %{target}"
@@ -376,6 +384,15 @@ sq:
       media_storage: Depozitë media
       new_users: përdorues të rinj
       opened_reports: raportime të hapur
+      pending_reports_html:
+        one: "<strong>1</strong> raportim pezull"
+        other: "<strong>%{count}</strong> raportime pezull"
+      pending_tags_html:
+        one: "<strong>1</strong> hashtag pezull"
+        other: "<strong>%{count}</strong> hashtag-ë pezull"
+      pending_users_html:
+        one: "<strong>1</strong> përdorues pezull"
+        other: "<strong>%{count}</strong> përdorues pezull"
       resolved_reports: raportime të zgjidhur
       software: Software
       sources: Burime regjistrimi
@@ -456,6 +473,7 @@ sq:
       back_to_limited: E kufizuar
       back_to_warning: Kujdes
       by_domain: Përkatësi
+      confirm_purge: Jeni i sigurt se doni të fshihen përgjithmonë të dhënat prej kësaj përkatësie?
       delivery:
         all: Krejt
         clear: Spastro gabime dërgimi
@@ -471,6 +489,7 @@ sq:
       delivery_available: Ka shpërndarje të mundshme
       delivery_error_days: Ditë gabimi dështimi
       delivery_error_hint: Nëse dërgimi s’është i mundshëm për %{count} ditë, do t’i vihet shenjë automatikisht si i padërgueshëm.
+      destroyed_msg: Të dhënat prej %{domain} tani janë vënë në radhë për fshirje të menjëhershme.
       empty: S’u gjetën përkatësi.
       known_accounts:
         one: "%{count} llogari e njohur"
@@ -481,6 +500,7 @@ sq:
         title: Moderim
       private_comment: Koment privat
       public_comment: Koment publik
+      purge: Spastroje
       title: Federim
       total_blocked_by_us: Bllokuar nga ne
       total_followed_by_them: Ndjekur prej tyre
@@ -510,8 +530,6 @@ sq:
         title: Krijoni rregull IP të ri
       no_ip_block_selected: S’u ndryshua ndonjë rregull IP, ngaqë s’u përzgjodh ndonjë i tillë
       title: Rregulla IP
-    pending_accounts:
-      title: Llogari pezull (%{count})
     relationships:
       title: Marrëdhënie të %{acct}
     relays:
@@ -533,32 +551,44 @@ sq:
     report_notes:
       created_msg: Shënimi i raportimit u krijua me sukses!
       destroyed_msg: Shënimi i raportimit u fshi me sukses!
+      today_at: Sot më %{time}
     reports:
       account:
         notes:
           one: "%{count} shënim"
           other: "%{count} shënime"
-        reports:
-          one: "%{count} raportim"
-          other: "%{count} raportime"
+      action_log: Auditim regjistri
       action_taken_by: Veprimi i ndërmarrë nga
+      actions:
+        other_description_html: Shihni më tepër mundësi për kontroll të sjelljes së një llogari dhe përshtatni komunikimin me llogarinë e raportuar.
+        silence_description_html: Profili do të jetë i dukshëm vetëm për ata që e ndjekin tashmë, ose që e kërkojnë dorazi, duke reduktuar rëndë përhapjen e tij. Mundet përherë të prapakthehet.
+        suspend_description_html: Profili dhe krej lënda e tij do të bëhen të papërdorshëm, deri sa më në fund të fshihet. Ndërveprimi me llogarinë do të jetë i pamundur. E prapakthyeshme brenda 30 ditësh.
+      actions_description_html: 'Nëse heqja e lëndës më sipër që ka probleme është e pamjaftueshme:'
+      add_to_report: Shtoni më tepër te raportimi
       are_you_sure: A jeni i sigurt?
       assign_to_self: Caktojani vetes
       assigned: Iu caktua moderator
       by_target_domain: Përkatësi e llogarisë së raportuar
+      category: Kategori
+      category_description_html: Arsyeja pse kjo llogari dhe/ose lëndë raportohet do të citohet te komunikimi me llogarinë e raportuar
       comment:
         none: Asnjë
+      comment_description_html: 'Për të dhënë më tepër informacion, %{name} shkroi:'
       created_at: Raportuar më
+      delete_and_resolve: Zgjidhe dhe fshije
       forwarded: U përcoll
       forwarded_to: U përcoll te %{domain}
       mark_as_resolved: Vëri shenjë si i zgjidhur
       mark_as_unresolved: Vëri shenjë si të pazgjidhur
+      no_one_assigned: Askush
       notes:
         create: Shtoni shënim
         create_and_resolve: Zgjidhe me shënim
         create_and_unresolve: Rihape me shënim
         delete: Fshije
         placeholder: Përshkruani ç’veprime janë ndërmarrë, ose çfarëdo përditësimi tjetër që lidhet me të…
+        title: Shënime
+      notes_description_html: Shihni dhe lini shënime për moderatorët e tjerë dhe për veten në të ardhmen
       reopen: Rihape raportimin
       report: 'Raportim #%{id}'
       reported_account: Llogari e raportuar
@@ -566,11 +596,14 @@ sq:
       resolved: I zgjidhur
       resolved_msg: Raportimi u zgjidh me sukses!
       status: Gjendje
+      statuses: Lëndë e raportuar
+      statuses_description_html: Lënda problematike do të citohet në komunikimin me llogarinë e raportuar
       target_origin: Origjinë e llogarisë së raportuar
       title: Raportime
       unassign: Hiqja
       unresolved: Të pazgjidhur
       updated_at: U përditësua më
+      view_profile: Shihni profilin
     rules:
       add_new: Shtoni rregull
       delete: Fshije
@@ -672,15 +705,12 @@ sq:
       destroyed_msg: Ngarkimi në sajt u fshi me sukses!
     statuses:
       back_to_account: Mbrapsht te faqja e llogarisë
+      back_to_report: Mbrapsht te faqja e raportimit
       batch:
-        delete: Fshije
-        nsfw_off: Vëri shenjë si jo rezervat
-        nsfw_on: Vëri shenjë si rezervat
+        remove_from_report: Hiqe prej raportimit
       deleted: E fshirë
-      failed_to_execute: S’u arrit të përmbushej
       media:
         title: Media
-      no_media: S’ka media
       no_status_selected: S’u ndryshua ndonjë gjendje, ngaqë s’u përzgjodh ndonjë e tillë
       title: Gjendje llogarish
       with_media: Me media
@@ -693,21 +723,49 @@ sq:
       sidekiq_process_check:
         message_html: S’ka proces Sidekiq në punë për %{value} radhë. Ju lutemi, shqyrtoni formësimin tuaj për Sidekiq-un
     tags:
-      accounts_today: Përdorime unike sot
-      accounts_week: Përdorime unike këtë javë
-      breakdown: Përdorimi sot, analizuar sipas burimesh
-      last_active: Aktive së fundi më
-      most_popular: Më populloret
-      most_recent: Më të rejat
-      name: Hashtag
       review: Gjendje rishikimi
-      reviewed: E shqyrtuar
-      title: Hashtag-ë
-      trending_right_now: Popullore mu tani
-      unique_uses_today: "%{count} postime sot"
-      unreviewed: E pashqyrtuar
       updated_msg: Rregullimet për hashtag-ët u përditësuan me sukses
     title: Administrim
+    trends:
+      allow: Lejojeni
+      approved: Miratuar
+      disallow: Mos e lejo
+      links:
+        allow: Lejoje lidhjen
+        allow_provider: Lejoje botuesin
+        disallow: Hiq lejimin e lidhjes
+        disallow_provider: Mos e lejo botuesin
+        shared_by_over_week:
+          one: Ndarë nga një person javën e kaluar
+          other: Ndarë nga %{count} persona javën e kaluar
+        title: Lidhje në modë
+        usage_comparison: Ndarë %{today} herë sot, kundrejt %{yesterday} dje
+      pending_review: Në pritje të shqyrtimit
+      preview_card_providers:
+        allowed: Lidhje prej këtij botuesi mund të përdoren
+        rejected: Lidhje prej këtij botuesi s’do të përdoren
+        title: Botues
+      rejected: Hedhur poshtë
+      tags:
+        dashboard:
+          tag_accounts_measure: përdorime unike
+          tag_languages_dimension: Gjuhë kryesuese
+          tag_servers_dimension: Shërbyes kryesues
+          tag_servers_measure: shërbyes të ndryshëm
+          tag_uses_measure: përdorime gjithsej
+        listable: Mund të sugjerohet
+        not_listable: S’do të sugjerohet
+        not_trendable: S’do të shfaqet nën të modës
+        not_usable: S’mund të përdoret
+        peaked_on_and_decaying: Kulmoi më %{date}, tani në rënie
+        title: Hashtag-ë në modë
+        trendable: Mund të shfaqet nën të modës
+        usable: Mund të përdoret
+        usage_comparison: Përdorur %{today} herë sot, krahasuar me %{yesterday} dje
+        used_by_over_week:
+          one: Përdorur nga një persona gjatë javës së kaluar
+          other: Përdorur nga %{count} persona gjatë javës së kaluar
+      title: Në modë
     warning_presets:
       add_new: Shtoni të ri
       delete: Fshije
@@ -722,9 +780,13 @@ sq:
       body: "%{reporter} ka raportuar %{target}"
       body_remote: Dikush nga %{domain} ka raportuar %{target}
       subject: Raportim i ri për %{instance} (#%{id})
-    new_trending_tag:
-      body: 'Hashtag-u #%{name} është popullor sot, por s’është shqyrtuar më parë. S’do të shfaqet publikisht pa e lejuar ju, ose thjesht ruani formularin siç është, që të mos dëgjoni më për të.'
-      subject: Hashtag i ri për shqyrtim te %{instance} (#%{name})
+    new_trending_links:
+      body: Lidhjet vijuese janë në modë sot, por botuesit e tyre nuk janë shqyrtuar më herët. Nuk do të shfaqen publikisht, veç në i miratofshi. S’do të prodhohen njoftime të mëtejshme për të njëjtë botues.
+      no_approved_links: Aktualisht nuk ka lidhje në modë të miratuara.
+      subject: Lidhje të reja në modë për shqyrtim te %{instance}
+    new_trending_tags:
+      body: 'Hashtag-ët vijues janë në modë sot, por nuk janë miratuar më herët. S’do të shfaqen publikisht, veç në i miratofshi:'
+      no_approved_tags: Aktualisht nuk ka hashtag-ë në modë të miratuar.
   aliases:
     add_new: Krijo alias
     created_msg: U krijua me sukses alias i ri. Tani mund të filloni lëvizjen prej llogarisë së vjetër.
@@ -776,6 +838,7 @@ sq:
     invalid_reset_password_token: Token-i i ricaktimit të fjalëkalimit është i pavlefshëm ose ka skaduar. Ju lutemi, kërkoni një të ri.
     link_to_otp: Jepni një kod mirëfilltësimi dyfaktorësh prej telefonit tuaj ose një kod rimarrjeje
     link_to_webauth: Përdorni pajisjen tuaj të kyçeve të sigurisë
+    log_in_with: Hyni me
     login: Hyni
     logout: Dalje
     migrate_account: Kaloni në një tjetër llogari
@@ -931,34 +994,15 @@ sq:
     changes_saved_msg: Ndryshimet u ruajtën me sukses!
     copy: Kopjoje
     delete: Fshije
-    no_batch_actions_available: Në këtë faqe s’ka veprime masive gati
+    none: Asnjë
     order_by: Renditi sipas
     save_changes: Ruaji ndryshimet
+    today: sot
     validation_errors:
       one: Diçka s’është ende si duhet! Ju lutemi, shqyrtoni gabimin më poshtë
       other: Diçka s’është ende si duhet! Ju lutemi, shqyrtoni %{count} gabimet më poshtë
   html_validator:
     invalid_markup: 'përmban elementë HTML të pavlefshëm: %{error}'
-  identity_proofs:
-    active: Aktive
-    authorize: Po, autorizoje
-    authorize_connection_prompt: Të autorizohet kjo lidhje kriptografike?
-    errors:
-      failed: Lidhja kriptografike dështoi. Ju lutemi, riprovoni prej %{provider}.
-      keybase:
-        invalid_token: Token-ët Keybase janë hashe nënshkrimesh dhe duhet të jenë 66 shenja gjashtëmbëdhjetëshe
-        verification_failed: Keybase-i s’e njeh këtë token si një nënshkrim nga përdoruesi %{kb_username} i Keybase-it. Ju lutemi, riprovoni që prej Keybase-it.
-      wrong_user: S’mund të krijohet provë për %{proving} teksa është i futur si %{current}. Hyni si %{proving} dhe riprovoni.
-    explanation_html: Këtu mund të lidhni në mënyrë kriptografike identitetet tuaja të tjera prej platformash të tjera, bie fjala Keybase. Kjo u lejon të tjerëve t’ju dërgojnë mesazhe të fshehtëzuar në këto platforma dhe u lejon atyre të besojnë se lënda që u dërgoni vjen prej jush.
-    i_am_html: Jam %{username} në %{service}.
-    identity: Identitet
-    inactive: Jo aktiv
-    publicize_checkbox: 'Dhe cicëro këtë:'
-    publicize_toot: 'Është i provuar! Jam %{username} te %{service}: %{url}'
-    remove: Hiq provën prej llogarie
-    removed: Prova u hoq me sukses nga llogaria
-    status: Gjendje verifikimi
-    view_proof: Shihni provën
   imports:
     errors:
       over_rows_processing_limit: përmban më shumë se %{count} rreshta
@@ -1232,7 +1276,6 @@ sq:
     edit_profile: Përpunoni profilin
     export: Eksportim të dhënash
     featured_tags: Hashtag-ë të zgjedhur
-    identity_proofs: Prova identiteti
     import: Importo
     import_and_export: Importim dhe eksportim
     migrate: Migrim llogarie
@@ -1257,18 +1300,19 @@ sq:
         other: "%{count} video"
     boosted_from_html: Përforcuar nga %{acct_link}
     content_warning: 'Sinjalizim lënde: %{warning}'
+    default_language: Njësoj me gjuhën e ndërfaqes
     disallowed_hashtags:
       one: 'përmbante një hashtag të palejuar: %{tags}'
       other: 'përmbante hashtag-ë të palejuar: %{tags}'
+    edited_at: Përpunuar më %{date}
     errors:
       in_reply_not_found: Gjendja të cilës po provoni t’i përgjigjeni s’duket se ekziston.
-    language_detection: Pikase gjuhën vetvetiu
     open_in_web: Hape në internet
     over_character_limit: u tejkalua kufi shenjash prej %{max}
     pin_errors:
+      direct: Postimet që janë të dukshme vetëm për përdoruesit e përmendur s’mund të fiksohen
       limit: Keni fiksuar tashmë numrin maksimum të mesazheve
       ownership: S’mund të fiksohen mesazhet e të tjerëve
-      private: S’mund të fiksohet mesazh jopublik
       reblog: S’mund të fiksohet një përforcim
     poll:
       total_people:
@@ -1423,6 +1467,7 @@ sq:
     formats:
       default: "%d %b, %Y, %H:%M"
       month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Shtoje
     disable: Çaktivizoje
@@ -1450,24 +1495,31 @@ sq:
       subject: Ju lutemi, ripohoni përpjekje hyrjeje
       title: Përpjekje hyrjeje
     warning:
+      categories:
+        spam: I padëshiruar
+        violation: Lënda cenon udhëzimet vijuese të bashkësisë
       explanation:
-        disable: Kur llogaria juaj është e ngrirë, të dhënat në llogarinë tuaj mbeten të paprekura, por s’mund të kryeni ndonjë veprim, para se të shkyçet.
-        sensitive: Kartelat tuaja media të ngarkuara dhe media e lidhur prej jush do të trajtohet si rezervat.
-        silence: Kur llogaria juaj është e kufizuar, mesazhet tuaj në këtë shërbyes do t’i shohin vetëm personat që ju ndjekin tashmë. dhe mund të liheni jashtë nga lista të ndryshme publike. Megjithatë, të tjerët prapë mund t’ju ndjekin dorazi.
-        suspend: Llogaria juaj është pezulluar, dhe krejt mesazhet tuaja dhe kartelat media të ngarkuara janë hequr në mënyrë të pakthyeshme nga ky shërbyes, dhe nga shërbyesit te të cilët kishit ndjekës.
-      get_in_touch: Që të lidheni me ekipin e %{instance}, mund t’i përgjigjeni këtij email-i.
+        delete_statuses: Për disa nga postimet tuaja është parë se cenojnë një ose më tepër udhëzime të bashkësisë dhe për pasojë janë hequr nga moderatorët e %{instance}. Cenime të ardhshme mund të sjellin veprime ndëshkimore më të ashpra kundër llogarisë tuaj.
+        disable: S’mund të përdorni më llogarinë tuaj, por profili juaj dhe të dhëna të tjera mbeten të paprekura. Mund të kërkoni një kopjeruajtje të të dhënave tuaja, të ndryshoni rregullime llogarie, ose të fshini llogarinë tuaj.
+        sensitive: Nga sot e tutje, krejt kartelave media të ngarkuara do t’u vihet shenjë si me spec dhe do të fshihen pas një sinjalizimi “klikojeni”.
+        silence: Mundeni ende të përdorni llogarinë tuaj, por vetëm personat që tashmë ju ndjekin do të shohin postimet tuaja në këtë shërbyes dhe mund të përjashtoheni nga veçori të ndryshme për zbulim lënde. Sidoqoftë, të tjerët mund t’ju ndjekin dorazi.
+        suspend: S’mund të përdorni më llogarinë tuaj dhe profili juaj, si dhe të dhëna të tjera, s’janë më të përdorshëm. Mundeni ende të bëni hyrjen në llogarinë tuaj për të kërkuar një kopjeruajtje të të dhënave tuaja, deri para se të dhënat tuaja të hiqen plotësisht brenda afërsisht 30 ditësh, por do të mbajmë ca të dhëna elementare, për t’ju penguar t’i bëni bisht pezullimin.
+      get_in_touch: Nëse besoni se këtu ka gabim, mund t’i përgjigjeni këtij email-i për t’u lidhur me stafin e %{instance}.
+      reason: 'Arsye:'
       review_server_policies: Shqyrtoni rregullat e shërbyesit
-      statuses: 'Posaçërisht, për:'
+      statuses: 'Postime që janë gjetur me cenime:'
       subject:
+        delete_statuses: Postimet tuaja në %{acct} janë hequr
         disable: Llogaria juaj %{acct} është ngrirë
         none: Sinjalizim për %{acct}
-        sensitive: Medias postuar nga llogaria juaj %{acct} i është vënë shenjë si rezervat
+        sensitive: Nga sot e tutje, kartelave tuaja media në %{acct} do t’u vihet shenjë si me spec
         silence: Llogaria juaj %{acct} është kufizuar
         suspend: Llogaria juaj %{acct} është pezulluar
       title:
+        delete_statuses: Postime të hequra
         disable: Llogari e ngrirë
         none: Sinjalizim
-        sensitive: Medias tuaj i është vënë shenjë si rezervat
+        sensitive: Me media të fshehur
         silence: Llogari e kufizuar
         suspend: Llogari e pezulluar
     welcome:
diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml
index e762126ad..261311b2a 100644
--- a/config/locales/sr-Latn.yml
+++ b/config/locales/sr-Latn.yml
@@ -59,7 +59,6 @@ sr-Latn:
       memorialize: Prebaci u in memoriam
       moderation:
         all: Svi
-        silenced: Ućutkani
         suspended: Suspendovani
         title: Moderacija
       moderation_notes: Moderatorske beleške
@@ -219,14 +218,8 @@ sr-Latn:
       title: Postavke sajta
     statuses:
       back_to_account: Nazad na stranu naloga
-      batch:
-        delete: Obriši
-        nsfw_off: NSFW isključen
-        nsfw_on: NSFW uključen
-      failed_to_execute: Neuspelo izvršavanje
       media:
         title: Multimedija
-      no_media: Bez multimedije
       title: Statusi naloga
       with_media: Sa multimedijom
     title: Administracija
@@ -428,7 +421,6 @@ sr-Latn:
     pin_errors:
       limit: Već imate prikačen najveći broj tutova
       ownership: Tuđi tutovi ne mogu da se prikače
-      private: Tutovi koji nisu javni ne mogu da se prikače
       reblog: Podrška ne može da se prikači
     show_more: Prikaži još
     visibilities:
diff --git a/config/locales/sr.yml b/config/locales/sr.yml
index b6c92976a..2fdcd6854 100644
--- a/config/locales/sr.yml
+++ b/config/locales/sr.yml
@@ -109,7 +109,6 @@ sr:
       moderation:
         active: Активан
         all: Сви
-        silenced: Ућуткани
         suspended: Суспендовани
         title: Модерација
       moderation_notes: Модераторске белешке
@@ -366,19 +365,11 @@ sr:
       title: Поставке сајта
     statuses:
       back_to_account: Назад на страну налога
-      batch:
-        delete: Обриши
-        nsfw_off: NSFW искључен
-        nsfw_on: NSFW укључен
-      failed_to_execute: Неуспело извршавање
       media:
         title: Мултимедија
-      no_media: Без мултимедије
       no_status_selected: Ниједан статус није промењен јер ниједан није изабран
       title: Статуси налога
       with_media: Са мултимедијом
-    tags:
-      title: Тараба
     title: Администрација
     warning_presets:
       add_new: Додај нови
@@ -685,13 +676,11 @@ sr:
       few: 'садржи забрањене хештегове: %{tags}'
       one: 'садржи забрањени хештег: %{tags}'
       other: 'садржи забрањене хештегове: %{tags}'
-    language_detection: Аутоматскo откривање језика
     open_in_web: Отвори у вебу
     over_character_limit: ограничење од %{max} карактера прекорачено
     pin_errors:
       limit: Већ имате прикачен највећи број труба
       ownership: Туђе трубе не могу да се прикаче
-      private: Трубе које нису јавне не могу бити прикачене
       reblog: Подршка не може да се прикачи
     show_more: Прикажи још
     sign_in_to_participate: Пријавите се да учествујете у разговору
@@ -727,10 +716,6 @@ sr:
       subject: Ваша архива је спремна за преузимање
       title: Извоз архиве
     warning:
-      explanation:
-        disable: Док је ваш рачун замрзнут, подаци о вашем рачуну остају нетакнути, али не можете вршити никакве радње док се не откључа.
-        silence: Иако је ваш налог ограничен, само људи који вас већ прате ће видети ваше трубе на овом серверу, и можда ћете бити искључени из различитих јавних листа. Међутим, други вас могу и даље ручно пратити.
-        suspend: Ваш налог је суспендован, а све ваше трубе и учитане медијске датотеке неповратно су уклоњени са овог сервера и сервера на којима сте имали следбенике.
       review_server_policies: Прегледај политику сервера
       subject:
         disable: Ваш налог %{acct} је замрзнут
diff --git a/config/locales/sv.yml b/config/locales/sv.yml
index 44c794833..e103d535b 100644
--- a/config/locales/sv.yml
+++ b/config/locales/sv.yml
@@ -60,6 +60,7 @@ sv:
       one: Följare
       other: Följare
     following: Följer
+    instance_actor_flash: Detta konto är en virtuell aktör som används för att representera servern själv och inte någon enskild användare. Den används för federationsändamål och bör inte upphävas.
     joined: Gick med %{date}
     last_active: senast aktiv
     link_verified_on: Ägarskap för denna länk kontrollerades den %{date}
@@ -96,7 +97,6 @@ sv:
     accounts:
       add_email_domain_block: Blockera e-postdomän
       approve: Godkänn
-      approve_all: Godkänn alla
       are_you_sure: Är du säker?
       avatar: Profilbild
       by_domain: Domän
@@ -110,9 +110,11 @@ sv:
       confirm: Bekräfta
       confirmed: Bekräftad
       confirming: Bekräftande
+      custom: Anpassade
       delete: Radera data
       deleted: Raderad
       demote: Degradera
+      destroyed_msg: "%{username}'s data har nu lagts till kön för att raderas omedelbart"
       disable: inaktivera
       disable_two_factor_authentication: Inaktivera 2FA
       disabled: inaktiverad
@@ -123,6 +125,7 @@ sv:
       email_status: E-poststatus
       enable: Aktivera
       enabled: Aktiverad
+      enabled_msg: Uppfrysningen av %{username}'s konto lyckades
       followers: Följare
       follows: Följs
       header: Rubrik
@@ -139,11 +142,12 @@ sv:
       login_status: Inloggningsstatus
       media_attachments: Media bifogade filer
       memorialize: Förvandla till ett memoriam
+      memorialized: Memorialiserad
+      memorialized_msg: Omvandlingen av %{username} till ett minneskonto lyckades
       moderation:
         active: Aktiv
         all: Alla
         pending: Väntande
-        silenced: Tystas
         suspended: Avstängd
         title: Moderering
       moderation_notes: Moderation anteckning
@@ -160,7 +164,6 @@ sv:
       push_subscription_expires: PuSH-prenumerationen löper ut
       redownload: Uppdatera profil
       reject: Förkasta
-      reject_all: Förkasta allt / Avvisa alla
       remove_avatar: Ta bort avatar
       remove_header: Ta bort rubrik
       resend_confirmation:
@@ -191,10 +194,12 @@ sv:
       silence: Tystnad
       silenced: Tystad / Tystat
       statuses: Status
+      strikes: Föregående varningar
       subscribe: Prenumerera
       suspended: Avstängd / Avstängt
-      time_in_queue: Väntar i kö %{time}
       title: Konton
+      unblock_email: Avblockera e-postadress
+      unblocked_email_msg: "%{username}s e-postadress avblockerad"
       unconfirmed_email: Obekräftad E-postadress
       undo_silenced: Ångra tystnad
       undo_suspension: Ångra avstängning
@@ -206,6 +211,7 @@ sv:
       whitelisted: Vitlistad
     action_logs:
       action_types:
+        approve_user: Godkänn användare
         assigned_to_self_report: Tilldela anmälan
         change_email_user: Ändra e-post för användare
         confirm_user: Bekräfta användare
@@ -221,6 +227,7 @@ sv:
         destroy_custom_emoji: Radera egen emoji
         destroy_domain_allow: Ta bort tillåten domän
         destroy_domain_block: Ta bort blockerad domän
+        destroy_instance: Rensa domänen
         destroy_ip_block: Radera IP-regel
         destroy_status: Ta bort status
         destroy_unavailable_domain: Ta bort otillgänglig domän
@@ -231,6 +238,7 @@ sv:
         enable_user: Aktivera användare
         memorialize_account: Minnesmärk konto
         promote_user: Befordra användare
+        reject_user: Avvisa användare
         remove_avatar_user: Ta bort avatar
         reopen_report: Öppna rapporten igen
         reset_password_user: Återställ lösenord
@@ -238,6 +246,8 @@ sv:
         sensitive_account: Markera mediet i ditt konto som känsligt
         silence_account: Tysta konto
         suspend_account: Stäng av konto
+        unassigned_report: Återkalla rapport
+        unblock_email_account: Avblockera e-postadress
         unsuspend_account: Återaktivera konto
         update_announcement: Uppdatera meddelande
         update_custom_emoji: Uppdatera egna emojis
@@ -247,6 +257,7 @@ sv:
         create_account_warning_html: "%{name} skickade en varning till %{target}"
         create_announcement_html: "%{name} skapade tillkännagivande %{target}"
         create_custom_emoji_html: "%{name} laddade upp ny emoji %{target}"
+        create_domain_block_html: "%{name} blockerade domänen %{target}"
         destroy_custom_emoji_html: "%{name} förstörde emoji %{target}"
         destroy_domain_block_html: "%{name} avblockerade domänen %{target}"
         destroy_email_domain_block_html: "%{name} avblockerade e-postdomän %{target}"
@@ -326,9 +337,20 @@ sv:
       updated_msg: Emoji uppdaterades utan problem!
       upload: Ladda upp
     dashboard:
+      active_users: aktiva användare
+      interactions: interaktioner
+      media_storage: Medialagring
+      new_users: nya användare
+      pending_reports_html:
+        one: "<strong>1</strong> kommande rapport"
+        other: "<strong>%{count}</strong> kommande rapporter"
+      pending_users_html:
+        one: "<strong>1</strong> väntande användare"
+        other: "<strong>%{count}</strong> väntande användare"
       software: Programvara
       space: Utrymmesutnyttjande / Utrymmesanvändning
       title: Kontrollpanel
+      website: Hemsida
     domain_allows:
       add_new: Vitlistedomän
       created_msg: Domänen har vitlistats
@@ -445,8 +467,6 @@ sv:
         title: Skapa ny IP-regel
       no_ip_block_selected: Inga IP-regler ändrades då inga var valda
       title: IP-regler
-    pending_accounts:
-      title: Väntande konton (%{count})
     relationships:
       title: "%{acct}'s relationer"
     relays:
@@ -469,14 +489,12 @@ sv:
         notes:
           one: "%{count} anteckning"
           other: "%{count} anteckningar"
-        reports:
-          one: "%{count} rapport"
-          other: "%{count} rapporter"
       action_taken_by: Åtgärder vidtagna av
       are_you_sure: Är du säker?
       assign_to_self: Tilldela till mig
       assigned: Tilldelad moderator
       by_target_domain: Domän för rapporterat konto
+      category: Kategori
       comment:
         none: Ingen
       created_at: Anmäld
@@ -484,12 +502,14 @@ sv:
       forwarded_to: Vidarebefordrad till %{domain}
       mark_as_resolved: Markera som löst
       mark_as_unresolved: Markera som olöst
+      no_one_assigned: Ingen
       notes:
         create: Lägg till anteckning
         create_and_resolve: Lös med anteckning
         create_and_unresolve: Återuppta med anteckning
         delete: Radera
         placeholder: Beskriv vilka åtgärder som vidtagits eller andra uppdateringar till den här anmälan.
+        title: Anteckningar
       reopen: Återuppta anmälan
       report: 'Anmäl #%{id}'
       reported_account: Anmält konto
@@ -502,6 +522,7 @@ sv:
       unassign: Otilldela
       unresolved: Olösta
       updated_at: Uppdaterad
+      view_profile: Visa profil
     rules:
       add_new: Lägg till regel
       delete: Radera
@@ -593,32 +614,15 @@ sv:
       delete: Radera uppladdad fil
     statuses:
       back_to_account: Tillbaka till kontosidan
-      batch:
-        delete: Radera
-        nsfw_off: Markera som ej känslig
-        nsfw_on: Markera som känslig
       deleted: Raderad
-      failed_to_execute: Misslyckades att utföra
       media:
         title: Media
-      no_media: Ingen media
       title: Kontostatus
       with_media: med media
     system_checks:
       rules_check:
         action: Hantera serverregler
         message_html: Du har inte definierat några serverregler.
-    tags:
-      accounts_today: Unika användare idag
-      accounts_week: Unika användare den här veckan
-      last_active: Senast aktiv
-      most_popular: Mest populära
-      most_recent: Nyligen skapade
-      name: Hashtag
-      reviewed: Granskad
-      title: Hashtaggar
-      trending_right_now: Trenderar just nu
-      unreviewed: Ej granskad
     title: Administration
     warning_presets:
       add_new: Lägg till ny
@@ -634,6 +638,7 @@ sv:
   appearance:
     advanced_web_interface: Avancerat webbgränssnitt
     animations_and_accessibility: Animationer och tillgänglighet
+    confirmation_dialogs: Bekräftelsedialoger
     discovery: Upptäck
     localization:
       body: Mastodon översätts av volontärer.
@@ -669,6 +674,7 @@ sv:
     forgot_password: Glömt ditt lösenord?
     invalid_reset_password_token: Lösenordsåterställningstoken är ogiltig eller utgått. Vänligen be om en ny.
     link_to_otp: Ange en tvåfaktor-kod från din telefon eller en återställningskod
+    log_in_with: Logga in med
     login: Logga in
     logout: Logga ut
     migrate_account: Flytta till ett annat konto
@@ -685,8 +691,11 @@ sv:
     set_new_password: Skriv in nytt lösenord
     setup:
       email_settings_hint_html: Bekräftelsemeddelandet skickades till %{email}. Om den e-postadressen inte stämmer så kan du ändra den i kontoinställningarna.
+      title: Ställ in
     status:
       account_status: Kontostatus
+      confirming: Väntar på att e-postbekräftelsen ska slutföras.
+      functional: Ditt konto fungerar som det ska.
       redirecting_to: Ditt konto är inaktivt eftersom det för närvarande dirigeras om till %{acct}.
     too_fast: Formuläret har skickats för snabbt, försök igen.
     trouble_logging_in: Har du problem med att logga in?
@@ -748,7 +757,7 @@ sv:
   domain_validator:
     invalid_domain: är inte ett giltigt domännamn
   errors:
-    '400': The request you submitted was invalid or malformed.
+    '400': Förfrågningen som du skickade in var ogiltig eller felaktigt utformad.
     '403': Du har inte behörighet att visa den här sidan.
     '404': Sidan du letade efter existerar inte.
     '406': Den här sidan är inte tillgänglig i det förfrågade formatet.
@@ -811,25 +820,14 @@ sv:
     validation_errors:
       one: Något är inte riktigt rätt ännu! Kontrollera felet nedan
       other: Något är inte riktigt rätt ännu! Kontrollera dom %{count} felen nedan
-  identity_proofs:
-    active: Aktiv
-    authorize: Ja, autentisera
-    authorize_connection_prompt: Autentisera den här kryptografiska anslutningen?
-    errors:
-      failed: Den kryptografiska anslutningen misslyckades. Vänligen försök igen från %{provider}.
-    i_am_html: Jag är %{username} på %{service}.
-    identity: Identitet
-    inactive: Inaktiv
-    publicize_checkbox: 'Och tuta det här:'
-    publicize_toot: 'Det är bevisat! Jag är %{username} på %{service}: %{url}'
-    remove: Ta bort bevis från konto
-    status: Bekräftelse-status
-    view_proof: Visa bevis
   imports:
     errors:
       over_rows_processing_limit: innehåller fler än %{count} rader
     modes:
+      merge: Slå ihop
+      merge_long: Behåll befintliga uppgifter och lägg till nya
       overwrite: Skriv över
+      overwrite_long: Ersätt de nuvarande uppgifterna med de nya
     preface: Du kan importera data som du exporterat från en annan instans, till exempel en lista över personer du följer eller blockerar.
     success: Dina uppgifter har laddats upp och kommer nu att behandlas snarast
     types:
@@ -867,6 +865,7 @@ sv:
   login_activities:
     authentication_methods:
       password: lösenord
+      sign_in_token: säkerhetskod för e-post
       webauthn: säkerhetsnycklar
     description_html: Om du ser aktivitet som du inte känner igen, överväg att byta ditt lösenord och aktivera tvåfaktor-autentisering.
   media_attachments:
@@ -883,6 +882,7 @@ sv:
       move_to_self: kan inte vara nuvarande konto
       not_found: kunde inte hittas
       on_cooldown: Du är på nerkylning
+    followers_count: Följare vid tidpunkten för flytten
     incoming_migrations: Flyttar från ett annat konto
     incoming_migrations_html: För att flytta från ett annat konto till det här så behöver du först <a href="%{path}">skapa ett konto-alias</a>.
     moved_msg: Ditt konto omdirigerar nu till %{acct} och dina följare flyttas över.
@@ -894,6 +894,7 @@ sv:
     redirecting_to: Ditt konto omdirigerar till %{acct}.
     set_redirect: Konfigurera omdirigering
     warning:
+      backreference_required: Det nya kontot måste först vara konfigurerat till att bakåt-referera till det här
       before: 'Vänligen läs dessa anteckningar noggrant innan du fortsätter:'
       followers: Den här åtgärden kommer att flytta alla följare från det nuvarande kontot till det nya kontot
       other_data: Ingen annan data kommer att flyttas automatiskt
@@ -957,7 +958,9 @@ sv:
           trillion: T
   otp_authentication:
     enable: Aktivera
+    instructions_html: "<strong>Skanna den här QR-koden i Google Authenticator eller en liknande TOTP-app i din telefon</strong>. Från och med nu så kommer den appen att generera symboler som du måste skriva in när du ska logga in."
     setup: Konfigurera
+    wrong_code: Den ifyllda koden är ogiltig! Är server-tiden och enhetens tid korrekt?
   pagination:
     newer: Nyare
     next: Nästa
@@ -967,6 +970,7 @@ sv:
   polls:
     errors:
       already_voted: Du har redan röstat på den här undersökningen
+      duplicate_options: innehåller dublett-objekt
       duration_too_long: är för långt in i framtiden
       duration_too_short: är för tidigt
       expired: Undersökningen har redan avslutats
@@ -1060,7 +1064,6 @@ sv:
     development: Utveckling
     edit_profile: Redigera profil
     export: Exportera data
-    identity_proofs: Identifiera bevisen
     import: Importera
     import_and_export: Import och export
     migrate: Kontoflytt
@@ -1085,18 +1088,19 @@ sv:
         other: "%{count} videor"
     boosted_from_html: Boosted från %{acct_link}
     content_warning: 'Innehållsvarning: %{warning}'
+    default_language: Samma som användargränssnittet
     disallowed_hashtags:
       one: 'innehöll en otillåten hashtag: %{tags}'
       other: 'innehöll de otillåtna hashtagarna: %{tags}'
+    edited_at: 'Ändrad: %{date}'
     errors:
       in_reply_not_found: Statusen du försöker svara på existerar inte.
-    language_detection: Lista ut språk automatiskt
     open_in_web: Öppna på webben
     over_character_limit: teckengräns på %{max} har överskridits
     pin_errors:
+      direct: Inlägg som endast är synliga för nämnda användare kan inte fästas
       limit: Du har redan fäst det maximala antalet toots
       ownership: Någon annans toot kan inte fästas
-      private: Icke-offentliga toot kan inte fästas
       reblog: Knuffar kan inte fästas
     poll:
       total_people:
@@ -1124,6 +1128,7 @@ sv:
     enabled: Ta automatiskt bort gamla inlägg
     exceptions: Undantag
     ignore_favs: Bortse från favoriter
+    interaction_exceptions: Undantag baserat på interaktioner
     keep_direct: Behåll direktmeddelanden
     keep_direct_hint: Tar inte bort någon av dina direktmeddelanden
     keep_media: Behåll inlägg med media-bilagor
@@ -1241,6 +1246,7 @@ sv:
     formats:
       default: "%b %d, %Y, %H:%M"
       month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Lägg till
     disable: Inaktivera
@@ -1265,7 +1271,7 @@ sv:
       further_actions: 'Om det inte var du, vänligen ändra ditt lösenord och aktivera tvåfaktor-autentisering i ditt konto. Du kan göra det här:'
       title: Inloggningsförsök
     warning:
-      statuses: 'Specifikt för:'
+      reason: 'Anledning:'
       subject:
         disable: Ditt konto %{acct} har blivit fruset
         none: Varning för %{acct}
@@ -1274,7 +1280,6 @@ sv:
       title:
         disable: Kontot fruset
         none: Varning
-        sensitive: Ditt media har blivit markerat som känsligt
         silence: Kontot begränsat
         suspend: Kontot avstängt
     welcome:
diff --git a/config/locales/ta.yml b/config/locales/ta.yml
index b6c407388..40a915728 100644
--- a/config/locales/ta.yml
+++ b/config/locales/ta.yml
@@ -82,7 +82,6 @@ ta:
     accounts:
       add_email_domain_block: இம்மின்னஞ்சல் களத்தைத் தடுப்புப்பட்டியலில் சேர்
       approve: அங்கீகரி
-      approve_all: அனைத்தும் அங்கீகரி
       are_you_sure: நிச்சயமா?
       avatar: அவதாரம்
       by_domain: தளம்
@@ -126,7 +125,6 @@ ta:
         active: அனுமதிக்கப்பட்டுள்ளது
         all: அனைத்தும்
         pending: நிலுவையில் உள்ளது
-        silenced: தடுக்கப்பட்டுள்ளது
         suspended: இடைநீக்கப்பட்டது
         title: மிதமானர்
       moderation_notes: நடுவர் கருத்து
@@ -139,7 +137,6 @@ ta:
       protocol: நெறிமுறை
       public: பொது
       reject: விலக்கு
-      reject_all: அனைத்தையும் மறு
       remove_avatar: அவதாரத்தை நீக்குக
       resend_confirmation:
         already_confirmed: இப்பயனர் ஏற்கனவே  உறுதி  படுத்திவிட்டார்
@@ -161,7 +158,6 @@ ta:
       silenced: அணைக்கப்பட்டது
       statuses: பதிவுகள்
       suspended: இடைநீக்கப்பட்டது
-      time_in_queue: வரிசையில் காத்திருக்கிறது %{time}
       title: கணக்குகள்
       username: பயனர் பெயர்
       warn: எச்சரி
@@ -249,9 +245,6 @@ ta:
         notes:
           one: "%{count} குறிப்பு"
           other: "%{count} குறிப்புகள்"
-        reports:
-          one: "%{count} புகார்"
-          other: "%{count} புகார்கள்"
       comment:
         none: எதுவுமில்லை
     site_uploads:
@@ -284,9 +277,6 @@ ta:
       empty: தடுப்புகள் ஏதும் இல்லை.
   generic:
     delete: நீக்கு
-  identity_proofs:
-    remove: ஆதாரத்தைக் கணக்கிலிருந்து நீக்கு
-    removed: ஆதாரம் கணக்கிலிருந்து வெற்றிகரமாக நீக்கப்பட்டது
   media_attachments:
     validations:
       not_ready: பதிவேற்றம் முடிவடையாத கோப்புகளை இணைக்க முடியாது. சிறிது நேரம் கழித்து மீண்டும் முயற்சி செய்யவும்!
diff --git a/config/locales/te.yml b/config/locales/te.yml
index 2030f02b7..08284b027 100644
--- a/config/locales/te.yml
+++ b/config/locales/te.yml
@@ -99,7 +99,6 @@ te:
       moderation:
         active: యాక్టివ్
         all: అన్నీ
-        silenced: నిశ్శబ్ధం చేయబడింది
         suspended: నిషేధించబడింది
         title: మోడరేషన్
       moderation_notes: మోడరేషన్ నోట్స్
diff --git a/config/locales/th.yml b/config/locales/th.yml
index 8ef8cfda4..6745e015a 100644
--- a/config/locales/th.yml
+++ b/config/locales/th.yml
@@ -1,7 +1,7 @@
 ---
 th:
   about:
-    about_hashtag_html: มีการแท็กโพสต์สาธารณะเหล่านี้ด้วย <strong>#%{hashtag}</strong> คุณสามารถโต้ตอบกับโพสต์ได้หากคุณมีบัญชีที่ใดก็ตามในเฟดิเวิร์ส
+    about_hashtag_html: มีการแท็กโพสต์สาธารณะเหล่านี้ด้วย <strong>#%{hashtag}</strong> คุณสามารถโต้ตอบกับโพสต์ได้หากคุณมีบัญชีที่ใดก็ตามในจักรวาลสหพันธ์
     about_mastodon_html: 'เครือข่ายสังคมแห่งอนาคต: ไม่มีโฆษณา ไม่มีการสอดแนมโดยองค์กร การออกแบบตามหลักจริยธรรม และการกระจายศูนย์! เป็นเจ้าของข้อมูลของคุณด้วย Mastodon!'
     about_this: เกี่ยวกับ
     active_count_after: ใช้งานอยู่
@@ -24,6 +24,7 @@ th:
     learn_more: เรียนรู้เพิ่มเติม
     privacy_policy: นโยบายความเป็นส่วนตัว
     rules: กฎของเซิร์ฟเวอร์
+    rules_html: 'ด้านล่างคือข้อมูลสรุปของกฎที่คุณจำเป็นต้องปฏิบัติตามหากคุณต้องการมีบัญชีในเซิร์ฟเวอร์ Mastodon นี้:'
     see_whats_happening: ดูสิ่งที่กำลังเกิดขึ้น
     server_stats: 'สถิติเซิร์ฟเวอร์:'
     source_code: โค้ดต้นฉบับ
@@ -48,6 +49,7 @@ th:
     what_is_mastodon: Mastodon คืออะไร?
   accounts:
     choices_html: 'ตัวเลือกของ %{name}:'
+    featured_tags_hint: คุณสามารถแนะนำแฮชแท็กที่เฉพาะเจาะจงที่จะแสดงที่นี่
     follow: ติดตาม
     followers:
       other: ผู้ติดตาม
@@ -85,7 +87,6 @@ th:
     accounts:
       add_email_domain_block: ปิดกั้นโดเมนอีเมล
       approve: อนุมัติ
-      approve_all: อนุมัติทั้งหมด
       approved_msg: อนุมัติใบสมัครลงทะเบียนของ %{username} สำเร็จ
       are_you_sure: คุณแน่ใจหรือไม่?
       avatar: ภาพประจำตัว
@@ -100,9 +101,11 @@ th:
       confirm: ยืนยัน
       confirmed: ยืนยันแล้ว
       confirming: กำลังยืนยัน
+      custom: กำหนดเอง
       delete: ลบข้อมูล
       deleted: ลบแล้ว
       demote: ลดขั้น
+      destroyed_msg: ตอนนี้จัดคิวเพื่อลบข้อมูลของ %{username} ในเร็ว ๆ นี้แล้ว
       disable: อายัด
       disable_sign_in_token_auth: ปิดใช้งานการรับรองความถูกต้องด้วยโทเคนอีเมล
       disable_two_factor_authentication: ปิดใช้งาน 2FA
@@ -138,13 +141,13 @@ th:
         active: ใช้งานอยู่
         all: ทั้งหมด
         pending: รอดำเนินการ
-        silenced: จำกัดอยู่
         suspended: ระงับอยู่
         title: การควบคุม
       moderation_notes: หมายเหตุการควบคุม
       most_recent_activity: กิจกรรมล่าสุด
       most_recent_ip: IP ล่าสุด
-      no_limits_imposed: ไม่ได้กำหนดขีดจำกัด
+      no_account_selected: ไม่มีการเปลี่ยนแปลงบัญชีเนื่องจากไม่มีการเลือก
+      no_limits_imposed: ไม่มีการกำหนดขีดจำกัด
       not_subscribed: ไม่ได้บอกรับ
       pending: การตรวจทานที่รอดำเนินการ
       perform_full_suspension: ระงับ
@@ -155,7 +158,6 @@ th:
       redownload: รีเฟรชโปรไฟล์
       redownloaded_msg: รีเฟรชโปรไฟล์ของ %{username} จากจุดเริ่มต้นสำเร็จ
       reject: ปฏิเสธ
-      reject_all: ปฏิเสธทั้งหมด
       rejected_msg: ปฏิเสธใบสมัครลงทะเบียนของ %{username} สำเร็จ
       remove_avatar: เอาภาพประจำตัวออก
       remove_header: เอาส่วนหัวออก
@@ -191,8 +193,9 @@ th:
       statuses: โพสต์
       subscribe: บอกรับ
       suspended: ระงับอยู่
-      time_in_queue: กำลังรออยู่ในคิว %{time}
       title: บัญชี
+      unblock_email: เลิกปิดกั้นที่อยู่อีเมล
+      unblocked_email_msg: เลิกปิดกั้นที่อยู่อีเมลของ %{username} สำเร็จ
       unconfirmed_email: อีเมลที่ยังไม่ได้ยืนยัน
       undo_sensitized: เลิกทำการบังคับให้ละเอียดอ่อน
       undo_silenced: เลิกทำการจำกัด
@@ -207,6 +210,7 @@ th:
       whitelisted: อนุญาตการติดต่อกับภายนอกแล้ว
     action_logs:
       action_types:
+        approve_user: อนุมัติผู้ใช้
         assigned_to_self_report: มอบหมายรายงาน
         change_email_user: เปลี่ยนอีเมลสำหรับผู้ใช้
         confirm_user: ยืนยันผู้ใช้
@@ -224,6 +228,7 @@ th:
         destroy_domain_allow: ลบการอนุญาตโดเมน
         destroy_domain_block: ลบการปิดกั้นโดเมน
         destroy_email_domain_block: ลบการปิดกั้นโดเมนอีเมล
+        destroy_instance: ล้างข้อมูลโดเมน
         destroy_ip_block: ลบกฎ IP
         destroy_status: ลบโพสต์
         destroy_unavailable_domain: ลบโดเมนที่ไม่พร้อมใช้งาน
@@ -236,6 +241,7 @@ th:
         enable_user: เปิดใช้งานผู้ใช้
         memorialize_account: ทำให้บัญชีเป็นอนุสรณ์
         promote_user: เลื่อนขั้นผู้ใช้
+        reject_user: ปฏิเสธผู้ใช้
         remove_avatar_user: เอาภาพประจำตัวออก
         reopen_report: เปิดรายงานใหม่
         reset_password_user: ตั้งรหัสผ่านใหม่
@@ -244,6 +250,7 @@ th:
         silence_account: จำกัดบัญชี
         suspend_account: ระงับบัญชี
         unassigned_report: เลิกมอบหมายรายงาน
+        unblock_email_account: เลิกปิดกั้นที่อยู่อีเมล
         unsensitive_account: เลิกทำการบังคับให้บัญชีละเอียดอ่อน
         unsilence_account: เลิกทำการจำกัดบัญชี
         unsuspend_account: เลิกระงับบัญชี
@@ -252,6 +259,7 @@ th:
         update_domain_block: อัปเดตการปิดกั้นโดเมน
         update_status: อัปเดตโพสต์
       actions:
+        approve_user_html: "%{name} ได้อนุมัติการลงทะเบียนจาก %{target}"
         assigned_to_self_report_html: "%{name} ได้มอบหมายรายงาน %{target} ให้กับตนเอง"
         change_email_user_html: "%{name} ได้เปลี่ยนที่อยู่อีเมลของผู้ใช้ %{target}"
         confirm_user_html: "%{name} ได้ยืนยันที่อยู่อีเมลของผู้ใช้ %{target}"
@@ -269,6 +277,7 @@ th:
         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} ออก"
         disable_2fa_user_html: "%{name} ได้ปิดใช้งานความต้องการสองปัจจัยสำหรับผู้ใช้ %{target}"
@@ -280,6 +289,7 @@ th:
         enable_user_html: "%{name} ได้เปิดใช้งานการเข้าสู่ระบบสำหรับผู้ใช้ %{target}"
         memorialize_account_html: "%{name} ได้เปลี่ยนบัญชีของ %{target} เป็นหน้าอนุสรณ์"
         promote_user_html: "%{name} ได้เลื่อนขั้นผู้ใช้ %{target}"
+        reject_user_html: "%{name} ได้ปฏิเสธการลงทะเบียนจาก %{target}"
         remove_avatar_user_html: "%{name} ได้เอาภาพประจำตัวของ %{target} ออก"
         reopen_report_html: "%{name} ได้เปิดรายงาน %{target} ใหม่"
         reset_password_user_html: "%{name} ได้ตั้งรหัสผ่านของผู้ใช้ %{target} ใหม่"
@@ -288,6 +298,7 @@ th:
         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}"
@@ -351,9 +362,25 @@ th:
       updated_msg: อัปเดตอีโมจิสำเร็จ!
       upload: อัปโหลด
     dashboard:
+      active_users: ผู้ใช้ที่ใช้งานอยู่
+      interactions: การโต้ตอบ
+      media_storage: ที่เก็บข้อมูลสื่อ
+      new_users: ผู้ใช้ใหม่
+      opened_reports: รายงานที่เปิด
+      pending_reports_html:
+        other: "<strong>%{count}</strong> รายงานที่รอดำเนินการ"
+      pending_tags_html:
+        other: "<strong>%{count}</strong> แฮชแท็กที่รอดำเนินการ"
+      pending_users_html:
+        other: "<strong>%{count}</strong> ผู้ใช้ที่รอดำเนินการ"
+      resolved_reports: รายงานที่แก้ปัญหาแล้ว
       software: ซอฟต์แวร์
+      sources: แหล่งที่มาการลงทะเบียน
       space: การใช้พื้นที่
       title: แดชบอร์ด
+      top_languages: ภาษาที่ใช้งานอยู่สูงสุด
+      top_servers: เซิร์ฟเวอร์ที่ใช้งานอยู่สูงสุด
+      website: เว็บไซต์
     domain_allows:
       add_new: อนุญาตการติดต่อกับภายนอกกับโดเมน
       created_msg: อนุญาตการติดต่อกับภายนอกกับโดเมนสำเร็จ
@@ -367,7 +394,7 @@ th:
       edit: แก้ไขการปิดกั้นโดเมน
       new:
         create: สร้างการปิดกั้น
-        hint: การปิดกั้นโดเมนจะไม่ป้องกันการสร้างรายการบัญชีในฐานข้อมูล แต่จะใช้วิธีการควบคุมเฉพาะกับบัญชีเหล่านั้นย้อนหลังและโดยอัตโนมัติ
+        hint: การปิดกั้นโดเมนจะไม่ป้องกันการสร้างรายการบัญชีในฐานข้อมูล แต่จะใช้วิธีการควบคุมที่เฉพาะเจาะจงกับบัญชีเหล่านั้นย้อนหลังและโดยอัตโนมัติ
         severity:
           desc_html: "<strong>ทำให้เงียบ</strong> จะทำให้โพสต์ของบัญชีไม่ปรากฏแก่ใครก็ตามที่ไม่ได้กำลังติดตามบัญชี <strong>ระงับ</strong> จะเอาเนื้อหา, สื่อ และข้อมูลโปรไฟล์ทั้งหมดของบัญชีออก ใช้ <strong>ไม่มี</strong> หากคุณเพียงแค่ต้องการปฏิเสธไฟล์สื่อ"
           noop: ไม่มี
@@ -419,6 +446,7 @@ th:
       back_to_limited: จำกัดอยู่
       back_to_warning: คำเตือน
       by_domain: โดเมน
+      confirm_purge: คุณแน่ใจหรือไม่ว่าต้องการลบข้อมูลจากโดเมนนี้อย่างถาวร?
       delivery:
         all: ทั้งหมด
         clear: ล้างข้อผิดพลาดการจัดส่ง
@@ -439,6 +467,7 @@ th:
         title: การควบคุม
       private_comment: ความคิดเห็นส่วนตัว
       public_comment: ความคิดเห็นสาธารณะ
+      purge: ล้างข้อมูล
       title: การติดต่อกับภายนอก
       total_blocked_by_us: ปิดกั้นโดยเรา
       total_followed_by_them: ติดตามโดยเขา
@@ -466,9 +495,8 @@ th:
         '94670856': 3 ปี
       new:
         title: สร้างกฎ IP ใหม่
+      no_ip_block_selected: ไม่มีการเปลี่ยนแปลงกฎ IP เนื่องจากไม่มีการเลือก
       title: กฎ IP
-    pending_accounts:
-      title: บัญชีที่รอดำเนินการ (%{count})
     relationships:
       title: ความสัมพันธ์ของ %{acct}
     relays:
@@ -488,28 +516,32 @@ th:
     report_notes:
       created_msg: สร้างหมายเหตุรายงานสำเร็จ!
       destroyed_msg: ลบหมายเหตุรายงานสำเร็จ!
+      today_at: วันนี้เวลา %{time}
     reports:
       account:
         notes:
           other: "%{count} หมายเหตุ"
-        reports:
-          other: "%{count} รายงาน"
+      action_log: รายการบันทึกการตรวจสอบ
       are_you_sure: คุณแน่ใจหรือไม่?
       assign_to_self: มอบหมายให้ฉัน
       assigned: ผู้ควบคุมที่ได้รับมอบหมาย
       by_target_domain: โดเมนของบัญชีที่ได้รับการรายงาน
+      category: หมวดหมู่
       comment:
         none: ไม่มี
       created_at: รายงานเมื่อ
+      delete_and_resolve: ลบแล้วแก้ปัญหา
       forwarded: ส่งต่อแล้ว
       forwarded_to: ส่งต่อไปยัง %{domain} แล้ว
       mark_as_resolved: ทำเครื่องหมายว่าแก้ปัญหาแล้ว
       mark_as_unresolved: ทำเครื่องหมายว่ายังไม่ได้แก้ปัญหา
+      no_one_assigned: ไม่มีใคร
       notes:
         create: เพิ่มหมายเหตุ
         create_and_resolve: แก้ปัญหาโดยมีหมายเหตุ
         create_and_unresolve: เปิดใหม่โดยมีหมายเหตุ
         delete: ลบ
+        title: หมายเหตุ
       reopen: เปิดรายงานใหม่
       report: 'รายงาน #%{id}'
       reported_account: บัญชีที่ได้รับการรายงาน
@@ -517,11 +549,13 @@ th:
       resolved: แก้ปัญหาแล้ว
       resolved_msg: แก้ปัญหารายงานสำเร็จ!
       status: สถานะ
+      statuses: เนื้อหาที่รายงาน
       target_origin: จุดเริ่มต้นของบัญชีที่ได้รับการรายงาน
       title: รายงาน
       unassign: เลิกมอบหมาย
       unresolved: ยังไม่ได้แก้ปัญหา
       updated_at: อัปเดตเมื่อ
+      view_profile: ดูโปรไฟล์
     rules:
       add_new: เพิ่มกฎ
       delete: ลบ
@@ -557,7 +591,7 @@ th:
         desc_html: แสดงในหลายหน้า อย่างน้อย 293×205px ที่แนะนำ เมื่อไม่ได้ตั้ง กลับไปใช้มาสคอตเริ่มต้น
         title: ภาพมาสคอต
       peers_api_enabled:
-        desc_html: ชื่อโดเมนที่เซิร์ฟเวอร์นี้ได้พบในเฟดิเวิร์ส
+        desc_html: ชื่อโดเมนที่เซิร์ฟเวอร์นี้ได้พบในจักรวาลสหพันธ์
         title: เผยแพร่รายการเซิร์ฟเวอร์ที่ค้นพบใน API
       preview_sensitive_media:
         desc_html: การแสดงตัวอย่างลิงก์ในเว็บไซต์อื่น ๆ จะแสดงภาพขนาดย่อแม้ว่าจะมีการทำเครื่องหมายสื่อว่าละเอียดอ่อน
@@ -613,22 +647,21 @@ th:
         desc_html: มีผลต่อแฮชแท็กที่ไม่ได้ไม่อนุญาตก่อนหน้านี้
         title: อนุญาตให้แฮชแท็กขึ้นแนวโน้มโดยไม่มีการตรวจทานล่วงหน้า
       trends:
-        desc_html: แสดงแฮชแท็กที่ตรวจทานแล้วก่อนหน้านี้ที่กำลังนิยมเป็นสาธารณะ
-        title: แฮชแท็กที่กำลังนิยม
+        desc_html: แสดงเนื้อหาที่ตรวจทานแล้วก่อนหน้านี้ที่กำลังนิยมเป็นสาธารณะ
+        title: แนวโน้ม
     site_uploads:
       delete: ลบไฟล์ที่อัปโหลด
       destroyed_msg: ลบการอัปโหลดไซต์สำเร็จ!
     statuses:
       back_to_account: กลับไปที่หน้าบัญชี
+      back_to_report: กลับไปที่หน้ารายงาน
       batch:
-        delete: ลบ
-        nsfw_off: ทำเครื่องหมายว่าไม่ละเอียดอ่อน
-        nsfw_on: ทำเครื่องหมายว่าละเอียดอ่อน
+        remove_from_report: เอาออกจากรายงาน
+        report: รายงาน
       deleted: ลบแล้ว
-      failed_to_execute: ไม่สามารถปฏิบัติการ
       media:
         title: สื่อ
-      no_media: ไม่มีสื่อ
+      no_status_selected: ไม่มีการเปลี่ยนแปลงโพสต์เนื่องจากไม่มีการเลือก
       title: โพสต์ของบัญชี
       with_media: มีสื่อ
     system_checks:
@@ -638,21 +671,48 @@ th:
       sidekiq_process_check:
         message_html: ไม่มีกระบวนการ Sidekiq ที่กำลังทำงานสำหรับคิว %{value} โปรดตรวจทานการกำหนดค่า Sidekiq ของคุณ
     tags:
-      accounts_today: การใช้งานที่ไม่ซ้ำกันในวันนี้
-      accounts_week: การใช้งานที่ไม่ซ้ำกันในสัปดาห์นี้
-      breakdown: การแบ่งการใช้งานของวันนี้ตามแหล่งที่มา
-      last_active: ใช้งานล่าสุด
-      most_popular: ยอดนิยม
-      most_recent: สร้างล่าสุด
-      name: แฮชแท็ก
       review: สถานะการตรวจทาน
-      reviewed: ตรวจทานแล้ว
-      title: แฮชแท็ก
-      trending_right_now: กำลังนิยม
-      unique_uses_today: "%{count} การโพสต์วันนี้"
-      unreviewed: ยังไม่ได้ตรวจทาน
       updated_msg: อัปเดตการตั้งค่าแฮชแท็กสำเร็จ
     title: การดูแล
+    trends:
+      allow: อนุญาต
+      approved: อนุมัติแล้ว
+      disallow: ไม่อนุญาต
+      links:
+        allow: อนุญาตลิงก์
+        allow_provider: อนุญาตผู้เผยแพร่
+        disallow: ไม่อนุญาตลิงก์
+        disallow_provider: ไม่อนุญาตผู้เผยแพร่
+        shared_by_over_week:
+          other: แบ่งปันโดย %{count} คนในช่วงสัปดาห์ที่ผ่านมา
+        title: ลิงก์ที่กำลังนิยม
+        usage_comparison: แบ่งปัน %{today} ครั้งวันนี้ เทียบกับ %{yesterday} เมื่อวานนี้
+      pending_review: การตรวจทานที่รอดำเนินการ
+      preview_card_providers:
+        allowed: ลิงก์จากผู้เผยแพร่นี้สามารถขึ้นแนวโน้ม
+        rejected: ลิงก์จากผู้เผยแพร่นี้จะไม่ขึ้นแนวโน้ม
+        title: ผู้เผยแพร่
+      rejected: ปฏิเสธแล้ว
+      tags:
+        current_score: คะแนนปัจจุบัน %{score}
+        dashboard:
+          tag_accounts_measure: การใช้งานที่ไม่ซ้ำกัน
+          tag_languages_dimension: ภาษายอดนิยม
+          tag_servers_dimension: เซิร์ฟเวอร์ยอดนิยม
+          tag_servers_measure: เซิร์ฟเวอร์อื่น
+          tag_uses_measure: การใช้งานทั้งหมด
+        listable: สามารถแนะนำ
+        not_listable: จะไม่แนะนำ
+        not_trendable: จะไม่ปรากฏภายใต้แนวโน้ม
+        not_usable: ไม่สามารถใช้
+        title: แฮชแท็กที่กำลังนิยม
+        trendable: สามารถปรากฏภายใต้แนวโน้ม
+        trending_rank: 'กำลังนิยม #%{rank}'
+        usable: สามารถใช้
+        usage_comparison: ใช้ %{today} ครั้งวันนี้ เทียบกับ %{yesterday} เมื่อวานนี้
+        used_by_over_week:
+          other: ใช้โดย %{count} คนในช่วงสัปดาห์ที่ผ่านมา
+      title: แนวโน้ม
     warning_presets:
       add_new: เพิ่มใหม่
       delete: ลบ
@@ -666,8 +726,15 @@ th:
       body: "%{reporter} ได้รายงาน %{target}"
       body_remote: ใครสักคนจาก %{domain} ได้รายงาน %{target}
       subject: รายงานใหม่สำหรับ %{instance} (#%{id})
+    new_trending_links:
+      no_approved_links: ไม่มีลิงก์ที่กำลังนิยมที่ได้รับอนุมัติ
+      subject: ลิงก์ที่กำลังนิยมใหม่สำหรับตรวจทานใน %{instance}
+    new_trending_tags:
+      no_approved_tags: ไม่มีแฮชแท็กที่กำลังนิยมที่ได้รับอนุมัติ
+      subject: แฮชแท็กที่กำลังนิยมใหม่สำหรับตรวจทานใน %{instance}
   aliases:
     add_new: สร้างนามแฝง
+    created_msg: สร้างนามแฝงใหม่สำเร็จ ตอนนี้คุณสามารถทำการย้ายจากบัญชีเก่า
     deleted_msg: เอานามแฝงออกสำเร็จ จะไม่สามารถย้ายจากบัญชีนั้นไปยังบัญชีนี้ได้อีกต่อไป
     empty: คุณไม่มีนามแฝง
     remove: เลิกเชื่อมโยงนามแฝง
@@ -695,6 +762,7 @@ th:
     invalid_url: URL ที่ระบุไม่ถูกต้อง
     regenerate_token: สร้างโทเคนการเข้าถึงใหม่
     token_regenerated: สร้างโทเคนการเข้าถึงใหม่สำเร็จ
+    warning: ระวังเป็นอย่างสูงกับข้อมูลนี้ อย่าแบ่งปันข้อมูลกับใครก็ตาม!
     your_token: โทเคนการเข้าถึงของคุณ
   auth:
     apply_for_account: ขอคำเชิญ
@@ -713,6 +781,7 @@ th:
     invalid_reset_password_token: โทเคนการตั้งรหัสผ่านใหม่ไม่ถูกต้องหรือหมดอายุแล้ว โปรดขอโทเคนใหม่
     link_to_otp: ป้อนรหัสสองปัจจัยจากโทรศัพท์ของคุณหรือรหัสกู้คืน
     link_to_webauth: ใช้อุปกรณ์กุญแจความปลอดภัยของคุณ
+    log_in_with: เข้าสู่ระบบด้วย
     login: เข้าสู่ระบบ
     logout: ออกจากระบบ
     migrate_account: ย้ายไปยังบัญชีอื่น
@@ -734,12 +803,14 @@ th:
       account_status: สถานะบัญชี
       confirming: กำลังรอการยืนยันอีเมลให้เสร็จสมบูรณ์
       functional: บัญชีของคุณทำงานได้อย่างเต็มที่
+      pending: ใบสมัครของคุณกำลังรอดำเนินการตรวจทานโดยพนักงานของเรา นี่อาจใช้เวลาสักครู่ คุณจะได้รับอีเมลหากใบสมัครของคุณได้รับการอนุมัติ
     too_fast: ส่งแบบฟอร์มเร็วเกินไป ลองอีกครั้ง
     trouble_logging_in: มีปัญหาในการเข้าสู่ระบบ?
     use_security_key: ใช้กุญแจความปลอดภัย
   authorize_follow:
     already_following: คุณกำลังติดตามบัญชีนี้อยู่แล้ว
     already_requested: คุณได้ส่งคำขอติดตามไปยังบัญชีนั้นไปแล้ว
+    error: น่าเสียดาย มีข้อผิดพลาดในการค้นหาบัญชีระยะไกล
     follow: ติดตาม
     follow_request: 'คุณได้ส่งคำขอติดตามไปยัง:'
     following: 'สำเร็จ! คุณกำลังติดตาม:'
@@ -781,6 +852,7 @@ th:
     proceed: ลบบัญชี
     success_msg: ลบบัญชีของคุณสำเร็จ
     warning:
+      before: 'ก่อนดำเนินการต่อ โปรดอ่านหมายเหตุเหล่านี้อย่างระมัดระวัง:'
       caches: เนื้อหาที่ได้รับการแคชโดยเซิร์ฟเวอร์อื่น ๆ อาจยังคงอยู่
       data_removal: จะเอาโพสต์และข้อมูลอื่น ๆ ของคุณออกโดยถาวร
       email_change_html: คุณสามารถ <a href="%{path}">เปลี่ยนที่อยู่อีเมลของคุณ</a> ได้โดยไม่ต้องลบบัญชีของคุณ
@@ -799,7 +871,7 @@ th:
     '400': คำขอที่คุณได้ส่งไม่ถูกต้องหรือผิดรูปแบบ
     '403': คุณไม่มีสิทธิอนุญาตเพื่อดูหน้านี้
     '404': หน้าที่คุณกำลังมองหาไม่ได้อยู่ที่นี่
-    '406': This page is not available in the requested format.
+    '406': หน้านี้ไม่พร้อมใช้งานในรูปแบบที่ขอ
     '410': ไม่มีหน้าที่คุณกำลังมองหาอยู่ที่นี่อีกต่อไป
     '422':
       content: การตรวจสอบความปลอดภัยล้มเหลว คุณกำลังปิดกั้นคุกกี้หรือไม่?
@@ -808,7 +880,7 @@ th:
     '500':
       content: เราขออภัย แต่มีบางอย่างผิดพลาดในส่วนของเรา
       title: หน้านี้ไม่ถูกต้อง
-    '503': The page could not be served due to a temporary server failure.
+    '503': ไม่สามารถให้บริการหน้าได้เนื่องจากเซิร์ฟเวอร์ล้มเหลวชั่วคราว
   existing_username_validator:
     not_found: ไม่พบผู้ใช้ในเซิร์ฟเวอร์ที่มีชื่อผู้ใช้นั้น
     not_found_multiple: ไม่พบ %{usernames}
@@ -854,25 +926,14 @@ th:
     changes_saved_msg: บันทึกการเปลี่ยนแปลงสำเร็จ!
     copy: คัดลอก
     delete: ลบ
+    none: ไม่มี
     order_by: เรียงลำดับตาม
     save_changes: บันทึกการเปลี่ยนแปลง
+    today: วันนี้
+    validation_errors:
+      other: ยังมีบางอย่างไม่ถูกต้อง! โปรดตรวจทาน %{count} ข้อผิดพลาดด้านล่าง
   html_validator:
     invalid_markup: 'มีมาร์กอัป HTML ที่ไม่ถูกต้อง: %{error}'
-  identity_proofs:
-    active: ใช้งานอยู่
-    authorize: ใช่ อนุญาต
-    authorize_connection_prompt: อนุญาตการเชื่อมต่อการเข้ารหัสนี้?
-    errors:
-      failed: การเชื่อมต่อการเข้ารหัสล้มเหลว โปรดลองอีกครั้งจาก %{provider}
-    i_am_html: ฉันคือ %{username} ใน %{service}
-    identity: ตัวตน
-    inactive: ไม่ได้ใช้งาน
-    publicize_checkbox: 'และโพสต์สิ่งนี้:'
-    publicize_toot: 'พิสูจน์ตัวตนแล้ว! ฉันคือ %{username} ใน %{service}: %{url}'
-    remove: เอาการพิสูจน์ออกจากบัญชี
-    removed: เอาการพิสูจน์ออกจากบัญชีสำเร็จ
-    status: สถานะการตรวจสอบ
-    view_proof: ดูการพิสูจน์
   imports:
     errors:
       over_rows_processing_limit: มีมากกว่า %{count} แถว
@@ -904,12 +965,12 @@ th:
     generate: สร้างลิงก์เชิญ
     invited_by: 'คุณได้รับเชิญโดย:'
     max_uses:
-      other: "%{count} การใช้"
+      other: "%{count} การใช้งาน"
     max_uses_prompt: ไม่มีขีดจำกัด
     prompt: สร้างและแบ่งปันลิงก์กับผู้อื่นเพื่ออนุญาตให้เข้าถึงเซิร์ฟเวอร์นี้
     table:
       expires_at: หมดอายุเมื่อ
-      uses: การใช้
+      uses: การใช้งาน
     title: เชิญผู้คน
   login_activities:
     authentication_methods:
@@ -946,6 +1007,7 @@ th:
     redirecting_to: บัญชีของคุณกำลังเปลี่ยนเส้นทางไปยัง %{acct}
     set_redirect: ตั้งการเปลี่ยนเส้นทาง
     warning:
+      before: 'ก่อนดำเนินการต่อ โปรดอ่านหมายเหตุเหล่านี้อย่างระมัดระวัง:'
       followers: การกระทำนี้จะย้ายผู้ติดตามทั้งหมดจากบัญชีปัจจุบันไปยังบัญชีใหม่
   moderation:
     title: การควบคุม
@@ -980,6 +1042,8 @@ th:
       body: 'คุณได้รับการกล่าวถึงโดย %{name} ใน:'
       subject: คุณได้รับการกล่าวถึงโดย %{name}
       title: การกล่าวถึงใหม่
+    poll:
+      subject: การสำรวจความคิดเห็นโดย %{name} ได้สิ้นสุดแล้ว
     reblog:
       body: 'โพสต์ของคุณได้รับการดันโดย %{name}:'
       subject: "%{name} ได้ดันโพสต์ของคุณ"
@@ -1003,6 +1067,7 @@ th:
   otp_authentication:
     code_hint: ป้อนรหัสที่สร้างโดยแอปตัวรับรองความถูกต้องของคุณเพื่อยืนยัน
     enable: เปิดใช้งาน
+    instructions_html: "<strong>สแกนรหัส QR นี้ลงใน Google Authenticator หรือแอป TOTP ที่คล้ายกันในโทรศัพท์ของคุณ</strong> จากนี้ไป แอปนั้นจะสร้างโทเคนที่คุณจะต้องป้อนเมื่อเข้าสู่ระบบ"
     manual_instructions: 'หากคุณไม่สามารถสแกนรหัส QR และจำเป็นต้องป้อนรหัสด้วยตนเอง นี่คือรหัสลับแบบข้อความธรรมดา:'
     setup: ตั้งค่า
     wrong_code: รหัสที่ป้อนไม่ถูกต้อง! เวลาเซิร์ฟเวอร์และเวลาอุปกรณ์ถูกต้องหรือไม่?
@@ -1113,7 +1178,6 @@ th:
     edit_profile: แก้ไขโปรไฟล์
     export: การส่งออกข้อมูล
     featured_tags: แฮชแท็กที่แนะนำ
-    identity_proofs: การพิสูจน์ตัวตน
     import: การนำเข้า
     import_and_export: การนำเข้าและการส่งออก
     migrate: การโยกย้ายบัญชี
@@ -1135,13 +1199,14 @@ th:
         other: "%{count} วิดีโอ"
     boosted_from_html: ดันจาก %{acct_link}
     content_warning: 'คำเตือนเนื้อหา: %{warning}'
+    default_language: เหมือนกับภาษาส่วนติดต่อ
     disallowed_hashtags:
       other: 'มีแฮชแท็กที่ไม่อนุญาต: %{tags}'
-    language_detection: ตรวจหาภาษาโดยอัตโนมัติ
+    edited_at: แก้ไขเมื่อ %{date}
     open_in_web: เปิดในเว็บ
     pin_errors:
+      direct: ไม่สามารถปักหมุดโพสต์ที่ปรากฏแก่ผู้ใช้ที่กล่าวถึงเท่านั้น
       ownership: ไม่สามารถปักหมุดโพสต์ของคนอื่น
-      private: ไม่สามารถปักหมุดโพสต์ที่ไม่เป็นสาธารณะ
       reblog: ไม่สามารถปักหมุดการดัน
     poll:
       total_people:
@@ -1165,6 +1230,7 @@ th:
       unlisted_long: ทุกคนสามารถเห็น แต่ไม่แสดงรายการในเส้นเวลาสาธารณะ
   statuses_cleanup:
     enabled: ลบโพสต์เก่าโดยอัตโนมัติ
+    enabled_hint: ลบโพสต์ของคุณโดยอัตโนมัติเมื่อโพสต์ถึงค่าเกณฑ์อายุที่ระบุ เว้นแต่โพสต์ตรงกับหนึ่งในข้อยกเว้นด้านล่าง
     exceptions: ข้อยกเว้น
     ignore_favs: เพิกเฉยรายการโปรด
     ignore_reblogs: เพิกเฉยการดัน
@@ -1189,6 +1255,11 @@ th:
       '5259492': 2 เดือน
       '63113904': 2 ปี
       '7889238': 3 เดือน
+    min_age_label: ค่าเกณฑ์อายุ
+    min_favs: เก็บโพสต์ที่ได้รับการชื่นชอบอย่างน้อย
+    min_favs_hint: ไม่ลบโพสต์ใดก็ตามของคุณที่ได้รับจำนวนการชื่นชอบอย่างน้อยเท่านี้ เว้นว่างไว้เพื่อลบโพสต์โดยไม่คำนึงถึงจำนวนการชื่นชอบของโพสต์
+    min_reblogs: เก็บโพสต์ที่ได้รับการดันอย่างน้อย
+    min_reblogs_hint: ไม่ลบโพสต์ใดก็ตามของคุณที่ได้รับจำนวนครั้งการดันอย่างน้อยเท่านี้ เว้นว่างไว้เพื่อลบโพสต์โดยไม่คำนึงถึงจำนวนการดันของโพสต์
   stream_entries:
     pinned: โพสต์ที่ปักหมุด
     reblogged: ดันแล้ว
@@ -1205,6 +1276,7 @@ th:
     formats:
       default: "%d %b %Y, %H:%M"
       month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: เพิ่ม
     disable: ปิดใช้งาน 2FA
@@ -1220,7 +1292,9 @@ th:
     webauthn: กุญแจความปลอดภัย
   user_mailer:
     backup_ready:
+      explanation: คุณได้ขอข้อมูลสำรองแบบเต็มของบัญชี Mastodon ของคุณ ตอนนี้ข้อมูลสำรองพร้อมสำหรับการดาวน์โหลดแล้ว!
       subject: การเก็บถาวรของคุณพร้อมสำหรับการดาวน์โหลดแล้ว
+      title: การส่งออกการเก็บถาวร
     sign_in_token:
       details: 'นี่คือรายละเอียดของความพยายาม:'
       explanation: 'เราตรวจพบความพยายามลงชื่อเข้าบัญชีของคุณจากที่อยู่ IP ที่ไม่รู้จัก หากนี่คือคุณ โปรดป้อนรหัสความปลอดภัยด้านล่างในหน้าตรวจสอบการลงชื่อเข้า:'
@@ -1228,18 +1302,22 @@ th:
       subject: โปรดยืนยันการลงชื่อเข้าที่พยายาม
       title: ความพยายามลงชื่อเข้า
     warning:
-      get_in_touch: คุณสามารถตอบกลับอีเมลนี้เพื่อติดต่อกับพนักงานของ %{instance}
+      categories:
+        spam: สแปม
+        violation: เนื้อหาละเมิดหลักเกณฑ์ชุมชนดังต่อไปนี้
+      reason: 'เหตุผล:'
       review_server_policies: ตรวจทานนโยบายของเซิร์ฟเวอร์
-      statuses: 'โดยเฉพาะสำหรับ:'
+      statuses: 'โพสต์ที่พบว่ามีการละเมิด:'
       subject:
         disable: บัญชีของคุณ %{acct} ถูกอายัด
         none: คำเตือนสำหรับ %{acct}
         silence: บัญชีของคุณ %{acct} ถูกจำกัด
         suspend: บัญชีของคุณ %{acct} ถูกระงับ
       title:
+        delete_statuses: เอาโพสต์ออกแล้ว
         disable: อายัดบัญชีอยู่
         none: คำเตือน
-        sensitive: มีการทำเครื่องหมายสื่อของคุณว่าละเอียดอ่อน
+        sensitive: ซ่อนสื่ออยู่
         silence: จำกัดบัญชีอยู่
         suspend: ระงับบัญชีอยู่
     welcome:
@@ -1250,7 +1328,9 @@ th:
       full_handle_hint: นี่คือสิ่งที่คุณจะบอกเพื่อน ๆ ของคุณ เพื่อให้เขาสามารถส่งข้อความหรือติดตามคุณจากเซิร์ฟเวอร์อื่น
       review_preferences_action: เปลี่ยนการกำหนดลักษณะ
       subject: ยินดีต้อนรับสู่ Mastodon
+      tip_federated_timeline: เส้นเวลาที่ติดต่อกับภายนอกคือมุมมองสายน้ำของเครือข่าย Mastodon แต่เส้นเวลารวมเฉพาะผู้คนที่เพื่อนบ้านของคุณบอกรับเท่านั้น ดังนั้นเส้นเวลาจึงไม่ครบถ้วน
       tip_following: คุณติดตามผู้ดูแลเซิร์ฟเวอร์ของคุณเป็นค่าเริ่มต้น เพื่อค้นหาผู้คนที่น่าสนใจเพิ่มเติม ตรวจสอบเส้นเวลาในเซิร์ฟเวอร์และที่ติดต่อกับภายนอก
+      tip_local_timeline: เส้นเวลาในเซิร์ฟเวอร์คือมุมมองสายน้ำของผู้คนใน %{instance} นี่คือเพื่อนบ้านใกล้เคียงของคุณ!
       tips: เคล็ดลับ
       title: ยินดีต้อนรับ %{name}!
   users:
@@ -1261,6 +1341,7 @@ th:
     otp_lost_help_html: หากคุณสูญเสียการเข้าถึงทั้งสองอย่าง คุณสามารถติดต่อ %{email}
     seamless_external_login: คุณได้เข้าสู่ระบบผ่านบริการภายนอก ดังนั้นจึงไม่มีการตั้งค่ารหัสผ่านและอีเมล
     signed_in_as: 'ลงชื่อเข้าเป็น:'
+    suspicious_sign_in_confirmation: ดูเหมือนว่าคุณไม่เคยเข้าสู่ระบบจากอุปกรณ์นี้มาก่อน ดังนั้นเราจึงส่งรหัสความปลอดภัยไปยังที่อยู่อีเมลของคุณเพื่อยืนยันว่าเป็นคุณ
   verification:
     verification: การตรวจสอบ
   webauthn_credentials:
diff --git a/config/locales/tr.yml b/config/locales/tr.yml
index f78550a19..9fdcf8a7f 100644
--- a/config/locales/tr.yml
+++ b/config/locales/tr.yml
@@ -99,7 +99,6 @@ tr:
     accounts:
       add_email_domain_block: E-posta alan adını engelle
       approve: Onayla
-      approve_all: Tümünü onayla
       approved_msg: "%{username} adlı kullanıcının kayıt başvurusu başarıyla onaylandı"
       are_you_sure: Emin misiniz?
       avatar: Profil resmi
@@ -114,6 +113,7 @@ tr:
       confirm: Onayla
       confirmed: Onaylandı
       confirming: Onaylanıyor
+      custom: Özel
       delete: Veriyi sil
       deleted: Silindi
       demote: Düşür
@@ -153,7 +153,6 @@ tr:
         active: Etkin
         all: Hepsi
         pending: Bekliyor
-        silenced: Susturulanlar
         suspended: Uzaklaştırılanlar
         title: Denetim
       moderation_notes: Denetleme notları
@@ -171,7 +170,6 @@ tr:
       redownload: Profili yenile
       redownloaded_msg: "%{username} kullanıcısının profili kökenden başarıyla yenilendi"
       reject: Reddet
-      reject_all: Tümünü reddet
       rejected_msg: "%{username} adlı kullanıcının kayıt başvurusu başarıyla reddedildi"
       remove_avatar: Profil resmini kaldır
       remove_header: Üstbilgiyi kaldır
@@ -206,12 +204,14 @@ tr:
       silence: Sustur
       silenced: Susturulmuş
       statuses: Durumlar
+      strikes: Önceki eylemler
       subscribe: Abone ol
       suspended: Askıya alındı
       suspension_irreversible: Bu hesabın verileri geri dönüşümsüz olarak silindi. Hesabı kullanılabilir hale getirmek için hesabın askıya alınmasını kaldırabilirsiniz, ancak daha önce sahip olduğu herhangi bir veri kurtarılamaz.
       suspension_reversible_hint_html: Hesap askıya alındı ve veriler %{date} tarihinde tamamen kaldırılacak. O zamana kadar, hesap herhangi bir olumsuz etki olmaksızın geri yüklenebilir. Hesabın tüm verilerini hemen kaldırmak isterseniz, bunu aşağıdan yapabilirsiniz.
-      time_in_queue: "%{time} kuyruğunda bekliyor"
       title: Hesaplar
+      unblock_email: E-posta adresinin engelini kaldır
+      unblocked_email_msg: "%{username} kişisinin e-posta adresinin engeli başarıyla kaldırıldı"
       unconfirmed_email: Onaylanmamış e-posta
       undo_sensitized: Hassaslığı geri al
       undo_silenced: Susturmayı geri al
@@ -226,6 +226,7 @@ tr:
       whitelisted: Beyaz listede
     action_logs:
       action_types:
+        approve_user: Kullanıcıyı Onayla
         assigned_to_self_report: Raporu Ata
         change_email_user: Kullanıcı E-postasını Değiştir
         confirm_user: Kullanıcıyı Onayla
@@ -243,6 +244,7 @@ tr:
         destroy_domain_allow: İzin Verilen Alan Adını Sil
         destroy_domain_block: Engellenen Alan Adını Sil
         destroy_email_domain_block: E-posta alan adı engelini sil
+        destroy_instance: Alan adını temizle
         destroy_ip_block: IP kuralını sil
         destroy_status: Durumu Sil
         destroy_unavailable_domain: Mevcut Olmayan Alan Adı Sil
@@ -255,6 +257,7 @@ tr:
         enable_user: Kullanıcıyı Etkinleştir
         memorialize_account: Hesabı Anıtlaştır
         promote_user: Kullanıcıyı Yükselt
+        reject_user: Kullanıcıyı Reddet
         remove_avatar_user: Profil Resmini Kaldır
         reopen_report: Şikayeti Tekrar Aç
         reset_password_user: Parolayı Sıfırla
@@ -263,6 +266,7 @@ tr:
         silence_account: Hesabı Sustur
         suspend_account: Hesabı Askıya Al
         unassigned_report: Rapor Atamasını Kaldır
+        unblock_email_account: E-posta adresinin engelini kaldır
         unsensitive_account: Hesabınızdaki medyayı hassas olarak işaretlemeyin
         unsilence_account: Hesabın Sesini Aç
         unsuspend_account: Hesabı Askıdan Kaldır
@@ -271,6 +275,7 @@ tr:
         update_domain_block: Engellenen Alan Adını Güncelle
         update_status: Durumu Güncelle
       actions:
+        approve_user_html: "%{name}, %{target} konumundan kaydı onayladı"
         assigned_to_self_report_html: "%{name} kendilerine %{target} adlı raporu verdi"
         change_email_user_html: "%{name}, %{target} kullanıcısının e-posta adresini değiştirdi"
         confirm_user_html: "%{name} %{target} kullanıcısının e-posta adresini onayladı"
@@ -288,6 +293,7 @@ tr:
         destroy_domain_allow_html: "%{name}, %{target} alan adıyla birlik iznini kaldırdı"
         destroy_domain_block_html: "%{name}, %{target} alan adı engelini kaldırdı"
         destroy_email_domain_block_html: "%{name}, %{target} e-posta alan adı engelini kaldırdı"
+        destroy_instance_html: "%{name}, %{target} alan adını temizledi"
         destroy_ip_block_html: "%{name}, %{target} IP adresi kuralını sildi"
         destroy_status_html: "%{name}, %{target} kullanıcısının gönderisini kaldırdı"
         destroy_unavailable_domain_html: "%{name}, %{target} alan adına teslimatı sürdürdü"
@@ -300,6 +306,7 @@ tr:
         enable_user_html: "%{name}, %{target} kullanıcısı için oturum açmayı etkinleştirdi"
         memorialize_account_html: "%{name}, %{target} kullanıcısının hesabını bir anıt sayfaya dönüştürdü"
         promote_user_html: "%{name}, %{target} kullanıcısını yükseltti"
+        reject_user_html: "%{name}, %{target} konumundan kaydı reddetti"
         remove_avatar_user_html: "%{name}, %{target} kullanıcısının avatarını kaldırdı"
         reopen_report_html: "%{name}, %{target} şikayetini yeniden açtı"
         reset_password_user_html: "%{name}, %{target} kullanıcısının parolasını sıfırladı"
@@ -308,6 +315,7 @@ tr:
         silence_account_html: "%{name}, %{target} kullanıcısının hesabını sessize aldı"
         suspend_account_html: "%{name}, %{target} kullanıcısının hesabını askıya aldı"
         unassigned_report_html: "%{name}, %{target} şikayetinin atamasını kaldırdı"
+        unblock_email_account_html: "%{name}, %{target} kişisinin e-posta adresinin engelini kaldırdı"
         unsensitive_account_html: "%{name}, %{target} kullanıcısının medyasının hassas işaretini kaldırdı"
         unsilence_account_html: "%{name}, %{target} kullanıcısının hesabının sessizliğini kaldırdı"
         unsuspend_account_html: "%{name}, %{target} kullanıcısının hesabının askı durumunu kaldırdı"
@@ -465,6 +473,7 @@ tr:
       back_to_limited: Sınırlı
       back_to_warning: Uyarı
       by_domain: Alan adı
+      confirm_purge: Bu alan adından verileri kalıcı olarak silmek istediğinizden emin misin?
       delivery:
         all: Tümü
         clear: Teslimat hatalarını temizle
@@ -480,6 +489,7 @@ tr:
       delivery_available: Teslimat mevcut
       delivery_error_days: Teslimat hatası günleri
       delivery_error_hint: Eğer teslimat %{count} gün boyunca mümkün olmazsa, otomatik olarak teslim edilemiyor olarak işaretlenecek.
+      destroyed_msg: "%{domain} alan adından veriler hemen silinmek üzere kuyruğa alındı."
       empty: Alan adı bulunamadı.
       known_accounts:
         one: "%{count} bilinen hesap"
@@ -490,6 +500,7 @@ tr:
         title: Denetim
       private_comment: Özel yorum
       public_comment: Genel yorum
+      purge: Temizle
       title: Bilinen Sunucular
       total_blocked_by_us: Tarafımızca engellenen
       total_followed_by_them: Onlar tarafından takip edilen
@@ -519,8 +530,6 @@ tr:
         title: Yeni IP kuralı oluştur
       no_ip_block_selected: Hiçbiri seçilmediğinden hiçbir IP kuralı değiştirilmedi
       title: IP kuralları
-    pending_accounts:
-      title: Bekleyen hesaplar (%{count})
     relationships:
       title: "%{acct} kişisinin ilişkileri"
     relays:
@@ -542,32 +551,44 @@ tr:
     report_notes:
       created_msg: Şikayet notu başarıyla oluşturuldu!
       destroyed_msg: Şikayet notu başarıyla silindi!
+      today_at: 'Bugün şu saatte: %{time}'
     reports:
       account:
         notes:
           one: "%{count} not"
           other: "%{count} not"
-        reports:
-          one: "%{count} şikayet"
-          other: "%{count} şikayet"
+      action_log: Denetim günlüğü
       action_taken_by: tarafından gerçekleştirilen eylem
+      actions:
+        other_description_html: Hesabın davranışını denetlemek ve bildirilen hesabın iletişimini yapılandırmak için daha fazla seçenek görün.
+        silence_description_html: Profil sadece halihazırda takip edenler ve elle bakanlarca görünecek, böylece erişimi ciddi bir şekilde kısıtlanacak. Her zaman geri alınabilir.
+        suspend_description_html: Profil ve tüm içeriği sonunda silinene kadar erişilmez olacak. Hesapla etkileşim mümkün olmayacak. 30 gün boyunca geri alınabilir.
+      actions_description_html: 'Yukarıdaki incitici içeriğin kaldırılması yetersiz ise:'
+      add_to_report: Bildirime daha fazlasını ekle
       are_you_sure: Emin misiniz?
       assign_to_self: Bana ata
       assigned: Denetleyici atandı
       by_target_domain: Şikayet edilen hesabın alan adı
+      category: Kategori
+      category_description_html: Bu hesap ve/veya içeriğin bildirilme gerekçesi, bildirilen hesapla iletişimde alıntılanacaktır
       comment:
         none: Yok
+      comment_description_html: 'Daha fazla bilgi vermek için %{name} şunu yazdı:'
       created_at: Şikayet edildi
+      delete_and_resolve: Çöz ve sil
       forwarded: İletildi
       forwarded_to: "%{domain}'e iletildi"
       mark_as_resolved: Giderildi olarak işaretle
       mark_as_unresolved: Çözümlenmemiş olarak işaretle
+      no_one_assigned: Hiç kimse
       notes:
         create: Not Ekle
         create_and_resolve: Not ile çözümle
         create_and_unresolve: Not ile tekrar aç
         delete: Sil
         placeholder: Hangi işlemlerin yapıldığını, ya da diğer ilgili güncellemeleri açıklayın...
+        title: Notlar
+      notes_description_html: Kendiniz ve diğer moderatörler için not bırakın veya notları görüntüleyin
       reopen: Şikayeti tekrar aç
       report: 'Şikayet #%{id}'
       reported_account: Şikayet edilen hesap
@@ -575,11 +596,14 @@ tr:
       resolved: Giderildi
       resolved_msg: Şikayet başarıyla çözümlendi!
       status: Durum
+      statuses: Bildirilen içerik
+      statuses_description_html: İncitici içerik, bildirilen hesapla iletişimde alıntılanacaktır
       target_origin: Şikayet edilen hesabın kökeni
       title: Şikayetler
       unassign: Atamayı geri al
       unresolved: Giderilmedi
       updated_at: Güncellendi
+      view_profile: Profili görüntüle
     rules:
       add_new: Kural ekle
       delete: Sil
@@ -681,15 +705,13 @@ tr:
       destroyed_msg: Site yüklemesi başarıyla silindi!
     statuses:
       back_to_account: Hesap sayfasına geri dön
+      back_to_report: Bildirim sayfasına geri dön
       batch:
-        delete: Sil
-        nsfw_off: Hassas değil olarak işaretle
-        nsfw_on: Hassas olarak işaretle
+        remove_from_report: Bildirimden kaldır
+        report: Bildirim
       deleted: Silindi
-      failed_to_execute: Çalıştırılamadı
       media:
         title: Medya
-      no_media: Medya yok
       no_status_selected: Hiçbiri seçilmediğinden hiçbir durum değiştirilmedi
       title: Hesap durumları
       with_media: Medya ile
@@ -702,21 +724,51 @@ tr:
       sidekiq_process_check:
         message_html: "%{value} kuyruk(lar)ı için herhangi bir Sidekiq süreci çalışmıyor. Lütfen Sidekiq yapılandırmanızı gözden geçirin"
     tags:
-      accounts_today: Bugünkü eşsiz kullanımlar
-      accounts_week: Bu haftaki eşsiz kullanımlar
-      breakdown: Bugünkü kullanımın kaynağa göre dağılımı
-      last_active: Son etkinlik
-      most_popular: En popüler
-      most_recent: En yeni
-      name: Etiket
       review: Durumu gözden geçir
-      reviewed: Gözden geçirildi
-      title: Etiketler
-      trending_right_now: Şu anda trend
-      unique_uses_today: bugün %{count} gönderi
-      unreviewed: Gözden geçirilmedi
       updated_msg: Etiket ayarları başarıyla güncellendi
     title: Yönetim
+    trends:
+      allow: İzin ver
+      approved: Onaylandı
+      disallow: İzin verme
+      links:
+        allow: Bağlantıya izin ver
+        allow_provider: Yayıncıya izin ver
+        disallow: Bağlantıya izin verme
+        disallow_provider: Yayıncıya izin verme
+        shared_by_over_week:
+          one: Geçen hafta bir kişi paylaştı
+          other: Geçen hafta %{count} kişi paylaştı
+        title: Öne çıkan bağlantılar
+        usage_comparison: Bugün %{today} kere paylaşıldı, dün %{yesterday} kere paylaşılmıştı
+      pending_review: İnceleme bekliyor
+      preview_card_providers:
+        allowed: Bu yayıncının bağlantıları öne çıkabilir
+        rejected: Bu yayıncının bağlantıları öne çıkmayacak
+        title: Yayıncılar
+      rejected: Reddedildi
+      tags:
+        current_score: Mevcut puan %{score}
+        dashboard:
+          tag_accounts_measure: tekil kullanımlar
+          tag_languages_dimension: En gözde diller
+          tag_servers_dimension: En gözde sunucular
+          tag_servers_measure: farklı sunucular
+          tag_uses_measure: toplam kullanım
+        listable: Önerilebilir
+        not_listable: Önerilmeyecek
+        not_trendable: Öne çıkanlar altında görünmeyecek
+        not_usable: Kullanılamaz
+        peaked_on_and_decaying: "%{date} tarihinde zirvedeydi, şimdi azalıyor"
+        title: Öne çıkan etiketler
+        trendable: Öne çıkanlar altında görünebilir
+        trending_rank: 'Öne çıkanlar #%{rank}'
+        usable: Kullanılabilir
+        usage_comparison: Bugün %{today} kere kullanıldı, dün %{yesterday} kere kullanılmıştı
+        used_by_over_week:
+          one: Geçen hafta %{count} kişi tarafından kullanıldı
+          other: Geçen hafta %{count} kişi tarafından kullanıldı
+      title: Öne çıkanlar
     warning_presets:
       add_new: Yeni ekle
       delete: Sil
@@ -731,9 +783,16 @@ tr:
       body: "%{reporter}, %{target} kişisini bildirdi"
       body_remote: "%{domain} alan adından birisi %{target} kişisini bildirdi"
       subject: "%{instance} için yeni şikayet (#%{id})"
-    new_trending_tag:
-      body: "#%{name} etiketi bugün trend, ancak daha önce incelenmedi. Siz izin vermediğiniz sürece herkese açık olarak gösterilmeyecek, ya da bir daha asla hakkında bir şey duymamak için olduğu şekliyle formu kaydedin."
-      subject: "%{instance} üzerinde gözden geçirmek için yeni etiket (#%{name})"
+    new_trending_links:
+      body: Aşağıdaki bağlantılar bugün öne çıkıyorlar, ancak yayıncıları daha önce incelenmedi. Siz onaylamadığınız sürece herkese açık olarak görüntülenmeyecekler. Aynı yayıncılar için benzer bildirimler üretilmeyecek.
+      no_approved_links: Şu anda onaylanmış öne çıkan bağlantı yok.
+      requirements: Şu anda en düşük onaylanmış öne çıkan bağlantı %{lowest_link_score} puana sahip olan "%{lowest_link_title}".
+      subject: "%{instance}, inceleme bekleyen yeni öne çıkan bağlantılara sahip"
+    new_trending_tags:
+      body: 'Aşağıdaki etiketler bugün öne çıkıyorlar, ancak daha önce incelenmediler. Siz onaylamadığınız sürece herkese açık olarak görüntülenmeyecekler:'
+      no_approved_tags: Şu anda onaylanmış öne çıkan etiket yok.
+      requirements: 'Şu anda en düşük onaylanmış öne çıkan etiket %{lowest_tag_score} puana sahip olan #%{lowest_tag_name}.'
+      subject: "%{instance}, inceleme bekleyen yeni öne çıkan etiketlere sahip"
   aliases:
     add_new: Takma ad oluştur
     created_msg: Yeni takma ad başarıyla oluşturuldu. Artık eski hesaptan taşınmayı başlatabilirsiniz.
@@ -785,6 +844,7 @@ tr:
     invalid_reset_password_token: Parola sıfırlama belirteci geçersiz veya süresi dolmuş. Lütfen yeni bir tane talep edin.
     link_to_otp: Telefonunuzdan iki adımlı bir kod veya bir kurtarma kodu girin
     link_to_webauth: Güvenlik anahtarı cihazınızı kullanın
+    log_in_with: Şununla giriş yap
     login: Oturum aç
     logout: Oturumu kapat
     migrate_account: Farklı bir hesaba taşıyın
@@ -940,34 +1000,15 @@ tr:
     changes_saved_msg: Değişiklikler başarıyla kaydedildi!
     copy: Kopyala
     delete: Sil
-    no_batch_actions_available: Bu sayfada toplu işlem yok
+    none: Hiçbiri
     order_by: Sıralama ölçütü
     save_changes: Değişiklikleri kaydet
+    today: bugün
     validation_errors:
       one: Bir şeyler ters gitti! Lütfen aşağıdaki hatayı gözden geçiriniz
       other: Bir şeyler ters gitti! Lütfen aşağıdaki %{count} hatayı gözden geçiriniz
   html_validator:
     invalid_markup: 'geçersiz HTML markup içermektedir: %{error}'
-  identity_proofs:
-    active: Etkin
-    authorize: Evet, izin ver
-    authorize_connection_prompt: Bu kriptolu bağlantıyı yetkilendir?
-    errors:
-      failed: Kriptolu bağlantı başarısız oldu. Lütfen %{provider} üzerinden tekrar deneyin.
-      keybase:
-        invalid_token: Keybase belirteçleri imza hash'leridir ve 66 hex karakter içermelidir
-        verification_failed: Keybase, bu belirteci, %{kb_username} Keybase kullanıcısının imzası olarak tanımıyor. Lütfen Keybase'den tekrar deneyin.
-      wrong_user: "%{current} olarak giriş yaparken %{proving} için bir kanıt oluşturulamıyor. %{proving} olarak giriş yapın ve tekrar deneyin."
-    explanation_html: Burada, Keybase profili gibi diğer kimliklerinizi şifreli olarak bağlayabilirsiniz. Bu, diğer kişilerin size şifreli mesajlar göndermesini ve gönderdiğiniz içeriğe güvenmelerini sağlar.
-    i_am_html: Ben %{service} üzerinde %{username}.
-    identity: Kimlik
-    inactive: Pasif
-    publicize_checkbox: 'Ve bunu tootla:'
-    publicize_toot: 'İspatlandı! Ben %{service} üzerinde %{username}: %{url}'
-    remove: Hesaptan kanıtı kaldır
-    removed: Kanıt hesaptan başarıyla kaldırıldı
-    status: Doğrulama durumu
-    view_proof: Kanıtı görüntüle
   imports:
     errors:
       over_rows_processing_limit: "%{count} satırdan fazlasını içeriyor"
@@ -1183,6 +1224,9 @@ tr:
     reply:
       proceed: Yanıtlamak için devam edin
       prompt: 'Bu tootu yanıtlamak istiyorsunuz:'
+  reports:
+    errors:
+      invalid_rules: geçerli kurallara işaret etmez
   scheduled_statuses:
     over_daily_limit: O gün için %{limit} zamanlanmış toot sınırını aştınız
     over_total_limit: "%{limit} zamanlanmış toot sınırını aştınız"
@@ -1241,7 +1285,6 @@ tr:
     edit_profile: Profili düzenle
     export: Veriyi dışa aktar
     featured_tags: Öne çıkan etiketler
-    identity_proofs: Kimlik kanıtları
     import: İçe aktar
     import_and_export: İçe ve dışa aktar
     migrate: Hesap taşıma
@@ -1266,18 +1309,19 @@ tr:
         other: "%{count} video"
     boosted_from_html: "%{acct_link} kişisinden boostladı"
     content_warning: 'İçerik uyarısı: %{warning}'
+    default_language: Arayüz diliyle aynı
     disallowed_hashtags:
       one: 'izin verilmeyen bir etiket içeriyordu: %{tags}'
       other: 'izin verilmeyen hashtag''leri içeriyordu: %{tags}'
+    edited_at: "%{date} tarihinde düzenlenmiş"
     errors:
       in_reply_not_found: Yanıtlamaya çalıştığınız durum yok gibi görünüyor.
-    language_detection: Dili otomatik olarak algıla
     open_in_web: Web sayfasında aç
     over_character_limit: "%{max} karakter limiti aşıldı"
     pin_errors:
+      direct: Sadece değinilen kullanıcıların görebileceği gönderiler üstte tutulamaz
       limit: Hali hazırda maksimum sayıda tootu sabitlediniz
       ownership: Başkasının tootu sabitlenemez
-      private: Halka açık olmayan toot sabitlenemez
       reblog: Bir boost sabitlenemez
     poll:
       total_people:
@@ -1432,6 +1476,7 @@ tr:
     formats:
       default: "%d %b %Y %H:%M"
       month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Ekle
     disable: 2FA'yı devre dışı bırak
@@ -1459,24 +1504,31 @@ tr:
       subject: Lütfen oturum açma girişimini onaylayın
       title: Oturum açma girişimi
     warning:
+      categories:
+        spam: İstenmeyen
+        violation: İçerik aşağıdaki topluluk ilkelerini ihlal ediyor
       explanation:
-        disable: Hesabınız donmuşken, hesap verileriniz bozulmadan kalır, ancak kilidi açılıncaya kadar herhangi bir işlem gerçekleştiremezsiniz.
-        sensitive: Yüklediğiniz medya dosyalarınız ve bağlantılı medyanız hassas olarak değerlendirilecektir.
-        silence: Hesabınız sınırlı iken, yalnızca sizi takip eden kişiler bu sunucuda tootlarınızı görecek ve çeşitli halka açık listelerin dışında tutulabilirsiniz. Ancak, diğerleri hala sizi manuel olarak takip edebilir.
-        suspend: Hesabınız askıya alındı ve tüm tootlarınız ve yüklediğiniz medya dosyalarınız bu sunucudan ve takipçilerinizin bulunduğu sunuculardan geri alınamaz şekilde kaldırıldı.
-      get_in_touch: "%{instance} çalışanlarıyla iletişim kurmak için bu e-postayı yanıtlayabilirsiniz."
+        delete_statuses: Bazı gönderilerinizin bir veya daha topluluk ilkemizi ihlal ettiği bulundu ve dolayısıyla %{instance} sunucusu moderatörleri tarafından kaldırıldı. Gelecekteki ihlaller hesabınıza karşı daha sert cezalandırmayla sonuçlanabilir.
+        disable: Artık hesabınızı kullanamazsınız, ancak profil ve diğer veri sağlam. Verinizin bir yedeğini isteyebilir, hesap ayarlarınızı değiştirebilir veya hesabınızı silebilirsiniz.
+        sensitive: Artık tüm yüklenmiş ortam dosyalarınız hassas olarak işaretlenecek ve üzerine tıklanarak açılacak şekilde bir uyarının ardına gizlenecektir.
+        silence: Hesabınız sınırlı iken, yalnızca sizi takip eden kişiler bu sunucudaki gönderilenizi görecek ve çeşitli keşif özelliklerinin dışında bırakılabilirsiniz. Ancak, başkaları sizi manuel olarak hala takip edebilir.
+        suspend: Hesabınızı artık kullanamazsınız ve profiliniz ve diğer veri artık erişilebilir değil. Yaklaşık 30 gün içinde silinene kadar verinizin bir yedeğini istemek için giriş yapabilirsiniz, ancak askıdan kaçınmanızı önlemek için bazı temel veriyi saklayabiliriz.
+      get_in_touch: Bunun bir hata olduğunu düşünüyorsanız, %{instance} yönetimiyle bağlantıya geçmek için bu e-postaya yanıt verebilirsiniz.
+      reason: 'Gerekçe:'
       review_server_policies: Sunucu politikalarını inceleyin
-      statuses: 'Özellikle, şunun için:'
+      statuses: 'İhlal içeren gönderiler:'
       subject:
+        delete_statuses: "%{acct} hesabınızdaki gönderiler kaldırıldı"
         disable: "%{acct} hesabınız donduruldu"
         none: "%{acct} için uyarı"
-        sensitive: Hesabınızdan yayınlanan %{acct} medyanız hassas olarak işaretlendi
+        sensitive: "%{acct} hesabınızdaki ortam dosyaları artık hassas olarak işaretlenecek"
         silence: "%{acct} hesabınız sınırlandırıldı"
         suspend: "%{acct} hesabınız askıya alındı"
       title:
+        delete_statuses: Kaldırılan gönderiler
         disable: Hesap donduruldu
         none: Uyarı
-        sensitive: Medyanız hassas olarak işaretlendi
+        sensitive: Gizlenmiş ortam dosyaları
         silence: Hesap sınırlandırıldı
         suspend: Hesap askıya alındı
     welcome:
diff --git a/config/locales/tt.yml b/config/locales/tt.yml
index b9fc1b868..ab51124fd 100644
--- a/config/locales/tt.yml
+++ b/config/locales/tt.yml
@@ -103,8 +103,6 @@ tt:
       status: Халәт
       updated_at: Яңартылды
     statuses:
-      batch:
-        delete: Бетерү
       deleted: Бетерелде
       media:
         title: Медиа
diff --git a/config/locales/uk.yml b/config/locales/uk.yml
index f4e60f921..7fe318a8e 100644
--- a/config/locales/uk.yml
+++ b/config/locales/uk.yml
@@ -105,7 +105,6 @@ uk:
     accounts:
       add_email_domain_block: Додати поштовий домен до чорного списку
       approve: Схвалити
-      approve_all: Схвалити всіх
       approved_msg: Заявку на реєстрацію %{username} затверджено
       are_you_sure: Ви впевнені?
       avatar: Аватар
@@ -120,6 +119,7 @@ uk:
       confirm: Зберегти
       confirmed: Збережено
       confirming: Зберігається
+      custom: Власне
       delete: Видалити дані
       deleted: Видалено
       demote: Усунути
@@ -159,7 +159,6 @@ uk:
         active: Активний
         all: Усі
         pending: Очікують
-        silenced: Заглушені
         suspended: Призупинені
         title: Модерація
       moderation_notes: Нотатки модераторів
@@ -177,7 +176,6 @@ uk:
       redownload: Оновити аватар
       redownloaded_msg: Профіль %{username} оновлено з джерела походження
       reject: Відхилити
-      reject_all: Відхилити усе
       rejected_msg: Заявку на реєстрацію %{username} відхилено
       remove_avatar: Видалити аватар
       remove_header: Видалити заголовок
@@ -212,12 +210,14 @@ uk:
       silence: Глушення
       silenced: Заглушені
       statuses: Статуси
+      strikes: Попередні наліпки
       subscribe: Підписатися
       suspended: Призупинені
       suspension_irreversible: Дані цього облікового запису безповоротно видалено. Ви можете розблокувати обліковий запис, щоб могти ним користуватися, але будь-які його дані не відновляться.
       suspension_reversible_hint_html: Обліковий запис заблоковано, а дані буде повністю вилучено %{date}. До цього часу обліковий запис можна відновити без будь-яких негативних наслідків. Якщо ви бажаєте вилучити всі дані облікового запису негайно, ви можете зробити це внизу.
-      time_in_queue: Очікує в черзі %{time}
       title: Облікові записи
+      unblock_email: Розблокувати адресу е-пошти
+      unblocked_email_msg: Адреса електронної пошти %{username} успішно розблокована
       unconfirmed_email: Непідтверджена адреса електронної пошти
       undo_sensitized: Скасувати позначення делікатним
       undo_silenced: Зняти глушення
@@ -232,6 +232,7 @@ uk:
       whitelisted: У білому списку
     action_logs:
       action_types:
+        approve_user: Затвердити користувачів
         assigned_to_self_report: Призначити звіт
         change_email_user: Змінити електронну пошту для користувача
         confirm_user: Підтвердити користувача
@@ -249,6 +250,7 @@ uk:
         destroy_domain_allow: Видалити дозвіл на домен
         destroy_domain_block: Видалити блокування домену
         destroy_email_domain_block: Видалити блокування поштового домену
+        destroy_instance: Очистити домен
         destroy_ip_block: Видалити правило IP
         destroy_status: Видалити пост
         destroy_unavailable_domain: Видалити недоступний домен
@@ -261,6 +263,7 @@ uk:
         enable_user: Активувати користувача
         memorialize_account: Зробити обліковий запис меморіалом
         promote_user: Підвищити користувача
+        reject_user: Відхилити користувача
         remove_avatar_user: Видалити аватар
         reopen_report: Перевідкрити скаргу
         reset_password_user: Скинути пароль
@@ -269,6 +272,7 @@ uk:
         silence_account: Заглушити обліковий запис
         suspend_account: Призупинити обліковий запис
         unassigned_report: Видалити скаргу
+        unblock_email_account: Розблокувати адресу е-пошти
         unsensitive_account: Прибрати позначку "делікатне" з медіа вашого облікового запису
         unsilence_account: Розглушити обліковий запис
         unsuspend_account: Розморозити обліковий запис
@@ -277,6 +281,7 @@ uk:
         update_domain_block: Оновити блокування домену
         update_status: Оновити статус
       actions:
+        approve_user_html: "%{name} схвалює реєстрацію від %{target}"
         assigned_to_self_report_html: "%{name} створює скаргу %{target} на себе"
         change_email_user_html: "%{name} змінює поштову адресу користувача %{target}"
         confirm_user_html: "%{name} підтверджує стан поштової адреси користувача %{target}"
@@ -294,6 +299,7 @@ uk:
         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}"
@@ -306,6 +312,7 @@ uk:
         enable_user_html: "%{name} вмикає вхід для користувача %{target}"
         memorialize_account_html: "%{name} перетворює обліковий запис %{target} на сторінку пам'яті"
         promote_user_html: "%{name} підвищує користувача %{target}"
+        reject_user_html: "%{name} відхиляє реєстрацію від %{target}"
         remove_avatar_user_html: "%{name} прибирає аватар %{target}"
         reopen_report_html: "%{name} знову відкриває звіт %{target}"
         reset_password_user_html: "%{name} скидає пароль користувача %{target}"
@@ -314,6 +321,7 @@ uk:
         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}"
@@ -393,7 +401,7 @@ uk:
         one: "<strong>1</strong> хештеґ у черзі"
         other: "<strong>%{count}</strong> хештеґи у черзі"
       pending_users_html:
-        few: "<strong>%{count}</strong> користувачі у черзі"
+        few: "<strong>%{count}</strong> користувача у черзі"
         many: "<strong>%{count}</strong> користувачів у черзі"
         one: "<strong>1</strong> користувач у черзі"
         other: "<strong>%{count}</strong> користувача у черзі"
@@ -479,6 +487,7 @@ uk:
       back_to_limited: Обмежені
       back_to_warning: Попередження
       by_domain: Домен
+      confirm_purge: Ви впевнені, що хочете видалити ці дані з цього домену?
       delivery:
         all: Усі
         clear: Очистити помилки доставляння
@@ -496,6 +505,7 @@ uk:
       delivery_available: Доставлення доступне
       delivery_error_days: Днів помилок доставляння
       delivery_error_hint: Якщо доставляння неможливе впродовж %{count} днів, воно автоматично позначиться недоставленим.
+      destroyed_msg: Дані з %{domain} тепер у черзі на видалення.
       empty: Доменів не знайдено.
       known_accounts:
         few: "%{count} відомих облікових записів"
@@ -508,6 +518,7 @@ uk:
         title: Модерація
       private_comment: Приватний коментар
       public_comment: Публічний коментар
+      purge: Очисти
       title: Відомі інстанції
       total_blocked_by_us: Заблокованих нами
       total_followed_by_them: Вони стежать за
@@ -537,8 +548,6 @@ uk:
         title: Створити нове правило IP
       no_ip_block_selected: Жодних правил IP не було змінено, оскільки жодного не було вибрано
       title: Правила IP
-    pending_accounts:
-      title: Облікові записи у черзі (%{count})
     relationships:
       title: "%{acct} відносини"
     relays:
@@ -560,6 +569,7 @@ uk:
     report_notes:
       created_msg: Скарга успішно створена!
       destroyed_msg: Скарга успішно видалена!
+      today_at: Сьогодні о %{time}
     reports:
       account:
         notes:
@@ -567,29 +577,38 @@ uk:
           many: "%{count} приміток"
           one: "%{count} примітка"
           other: "%{count} приміток"
-        reports:
-          few: "%{count} скарги"
-          many: "%{count} скарг"
-          one: "%{count} скарга"
-          other: "%{count} скарг"
+      action_log: Журнал подій
       action_taken_by: Дія виконана
+      actions:
+        other_description_html: Більше опцій керування поведінкою облікового запису і налаштування комунікації з обліковим записом, на який поскаржилися.
+        silence_description_html: Профіль буде видимий лише тим, хто вже стежить за ним або знайде його самостійно, сильно обмежуючи його знаходження. Можна потім скасувати.
+        suspend_description_html: Профіль і весь його вміст буде недоступним, поки його не буде видалено. Взаємодія з обліковим записом буде неможливою.
+      actions_description_html: 'Якщо вилучення зазначеного образливого вмісту недостатньо:'
+      add_to_report: Додати ще подробиць до скарги
       are_you_sure: Ви впевнені?
       assign_to_self: Призначити мені
       assigned: Призначений модератор
       by_target_domain: Домен облікового запису, на який скаржаться
+      category: Категорія
+      category_description_html: Причина скарги на цей обліковий запис та/або вміст, яку буде вказано у звіті
       comment:
         none: Немає
+      comment_description_html: 'Щоб надати більше відомостей, %{name} пише:'
       created_at: Створено
+      delete_and_resolve: Видалити й розв'язати
       forwarded: Переслано
       forwarded_to: Переслано до %{domain}
       mark_as_resolved: Відмітити як вирішену
       mark_as_unresolved: Відмітити як невирішену
+      no_one_assigned: Ніхто
       notes:
         create: Додати примітку
         create_and_resolve: Розв'язати з приміткою
         create_and_unresolve: Перевідкрити з приміткою
         delete: Видалити
         placeholder: Опишіть, які дії були виконані, або інші зміни, що стосуються справи...
+        title: Примітки
+      notes_description_html: Переглядайте та залишайте примітки для інших модераторів та для себе на майбутнє
       reopen: Перевідкрити скаргу
       report: 'Скарга #%{id}'
       reported_account: Обліковий запис порушника
@@ -597,11 +616,14 @@ uk:
       resolved: Вирішено
       resolved_msg: Скаргу успішно вирішено!
       status: Статус
+      statuses: Вміст, на який поскаржилися
+      statuses_description_html: Замінений вміст буде цитований у спілкуванні з обліковим записом, на який поскаржилися
       target_origin: Походження облікового запису, на який скаржаться
       title: Скарги
       unassign: Зняти призначення
       unresolved: Невирішені
       updated_at: Оновлені
+      view_profile: Переглянути профіль
     rules:
       add_new: Додати правило
       delete: Видалити
@@ -705,15 +727,13 @@ uk:
       destroyed_msg: Завантаження сайту успішно видалено!
     statuses:
       back_to_account: Назад до сторінки облікового запису
+      back_to_report: Повернутися до сторінки скарги
       batch:
-        delete: Видалити
-        nsfw_off: Відмітити прийнятним
-        nsfw_on: Відмітити неприйнятним
+        remove_from_report: Вилучити зі скарги
+        report: Скарга
       deleted: Видалено
-      failed_to_execute: Не вийшло
       media:
         title: Медіа
-      no_media: Немає медіа
       no_status_selected: Жодного статуса не було змінено, оскільки жодного не було вибрано
       title: Статуси облікових записів
       with_media: З медіа
@@ -726,21 +746,55 @@ uk:
       sidekiq_process_check:
         message_html: Не працює процес Sidekiq для %{value} черги. Перегляньте конфігурації вашого Sidekiq
     tags:
-      accounts_today: Унікальних використань за сьогодні
-      accounts_week: Унікальних використань за тиждень
-      breakdown: Аналіз використання за сьогодні за джерелом
-      last_active: За активністю
-      most_popular: За популярністю
-      most_recent: За часом створення
-      name: Хештеґ
       review: Переглянути статус
-      reviewed: Переглянуто
-      title: Хештеґи
-      trending_right_now: Популярні саме зараз
-      unique_uses_today: "%{count} постять сьогодні"
-      unreviewed: Не переглянуто
       updated_msg: Параметри хештеґів успішно оновлені
     title: Адміністрування
+    trends:
+      allow: Дозволити
+      approved: Схвалено
+      disallow: Заборонити
+      links:
+        allow: Дозволити посилання
+        allow_provider: Дозволити публікатора
+        disallow: Заборонити посилання
+        disallow_provider: Заборонити публікатора
+        shared_by_over_week:
+          few: Поширили %{count} людини за останній тиждень
+          many: Поширили %{count} людей за останній тиждень
+          one: Поширила одна людина за останній тиждень
+          other: Поширили %{count} людини за останній тиждень
+        title: Популярні посилання
+        usage_comparison: Сьогодні поширено %{today} разів, у порівнянні з %{yesterday} вчора
+      pending_review: Очікує перевірки
+      preview_card_providers:
+        allowed: Посилання цього публікатора можуть бути популярними
+        rejected: Посилання цього публікатора можуть не будуть популярними
+        title: Публікатори
+      rejected: Відхилено
+      tags:
+        current_score: Поточний результат %{score}
+        dashboard:
+          tag_accounts_measure: унікальних використань
+          tag_languages_dimension: Найуживаніші мови
+          tag_servers_dimension: Найуживаніші сервери
+          tag_servers_measure: різні сервери
+          tag_uses_measure: всього використань
+        listable: Може бути запропоновано
+        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} людини за минулий тиждень
+          many: Використали %{count} людей за минулий тиждень
+          one: Використала одна людина за минулий тиждень
+          other: Використали %{count} людини за минулий тиждень
+      title: Популярні
     warning_presets:
       add_new: Додати новий
       delete: Видалити
@@ -755,9 +809,16 @@ uk:
       body: "%{reporter} поскаржився(-лася) на %{target}"
       body_remote: Хтось з домену %{domain} поскаржився(-лася) на %{target}
       subject: Нова скарга до %{instance} (#%{id})
-    new_trending_tag:
-      body: 'Хештег #%{name} сьогодні є в тренді, але раніше не переглядався. Він не відображатиметься публічно, якщо ви не дозволите це чи просто збережете форму, щоб ніколи більше про нього не чути.'
-      subject: Новий хештеґ надіслано на розгляд до %{instance} (#%{name})
+    new_trending_links:
+      body: Ці посилання сьогодні популярні, але їх публікатори не були попередньо перевірені. Їх не буде показано публічно, якщо ви їх не затвердите. Подальші сповіщення від тих самих публікаторів не будуть згенеровані.
+      no_approved_links: На цей час немає схвалених популярних посилань.
+      requirements: Найнижче затверджене популярне посилання на цю хвилю "%{lowest_link_title}" з результатом %{lowest_link_score}.
+      subject: Нові популярні посилання до розгляду на %{instance}
+    new_trending_tags:
+      body: 'Ці хештеги популярні сьогодні, але їх попередньо не розглядали. Їх не буде показано публічно, якщо ви не затвердите їх:'
+      no_approved_tags: На цей час немає схвалених популярних хештегів.
+      requirements: 'Найнижчий затверджений популярний хештег на цю хвилю #%{lowest_tag_name} з результатом %{lowest_tag_score}.'
+      subject: Нові популярні хештеги до розгляду на %{instance}
   aliases:
     add_new: Створити псевдонім
     created_msg: Новий псевдонім успішно створено. Тепер ви можете починати переміщення зі старого облікового запису.
@@ -809,6 +870,7 @@ uk:
     invalid_reset_password_token: Токен скидання паролю неправильний або просрочений. Спробуйте попросити новий.
     link_to_otp: Введіть двофакторний код з вашого телефону або код відновлення
     link_to_webauth: Використовувати пристрій ключа безпеки
+    log_in_with: Увійти через
     login: Увійти
     logout: Вийти
     migrate_account: Переїхати на інший обліковий запис
@@ -964,9 +1026,10 @@ uk:
     changes_saved_msg: Зміни успішно збережені!
     copy: Копіювати
     delete: Видалити
-    no_batch_actions_available: На цій сторінці немає запланованих дій
+    none: Немає
     order_by: Сортувати за
     save_changes: Зберегти зміни
+    today: сьогодні
     validation_errors:
       few: Щось досі не гаразд! Перегляньте %{count} повідомлень про помилки
       many: Щось досі не гаразд! Перегляньте %{count} повідомлень про помилки
@@ -974,26 +1037,6 @@ uk:
       other: Щось досі не гаразд! Перегляньте %{count} повідомлень про помилки
   html_validator:
     invalid_markup: 'містить неприпустиму HTML розмітку: %{error}'
-  identity_proofs:
-    active: Активне
-    authorize: Так, авторизувати
-    authorize_connection_prompt: Авторизувати це зашифроване з'єднання?
-    errors:
-      failed: Не вдалося встановити це зашифроване з'єднання. Спробуйте ще раз за допомогою %{provider}.
-      keybase:
-        invalid_token: Токени Keybase - це хеші від підписів і повинні бути по довжині в 66 hex-символів
-        verification_failed: Keybase не розпізнає цей токен як підпис користувача Keybase %{kb_username}. Будь-ласка, спробуйте з Keybase.
-      wrong_user: Неможливо підтвердити користувача%{proving}, під час входу в систему як %{current}. Виконайте вхід як %{proving} і спробуйте ще раз.
-    explanation_html: На цій сторінці відображаються криптографічні підтверджені ідентифікатори - наприклад, прив'язаний профіль Keybase. Це дозволяє людям відправляти вам зашифровані повідомлення, а також довіряти вашим постам.
-    i_am_html: Я %{username} з %{service}.
-    identity: Ідентичність
-    inactive: Неактивний
-    publicize_checkbox: 'Та дмухнути це:'
-    publicize_toot: 'Це доведено! Я таки %{username} з %{service}: %{url}'
-    remove: Видалення підтвердження з облікового запису
-    removed: Підтвердження видалено з облікового запису
-    status: Стан перевірки
-    view_proof: Переглянути доказ
   imports:
     errors:
       over_rows_processing_limit: містить більше ніж %{count} рядків
@@ -1215,6 +1258,9 @@ uk:
     reply:
       proceed: Перейти до відповіді
       prompt: 'Ви хочете відповісти на цей дмух:'
+  reports:
+    errors:
+      invalid_rules: не посилається на чинні правила
   scheduled_statuses:
     over_daily_limit: Ви перевищили ліміт в %{limit} запланованих дмухів на сьогодні
     over_total_limit: Ви перевищили ліміт в %{limit} запланованих дмухів
@@ -1273,7 +1319,6 @@ uk:
     edit_profile: Редагувати профіль
     export: Експорт даних
     featured_tags: Рекомендовані хештеґи
-    identity_proofs: Докази ідентичності
     import: Імпорт
     import_and_export: Імпорт та експорт
     migrate: Міграція облікового запису
@@ -1304,20 +1349,21 @@ uk:
         other: "%{count} відео"
     boosted_from_html: Просунуто від %{acct_link}
     content_warning: 'Попередження про контент: %{warning}'
+    default_language: Така ж як і мова інтерфейсу
     disallowed_hashtags:
       few: 'заборонених хештеґа: %{tags}'
       many: 'заборонених хештеґів: %{tags}'
       one: 'заборонений хештеґ: %{tags}'
       other: 'заборонених хештеґів: %{tags}'
+    edited_at: Відредаговано %{date}
     errors:
       in_reply_not_found: Статуса, на який ви намагаєтеся відповісти, не існує.
-    language_detection: Автоматично визначати мову
     open_in_web: Відкрити у вебі
     over_character_limit: перевищено ліміт символів (%{max})
     pin_errors:
+      direct: Не можливо прикріпити дописи, які видимі лише згаданим користувачам
       limit: Ви вже закріпили максимальну кількість постів
       ownership: Не можна закріпити чужий пост
-      private: Не можна закріпити непублічний пост
       reblog: Не можна закріпити просунутий пост
     poll:
       total_people:
@@ -1396,6 +1442,7 @@ uk:
     formats:
       default: "%b %d, %Y, %H:%M"
       month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Додати
     disable: Вимкнути
@@ -1423,24 +1470,31 @@ uk:
       subject: Будь ласка, підтвердіть спробу входу
       title: Спроба входу
     warning:
+      categories:
+        spam: Спам
+        violation: Вміст порушує такі правила спільноти
       explanation:
-        disable: Поки ваш обліковий запис заморожений, його дані залишаються незмінними. Проте ви не зможете виконувати будь-які дії над обліковим записом, доки його не буде розблоковано.
-        sensitive: Ваші завантажені медіа-файли та пов'язані медіа вважатимуться делікатними.
-        silence: Поки ваш обліковий запис обмежено, ваші дмухи на цьому сервері бачитимуть лише ті люди, які вже слідкують за вами, а вас може бути виключено з різних публічних списків. Тим не менш, інші можуть слідкувати за вами вручну.
-        suspend: Ваш обліковий запис було призупинено, а всі ваші дмухи і вивантажені медіафайли - безповоротно видалено з цього сервера та серверів, де ви мали послідовників.
-      get_in_touch: Ви можете відповісти на цей електронний лист, щоб зконтактувати з працівниками %{instance}.
+        delete_statuses: Деякі з ваших дописів порушили одне або кілька правил спільноти, і модератори %{instance} видалили їх. Майбутні порушення можуть призвести до жорсткіших дій щодо вашого облікового запису.
+        disable: Ви можете більше не використовувати свій обліковий запис, але ваш профіль та інші дані залишаються недоторканими. Ви можете надіслати запит на створення резервної копії ваших даних, змінити налаштування облікового запису або видалити свій обліковий запис.
+        sensitive: Відтепер усі ваші завантажені медіафайли будуть позначені делікатними й приховані за попередженням.
+        silence: Ви й надалі можете користуватися своїм обліковим записом, але ваші дописи на цьому сервері бачитимуть лише ті люди, які вже стежать за вами, а вас може бути виключено з різних можливостей виявлення. Проте, інші можуть почати стежити за вами вручну.
+        suspend: Ви більше не можете користуватися своїм обліковим записом, а ваші інші дані більше недоступні. Ви досі можете увійти, щоб надіслати запит на отримання резервної копії своїх даних до повного видалення впродовж приблизно 30 днів, але ми збережемо деякі основні дані, щоб унеможливити ухилення вами від призупинення.
+      get_in_touch: Якщо ви вважаєте, що це помилка, ви можете відповісти на цей електронний лист, щоб зв'язатися з персоналом %{instance}.
+      reason: 'Причина:'
       review_server_policies: Переглянути політики сервера
-      statuses: 'Зокрема, для:'
+      statuses: 'Дописи, які порушили правила:'
       subject:
+        delete_statuses: Ваші дописи на %{acct} були вилучені
         disable: Ваш обліковий запис %{acct} було заморожено
         none: Попередження для %{acct}
-        sensitive: Ваш обліковий запис %{acct} надсилав медіа позначені делікатними
+        sensitive: Ваші медіафайли на %{acct} відтепер будуть позначені делікатними
         silence: Ваш обліковий запис %{acct} було обмежено
         suspend: Ваш обліковий запис %{acct} було призупинено
       title:
+        delete_statuses: Дописи вилучено
         disable: Обліковий запис заморожено
         none: Попередження
-        sensitive: Ваші медіа позначено делікатними
+        sensitive: Медіа приховано
         silence: Ообліковий запис обмежено
         suspend: Обліковий запис призупинено
     welcome:
diff --git a/config/locales/vi.yml b/config/locales/vi.yml
index 01caf1ab0..2464bbaa8 100644
--- a/config/locales/vi.yml
+++ b/config/locales/vi.yml
@@ -2,7 +2,7 @@
 vi:
   about:
     about_hashtag_html: Đây là các tút <strong>#%{hashtag}</strong> trên mạng liên hợp. Bạn có thể tương tác với chúng sau khi đăng nhập.
-    about_mastodon_html: 'Mạng xã hội của tương lai: Không quảng cáo, không theo dõi người dùng và phi tập quyền! Làm chủ quyền riêng tư của bạn với Mastodon!'
+    about_mastodon_html: 'Mạng xã hội của tương lai: Không quảng cáo, không bán thông tin người dùng và phi tập trung! Làm chủ dữ liệu của bạn với Mastodon!'
     about_this: Giới thiệu
     active_count_after: hoạt động
     active_footnote: Người dùng hoạt động hàng tháng (MAU)
@@ -21,7 +21,7 @@ vi:
     federation_hint_html: Đăng ký tài khoản %{instance} là bạn có thể giao tiếp với bất cứ ai trên bất kỳ máy chủ Mastodon nào và còn hơn thế nữa.
     get_apps: Ứng dụng di động
     hosted_on: "%{domain} vận hành nhờ Mastodon"
-    instance_actor_flash: Đây là một tài khoản ảo được sử dụng để đại diện cho máy chủ chứ không phải bất kỳ người dùng cá nhân nào. Nó được sử dụng cho mục đích liên kết và không nên chặn trừ khi bạn muốn chặn toàn bộ máy chủ.
+    instance_actor_flash: "Đây là một tài khoản ảo được sử dụng để đại diện cho máy chủ chứ không phải bất kỳ người dùng cá nhân nào. Nó được sử dụng cho mục đích liên kết và không nên chặn trừ khi bạn muốn chặn toàn bộ máy chủ. \n"
     learn_more: Tìm hiểu
     privacy_policy: Chính sách bảo mật
     rules: Quy tắc máy chủ
@@ -48,7 +48,7 @@ vi:
     user_count_after:
       other: người dùng
     user_count_before: Nhà của
-    what_is_mastodon: Mastodon là gì?
+    what_is_mastodon: Tham gia Mastodon
   accounts:
     choices_html: "%{name} tôn vinh:"
     endorsements_hint: Bạn có thể tôn vinh những người bạn theo dõi và họ sẽ hiển thị ở giao diện web.
@@ -93,7 +93,6 @@ vi:
     accounts:
       add_email_domain_block: Chặn tên miền email
       approve: Phê duyệt
-      approve_all: Phê duyệt tất cả
       approved_msg: Đã phê duyệt %{username} đăng ký thành công
       are_you_sure: Bạn có chắc không?
       avatar: Ảnh đại diện
@@ -108,11 +107,12 @@ vi:
       confirm: Phê duyệt
       confirmed: Đã xác thực
       confirming: Chờ xác nhận
+      custom: Tùy chỉnh
       delete: Xóa dữ liệu
       deleted: Đã xóa
-      demote: Xóa chức vụ
+      demote: Xóa vai trò
       destroyed_msg: Dữ liệu %{username} sẽ được lên lịch xóa ngay bây giờ
-      disable: Tạm khóa
+      disable: Khóa
       disable_sign_in_token_auth: Tắt xác thực bằng email
       disable_two_factor_authentication: Vô hiệu hóa xác thực hai bước
       disabled: Đã vô hiệu hóa
@@ -147,7 +147,6 @@ vi:
         active: Hoạt động
         all: Toàn bộ
         pending: Chờ xử lý
-        silenced: Hạn chế
         suspended: Vô hiệu hóa
         title: Trạng thái
       moderation_notes: Nhật ký kiểm duyệt
@@ -158,14 +157,13 @@ vi:
       not_subscribed: Chưa đăng ký
       pending: Chờ duyệt
       perform_full_suspension: Vô hiệu hóa
-      promote: Chỉ định chức vụ
+      promote: Chỉ định vai trò
       protocol: Giao thức
       public: Công khai
       push_subscription_expires: Đăng ký PuSH hết hạn
       redownload: Làm mới trang cá nhân
       redownloaded_msg: Đã tiếp nhận tài khoản %{username} thành công
       reject: Từ chối
-      reject_all: Từ chối tất cả
       rejected_msg: Đã từ chối đăng ký tài khoản %{username}
       remove_avatar: Xóa ảnh đại diện
       remove_header: Xóa ảnh bìa
@@ -178,7 +176,7 @@ vi:
       reset: Làm tươi
       reset_password: Đặt lại mật khẩu
       resubscribe: Đăng ký lại
-      role: Chức vụ
+      role: Vai trò
       roles:
         admin: Quản trị viên
         moderator: Kiểm duyệt viên
@@ -200,12 +198,14 @@ vi:
       silence: Ẩn
       silenced: Hạn chế
       statuses: Tút
+      strikes: Những lần trước
       subscribe: Đăng ký
       suspended: Vô hiệu hóa
       suspension_irreversible: Toàn bộ dữ liệu của người dùng này sẽ bị xóa hết. Bạn vẫn có thể ngừng vô hiệu hóa nhưng dữ liệu sẽ không thể phục hồi.
       suspension_reversible_hint_html: Mọi dữ liệu của người này sẽ bị xóa sạch vào %{date}. Trước thời hạn này, dữ liệu vẫn có thể phục hồi. Nếu bạn muốn xóa dữ liệu của người này ngay lập tức, hãy tiếp tục.
-      time_in_queue: Đang chờ cách đây %{time}
       title: Tài khoản
+      unblock_email: Mở khóa địa chỉ email
+      unblocked_email_msg: Mở khóa thành công địa chỉ email của %{username}
       unconfirmed_email: Email chưa được xác thực
       undo_sensitized: Đánh dấu bình thường
       undo_silenced: Bỏ hạn chế
@@ -220,6 +220,7 @@ vi:
       whitelisted: Danh sách trắng
     action_logs:
       action_types:
+        approve_user: Phê duyệt người dùng
         assigned_to_self_report: Tự xử lý báo cáo
         change_email_user: Đổi email
         confirm_user: Xác thực
@@ -231,24 +232,26 @@ vi:
         create_email_domain_block: Tạo chặn tên miền email mới
         create_ip_block: Tạo chặn IP mới
         create_unavailable_domain: Tạo máy chủ không khả dụng
-        demote_user: Xóa chức vụ
+        demote_user: Xóa vai trò
         destroy_announcement: Xóa thông báo
         destroy_custom_emoji: Xóa emoji
         destroy_domain_allow: Xóa máy chủ cho phép
         destroy_domain_block: Xóa máy chủ đã chặn
         destroy_email_domain_block: Xóa tên miền email đã chặn
+        destroy_instance: Thanh trừng máy chủ
         destroy_ip_block: Xóa IP đã chặn
         destroy_status: Xóa tút
         destroy_unavailable_domain: Xóa máy chủ không khả dụng
         disable_2fa_user: Vô hiệu hóa 2FA
         disable_custom_emoji: Vô hiệu hóa emoji
         disable_sign_in_token_auth_user: Tắt xác thực bằng email cho người dùng
-        disable_user: Tạm khóa người dùng
+        disable_user: Khóa người dùng
         enable_custom_emoji: Kích hoạt Emoji
         enable_sign_in_token_auth_user: Bật xác thực bằng email cho người dùng
         enable_user: Kích hoạt lại người dùng
         memorialize_account: Đánh dấu tưởng niệm
-        promote_user: Chỉ định chức vụ
+        promote_user: Chỉ định vai trò
+        reject_user: Từ chối người dùng
         remove_avatar_user: Xóa ảnh đại diện
         reopen_report: Mở lại báo cáo
         reset_password_user: Đặt lại mật khẩu
@@ -257,6 +260,7 @@ vi:
         silence_account: Đánh dấu hạn chế
         suspend_account: Đánh dấu vô hiệu hóa
         unassigned_report: Báo cáo chưa xử lý
+        unblock_email_account: Mở khóa địa chỉ email
         unsensitive_account: Bỏ nhạy cảm
         unsilence_account: Bỏ hạn chế
         unsuspend_account: Bỏ vô hiệu hóa
@@ -265,6 +269,7 @@ vi:
         update_domain_block: Cập nhật máy chủ chặn
         update_status: Cập nhật tút
       actions:
+        approve_user_html: "%{name} đã chấp nhận đăng ký từ %{target}"
         assigned_to_self_report_html: "%{name} tự xử lý báo cáo %{target}"
         change_email_user_html: "%{name} đã thay đổi địa chỉ email cho %{target}"
         confirm_user_html: "%{name} xác nhận địa chỉ email của người dùng %{target}"
@@ -276,12 +281,13 @@ vi:
         create_email_domain_block_html: "%{name} chặn tên miền email %{target}"
         create_ip_block_html: "%{name} đã chặn IP %{target}"
         create_unavailable_domain_html: "%{name} ngưng phân phối với máy chủ %{target}"
-        demote_user_html: "%{name} đã xóa chức vụ %{target}"
+        demote_user_html: "%{name} đã xóa vai trò của %{target}"
         destroy_announcement_html: "%{name} xóa thông báo %{target}"
         destroy_custom_emoji_html: "%{name} đã xóa emoji %{target}"
         destroy_domain_allow_html: "%{name} đã ngừng liên hợp với %{target}"
         destroy_domain_block_html: "%{name} bỏ chặn tên miền email %{target}"
         destroy_email_domain_block_html: "%{name} bỏ chặn tên miền email %{target}"
+        destroy_instance_html: "%{name} thanh trừng máy chủ %{target}"
         destroy_ip_block_html: "%{name} bỏ chặn IP %{target}"
         destroy_status_html: "%{name} đã xóa tút của %{target}"
         destroy_unavailable_domain_html: "%{name} tiếp tục phân phối với máy chủ %{target}"
@@ -293,7 +299,8 @@ vi:
         enable_sign_in_token_auth_user_html: "%{name} bật xác thực email của %{target}"
         enable_user_html: "%{name} mở khóa cho người dùng %{target}"
         memorialize_account_html: "%{name} đã biến tài khoản %{target} thành một trang tưởng niệm"
-        promote_user_html: "%{name} chỉ định chức vụ cho %{target}"
+        promote_user_html: "%{name} chỉ định vai trò cho %{target}"
+        reject_user_html: "%{name} đã từ chối đăng ký từ %{target}"
         remove_avatar_user_html: "%{name} đã xóa ảnh đại diện của %{target}"
         reopen_report_html: "%{name} mở lại báo cáo %{target}"
         reset_password_user_html: "%{name} đặt lại mật khẩu của người dùng %{target}"
@@ -302,6 +309,7 @@ vi:
         silence_account_html: "%{name} đã ẩn %{target}"
         suspend_account_html: "%{name} đã vô hiệu hóa %{target}"
         unassigned_report_html: "%{name} đã xử lý báo cáo %{target} chưa xử lí"
+        unblock_email_account_html: "%{name} mở khóa địa chỉ email của %{target}"
         unsensitive_account_html: "%{name} đánh dấu nội dung của %{target} là bình thường"
         unsilence_account_html: "%{name} đã bỏ ẩn %{target}"
         unsuspend_account_html: "%{name} đã ngừng vô hiệu hóa %{target}"
@@ -365,9 +373,25 @@ vi:
       updated_msg: Cập nhật thành công Emoji!
       upload: Tải lên
     dashboard:
+      active_users: người dùng hoạt động
+      interactions: tương tác
+      media_storage: Dung lượng lưu trữ
+      new_users: người dùng mới
+      opened_reports: báo cáo chưa xử lí
+      pending_reports_html:
+        other: "<strong>%{count}</strong> báo cáo đang chờ"
+      pending_tags_html:
+        other: "<strong>%{count}</strong> hashtag đang chờ"
+      pending_users_html:
+        other: "<strong>%{count}</strong> người dùng đang chờ"
+      resolved_reports: báo cáo đã xử lí
       software: Phần mềm
+      sources: Nguồn đăng ký
       space: Dung lượng lưu trữ
       title: Thống kê
+      top_languages: Ngôn ngữ phổ biến
+      top_servers: Máy chủ phổ biến
+      website: Website
     domain_allows:
       add_new: Cho phép liên hợp với máy chủ
       created_msg: Máy chủ đã được kích hoạt liên hợp thành công
@@ -439,6 +463,7 @@ vi:
       back_to_limited: Hạn chế
       back_to_warning: Cảnh báo
       by_domain: Máy chủ
+      confirm_purge: Bạn có chắc chắn muốn xóa dữ liệu từ máy chủ này vĩnh viễn?
       delivery:
         all: Toàn bộ
         clear: Xóa phân phối lỗi
@@ -453,6 +478,7 @@ vi:
       delivery_available: Cho phép liên kết
       delivery_error_days: Ngày lỗi phân phối
       delivery_error_hint: Nếu không thể phân phối sau %{count} ngày, nó sẽ tự dộng đánh dấu là không thể phân phối.
+      destroyed_msg: Dữ liệu từ %{domain} đã lên lịch để xóa.
       empty: Không có máy chủ nào.
       known_accounts:
         other: "%{count} tài khoản đã biết"
@@ -462,6 +488,7 @@ vi:
         title: Kiểm duyệt
       private_comment: Bình luận riêng
       public_comment: Bình luận công khai
+      purge: Thanh trừng
       title: Mạng liên hợp
       total_blocked_by_us: Bị chặn bởi chúng ta
       total_followed_by_them: Được họ theo dõi
@@ -491,8 +518,6 @@ vi:
         title: Chặn một IP mới
       no_ip_block_selected: Bạn chưa chọn bất kỳ IP nào
       title: Những IP bị chặn
-    pending_accounts:
-      title: Tài khoản đang chờ xem xét (%{count})
     relationships:
       title: Mối quan hệ của %{acct}
     relays:
@@ -514,30 +539,43 @@ vi:
     report_notes:
       created_msg: Đã thêm ghi chú kiểm duyệt!
       destroyed_msg: Đã xóa ghi chú kiểm duyệt!
+      today_at: Hôm nay lúc %{time}
     reports:
       account:
         notes:
           other: "%{count} kiểm duyệt"
-        reports:
-          other: "%{count} báo cáo"
+      action_log: Nhật ký kiểm duyệt
       action_taken_by: Hành động được thực hiện bởi
+      actions:
+        other_description_html: Những tùy chọn để kiểm soát tài khoản và giao tiếp với tài khoản bị báo cáo.
+        silence_description_html: Trang cá nhân sẽ chỉ hiển thị với những người đã theo dõi hoặc tìm kiếm thủ công, hạn chế tối đa tầm ảnh hưởng của nó. Có thể đổi lại bình thường sau.
+        suspend_description_html: Trang cá nhân và tất cả các nội dung sẽ không thể truy cập cho đến khi nó bị xóa hoàn toàn. Không thể tương tác với tài khoản. Đảo ngược trong vòng 30 ngày.
+      actions_description_html: 'Nếu loại bỏ nội dung vi phạm ở trên là không đủ:'
+      add_to_report: Bổ sung báo cáo
       are_you_sure: Bạn có chắc không?
       assign_to_self: Giao cho tôi
       assigned: Người xử lý
       by_target_domain: Tên tài khoản bị báo cáo
+      category: Phân loại
+      category_description_html: Lý do tài khoản hoặc nội dung này bị báo cáo sẽ được trích dẫn trong giao tiếp với tài khoản báo cáo
       comment:
         none: Không có mô tả
+      comment_description_html: 'Để cung cấp thêm thông tin, %{name} cho biết:'
       created_at: Báo cáo lúc
+      delete_and_resolve: Xóa và giải quyết
       forwarded: Chuyển tiếp
       forwarded_to: Chuyển tiếp tới %{domain}
       mark_as_resolved: Đã xử lý xong!
       mark_as_unresolved: Mở lại
+      no_one_assigned: Chưa có
       notes:
         create: Ghi chú
         create_and_resolve: Xử lý
         create_and_unresolve: Mở lại kèm ghi chú mới
         delete: Xóa bỏ
         placeholder: Mô tả vi phạm của người này, mức độ xử lý và những cập nhật liên quan khác...
+        title: Ghi chú
+      notes_description_html: Xem và để lại ghi chú cho các kiểm duyệt viên khác
       reopen: Mở lại báo cáo
       report: 'Báo cáo #%{id}'
       reported_account: Tài khoản bị báo cáo
@@ -545,11 +583,14 @@ vi:
       resolved: Đã xử lý xong
       resolved_msg: Đã xử lý báo cáo xong!
       status: Trạng thái
+      statuses: Nội dung bị báo cáo
+      statuses_description_html: Lý do tài khoản hoặc nội dung này bị báo cáo sẽ được trích dẫn trong giao tiếp với tài khoản báo cáo
       target_origin: Nguồn đã báo cáo người dùng
       title: Báo cáo
       unassign: Bỏ qua
       unresolved: Chờ xử lý
       updated_at: Cập nhật lúc
+      view_profile: Xem trang cá nhân
     rules:
       add_new: Thêm quy tắc
       delete: Xóa bỏ
@@ -584,7 +625,7 @@ vi:
         desc_html: Hiển thị trên trang chủ. Kích cỡ tối thiểu 600x100px. Mặc định dùng hình thu nhỏ của máy chủ
         title: Hình ảnh giới thiệu
       mascot:
-        desc_html: Hiển thị trên nhiều trang. Kích cỡ tối thiểu 293 × 205px. Mặc định dùng linh vật Mastodon
+        desc_html: Hiển thị trên nhiều trang. Kích cỡ tối thiểu 293 x 205px. Mặc định dùng linh vật Mastodon
         title: Logo máy chủ
       peers_api_enabled:
         desc_html: Tên miền mà máy chủ này đã kết giao trong mạng liên hợp
@@ -651,15 +692,13 @@ vi:
       destroyed_msg: Đã xóa tập tin tải lên thành công!
     statuses:
       back_to_account: Quay lại trang tài khoản
+      back_to_report: Quay lại trang báo cáo
       batch:
-        delete: Xóa bỏ
-        nsfw_off: Đánh dấu là bình thường
-        nsfw_on: Đánh dấu là nhạy cảm
+        remove_from_report: Xóa khỏi báo cáo
+        report: Báo cáo
       deleted: Đã xóa
-      failed_to_execute: Không thể thực thi
       media:
         title: Media
-      no_media: Toàn bộ
       no_status_selected: Bạn chưa chọn bất kỳ tút nào
       title: Toàn bộ tút
       with_media: Có media
@@ -672,21 +711,49 @@ vi:
       sidekiq_process_check:
         message_html: Sidekiq không hoạt động khi truy vấn %{value}. Hãy kiểm tra lại cấu hình Sidekiq
     tags:
-      accounts_today: Sử dụng hôm nay
-      accounts_week: Sử dụng trong tuần
-      breakdown: Thống kê số lượt dùng hôm nay
-      last_active: Hôm nay
-      most_popular: Phổ biến nhất
-      most_recent: Gần đây
-      name: Hashtag
       review: Phê duyệt
-      reviewed: Đã phê duyệt
-      title: Hashtag
-      trending_right_now: Xu hướng
-      unique_uses_today: "%{count} tút dùng hôm nay"
-      unreviewed: Chưa phê duyệt
       updated_msg: Hashtag đã được cập nhật thành công
     title: Quản trị
+    trends:
+      allow: Cho phép
+      approved: Đã cho phép
+      disallow: Cấm
+      links:
+        allow: Liên kết cho phép
+        allow_provider: Nguồn đăng cho phép
+        disallow: Liên kết cấm
+        disallow_provider: Nguồn đăng bị cấm
+        shared_by_over_week:
+          other: Chia sẻ bởi %{count} người trong tuần rồi
+        title: Liên kết đang là xu hướng
+        usage_comparison: Chia sẻ %{today} lần hôm nay, so với %{yesterday} lần hôm qua
+      pending_review: Đang chờ
+      preview_card_providers:
+        allowed: Liên kết từ nguồn đăng này có thể thành xu hướng
+        rejected: Liên kết từ nguồn đăng không thể thành xu hướng
+        title: Nguồn đăng
+      rejected: Đã cấm
+      tags:
+        current_score: Chỉ số gần đây %{score}
+        dashboard:
+          tag_accounts_measure: lần dùng
+          tag_languages_dimension: Top ngôn ngữ
+          tag_servers_dimension: Top máy chủ
+          tag_servers_measure: máy chủ khác
+          tag_uses_measure: tổng người dùng
+        listable: Có thể đề xuất
+        not_listable: Không thể đề xuất
+        not_trendable: Không xuất hiện xu hướng
+        not_usable: Không được phép dùng
+        peaked_on_and_decaying: Đỉnh điểm %{date}, giờ đang giảm
+        title: Hashtag xu hướng
+        trendable: Có thể xuất hiện thành xu hướng
+        trending_rank: 'Xu hướng #%{rank}'
+        usable: Có thể dùng
+        usage_comparison: Dùng %{today} lần hôm nay, so với %{yesterday} hôm qua
+        used_by_over_week:
+          other: Dùng bởi %{count} người tuần rồi
+      title: Xu hướng
     warning_presets:
       add_new: Thêm mới
       delete: Xóa bỏ
@@ -701,9 +768,16 @@ vi:
       body: "%{reporter} vừa báo cáo %{target}"
       body_remote: Ai đó từ %{domain} đã báo cáo %{target}
       subject: "(%{instance}) Báo cáo #%{id}"
-    new_trending_tag:
-      body: 'Hashtag # %{name} đang là xu hướng nhưng chưa được kiểm duyệt. Nó sẽ không được hiển thị công khai trừ khi bạn cho phép. Bỏ qua nếu bạn không bao giờ muốn thấy nó xuất hiện.'
-      subject: Hashtag mới được xem xét trên %{instance} (# %{name})
+    new_trending_links:
+      body: Các liên kết này đang là xu hướng hôm nay, nhưng các nguồn đăng của chúng chưa được xem xét trước đây. Chúng sẽ không được hiển thị công khai trừ khi bạn cho phép chúng. Các thông báo khác từ cùng một nguồn đăng sẽ không được tạo.
+      no_approved_links: Hiện tại không có liên kết xu hướng nào được cho phép.
+      requirements: Liên kết xu hướng được cho phép thấp nhất hiện tại là "%{lowest_link_title}" với chỉ số %{lowest_link_score}.
+      subject: Liên kết xu hướng mới chờ duyệt trên %{instance}
+    new_trending_tags:
+      body: 'Các hashtag này đang là xu hướng hôm nay, nhưng chúng chưa được xem xét trước đó. Chúng sẽ không được hiển thị công khai trừ khi bạn cho phép chúng:'
+      no_approved_tags: Hiện tại không có hashtag xu hướng nào được cho phép.
+      requirements: 'Hashtag xu hướng được cho phép thấp nhất hiện tại là #%{lowest_tag_name} với chỉ số %{lowest_tag_score}.'
+      subject: Hashtag xu hướng mới chờ duyệt trên %{instance}
   aliases:
     add_new: Kết nối tài khoản
     created_msg: Tạo thành công một tên hiển thị mới. Bây giờ bạn có thể bắt đầu di chuyển từ tài khoản cũ.
@@ -755,6 +829,7 @@ vi:
     invalid_reset_password_token: Mã đặt lại mật khẩu không hợp lệ hoặc hết hạn. Vui lòng yêu cầu một cái mới.
     link_to_otp: Nhập mã xác thực từ điện thoại hoặc mã phục hồi
     link_to_webauth: Nhập khóa bảo mật từ thiết bị
+    log_in_with: Đăng nhập bằng
     login: Đăng nhập
     logout: Đăng xuất
     migrate_account: Chuyển sang tài khoản khác
@@ -910,33 +985,14 @@ vi:
     changes_saved_msg: Đã cập nhật thay đổi xong!
     copy: Sao chép
     delete: Xóa
-    no_batch_actions_available: Không có sẵn hành động hàng loạt trên trang này
+    none: Trống
     order_by: Sắp xếp
     save_changes: Lưu thay đổi
+    today: hôm nay
     validation_errors:
       other: Đã có %{count} lỗi xảy ra! Xem chi tiết bên dưới
   html_validator:
     invalid_markup: 'chứa đánh dấu HTML không hợp lệ: %{error}'
-  identity_proofs:
-    active: Hoạt động
-    authorize: OK, cho phép
-    authorize_connection_prompt: Cho phép kết nối mã hóa này?
-    errors:
-      failed: Kết nối mã hóa không thành công. Vui lòng thử lại từ %{provider}.
-      keybase:
-        invalid_token: Mã đăng nhập Keybase giống như chữ ký số và phải đảm bảo 66 ký tự hex
-        verification_failed: Keybase không nhận ra mã đăng nhập này là chữ ký của người dùng Keybase %{kb_username}. Vui lòng thử lại từ Keybase.
-      wrong_user: Không thể tạo bằng chứng cho %{proving} trong khi đăng nhập là %{current}. Đăng nhập bằng %{proving} và thử lại.
-    explanation_html: Tại đây, bạn có thể kết nối mã hóa tài khoản của bạn trên các nền tảng khác, chẳng hạn như Keybase. Điều này cho phép người khác gửi cho bạn tin nhắn được mã hóa và tin tưởng nội dung bạn gửi cho họ.
-    i_am_html: Tôi là %{username} trên %{service}.
-    identity: Danh tính
-    inactive: Không hoạt động
-    publicize_checkbox: 'Và tút này:'
-    publicize_toot: 'Đã chứng minh! Tôi là %{username} trên %{service}: %{url}'
-    remove: Xóa bằng chứng của tài khoản
-    removed: Hoàn tất xóa bằng chứng của tài khoản
-    status: Tình trạng xác minh
-    view_proof: Xem bằng chứng
   imports:
     errors:
       over_rows_processing_limit: chứa nhiều hơn %{count} hàng
@@ -1149,6 +1205,9 @@ vi:
     reply:
       proceed: Tiếp tục trả lời
       prompt: Bạn có muốn trả lời tút này?
+  reports:
+    errors:
+      invalid_rules: không đúng với quy tắc
   scheduled_statuses:
     over_daily_limit: Bạn đã vượt qua giới hạn được lên lịch đăng tút %{limit} hôm nay
     over_total_limit: Bạn đã vượt quá giới hạn %{limit} của các tút được lên lịch
@@ -1207,7 +1266,6 @@ vi:
     edit_profile: Trang cá nhân
     export: Xuất dữ liệu
     featured_tags: Hashtag thường dùng
-    identity_proofs: Bằng chứng nhận dạng
     import: Nhập dữ liệu
     import_and_export: Dữ liệu
     migrate: Chuyển tài khoản sang máy chủ khác
@@ -1229,17 +1287,18 @@ vi:
         other: "%{count} video"
     boosted_from_html: Đã chia sẻ từ %{acct_link}
     content_warning: 'Cảnh báo nội dung: %{warning}'
+    default_language: Giống ngôn ngữ giao diện
     disallowed_hashtags:
       other: 'chứa các hashtag bị cấm: %{tags}'
+    edited_at: Đã sửa %{date}
     errors:
       in_reply_not_found: Bạn đang trả lời một tút không còn tồn tại.
-    language_detection: Tự động phát hiện ngôn ngữ
     open_in_web: Xem trong web
     over_character_limit: vượt quá giới hạn %{max} ký tự
     pin_errors:
+      direct: Không thể ghim những tút nhắn riêng
       limit: Bạn đã ghim quá số lượng tút cho phép
       ownership: Không thể ghim tút của người khác
-      private: Tút riêng tư nên không thể ghim
       reblog: Không thể ghim chia sẻ
     poll:
       total_people:
@@ -1254,7 +1313,7 @@ vi:
     sign_in_to_participate: Đăng nhập để trả lời tút này
     title: '%{name}: "%{quote}"'
     visibilities:
-      direct: Nhắn tin
+      direct: Nhắn riêng
       private: Riêng tư
       private_long: Chỉ người theo dõi mới được xem
       public: Công khai
@@ -1359,6 +1418,7 @@ vi:
     formats:
       default: "%d.%m.%Y %H:%M"
       month: "%B %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Thêm
     disable: Vô hiệu hóa
@@ -1386,24 +1446,31 @@ vi:
       subject: Xác nhận đăng nhập
       title: Đăng nhập
     warning:
+      categories:
+        spam: Spam
+        violation: Nội dung vi phạm quy tắc cộng đồng
       explanation:
-        disable: Bạn bị cấm đăng nhập tài khoản. Tuy nhiên, trang cá nhân và dữ liệu của bạn vẫn sẽ được giữ nguyên.
-        sensitive: Ảnh và video tải lên của bạn sẽ bị đánh dấu là nhạy cảm.
-        silence: Bạn vẫn có thể dùng tài khoản của bạn. Tuy nhiên, chỉ có những người đang theo dõi bạn mới có thể thấy tút của bạn. Bạn sẽ bị loại khỏi danh sách của một số người. Những người mới khác vẫn có thể theo dõi bạn bình thường.
-        suspend: Tài khoản của bạn đã bị vô hiệu hóa. Tất cả tút và tập tin mà bạn đã tải lên sẽ không thể truy cập được nữa. Bạn vẫn có thể đăng nhập để yêu cầu tải về bản sao dữ liệu của bạn. Tuy nhiên, chúng tôi sẽ giữ lại một vài dữ liệu để ngăn ngừa bạn trốn tránh trách nhiệm.
-      get_in_touch: Bạn có thể trả lời e-mail này để liên hệ với đội ngũ của %{instance}.
+        delete_statuses: Một số bài đăng của bạn đã vi phạm một hoặc nhiều quy tắc cộng đồng và bị gỡ bỏ bởi kiểm duyệt viên %{instance}. Các vi phạm trong tương lai có thể dẫn đến các hành động trừng phạt khắc nghiệt hơn so với tài khoản của bạn.
+        disable: Bạn không còn có thể sử dụng tài khoản của mình, nhưng hồ sơ của bạn và dữ liệu khác vẫn còn nguyên. Bạn có thể yêu cầu sao lưu dữ liệu của mình, thay đổi cài đặt tài khoản hoặc xóa tài khoản của bạn.
+        sensitive: Từ giờ trở đi, tất cả các media của bạn bạn tải lên sẽ được đánh dấu là nhạy cảm và ẩn đằng sau cảnh báo nhấp chuột.
+        silence: Bạn vẫn có thể sử dụng tài khoản của mình, nhưng chỉ những người đang theo dõi bạn mới thấy bài đăng của bạn. Bạn cũng bị loại khỏi các tính năng khám phá khác. Tuy nhiên, những người khác vẫn có thể theo dõi bạn.
+        suspend: Bạn không còn có thể sử dụng tài khoản của bạn, hồ sơ và các dữ liệu khác không còn có thể truy cập được. Bạn vẫn có thể đăng nhập để yêu cầu sao lưu dữ liệu của mình cho đến khi dữ liệu bị xóa hoàn toàn trong khoảng 30 ngày, nhưng chúng tôi sẽ giữ lại một số dữ liệu cơ bản để ngăn bạn tránh bị đình chỉ.
+      get_in_touch: Nếu bạn tin rằng đây là lỗi, bạn có thể trả lời e-mail này để liên lạc với các nhân viên của %{instance}.
+      reason: 'Lý do:'
       review_server_policies: Xem lại quy tắc của máy chủ
-      statuses: 'Cụ thể, cho:'
+      statuses: 'Đây là những tút vi phạm:'
       subject:
+        delete_statuses: Những tút %{acct} của bạn đã bị xóa bỏ
         disable: Tài khoản %{acct} của bạn đã bị vô hiệu hóa
         none: Cảnh báo cho %{acct}
-        sensitive: Ảnh và video tải lên của %{acct} sẽ bị đánh dấu là nhạy cảm
+        sensitive: Những tập tin media %{acct} sẽ bị đánh dấu nhạy cảm kể từ bây giờ
         silence: Tài khoản %{acct} của bạn đã bị hạn chế
         suspend: Tài khoản %{acct} của bạn đã bị vô hiệu hóa
       title:
+        delete_statuses: Tút đã bị xóa
         disable: Tài khoản bị đóng băng
         none: Cảnh báo
-        sensitive: Ảnh và video của bạn sẽ bị đánh dấu nhạy cảm
+        sensitive: Media đã bị ẩn
         silence: Tài khoản bị hạn chế
         suspend: Toài khoản bị vô hiệu hóa
     welcome:
diff --git a/config/locales/zgh.yml b/config/locales/zgh.yml
index 5893d0c8a..898dd8da5 100644
--- a/config/locales/zgh.yml
+++ b/config/locales/zgh.yml
@@ -85,14 +85,9 @@ zgh:
       site_title: ⵉⵙⵎ ⵏ ⵓⵎⴰⴽⴽⴰⵢ
       title: ⵜⵉⵙⵖⴰⵍ ⵏ ⵡⴰⵙⵉⵜ
     statuses:
-      batch:
-        delete: ⴽⴽⵙ
       media:
         title: ⵉⵙⵏⵖⵎⵉⵙⵏ
       with_media: ⵙ ⵉⵙⵏⵖⵎⵉⵙⵏ
-    tags:
-      name: ⵀⴰⵛⵟⴰⴳ
-      title: ⵉⵀⴰⵛⵟⴰⴳⵏ
     warning_presets:
       delete: ⴽⴽⵙ
   application_mailer:
diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml
index 5fefb96f9..33a15c126 100644
--- a/config/locales/zh-CN.yml
+++ b/config/locales/zh-CN.yml
@@ -5,7 +5,7 @@ zh-CN:
     about_mastodon_html: Mastodon 是一个建立在开放式网络协议和自由、开源软件之上的社交网络,有着类似于电子邮件的分布式设计。
     about_this: 关于本站
     active_count_after: 活跃用户
-    active_footnote: 每月活跃用户
+    active_footnote: 每月活跃用户(MAU)
     administered_by: 本站管理员:
     api: API
     apps: 移动应用
@@ -20,13 +20,13 @@ zh-CN:
     documentation: 文档
     federation_hint_html: 在 %{instance} 上拥有账号后,你可以关注任何兼容Mastodon的服务器上的人。
     get_apps: 尝试移动应用
-    hosted_on: 一个在 %{domain} 上运行的 Mastodon 实例
+    hosted_on: 运行在 %{domain} 上的 Mastodon 实例
     instance_actor_flash: "这个账号是个虚拟帐号,不代表任何用户,只用来代表服务器本身。它用于和其它服务器互通,所以不应该被封禁,除非你想封禁整个实例。但是想封禁整个实例的时候,你应该用域名封禁。 \n"
     learn_more: 了解详情
     privacy_policy: 隐私政策
     rules: 服务器规则
     rules_html: 如果你想要在此Mastodon服务器上拥有一个账户,你必须遵守相应的规则,摘要如下:
-    see_whats_happening: 看一看现在在发生什么
+    see_whats_happening: 看看有什么新鲜事
     server_stats: 服务器统计数据:
     source_code: 源码
     status_count_after:
@@ -44,14 +44,14 @@ zh-CN:
       silenced_title: 已隐藏的服务器
       suspended: 这些服务器的数据将不会被处理、存储或者交换,本站也将无法和来自这些服务器的用户互动或者交流。
       suspended_title: 已封禁的服务器
-    unavailable_content_html: 通常来说,在Mastodon上,你可以浏览联邦宇宙中任何一台服务器上的内容,并且和上面的用户互动。但是某些站点上不排除会有例外。
+    unavailable_content_html: 通常来说,在 Mastodon 上,你可以浏览联邦宇宙中任何一台服务器上的内容,并且和上面的用户互动。但是某些站点上不排除会有例外。
     user_count_after:
       other: 位用户
     user_count_before: 这里共注册有
     what_is_mastodon: Mastodon 是什么?
   accounts:
     choices_html: "%{name} 的推荐:"
-    endorsements_hint: 你可以在web界面上推荐你关注的人,他们会显示在这里。
+    endorsements_hint: 你可以在 web 界面上推荐你关注的人,他们会显示在这里。
     featured_tags_hint: 你可以精选一些话题标签展示在这里。
     follow: 关注
     followers:
@@ -86,15 +86,14 @@ zh-CN:
       action: 执行操作
       title: 在 %{acct} 上执行管理操作
     account_moderation_notes:
-      create: 新建
-      created_msg: 管理备忘建立成功!
+      create: 新增记录
+      created_msg: 管理记录已创建!
       delete: 删除
-      destroyed_msg: 管理备忘删除成功!
+      destroyed_msg: 管理记录删除成功!
     accounts:
       add_email_domain_block: 封禁电子邮箱域名
       approve: 批准
-      approve_all: 全部批准
-      approved_msg: 成功批准 %{username} 的注册申请
+      approved_msg: 已批准 %{username} 的注册申请
       are_you_sure: 你确定吗?
       avatar: 头像
       by_domain: 域名
@@ -107,14 +106,15 @@ zh-CN:
         title: 为 %{username} 更改电子邮箱
       confirm: 确认
       confirmed: 已确认
-      confirming: 确认中
+      confirming: 等待确认
+      custom: 自定义
       delete: 删除数据
       deleted: 已删除
       demote: 降任
-      destroyed_msg: "%{username} 的数据已进入等待队列,即将被删除"
+      destroyed_msg: "%{username} 的数据已被安排至删除队列"
       disable: 冻结
       disable_sign_in_token_auth: 禁用电子邮件令牌认证
-      disable_two_factor_authentication: 停用双重认证
+      disable_two_factor_authentication: 停用两步认证
       disabled: 已冻结
       display_name: 昵称
       domain: 域名
@@ -136,7 +136,7 @@ zh-CN:
       location:
         all: 全部
         local: 本站
-        remote: 远程
+        remote: 远端实例
         title: 位置
       login_status: 登录状态
       media_attachments: 媒体文件
@@ -147,7 +147,6 @@ zh-CN:
         active: 活跃
         all: 全部
         pending: 待审核
-        silenced: 已隐藏
         suspended: 已封禁
         title: 管理
       moderation_notes: 管理员备注
@@ -165,8 +164,7 @@ zh-CN:
       redownload: 刷新个人资料
       redownloaded_msg: 成功从来源处刷新 %{username} 的用户资料
       reject: 拒绝
-      reject_all: 拒绝全部
-      rejected_msg: 成功拒绝 %{username} 的注册申请
+      rejected_msg: 已拒绝 %{username} 的注册申请
       remove_avatar: 删除头像
       remove_header: 删除横幅图片
       removed_avatar_msg: 成功删除 %{username} 的头像
@@ -200,12 +198,14 @@ zh-CN:
       silence: 隐藏
       silenced: 已隐藏
       statuses: 嘟文
+      strikes: 既往处罚
       subscribe: 订阅
       suspended: 已封禁
       suspension_irreversible: 该帐号的数据已被不可逆转地删除。你可以取消暂停该帐号以使其可用,但它不会恢复以前拥有的任何数据。
       suspension_reversible_hint_html: 帐号已封禁,数据将在 %{date} 完全删除。 在此之前,帐号仍可恢复,并且没有任何不良影响。 如果你想立即移除该帐号的所有数据,可以在下面进行。
-      time_in_queue: 已经等待了 %{time}
       title: 用户
+      unblock_email: 取消屏蔽邮件地址
+      unblocked_email_msg: 成功取消屏蔽了 %{username} 的邮件地址
       unconfirmed_email: 待验证的电子邮件地址
       undo_sensitized: 去除敏感内容标记
       undo_silenced: 解除隐藏
@@ -220,6 +220,7 @@ zh-CN:
       whitelisted: 允许跨站交互
     action_logs:
       action_types:
+        approve_user: 批准用户
         assigned_to_self_report: 指派举报
         change_email_user: 为用户修改邮箱地址
         confirm_user: 确认用户
@@ -237,6 +238,7 @@ zh-CN:
         destroy_domain_allow: 解除域名允许
         destroy_domain_block: 解除域名封禁
         destroy_email_domain_block: 解除电子邮箱域名封禁
+        destroy_instance: 删除实例
         destroy_ip_block: 删除 IP 规则
         destroy_status: 删除嘟文
         destroy_unavailable_domain: 删除不可用域名
@@ -249,6 +251,7 @@ zh-CN:
         enable_user: 启用用户
         memorialize_account: 将账户设为追悼模式
         promote_user: 给用户升任
+        reject_user: 拒绝用户
         remove_avatar_user: 移除头像
         reopen_report: 重开举报
         reset_password_user: 重置密码
@@ -257,6 +260,7 @@ zh-CN:
         silence_account: 隐藏用户
         suspend_account: 封禁用户
         unassigned_report: 取消举报的指派
+        unblock_email_account: 取消屏蔽邮件地址
         unsensitive_account: 去除你帐号中媒体的敏感内容标记
         unsilence_account: 解除账号隐藏
         unsuspend_account: 解除账号封禁
@@ -265,6 +269,7 @@ zh-CN:
         update_domain_block: 更新域名屏蔽
         update_status: 更新嘟文
       actions:
+        approve_user_html: "%{name} 批准了用户 %{target} 的注册"
         assigned_to_self_report_html: "%{name} 接管了举报 %{target}"
         change_email_user_html: "%{name} 更改了用户 %{target} 的电子邮件地址"
         confirm_user_html: "%{name} 确认了用户 %{target} 的电子邮件地址"
@@ -282,6 +287,7 @@ zh-CN:
         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} 的投递"
@@ -294,6 +300,7 @@ zh-CN:
         enable_user_html: "%{name} 将用户 %{target} 设置为允许登录"
         memorialize_account_html: "%{name} 将 %{target} 设置为追悼帐户"
         promote_user_html: "%{name} 对用户 %{target} 进行了升任操作"
+        reject_user_html: "%{name} 拒绝了用户 %{target} 的注册"
         remove_avatar_user_html: "%{name} 删除了 %{target} 的头像"
         reopen_report_html: "%{name} 重开了举报 %{target}"
         reset_password_user_html: "%{name} 重置了用户 %{target} 的密码"
@@ -302,6 +309,7 @@ zh-CN:
         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} 的封禁状态"
@@ -365,9 +373,25 @@ zh-CN:
       updated_msg: 表情更新成功!
       upload: 上传新表情
     dashboard:
+      active_users: 活跃用户
+      interactions: 互动数
+      media_storage: 媒体存储
+      new_users: 新用户
+      opened_reports: 被发起的举报
+      pending_reports_html:
+        other: "<strong>%{count}</strong> 个待处理请求"
+      pending_tags_html:
+        other: "<strong>%{count}</strong> 个待处理标签"
+      pending_users_html:
+        other: "<strong>%{count}</strong> 个待处理用户"
+      resolved_reports: 已解决的举报
       software: 软件
+      sources: 注册来源
       space: 存储使用情况
       title: 信息面板
+      top_languages: 最活跃的语言
+      top_servers: 最活跃的服务器
+      website: 网页端
     domain_allows:
       add_new: 允许和域名跨站交互
       created_msg: 域名已被允许跨站交互
@@ -439,6 +463,7 @@ zh-CN:
       back_to_limited: 受限
       back_to_warning: 警告
       by_domain: 域名
+      confirm_purge: 你确认要从这个实例中永久地删除数据吗?
       delivery:
         all: 全部
         clear: 清理投递错误
@@ -453,6 +478,7 @@ zh-CN:
       delivery_available: 可投递
       delivery_error_days: 投递错误天数
       delivery_error_hint: 如果投递已不可用 %{count} 天,它将被自动标记为无法投递。
+      destroyed_msg: "%{domain} 中的数据现在正在排队等待被立刻删除。"
       empty: 暂无域名。
       known_accounts:
         other: "%{count} 个已知帐户"
@@ -462,6 +488,7 @@ zh-CN:
         title: 运营
       private_comment: 私密评论
       public_comment: 公开评论
+      purge: 删除
       title: 已知实例
       total_blocked_by_us: 被我站屏蔽的
       total_followed_by_them: 被对方关注的
@@ -491,8 +518,6 @@ zh-CN:
         title: 创建新 IP 规则
       no_ip_block_selected: 因为没有 IP 规则被选中,所以没有更改
       title: IP 规则
-    pending_accounts:
-      title: 待处理的帐户 (%{count})
     relationships:
       title: "%{acct} 的关系"
     relays:
@@ -514,30 +539,43 @@ zh-CN:
     report_notes:
       created_msg: 举报记录建立成功!
       destroyed_msg: 举报记录删除成功!
+      today_at: 今天 %{time}
     reports:
       account:
         notes:
           other: "%{count} 条笔记"
-        reports:
-          other: "%{count} 个报告"
+      action_log: 审计日志
       action_taken_by: 操作执行者
+      actions:
+        other_description_html: 查看控制该被举报帐号行为以及与其通信范围的更多选项。
+        silence_description_html: 只有关注或手工搜索此帐号才能查看其资料,将严重限制其触达范围。可随时撤销。
+        suspend_description_html: 此帐号及其内容将无法访问,并最终被删除。也无法与该帐号交互。可在30天内撤销。
+      actions_description_html: 若移除上述违规内容仍力度不足:
+      add_to_report: 添加到报告
       are_you_sure: 你确定吗?
       assign_to_self: 接管
       assigned: 已接管的监察员
       by_target_domain: 被举报账户的域名
+      category: 类别
+      category_description_html: 此帐号和/或内容被举报的原因将在与该帐号的通信中被引用。
       comment:
         none: 没有
+      comment_description_html: "%{name} 补充道:"
       created_at: 举报时间
+      delete_and_resolve: 删除并解决
       forwarded: 已转发
       forwarded_to: 转发举报至 %{domain}
       mark_as_resolved: 标记为“已处理”
       mark_as_unresolved: 标记为“未处理”
+      no_one_assigned: 未分派
       notes:
         create: 添加记录
         create_and_resolve: 添加记录并标记为“已处理”
         create_and_unresolve: 添加记录并重开
         delete: 删除
         placeholder: 描述已经执行的操作,或其他任何相关的跟进情况…
+        title: 备注
+      notes_description_html: 查看备注或向其他监察员留言
       reopen: 重开举报
       report: '举报 #%{id}'
       reported_account: 举报用户
@@ -545,11 +583,14 @@ zh-CN:
       resolved: 已处理
       resolved_msg: 举报处理成功!
       status: 状态
+      statuses: 被举报内容
+      statuses_description_html: 违规内容将在与该帐号的通信中被引用
       target_origin: 被举报账号的来源
       title: 举报
       unassign: 取消接管
       unresolved: 未处理
       updated_at: 更新时间
+      view_profile: 查看资料
     rules:
       add_new: 添加规则
       delete: 删除
@@ -651,15 +692,13 @@ zh-CN:
       destroyed_msg: 站点上传的文件已经成功删除!
     statuses:
       back_to_account: 返回帐户信息页
+      back_to_report: 返回举报页
       batch:
-        delete: 删除
-        nsfw_off: 标记为非敏感内容
-        nsfw_on: 标记为敏感内容
+        remove_from_report: 从报告中移除
+        report: 举报
       deleted: 已删除
-      failed_to_execute: 执行失败
       media:
         title: 媒体文件
-      no_media: 不含媒体文件
       no_status_selected: 因为没有嘟文被选中,所以没有更改
       title: 帐户嘟文
       with_media: 含有媒体文件
@@ -672,21 +711,49 @@ zh-CN:
       sidekiq_process_check:
         message_html: "%{value} 队列未运行任何 Sidekiq 进程。请检查你的 Sidekiq 配置"
     tags:
-      accounts_today: 今日活跃用户
-      accounts_week: 本周活跃用户
-      breakdown: 按来源分类今天的使用情况
-      last_active: 最近活动
-      most_popular: 最热门的
-      most_recent: 最近的
-      name: 话题标签
       review: 审核状态
-      reviewed: 已审核
-      title: 话题标签
-      trending_right_now: 当前热门
-      unique_uses_today: 今天发布了 %{count} 条
-      unreviewed: 未审核
       updated_msg: 话题标签设置更新成功
     title: 管理
+    trends:
+      allow: 允许
+      approved: 已批准
+      disallow: 不允许
+      links:
+        allow: 允许链接
+        allow_provider: 允许发布者
+        disallow: 不允许链接
+        disallow_provider: 不允许发布者
+        shared_by_over_week:
+          other: "%{count} 人在过去一周内分享"
+        title: 热门链接
+        usage_comparison: 今日被分享 %{today} 次,前一日为 %{yesterday} 次
+      pending_review: 待审核
+      preview_card_providers:
+        allowed: 来自此发布者的链接可进入流行列表
+        rejected: 来自此发布者的链接不会进入流行列表
+        title: 发布者
+      rejected: 已拒绝
+      tags:
+        current_score: 当前 %{score} 分
+        dashboard:
+          tag_accounts_measure: 独立使用
+          tag_languages_dimension: 语言排行
+          tag_servers_dimension: 服务器排行
+          tag_servers_measure: 不同服务器
+          tag_uses_measure: 总使用
+        listable: 可被推荐
+        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:
+          other: "%{count} 人在过去一周内使用过"
+      title: 流行趋势
     warning_presets:
       add_new: 添加新条目
       delete: 删除
@@ -701,9 +768,16 @@ zh-CN:
       body: "%{reporter} 举报了用户 %{target}"
       body_remote: 来自 %{domain} 的用户举报了用户 %{target}
       subject: 来自 %{instance} 的用户举报(#%{id})
-    new_trending_tag:
-      body: '今日的热门话题 #%{name} 之前未经审核。直到你允许之前这个话题将不会公开显示,或者就保持原样让它石沉大海。'
-      subject: 在 %{instance} 有新话题 (#%{name}) 待审核
+    new_trending_links:
+      body: 以下为今日流行的链接,但它们的发布者尚未经过审核。在您批准前它们不会被公开显示。来自相同发布者的更多通知不会被生成。
+      no_approved_links: 当前没有经过批准的流行链接。
+      requirements: 已批准流行链接中最低的是 %{lowest_link_title} (%{lowest_link_score} 分)。
+      subject: "%{instance} 上待审核的新流行链接"
+    new_trending_tags:
+      body: 以下为今日流行的标签,但它们尚未经过审核。在您批准前它们不会被公开显示。
+      no_approved_tags: 当前没有经过批准的流行标签。
+      requirements: '已批准流行链接中最低的是 #%{lowest_tag_name} (%{lowest_tag_score} 分)。'
+      subject: "%{instance} 上待审核的新流行标签"
   aliases:
     add_new: 创建别名
     created_msg: 成功创建了一个新别名。你现在可以从旧账户开始迁移了。
@@ -755,11 +829,12 @@ zh-CN:
     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: 或通过其他方式登录
+    or_log_in_with: 或通过外部服务登录
     providers:
       cas: CAS
       saml: SAML
@@ -910,33 +985,14 @@ zh-CN:
     changes_saved_msg: 更改保存成功!
     copy: 复制
     delete: 删除
-    no_batch_actions_available: 本页面无可用批量操作
+    none: 无
     order_by: 排序方式
     save_changes: 保存更改
+    today: 今天
     validation_errors:
       other: 出错啦!检查一下下面 %{count} 处出错的地方吧
   html_validator:
     invalid_markup: '包含无效的 HTML 标记: %{error}'
-  identity_proofs:
-    active: 有效
-    authorize: 是,授权
-    authorize_connection_prompt: 授权这一密码学连接?
-    errors:
-      failed: 密码关联失败。请在 %{provider} 上重新尝试。
-      keybase:
-        invalid_token: Keybase 令牌是签名的哈希并且必须是 66 个十六进制字符
-        verification_failed: Keybase 无法将此令牌识别为 Keybase 用户 %{kb_username} 的签名。请在 Keybase 再试一次。
-      wrong_user: 无法以 %{current} 的身份创建 %{proving} 的证明。请以 %{proving} 的身份登录并再次尝试。
-    explanation_html: 在这里,你可以和你的其他身份建立密码学关联,例如 Keybase 个人资料。这样,别人就可以给你发送加密信息,也能够信任你发给他们的内容。
-    i_am_html: 我是 %{service} 上的 %{username} 。
-    identity: 身份
-    inactive: 失效
-    publicize_checkbox: 并发一条这样的嘟文:
-    publicize_toot: '证明完毕!我是 %{service} 上的 %{username}: %{url}'
-    remove: 从帐户中移除凭据
-    removed: 成功从帐户中删除凭据
-    status: 验证状态
-    view_proof: 查看证明
   imports:
     errors:
       over_rows_processing_limit: 包含行数超过了 %{count}
@@ -1149,6 +1205,9 @@ zh-CN:
     reply:
       proceed: 确认回复
       prompt: 你想要回复此嘟文:
+  reports:
+    errors:
+      invalid_rules: 没有引用有效的规则
   scheduled_statuses:
     over_daily_limit: 你已超出每日定时嘟文的上限(%{limit} 条)
     over_total_limit: 你已超出定时嘟文的上限(%{limit} 条)
@@ -1207,7 +1266,6 @@ zh-CN:
     edit_profile: 更改个人资料
     export: 导出
     featured_tags: 精选的话题标签
-    identity_proofs: 身份证明
     import: 导入
     import_and_export: 导入和导出
     migrate: 帐户迁移
@@ -1229,17 +1287,18 @@ zh-CN:
         other: "%{count} 段视频"
     boosted_from_html: 转嘟自 %{acct_link}
     content_warning: 内容警告:%{warning}
+    default_language: 与界面显示语言相同
     disallowed_hashtags:
       other: 包含了这些禁止的话题标签:%{tags}
+    edited_at: 编辑于 %{date}
     errors:
       in_reply_not_found: 你回复的嘟文似乎不存在
-    language_detection: 自动检测语言
     open_in_web: 在站内打开
     over_character_limit: 超过了 %{max} 字的限制
     pin_errors:
+      direct: 仅对被提及的用户可见的帖子不能被置顶
       limit: 你所置顶的嘟文数量已经达到上限
       ownership: 不能置顶别人的嘟文
-      private: 不能置顶非公开的嘟文
       reblog: 不能置顶转嘟
     poll:
       total_people:
@@ -1392,6 +1451,7 @@ zh-CN:
     formats:
       default: "%Y年%m月%d日 %H:%M"
       month: "%Y年%m月"
+      time: "%H:%M"
   two_factor_authentication:
     add: 添加
     disable: 停用双重认证
@@ -1419,24 +1479,31 @@ zh-CN:
       subject: 请确认登录请求:
       title: 登录请求
     warning:
+      categories:
+        spam: 垃圾信息
+        violation: 内容违反了以下社区准则
       explanation:
-        disable: 虽然你的帐户被冻结,你的帐户数据仍然完整;但是你无法在解锁前执行任何操作。
-        sensitive: 你上传的媒体文件和媒体链接将被视作敏感内容。
-        silence: 当你的帐户被隐藏时,只有已经关注你的人才会这台服务器上看到你的嘟文,并且你会被排除在各种公共列表之外。但是,其他人仍然可以手动关注你。
-        suspend: 你的帐户已被封禁,所有的嘟文和你上传的媒体文件都已经从该服务器和你的关注者的服务器上删除并且不可恢复。
-      get_in_touch: 你可回复该邮件以联系 %{instance} 的工作人员。
+        delete_statuses: 你的某些嘟文被发现违反了一项或多项社区准则,随后被 %{instance} 的监察员删除。继续违规将可能导致你的帐号受到更严厉的惩罚。
+        disable: 你不能再使用你的帐户,但你的个人资料和其他数据保持不变。你可以请求数据备份,更改账户设置或删除账户。
+        sensitive: 即刻起,你上传的所有媒体文件都将被标记为敏感内容并隐藏,在点击警告后才能查看。
+        silence: 你可以继续使用你的帐号,但只有已关注你的人才能在看到你在此服务器上的嘟文,并且你会被排除在各类公共列表之外。其他用户仍可以手动关注你。
+        suspend: 你不能再使用你的帐户,并且你的个人资料和其他数据都将无法访问。在大约30天内,你仍可以登录并请求数据备份,之后相关数据将被完全删除。我们会保留一些基础数据以避免封禁失效。
+      get_in_touch: 如果你认为此操作有误,可回复此邮件以与 %{instance} 的工作人员取得联系。
+      reason: 理由:
       review_server_policies: 查看服务器政策
-      statuses: 具体来说,适用于:
+      statuses: 被发现有违规行为的嘟文:
       subject:
+        delete_statuses: 你在 %{acct} 的嘟文已被删除
         disable: 你的帐户 %{acct} 已被冻结
         none: 对 %{acct} 的警告
-        sensitive: 你的帐号 %{acct} 所发布的媒体已被标记为敏感内容
+        sensitive: 你在 %{acct} 的媒体文件将被标记为敏感内容
         silence: 你的帐户 %{acct} 已被隐藏
         suspend: 你的帐户 %{acct} 已被封禁。
       title:
+        delete_statuses: 嘟文已删除
         disable: 账号已冻结
         none: 警示
-        sensitive: 你的媒体被标记为敏感内容
+        sensitive: 已隐藏的媒体内容
         silence: 帐户被隐藏
         suspend: 账号被封禁
     welcome:
diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml
index 185b88b51..b437c9b10 100644
--- a/config/locales/zh-HK.yml
+++ b/config/locales/zh-HK.yml
@@ -95,7 +95,6 @@ zh-HK:
     accounts:
       add_email_domain_block: 封鎖電郵網域
       approve: 核准
-      approve_all: 全部批准
       approved_msg: 成功審核了%{username} 的新帳號申請
       are_you_sure: 你確定嗎?
       avatar: 頭像
@@ -149,7 +148,6 @@ zh-HK:
         active: 活躍
         all: 全部
         pending: 處理中
-        silenced: 被靜音的
         suspended: 已停權
         title: 管理操作
       moderation_notes: 管理備註
@@ -167,7 +165,6 @@ zh-HK:
       redownload: 更新頁面
       redownloaded_msg: 成功重新載入 %{username} 的個人資料頁面
       reject: 拒絕
-      reject_all: 全部拒絕
       rejected_msg: 成功拒絕了 %{username} 的新帳號申請
       remove_avatar: 刪除頭像
       remove_header: 移除頁面頂端
@@ -206,7 +203,6 @@ zh-HK:
       suspended: 已停權
       suspension_irreversible: 已永久刪除此帳號的數據。你可以取消此帳號的停權狀態,但帳號的資料已被永久刪除。
       suspension_reversible_hint_html: 此帳戶已被停權及所有數據將會於 %{date} 被刪除。在此之前,你仍可以完全回復帳號。如果你想即時刪除此帳戶的資料,可以在下面進行操作。
-      time_in_queue: 排隊中 %{time}
       title: 帳號
       unconfirmed_email: 未確認的電郵
       undo_sensitized: 取消敏感狀態
@@ -493,8 +489,6 @@ zh-HK:
         title: 新增 IP 規則
       no_ip_block_selected: 因未選擇 IP 規則而未有任何變更。
       title: IP 規則
-    pending_accounts:
-      title: 待處理帳戶(%{count})
     relationships:
       title: "%{acct} 的關係"
     relays:
@@ -520,8 +514,6 @@ zh-HK:
       account:
         notes:
           other: "%{count} 則備註"
-        reports:
-          other: "%{count} 則舉報"
       action_taken_by: 操作執行者
       are_you_sure: 你確認嗎?
       assign_to_self: 指派給自己
@@ -653,15 +645,9 @@ zh-HK:
       destroyed_msg: 成功刪除站台的上傳項目!
     statuses:
       back_to_account: 返回帳戶信息頁
-      batch:
-        delete: 刪除
-        nsfw_off: 取消 NSFW 標記
-        nsfw_on: 添加 NSFW 標記
       deleted: 已刪除
-      failed_to_execute: 執行失敗
       media:
         title: 媒體檔案
-      no_media: 不含媒體檔案
       no_status_selected: 因未選擇嘟文而未變更。
       title: 帳戶文章
       with_media: 含有媒體檔案
@@ -674,19 +660,7 @@ zh-HK:
       sidekiq_process_check:
         message_html: 沒有 %{value} 佇列的 Sidekiq 處理程序。請檢查 Sidekiq 設定檔案
     tags:
-      accounts_today: 今日特殊使用
-      accounts_week: 今週特殊使用
-      breakdown: 根據來源剖析是日用量
-      last_active: 上次活躍
-      most_popular: 最熱門
-      most_recent: 最近
-      name: 主題標籤
       review: 審核文章
-      reviewed: 已審核
-      title: 主題標籤
-      trending_right_now: 最新趨勢
-      unique_uses_today: 今天嘟了 %{count} 則
-      unreviewed: 未審核
       updated_msg: 成功更新主題標籤設定
     title: 管理
     warning_presets:
@@ -703,9 +677,6 @@ zh-HK:
       body: "%{reporter} 舉報了 %{target}"
       body_remote: 來自 %{domain} 的人舉報了 %{target}
       subject: 針對 %{instance} 的舉報(#%{id})
-    new_trending_tag:
-      body: '今天流行使用未被審核的 #%{name} 主題標籤。在你允許之前,它不會被公開地顯示,你亦可以無視它使它不再污染你的眼睛。'
-      subject: 在 %{instance} 上未審核的主題標籤 (%{name})
   aliases:
     add_new: 建立別名 (Alias)
     created_msg: 成功建立別名 (alias)。你可以從舊帳號開始轉移。
@@ -912,33 +883,12 @@ zh-HK:
     changes_saved_msg: 已成功儲存修改。
     copy: 複製
     delete: 刪除
-    no_batch_actions_available: 此頁目沒有可用的批次操作
     order_by: 排序
     save_changes: 儲存修改
     validation_errors:
       other: 提交的資料有 %{count} 項問題
   html_validator:
     invalid_markup: 含有無效的HTML標記:%{error}
-  identity_proofs:
-    active: 活躍
-    authorize: 是的,請授權
-    authorize_connection_prompt: 授權此加密通訊?
-    errors:
-      failed: 加密通訊失敗。請在%{provider} 重試。
-      keybase:
-        invalid_token: Keybase tokens必定為66個16位元字符的簽名檔散列。
-        verification_failed: Keybase不能識別此令牌為Keybase用戶%{kb_username} 的簽名。請在Keybase再試一次。
-      wrong_user: 未能以%{current} 為 %{proving} 建立身份驗證。請登入為%{proving} 再試一次。
-    explanation_html: 在此你連結其他網路平台(如 Keybase)上的加密身份。讓其他人可以在那些平台上,傳送加密信息給你,並驗證你的身份。
-    i_am_html: 我是 %{service} 上的 %{username}
-    identity: 身份
-    inactive: 停用
-    publicize_checkbox: 發表文章:
-    publicize_toot: 驗證成功!我在%{service} 是%{username} :%{url}
-    remove: 刪除帳號的驗證
-    removed: 成功刪除身份驗證
-    status: 確認狀態
-    view_proof: 查看證明
   imports:
     errors:
       over_rows_processing_limit: 包含超過 %{count} 行
@@ -1209,7 +1159,6 @@ zh-HK:
     edit_profile: 修改個人資料
     export: 匯出
     featured_tags: 推薦的標籤
-    identity_proofs: 身份驗證
     import: 匯入
     import_and_export: 匯入及匯出
     migrate: 帳戶遷移
@@ -1235,13 +1184,11 @@ zh-HK:
       other: 包含不允許的標籤: %{tags}
     errors:
       in_reply_not_found: 你所回覆的嘟文並不存在。
-    language_detection: 自動偵測語言
     open_in_web: 開啟網頁
     over_character_limit: 超過了 %{max} 字的限制
     pin_errors:
       limit: 你所置頂的文章數量已經達到上限
       ownership: 不能置頂他人的文章
-      private: 不能置頂非公開的文章
       reblog: 不能置頂轉推
     poll:
       total_people:
@@ -1421,24 +1368,15 @@ zh-HK:
       subject: 請確認登入請求
       title: 登入請求
     warning:
-      explanation:
-        disable: 你不能以任何方式登入或使用你的帳號,但你的個人資料頁面和其他資料仍保持完整。
-        sensitive: 你上載的媒體檔案和連結媒體將被標記為敏感項目。
-        silence: 你仍然可以使用你的帳號,但只有你現時的追隨者會看見你在此伺服器的嘟文。你或從公開名冊中被剔除。但是其他人仍然可以主動關注你。
-        suspend: 你將不能使用您的帳號,你的個人資料頁面及其他資料將不能再被取得。你仍可在資料被完全刪除前請求下載你的數據,但我們仍會保留一部份資料,以防止有人規避停權處罰。
-      get_in_touch: 你可以回覆此電郵來跟我們(%{instance})聯絡
       review_server_policies: 審視伺服器政策
-      statuses: 特別是:
       subject:
         disable: 你的帳號 %{acct} 已經被涷結
         none: 警告帳號%{acct}
-        sensitive: 你的帳號 %{acct} 的媒體已被標記為敏感內容
         silence: 你的帳號 %{acct} 已經被限制
         suspend: 你的帳號 %{acct} 已經被停權
       title:
         disable: 帳號涷結
         none: 警告
-        sensitive: 你的媒體已被標記為敏感內容
         silence: 賬戶已被限制
         suspend: 帳號已停用
     welcome:
diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml
index b2cfeafac..07eb97071 100644
--- a/config/locales/zh-TW.yml
+++ b/config/locales/zh-TW.yml
@@ -93,7 +93,6 @@ zh-TW:
     accounts:
       add_email_domain_block: 將電子郵件網域加入黑名單
       approve: 核准
-      approve_all: 全部批准
       approved_msg: 成功審核了%{username} 的新帳戶申請
       are_you_sure: 您確定嗎?
       avatar: 頭像
@@ -108,6 +107,7 @@ zh-TW:
       confirm: 確定
       confirmed: 已確定
       confirming: 確定
+      custom: 自訂
       delete: 刪除資料
       deleted: 已刪除
       demote: 降級
@@ -147,7 +147,6 @@ zh-TW:
         active: 活躍
         all: 全部
         pending: 等待中
-        silenced: 已靜音
         suspended: 已停權
         title: 版務
       moderation_notes: 管理備忘
@@ -165,7 +164,6 @@ zh-TW:
       redownload: 重新整理個人資料
       redownloaded_msg: 成功重新載入%{username} 的個人資料頁面
       reject: 拒絕
-      reject_all: 全部拒絕
       rejected_msg: 成功拒絕了%{username} 的新帳戶申請
       remove_avatar: 取消頭像
       remove_header: 移除開頭
@@ -200,12 +198,14 @@ zh-TW:
       silence: 靜音
       silenced: 已靜音
       statuses: 嘟文
+      strikes: 先前連續嘟文紀錄
       subscribe: 訂閱
       suspended: 已停權
       suspension_irreversible: 已永久刪除這個帳戶的數據。雖然這個帳戶的數據已被永久刪除,但是您仍然可以取消暫停這個帳戶。
       suspension_reversible_hint_html: 這個帳戶已被暫停,所有數據將會在 %{date} 被刪除。在此之前,您可以完全回復您的帳戶。如果您想即時刪除這個帳戶的數據,您可以在下面進行操作。
-      time_in_queue: 正在佇列等待 %{time}
       title: 帳戶
+      unblock_email: 解除封鎖電子郵件地址
+      unblocked_email_msg: 成功解除封鎖 %{username} 的電子郵件地址
       unconfirmed_email: 未確認的電子信箱地址
       undo_sensitized: 取消敏感狀態
       undo_silenced: 取消靜音
@@ -220,6 +220,7 @@ zh-TW:
       whitelisted: 已加入白名單
     action_logs:
       action_types:
+        approve_user: 批准使用者
         assigned_to_self_report: 指派回報
         change_email_user: 變更使用者的電子信箱地址
         confirm_user: 確認使用者
@@ -237,6 +238,7 @@ zh-TW:
         destroy_domain_allow: 刪除允許網域
         destroy_domain_block: 刪除阻擋網域
         destroy_email_domain_block: 刪除阻擋電郵網域
+        destroy_instance: 清除網域
         destroy_ip_block: 刪除 IP 規則
         destroy_status: 刪除狀態
         destroy_unavailable_domain: 刪除無法存取的網域
@@ -249,6 +251,7 @@ zh-TW:
         enable_user: 啓用帳戶
         memorialize_account: 設定成紀念帳戶
         promote_user: 把用戶升級
+        reject_user: 回絕使用者
         remove_avatar_user: 刪除大頭貼
         reopen_report: 重開舉報
         reset_password_user: 重設密碼
@@ -257,6 +260,7 @@ zh-TW:
         silence_account: 靜音用戶
         suspend_account: 暫停用戶
         unassigned_report: 取消指派舉報
+        unblock_email_account: 解除封鎖電子郵件地址
         unsensitive_account: 取消把您的帳戶的媒體設定為敏感內容
         unsilence_account: 取消用戶的靜音狀態
         unsuspend_account: 取消用戶的暫停狀態
@@ -265,6 +269,7 @@ zh-TW:
         update_domain_block: 更新封鎖網域
         update_status: 更新狀態
       actions:
+        approve_user_html: "%{name} 批准了從 %{target} 而來的註冊"
         assigned_to_self_report_html: "%{name} 將報告 %{target} 指派給自己"
         change_email_user_html: "%{name} 變更了使用者 %{target} 的電子信箱地址"
         confirm_user_html: "%{name} 確認了使用者 %{target} 的電子信箱位址"
@@ -282,6 +287,7 @@ zh-TW:
         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} 的發送"
@@ -294,6 +300,7 @@ zh-TW:
         enable_user_html: "%{name} 將使用者 %{target} 設定為允許登入"
         memorialize_account_html: "%{name} 將 %{target} 設定為追悼帳戶"
         promote_user_html: "%{name} 對使用者 %{target} 進行了晉級操作"
+        reject_user_html: "%{name} 回絕了從 %{target} 而來的註冊"
         remove_avatar_user_html: "%{name} 移除了 %{target} 的大頭貼"
         reopen_report_html: "%{name} 重新開啟 %{target} 的檢舉"
         reset_password_user_html: "%{name} 重新設定了使用者 %{target} 的密碼"
@@ -302,6 +309,7 @@ zh-TW:
         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} 的停權狀態"
@@ -369,14 +377,14 @@ zh-TW:
       interactions: 互動
       media_storage: 媒體儲存空間
       new_users: 新使用者
-      opened_reports: 開啟的報告
+      opened_reports: 已開啟的報告
       pending_reports_html:
         other: "<strong>%{count}</strong> 份待處理報告"
       pending_tags_html:
         other: "<strong>%{count}</strong> 個待處理主題標籤"
       pending_users_html:
         other: "<strong>%{count}</strong> 位待處理使用者"
-      resolved_reports: 解決的報告
+      resolved_reports: 已解決的報告
       software: 軟體
       sources: 註冊來源
       space: 儲存空間用量
@@ -457,6 +465,7 @@ zh-TW:
       back_to_limited: 受限制的
       back_to_warning: 警告
       by_domain: 站台
+      confirm_purge: 您確定要永久刪除來自此網域的資料嗎?
       delivery:
         all: 所有
         clear: 清除遞送錯誤
@@ -471,6 +480,7 @@ zh-TW:
       delivery_available: 可傳送
       delivery_error_days: 遞送失敗天數
       delivery_error_hint: 若 %{count} 日皆無法遞送 ,則會自動標記無法遞送。
+      destroyed_msg: 來自 %{domain} 的資料現在正在佇列中等待刪除。
       empty: 找不到網域
       known_accounts:
         other: "%{count} 已知的帳戶"
@@ -480,6 +490,7 @@ zh-TW:
         title: 版主
       private_comment: 私人留言
       public_comment: 公開留言
+      purge: 清除
       title: 聯邦
       total_blocked_by_us: 被我們封鎖
       total_followed_by_them: 被他們關注
@@ -509,8 +520,6 @@ zh-TW:
         title: 建立新的 IP 規則
       no_ip_block_selected: 因為沒有選擇任何 IP 規則,所以什麼事都沒發生
       title: IP 規則
-    pending_accounts:
-      title: 待處理帳戶(%{count})
     relationships:
       title: "%{acct} 的關係"
     relays:
@@ -532,30 +541,43 @@ zh-TW:
     report_notes:
       created_msg: 檢舉記錄建立成功!
       destroyed_msg: 檢舉記錄刪除成功!
+      today_at: 今日為 %{time}
     reports:
       account:
         notes:
           other: "%{count} 則備註"
-        reports:
-          other: "%{count} 則檢舉"
+      action_log: 審計日誌
       action_taken_by: 操作執行者
+      actions:
+        other_description_html: 檢視更多控制帳號行為以及自訂檢舉帳號通知之選項。
+        silence_description_html: 個人頁面僅會對已跟隨帳號之使用者或手動查詢可見,將大幅度限制觸及範圍。此設定可隨時被還原。
+        suspend_description_html: 個人頁面及其內容將無法被存取,直到其最終被刪除。將無法與此帳號互動。此設定 30 日內可被還原。
+      actions_description_html: 若移除以上侵犯性違規內容不足成效:
+      add_to_report: 加入更多至報告
       are_you_sure: 你確定嗎?
       assign_to_self: 指派給自己
       assigned: 指派負責人
       by_target_domain: 檢舉帳戶之網域
+      category: 分類
+      category_description_html: 此帳號及/或被檢舉內容之原因會被引用在檢舉帳號通知中
       comment:
         none: 無
+      comment_description_html: 提供更多資訊,%{name} 寫道:
       created_at: 日期
+      delete_and_resolve: 刪除與解決
       forwarded: 已轉寄
       forwarded_to: 轉寄到 %{domain}
       mark_as_resolved: 標記為「已解決」
       mark_as_unresolved: 標記為「未解決」
+      no_one_assigned: 沒有人
       notes:
         create: 建立記錄
         create_and_resolve: 建立記錄並標記為「已解決」
         create_and_unresolve: 建立記錄並標記「未解決」
         delete: 刪除
         placeholder: 記錄已執行的動作,或其他相關的更新...
+        title: 註記
+      notes_description_html: 檢視及留下些給其他管理員和未來的自己的註記
       reopen: 重開檢舉
       report: '檢舉 #%{id}'
       reported_account: 被檢舉使用者
@@ -563,11 +585,14 @@ zh-TW:
       resolved: 已解決
       resolved_msg: 檢舉已處理!
       status: 嘟文
+      statuses: 被檢舉的內容
+      statuses_description_html: 侵犯性違規內容會被引用在檢舉帳號通知中
       target_origin: 檢舉帳戶之來源
       title: 檢舉
       unassign: 取消指派
       unresolved: 未解決
       updated_at: 更新
+      view_profile: 檢視個人資料頁
     rules:
       add_new: 新增規則
       delete: 刪除
@@ -669,15 +694,13 @@ zh-TW:
       destroyed_msg: 成功刪除站台的上傳項目!
     statuses:
       back_to_account: 返回帳戶訊息頁
+      back_to_report: 回到檢舉報告頁面
       batch:
-        delete: 刪除
-        nsfw_off: 標記為非敏感內容
-        nsfw_on: 標記為敏感內容
+        remove_from_report: 從檢舉報告中移除
+        report: 檢舉報告
       deleted: 已刪除
-      failed_to_execute: 執行失敗
       media:
         title: 媒體檔案
-      no_media: 不含媒體檔案
       no_status_selected: 因未選擇嘟文而未變更。
       title: 帳戶嘟文
       with_media: 含有媒體檔案
@@ -690,21 +713,49 @@ zh-TW:
       sidekiq_process_check:
         message_html: 没有队列 %{value} 的Sidekiq进程,请检查你的Sidekiq配置
     tags:
-      accounts_today: 本日不重複使用者數
-      accounts_week: 本週不重複使用者數
-      breakdown: 根據來源分類本日使用情況
-      last_active: 上次活躍
-      most_popular: 最熱門
-      most_recent: 最近
-      name: 主題標籤
       review: 審核嘟文
-      reviewed: 已審核
-      title: 主題標籤
-      trending_right_now: 最新趨勢
-      unique_uses_today: 今天嘟了 %{count} 則
-      unreviewed: 未審核
       updated_msg: 成功更新主題標籤設定
     title: 管理介面
+    trends:
+      allow: 允許
+      approved: 已通過審核
+      disallow: 不允許
+      links:
+        allow: 允許連結
+        allow_provider: 允許發行者
+        disallow: 不允許連結
+        disallow_provider: 不允許發行者
+        shared_by_over_week:
+          other: 於過去一週被 %{count} 人分享
+        title: 熱門連結
+        usage_comparison: 於今日被 %{today} 人分享,相較於昨日 %{yesterday} 人
+      pending_review: 等待審核中
+      preview_card_providers:
+        allowed: 此發行者之連結能登上熱門
+        rejected: 此發行者之連結不會登上熱門
+        title: 發行者
+      rejected: 被拒絕
+      tags:
+        current_score: 目前分數 %{score} 分
+        dashboard:
+          tag_accounts_measure: 獨特使用次數
+          tag_languages_dimension: 熱門語言
+          tag_servers_dimension: 熱門伺服器
+          tag_servers_measure: 不同伺服器
+          tag_uses_measure: 總使用次數
+        listable: 能被建議
+        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:
+          other: 於過去一週被 %{count} 人使用
+      title: 熱門榜
     warning_presets:
       add_new: 新增
       delete: 刪除
@@ -719,9 +770,16 @@ zh-TW:
       body: "%{reporter} 檢舉了使用者 %{target}"
       body_remote: 來自 %{domain} 的使用者檢舉了使用者 %{target}
       subject: 來自 %{instance} 的使用者檢舉(#%{id})
-    new_trending_tag:
-      body: '尚未通過審核的主題標籤 #%{name} 今天有炎上趨勢。這個標籤在你開綠燈之前不會公開顯示,你也可以選擇無視它以遭蒙蔽雙眼。'
-      subject: "%{instance} 上有待審核的主題標籤 (#%{name})"
+    new_trending_links:
+      body: 以下連結於今日登上熱門榜,然而他們的發行者之前仍未被審核過。除非您核准,這些連結將不會被公開顯示。來自這些發行者的通知往後將不會被產生。
+      no_approved_links: 這些是目前仍未被審核之熱門連結。
+      requirements: 已核准熱門連結中最低分者目前是「%{lowest_link_title}」為 %{lowest_link_score} 分。
+      subject: 於 %{instance} 待審核的新熱門連結
+    new_trending_tags:
+      body: 以下主題標籤於今日登上熱門榜,然而他們之前仍未被審核過。除非您核准,這些連結將不會被公開顯示:
+      no_approved_tags: 這些是目前仍未被審核之熱門主題標籤。
+      requirements: 已核准熱門標籤中最低分者目前是「#%{lowest_tag_name}」為 %{lowest_tag_score} 分。
+      subject: 於 %{instance} 待審核的新熱門主題標籤
   aliases:
     add_new: 建立別名
     created_msg: 成功建立別名。您可以自舊帳戶開始轉移。
@@ -773,6 +831,7 @@ zh-TW:
     invalid_reset_password_token: 密碼重設 token 無效或已過期。請重新設定密碼。
     link_to_otp: 請從您手機輸入雙重驗證 (2FA) 或還原碼
     link_to_webauth: 使用您的安全金鑰
+    log_in_with: 登入,使用
     login: 登入
     logout: 登出
     migrate_account: 轉移到另一個帳戶
@@ -928,33 +987,14 @@ zh-TW:
     changes_saved_msg: 已成功儲存修改!
     copy: 複製
     delete: 刪除
-    no_batch_actions_available: 此頁面目前沒有可用的批次作業
+    none: 無
     order_by: 排序
     save_changes: 儲存修改
+    today: 今天
     validation_errors:
       other: 唔…這是什麼鳥?請檢查以下 %{count} 項錯誤
   html_validator:
     invalid_markup: 含有無效的 HTML 語法:%{error}
-  identity_proofs:
-    active: 有效
-    authorize: 是的,請授權
-    authorize_connection_prompt: 授權此加密連接?
-    errors:
-      failed: 加密連接失敗。請於 %{provider} 重試。
-      keybase:
-        invalid_token: Keybase 標記必須為雜湊加密簽章並且由66個十六進位字符組成。
-        verification_failed: Keybase 無法確認此標記為 Keybase 使用者 %{kb_username} 的簽章。請在 Keybase 再試一次。
-      wrong_user: 未能為%{current} 以 %{proving} 建立身分驗證。請登入為 %{proving} 再試一次。
-    explanation_html: 在此你連結其他網路平台(如 Keybase)上的加密身分。讓其他人可以在那些平台上,傳送加密訊息給你,並驗證你的身分。
-    i_am_html: 我是 %{service} 上的 %{username}
-    identity: 身份
-    inactive: 非活躍
-    publicize_checkbox: 並發嘟:
-    publicize_toot: 驗證成功!我在是住在 %{service} 的 %{username} : %{url}
-    remove: 移除帳戶證明
-    removed: 成功移除帳戶證明
-    status: 驗證狀態
-    view_proof: 檢視證明
   imports:
     errors:
       over_rows_processing_limit: 含有超過 %{count} 行
@@ -1167,6 +1207,9 @@ zh-TW:
     reply:
       proceed: 確認回覆
       prompt: 您想回覆此嘟文
+  reports:
+    errors:
+      invalid_rules: 未引用有效規則
   scheduled_statuses:
     over_daily_limit: 您已經超過了本日排定發嘟的限額 (%{limit})
     over_total_limit: 您已經超過了排定發嘟的限額 (%{limit})
@@ -1225,7 +1268,6 @@ zh-TW:
     edit_profile: 編輯使用者資訊
     export: 匯出
     featured_tags: 推薦標籤
-    identity_proofs: 身分驗證
     import: 匯入
     import_and_export: 匯入及匯出
     migrate: 帳戶搬遷
@@ -1247,17 +1289,18 @@ zh-TW:
         other: "%{count} 段影片"
     boosted_from_html: 轉嘟自 %{acct_link}
     content_warning: 內容警告: %{warning}
+    default_language: 與介面語言相同
     disallowed_hashtags:
       other: 含有不得使用的標籤: %{tags}
+    edited_at: 已編輯:%{date}
     errors:
       in_reply_not_found: 您嘗試回覆的嘟文看起來不存在。
-    language_detection: 自動偵測語言
     open_in_web: 以網頁開啟
     over_character_limit: 超過了 %{max} 字的限制
     pin_errors:
+      direct: 無法釘選只有僅提及使用者可見之嘟文
       limit: 你所置頂的嘟文數量已經達到上限
       ownership: 不能置頂他人的嘟文
-      private: 不能置頂非公開的嘟文
       reblog: 不能置頂轉嘟
     poll:
       total_people:
@@ -1408,6 +1451,7 @@ zh-TW:
     formats:
       default: "%Y年%-m月%d日 %H:%M"
       month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: 新增
     disable: 停用
@@ -1435,24 +1479,31 @@ zh-TW:
       subject: 請確認登入嘗試
       title: 登入嘗試
     warning:
+      categories:
+        spam: 垃圾訊息
+        violation: 該內容違反以下社群規章
       explanation:
-        disable: 您將無法以任何方式登入或使用您的帳號,但您的個人資料頁面和其他資料仍保持完整。
-        sensitive: 您上傳的媒體檔案或連結的媒體將會被標記為敏感。
-        silence: 您仍然可以使用您的帳號,但僅有已追蹤您的人才能看到您在此伺服器的貼文,您也可能會從公開清單中被排除。但其他人仍可手動追蹤您。
-        suspend: 您將不能使用您的帳號,您的個人資料頁面及其他資料將不再能被取得。您仍可在資料被完全刪除前要求下載你的資料,但我們仍會保留一部份資料,以防止有人規避停權處罰。
-      get_in_touch: 您可以回覆此電子郵件並與 %{instance} 的工作人員們聯絡。
+        delete_statuses: 您部份的貼文被認定違反一項或多項社群規章,並且已被 %{instance} 的管理員依規定移除。往後更多的違規可能導致對您帳號更嚴重的處罰。
+        disable: 您無法繼續使用您的帳號,但您的個人頁面及其他資料內容保持不變。您可以要求一份您的資料備份,帳號異動設定,或是刪除帳號。
+        sensitive: 由此刻起,您所有上傳的媒體檔案將被標記為敏感內容,並且隱藏於點擊警告之後。
+        silence: 您仍然可以使用您的帳號,但僅有已追蹤您的人才能看到您在此伺服器的貼文,您也可能會從各式探索功能中被排除。但其他人仍可手動追蹤您。
+        suspend: 您將不能使用您的帳號,您的個人資料頁面及其他資料將不再能被存取。您仍可於約 30 日內資料被完全刪除前要求下載你的資料,但我們仍會保留一部份基本資料,以防止有人規避停權處罰。
+      get_in_touch: 如果您認為這是個錯誤,您可回復這封 e-mail 來連繫 %{instance} 的管理員。
+      reason: 原因:
       review_server_policies: 檢視伺服器政策
-      statuses: 特別是:
+      statuses: 被判定違規之嘟文:
       subject:
+        delete_statuses: 您於 %{acct} 之嘟文已被移除
         disable: 您的帳號 %{acct} 已被凍結
         none: 對 %{acct} 的警告
-        sensitive: 您帳號 %{acct} 張貼的媒體已被標記為敏感內容
+        sensitive: 您於 %{acct} 之媒體檔案即刻起已被標記為敏感內容
         silence: 您的帳號 %{acct} 已被限制
         suspend: 您的帳號 %{acct} 已被停權
       title:
+        delete_statuses: 嘟文已移除
         disable: 帳號已被涷結
         none: 警告
-        sensitive: 您的媒體已被標記為敏感內容
+        sensitive: 隱藏媒體內容
         silence: 帳號已被限制
         suspend: 帳號己被停用
     welcome:
diff --git a/config/routes.rb b/config/routes.rb
index 0c7b27cb8..0eb7f1b0f 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -228,6 +228,8 @@ Rails.application.routes.draw do
     resources :rules
 
     resources :reports, only: [:index, :show] do
+      resources :actions, only: [:create], controller: 'reports/actions'
+
       member do
         post :assign_to_self
         post :unassign
diff --git a/package.json b/package.json
index 8be392b5c..23c835f5d 100644
--- a/package.json
+++ b/package.json
@@ -61,13 +61,13 @@
   },
   "private": true,
   "dependencies": {
-    "@babel/core": "^7.16.12",
-    "@babel/plugin-proposal-decorators": "^7.16.7",
+    "@babel/core": "^7.17.2",
+    "@babel/plugin-proposal-decorators": "^7.17.0",
     "@babel/plugin-transform-react-inline-elements": "^7.16.7",
-    "@babel/plugin-transform-runtime": "^7.16.10",
+    "@babel/plugin-transform-runtime": "^7.17.0",
     "@babel/preset-env": "^7.16.11",
     "@babel/preset-react": "^7.16.7",
-    "@babel/runtime": "^7.16.7",
+    "@babel/runtime": "^7.17.0",
     "@gamestdio/websocket": "^0.3.2",
     "@github/webauthn-json": "^0.5.7",
     "@rails/ujs": "^6.1.4",
@@ -155,7 +155,7 @@
     "requestidlecallback": "^0.3.0",
     "reselect": "^4.1.5",
     "rimraf": "^3.0.2",
-    "sass": "^1.49.0",
+    "sass": "^1.49.7",
     "sass-loader": "^10.2.0",
     "stacktrace-js": "^2.0.2",
     "stringz": "^2.1.0",
@@ -175,16 +175,16 @@
     "ws": "^8.4.2"
   },
   "devDependencies": {
-    "@testing-library/jest-dom": "^5.16.1",
+    "@testing-library/jest-dom": "^5.16.2",
     "@testing-library/react": "^12.1.2",
     "babel-eslint": "^10.1.0",
-    "babel-jest": "^27.4.6",
+    "babel-jest": "^27.5.0",
     "eslint": "^7.32.0",
     "eslint-plugin-import": "~2.25.4",
     "eslint-plugin-jsx-a11y": "~6.5.1",
     "eslint-plugin-promise": "~6.0.0",
     "eslint-plugin-react": "~7.28.0",
-    "jest": "^27.4.7",
+    "jest": "^27.5.1",
     "raf": "^3.4.1",
     "react-intl-translations-manager": "^5.0.3",
     "react-test-renderer": "^16.14.0",
diff --git a/spec/controllers/activitypub/followers_synchronizations_controller_spec.rb b/spec/controllers/activitypub/followers_synchronizations_controller_spec.rb
index 3a382ff27..e233bd560 100644
--- a/spec/controllers/activitypub/followers_synchronizations_controller_spec.rb
+++ b/spec/controllers/activitypub/followers_synchronizations_controller_spec.rb
@@ -47,7 +47,7 @@ RSpec.describe ActivityPub::FollowersSynchronizationsController, type: :controll
 
       it 'returns orderedItems with followers from example.com' do
         expect(body[:orderedItems]).to be_an Array
-        expect(body[:orderedItems].sort).to eq [follower_4.uri, follower_1.uri, follower_2.uri]
+        expect(body[:orderedItems]).to match_array([follower_4.uri, follower_1.uri, follower_2.uri])
       end
 
       it 'returns private Cache-Control header' do
diff --git a/spec/controllers/api/v1/accounts/statuses_controller_spec.rb b/spec/controllers/api/v1/accounts/statuses_controller_spec.rb
index 348de08c2..b962b3398 100644
--- a/spec/controllers/api/v1/accounts/statuses_controller_spec.rb
+++ b/spec/controllers/api/v1/accounts/statuses_controller_spec.rb
@@ -79,7 +79,7 @@ describe Api::V1::Accounts::StatusesController do
         it 'lists both the public and the private statuses' do
           get :index, params: { account_id: account.id, pinned: true }
           json = body_as_json
-          expect(json.map { |item| item[:id].to_i }.sort).to eq [status.id, private_status.id].sort
+          expect(json.map { |item| item[:id].to_i }).to match_array([status.id, private_status.id])
         end
       end
     end
diff --git a/spec/models/account_statuses_cleanup_policy_spec.rb b/spec/models/account_statuses_cleanup_policy_spec.rb
index 4732ad625..b01321a20 100644
--- a/spec/models/account_statuses_cleanup_policy_spec.rb
+++ b/spec/models/account_statuses_cleanup_policy_spec.rb
@@ -495,7 +495,7 @@ RSpec.describe AccountStatusesCleanupPolicy, type: :model do
       end
 
       it 'returns only normal statuses for deletion' do
-        expect(subject.pluck(:id).sort).to eq [very_old_status.id, faved4.id, faved5.id, reblogged4.id, reblogged5.id].sort
+        expect(subject.pluck(:id)).to match_array([very_old_status.id, faved4.id, faved5.id, reblogged4.id, reblogged5.id])
       end
     end
 
diff --git a/spec/models/status_spec.rb b/spec/models/status_spec.rb
index 25c98d508..029789a11 100644
--- a/spec/models/status_spec.rb
+++ b/spec/models/status_spec.rb
@@ -366,17 +366,17 @@ RSpec.describe Status, type: :model do
 
     context 'when given one tag' do
       it 'returns the expected statuses' do
-        expect(Status.tagged_with([tag1.id]).reorder(:id).pluck(:id).uniq).to eq [status1.id, status5.id]
-        expect(Status.tagged_with([tag2.id]).reorder(:id).pluck(:id).uniq).to eq [status2.id, status5.id]
-        expect(Status.tagged_with([tag3.id]).reorder(:id).pluck(:id).uniq).to eq [status3.id, status5.id]
+        expect(Status.tagged_with([tag1.id]).reorder(:id).pluck(:id).uniq).to match_array([status1.id, status5.id])
+        expect(Status.tagged_with([tag2.id]).reorder(:id).pluck(:id).uniq).to match_array([status2.id, status5.id])
+        expect(Status.tagged_with([tag3.id]).reorder(:id).pluck(:id).uniq).to match_array([status3.id, status5.id])
       end
     end
 
     context 'when given multiple tags' do
       it 'returns the expected statuses' do
-        expect(Status.tagged_with([tag1.id, tag2.id]).reorder(:id).pluck(:id).uniq).to eq [status1.id, status2.id, status5.id]
-        expect(Status.tagged_with([tag1.id, tag3.id]).reorder(:id).pluck(:id).uniq).to eq [status1.id, status3.id, status5.id]
-        expect(Status.tagged_with([tag2.id, tag3.id]).reorder(:id).pluck(:id).uniq).to eq [status2.id, status3.id, status5.id]
+        expect(Status.tagged_with([tag1.id, tag2.id]).reorder(:id).pluck(:id).uniq).to match_array([status1.id, status2.id, status5.id])
+        expect(Status.tagged_with([tag1.id, tag3.id]).reorder(:id).pluck(:id).uniq).to match_array([status1.id, status3.id, status5.id])
+        expect(Status.tagged_with([tag2.id, tag3.id]).reorder(:id).pluck(:id).uniq).to match_array([status2.id, status3.id, status5.id])
       end
     end
   end
@@ -393,15 +393,15 @@ RSpec.describe Status, type: :model do
 
     context 'when given one tag' do
       it 'returns the expected statuses' do
-        expect(Status.tagged_with_all([tag1.id]).reorder(:id).pluck(:id).uniq).to eq [status1.id, status5.id]
-        expect(Status.tagged_with_all([tag2.id]).reorder(:id).pluck(:id).uniq).to eq [status2.id, status5.id]
-        expect(Status.tagged_with_all([tag3.id]).reorder(:id).pluck(:id).uniq).to eq [status3.id]
+        expect(Status.tagged_with_all([tag1.id]).reorder(:id).pluck(:id).uniq).to match_array([status1.id, status5.id])
+        expect(Status.tagged_with_all([tag2.id]).reorder(:id).pluck(:id).uniq).to match_array([status2.id, status5.id])
+        expect(Status.tagged_with_all([tag3.id]).reorder(:id).pluck(:id).uniq).to match_array([status3.id])
       end
     end
 
     context 'when given multiple tags' do
       it 'returns the expected statuses' do
-        expect(Status.tagged_with_all([tag1.id, tag2.id]).reorder(:id).pluck(:id).uniq).to eq [status5.id]
+        expect(Status.tagged_with_all([tag1.id, tag2.id]).reorder(:id).pluck(:id).uniq).to match_array([status5.id])
         expect(Status.tagged_with_all([tag1.id, tag3.id]).reorder(:id).pluck(:id).uniq).to eq []
         expect(Status.tagged_with_all([tag2.id, tag3.id]).reorder(:id).pluck(:id).uniq).to eq []
       end
@@ -420,17 +420,17 @@ RSpec.describe Status, type: :model do
 
     context 'when given one tag' do
       it 'returns the expected statuses' do
-        expect(Status.tagged_with_none([tag1.id]).reorder(:id).pluck(:id).uniq).to eq [status2.id, status3.id, status4.id]
-        expect(Status.tagged_with_none([tag2.id]).reorder(:id).pluck(:id).uniq).to eq [status1.id, status3.id, status4.id]
-        expect(Status.tagged_with_none([tag3.id]).reorder(:id).pluck(:id).uniq).to eq [status1.id, status2.id, status4.id]
+        expect(Status.tagged_with_none([tag1.id]).reorder(:id).pluck(:id).uniq).to match_array([status2.id, status3.id, status4.id])
+        expect(Status.tagged_with_none([tag2.id]).reorder(:id).pluck(:id).uniq).to match_array([status1.id, status3.id, status4.id])
+        expect(Status.tagged_with_none([tag3.id]).reorder(:id).pluck(:id).uniq).to match_array([status1.id, status2.id, status4.id])
       end
     end
 
     context 'when given multiple tags' do
       it 'returns the expected statuses' do
-        expect(Status.tagged_with_none([tag1.id, tag2.id]).reorder(:id).pluck(:id).uniq).to eq [status3.id, status4.id]
-        expect(Status.tagged_with_none([tag1.id, tag3.id]).reorder(:id).pluck(:id).uniq).to eq [status2.id, status4.id]
-        expect(Status.tagged_with_none([tag2.id, tag3.id]).reorder(:id).pluck(:id).uniq).to eq [status1.id, status4.id]
+        expect(Status.tagged_with_none([tag1.id, tag2.id]).reorder(:id).pluck(:id).uniq).to match_array([status3.id, status4.id])
+        expect(Status.tagged_with_none([tag1.id, tag3.id]).reorder(:id).pluck(:id).uniq).to match_array([status2.id, status4.id])
+        expect(Status.tagged_with_none([tag2.id, tag3.id]).reorder(:id).pluck(:id).uniq).to match_array([status1.id, status4.id])
       end
     end
   end
diff --git a/spec/services/activitypub/fetch_replies_service_spec.rb b/spec/services/activitypub/fetch_replies_service_spec.rb
index 65c453341..fe49b18c1 100644
--- a/spec/services/activitypub/fetch_replies_service_spec.rb
+++ b/spec/services/activitypub/fetch_replies_service_spec.rb
@@ -34,9 +34,8 @@ RSpec.describe ActivityPub::FetchRepliesService, type: :service do
     context 'when the payload is a Collection with inlined replies' do
       context 'when passing the collection itself' do
         it 'spawns workers for up to 5 replies on the same server' do
-          allow(FetchReplyWorker).to receive(:push_bulk)
+          expect(FetchReplyWorker).to receive(:push_bulk).with(['http://example.com/self-reply-1', 'http://example.com/self-reply-2', 'http://example.com/self-reply-3', 'http://example.com/self-reply-4', 'http://example.com/self-reply-5'])
           subject.call(status, payload)
-          expect(FetchReplyWorker).to have_received(:push_bulk).with(['http://example.com/self-reply-1', 'http://example.com/self-reply-2', 'http://example.com/self-reply-3', 'http://example.com/self-reply-4', 'http://example.com/self-reply-5'])
         end
       end
 
@@ -46,9 +45,8 @@ RSpec.describe ActivityPub::FetchRepliesService, type: :service do
         end
 
         it 'spawns workers for up to 5 replies on the same server' do
-          allow(FetchReplyWorker).to receive(:push_bulk)
+          expect(FetchReplyWorker).to receive(:push_bulk).with(['http://example.com/self-reply-1', 'http://example.com/self-reply-2', 'http://example.com/self-reply-3', 'http://example.com/self-reply-4', 'http://example.com/self-reply-5'])
           subject.call(status, collection_uri)
-          expect(FetchReplyWorker).to have_received(:push_bulk).with(['http://example.com/self-reply-1', 'http://example.com/self-reply-2', 'http://example.com/self-reply-3', 'http://example.com/self-reply-4', 'http://example.com/self-reply-5'])
         end
       end
     end
@@ -65,9 +63,8 @@ RSpec.describe ActivityPub::FetchRepliesService, type: :service do
 
       context 'when passing the collection itself' do
         it 'spawns workers for up to 5 replies on the same server' do
-          allow(FetchReplyWorker).to receive(:push_bulk)
+          expect(FetchReplyWorker).to receive(:push_bulk).with(['http://example.com/self-reply-1', 'http://example.com/self-reply-2', 'http://example.com/self-reply-3', 'http://example.com/self-reply-4', 'http://example.com/self-reply-5'])
           subject.call(status, payload)
-          expect(FetchReplyWorker).to have_received(:push_bulk).with(['http://example.com/self-reply-1', 'http://example.com/self-reply-2', 'http://example.com/self-reply-3', 'http://example.com/self-reply-4', 'http://example.com/self-reply-5'])
         end
       end
 
@@ -77,9 +74,8 @@ RSpec.describe ActivityPub::FetchRepliesService, type: :service do
         end
 
         it 'spawns workers for up to 5 replies on the same server' do
-          allow(FetchReplyWorker).to receive(:push_bulk)
+          expect(FetchReplyWorker).to receive(:push_bulk).with(['http://example.com/self-reply-1', 'http://example.com/self-reply-2', 'http://example.com/self-reply-3', 'http://example.com/self-reply-4', 'http://example.com/self-reply-5'])
           subject.call(status, collection_uri)
-          expect(FetchReplyWorker).to have_received(:push_bulk).with(['http://example.com/self-reply-1', 'http://example.com/self-reply-2', 'http://example.com/self-reply-3', 'http://example.com/self-reply-4', 'http://example.com/self-reply-5'])
         end
       end
     end
@@ -100,9 +96,8 @@ RSpec.describe ActivityPub::FetchRepliesService, type: :service do
 
       context 'when passing the collection itself' do
         it 'spawns workers for up to 5 replies on the same server' do
-          allow(FetchReplyWorker).to receive(:push_bulk)
+          expect(FetchReplyWorker).to receive(:push_bulk).with(['http://example.com/self-reply-1', 'http://example.com/self-reply-2', 'http://example.com/self-reply-3', 'http://example.com/self-reply-4', 'http://example.com/self-reply-5'])
           subject.call(status, payload)
-          expect(FetchReplyWorker).to have_received(:push_bulk).with(['http://example.com/self-reply-1', 'http://example.com/self-reply-2', 'http://example.com/self-reply-3', 'http://example.com/self-reply-4', 'http://example.com/self-reply-5'])
         end
       end
 
@@ -112,9 +107,8 @@ RSpec.describe ActivityPub::FetchRepliesService, type: :service do
         end
 
         it 'spawns workers for up to 5 replies on the same server' do
-          allow(FetchReplyWorker).to receive(:push_bulk)
+          expect(FetchReplyWorker).to receive(:push_bulk).with(['http://example.com/self-reply-1', 'http://example.com/self-reply-2', 'http://example.com/self-reply-3', 'http://example.com/self-reply-4', 'http://example.com/self-reply-5'])
           subject.call(status, collection_uri)
-          expect(FetchReplyWorker).to have_received(:push_bulk).with(['http://example.com/self-reply-1', 'http://example.com/self-reply-2', 'http://example.com/self-reply-3', 'http://example.com/self-reply-4', 'http://example.com/self-reply-5'])
         end
       end
     end
diff --git a/spec/services/remove_status_service_spec.rb b/spec/services/remove_status_service_spec.rb
index fb7c6b462..482068d58 100644
--- a/spec/services/remove_status_service_spec.rb
+++ b/spec/services/remove_status_service_spec.rb
@@ -15,35 +15,97 @@ RSpec.describe RemoveStatusService, type: :service do
 
     jeff.follow!(alice)
     hank.follow!(alice)
-
-    @status = PostStatusService.new.call(alice, text: 'Hello @bob@example.com')
-    FavouriteService.new.call(jeff, @status)
-    Fabricate(:status, account: bill, reblog: @status, uri: 'hoge')
   end
 
-  it 'removes status from author\'s home feed' do
-    subject.call(@status)
-    expect(HomeFeed.new(alice).get(10)).to_not include(@status.id)
-  end
+  context 'when removed status is not a reblog' do
+    before do
+      @status = PostStatusService.new.call(alice, text: 'Hello @bob@example.com ThisIsASecret')
+      FavouriteService.new.call(jeff, @status)
+      Fabricate(:status, account: bill, reblog: @status, uri: 'hoge')
+    end
 
-  it 'removes status from local follower\'s home feed' do
-    subject.call(@status)
-    expect(HomeFeed.new(jeff).get(10)).to_not include(@status.id)
-  end
+    it 'removes status from author\'s home feed' do
+      subject.call(@status)
+      expect(HomeFeed.new(alice).get(10)).to_not include(@status.id)
+    end
+
+    it 'removes status from local follower\'s home feed' do
+      subject.call(@status)
+      expect(HomeFeed.new(jeff).get(10)).to_not include(@status.id)
+    end
 
-  it 'sends delete activity to followers' do
-    subject.call(@status)
-    expect(a_request(:post, 'http://example.com/inbox')).to have_been_made.twice
+    it 'sends Delete activity to followers' do
+      subject.call(@status)
+      expect(a_request(:post, 'http://example.com/inbox').with(
+        body: hash_including({
+          'type' => 'Delete',
+          'object' => {
+            'type' => 'Tombstone',
+            'id' => ActivityPub::TagManager.instance.uri_for(@status),
+            'atomUri' => OStatus::TagManager.instance.uri_for(@status),
+          },
+        })
+      )).to have_been_made.once
+    end
+
+    it 'sends Delete activity to rebloggers' do
+      subject.call(@status)
+      expect(a_request(:post, 'http://example2.com/inbox').with(
+        body: hash_including({
+          'type' => 'Delete',
+          'object' => {
+            'type' => 'Tombstone',
+            'id' => ActivityPub::TagManager.instance.uri_for(@status),
+            'atomUri' => OStatus::TagManager.instance.uri_for(@status),
+          },
+        })
+      )).to have_been_made.once
+    end
+
+    it 'remove status from notifications' do
+      expect { subject.call(@status) }.to change {
+        Notification.where(activity_type: 'Favourite', from_account: jeff, account: alice).count
+      }.from(1).to(0)
+    end
   end
 
-  it 'sends delete activity to rebloggers' do
-    subject.call(@status)
-    expect(a_request(:post, 'http://example2.com/inbox')).to have_been_made
+  context 'when removed status is a private self-reblog' do
+    before do
+      @original_status = Fabricate(:status, account: alice, text: 'Hello ThisIsASecret', visibility: :private)
+      @status = ReblogService.new.call(alice, @original_status)
+    end
+
+    it 'sends Undo activity to followers' do
+      subject.call(@status)
+      expect(a_request(:post, 'http://example.com/inbox').with(
+        body: hash_including({
+          'type' => 'Undo',
+          'object' => hash_including({
+            'type' => 'Announce',
+            'object' => ActivityPub::TagManager.instance.uri_for(@original_status),
+          }),
+        })
+      )).to have_been_made.once
+    end
   end
 
-  it 'remove status from notifications' do
-    expect { subject.call(@status) }.to change {
-      Notification.where(activity_type: 'Favourite', from_account: jeff, account: alice).count
-    }.from(1).to(0)
+  context 'when removed status is public self-reblog' do
+    before do
+      @original_status = Fabricate(:status, account: alice, text: 'Hello ThisIsASecret', visibility: :public)
+      @status = ReblogService.new.call(alice, @original_status)
+    end
+
+    it 'sends Undo activity to followers' do
+      subject.call(@status)
+      expect(a_request(:post, 'http://example.com/inbox').with(
+        body: hash_including({
+          'type' => 'Undo',
+          'object' => hash_including({
+            'type' => 'Announce',
+            'object' => ActivityPub::TagManager.instance.uri_for(@original_status),
+          }),
+        })
+      )).to have_been_made.once
+    end
   end
 end
diff --git a/spec/services/update_status_service_spec.rb b/spec/services/update_status_service_spec.rb
index fe1b60d24..4fd4837c6 100644
--- a/spec/services/update_status_service_spec.rb
+++ b/spec/services/update_status_service_spec.rb
@@ -114,7 +114,7 @@ RSpec.describe UpdateStatusService, type: :service do
     end
 
     it 'keeps old mentions as silent mentions' do
-      expect(status.mentions.pluck(:account_id)).to eq [alice.id, bob.id]
+      expect(status.mentions.pluck(:account_id)).to match_array([alice.id, bob.id])
     end
   end
 
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index b6d127a08..0414ba9ed 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -57,3 +57,10 @@ end
 def json_str_to_hash(str)
   JSON.parse(str, symbolize_names: true)
 end
+
+def expect_push_bulk_to_match(klass, matcher)
+  expect(Sidekiq::Client).to receive(:push_bulk).with(hash_including({
+    "class" => klass,
+    "args" => matcher
+  }))
+end
diff --git a/spec/workers/activitypub/distribute_poll_update_worker_spec.rb b/spec/workers/activitypub/distribute_poll_update_worker_spec.rb
index 7eb6119fd..d68a695b7 100644
--- a/spec/workers/activitypub/distribute_poll_update_worker_spec.rb
+++ b/spec/workers/activitypub/distribute_poll_update_worker_spec.rb
@@ -10,13 +10,12 @@ describe ActivityPub::DistributePollUpdateWorker do
 
   describe '#perform' do
     before do
-      allow(ActivityPub::DeliveryWorker).to receive(:push_bulk)
       follower.follow!(account)
     end
 
     it 'delivers to followers' do
+      expect_push_bulk_to_match(ActivityPub::DeliveryWorker, [[kind_of(String), account.id, 'http://example.com']])
       subject.perform(status.id)
-      expect(ActivityPub::DeliveryWorker).to have_received(:push_bulk).with(['http://example.com'])
     end
   end
 end
diff --git a/spec/workers/activitypub/distribution_worker_spec.rb b/spec/workers/activitypub/distribution_worker_spec.rb
index c017b4da1..3a5900d9b 100644
--- a/spec/workers/activitypub/distribution_worker_spec.rb
+++ b/spec/workers/activitypub/distribution_worker_spec.rb
@@ -8,7 +8,6 @@ describe ActivityPub::DistributionWorker do
 
   describe '#perform' do
     before do
-      allow(ActivityPub::DeliveryWorker).to receive(:push_bulk)
       follower.follow!(status.account)
     end
 
@@ -18,8 +17,8 @@ describe ActivityPub::DistributionWorker do
       end
 
       it 'delivers to followers' do
+        expect_push_bulk_to_match(ActivityPub::DeliveryWorker, [[kind_of(String), status.account.id, 'http://example.com', anything]])
         subject.perform(status.id)
-        expect(ActivityPub::DeliveryWorker).to have_received(:push_bulk).with(['http://example.com'])
       end
     end
 
@@ -29,8 +28,8 @@ describe ActivityPub::DistributionWorker do
       end
 
       it 'delivers to followers' do
+        expect_push_bulk_to_match(ActivityPub::DeliveryWorker, [[kind_of(String), status.account.id, 'http://example.com', anything]])
         subject.perform(status.id)
-        expect(ActivityPub::DeliveryWorker).to have_received(:push_bulk).with(['http://example.com'])
       end
     end
 
@@ -43,8 +42,8 @@ describe ActivityPub::DistributionWorker do
       end
 
       it 'delivers to mentioned accounts' do
+        expect_push_bulk_to_match(ActivityPub::DeliveryWorker, [[kind_of(String), status.account.id, 'https://foo.bar/inbox', anything]])
         subject.perform(status.id)
-        expect(ActivityPub::DeliveryWorker).to have_received(:push_bulk).with(['https://foo.bar/inbox'])
       end
     end
   end
diff --git a/spec/workers/activitypub/move_distribution_worker_spec.rb b/spec/workers/activitypub/move_distribution_worker_spec.rb
index b52788e54..af8c44cc0 100644
--- a/spec/workers/activitypub/move_distribution_worker_spec.rb
+++ b/spec/workers/activitypub/move_distribution_worker_spec.rb
@@ -9,14 +9,16 @@ describe ActivityPub::MoveDistributionWorker do
 
   describe '#perform' do
     before do
-      allow(ActivityPub::DeliveryWorker).to receive(:push_bulk)
       follower.follow!(migration.account)
       blocker.block!(migration.account)
     end
 
     it 'delivers to followers and known blockers' do
+      expect_push_bulk_to_match(ActivityPub::DeliveryWorker, [
+        [kind_of(String), migration.account.id, 'http://example.com'],
+        [kind_of(String), migration.account.id, 'http://example2.com']
+      ])
       subject.perform(migration.id)
-        expect(ActivityPub::DeliveryWorker).to have_received(:push_bulk).with(['http://example.com', 'http://example2.com'])
     end
   end
 end
diff --git a/spec/workers/activitypub/status_update_distribution_worker_spec.rb b/spec/workers/activitypub/status_update_distribution_worker_spec.rb
index 6633b601f..c014c6790 100644
--- a/spec/workers/activitypub/status_update_distribution_worker_spec.rb
+++ b/spec/workers/activitypub/status_update_distribution_worker_spec.rb
@@ -23,9 +23,7 @@ describe ActivityPub::StatusUpdateDistributionWorker do
       end
 
       it 'delivers to followers' do
-        expect(ActivityPub::DeliveryWorker).to receive(:push_bulk) do |items, &block|
-          expect(items.map(&block)).to match([[kind_of(String), status.account.id, 'http://example.com', anything]])
-        end
+        expect_push_bulk_to_match(ActivityPub::DeliveryWorker, [[kind_of(String), status.account.id, 'http://example.com', anything]])
 
         subject.perform(status.id)
       end
@@ -37,9 +35,7 @@ describe ActivityPub::StatusUpdateDistributionWorker do
       end
 
       it 'delivers to followers' do
-        expect(ActivityPub::DeliveryWorker).to receive(:push_bulk) do |items, &block|
-          expect(items.map(&block)).to match([[kind_of(String), status.account.id, 'http://example.com', anything]])
-        end
+        expect_push_bulk_to_match(ActivityPub::DeliveryWorker, [[kind_of(String), status.account.id, 'http://example.com', anything]])
 
         subject.perform(status.id)
       end
diff --git a/spec/workers/activitypub/update_distribution_worker_spec.rb b/spec/workers/activitypub/update_distribution_worker_spec.rb
index 688a424d5..0e057fd0b 100644
--- a/spec/workers/activitypub/update_distribution_worker_spec.rb
+++ b/spec/workers/activitypub/update_distribution_worker_spec.rb
@@ -8,13 +8,12 @@ describe ActivityPub::UpdateDistributionWorker do
 
   describe '#perform' do
     before do
-      allow(ActivityPub::DeliveryWorker).to receive(:push_bulk)
       follower.follow!(account)
     end
 
     it 'delivers to followers' do
+      expect_push_bulk_to_match(ActivityPub::DeliveryWorker, [[kind_of(String), account.id, 'http://example.com', anything]])
       subject.perform(account.id)
-      expect(ActivityPub::DeliveryWorker).to have_received(:push_bulk).with(['http://example.com'])
     end
   end
 end
diff --git a/spec/workers/move_worker_spec.rb b/spec/workers/move_worker_spec.rb
index 4db5810f1..be02d3192 100644
--- a/spec/workers/move_worker_spec.rb
+++ b/spec/workers/move_worker_spec.rb
@@ -21,7 +21,6 @@ describe MoveWorker do
     blocking_account.block!(source_account)
     muting_account.mute!(source_account)
 
-    allow(UnfollowFollowWorker).to receive(:push_bulk)
     allow(BlockService).to receive(:new).and_return(block_service)
     allow(block_service).to receive(:call)
   end
@@ -78,8 +77,8 @@ describe MoveWorker do
   context 'both accounts are distant' do
     describe 'perform' do
       it 'calls UnfollowFollowWorker' do
+        expect_push_bulk_to_match(UnfollowFollowWorker, [[local_follower.id, source_account.id, target_account.id, false]])
         subject.perform(source_account.id, target_account.id)
-        expect(UnfollowFollowWorker).to have_received(:push_bulk).with([local_follower.id])
       end
 
       include_examples 'user note handling'
@@ -92,8 +91,8 @@ describe MoveWorker do
 
     describe 'perform' do
       it 'calls UnfollowFollowWorker' do
+        expect_push_bulk_to_match(UnfollowFollowWorker, [[local_follower.id, source_account.id, target_account.id, true]])
         subject.perform(source_account.id, target_account.id)
-        expect(UnfollowFollowWorker).to have_received(:push_bulk).with([local_follower.id])
       end
 
       include_examples 'user note handling'
diff --git a/yarn.lock b/yarn.lock
index 1aff13f4d..e0d3f9ba3 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,6 +2,13 @@
 # yarn lockfile v1
 
 
+"@ampproject/remapping@^2.0.0":
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.0.tgz#72becdf17ee44b2d1ac5651fb12f1952c336fe23"
+  integrity sha512-d5RysTlJ7hmw5Tw4UxgxcY3lkMe92n8sXCcuLPAyIAHK6j8DefDwtGnVVDgOnv+RnEosulDJ9NPKQL27bDId0g==
+  dependencies:
+    "@jridgewell/trace-mapping" "^0.3.0"
+
 "@babel/code-frame@7.12.11":
   version "7.12.11"
   resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f"
@@ -21,33 +28,33 @@
   resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60"
   integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==
 
-"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.16.12", "@babel/core@^7.7.2", "@babel/core@^7.8.0":
-  version "7.16.12"
-  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.12.tgz#5edc53c1b71e54881315923ae2aedea2522bb784"
-  integrity sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==
+"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.17.2", "@babel/core@^7.7.2", "@babel/core@^7.8.0":
+  version "7.17.2"
+  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.2.tgz#2c77fc430e95139d816d39b113b31bf40fb22337"
+  integrity sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw==
   dependencies:
+    "@ampproject/remapping" "^2.0.0"
     "@babel/code-frame" "^7.16.7"
-    "@babel/generator" "^7.16.8"
+    "@babel/generator" "^7.17.0"
     "@babel/helper-compilation-targets" "^7.16.7"
     "@babel/helper-module-transforms" "^7.16.7"
-    "@babel/helpers" "^7.16.7"
-    "@babel/parser" "^7.16.12"
+    "@babel/helpers" "^7.17.2"
+    "@babel/parser" "^7.17.0"
     "@babel/template" "^7.16.7"
-    "@babel/traverse" "^7.16.10"
-    "@babel/types" "^7.16.8"
+    "@babel/traverse" "^7.17.0"
+    "@babel/types" "^7.17.0"
     convert-source-map "^1.7.0"
     debug "^4.1.0"
     gensync "^1.0.0-beta.2"
     json5 "^2.1.2"
     semver "^6.3.0"
-    source-map "^0.5.0"
 
-"@babel/generator@^7.16.8", "@babel/generator@^7.7.2":
-  version "7.16.8"
-  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe"
-  integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==
+"@babel/generator@^7.17.0", "@babel/generator@^7.7.2":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz#7bd890ba706cd86d3e2f727322346ffdbf98f65e"
+  integrity sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw==
   dependencies:
-    "@babel/types" "^7.16.8"
+    "@babel/types" "^7.17.0"
     jsesc "^2.5.1"
     source-map "^0.5.0"
 
@@ -84,23 +91,10 @@
     browserslist "^4.17.5"
     semver "^6.3.0"
 
-"@babel/helper-create-class-features-plugin@^7.16.10":
-  version "7.16.10"
-  resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz#8a6959b9cc818a88815ba3c5474619e9c0f2c21c"
-  integrity sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg==
-  dependencies:
-    "@babel/helper-annotate-as-pure" "^7.16.7"
-    "@babel/helper-environment-visitor" "^7.16.7"
-    "@babel/helper-function-name" "^7.16.7"
-    "@babel/helper-member-expression-to-functions" "^7.16.7"
-    "@babel/helper-optimise-call-expression" "^7.16.7"
-    "@babel/helper-replace-supers" "^7.16.7"
-    "@babel/helper-split-export-declaration" "^7.16.7"
-
-"@babel/helper-create-class-features-plugin@^7.16.7":
-  version "7.16.7"
-  resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz#9c5b34b53a01f2097daf10678d65135c1b9f84ba"
-  integrity sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw==
+"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.0":
+  version "7.17.1"
+  resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.1.tgz#9699f14a88833a7e055ce57dcd3ffdcd25186b21"
+  integrity sha512-JBdSr/LtyYIno/pNnJ75lBcqc3Z1XXujzPanHqjvvrhOA+DTceTFuJi8XjmWTZh4r3fsdfqaCMN0iZemdkxZHQ==
   dependencies:
     "@babel/helper-annotate-as-pure" "^7.16.7"
     "@babel/helper-environment-visitor" "^7.16.7"
@@ -289,14 +283,14 @@
     "@babel/traverse" "^7.16.8"
     "@babel/types" "^7.16.8"
 
-"@babel/helpers@^7.16.7":
-  version "7.16.7"
-  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.7.tgz#7e3504d708d50344112767c3542fc5e357fffefc"
-  integrity sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==
+"@babel/helpers@^7.17.2":
+  version "7.17.2"
+  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.2.tgz#23f0a0746c8e287773ccd27c14be428891f63417"
+  integrity sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==
   dependencies:
     "@babel/template" "^7.16.7"
-    "@babel/traverse" "^7.16.7"
-    "@babel/types" "^7.16.7"
+    "@babel/traverse" "^7.17.0"
+    "@babel/types" "^7.17.0"
 
 "@babel/highlight@^7.10.4":
   version "7.12.13"
@@ -316,10 +310,10 @@
     chalk "^2.0.0"
     js-tokens "^4.0.0"
 
-"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.10", "@babel/parser@^7.16.12", "@babel/parser@^7.16.7", "@babel/parser@^7.7.0":
-  version "7.16.12"
-  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6"
-  integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==
+"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.0", "@babel/parser@^7.7.0":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz#f0ac33eddbe214e4105363bb17c3341c5ffcc43c"
+  integrity sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==
 
 "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7":
   version "7.16.7"
@@ -363,14 +357,16 @@
     "@babel/helper-plugin-utils" "^7.16.7"
     "@babel/plugin-syntax-class-static-block" "^7.14.5"
 
-"@babel/plugin-proposal-decorators@^7.16.7":
-  version "7.16.7"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.7.tgz#922907d2e3e327f5b07d2246bcfc0bd438f360d2"
-  integrity sha512-DoEpnuXK14XV9btI1k8tzNGCutMclpj4yru8aXKoHlVmbO1s+2A+g2+h4JhcjrxkFJqzbymnLG6j/niOf3iFXQ==
+"@babel/plugin-proposal-decorators@^7.17.0":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.0.tgz#fc0f689fe2535075056c587bc10c176fa9990443"
+  integrity sha512-JR8HTf3T1CsdMqfENrZ9pqncwsH4sPcvsyDLpvmv8iIbpDmeyBD7HPfGAIqkQph2j5d3B84hTm+m3qHPAedaPw==
   dependencies:
-    "@babel/helper-create-class-features-plugin" "^7.16.7"
+    "@babel/helper-create-class-features-plugin" "^7.17.0"
     "@babel/helper-plugin-utils" "^7.16.7"
-    "@babel/plugin-syntax-decorators" "^7.16.7"
+    "@babel/helper-replace-supers" "^7.16.7"
+    "@babel/plugin-syntax-decorators" "^7.17.0"
+    charcodes "^0.2.0"
 
 "@babel/plugin-proposal-dynamic-import@^7.16.7":
   version "7.16.7"
@@ -502,10 +498,10 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.14.5"
 
-"@babel/plugin-syntax-decorators@^7.16.7":
-  version "7.16.7"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.7.tgz#f66a0199f16de7c1ef5192160ccf5d069739e3d3"
-  integrity sha512-vQ+PxL+srA7g6Rx6I1e15m55gftknl2X8GCUW1JTlkTaXZLJOS0UcaY0eK9jYT7IYf4awn6qwyghVHLDz1WyMw==
+"@babel/plugin-syntax-decorators@^7.17.0":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.17.0.tgz#a2be3b2c9fe7d78bd4994e790896bc411e2f166d"
+  integrity sha512-qWe85yCXsvDEluNP0OyeQjH63DlhAR3W7K9BxxU1MvbDb48tgBG+Ao6IJJ6smPDrrVzSQZrbF6donpkFBMcs3A==
   dependencies:
     "@babel/helper-plugin-utils" "^7.16.7"
 
@@ -847,10 +843,10 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-runtime@^7.16.10":
-  version "7.16.10"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.10.tgz#53d9fd3496daedce1dd99639097fa5d14f4c7c2c"
-  integrity sha512-9nwTiqETv2G7xI4RvXHNfpGdr8pAA+Q/YtN3yLK7OoK7n9OibVm/xymJ838a9A6E/IciOLPj82lZk0fW6O4O7w==
+"@babel/plugin-transform-runtime@^7.17.0":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz#0a2e08b5e2b2d95c4b1d3b3371a2180617455b70"
+  integrity sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A==
   dependencies:
     "@babel/helper-module-imports" "^7.16.7"
     "@babel/helper-plugin-utils" "^7.16.7"
@@ -1028,10 +1024,10 @@
   dependencies:
     regenerator-runtime "^0.12.0"
 
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.16.7", "@babel/runtime@^7.2.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2":
-  version "7.16.7"
-  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa"
-  integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.17.0", "@babel/runtime@^7.2.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.0.tgz#b8d142fc0f7664fb3d9b5833fd40dcbab89276c0"
+  integrity sha512-etcO/ohMNaNA2UBdaXBBSX/3aEzFMRrVfaPv8Ptc0k+cWpWW0QFiGZ2XnVqQZI1Cf734LbPGmqBKWESfW4x/dQ==
   dependencies:
     regenerator-runtime "^0.13.4"
 
@@ -1044,26 +1040,26 @@
     "@babel/parser" "^7.16.7"
     "@babel/types" "^7.16.7"
 
-"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.10", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2":
-  version "7.16.10"
-  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.10.tgz#448f940defbe95b5a8029975b051f75993e8239f"
-  integrity sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==
+"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.0", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.0.tgz#3143e5066796408ccc880a33ecd3184f3e75cd30"
+  integrity sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg==
   dependencies:
     "@babel/code-frame" "^7.16.7"
-    "@babel/generator" "^7.16.8"
+    "@babel/generator" "^7.17.0"
     "@babel/helper-environment-visitor" "^7.16.7"
     "@babel/helper-function-name" "^7.16.7"
     "@babel/helper-hoist-variables" "^7.16.7"
     "@babel/helper-split-export-declaration" "^7.16.7"
-    "@babel/parser" "^7.16.10"
-    "@babel/types" "^7.16.8"
+    "@babel/parser" "^7.17.0"
+    "@babel/types" "^7.17.0"
     debug "^4.1.0"
     globals "^11.1.0"
 
-"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0":
-  version "7.16.8"
-  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1"
-  integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==
+"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b"
+  integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==
   dependencies:
     "@babel/helper-validator-identifier" "^7.16.7"
     to-fast-properties "^2.0.0"
@@ -1205,158 +1201,179 @@
   resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd"
   integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==
 
-"@jest/console@^27.4.6":
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.4.6.tgz#0742e6787f682b22bdad56f9db2a8a77f6a86107"
-  integrity sha512-jauXyacQD33n47A44KrlOVeiXHEXDqapSdfb9kTekOchH/Pd18kBIO1+xxJQRLuG+LUuljFCwTG92ra4NW7SpA==
+"@jest/console@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.1.tgz#260fe7239602fe5130a94f1aa386eff54b014bba"
+  integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==
   dependencies:
-    "@jest/types" "^27.4.2"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
     chalk "^4.0.0"
-    jest-message-util "^27.4.6"
-    jest-util "^27.4.2"
+    jest-message-util "^27.5.1"
+    jest-util "^27.5.1"
     slash "^3.0.0"
 
-"@jest/core@^27.4.7":
-  version "27.4.7"
-  resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.4.7.tgz#84eabdf42a25f1fa138272ed229bcf0a1b5e6913"
-  integrity sha512-n181PurSJkVMS+kClIFSX/LLvw9ExSb+4IMtD6YnfxZVerw9ANYtW0bPrm0MJu2pfe9SY9FJ9FtQ+MdZkrZwjg==
+"@jest/core@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.5.1.tgz#267ac5f704e09dc52de2922cbf3af9edcd64b626"
+  integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==
   dependencies:
-    "@jest/console" "^27.4.6"
-    "@jest/reporters" "^27.4.6"
-    "@jest/test-result" "^27.4.6"
-    "@jest/transform" "^27.4.6"
-    "@jest/types" "^27.4.2"
+    "@jest/console" "^27.5.1"
+    "@jest/reporters" "^27.5.1"
+    "@jest/test-result" "^27.5.1"
+    "@jest/transform" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
     ansi-escapes "^4.2.1"
     chalk "^4.0.0"
     emittery "^0.8.1"
     exit "^0.1.2"
-    graceful-fs "^4.2.4"
-    jest-changed-files "^27.4.2"
-    jest-config "^27.4.7"
-    jest-haste-map "^27.4.6"
-    jest-message-util "^27.4.6"
-    jest-regex-util "^27.4.0"
-    jest-resolve "^27.4.6"
-    jest-resolve-dependencies "^27.4.6"
-    jest-runner "^27.4.6"
-    jest-runtime "^27.4.6"
-    jest-snapshot "^27.4.6"
-    jest-util "^27.4.2"
-    jest-validate "^27.4.6"
-    jest-watcher "^27.4.6"
+    graceful-fs "^4.2.9"
+    jest-changed-files "^27.5.1"
+    jest-config "^27.5.1"
+    jest-haste-map "^27.5.1"
+    jest-message-util "^27.5.1"
+    jest-regex-util "^27.5.1"
+    jest-resolve "^27.5.1"
+    jest-resolve-dependencies "^27.5.1"
+    jest-runner "^27.5.1"
+    jest-runtime "^27.5.1"
+    jest-snapshot "^27.5.1"
+    jest-util "^27.5.1"
+    jest-validate "^27.5.1"
+    jest-watcher "^27.5.1"
     micromatch "^4.0.4"
     rimraf "^3.0.0"
     slash "^3.0.0"
     strip-ansi "^6.0.0"
 
-"@jest/environment@^27.4.6":
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.4.6.tgz#1e92885d64f48c8454df35ed9779fbcf31c56d8b"
-  integrity sha512-E6t+RXPfATEEGVidr84WngLNWZ8ffCPky8RqqRK6u1Bn0LK92INe0MDttyPl/JOzaq92BmDzOeuqk09TvM22Sg==
+"@jest/environment@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74"
+  integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==
   dependencies:
-    "@jest/fake-timers" "^27.4.6"
-    "@jest/types" "^27.4.2"
+    "@jest/fake-timers" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
-    jest-mock "^27.4.6"
+    jest-mock "^27.5.1"
 
-"@jest/fake-timers@^27.4.6":
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.4.6.tgz#e026ae1671316dbd04a56945be2fa251204324e8"
-  integrity sha512-mfaethuYF8scV8ntPpiVGIHQgS0XIALbpY2jt2l7wb/bvq4Q5pDLk4EP4D7SAvYT1QrPOPVZAtbdGAOOyIgs7A==
+"@jest/fake-timers@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74"
+  integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==
   dependencies:
-    "@jest/types" "^27.4.2"
+    "@jest/types" "^27.5.1"
     "@sinonjs/fake-timers" "^8.0.1"
     "@types/node" "*"
-    jest-message-util "^27.4.6"
-    jest-mock "^27.4.6"
-    jest-util "^27.4.2"
+    jest-message-util "^27.5.1"
+    jest-mock "^27.5.1"
+    jest-util "^27.5.1"
 
-"@jest/globals@^27.4.6":
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.4.6.tgz#3f09bed64b0fd7f5f996920258bd4be8f52f060a"
-  integrity sha512-kAiwMGZ7UxrgPzu8Yv9uvWmXXxsy0GciNejlHvfPIfWkSxChzv6bgTS3YqBkGuHcis+ouMFI2696n2t+XYIeFw==
+"@jest/globals@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b"
+  integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==
   dependencies:
-    "@jest/environment" "^27.4.6"
-    "@jest/types" "^27.4.2"
-    expect "^27.4.6"
+    "@jest/environment" "^27.5.1"
+    "@jest/types" "^27.5.1"
+    expect "^27.5.1"
 
-"@jest/reporters@^27.4.6":
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.4.6.tgz#b53dec3a93baf9b00826abf95b932de919d6d8dd"
-  integrity sha512-+Zo9gV81R14+PSq4wzee4GC2mhAN9i9a7qgJWL90Gpx7fHYkWpTBvwWNZUXvJByYR9tAVBdc8VxDWqfJyIUrIQ==
+"@jest/reporters@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04"
+  integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==
   dependencies:
     "@bcoe/v8-coverage" "^0.2.3"
-    "@jest/console" "^27.4.6"
-    "@jest/test-result" "^27.4.6"
-    "@jest/transform" "^27.4.6"
-    "@jest/types" "^27.4.2"
+    "@jest/console" "^27.5.1"
+    "@jest/test-result" "^27.5.1"
+    "@jest/transform" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
     chalk "^4.0.0"
     collect-v8-coverage "^1.0.0"
     exit "^0.1.2"
     glob "^7.1.2"
-    graceful-fs "^4.2.4"
+    graceful-fs "^4.2.9"
     istanbul-lib-coverage "^3.0.0"
     istanbul-lib-instrument "^5.1.0"
     istanbul-lib-report "^3.0.0"
     istanbul-lib-source-maps "^4.0.0"
     istanbul-reports "^3.1.3"
-    jest-haste-map "^27.4.6"
-    jest-resolve "^27.4.6"
-    jest-util "^27.4.2"
-    jest-worker "^27.4.6"
+    jest-haste-map "^27.5.1"
+    jest-resolve "^27.5.1"
+    jest-util "^27.5.1"
+    jest-worker "^27.5.1"
     slash "^3.0.0"
     source-map "^0.6.0"
     string-length "^4.0.1"
     terminal-link "^2.0.0"
     v8-to-istanbul "^8.1.0"
 
-"@jest/source-map@^27.4.0":
-  version "27.4.0"
-  resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.4.0.tgz#2f0385d0d884fb3e2554e8f71f8fa957af9a74b6"
-  integrity sha512-Ntjx9jzP26Bvhbm93z/AKcPRj/9wrkI88/gK60glXDx1q+IeI0rf7Lw2c89Ch6ofonB0On/iRDreQuQ6te9pgQ==
+"@jest/source-map@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf"
+  integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==
   dependencies:
     callsites "^3.0.0"
-    graceful-fs "^4.2.4"
+    graceful-fs "^4.2.9"
     source-map "^0.6.0"
 
-"@jest/test-result@^27.4.6":
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.4.6.tgz#b3df94c3d899c040f602cea296979844f61bdf69"
-  integrity sha512-fi9IGj3fkOrlMmhQqa/t9xum8jaJOOAi/lZlm6JXSc55rJMXKHxNDN1oCP39B0/DhNOa2OMupF9BcKZnNtXMOQ==
+"@jest/test-result@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.1.tgz#56a6585fa80f7cdab72b8c5fc2e871d03832f5bb"
+  integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==
   dependencies:
-    "@jest/console" "^27.4.6"
-    "@jest/types" "^27.4.2"
+    "@jest/console" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/istanbul-lib-coverage" "^2.0.0"
     collect-v8-coverage "^1.0.0"
 
-"@jest/test-sequencer@^27.4.6":
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.4.6.tgz#447339b8a3d7b5436f50934df30854e442a9d904"
-  integrity sha512-3GL+nsf6E1PsyNsJuvPyIz+DwFuCtBdtvPpm/LMXVkBJbdFvQYCDpccYT56qq5BGniXWlE81n2qk1sdXfZebnw==
+"@jest/test-sequencer@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz#4057e0e9cea4439e544c6353c6affe58d095745b"
+  integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==
+  dependencies:
+    "@jest/test-result" "^27.5.1"
+    graceful-fs "^4.2.9"
+    jest-haste-map "^27.5.1"
+    jest-runtime "^27.5.1"
+
+"@jest/transform@^27.5.0":
+  version "27.5.0"
+  resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.0.tgz#a4941e69ac51e8aa9a255ff4855b564c228c400b"
+  integrity sha512-yXUy/iO3TH1itxJ9BF7LLjuXt8TtgtjAl0PBQbUaCvRa+L0yYBob6uayW9dFRX/CDQweouLhvmXh44zRiaB+yA==
   dependencies:
-    "@jest/test-result" "^27.4.6"
-    graceful-fs "^4.2.4"
-    jest-haste-map "^27.4.6"
-    jest-runtime "^27.4.6"
+    "@babel/core" "^7.1.0"
+    "@jest/types" "^27.5.0"
+    babel-plugin-istanbul "^6.1.1"
+    chalk "^4.0.0"
+    convert-source-map "^1.4.0"
+    fast-json-stable-stringify "^2.0.0"
+    graceful-fs "^4.2.9"
+    jest-haste-map "^27.5.0"
+    jest-regex-util "^27.5.0"
+    jest-util "^27.5.0"
+    micromatch "^4.0.4"
+    pirates "^4.0.4"
+    slash "^3.0.0"
+    source-map "^0.6.1"
+    write-file-atomic "^3.0.0"
 
-"@jest/transform@^27.4.6":
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.4.6.tgz#153621940b1ed500305eacdb31105d415dc30231"
-  integrity sha512-9MsufmJC8t5JTpWEQJ0OcOOAXaH5ioaIX6uHVBLBMoCZPfKKQF+EqP8kACAvCZ0Y1h2Zr3uOccg8re+Dr5jxyw==
+"@jest/transform@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409"
+  integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==
   dependencies:
     "@babel/core" "^7.1.0"
-    "@jest/types" "^27.4.2"
+    "@jest/types" "^27.5.1"
     babel-plugin-istanbul "^6.1.1"
     chalk "^4.0.0"
     convert-source-map "^1.4.0"
     fast-json-stable-stringify "^2.0.0"
-    graceful-fs "^4.2.4"
-    jest-haste-map "^27.4.6"
-    jest-regex-util "^27.4.0"
-    jest-util "^27.4.2"
+    graceful-fs "^4.2.9"
+    jest-haste-map "^27.5.1"
+    jest-regex-util "^27.5.1"
+    jest-util "^27.5.1"
     micromatch "^4.0.4"
     pirates "^4.0.4"
     slash "^3.0.0"
@@ -1373,10 +1390,10 @@
     "@types/yargs" "^15.0.0"
     chalk "^3.0.0"
 
-"@jest/types@^27.0.2", "@jest/types@^27.4.2":
-  version "27.4.2"
-  resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.4.2.tgz#96536ebd34da6392c2b7c7737d693885b5dd44a5"
-  integrity sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==
+"@jest/types@^27.0.2", "@jest/types@^27.5.0":
+  version "27.5.0"
+  resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.0.tgz#6ad04a5c5355fd9f46e5cf761850e0edb3c209dd"
+  integrity sha512-oDHEp7gwSgA82RZ6pzUL3ugM2njP/lVB1MsxRZNOBk+CoNvh9SpH1lQixPFc/kDlV50v59csiW4HLixWmhmgPQ==
   dependencies:
     "@types/istanbul-lib-coverage" "^2.0.0"
     "@types/istanbul-reports" "^3.0.0"
@@ -1384,6 +1401,35 @@
     "@types/yargs" "^16.0.0"
     chalk "^4.0.0"
 
+"@jest/types@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80"
+  integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==
+  dependencies:
+    "@types/istanbul-lib-coverage" "^2.0.0"
+    "@types/istanbul-reports" "^3.0.0"
+    "@types/node" "*"
+    "@types/yargs" "^16.0.0"
+    chalk "^4.0.0"
+
+"@jridgewell/resolve-uri@^3.0.3":
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.4.tgz#b876e3feefb9c8d3aa84014da28b5e52a0640d72"
+  integrity sha512-cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg==
+
+"@jridgewell/sourcemap-codec@^1.4.10":
+  version "1.4.10"
+  resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.10.tgz#baf57b4e2a690d4f38560171f91783656b7f8186"
+  integrity sha512-Ht8wIW5v165atIX1p+JvKR5ONzUyF4Ac8DZIQ5kZs9zrb6M8SJNXpx1zn04rn65VjBMygRoMXcyYwNK0fT7bEg==
+
+"@jridgewell/trace-mapping@^0.3.0":
+  version "0.3.4"
+  resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3"
+  integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==
+  dependencies:
+    "@jridgewell/resolve-uri" "^3.0.3"
+    "@jridgewell/sourcemap-codec" "^1.4.10"
+
 "@node-redis/bloom@1.0.1":
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/@node-redis/bloom/-/bloom-1.0.1.tgz#144474a0b7dc4a4b91badea2cfa9538ce0a1854e"
@@ -1464,10 +1510,10 @@
     lz-string "^1.4.4"
     pretty-format "^27.0.2"
 
-"@testing-library/jest-dom@^5.16.1":
-  version "5.16.1"
-  resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.1.tgz#3db7df5ae97596264a7da9696fe14695ba02e51f"
-  integrity sha512-ajUJdfDIuTCadB79ukO+0l8O+QwN0LiSxDaYUTI4LndbbUsGi6rWU1SCexXzBA2NSjlVB9/vbkasQIL3tmPBjw==
+"@testing-library/jest-dom@^5.16.2":
+  version "5.16.2"
+  resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.2.tgz#f329b36b44aa6149cd6ced9adf567f8b6aa1c959"
+  integrity sha512-6ewxs1MXWwsBFZXIk4nKKskWANelkdUehchEOokHsN8X7c2eKXGw+77aRV63UU8f/DTSVUPLaGxdrj4lN7D/ug==
   dependencies:
     "@babel/runtime" "^7.9.2"
     "@types/testing-library__jest-dom" "^5.9.1"
@@ -2318,18 +2364,32 @@ babel-eslint@^10.1.0:
     eslint-visitor-keys "^1.0.0"
     resolve "^1.12.0"
 
-babel-jest@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.4.6.tgz#4d024e69e241cdf4f396e453a07100f44f7ce314"
-  integrity sha512-qZL0JT0HS1L+lOuH+xC2DVASR3nunZi/ozGhpgauJHgmI7f8rudxf6hUjEHympdQ/J64CdKmPkgfJ+A3U6QCrg==
+babel-jest@^27.5.0:
+  version "27.5.0"
+  resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.0.tgz#c653985241af3c76f59d70d65a570860c2594a50"
+  integrity sha512-puhCyvBTNLevhbd1oyw6t3gWBicWoUARQYKCBB/B1moif17NbyhxbsfadqZIw8zfJJD+W7Vw0Nb20pEjLxkXqQ==
   dependencies:
-    "@jest/transform" "^27.4.6"
-    "@jest/types" "^27.4.2"
+    "@jest/transform" "^27.5.0"
+    "@jest/types" "^27.5.0"
     "@types/babel__core" "^7.1.14"
     babel-plugin-istanbul "^6.1.1"
-    babel-preset-jest "^27.4.0"
+    babel-preset-jest "^27.5.0"
     chalk "^4.0.0"
-    graceful-fs "^4.2.4"
+    graceful-fs "^4.2.9"
+    slash "^3.0.0"
+
+babel-jest@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444"
+  integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==
+  dependencies:
+    "@jest/transform" "^27.5.1"
+    "@jest/types" "^27.5.1"
+    "@types/babel__core" "^7.1.14"
+    babel-plugin-istanbul "^6.1.1"
+    babel-preset-jest "^27.5.1"
+    chalk "^4.0.0"
+    graceful-fs "^4.2.9"
     slash "^3.0.0"
 
 babel-loader@^8.2.3:
@@ -2360,10 +2420,20 @@ babel-plugin-istanbul@^6.1.1:
     istanbul-lib-instrument "^5.0.4"
     test-exclude "^6.0.0"
 
-babel-plugin-jest-hoist@^27.4.0:
-  version "27.4.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.4.0.tgz#d7831fc0f93573788d80dee7e682482da4c730d6"
-  integrity sha512-Jcu7qS4OX5kTWBc45Hz7BMmgXuJqRnhatqpUhnzGC3OBYpOmf2tv6jFNwZpwM7wU7MUuv2r9IPS/ZlYOuburVw==
+babel-plugin-jest-hoist@^27.5.0:
+  version "27.5.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.0.tgz#8fdf07835f2165a068de3ce95fd7749a89801b51"
+  integrity sha512-ztwNkHl+g1GaoQcb8f2BER4C3LMvSXuF7KVqtUioXQgScSEnkl6lLgCILUYIR+CPTwL8H3F/PNLze64HPWF9JA==
+  dependencies:
+    "@babel/template" "^7.3.3"
+    "@babel/types" "^7.3.3"
+    "@types/babel__core" "^7.0.0"
+    "@types/babel__traverse" "^7.0.6"
+
+babel-plugin-jest-hoist@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e"
+  integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==
   dependencies:
     "@babel/template" "^7.3.3"
     "@babel/types" "^7.3.3"
@@ -2459,12 +2529,20 @@ babel-preset-current-node-syntax@^1.0.0:
     "@babel/plugin-syntax-optional-chaining" "^7.8.3"
     "@babel/plugin-syntax-top-level-await" "^7.8.3"
 
-babel-preset-jest@^27.4.0:
-  version "27.4.0"
-  resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.4.0.tgz#70d0e676a282ccb200fbabd7f415db5fdf393bca"
-  integrity sha512-NK4jGYpnBvNxcGo7/ZpZJr51jCGT+3bwwpVIDY2oNfTxJJldRtB4VAcYdgp1loDE50ODuTu+yBjpMAswv5tlpg==
+babel-preset-jest@^27.5.0:
+  version "27.5.0"
+  resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.0.tgz#4e308711c3d2ff1f45cf5d9a23646e37b621fc9f"
+  integrity sha512-7bfu1cJBlgK/nKfTvMlElzA3jpi6GzDWX3fntnyP2cQSzoi/KUz6ewGlcb3PSRYZGyv+uPnVHY0Im3JbsViqgA==
+  dependencies:
+    babel-plugin-jest-hoist "^27.5.0"
+    babel-preset-current-node-syntax "^1.0.0"
+
+babel-preset-jest@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81"
+  integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==
   dependencies:
-    babel-plugin-jest-hoist "^27.4.0"
+    babel-plugin-jest-hoist "^27.5.1"
     babel-preset-current-node-syntax "^1.0.0"
 
 babel-runtime@^6.26.0:
@@ -2957,6 +3035,11 @@ char-regex@^1.0.2:
   resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
   integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
 
+charcodes@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/charcodes/-/charcodes-0.2.0.tgz#5208d327e6cc05f99eb80ffc814707572d1f14e4"
+  integrity sha512-Y4kiDb+AM4Ecy58YkuZrrSRJBDQdQ2L+NyS1vHHFtNtUjgutcZfx3yp1dAONI/oPaPmyGfCLx5CxL+zauIMyKQ==
+
 "chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.1:
   version "3.5.1"
   resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a"
@@ -3873,10 +3956,10 @@ diff-sequences@^25.2.6:
   resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd"
   integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==
 
-diff-sequences@^27.4.0:
-  version "27.4.0"
-  resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.4.0.tgz#d783920ad8d06ec718a060d00196dfef25b132a5"
-  integrity sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww==
+diff-sequences@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327"
+  integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==
 
 diffie-hellman@^5.0.0:
   version "5.0.3"
@@ -4642,15 +4725,15 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2:
   dependencies:
     homedir-polyfill "^1.0.1"
 
-expect@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/expect/-/expect-27.4.6.tgz#f335e128b0335b6ceb4fcab67ece7cbd14c942e6"
-  integrity sha512-1M/0kAALIaj5LaG66sFJTbRsWTADnylly82cu4bspI0nl+pgP4E6Bh/aqdHlTUjul06K7xQnnrAoqfxVU0+/ag==
+expect@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74"
+  integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==
   dependencies:
-    "@jest/types" "^27.4.2"
-    jest-get-type "^27.4.0"
-    jest-matcher-utils "^27.4.6"
-    jest-message-util "^27.4.6"
+    "@jest/types" "^27.5.1"
+    jest-get-type "^27.5.1"
+    jest-matcher-utils "^27.5.1"
+    jest-message-util "^27.5.1"
 
 express@^4.17.1, express@^4.17.2:
   version "4.17.2"
@@ -5236,10 +5319,10 @@ gonzales-pe-sl@^4.2.3:
   dependencies:
     minimist "1.1.x"
 
-graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4:
-  version "4.2.4"
-  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
-  integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
+graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.9:
+  version "4.2.9"
+  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96"
+  integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==
 
 gzip-size@^6.0.0:
   version "6.0.0"
@@ -6230,85 +6313,87 @@ istanbul-reports@^3.1.3:
     html-escaper "^2.0.0"
     istanbul-lib-report "^3.0.0"
 
-jest-changed-files@^27.4.2:
-  version "27.4.2"
-  resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.4.2.tgz#da2547ea47c6e6a5f6ed336151bd2075736eb4a5"
-  integrity sha512-/9x8MjekuzUQoPjDHbBiXbNEBauhrPU2ct7m8TfCg69ywt1y/N+yYwGh3gCpnqUS3klYWDU/lSNgv+JhoD2k1A==
+jest-changed-files@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5"
+  integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==
   dependencies:
-    "@jest/types" "^27.4.2"
+    "@jest/types" "^27.5.1"
     execa "^5.0.0"
     throat "^6.0.1"
 
-jest-circus@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.4.6.tgz#d3af34c0eb742a967b1919fbb351430727bcea6c"
-  integrity sha512-UA7AI5HZrW4wRM72Ro80uRR2Fg+7nR0GESbSI/2M+ambbzVuA63mn5T1p3Z/wlhntzGpIG1xx78GP2YIkf6PhQ==
+jest-circus@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc"
+  integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==
   dependencies:
-    "@jest/environment" "^27.4.6"
-    "@jest/test-result" "^27.4.6"
-    "@jest/types" "^27.4.2"
+    "@jest/environment" "^27.5.1"
+    "@jest/test-result" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
     chalk "^4.0.0"
     co "^4.6.0"
     dedent "^0.7.0"
-    expect "^27.4.6"
+    expect "^27.5.1"
     is-generator-fn "^2.0.0"
-    jest-each "^27.4.6"
-    jest-matcher-utils "^27.4.6"
-    jest-message-util "^27.4.6"
-    jest-runtime "^27.4.6"
-    jest-snapshot "^27.4.6"
-    jest-util "^27.4.2"
-    pretty-format "^27.4.6"
+    jest-each "^27.5.1"
+    jest-matcher-utils "^27.5.1"
+    jest-message-util "^27.5.1"
+    jest-runtime "^27.5.1"
+    jest-snapshot "^27.5.1"
+    jest-util "^27.5.1"
+    pretty-format "^27.5.1"
     slash "^3.0.0"
     stack-utils "^2.0.3"
     throat "^6.0.1"
 
-jest-cli@^27.4.7:
-  version "27.4.7"
-  resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.4.7.tgz#d00e759e55d77b3bcfea0715f527c394ca314e5a"
-  integrity sha512-zREYhvjjqe1KsGV15mdnxjThKNDgza1fhDT+iUsXWLCq3sxe9w5xnvyctcYVT5PcdLSjv7Y5dCwTS3FCF1tiuw==
+jest-cli@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145"
+  integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==
   dependencies:
-    "@jest/core" "^27.4.7"
-    "@jest/test-result" "^27.4.6"
-    "@jest/types" "^27.4.2"
+    "@jest/core" "^27.5.1"
+    "@jest/test-result" "^27.5.1"
+    "@jest/types" "^27.5.1"
     chalk "^4.0.0"
     exit "^0.1.2"
-    graceful-fs "^4.2.4"
+    graceful-fs "^4.2.9"
     import-local "^3.0.2"
-    jest-config "^27.4.7"
-    jest-util "^27.4.2"
-    jest-validate "^27.4.6"
+    jest-config "^27.5.1"
+    jest-util "^27.5.1"
+    jest-validate "^27.5.1"
     prompts "^2.0.1"
     yargs "^16.2.0"
 
-jest-config@^27.4.7:
-  version "27.4.7"
-  resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.4.7.tgz#4f084b2acbd172c8b43aa4cdffe75d89378d3972"
-  integrity sha512-xz/o/KJJEedHMrIY9v2ParIoYSrSVY6IVeE4z5Z3i101GoA5XgfbJz+1C8EYPsv7u7f39dS8F9v46BHDhn0vlw==
+jest-config@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41"
+  integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==
   dependencies:
     "@babel/core" "^7.8.0"
-    "@jest/test-sequencer" "^27.4.6"
-    "@jest/types" "^27.4.2"
-    babel-jest "^27.4.6"
+    "@jest/test-sequencer" "^27.5.1"
+    "@jest/types" "^27.5.1"
+    babel-jest "^27.5.1"
     chalk "^4.0.0"
     ci-info "^3.2.0"
     deepmerge "^4.2.2"
     glob "^7.1.1"
-    graceful-fs "^4.2.4"
-    jest-circus "^27.4.6"
-    jest-environment-jsdom "^27.4.6"
-    jest-environment-node "^27.4.6"
-    jest-get-type "^27.4.0"
-    jest-jasmine2 "^27.4.6"
-    jest-regex-util "^27.4.0"
-    jest-resolve "^27.4.6"
-    jest-runner "^27.4.6"
-    jest-util "^27.4.2"
-    jest-validate "^27.4.6"
+    graceful-fs "^4.2.9"
+    jest-circus "^27.5.1"
+    jest-environment-jsdom "^27.5.1"
+    jest-environment-node "^27.5.1"
+    jest-get-type "^27.5.1"
+    jest-jasmine2 "^27.5.1"
+    jest-regex-util "^27.5.1"
+    jest-resolve "^27.5.1"
+    jest-runner "^27.5.1"
+    jest-util "^27.5.1"
+    jest-validate "^27.5.1"
     micromatch "^4.0.4"
-    pretty-format "^27.4.6"
+    parse-json "^5.2.0"
+    pretty-format "^27.5.1"
     slash "^3.0.0"
+    strip-json-comments "^3.1.1"
 
 jest-diff@^25.2.1:
   version "25.5.0"
@@ -6320,151 +6405,171 @@ jest-diff@^25.2.1:
     jest-get-type "^25.2.6"
     pretty-format "^25.5.0"
 
-jest-diff@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.4.6.tgz#93815774d2012a2cbb6cf23f84d48c7a2618f98d"
-  integrity sha512-zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w==
+jest-diff@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def"
+  integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==
   dependencies:
     chalk "^4.0.0"
-    diff-sequences "^27.4.0"
-    jest-get-type "^27.4.0"
-    pretty-format "^27.4.6"
+    diff-sequences "^27.5.1"
+    jest-get-type "^27.5.1"
+    pretty-format "^27.5.1"
 
-jest-docblock@^27.4.0:
-  version "27.4.0"
-  resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.4.0.tgz#06c78035ca93cbbb84faf8fce64deae79a59f69f"
-  integrity sha512-7TBazUdCKGV7svZ+gh7C8esAnweJoG+SvcF6Cjqj4l17zA2q1cMwx2JObSioubk317H+cjcHgP+7fTs60paulg==
+jest-docblock@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0"
+  integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==
   dependencies:
     detect-newline "^3.0.0"
 
-jest-each@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.4.6.tgz#e7e8561be61d8cc6dbf04296688747ab186c40ff"
-  integrity sha512-n6QDq8y2Hsmn22tRkgAk+z6MCX7MeVlAzxmZDshfS2jLcaBlyhpF3tZSJLR+kXmh23GEvS0ojMR8i6ZeRvpQcA==
+jest-each@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e"
+  integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==
   dependencies:
-    "@jest/types" "^27.4.2"
+    "@jest/types" "^27.5.1"
     chalk "^4.0.0"
-    jest-get-type "^27.4.0"
-    jest-util "^27.4.2"
-    pretty-format "^27.4.6"
-
-jest-environment-jsdom@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.4.6.tgz#c23a394eb445b33621dfae9c09e4c8021dea7b36"
-  integrity sha512-o3dx5p/kHPbUlRvSNjypEcEtgs6LmvESMzgRFQE6c+Prwl2JLA4RZ7qAnxc5VM8kutsGRTB15jXeeSbJsKN9iA==
-  dependencies:
-    "@jest/environment" "^27.4.6"
-    "@jest/fake-timers" "^27.4.6"
-    "@jest/types" "^27.4.2"
+    jest-get-type "^27.5.1"
+    jest-util "^27.5.1"
+    pretty-format "^27.5.1"
+
+jest-environment-jsdom@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546"
+  integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==
+  dependencies:
+    "@jest/environment" "^27.5.1"
+    "@jest/fake-timers" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
-    jest-mock "^27.4.6"
-    jest-util "^27.4.2"
+    jest-mock "^27.5.1"
+    jest-util "^27.5.1"
     jsdom "^16.6.0"
 
-jest-environment-node@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.4.6.tgz#ee8cd4ef458a0ef09d087c8cd52ca5856df90242"
-  integrity sha512-yfHlZ9m+kzTKZV0hVfhVu6GuDxKAYeFHrfulmy7Jxwsq4V7+ZK7f+c0XP/tbVDMQW7E4neG2u147hFkuVz0MlQ==
+jest-environment-node@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e"
+  integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==
   dependencies:
-    "@jest/environment" "^27.4.6"
-    "@jest/fake-timers" "^27.4.6"
-    "@jest/types" "^27.4.2"
+    "@jest/environment" "^27.5.1"
+    "@jest/fake-timers" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
-    jest-mock "^27.4.6"
-    jest-util "^27.4.2"
+    jest-mock "^27.5.1"
+    jest-util "^27.5.1"
 
 jest-get-type@^25.2.6:
   version "25.2.6"
   resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877"
   integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==
 
-jest-get-type@^27.4.0:
-  version "27.4.0"
-  resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.4.0.tgz#7503d2663fffa431638337b3998d39c5e928e9b5"
-  integrity sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ==
+jest-get-type@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1"
+  integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==
 
-jest-haste-map@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.4.6.tgz#c60b5233a34ca0520f325b7e2cc0a0140ad0862a"
-  integrity sha512-0tNpgxg7BKurZeFkIOvGCkbmOHbLFf4LUQOxrQSMjvrQaQe3l6E8x6jYC1NuWkGo5WDdbr8FEzUxV2+LWNawKQ==
+jest-haste-map@^27.5.0:
+  version "27.5.0"
+  resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.0.tgz#7cc3a920caf304c89fbfceb5d5717b929873f175"
+  integrity sha512-0KfckSBEKV+D6e0toXmIj4zzp72EiBnvkC0L+xYxenkLhAdkp2/8tye4AgMzz7Fqb1r8SWtz7+s1UQLrxMBang==
   dependencies:
-    "@jest/types" "^27.4.2"
+    "@jest/types" "^27.5.0"
     "@types/graceful-fs" "^4.1.2"
     "@types/node" "*"
     anymatch "^3.0.3"
     fb-watchman "^2.0.0"
-    graceful-fs "^4.2.4"
-    jest-regex-util "^27.4.0"
-    jest-serializer "^27.4.0"
-    jest-util "^27.4.2"
-    jest-worker "^27.4.6"
+    graceful-fs "^4.2.9"
+    jest-regex-util "^27.5.0"
+    jest-serializer "^27.5.0"
+    jest-util "^27.5.0"
+    jest-worker "^27.5.0"
     micromatch "^4.0.4"
     walker "^1.0.7"
   optionalDependencies:
     fsevents "^2.3.2"
 
-jest-jasmine2@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.4.6.tgz#109e8bc036cb455950ae28a018f983f2abe50127"
-  integrity sha512-uAGNXF644I/whzhsf7/qf74gqy9OuhvJ0XYp8SDecX2ooGeaPnmJMjXjKt0mqh1Rl5dtRGxJgNrHlBQIBfS5Nw==
+jest-haste-map@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f"
+  integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==
   dependencies:
-    "@jest/environment" "^27.4.6"
-    "@jest/source-map" "^27.4.0"
-    "@jest/test-result" "^27.4.6"
-    "@jest/types" "^27.4.2"
+    "@jest/types" "^27.5.1"
+    "@types/graceful-fs" "^4.1.2"
+    "@types/node" "*"
+    anymatch "^3.0.3"
+    fb-watchman "^2.0.0"
+    graceful-fs "^4.2.9"
+    jest-regex-util "^27.5.1"
+    jest-serializer "^27.5.1"
+    jest-util "^27.5.1"
+    jest-worker "^27.5.1"
+    micromatch "^4.0.4"
+    walker "^1.0.7"
+  optionalDependencies:
+    fsevents "^2.3.2"
+
+jest-jasmine2@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4"
+  integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==
+  dependencies:
+    "@jest/environment" "^27.5.1"
+    "@jest/source-map" "^27.5.1"
+    "@jest/test-result" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
     chalk "^4.0.0"
     co "^4.6.0"
-    expect "^27.4.6"
+    expect "^27.5.1"
     is-generator-fn "^2.0.0"
-    jest-each "^27.4.6"
-    jest-matcher-utils "^27.4.6"
-    jest-message-util "^27.4.6"
-    jest-runtime "^27.4.6"
-    jest-snapshot "^27.4.6"
-    jest-util "^27.4.2"
-    pretty-format "^27.4.6"
+    jest-each "^27.5.1"
+    jest-matcher-utils "^27.5.1"
+    jest-message-util "^27.5.1"
+    jest-runtime "^27.5.1"
+    jest-snapshot "^27.5.1"
+    jest-util "^27.5.1"
+    pretty-format "^27.5.1"
     throat "^6.0.1"
 
-jest-leak-detector@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.4.6.tgz#ed9bc3ce514b4c582637088d9faf58a33bd59bf4"
-  integrity sha512-kkaGixDf9R7CjHm2pOzfTxZTQQQ2gHTIWKY/JZSiYTc90bZp8kSZnUMS3uLAfwTZwc0tcMRoEX74e14LG1WapA==
+jest-leak-detector@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8"
+  integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==
   dependencies:
-    jest-get-type "^27.4.0"
-    pretty-format "^27.4.6"
+    jest-get-type "^27.5.1"
+    pretty-format "^27.5.1"
 
-jest-matcher-utils@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.4.6.tgz#53ca7f7b58170638590e946f5363b988775509b8"
-  integrity sha512-XD4PKT3Wn1LQnRAq7ZsTI0VRuEc9OrCPFiO1XL7bftTGmfNF0DcEwMHRgqiu7NGf8ZoZDREpGrCniDkjt79WbA==
+jest-matcher-utils@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab"
+  integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==
   dependencies:
     chalk "^4.0.0"
-    jest-diff "^27.4.6"
-    jest-get-type "^27.4.0"
-    pretty-format "^27.4.6"
+    jest-diff "^27.5.1"
+    jest-get-type "^27.5.1"
+    pretty-format "^27.5.1"
 
-jest-message-util@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.4.6.tgz#9fdde41a33820ded3127465e1a5896061524da31"
-  integrity sha512-0p5szriFU0U74czRSFjH6RyS7UYIAkn/ntwMuOwTGWrQIOh5NzXXrq72LOqIkJKKvFbPq+byZKuBz78fjBERBA==
+jest-message-util@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf"
+  integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==
   dependencies:
     "@babel/code-frame" "^7.12.13"
-    "@jest/types" "^27.4.2"
+    "@jest/types" "^27.5.1"
     "@types/stack-utils" "^2.0.0"
     chalk "^4.0.0"
-    graceful-fs "^4.2.4"
+    graceful-fs "^4.2.9"
     micromatch "^4.0.4"
-    pretty-format "^27.4.6"
+    pretty-format "^27.5.1"
     slash "^3.0.0"
     stack-utils "^2.0.3"
 
-jest-mock@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.4.6.tgz#77d1ba87fbd33ccb8ef1f061697e7341b7635195"
-  integrity sha512-kvojdYRkst8iVSZ1EJ+vc1RRD9llueBjKzXzeCytH3dMM7zvPV/ULcfI2nr0v0VUgm3Bjt3hBCQvOeaBz+ZTHw==
+jest-mock@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6"
+  integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==
   dependencies:
-    "@jest/types" "^27.4.2"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
 
 jest-pnp-resolver@^1.2.2:
@@ -6472,163 +6577,187 @@ jest-pnp-resolver@^1.2.2:
   resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c"
   integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==
 
-jest-regex-util@^27.4.0:
-  version "27.4.0"
-  resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.4.0.tgz#e4c45b52653128843d07ad94aec34393ea14fbca"
-  integrity sha512-WeCpMpNnqJYMQoOjm1nTtsgbR4XHAk1u00qDoNBQoykM280+/TmgA5Qh5giC1ecy6a5d4hbSsHzpBtu5yvlbEg==
+jest-regex-util@^27.5.0:
+  version "27.5.0"
+  resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.0.tgz#26c26cf15a73edba13cb8930e261443d25ed8608"
+  integrity sha512-e9LqSd6HsDsqd7KS3rNyYwmQAaG9jq4U3LbnwVxN/y3nNlDzm2OFs596uo9zrUY+AV1opXq6ome78tRDUCRWfA==
+
+jest-regex-util@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95"
+  integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==
 
-jest-resolve-dependencies@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.6.tgz#fc50ee56a67d2c2183063f6a500cc4042b5e2327"
-  integrity sha512-W85uJZcFXEVZ7+MZqIPCscdjuctruNGXUZ3OHSXOfXR9ITgbUKeHj+uGcies+0SsvI5GtUfTw4dY7u9qjTvQOw==
+jest-resolve-dependencies@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8"
+  integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==
   dependencies:
-    "@jest/types" "^27.4.2"
-    jest-regex-util "^27.4.0"
-    jest-snapshot "^27.4.6"
+    "@jest/types" "^27.5.1"
+    jest-regex-util "^27.5.1"
+    jest-snapshot "^27.5.1"
 
-jest-resolve@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.4.6.tgz#2ec3110655e86d5bfcfa992e404e22f96b0b5977"
-  integrity sha512-SFfITVApqtirbITKFAO7jOVN45UgFzcRdQanOFzjnbd+CACDoyeX7206JyU92l4cRr73+Qy/TlW51+4vHGt+zw==
+jest-resolve@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384"
+  integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==
   dependencies:
-    "@jest/types" "^27.4.2"
+    "@jest/types" "^27.5.1"
     chalk "^4.0.0"
-    graceful-fs "^4.2.4"
-    jest-haste-map "^27.4.6"
+    graceful-fs "^4.2.9"
+    jest-haste-map "^27.5.1"
     jest-pnp-resolver "^1.2.2"
-    jest-util "^27.4.2"
-    jest-validate "^27.4.6"
+    jest-util "^27.5.1"
+    jest-validate "^27.5.1"
     resolve "^1.20.0"
     resolve.exports "^1.1.0"
     slash "^3.0.0"
 
-jest-runner@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.4.6.tgz#1d390d276ec417e9b4d0d081783584cbc3e24773"
-  integrity sha512-IDeFt2SG4DzqalYBZRgbbPmpwV3X0DcntjezPBERvnhwKGWTW7C5pbbA5lVkmvgteeNfdd/23gwqv3aiilpYPg==
+jest-runner@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5"
+  integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==
   dependencies:
-    "@jest/console" "^27.4.6"
-    "@jest/environment" "^27.4.6"
-    "@jest/test-result" "^27.4.6"
-    "@jest/transform" "^27.4.6"
-    "@jest/types" "^27.4.2"
+    "@jest/console" "^27.5.1"
+    "@jest/environment" "^27.5.1"
+    "@jest/test-result" "^27.5.1"
+    "@jest/transform" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
     chalk "^4.0.0"
     emittery "^0.8.1"
-    exit "^0.1.2"
-    graceful-fs "^4.2.4"
-    jest-docblock "^27.4.0"
-    jest-environment-jsdom "^27.4.6"
-    jest-environment-node "^27.4.6"
-    jest-haste-map "^27.4.6"
-    jest-leak-detector "^27.4.6"
-    jest-message-util "^27.4.6"
-    jest-resolve "^27.4.6"
-    jest-runtime "^27.4.6"
-    jest-util "^27.4.2"
-    jest-worker "^27.4.6"
+    graceful-fs "^4.2.9"
+    jest-docblock "^27.5.1"
+    jest-environment-jsdom "^27.5.1"
+    jest-environment-node "^27.5.1"
+    jest-haste-map "^27.5.1"
+    jest-leak-detector "^27.5.1"
+    jest-message-util "^27.5.1"
+    jest-resolve "^27.5.1"
+    jest-runtime "^27.5.1"
+    jest-util "^27.5.1"
+    jest-worker "^27.5.1"
     source-map-support "^0.5.6"
     throat "^6.0.1"
 
-jest-runtime@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.4.6.tgz#83ae923818e3ea04463b22f3597f017bb5a1cffa"
-  integrity sha512-eXYeoR/MbIpVDrjqy5d6cGCFOYBFFDeKaNWqTp0h6E74dK0zLHzASQXJpl5a2/40euBmKnprNLJ0Kh0LCndnWQ==
-  dependencies:
-    "@jest/environment" "^27.4.6"
-    "@jest/fake-timers" "^27.4.6"
-    "@jest/globals" "^27.4.6"
-    "@jest/source-map" "^27.4.0"
-    "@jest/test-result" "^27.4.6"
-    "@jest/transform" "^27.4.6"
-    "@jest/types" "^27.4.2"
+jest-runtime@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af"
+  integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==
+  dependencies:
+    "@jest/environment" "^27.5.1"
+    "@jest/fake-timers" "^27.5.1"
+    "@jest/globals" "^27.5.1"
+    "@jest/source-map" "^27.5.1"
+    "@jest/test-result" "^27.5.1"
+    "@jest/transform" "^27.5.1"
+    "@jest/types" "^27.5.1"
     chalk "^4.0.0"
     cjs-module-lexer "^1.0.0"
     collect-v8-coverage "^1.0.0"
     execa "^5.0.0"
     glob "^7.1.3"
-    graceful-fs "^4.2.4"
-    jest-haste-map "^27.4.6"
-    jest-message-util "^27.4.6"
-    jest-mock "^27.4.6"
-    jest-regex-util "^27.4.0"
-    jest-resolve "^27.4.6"
-    jest-snapshot "^27.4.6"
-    jest-util "^27.4.2"
+    graceful-fs "^4.2.9"
+    jest-haste-map "^27.5.1"
+    jest-message-util "^27.5.1"
+    jest-mock "^27.5.1"
+    jest-regex-util "^27.5.1"
+    jest-resolve "^27.5.1"
+    jest-snapshot "^27.5.1"
+    jest-util "^27.5.1"
     slash "^3.0.0"
     strip-bom "^4.0.0"
 
-jest-serializer@^27.4.0:
-  version "27.4.0"
-  resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.4.0.tgz#34866586e1cae2388b7d12ffa2c7819edef5958a"
-  integrity sha512-RDhpcn5f1JYTX2pvJAGDcnsNTnsV9bjYPU8xcV+xPwOXnUPOQwf4ZEuiU6G9H1UztH+OapMgu/ckEVwO87PwnQ==
+jest-serializer@^27.5.0:
+  version "27.5.0"
+  resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.0.tgz#439a110df27f97a40c114a429b708c2ada15a81f"
+  integrity sha512-aSDFqQlVXtBH+Zb5dl9mCvTSFkabixk/9P9cpngL4yJKpmEi9USxfDhONFMzJrtftPvZw3PcltUVmtFZTB93rg==
   dependencies:
     "@types/node" "*"
-    graceful-fs "^4.2.4"
+    graceful-fs "^4.2.9"
 
-jest-snapshot@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.4.6.tgz#e2a3b4fff8bdce3033f2373b2e525d8b6871f616"
-  integrity sha512-fafUCDLQfzuNP9IRcEqaFAMzEe7u5BF7mude51wyWv7VRex60WznZIC7DfKTgSIlJa8aFzYmXclmN328aqSDmQ==
+jest-serializer@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64"
+  integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==
+  dependencies:
+    "@types/node" "*"
+    graceful-fs "^4.2.9"
+
+jest-snapshot@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1"
+  integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==
   dependencies:
     "@babel/core" "^7.7.2"
     "@babel/generator" "^7.7.2"
     "@babel/plugin-syntax-typescript" "^7.7.2"
     "@babel/traverse" "^7.7.2"
     "@babel/types" "^7.0.0"
-    "@jest/transform" "^27.4.6"
-    "@jest/types" "^27.4.2"
+    "@jest/transform" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/babel__traverse" "^7.0.4"
     "@types/prettier" "^2.1.5"
     babel-preset-current-node-syntax "^1.0.0"
     chalk "^4.0.0"
-    expect "^27.4.6"
-    graceful-fs "^4.2.4"
-    jest-diff "^27.4.6"
-    jest-get-type "^27.4.0"
-    jest-haste-map "^27.4.6"
-    jest-matcher-utils "^27.4.6"
-    jest-message-util "^27.4.6"
-    jest-util "^27.4.2"
+    expect "^27.5.1"
+    graceful-fs "^4.2.9"
+    jest-diff "^27.5.1"
+    jest-get-type "^27.5.1"
+    jest-haste-map "^27.5.1"
+    jest-matcher-utils "^27.5.1"
+    jest-message-util "^27.5.1"
+    jest-util "^27.5.1"
     natural-compare "^1.4.0"
-    pretty-format "^27.4.6"
+    pretty-format "^27.5.1"
     semver "^7.3.2"
 
-jest-util@^27.4.2:
-  version "27.4.2"
-  resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.4.2.tgz#ed95b05b1adfd761e2cda47e0144c6a58e05a621"
-  integrity sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA==
+jest-util@^27.5.0:
+  version "27.5.0"
+  resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.0.tgz#0b9540d91b0de65d288f235fa9899e6eeeab8d35"
+  integrity sha512-FUUqOx0gAzJy3ytatT1Ss372M1kmhczn8x7aE0++11oPGW1FyD/5NjYBI8w1KOXFm6IVjtaZm2szfJJL+CHs0g==
   dependencies:
-    "@jest/types" "^27.4.2"
+    "@jest/types" "^27.5.0"
     "@types/node" "*"
     chalk "^4.0.0"
     ci-info "^3.2.0"
-    graceful-fs "^4.2.4"
+    graceful-fs "^4.2.9"
     picomatch "^2.2.3"
 
-jest-validate@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.4.6.tgz#efc000acc4697b6cf4fa68c7f3f324c92d0c4f1f"
-  integrity sha512-872mEmCPVlBqbA5dToC57vA3yJaMRfIdpCoD3cyHWJOMx+SJwLNw0I71EkWs41oza/Er9Zno9XuTkRYCPDUJXQ==
+jest-util@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9"
+  integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==
   dependencies:
-    "@jest/types" "^27.4.2"
+    "@jest/types" "^27.5.1"
+    "@types/node" "*"
+    chalk "^4.0.0"
+    ci-info "^3.2.0"
+    graceful-fs "^4.2.9"
+    picomatch "^2.2.3"
+
+jest-validate@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067"
+  integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==
+  dependencies:
+    "@jest/types" "^27.5.1"
     camelcase "^6.2.0"
     chalk "^4.0.0"
-    jest-get-type "^27.4.0"
+    jest-get-type "^27.5.1"
     leven "^3.1.0"
-    pretty-format "^27.4.6"
+    pretty-format "^27.5.1"
 
-jest-watcher@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.4.6.tgz#673679ebeffdd3f94338c24f399b85efc932272d"
-  integrity sha512-yKQ20OMBiCDigbD0quhQKLkBO+ObGN79MO4nT7YaCuQ5SM+dkBNWE8cZX0FjU6czwMvWw6StWbe+Wv4jJPJ+fw==
+jest-watcher@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2"
+  integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==
   dependencies:
-    "@jest/test-result" "^27.4.6"
-    "@jest/types" "^27.4.2"
+    "@jest/test-result" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
     ansi-escapes "^4.2.1"
     chalk "^4.0.0"
-    jest-util "^27.4.2"
+    jest-util "^27.5.1"
     string-length "^4.0.1"
 
 jest-worker@^26.5.0:
@@ -6640,23 +6769,32 @@ jest-worker@^26.5.0:
     merge-stream "^2.0.0"
     supports-color "^7.0.0"
 
-jest-worker@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.6.tgz#5d2d93db419566cb680752ca0792780e71b3273e"
-  integrity sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==
+jest-worker@^27.5.0:
+  version "27.5.0"
+  resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.0.tgz#99ee77e4d06168107c27328bd7f54e74c3a48d59"
+  integrity sha512-8OEHiPNOPTfaWnJ2SUHM8fmgeGq37uuGsQBvGKQJl1f+6WIy6g7G3fE2ruI5294bUKUI9FaCWt5hDvO8HSwsSg==
   dependencies:
     "@types/node" "*"
     merge-stream "^2.0.0"
     supports-color "^8.0.0"
 
-jest@^27.4.7:
-  version "27.4.7"
-  resolved "https://registry.yarnpkg.com/jest/-/jest-27.4.7.tgz#87f74b9026a1592f2da05b4d258e57505f28eca4"
-  integrity sha512-8heYvsx7nV/m8m24Vk26Y87g73Ba6ueUd0MWed/NXMhSZIm62U/llVbS0PJe1SHunbyXjJ/BqG1z9bFjGUIvTg==
+jest-worker@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0"
+  integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==
   dependencies:
-    "@jest/core" "^27.4.7"
+    "@types/node" "*"
+    merge-stream "^2.0.0"
+    supports-color "^8.0.0"
+
+jest@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc"
+  integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==
+  dependencies:
+    "@jest/core" "^27.5.1"
     import-local "^3.0.2"
-    jest-cli "^27.4.7"
+    jest-cli "^27.5.1"
 
 js-base64@^2.1.9:
   version "2.6.4"
@@ -6731,6 +6869,11 @@ json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
   resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
   integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
 
+json-parse-even-better-errors@^2.3.0:
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
+  integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
+
 json-schema-traverse@^0.4.1:
   version "0.4.1"
   resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
@@ -7941,6 +8084,16 @@ parse-json@^5.0.0:
     json-parse-better-errors "^1.0.1"
     lines-and-columns "^1.1.6"
 
+parse-json@^5.2.0:
+  version "5.2.0"
+  resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
+  integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
+  dependencies:
+    "@babel/code-frame" "^7.0.0"
+    error-ex "^1.3.1"
+    json-parse-even-better-errors "^2.3.0"
+    lines-and-columns "^1.1.6"
+
 parse-passwd@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
@@ -8599,10 +8752,10 @@ pretty-format@^27.0.2:
     ansi-styles "^5.0.0"
     react-is "^17.0.1"
 
-pretty-format@^27.4.6:
-  version "27.4.6"
-  resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.4.6.tgz#1b784d2f53c68db31797b2348fa39b49e31846b7"
-  integrity sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g==
+pretty-format@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e"
+  integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==
   dependencies:
     ansi-regex "^5.0.1"
     ansi-styles "^5.0.0"
@@ -9538,10 +9691,10 @@ sass-loader@^10.2.0:
     schema-utils "^3.0.0"
     semver "^7.3.2"
 
-sass@^1.49.0:
-  version "1.49.0"
-  resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.0.tgz#65ec1b1d9a6bc1bae8d2c9d4b392c13f5d32c078"
-  integrity sha512-TVwVdNDj6p6b4QymJtNtRS2YtLJ/CqZriGg0eIAbAKMlN8Xy6kbv33FsEZSF7FufFFM705SQviHjjThfaQ4VNw==
+sass@^1.49.7:
+  version "1.49.7"
+  resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.7.tgz#22a86a50552b9b11f71404dfad1b9ff44c6b0c49"
+  integrity sha512-13dml55EMIR2rS4d/RDHHP0sXMY3+30e1TKsyXaSz3iLWVoDWEoboY8WzJd5JMnxrRHffKO3wq2mpJ0jxRJiEQ==
   dependencies:
     chokidar ">=3.0.0 <4.0.0"
     immutable "^4.0.0"