about summary refs log tree commit diff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/controllers/api/v1/statuses_controller.rb19
-rw-r--r--app/controllers/concerns/status_controller_concern.rb87
-rw-r--r--app/controllers/statuses_controller.rb1
-rw-r--r--app/helpers/languages_helper.rb1
-rw-r--r--app/javascript/flavours/glitch/components/status.js2
-rw-r--r--app/javascript/flavours/glitch/features/about/index.js31
-rw-r--r--app/javascript/flavours/glitch/features/compose/components/upload.js7
-rw-r--r--app/javascript/flavours/glitch/features/compose/containers/upload_container.js1
-rw-r--r--app/javascript/flavours/glitch/features/ui/index.js4
-rw-r--r--app/javascript/flavours/glitch/main.js17
-rw-r--r--app/javascript/flavours/glitch/reducers/compose.js4
-rw-r--r--app/javascript/flavours/glitch/styles/components/about.scss51
-rw-r--r--app/javascript/flavours/glitch/styles/forms.scss9
-rw-r--r--app/javascript/flavours/glitch/styles/mastodon-light/diff.scss11
-rw-r--r--app/javascript/images/logo_full.svg1
-rw-r--r--app/javascript/images/logo_transparent.svg1
-rw-r--r--app/javascript/mastodon/components/status.js2
-rw-r--r--app/javascript/mastodon/features/about/index.js31
-rw-r--r--app/javascript/mastodon/features/compose/components/upload.js7
-rw-r--r--app/javascript/mastodon/features/compose/containers/upload_container.js1
-rw-r--r--app/javascript/mastodon/features/ui/index.js4
-rw-r--r--app/javascript/mastodon/locales/af.json35
-rw-r--r--app/javascript/mastodon/locales/ar.json87
-rw-r--r--app/javascript/mastodon/locales/ast.json7
-rw-r--r--app/javascript/mastodon/locales/bg.json29
-rw-r--r--app/javascript/mastodon/locales/bn.json7
-rw-r--r--app/javascript/mastodon/locales/br.json57
-rw-r--r--app/javascript/mastodon/locales/ca.json7
-rw-r--r--app/javascript/mastodon/locales/ckb.json7
-rw-r--r--app/javascript/mastodon/locales/co.json7
-rw-r--r--app/javascript/mastodon/locales/cs.json11
-rw-r--r--app/javascript/mastodon/locales/cy.json43
-rw-r--r--app/javascript/mastodon/locales/da.json7
-rw-r--r--app/javascript/mastodon/locales/de.json25
-rw-r--r--app/javascript/mastodon/locales/defaultMessages.json35
-rw-r--r--app/javascript/mastodon/locales/el.json7
-rw-r--r--app/javascript/mastodon/locales/en-GB.json13
-rw-r--r--app/javascript/mastodon/locales/en.json5
-rw-r--r--app/javascript/mastodon/locales/eo.json13
-rw-r--r--app/javascript/mastodon/locales/es-AR.json9
-rw-r--r--app/javascript/mastodon/locales/es-MX.json15
-rw-r--r--app/javascript/mastodon/locales/es.json7
-rw-r--r--app/javascript/mastodon/locales/et.json7
-rw-r--r--app/javascript/mastodon/locales/eu.json19
-rw-r--r--app/javascript/mastodon/locales/fa.json7
-rw-r--r--app/javascript/mastodon/locales/fi.json11
-rw-r--r--app/javascript/mastodon/locales/fr.json7
-rw-r--r--app/javascript/mastodon/locales/fy.json7
-rw-r--r--app/javascript/mastodon/locales/ga.json47
-rw-r--r--app/javascript/mastodon/locales/gd.json17
-rw-r--r--app/javascript/mastodon/locales/gl.json7
-rw-r--r--app/javascript/mastodon/locales/he.json7
-rw-r--r--app/javascript/mastodon/locales/hi.json7
-rw-r--r--app/javascript/mastodon/locales/hr.json7
-rw-r--r--app/javascript/mastodon/locales/hu.json7
-rw-r--r--app/javascript/mastodon/locales/hy.json7
-rw-r--r--app/javascript/mastodon/locales/id.json17
-rw-r--r--app/javascript/mastodon/locales/ig.json7
-rw-r--r--app/javascript/mastodon/locales/io.json7
-rw-r--r--app/javascript/mastodon/locales/is.json7
-rw-r--r--app/javascript/mastodon/locales/it.json7
-rw-r--r--app/javascript/mastodon/locales/ja.json7
-rw-r--r--app/javascript/mastodon/locales/ka.json7
-rw-r--r--app/javascript/mastodon/locales/kab.json7
-rw-r--r--app/javascript/mastodon/locales/kk.json7
-rw-r--r--app/javascript/mastodon/locales/kn.json7
-rw-r--r--app/javascript/mastodon/locales/ko.json43
-rw-r--r--app/javascript/mastodon/locales/ku.json7
-rw-r--r--app/javascript/mastodon/locales/kw.json7
-rw-r--r--app/javascript/mastodon/locales/lt.json7
-rw-r--r--app/javascript/mastodon/locales/lv.json45
-rw-r--r--app/javascript/mastodon/locales/mk.json7
-rw-r--r--app/javascript/mastodon/locales/ml.json7
-rw-r--r--app/javascript/mastodon/locales/mr.json7
-rw-r--r--app/javascript/mastodon/locales/ms.json7
-rw-r--r--app/javascript/mastodon/locales/my.json7
-rw-r--r--app/javascript/mastodon/locales/nl.json7
-rw-r--r--app/javascript/mastodon/locales/nn.json7
-rw-r--r--app/javascript/mastodon/locales/no.json55
-rw-r--r--app/javascript/mastodon/locales/oc.json27
-rw-r--r--app/javascript/mastodon/locales/pa.json7
-rw-r--r--app/javascript/mastodon/locales/pl.json9
-rw-r--r--app/javascript/mastodon/locales/pt-BR.json7
-rw-r--r--app/javascript/mastodon/locales/pt-PT.json7
-rw-r--r--app/javascript/mastodon/locales/ro.json85
-rw-r--r--app/javascript/mastodon/locales/ru.json25
-rw-r--r--app/javascript/mastodon/locales/sa.json7
-rw-r--r--app/javascript/mastodon/locales/sc.json7
-rw-r--r--app/javascript/mastodon/locales/si.json7
-rw-r--r--app/javascript/mastodon/locales/sk.json7
-rw-r--r--app/javascript/mastodon/locales/sl.json13
-rw-r--r--app/javascript/mastodon/locales/sq.json7
-rw-r--r--app/javascript/mastodon/locales/sr-Latn.json7
-rw-r--r--app/javascript/mastodon/locales/sr.json7
-rw-r--r--app/javascript/mastodon/locales/sv.json33
-rw-r--r--app/javascript/mastodon/locales/szl.json7
-rw-r--r--app/javascript/mastodon/locales/ta.json15
-rw-r--r--app/javascript/mastodon/locales/tai.json7
-rw-r--r--app/javascript/mastodon/locales/te.json7
-rw-r--r--app/javascript/mastodon/locales/th.json19
-rw-r--r--app/javascript/mastodon/locales/tr.json7
-rw-r--r--app/javascript/mastodon/locales/tt.json7
-rw-r--r--app/javascript/mastodon/locales/ug.json7
-rw-r--r--app/javascript/mastodon/locales/uk.json7
-rw-r--r--app/javascript/mastodon/locales/ur.json7
-rw-r--r--app/javascript/mastodon/locales/vi.json7
-rw-r--r--app/javascript/mastodon/locales/whitelist_de.json1
-rw-r--r--app/javascript/mastodon/locales/zgh.json7
-rw-r--r--app/javascript/mastodon/locales/zh-CN.json29
-rw-r--r--app/javascript/mastodon/locales/zh-HK.json7
-rw-r--r--app/javascript/mastodon/locales/zh-TW.json7
-rw-r--r--app/javascript/mastodon/main.js17
-rw-r--r--app/javascript/mastodon/reducers/compose.js4
-rw-r--r--app/javascript/styles/mastodon-light/diff.scss11
-rw-r--r--app/javascript/styles/mastodon/components.scss51
-rw-r--r--app/javascript/styles/mastodon/forms.scss9
-rw-r--r--app/lib/admin/system_check/sidekiq_process_check.rb1
-rw-r--r--app/lib/request.rb2
-rw-r--r--app/models/account/field.rb3
-rw-r--r--app/models/concerns/account_avatar.rb2
-rw-r--r--app/models/concerns/account_header.rb2
-rw-r--r--app/models/concerns/status_threading_concern.rb21
-rw-r--r--app/models/custom_emoji.rb2
-rw-r--r--app/models/media_attachment.rb2
-rw-r--r--app/models/preview_card.rb4
-rw-r--r--app/models/preview_card_provider.rb2
-rw-r--r--app/models/site_upload.rb2
-rw-r--r--app/workers/activitypub/processing_worker.rb2
128 files changed, 795 insertions, 934 deletions
diff --git a/app/controllers/api/v1/statuses_controller.rb b/app/controllers/api/v1/statuses_controller.rb
index 26ef7087a..e2e48f633 100644
--- a/app/controllers/api/v1/statuses_controller.rb
+++ b/app/controllers/api/v1/statuses_controller.rb
@@ -18,14 +18,29 @@ class Api::V1::StatusesController < Api::BaseController
   # than this anyway
   CONTEXT_LIMIT = 4_096
 
+  # This remains expensive and we don't want to show everything to logged-out users
+  ANCESTORS_LIMIT         = 40
+  DESCENDANTS_LIMIT       = 60
+  DESCENDANTS_DEPTH_LIMIT = 20
+
   def show
     @status = cache_collection([@status], Status).first
     render json: @status, serializer: REST::StatusSerializer
   end
 
   def context
-    ancestors_results   = @status.in_reply_to_id.nil? ? [] : @status.ancestors(CONTEXT_LIMIT, current_account)
-    descendants_results = @status.descendants(CONTEXT_LIMIT, current_account)
+    ancestors_limit         = CONTEXT_LIMIT
+    descendants_limit       = CONTEXT_LIMIT
+    descendants_depth_limit = nil
+
+    if current_account.nil?
+      ancestors_limit         = ANCESTORS_LIMIT
+      descendants_limit       = DESCENDANTS_LIMIT
+      descendants_depth_limit = DESCENDANTS_DEPTH_LIMIT
+    end
+
+    ancestors_results   = @status.in_reply_to_id.nil? ? [] : @status.ancestors(ancestors_limit, current_account)
+    descendants_results = @status.descendants(descendants_limit, current_account, descendants_depth_limit)
     loaded_ancestors    = cache_collection(ancestors_results, Status)
     loaded_descendants  = cache_collection(descendants_results, Status)
 
diff --git a/app/controllers/concerns/status_controller_concern.rb b/app/controllers/concerns/status_controller_concern.rb
deleted file mode 100644
index 62a7cf508..000000000
--- a/app/controllers/concerns/status_controller_concern.rb
+++ /dev/null
@@ -1,87 +0,0 @@
-# frozen_string_literal: true
-
-module StatusControllerConcern
-  extend ActiveSupport::Concern
-
-  ANCESTORS_LIMIT         = 40
-  DESCENDANTS_LIMIT       = 60
-  DESCENDANTS_DEPTH_LIMIT = 20
-
-  def create_descendant_thread(starting_depth, statuses)
-    depth = starting_depth + statuses.size
-
-    if depth < DESCENDANTS_DEPTH_LIMIT
-      {
-        statuses: statuses,
-        starting_depth: starting_depth,
-      }
-    else
-      next_status = statuses.pop
-
-      {
-        statuses: statuses,
-        starting_depth: starting_depth,
-        next_status: next_status,
-      }
-    end
-  end
-
-  def set_ancestors
-    @ancestors     = @status.reply? ? cache_collection(@status.ancestors(ANCESTORS_LIMIT, current_account), Status) : []
-    @next_ancestor = @ancestors.size < ANCESTORS_LIMIT ? nil : @ancestors.shift
-  end
-
-  def set_descendants
-    @max_descendant_thread_id   = params[:max_descendant_thread_id]&.to_i
-    @since_descendant_thread_id = params[:since_descendant_thread_id]&.to_i
-
-    descendants = cache_collection(
-      @status.descendants(
-        DESCENDANTS_LIMIT,
-        current_account,
-        @max_descendant_thread_id,
-        @since_descendant_thread_id,
-        DESCENDANTS_DEPTH_LIMIT
-      ),
-      Status
-    )
-
-    @descendant_threads = []
-
-    if descendants.present?
-      statuses       = [descendants.first]
-      starting_depth = 0
-
-      descendants.drop(1).each_with_index do |descendant, index|
-        if descendants[index].id == descendant.in_reply_to_id
-          statuses << descendant
-        else
-          @descendant_threads << create_descendant_thread(starting_depth, statuses)
-
-          # The thread is broken, assume it's a reply to the root status
-          starting_depth = 0
-
-          # ... unless we can find its ancestor in one of the already-processed threads
-          @descendant_threads.reverse_each do |descendant_thread|
-            statuses = descendant_thread[:statuses]
-
-            index = statuses.find_index do |thread_status|
-              thread_status.id == descendant.in_reply_to_id
-            end
-
-            if index.present?
-              starting_depth = descendant_thread[:starting_depth] + index + 1
-              break
-            end
-          end
-
-          statuses = [descendant]
-        end
-      end
-
-      @descendant_threads << create_descendant_thread(starting_depth, statuses)
-    end
-
-    @max_descendant_thread_id = @descendant_threads.pop[:statuses].first.id if descendants.size >= DESCENDANTS_LIMIT
-  end
-end
diff --git a/app/controllers/statuses_controller.rb b/app/controllers/statuses_controller.rb
index 6986176ea..1a835c726 100644
--- a/app/controllers/statuses_controller.rb
+++ b/app/controllers/statuses_controller.rb
@@ -2,7 +2,6 @@
 
 class StatusesController < ApplicationController
   include WebAppControllerConcern
-  include StatusControllerConcern
   include SignatureAuthentication
   include Authorization
   include AccountOwnedConcern
diff --git a/app/helpers/languages_helper.rb b/app/helpers/languages_helper.rb
index 322548747..fff073ced 100644
--- a/app/helpers/languages_helper.rb
+++ b/app/helpers/languages_helper.rb
@@ -195,6 +195,7 @@ module LanguagesHelper
     kmr: ['Kurmanji (Kurdish)', 'Kurmancî'].freeze,
     ldn: ['Láadan', 'Láadan'].freeze,
     lfn: ['Lingua Franca Nova', 'lingua franca nova'].freeze,
+    sco: ['Scots', 'Scots'].freeze,
     tok: ['Toki Pona', 'toki pona'].freeze,
     zba: ['Balaibalan', 'باليبلن'].freeze,
     zgh: ['Standard Moroccan Tamazight', 'ⵜⴰⵎⴰⵣⵉⵖⵜ'].freeze,
diff --git a/app/javascript/flavours/glitch/components/status.js b/app/javascript/flavours/glitch/components/status.js
index 366a98d82..800832dc8 100644
--- a/app/javascript/flavours/glitch/components/status.js
+++ b/app/javascript/flavours/glitch/components/status.js
@@ -687,7 +687,7 @@ class Status extends ImmutablePureComponent {
       if (!status.get('sensitive') && !(status.get('spoiler_text').length > 0) && settings.getIn(['collapsed', 'backgrounds', 'preview_images'])) {
         background = attachments.getIn([0, 'preview_url']);
       }
-    } else if (status.get('card') && settings.get('inline_preview_cards')) {
+    } else if (status.get('card') && settings.get('inline_preview_cards') && !this.props.muted) {
       media.push(
         <Card
           onOpenMedia={this.handleOpenMedia}
diff --git a/app/javascript/flavours/glitch/features/about/index.js b/app/javascript/flavours/glitch/features/about/index.js
index 4129c8236..57f295ea9 100644
--- a/app/javascript/flavours/glitch/features/about/index.js
+++ b/app/javascript/flavours/glitch/features/about/index.js
@@ -183,25 +183,18 @@ class About extends React.PureComponent {
               <>
                 <p><FormattedMessage id='about.domain_blocks.preamble' defaultMessage='Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.' /></p>
 
-                <table className='about__domain-blocks'>
-                  <thead>
-                    <tr>
-                      <th><FormattedMessage id='about.domain_blocks.domain' defaultMessage='Domain' /></th>
-                      <th><FormattedMessage id='about.domain_blocks.severity' defaultMessage='Severity' /></th>
-                      <th><FormattedMessage id='about.domain_blocks.comment' defaultMessage='Reason' /></th>
-                    </tr>
-                  </thead>
-
-                  <tbody>
-                    {domainBlocks.get('items').map(block => (
-                      <tr key={block.get('domain')}>
-                        <td><span title={`SHA-256: ${block.get('digest')}`}>{block.get('domain')}</span></td>
-                        <td><span title={intl.formatMessage(severityMessages[block.get('severity')].explanation)}>{intl.formatMessage(severityMessages[block.get('severity')].title)}</span></td>
-                        <td>{block.get('comment')}</td>
-                      </tr>
-                    ))}
-                  </tbody>
-                </table>
+                <div className='about__domain-blocks'>
+                  {domainBlocks.get('items').map(block => (
+                    <div className='about__domain-blocks__domain' key={block.get('domain')}>
+                      <div className='about__domain-blocks__domain__header'>
+                        <h6><span title={`SHA-256: ${block.get('digest')}`}>{block.get('domain')}</span></h6>
+                        <span className='about__domain-blocks__domain__type' title={intl.formatMessage(severityMessages[block.get('severity')].explanation)}>{intl.formatMessage(severityMessages[block.get('severity')].title)}</span>
+                      </div>
+
+                      <p>{(block.get('comment') || '').length > 0 ? block.get('comment') : <FormattedMessage id='about.domain_blocks.no_reason_available' defaultMessage='Reason not available' />}</p>
+                    </div>
+                  ))}
+                </div>
               </>
             ) : (
               <p><FormattedMessage id='about.not_available' defaultMessage='This information has not been made available on this server.' /></p>
diff --git a/app/javascript/flavours/glitch/features/compose/components/upload.js b/app/javascript/flavours/glitch/features/compose/components/upload.js
index 94ac6c499..6528bbc84 100644
--- a/app/javascript/flavours/glitch/features/compose/components/upload.js
+++ b/app/javascript/flavours/glitch/features/compose/components/upload.js
@@ -18,7 +18,6 @@ export default class Upload extends ImmutablePureComponent {
     media: ImmutablePropTypes.map.isRequired,
     onUndo: PropTypes.func.isRequired,
     onOpenFocalPoint: PropTypes.func.isRequired,
-    isEditingStatus: PropTypes.bool.isRequired,
   };
 
   handleUndoClick = e => {
@@ -32,7 +31,7 @@ export default class Upload extends ImmutablePureComponent {
   }
 
   render () {
-    const { intl, media, isEditingStatus } = this.props;
+    const { media } = this.props;
     const focusX = media.getIn(['meta', 'focus', 'x']);
     const focusY = media.getIn(['meta', 'focus', 'y']);
     const x = ((focusX /  2) + .5) * 100;
@@ -45,10 +44,10 @@ export default class Upload extends ImmutablePureComponent {
             <div className='compose-form__upload-thumbnail' style={{ transform: `scale(${scale})`, backgroundImage: `url(${media.get('preview_url')})`, backgroundPosition: `${x}% ${y}%` }}>
               <div className='compose-form__upload__actions'>
                 <button className='icon-button' onClick={this.handleUndoClick}><Icon id='times' /> <FormattedMessage id='upload_form.undo' defaultMessage='Delete' /></button>
-                {!isEditingStatus && (<button className='icon-button' onClick={this.handleFocalPointClick}><Icon id='pencil' /> <FormattedMessage id='upload_form.edit' defaultMessage='Edit' /></button>)}
+                {!!media.get('unattached') && (<button className='icon-button' onClick={this.handleFocalPointClick}><Icon id='pencil' /> <FormattedMessage id='upload_form.edit' defaultMessage='Edit' /></button>)}
               </div>
 
-              {(media.get('description') || '').length === 0 && (
+              {(media.get('description') || '').length === 0 && !!media.get('unattached') && (
                 <div className='compose-form__upload__warning'>
                   <button className='icon-button' onClick={this.handleFocalPointClick}><Icon id='info-circle' /> <FormattedMessage id='upload_form.description_missing' defaultMessage='No description added' /></button>
                 </div>
diff --git a/app/javascript/flavours/glitch/features/compose/containers/upload_container.js b/app/javascript/flavours/glitch/features/compose/containers/upload_container.js
index d6256fe96..f3ca4ce7b 100644
--- a/app/javascript/flavours/glitch/features/compose/containers/upload_container.js
+++ b/app/javascript/flavours/glitch/features/compose/containers/upload_container.js
@@ -5,7 +5,6 @@ import { submitCompose } from 'flavours/glitch/actions/compose';
 
 const mapStateToProps = (state, { id }) => ({
   media: state.getIn(['compose', 'media_attachments']).find(item => item.get('id') === id),
-  isEditingStatus: state.getIn(['compose', 'id']) !== null,
 });
 
 const mapDispatchToProps = dispatch => ({
diff --git a/app/javascript/flavours/glitch/features/ui/index.js b/app/javascript/flavours/glitch/features/ui/index.js
index 3d385eee2..72e13d9d6 100644
--- a/app/javascript/flavours/glitch/features/ui/index.js
+++ b/app/javascript/flavours/glitch/features/ui/index.js
@@ -303,7 +303,7 @@ class UI extends React.Component {
       this.dragTargets.push(e.target);
     }
 
-    if (e.dataTransfer && e.dataTransfer.types.includes('Files') && this.props.canUploadMore) {
+    if (e.dataTransfer && e.dataTransfer.types.includes('Files') && this.props.canUploadMore && this.context.identity.signedIn) {
       this.setState({ draggingOver: true });
     }
   }
@@ -330,7 +330,7 @@ class UI extends React.Component {
     this.setState({ draggingOver: false });
     this.dragTargets = [];
 
-    if (e.dataTransfer && e.dataTransfer.files.length >= 1 && this.props.canUploadMore) {
+    if (e.dataTransfer && e.dataTransfer.files.length >= 1 && this.props.canUploadMore && this.context.identity.signedIn) {
       this.props.dispatch(uploadCompose(e.dataTransfer.files));
     }
   }
diff --git a/app/javascript/flavours/glitch/main.js b/app/javascript/flavours/glitch/main.js
index f1e10df34..14a6effbb 100644
--- a/app/javascript/flavours/glitch/main.js
+++ b/app/javascript/flavours/glitch/main.js
@@ -2,6 +2,7 @@ import React from 'react';
 import ReactDOM from 'react-dom';
 import { setupBrowserNotifications } from 'flavours/glitch/actions/notifications';
 import Mastodon, { store } from 'flavours/glitch/containers/mastodon';
+import { me } from 'flavours/glitch/initial_state';
 import ready from 'flavours/glitch/ready';
 
 const perf = require('flavours/glitch/performance');
@@ -19,23 +20,19 @@ function main() {
     ReactDOM.render(<Mastodon {...props} />, mountNode);
     store.dispatch(setupBrowserNotifications());
 
-    if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
-      const [{ Workbox }, { me }] = await Promise.all([
-        import('workbox-window'),
-        import('flavours/glitch/initial_state'),
-      ]);
-
+    if (process.env.NODE_ENV === 'production' && me && 'serviceWorker' in navigator) {
+      const { Workbox } = await import('workbox-window');
       const wb = new Workbox('/sw.js');
+      /** @type {ServiceWorkerRegistration} */
+      let registration;
 
       try {
-        await wb.register();
+        registration = await wb.register();
       } catch (err) {
         console.error(err);
-
-        return;
       }
 
-      if (me) {
+      if (registration) {
         const registerPushNotifications = await import('flavours/glitch/actions/push_notifications');
 
         store.dispatch(registerPushNotifications.register());
diff --git a/app/javascript/flavours/glitch/reducers/compose.js b/app/javascript/flavours/glitch/reducers/compose.js
index 460af3955..18e437bbc 100644
--- a/app/javascript/flavours/glitch/reducers/compose.js
+++ b/app/javascript/flavours/glitch/reducers/compose.js
@@ -222,7 +222,7 @@ function appendMedia(state, media, file) {
     if (media.get('type') === 'image') {
       media = media.set('file', file);
     }
-    map.update('media_attachments', list => list.push(media));
+    map.update('media_attachments', list => list.push(media.set('unattached', true)));
     map.set('is_uploading', false);
     map.set('is_processing', false);
     map.set('resetFileKey', Math.floor((Math.random() * 0x10000)));
@@ -563,7 +563,7 @@ export default function compose(state = initialState, action) {
       map.set('content_type', action.content_type || 'text/plain');
       map.set('in_reply_to', action.status.get('in_reply_to_id'));
       map.set('privacy', action.status.get('visibility'));
-      map.set('media_attachments', action.status.get('media_attachments'));
+      map.set('media_attachments', action.status.get('media_attachments').map((media) => media.set('unattached', true)));
       map.set('focusDate', new Date());
       map.set('caretPosition', null);
       map.set('idempotencyKey', uuid());
diff --git a/app/javascript/flavours/glitch/styles/components/about.scss b/app/javascript/flavours/glitch/styles/components/about.scss
index c6cc6c615..6664a5756 100644
--- a/app/javascript/flavours/glitch/styles/components/about.scss
+++ b/app/javascript/flavours/glitch/styles/components/about.scss
@@ -247,28 +247,45 @@
 
   &__domain-blocks {
     margin-top: 30px;
-    width: 100%;
-    border-collapse: collapse;
-    break-inside: auto;
+    background: darken($ui-base-color, 4%);
+    border: 1px solid lighten($ui-base-color, 4%);
+    border-radius: 4px;
 
-    th {
-      text-align: left;
-      font-weight: 500;
+    &__domain {
+      border-bottom: 1px solid lighten($ui-base-color, 4%);
+      padding: 10px;
+      font-size: 15px;
       color: $darker-text-color;
-    }
 
-    thead tr,
-    tbody tr {
-      border-bottom: 1px solid lighten($ui-base-color, 8%);
-    }
+      &:nth-child(2n) {
+        background: darken($ui-base-color, 2%);
+      }
 
-    tbody tr:last-child {
-      border-bottom: 0;
-    }
+      &:last-child {
+        border-bottom: 0;
+      }
+
+      &__header {
+        display: flex;
+        gap: 10px;
+        justify-content: space-between;
+        font-weight: 500;
+        margin-bottom: 4px;
+      }
 
-    th,
-    td {
-      padding: 8px;
+      h6 {
+        color: $secondary-text-color;
+        font-size: inherit;
+        white-space: nowrap;
+        overflow: hidden;
+        text-overflow: ellipsis;
+      }
+
+      p {
+        white-space: nowrap;
+        overflow: hidden;
+        text-overflow: ellipsis;
+      }
     }
   }
 }
diff --git a/app/javascript/flavours/glitch/styles/forms.scss b/app/javascript/flavours/glitch/styles/forms.scss
index 8eecee4e9..01b7a11e9 100644
--- a/app/javascript/flavours/glitch/styles/forms.scss
+++ b/app/javascript/flavours/glitch/styles/forms.scss
@@ -1060,11 +1060,18 @@ code {
 
     &:last-child {
       border-bottom: 0;
-      padding-bottom: 0;
     }
   }
 }
 
+// Only remove padding when listing applications, to prevent styling issues on
+// the Authorization page.
+.applications-list {
+  .permissions-list__item:last-child {
+    padding-bottom: 0;
+  }
+}
+
 .keywords-table {
   thead {
     th {
diff --git a/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss b/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss
index 22828c7d1..6489c2f80 100644
--- a/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss
+++ b/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss
@@ -203,7 +203,8 @@ html {
 // Change the colors used in compose-form
 .compose-form {
   .compose-form__modifiers {
-    .compose-form__upload__actions .icon-button {
+    .compose-form__upload__actions .icon-button,
+    .compose-form__upload__warning .icon-button {
       color: lighten($white, 7%);
 
       &:active,
@@ -212,14 +213,6 @@ html {
         color: $white;
       }
     }
-
-    .compose-form__upload-description input {
-      color: lighten($white, 7%);
-
-      &::placeholder {
-        color: lighten($white, 7%);
-      }
-    }
   }
 
   .compose-form__buttons-wrapper {
diff --git a/app/javascript/images/logo_full.svg b/app/javascript/images/logo_full.svg
new file mode 100644
index 000000000..03bcf93e3
--- /dev/null
+++ b/app/javascript/images/logo_full.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg"><symbol id="mastodon-svg-logo-full" viewBox="0 0 713.35878 175.8678"><path d="M160.55476 105.43125c-2.4125 12.40625-21.5975 25.9825-43.63375 28.61375-11.49125 1.3725-22.80375 2.63125-34.8675 2.07875-19.73-.90375-35.2975-4.71-35.2975-4.71 0 1.92125.11875 3.75.355 5.46 2.565 19.47 19.3075 20.6375 35.16625 21.18125 16.00625.5475 30.2575-3.9475 30.2575-3.9475l.65875 14.4725s-11.19625 6.01125-31.14 7.11625c-10.99875.605-24.65375-.27625-40.56-4.485C6.99851 162.08 1.06601 125.31.15851 88-.11899 76.9225.05226 66.47625.05226 57.74125c0-38.1525 24.99625-49.335 24.99625-49.335C37.65226 2.6175 59.27976.18375 81.76351 0h.5525c22.48375.18375 44.125 2.6175 56.72875 8.40625 0 0 24.99625 11.1825 24.99625 49.335 0 0 .3125 28.1475-3.48625 47.69" fill="#3088d4"/><path d="M34.65751 48.494c0-5.55375 4.5025-10.055 10.055-10.055 5.55375 0 10.055 4.50125 10.055 10.055 0 5.5525-4.50125 10.055-10.055 10.055-5.5525 0-10.055-4.5025-10.055-10.055M178.86476 60.69975v46.195h-18.30125v-44.8375c0-9.4525-3.9775-14.24875-11.9325-14.24875-8.79375 0-13.2025 5.69125-13.2025 16.94375V89.2935h-18.19375V64.75225c0-11.2525-4.40875-16.94375-13.2025-16.94375-7.955 0-11.9325 4.79625-11.9325 14.24875v44.8375H73.79851v-46.195c0-9.44125 2.40375-16.94375 7.2325-22.495 4.98-5.55 11.50125-8.395 19.595-8.395 9.36625 0 16.45875 3.59875 21.14625 10.79875l4.56 7.6425 4.55875-7.6425c4.68875-7.2 11.78-10.79875 21.1475-10.79875 8.09375 0 14.61375 2.845 19.59375 8.395 4.82875 5.55125 7.2325 13.05375 7.2325 22.495M241.91276 83.663625c3.77625-3.99 5.595-9.015 5.595-15.075 0-6.06-1.81875-11.085-5.595-14.9275-3.63625-3.99125-8.25375-5.91125-13.84875-5.91125-5.59625 0-10.2125 1.92-13.84875 5.91125-3.6375 3.8425-5.45625 8.8675-5.45625 14.9275 0 6.06 1.81875 11.085 5.45625 15.075 3.63625 3.8425 8.2525 5.76375 13.84875 5.76375 5.595 0 10.2125-1.92125 13.84875-5.76375m5.595-52.025h18.04625v73.9h-18.04625v-8.72125c-5.455 7.2425-13.01 10.79-22.80125 10.79-9.3725 0-17.34625-3.695-24.06125-11.23375-6.57375-7.5375-9.93125-16.84875-9.93125-27.785 0-10.78875 3.3575-20.10125 9.93125-27.63875 6.715-7.5375 14.68875-11.38 24.06125-11.38 9.79125 0 17.34625 3.5475 22.80125 10.78875v-8.72zM326.26951 67.258625c5.315 3.99 7.97375 9.60625 7.83375 16.7 0 7.53875-2.65875 13.45-8.11375 17.58875-5.45625 3.99125-12.03 6.06-20.00375 6.06-14.40875 0-24.20125-5.9125-29.3775-17.58875l15.66875-9.31c2.0975 6.35375 6.71375 9.60625 13.70875 9.60625 6.43375 0 9.6525-2.07 9.6525-6.35625 0-3.10375-4.1975-5.91125-12.73-8.1275-3.21875-.8875-5.87625-1.77375-7.97375-2.51375-2.9375-1.18125-5.455-2.5125-7.55375-4.1375-5.17625-3.99-7.83375-9.3125-7.83375-16.11 0-7.2425 2.5175-13.00625 7.55375-17.145 5.17625-4.28625 11.47-6.355 19.025-6.355 12.03 0 20.84375 5.1725 26.5775 15.66625l-15.38625 8.8675c-2.23875-5.02375-6.015-7.53625-11.19125-7.53625-5.45625 0-8.11375 2.06875-8.11375 6.05875 0 3.10375 4.19625 5.91125 12.73 8.12875 6.575 1.4775 11.75 3.695 15.5275 6.50375M383.626635 49.966125h-15.8075v30.7425c0 3.695 1.4 5.91125 4.0575 6.945 1.95875.74 5.875.8875 11.75.59125v17.29375c-12.16875 1.4775-20.9825.295-26.15875-3.69625-5.175-3.8425-7.69375-10.93625-7.69375-21.13375v-30.7425h-12.17v-18.3275h12.17v-14.9275l18.045-5.76375v20.69125h15.8075v18.3275zM441.124885 83.2205c3.6375-3.84375 5.455-8.72125 5.455-14.6325 0-5.91125-1.8175-10.78875-5.455-14.63125-3.6375-3.84375-8.11375-5.76375-13.57-5.76375-5.455 0-9.93125 1.92-13.56875 5.76375-3.4975 3.99-5.31625 8.8675-5.31625 14.63125 0 5.765 1.81875 10.6425 5.31625 14.6325 3.6375 3.8425 8.11375 5.76375 13.56875 5.76375 5.45625 0 9.9325-1.92125 13.57-5.76375m-39.86875 13.15375c-7.13375-7.5375-10.63125-16.70125-10.63125-27.78625 0-10.9375 3.4975-20.1 10.63125-27.6375 7.13375-7.5375 15.9475-11.38 26.29875-11.38 10.3525 0 19.165 3.8425 26.3 11.38 7.135 7.5375 10.77125 16.84875 10.77125 27.6375 0 10.9375-3.63625 20.24875-10.77125 27.78625-7.135 7.53875-15.8075 11.2325-26.3 11.2325-10.49125 0-19.165-3.69375-26.29875-11.2325M524.92126 83.663625c3.6375-3.99 5.455-9.015 5.455-15.075 0-6.06-1.8175-11.085-5.455-14.9275-3.63625-3.99125-8.25375-5.91125-13.84875-5.91125-5.59625 0-10.2125 1.92-13.98875 5.91125-3.63625 3.8425-5.45625 8.8675-5.45625 14.9275 0 6.06 1.82 11.085 5.45625 15.075 3.77625 3.8425 8.5325 5.76375 13.98875 5.76375 5.595 0 10.2125-1.92125 13.84875-5.76375m5.455-81.585h18.04625v103.46h-18.04625v-8.72125c-5.315 7.2425-12.87 10.79-22.66125 10.79-9.3725 0-17.485-3.695-24.2-11.23375-6.575-7.5375-9.9325-16.84875-9.9325-27.785 0-10.78875 3.3575-20.10125 9.9325-27.63875 6.715-7.5375 14.8275-11.38 24.2-11.38 9.79125 0 17.34625 3.5475 22.66125 10.78875v-38.28zM611.79626 83.2205c3.63625-3.84375 5.455-8.72125 5.455-14.6325 0-5.91125-1.81875-10.78875-5.455-14.63125-3.6375-3.84375-8.11375-5.76375-13.57-5.76375-5.455 0-9.9325 1.92-13.56875 5.76375-3.49875 3.99-5.31625 8.8675-5.31625 14.63125 0 5.765 1.8175 10.6425 5.31625 14.6325 3.63625 3.8425 8.11375 5.76375 13.56875 5.76375 5.45625 0 9.9325-1.92125 13.57-5.76375m-39.86875 13.15375c-7.135-7.5375-10.63125-16.70125-10.63125-27.78625 0-10.9375 3.49625-20.1 10.63125-27.6375 7.135-7.5375 15.9475-11.38 26.29875-11.38 10.3525 0 19.165 3.8425 26.3 11.38 7.135 7.5375 10.77125 16.84875 10.77125 27.6375 0 10.9375-3.63625 20.24875-10.77125 27.78625-7.135 7.53875-15.8075 11.2325-26.3 11.2325-10.49125 0-19.16375-3.69375-26.29875-11.2325M713.35876 60.163875v45.37375h-18.04625v-43.00875c0-4.8775-1.25875-8.5725-3.77625-11.38-2.37875-2.5125-5.73625-3.84375-10.0725-3.84375-10.2125 0-15.3875 6.06-15.3875 18.3275v39.905h-18.04625v-73.89875h18.04625v8.27625c4.33625-6.94625 11.19-10.345 20.84375-10.345 7.69375 0 13.98875 2.66 18.885 8.12875 5.035 5.46875 7.55375 12.85875 7.55375 22.465"/></symbol></svg>
diff --git a/app/javascript/images/logo_transparent.svg b/app/javascript/images/logo_transparent.svg
new file mode 100644
index 000000000..a1e7b403e
--- /dev/null
+++ b/app/javascript/images/logo_transparent.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg"><symbol id="mastodon-svg-logo" viewBox="0 0 216.4144 232.00976"><path d="M107.86523 0C78.203984.2425 49.672422 3.4535937 33.044922 11.089844c0 0-32.97656262 14.752031-32.97656262 65.082031 0 11.525-.224375 25.306175.140625 39.919925 1.19750002 49.22 9.02375002 97.72843 54.53124962 109.77343 20.9825 5.55375 38.99711 6.71547 53.505856 5.91797 26.31125-1.45875 41.08203-9.38867 41.08203-9.38867l-.86914-19.08984s-18.80171 5.92758-39.91796 5.20508c-20.921254-.7175-43.006879-2.25516-46.390629-27.94141-.3125-2.25625-.46875-4.66938-.46875-7.20313 0 0 20.536953 5.0204 46.564449 6.21289 15.915.73001 30.8393-.93343 45.99805-2.74218 29.07-3.47125 54.38125-21.3818 57.5625-37.74805 5.0125-25.78125 4.59961-62.916015 4.59961-62.916015 0-50.33-32.97461-65.082031-32.97461-65.082031C166.80539 3.4535938 138.255.2425 108.59375 0h-.72852zM74.296875 39.326172c12.355 0 21.710234 4.749297 27.896485 14.248047l6.01367 10.080078 6.01563-10.080078c6.185-9.49875 15.54023-14.248047 27.89648-14.248047 10.6775 0 19.28156 3.753672 25.85156 11.076172 6.36875 7.3225 9.53907 17.218828 9.53907 29.673828v60.941408h-24.14454V81.869141c0-12.46875-5.24453-18.798829-15.73828-18.798829-11.6025 0-17.41797 7.508516-17.41797 22.353516v32.375002H96.207031V85.423828c0-14.845-5.815468-22.353515-17.417969-22.353516-10.49375 0-15.740234 6.330079-15.740234 18.798829v59.148439H38.904297V80.076172c0-12.455 3.171016-22.351328 9.541015-29.673828 6.568751-7.3225 15.172813-11.076172 25.851563-11.076172z" /></symbol></svg>
diff --git a/app/javascript/mastodon/components/status.js b/app/javascript/mastodon/components/status.js
index 3106a3ecd..d1235550f 100644
--- a/app/javascript/mastodon/components/status.js
+++ b/app/javascript/mastodon/components/status.js
@@ -476,7 +476,7 @@ class Status extends ImmutablePureComponent {
           </Bundle>
         );
       }
-    } else if (status.get('spoiler_text').length === 0 && status.get('card')) {
+    } else if (status.get('spoiler_text').length === 0 && status.get('card') && !this.props.muted) {
       media = (
         <Card
           onOpenMedia={this.handleOpenMedia}
diff --git a/app/javascript/mastodon/features/about/index.js b/app/javascript/mastodon/features/about/index.js
index 832836272..e59f73738 100644
--- a/app/javascript/mastodon/features/about/index.js
+++ b/app/javascript/mastodon/features/about/index.js
@@ -183,25 +183,18 @@ class About extends React.PureComponent {
               <>
                 <p><FormattedMessage id='about.domain_blocks.preamble' defaultMessage='Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.' /></p>
 
-                <table className='about__domain-blocks'>
-                  <thead>
-                    <tr>
-                      <th><FormattedMessage id='about.domain_blocks.domain' defaultMessage='Domain' /></th>
-                      <th><FormattedMessage id='about.domain_blocks.severity' defaultMessage='Severity' /></th>
-                      <th><FormattedMessage id='about.domain_blocks.comment' defaultMessage='Reason' /></th>
-                    </tr>
-                  </thead>
-
-                  <tbody>
-                    {domainBlocks.get('items').map(block => (
-                      <tr key={block.get('domain')}>
-                        <td><span title={`SHA-256: ${block.get('digest')}`}>{block.get('domain')}</span></td>
-                        <td><span title={intl.formatMessage(severityMessages[block.get('severity')].explanation)}>{intl.formatMessage(severityMessages[block.get('severity')].title)}</span></td>
-                        <td>{block.get('comment')}</td>
-                      </tr>
-                    ))}
-                  </tbody>
-                </table>
+                <div className='about__domain-blocks'>
+                  {domainBlocks.get('items').map(block => (
+                    <div className='about__domain-blocks__domain' key={block.get('domain')}>
+                      <div className='about__domain-blocks__domain__header'>
+                        <h6><span title={`SHA-256: ${block.get('digest')}`}>{block.get('domain')}</span></h6>
+                        <span className='about__domain-blocks__domain__type' title={intl.formatMessage(severityMessages[block.get('severity')].explanation)}>{intl.formatMessage(severityMessages[block.get('severity')].title)}</span>
+                      </div>
+
+                      <p>{(block.get('comment') || '').length > 0 ? block.get('comment') : <FormattedMessage id='about.domain_blocks.no_reason_available' defaultMessage='Reason not available' />}</p>
+                    </div>
+                  ))}
+                </div>
               </>
             ) : (
               <p><FormattedMessage id='about.not_available' defaultMessage='This information has not been made available on this server.' /></p>
diff --git a/app/javascript/mastodon/features/compose/components/upload.js b/app/javascript/mastodon/features/compose/components/upload.js
index 0b2dcf08f..b08307ade 100644
--- a/app/javascript/mastodon/features/compose/components/upload.js
+++ b/app/javascript/mastodon/features/compose/components/upload.js
@@ -17,7 +17,6 @@ export default class Upload extends ImmutablePureComponent {
     media: ImmutablePropTypes.map.isRequired,
     onUndo: PropTypes.func.isRequired,
     onOpenFocalPoint: PropTypes.func.isRequired,
-    isEditingStatus: PropTypes.bool.isRequired,
   };
 
   handleUndoClick = e => {
@@ -31,7 +30,7 @@ export default class Upload extends ImmutablePureComponent {
   }
 
   render () {
-    const { media, isEditingStatus } = this.props;
+    const { media } = this.props;
     const focusX = media.getIn(['meta', 'focus', 'x']);
     const focusY = media.getIn(['meta', 'focus', 'y']);
     const x = ((focusX /  2) + .5) * 100;
@@ -44,10 +43,10 @@ export default class Upload extends ImmutablePureComponent {
             <div className='compose-form__upload-thumbnail' style={{ transform: `scale(${scale})`, backgroundImage: `url(${media.get('preview_url')})`, backgroundPosition: `${x}% ${y}%` }}>
               <div className='compose-form__upload__actions'>
                 <button type='button' className='icon-button' onClick={this.handleUndoClick}><Icon id='times' /> <FormattedMessage id='upload_form.undo' defaultMessage='Delete' /></button>
-                {!isEditingStatus && (<button type='button' className='icon-button' onClick={this.handleFocalPointClick}><Icon id='pencil' /> <FormattedMessage id='upload_form.edit' defaultMessage='Edit' /></button>)}
+                {!!media.get('unattached') && (<button type='button' className='icon-button' onClick={this.handleFocalPointClick}><Icon id='pencil' /> <FormattedMessage id='upload_form.edit' defaultMessage='Edit' /></button>)}
               </div>
 
-              {(media.get('description') || '').length === 0 && (
+              {(media.get('description') || '').length === 0 && !!media.get('unattached') && (
                 <div className='compose-form__upload__warning'>
                   <button type='button' className='icon-button' onClick={this.handleFocalPointClick}><Icon id='info-circle' /> <FormattedMessage id='upload_form.description_missing' defaultMessage='No description added' /></button>
                 </div>
diff --git a/app/javascript/mastodon/features/compose/containers/upload_container.js b/app/javascript/mastodon/features/compose/containers/upload_container.js
index 1108aec30..05cd2ecc1 100644
--- a/app/javascript/mastodon/features/compose/containers/upload_container.js
+++ b/app/javascript/mastodon/features/compose/containers/upload_container.js
@@ -5,7 +5,6 @@ import { submitCompose } from '../../../actions/compose';
 
 const mapStateToProps = (state, { id }) => ({
   media: state.getIn(['compose', 'media_attachments']).find(item => item.get('id') === id),
-  isEditingStatus: state.getIn(['compose', 'id']) !== null,
 });
 
 const mapDispatchToProps = dispatch => ({
diff --git a/app/javascript/mastodon/features/ui/index.js b/app/javascript/mastodon/features/ui/index.js
index 298f2111d..b05956606 100644
--- a/app/javascript/mastodon/features/ui/index.js
+++ b/app/javascript/mastodon/features/ui/index.js
@@ -290,7 +290,7 @@ class UI extends React.PureComponent {
       this.dragTargets.push(e.target);
     }
 
-    if (e.dataTransfer && Array.from(e.dataTransfer.types).includes('Files') && this.props.canUploadMore) {
+    if (e.dataTransfer && Array.from(e.dataTransfer.types).includes('Files') && this.props.canUploadMore && this.context.identity.signedIn) {
       this.setState({ draggingOver: true });
     }
   }
@@ -318,7 +318,7 @@ class UI extends React.PureComponent {
     this.setState({ draggingOver: false });
     this.dragTargets = [];
 
-    if (e.dataTransfer && e.dataTransfer.files.length >= 1 && this.props.canUploadMore) {
+    if (e.dataTransfer && e.dataTransfer.files.length >= 1 && this.props.canUploadMore && this.context.identity.signedIn) {
       this.props.dispatch(uploadCompose(e.dataTransfer.files));
     }
   }
diff --git a/app/javascript/mastodon/locales/af.json b/app/javascript/mastodon/locales/af.json
index 95822b7b0..854312fdf 100644
--- a/app/javascript/mastodon/locales/af.json
+++ b/app/javascript/mastodon/locales/af.json
@@ -2,10 +2,8 @@
   "about.blocks": "Gemodereerde bedieners",
   "about.contact": "Kontak:",
   "about.disclaimer": "Mastodon is gratis, oop-bron sagteware, en 'n handelsmerk van Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Rede",
-  "about.domain_blocks.domain": "Domein",
+  "about.domain_blocks.no_reason_available": "Rede nie beskikbaar nie",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Ernstigheid",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Beperk",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Demp @{name}",
   "account.mute_notifications": "Demp kennisgewings van @{name}",
   "account.muted": "Gedemp",
+  "account.open_original_page": "Maak oorspronklike blad oop",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Rapporteer @{name}",
@@ -70,7 +69,7 @@
   "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": "Gemiddeld",
-  "admin.dashboard.retention.cohort": "Sign-up month",
+  "admin.dashboard.retention.cohort": "Registrasie-maand",
   "admin.dashboard.retention.cohort_size": "Nuwe gebruikers",
   "alert.rate_limited.message": "Probeer asb. weer na {retry_time, time, medium}.",
   "alert.rate_limited.title": "Tempo-beperk",
@@ -168,7 +167,7 @@
   "confirmations.mute.message": "Are you sure you want to mute {name}?",
   "confirmations.redraft.confirm": "Delete & redraft",
   "confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.",
-  "confirmations.reply.confirm": "Reply",
+  "confirmations.reply.confirm": "Reageer",
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Unfollow",
   "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
@@ -219,14 +218,14 @@
   "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_requests": "Jy het nog geen volg versoeke nie. Wanneer jy een ontvang, sal dit hier vertoon.",
   "empty_column.hashtag": "There is nothing in this hashtag yet.",
   "empty_column.home": "Your home timeline is empty! Follow more people to fill it up. {suggestions}",
   "empty_column.home.suggestions": "See some suggestions",
   "empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.",
-  "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.",
+  "empty_column.lists": "Jy het nog geen lyste nie. Wanneer jy een skep, sal dit hier vertoon.",
   "empty_column.mutes": "You haven't muted any users yet.",
-  "empty_column.notifications": "You don't have any notifications yet. When other people interact with you, you will see it here.",
+  "empty_column.notifications": "Jy het nog geen kennisgewings nie. Wanneer ander mense interaksie het met jou, sal dit hier vertoon.",
   "empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
   "error.unexpected_crash.explanation": "Due to a bug in our code or a browser compatibility issue, this page could not be displayed correctly.",
   "error.unexpected_crash.explanation_addons": "This page could not be displayed correctly. This error is likely caused by a browser add-on or automatic translation tools.",
@@ -258,7 +257,7 @@
   "filter_modal.title.status": "Filter a post",
   "follow_recommendations.done": "Done",
   "follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.",
-  "follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!",
+  "follow_recommendations.lead": "Plasings van persone wie jy volg sal in chronologiese volgorde op jou tuis voer vertoon. Jy kan enige tyd ophou om persone te volg en sal dan nie plasings ontvang nie!",
   "follow_request.authorize": "Authorize",
   "follow_request.reject": "Reject",
   "follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
@@ -290,15 +289,15 @@
   "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.",
   "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.",
   "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.",
-  "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
+  "interaction_modal.description.reply": "Met 'n rekening op Mastodon kan jy reageer op hierdie plasing.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Haak en plak hierdie URL in die soek area van jou gunseling toep of die web blaaier waar jy ingeteken is.",
-  "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
+  "interaction_modal.preamble": "Omdat Mastodon gedesentraliseerd is, kan jy jou bestaande rekening wat by 'n ander Mastodon bediener of versoenbare platform gehuisves is gebruik indien jy nie 'n rekening hier het nie.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
   "interaction_modal.title.reblog": "Boost {name}'s post",
-  "interaction_modal.title.reply": "Reply to {name}'s post",
+  "interaction_modal.title.reply": "Reageer op {name} se plasing",
   "intervals.full.days": "{number, plural, one {# day} other {# days}}",
   "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
   "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -326,7 +325,7 @@
   "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.reply": "to reply",
+  "keyboard_shortcuts.reply": "Reageer op plasing",
   "keyboard_shortcuts.requests": "to open follow requests list",
   "keyboard_shortcuts.search": "to focus search",
   "keyboard_shortcuts.spoilers": "Wys/versteek IW veld",
@@ -355,7 +354,7 @@
   "lists.replies_policy.none": "No one",
   "lists.replies_policy.title": "Show replies to:",
   "lists.search": "Soek tussen mense wat jy volg",
-  "lists.subheading": "Your lists",
+  "lists.subheading": "Jou lyste",
   "load_pending": "{count, plural, one {# new item} other {# new items}}",
   "loading_indicator.label": "Loading...",
   "media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}",
@@ -472,7 +471,7 @@
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "relative_time.today": "today",
-  "reply_indicator.cancel": "Cancel",
+  "reply_indicator.cancel": "Kanselleer",
   "report.block": "Block",
   "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
   "report.categories.other": "Other",
@@ -577,8 +576,8 @@
   "status.redraft": "Delete & re-draft",
   "status.remove_bookmark": "Remove bookmark",
   "status.replied_to": "Replied to {name}",
-  "status.reply": "Reply",
-  "status.replyAll": "Reply to thread",
+  "status.reply": "Reageer",
+  "status.replyAll": "Reageer in garing",
   "status.report": "Report @{name}",
   "status.sensitive_warning": "Sensitiewe inhoud",
   "status.share": "Share",
diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json
index 60d62c8cd..ddbc30f1e 100644
--- a/app/javascript/mastodon/locales/ar.json
+++ b/app/javascript/mastodon/locales/ar.json
@@ -1,21 +1,19 @@
 {
   "about.blocks": "خوادم تحت الإشراف",
-  "about.contact": "اتصل بـ:",
-  "about.disclaimer": "ماستدون مجاني ومفتوح المصدر وعلامة تجارية لماستدون GmbH.",
-  "about.domain_blocks.comment": "السبب",
-  "about.domain_blocks.domain": "النطاق",
+  "about.contact": "للاتصال:",
+  "about.disclaimer": "ماستدون برنامج حر ومفتوح المصدر وعلامة تجارية لـ Mastodon GmbH.",
+  "about.domain_blocks.no_reason_available": "السبب غير متوفر",
   "about.domain_blocks.preamble": "يسمح لك ماستدون عموماً بعرض المحتوى من المستخدمين من أي خادم آخر في الفدرالية والتفاعل معهم. وهذه هي الاستثناءات التي وضعت على هذا الخادوم بالذات.",
-  "about.domain_blocks.severity": "خطورة",
   "about.domain_blocks.silenced.explanation": "عموماً، لن ترى ملفات التعريف والمحتوى من هذا الخادم، إلا إذا كنت تبحث عنه بشكل صريح أو تختار أن تتابعه.",
   "about.domain_blocks.silenced.title": "تم كتمه",
   "about.domain_blocks.suspended.explanation": "لن يتم معالجة أي بيانات من هذا الخادم أو تخزينها أو تبادلها، مما يجعل أي تفاعل أو اتصال مع المستخدمين من هذا الخادم مستحيلا.",
-  "about.domain_blocks.suspended.title": "مُعلّـق",
+  "about.domain_blocks.suspended.title": "مُعلّق",
   "about.not_available": "لم يتم توفير هذه المعلومات على هذا الخادم.",
   "about.powered_by": "شبكة اجتماعية لامركزية مدعومة من {mastodon}",
   "about.rules": "قواعد الخادم",
   "account.account_note_header": "مُلاحظة",
   "account.add_or_remove_from_list": "الإضافة أو الإزالة من القائمة",
-  "account.badges.bot": "روبوت",
+  "account.badges.bot": "بوت",
   "account.badges.group": "فريق",
   "account.block": "احجب @{name}",
   "account.block_domain": "حظر اسم النِّطاق {domain}",
@@ -39,23 +37,24 @@
   "account.following_counter": "{count, plural, zero{لا يُتابِع} one {يُتابِعُ واحد} two{يُتابِعُ اِثنان} few{يُتابِعُ {counter}} many{يُتابِعُ {counter}} other {يُتابِعُ {counter}}}",
   "account.follows.empty": "لا يُتابع هذا المُستخدمُ أيَّ أحدٍ حتى الآن.",
   "account.follows_you": "يُتابِعُك",
-  "account.go_to_profile": "Go to profile",
+  "account.go_to_profile": "اذهب إلى الملف الشخصي",
   "account.hide_reblogs": "إخفاء مشاركات @{name}",
   "account.joined_short": "انضم في",
   "account.languages": "تغيير اللغات المشترَك فيها",
   "account.link_verified_on": "تمَّ التَّحقق مِن مِلْكيّة هذا الرابط بتاريخ {date}",
   "account.locked_info": "تمَّ تعيين حالة خصوصية هذا الحساب إلى مُقفَل. يُراجع المالك يدويًا من يمكنه متابعته.",
   "account.media": "وسائط",
-  "account.mention": "ذِكر @{name}",
+  "account.mention": "أذكُر @{name}",
   "account.moved_to": "أشار {name} إلى أن حسابه الجديد الآن:",
-  "account.mute": "كَتم @{name}",
+  "account.mute": "أكتم @{name}",
   "account.mute_notifications": "كَتم الإشعارات من @{name}",
   "account.muted": "مَكتوم",
+  "account.open_original_page": "افتح الصفحة الأصلية",
   "account.posts": "منشورات",
   "account.posts_with_replies": "المنشورات والرُدود",
   "account.report": "الإبلاغ عن @{name}",
   "account.requested": "في انتظار القبول. اضغط لإلغاء طلب المُتابعة",
-  "account.share": "مُشاركة الملف الشخصي لـ @{name}",
+  "account.share": "شارِك الملف التعريفي لـ @{name}",
   "account.show_reblogs": "عرض مشاركات @{name}",
   "account.statuses_counter": "{count, plural, zero {لَا منشورات} one {منشور واحد} two {منشوران إثنان} few {{counter} منشورات} many {{counter} منشورًا} other {{counter} منشور}}",
   "account.unblock": "إلغاء الحَظر عن @{name}",
@@ -67,8 +66,8 @@
   "account.unmute_notifications": "إلغاء كَتم الإشعارات عن @{name}",
   "account.unmute_short": "إلغاء الكتم",
   "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.daily_retention": "معدل الاحتفاظ بالمستخدم بعد التسجيل بيوم",
+  "admin.dashboard.monthly_retention": "معدل الاحتفاظ بالمستخدم بعد التسجيل بالشهور",
   "admin.dashboard.retention.average": "المعدل",
   "admin.dashboard.retention.cohort": "شهر التسجيل",
   "admin.dashboard.retention.cohort_size": "المستخدمون الجدد",
@@ -81,7 +80,7 @@
   "audio.hide": "إخفاء المقطع الصوتي",
   "autosuggest_hashtag.per_week": "{count} في الأسبوع",
   "boost_modal.combo": "يُمكنك الضّغط على {combo} لتخطي هذا في المرة المُقبلة",
-  "bundle_column_error.copy_stacktrace": "نسخ تقرير الخطأ",
+  "bundle_column_error.copy_stacktrace": "انسخ تقرير الخطأ",
   "bundle_column_error.error.body": "لا يمكن تقديم الصفحة المطلوبة. قد يكون بسبب خطأ في التعليمات البرمجية، أو مشكلة توافق المتصفح.",
   "bundle_column_error.error.title": "أوه لا!",
   "bundle_column_error.network.body": "حدث خطأ أثناء محاولة تحميل هذه الصفحة. قد يكون هذا بسبب مشكلة مؤقتة في اتصالك بالإنترنت أو هذا الخادم.",
@@ -156,7 +155,7 @@
   "confirmations.delete.confirm": "حذف",
   "confirmations.delete.message": "هل أنتَ مُتأكدٌ أنك تُريدُ حَذفَ هذا المنشور؟",
   "confirmations.delete_list.confirm": "حذف",
-  "confirmations.delete_list.message": "هل أنتَ مُتأكدٌ أنكَ تُريدُ حَذفَ هذِهِ القائمةَ بشكلٍ دائم؟",
+  "confirmations.delete_list.message": "هل أنتَ مُتأكدٌ أنكَ تُريدُ حَذفَ هذِهِ القائمة بشكلٍ دائم؟",
   "confirmations.discard_edit_media.confirm": "تجاهل",
   "confirmations.discard_edit_media.message": "لديك تغييرات غير محفوظة لوصف الوسائط أو معاينتها، تجاهلها على أي حال؟",
   "confirmations.domain_block.confirm": "حظر اِسم النِّطاق بشكلٍ كامل",
@@ -182,14 +181,14 @@
   "directory.local": "مِن {domain} فقط",
   "directory.new_arrivals": "الوافدون الجُدد",
   "directory.recently_active": "نشط مؤخرا",
-  "disabled_account_banner.account_settings": "Account settings",
-  "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
+  "disabled_account_banner.account_settings": "إعدادات الحساب",
+  "disabled_account_banner.text": "حسابك {disabledAccount} معطل حاليا.",
   "dismissable_banner.community_timeline": "هذه هي أحدث المشاركات العامة من الأشخاص الذين تُستضاف حساباتهم على {domain}.",
   "dismissable_banner.dismiss": "إغلاق",
   "dismissable_banner.explore_links": "هذه القصص الإخبارية يتحدث عنها أشخاص على هذا الخوادم الأخرى للشبكة اللامركزية في الوقت الحالي.",
-  "dismissable_banner.explore_statuses": "هذه المشاركات من هذا الخوادم الأخرى في الشبكة اللامركزية تجذب انتباه المستخدمين على هذا الخادم الآن.",
+  "dismissable_banner.explore_statuses": "هذه المنشورات مِن هذا الخادم ومِن الخوادم الأخرى في الشبكة اللامركزية تجذب انتباه المستخدمين على هذا الخادم الآن.",
   "dismissable_banner.explore_tags": "هذه العلامات تكتسب جذب بين الناس على هذا الخوادم الأخرى للشبكة اللامركزية في الوقت الحالي.",
-  "dismissable_banner.public_timeline": "هذه هي أحدث المشاركات العامة من الناس على هذا الخادم والخوادم الأخرى للشبكة اللامركزية التي يعرفها هذا الخادم.",
+  "dismissable_banner.public_timeline": "هذه هي أحدث المنشورات العامة من الناس على هذا الخادم والخوادم الأخرى للشبكة اللامركزية التي يعرفها هذا الخادم.",
   "embed.instructions": "يمكنكم إدماج هذا المنشور على موقعكم الإلكتروني عن طريق نسخ الشفرة أدناه.",
   "embed.preview": "هكذا ما سوف يبدو عليه:",
   "emoji_button.activity": "الأنشطة",
@@ -240,16 +239,16 @@
   "explore.trending_links": "الأخبار",
   "explore.trending_statuses": "المنشورات",
   "explore.trending_tags": "الوسوم",
-  "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.",
-  "filter_modal.added.context_mismatch_title": "Context mismatch!",
-  "filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.",
-  "filter_modal.added.expired_title": "Expired filter!",
-  "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.",
-  "filter_modal.added.review_and_configure_title": "Filter settings",
+  "filter_modal.added.context_mismatch_explanation": "فئة عامل التصفية هذه لا تنطبق على السياق الذي وصلت فيه إلى هذه المشاركة. إذا كنت ترغب في تصفية المنشور في هذا السياق أيضا، فسيتعين عليك تعديل عامل التصفية.",
+  "filter_modal.added.context_mismatch_title": "عدم تطابق السياق!",
+  "filter_modal.added.expired_explanation": "انتهت صلاحية فئة عامل التصفية هذه، سوف تحتاج إلى تغيير تاريخ انتهاء الصلاحية لتطبيقها.",
+  "filter_modal.added.expired_title": "تصفية منتهية الصلاحية!",
+  "filter_modal.added.review_and_configure": "لمراجعة وزيادة تكوين فئة عوامل التصفية هذه، انتقل إلى {settings_link}.",
+  "filter_modal.added.review_and_configure_title": "إعدادات التصفية",
   "filter_modal.added.settings_link": "صفحة الإعدادات",
-  "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.",
-  "filter_modal.added.title": "Filter added!",
-  "filter_modal.select_filter.context_mismatch": "does not apply to this context",
+  "filter_modal.added.short_explanation": "تمت إضافة هذه المشاركة إلى فئة الفلاتر التالية: {title}.",
+  "filter_modal.added.title": "تمت إضافة عامل التصفية!",
+  "filter_modal.select_filter.context_mismatch": "لا ينطبق على هذا السياق",
   "filter_modal.select_filter.expired": "منتهية الصلاحيّة",
   "filter_modal.select_filter.prompt_new": "فئة جديدة: {name}",
   "filter_modal.select_filter.search": "البحث أو الإنشاء",
@@ -287,14 +286,14 @@
   "home.column_settings.show_replies": "اعرض الردود",
   "home.hide_announcements": "إخفاء الإعلانات",
   "home.show_announcements": "إظهار الإعلانات",
-  "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.",
-  "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.",
-  "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.",
-  "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
+  "interaction_modal.description.favourite": "مع حساب في ماستدون، يمكنك تفضيل هذا المقال لإبلاغ الناشر بتقديرك وحفظه لاحقا.",
+  "interaction_modal.description.follow": "مع حساب في ماستدون، يمكنك متابعة {name} لتلقي مشاركاتهم في الصفحه الرئيسيه.",
+  "interaction_modal.description.reblog": "مع حساب في ماستدون، يمكنك تعزيز هذا المنشور لمشاركته مع متابعينك.",
+  "interaction_modal.description.reply": "مع حساب في ماستدون، يمكنك الرد على هذه المشاركة.",
   "interaction_modal.on_another_server": "على خادم مختلف",
   "interaction_modal.on_this_server": "على هذا الخادم",
-  "interaction_modal.other_server_instructions": "ببساطة قم بنسخ ولصق هذا الرابط في شريط البحث في تطبيقك المفضل أو على واجهة الويب أين ولجت بحسابك.",
-  "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
+  "interaction_modal.other_server_instructions": "انسخ و الصق هذا الرابط في حقل البحث الخاص بك لتطبيق ماستدون المفضل لديك أو واجهة الويب لخادم ماستدون الخاص بك.",
+  "interaction_modal.preamble": "بما إن ماستدون لامركزي، يمكنك استخدام حسابك الحالي المستضاف بواسطة خادم ماستدون آخر أو منصة متوافقة إذا لم يكن لديك حساب هنا.",
   "interaction_modal.title.favourite": "الإعجاب بمنشور {name}",
   "interaction_modal.title.follow": "اتبع {name}",
   "interaction_modal.title.reblog": "مشاركة منشور {name}",
@@ -342,7 +341,7 @@
   "lightbox.next": "التالي",
   "lightbox.previous": "العودة",
   "limited_account_hint.action": "إظهار الملف التعريفي على أي حال",
-  "limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.",
+  "limited_account_hint.title": "تم إخفاء هذا الملف الشخصي من قبل مشرفي {domain}.",
   "lists.account.add": "أضف إلى القائمة",
   "lists.account.remove": "احذف من القائمة",
   "lists.delete": "احذف القائمة",
@@ -361,7 +360,7 @@
   "media_gallery.toggle_visible": "{number, plural, zero {} one {اخف الصورة} two {اخف الصورتين} few {اخف الصور} many {اخف الصور} other {اخف الصور}}",
   "missing_indicator.label": "غير موجود",
   "missing_indicator.sublabel": "تعذر العثور على هذا المورد",
-  "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
+  "moved_to_account_banner.text": "حسابك {disabledAccount} معطل حاليًا لأنك انتقلت إلى {movedToAccount}.",
   "mute_modal.duration": "المدة",
   "mute_modal.hide_notifications": "هل تود إخفاء الإخطارات القادمة من هذا المستخدم ؟",
   "mute_modal.indefinite": "إلى أجل غير مسمى",
@@ -388,8 +387,8 @@
   "navigation_bar.public_timeline": "الخيط العام الموحد",
   "navigation_bar.search": "البحث",
   "navigation_bar.security": "الأمان",
-  "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
-  "notification.admin.report": "{name} reported {target}",
+  "not_signed_in_indicator.not_signed_in": "تحتاج إلى تسجيل الدخول للوصول إلى هذا المصدر.",
+  "notification.admin.report": "{name} أبلغ عن {target}",
   "notification.admin.sign_up": "أنشأ {name} حسابًا",
   "notification.favourite": "أُعجِب {name} بمنشورك",
   "notification.follow": "{name} يتابعك",
@@ -514,7 +513,7 @@
   "report_notification.categories.other": "آخر",
   "report_notification.categories.spam": "مزعج",
   "report_notification.categories.violation": "القاعدة المنتهَكة",
-  "report_notification.open": "Open report",
+  "report_notification.open": "فتح التقرير",
   "search.placeholder": "ابحث",
   "search.search_or_paste": "ابحث أو أدخل رابطا تشعبيا URL",
   "search_popout.search_format": "نمط البحث المتقدم",
@@ -529,7 +528,7 @@
   "search_results.nothing_found": "تعذر العثور على نتائج تتضمن هذه المصطلحات",
   "search_results.statuses": "المنشورات",
   "search_results.statuses_fts_disabled": "البحث عن المنشورات عن طريق المحتوى ليس مفعل في خادم ماستدون هذا.",
-  "search_results.title": "Search for {q}",
+  "search_results.title": "البحث عن {q}",
   "search_results.total": "{count, number} {count, plural, zero {} one {نتيجة} two {نتيجتين} few {نتائج} many {نتائج} other {نتائج}}",
   "server_banner.about_active_users": "الأشخاص الذين يستخدمون هذا الخادم خلال الأيام الثلاثين الأخيرة (المستخدمون النشطون شهريًا)",
   "server_banner.active_users": "مستخدم نشط",
@@ -546,7 +545,7 @@
   "status.bookmark": "أضفه إلى الفواصل المرجعية",
   "status.cancel_reblog_private": "إلغاء الترقية",
   "status.cannot_reblog": "تعذرت ترقية هذا المنشور",
-  "status.copy": "نسخ رابط المنشور",
+  "status.copy": "انسخ رابط الرسالة",
   "status.delete": "احذف",
   "status.detailed_status": "تفاصيل المحادثة",
   "status.direct": "رسالة خاصة إلى @{name}",
@@ -593,9 +592,9 @@
   "status.uncached_media_warning": "غير متوفر",
   "status.unmute_conversation": "فك الكتم عن المحادثة",
   "status.unpin": "فك التدبيس من الصفحة التعريفية",
-  "subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.",
+  "subscribed_languages.lead": "فقط المشاركات في اللغات المحددة ستظهر في الرئيسيه وتسرد الجداول الزمنية بعد التغيير. حدد لا شيء لتلقي المشاركات بجميع اللغات.",
   "subscribed_languages.save": "حفظ التغييرات",
-  "subscribed_languages.target": "Change subscribed languages for {target}",
+  "subscribed_languages.target": "تغيير اللغات المشتركة لـ {target}",
   "suggestions.dismiss": "إلغاء الاقتراح",
   "suggestions.header": "يمكن أن يهمك…",
   "tabs_bar.federated_timeline": "الموحَّد",
@@ -639,7 +638,7 @@
   "upload_modal.preparing_ocr": "جار إعداد OCR (تعرف ضوئي على الرموز)…",
   "upload_modal.preview_label": "معاينة ({ratio})",
   "upload_progress.label": "يرفع...",
-  "upload_progress.processing": "Processing…",
+  "upload_progress.processing": "تتم المعالجة…",
   "video.close": "إغلاق الفيديو",
   "video.download": "تنزيل الملف",
   "video.exit_fullscreen": "الخروج من وضع الشاشة المليئة",
diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json
index a895c9ecf..78555dc2d 100644
--- a/app/javascript/mastodon/locales/ast.json
+++ b/app/javascript/mastodon/locales/ast.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon ye software gratuito y de códigu llibre, y una marca rexistrada de Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Motivu",
-  "about.domain_blocks.domain": "Dominiu",
+  "about.domain_blocks.no_reason_available": "El motivu nun ta disponible",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Gravedá",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Desactivación de los avisos de @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
+  "account.open_original_page": "Abrir la páxina orixinal",
   "account.posts": "Artículos",
   "account.posts_with_replies": "Artículos y rempuestes",
   "account.report": "Report @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Con una cuenta de Mastodon, pues responder a esti artículu.",
   "interaction_modal.on_another_server": "N'otru sirvidor",
   "interaction_modal.on_this_server": "Nesti sirvidor",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copia y apiega esta URL nel campu de busca de la to aplicación favorita de Mastodon o na interfaz web de dalgún sirvidor de Mastodon.",
   "interaction_modal.preamble": "Darréu que Mastodon ye descentralizáu, pues usar una cuenta agospiada n'otru sirvidor de Mastodon o n'otra plataforma compatible si nun tienes cuenta nesti sirvidor.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json
index c83c1087c..58a48f4ae 100644
--- a/app/javascript/mastodon/locales/bg.json
+++ b/app/javascript/mastodon/locales/bg.json
@@ -2,10 +2,8 @@
   "about.blocks": "Модерирани сървъри",
   "about.contact": "За контакти:",
   "about.disclaimer": "Mastodon е безплатен софтуер с отворен изходен код и търговска марка Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Причина",
-  "about.domain_blocks.domain": "Домейн",
+  "about.domain_blocks.no_reason_available": "Няма налична причина",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Взискателност",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Ограничено",
   "about.domain_blocks.suspended.explanation": "Никакви данни от този сървър няма да се обработват, съхранявани или обменяни, правещи невъзможно всяко взаимодействие или комуникация с потребители от тези сървъри.",
@@ -51,6 +49,7 @@
   "account.mute": "Заглушаване на @{name}",
   "account.mute_notifications": "Заглушаване на известия от @{name}",
   "account.muted": "Заглушено",
+  "account.open_original_page": "Отваряне на оригиналната страница",
   "account.posts": "Публикации",
   "account.posts_with_replies": "Публикации и отговори",
   "account.report": "Докладване на @{name}",
@@ -101,7 +100,7 @@
   "column.about": "Относно",
   "column.blocks": "Блокирани потребители",
   "column.bookmarks": "Отметки",
-  "column.community": "Локална емисия",
+  "column.community": "Местна часова ос",
   "column.direct": "Директни съобщения",
   "column.directory": "Разглеждане на профили",
   "column.domain_blocks": "Блокирани домейни",
@@ -112,7 +111,7 @@
   "column.mutes": "Заглушени потребители",
   "column.notifications": "Известия",
   "column.pins": "Закачени публикации",
-  "column.public": "Публичен канал",
+  "column.public": "Федеративна часова ос",
   "column_back_button.label": "Назад",
   "column_header.hide_settings": "Скриване на настройките",
   "column_header.moveLeft_settings": "Преместване на колона вляво",
@@ -160,7 +159,7 @@
   "confirmations.discard_edit_media.confirm": "Отхвърляне",
   "confirmations.discard_edit_media.message": "Не сте запазили промени на описанието или огледа на мултимедията, отхвърляте ли ги?",
   "confirmations.domain_block.confirm": "Блокиране на целия домейн",
-  "confirmations.domain_block.message": "Наистина ли искате да блокирате целия {domain}? В повечето случаи няколко блокирания или заглушавания са достатъчно и за предпочитане. Няма да виждате съдържание от домейна из публичните места или известията си. Вашите последователи от този домейн ще се премахнат.",
+  "confirmations.domain_block.message": "Наистина ли искате да блокирате целия {domain}? В повечето случаи няколко блокирания или заглушавания са достатъчно и за предпочитане. Няма да виждате съдържание от домейна из публични часови оси или известията си. Вашите последователи от този домейн ще се премахнат.",
   "confirmations.logout.confirm": "Излизане",
   "confirmations.logout.message": "Наистина ли искате да излезете?",
   "confirmations.mute.confirm": "Заглушаване",
@@ -212,7 +211,7 @@
   "empty_column.account_unavailable": "Няма достъп до профила",
   "empty_column.blocks": "Още не сте блокирали никакви потребители.",
   "empty_column.bookmarked_statuses": "Все още нямате отметнати публикации. Когато отметнете някоя, тя ще се покаже тук.",
-  "empty_column.community": "Локалната емисия е празна. Напишете нещо публично, за да започнете!",
+  "empty_column.community": "Местна часова ос е празна. Напишете нещо публично, за да завъртите нещата!",
   "empty_column.direct": "Все още нямате лични съобщения. Когато изпратите или получите ще се покаже тук.",
   "empty_column.domain_blocks": "Още няма блокирани домейни.",
   "empty_column.explore_statuses": "Няма нищо популярно в момента. Проверете пак по-късно!",
@@ -221,7 +220,7 @@
   "empty_column.follow_recommendations": "Изглежда, че няма генерирани предложения за вас. Можете да опитате да търсите за хора, които знаете или да разгледате популярните тагове.",
   "empty_column.follow_requests": "Все още нямате заявки за последване. Когато получите такава, тя ще се покаже тук.",
   "empty_column.hashtag": "Още няма нищо в този хаштаг.",
-  "empty_column.home": "Вашата начална емисия е празна! Посетете {public} или използвайте търсене, за да започнете и да се запознаете с други потребители.",
+  "empty_column.home": "Вашата начална часова ос е празна! Последвайте повече хора, за да я запълните. {suggestions}",
   "empty_column.home.suggestions": "Преглед на някои предложения",
   "empty_column.list": "Още няма нищо в този списък. Когато членовете на списъка публикуват нови публикации, то те ще се появят тук.",
   "empty_column.lists": "Все още нямате списъци. Когато създадете такъв, той ще се покаже тук.",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "На различен сървър",
   "interaction_modal.on_this_server": "На този сървър",
-  "interaction_modal.other_server_instructions": "Просто копипействате URL адреса в лентата за търсене на любимото си приложение или уеб интерфейс, където сте влезли.",
+  "interaction_modal.other_server_instructions": "Копипейстнете този URL адрес в полето за търсене на любимото си приложение Mastodon или мрежови интерфейс на своя Mastodon сървър.",
   "interaction_modal.preamble": "Откак Mastodon е децентрализиран, може да употребявате съществуващ акаунт, разположен на друг сървър на Mastodon или съвместима платформа, ако нямате акаунт на този сървър.",
   "interaction_modal.title.favourite": "Любими публикации на {name}",
   "interaction_modal.title.follow": "Последване на {name}",
@@ -313,12 +312,12 @@
   "keyboard_shortcuts.enter": "Отваряне на публикация",
   "keyboard_shortcuts.favourite": "Любима публикация",
   "keyboard_shortcuts.favourites": "Отваряне на списъка с любими",
-  "keyboard_shortcuts.federated": "да отвори обединена хронология",
+  "keyboard_shortcuts.federated": "Отваряне на федерална часова ос",
   "keyboard_shortcuts.heading": "Клавишни съчетания",
-  "keyboard_shortcuts.home": "за отваряне на началната емисия",
+  "keyboard_shortcuts.home": "Отваряне на началната часова ос",
   "keyboard_shortcuts.hotkey": "Бърз клавиш",
   "keyboard_shortcuts.legend": "Показване на тази легенда",
-  "keyboard_shortcuts.local": "за отваряне на локалната емисия",
+  "keyboard_shortcuts.local": "Отваряне на местна часова ос",
   "keyboard_shortcuts.mention": "Споменаване на автор",
   "keyboard_shortcuts.muted": "Отваряне на списъка със заглушени потребители",
   "keyboard_shortcuts.my_profile": "Отваряне на профила ви",
@@ -368,7 +367,7 @@
   "navigation_bar.about": "За тази инстанция",
   "navigation_bar.blocks": "Блокирани потребители",
   "navigation_bar.bookmarks": "Отметки",
-  "navigation_bar.community_timeline": "Локална емисия",
+  "navigation_bar.community_timeline": "Местна часова ос",
   "navigation_bar.compose": "Съставяне на нова публикация",
   "navigation_bar.direct": "Директни съобщения",
   "navigation_bar.discover": "Откриване",
@@ -385,7 +384,7 @@
   "navigation_bar.personal": "Лично",
   "navigation_bar.pins": "Закачени публикации",
   "navigation_bar.preferences": "Предпочитания",
-  "navigation_bar.public_timeline": "Публичен канал",
+  "navigation_bar.public_timeline": "Федеративна часова ос",
   "navigation_bar.search": "Търсене",
   "navigation_bar.security": "Сигурност",
   "not_signed_in_indicator.not_signed_in": "Трябва да се регистрирате за достъп до този ресурс.",
@@ -598,7 +597,7 @@
   "subscribed_languages.target": "Смяна на езика за {target}",
   "suggestions.dismiss": "Отхвърляне на предложение",
   "suggestions.header": "Може да се интересувате от…",
-  "tabs_bar.federated_timeline": "Обединен",
+  "tabs_bar.federated_timeline": "Федерална",
   "tabs_bar.home": "Начало",
   "tabs_bar.local_timeline": "Местни",
   "tabs_bar.notifications": "Известия",
diff --git a/app/javascript/mastodon/locales/bn.json b/app/javascript/mastodon/locales/bn.json
index 28540094e..766c60877 100644
--- a/app/javascript/mastodon/locales/bn.json
+++ b/app/javascript/mastodon/locales/bn.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "@{name} কে নিঃশব্দ করুন",
   "account.mute_notifications": "@{name} র প্রজ্ঞাপন আপনার কাছে নিঃশব্দ করুন",
   "account.muted": "নিঃশব্দ",
+  "account.open_original_page": "Open original page",
   "account.posts": "টুট",
   "account.posts_with_replies": "টুট এবং মতামত",
   "account.report": "@{name} কে রিপোর্ট করুন",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json
index c420bb929..5acbd0ecc 100644
--- a/app/javascript/mastodon/locales/br.json
+++ b/app/javascript/mastodon/locales/br.json
@@ -1,17 +1,15 @@
 {
   "about.blocks": "Servijerioù habaskaet",
   "about.contact": "Darempred :",
-  "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Abeg",
-  "about.domain_blocks.domain": "Domani",
-  "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Strizhder",
+  "about.disclaimer": "Mastodon zo ur meziant frank, open-source hag ur merk marilhet eus Mastodon gGmbH.",
+  "about.domain_blocks.no_reason_available": "Reason not available",
+  "about.domain_blocks.preamble": "Gant Mastodon e c'hellit gwelet danvez hag eskemm gant implijerien·ezed eus forzh peseurt servijer er fedibed peurliesañ. Setu an nemedennoù a zo bet graet evit ar servijer-mañ e-unan.",
   "about.domain_blocks.silenced.explanation": "Ne vo ket gwelet profiloù eus ar servijer-mañ ganeoc'h peurliesañ, nemet ma vefec'h o klask war o lec'h pe choazfec'h o heuliañ.",
   "about.domain_blocks.silenced.title": "Bevennet",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
   "about.domain_blocks.suspended.title": "Astalet",
-  "about.not_available": "This information has not been made available on this server.",
-  "about.powered_by": "Decentralized social media powered by {mastodon}",
+  "about.not_available": "An titour-mañ ne c'heller ket gwelet war ar servijer-mañ.",
+  "about.powered_by": "Rouedad sokial digreizenned kaset gant {mastodon}",
   "about.rules": "Reolennoù ar servijer",
   "account.account_note_header": "Notenn",
   "account.add_or_remove_from_list": "Ouzhpenn pe dilemel eus al listennadoù",
@@ -21,7 +19,7 @@
   "account.block_domain": "Stankañ an domani {domain}",
   "account.blocked": "Stanket",
   "account.browse_more_on_origin_server": "Furchal pelloc'h war ar profil orin",
-  "account.cancel_follow_request": "Withdraw follow request",
+  "account.cancel_follow_request": "Nullañ ar reked heuliañ",
   "account.direct": "Kas ur c'hemennad eeun da @{name}",
   "account.disable_notifications": "Paouez d'am c'hemenn pa vez embannet traoù gant @{name}",
   "account.domain_blocked": "Domani stanket",
@@ -30,7 +28,7 @@
   "account.endorse": "Lakaat war-wel war ar profil",
   "account.featured_tags.last_status_at": "Kannad diwezhañ : {date}",
   "account.featured_tags.last_status_never": "Kannad ebet",
-  "account.featured_tags.title": "{name}'s featured hashtags",
+  "account.featured_tags.title": "Penngerioù-klik {name}",
   "account.follow": "Heuliañ",
   "account.followers": "Tud koumanantet",
   "account.followers.empty": "Den na heul an implijer·ez-mañ c'hoazh.",
@@ -39,18 +37,19 @@
   "account.following_counter": "{count, plural, one{{counter} C'houmanant} two{{counter} Goumanant} other {{counter} a Goumanant}}",
   "account.follows.empty": "An implijer·ez-mañ na heul den ebet.",
   "account.follows_you": "Ho heuilh",
-  "account.go_to_profile": "Go to profile",
+  "account.go_to_profile": "Gwelet ar profil",
   "account.hide_reblogs": "Kuzh skignadennoù gant @{name}",
-  "account.joined_short": "Joined",
-  "account.languages": "Change subscribed languages",
+  "account.joined_short": "Amañ abaoe",
+  "account.languages": "Cheñch ar yezhoù koumanantet",
   "account.link_verified_on": "Gwiriet eo bet perc'hennidigezh al liamm d'an deiziad-mañ : {date}",
   "account.locked_info": "Prennet eo ar gont-mañ. Gant ar perc'henn e vez dibabet piv a c'hall heuliañ anezhi pe anezhañ.",
   "account.media": "Media",
   "account.mention": "Menegiñ @{name}",
-  "account.moved_to": "{name} has indicated that their new account is now:",
+  "account.moved_to": "Gant {name} eo bet merket e oa bremañ h·e gont nevez :",
   "account.mute": "Kuzhat @{name}",
   "account.mute_notifications": "Kuzh kemennoù a-berzh @{name}",
   "account.muted": "Kuzhet",
+  "account.open_original_page": "Open original page",
   "account.posts": "Kannadoù",
   "account.posts_with_replies": "Kannadoù ha respontoù",
   "account.report": "Disklêriañ @{name}",
@@ -93,12 +92,12 @@
   "bundle_modal_error.close": "Serriñ",
   "bundle_modal_error.message": "Degouezhet ez eus bet ur fazi en ur gargañ an elfenn-mañ.",
   "bundle_modal_error.retry": "Klask en-dro",
-  "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.",
+  "closed_registrations.other_server_instructions": "Peogwir ez eo Mastodon digreizennet e c'heller krouiñ ur gont war ur servijer all ha kenderc'hel da zaremprediñ gant hemañ.",
   "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.",
-  "closed_registrations_modal.find_another_server": "Find another server",
+  "closed_registrations_modal.find_another_server": "Kavout ur servijer all",
   "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!",
   "closed_registrations_modal.title": "Signing up on Mastodon",
-  "column.about": "About",
+  "column.about": "Diwar-benn",
   "column.blocks": "Implijer·ezed·ien berzet",
   "column.bookmarks": "Sinedoù",
   "column.community": "Red-amzer lec'hel",
@@ -125,7 +124,7 @@
   "community.column_settings.media_only": "Nemet Mediaoù",
   "community.column_settings.remote_only": "Nemet a-bell",
   "compose.language.change": "Cheñch yezh",
-  "compose.language.search": "Search languages...",
+  "compose.language.search": "Klask yezhoù...",
   "compose_form.direct_message_warning_learn_more": "Gouzout hiroc'h",
   "compose_form.encryption_warning": "Kannadoù war Mastodon na vezont ket sifret penn-da-benn. Na rannit ket titouroù kizidik dre Mastodon.",
   "compose_form.hashtag_warning": "Ne vo ket listennet ar c'hannad-mañ dindan gerioù-klik ebet dre m'eo anlistennet. N'eus nemet ar c'hannadoù foran a c'hall bezañ klasket dre c'her-klik.",
@@ -151,7 +150,7 @@
   "confirmations.block.block_and_report": "Berzañ ha Disklêriañ",
   "confirmations.block.confirm": "Stankañ",
   "confirmations.block.message": "Ha sur oc'h e fell deoc'h stankañ {name} ?",
-  "confirmations.cancel_follow_request.confirm": "Withdraw request",
+  "confirmations.cancel_follow_request.confirm": "Nullañ ar reked",
   "confirmations.cancel_follow_request.message": "Ha sur oc'h e fell deoc'h nullañ ho reked evit heuliañ {name} ?",
   "confirmations.delete.confirm": "Dilemel",
   "confirmations.delete.message": "Ha sur oc'h e fell deoc'h dilemel ar c'hannad-mañ ?",
@@ -182,10 +181,10 @@
   "directory.local": "Eus {domain} hepken",
   "directory.new_arrivals": "Degouezhet a-nevez",
   "directory.recently_active": "Oberiant nevez zo",
-  "disabled_account_banner.account_settings": "Account settings",
-  "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
+  "disabled_account_banner.account_settings": "Arventennoù ar gont",
+  "disabled_account_banner.text": "Ho kont {disabledAccount} zo divev evit bremañ.",
   "dismissable_banner.community_timeline": "Setu kannadoù foran nevesañ an dud a zo herberc’hiet o c'hontoù gant {domain}.",
-  "dismissable_banner.dismiss": "Dismiss",
+  "dismissable_banner.dismiss": "Diverkañ",
   "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
   "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.",
   "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Gant ur gont Mastodon e c'hellit respont d'ar c'hannad-mañ.",
   "interaction_modal.on_another_server": "War ur servijer all",
   "interaction_modal.on_this_server": "War ar servijer-mañ",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Ouzhpennañ kannad {name} d'ar re vuiañ-karet",
   "interaction_modal.title.follow": "Heuliañ {name}",
@@ -391,15 +390,15 @@
   "not_signed_in_indicator.not_signed_in": "Ret eo deoc'h kevreañ evit tizhout an danvez-se.",
   "notification.admin.report": "Disklêriet eo bet {target} gant {name}",
   "notification.admin.sign_up": "{name} en·he deus lakaet e·hec'h anv",
-  "notification.favourite": "{name} en·he deus ouzhpennet ho kannad d'h·e re vuiañ-karet",
+  "notification.favourite": "Gant {name} eo bet ouzhpennet ho kannad d'h·e re vuiañ-karet",
   "notification.follow": "heuliañ a ra {name} ac'hanoc'h",
-  "notification.follow_request": "{name} en/he deus goulennet da heuliañ ac'hanoc'h",
-  "notification.mention": "{name} en/he deus meneget ac'hanoc'h",
+  "notification.follow_request": "Gant {name} eo bet goulennet ho heuliañ",
+  "notification.mention": "Gant {name} oc'h bet meneget",
   "notification.own_poll": "Echu eo ho sontadeg",
   "notification.poll": "Ur sontadeg ho deus mouezhet warnañ a zo echuet",
-  "notification.reblog": "{name} en·he deus skignet ho kannad",
-  "notification.status": "{name} en·he deus embannet",
-  "notification.update": "{name} en·he deus kemmet ur c'hannad",
+  "notification.reblog": "Skignet eo bet ho kannad gant {name}",
+  "notification.status": "Emañ {name} o paouez embann",
+  "notification.update": "Kemmet ez eus bet ur c'hannad gant {name}",
   "notifications.clear": "Skarzhañ ar c'hemennoù",
   "notifications.clear_confirmation": "Ha sur oc'h e fell deoc'h skarzhañ ho kemennoù penn-da-benn?",
   "notifications.column_settings.admin.report": "Disklêriadurioù nevez :",
@@ -572,7 +571,7 @@
   "status.read_more": "Lenn muioc'h",
   "status.reblog": "Skignañ",
   "status.reblog_private": "Skignañ gant ar weledenn gentañ",
-  "status.reblogged_by": "{name} en/he deus skignet",
+  "status.reblogged_by": "Skignet gant {name}",
   "status.reblogs.empty": "Den ebet n'eus skignet ar c'hannad-mañ c'hoazh. Pa vo graet gant unan bennak e teuio war wel amañ.",
   "status.redraft": "Diverkañ ha skrivañ en-dro",
   "status.remove_bookmark": "Dilemel ar sined",
diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json
index 3ac6a5d5f..ea63eedb3 100644
--- a/app/javascript/mastodon/locales/ca.json
+++ b/app/javascript/mastodon/locales/ca.json
@@ -2,10 +2,8 @@
   "about.blocks": "Servidors moderats",
   "about.contact": "Contacte:",
   "about.disclaimer": "Mastodon és un programari lliure de codi obert i una marca comercial de Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Motiu",
-  "about.domain_blocks.domain": "Domini",
+  "about.domain_blocks.no_reason_available": "Motiu no disponible",
   "about.domain_blocks.preamble": "En general, Mastodon et permet veure el contingut i interaccionar amb els usuaris de qualsevol altre servidor del fedivers. Aquestes són les excepcions que s'han fet en aquest servidor particular.",
-  "about.domain_blocks.severity": "Severitat",
   "about.domain_blocks.silenced.explanation": "Generalment no veuràs perfils ni contingut d'aquest servidor, a menys que el cerquis explícitament o optis per ell seguint-lo.",
   "about.domain_blocks.silenced.title": "Limitat",
   "about.domain_blocks.suspended.explanation": "No es processaran, emmagatzemaran ni s'intercanviaran dades d'aquest servidor, fent impossible qualsevol interacció o comunicació amb els usuaris d'aquest servidor.",
@@ -51,6 +49,7 @@
   "account.mute": "Silencia @{name}",
   "account.mute_notifications": "Silencia les notificacions de @{name}",
   "account.muted": "Silenciat",
+  "account.open_original_page": "Obre la pàgina original",
   "account.posts": "Publicacions",
   "account.posts_with_replies": "Publicacions i respostes",
   "account.report": "Informa sobre @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Amb un compte a Mastodon, pots respondre aquesta publicació.",
   "interaction_modal.on_another_server": "En un servidor diferent",
   "interaction_modal.on_this_server": "En aquest servidor",
-  "interaction_modal.other_server_instructions": "Simplement còpia i enganxa aquesta URL en la barra de cerca de la teva aplicació preferida o en l'interfície web on tens sessió iniciada.",
+  "interaction_modal.other_server_instructions": "Copia i enganxa aquest enllaç en el camp de cerca de la teva aplicació Mastodon preferida o en l'interfície web del teu servidor Mastodon.",
   "interaction_modal.preamble": "Donat que Mastodon és descentralitzat, pots fer servir el teu compte existent a un altre servidor Mastodon o plataforma compatible si és que no tens compte en aquest.",
   "interaction_modal.title.favourite": "Afavoreix la publicació de {name}",
   "interaction_modal.title.follow": "Segueix {name}",
diff --git a/app/javascript/mastodon/locales/ckb.json b/app/javascript/mastodon/locales/ckb.json
index 24b66101c..ee8c5e224 100644
--- a/app/javascript/mastodon/locales/ckb.json
+++ b/app/javascript/mastodon/locales/ckb.json
@@ -2,10 +2,8 @@
   "about.blocks": "ڕاژە سەرپەرشتیکراو",
   "about.contact": "پەیوەندی کردن:",
   "about.disclaimer": "ماستودۆن بە خۆڕایە، پرۆگرامێکی سەرچاوە کراوەیە، وە نیشانە بازرگانیەکەی ماستودۆن (gGmbH)ە",
-  "about.domain_blocks.comment": "هۆکار",
-  "about.domain_blocks.domain": "دۆمەین",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "ماستۆدۆن بە گشتی ڕێگەت پێدەدات بە پیشاندانی ناوەڕۆکەکان و کارلێک کردن لەگەڵ بەکارهێنەران لە هەر ڕاژەیەکی تر بە گشتی. ئەمانە ئەو بەدەرکردنانەن کە کراون لەسەر ئەم ڕاژە تایبەتە.",
-  "about.domain_blocks.severity": "ئاستی گرنگی",
   "about.domain_blocks.silenced.explanation": "بە گشتی ناتوانی زانیاریە تایبەتەکان و ناوەڕۆکی ئەم ڕاژەیە ببینی، مەگەر بە ڕوونی بەدوایدا بگەڕێیت یان هەڵیبژێریت بۆ شوێنکەوتنی.",
   "about.domain_blocks.silenced.title": "سنووردار",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "بێدەنگکردن @{name}",
   "account.mute_notifications": "هۆشیارکەرەوەکان لاببە لە @{name}",
   "account.muted": "بێ دەنگ",
+  "account.open_original_page": "Open original page",
   "account.posts": "توتس",
   "account.posts_with_replies": "توتس و وەڵامەکان",
   "account.report": "گوزارشت @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json
index 2435b72bf..4b518c24c 100644
--- a/app/javascript/mastodon/locales/co.json
+++ b/app/javascript/mastodon/locales/co.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Piattà @{name}",
   "account.mute_notifications": "Piattà nutificazione da @{name}",
   "account.muted": "Piattatu",
+  "account.open_original_page": "Open original page",
   "account.posts": "Statuti",
   "account.posts_with_replies": "Statuti è risposte",
   "account.report": "Palisà @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json
index d48b3206a..190e68f2b 100644
--- a/app/javascript/mastodon/locales/cs.json
+++ b/app/javascript/mastodon/locales/cs.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderované servery",
   "about.contact": "Kontakt:",
   "about.disclaimer": "Mastodon je svobodný software s otevřeným zdrojovým kódem a ochranná známka společnosti Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Důvod",
-  "about.domain_blocks.domain": "Doména",
+  "about.domain_blocks.no_reason_available": "Důvod není k dispozici",
   "about.domain_blocks.preamble": "Mastodon umožňuje prohlížet obsah a komunikovat s uživateli jakéhokoliv serveru ve fediversu. Pro tento konkrétní server se vztahují následující výjimky.",
-  "about.domain_blocks.severity": "Závažnost",
   "about.domain_blocks.silenced.explanation": "Uživatele a obsah tohoto serveru neuvidíte, pokud je nebudete výslovně hledat nebo je nezačnete sledovat.",
   "about.domain_blocks.silenced.title": "Omezeno",
   "about.domain_blocks.suspended.explanation": "Žádná data z tohoto serveru nebudou zpracovávána, uložena ani vyměňována, což znemožňuje jakoukoli interakci nebo komunikaci s uživateli z tohoto serveru.",
@@ -51,6 +49,7 @@
   "account.mute": "Skrýt @{name}",
   "account.mute_notifications": "Skrýt oznámení od @{name}",
   "account.muted": "Skryt",
+  "account.open_original_page": "Otevřít původní stránku",
   "account.posts": "Příspěvky",
   "account.posts_with_replies": "Příspěvky a odpovědi",
   "account.report": "Nahlásit @{name}",
@@ -72,7 +71,7 @@
   "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.message": "Zkuste to prosím znovu po {retry_time, time, medium}.",
   "alert.rate_limited.title": "Spojení omezena",
   "alert.unexpected.message": "Objevila se neočekávaná chyba.",
   "alert.unexpected.title": "Jejda!",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "S účtem na Mastodonu můžete reagovat na tento příspěvek.",
   "interaction_modal.on_another_server": "Na jiném serveru",
   "interaction_modal.on_this_server": "Na tomto serveru",
-  "interaction_modal.other_server_instructions": "Jednoduše zkopírujte a vložte tuto adresu do vyhledávacího panelu vaší oblíbené aplikace nebo webového rozhraní, kde jste přihlášeni.",
+  "interaction_modal.other_server_instructions": "Zkopírujte a vložte tuto URL do vyhledávacího pole vaší oblíbené Mastodon aplikace nebo webového rozhraní vašeho Mastodon serveru.",
   "interaction_modal.preamble": "Protože je Mastodon decentralizovaný, pokud nemáte účet na tomto serveru, můžete použít svůj existující účet hostovaný jiným Mastodon serverem nebo kompatibilní platformou.",
   "interaction_modal.title.favourite": "Oblíbený příspěvek {name}",
   "interaction_modal.title.follow": "Sledovat {name}",
@@ -611,7 +610,7 @@
   "timeline_hint.resources.followers": "Sledující",
   "timeline_hint.resources.follows": "Sledovaní",
   "timeline_hint.resources.statuses": "Starší příspěvky",
-  "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}",
+  "trends.counter_by_accounts": "{count, plural, one {{counter} člověk} few {{counter} lidé} many {{counter} lidí} other {{counter} lidí}} za poslední {days, plural, one {den} few {{days} dny} many {{days} dnů} other {{days} dnů}}",
   "trends.trending_now": "Právě populární",
   "ui.beforeunload": "Pokud Mastodon opustíte, váš koncept se ztratí.",
   "units.short.billion": "{count} mld.",
diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json
index fb00390e1..0d1149ef1 100644
--- a/app/javascript/mastodon/locales/cy.json
+++ b/app/javascript/mastodon/locales/cy.json
@@ -2,10 +2,8 @@
   "about.blocks": "Gweinyddion sy'n cael eu cymedroli",
   "about.contact": "Cyswllt:",
   "about.disclaimer": "Mae Mastodon yn feddalwedd rhydd, cod agored ac o dan hawlfraint Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Rheswm",
-  "about.domain_blocks.domain": "Parth",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Yn gyffredinol, mae Mastodon yn caniatáu i chi weld cynnwys gan unrhyw weinyddwr arall yn y ffederasiwn a rhyngweithio â hi. Dyma'r eithriadau a wnaed ar y gweinydd penodol hwn.",
-  "about.domain_blocks.severity": "Difrifoldeb",
   "about.domain_blocks.silenced.explanation": "Yn gyffredinol, fyddwch chi ddim yn gweld proffiliau a chynnwys o'r gweinydd hwn, oni bai eich bod yn chwilio'n benodol amdano neu yn ymuno drwy ei ddilyn.",
   "about.domain_blocks.silenced.title": "Tawelwyd",
   "about.domain_blocks.suspended.explanation": "Ni fydd data o'r gweinydd hwn yn cael ei brosesu, ei storio na'i gyfnewid, gan wneud unrhyw ryngweithio neu gyfathrebu gyda defnyddwyr o'r gweinydd hwn yn amhosibl.",
@@ -51,6 +49,7 @@
   "account.mute": "Tawelu @{name}",
   "account.mute_notifications": "Cuddio hysbysiadau o @{name}",
   "account.muted": "Distewyd",
+  "account.open_original_page": "Open original page",
   "account.posts": "Postiadau",
   "account.posts_with_replies": "Postiadau ac atebion",
   "account.report": "Adrodd @{name}",
@@ -97,7 +96,7 @@
   "closed_registrations_modal.description": "Ar hyn o bryd nid yw'n bosib creu cyfrif ar {domain}, ond cadwch mewn cof nad oes raid i chi gael cyfrif yn benodol ar {domain} i ddefnyddio Mastodon.",
   "closed_registrations_modal.find_another_server": "Dod o hyd i weinydd arall",
   "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!",
-  "closed_registrations_modal.title": "Signing up on Mastodon",
+  "closed_registrations_modal.title": "Cofrestru ar Mastodon",
   "column.about": "Ynghylch",
   "column.blocks": "Defnyddwyr a flociwyd",
   "column.bookmarks": "Tudalnodau",
@@ -151,8 +150,8 @@
   "confirmations.block.block_and_report": "Rhwystro ac Adrodd",
   "confirmations.block.confirm": "Blocio",
   "confirmations.block.message": "Ydych chi'n sicr eich bod eisiau blocio {name}?",
-  "confirmations.cancel_follow_request.confirm": "Withdraw request",
-  "confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?",
+  "confirmations.cancel_follow_request.confirm": "Tynnu'r cais yn ôl",
+  "confirmations.cancel_follow_request.message": "Ydych chi'n sicr eich bod chi eisiau tynnu'ch cais i ddilyn {name} yn ôl?",
   "confirmations.delete.confirm": "Dileu",
   "confirmations.delete.message": "Ydych chi'n sicr eich bod eisiau dileu y post hwn?",
   "confirmations.delete_list.confirm": "Dileu",
@@ -248,14 +247,14 @@
   "filter_modal.added.review_and_configure_title": "Filter settings",
   "filter_modal.added.settings_link": "settings page",
   "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.",
-  "filter_modal.added.title": "Filter added!",
+  "filter_modal.added.title": "Hidlydd wedi'i ychwanegu!",
   "filter_modal.select_filter.context_mismatch": "does not apply to this context",
   "filter_modal.select_filter.expired": "expired",
   "filter_modal.select_filter.prompt_new": "Categori newydd: {name}",
   "filter_modal.select_filter.search": "Chwilio neu greu",
   "filter_modal.select_filter.subtitle": "Use an existing category or create a new one",
-  "filter_modal.select_filter.title": "Filter this post",
-  "filter_modal.title.status": "Filter a post",
+  "filter_modal.select_filter.title": "Hidlo'r post hwn",
+  "filter_modal.title.status": "Hidlo post",
   "follow_recommendations.done": "Wedi gorffen",
   "follow_recommendations.heading": "Dilynwch y bobl yr hoffech chi weld eu postiadau! Dyma ambell i awgrymiad.",
   "follow_recommendations.lead": "Bydd postiadau gan bobl rydych chi'n eu dilyn yn ymddangos mewn trefn amser ar eich ffrwd cartref. Peidiwch â bod ofn gwneud camgymeriadau, gallwch chi ddad-ddilyn pobl yr un mor hawdd unrhyw bryd!",
@@ -264,11 +263,11 @@
   "follow_requests.unlocked_explanation": "Er nid yw eich cyfrif wedi'i gloi, oedd y staff {domain} yn meddwl efallai hoffech adolygu ceisiadau dilyn o'r cyfrifau rhain wrth law.",
   "footer.about": "Ynghylch",
   "footer.directory": "Cyfeiriadur proffiliau",
-  "footer.get_app": "Get the app",
+  "footer.get_app": "Lawrlwytho'r ap",
   "footer.invite": "Gwahodd pobl",
   "footer.keyboard_shortcuts": "Bysellau brys",
   "footer.privacy_policy": "Polisi preifatrwydd",
-  "footer.source_code": "View source code",
+  "footer.source_code": "Gweld y cod ffynhonnell",
   "generic.saved": "Wedi'i Gadw",
   "getting_started.heading": "Dechrau",
   "hashtag.column_header.tag_mode.all": "a {additional}",
@@ -289,11 +288,11 @@
   "home.show_announcements": "Dangos cyhoeddiadau",
   "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.",
   "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.",
-  "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.",
-  "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
+  "interaction_modal.description.reblog": "Gyda chyfrif ar Mastodon, gallwch hybu'r post hwn i'w rannu â'ch dilynwyr.",
+  "interaction_modal.description.reply": "Gyda chyfrif ar Mastodon, gallwch ymateb i'r post hwn.",
   "interaction_modal.on_another_server": "Ar weinydd gwahanol",
   "interaction_modal.on_this_server": "Ar y gweinydd hwn",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Hoffi post {name}",
   "interaction_modal.title.follow": "Dilyn {name}",
@@ -361,7 +360,7 @@
   "media_gallery.toggle_visible": "Toglo gwelededd",
   "missing_indicator.label": "Heb ei ganfod",
   "missing_indicator.sublabel": "Ni ellid canfod yr adnodd hwn",
-  "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
+  "moved_to_account_banner.text": "Mae eich cyfrif {disabledAccount} wedi ei analluogi ar hyn y bryd am i chi symud i {movedToAccount}.",
   "mute_modal.duration": "Hyd",
   "mute_modal.hide_notifications": "Cuddio hysbysiadau rhag y defnyddiwr hwn?",
   "mute_modal.indefinite": "Amhenodol",
@@ -376,7 +375,7 @@
   "navigation_bar.edit_profile": "Golygu proffil",
   "navigation_bar.explore": "Archwilio",
   "navigation_bar.favourites": "Ffefrynnau",
-  "navigation_bar.filters": "Geiriau a dawelwyd",
+  "navigation_bar.filters": "Geiriau a fudwyd",
   "navigation_bar.follow_requests": "Ceisiadau dilyn",
   "navigation_bar.follows_and_followers": "Dilynion a ddilynwyr",
   "navigation_bar.lists": "Rhestrau",
@@ -388,7 +387,7 @@
   "navigation_bar.public_timeline": "Ffrwd y ffederasiwn",
   "navigation_bar.search": "Chwilio",
   "navigation_bar.security": "Diogelwch",
-  "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
+  "not_signed_in_indicator.not_signed_in": "Rhaid i chi fewngofnodi i weld yr adnodd hwn.",
   "notification.admin.report": "Adroddodd {name} {target}",
   "notification.admin.sign_up": "Cofrestrodd {name}",
   "notification.favourite": "Hoffodd {name} eich post",
@@ -408,7 +407,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_bar": "Dangos bar hidlo",
+  "notifications.column_settings.filter_bar.show_bar": "Dangos y bar hidlo",
   "notifications.column_settings.follow": "Dilynwyr newydd:",
   "notifications.column_settings.follow_request": "Ceisiadau dilyn newydd:",
   "notifications.column_settings.mention": "Crybwylliadau:",
@@ -422,11 +421,11 @@
   "notifications.column_settings.unread_notifications.highlight": "Amlygu hysbysiadau heb eu darllen",
   "notifications.column_settings.update": "Golygiadau:",
   "notifications.filter.all": "Popeth",
-  "notifications.filter.boosts": "Hybiadau",
+  "notifications.filter.boosts": "Hybiau",
   "notifications.filter.favourites": "Ffefrynnau",
   "notifications.filter.follows": "Yn dilyn",
   "notifications.filter.mentions": "Crybwylliadau",
-  "notifications.filter.polls": "Canlyniadau pleidlais",
+  "notifications.filter.polls": "Canlyniadau polau",
   "notifications.filter.statuses": "Diweddariadau gan bobl rydych chi'n eu dilyn",
   "notifications.grant_permission": "Caniatáu.",
   "notifications.group": "{count} o hysbysiadau",
@@ -555,9 +554,9 @@
   "status.edited_x_times": "Golygwyd {count, plural, one {unwaith} two {dwywaith} other {{count} gwaith}}",
   "status.embed": "Plannu",
   "status.favourite": "Hoffi",
-  "status.filter": "Filter this post",
+  "status.filter": "Hidlo'r post hwn",
   "status.filtered": "Wedi'i hidlo",
-  "status.hide": "Hide toot",
+  "status.hide": "Cuddio'r post",
   "status.history.created": "{name} greuodd {date}",
   "status.history.edited": "{name} olygodd {date}",
   "status.load_more": "Llwythwch mwy",
diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json
index 88ece1479..35060645c 100644
--- a/app/javascript/mastodon/locales/da.json
+++ b/app/javascript/mastodon/locales/da.json
@@ -2,10 +2,8 @@
   "about.blocks": "Modererede servere",
   "about.contact": "Kontakt:",
   "about.disclaimer": "Mastodon er gratis, open-source software og et varemærke tilhørende Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Årsag",
-  "about.domain_blocks.domain": "Domæne",
+  "about.domain_blocks.no_reason_available": "Begrundelse ikke tilgængelig",
   "about.domain_blocks.preamble": "Mastodon tillader generelt, at man ser indhold og interagere med brugere fra enhver anden server i fediverset. Disse er undtagelserne, som er implementeret på netop denne server.",
-  "about.domain_blocks.severity": "Alvorlighed",
   "about.domain_blocks.silenced.explanation": "Man vil generelt ikke se profiler og indhold fra denne server, medmindre man udtrykkeligt slå den op eller vælger den ved at følge.",
   "about.domain_blocks.silenced.title": "Begrænset",
   "about.domain_blocks.suspended.explanation": "Data fra denne server hverken behandles, gemmes eller udveksles, hvilket umuliggør interaktion eller kommunikation med brugere fra denne server.",
@@ -51,6 +49,7 @@
   "account.mute": "Skjul @{name}",
   "account.mute_notifications": "Skjul notifikationer fra @{name}",
   "account.muted": "Tystnet",
+  "account.open_original_page": "Åbn oprindelig side",
   "account.posts": "Indlæg",
   "account.posts_with_replies": "Indlæg og svar",
   "account.report": "Anmeld @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Med en konto på Mastodon kan dette indlæg besvares.",
   "interaction_modal.on_another_server": "På en anden server",
   "interaction_modal.on_this_server": "På denne server",
-  "interaction_modal.other_server_instructions": "Kopiér og indsæt blot denne URL i søgefeltet i den foretrukne app eller webgrænsefladen, hvor man er logget ind.",
+  "interaction_modal.other_server_instructions": "Kopiér og indsæt denne URL i søgefeltet på en Mastodon-app eller webgrænseflade til en Mastodon-server.",
   "interaction_modal.preamble": "Da Mastodon er decentraliseret, kan man bruge sin eksisterende konto hostet af en anden Mastodon-server eller kompatibel platform, såfremt man ikke har en konto på denne.",
   "interaction_modal.title.favourite": "Gør {name}s indlæg til favorit",
   "interaction_modal.title.follow": "Følg {name}",
diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json
index 10e33f2a9..54ba68ba9 100644
--- a/app/javascript/mastodon/locales/de.json
+++ b/app/javascript/mastodon/locales/de.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderierte Server",
   "about.contact": "Kontakt:",
   "about.disclaimer": "Mastodon ist eine freie, quelloffene Software und eine Marke der Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Begründung",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Grund unbekannt",
   "about.domain_blocks.preamble": "Mastodon erlaubt es dir grundsätzlich, alle Inhalte von allen Nutzer*innen auf allen Servern im Fediversum zu sehen und mit ihnen zu interagieren. Für diese Instanz gibt es aber ein paar Ausnahmen.",
-  "about.domain_blocks.severity": "Schweregrad",
   "about.domain_blocks.silenced.explanation": "Alle Inhalte dieses Servers sind stumm geschaltet und werden zunächst nicht angezeigt. Du kannst die Profile und anderen Inhalte aber dennoch manuell aufrufen – oder Du folgst einer Person dieser Mastodon-Instanz.",
   "about.domain_blocks.silenced.title": "Limitiert",
   "about.domain_blocks.suspended.explanation": "Es werden keine Daten von diesem Server verarbeitet, gespeichert oder ausgetauscht, sodass eine Interaktion oder Kommunikation mit Nutzer*innen dieses Servers nicht möglich ist.",
@@ -51,6 +49,7 @@
   "account.mute": "@{name} stummschalten",
   "account.mute_notifications": "Benachrichtigungen von @{name} stummschalten",
   "account.muted": "Stummgeschaltet",
+  "account.open_original_page": "Ursprüngliche Seite öffnen",
   "account.posts": "Beiträge",
   "account.posts_with_replies": "Beiträge und Antworten",
   "account.report": "@{name} melden",
@@ -128,7 +127,7 @@
   "compose.language.search": "Sprachen suchen …",
   "compose_form.direct_message_warning_learn_more": "Mehr erfahren",
   "compose_form.encryption_warning": "Beiträge von Mastodon sind nicht Ende-zu-Ende verschlüsselt. Teile keine senible Informationen über Mastodon.",
-  "compose_form.hashtag_warning": "Dieser Beitrag ist über Hashtags nicht zu finden, weil er nicht gelistet ist. Nur öffentliche Beiträge tauchen in den Hashtag-Chroniken auf.",
+  "compose_form.hashtag_warning": "Dieser Beitrag ist über Hashtags nicht zu finden, weil er nicht gelistet ist. Nur öffentliche Beiträge tauchen in den Hashtag-Timelines auf.",
   "compose_form.lock_disclaimer": "Dein Profil ist nicht {locked}. Wer dir folgen will, kann das jederzeit tun und dann auch deine privaten Beiträge sehen.",
   "compose_form.lock_disclaimer.lock": "geschützt",
   "compose_form.placeholder": "Was gibt's Neues?",
@@ -159,7 +158,7 @@
   "confirmations.delete_list.message": "Bist du dir sicher, dass du diese Liste permanent löschen möchtest?",
   "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": "Domain sperren",
+  "confirmations.domain_block.confirm": "Blocke die ganze Domain",
   "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. Auch deine Follower von dieser Domain werden entfernt.",
   "confirmations.logout.confirm": "Abmelden",
   "confirmations.logout.message": "Bist du sicher, dass du dich abmelden möchtest?",
@@ -177,7 +176,7 @@
   "conversation.open": "Unterhaltung anzeigen",
   "conversation.with": "Mit {names}",
   "copypaste.copied": "In die Zwischenablage kopiert",
-  "copypaste.copy": "In die Zwischenablage kopieren",
+  "copypaste.copy": "Kopieren",
   "directory.federated": "Aus dem Fediverse",
   "directory.local": "Nur von der Domain {domain}",
   "directory.new_arrivals": "Neue Profile",
@@ -203,7 +202,7 @@
   "emoji_button.objects": "Gegenstände",
   "emoji_button.people": "Personen",
   "emoji_button.recent": "Häufig benutzte Emojis",
-  "emoji_button.search": "Nach Emojis suchen …",
+  "emoji_button.search": "Suchen …",
   "emoji_button.search_results": "Suchergebnisse",
   "emoji_button.symbols": "Symbole",
   "emoji_button.travel": "Reisen & Orte",
@@ -212,7 +211,7 @@
   "empty_column.account_unavailable": "Profil nicht verfügbar",
   "empty_column.blocks": "Du hast bisher keine Profile blockiert.",
   "empty_column.bookmarked_statuses": "Du hast bis jetzt keine Beiträge als Lesezeichen gespeichert. Wenn du einen Beitrag als Lesezeichen speicherst wird er hier erscheinen.",
-  "empty_column.community": "Die lokale Chronik ist leer. Schreibe einen öffentlichen Beitrag, um den Stein ins Rollen zu bringen!",
+  "empty_column.community": "Die lokale Timeline ist leer. Schreibe einen öffentlichen Beitrag, um den Stein ins Rollen zu bringen!",
   "empty_column.direct": "Du hast noch keine Direktnachrichten. Sobald du eine sendest oder empfängst, wird sie hier zu sehen sein.",
   "empty_column.domain_blocks": "Du hast noch keine Domains blockiert.",
   "empty_column.explore_statuses": "Momentan ist nichts im Trend. Schau später wieder vorbei!",
@@ -227,7 +226,7 @@
   "empty_column.lists": "Du hast noch keine Listen. Wenn du eine anlegst, wird sie hier angezeigt werden.",
   "empty_column.mutes": "Du hast keine Profile stummgeschaltet.",
   "empty_column.notifications": "Du hast noch keine Mitteilungen. Sobald Du mit anderen Personen interagierst, wirst Du hier darüber benachrichtigt.",
-  "empty_column.public": "Hier ist nichts zu sehen! Schreibe etwas öffentlich oder folge Profilen von anderen Servern, um die Zeitleiste aufzufüllen",
+  "empty_column.public": "Hier ist nichts zu sehen! Schreibe etwas öffentlich oder folge Profilen von anderen Servern, um die Timeline aufzufüllen",
   "error.unexpected_crash.explanation": "Aufgrund eines Fehlers in unserem Code oder einer Browser-Inkompatibilität konnte diese Seite nicht korrekt angezeigt werden.",
   "error.unexpected_crash.explanation_addons": "Diese Seite konnte nicht korrekt angezeigt werden. Dieser Fehler wird wahrscheinlich durch ein Browser-Add-on oder automatische Übersetzungswerkzeuge verursacht.",
   "error.unexpected_crash.next_steps": "Versuche, die Seite zu aktualisieren. Wenn das nicht hilft, kannst du Mastodon über einen anderen Browser oder eine native App verwenden.",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Mit einem Account auf Mastodon kannst du auf diesen Beitrag antworten.",
   "interaction_modal.on_another_server": "Auf einem anderen Server",
   "interaction_modal.on_this_server": "Auf diesem Server",
-  "interaction_modal.other_server_instructions": "Kopiere einfach diese URL und füge sie in die Suchleiste deiner Lieblings-App oder in die Weboberfläche, in der du angemeldet bist, ein.",
+  "interaction_modal.other_server_instructions": "Kopieren Sie diese Adresse und fügen Sie diese in das Suchfeld Ihrer bevorzugten Mastodon-App oder in die Weboberfläche Ihres Mastodon-Servers ein.",
   "interaction_modal.preamble": "Da Mastodon dezentralisiert ist, kannst du dein bestehendes Konto auf einem anderen Mastodon-Server oder einer kompatiblen Plattform nutzen, wenn du kein Konto auf dieser Plattform hast.",
   "interaction_modal.title.favourite": "Lieblingsbeitrag von {name}",
   "interaction_modal.title.follow": "Folge {name}",
@@ -313,12 +312,12 @@
   "keyboard_shortcuts.enter": "Beitrag öffnen",
   "keyboard_shortcuts.favourite": "favorisieren",
   "keyboard_shortcuts.favourites": "Favoriten-Liste öffnen",
-  "keyboard_shortcuts.federated": "Föderierte Chronik öffnen",
+  "keyboard_shortcuts.federated": "Föderierte Timeline öffnen",
   "keyboard_shortcuts.heading": "Tastenkombinationen",
   "keyboard_shortcuts.home": "Startseite öffnen",
   "keyboard_shortcuts.hotkey": "Tastenkürzel",
   "keyboard_shortcuts.legend": "diese Übersicht anzeigen",
-  "keyboard_shortcuts.local": "Lokale Chronik öffnen",
+  "keyboard_shortcuts.local": "Lokale Timeline öffnen",
   "keyboard_shortcuts.mention": "Profil erwähnen",
   "keyboard_shortcuts.muted": "Liste stummgeschalteter Profile öffnen",
   "keyboard_shortcuts.my_profile": "Dein Profil öffnen",
@@ -461,7 +460,7 @@
   "refresh": "Aktualisieren",
   "regeneration_indicator.label": "Laden…",
   "regeneration_indicator.sublabel": "Deine Startseite wird gerade vorbereitet!",
-  "relative_time.days": "{number}d",
+  "relative_time.days": "{number}T",
   "relative_time.full.days": "vor {number, plural, one {# Tag} other {# Tagen}}",
   "relative_time.full.hours": "vor {number, plural, one {# Stunde} other {# Stunden}}",
   "relative_time.full.just_now": "gerade eben",
diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json
index 1c0372cf4..f7ea661d7 100644
--- a/app/javascript/mastodon/locales/defaultMessages.json
+++ b/app/javascript/mastodon/locales/defaultMessages.json
@@ -682,6 +682,10 @@
       {
         "defaultMessage": "Filter this post",
         "id": "status.filter"
+      },
+      {
+        "defaultMessage": "Open original page",
+        "id": "account.open_original_page"
       }
     ],
     "path": "app/javascript/mastodon/components/status_action_bar.json"
@@ -887,16 +891,8 @@
         "id": "about.domain_blocks.preamble"
       },
       {
-        "defaultMessage": "Domain",
-        "id": "about.domain_blocks.domain"
-      },
-      {
-        "defaultMessage": "Severity",
-        "id": "about.domain_blocks.severity"
-      },
-      {
-        "defaultMessage": "Reason",
-        "id": "about.domain_blocks.comment"
+        "defaultMessage": "Reason not available",
+        "id": "about.domain_blocks.no_reason_available"
       },
       {
         "defaultMessage": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
@@ -1188,6 +1184,10 @@
         "id": "account.languages"
       },
       {
+        "defaultMessage": "Open original page",
+        "id": "account.open_original_page"
+      },
+      {
         "defaultMessage": "Follows you",
         "id": "account.follows_you"
       },
@@ -2603,7 +2603,7 @@
         "id": "interaction_modal.on_another_server"
       },
       {
-        "defaultMessage": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+        "defaultMessage": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
         "id": "interaction_modal.other_server_instructions"
       }
     ],
@@ -3598,6 +3598,10 @@
       {
         "defaultMessage": "Unblock @{name}",
         "id": "account.unblock"
+      },
+      {
+        "defaultMessage": "Open original page",
+        "id": "account.open_original_page"
       }
     ],
     "path": "app/javascript/mastodon/features/status/components/action_bar.json"
@@ -4001,6 +4005,15 @@
   {
     "descriptors": [
       {
+        "defaultMessage": "Close",
+        "id": "lightbox.close"
+      }
+    ],
+    "path": "app/javascript/mastodon/features/ui/components/image_modal.json"
+  },
+  {
+    "descriptors": [
+      {
         "defaultMessage": "Are you sure you want to log out?",
         "id": "confirmations.logout.message"
       },
diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json
index fe8871093..f6beca181 100644
--- a/app/javascript/mastodon/locales/el.json
+++ b/app/javascript/mastodon/locales/el.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Επικοινωνία:",
   "about.disclaimer": "Το Mastodon είναι ελεύθερο λογισμικό ανοιχτού κώδικα και εμπορικό σήμα της Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Τομέας (Domain)",
+  "about.domain_blocks.no_reason_available": "Αιτιολογία μη διαθέσιμη",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Σοβαρότητα",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Σώπασε @{name}",
   "account.mute_notifications": "Σώπασε τις ειδοποιήσεις από @{name}",
   "account.muted": "Αποσιωπημένος/η",
+  "account.open_original_page": "Open original page",
   "account.posts": "Τουτ",
   "account.posts_with_replies": "Τουτ και απαντήσεις",
   "account.report": "Κατάγγειλε @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "Σε διαφορετικό διακομιστή",
   "interaction_modal.on_this_server": "Σε αυτόν τον διακομιστή",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Αντιγράψτε και επικολλήστε αυτήν τη διεύθυνση URL στο πεδίο αναζήτησης της αγαπημένης σας εφαρμογής Mastodon ή στο web interface του διακομιστή σας Mastodon.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/en-GB.json b/app/javascript/mastodon/locales/en-GB.json
index 36af2ad49..b005f8090 100644
--- a/app/javascript/mastodon/locales/en-GB.json
+++ b/app/javascript/mastodon/locales/en-GB.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the Fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Mute @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
+  "account.open_original_page": "Open original page",
   "account.posts": "Posts",
   "account.posts_with_replies": "Posts and replies",
   "account.report": "Report @{name}",
@@ -66,7 +65,7 @@
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
   "account.unmute_short": "Unmute",
-  "account_note.placeholder": "Click to add a note",
+  "account_note.placeholder": "Click to add note",
   "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",
@@ -93,10 +92,10 @@
   "bundle_modal_error.close": "Close",
   "bundle_modal_error.message": "Something went wrong while loading this component.",
   "bundle_modal_error.retry": "Try again",
-  "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.",
+  "closed_registrations.other_server_instructions": "Since Mastodon is decentralised, you can create an account on another server and still interact with this one.",
   "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.",
   "closed_registrations_modal.find_another_server": "Find another server",
-  "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!",
+  "closed_registrations_modal.preamble": "Mastodon is decentralised, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!",
   "closed_registrations_modal.title": "Signing up on Mastodon",
   "column.about": "About",
   "column.blocks": "Blocked users",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json
index 7a24234ce..9dc00fbf1 100644
--- a/app/javascript/mastodon/locales/en.json
+++ b/app/javascript/mastodon/locales/en.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Mute @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
+  "account.open_original_page": "Open original page",
   "account.posts": "Posts",
   "account.posts_with_replies": "Posts and replies",
   "account.report": "Report @{name}",
diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json
index cec8eb73a..01a2821bc 100644
--- a/app/javascript/mastodon/locales/eo.json
+++ b/app/javascript/mastodon/locales/eo.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderigitaj serviloj",
   "about.contact": "Kontakto:",
   "about.disclaimer": "Mastodon estas libera, malfermitkoda programaro kaj varmarko de la firmao Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Kialo",
-  "about.domain_blocks.domain": "Domajno",
+  "about.domain_blocks.no_reason_available": "Kialo ne estas disponebla",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Graveco",
   "about.domain_blocks.silenced.explanation": "Vi ne ĝenerale vidos profilojn kaj enhavojn de ĉi tiu servilo, krom se vi eksplice trovas aŭ estas permesita de via sekvato.",
   "about.domain_blocks.silenced.title": "Limigita",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Silentigi @{name}",
   "account.mute_notifications": "Silentigi la sciigojn de @{name}",
   "account.muted": "Silentigita",
+  "account.open_original_page": "Open original page",
   "account.posts": "Mesaĝoj",
   "account.posts_with_replies": "Mesaĝoj kaj respondoj",
   "account.report": "Raporti @{name}",
@@ -151,8 +150,8 @@
   "confirmations.block.block_and_report": "Bloki kaj raporti",
   "confirmations.block.confirm": "Bloki",
   "confirmations.block.message": "Ĉu vi certas, ke vi volas bloki {name}?",
-  "confirmations.cancel_follow_request.confirm": "Withdraw request",
-  "confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?",
+  "confirmations.cancel_follow_request.confirm": "Eksigi peton",
+  "confirmations.cancel_follow_request.message": "Ĉu vi certas ke vi volas eksigi vian peton por sekvi {name}?",
   "confirmations.delete.confirm": "Forigi",
   "confirmations.delete.message": "Ĉu vi certas, ke vi volas forigi ĉi tiun mesaĝon?",
   "confirmations.delete_list.confirm": "Forigi",
@@ -183,7 +182,7 @@
   "directory.new_arrivals": "Novaj alvenoj",
   "directory.recently_active": "Lastatempe aktiva",
   "disabled_account_banner.account_settings": "Konto-agordoj",
-  "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
+  "disabled_account_banner.text": "Via konto {disabledAccount} estas nune malvalidigita.",
   "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.",
   "dismissable_banner.dismiss": "Eksigi",
   "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "En alia servilo",
   "interaction_modal.on_this_server": "En ĉi tiu servilo",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Aldoni afiŝon de {name} al la preferaĵoj",
   "interaction_modal.title.follow": "Sekvi {name}",
diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json
index 0717d45ab..deb539d0b 100644
--- a/app/javascript/mastodon/locales/es-AR.json
+++ b/app/javascript/mastodon/locales/es-AR.json
@@ -2,10 +2,8 @@
   "about.blocks": "Servidores moderados",
   "about.contact": "Contacto:",
   "about.disclaimer": "Mastodon es software libre y de código abierto y una marca comercial de Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Motivo",
-  "about.domain_blocks.domain": "Dominio",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon normalmente te permite ver el contenido e interactuar con los usuarios de cualquier otro servidor en el fediverso. Estas son las excepciones que se han hecho en este servidor en particular.",
-  "about.domain_blocks.severity": "Gravedad",
   "about.domain_blocks.silenced.explanation": "Normalmente no verás perfiles y contenido de este servidor, a menos que lo busqués explícitamente o sigás alguna cuenta.",
   "about.domain_blocks.silenced.title": "Limitados",
   "about.domain_blocks.suspended.explanation": "Ningún dato de este servidor será procesado, almacenado o intercambiado, haciendo imposible cualquier interacción o comunicación con los usuarios de este servidor.",
@@ -51,8 +49,9 @@
   "account.mute": "Silenciar a @{name}",
   "account.mute_notifications": "Silenciar notificaciones de @{name}",
   "account.muted": "Silenciado",
+  "account.open_original_page": "Open original page",
   "account.posts": "Mensajes",
-  "account.posts_with_replies": "Mensajes y respuestas públicas",
+  "account.posts_with_replies": "Mnsjs y resp. públicas",
   "account.report": "Denunciar a @{name}",
   "account.requested": "Esperando aprobación. Hacé clic para cancelar la solicitud de seguimiento",
   "account.share": "Compartir el perfil de @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Con una cuenta en Mastodon, podés responder a este mensaje.",
   "interaction_modal.on_another_server": "En un servidor diferente",
   "interaction_modal.on_this_server": "En este servidor",
-  "interaction_modal.other_server_instructions": "Simplemente copiá y pegá esta dirección web en la barra de búsqueda de tu aplicación favorita o en la interface web en donde hayás iniciado sesión.",
+  "interaction_modal.other_server_instructions": "Copia y pega esta URL en la barra de búsqueda de tu aplicación Mastodon favorita o la interfaz web de tu servidor Mastodon.",
   "interaction_modal.preamble": "Ya que Mastodon es descentralizado, podés usar tu cuenta existente alojada por otro servidor Mastodon (u otra plataforma compatible, si no tenés una cuenta en ésta).",
   "interaction_modal.title.favourite": "Marcar como favorito el mensaje de {name}",
   "interaction_modal.title.follow": "Seguir a {name}",
diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json
index a01bf0c04..ffa2c6185 100644
--- a/app/javascript/mastodon/locales/es-MX.json
+++ b/app/javascript/mastodon/locales/es-MX.json
@@ -2,10 +2,8 @@
   "about.blocks": "Servidores moderados",
   "about.contact": "Contacto:",
   "about.disclaimer": "Mastodon es software de código abierto, y una marca comercial de Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Razón",
-  "about.domain_blocks.domain": "Dominio",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon normalmente te permite ver el contenido e interactuar con los usuarios de cualquier otro servidor en el fediverso. Estas son las excepciones que se han hecho en este servidor en particular.",
-  "about.domain_blocks.severity": "Gravedad",
   "about.domain_blocks.silenced.explanation": "Normalmente no verás perfiles y contenido de este servidor, a menos que lo busques explícitamente o sigas alguna cuenta.",
   "about.domain_blocks.silenced.title": "Limitado",
   "about.domain_blocks.suspended.explanation": "Ningún dato de este servidor será procesado, almacenado o intercambiado, haciendo imposible cualquier interacción o comunicación con los usuarios de este servidor.",
@@ -39,7 +37,7 @@
   "account.following_counter": "{count, plural, other {{counter} Siguiendo}}",
   "account.follows.empty": "Este usuario todavía no sigue a nadie.",
   "account.follows_you": "Te sigue",
-  "account.go_to_profile": "Go to profile",
+  "account.go_to_profile": "Ir al perfil",
   "account.hide_reblogs": "Ocultar retoots de @{name}",
   "account.joined_short": "Se unió",
   "account.languages": "Cambiar idiomas suscritos",
@@ -51,6 +49,7 @@
   "account.mute": "Silenciar a @{name}",
   "account.mute_notifications": "Silenciar notificaciones de @{name}",
   "account.muted": "Silenciado",
+  "account.open_original_page": "Open original page",
   "account.posts": "Publicaciones",
   "account.posts_with_replies": "Publicaciones y respuestas",
   "account.report": "Reportar a @{name}",
@@ -182,8 +181,8 @@
   "directory.local": "Sólo de {domain}",
   "directory.new_arrivals": "Recién llegados",
   "directory.recently_active": "Recientemente activo",
-  "disabled_account_banner.account_settings": "Account settings",
-  "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
+  "disabled_account_banner.account_settings": "Ajustes de la cuenta",
+  "disabled_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada.",
   "dismissable_banner.community_timeline": "Estas son las publicaciones públicas más recientes de personas cuyas cuentas están alojadas en {domain}.",
   "dismissable_banner.dismiss": "Descartar",
   "dismissable_banner.explore_links": "Estas noticias están siendo discutidas por personas en este y otros servidores de la red descentralizada en este momento.",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Con una cuenta en Mastodon, puedes responder a esta publicación.",
   "interaction_modal.on_another_server": "En un servidor diferente",
   "interaction_modal.on_this_server": "En este servidor",
-  "interaction_modal.other_server_instructions": "Simplemente copia y pega esta URL en la barra de búsqueda de tu aplicación favorita o en la interfaz web donde hayas iniciado sesión.",
+  "interaction_modal.other_server_instructions": "Copia y pega esta URL en la barra de búsqueda de tu aplicación Mastodon favorita o la interfaz web de tu servidor Mastodon.",
   "interaction_modal.preamble": "Ya que Mastodon es descentralizado, puedes usar tu cuenta existente alojada en otro servidor Mastodon o plataforma compatible si no tienes una cuenta en este servidor.",
   "interaction_modal.title.favourite": "Marcar como favorita la publicación de {name}",
   "interaction_modal.title.follow": "Seguir a {name}",
@@ -361,7 +360,7 @@
   "media_gallery.toggle_visible": "Cambiar visibilidad",
   "missing_indicator.label": "No encontrado",
   "missing_indicator.sublabel": "No se encontró este recurso",
-  "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
+  "moved_to_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada porque te has mudado a {movedToAccount}.",
   "mute_modal.duration": "Duración",
   "mute_modal.hide_notifications": "Ocultar notificaciones de este usuario?",
   "mute_modal.indefinite": "Indefinida",
diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json
index 133ee0792..f93577b46 100644
--- a/app/javascript/mastodon/locales/es.json
+++ b/app/javascript/mastodon/locales/es.json
@@ -2,10 +2,8 @@
   "about.blocks": "Servidores moderados",
   "about.contact": "Contacto:",
   "about.disclaimer": "Mastodon es software de código abierto, y una marca comercial de Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Razón",
-  "about.domain_blocks.domain": "Dominio",
+  "about.domain_blocks.no_reason_available": "Razón no disponible",
   "about.domain_blocks.preamble": "Mastodon normalmente te permite ver el contenido e interactuar con los usuarios de cualquier otro servidor en el fediverso. Estas son las excepciones que se han hecho en este servidor en particular.",
-  "about.domain_blocks.severity": "Gravedad",
   "about.domain_blocks.silenced.explanation": "Normalmente no verás perfiles y contenido de este servidor, a menos que lo busques explícitamente o sigas alguna cuenta.",
   "about.domain_blocks.silenced.title": "Limitado",
   "about.domain_blocks.suspended.explanation": "Ningún dato de este servidor será procesado, almacenado o intercambiado, haciendo imposible cualquier interacción o comunicación con los usuarios de este servidor.",
@@ -51,6 +49,7 @@
   "account.mute": "Silenciar a @{name}",
   "account.mute_notifications": "Silenciar notificaciones de @{name}",
   "account.muted": "Silenciado",
+  "account.open_original_page": "Abrir página original",
   "account.posts": "Publicaciones",
   "account.posts_with_replies": "Publicaciones y respuestas",
   "account.report": "Reportar a @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Con una cuenta en Mastodon, puedes responder a esta publicación.",
   "interaction_modal.on_another_server": "En un servidor diferente",
   "interaction_modal.on_this_server": "En este servidor",
-  "interaction_modal.other_server_instructions": "Simplemente copia y pega esta URL en la barra de búsqueda de tu aplicación favorita o en la interfaz web donde hayas iniciado sesión.",
+  "interaction_modal.other_server_instructions": "Copia y pega esta URL en la barra de búsqueda de tu aplicación Mastodon favorita o la interfaz web de tu servidor Mastodon.",
   "interaction_modal.preamble": "Ya que Mastodon es descentralizado, puedes usar tu cuenta existente alojada en otro servidor Mastodon o plataforma compatible si no tienes una cuenta en este servidor.",
   "interaction_modal.title.favourite": "Marcar como favorita la publicación de {name}",
   "interaction_modal.title.follow": "Seguir a {name}",
diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json
index ab7d708bf..ff7dba9f7 100644
--- a/app/javascript/mastodon/locales/et.json
+++ b/app/javascript/mastodon/locales/et.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Vaigista @{name}",
   "account.mute_notifications": "Vaigista teated kasutajalt @{name}",
   "account.muted": "Vaigistatud",
+  "account.open_original_page": "Open original page",
   "account.posts": "Postitused",
   "account.posts_with_replies": "Postitused ja vastused",
   "account.report": "Raporteeri @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json
index c55de8b9a..e0d6e2931 100644
--- a/app/javascript/mastodon/locales/eu.json
+++ b/app/javascript/mastodon/locales/eu.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderatutako zerbitzariak",
   "about.contact": "Kontaktua:",
   "about.disclaimer": "Mastodon software libre eta kode irekikoa da, eta Mastodon gGmbH-ren marka erregistratua.",
-  "about.domain_blocks.comment": "Arrazoia",
-  "about.domain_blocks.domain": "Domeinua",
+  "about.domain_blocks.no_reason_available": "Arrazoia ez dago eskuragarri",
   "about.domain_blocks.preamble": "Mastodonek orokorrean aukera ematen dizu fedibertsoko beste zerbitzarietako erabiltzaileen edukia ikusi eta haiekin komunikatzeko. Zerbitzari zehatz honi ezarritako salbuespenak hauek dira.",
-  "about.domain_blocks.severity": "Larritasuna",
   "about.domain_blocks.silenced.explanation": "Orokorrean ez duzu zerbitzari honetako profil eta edukirik ikusiko. Profilak jarraitzen badituzu edo edukia esplizituki bilatzen baduzu bai.",
   "about.domain_blocks.silenced.title": "Mugatua",
   "about.domain_blocks.suspended.explanation": "Ez da zerbitzari honetako daturik prozesatuko, gordeko, edo partekatuko, zerbitzari honetako erabiltzaileekin komunikatzea ezinezkoa eginez.",
@@ -39,7 +37,7 @@
   "account.following_counter": "{count, plural, one {{counter} jarraitzen} other {{counter} jarraitzen}}",
   "account.follows.empty": "Erabiltzaile honek ez du inor jarraitzen oraindik.",
   "account.follows_you": "Jarraitzen dizu",
-  "account.go_to_profile": "Go to profile",
+  "account.go_to_profile": "Joan profilera",
   "account.hide_reblogs": "Ezkutatu @{name}(r)en bultzadak",
   "account.joined_short": "Elkartuta",
   "account.languages": "Aldatu harpidetutako hizkuntzak",
@@ -47,10 +45,11 @@
   "account.locked_info": "Kontu honen pribatutasun egoera blokeatuta gisa ezarri da. Jabeak eskuz erabakitzen du nork jarraitu diezaioken.",
   "account.media": "Multimedia",
   "account.mention": "Aipatu @{name}",
-  "account.moved_to": "{name} has indicated that their new account is now:",
+  "account.moved_to": "{name} erabiltzaileak adierazi du bere kontu berria hau dela:",
   "account.mute": "Mututu @{name}",
   "account.mute_notifications": "Mututu @{name}(r)en jakinarazpenak",
   "account.muted": "Mutututa",
+  "account.open_original_page": "Ireki jatorrizko orria",
   "account.posts": "Bidalketa",
   "account.posts_with_replies": "Bidalketak eta erantzunak",
   "account.report": "Salatu @{name}",
@@ -182,8 +181,8 @@
   "directory.local": "{domain} domeinukoak soilik",
   "directory.new_arrivals": "Iritsi berriak",
   "directory.recently_active": "Duela gutxi aktibo",
-  "disabled_account_banner.account_settings": "Account settings",
-  "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
+  "disabled_account_banner.account_settings": "Kontuaren ezarpenak",
+  "disabled_account_banner.text": "Zure {disabledAccount} kontua desgaituta dago une honetan.",
   "dismissable_banner.community_timeline": "Hauek dira {domain} zerbitzarian ostatatutako kontuen bidalketa publiko berrienak.",
   "dismissable_banner.dismiss": "Baztertu",
   "dismissable_banner.explore_links": "Albiste hauei buruz hitz egiten ari da jendea orain zerbitzari honetan eta sare deszentralizatuko besteetan.",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Mastodon kontu batekin bidalketa honi erantzun diezaiokezu.",
   "interaction_modal.on_another_server": "Beste zerbitzari batean",
   "interaction_modal.on_this_server": "Zerbitzari honetan",
-  "interaction_modal.other_server_instructions": "Kopiatu eta itsatsi URL hau zure aplikazio gogokoenaren bilaketa-barran edo saioa hasita daukazun web interfazean.",
+  "interaction_modal.other_server_instructions": "Kopiatu eta itsatsi URL hau zure Mastodon aplikazio gogokoenaren edo zure Mastodon zerbitzariaren web interfazeko bilaketa eremuan.",
   "interaction_modal.preamble": "Mastodon deszentralizatua denez, zerbitzari honetan konturik ez badaukazu, beste Mastodon zerbitzari batean edo bateragarria den plataforma batean ostatatutako kontua erabil dezakezu.",
   "interaction_modal.title.favourite": "Egin gogoko {name}(r)en bidalketa",
   "interaction_modal.title.follow": "Jarraitu {name}",
@@ -342,7 +341,7 @@
   "lightbox.next": "Hurrengoa",
   "lightbox.previous": "Aurrekoa",
   "limited_account_hint.action": "Erakutsi profila hala ere",
-  "limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.",
+  "limited_account_hint.title": "Profil hau ezkutatu egin dute {domain} zerbitzariko moderatzaileek.",
   "lists.account.add": "Gehitu zerrendara",
   "lists.account.remove": "Kendu zerrendatik",
   "lists.delete": "Ezabatu zerrenda",
@@ -361,7 +360,7 @@
   "media_gallery.toggle_visible": "Txandakatu ikusgaitasuna",
   "missing_indicator.label": "Ez aurkitua",
   "missing_indicator.sublabel": "Baliabide hau ezin izan da aurkitu",
-  "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
+  "moved_to_account_banner.text": "Zure {disabledAccount} kontua desgaituta dago une honetan, {movedToAccount} kontura aldatu zinelako.",
   "mute_modal.duration": "Iraupena",
   "mute_modal.hide_notifications": "Ezkutatu erabiltzaile honen jakinarazpenak?",
   "mute_modal.indefinite": "Zehaztu gabe",
diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json
index 18a8b4226..2c36c4efa 100644
--- a/app/javascript/mastodon/locales/fa.json
+++ b/app/javascript/mastodon/locales/fa.json
@@ -2,10 +2,8 @@
   "about.blocks": "کارسازهای نظارت شده",
   "about.contact": "تماس:",
   "about.disclaimer": "ماستودون نرم‌افزار آزاد، متن باز و یک شرکت غیر انتفاعی با مسئولیت محدود طبق قوانین آلمان است.",
-  "about.domain_blocks.comment": "دلیل",
-  "about.domain_blocks.domain": "دامنه",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "ماستودون عموماً می‌گذارد محتوا را از از هر کارساز دیگری در دنیای شبکه‌های اجتماعی غیرمتمرکز دیده و با آنان برهم‌کنش داشته باشید. این‌ها استثناهایی هستند که روی این کارساز خاص وضع شده‌اند.",
-  "about.domain_blocks.severity": "شدت",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "محدود",
   "about.domain_blocks.suspended.explanation": "هیچ داده‌ای از این کارساز پردازش، ذخیره یا مبادله نخواهد شد، که هرگونه برهم‌کنش یا ارتباط با کاربران این کارساز را غیرممکن خواهد کرد.",
@@ -51,6 +49,7 @@
   "account.mute": "خموشاندن ‎@{name}",
   "account.mute_notifications": "خموشاندن آگاهی‌های ‎@{name}",
   "account.muted": "خموش",
+  "account.open_original_page": "Open original page",
   "account.posts": "فرسته",
   "account.posts_with_replies": "فرسته‌ها و پاسخ‌ها",
   "account.report": "گزارش ‎@{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "روی کارسازی دیگر",
   "interaction_modal.on_this_server": "روی این کارساز",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "از آن‌جا که ماستودون نامتمرکز است، می‌توانید در صورت نداشتن حساب روی این کارساز، از حساب موجود خودتان که روی کارساز ماستودون یا بن‌سازهٔ سازگار دیگری میزبانی می‌شود استفاده کنید.",
   "interaction_modal.title.favourite": "فرسته‌های برگزیدهٔ {name}",
   "interaction_modal.title.follow": "پیگیری {name}",
diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json
index 7a03798c3..a982d5bfe 100644
--- a/app/javascript/mastodon/locales/fi.json
+++ b/app/javascript/mastodon/locales/fi.json
@@ -1,11 +1,9 @@
 {
   "about.blocks": "Moderoidut palvelimet",
   "about.contact": "Yhteystiedot:",
-  "about.disclaimer": "Mastodon on ilmainen avoimen lähdekoodin ohjelmisto ja Mastodon gGmbH:n tavaramerkki.",
-  "about.domain_blocks.comment": "Syy",
-  "about.domain_blocks.domain": "Verkkotunnus",
+  "about.disclaimer": "Mastodon on vapaa avoimen lähdekoodin ohjelmisto ja Mastodon gGmbH:n tavaramerkki.",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "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.",
-  "about.domain_blocks.severity": "Vakavuus",
   "about.domain_blocks.silenced.explanation": "Et yleensä näe profiileja ja sisältöä tältä palvelimelta, ellet nimenomaisesti etsi tai valitse sitä seuraamalla.",
   "about.domain_blocks.silenced.title": "Rajoitettu",
   "about.domain_blocks.suspended.explanation": "Tämän palvelimen tietoja ei käsitellä, tallenneta tai vaihdeta, mikä tekee käyttäjän kanssa vuorovaikutuksen tai yhteydenpidon mahdottomaksi tällä palvelimella.",
@@ -18,7 +16,7 @@
   "account.badges.bot": "Botti",
   "account.badges.group": "Ryhmä",
   "account.block": "Estä @{name}",
-  "account.block_domain": "Piilota kaikki sisältö verkkotunnuksesta {domain}",
+  "account.block_domain": "Estä verkkotunnus {domain}",
   "account.blocked": "Estetty",
   "account.browse_more_on_origin_server": "Selaile lisää alkuperäisellä palvelimella",
   "account.cancel_follow_request": "Peruuta seurantapyyntö",
@@ -51,6 +49,7 @@
   "account.mute": "Mykistä @{name}",
   "account.mute_notifications": "Mykistä ilmoitukset käyttäjältä @{name}",
   "account.muted": "Mykistetty",
+  "account.open_original_page": "Open original page",
   "account.posts": "Viestit",
   "account.posts_with_replies": "Viestit ja vastaukset",
   "account.report": "Raportoi @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Kun sinulla on tili Mastodonissa, voit vastata tähän viestiin.",
   "interaction_modal.on_another_server": "Toisella palvelimella",
   "interaction_modal.on_this_server": "Tällä palvelimella",
-  "interaction_modal.other_server_instructions": "Yksinkertaisesti kopioi ja liitä tämä URL-osoite suosikki sovelluksen tai web-käyttöliittymän hakupalkkiin, jossa olet kirjautunut sisään.",
+  "interaction_modal.other_server_instructions": "Kopioi ja liitä tämä URL-osoite käyttämäsi Mastodon-sovelluksen hakukenttään tai Mastodon-palvelimen web-käyttöliittymään.",
   "interaction_modal.preamble": "Koska Mastodon on hajautettu, voit käyttää toisen Mastodon-palvelimen tai yhteensopivan alustan ylläpitämää tiliäsi, jos sinulla ei ole tiliä tällä palvelimella.",
   "interaction_modal.title.favourite": "Suosikin {name} viesti",
   "interaction_modal.title.follow": "Seuraa {name}",
diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json
index 421041e6d..eeb5d9ee7 100644
--- a/app/javascript/mastodon/locales/fr.json
+++ b/app/javascript/mastodon/locales/fr.json
@@ -2,10 +2,8 @@
   "about.blocks": "Serveurs modérés",
   "about.contact": "Contact :",
   "about.disclaimer": "Mastodon est un logiciel libre, open-source et une marque déposée de Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Motif",
-  "about.domain_blocks.domain": "Domaine",
+  "about.domain_blocks.no_reason_available": "Raison non disponible",
   "about.domain_blocks.preamble": "Mastodon vous permet généralement de visualiser le contenu et d'interagir avec les utilisateurs de n'importe quel autre serveur dans le fédiverse. Voici les exceptions qui ont été faites sur ce serveur en particulier.",
-  "about.domain_blocks.severity": "Sévérité",
   "about.domain_blocks.silenced.explanation": "Vous ne verrez généralement pas les profils et le contenu de ce serveur, à moins que vous ne les recherchiez explicitement ou que vous ne choisissiez de les suivre.",
   "about.domain_blocks.silenced.title": "Limité",
   "about.domain_blocks.suspended.explanation": "Aucune donnée de ce serveur ne sera traitée, enregistrée ou échangée, rendant impossible toute interaction ou communication avec les utilisateurs de ce serveur.",
@@ -51,6 +49,7 @@
   "account.mute": "Masquer @{name}",
   "account.mute_notifications": "Masquer les notifications de @{name}",
   "account.muted": "Masqué·e",
+  "account.open_original_page": "Ouvrir la page d'origine",
   "account.posts": "Messages",
   "account.posts_with_replies": "Messages et réponses",
   "account.report": "Signaler @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Avec un compte sur Mastodon, vous pouvez répondre à ce message.",
   "interaction_modal.on_another_server": "Sur un autre serveur",
   "interaction_modal.on_this_server": "Sur ce serveur",
-  "interaction_modal.other_server_instructions": "Copiez et collez simplement cette URL dans la barre de recherche de votre application préférée ou dans l’interface web où vous êtes connecté.",
+  "interaction_modal.other_server_instructions": "Copiez et collez cette URL dans le champ de recherche de votre application Mastodon préférée ou l'interface web de votre serveur Mastodon.",
   "interaction_modal.preamble": "Puisque Mastodon est décentralisé, vous pouvez utiliser votre compte existant hébergé par un autre serveur Mastodon ou une plateforme compatible si vous n'avez pas de compte sur celui-ci.",
   "interaction_modal.title.favourite": "Ajouter de post de {name} aux favoris",
   "interaction_modal.title.follow": "Suivre {name}",
diff --git a/app/javascript/mastodon/locales/fy.json b/app/javascript/mastodon/locales/fy.json
index 0c45b6f42..5a194103f 100644
--- a/app/javascript/mastodon/locales/fy.json
+++ b/app/javascript/mastodon/locales/fy.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderearre servers",
   "about.contact": "Kontakt:",
   "about.disclaimer": "Mastodon is frije, iepenboarnesoftware en in hannelsmerk fan Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reden",
-  "about.domain_blocks.domain": "Domein",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Yn it algemien kinsto mei Mastodon berjochten ûntfange fan, en ynteraksje hawwe mei brûkers fan elke server yn de fediverse. Dit binne de útsûnderingen dy’t op dizze spesifike server jilde.",
-  "about.domain_blocks.severity": "Swierte",
   "about.domain_blocks.silenced.explanation": "Yn it algemien sjochsto gjin berjochten en accounts fan dizze server, útsein do berjochten eksplisyt opsikest of derfoar kiest om in account fan dizze server te folgjen.",
   "about.domain_blocks.silenced.title": "Beheind",
   "about.domain_blocks.suspended.explanation": "Der wurde gjin gegevens fan dizze server ferwurke, bewarre of útwiksele, wat ynteraksje of kommunikaasje mei brûkers fan dizze server ûnmooglik makket.",
@@ -51,6 +49,7 @@
   "account.mute": "@{name} negearje",
   "account.mute_notifications": "Meldingen fan @{name} negearje",
   "account.muted": "Negearre",
+  "account.open_original_page": "Open original page",
   "account.posts": "Berjochten",
   "account.posts_with_replies": "Berjochten en reaksjes",
   "account.report": "@{name} rapportearje",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "Op dizze server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "{name} folgje",
diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json
index dab592195..f22f7abbc 100644
--- a/app/javascript/mastodon/locales/ga.json
+++ b/app/javascript/mastodon/locales/ga.json
@@ -2,13 +2,11 @@
   "about.blocks": "Freastalaithe faoi stiúir",
   "about.contact": "Teagmháil:",
   "about.disclaimer": "Bogearra foinse oscailte saor in aisce is ea Mastodon, agus is le Mastodon gGmbH an trádmharc.",
-  "about.domain_blocks.comment": "Fáth",
-  "about.domain_blocks.domain": "Fearann",
+  "about.domain_blocks.no_reason_available": "Níl an fáth ar fáil",
   "about.domain_blocks.preamble": "Go hiondúil, tugann Mastadán cead duit a bheith ag plé le húsáideoirí as freastalaí ar bith eile sa chomhchruinne agus a gcuid inneachair a fheiceáil. Seo iad na heisceachtaí a rinneadh ar an bhfreastalaí áirithe seo.",
-  "about.domain_blocks.severity": "Déine",
   "about.domain_blocks.silenced.explanation": "Go hiondúil ní fheicfidh tú próifílí ná inneachar ón bhfreastalaí seo, ach amháin má bhíonn tú á lorg nó má ghlacann tú lena leanúint d'aon ghnó.",
   "about.domain_blocks.silenced.title": "Teoranta",
-  "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
+  "about.domain_blocks.suspended.explanation": "Ní dhéanfar aon sonra ón fhreastalaí seo a phróiseáil, a stóráil ná a mhalartú, rud a fhágann nach féidir aon teagmháil ná aon chumarsáid a dhéanamh le húsáideoirí ón fhreastalaí seo.",
   "about.domain_blocks.suspended.title": "Ar fionraí",
   "about.not_available": "Níor cuireadh an t-eolas seo ar fáil ar an bhfreastalaí seo.",
   "about.powered_by": "Meáin shóisialta díláraithe faoi chumhacht {mastodon}",
@@ -51,6 +49,7 @@
   "account.mute": "Balbhaigh @{name}",
   "account.mute_notifications": "Balbhaigh fógraí ó @{name}",
   "account.muted": "Balbhaithe",
+  "account.open_original_page": "Oscail an leathanach bunaidh",
   "account.posts": "Postálacha",
   "account.posts_with_replies": "Postálacha agus freagraí",
   "account.report": "Tuairiscigh @{name}",
@@ -178,7 +177,7 @@
   "conversation.with": "Le {names}",
   "copypaste.copied": "Cóipeáilte",
   "copypaste.copy": "Cóipeáil",
-  "directory.federated": "From known fediverse",
+  "directory.federated": "Ó chomhchruinne aitheanta",
   "directory.local": "Ó {domain} amháin",
   "directory.new_arrivals": "Daoine atá tar éis teacht",
   "directory.recently_active": "Daoine gníomhacha le déanaí",
@@ -243,17 +242,17 @@
   "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.",
   "filter_modal.added.context_mismatch_title": "Context mismatch!",
   "filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.",
-  "filter_modal.added.expired_title": "Expired filter!",
+  "filter_modal.added.expired_title": "Scagaire as feidhm!",
   "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.",
   "filter_modal.added.review_and_configure_title": "Socruithe scagtha",
   "filter_modal.added.settings_link": "leathan socruithe",
   "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.",
-  "filter_modal.added.title": "Filter added!",
-  "filter_modal.select_filter.context_mismatch": "does not apply to this context",
+  "filter_modal.added.title": "Scagaire curtha leis!",
+  "filter_modal.select_filter.context_mismatch": "ní bhaineann sé leis an gcomhthéacs seo",
   "filter_modal.select_filter.expired": "as feidhm",
   "filter_modal.select_filter.prompt_new": "Catagóir nua: {name}",
-  "filter_modal.select_filter.search": "Search or create",
-  "filter_modal.select_filter.subtitle": "Use an existing category or create a new one",
+  "filter_modal.select_filter.search": "Cuardaigh nó cruthaigh",
+  "filter_modal.select_filter.subtitle": "Bain úsáid as catagóir reatha nó cruthaigh ceann nua",
   "filter_modal.select_filter.title": "Déan scagadh ar an bpostáil seo",
   "filter_modal.title.status": "Déan scagadh ar phostáil",
   "follow_recommendations.done": "Déanta",
@@ -265,10 +264,10 @@
   "footer.about": "Maidir le",
   "footer.directory": "Eolaire próifílí",
   "footer.get_app": "Faigh an aip",
-  "footer.invite": "Invite people",
-  "footer.keyboard_shortcuts": "Keyboard shortcuts",
+  "footer.invite": "Tabhair cuireadh do dhaoine",
+  "footer.keyboard_shortcuts": "Aicearraí méarchláir",
   "footer.privacy_policy": "Polasaí príobháideachais",
-  "footer.source_code": "View source code",
+  "footer.source_code": "Féach ar an gcód foinseach",
   "generic.saved": "Sábháilte",
   "getting_started.heading": "Getting started",
   "hashtag.column_header.tag_mode.all": "agus {additional}",
@@ -293,12 +292,12 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "Ar freastalaí eile",
   "interaction_modal.on_this_server": "Ar an freastalaí seo",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Lean {name}",
-  "interaction_modal.title.reblog": "Boost {name}'s post",
-  "interaction_modal.title.reply": "Reply to {name}'s post",
+  "interaction_modal.title.reblog": "Cuir postáil {name} chun cinn",
+  "interaction_modal.title.reply": "Freagair postáil {name}",
   "intervals.full.days": "{number, plural, one {# day} other {# days}}",
   "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
   "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -309,7 +308,7 @@
   "keyboard_shortcuts.compose": "to focus the compose textarea",
   "keyboard_shortcuts.description": "Cuntas",
   "keyboard_shortcuts.direct": "to open direct messages column",
-  "keyboard_shortcuts.down": "to move down in the list",
+  "keyboard_shortcuts.down": "Bog síos ar an liosta",
   "keyboard_shortcuts.enter": "Oscail postáil",
   "keyboard_shortcuts.favourite": "Roghnaigh postáil",
   "keyboard_shortcuts.favourites": "Oscail liosta roghanna",
@@ -335,7 +334,7 @@
   "keyboard_shortcuts.toggle_sensitivity": "Taispeáin / cuir i bhfolach meáin",
   "keyboard_shortcuts.toot": "Cuir tús le postáil nua",
   "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
-  "keyboard_shortcuts.up": "to move up in the list",
+  "keyboard_shortcuts.up": "Bog suas ar an liosta",
   "lightbox.close": "Dún",
   "lightbox.compress": "Compress image view box",
   "lightbox.expand": "Expand image view box",
@@ -353,7 +352,7 @@
   "lists.replies_policy.followed": "Any followed user",
   "lists.replies_policy.list": "Baill an liosta",
   "lists.replies_policy.none": "Duine ar bith",
-  "lists.replies_policy.title": "Show replies to:",
+  "lists.replies_policy.title": "Taispeáin freagraí:",
   "lists.search": "Cuardaigh i measc daoine atá á leanúint agat",
   "lists.subheading": "Do liostaí",
   "load_pending": "{count, plural, one {# new item} other {# new items}}",
@@ -428,13 +427,13 @@
   "notifications.filter.mentions": "Tráchtanna",
   "notifications.filter.polls": "Torthaí suirbhéanna",
   "notifications.filter.statuses": "Updates from people you follow",
-  "notifications.grant_permission": "Grant permission.",
-  "notifications.group": "{count} notifications",
+  "notifications.grant_permission": "Tabhair cead.",
+  "notifications.group": "{count} fógraí",
   "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.enable": "Ceadaigh fógraí ar an deasc",
   "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": "Cuir é ar ais",
@@ -451,8 +450,8 @@
   "privacy.direct.long": "Visible for mentioned users only",
   "privacy.direct.short": "Direct",
   "privacy.private.long": "Sofheicthe do Leantóirí amháin",
-  "privacy.private.short": "Followers-only",
-  "privacy.public.long": "Visible for all",
+  "privacy.private.short": "Leantóirí amháin",
+  "privacy.public.long": "Infheicthe do chách",
   "privacy.public.short": "Poiblí",
   "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
   "privacy.unlisted.short": "Neamhliostaithe",
diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json
index 3492aa54a..06683f983 100644
--- a/app/javascript/mastodon/locales/gd.json
+++ b/app/javascript/mastodon/locales/gd.json
@@ -2,11 +2,9 @@
   "about.blocks": "Frithealaichean fo mhaorsainneachd",
   "about.contact": "Fios thugainn:",
   "about.disclaimer": "’S e bathar-bog saor le bun-tùs fosgailte a th’ ann am Mastodon agus ’na chomharra-mhalairt aig Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Adhbhar",
-  "about.domain_blocks.domain": "Àrainn",
+  "about.domain_blocks.no_reason_available": "Chan eil an t-adhbhar ga thoirt seachad",
   "about.domain_blocks.preamble": "San fharsaingeachd, leigidh Mastodon leat susbaint o fhrithealaiche sam bith sa cho-shaoghal a shealltainn agus eadar-ghìomh a ghabhail leis na cleachdaichean uapa-san. Seo na h-easgaidhean a tha an sàs air an fhrithealaiche shònraichte seo.",
-  "about.domain_blocks.severity": "Donad",
-  "about.domain_blocks.silenced.explanation": "Chan fharsaingeachd, chan fhaic thu pròifilean agus susbaint an fhrithealaiche seo ach ma nì thu lorg no ma tha thu ’ga leantainn.",
+  "about.domain_blocks.silenced.explanation": "San fharsaingeachd, chan fhaic thu pròifilean agus susbaint an fhrithealaiche seo ach ma nì thu lorg no ma tha thu ga leantainn.",
   "about.domain_blocks.silenced.title": "Cuingichte",
   "about.domain_blocks.suspended.explanation": "Cha dèid dàta sam bith on fhrithealaiche seo a phròiseasadh, a stòradh no iomlaid agus chan urrainn do na cleachdaichean on fhrithealaiche sin conaltradh no eadar-ghnìomh a ghabhail an-seo.",
   "about.domain_blocks.suspended.title": "’Na dhàil",
@@ -38,7 +36,7 @@
   "account.following": "A’ leantainn",
   "account.following_counter": "{count, plural, one {A’ leantainn {counter}} two {A’ leantainn {counter}} few {A’ leantainn {counter}} other {A’ leantainn {counter}}}",
   "account.follows.empty": "Chan eil an cleachdaiche seo a’ leantainn neach sam bith fhathast.",
-  "account.follows_you": "’Gad leantainn",
+  "account.follows_you": "Gad leantainn",
   "account.go_to_profile": "Tadhail air a’ phròifil",
   "account.hide_reblogs": "Falaich na brosnachaidhean o @{name}",
   "account.joined_short": "Air ballrachd fhaighinn",
@@ -51,6 +49,7 @@
   "account.mute": "Mùch @{name}",
   "account.mute_notifications": "Mùch na brathan o @{name}",
   "account.muted": "’Ga mhùchadh",
+  "account.open_original_page": "Fosgail an duilleag thùsail",
   "account.posts": "Postaichean",
   "account.posts_with_replies": "Postaichean ’s freagairtean",
   "account.report": "Dèan gearan mu @{name}",
@@ -152,7 +151,7 @@
   "confirmations.block.confirm": "Bac",
   "confirmations.block.message": "A bheil thu cinnteach gu bheil thu airson {name} a bhacadh?",
   "confirmations.cancel_follow_request.confirm": "Cuir d’ iarrtas dhan dàrna taobh",
-  "confirmations.cancel_follow_request.message": "A bheil thu cinnteach gu bheil thu airson d’ iarrtas leantainn {name} a chur dhan dàrna taobh?",
+  "confirmations.cancel_follow_request.message": "A bheil thu cinnteach gu bheil thu airson d’ iarrtas airson {name} a leantainn a chur dhan dàrna taobh?",
   "confirmations.delete.confirm": "Sguab às",
   "confirmations.delete.message": "A bheil thu cinnteach gu bheil thu airson am post seo a sguabadh às?",
   "confirmations.delete_list.confirm": "Sguab às",
@@ -219,7 +218,7 @@
   "empty_column.favourited_statuses": "Chan eil annsachd air post agad fhathast. Nuair a nì thu annsachd de dh’fhear, nochdaidh e an-seo.",
   "empty_column.favourites": "Chan eil am post seo ’na annsachd aig duine sam bith fhathast. Nuair a nì daoine annsachd dheth, nochdaidh iad an-seo.",
   "empty_column.follow_recommendations": "Chan urrainn dhuinn dad a mholadh dhut. Cleachd gleus an luirg feuch an lorg thu daoine air a bheil thu eòlach no rùraich na tagaichean-hais a tha a’ treandadh.",
-  "empty_column.follow_requests": "Chan eil iarrtas air leantainn agad fhathast. Nuair gheibh thu fear, nochdaidh e an-seo.",
+  "empty_column.follow_requests": "Chan eil iarrtas leantainn agad fhathast. Nuair a gheibh thu fear, nochdaidh e an-seo.",
   "empty_column.hashtag": "Chan eil dad san taga hais seo fhathast.",
   "empty_column.home": "Tha loidhne-ama na dachaigh agad falamh! Lean barrachd dhaoine gus a lìonadh. {suggestions}",
   "empty_column.home.suggestions": "Faic moladh no dhà",
@@ -257,7 +256,7 @@
   "filter_modal.select_filter.title": "Criathraich am post seo",
   "filter_modal.title.status": "Criathraich post",
   "follow_recommendations.done": "Deiseil",
-  "follow_recommendations.heading": "Lean daoine ma tha thu airson nam postaichean aca fhaicinn! Seo moladh no dà dhut.",
+  "follow_recommendations.heading": "Lean daoine ma tha thu airson na postaichean aca fhaicinn! Seo moladh no dà dhut.",
   "follow_recommendations.lead": "Nochdaidh na postaichean aig na daoine a leanas tu a-rèir an ama nad dhachaigh. Bi dàna on as urrainn dhut sgur de dhaoine a leantainn cuideachd uair sam bith!",
   "follow_request.authorize": "Ùghdarraich",
   "follow_request.reject": "Diùlt",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Le cunntas air Mastodon, ’s urrainn dhut freagairt a chur dhan phost seo.",
   "interaction_modal.on_another_server": "Air frithealaiche eile",
   "interaction_modal.on_this_server": "Air an frithealaiche seo",
-  "interaction_modal.other_server_instructions": "Dèan lethbhreac dhen URL seo is cuir ann am bàr nan lorg e san aplacaid as fheàrr leat no san eadar-aghaidh-lìn far a bheil thu air do chlàradh a-steach.",
+  "interaction_modal.other_server_instructions": "Dèan lethbhreac agus cuir an URL seo san raon luirg aig an aplacaid Mastodon as fheàrr leat no ann an eadar-aghaidh an fhrithealaiche Mastodon agad.",
   "interaction_modal.preamble": "Air sgàth ’s gu bheil Mastodon sgaoilte, ’s urrainn dhut cunntas a chleachdadh a tha ’ga òstadh le frithealaiche Mastodon no le ùrlar co-chòrdail eile mur eil cunntas agad air an fhear seo.",
   "interaction_modal.title.favourite": "Cuir am post aig {name} ris na h-annsachdan",
   "interaction_modal.title.follow": "Lean {name}",
diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json
index 6a9260064..3410a8b7d 100644
--- a/app/javascript/mastodon/locales/gl.json
+++ b/app/javascript/mastodon/locales/gl.json
@@ -2,10 +2,8 @@
   "about.blocks": "Servidores moderados",
   "about.contact": "Contacto:",
   "about.disclaimer": "Mastodon é software libre, de código aberto, e unha marca comercial de Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Razón",
-  "about.domain_blocks.domain": "Dominio",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon de xeito xeral permíteche ver contidos doutros servidores do fediverso e interactuar coas súas usuarias. Estas son as excepcións que se estabeleceron neste servidor en particular.",
-  "about.domain_blocks.severity": "Rigurosidade",
   "about.domain_blocks.silenced.explanation": "Por defecto non verás perfís e contido desde este servidor, a menos que mires de xeito explícito ou optes por seguir ese contido ou usuaria.",
   "about.domain_blocks.silenced.title": "Limitado",
   "about.domain_blocks.suspended.explanation": "Non se procesarán, almacenarán nin intercambiarán datos con este servidor, o que fai imposible calquera interacción ou comunicación coas usuarias deste servidor.",
@@ -51,6 +49,7 @@
   "account.mute": "Acalar @{name}",
   "account.mute_notifications": "Acalar as notificacións de @{name}",
   "account.muted": "Acalada",
+  "account.open_original_page": "Open original page",
   "account.posts": "Publicacións",
   "account.posts_with_replies": "Publicacións e respostas",
   "account.report": "Informar sobre @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Cunha conta en Mastodon, poderás responder a esta publicación.",
   "interaction_modal.on_another_server": "Nun servidor diferente",
   "interaction_modal.on_this_server": "Neste servidor",
-  "interaction_modal.other_server_instructions": "Só tes que copiar e pegar este URL na barra de procuras da túa aplicación favorita, ou da interface web na que teñas unha sesión iniciada.",
+  "interaction_modal.other_server_instructions": "Copia e pega este URL no campo de busca da túa app Mastodon favorita ou na interface web do teu servidor Mastodon.",
   "interaction_modal.preamble": "Como Mastodon é descentralizado, é posible usar unha conta existente noutro servidor Mastodon, ou nunha plataforma compatible, se non dispós dunha conta neste servidor.",
   "interaction_modal.title.favourite": "Marcar coma favorito a publicación de {name}",
   "interaction_modal.title.follow": "Seguir a {name}",
diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json
index 644574f38..f11b063b8 100644
--- a/app/javascript/mastodon/locales/he.json
+++ b/app/javascript/mastodon/locales/he.json
@@ -2,10 +2,8 @@
   "about.blocks": "שרתים מוגבלים",
   "about.contact": "יצירת קשר:",
   "about.disclaimer": "מסטודון היא תוכנת קוד פתוח חינמית וסימן מסחרי של Mastodon gGmbH.",
-  "about.domain_blocks.comment": "סיבה",
-  "about.domain_blocks.domain": "שם מתחם",
+  "about.domain_blocks.no_reason_available": "הסיבה אינה זמינה",
   "about.domain_blocks.preamble": "ככלל מסטודון מאפשרת לך לצפות בתוכן ולתקשר עם משתמשים מכל שרת בפדיברס. אלו הם היוצאים מן הכלל שהוגדרו עבור השרת המסוים הזה.",
-  "about.domain_blocks.severity": "חומרה",
   "about.domain_blocks.silenced.explanation": "ככלל פרופילים ותוכן משרת זה לא יוצגו, אלא אם חיפשת אותם באופן מפורש או בחרת להשתתף בו על ידי מעקב.",
   "about.domain_blocks.silenced.title": "מוגבלים",
   "about.domain_blocks.suspended.explanation": "שום מידע משרת זה לא יעובד, יישמר או יוחלף, מה שהופך כל תקשורת עם משתמשים משרת זה לבלתי אפשרית.",
@@ -51,6 +49,7 @@
   "account.mute": "להשתיק את @{name}",
   "account.mute_notifications": "להסתיר התראות מ @{name}",
   "account.muted": "מושתק",
+  "account.open_original_page": "לפתיחת העמוד המקורי",
   "account.posts": "פוסטים",
   "account.posts_with_replies": "הודעות ותגובות",
   "account.report": "דווח על @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "עם חשבון מסטודון, ניתן לענות להודעה.",
   "interaction_modal.on_another_server": "על שרת אחר",
   "interaction_modal.on_this_server": "על שרת זה",
-  "interaction_modal.other_server_instructions": "פשוט להעתיק ולהדביק את ה־URL לחלונית החיפוש ביישום או הדפדפן ממנו התחברת.",
+  "interaction_modal.other_server_instructions": "ניתן להעתיק ולהדביק קישור זה לתוך שדה החיפוש באפליקציית מסטודון שבשימוש אצלך או בממשק הדפדפן של שרת המסטודון.",
   "interaction_modal.preamble": "כיוון שמסטודון מבוזרת, תוכל/י להשתמש בחשבון שלך משרתי מסטודון או רשתות תואמות אחרות אם אין לך חשבון על שרת זה.",
   "interaction_modal.title.favourite": "חיבוב ההודעה של {name}",
   "interaction_modal.title.follow": "לעקוב אחרי {name}",
diff --git a/app/javascript/mastodon/locales/hi.json b/app/javascript/mastodon/locales/hi.json
index 992205a7e..6879f7a0c 100644
--- a/app/javascript/mastodon/locales/hi.json
+++ b/app/javascript/mastodon/locales/hi.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "म्यूट @{name}",
   "account.mute_notifications": "@{name} के नोटिफिकेशन म्यूट करे",
   "account.muted": "म्यूट है",
+  "account.open_original_page": "Open original page",
   "account.posts": "टूट्स",
   "account.posts_with_replies": "टूट्स एवं जवाब",
   "account.report": "रिपोर्ट @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json
index f04760ed1..83fe0b368 100644
--- a/app/javascript/mastodon/locales/hr.json
+++ b/app/javascript/mastodon/locales/hr.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Utišaj @{name}",
   "account.mute_notifications": "Utišaj obavijesti od @{name}",
   "account.muted": "Utišano",
+  "account.open_original_page": "Open original page",
   "account.posts": "Tootovi",
   "account.posts_with_replies": "Tootovi i odgovori",
   "account.report": "Prijavi @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json
index 85202e1d5..452cc2cdb 100644
--- a/app/javascript/mastodon/locales/hu.json
+++ b/app/javascript/mastodon/locales/hu.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderált kiszolgálók",
   "about.contact": "Kapcsolat:",
   "about.disclaimer": "A Mastodon ingyenes, nyílt forráskódú szoftver, a Mastodon gGmbH védejegye.",
-  "about.domain_blocks.comment": "Indoklás",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Az ok nem érhető el",
   "about.domain_blocks.preamble": "A Mastodon általában mindenféle tartalomcserét és interakciót lehetővé tesz bármelyik másik kiszolgálóval a födiverzumban. Ezek azok a kivételek, amelyek a mi kiszolgálónkon érvényben vannak.",
-  "about.domain_blocks.severity": "Súlyosság",
   "about.domain_blocks.silenced.explanation": "Általában nem fogsz profilokat és tartalmat látni erről a kiszolgálóról, hacsak közvetlenül fel nem keresed vagy követed.",
   "about.domain_blocks.silenced.title": "Korlátozott",
   "about.domain_blocks.suspended.explanation": "A kiszolgáló adatai nem lesznek feldolgozva, tárolva vagy megosztva, lehetetlenné téve mindennemű interakciót és kommunikációt a kiszolgáló felhasználóival.",
@@ -51,6 +49,7 @@
   "account.mute": "@{name} némítása",
   "account.mute_notifications": "@{name} értesítéseinek némítása",
   "account.muted": "Némítva",
+  "account.open_original_page": "Eredeti oldal megnyitása",
   "account.posts": "Bejegyzések",
   "account.posts_with_replies": "Bejegyzések és válaszok",
   "account.report": "@{name} jelentése",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Egy Mastodon fiókkal válaszolhatsz erre a bejegyzésre.",
   "interaction_modal.on_another_server": "Másik kiszolgálón",
   "interaction_modal.on_this_server": "Ezen a kiszolgálón",
-  "interaction_modal.other_server_instructions": "Csak másold be ezt az URL-t a kedvenc appod keresőjébe, vagy arra a webes felületre, ahol be vagy jelentkezve.",
+  "interaction_modal.other_server_instructions": "Másold és illeszd be ezt a webcímet a kedvenc Mastodon alkalmazásod vagy a Mastodon-kiszolgálód webes felületének keresőmezőjébe.",
   "interaction_modal.preamble": "Mivel a Mastodon decentralizált, használhatod egy másik Mastodon kiszolgálón, vagy kompatibilis szolgáltatáson lévő fiókodat, ha ezen a kiszolgálón nincs fiókod.",
   "interaction_modal.title.favourite": "{name} bejegyzésének megjelölése kedvencként",
   "interaction_modal.title.follow": "{name} követése",
diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json
index 8af39e2c6..5643e2ea9 100644
--- a/app/javascript/mastodon/locales/hy.json
+++ b/app/javascript/mastodon/locales/hy.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Լռեցնել @{name}֊ին",
   "account.mute_notifications": "Անջատել ծանուցումները @{name}֊ից",
   "account.muted": "Լռեցուած",
+  "account.open_original_page": "Open original page",
   "account.posts": "Գրառումներ",
   "account.posts_with_replies": "Գրառումներ եւ պատասխաններ",
   "account.report": "Բողոքել @{name}֊ի մասին",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json
index 13ecae298..1c35ab602 100644
--- a/app/javascript/mastodon/locales/id.json
+++ b/app/javascript/mastodon/locales/id.json
@@ -1,11 +1,9 @@
 {
-  "about.blocks": "Server yang dimoderasi",
+  "about.blocks": "Movies",
   "about.contact": "Hubungi:",
   "about.disclaimer": "Mastodon addalah perangkat lunak bebas dan sumber terbuka, dan adalah merek dagang dari Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Alasan",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Alasan tidak tersedia",
   "about.domain_blocks.preamble": "Mastodon umumnya mengizinkan Anda untuk melihat konten dan berinteraksi dengan pengguna dari server lain di fediverse. Ini adalah pengecualian yang dibuat untuk beberapa server.",
-  "about.domain_blocks.severity": "Keparahan",
   "about.domain_blocks.silenced.explanation": "Anda secara umum tidak melihat profil dan konten dari server ini, kecuali jika Anda mencarinya atau memilihnya dengan mengikuti secara eksplisit.",
   "about.domain_blocks.silenced.title": "Terbatas",
   "about.domain_blocks.suspended.explanation": "Tidak ada data yang diproses, disimpan, atau ditukarkan dari server ini, membuat interaksi atau komunikasi dengan pengguna dari server ini tidak mungkin dilakukan.",
@@ -47,10 +45,11 @@
   "account.locked_info": "Status privasi akun ini disetel untuk dikunci. Pemilik secara manual meninjau siapa yang dapat mengikutinya.",
   "account.media": "Media",
   "account.mention": "Balasan @{name}",
-  "account.moved_to": "{name} has indicated that their new account is now:",
+  "account.moved_to": "{name} mengabarkan bahwa akun baru mereka kini adalah:",
   "account.mute": "Bisukan @{name}",
   "account.mute_notifications": "Bisukan pemberitahuan dari @{name}",
   "account.muted": "Dibisukan",
+  "account.open_original_page": "Buka halaman asli",
   "account.posts": "Kiriman",
   "account.posts_with_replies": "Kiriman dan balasan",
   "account.report": "Laporkan @{name}",
@@ -182,8 +181,8 @@
   "directory.local": "Dari {domain} saja",
   "directory.new_arrivals": "Yang baru datang",
   "directory.recently_active": "Baru-baru ini aktif",
-  "disabled_account_banner.account_settings": "Account settings",
-  "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
+  "disabled_account_banner.account_settings": "Pengaturan akun",
+  "disabled_account_banner.text": "Akun {disabledAccount} Anda kini dinonaktifkan.",
   "dismissable_banner.community_timeline": "Ini adalah kiriman publik terkini dari orang yang akunnya berada di {domain}.",
   "dismissable_banner.dismiss": "Abaikan",
   "dismissable_banner.explore_links": "Cerita berita ini sekarang sedang dibicarakan oleh orang di server ini dan lainnya dalam jaringan terdesentralisasi.",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Dengan sebuah akun di Mastodon, Anda bisa menanggapi kiriman ini.",
   "interaction_modal.on_another_server": "Di server lain",
   "interaction_modal.on_this_server": "Di server ini",
-  "interaction_modal.other_server_instructions": "Tinggal salin dan tempelkan URL ini ke bilah pencarian di aplikasi favorit Anda atau antarmuka web di mana Anda masuk.",
+  "interaction_modal.other_server_instructions": "Salin dan tempel URL ini ke bidang telusur aplikasi Mastodon favorit Anda atau antarmuka web server Mastodon Anda.",
   "interaction_modal.preamble": "Karena Mastodon itu terdesentralisasi, Anda dapat menggunakan akun Anda yang sudah ada yang berada di server Mastodon lain atau platform yang kompatibel jika Anda tidak memiliki sebuah akun di sini.",
   "interaction_modal.title.favourite": "Favoritkan kiriman {name}",
   "interaction_modal.title.follow": "Ikuti {name}",
@@ -361,7 +360,7 @@
   "media_gallery.toggle_visible": "Tampil/Sembunyikan",
   "missing_indicator.label": "Tidak ditemukan",
   "missing_indicator.sublabel": "Sumber daya tak bisa ditemukan",
-  "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
+  "moved_to_account_banner.text": "Akun {disabledAccount} Anda kini dinonaktifkan karena Anda pindah ke {movedToAccount}.",
   "mute_modal.duration": "Durasi",
   "mute_modal.hide_notifications": "Sembunyikan notifikasi dari pengguna ini?",
   "mute_modal.indefinite": "Tak terbatas",
diff --git a/app/javascript/mastodon/locales/ig.json b/app/javascript/mastodon/locales/ig.json
index bee531e4f..67f9c0c0a 100644
--- a/app/javascript/mastodon/locales/ig.json
+++ b/app/javascript/mastodon/locales/ig.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Mee ogbi @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
+  "account.open_original_page": "Open original page",
   "account.posts": "Posts",
   "account.posts_with_replies": "Posts and replies",
   "account.report": "Report @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json
index 4489053e6..6a294928d 100644
--- a/app/javascript/mastodon/locales/io.json
+++ b/app/javascript/mastodon/locales/io.json
@@ -2,10 +2,8 @@
   "about.blocks": "Jerata servili",
   "about.contact": "Kontaktajo:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Motivo",
-  "about.domain_blocks.domain": "Domeno",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generale permisas on vidar kontenajo e interagar kun uzanti de irga altra servilo en fediverso. Existas eceptioni quo facesis che ca partikulara servilo.",
-  "about.domain_blocks.severity": "Severeso",
   "about.domain_blocks.silenced.explanation": "On generale ne vidar profili e kontenajo de ca servilo, se on ne reale trovar o voluntale juntar per sequar.",
   "about.domain_blocks.silenced.title": "Limitizita",
   "about.domain_blocks.suspended.explanation": "Nula informi de ca servili procedagesos o retenesos o interchanjesos, do irga interago o komuniko kun uzanti de ca servili esas neposibla.",
@@ -51,6 +49,7 @@
   "account.mute": "Celar @{name}",
   "account.mute_notifications": "Silencigez avizi de @{name}",
   "account.muted": "Silencigata",
+  "account.open_original_page": "Open original page",
   "account.posts": "Mesaji",
   "account.posts_with_replies": "Posti e respondi",
   "account.report": "Denuncar @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Per konto che Mastodon, vu povas respondar ca posto.",
   "interaction_modal.on_another_server": "Che diferanta servilo",
   "interaction_modal.on_this_server": "Che ca servilo",
-  "interaction_modal.other_server_instructions": "Jus kopiez e glutinar ca URL a trovbuxo di vua favorata softwaro o retintervizajo en vua ekirsituo.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Pro ke Mastodon esas necentraligita, on povas uzar vua havata konto quo hostigesas altra servilo di Mastodon o konciliebla metodo se on ne havas konto hike.",
   "interaction_modal.title.favourite": "Favorata posto di {name}",
   "interaction_modal.title.follow": "Sequez {name}",
diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json
index a2062244b..4af4edb16 100644
--- a/app/javascript/mastodon/locales/is.json
+++ b/app/javascript/mastodon/locales/is.json
@@ -2,10 +2,8 @@
   "about.blocks": "Netþjónar með efnisumsjón",
   "about.contact": "Hafa samband:",
   "about.disclaimer": "Mastodon er frjáls hugbúnaður með opinn grunnkóða og er skrásett vörumerki í eigu Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Ástæða",
-  "about.domain_blocks.domain": "Lén",
+  "about.domain_blocks.no_reason_available": "Ástæða ekki tiltæk",
   "about.domain_blocks.preamble": "Mastodon leyfir þér almennt að skoða og eiga við efni frá notendum frá hvaða vefþjóni sem er í vefþjónasambandinu. Þetta eru þær undantekningar sem hafa verið gerðar á þessum tiltekna vefþjóni.",
-  "about.domain_blocks.severity": "Mikilvægi",
   "about.domain_blocks.silenced.explanation": "Þú munt almennt ekki sjá notandasnið og efni af þessum netþjóni nema þú flettir því upp sérstaklega eða veljir að fylgjast með því.",
   "about.domain_blocks.silenced.title": "Takmarkað",
   "about.domain_blocks.suspended.explanation": "Engin gögn frá þessum vefþjóni verða unnin, geymd eða skipst á, sem gerir samskipti við notendur frá þessum vefþjóni ómöguleg.",
@@ -51,6 +49,7 @@
   "account.mute": "Þagga niður í @{name}",
   "account.mute_notifications": "Þagga tilkynningar frá @{name}",
   "account.muted": "Þaggaður",
+  "account.open_original_page": "Opna upprunalega síðu",
   "account.posts": "Færslur",
   "account.posts_with_replies": "Færslur og svör",
   "account.report": "Kæra @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Með notandaaðgangi á Mastodon geturðu svarað þessari færslu.",
   "interaction_modal.on_another_server": "Á öðrum netþjóni",
   "interaction_modal.on_this_server": "Á þessum netþjóni",
-  "interaction_modal.other_server_instructions": "Þú einfaldlega afritar þessa slóð og límir hana inn í veffanga-/leitarstiku eftirlætisforritsins þíns eða í vefviðmótið þar sem þú ert skráð/ur inn.",
+  "interaction_modal.other_server_instructions": "Afritaðu og límdu þessa slóð inn í leitarreit Mastodon-forrits þess sem þú vilt nota eða í vefviðmóti Mastodon-netþjónsins þíns.",
   "interaction_modal.preamble": "Þar sem Mastodon er dreifhýst kerfi, þá geturðu notað aðgang sem er hýstur á öðrum Mastodon-þjóni eða öðru samhæfðu kerfi, ef þú ert ekki með notandaaðgang á þessum hér.",
   "interaction_modal.title.favourite": "Setja færsluna frá {name} í eftirlæti",
   "interaction_modal.title.follow": "Fylgjast með {name}",
diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json
index 67bbbfbe7..eea0939cd 100644
--- a/app/javascript/mastodon/locales/it.json
+++ b/app/javascript/mastodon/locales/it.json
@@ -2,10 +2,8 @@
   "about.blocks": "Server moderati",
   "about.contact": "Contatto:",
   "about.disclaimer": "Mastodon è un software open source, gratuito e un marchio di Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Motivo",
-  "about.domain_blocks.domain": "Dominio",
+  "about.domain_blocks.no_reason_available": "Motivo non disponibile",
   "about.domain_blocks.preamble": "Mastodon, generalmente, ti consente di visualizzare i contenuti e interagire con gli utenti da qualsiasi altro server nel fediverso. Queste sono le eccezioni che sono state fatte su questo particolare server.",
-  "about.domain_blocks.severity": "Gravità",
   "about.domain_blocks.silenced.explanation": "Generalmente non vedrai i profili e i contenuti di questo server, a meno che tu non lo cerchi esplicitamente o che tu scelga di seguirlo.",
   "about.domain_blocks.silenced.title": "Silenziato",
   "about.domain_blocks.suspended.explanation": "Nessun dato proveniente da questo server verrà elaborato, conservato o scambiato, rendendo impossibile qualsiasi interazione o comunicazione con gli utenti da questo server.",
@@ -51,6 +49,7 @@
   "account.mute": "Silenzia @{name}",
   "account.mute_notifications": "Silenzia notifiche da @{name}",
   "account.muted": "Silenziato",
+  "account.open_original_page": "Apri pagina originale",
   "account.posts": "Post",
   "account.posts_with_replies": "Post e risposte",
   "account.report": "Segnala @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Con un account su Mastodon, è possibile rispondere a questo post.",
   "interaction_modal.on_another_server": "Su un altro server",
   "interaction_modal.on_this_server": "Su questo server",
-  "interaction_modal.other_server_instructions": "Basta copiare e incollare questo URL nella barra di ricerca della tua app preferita o nell'interfaccia web in cui hai effettuato l'accesso.",
+  "interaction_modal.other_server_instructions": "Copia e incolla questo URL nel campo di ricerca della tua app Mastodon preferita o nell'interfaccia web del tuo server Mastodon.",
   "interaction_modal.preamble": "Poiché Mastodon è decentralizzato, è possibile utilizzare il proprio account esistente ospitato da un altro server Mastodon o piattaforma compatibile se non si dispone di un account su questo.",
   "interaction_modal.title.favourite": "Post preferito di {name}",
   "interaction_modal.title.follow": "Segui {name}",
diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json
index c904e505c..28f5a7e79 100644
--- a/app/javascript/mastodon/locales/ja.json
+++ b/app/javascript/mastodon/locales/ja.json
@@ -2,10 +2,8 @@
   "about.blocks": "制限中のサーバー",
   "about.contact": "連絡先",
   "about.disclaimer": "Mastodonは自由なオープンソースソフトウェアでMastodon gGmbHの商標です。",
-  "about.domain_blocks.comment": "制限理由",
-  "about.domain_blocks.domain": "ドメイン",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodonでは連合先のどのようなサーバーのユーザーとも交流できます。ただし次のサーバーには例外が設定されています。",
-  "about.domain_blocks.severity": "重大性",
   "about.domain_blocks.silenced.explanation": "このサーバーのプロフィールやコンテンツは、明示的に検索したり、フォローでオプトインしない限り、通常は表示されません。",
   "about.domain_blocks.silenced.title": "制限",
   "about.domain_blocks.suspended.explanation": "これらのサーバーからのデータは処理されず、保存や変換もされません。該当するユーザーとの交流もできません。",
@@ -51,6 +49,7 @@
   "account.mute": "@{name}さんをミュート",
   "account.mute_notifications": "@{name}さんからの通知を受け取らない",
   "account.muted": "ミュート済み",
+  "account.open_original_page": "Open original page",
   "account.posts": "投稿",
   "account.posts_with_replies": "投稿と返信",
   "account.report": "@{name}さんを通報",
@@ -297,7 +296,7 @@
   "interaction_modal.description.reply": "Mastodonのアカウントでこの投稿に反応できます。",
   "interaction_modal.on_another_server": "別のサーバー",
   "interaction_modal.on_this_server": "このサーバー",
-  "interaction_modal.other_server_instructions": "このURLをコピーしてお気に入りのアプリの検索バーやログインしているWeb UIに貼り付けるだけです。",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Mastodonは分散化されているためアカウントを持っていなくても別のMastodonサーバーまたは互換性のあるプラットフォームでホストされているアカウントを使用できます。",
   "interaction_modal.title.favourite": "{name}さんの投稿をお気に入り",
   "interaction_modal.title.follow": "{name}さんをフォロー",
diff --git a/app/javascript/mastodon/locales/ka.json b/app/javascript/mastodon/locales/ka.json
index d37107763..39e84e004 100644
--- a/app/javascript/mastodon/locales/ka.json
+++ b/app/javascript/mastodon/locales/ka.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "გააჩუმე @{name}",
   "account.mute_notifications": "გააჩუმე შეტყობინებები @{name}-სგან",
   "account.muted": "გაჩუმებული",
+  "account.open_original_page": "Open original page",
   "account.posts": "ტუტები",
   "account.posts_with_replies": "ტუტები და პასუხები",
   "account.report": "დაარეპორტე @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json
index 20fe24f83..47a567108 100644
--- a/app/javascript/mastodon/locales/kab.json
+++ b/app/javascript/mastodon/locales/kab.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Sgugem @{name}",
   "account.mute_notifications": "Sgugem tilɣa sγur @{name}",
   "account.muted": "Yettwasgugem",
+  "account.open_original_page": "Open original page",
   "account.posts": "Tisuffaɣ",
   "account.posts_with_replies": "Tisuffaɣ d tririyin",
   "account.report": "Cetki ɣef @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "Deg uqeddac-ayi",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Ḍfer {name}",
diff --git a/app/javascript/mastodon/locales/kk.json b/app/javascript/mastodon/locales/kk.json
index f93a67546..6bd43ffe8 100644
--- a/app/javascript/mastodon/locales/kk.json
+++ b/app/javascript/mastodon/locales/kk.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Үнсіз қылу @{name}",
   "account.mute_notifications": "@{name} туралы ескертпелерді жасыру",
   "account.muted": "Үнсіз",
+  "account.open_original_page": "Open original page",
   "account.posts": "Жазбалар",
   "account.posts_with_replies": "Жазбалар мен жауаптар",
   "account.report": "Шағымдану @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/kn.json b/app/javascript/mastodon/locales/kn.json
index 9a6977f90..a504ebb99 100644
--- a/app/javascript/mastodon/locales/kn.json
+++ b/app/javascript/mastodon/locales/kn.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Mute @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
+  "account.open_original_page": "Open original page",
   "account.posts": "ಟೂಟ್‌ಗಳು",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Report @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json
index 7338d186c..55ba91487 100644
--- a/app/javascript/mastodon/locales/ko.json
+++ b/app/javascript/mastodon/locales/ko.json
@@ -2,10 +2,8 @@
   "about.blocks": "제한된 서버들",
   "about.contact": "연락처:",
   "about.disclaimer": "마스토돈은 자유 오픈소스 소프트웨어이며, Mastodon gGmbH의 상표입니다",
-  "about.domain_blocks.comment": "사유",
-  "about.domain_blocks.domain": "도메인",
+  "about.domain_blocks.no_reason_available": "알 수 없는 이유",
   "about.domain_blocks.preamble": "마스토돈은 일반적으로 연합우주에 있는 어떤 서버의 사용자와도 게시물을 보고 응답을 할 수 있도록 허용합니다. 다음 항목들은 특정한 서버에 대해 만들어 진 예외사항입니다.",
-  "about.domain_blocks.severity": "심각도",
   "about.domain_blocks.silenced.explanation": "명시적으로 찾아보거나 팔로우를 하기 전까지는, 이 서버에 있는 프로필이나 게시물 등을 일반적으로 볼 수 없습니다.",
   "about.domain_blocks.silenced.title": "제한됨",
   "about.domain_blocks.suspended.explanation": "이 서버의 어떤 데이터도 처리되거나, 저장 되거나 공유되지 않고, 이 서버의 어떤 유저와도 상호작용 하거나 대화할 수 없습니다.",
@@ -51,6 +49,7 @@
   "account.mute": "@{name} 뮤트",
   "account.mute_notifications": "@{name}의 알림을 뮤트",
   "account.muted": "뮤트 됨",
+  "account.open_original_page": "원본 페이지 열기",
   "account.posts": "게시물",
   "account.posts_with_replies": "게시물과 답장",
   "account.report": "@{name} 신고",
@@ -74,7 +73,7 @@
   "admin.dashboard.retention.cohort_size": "새로운 사용자",
   "alert.rate_limited.message": "{retry_time, time, medium}에 다시 시도해 주세요.",
   "alert.rate_limited.title": "빈도 제한됨",
-  "alert.unexpected.message": "예측하지 못한 에러가 발생했습니다.",
+  "alert.unexpected.message": "예상하지 못한 에러가 발생했습니다.",
   "alert.unexpected.title": "앗!",
   "announcement.announcement": "공지사항",
   "attachments_list.unprocessed": "(처리 안 됨)",
@@ -91,7 +90,7 @@
   "bundle_column_error.routing.body": "요청하신 페이지를 찾을 수 없습니다. 주소창에 적힌 URL이 확실히 맞나요?",
   "bundle_column_error.routing.title": "404",
   "bundle_modal_error.close": "닫기",
-  "bundle_modal_error.message": "컴포넌트를 불러오는 과정에서 문제가 발생했습니다.",
+  "bundle_modal_error.message": "컴포넌트를 불러오는 중 문제가 발생했습니다.",
   "bundle_modal_error.retry": "다시 시도",
   "closed_registrations.other_server_instructions": "마스토돈은 분산화 되어 있기 때문에, 다른 서버에서 계정을 만들더라도 이 서버와 상호작용 할 수 있습니다.",
   "closed_registrations_modal.description": "{domain}은 현재 가입이 막혀있는 상태입니다, 만약 마스토돈을 이용하기 위해 꼭 {domain}을 사용할 필요는 없다는 사실을 인지해 두세요.",
@@ -129,9 +128,9 @@
   "compose_form.direct_message_warning_learn_more": "더 알아보기",
   "compose_form.encryption_warning": "마스토돈의 게시물들은 종단간 암호화가 되지 않습니다. 민감한 정보를 마스토돈을 통해 전달하지 마세요.",
   "compose_form.hashtag_warning": "이 게시물은 어떤 해시태그로도 검색 되지 않습니다. 전체공개로 게시 된 게시물만이 해시태그로 검색 될 수 있습니다.",
-  "compose_form.lock_disclaimer": "이 계정은 {locked}로 설정 되어 있지 않습니다. 누구나 이 계정을 팔로우 할 수 있으며, 팔로워 공개의 포스팅을 볼 수 있습니다.",
+  "compose_form.lock_disclaimer": "이 계정은 {locked}상태가 아닙니다. 누구나 이 계정을 팔로우 하여 팔로워 전용의 게시물을 볼 수 있습니다.",
   "compose_form.lock_disclaimer.lock": "비공개",
-  "compose_form.placeholder": "지금 무엇을 하고 있나요?",
+  "compose_form.placeholder": "지금 무슨 생각을 하고 있나요?",
   "compose_form.poll.add_option": "항목 추가",
   "compose_form.poll.duration": "투표 기간",
   "compose_form.poll.option_placeholder": "{number}번 항목",
@@ -144,8 +143,8 @@
   "compose_form.sensitive.hide": "미디어를 민감함으로 설정하기",
   "compose_form.sensitive.marked": "미디어가 열람주의로 설정되어 있습니다",
   "compose_form.sensitive.unmarked": "미디어가 열람주의로 설정 되어 있지 않습니다",
-  "compose_form.spoiler.marked": "열람 주의 제거",
-  "compose_form.spoiler.unmarked": "열람 주의가 설정 되어 있지 않습니다",
+  "compose_form.spoiler.marked": "콘텐츠 경고 제거",
+  "compose_form.spoiler.unmarked": "열람 주의 문구 추가",
   "compose_form.spoiler_placeholder": "경고 문구를 여기에 작성하세요",
   "confirmation_modal.cancel": "취소",
   "confirmations.block.block_and_report": "차단하고 신고하기",
@@ -160,7 +159,7 @@
   "confirmations.discard_edit_media.confirm": "저장 안함",
   "confirmations.discard_edit_media.message": "미디어 설명이나 미리보기에 대한 저장하지 않은 변경사항이 있습니다. 버리시겠습니까?",
   "confirmations.domain_block.confirm": "도메인 전체를 차단",
-  "confirmations.domain_block.message": "정말로 {domain} 전체를 차단하시겠습니까? 대부분의 경우 개별 차단이나 뮤트로 충분합니다. 모든 공개 타임라인과 알림에서 해당 도메인에서 작성된 컨텐츠를 보지 못합니다. 해당 도메인에 속한 팔로워와의 관계가 사라집니다.",
+  "confirmations.domain_block.message": "정말로 {domain} 전체를 차단하시겠습니까? 대부분의 경우 개별 차단이나 뮤트로 충분합니다. 모든 공개 타임라인과 알림에서 해당 도메인에서 작성된 콘텐츠를 보지 못합니다. 해당 도메인에 속한 팔로워와의 관계가 사라집니다.",
   "confirmations.logout.confirm": "로그아웃",
   "confirmations.logout.message": "정말로 로그아웃 하시겠습니까?",
   "confirmations.mute.confirm": "뮤트",
@@ -194,12 +193,12 @@
   "embed.preview": "다음과 같이 표시됩니다:",
   "emoji_button.activity": "활동",
   "emoji_button.clear": "지우기",
-  "emoji_button.custom": "커스텀",
+  "emoji_button.custom": "사용자 지정",
   "emoji_button.flags": "깃발",
   "emoji_button.food": "음식과 마실것",
   "emoji_button.label": "에모지를 추가",
   "emoji_button.nature": "자연",
-  "emoji_button.not_found": "맞는 에모지가 없습니다",
+  "emoji_button.not_found": "해당하는 에모지가 없습니다",
   "emoji_button.objects": "물건",
   "emoji_button.people": "사람들",
   "emoji_button.recent": "자주 사용됨",
@@ -271,7 +270,7 @@
   "footer.source_code": "소스코드 보기",
   "generic.saved": "저장됨",
   "getting_started.heading": "시작",
-  "hashtag.column_header.tag_mode.all": "그리고 {additional}",
+  "hashtag.column_header.tag_mode.all": "및 {additional}",
   "hashtag.column_header.tag_mode.any": "또는 {additional}",
   "hashtag.column_header.tag_mode.none": "{additional}를 제외하고",
   "hashtag.column_settings.select.no_options_message": "추천할 내용이 없습니다",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "마스토돈 계정을 통해, 이 게시물에 응답할 수 있습니다.",
   "interaction_modal.on_another_server": "다른 서버에",
   "interaction_modal.on_this_server": "이 서버에서",
-  "interaction_modal.other_server_instructions": "단순하게 이 URL을 당신이 좋아하는 앱이나 로그인 한 웹 인터페이스의 검색창에 복사/붙여넣기 하세요.",
+  "interaction_modal.other_server_instructions": "즐겨찾는 마스토돈 앱이나 마스토돈 서버의 웹 인터페이스 내 검색 영역에 이 URL을 복사 및 붙여넣기 하세요.",
   "interaction_modal.preamble": "마스토돈은 분산화 되어 있기 때문에, 이곳에 계정이 없더라도 다른 곳에서 운영되는 마스토돈 서버나 호환 되는 플랫폼에 있는 계정을 사용할 수 있습니다.",
   "interaction_modal.title.favourite": "{name} 님의 게시물을 마음에 들어하기",
   "interaction_modal.title.follow": "{name} 님을 팔로우",
@@ -355,7 +354,7 @@
   "lists.replies_policy.none": "아무도 없음",
   "lists.replies_policy.title": "답글 표시:",
   "lists.search": "팔로우 중인 사람들 중에서 찾기",
-  "lists.subheading": "당신의 리스트",
+  "lists.subheading": "리스트",
   "load_pending": "{count}개의 새 항목",
   "loading_indicator.label": "불러오는 중...",
   "media_gallery.toggle_visible": "이미지 숨기기",
@@ -392,12 +391,12 @@
   "notification.admin.report": "{name} 님이 {target}를 신고했습니다",
   "notification.admin.sign_up": "{name} 님이 가입했습니다",
   "notification.favourite": "{name} 님이 당신의 게시물을 마음에 들어합니다",
-  "notification.follow": "{name} 님이 나를 팔로우 했습니다",
+  "notification.follow": "{name} 님이 나를 팔로우했습니다",
   "notification.follow_request": "{name} 님이 팔로우 요청을 보냈습니다",
   "notification.mention": "{name} 님이 답글을 보냈습니다",
   "notification.own_poll": "내 투표가 끝났습니다",
   "notification.poll": "당신이 참여 한 투표가 종료되었습니다",
-  "notification.reblog": "{name} 님이 부스트 했습니다",
+  "notification.reblog": "{name} 님이 부스트했습니다",
   "notification.status": "{name} 님이 방금 게시물을 올렸습니다",
   "notification.update": "{name} 님이 게시물을 수정했습니다",
   "notifications.clear": "알림 지우기",
@@ -429,7 +428,7 @@
   "notifications.filter.polls": "투표 결과",
   "notifications.filter.statuses": "팔로우 하는 사람들의 최신 게시물",
   "notifications.grant_permission": "권한 부여.",
-  "notifications.group": "{count} 개의 알림",
+  "notifications.group": "{count}개의 알림",
   "notifications.mark_as_read": "모든 알림을 읽은 상태로 표시",
   "notifications.permission_denied": "권한이 거부되었기 때문에 데스크탑 알림을 활성화할 수 없음",
   "notifications.permission_denied_alert": "이전에 브라우저 권한이 거부되었기 때문에, 데스크탑 알림이 활성화 될 수 없습니다.",
@@ -477,7 +476,7 @@
   "report.block_explanation": "당신은 해당 계정의 게시물을 보지 않게 됩니다. 해당 계정은 당신의 게시물을 보거나 팔로우 할 수 없습니다. 해당 계정은 자신이 차단되었다는 사실을 알 수 있습니다.",
   "report.categories.other": "기타",
   "report.categories.spam": "스팸",
-  "report.categories.violation": "컨텐츠가 한 개 이상의 서버 규칙을 위반합니다",
+  "report.categories.violation": "콘텐츠가 한 개 이상의 서버 규칙을 위반합니다",
   "report.category.subtitle": "가장 알맞은 것을 선택하세요",
   "report.category.title": "이 {type}에 무슨 문제가 있는지 알려주세요",
   "report.category.title_account": "프로필",
@@ -562,7 +561,7 @@
   "status.history.edited": "{name} 님이 {date}에 수정함",
   "status.load_more": "더 보기",
   "status.media_hidden": "미디어 숨겨짐",
-  "status.mention": "@{name}에게 글쓰기",
+  "status.mention": "@{name} 님에게 글 쓰기",
   "status.more": "자세히",
   "status.mute": "@{name} 뮤트",
   "status.mute_conversation": "이 대화를 뮤트",
@@ -572,7 +571,7 @@
   "status.read_more": "더 보기",
   "status.reblog": "부스트",
   "status.reblog_private": "원래의 수신자들에게 부스트",
-  "status.reblogged_by": "{name} 님이 부스트 했습니다",
+  "status.reblogged_by": "{name} 님이 부스트했습니다",
   "status.reblogs.empty": "아직 아무도 이 게시물을 부스트하지 않았습니다. 부스트 한 사람들이 여기에 표시 됩니다.",
   "status.redraft": "지우고 다시 쓰기",
   "status.remove_bookmark": "보관한 게시물 삭제",
@@ -618,7 +617,7 @@
   "units.short.million": "{count}B",
   "units.short.thousand": "{count}K",
   "upload_area.title": "드래그 & 드롭으로 업로드",
-  "upload_button.label": "미디어 추가 (JPEG, PNG, GIF, WebM, MP4, MOV)",
+  "upload_button.label": "이미지, 영상, 오디오 파일 추가",
   "upload_error.limit": "파일 업로드 제한에 도달했습니다.",
   "upload_error.poll": "파일 업로드는 투표와 함께 첨부할 수 없습니다.",
   "upload_form.audio_description": "청각 장애인을 위한 설명",
diff --git a/app/javascript/mastodon/locales/ku.json b/app/javascript/mastodon/locales/ku.json
index b74659820..a2ace7deb 100644
--- a/app/javascript/mastodon/locales/ku.json
+++ b/app/javascript/mastodon/locales/ku.json
@@ -2,10 +2,8 @@
   "about.blocks": "Rajekarên çavdêrkirî",
   "about.contact": "Têkilî:",
   "about.disclaimer": "Mastodon belaş e, nermalaveke çavkaniya vekirî ye û markeyeke Mastodon gGmbHê ye.",
-  "about.domain_blocks.comment": "Sedem",
-  "about.domain_blocks.domain": "Navper",
+  "about.domain_blocks.no_reason_available": "Sedem ne berdest e",
   "about.domain_blocks.preamble": "Mastodon bi gelemperî dihêle ku tu naverokê bibînî û bi bikarhênerên ji rajekareke din a li fendiverse re têkilî dayne. Ev awaretyên ku li ser vê rajekara taybetî hatine çêkirin ev in.",
-  "about.domain_blocks.severity": "Asta girîngiyê",
   "about.domain_blocks.silenced.explanation": "Heye ku tu bi awayekî vekirî lê negerî an jî bi şopandinê hilnebijêrî, tu yêbi giştî profîl û naverok ji vê rajekarê nebînî.",
   "about.domain_blocks.silenced.title": "Sînorkirî",
   "about.domain_blocks.suspended.explanation": "Dê tu daneya ji van rajekaran neyê berhev kirin, tomarkirin an jî guhertin, ku têkilî an danûstendinek bi bikarhênerên van rajekaran re tune dike.",
@@ -51,6 +49,7 @@
   "account.mute": "@{name} bêdeng bike",
   "account.mute_notifications": "Agahdariyan ji @{name} bêdeng bike",
   "account.muted": "Bêdengkirî",
+  "account.open_original_page": "Rûpela resen veke",
   "account.posts": "Şandî",
   "account.posts_with_replies": "Şandî û bersiv",
   "account.report": "@{name} ragihîne",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Bi ajimêrekê li ser Mastodon, tu dikarî bersiva vê şandiyê bidî.",
   "interaction_modal.on_another_server": "Li ser rajekareke cuda",
   "interaction_modal.on_this_server": "Li ser ev rajekar",
-  "interaction_modal.other_server_instructions": "Tenê vê girêdanê jê bigire û pêve bike di darika lêgerînê ya sepana xwe ya bijarte an navrûya bikarhêneriyê tevnê ya ku tu tê de ye.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Ji ber ku Mastodon nenavendî ye, tu dikarî ajimêrê xwe ya heyî ku ji aliyê rajekarek din a Mastodon an platformek lihevhatî ve hatî pêşkêşkirin bi kar bînî ku ajimêrê te li ser vê yekê tune be.",
   "interaction_modal.title.favourite": "Şandiyê {name} bijarte bike",
   "interaction_modal.title.follow": "{name} bişopîne",
diff --git a/app/javascript/mastodon/locales/kw.json b/app/javascript/mastodon/locales/kw.json
index be731c6d1..d6b18ff62 100644
--- a/app/javascript/mastodon/locales/kw.json
+++ b/app/javascript/mastodon/locales/kw.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Tawhe @{name}",
   "account.mute_notifications": "Tawhe gwarnyansow a @{name}",
   "account.muted": "Tawhes",
+  "account.open_original_page": "Open original page",
   "account.posts": "Postow",
   "account.posts_with_replies": "Postow ha gorthebow",
   "account.report": "Reportya @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json
index 14bb2cc33..d9fb7eb9c 100644
--- a/app/javascript/mastodon/locales/lt.json
+++ b/app/javascript/mastodon/locales/lt.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Mute @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Užtildytas",
+  "account.open_original_page": "Open original page",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Report @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json
index 64f101459..89c3aee4e 100644
--- a/app/javascript/mastodon/locales/lv.json
+++ b/app/javascript/mastodon/locales/lv.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderētie serveri",
   "about.contact": "Kontakts:",
   "about.disclaimer": "Mastodon ir bezmaksas atvērtā pirmkoda programmatūra un Mastodon gGmbH preču zīme.",
-  "about.domain_blocks.comment": "Iemesls",
-  "about.domain_blocks.domain": "Domēns",
+  "about.domain_blocks.no_reason_available": "Iemesls nav pieejams",
   "about.domain_blocks.preamble": "Mastodon parasti ļauj apskatīt saturu un mijiedarboties ar lietotājiem no jebkura cita federācijas servera. Šie ir izņēmumi, kas veikti šajā konkrētajā serverī.",
-  "about.domain_blocks.severity": "Nozīmīgums",
   "about.domain_blocks.silenced.explanation": "Parasti tu neredzēsi profilus un saturu no šī servera, ja vien tu nepārprotami izvēlēsies to pārskatīt vai sekot.",
   "about.domain_blocks.silenced.title": "Ierobežotās",
   "about.domain_blocks.suspended.explanation": "Nekādi dati no šī servera netiks apstrādāti, uzglabāti vai apmainīti, padarot neiespējamu mijiedarbību vai saziņu ar lietotājiem no šī servera.",
@@ -40,7 +38,7 @@
   "account.follows.empty": "Šis lietotājs pagaidām nevienam neseko.",
   "account.follows_you": "Seko tev",
   "account.go_to_profile": "Dodieties uz profilu",
-  "account.hide_reblogs": "Paslēpt paceltos ierakstus no lietotāja @{name}",
+  "account.hide_reblogs": "Paslēpt pastiprinātos ierakstus no lietotāja @{name}",
   "account.joined_short": "Pievienojās",
   "account.languages": "Mainīt abonētās valodas",
   "account.link_verified_on": "Šīs saites piederība ir pārbaudīta {date}",
@@ -51,12 +49,13 @@
   "account.mute": "Apklusināt @{name}",
   "account.mute_notifications": "Nerādīt paziņojumus no @{name}",
   "account.muted": "Noklusināts",
+  "account.open_original_page": "Atvērt oriģinālo lapu",
   "account.posts": "Ziņas",
   "account.posts_with_replies": "Ziņas un atbildes",
   "account.report": "Ziņot par lietotāju @{name}",
   "account.requested": "Gaidām apstiprinājumu. Nospied lai atceltu sekošanas pieparasījumu",
   "account.share": "Dalīties ar @{name} profilu",
-  "account.show_reblogs": "Parādīt @{name} paaugstinātās ziņas",
+  "account.show_reblogs": "Parādīt @{name} pastiprinātos ierakstus",
   "account.statuses_counter": "{count, plural, one {{counter} ziņa} other {{counter} ziņas}}",
   "account.unblock": "Atbloķēt lietotāju @{name}",
   "account.unblock_domain": "Atbloķēt domēnu {domain}",
@@ -80,7 +79,7 @@
   "attachments_list.unprocessed": "(neapstrādāti)",
   "audio.hide": "Slēpt audio",
   "autosuggest_hashtag.per_week": "{count} nedēļā",
-  "boost_modal.combo": "Nospied {combo} lai izlaistu šo nākamreiz",
+  "boost_modal.combo": "Nospied {combo}, lai nākamreiz šo izlaistu",
   "bundle_column_error.copy_stacktrace": "Kopēt kļūdu ziņojumu",
   "bundle_column_error.error.body": "Pieprasīto lapu nevarēja atveidot. Tas varētu būt saistīts ar kļūdu mūsu kodā vai pārlūkprogrammas saderības problēma.",
   "bundle_column_error.error.title": "Ak, nē!",
@@ -91,7 +90,7 @@
   "bundle_column_error.routing.body": "Pieprasīto lapu nevarēja atrast. Vai esi pārliecināts, ka URL adreses joslā ir pareizs?",
   "bundle_column_error.routing.title": "404",
   "bundle_modal_error.close": "Aizvērt",
-  "bundle_modal_error.message": "Kaut kas nogāja greizi ielādējot šo komponenti.",
+  "bundle_modal_error.message": "Kaut kas nogāja greizi, ielādējot šo komponenti.",
   "bundle_modal_error.retry": "Mēģini vēlreiz",
   "closed_registrations.other_server_instructions": "Tā kā Mastodon ir decentralizēts, tu vari izveidot kontu citā serverī un joprojām mijiedarboties ar šo.",
   "closed_registrations_modal.description": "Pašlaik nav iespējams izveidot kontu domēnā {domain}, taču, lūdzu, ņem vērā, ka, lai izmantotu Mastodon, tev nav nepieciešams konts tieši domēnā {domain}.",
@@ -165,7 +164,7 @@
   "confirmations.logout.message": "Vai tiešām vēlies izrakstīties?",
   "confirmations.mute.confirm": "Apklusināt",
   "confirmations.mute.explanation": "Šādi no viņiem tiks slēptas ziņas un ziņas, kurās viņi tiek pieminēti, taču viņi joprojām varēs redzēt tavas ziņas un sekot tev.",
-  "confirmations.mute.message": "Vai tiešām velies apklusināt {name}?",
+  "confirmations.mute.message": "Vai tiešām vēlies apklusināt {name}?",
   "confirmations.redraft.confirm": "Dzēst un pārrakstīt",
   "confirmations.redraft.message": "Vai tiešām vēlies dzēst un pārrakstīt šo ierakstu? Favorīti un paceltie ieraksti tiks dzēsti, kā arī atbildes tiks atsaistītas no šī ieraksta.",
   "confirmations.reply.confirm": "Atbildēt",
@@ -283,28 +282,28 @@
   "hashtag.follow": "Seko mirkļbirkai",
   "hashtag.unfollow": "Pārstāj sekot mirkļbirkai",
   "home.column_settings.basic": "Pamata",
-  "home.column_settings.show_reblogs": "Rādīt palielinājumus",
+  "home.column_settings.show_reblogs": "Rādīt pastiprinātos ierakstus",
   "home.column_settings.show_replies": "Rādīt atbildes",
   "home.hide_announcements": "Slēpt paziņojumus",
   "home.show_announcements": "Rādīt paziņojumus",
   "interaction_modal.description.favourite": "Izmantojot kontu pakalpojumā Mastodon, vari pievienot šo ziņu izlasei, lai informētu autoru, ka to novērtē un saglabā vēlākai lasīšanai.",
   "interaction_modal.description.follow": "Izmantojot Mastodon kontu, tu vari sekot lietotājam {name}, lai saņemtu viņa ziņas savā mājas plūsmā.",
-  "interaction_modal.description.reblog": "Izmantojot kontu Mastodon, vari atbalstīt šo ziņu, lai kopīgotu to ar saviem sekotājiem.",
+  "interaction_modal.description.reblog": "Izmantojot Mastodon kontu, tu vari pastiprināt šo ierakstu, lai kopīgotu to ar saviem sekotājiem.",
   "interaction_modal.description.reply": "Izmantojot kontu Mastodon, tu vari atbildēt uz šo ziņu.",
   "interaction_modal.on_another_server": "Citā serverī",
   "interaction_modal.on_this_server": "Šajā serverī",
-  "interaction_modal.other_server_instructions": "Vienkārši nokopē un ielīmē šo URL savas iecienītākās lietotnes meklēšanas joslā vai tīmekļa saskarnē, kurā esi pierakstījies.",
+  "interaction_modal.other_server_instructions": "Nokopē un ielīmē šo URL savas Mastodon lietotnes vai Mastodon tīmekļa vietnes meklēšanas laukā.",
   "interaction_modal.preamble": "Tā kā Mastodon ir decentralizēts, tu vari izmantot savu esošo kontu, ko mitina cits Mastodon serveris vai saderīga platforma, ja tev nav konta šajā serverī.",
   "interaction_modal.title.favourite": "Pievienot {name} ziņu izlasei",
   "interaction_modal.title.follow": "Sekot {name}",
-  "interaction_modal.title.reblog": "Atbalstīt {name} ziņu",
+  "interaction_modal.title.reblog": "Pastiprināt {name} ierakstu",
   "interaction_modal.title.reply": "Atbildēt uz {name} ziņu",
   "intervals.full.days": "{number, plural, one {# diena} other {# dienas}}",
   "intervals.full.hours": "{number, plural, one {# stunda} other {# stundas}}",
   "intervals.full.minutes": "{number, plural, one {# minūte} other {# minūtes}}",
   "keyboard_shortcuts.back": "Pāriet atpakaļ",
   "keyboard_shortcuts.blocked": "Atvērt bloķēto lietotāju sarakstu",
-  "keyboard_shortcuts.boost": "Atbalstīt ziņu",
+  "keyboard_shortcuts.boost": "Pastiprināt ierakstu",
   "keyboard_shortcuts.column": "Fokusēt kolonnu",
   "keyboard_shortcuts.compose": "Fokusēt veidojamā teksta lauku",
   "keyboard_shortcuts.description": "Apraksts",
@@ -397,7 +396,7 @@
   "notification.mention": "{name} pieminēja tevi",
   "notification.own_poll": "Tava aptauja ir pabeigta",
   "notification.poll": "Aprauja, kurā tu piedalījies, ir pabeigta",
-  "notification.reblog": "{name} paaugstināja tavu ziņu",
+  "notification.reblog": "{name} pastiprināja tavu ierakstu",
   "notification.status": "{name} tikko publicēja",
   "notification.update": "{name} ir rediģējis rakstu",
   "notifications.clear": "Notīrīt paziņojumus",
@@ -414,7 +413,7 @@
   "notifications.column_settings.mention": "Pieminējumi:",
   "notifications.column_settings.poll": "Aptaujas rezultāti:",
   "notifications.column_settings.push": "Uznirstošie paziņojumi",
-  "notifications.column_settings.reblog": "Palielinājumi:",
+  "notifications.column_settings.reblog": "Pastiprinātie ieraksti:",
   "notifications.column_settings.show": "Rādīt kolonnā",
   "notifications.column_settings.sound": "Atskaņot skaņu",
   "notifications.column_settings.status": "Jaunas ziņas:",
@@ -422,7 +421,7 @@
   "notifications.column_settings.unread_notifications.highlight": "Iezīmēt nelasītos paziņojumus",
   "notifications.column_settings.update": "Labojumi:",
   "notifications.filter.all": "Visi",
-  "notifications.filter.boosts": "Palielinājumi",
+  "notifications.filter.boosts": "Pastiprinātie ieraksti",
   "notifications.filter.favourites": "Izlases",
   "notifications.filter.follows": "Seko",
   "notifications.filter.mentions": "Pieminējumi",
@@ -518,7 +517,7 @@
   "search.placeholder": "Meklēšana",
   "search.search_or_paste": "Meklēt vai iekopēt URL",
   "search_popout.search_format": "Paplašināts meklēšanas formāts",
-  "search_popout.tips.full_text": "Vienkāršs teksts atgriež ziņas, kuras esi rakstījis, iecienījis, paaugstinājis vai pieminējis, kā arī atbilstošie lietotājvārdi, parādāmie vārdi un tēmturi.",
+  "search_popout.tips.full_text": "Vienkāršs teksts atgriež ziņas, kuras esi rakstījis, atzīmējis kā favorītus, pastiprinājis vai pieminējis, kā arī atbilstošie lietotājvārdi, parādāmie vārdi un tēmturi.",
   "search_popout.tips.hashtag": "mirkļbirka",
   "search_popout.tips.status": "ziņa",
   "search_popout.tips.text": "Vienkāršs teksts atgriež atbilstošus parādāmos vārdus, lietotājvārdus un mirkļbirkas",
@@ -544,8 +543,8 @@
   "status.admin_status": "Atvērt šo ziņu moderācijas saskarnē",
   "status.block": "Bloķēt @{name}",
   "status.bookmark": "Grāmatzīme",
-  "status.cancel_reblog_private": "Nepaaugstināt",
-  "status.cannot_reblog": "Nevar paaugstināt ziņu",
+  "status.cancel_reblog_private": "Nepastiprināt",
+  "status.cannot_reblog": "Nevar pastiprināt šo ierakstu",
   "status.copy": "Kopēt saiti uz ziņu",
   "status.delete": "Dzēst",
   "status.detailed_status": "Detalizēts sarunas skats",
@@ -570,10 +569,10 @@
   "status.pin": "Piespraust profilam",
   "status.pinned": "Piespraustā ziņa",
   "status.read_more": "Lasīt vairāk",
-  "status.reblog": "Paaugstināt",
-  "status.reblog_private": "Paaugstināt ar sākotnējo izskatu",
-  "status.reblogged_by": "{name} paaugstināts",
-  "status.reblogs.empty": "Neviens šo ziņojumu vel nav paaugstinājis. Kad būs, tie parādīsies šeit.",
+  "status.reblog": "Pastiprināt",
+  "status.reblog_private": "Pastiprināt, nemainot redzamību",
+  "status.reblogged_by": "{name} pastiprināja",
+  "status.reblogs.empty": "Neviens šo ierakstu vēl nav pastiprinājis. Kad būs, tie parādīsies šeit.",
   "status.redraft": "Dzēst un pārrakstīt",
   "status.remove_bookmark": "Noņemt grāmatzīmi",
   "status.replied_to": "Atbildēja {name}",
diff --git a/app/javascript/mastodon/locales/mk.json b/app/javascript/mastodon/locales/mk.json
index 4c5870633..0d965819e 100644
--- a/app/javascript/mastodon/locales/mk.json
+++ b/app/javascript/mastodon/locales/mk.json
@@ -2,10 +2,8 @@
   "about.blocks": "Модерирани сервери",
   "about.contact": "Контакт:",
   "about.disclaimer": "Mastodon е бесплатен, open-source софтвер, и заштитен знак на Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Причина",
-  "about.domain_blocks.domain": "Домен",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon вообичаено ви дозволува да прегледувате содржини и комуницирате со корисниците од било кој сервер во федиверзумот. На овој сервер има исклучоци.",
-  "about.domain_blocks.severity": "Сериозност",
   "about.domain_blocks.silenced.explanation": "Вообичаено нема да гледате профили и содржина од овој сервер, освен ако не го пребарате намерно, или го заследите.",
   "about.domain_blocks.silenced.title": "Ограничено",
   "about.domain_blocks.suspended.explanation": "Податоците од овој сервер нема да бидат процесирани, зачувани или сменети и било која интеракција или комуникација со корисниците од овој сервер ќе биде невозможна.",
@@ -51,6 +49,7 @@
   "account.mute": "Зачути го @{name}",
   "account.mute_notifications": "Исклучи известувања од @{name}",
   "account.muted": "Зачутено",
+  "account.open_original_page": "Open original page",
   "account.posts": "Тутови",
   "account.posts_with_replies": "Тутови и реплики",
   "account.report": "Пријави @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/ml.json b/app/javascript/mastodon/locales/ml.json
index e93b4e00b..0517ce02a 100644
--- a/app/javascript/mastodon/locales/ml.json
+++ b/app/javascript/mastodon/locales/ml.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "@{name}-നെ(യെ) നിശ്ശബ്ദമാക്കൂ",
   "account.mute_notifications": "@{name} യിൽ നിന്നുള്ള അറിയിപ്പുകൾ നിശബ്ദമാക്കുക",
   "account.muted": "നിശ്ശബ്ദമാക്കിയിരിക്കുന്നു",
+  "account.open_original_page": "Open original page",
   "account.posts": "പോസ്റ്റുകൾ",
   "account.posts_with_replies": "പോസ്റ്റുകളും മറുപടികളും",
   "account.report": "റിപ്പോർട്ട് ചെയ്യുക @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/mr.json b/app/javascript/mastodon/locales/mr.json
index b2ed1fa37..63cb293e1 100644
--- a/app/javascript/mastodon/locales/mr.json
+++ b/app/javascript/mastodon/locales/mr.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "@{name} ला मूक कारा",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
+  "account.open_original_page": "Open original page",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Report @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/ms.json b/app/javascript/mastodon/locales/ms.json
index a0a9c2de4..7d25ac608 100644
--- a/app/javascript/mastodon/locales/ms.json
+++ b/app/javascript/mastodon/locales/ms.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Bisukan @{name}",
   "account.mute_notifications": "Bisukan pemberitahuan daripada @{name}",
   "account.muted": "Dibisukan",
+  "account.open_original_page": "Open original page",
   "account.posts": "Hantaran",
   "account.posts_with_replies": "Hantaran dan balasan",
   "account.report": "Laporkan @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/my.json b/app/javascript/mastodon/locales/my.json
index 9f1c20fb8..7757f061f 100644
--- a/app/javascript/mastodon/locales/my.json
+++ b/app/javascript/mastodon/locales/my.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Mute @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
+  "account.open_original_page": "Open original page",
   "account.posts": "ပို့စ်များ",
   "account.posts_with_replies": "Posts and replies",
   "account.report": "Report @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json
index 9d874fd86..e82321eae 100644
--- a/app/javascript/mastodon/locales/nl.json
+++ b/app/javascript/mastodon/locales/nl.json
@@ -2,10 +2,8 @@
   "about.blocks": "Gemodereerde servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is vrije, opensourcesoftware en een handelsmerk van Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reden",
-  "about.domain_blocks.domain": "Domein",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "In het algemeen kun je met Mastodon berichten ontvangen van, en interactie hebben met gebruikers van elke server in de fediverse. Dit zijn de uitzonderingen die op deze specifieke server gelden.",
-  "about.domain_blocks.severity": "Zwaarte",
   "about.domain_blocks.silenced.explanation": "In het algemeen zie je geen berichten en accounts van deze server, tenzij je berichten expliciet opzoekt of ervoor kiest om een account van deze server te volgen.",
   "about.domain_blocks.silenced.title": "Beperkt",
   "about.domain_blocks.suspended.explanation": "Er worden geen gegevens van deze server verwerkt, opgeslagen of uitgewisseld, wat interactie of communicatie met gebruikers van deze server onmogelijk maakt.",
@@ -51,6 +49,7 @@
   "account.mute": "@{name} negeren",
   "account.mute_notifications": "Meldingen van @{name} negeren",
   "account.muted": "Genegeerd",
+  "account.open_original_page": "Open original page",
   "account.posts": "Berichten",
   "account.posts_with_replies": "Berichten en reacties",
   "account.report": "@{name} rapporteren",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Je kunt met een Mastodon-account op dit bericht reageren.",
   "interaction_modal.on_another_server": "Op een andere server",
   "interaction_modal.on_this_server": "Op deze server",
-  "interaction_modal.other_server_instructions": "Kopieer en plak deze URL in het zoekveld van de door jou gebruikte app of in het zoekveld van de website van de server waarop je bent ingelogd.",
+  "interaction_modal.other_server_instructions": "Kopieer en plak eenvoudig deze URL in het zoekveld van de door jou gebruikte Mastodon-app of op de website van de Mastodon-server waarop je bent ingelogd.",
   "interaction_modal.preamble": "Mastodon is gedecentraliseerd. Daarom heb je geen account op deze Mastodon-server nodig, wanneer je al een account op een andere Mastodon-server of compatibel platform hebt.",
   "interaction_modal.title.favourite": "Bericht van {name} als favoriet markeren",
   "interaction_modal.title.follow": "{name} volgen",
diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json
index 1704568b7..83e0ec9c3 100644
--- a/app/javascript/mastodon/locales/nn.json
+++ b/app/javascript/mastodon/locales/nn.json
@@ -2,10 +2,8 @@
   "about.blocks": "Modererte tenarar",
   "about.contact": "Kontakt:",
   "about.disclaimer": "Mastodon er gratis programvare med open kjeldekode, og eit varemerke frå Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Årsak",
-  "about.domain_blocks.domain": "Domene",
+  "about.domain_blocks.no_reason_available": "Årsaka er ikkje tilgjengeleg",
   "about.domain_blocks.preamble": "Mastodon gjev deg som regel lov til å sjå innhald og samhandla med brukarar frå alle andre tenarar i allheimen. Dette er unntaka som er valde for akkurat denne tenaren.",
-  "about.domain_blocks.severity": "Alvorsgrad",
   "about.domain_blocks.silenced.explanation": "Med mindre du leiter den opp eller fylgjer profiler på tenaren, vil du vanlegvis ikkje sjå profilar og innhald frå denne tenaren.",
   "about.domain_blocks.silenced.title": "Avgrensa",
   "about.domain_blocks.suspended.explanation": "Ingen data frå denne tenaren vert handsama, lagra eller sende til andre, noko som gjer det umogeleg å samhandla eller kommunisera med brukarar på denne tenaren.",
@@ -51,6 +49,7 @@
   "account.mute": "Målbind @{name}",
   "account.mute_notifications": "Målbind varsel frå @{name}",
   "account.muted": "Målbunden",
+  "account.open_original_page": "Opne originalsida",
   "account.posts": "Tut",
   "account.posts_with_replies": "Tut og svar",
   "account.report": "Rapporter @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Med ein konto på Mastodon kan du svara på dette innlegget.",
   "interaction_modal.on_another_server": "På ein annan tenar",
   "interaction_modal.on_this_server": "På denne tenaren",
-  "interaction_modal.other_server_instructions": "Berre kopier og lim inn denne URL-en i søkefeltet til din favorittapp eller i søkefeltet på den nettsida der du er logga inn.",
+  "interaction_modal.other_server_instructions": "Kopier og lim inn denne URLen i søkefeltet til din favoritt Mastodon-app eller web-grensesnittet i din Mastodon server.",
   "interaction_modal.preamble": "Sidan Mastodon er desentralisert, kan du bruke ein konto frå ein annan Mastodontenar eller frå ei anna kompatibel plattform dersom du ikkje har konto på denne tenaren.",
   "interaction_modal.title.favourite": "Favorittmarker innlegget til {name}",
   "interaction_modal.title.follow": "Fylg {name}",
diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json
index 4736519af..ff8be31ee 100644
--- a/app/javascript/mastodon/locales/no.json
+++ b/app/javascript/mastodon/locales/no.json
@@ -1,11 +1,9 @@
 {
-  "about.blocks": "Moderated servers",
+  "about.blocks": "Modererte tjenere",
   "about.contact": "Kontakt:",
   "about.disclaimer": "Mastodon er gratis, åpen kildekode-programvare og et varemerke fra Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Årsak",
-  "about.domain_blocks.domain": "Domene",
+  "about.domain_blocks.no_reason_available": "Årsak ikke oppgitt",
   "about.domain_blocks.preamble": "Mastodon lar deg normalt sett se innholdet fra og samhandle med brukere fra enhver annen server i fødiverset. Dette er unntakene som har blitt lagt inn på denne serveren.",
-  "about.domain_blocks.severity": "Alvorlighetsgrad",
   "about.domain_blocks.silenced.explanation": "Du vil vanligvis ikke se profiler og innhold fra denne serveren, med mindre du eksplisitt søker dem opp eller velger å følge dem.",
   "about.domain_blocks.silenced.title": "Begrenset",
   "about.domain_blocks.suspended.explanation": "Ikke noe innhold fra denne serveren vil bli behandlet, lagret eller utvekslet. Det gjør det umulig å samhandle eller kommunisere med brukere fra denne serveren.",
@@ -51,6 +49,7 @@
   "account.mute": "Demp @{name}",
   "account.mute_notifications": "Demp varsler fra @{name}",
   "account.muted": "Dempet",
+  "account.open_original_page": "Gå til originalsiden",
   "account.posts": "Innlegg",
   "account.posts_with_replies": "Innlegg med svar",
   "account.report": "Rapportér @{name}",
@@ -67,8 +66,8 @@
   "account.unmute_notifications": "Vis varsler fra @{name}",
   "account.unmute_short": "Opphev demping",
   "account_note.placeholder": "Klikk for å legge til et notat",
-  "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.daily_retention": "Andel brukere som er aktive per dag etter registrering",
+  "admin.dashboard.monthly_retention": "Andel brukere som er aktive per måned etter registrering",
   "admin.dashboard.retention.average": "Gjennomsnitt",
   "admin.dashboard.retention.cohort": "Registreringsmåned",
   "admin.dashboard.retention.cohort_size": "Nye brukere",
@@ -183,13 +182,13 @@
   "directory.new_arrivals": "Nye ankomster",
   "directory.recently_active": "Nylig aktiv",
   "disabled_account_banner.account_settings": "Kontoinnstillinger",
-  "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
+  "disabled_account_banner.text": "Din konto {disabledAccount} er for øyeblikket deaktivert.",
   "dismissable_banner.community_timeline": "Dette er de nyeste offentlige innleggene fra personer med kontoer på {domain}.",
   "dismissable_banner.dismiss": "Avvis",
   "dismissable_banner.explore_links": "Disse nyhetene snakker folk om akkurat nå på denne og andre servere i det desentraliserte nettverket.",
   "dismissable_banner.explore_statuses": "Disse innleggene fra denne og andre servere i det desentraliserte nettverket får økt oppmerksomhet på denne serveren akkurat nå.",
   "dismissable_banner.explore_tags": "Disse emneknaggene snakker folk om akkurat nå, på denne og andre servere i det desentraliserte nettverket.",
-  "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.",
+  "dismissable_banner.public_timeline": "Dette er de nyeste offentlige innleggene fra personer på denne og andre servere i det desentraliserte nettverket som denne serveren kjenner til.",
   "embed.instructions": "Kopier koden under for å bygge inn denne statusen på hjemmesiden din.",
   "embed.preview": "Slik kommer det til å se ut:",
   "emoji_button.activity": "Aktivitet",
@@ -215,7 +214,7 @@
   "empty_column.community": "Den lokale tidslinjen er tom. Skriv noe offentlig for å få snøballen til å rulle!",
   "empty_column.direct": "Du har ingen direktemeldinger enda. Etter du har sendt eller mottatt en, så vil den dukke opp her.",
   "empty_column.domain_blocks": "Det er ingen skjulte domener enda.",
-  "empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
+  "empty_column.explore_statuses": "Ingenting er populært akkurat nå. Prøv igjen senere!",
   "empty_column.favourited_statuses": "Du har ikke likt noen innlegg enda. Når du liker et, vil det dukke opp her.",
   "empty_column.favourites": "Ingen har likt dette innlegget ennå. Når noen gjør det, vil de dukke opp her.",
   "empty_column.follow_recommendations": "Ser ut som at det ikke finnes noen forslag for deg. Du kan prøve å bruke søk for å se etter folk du kan vite eller utforske trendende hashtags.",
@@ -246,7 +245,7 @@
   "filter_modal.added.expired_title": "Utløpt filter!",
   "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.",
   "filter_modal.added.review_and_configure_title": "Filterinnstillinger",
-  "filter_modal.added.settings_link": "settings page",
+  "filter_modal.added.settings_link": "innstillinger-siden",
   "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.",
   "filter_modal.added.title": "Filter lagt til!",
   "filter_modal.select_filter.context_mismatch": "does not apply to this context",
@@ -267,7 +266,7 @@
   "footer.get_app": "Last ned appen",
   "footer.invite": "Invitér folk",
   "footer.keyboard_shortcuts": "Keyboard shortcuts",
-  "footer.privacy_policy": "Privacy policy",
+  "footer.privacy_policy": "Personvernregler",
   "footer.source_code": "Vis kildekode",
   "generic.saved": "Lagret",
   "getting_started.heading": "Kom i gang",
@@ -290,12 +289,12 @@
   "interaction_modal.description.favourite": "Med en konto på Mastodon, kan du \"like\" dette innlegget for å la forfatteren vite at du likte det samt lagre innlegget til senere.",
   "interaction_modal.description.follow": "Med en konto på Mastodon, kan du følge {name} for å få innleggene deres i hjem-feeden din.",
   "interaction_modal.description.reblog": "Med en konto på Mastodon, kan du fremheve dette innlegget for å dele det med dine egne følgere.",
-  "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
+  "interaction_modal.description.reply": "Med en konto på Mastodon, kan du svare på dette innlegget.",
   "interaction_modal.on_another_server": "På en annen server",
   "interaction_modal.on_this_server": "På denne serveren",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
-  "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
-  "interaction_modal.title.favourite": "Favourite {name}'s post",
+  "interaction_modal.other_server_instructions": "Kopier og lim inn denne URLen i søkefeltet til din favoritt Mastodon-app eller web-grensesnittet i din Mastodon server.",
+  "interaction_modal.preamble": "Siden Mastodon er desentralisert, kan du bruke din eksisterende konto på en annen Mastodon-tjener eller en kompatibel plattform hvis du ikke har en konto her.",
+  "interaction_modal.title.favourite": "Favorittmarker innlegget til {name}",
   "interaction_modal.title.follow": "Følg {name}",
   "interaction_modal.title.reblog": "Fremhev {name} sitt innlegg",
   "interaction_modal.title.reply": "Svar på {name} sitt innlegg",
@@ -365,7 +364,7 @@
   "mute_modal.duration": "Varighet",
   "mute_modal.hide_notifications": "Skjul varslinger fra denne brukeren?",
   "mute_modal.indefinite": "På ubestemt tid",
-  "navigation_bar.about": "About",
+  "navigation_bar.about": "Om",
   "navigation_bar.blocks": "Blokkerte brukere",
   "navigation_bar.bookmarks": "Bokmerker",
   "navigation_bar.community_timeline": "Lokal tidslinje",
@@ -390,7 +389,7 @@
   "navigation_bar.security": "Sikkerhet",
   "not_signed_in_indicator.not_signed_in": "Du må logge inn for å få tilgang til denne ressursen.",
   "notification.admin.report": "{name} rapporterte {target}",
-  "notification.admin.sign_up": "{name} signed up",
+  "notification.admin.sign_up": "{name} registrerte seg",
   "notification.favourite": "{name} likte din status",
   "notification.follow": "{name} fulgte deg",
   "notification.follow_request": "{name} har bedt om å få følge deg",
@@ -403,12 +402,12 @@
   "notifications.clear": "Fjern varsler",
   "notifications.clear_confirmation": "Er du sikker på at du vil fjerne alle dine varsler permanent?",
   "notifications.column_settings.admin.report": "Nye rapporter:",
-  "notifications.column_settings.admin.sign_up": "New sign-ups:",
+  "notifications.column_settings.admin.sign_up": "Nye registreringer:",
   "notifications.column_settings.alert": "Skrivebordsvarslinger",
   "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_bar": "Show filter bar",
+  "notifications.column_settings.filter_bar.show_bar": "Vis filterlinjen",
   "notifications.column_settings.follow": "Nye følgere:",
   "notifications.column_settings.follow_request": "Nye følgerforespørsler:",
   "notifications.column_settings.mention": "Nevnt:",
@@ -454,10 +453,10 @@
   "privacy.private.short": "Kun følgere",
   "privacy.public.long": "Synlig for alle",
   "privacy.public.short": "Offentlig",
-  "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
+  "privacy.unlisted.long": "Synlig for alle, men vises ikke i oppdagsfunksjoner",
   "privacy.unlisted.short": "Uoppført",
   "privacy_policy.last_updated": "Sist oppdatert {date}",
-  "privacy_policy.title": "Privacy Policy",
+  "privacy_policy.title": "Personvernregler",
   "refresh": "Oppfrisk",
   "regeneration_indicator.label": "Laster…",
   "regeneration_indicator.sublabel": "Dine startside forberedes!",
@@ -479,7 +478,7 @@
   "report.categories.spam": "Søppelpost",
   "report.categories.violation": "Innholdet bryter en eller flere serverregler",
   "report.category.subtitle": "Velg det som passer best",
-  "report.category.title": "Tell us what's going on with this {type}",
+  "report.category.title": "Fortell oss hva som skjer med denne {type}",
   "report.category.title_account": "profil",
   "report.category.title_status": "innlegg",
   "report.close": "Utført",
@@ -493,7 +492,7 @@
   "report.reasons.dislike": "Jeg liker det ikke",
   "report.reasons.dislike_description": "Det er ikke noe du har lyst til å se",
   "report.reasons.other": "Det er noe annet",
-  "report.reasons.other_description": "The issue does not fit into other categories",
+  "report.reasons.other_description": "Problemet passer ikke inn i de andre kategoriene",
   "report.reasons.spam": "Det er spam",
   "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "Det bryter serverregler",
@@ -516,7 +515,7 @@
   "report_notification.categories.violation": "Regelbrudd",
   "report_notification.open": "Open report",
   "search.placeholder": "Søk",
-  "search.search_or_paste": "Search or paste URL",
+  "search.search_or_paste": "Søk eller lim inn URL",
   "search_popout.search_format": "Avansert søkeformat",
   "search_popout.tips.full_text": "Enkel tekst gir resultater for statuser du har skrevet, likt, fremhevet, eller har blitt nevnt i, i tillegg til samsvarende brukernavn, visningsnavn og emneknagger.",
   "search_popout.tips.hashtag": "emneknagg",
@@ -582,14 +581,14 @@
   "status.report": "Rapporter @{name}",
   "status.sensitive_warning": "Følsomt innhold",
   "status.share": "Del",
-  "status.show_filter_reason": "Show anyway",
+  "status.show_filter_reason": "Vis likevel",
   "status.show_less": "Vis mindre",
   "status.show_less_all": "Vis mindre for alle",
   "status.show_more": "Vis mer",
   "status.show_more_all": "Vis mer for alle",
-  "status.show_original": "Show original",
-  "status.translate": "Translate",
-  "status.translated_from_with": "Translated from {lang} using {provider}",
+  "status.show_original": "Vis original",
+  "status.translate": "Oversett",
+  "status.translated_from_with": "Oversatt fra {lang} ved å bruke {provider}",
   "status.uncached_media_warning": "Ikke tilgjengelig",
   "status.unmute_conversation": "Ikke demp samtale",
   "status.unpin": "Angre festing på profilen",
diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json
index a34bef1ea..8d8674541 100644
--- a/app/javascript/mastodon/locales/oc.json
+++ b/app/javascript/mastodon/locales/oc.json
@@ -2,16 +2,14 @@
   "about.blocks": "Servidors moderats",
   "about.contact": "Contacte :",
   "about.disclaimer": "Mastodon es gratuit, un logicial libre e una marca de Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Rason",
-  "about.domain_blocks.domain": "Domeni",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severitat",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limitats",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
   "about.domain_blocks.suspended.title": "Suspenduts",
-  "about.not_available": "This information has not been made available on this server.",
-  "about.powered_by": "Decentralized social media powered by {mastodon}",
+  "about.not_available": "Aquesta informacion foguèt pas renduda disponibla sus aqueste servidor.",
+  "about.powered_by": "Malhum social descentralizat propulsat per {mastodon}",
   "about.rules": "Règlas del servidor",
   "account.account_note_header": "Nòta",
   "account.add_or_remove_from_list": "Ajustar o tirar de las listas",
@@ -21,7 +19,7 @@
   "account.block_domain": "Tot amagar del domeni {domain}",
   "account.blocked": "Blocat",
   "account.browse_more_on_origin_server": "Navigar sul perfil original",
-  "account.cancel_follow_request": "Withdraw follow request",
+  "account.cancel_follow_request": "Retirar la demanda d’abonament",
   "account.direct": "Escriure un MP a @{name}",
   "account.disable_notifications": "Quitar de m’avisar quand @{name} publica quicòm",
   "account.domain_blocked": "Domeni amagat",
@@ -51,6 +49,7 @@
   "account.mute": "Rescondre @{name}",
   "account.mute_notifications": "Rescondre las notificacions de @{name}",
   "account.muted": "Mes en silenci",
+  "account.open_original_page": "Open original page",
   "account.posts": "Tuts",
   "account.posts_with_replies": "Tuts e responsas",
   "account.report": "Senhalar @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "Sus un autre servidor",
   "interaction_modal.on_this_server": "Sus aqueste servidor",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Metre en favorit la publicacion de {name}",
   "interaction_modal.title.follow": "Sègre {name}",
@@ -476,7 +475,7 @@
   "report.block": "Blocar",
   "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
   "report.categories.other": "Autre",
-  "report.categories.spam": "Spam",
+  "report.categories.spam": "Messatge indesirable",
   "report.categories.violation": "Content violates one or more server rules",
   "report.category.subtitle": "Causissètz çò que correspond mai",
   "report.category.title": "Tell us what's going on with this {type}",
@@ -493,10 +492,10 @@
   "report.reasons.dislike": "M’agrada pas",
   "report.reasons.dislike_description": "Es pas quicòm que volriatz veire",
   "report.reasons.other": "Es quicòm mai",
-  "report.reasons.other_description": "The issue does not fit into other categories",
-  "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
-  "report.reasons.violation": "It violates server rules",
+  "report.reasons.other_description": "Lo problèma es pas dins cap d’autra categoria",
+  "report.reasons.spam": "Es un messatge indesirable",
+  "report.reasons.spam_description": "Ligams enganaires, fals engatjament o responsas repetitivas",
+  "report.reasons.violation": "Viòla las règlas del servidor",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
   "report.rules.title": "Which rules are being violated?",
@@ -534,12 +533,12 @@
   "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)",
   "server_banner.active_users": "utilizaires actius",
   "server_banner.administered_by": "Administrat per :",
-  "server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.",
+  "server_banner.introduction": "{domain} fa part del malhum social descentralizat propulsat per {mastodon}.",
   "server_banner.learn_more": "Ne saber mai",
   "server_banner.server_stats": "Estatisticas del servidor :",
   "sign_in_banner.create_account": "Crear un compte",
   "sign_in_banner.sign_in": "Se marcar",
-  "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.",
+  "sign_in_banner.text": "Connectatz-vos per sègre perfils o etiquetas, apondre als favorits, partejar e respondre als messatges o interagir de vòstre compte estant d’un autre servidor.",
   "status.admin_account": "Dobrir l’interfàcia de moderacion per @{name}",
   "status.admin_status": "Dobrir aqueste estatut dins l’interfàcia de moderacion",
   "status.block": "Blocar @{name}",
diff --git a/app/javascript/mastodon/locales/pa.json b/app/javascript/mastodon/locales/pa.json
index d90153a95..a8585c042 100644
--- a/app/javascript/mastodon/locales/pa.json
+++ b/app/javascript/mastodon/locales/pa.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Mute @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
+  "account.open_original_page": "Open original page",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Report @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json
index c9a0dc852..eaaf14594 100644
--- a/app/javascript/mastodon/locales/pl.json
+++ b/app/javascript/mastodon/locales/pl.json
@@ -2,10 +2,8 @@
   "about.blocks": "Serwery moderowane",
   "about.contact": "Kontakt:",
   "about.disclaimer": "Mastodon jest darmowym, otwartym oprogramowaniem i znakiem towarowym Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Powód",
-  "about.domain_blocks.domain": "Domena",
+  "about.domain_blocks.no_reason_available": "Powód niedostępny",
   "about.domain_blocks.preamble": "Domyślnie Mastodon pozwala ci przeglądać i reagować na treści od innych użytkowników z jakiegokolwiek serwera w fediwersum. Poniżej znajduje się lista wyjątków, które zostały stworzone na tym konkretnym serwerze.",
-  "about.domain_blocks.severity": "Priorytet",
   "about.domain_blocks.silenced.explanation": "Zazwyczaj nie zobaczysz profili i treści z tego serwera, chyba że wyraźnie go poszukasz lub zdecydujesz się go obserwować.",
   "about.domain_blocks.silenced.title": "Ograniczone",
   "about.domain_blocks.suspended.explanation": "Żadne dane z tego serwera nie będą przetwarzane, przechowywane lub wymieniane, co uniemożliwia jakąkolwiek interakcję lub komunikację z użytkownikami z tego serwera.",
@@ -51,6 +49,7 @@
   "account.mute": "Wycisz @{name}",
   "account.mute_notifications": "Wycisz powiadomienia o @{name}",
   "account.muted": "Wyciszony",
+  "account.open_original_page": "Otwórz stronę oryginalną",
   "account.posts": "Wpisy",
   "account.posts_with_replies": "Wpisy i odpowiedzi",
   "account.report": "Zgłoś @{name}",
@@ -297,9 +296,9 @@
   "interaction_modal.description.reply": "Mając konto na Mastodonie, możesz odpowiedzieć na ten wpis.",
   "interaction_modal.on_another_server": "Na innym serwerze",
   "interaction_modal.on_this_server": "Na tym serwerze",
-  "interaction_modal.other_server_instructions": "Wystarczy skopiować i wkleić ten adres URL do swojej ulubionej aplikacji lub przegąldarki www gdzie jesteś zalogowany/a.",
+  "interaction_modal.other_server_instructions": "Skopiuj i wklej ten adres URL do pola wyszukiwania w swojej ulubionej aplikacji Mastodon lub interfejsu internetowego swojego serwera Mastodon.",
   "interaction_modal.preamble": "Ponieważ Mastodon jest zdecentralizowany, możesz użyć swojego istniejącego konta z innego serwera Mastodona lub innej kompatybilnej usługi, jeśli nie masz konta na tym serwerze.",
-  "interaction_modal.title.favourite": "Ulubiony wpis {name}",
+  "interaction_modal.title.favourite": "Polub wpis użytkownika {name}",
   "interaction_modal.title.follow": "Śledź {name}",
   "interaction_modal.title.reblog": "Podbij wpis {name}",
   "interaction_modal.title.reply": "Odpowiedz na post {name}",
diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json
index 65ca4f511..ab241a422 100644
--- a/app/javascript/mastodon/locales/pt-BR.json
+++ b/app/javascript/mastodon/locales/pt-BR.json
@@ -2,10 +2,8 @@
   "about.blocks": "Servidores moderados",
   "about.contact": "Contato:",
   "about.disclaimer": "Mastodon é um software de código aberto e livre, e uma marca registrada de Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Motivo",
-  "about.domain_blocks.domain": "Domínio",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "O Mastodon geralmente permite que você veja o conteúdo e interaja com usuários de qualquer outro servidor no fediverso. Estas são as exceções deste servidor em específico.",
-  "about.domain_blocks.severity": "Gravidade",
   "about.domain_blocks.silenced.explanation": "Você geralmente não verá perfis e conteúdo deste servidor, a menos que você o procure explicitamente ou opte por seguir.",
   "about.domain_blocks.silenced.title": "Limitado",
   "about.domain_blocks.suspended.explanation": "Nenhum dado desse servidor será processado, armazenado ou trocado, impossibilitando qualquer interação ou comunicação com os usuários deste servidor.",
@@ -51,6 +49,7 @@
   "account.mute": "Silenciar @{name}",
   "account.mute_notifications": "Ocultar notificações de @{name}",
   "account.muted": "Silenciado",
+  "account.open_original_page": "Abrir a página original",
   "account.posts": "Toots",
   "account.posts_with_replies": "Com respostas",
   "account.report": "Denunciar @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Com uma conta no Mastodon, você pode responder a esta publicação.",
   "interaction_modal.on_another_server": "Em um servidor diferente",
   "interaction_modal.on_this_server": "Neste servidor",
-  "interaction_modal.other_server_instructions": "Simplesmente copie e cole este URL na barra de pesquisa do seu aplicativo favorito ou na interface web onde você está autenticado.",
+  "interaction_modal.other_server_instructions": "Copie e cole esta URL no campo de pesquisa do seu aplicativo Mastodon favorito ou a interface web do seu servidor Mastodon.",
   "interaction_modal.preamble": "Como o Mastodon é descentralizado, você pode usar sua conta existente em outro servidor Mastodon ou plataforma compatível se você não tiver uma conta neste servidor.",
   "interaction_modal.title.favourite": "Favoritar publicação de {name}",
   "interaction_modal.title.follow": "Seguir {name}",
diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json
index 02a0ceca9..828efe9f9 100644
--- a/app/javascript/mastodon/locales/pt-PT.json
+++ b/app/javascript/mastodon/locales/pt-PT.json
@@ -2,10 +2,8 @@
   "about.blocks": "Servidores moderados",
   "about.contact": "Contacto:",
   "about.disclaimer": "Mastodon é um software livre, de código aberto e uma marca registada do Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Motivo",
-  "about.domain_blocks.domain": "Domínio",
+  "about.domain_blocks.no_reason_available": "Motivo não disponível",
   "about.domain_blocks.preamble": "Mastodon geralmente permite que veja e interaja com o conteúdo de utilizadores de qualquer outra instância no fediverso. Estas são as exceções desta instância em específico.",
-  "about.domain_blocks.severity": "Severidade",
   "about.domain_blocks.silenced.explanation": "Geralmente não verá perfis e conteúdo deste servidor, a menos que os procure explicitamente ou opte por os seguir.",
   "about.domain_blocks.silenced.title": "Limitados",
   "about.domain_blocks.suspended.explanation": "Nenhum dado dessas instâncias será processado, armazenado ou trocado, tornando qualquer interação ou comunicação com os utilizadores dessas instâncias impossível.",
@@ -51,6 +49,7 @@
   "account.mute": "Silenciar @{name}",
   "account.mute_notifications": "Silenciar notificações de @{name}",
   "account.muted": "Silenciada",
+  "account.open_original_page": "Abrir a página original",
   "account.posts": "Toots",
   "account.posts_with_replies": "Publicações e respostas",
   "account.report": "Denunciar @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Com uma conta no Mastodon, pode responder a esta publicação.",
   "interaction_modal.on_another_server": "Num servidor diferente",
   "interaction_modal.on_this_server": "Neste servidor",
-  "interaction_modal.other_server_instructions": "Basta copiar e colar este URL na barra de pesquisa do seu aplicativo favorito ou na interface web onde está conectado.",
+  "interaction_modal.other_server_instructions": "Copie e cole este URL no campo de pesquisa do seu aplicativo Mastodon favorito ou da interface web do seu servidor Mastodon.",
   "interaction_modal.preamble": "Uma vez que o Mastodon é descentralizado, pode utilizar a sua conta existente, hospedada em outro servidor Mastodon ou plataforma compatível, se não tiver uma conta neste servidor.",
   "interaction_modal.title.favourite": "Adicionar a publicação de {name} aos favoritos",
   "interaction_modal.title.follow": "Seguir {name}",
diff --git a/app/javascript/mastodon/locales/ro.json b/app/javascript/mastodon/locales/ro.json
index 7808a4593..2f76585f8 100644
--- a/app/javascript/mastodon/locales/ro.json
+++ b/app/javascript/mastodon/locales/ro.json
@@ -1,11 +1,9 @@
 {
   "about.blocks": "Servere moderate",
   "about.contact": "Contact:",
-  "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Motiv",
-  "about.domain_blocks.domain": "Domeniu",
+  "about.disclaimer": "Mastodon este o aplicație gratuită, open-source și o marcă înregistrată a Mastodon gGmbH.",
+  "about.domain_blocks.no_reason_available": "Motivul nu este disponibil",
   "about.domain_blocks.preamble": "Mastodon îți permite în general să vezi conținut de la și să interacționezi cu utilizatori de pe oricare server în fediverse. Acestea sunt excepțiile care au fost făcute pe acest server.",
-  "about.domain_blocks.severity": "Severitate",
   "about.domain_blocks.silenced.explanation": "În general, nu vei vedea profiluri și conținut de pe acest server, cu excepția cazului în care îl cauți în mod explicit sau optezi pentru el prin urmărire.",
   "about.domain_blocks.silenced.title": "Limitat",
   "about.domain_blocks.suspended.explanation": "Nici o informație de la acest server nu va fi procesată, stocată sau schimbată, făcând imposibilă orice interacțiune sau comunicare cu utilizatorii de pe acest server.",
@@ -39,7 +37,7 @@
   "account.following_counter": "{count, plural, one {{counter} Abonament} few {{counter} Abonamente} other {{counter} Abonamente}}",
   "account.follows.empty": "Momentan acest utilizator nu are niciun abonament.",
   "account.follows_you": "Este abonat la tine",
-  "account.go_to_profile": "Go to profile",
+  "account.go_to_profile": "Mergi la profil",
   "account.hide_reblogs": "Ascunde distribuirile de la @{name}",
   "account.joined_short": "Înscris",
   "account.languages": "Schimbă limbile abonate",
@@ -47,10 +45,11 @@
   "account.locked_info": "Acest profil este privat. Această persoană aprobă manual conturile care se abonează la ea.",
   "account.media": "Media",
   "account.mention": "Menționează pe @{name}",
-  "account.moved_to": "{name} has indicated that their new account is now:",
+  "account.moved_to": "{name} a indicat că noul său cont este acum:",
   "account.mute": "Ignoră pe @{name}",
   "account.mute_notifications": "Ignoră notificările de la @{name}",
   "account.muted": "Ignorat",
+  "account.open_original_page": "Deschide pagina originală",
   "account.posts": "Postări",
   "account.posts_with_replies": "Postări și răspunsuri",
   "account.report": "Raportează pe @{name}",
@@ -65,10 +64,10 @@
   "account.unfollow": "Nu mai urmări",
   "account.unmute": "Nu mai ignora pe @{name}",
   "account.unmute_notifications": "Activează notificările de la @{name}",
-  "account.unmute_short": "Unmute",
+  "account.unmute_short": "Reafișare",
   "account_note.placeholder": "Click to add a note",
-  "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.daily_retention": "Rata de retenţie a utilizatorului pe zi după înregistrare",
+  "admin.dashboard.monthly_retention": "Rata de retenţie a utilizatorului după luna de înscriere",
   "admin.dashboard.retention.average": "În medie",
   "admin.dashboard.retention.cohort": "Înregistrări lunar",
   "admin.dashboard.retention.cohort_size": "Utilizatori noi",
@@ -78,31 +77,31 @@
   "alert.unexpected.title": "Ups!",
   "announcement.announcement": "Anunț",
   "attachments_list.unprocessed": "(neprocesate)",
-  "audio.hide": "Hide audio",
+  "audio.hide": "Ascunde audio",
   "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.copy_stacktrace": "Copy error report",
-  "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.",
-  "bundle_column_error.error.title": "Oh, no!",
-  "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.",
-  "bundle_column_error.network.title": "Network error",
+  "bundle_column_error.copy_stacktrace": "Copiază raportul de eroare",
+  "bundle_column_error.error.body": "Pagina solicitată nu a putut fi randată. Ar putea fi cauzată de o eroare în codul nostru sau de o problemă de compatibilitate cu browser-ul.",
+  "bundle_column_error.error.title": "Vai Nu!",
+  "bundle_column_error.network.body": "A apărut o eroare la încărcarea acestei pagini. Acest lucru se poate datora unei probleme temporare cu conexiunea la internet sau cu acest server.",
+  "bundle_column_error.network.title": "Eroare de rețea",
   "bundle_column_error.retry": "Încearcă din nou",
-  "bundle_column_error.return": "Go back home",
-  "bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?",
+  "bundle_column_error.return": "Înapoi acasă",
+  "bundle_column_error.routing.body": "Pagina solicitată nu a putut fi găsită. Ești sigur că adresa URL din bara de adrese este corectă?",
   "bundle_column_error.routing.title": "404",
   "bundle_modal_error.close": "Închide",
   "bundle_modal_error.message": "A apărut o eroare la încărcarea acestui element.",
   "bundle_modal_error.retry": "Încearcă din nou",
-  "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.",
-  "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.",
-  "closed_registrations_modal.find_another_server": "Find another server",
-  "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!",
-  "closed_registrations_modal.title": "Signing up on Mastodon",
-  "column.about": "About",
+  "closed_registrations.other_server_instructions": "Deoarece Mastodon este descentralizat, poți crea un cont pe un alt server și încă poți interacționa cu acesta.",
+  "closed_registrations_modal.description": "Crearea unui cont pe {domain} nu este posibilă momentan, dar aveți în vedere că nu aveți nevoie de un cont specific pe {domain} pentru a utiliza Mastodon.",
+  "closed_registrations_modal.find_another_server": "Caută un alt server",
+  "closed_registrations_modal.preamble": "Mastodon este descentralizat, deci indiferent unde îți creezi contul, vei putea urmări și interacționa cu oricine de pe acest server. Poți chiar să te găzduiești de unul singur!",
+  "closed_registrations_modal.title": "Înscrie-te pe Mastodon",
+  "column.about": "Despre",
   "column.blocks": "Utilizatori blocați",
   "column.bookmarks": "Marcaje",
   "column.community": "Cronologie locală",
-  "column.direct": "Direct messages",
+  "column.direct": "Mesaje directe",
   "column.directory": "Explorează profiluri",
   "column.domain_blocks": "Domenii blocate",
   "column.favourites": "Favorite",
@@ -124,10 +123,10 @@
   "community.column_settings.local_only": "Doar local",
   "community.column_settings.media_only": "Doar media",
   "community.column_settings.remote_only": "Doar la distanţă",
-  "compose.language.change": "Change language",
-  "compose.language.search": "Search languages...",
+  "compose.language.change": "Schimbare limbă",
+  "compose.language.search": "Căutare limbi…",
   "compose_form.direct_message_warning_learn_more": "Află mai multe",
-  "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
+  "compose_form.encryption_warning": "Postările pe Mastodon nu sunt criptate în ambele părți. Nu împărtășiți nici o informație sensibilă pe Mastodon.",
   "compose_form.hashtag_warning": "Această postare nu va fi listată sub niciun hashtag deoarece este nelistată. Doar postările publice pot fi căutate cu un hashtag.",
   "compose_form.lock_disclaimer": "Contul tău nu este {locked}. Oricine se poate abona la tine pentru a îți vedea postările numai pentru abonați.",
   "compose_form.lock_disclaimer.lock": "privat",
@@ -138,9 +137,9 @@
   "compose_form.poll.remove_option": "Elimină acestă opțiune",
   "compose_form.poll.switch_to_multiple": "Modifică sondajul pentru a permite mai multe opțiuni",
   "compose_form.poll.switch_to_single": "Modifică sondajul pentru a permite o singură opțiune",
-  "compose_form.publish": "Publish",
+  "compose_form.publish": "Publică",
   "compose_form.publish_loud": "{publish}!",
-  "compose_form.save_changes": "Save changes",
+  "compose_form.save_changes": "Salvează modificările",
   "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}}",
@@ -151,8 +150,8 @@
   "confirmations.block.block_and_report": "Blochează și raportează",
   "confirmations.block.confirm": "Blochează",
   "confirmations.block.message": "Ești sigur că vrei să blochezi pe {name}?",
-  "confirmations.cancel_follow_request.confirm": "Withdraw request",
-  "confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?",
+  "confirmations.cancel_follow_request.confirm": "Retrage cererea",
+  "confirmations.cancel_follow_request.message": "Sunteți sigur că doriți să retrageți cererea dvs. de urmărire pentru {name}?",
   "confirmations.delete.confirm": "Elimină",
   "confirmations.delete.message": "Ești sigur că vrei să elimini această postare?",
   "confirmations.delete_list.confirm": "Elimină",
@@ -176,24 +175,24 @@
   "conversation.mark_as_read": "Marchează ca citit",
   "conversation.open": "Vizualizează conversația",
   "conversation.with": "Cu {names}",
-  "copypaste.copied": "Copied",
-  "copypaste.copy": "Copy",
+  "copypaste.copied": "Copiat",
+  "copypaste.copy": "Copiere",
   "directory.federated": "Din fediversul cunoscut",
   "directory.local": "Doar din {domain}",
   "directory.new_arrivals": "Înscriși recent",
   "directory.recently_active": "Activi recent",
-  "disabled_account_banner.account_settings": "Account settings",
-  "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
-  "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.",
-  "dismissable_banner.dismiss": "Dismiss",
-  "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
-  "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.",
-  "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.",
-  "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.",
+  "disabled_account_banner.account_settings": "Setări cont",
+  "disabled_account_banner.text": "Contul tău {disabledAccount} este momentan dezactivat.",
+  "dismissable_banner.community_timeline": "Acestea sunt cele mai recente postări publice de la persoane ale căror conturi sunt găzduite de {domain}.",
+  "dismissable_banner.dismiss": "Renunțare",
+  "dismissable_banner.explore_links": "În acest moment, oamenii vorbesc despre aceste știri, pe acesta dar și pe alte servere ale rețelei descentralizate.",
+  "dismissable_banner.explore_statuses": "Aceste postări de pe acesta dar și alte servere din rețeaua descentralizată câștigă teren pe acest server chiar acum.",
+  "dismissable_banner.explore_tags": "Aceste hashtag-uri câștigă teren în rândul oamenilor de pe acesta și pe alte servere ale rețelei descentralizate chiar acum.",
+  "dismissable_banner.public_timeline": "Acestea sunt cele mai recente postări publice de la utilizatorii acestui server sau ai altor servere ale rețelei descentralizate cunoscute de acest server.",
   "embed.instructions": "Integrează această postare în site-ul tău copiind codul de mai jos.",
   "embed.preview": "Iată cum va arăta:",
   "emoji_button.activity": "Activități",
-  "emoji_button.clear": "Clear",
+  "emoji_button.clear": "Ștergeți",
   "emoji_button.custom": "Personalizați",
   "emoji_button.flags": "Steaguri",
   "emoji_button.food": "Alimente și băuturi",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json
index fb341a979..db5c67b20 100644
--- a/app/javascript/mastodon/locales/ru.json
+++ b/app/javascript/mastodon/locales/ru.json
@@ -2,10 +2,8 @@
   "about.blocks": "Модерируемые серверы",
   "about.contact": "Контакты:",
   "about.disclaimer": "Mastodon — бесплатное программным обеспечением с открытым исходным кодом и торговой маркой Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Причина",
-  "about.domain_blocks.domain": "Домен",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon обычно позволяет просматривать содержимое и взаимодействовать с другими пользователями любых серверов в Федиверсе. Вот исключения, сделанные конкретно для этого сервера.",
-  "about.domain_blocks.severity": "Ключ:.\"о. Домен_блокирует. Серьезность\"\n-> о компании. Домен _блокирует. строгость",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Игнорировать @{name}",
   "account.mute_notifications": "Игнорировать уведомления от @{name}",
   "account.muted": "Игнорируется",
+  "account.open_original_page": "Open original page",
   "account.posts": "Посты",
   "account.posts_with_replies": "Посты и ответы",
   "account.report": "Пожаловаться на @{name}",
@@ -95,10 +94,10 @@
   "bundle_modal_error.retry": "Попробовать снова",
   "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.",
   "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.",
-  "closed_registrations_modal.find_another_server": "Find another server",
-  "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!",
-  "closed_registrations_modal.title": "Signing up on Mastodon",
-  "column.about": "About",
+  "closed_registrations_modal.find_another_server": "Найдите другой сервер",
+  "closed_registrations_modal.preamble": "Mastodon децентрализован, поэтому независимо от того, где вы создадите свою учетную запись, вы сможете следить и взаимодействовать с кем угодно на этом сервере. Вы даже можете разместить его самостоятельно!",
+  "closed_registrations_modal.title": "Регистрация в Mastodon",
+  "column.about": "О проекте",
   "column.blocks": "Заблокированные пользователи",
   "column.bookmarks": "Закладки",
   "column.community": "Локальная лента",
@@ -151,8 +150,8 @@
   "confirmations.block.block_and_report": "Заблокировать и пожаловаться",
   "confirmations.block.confirm": "Заблокировать",
   "confirmations.block.message": "Вы уверены, что хотите заблокировать {name}?",
-  "confirmations.cancel_follow_request.confirm": "Withdraw request",
-  "confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?",
+  "confirmations.cancel_follow_request.confirm": "Отменить запрос",
+  "confirmations.cancel_follow_request.message": "Вы уверены, что хотите отозвать свой запрос на подписку {name}?",
   "confirmations.delete.confirm": "Удалить",
   "confirmations.delete.message": "Вы уверены, что хотите удалить этот пост?",
   "confirmations.delete_list.confirm": "Удалить",
@@ -185,9 +184,9 @@
   "disabled_account_banner.account_settings": "Настройки учётной записи",
   "disabled_account_banner.text": "Ваша учётная запись {disabledAccount} в настоящее время отключена.",
   "dismissable_banner.community_timeline": "Это самые последние публичные сообщения от людей, чьи учетные записи размещены в {domain}.",
-  "dismissable_banner.dismiss": "Dismiss",
-  "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
-  "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.",
+  "dismissable_banner.dismiss": "Закрыть",
+  "dismissable_banner.explore_links": "Об этих новостях прямо сейчас говорят люди на этом и других серверах децентрализованной сети.",
+  "dismissable_banner.explore_statuses": "Эти сообщения с этого и других серверов в децентрализованной сети, сейчас набирают популярность на этом сервере.",
   "dismissable_banner.explore_tags": "Эти хэштеги привлекают людей на этом и других серверах децентрализованной сети прямо сейчас.",
   "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.",
   "embed.instructions": "Встройте этот пост на свой сайт, скопировав следующий код:",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "На другом сервере",
   "interaction_modal.on_this_server": "На этом сервере",
-  "interaction_modal.other_server_instructions": "Просто скопируйте и вставьте этот URL в строку поиска вашего любимого приложения или веб-интерфейса там, где вы вошли.",
+  "interaction_modal.other_server_instructions": "Скопируйте и вставьте этот URL в поле поиска вашего любимого приложения Mastodon или веб-интерфейс вашего сервера Mastodon.",
   "interaction_modal.preamble": "Поскольку Mastodon децентрализован, вы можете использовать существующую учётную запись, размещенную на другом сервере Mastodon или совместимой платформе, если у вас нет учётной записи на этом сервере.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Подписаться на {name}",
diff --git a/app/javascript/mastodon/locales/sa.json b/app/javascript/mastodon/locales/sa.json
index d81dd7cdd..01ed9e336 100644
--- a/app/javascript/mastodon/locales/sa.json
+++ b/app/javascript/mastodon/locales/sa.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "निःशब्दम् @{name}",
   "account.mute_notifications": "@{name} सूचनाः निष्क्रियन्ताम्",
   "account.muted": "निःशब्दम्",
+  "account.open_original_page": "Open original page",
   "account.posts": "दौत्यानि",
   "account.posts_with_replies": "दौत्यानि प्रत्युत्तराणि च",
   "account.report": "आविद्यताम् @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/sc.json b/app/javascript/mastodon/locales/sc.json
index 36b6158cd..ea927e364 100644
--- a/app/javascript/mastodon/locales/sc.json
+++ b/app/javascript/mastodon/locales/sc.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Pone a @{name} a sa muda",
   "account.mute_notifications": "Disativa is notìficas de @{name}",
   "account.muted": "A sa muda",
+  "account.open_original_page": "Open original page",
   "account.posts": "Publicatziones",
   "account.posts_with_replies": "Publicatziones e rispostas",
   "account.report": "Signala @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/si.json b/app/javascript/mastodon/locales/si.json
index f77522624..1c13c76cd 100644
--- a/app/javascript/mastodon/locales/si.json
+++ b/app/javascript/mastodon/locales/si.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "@{name} නිහඬ කරන්න",
   "account.mute_notifications": "@{name}වෙතින් දැනුම්දීම් නිහඬ කරන්න",
   "account.muted": "නිහඬ කළා",
+  "account.open_original_page": "Open original page",
   "account.posts": "ලිපි",
   "account.posts_with_replies": "ටූට්ස් සහ පිළිතුරු",
   "account.report": "@{name} වාර්තා කරන්න",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json
index f874b7522..bbc1aa0c3 100644
--- a/app/javascript/mastodon/locales/sk.json
+++ b/app/javascript/mastodon/locales/sk.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Nevšímaj si @{name}",
   "account.mute_notifications": "Stĺm oboznámenia od @{name}",
   "account.muted": "Nevšímaný/á",
+  "account.open_original_page": "Open original page",
   "account.posts": "Príspevky/ov",
   "account.posts_with_replies": "Príspevky, aj s odpoveďami",
   "account.report": "Nahlás @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json
index 76c579820..a450225a5 100644
--- a/app/javascript/mastodon/locales/sl.json
+++ b/app/javascript/mastodon/locales/sl.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderirani strežniki",
   "about.contact": "Stik:",
   "about.disclaimer": "Mastodon je prosto, odprto-kodno programje in blagovna znamka Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Razlog",
-  "about.domain_blocks.domain": "Domena",
+  "about.domain_blocks.no_reason_available": "Razlog ni na voljo",
   "about.domain_blocks.preamble": "Mastodon vam splošno omogoča ogled vsebin in interakcijo z uporabniki iz vseh drugih strežnikov v fediverzumu. To so izjeme, opravljene na tem strežniku.",
-  "about.domain_blocks.severity": "Resnost",
   "about.domain_blocks.silenced.explanation": "V splošnem ne boste videli profilov in vsebin s tega strežnika, če jih eksplicino ne poiščete ali nanje naročite s sledenjem.",
   "about.domain_blocks.silenced.title": "Omejeno",
   "about.domain_blocks.suspended.explanation": "Nobeni podatki s tega strežnika ne bodo obdelani, shranjeni ali izmenjani, zaradi česar je nemogoča kakršna koli interakcija ali komunikacija z uporabniki s tega strežnika.",
@@ -34,7 +32,7 @@
   "account.follow": "Sledi",
   "account.followers": "Sledilci",
   "account.followers.empty": "Nihče ne sledi temu uporabniku.",
-  "account.followers_counter": "{count, plural, one {ima {count} sledilca} two {ima {count} sledilca} few {ima {count} sledilcev} other {ima {count} sledilce}}",
+  "account.followers_counter": "{count, plural, one {ima {counter} sledilca} two {ima {counter} sledilca} few {ima {counter} sledilce} other {ima {counter} sledilcev}}",
   "account.following": "Sledim",
   "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.",
@@ -51,13 +49,14 @@
   "account.mute": "Utišaj @{name}",
   "account.mute_notifications": "Utišaj obvestila od @{name}",
   "account.muted": "Utišan",
+  "account.open_original_page": "Odpri izvirno stran",
   "account.posts": "Objave",
   "account.posts_with_replies": "Objave in odgovori",
   "account.report": "Prijavi @{name}",
   "account.requested": "Čakanje na odobritev. Kliknite, da prekličete prošnjo za sledenje",
   "account.share": "Deli profil osebe @{name}",
   "account.show_reblogs": "Pokaži izpostavitve osebe @{name}",
-  "account.statuses_counter": "{count, plural, one {{counter} tut} two {{counter} tuta} few {{counter} tuti} other {{counter} tutov}}",
+  "account.statuses_counter": "{count, plural, one {{count} tut} two {{count} tuta} few {{count} tuti} other {{count} tutov}}",
   "account.unblock": "Odblokiraj @{name}",
   "account.unblock_domain": "Odblokiraj domeno {domain}",
   "account.unblock_short": "Odblokiraj",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Z računom na Mastodonu lahko odgovorite na to objavo.",
   "interaction_modal.on_another_server": "Na drugem strežniku",
   "interaction_modal.on_this_server": "Na tem strežniku",
-  "interaction_modal.other_server_instructions": "Enostavno kopirajte in prilepite ta URL v iskalno vrstico svoje priljubljene aplikacije ali spletni vmesnik, kjer ste prijavljeni.",
+  "interaction_modal.other_server_instructions": "Kopirajte in prilepite ta URL v polje iskanja vašega priljubljenega programa Mastodon ali spletnega vmesnika vašega strežnika Mastodon.",
   "interaction_modal.preamble": "Ker je Mastodon decentraliziran, lahko uporabite svoj obstoječi račun, ki gostuje na drugem strežniku Mastodon ali združljivi platformi, če nimate računa na tej.",
   "interaction_modal.title.favourite": "Daj objavo {name} med priljubljene",
   "interaction_modal.title.follow": "Sledi {name}",
@@ -450,7 +449,7 @@
   "privacy.change": "Spremeni zasebnost objave",
   "privacy.direct.long": "Objavi samo omenjenim uporabnikom",
   "privacy.direct.short": "Samo omenjeni",
-  "privacy.private.long": "Objavi samo sledilcem",
+  "privacy.private.long": "Vidno samo sledilcem",
   "privacy.private.short": "Samo sledilci",
   "privacy.public.long": "Vidno vsem",
   "privacy.public.short": "Javno",
diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json
index f53d140bc..cdcca1697 100644
--- a/app/javascript/mastodon/locales/sq.json
+++ b/app/javascript/mastodon/locales/sq.json
@@ -2,10 +2,8 @@
   "about.blocks": "Shërbyes të moderuar",
   "about.contact": "Kontakt:",
   "about.disclaimer": "Mastodon-i është software i lirë, me burim të hapët dhe shenjë tregtare e Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Arsye",
-  "about.domain_blocks.domain": "Përkatësi",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon-i ju lë përgjithësisht të shihni lëndë prej përdoruesish dhe të ndërveproni me ta nga cilido shërbyes tjetër qofshin në fedivers. Ka përjashtime që janë bërë në këtë shërbyes të dhënë.",
-  "about.domain_blocks.severity": "Rëndësi",
   "about.domain_blocks.silenced.explanation": "Përgjithësisht s’do të shihni profile dhe lëndë nga ky shërbyes, veç në i kërkofshi shprehimisht apo zgjidhni të bëhet kjo, duke i ndjekur.",
   "about.domain_blocks.silenced.title": "E kufizuar",
   "about.domain_blocks.suspended.explanation": "S’do të përpunohen, depozitohen apo shkëmbehen të dhëna të këtij shërbyesi, duke e bërë të pamundur çfarëdo ndërveprimi apo komunikimi me përdorues nga ky shërbyes.",
@@ -51,6 +49,7 @@
   "account.mute": "Heshtoni @{name}",
   "account.mute_notifications": "Heshtoji njoftimet prej @{name}",
   "account.muted": "Heshtuar",
+  "account.open_original_page": "Open original page",
   "account.posts": "Mesazhe",
   "account.posts_with_replies": "Mesazhe dhe përgjigje",
   "account.report": "Raportojeni @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Me një llogari në Mastodon, mund t’i përgjigjeni këtij postimi.",
   "interaction_modal.on_another_server": "Në një tjetër shërbyes",
   "interaction_modal.on_this_server": "Në këtë shërbyes",
-  "interaction_modal.other_server_instructions": "Thjesht kopjojeni dhe ngjiteni këtë URL te shtylla e kërkimeve të aplikacionit tuaj apo ndërfaqes tuaj web të parapëlqyer, kur të jeni i futur në llogari.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Ngaqë Mastodon-i është i decentralizuar, mund të përdorni llogarinë tuaj ekzistuese të sterhuar nga një tjetër shërbyes Mastodon, ose platformë e përputhshme, nëse s’keni një llogari në këtë shërbyes.",
   "interaction_modal.title.favourite": "Parapëlqejeni postimin e {name}",
   "interaction_modal.title.follow": "Ndiq {name}",
diff --git a/app/javascript/mastodon/locales/sr-Latn.json b/app/javascript/mastodon/locales/sr-Latn.json
index 4aa2c86e3..aae597974 100644
--- a/app/javascript/mastodon/locales/sr-Latn.json
+++ b/app/javascript/mastodon/locales/sr-Latn.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Ućutkaj korisnika @{name}",
   "account.mute_notifications": "Isključi obaveštenja od korisnika @{name}",
   "account.muted": "Muted",
+  "account.open_original_page": "Open original page",
   "account.posts": "Statusa",
   "account.posts_with_replies": "Toots with replies",
   "account.report": "Prijavi @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json
index 7e669bd18..d35f9bb02 100644
--- a/app/javascript/mastodon/locales/sr.json
+++ b/app/javascript/mastodon/locales/sr.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Ућуткај корисника @{name}",
   "account.mute_notifications": "Искључи обавештења од корисника @{name}",
   "account.muted": "Ућуткан",
+  "account.open_original_page": "Open original page",
   "account.posts": "Трубе",
   "account.posts_with_replies": "Трубе и одговори",
   "account.report": "Пријави @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json
index fbd34dfaf..dd4fa8683 100644
--- a/app/javascript/mastodon/locales/sv.json
+++ b/app/javascript/mastodon/locales/sv.json
@@ -2,10 +2,8 @@
   "about.blocks": "Modererade servrar",
   "about.contact": "Kontakt:",
   "about.disclaimer": "Mastodon är fri programvara med öppen källkod och ett varumärke tillhörande Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Anledning",
-  "about.domain_blocks.domain": "Domän",
+  "about.domain_blocks.no_reason_available": "Okänd orsak",
   "about.domain_blocks.preamble": "Som regel låter Mastodon dig interagera med användare från andra servrar i fediversumet och se deras innehåll. Detta är de undantag som gjorts på just denna servern.",
-  "about.domain_blocks.severity": "Allvarlighetsgrad",
   "about.domain_blocks.silenced.explanation": "Såvida du inte uttryckligen söker upp dem eller samtycker till att se dem genom att följa dem kommer du i allmänhet inte se profiler från den här servern, eller deras innehåll.",
   "about.domain_blocks.silenced.title": "Begränsat",
   "about.domain_blocks.suspended.explanation": "Inga data från denna server kommer behandlas, lagras eller bytas ut, vilket omöjliggör kommunikation med användare på denna server.",
@@ -40,23 +38,24 @@
   "account.follows.empty": "Denna användare följer inte någon än.",
   "account.follows_you": "Följer dig",
   "account.go_to_profile": "Gå till profilen",
-  "account.hide_reblogs": "Dölj puffar från @{name}",
+  "account.hide_reblogs": "Dölj boostar från @{name}",
   "account.joined_short": "Gick med",
   "account.languages": "Ändra prenumererade språk",
   "account.link_verified_on": "Ägarskap för denna länk kontrollerades den {date}",
-  "account.locked_info": "Detta konto har låst integritetsstatus. Ägaren väljer manuellt vem som kan följa.",
+  "account.locked_info": "För detta konto har ägaren valt att manuellt godkänna vem som kan följa dem.",
   "account.media": "Media",
   "account.mention": "Nämn @{name}",
   "account.moved_to": "{name} har indikerat att hen har ett nytt konto:",
   "account.mute": "Tysta @{name}",
   "account.mute_notifications": "Stäng av notifieringar från @{name}",
   "account.muted": "Tystad",
+  "account.open_original_page": "Öppna den ursprungliga sidan",
   "account.posts": "Inlägg",
   "account.posts_with_replies": "Inlägg och svar",
   "account.report": "Rapportera @{name}",
-  "account.requested": "Inväntar godkännande. Klicka för att avbryta följarförfrågan",
+  "account.requested": "Inväntar godkännande. Klicka för att avbryta följdförfrågan",
   "account.share": "Dela @{name}s profil",
-  "account.show_reblogs": "Visa boostningar av @{name}",
+  "account.show_reblogs": "Visa boostar från @{name}",
   "account.statuses_counter": "{count, plural, one {{counter} Inlägg} other {{counter} Inlägg}}",
   "account.unblock": "Avblockera @{name}",
   "account.unblock_domain": "Sluta dölja {domain}",
@@ -77,21 +76,21 @@
   "alert.unexpected.message": "Ett oväntat fel uppstod.",
   "alert.unexpected.title": "Hoppsan!",
   "announcement.announcement": "Meddelande",
-  "attachments_list.unprocessed": "(obearbetad)",
+  "attachments_list.unprocessed": "(obehandlad)",
   "audio.hide": "Dölj audio",
   "autosuggest_hashtag.per_week": "{count} per vecka",
   "boost_modal.combo": "Du kan trycka på {combo} för att hoppa över detta nästa gång",
   "bundle_column_error.copy_stacktrace": "Kopiera felrapport",
   "bundle_column_error.error.body": "Den begärda sidan kunde inte visas. Det kan bero på ett fel i vår kod eller ett problem med webbläsarens kompatibilitet.",
   "bundle_column_error.error.title": "Åh nej!",
-  "bundle_column_error.network.body": "Det uppstod ett fel när denna sida skulle visas. Detta kan bero på ett tillfälligt problem med din internetanslutning eller denna server.",
+  "bundle_column_error.network.body": "Det uppstod ett fel när denna sida skulle visas. Detta kan bero på ett tillfälligt problem med din internetanslutning eller med servern.",
   "bundle_column_error.network.title": "Nätverksfel",
   "bundle_column_error.retry": "Försök igen",
   "bundle_column_error.return": "Tillbaka till startsidan",
-  "bundle_column_error.routing.body": "Den begärda sidan kunde inte hittas. Är du säker på att URL:en i adressfältet är korrekt?",
+  "bundle_column_error.routing.body": "Den begärda sidan kunde inte hittas. Är du säker på att adressen angivits korrekt?",
   "bundle_column_error.routing.title": "404",
   "bundle_modal_error.close": "Stäng",
-  "bundle_modal_error.message": "Något gick fel när denna komponent laddades.",
+  "bundle_modal_error.message": "Något gick fel när komponenten skulle läsas in.",
   "bundle_modal_error.retry": "Försök igen",
   "closed_registrations.other_server_instructions": "Eftersom Mastodon är decentraliserat kan du skapa ett konto på en annan server och fortfarande interagera med denna.",
   "closed_registrations_modal.description": "Det är för närvarande inte möjligt att skapa ett konto på {domain} men kom ihåg att du inte behöver ett konto specifikt på {domain} för att använda Mastodon.",
@@ -167,7 +166,7 @@
   "confirmations.mute.explanation": "Detta kommer dölja inlägg från dem och inlägg som nämner dem, men de tillåts fortfarande se dina inlägg och följa dig.",
   "confirmations.mute.message": "Är du säker på att du vill tysta {name}?",
   "confirmations.redraft.confirm": "Radera & gör om",
-  "confirmations.redraft.message": "Är du säker på att du vill radera detta inlägg och göra om det? Favoritmarkeringar, boostningar och svar till det ursprungliga inlägget kommer förlora sitt sammanhang.",
+  "confirmations.redraft.message": "Är du säker på att du vill radera detta inlägg och göra om det? Favoritmarkeringar, boostar och svar till det ursprungliga inlägget kommer förlora sitt sammanhang.",
   "confirmations.reply.confirm": "Svara",
   "confirmations.reply.message": "Om du svarar nu kommer det att ersätta meddelandet du håller på att skapa. Är du säker på att du vill fortsätta?",
   "confirmations.unfollow.confirm": "Avfölj",
@@ -283,7 +282,7 @@
   "hashtag.follow": "Följ hashtagg",
   "hashtag.unfollow": "Avfölj hashtagg",
   "home.column_settings.basic": "Grundläggande",
-  "home.column_settings.show_reblogs": "Visa boostningar",
+  "home.column_settings.show_reblogs": "Visa boostar",
   "home.column_settings.show_replies": "Visa svar",
   "home.hide_announcements": "Dölj notiser",
   "home.show_announcements": "Visa notiser",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Med ett Mastodon-konto kan du svara på detta inlägg.",
   "interaction_modal.on_another_server": "På en annan server",
   "interaction_modal.on_this_server": "På denna server",
-  "interaction_modal.other_server_instructions": "Kopiera och klistra in denna webbadress i din favoritapps sökfält eller i webbgränssnittet där du är inloggad.",
+  "interaction_modal.other_server_instructions": "Kopiera och klistra in denna URL i sökfältet i din favorit-Mastodon-app eller webbgränssnittet på din Mastodon-server.",
   "interaction_modal.preamble": "Eftersom Mastodon är decentraliserat kan du använda ditt befintliga konto från en annan Mastodonserver, eller annan kompatibel plattform, om du inte har ett konto på denna.",
   "interaction_modal.title.favourite": "Favoritmarkera {name}s inlägg",
   "interaction_modal.title.follow": "Följ {name}",
@@ -414,7 +413,7 @@
   "notifications.column_settings.mention": "Omnämningar:",
   "notifications.column_settings.poll": "Omröstningsresultat:",
   "notifications.column_settings.push": "Push-aviseringar",
-  "notifications.column_settings.reblog": "Boostningar:",
+  "notifications.column_settings.reblog": "Boostar:",
   "notifications.column_settings.show": "Visa i kolumnen",
   "notifications.column_settings.sound": "Spela upp ljud",
   "notifications.column_settings.status": "Nya inlägg:",
@@ -422,7 +421,7 @@
   "notifications.column_settings.unread_notifications.highlight": "Markera o-lästa aviseringar",
   "notifications.column_settings.update": "Redigeringar:",
   "notifications.filter.all": "Alla",
-  "notifications.filter.boosts": "Boostningar",
+  "notifications.filter.boosts": "Boostar",
   "notifications.filter.favourites": "Favoriter",
   "notifications.filter.follows": "Följer",
   "notifications.filter.mentions": "Omnämningar",
@@ -544,7 +543,7 @@
   "status.admin_status": "Öppna detta inlägg i modereringsgränssnittet",
   "status.block": "Blockera @{name}",
   "status.bookmark": "Bokmärk",
-  "status.cancel_reblog_private": "Avboosta",
+  "status.cancel_reblog_private": "Sluta boosta",
   "status.cannot_reblog": "Detta inlägg kan inte boostas",
   "status.copy": "Kopiera inläggslänk",
   "status.delete": "Radera",
diff --git a/app/javascript/mastodon/locales/szl.json b/app/javascript/mastodon/locales/szl.json
index d90153a95..a8585c042 100644
--- a/app/javascript/mastodon/locales/szl.json
+++ b/app/javascript/mastodon/locales/szl.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Mute @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
+  "account.open_original_page": "Open original page",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Report @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/ta.json b/app/javascript/mastodon/locales/ta.json
index c01242e76..a69becb95 100644
--- a/app/javascript/mastodon/locales/ta.json
+++ b/app/javascript/mastodon/locales/ta.json
@@ -1,11 +1,9 @@
 {
-  "about.blocks": "Moderated servers",
-  "about.contact": "Contact:",
-  "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
-  "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
+  "about.blocks": "நடுநிலையான சேவையகங்கள்",
+  "about.contact": "தொடர்பு:",
+  "about.disclaimer": "மாஸ்டோடன் இலவச, திறந்த மூல மென்பொருள் மற்றும் மாஸ்டோடன் gGmbH இன் வர்த்தக முத்திரை.",
+  "about.domain_blocks.no_reason_available": "காரணம் கிடைக்கவில்லை",
+  "about.domain_blocks.preamble": "மாஸ்டோடன் பொதுவாக நீங்கள் ஃபெடிவர்ஸில் உள்ள வேறு எந்தச் சர்வரிலிருந்தும் உள்ளடக்கத்தைப் பார்க்கவும், பயனர்களுடன் தொடர்பு கொள்ளவும் அனுமதிக்கிறது. இந்தக் குறிப்பிட்ட சர்வரில் செய்யப்பட்ட விதிவிலக்குகள் இவை.",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "ஊமையான @{name}",
   "account.mute_notifications": "அறிவிப்புகளை முடக்கு @{name}",
   "account.muted": "முடக்கியது",
+  "account.open_original_page": "Open original page",
   "account.posts": "டூட்டுகள்",
   "account.posts_with_replies": "Toots மற்றும் பதில்கள்",
   "account.report": "@{name} -ஐப் புகாரளி",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/tai.json b/app/javascript/mastodon/locales/tai.json
index a1f4a2732..a3ae8a051 100644
--- a/app/javascript/mastodon/locales/tai.json
+++ b/app/javascript/mastodon/locales/tai.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Mute @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
+  "account.open_original_page": "Open original page",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Report @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/te.json b/app/javascript/mastodon/locales/te.json
index 669a4eb0c..1d99fc4df 100644
--- a/app/javascript/mastodon/locales/te.json
+++ b/app/javascript/mastodon/locales/te.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "@{name}ను మ్యూట్ చెయ్యి",
   "account.mute_notifications": "@{name}నుంచి ప్రకటనలను మ్యూట్ చెయ్యి",
   "account.muted": "మ్యూట్ అయినవి",
+  "account.open_original_page": "Open original page",
   "account.posts": "టూట్లు",
   "account.posts_with_replies": "టూట్లు మరియు ప్రత్యుత్తరములు",
   "account.report": "@{name}పై ఫిర్యాదుచేయు",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json
index 044090078..77279ba01 100644
--- a/app/javascript/mastodon/locales/th.json
+++ b/app/javascript/mastodon/locales/th.json
@@ -2,10 +2,8 @@
   "about.blocks": "เซิร์ฟเวอร์ที่มีการควบคุม",
   "about.contact": "ติดต่อ:",
   "about.disclaimer": "Mastodon เป็นซอฟต์แวร์เสรี โอเพนซอร์ส และเครื่องหมายการค้าของ Mastodon gGmbH",
-  "about.domain_blocks.comment": "เหตุผล",
-  "about.domain_blocks.domain": "โดเมน",
+  "about.domain_blocks.no_reason_available": "เหตุผลไม่พร้อมใช้งาน",
   "about.domain_blocks.preamble": "โดยทั่วไป Mastodon อนุญาตให้คุณดูเนื้อหาจากและโต้ตอบกับผู้ใช้จากเซิร์ฟเวอร์อื่นใดในจักรวาลสหพันธ์ นี่คือข้อยกเว้นที่ทำขึ้นในเซิร์ฟเวอร์นี้โดยเฉพาะ",
-  "about.domain_blocks.severity": "ความรุนแรง",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "จำกัดอยู่",
   "about.domain_blocks.suspended.explanation": "จะไม่ประมวลผล จัดเก็บ หรือแลกเปลี่ยนข้อมูลจากเซิร์ฟเวอร์นี้ ทำให้การโต้ตอบหรือการสื่อสารใด ๆ กับผู้ใช้จากเซิร์ฟเวอร์นี้เป็นไปไม่ได้",
@@ -51,6 +49,7 @@
   "account.mute": "ซ่อน @{name}",
   "account.mute_notifications": "ซ่อนการแจ้งเตือนจาก @{name}",
   "account.muted": "ซ่อนอยู่",
+  "account.open_original_page": "เปิดหน้าดั้งเดิม",
   "account.posts": "โพสต์",
   "account.posts_with_replies": "โพสต์และการตอบกลับ",
   "account.report": "รายงาน @{name}",
@@ -82,9 +81,9 @@
   "autosuggest_hashtag.per_week": "{count} ต่อสัปดาห์",
   "boost_modal.combo": "คุณสามารถกด {combo} เพื่อข้ามสิ่งนี้ในครั้งถัดไป",
   "bundle_column_error.copy_stacktrace": "คัดลอกรายงานข้อผิดพลาด",
-  "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.",
+  "bundle_column_error.error.body": "ไม่สามารถแสดงผลหน้าที่ขอ ข้อผิดพลาดอาจเป็นเพราะข้อบกพร่องในโค้ดของเรา หรือปัญหาความเข้ากันได้ของเบราว์เซอร์",
   "bundle_column_error.error.title": "โอ้ ไม่!",
-  "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.",
+  "bundle_column_error.network.body": "มีข้อผิดพลาดขณะพยายามโหลดหน้านี้ นี่อาจเป็นเพราะปัญหาชั่วคราวกับการเชื่อมต่ออินเทอร์เน็ตของคุณหรือเซิร์ฟเวอร์นี้",
   "bundle_column_error.network.title": "ข้อผิดพลาดเครือข่าย",
   "bundle_column_error.retry": "ลองอีกครั้ง",
   "bundle_column_error.return": "กลับไปที่หน้าแรก",
@@ -93,7 +92,7 @@
   "bundle_modal_error.close": "ปิด",
   "bundle_modal_error.message": "มีบางอย่างผิดพลาดขณะโหลดส่วนประกอบนี้",
   "bundle_modal_error.retry": "ลองอีกครั้ง",
-  "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.",
+  "closed_registrations.other_server_instructions": "เนื่องจาก Mastodon เป็นแบบกระจายศูนย์ คุณสามารถสร้างบัญชีในเซิร์ฟเวอร์อื่นและยังคงโต้ตอบกับเซิร์ฟเวอร์นี้",
   "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.",
   "closed_registrations_modal.find_another_server": "ค้นหาเซิร์ฟเวอร์อื่น",
   "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!",
@@ -183,7 +182,7 @@
   "directory.new_arrivals": "มาใหม่",
   "directory.recently_active": "ใช้งานล่าสุด",
   "disabled_account_banner.account_settings": "การตั้งค่าบัญชี",
-  "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
+  "disabled_account_banner.text": "มีการปิดใช้งานบัญชีของคุณ {disabledAccount} ในปัจจุบัน",
   "dismissable_banner.community_timeline": "นี่คือโพสต์สาธารณะล่าสุดจากผู้คนที่บัญชีได้รับการโฮสต์โดย {domain}",
   "dismissable_banner.dismiss": "ปิด",
   "dismissable_banner.explore_links": "เรื่องข่าวเหล่านี้กำลังได้รับการพูดถึงโดยผู้คนในเซิร์ฟเวอร์นี้และอื่น ๆ ของเครือข่ายแบบกระจายศูนย์ในตอนนี้",
@@ -293,8 +292,8 @@
   "interaction_modal.description.reply": "เมื่อมีบัญชีใน Mastodon คุณสามารถตอบกลับโพสต์นี้",
   "interaction_modal.on_another_server": "ในเซิร์ฟเวอร์อื่น",
   "interaction_modal.on_this_server": "ในเซิร์ฟเวอร์นี้",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
-  "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
+  "interaction_modal.other_server_instructions": "คัดลอกแล้ววาง URL นี้ลงในช่องค้นหาของแอป Mastodon โปรดของคุณหรือส่วนติดต่อเว็บของเซิร์ฟเวอร์ Mastodon ของคุณ",
+  "interaction_modal.preamble": "เนื่องจาก Mastodon เป็นแบบกระจายศูนย์ คุณสามารถใช้บัญชีที่มีอยู่ของคุณที่ได้รับการโฮสต์โดยเซิร์ฟเวอร์ Mastodon อื่นหรือแพลตฟอร์มที่เข้ากันได้หากคุณไม่มีบัญชีในเซิร์ฟเวอร์นี้",
   "interaction_modal.title.favourite": "ชื่นชอบโพสต์ของ {name}",
   "interaction_modal.title.follow": "ติดตาม {name}",
   "interaction_modal.title.reblog": "ดันโพสต์ของ {name}",
@@ -361,7 +360,7 @@
   "media_gallery.toggle_visible": "{number, plural, other {ซ่อนภาพ}}",
   "missing_indicator.label": "ไม่พบ",
   "missing_indicator.sublabel": "ไม่พบทรัพยากรนี้",
-  "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
+  "moved_to_account_banner.text": "มีการปิดใช้งานบัญชีของคุณ {disabledAccount} ในปัจจุบันเนื่องจากคุณได้ย้ายไปยัง {movedToAccount}",
   "mute_modal.duration": "ระยะเวลา",
   "mute_modal.hide_notifications": "ซ่อนการแจ้งเตือนจากผู้ใช้นี้?",
   "mute_modal.indefinite": "ไม่มีกำหนด",
diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json
index e3df3cd82..1ed5e5872 100644
--- a/app/javascript/mastodon/locales/tr.json
+++ b/app/javascript/mastodon/locales/tr.json
@@ -2,10 +2,8 @@
   "about.blocks": "Denetlenen sunucular",
   "about.contact": "İletişim:",
   "about.disclaimer": "Mastodon özgür, açık kaynak bir yazılımdır ve Mastodon gGmbH şirketinin ticari markasıdır.",
-  "about.domain_blocks.comment": "Gerekçe",
-  "about.domain_blocks.domain": "Alan adı",
+  "about.domain_blocks.no_reason_available": "Grerekçe mevcut değil",
   "about.domain_blocks.preamble": "Mastodon, genel olarak fediverse'teki herhangi bir sunucudan içerik görüntülemenize ve kullanıcılarıyla etkileşim kurmanıza izin verir. Bunlar, bu sunucuda yapılmış olan istisnalardır.",
-  "about.domain_blocks.severity": "Önem derecesi",
   "about.domain_blocks.silenced.explanation": "Açık bir şekilde aramadığınız veya takip ederek abone olmadığınız sürece, bu sunucudaki profilleri veya içerikleri genelde göremeyeceksiniz.",
   "about.domain_blocks.silenced.title": "Sınırlı",
   "about.domain_blocks.suspended.explanation": "Bu sunucudaki hiçbir veri işlenmeyecek, saklanmayacak veya değiş tokuş edilmeyecektir, dolayısıyla bu sunucudaki kullanıcılarla herhangi bir etkileşim veya iletişim imkansız olacaktır.",
@@ -51,6 +49,7 @@
   "account.mute": "@{name}'i sustur",
   "account.mute_notifications": "@{name}'in bildirimlerini sustur",
   "account.muted": "Susturuldu",
+  "account.open_original_page": "Asıl sayfayı aç",
   "account.posts": "Gönderiler",
   "account.posts_with_replies": "Gönderiler ve yanıtlar",
   "account.report": "@{name}'i şikayet et",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Mastodon'daki bir hesapla, bu gönderiye yanıt verebilirsiniz.",
   "interaction_modal.on_another_server": "Farklı bir sunucuda",
   "interaction_modal.on_this_server": "Bu sunucuda",
-  "interaction_modal.other_server_instructions": "Basitçe bu URL'yi kopyalayın ve beğendiğiniz uygulamanın veya giriş yapmış olduğunuz bir web arayüzünün arama çubuğuna yapıştırın.",
+  "interaction_modal.other_server_instructions": "Bu URL'yi kopyalayın ve Mastodon sunucunuzun web arayüzündeki veya gözde Mastodon uygulamanızdaki arama sahasına yapıştırın.",
   "interaction_modal.preamble": "Mastodon ademi merkeziyetçi olduğu için, bu sunucuda bir hesabınız yoksa bile başka bir Mastodon sunucusu veya uyumlu bir platformda barındırılan mevcut hesabınızı kullanabilirsiniz.",
   "interaction_modal.title.favourite": "{name} kişisinin gönderisini favorilerine ekle",
   "interaction_modal.title.follow": "{name} kişisini takip et",
diff --git a/app/javascript/mastodon/locales/tt.json b/app/javascript/mastodon/locales/tt.json
index 18e95f4a0..fc36699c7 100644
--- a/app/javascript/mastodon/locales/tt.json
+++ b/app/javascript/mastodon/locales/tt.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Mute @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
+  "account.open_original_page": "Open original page",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Report @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/ug.json b/app/javascript/mastodon/locales/ug.json
index d90153a95..a8585c042 100644
--- a/app/javascript/mastodon/locales/ug.json
+++ b/app/javascript/mastodon/locales/ug.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "Mute @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
+  "account.open_original_page": "Open original page",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Report @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json
index c5cdcb2f5..3273dae14 100644
--- a/app/javascript/mastodon/locales/uk.json
+++ b/app/javascript/mastodon/locales/uk.json
@@ -2,10 +2,8 @@
   "about.blocks": "Модеровані сервери",
   "about.contact": "Kонтакти:",
   "about.disclaimer": "Mastodon — це безплатне програмне забезпечення з відкритим вихідним кодом та торгова марка компанії Mastodon GmbH.",
-  "about.domain_blocks.comment": "Причина",
-  "about.domain_blocks.domain": "Домен",
+  "about.domain_blocks.no_reason_available": "Причина недоступна",
   "about.domain_blocks.preamble": "Mastodon зазвичай дозволяє вам взаємодіяти з користувачами будь-яких серверів у Федіверсі та переглядати їх вміст. Ось винятки, які було зроблено на цьому конкретному сервері.",
-  "about.domain_blocks.severity": "Важливість",
   "about.domain_blocks.silenced.explanation": "Ви загалом не побачите профілі та вміст цього сервера, якщо тільки Ви не обрали його явним або не обрали його наступним чином.",
   "about.domain_blocks.silenced.title": "Обмежені",
   "about.domain_blocks.suspended.explanation": "Дані з цього сервера не обробляться, зберігаються чи обмінюються, взаємодію чи спілкування з користувачами цього сервера неможливі.",
@@ -51,6 +49,7 @@
   "account.mute": "Приховати @{name}",
   "account.mute_notifications": "Не показувати сповіщення від @{name}",
   "account.muted": "Нехтується",
+  "account.open_original_page": "Відкрити оригінальну сторінку",
   "account.posts": "Дописи",
   "account.posts_with_replies": "Дописи й відповіді",
   "account.report": "Поскаржитися на @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Маючи обліковий запис на Mastodon, ви можете відповісти на цей допис.",
   "interaction_modal.on_another_server": "На іншому сервері",
   "interaction_modal.on_this_server": "На цьому сервері",
-  "interaction_modal.other_server_instructions": "Просто скопіюйте і вставте цей URL у панель пошуку вашого улюбленого застосунку або вебінтерфейсу, до якого ви ввійшли.",
+  "interaction_modal.other_server_instructions": "Скопіюйте та вставте цю URL-адресу в поле пошуку вашого улюбленого застосунку Mastodon або вебінтерфейсу вашого сервера Mastodon.",
   "interaction_modal.preamble": "Оскільки Mastodon децентралізований, ви можете використовувати свій наявний обліковий запис, розміщений на іншому сервері Mastodon або сумісній платформі, якщо у вас немає облікового запису на цьому сервері.",
   "interaction_modal.title.favourite": "Вподобати допис {name}",
   "interaction_modal.title.follow": "Підписатися на {name}",
diff --git a/app/javascript/mastodon/locales/ur.json b/app/javascript/mastodon/locales/ur.json
index 0d8da88a6..3702a7ffe 100644
--- a/app/javascript/mastodon/locales/ur.json
+++ b/app/javascript/mastodon/locales/ur.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "خاموش @{name}",
   "account.mute_notifications": "@{name} سے اطلاعات خاموش کریں",
   "account.muted": "خاموش کردہ",
+  "account.open_original_page": "Open original page",
   "account.posts": "ٹوٹ",
   "account.posts_with_replies": "ٹوٹ اور جوابات",
   "account.report": "@{name} اطلاع کریں",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json
index 5dfe7e222..11847e1b2 100644
--- a/app/javascript/mastodon/locales/vi.json
+++ b/app/javascript/mastodon/locales/vi.json
@@ -2,10 +2,8 @@
   "about.blocks": "Giới hạn chung",
   "about.contact": "Liên lạc:",
   "about.disclaimer": "Mastodon là phần mềm tự do mã nguồn mở, một thương hiệu của Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Lý do",
-  "about.domain_blocks.domain": "Máy chủ",
+  "about.domain_blocks.no_reason_available": "Lý do không được cung cấp",
   "about.domain_blocks.preamble": "Mastodon cho phép bạn tương tác nội dung và giao tiếp với mọi người từ bất kỳ máy chủ nào khác trong mạng liên hợp. Còn máy chủ này có những ngoại lệ riêng.",
-  "about.domain_blocks.severity": "Mức độ",
   "about.domain_blocks.silenced.explanation": "Nói chung, bạn sẽ không thấy người và nội dung từ máy chủ này, trừ khi bạn tự tìm kiếm hoặc tự theo dõi.",
   "about.domain_blocks.silenced.title": "Hạn chế",
   "about.domain_blocks.suspended.explanation": "Dữ liệu từ máy chủ này sẽ không được xử lý, lưu trữ hoặc trao đổi. Mọi tương tác hoặc giao tiếp với người từ máy chủ này đều bị cấm.",
@@ -51,6 +49,7 @@
   "account.mute": "Ẩn @{name}",
   "account.mute_notifications": "Tắt thông báo từ @{name}",
   "account.muted": "Đã ẩn",
+  "account.open_original_page": "Mở trang gốc",
   "account.posts": "Tút",
   "account.posts_with_replies": "Trả lời",
   "account.report": "Báo cáo @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "Với tài khoản Mastodon, bạn có thể bình luận tút này.",
   "interaction_modal.on_another_server": "Trên một máy chủ khác",
   "interaction_modal.on_this_server": "Trên máy chủ này",
-  "interaction_modal.other_server_instructions": "Sao chép và dán URL này vào thanh tìm kiếm của ứng dụng bạn yêu thích hay trang web mà bạn đã đăng nhập vào.",
+  "interaction_modal.other_server_instructions": "Sao chép và dán URL này vào thanh tìm kiếm của ứng dụng Mastodon hoặc giao diện web máy chủ Mastodon mà bạn hiện dùng.",
   "interaction_modal.preamble": "Do Mastodon phi tập trung, bạn có thể sử dụng tài khoản hiện có trên một máy chủ Mastodon khác hoặc một nền tảng tương thích nếu bạn chưa có tài khoản trên máy chủ này.",
   "interaction_modal.title.favourite": "Thích tút của {name}",
   "interaction_modal.title.follow": "Theo dõi {name}",
diff --git a/app/javascript/mastodon/locales/whitelist_de.json b/app/javascript/mastodon/locales/whitelist_de.json
index 6c9617e60..448cc9e77 100644
--- a/app/javascript/mastodon/locales/whitelist_de.json
+++ b/app/javascript/mastodon/locales/whitelist_de.json
@@ -2,7 +2,6 @@
   "relative_time.seconds",
   "relative_time.minutes",
   "relative_time.hours",
-  "relative_time.days",
   "account.badges.bot",
   "compose_form.publish_loud",
   "search_results.hashtags"
diff --git a/app/javascript/mastodon/locales/zgh.json b/app/javascript/mastodon/locales/zgh.json
index 41a19303a..804fb6c0a 100644
--- a/app/javascript/mastodon/locales/zgh.json
+++ b/app/javascript/mastodon/locales/zgh.json
@@ -2,10 +2,8 @@
   "about.blocks": "Moderated servers",
   "about.contact": "Contact:",
   "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.comment": "Reason",
-  "about.domain_blocks.domain": "Domain",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.severity": "Severity",
   "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
   "about.domain_blocks.silenced.title": "Limited",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@@ -51,6 +49,7 @@
   "account.mute": "ⵥⵥⵉⵥⵏ @{name}",
   "account.mute_notifications": "ⵥⵥⵉⵥⵏ ⵜⵉⵏⵖⵎⵉⵙⵉⵏ ⵙⴳ @{name}",
   "account.muted": "ⵉⵜⵜⵓⵥⵉⵥⵏ",
+  "account.open_original_page": "Open original page",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Report @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
   "interaction_modal.on_another_server": "On a different server",
   "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Follow {name}",
diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json
index fb83d0f71..10c137e83 100644
--- a/app/javascript/mastodon/locales/zh-CN.json
+++ b/app/javascript/mastodon/locales/zh-CN.json
@@ -1,11 +1,9 @@
 {
   "about.blocks": "被限制的服务器",
   "about.contact": "联系方式:",
-  "about.disclaimer": "Mastodon是免费,开源的软件,由Mastodon gGmbH持有商标。",
-  "about.domain_blocks.comment": "原因",
-  "about.domain_blocks.domain": "域名",
+  "about.disclaimer": "Mastodon 是免费的开源软件,由 Mastodon gGmbH 持有商标。",
+  "about.domain_blocks.no_reason_available": "原因不可用",
   "about.domain_blocks.preamble": "通常来说,在 Mastodon 上,你可以浏览联邦宇宙中任何一台服务器上的内容,并且和上面的用户互动。但其中一些在本服务器上被设置为例外。",
-  "about.domain_blocks.severity": "级别",
   "about.domain_blocks.silenced.explanation": "除非明确地搜索并关注对方,否则你不会看到来自此服务器的用户信息与内容。",
   "about.domain_blocks.silenced.title": "已隐藏",
   "about.domain_blocks.suspended.explanation": "此服务器的数据将不会被处理、存储或者交换,本站也将无法和来自此服务器的用户互动或者交流。",
@@ -47,10 +45,11 @@
   "account.locked_info": "此账户已锁嘟。账户所有者会手动审核关注者。",
   "account.media": "媒体",
   "account.mention": "提及 @{name}",
-  "account.moved_to": "{name} 的新账户现在是:",
+  "account.moved_to": "{name} 的新账号是:",
   "account.mute": "隐藏 @{name}",
   "account.mute_notifications": "隐藏来自 @{name} 的通知",
   "account.muted": "已隐藏",
+  "account.open_original_page": "打开原始页面",
   "account.posts": "嘟文",
   "account.posts_with_replies": "嘟文和回复",
   "account.report": "举报 @{name}",
@@ -93,10 +92,10 @@
   "bundle_modal_error.close": "关闭",
   "bundle_modal_error.message": "载入这个组件时发生了错误。",
   "bundle_modal_error.retry": "重试",
-  "closed_registrations.other_server_instructions": "基于Mastodon去中心化的特性, 你可以在其它服务器上创建账户并与该服务器保持联系.",
-  "closed_registrations_modal.description": "您并不能在 {domain} 上创建账户, 但您无需在 {domain} 上的账户也可以使用Mastodon.",
+  "closed_registrations.other_server_instructions": "基于 Mastodon 去中心化的特性,你可以在其它服务器上创建账号并继续与此账号保持联系。",
+  "closed_registrations_modal.description": "目前不能在 {domain} 上创建账号,但请注意使用 Mastodon 并非必须持有 {domain} 上的账号。",
   "closed_registrations_modal.find_another_server": "查找另外的服务器",
-  "closed_registrations_modal.preamble": "Mastodon是分布式的,所以无论您在哪个实例创建帐户,您都可以关注并与本服务器上的任何人交流。 甚至您可以自己搭建实例。",
+  "closed_registrations_modal.preamble": "Mastodon 是去中心化的,所以无论在哪个实例创建账号,都可以关注本服务器上的账号并与之交流。 或者你还可以自己搭建实例!",
   "closed_registrations_modal.title": "在 Mastodon 注册",
   "column.about": "关于",
   "column.blocks": "已屏蔽的用户",
@@ -182,8 +181,8 @@
   "directory.local": "仅来自 {domain}",
   "directory.new_arrivals": "新来者",
   "directory.recently_active": "最近活跃",
-  "disabled_account_banner.account_settings": "账户设置",
-  "disabled_account_banner.text": "您的帐户 {disabledAccount} 目前已被禁用。",
+  "disabled_account_banner.account_settings": "账号设置",
+  "disabled_account_banner.text": "您的账号 {disabledAccount} 目前已被禁用。",
   "dismissable_banner.community_timeline": "这些是来自 {domain} 用户的最新公共嘟文。",
   "dismissable_banner.dismiss": "忽略",
   "dismissable_banner.explore_links": "这些新闻故事正被本站和分布式网络上其他站点的用户谈论。",
@@ -293,8 +292,8 @@
   "interaction_modal.description.reply": "拥有一个 Mastodon 账号,你可以回复此嘟文。",
   "interaction_modal.on_another_server": "在另一服务器",
   "interaction_modal.on_this_server": "在此服务器",
-  "interaction_modal.other_server_instructions": "只需复制此 URL 并将其粘贴在搜索栏中,使用你喜欢的应用或网页界面均可。",
-  "interaction_modal.preamble": "由于 Mastodon 是去中心化的,如果你在本站没有账号,也可以使用在另一 Mastodon 服务器或其他兼容平台上的已有账号。",
+  "interaction_modal.other_server_instructions": "复制此链接并粘贴到你使用的Mastodon应用或者Mastodon服务器网页版搜索栏中。",
+  "interaction_modal.preamble": "基于 Mastodon 去中心化的特性,如果你在本站没有账号,也可以使用在另一 Mastodon 服务器或其他兼容平台上的已有账号。",
   "interaction_modal.title.favourite": "喜欢 {name} 的嘟文",
   "interaction_modal.title.follow": "关注 {name}",
   "interaction_modal.title.reblog": "转发 {name} 的嘟文",
@@ -342,7 +341,7 @@
   "lightbox.next": "下一个",
   "lightbox.previous": "上一个",
   "limited_account_hint.action": "仍然显示个人资料",
-  "limited_account_hint.title": "此账户已被 {domain} 管理员隐藏。",
+  "limited_account_hint.title": "此账号资料已被 {domain} 管理员隐藏。",
   "lists.account.add": "添加到列表",
   "lists.account.remove": "从列表中移除",
   "lists.delete": "删除列表",
@@ -361,7 +360,7 @@
   "media_gallery.toggle_visible": "隐藏图片",
   "missing_indicator.label": "找不到内容",
   "missing_indicator.sublabel": "无法找到此资源",
-  "moved_to_account_banner.text": "您的帐户 {disabledAccount} 已停用,因为您已迁移到 {movedToAccount} 。",
+  "moved_to_account_banner.text": "您的账号 {disabledAccount} 已停用,因为您已迁移到 {movedToAccount} 。",
   "mute_modal.duration": "持续时长",
   "mute_modal.hide_notifications": "同时隐藏来自这个用户的通知?",
   "mute_modal.indefinite": "无期限",
@@ -589,7 +588,7 @@
   "status.show_more_all": "显示全部内容",
   "status.show_original": "显示原文",
   "status.translate": "翻译",
-  "status.translated_from_with": "使用 {provider} 翻译 {lang} ",
+  "status.translated_from_with": "由 {provider} 翻译自 {lang}",
   "status.uncached_media_warning": "暂不可用",
   "status.unmute_conversation": "恢复此对话的通知提醒",
   "status.unpin": "在个人资料页面取消置顶",
diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json
index 37a8ea506..495cfdca4 100644
--- a/app/javascript/mastodon/locales/zh-HK.json
+++ b/app/javascript/mastodon/locales/zh-HK.json
@@ -2,10 +2,8 @@
   "about.blocks": "受管制的伺服器",
   "about.contact": "聯絡我們:",
   "about.disclaimer": "Mastodon 是一個自由的開源軟體,為 Mastodon gGmbH 的註冊商標。",
-  "about.domain_blocks.comment": "原因",
-  "about.domain_blocks.domain": "域名",
+  "about.domain_blocks.no_reason_available": "Reason not available",
   "about.domain_blocks.preamble": "Mastodon 一般允許您閱讀,並和聯邦宇宙上任何伺服器的用戶互動。這些伺服器是本站設下的例外。",
-  "about.domain_blocks.severity": "嚴重性",
   "about.domain_blocks.silenced.explanation": "一般來說您不會看到來自這個伺服器的個人檔案和內容,除非您明確地打開或著追蹤此個人檔案。",
   "about.domain_blocks.silenced.title": "受限的",
   "about.domain_blocks.suspended.explanation": "來自此伺服器的資料將不會被處理、儲存或交換,本站也將無法和此伺服器上的用戶互動或者溝通。",
@@ -51,6 +49,7 @@
   "account.mute": "將 @{name} 靜音",
   "account.mute_notifications": "將來自 @{name} 的通知靜音",
   "account.muted": "靜音",
+  "account.open_original_page": "Open original page",
   "account.posts": "文章",
   "account.posts_with_replies": "包含回覆的文章",
   "account.report": "舉報 @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "在 Mastodon 上擁有帳號的話,您可以回覆此帖文。",
   "interaction_modal.on_another_server": "於不同伺服器",
   "interaction_modal.on_this_server": "於此伺服器",
-  "interaction_modal.other_server_instructions": "只需簡單地於您慣用的應用程式或有登入您帳號之網頁介面的搜尋欄中複製並貼上此 URL。",
+  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "由於 Mastodon 是去中心化的,即使您於此伺服器上沒有帳號,仍可以利用託管於其他 Mastodon 伺服器或相容平台上的既存帳號。",
   "interaction_modal.title.favourite": "將 {name} 的帖文加入最愛",
   "interaction_modal.title.follow": "追蹤 {name}",
diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json
index e3086e089..a5ac8dbf7 100644
--- a/app/javascript/mastodon/locales/zh-TW.json
+++ b/app/javascript/mastodon/locales/zh-TW.json
@@ -2,10 +2,8 @@
   "about.blocks": "受管制的伺服器",
   "about.contact": "聯絡我們:",
   "about.disclaimer": "Mastodon 是一個自由的開源軟體,是 Mastodon gGmbH 的註冊商標。",
-  "about.domain_blocks.comment": "原因",
-  "about.domain_blocks.domain": "網域",
+  "about.domain_blocks.no_reason_available": "無法存取之原因",
   "about.domain_blocks.preamble": "Mastodon 一般來說允許您閱讀並和聯邦宇宙上任何伺服器的使用者互動。這些伺服器是這個站台設下的例外。",
-  "about.domain_blocks.severity": "嚴重性",
   "about.domain_blocks.silenced.explanation": "一般來說您不會看到來自這個伺服器的個人檔案和內容,除非您明確地打開或著跟隨此個人檔案。",
   "about.domain_blocks.silenced.title": "受限的",
   "about.domain_blocks.suspended.explanation": "來自此伺服器的資料都不會被處理、儲存或交換,也無法和此伺服器上的使用者互動與溝通。",
@@ -51,6 +49,7 @@
   "account.mute": "靜音 @{name}",
   "account.mute_notifications": "靜音來自 @{name} 的通知",
   "account.muted": "已靜音",
+  "account.open_original_page": "檢視原始頁面",
   "account.posts": "嘟文",
   "account.posts_with_replies": "嘟文與回覆",
   "account.report": "檢舉 @{name}",
@@ -293,7 +292,7 @@
   "interaction_modal.description.reply": "在 Mastodon 上有個帳號的話,您可以回覆此嘟文。",
   "interaction_modal.on_another_server": "於不同伺服器",
   "interaction_modal.on_this_server": "於此伺服器",
-  "interaction_modal.other_server_instructions": "簡單地於您慣用的應用程式或有登入您帳號之網頁介面的搜尋欄中複製並貼上此 URL。",
+  "interaction_modal.other_server_instructions": "複製貼上此 URL 至您愛用的 Mastodon 應用程式或您 Mastodon 伺服器之網頁介面的搜尋欄。",
   "interaction_modal.preamble": "由於 Mastodon 是去中心化的,即便您於此沒有帳號,仍可以利用託管於其他 Mastodon 伺服器或相容平台上的既存帳號。",
   "interaction_modal.title.favourite": "將 {name} 的嘟文加入最愛",
   "interaction_modal.title.follow": "跟隨 {name}",
diff --git a/app/javascript/mastodon/main.js b/app/javascript/mastodon/main.js
index d0337ce0c..69a7ee91f 100644
--- a/app/javascript/mastodon/main.js
+++ b/app/javascript/mastodon/main.js
@@ -2,6 +2,7 @@ import React from 'react';
 import ReactDOM from 'react-dom';
 import { setupBrowserNotifications } from 'mastodon/actions/notifications';
 import Mastodon, { store } from 'mastodon/containers/mastodon';
+import { me } from 'mastodon/initial_state';
 import ready from 'mastodon/ready';
 
 const perf = require('mastodon/performance');
@@ -19,23 +20,19 @@ function main() {
     ReactDOM.render(<Mastodon {...props} />, mountNode);
     store.dispatch(setupBrowserNotifications());
 
-    if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
-      const [{ Workbox }, { me }] = await Promise.all([
-        import('workbox-window'),
-        import('mastodon/initial_state'),
-      ]);
-
+    if (process.env.NODE_ENV === 'production' && me && 'serviceWorker' in navigator) {
+      const { Workbox } = await import('workbox-window');
       const wb = new Workbox('/sw.js');
+      /** @type {ServiceWorkerRegistration} */
+      let registration;
 
       try {
-        await wb.register();
+        registration = await wb.register();
       } catch (err) {
         console.error(err);
-
-        return;
       }
 
-      if (me) {
+      if (registration) {
         const registerPushNotifications = await import('mastodon/actions/push_notifications');
 
         store.dispatch(registerPushNotifications.register());
diff --git a/app/javascript/mastodon/reducers/compose.js b/app/javascript/mastodon/reducers/compose.js
index ad384bd0b..afb8b40c1 100644
--- a/app/javascript/mastodon/reducers/compose.js
+++ b/app/javascript/mastodon/reducers/compose.js
@@ -135,7 +135,7 @@ function appendMedia(state, media, file) {
     if (media.get('type') === 'image') {
       media = media.set('file', file);
     }
-    map.update('media_attachments', list => list.push(media));
+    map.update('media_attachments', list => list.push(media.set('unattached', true)));
     map.set('is_uploading', false);
     map.set('is_processing', false);
     map.set('resetFileKey', Math.floor((Math.random() * 0x10000)));
@@ -446,7 +446,7 @@ export default function compose(state = initialState, action) {
       map.set('text', action.raw_text || unescapeHTML(expandMentions(action.status)));
       map.set('in_reply_to', action.status.get('in_reply_to_id'));
       map.set('privacy', action.status.get('visibility'));
-      map.set('media_attachments', action.status.get('media_attachments'));
+      map.set('media_attachments', action.status.get('media_attachments').map((media) => media.set('unattached', true)));
       map.set('focusDate', new Date());
       map.set('caretPosition', null);
       map.set('idempotencyKey', uuid());
diff --git a/app/javascript/styles/mastodon-light/diff.scss b/app/javascript/styles/mastodon-light/diff.scss
index 1214d2519..928af8453 100644
--- a/app/javascript/styles/mastodon-light/diff.scss
+++ b/app/javascript/styles/mastodon-light/diff.scss
@@ -203,7 +203,8 @@ html {
 // Change the colors used in compose-form
 .compose-form {
   .compose-form__modifiers {
-    .compose-form__upload__actions .icon-button {
+    .compose-form__upload__actions .icon-button,
+    .compose-form__upload__warning .icon-button {
       color: lighten($white, 7%);
 
       &:active,
@@ -212,14 +213,6 @@ html {
         color: $white;
       }
     }
-
-    .compose-form__upload-description input {
-      color: lighten($white, 7%);
-
-      &::placeholder {
-        color: lighten($white, 7%);
-      }
-    }
   }
 
   .compose-form__buttons-wrapper {
diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss
index ba8810451..2c339ffef 100644
--- a/app/javascript/styles/mastodon/components.scss
+++ b/app/javascript/styles/mastodon/components.scss
@@ -8557,28 +8557,45 @@ noscript {
 
   &__domain-blocks {
     margin-top: 30px;
-    width: 100%;
-    border-collapse: collapse;
-    break-inside: auto;
+    background: darken($ui-base-color, 4%);
+    border: 1px solid lighten($ui-base-color, 4%);
+    border-radius: 4px;
 
-    th {
-      text-align: left;
-      font-weight: 500;
+    &__domain {
+      border-bottom: 1px solid lighten($ui-base-color, 4%);
+      padding: 10px;
+      font-size: 15px;
       color: $darker-text-color;
-    }
 
-    thead tr,
-    tbody tr {
-      border-bottom: 1px solid lighten($ui-base-color, 8%);
-    }
+      &:nth-child(2n) {
+        background: darken($ui-base-color, 2%);
+      }
 
-    tbody tr:last-child {
-      border-bottom: 0;
-    }
+      &:last-child {
+        border-bottom: 0;
+      }
+
+      &__header {
+        display: flex;
+        gap: 10px;
+        justify-content: space-between;
+        font-weight: 500;
+        margin-bottom: 4px;
+      }
 
-    th,
-    td {
-      padding: 8px;
+      h6 {
+        color: $secondary-text-color;
+        font-size: inherit;
+        white-space: nowrap;
+        overflow: hidden;
+        text-overflow: ellipsis;
+      }
+
+      p {
+        white-space: nowrap;
+        overflow: hidden;
+        text-overflow: ellipsis;
+      }
     }
   }
 }
diff --git a/app/javascript/styles/mastodon/forms.scss b/app/javascript/styles/mastodon/forms.scss
index a3ddc7636..1841dc8bf 100644
--- a/app/javascript/styles/mastodon/forms.scss
+++ b/app/javascript/styles/mastodon/forms.scss
@@ -1064,11 +1064,18 @@ code {
 
     &:last-child {
       border-bottom: 0;
-      padding-bottom: 0;
     }
   }
 }
 
+// Only remove padding when listing applications, to prevent styling issues on
+// the Authorization page.
+.applications-list {
+  .permissions-list__item:last-child {
+    padding-bottom: 0;
+  }
+}
+
 .keywords-table {
   thead {
     th {
diff --git a/app/lib/admin/system_check/sidekiq_process_check.rb b/app/lib/admin/system_check/sidekiq_process_check.rb
index 648811d6c..d577b3bf3 100644
--- a/app/lib/admin/system_check/sidekiq_process_check.rb
+++ b/app/lib/admin/system_check/sidekiq_process_check.rb
@@ -7,6 +7,7 @@ class Admin::SystemCheck::SidekiqProcessCheck < Admin::SystemCheck::BaseCheck
     mailers
     pull
     scheduler
+    ingress
   ).freeze
 
   def skip?
diff --git a/app/lib/request.rb b/app/lib/request.rb
index dd198f399..96d934a8f 100644
--- a/app/lib/request.rb
+++ b/app/lib/request.rb
@@ -281,7 +281,7 @@ class Request
 
   class ProxySocket < Socket
     class << self
-      def check_private_address(_address)
+      def check_private_address(_address, _host)
         # Accept connections to private addresses as HTTP proxies will usually
         # be on local addresses
         nil
diff --git a/app/models/account/field.rb b/app/models/account/field.rb
index d74f90b2b..ffc8dce80 100644
--- a/app/models/account/field.rb
+++ b/app/models/account/field.rb
@@ -3,7 +3,7 @@
 class Account::Field < ActiveModelSerializers::Model
   MAX_CHARACTERS_LOCAL  = 255
   MAX_CHARACTERS_COMPAT = 2_047
-  ACCEPTED_SCHEMES      = %w(http https).freeze
+  ACCEPTED_SCHEMES      = %w(https).freeze
 
   attributes :name, :value, :verified_at, :account
 
@@ -76,6 +76,7 @@ class Account::Field < ActiveModelSerializers::Model
   def extract_url_from_html
     doc = Nokogiri::HTML(value).at_xpath('//body')
 
+    return if doc.nil?
     return if doc.children.size > 1
 
     element = doc.children.first
diff --git a/app/models/concerns/account_avatar.rb b/app/models/concerns/account_avatar.rb
index 0cfd9167c..e9b8b4adb 100644
--- a/app/models/concerns/account_avatar.rb
+++ b/app/models/concerns/account_avatar.rb
@@ -18,7 +18,7 @@ module AccountAvatar
 
   included do
     # Avatar upload
-    has_attached_file :avatar, styles: ->(f) { avatar_styles(f) }, convert_options: { all: '-strip' }, processors: [:lazy_thumbnail]
+    has_attached_file :avatar, styles: ->(f) { avatar_styles(f) }, convert_options: { all: '+profile "!icc,*" +set modify-date +set create-date' }, processors: [:lazy_thumbnail]
     validates_attachment_content_type :avatar, content_type: IMAGE_MIME_TYPES
     validates_attachment_size :avatar, less_than: LIMIT
     remotable_attachment :avatar, LIMIT, suppress_errors: false
diff --git a/app/models/concerns/account_header.rb b/app/models/concerns/account_header.rb
index a8c0a28ef..0d197abfc 100644
--- a/app/models/concerns/account_header.rb
+++ b/app/models/concerns/account_header.rb
@@ -19,7 +19,7 @@ module AccountHeader
 
   included do
     # Header upload
-    has_attached_file :header, styles: ->(f) { header_styles(f) }, convert_options: { all: '-strip' }, processors: [:lazy_thumbnail]
+    has_attached_file :header, styles: ->(f) { header_styles(f) }, convert_options: { all: '+profile "!icc,*" +set modify-date +set create-date' }, processors: [:lazy_thumbnail]
     validates_attachment_content_type :header, content_type: IMAGE_MIME_TYPES
     validates_attachment_size :header, less_than: LIMIT
     remotable_attachment :header, LIMIT, suppress_errors: false
diff --git a/app/models/concerns/status_threading_concern.rb b/app/models/concerns/status_threading_concern.rb
index 5c04108e4..8b628beea 100644
--- a/app/models/concerns/status_threading_concern.rb
+++ b/app/models/concerns/status_threading_concern.rb
@@ -7,8 +7,8 @@ module StatusThreadingConcern
     find_statuses_from_tree_path(ancestor_ids(limit), account)
   end
 
-  def descendants(limit, account = nil, max_child_id = nil, since_child_id = nil, depth = nil)
-    find_statuses_from_tree_path(descendant_ids(limit, max_child_id, since_child_id, depth), account, promote: true)
+  def descendants(limit, account = nil, depth = nil)
+    find_statuses_from_tree_path(descendant_ids(limit, depth), account, promote: true)
   end
 
   def self_replies(limit)
@@ -50,22 +50,17 @@ module StatusThreadingConcern
     SQL
   end
 
-  def descendant_ids(limit, max_child_id, since_child_id, depth)
-    descendant_statuses(limit, max_child_id, since_child_id, depth).pluck(:id)
-  end
-
-  def descendant_statuses(limit, max_child_id, since_child_id, depth)
+  def descendant_ids(limit, depth)
     # use limit + 1 and depth + 1 because 'self' is included
     depth += 1 if depth.present?
     limit += 1 if limit.present?
 
-    descendants_with_self = Status.find_by_sql([<<-SQL.squish, id: id, limit: limit, max_child_id: max_child_id, since_child_id: since_child_id, depth: depth])
-      WITH RECURSIVE search_tree(id, path)
-      AS (
+    descendants_with_self = Status.find_by_sql([<<-SQL.squish, id: id, limit: limit, depth: depth])
+      WITH RECURSIVE search_tree(id, path) AS (
         SELECT id, ARRAY[id]
         FROM statuses
-        WHERE id = :id AND COALESCE(id < :max_child_id, TRUE) AND COALESCE(id > :since_child_id, TRUE)
-        UNION ALL
+        WHERE id = :id
+      UNION ALL
         SELECT statuses.id, path || statuses.id
         FROM search_tree
         JOIN statuses ON statuses.in_reply_to_id = search_tree.id
@@ -77,7 +72,7 @@ module StatusThreadingConcern
       LIMIT :limit
     SQL
 
-    descendants_with_self - [self]
+    descendants_with_self.pluck(:id) - [id]
   end
 
   def find_statuses_from_tree_path(ids, account, promote: false)
diff --git a/app/models/custom_emoji.rb b/app/models/custom_emoji.rb
index 5af6aead8..fc8d3aed3 100644
--- a/app/models/custom_emoji.rb
+++ b/app/models/custom_emoji.rb
@@ -38,7 +38,7 @@ class CustomEmoji < ApplicationRecord
   belongs_to :category, class_name: 'CustomEmojiCategory', optional: true
   has_one :local_counterpart, -> { where(domain: nil) }, class_name: 'CustomEmoji', primary_key: :shortcode, foreign_key: :shortcode
 
-  has_attached_file :image, styles: { static: { format: 'png', convert_options: '-coalesce -strip' } }, validate_media_type: false
+  has_attached_file :image, styles: { static: { format: 'png', convert_options: '-coalesce +profile "!icc,*" +set modify-date +set create-date' } }, validate_media_type: false
 
   before_validation :downcase_domain
 
diff --git a/app/models/media_attachment.rb b/app/models/media_attachment.rb
index e29be5d97..2bab8c0b6 100644
--- a/app/models/media_attachment.rb
+++ b/app/models/media_attachment.rb
@@ -167,7 +167,7 @@ class MediaAttachment < ApplicationRecord
   }.freeze
 
   GLOBAL_CONVERT_OPTIONS = {
-    all: '-quality 90 -strip +set modify-date +set create-date',
+    all: '-quality 90 +profile "!icc,*" +set modify-date +set create-date',
   }.freeze
 
   belongs_to :account,          inverse_of: :media_attachments, optional: true
diff --git a/app/models/preview_card.rb b/app/models/preview_card.rb
index b5d3f9c8f..56ca62d5e 100644
--- a/app/models/preview_card.rb
+++ b/app/models/preview_card.rb
@@ -50,7 +50,7 @@ class PreviewCard < ApplicationRecord
   has_and_belongs_to_many :statuses
   has_one :trend, class_name: 'PreviewCardTrend', inverse_of: :preview_card, dependent: :destroy
 
-  has_attached_file :image, processors: [:thumbnail, :blurhash_transcoder], styles: ->(f) { image_styles(f) }, convert_options: { all: '-quality 80 -strip' }, validate_media_type: false
+  has_attached_file :image, processors: [:thumbnail, :blurhash_transcoder], styles: ->(f) { image_styles(f) }, convert_options: { all: '-quality 90 +profile "!icc,*" +set modify-date +set create-date' }, validate_media_type: false
 
   validates :url, presence: true, uniqueness: true
   validates_attachment_content_type :image, content_type: IMAGE_MIME_TYPES
@@ -122,7 +122,7 @@ class PreviewCard < ApplicationRecord
         original: {
           geometry: '400x400>',
           file_geometry_parser: FastGeometryParser,
-          convert_options: '-coalesce -strip',
+          convert_options: '-coalesce',
           blurhash: BLURHASH_OPTIONS,
         },
       }
diff --git a/app/models/preview_card_provider.rb b/app/models/preview_card_provider.rb
index 15b24e2bd..d61fe6020 100644
--- a/app/models/preview_card_provider.rb
+++ b/app/models/preview_card_provider.rb
@@ -25,7 +25,7 @@ class PreviewCardProvider < ApplicationRecord
 
   validates :domain, presence: true, uniqueness: true, domain: true
 
-  has_attached_file :icon, styles: { static: { format: 'png', convert_options: '-coalesce -strip' } }, validate_media_type: false
+  has_attached_file :icon, styles: { static: { format: 'png', convert_options: '-coalesce +profile "!icc,*" +set modify-date +set create-date' } }, validate_media_type: false
   validates_attachment :icon, content_type: { content_type: ICON_MIME_TYPES }, size: { less_than: LIMIT }
   remotable_attachment :icon, LIMIT
 
diff --git a/app/models/site_upload.rb b/app/models/site_upload.rb
index d3b81d4d5..167131fdd 100644
--- a/app/models/site_upload.rb
+++ b/app/models/site_upload.rb
@@ -40,7 +40,7 @@ class SiteUpload < ApplicationRecord
     mascot: {}.freeze,
   }.freeze
 
-  has_attached_file :file, styles: ->(file) { STYLES[file.instance.var.to_sym] }, convert_options: { all: '-coalesce -strip' }, processors: [:lazy_thumbnail, :blurhash_transcoder, :type_corrector]
+  has_attached_file :file, styles: ->(file) { STYLES[file.instance.var.to_sym] }, convert_options: { all: '-coalesce +profile "!icc,*" +set modify-date +set create-date' }, processors: [:lazy_thumbnail, :blurhash_transcoder, :type_corrector]
 
   validates_attachment_content_type :file, content_type: /\Aimage\/.*\z/
   validates :file, presence: true
diff --git a/app/workers/activitypub/processing_worker.rb b/app/workers/activitypub/processing_worker.rb
index 4d06ad079..5e36fab51 100644
--- a/app/workers/activitypub/processing_worker.rb
+++ b/app/workers/activitypub/processing_worker.rb
@@ -3,7 +3,7 @@
 class ActivityPub::ProcessingWorker
   include Sidekiq::Worker
 
-  sidekiq_options backtrace: true, retry: 8
+  sidekiq_options queue: 'ingress', backtrace: true, retry: 8
 
   def perform(actor_id, body, delivered_to_account_id = nil, actor_type = 'Account')
     case actor_type